Beruflich Dokumente
Kultur Dokumente
Case study: ATM ABR congestion control Case study: ATM ABR congestion control
1
TCP Congestion Control TCP AIMD
multiplicative decrease: additive increase:
cut CongWin in half increase CongWin by
end-end control (no network How does sender
after loss event 1 MSS every RTT in
assistance) perceive congestion?
the absence of loss
sender limits transmission: loss event = timeout or congestion
events: probing
3 duplicate acks
window
LastByteSent-LastByteAcked
24 Kbytes
CongWin TCP sender reduces
Roughly, rate (CongWin) after
loss event
16 Kbytes
CongWin
rate = Bytes/sec
RTT three mechanisms:
8 Kbytes
AIMD
CongWin is dynamic, function
slow start
of perceived network
conservative after
time
congestion
timeout events Long-lived TCP connection
Transport Layer 3-7 Transport Layer 3-8
RTT
bytes & RTT = 200 msec first loss event:
initial rate = 20 kbps double CongWin every two segm
ents
12 threshold
value before
6
But after timeout event: ACKs is more alarming 4
timeout.
CongWin instead set to 2 TCP
Tahoe
TCP
Reno
Implementation:
0
1 MSS; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2
TCP Fairness
Summary: TCP Congestion Control
Fairness goal: if K TCP sessions share same
When CongWin is below Threshold, sender in bottleneck link of bandwidth R, each should have
slow-start phase, window grows exponentially. average rate of R/K
When CongWin is above Threshold, sender is in
TCP connection 1
congestion-avoidance phase, window grows linearly.
Connection 1 throughput R
3
TCP Delay Modeling: Slow Start (1)
Fixed congestion window (2)
Now suppose window grows according to slow start
P = min{Q, K 1}
delay = 2RTT + O/R
+ (K-1)[S/R + RTT - WS/R]
- where Q is the number of times the server idles
if the object were of infinite size.
TCP Delay Modeling: Slow Start (2) TCP Delay Modeling (3)
Delay components: initiate TCP
S
connection + RTT = time from when server starts to send segment
2 RTT for connection R
estab and request request until server receives acknowledgement
O/R to transmit
object
first window initiate TCP
object
= S/R connection
S
time server idles due RTT
second window
2k 1 = time to transmit the kth window request
R
to slow start = 2S/R object
first window
= S/R
+
Server idles: third window S k 1 S
RTT
Q=2 P
O S S
P = min{K-1,Q} = 2 object
complete
transmission
= + 2 RTT + [ + RTT 2 k 1 ]
delivered R k =1 R R object
complete
transmission
Server idles P=2 times
delivered
time at O S S
time at server = + 2 RTT + P[ RTT + ] (2 P 1) time at
client R R R time at
client
server