Chapter 3 The transport layer
3.1 Introduction and transport-layer services
TCP: transmission control protocol
- reliable, in-order delivery
- congestion control
- flow control
- connection setup
UDP: User datagram protocol
- unreliable, unordered delivery
- no-frills extension of "best-effort" IP
- service not available:
- delay guarantees
- bandwith guarantees
3.2 Multiplexing and Demultiplexing
3.3 Connectionless Transport UDP
3.4 Principles of reliable data transfer
Principles of Reliable Data Transfer
Pipelining increased utilization
-
Go-Back-N
-
Selective repeat
3.5 connection-oriented transport: TCP
tcp segment structure
* sequence numbers: byte stream "number" of first byte in segment's data
* acknowledgement number: next byte expected from other side, cumulative ACK
connection management
tcp fast retransmit
flow control
3.6 congestion control
slow start
initial cwnd = 1 then 2 4 8 ... exp
congestion avoidance
- if timeout then cwnd reset to 1
- if 3 ACK then cwnd = cwnd/2
quick restart
TCP Reno: cwnd = cwnd/2 + 3, then linear add 1 MSS
TCP AIMD (additive-increase multiplicative-decrease) cwnd = cwnd / 2
TCP CUBIC: cubic function