Michele C. Weigle clark@cs.unc.edu http://www.cs.unc.edu/~mcweigle Investigating the Use of Synchronized Clocks in TCP Congestion Control In TCP Reno, the most common implementation of TCP, packet loss is the sole indicator of network congestion. Even so, TCP hosts are not explicitly notified of lost packets, but must rely on timeouts and duplicate acknowledgements (ACKs) to indicate loss. Current efforts to provide explicit congestion notifications (ECN) to end systems require modifications to both end systems and routers. We investigate methods in which end systems can monitor their performance and detect network congestion without explicit router support. We believe that information about one-way transit times (OTTs) can be used to detect congestion. (OTT is the actual time between the sending of a packet and its receipt by the receiver.) Queues in routers build up before they overflow, resulting in increased OTTs. We have developed a variant of TCP, called Sync-TCP, which uses synchronized timestamps to gather a connection's OTT data. Sync-TCP includes timestamps and OTT information in each packet such that upon receiving an ACK, a sender can determine the OTT on the data path, the OTT on the ACK path, the time the data packet was received, and the amount of time the ACK was delayed at the receiver. In preliminary experiments, we have shown an efficiency improvement (i.e., fewer retransmissions) with Sync-TCP over TCP Reno. In these experiments, we reduced the sending rate by 1/2 when the virtual queue became over half full. The queue size threshold and sending rate adjustment were picked arbitrarily as a first test of Sync-TCP. We want to improve Sync-TCP's performance by using a virtual Random Early Detection (RED) queue at the sender as an indicator of congestion in the network and experimenting with various methods of adjusting the sending rate after congestion detection. Challenges include congestion feedback time (the amount of time between the congestion event and the detection of the congestion by the sender) and detecting congestion over multiple bottleneck links.