CS 313 Introduction to Computer Networking & Telecommunication

Post on 12-Jan-2016

40 views 0 download

Tags:

description

CS 313 Introduction to Computer Networking & Telecommunication. Chapter 6 Transport Layer. Topics. Transport Service Elements of Transport Protocols. Transport Service. Services provided to the upper layers Goal - PowerPoint PPT Presentation

Transcript of CS 313 Introduction to Computer Networking & Telecommunication

Chi-Cheng Lin, Winona State University

CS 313 Introduction to Computer Networking &

Telecommunication

Chapter 6 Transport Layer

2

Topics

Transport Service

Elements of Transport Protocols

3

Transport Service

Services provided to the upper layers

GoalProvide efficient, reliable, and cost-effective services to its users (application/session layer processes)

Transport entityHardware/software within transport

layer to do the work

4

Logical Relationship

The network, transport, and application layers

5

Transport Services

Connection-orientedE.g., TCP (Transmission Control

Protocol) in TCP/IP Connectionless

E.g., UDP (User Datagram Protocol) in TCP/IP

Why another layer between network and application/session layers?

Transport Service Primitives

The primitives for a simple transport service

7

Transport Service Primitives

TPDUTransport protocol data unitMessage transmitted between

transport entities

Nesting of TPDUs, packets, and frames.

8

Transport Service Primitives

Client-server exampleClient process Server process CONNECT LISTEN ACCEPTSEND RECEIVERECEIVE SEND : :DISCONNECT DISCONNECT

9

Elements of Transport Protocols

Addressing Connect Disconnect Flow control and buffering------------------------------ Multiplexing Crash recovery

10

Elements of Transport Protocols

Transport protocolUsed to implement transport serviceResembles data link protocol

Error control, sequencing, flow control, etc.

BUT, their environments are different!

Environment of data link layer Environment of transport layer

11

Elements of Transport Protocols

Differences from data link protocolExplicit addressing of destinationMore complicated initial connection

establishmentStorage capacity in subnet

Packet might be "hiding" in subnet

Large and dynamically varying number of connectionsbuffering and flow control needed in both

layers, but different approaches required

12

Addressing Which remote application process to

connect to Transport address

Which process can listen for connectionTSAP

Transport service access pointInternet: PortUsually multiple TSAP supported by transport

entityNSAP

Network service access pointInternet: IP addressOne or more NSAP (e.g., host w/ more than

one connections, router, etc.)

Addressing

14

Establishing a Connection

Problem: delayed duplicatesCongestion, timeout, retransmission,

packet hidden in subnet Solution

Ensure no packet lives longer than some known time

Lifetime controlRestricted subnet designPutting a hop counter in each packetTimestamping each packet

Connection Establishment

Three protocol scenarios for establishing a connection using athree-way handshake. CR denotes CONNECTION REQUEST.

Normal operation.

Connection Establishment

Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. Old

duplicate CONNECTION REQUEST appearing out of nowhere.

Connection Establishment

Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST.

Duplicate CONNECTION REQUEST and duplicate ACK

Connection Release

Abrupt disconnection with loss of data

19

Analogy - Two-Army Problem

Unreliable channelThree-way, four-way, … , N-way

handshake NONE OF THEM WORKS

20

Releasing a Connection

Three-way handshake + timers Fails when all DRs from source lost

Half-open connection Solution:

If no TPDUs have arrived for a certain amount of time

disconnectTimer neededDummy TPDU might be needed to keep a

connection alive

Connection Release

Four protocol scenarios for releasing a connection. (a) Normal case of three-way handshake

Connection Release

Four protocol scenarios for releasing a connection. (b) Final ACK lost.

Connection Release

Four protocol scenarios for releasing a connection. (c) Response lost

Connection Release

Four protocol scenarios for releasing a connection. (d) Response lost and subsequent DRs lost.

25

Flow Control

Flow controlSimilar to data link layer

Sliding windows (or some other scheme) needed

DifferenceHost: numerous connections

Router: a few lines different buffering strategies