1 tcp-bfa: buffer fill avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa september 1998 amr a. awadallah...
TRANSCRIPT
1
TCP-BFA: Buffer Fill Avoidance
{aaa,crai}@stanford.edu
http://klamath.stanford.edu/~aaa/tcp-bfa
September 1998
Amr A. Awadallah
Chetan Rai
Computer Systems Laboratory
Stanford University
2
TCP Congestion Avoidance
Offered Load
Delay
Throughput(Goodput)
Disadvantages:
1. High Buffer Occupancies
2. High Delay
3. Periodic Packet Losses
4. Bursty Traffic PatternKnee
Cliff
3
Operate Closer to the Knee
Offered Load
Delay
Throughput
Advantages:
1. Smaller Buffers
2. Lower Delay
3. Fewer Packet Losses
4. Faster Loss Detection
5. Smoother Traffic PatternsKnee
Cliff
4
How To Estimate ?
• Signed RTT variance (srv):
where = current RTT - smoothed RTTand = filter gain constant
NRTT /
)1(1 srvtsrvt srvsrv
srv
Time
srv
Disable Threshold
Enable Threshold
Enable BFA Mode
Disable BFA Mode
5
Buffer Fill AvoidanceA) Incrementing the Congestion Window:
if( BFA Flag is set ) hold cwndelse allow normal cwnd increase.
B) Setting the Buffer Fill Avoidance Flag:
Rule 1: if( BFA Flag is set )if(Signed_RTT_Variance <= )
clear BFA Flagelse if(Signed RTT Variance > )
set BFA Flag
Rule 2: Clear the BFA Flag whenever thecongestion window drops due to loss.
off
on
6
Simulation
• Simulations using the ns network simulator.
64 Kbps, 100 ms 10 Mbps, 10 ms
10 Mbps, 10 ms
Source 1
Source 2
Sink 1
Sink 2
Node 1
Node 2
SimulationSingle Sources Competing SourcesBuffer Occupancy (packets)
Buffer Size (packets)
TCP-BFA
Reno
0 200100 3000
5
10
15
20
Network Power (Throughput/Delay)
0 50 100 150 2000
10
5
15
20
25
TCP-BFA
Reno
Time (sec) 0 200100 3000
5
10
15
20Buffer Occupancy (packets)
Reno vs. Reno
TCP-BFA vs. TCP-BFA
Buffer Size (packets)0 10 20 30 40 50
0
10
5
15
20
Network Power (Throughput/Delay)
Reno1
TCP-BFA 1&2
Reno2
TCP-BFAReno
Time (sec)
8
Simulation - Fairness
Buffer Size (packets)0 10 20 30 40 50
0
0.4
0.6
0.8
1.0
0.2
Jain’s Fairness Index ( 1 = fair, 0 = unfair)
Reno (starting together)
Reno (starting at different times)
TCP-BFA (starting together)
TCP-BFA (starting at different times)
9
Measurements
• Modified the FreeBSD TCP kernel to perform buffer fill avoidance.
Internet(20 hops)
Source Sink
Stanford, USA
64Kbps
320 msCairo, Egypt
Low CongestionTCP-BFA TCP-Reno
0 200 400 60005
10152025
30
Time (s)
Congestion Window (KB)
0 200 400 600Time (s)
10152025
30
05
Advertised Window
Congestion Window (KB)
cwnd (KB)0 5 10 15 20 25 30
RTT (sec)
0
1.0
2.0
3.0
4.0
5.0
cwnd (KB)5 10 15 20 25 300
RTT (sec)
0
1.0
2.0
3.0
4.0
5.0
Medium CongestionTCP-BFA TCP-Reno
200 400 6000
5
10
15
20
25
30
Time (s)
cwnd (KB)0 5 10 15 20 25 30
RTT (sec)
0
1.0
2.0
3.0
4.0
5.0
Congestion Window (KB)
0 800 1000 200 400 6000
5
10
15
20
25
30
Time (s)
Congestion Window (KB)
0 800 1000
cwnd (KB)0 5 10 15 20 25 30
RTT (sec)
0
1.0
2.0
3.0
4.0
5.0
12
Summary
• Advantages:– Lower buffer occupancies Fewer Losses– Lower delays Faster loss detection– Smoother traffic patterns– Easy to integrate into current implementations
• Disadvantages:– Slightly lower throughput– Unfairness in ideal situations
TCP-BFA: Operate closer to knee than cliff