RR-TCP: a reordering-robust TCP with DSACK

TCP performs poorly on paths that reorder packets significantly, where it misinterprets out-of-order delivery as packet loss. The sender responds with a fast retransmit though no actual loss has occurred. These repeated false fast retransmits keep the sender's window small, and severely degrade the throughput it attains. Requiring nearly in-order delivery needlessly restricts and complicates Internet routing systems and routers. Such beneficial systems as multi-path routing and parallel packet switches are difficult to deploy in a way that preserves ordering. Toward a more reordering-tolerant Internet architecture, we present enhancements to TCP that improve the protocol's robustness to reordered and delayed packets. We extend the sender to detect and recover from false fast retransmits using DSACK information, and to avoid false fast retransmits proactively, by adaptively varying dupthresh. Our algorithm is the first that adaptively balances increasing dupthresh, to avoid false fast retransmits, and limiting the growth of dupthresh, to avoid unnecessary timeouts. Finally, we demonstrate that TCP's RTO estimator tolerates delayed packets poorly, and present enhancements to it that ensure it is sufficiently conservative, without using timestamps or additional TCP header hits. Our simulations show that these enhancements significantly improve TCP's performance over paths that reorder or delay packets.

[1]  David L. Black,et al.  An Architecture for Differentiated Service , 1998 .

[2]  Vern Paxson,et al.  End-to-end routing behavior in the Internet , 1996, TNET.

[3]  Vern Paxson,et al.  Computing TCP's Retransmission Timer , 2000, RFC.

[4]  Craig Partridge,et al.  Packet reordering is not pathological network behavior , 1999, TNET.

[5]  Hari Balakrishnan,et al.  Network Working Group , 1991 .

[6]  Randy H. Katz,et al.  The Eifel algorithm: making TCP robust against spurious retransmissions , 2000, CCRV.

[7]  Voon Chin Phua,et al.  Wireless lan medium access control (mac) and physical layer (phy) specifications , 1999 .

[8]  Janey C. Hoe Improving the start-up behavior of a congestion control scheme for TCP , 1996, SIGCOMM 1996.

[9]  Van Jacobson,et al.  TCP Extensions for High Performance , 1992, RFC.

[10]  Sally Floyd,et al.  On inferring TCP behavior , 2001, SIGCOMM.

[11]  Christopher Ward,et al.  A data link control protocol for LEO satellite networks providing a reliable datagram service , 1995, TNET.

[12]  Anneli Folkesson RR-TCP - A reordering robust TCP , 2005 .

[13]  Robert Tappan Morris,et al.  Flexible Control of Parallelism in a Multiprocessor PC Router , 2001, USENIX Annual Technical Conference, General Track.

[14]  Zheng Wang,et al.  An Architecture for Differentiated Services , 1998, RFC.

[15]  Mark Handley,et al.  Equation-based congestion control for unicast applications , 2000, SIGCOMM.

[16]  Mark Allman,et al.  On making TCP more robust to packet reordering , 2002, CCRV.

[17]  Vern Paxson,et al.  End-to-end Internet packet dynamics , 1997, SIGCOMM '97.

[18]  Vern Paxson,et al.  TCP Congestion Control , 1999, RFC.

[19]  Sally Floyd,et al.  An Extension to the Selective Acknowledgement (SACK) Option for TCP , 2000, RFC.

[20]  Sally Floyd,et al.  TCP Selective Acknowledgement Options , 1996 .

[21]  Deepak Bansal,et al.  Dynamic behavior of slowly-responsive congestion control algorithms , 2001, SIGCOMM.

[22]  Proceedings. 11th IEEE International Conference on Network Protocols , 2003, 11th IEEE International Conference on Network Protocols, 2003. Proceedings..

[23]  Mark Handley,et al.  Equation-based congestion control for unicast applications , 2000, SIGCOMM 2000.

[24]  Sally Floyd,et al.  On inferring TCP behavior , 2001, SIGCOMM 2001.