Deploying Safe User-Level Network Services with icTCP
Gunawi, Haryadi S.
University of Wisconsin-Madison Department of Computer Sciences
MetadataShow full item record
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 , TCP Nice , UDP with congestion control , and the Congestion Manager ; we show how user-level libraries can safely control the duplicate acknowledgement threshold to make TCP more robust to packet reordering  or more appropriate for wireless LANs ; we also show how the retransmission timeout value can be adjusted dynamically . Finally, we find that converting a stock TCP implementation into icTCP is relatively straightforward; our prototype requires approximately 300 lines of new kernal code.