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
Abstract
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: