TCP Vegas: New Techniques for Congestion Detection and Avoidance Niranjan Mysore, Radhika Woo, Dong Hyuk
ECE4605 - Advanced Internetworking Contents TCP Vegas Five techniques used in TCP Vegas Simulation results Results on the Internet Critique ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking TCP Vegas Alternative TCP implementation Improve TCP’s congestion control mechanism Interoperate with any other valid TCP implementation Changes only in the sending side Performance compared with Reno Better throughput (40%~70%) Less loss (20%~50%) ECE4605 - Advanced Internetworking
Five Techniques used in TCP Vegas More Accurate RTT Calculation New Mechanism for Deciding to Retransmit Modified Window Sizing on Congestion Spike Suppression Congestion Detection and Avoidance ECE4605 - Advanced Internetworking
More Accurate RTT Calculation Important for Accuracy Helps in Timely decision to retransmit dropped segement Coarse Grained Timer no longer sufficient ECE4605 - Advanced Internetworking
New Mechanism for Deciding Retransmit Coarse Grained Timer On receipt of ACKs Duplicate ACK ACK after recent retransmission n Duplicate ACKs no longer necessary before retransmission ECE4605 - Advanced Internetworking
Modified Window Sizing on Congestion Congestion window decreased only if losses were seen due to current rates of transmission. Only once per RTT interval Why? Sensitivity Aggressive Bandwidth Utilization ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Spike suppression Ideally we should have evenly spaced ACKs. So that the sending rate is also smooth. Spikes - reasons Large cumulative ACKs (When?) ACK compression Spikes a necessity? or cause of losses? SegSpacing = RTT * MaxSeg / WindowSize No of bytes on transit have to catch up with congestion window size Turned off during Slow Start since we have exponentially increasing transmission rate ECE4605 - Advanced Internetworking
Congestion Detection and Avoidance Reno reacts to losses - but also induces losses. Vegas philosophy - correct number of extra bytes in the network. (Why?) Bytes in transit proportional to throughput and window size BaseRTT Expected Throughput (We assume we don’t overflow the connection.) Actual Throughput Thresholds - significance based on extra data Steady congestion window (Does not oscillate every now and then) Extra buffers occupied in the network. ECE4605 - Advanced Internetworking
Modified Slow-Start with Congestion Detection Doubling Congestion window - Doubling Actual Throughput What happens when we over run the connection's bandwidth? What is the magnitude of loss? It can increase if there is a burst due to another connection. Vegas - Exponential Increase only once every other RTT Fixed congestion Window allows valid comparison of Throughput. Threshold Gamma ECE4605 - Advanced Internetworking
TCP Reno with No Other Traffic ECE4605 - Advanced Internetworking
TCP Vegas with No Other Traffic Expected Actual ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Simulation Results Network configuration ECE4605 - Advanced Internetworking
Simulation Results (cont’d) One-on-one experiment =52 =44.8 =19.5 Reno/Vegas Vegas Reno 300 KB 1 MB ECE4605 - Advanced Internetworking
Simulation Results (cont’d) Experiments with background traffic Throughput of 1 Mb traffic Reno Reno tcplib 1 Mb ECE4605 - Advanced Internetworking
Simulation Results (cont’d) Throughput of background traffic BG traffic throughput increases by 20% tcplib 1 Mb ECE4605 - Advanced Internetworking
Results on the Internet From UA to NIH ECE4605 - Advanced Internetworking
Results on the Internet (cont’d) 1MB transfer over the Internet Effects of transfer size over the Internet ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Critique TCP Vegas competing with TCP Reno Connections Rerouting Persistent Congestion ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Rerouting BaseRTT Longer Propagation Delay? Or congestion? Backlogged Packets = W - r*d To keep the packets in the switch buffers the same, W should increase. ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Rerouting - Remedy Estimate diff_estimate for K packets Estimate BaseRTTestimate for N packets If (BaseRTTestimate – BaseRTT) > (diff_estimate + min { d.BaseRTT, g }) for L consecutive times Then BaseRTT = BaseRTTestimate cwnd = cwnd * BaseRTTestimate / BaseRTT + 1 ECE4605 - Advanced Internetworking
Persistent Congestion N > 1 connections Overestimate propagation delays Network congestion? Backlogged packets in queue? Unfair - connections that start up later have greater flow rate ECE4605 - Advanced Internetworking
Persistent Congestion - Remedy RED? All connections overestimate propagation delay due to congestion Congestion causes them to reduce congestion widow size Congestion reduces New BaseRTT ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking References TRANSMISSION CONTROL PROTOCOL (RFC793) Issues in TCP Vegas Richard J. La, Jean Walrand, and Venkat Anantharam Department of Electrical Engineering and Computer Sciences, University of California, Berkeley TCP Vegas Revisited U. Hengartner, J. Bolliger and Th. Gross Department Informatik ETH Zurich, School of Computer Sciences Carnegie Melon University Analysis and Comparison of TCP Reno and Vegas Jeonghoon MO, Richard J. La, Venkat Anantharam, and Jean Walrand ECE4605 - Advanced Internetworking