Transport Layer: Computer Networking: A Top Down Approach Featuring The Internet
Transport Layer: Computer Networking: A Top Down Approach Featuring The Internet
Transport Layer: Computer Networking: A Top Down Approach Featuring The Internet
Transport Layer
Computer Networking:
A Top Down Approach
Featuring the Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
3.4 Principles of
3.6 Principles of
reliable data transfer congestion control
3.7 TCP congestion
control
speed-matching
service: matching the
send rate to the
receiving apps drain
rate
app process may be
slow at reading from
buffer
Transport Layer 3-3
TCP Flow control: how it works
Rcvr advertises spare
room by including value
of RcvWindow in
segments
Sender limits unACKed
(Suppose TCP receiver data to RcvWindow
discards out-of-order guarantees receive
segments) buffer doesnt overflow
spare room in buffer
= RcvWindow
= RcvBuffer-[LastByteRcvd -
LastByteRead]
3.4 Principles of
3.6 Principles of
reliable data transfer congestion control
3.7 TCP congestion
control
seq. #s no data
close
client closes socket: FIN
clientSocket.close();
timed wait
A CK
timed wait
A CK
closed
closed
TCP server
lifecycle
TCP client
lifecycle
3.4 Principles of
3.6 Principles of
reliable data transfer congestion control
3.7 TCP congestion
control
Congestion:
informally: too many sources sending too much
data too fast for network to handle
different from flow control!
manifestations:
lost packets (buffer overflow at routers)
long delays (queueing in router buffers)
a top-10 problem!
receivers
one router,
Host B unlimited shared
output link buffers
infinite buffers
no retransmission
out R/3
out
out
R/4
a. b. c.
costs of congestion:
more work (retrans) for given goodput
unneeded retransmissions: link carries multiple copies of pkt
Transport Layer 3-14
Causes/costs of congestion: scenario 3
four senders
Q: what happens as
multihop paths in
and increase ?
timeout/retransmit in
Host A out
in : original data Host C
Host B
Host D
H
o
s
t
B
3.4 Principles of
3.6 Principles of
reliable data transfer congestion control
3.7 TCP congestion
control
16 Kbytes
8 Kbytes
time
RTT
first loss event:
double CongWin every two segm
en ts
RTT
done by incrementing
CongWin for every ACK four segm
ents
received
Summary: initial rate
is slow but ramps up
exponentially fast time
Congestion Window
A: When CongWin
(in segments)
gets to 1/2 of its
value before
timeout.
Implementation:
Variable Threshold
At loss event, Threshold is
set to 1/2 of CongWin just
before loss event
1.22 MSS
RTT L
L = 210-10 Wow
New versions of TCP for high-speed needed!
TCP connection 1
bottleneck
TCP
router
connection 2
capacity R
Connection 1 throughput R