Transport Layer
Natawut Nupairoj, Ph.D.
Department of Computer Engineering
Chulalongkorn University
Outline
Overview.
Transport Layer Functions.
UDP and TCP protocols.
Overview
Core of OSI and TCP/IP protocols.
Interface between lower-level and upper-level protocols (even application layers).
Provide network-independent interface
Application-to-application delivery.
Transport Layer
Network-Independent Interface
Example: TCP Layer
Transport Layer Functions
Application-to-application delivery.
Addressing
For not just end-to-end, but for application-to- application.
Service access point.
Some transports: reliable layer over
unreliable network layer.
Service Access Point: Port
Well-Known Port Addresses
Port 80 – HTTP (web server).
Port 25 – SMTP (mail server).
Port 23 – Telnet.
Port 22 – SSH.
Port 110 – POP3.
Reliable Delivery
Error control
Corrupted packets.
Sequence control
Delay packets.
Out-of-order delivery.
Transmission speed mismatches.
Loss control
Lost packets.
Duplicate control
Duplicate packets.
Providing Reliability
Assume unreliable network layer.
Use flow control – variable-size sliding window protocol
Acknowledgement.
Window size is dynamic and adjustable in real- time.
UDP: User Datagram Protocol
Connectionless transport protocol.
Simple and efficient:
no connection setup.
no flow control.
Unreliable.
Discard when error occurs.
UDP Datagram Format
TCP: Transmission Control Protocol
Features
Connection-oriented.
Reliable.
Full duplex.
Assume unreliable network protocol.
Flow control and congestion control.
Three-way handshake for connection establishment.
Application sends/receives data as “stream”.
TCP Segment Format
TCP Flow Control
Variable-size sliding window protocol:
Sequence number: the first byte being sent.
Acknowledgement: the next byte expected.
Window size: control the transmission speed.
0 = receive all, but want to more data.
Out of order segments ?
Depending on the receiver: Kept or discard.
TCP Sliding Window Protocol
TCP Sliding Window Protocol
TCP Congestion Control
Congestion - 2 causes:
fast network, low-capacity receiver.
slow network, high-capacity receiver.
Using window size.
Sender maintains 2 windows:
receiving window.
congestion window.
TCP Congestion Window
After connection is established:
congestion window size = one maximum segment s (negotiate during connection).
64K threshold.
Sender sends one maximum segment. If the
ack comes back before timeout, double the c
ongestion window size.
TCP Congestion Window
Keep sending until:
reach the threshold: increase the window size by one.
reach the receiving window size: no more increasi ng.
timeout: set threshold = half of the current conges tion window size and start sending from one maxi mum segment again.