120 likes | 265 Views
TCP-BFA: Buffer Fill Avoidance. Amr A. Awadallah Chetan Rai Computer Systems Laboratory Stanford University. {aaa,crai}@stanford.edu http://klamath.stanford.edu/~aaa/tcp-bfa September 1998. TCP Congestion Avoidance. Disadvantages: 1. High Buffer Occupancies 2. High Delay
E N D
TCP-BFA: Buffer Fill Avoidance Amr A. Awadallah Chetan Rai Computer Systems Laboratory Stanford University {aaa,crai}@stanford.edu http://klamath.stanford.edu/~aaa/tcp-bfa September 1998
TCP Congestion Avoidance Disadvantages: 1. High Buffer Occupancies 2. High Delay 3. Periodic Packet Losses 4. Bursty Traffic Pattern Cliff Throughput(Goodput) Delay Knee Offered Load
Operate Closer to the Knee Advantages: 1. Smaller Buffers 2. Lower Delay 3. Fewer Packet Losses 4. Faster Loss Detection 5. Smoother Traffic Patterns Cliff Throughput Delay Knee Offered Load
How To Estimate ? • Signed RTT variance (srv):where = current RTT - smoothed RTTand = filter gain constant srv Enable BFA Mode Enable Threshold Time Disable Threshold Disable BFA Mode
Buffer Fill Avoidance A) 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 Flag else if(Signed RTT Variance > ) set BFA Flag Rule 2:Clear the BFA Flag whenever the congestion window drops due to loss.
Simulation • Simulations using the ns network simulator. Source 1 Sink 1 10 Mbps, 10 ms 64 Kbps, 100 ms 10 Mbps, 10 ms Node 2 Node 1 Sink 2 Source 2
Single Sources Competing Sources Simulation Buffer Occupancy (packets) Buffer Occupancy (packets) Reno vs. Reno Reno 20 20 15 15 10 10 5 5 TCP-BFA vs. TCP-BFA TCP-BFA 0 0 0 200 300 Time (sec) 100 0 100 200 300 Time (sec) Network Power (Throughput/Delay) Network Power (Throughput/Delay) 20 25 Reno2 20 15 Reno1 TCP-BFA 15 10 TCP-BFA 1&2 10 5 5 TCP-BFA Reno Reno 0 0 50 0 40 0 30 50 10 20 100 150 200 Buffer Size (packets) Buffer Size (packets)
Simulation - Fairness Jain’s Fairness Index ( 1 = fair, 0 = unfair) 1.0 TCP-BFA (starting at different times) Reno (starting together) 0.8 0.6 TCP-BFA (starting together) Reno (starting at different times) 0.4 0.2 0 50 20 30 0 10 40 Buffer Size (packets)
Measurements • Modified the FreeBSD TCP kernel to perform buffer fill avoidance. Internet (20 hops) 64Kbps Source Sink Cairo, Egypt Stanford, USA 320 ms
Low Congestion TCP-BFA TCP-Reno 30 30 Advertised Window 25 25 20 20 Congestion Window (KB) 15 15 Congestion Window (KB) 10 10 5 5 0 0 Time (s) Time (s) 0 200 400 600 0 200 400 600 5.0 5.0 RTT (sec) RTT (sec) 4.0 4.0 3.0 3.0 2.0 2.0 1.0 1.0 0 0 cwnd (KB) 25 30 0 5 10 15 20 cwnd (KB) 25 30 0 5 10 15 20
Medium Congestion TCP-BFA TCP-Reno 30 30 Congestion Window (KB) Congestion Window (KB) 25 25 20 20 15 15 10 10 5 5 0 Time (s) 0 Time (s) 0 400 1000 600 800 1000 200 0 400 600 800 200 5.0 5.0 RTT (sec) RTT (sec) 4.0 4.0 3.0 3.0 2.0 2.0 1.0 1.0 0 0 10 25 0 15 0 20 5 cwnd (KB) 5 30 cwnd (KB) 15 20 25 30 10
Summary TCP-BFA: Operate closer to knee than cliff • 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