Ch 6- Transport Layer
Computer Networks
Transport Layer
Computer Networks
Transport QoS
Avoiding Different Network Types
Computer Networks
The network, transport, and application layers.
Transport layer adds reliability to the network layer
• Offers connection less (e.g., UDP) and
Connection oriented (e.g, TCP) service to applications
Transport Service Primitives
Computer Networks
Transport Layer: boundary between the provider and user of the reliable data transmission service.
Primitive | Packet sent | Meaning |
LISTEN | (none) | Block until some process tries to connect |
CONNECT | CONNECTION REQ. | Actively attempt to establish a connection |
SEND | DATA | Send information |
RECEIVE | (none) | Block until a DATA packet arrives |
DISCONNECT | DISCONNECTION REQ. | Request a release of the connection |
Primitives that applications might call to transport data
for a simple connection-oriented service:
• Client calls CONNECT, SEND, RECEIVE, DISCONNECT
• Server calls LISTEN, RECEIVE, SEND, DISCONNECT
Transport Service Primitives
Nesting of TPDU (Transport Protocol Data Unit) segment, packets, and frames.
Berkeley Sockets (1)
A state diagram for a simple connection management scheme. Transitions labeled in italics are caused by packet arrivals. The solid lines show the client’s state sequence. The dashed lines show the server’s state sequence.
Berkeley Sockets (2)
The socket primitives for TCP
Elements of Transport Protocols
Similarity between data link and transport layer
Elements of Transport Protocols
Addressing
TSAPs, NSAPs, and transport connections
TP - Addressing
Common Ports
Addressing
How a user process in host 1 establishes a connection �with a mail server in host 2 via a process server.
TSAPs and NSAPs
• Multiple clients and servers can run on a host with a single network (IP) address
• TSAPs are ports for TCP/UDP
Connection Establishment
Maintain history problem if crashed
Avoiding Duplicates
Connections
Connection Establishment
Three protocol scenarios for establishing a connection using a
three-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
Connection Release
Connection Release
Connection Release Protocols (1)
Connection Release Protocols (2)
Connection Release
Abrupt disconnection with loss of data,
one way release or two way release
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.
Error Control and Flow Control
(from Link layer) with checksums and retransmissions
Error Control and Flow Control
Error Control and Flow Control
Multiplexing
(a) Multiplexing. (b) Inverse multiplexing.
Crash Recovery
(if it is not the last segment).
Crash Recovery
Congestion Control at Transport layer
resource bottlenecks and unpredictable user access pattern
Congestion Control at Transport layer
allow system to enter congested state, detect it and remove it
Congestion Control
Two layers are responsible for congestion control:
− Transport layer, controls the offered load [here]
− Network layer, experiences congestion [previous]
• Desirable bandwidth allocation
• Regulating the sending rate
Congestion Control
Desirable Bandwidth Allocation
Efficient use of bandwidth gives high goodput, low delay
Congestion Control
Desirable Bandwidth Allocation
Fair use gives bandwidth to all flows (no starvation)
• Max-min fairness gives equal shares of bottleneck
Congestion Control
Desirable Bandwidth Allocation
We want bandwidth levels to converge quickly when traffic patterns change
Regulating the Sending Rate �(TCP-Congestion control)
Regulating the Sending Rate� (TCP-Congestion control)
(b) A slow network feeding a high-capacity receiver.
(TCP-Congestion control)
Window management in TCP.
The Internet Transport Protocols: TCP
The TCP Segment Header
The UDP Segment Header
UDP (User Datagram Protocol) is a shim over IP
• Header has ports (TSAPs), length and checksum.
QOS at this layer
End (Ch-6 Transport layer)
?
Thanks.