1 TCP-BFA: Buffer Fill Avoidance 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 Pattern Knee 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 Patterns Knee Cliff
4 How To Estimate ? Signed RTT variance (srv): where = current RTT - smoothed RTT and = filter gain constant Time srv Disable Threshold Enable Threshold Enable BFA Mode Disable BFA Mode
5 Buffer Fill Avoidance A) Incrementing the Congestion Window: if( BFA Flag is set ) hold cwnd else allow normal cwnd increase. B) Setting the Buffer Fill Avoidance Flag: Rule 1: if( BFA Flag is set ) if(Signed_RTT_Variance ) set BFA Flag Rule 2: Clear the BFA Flag whenever the congestion window drops due to loss.
6 Simulation Simulations using the ns network simulator. 64 Kbps, 100 ms 10 Mbps, 10 ms Source 1 Source 2 Sink 1 Sink 2 Node 1 Node 2
Simulation Single Sources Competing Sources Buffer Occupancy (packets) Buffer Size (packets) TCP-BFA Reno Network Power (Throughput/Delay) TCP-BFA Reno Time (sec) Buffer Occupancy (packets) Reno vs. Reno TCP-BFA vs. TCP-BFA Buffer Size (packets) Network Power (Throughput/Delay) Reno1 TCP-BFA 1&2 Reno2 TCP-BFA Reno Time (sec)
8 Simulation - Fairness Buffer Size (packets) 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) SourceSink Stanford, USA 64Kbps 320 ms Cairo, Egypt
Low Congestion TCP-BFATCP-Reno Time (s) Congestion Window (KB) Time (s) Advertised Window Congestion Window (KB) cwnd (KB) RTT (sec) cwnd (KB) RTT (sec)
Medium Congestion TCP-BFATCP-Reno Time (s) cwnd (KB) RTT (sec) Congestion Window (KB) Time (s) Congestion Window (KB) cwnd (KB) RTT (sec)
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