New Techniques for Making TCP Robust to Corruption-Based Loss Wesley M. Eddy, Shawn Ostermann Ohio University {weddy,ostermann}@irg.cs.ohiou.edu Mark Allman BBN Technologies / NASA Glenn Research Center mallman@bbn.com One of the longstanding problems with using the Transmission Control Protocol (TCP) in space-based networks is the prevalence of packet loss due to non-negligible bit-error rates. TCP's congestion control algorithms are based on the assumption that packet losses are caused by the aggregate load being placed on a network exceeding its capacity. Therefore, when TCP detects packet loss, the protocol reduces its sending rate in an attempt to relieve the congestion on the network. In wireless networks (and, specifically space-based networks), packet loss is not necessarily a signal that the network path is congested. Therefore, corruption-based losses cause TCP to needlessly reduce the sending rate. Several classes of mitigations to the problems of non-congestion- based losses have been suggested in the literature. One possible technique is for a gateway to inform one of the endpoints of a connection when its packets are dropped due to corruption. However, if the host and/or port addresses lie among the corrupted bits, this may not be possible. Another class of solutions employs smart middleboxes on either side of a wireless link. These boxes attempt to isolate the wireless portions of the path and locally buffer packets to transparently recover from corruption. Such middleboxes sometimes break the end-to-end model of TCP and may be rendered useless in the face of encrypted traffic (e.g., if IPsec is employed). The scheme we will present in this talk is different from the schemes previously researched. The scheme, known as Cumulative Explicit Transport Error Notification (CETEN), was originally introduced in [1]. In this talk, we present a system that shares the spirit of [1], but significantly differs in its approach. CETEN allows routers along a network path to update a field in the packet header based on the error rate of the directly connected link on which the packet arrived. When a packet reaches its destination, the probability of any packet being lost due to corruption along the path can be determined by examining the field that was updated as the packet passed through the network. The data receiver echoes this information back to the sender. Meanwhile, the sender uses an algorithm developed for this project, called LEAST, to assess the overall loss rate experienced by the connection. By examining the overall loss rate and the aggregate corruption rate, the TCP sender can determine the fraction of its traffic being lost due to congestion and the fraction being lost due to corruption. Armed with this information, the TCP sender adjusts the factor by which it reduces the congestion window on each loss event. If all loss is caused by congestion, the factor is 0.5 (the IETF's currently specified factor for TCP). On the other hand, if all loss is due to corruption, the factor is set to 1.0, meaning that the TCP sender will repair loss without reducing its sending rate. Given a mix of congestion and corruption loss, the factor will be between 0.5 and 1.0 (based on the ratio of congestion loss to corruption loss). In the talk we will outline the CETEN framework for dealing with corruption-based loss. Additionally, we will show preliminary simulation results of the CETEN system and outline the next steps in this area of research. References [1] Rajesh Krishnan, Mark Allman, Craig Partridge, James P.G. Sterbenz. Explicit Transport Error Notification (ETEN) for Error-Prone Wireless and Satellite Networks. Technical Report TR-8333, BBN Technologies, March 2002.