Investigating the Use of Synchronized Clocks in TCP Congestion Control Michele Weigle (UNC-CH) November 16-17, 2001 Univ. of Maryland Symposium The Problem TCP Reno congestion control reacts only to packet loss Congestion occurs before packets are dropped Can we detect (and react to) network congestion earlier than TCP Reno? 1
Background TCP In-order, reliable transfer delivered to application 3 4 5 6 7 8 9 10 lost waiting for retransmission Sliding window 3 4 5 6 7 8 9 10 Background Packet Loss and TCP Network queues drop tail X TCP Reno lost packets indicate network congestion 2
Background TCP Congestion Control Available network bandwidth unknown Probe network by increasing window Back-off when loss detected TCP window x x x time Motivation Congestion 26 ms OTT 23 ms 19 ms 10 ms 10 Mbps 16 ms 13 ms 9 ms queuing delay 0 ms Congestion occurs when queues in routers build up Increased queue lengths result in increased queuing delay Queuing delay current one-way transit time (OTT) - min OTT 3
Motivation Congestion Control TCP Reno congestion control reacts to loss reduce sending rate only when packets are lost perform congestion control only when time to retransmit lost packets X React to congestion early and avoid losses congestion occurs before packets are lost decouple congestion control and retransmission Motivation Why Synchronized Clocks? Clocks on identical machines drift Measure exact one-way transit time (OTT) for each path on a connection Allow end systems to measure level of congestion How much accuracy needed? 4
Sync-TCP Overview Early congestion detection use synchronized clocks estimate queuing delay new TCP option - Sync-TCP If all senders see increased queuing delay and back off, congestion can be alleviated halve congestion window Sync-TCP TCP Option Add an option to the TCP header Send OTT in each packet (including ACK) kind length OTT 4 bytes timestamp value 4 bytes echo reply 4 bytes 5
Sync-TCP Example sender 5 8 9 [OTT, ts value, echo reply] [0, 5, 0] [1, 7, 5] [1, 9, 7] receiver 6 7 Sender s Calculations time data received = time data sent (echo reply) + OTT 13 [2, 12, 9] 11 12 time ACK delayed = time ACK sent (ts value) - time data received Bulk Transfer vs. HTTP Background Study dynamics of TCP Reno and Sync-TCP Network queue size (60 1000-byte packets) delay (50 ms RTT) bottleneck throughput (10 Mbps) 600 second run time Estimate max and instantaneous queue size if queue over half full, halve congestion window 6
Traffic HTTP 90% simulates 2700 browsers Bulk TCP 10% (unconstrained) 2 flows 1000-byte packets 64 KB window, 50 ms RTT, 10.5 Mbps bandwidth x delay Network Diagram bulk TCP hosts web clients web servers monitoring 10Mb appearances 10Mb appearances 100Mb Hub (10Mb Hubs) 100Mb Hub 7
Lab Two Sync-TCP Flows 63 drops 61 drops 8
Sync-TCP vs. TCP Reno 270 drops 89 drops Results Fewer retransmissions ~75% throughput of TCP Reno Proof of concept 9
Current Live Network vs. Simulation Live Network runs real TCP stack Simulation (NS) easier to setup complex topologies global clock synchronized clocks everywhere Current HTTP Traffic How does Sync-TCP affect HTTP traffic? Network queue size (200 1000-byte packets) various RTTs bottleneck throughput (10 Mbps) 600 seconds simulation length Estimate max and instantaneous queue size if queue over half full, halve congestion window 10
Current Results (So Far...) Fewer packet losses Similar throughput Methodology Generating Realistic Web Traffic Main components think times request sizes response sizes 100 92 80 Pareto CDF Pareto distributions 1 < α < 2 variance infinite billions of samples needed to encounter theoretical mean 0 0 20 50 100 value 11
Methodology How Long To Run s? Ordinary rules of statistics do not apply Summary Provide TCP with additional information about the network use OTTs to detect congestion Can reduce losses and retransmissions Evaluation of HTTP traffic performance is hard 12
Future... Develop methods for comparing performance of HTTP traffic Evaluate appropriate threshold for congestion Evaluate appropriate reaction to congestion halving the window is too aggressive Assess required accuracy of clocks 13