Deploying Safe User-Level Network Services with icTCP

Loading...
Thumbnail Image

Date

Authors

Gunawi, Haryadi S.
Arpaci-Dusseau, Andrea
Arpaci-Dusseau, Remzi

Advisors

License

DOI

Type

Technical Report

Journal Title

Journal ISSN

Volume Title

Publisher

University of Wisconsin-Madison Department of Computer Sciences

Grantor

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 [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.

Description

Keywords

Related Material and Data

Citation

TR1517

Sponsorship

Endorsement

Review

Supplemented By

Referenced By