TCP Meets Mobile Code

Parveen Patel (University of Utah)
David Wetherall (University of Washington)
Jay Lepreau (University of Utah)
Andrew Whitaker (University of Washington)

April 2003


This paper argues that transport protocols such as TCP provide a rare domain in which protocol extensibility by untrusted parties is both valuable and practical. TCP continues to be refined despite more than two decades of progress, and the difficulties due to deployment delays and backwards-compatibility are well-known. Remote extensibility, by which a host can ship the transport protocol code and dynamically load it on another node in the network on a per-connection basis, directly tackles both of these problems. At the same time, the unicast transport protocol domain is much narrower than other domains that use mobile code, such as active networking, which helps to make extensibility feasible. The transport level provides a well understood notion of global safety--TCP friendliness--while local safety can be guaranteed by isolation of per-protocol state and use of recent safe-language technologies. We support these arguments by outlining the design of XTCP, our extensible TCP framework.

Full paper presented at and appears in Proceedings of the Ninth Workshop on Hot Topics in Operating Systems (HotOS IX), May 2003:

The slides from the HotOS talk: