|
The ADvanced Systems Laboratory (ADSL)
|
||||||||||||||||
|
Deploying Safe User-Level Network Services with icTCP
Haryadi S. Gunawi,
Andrea C. Arpaci-Dusseau,
Remzi H. Arpaci-Dusseau
Abstract: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, and the Congestion Manager; we show how user-level libraries can safely control the duplicate acknowledgment 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 kernel code.
Available as:
Postscript, PDF, BibTeX
|
||||||||||||||||