An End-to-End Approach to Host Mobility

Alex Snoeren, Hari Balakrishnan
6th ACM MOBICOM, Boston, MA, August 2000

We present the design and implementation of an end-to-end architecture for Internet host mobility using dynamic updates to the Domain Name System (DNS) to track host location. Existing TCP connections are retained using secure and efficient connection migration, enabling established connections to seamlessly negotiate a change in endpoint IP addresses without the need for a third party. Our architecture is secure-name updates are effected via the secure DNS update protocol, while TCP connection migration uses a novel set of Migrate options-and provides a pure end-system alternative to routing-based approaches such as Mobile IP.

Mobile IP was designed under the principle that fixed Internet hosts and applications were to remain unmodified and only the underlying IP substrate should change. Our architecture requires no changes to the unicast IP substrate, instead modifying transport protocols and applications at the end hosts. We argue that this is not a hindrance to deployment; rather, in a significant number of cases, it allows for an easier deployment path than Mobile IP, while simultaneously giving better performance. We compare and contrast the strengths of end-to-end and network-layer mobility schemes, and argue that end-to-end schemes are better suited to many common mobile applications. Our performance experiments show that handoff times are governed by TCP migrate latencies, and are on the order of a round-trip time of the communicating peers.

NB: This version has a slightly altered version of Figure 1. The previous version, while technically correct, appeared to require the wrapping of sequence spaces between packets three and four, which may have lead to some confusion.

[PDF (127KB)] [PostScript (312KB)]

Bibtex Entry:

   author =       "Alex Snoeren and Hari Balakrishnan",
   title =        "{An End-to-End Approach to Host Mobility}",
   booktitle =    {6th ACM MOBICOM},
   year =         {2000},
   month =        {August},
   address =      {Boston, MA}