Escolar Documentos
Profissional Documentos
Cultura Documentos
CONGESTION CONTROL
An academic work in B.Tech 3rd year (6th sem.)
SUBMITTED BY SUBMITTED TO
1 Ankit Mathur Mr. Rohit Ranka (C.S.
Dep't.)
CONGESTION CONTROL
What is congestion?
Methods for dealing with congestion
2
REVIEW OF FLOW CONTROL
Receiver advertises window in ACK packets
Receiver window size = amount of free space in
3
FLOW CONTROL
Sender Receiver
recv window = 5
4
FLOW CONTROL, CONT’D
Sender Receiver
recv wind = 2
5
FLOW CONTROL JUSTIFICATION
TCP flow control is conservative
Onlysend data if receiver is sure to have
8
CONGESTION, SIMPLE CASE
Assume:
Sender transmits at full line rate (i.e. receiver
window infinite)
10 Mbps 5 Mbps
Sender Router Receiver
9
CONGESTION, TWO SENDERS
Assume:
Each sender transmits at 1/2 line rate
Sender 2 20 Mbps
Receiver 2
10
CONGESTION AND DELAYS
During congestion, delay is much greater
than ordinary delay
Sender Router
retransmission original
11
CONGESTION PROBLEMS
Excessive queuing delays
Wasted network capacity on
12
CONGESTION CONTROL
Congestion control involves two tasks:
Detect congestion
13
TCP CONGESTION CONTROL
Idea
Assumes best-effort network
FIFO or FQ
14
TCP CONGESTION CONTROL
Basic idea
Add notion of congestion window
15
TCP CONGESTION CONTROL
Specific strategy
Self-clocking
Growth
Add one maximum segment size (MSS) per
congestion window of data ACK’d
It’s really done this way, at least in Linux:
MSS ACK’d
Known as additive increase
16
TCP CONGESTION CONTROL
Specific strategy (continued)
Decrease
17
ADDITIVE INCREASE/ MULTIPLICATIVE
DECREASE
Objective
Adjust to changes in available capacity
20
ADDITIVE INCREASE/ MULTIPLICATIVE
DECREASE
Algorithm
Increment CongestionWindow by one
21
…
ADDITIVE INCREASE/ MULTIPLICATIVE
DECREASE
Saw tooth trace
30
20
10
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0
Time (seconds)
22
TCP START UP BEHAVIOR
How should TCP start sending data?
AIMD is good for channels operating at capacity
23
TCP START UP BEHAVIOR
Initialization of the congestion window
Congestion window should start small
24
SLOW START
Objective
Determine initial available capacity
Idea Source Destination
…
25
TCP CONGESTION CONTROL
To make up for slow start, ramp up
congestion window quickly
Maintain threshold window size
27
SLOW START
Example trace of CongestionWindow
70
60
40
30 Linear increase
20
10
Slow start until CW = CT
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0
Problem
Have to wait for timeout
Can lose half CongestionWindow of data
28
FAST RETRANSMIT AND FAST
RECOVERY
Problem
Coarse-grain TCP timeouts lead to idle periods
Solution
Packet 5 ACK 2
Packet 6
ACK 2
ACK 2
Retransmit
packet 3
ACK29
6
FAST RETRANSMIT AND FAST
RECOVERY
SendACK for each segment received
When duplicate ACK’s received
30
20
10
Fast Recovery
Bypass slow start phase
50
fast retransmission
40
30
20
additive increase
10
slow start period
0
0 10 20 30 40 50 60
Time
32
AN ANKIT MATHUR PRESENTATION
33