8Compound TCP - Motivation Loss-based - uses packet loss as an indicator of congestion and modifies the increase/decrease congestion avoidance TCP parameters.Delay-based - infers congestion and bottleneck queue size from changes in the RTT and modifies the transfer rates to mitigate the effects of congestion.Combine both approachesFocus on efficiency & friendliness
9Compound TCP - DesignMaintains a delay window and a congestion window – uses both to determine send windowEstimates the bottleneck queue size:Diff = (Expected – Actual) * baseRTTHas a threshold, γ, at which it says “the network is congested”
10Compound TCP Delay Window Calculations FormulaMeaningdwnd(t+1) =dwnd(t) + (α * win(t)k – 1)+, if diff < γIn the increase phase, CTCP scales up the win (a composite of cwnd and dwnd) by α * win(t)k.(dwnd(t) – ζ * diff )+, if diff ≥ γWhen a bottleneck queue is detected, dwnd decreases proportional to the estimated bottleneck size diff.(win(t) * (1 - β) – cwnd/2)+, if loss is detected (3 dup acks)win(t) * (1 - β) is the desired window size after loss occurs, so dwnd is set to the desired size minus the portion that cwnd already provides.Note: (...)+ = max(..., 0)
11Compound TCP - Design Builds on loss-based (standard) TCP Reverts to standard TCP at low window sizesUses gamma-auto tuning to dynamically adjust γ, the estimated number of packets that indicate a bottleneck in the queue, based on the network configuration
12Compound TCP - Evaluation Production FLD Network Link Tests (comparing CTCP & TCP)TestResultsThroughputCTCP improves the throughput by 28% to 52% over regular TCP.TCP friendlinessWith gamma auto-tuning, CTCP keeps good TCP friendliness (<20% bandwidth stolen) even in the presence of multiple concurrent flows.Reverse trafficCTCP improves the throughput over TCP even in the presence of many reverse flows.
14CUBIC - Motivation Enhance BIC! Maintain BIC’s scalability & stabilitySimplify the window controlImprove BIC’s friendlinessUse real-time, rather than ACK-clocked, updates to windowImprove the detection of the “TCP Region”
17CUBIC – Design AspectsStability – The window grows slowly around Wmax.Scalability – It experiences fast “probing” growth away from Wmax.Intra-protocol fairness - Two competing CUBIC flows will converge to fair share window sizes.Fairness – The window growth rate is time dependent and RTT independent, allowing for fairer sharing.
18CUBIC – Design AspectsStandard TCP outperforms CUBIC’s window growth function in short RTT networks.CUBIC emulates the time-independent TCP window adjustment algorithm so that it can select the greater of the two windows (emulated versus cubic) to use.
19NS-2 Tests (comparing TCP, CUBIC, BIC, HSTCP, STCP, & HTCP) CUBIC - EvaluationNS-2 Tests (comparing TCP, CUBIC, BIC, HSTCP, STCP, & HTCP)TestResultsTCP Friendliness in Short-RTT NetworksCUBIC TCP maintained the best overall fair-share throughput ratio with regular TCP, and even had less throughput than regular TCP in the higher speed networks.TCP Friendliness in Long-RTT NetworksAs the link speed increased the throughput ratios of high speed to standard decreased. CUBIC TCP showed the best friendly ratio to regular TCP across all bottleneck link bandwidths in this experiment.StabilityThe CoV measurements showed that CUBIC TCP provides good stability in the presence of network perturbations and varying router buffer sizes.
21TCP-AReno - Motivation Enhance TCP-Westwood-BBEImprove on TCP-Reno’s response function by incorporating a congestion estimate that is based on RTT measurements.Identify if a packet loss was due to congestion or not.
22TCP-AReno - Design Congestion Estimate RTTcong = the RTT that would indicate a congestion event.Classifies packet losses as due to congestion or notRTT values vary between RTTmin and RTTcong. The distance of recent RTT measurements from RTTcong and RTTmin determines the level of congestion in the network.
25TCP-AReno - Evaluation Laboratory Tests (comparing TCP-AReno & TCP-Reno)TestResultsCongestion windows of lone flowsTCP-AReno is able to increase its congestion window when the link was under-utilized and then limit the increase when the window approached or exceeded the congestion point. TCP-AReno distinguishes between packet loss events that were congestion based or not, and then adapts its congestion window reduction accordingly.Congestion windows of co-existing flowsTCP-AReno averaging 227.4Mbps (vs ) and TCP-Reno averaging 18.5Mbps (vs. 18.3). TCP-AReno is resilient to random packet losses and is able to attain high throughput without negatively affecting TCP-Reno flows.Throughput of a lone flow under various bottleneck capacitiesTCP-AReno is effective in high-speed and lossy environments, obtaining 10x more throughput than TCP-Reno when the packet loss rate is 10-4.
27Recent Evaluations Linux beats Windows! TCP variantOperating SystemBICCurrent LinuxCUBICPossibly future LinuxCompound TCP (CTCP)Possibly future Windows VistaTCPAny other operating system
28Recent Evaluations Linux beats Windows! BIC/CUBIC are over aggressive and steal bandwidth.Serious unfairness
29Recent Evaluations Experimental Evaluation of Cubic-TCP Conducted partially in response to “should CUBIC be adopted in Linux?”CUBIC suffers from a slow convergence of congestion windows.Controversial! A rebuttal was issued by Injong Rhee (CUBIC co-author)
30Recent Evaluations Experimental Evaluation of Cubic-TCP Example of slow convergence:
32Recent Evaluations Assessing Interactions among Legacy & High-Speed TCPs Delay-based control are not effective in improving RTT-fairness due to the slow-start behavior of short flows that induces RTT measurement problemsTCP-AReno was modified to avoid having the short flow problem impact its delay based mechanism.TCP-AReno outperformed all others.Compound TCP came close, but experienced the delay-based control problem.
33Summary Protocol Approach Advantages Disadvantages Compound TCP Combines a delay based component with TCP Reno’s loss based component.Outperforms the link utilization of HSTCP and TCP Reno while still maintaining fairness to TCP Reno flows.The delay based component works best when in a steady state, but its effectiveness is reduced by the slow start behavior of lots of short flows.CUBICBuilds on BIC by simplifying the window response function and improving its TCP friendliness and RTT fairness through RTT-independent congestion window updates.Expands the TCP region to utilize standard TCP when it performs well. Maintains BIC’s scalability and stability regardless of RTT.Suffers from long convergence times between competing CUBIC flows.TCP-Adaptive RenoIncorporates a congestion estimation component that allows it to differentiate between packet losses from congestion or not, while also using RTT measurement to dynamically adjust its window response function.Offers the best link utilization, RTT fairness, and TCP friendliness of all the high speed variants.The most recent modifications have not yet been evaluated by an outside party.