Deploying Safe User-Level Network Services with icTCP
File(s)
Date
2004Author
Gunawi, Haryadi S.
Arpaci-Dusseau, Andrea
Arpaci-Dusseau, Remzi
Publisher
University of Wisconsin-Madison Department of Computer Sciences
Metadata
Show full item recordAbstract
We present icTCP, an "information and control" TCP implementation that exposes key pieces of internal TCP state and allows certain TCP variables to be set in a safe fashion. The primary benefit of icTCP is that it enables a variety of TCP extensions to be implemented at user-level while ensuring that extensions are TCP-friendly. We demonstrate the utility of icTCP through a collection of case studies. We show that by exposing information and safe control of the TCP congestion window, we can readily implement user-level versions of TCP Vegas [11], TCP Nice [50], UDP with congestion control [28], and the Congestion Manager [6]; we show how user-level libraries can safely control the duplicate acknowledgement threshold to make TCP more robust to packet reordering [9] or more appropriate for wireless LANs [47]; we also show how the retransmission timeout value can be adjusted dynamically [30]. Finally, we find that converting a stock TCP implementation into icTCP is relatively straightforward; our prototype requires approximately 300 lines of new kernal code.
Permanent Link
http://digital.library.wisc.edu/1793/60422Citation
TR1517