Internet Engineering Task Force (IETF)
Request for Comments: 6301
Category: Informational
ISSN: 2070-1721
Z. Zhu
UCLA
R. Wakikawa
Toyota ITC
L. Zhang
UCLA
July 2011

A Survey of Mobility Support in the Internet

Abstract

Over the last two decades, many efforts have been devoted to developing solutions for mobility support over the global Internet, resulting in a variety of proposed solutions. We conducted a systematic survey of the previous efforts to gain an overall understanding on the solution space of mobility support. This document reports our findings and identifies remaining issues in providing ubiquitous and efficient Internet mobility support on a global scale.

Status of This Memo

This document is not an Internet Standards Track specification; it is published for informational purposes.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6301.

Copyright Notice

Copyright © 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Basic Components in Mobility Support Protocols . . . . . . . .  4
   4.  Existing Mobility Support Protocols  . . . . . . . . . . . . .  5
     4.1.  Columbia Protocol  . . . . . . . . . . . . . . . . . . . .  6
     4.2.  VIP  . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     4.3.  Loose Source Routing (LSR) Protocol  . . . . . . . . . . .  9
     4.4.  Mobile IP  . . . . . . . . . . . . . . . . . . . . . . . . 10
     4.5.  HMIP . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     4.6.  FMIPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     4.7.  NEMO . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     4.8.  Mobility Support Using Multicast in IP (MSM-IP)  . . . . . 13
     4.9.  Cellular IP, HAWAII, and TIMIP . . . . . . . . . . . . . . 14
     4.10. E2E and M-SCTP . . . . . . . . . . . . . . . . . . . . . . 15
     4.11. Host Identity Protocol . . . . . . . . . . . . . . . . . . 16
     4.12. MOBIKE . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     4.13. Connexion and WINMO  . . . . . . . . . . . . . . . . . . . 17
     4.14. ILNPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . 18
     4.15. Global HAHA  . . . . . . . . . . . . . . . . . . . . . . . 18
     4.16. Proxy Mobile IP  . . . . . . . . . . . . . . . . . . . . . 19
     4.17. Back to My Mac . . . . . . . . . . . . . . . . . . . . . . 20
     4.18. LISP-Mobility  . . . . . . . . . . . . . . . . . . . . . . 21
   5.  Different Directions towards Mobility Support  . . . . . . . . 21
     5.1.  Routing-Based Approach versus Mapping-Based Approach . . . 22
     5.2.  Mobility-Aware Entities  . . . . . . . . . . . . . . . . . 23
     5.3.  Operator-Controlled Approach versus User-Controlled
           Approach . . . . . . . . . . . . . . . . . . . . . . . . . 24
     5.4.  Local and Global-Scale Mobility  . . . . . . . . . . . . . 25
     5.5.  Other Mobility Support Efforts . . . . . . . . . . . . . . 26
   6.  Discussions  . . . . . . . . . . . . . . . . . . . . . . . . . 27
     6.1.  Deployment Issues  . . . . . . . . . . . . . . . . . . . . 27
     6.2.  Session Continuity and Simultaneous Movements  . . . . . . 28
     6.3.  Trade-Offs of Design Choices on Mobility Awareness . . . . 29
     6.4.  Interconnecting Heterogeneous Mobility Support Systems . . 30
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 30
   8.  Informative References . . . . . . . . . . . . . . . . . . . . 30

1. Introduction

This document reports our findings from a historical survey of the Internet mobility research and standardization efforts since the early 1990s. Our survey was motivated by two factors. First, supporting mobility over the Internet has been an active research area and has produced a variety of solutions, some of which have become the Internet standards. Yet, new issues continue to arise and new solutions continue to be developed to address them, making one wonder how much more we have yet to discover about the problem space as well as the solution space. The second factor is the rapid growth in Internet access via mobile devices in recent years, which will inevitably lead to new Internet application development in the coming years and further underscore the importance of Internet mobility support. We believe that a historical review of all the proposed solutions on the table can help us not only identify their commonalities and differences but also clarify remaining issues and shed insight on future efforts.

In this document, we provide an overview of mobility support solutions from the early results to the most recent proposals. In the process, we also discuss the essential components in mobility support and analyze the design space. Through sharing our understanding of the current stage of the art, we aim to initiate an open discussion about the general direction for future mobility support.

Note that the solutions discussed in this document are proposed designs. They have been implemented in many cases, but only a few have been widely deployed in the Internet.

2. Terminology

This document uses the following terms to refer to the entities or functions that are required in mobility support. Readers are expected to be familiar with RFC 3753 "Mobility Related Terminology" [RFC3753] before reading this document.

   Identifier:  A stable value that can be used to identify a mobile
   
           node.  Any unique value can be used as an Identifier as long
           as it is topologically and geographically independent, i.e.,
           remains unchanged when the mobile node roams around.
   
   Locator:  The IP address that indicates the mobile node's current
           attachment point to the Internet.  It could be the IP address
           of the mobile node itself or the IP address of the network
           entity that is currently serving the mobile node.
   
   Mapping:  In this document, mapping specifically means the mapping
           between a mobile's Identifier and its Locator.
   
   Rendezvous Point (RP):  The place where the mapping is held.  Some
           other functions such as data forwarding may also be co-
           located on the rendezvous point.
   
   Global Mobility Management:  A system that keeps track of each
           mobile's reachability when the mobile is moving, either
           geographically or topologically, on a global scale.
   
   Local Mobility Management:  A system that keeps track of each
           mobile's reachability within a topologically scoped local
           domain.  It keeps the mobile's local movements transparent to
           all entities that are outside of the local scope.
   
   Operator-Controlled Mobility Management:  The mobile node itself is
           unaware of mobility management.  Instead, certain network
           entities, which are controlled by the network operators,
           perform all the mobility-related signaling job on behalf of
           the mobile node.
   
   User-Controlled Mobility Management:  The mobile node participates in
           the mobility management.  Typically, the mobile updates its
           reachability information after it changes locations and
           refreshes its reachability at a user-defined frequency.

3. Basic Components in Mobility Support Protocols

The basic question in Internet mobility support is how to send data to a moving receiver (a mobile, in short). Note that here we do not distinguish between mobile nodes and mobile subnets. We call the host that sends data to a mobile the Correspondent Node (CN). To send data to a moving receiver M, the CN must have means to obtain M's latest IP address (solution type-1) or be able to reach M using a piece of stable information, where "stable" means that the information does not change as the mobile moves (solution type-2).

Among the existing solutions, a few fall under type-1, and most of them use DNS as the means to provide the CN with the mobile's most current IP address information. The rest of the existing solutions fall under type-2, which must provide the function to reach the mobile's dynamically changing location by using that unchanged Identifier of the mobile known to the CN. We can summarize all the mobility support solutions as essentially involving three basic components:

   o  a stable Identifier for a mobile;
   o  a Locator, which is usually an IP address representing the
      mobile's current location; and
   o  a mapping between the two.

We show in the next section that different mobility support designs are merely different approaches to provide mapping between the Identifiers and the mobiles' current IP addresses. In type-1 solutions, the stable Identifier of a mobile is its DNS name, the Locator is its current IP address, and the DNS server provides the mapping function. In type-2 solutions, because the CN must be able to reach the mobile using the stable Identifier, the Identifier itself is typically an IP address; either the network can dynamically find a path to reach the mobile or the IP address leads to the "home" of the mobile that knows the mobile's current Locator and can thus forward the CN's packets to the mobile. All the type-2 solutions face two common issues. One issue is how to carry out this forwarding task, given the original packet sent by the CN has the mobile's "home address" as the destination; the other issue is how to avoid triangle routing between the CN, the home location, and the mobile.

4. Existing Mobility Support Protocols

In this section, we review the existing mobility support protocols roughly in the time order, with a few exceptions where we grouped closely related protocols together for writing clarity. We briefly describe each design and point out how it implements the three basic mobility support components defined in the last section.

Figure 1 shows a list of mobility support protocols and the time they were first proposed.

           +----------------+-----+---------------+-----+
           | Protocol Name  |Year | Protocol Name |Year |
           +----------------+-----+---------------+-----+
           |    Columbia    |1991 |    TIMIP      |2001 |
           +----------------+-----+---------------+-----+
           |      VIP       |1991 |    M-SCTP     |2002 |
           +----------------+-----+---------------+-----+
           |      LSR       |1993 |     HIP       |2003 |
           +----------------+-----+---------------+-----+
           |  Mobile IP     |1996 |   MOBIKE      |2003 |
           +----------------+-----+---------------+-----+
           |     MSM-IP     |1997 |   Connexion   |2004 |
           +----------------+-----+---------------+-----+
           |  Cellular IP   |1998 |    ILNPv6     |2005 |
           +----------------+-----+---------------+-----+
           |      HMIP      |1998 |  Global HAHA  |2006 |
           +----------------+-----+---------------+-----+
           |      FMIP      |1998 |     PMIP      |2006 |
           +----------------+-----+---------------+-----+
           |     HAWAII     |1999 |     BTMM      |2007 |
           +----------------+-----+---------------+-----+
           |      NEMO      |2000 |    WINMO      |2008 |
           +----------------+-----+---------------+-----+
           |      E2E       |2000 | LISP-Mobility |2009 |
           +----------------+-----+---------------+-----+

Figure 1

4.1. Columbia Protocol

This protocol [Columbia] was originally designed to provide mobility support on a campus. A router called Mobile Support Station (MSS) is set up in each wireless cell and serves as the default access router for all mobile nodes in that cell. The Identifier for a mobile node is an IP address derived from a special IP prefix, and the mobile node uses this IP address regardless of the cell to which it belongs.

Each MSS keeps a tracking list of mobile nodes that are currently in its cell by periodically broadcasting beacons. The mobile replies to the MSS with a message containing its stable Identifier and its previous MSS when it receives the beacon from a new MSS. The new MSS is responsible to notify the old MSS that a mobile has left its cell. Each MSS also knows how to reach other MSSs (e.g., all MSSs could be in one multicast group, or a list of IP addresses of all MSSs could be statically configured for each MSS).

When a CN sends a packet to a mobile node, the packet goes to the MSS nearest to the CN (MC), which either has the mobile node in the same cell and can deliver directly or broadcasts a query to all other MSSs and gets a reply from the MSS (MM) with the mobile node. If it is the latter case, MC tunnels the packet to MM, which will finally deliver the packet to the mobile node.

Hence, in this scheme, CN uses the Identifier to reach the mobile. It largely avoids triangle routing because the router next to CN is mobility-aware and can intercept CN's data destined to the mobile and forward to destination MSS. Since a mobile keeps the same IP address independent from its movement, mobility does not affect TCP connections.

An illustration of the Columbia Protocol is shown in Figure 2.

                       +---------+
                       |         |
               .------>|  MSS    |
               |       |         |
               |       +---------+
               | query
               |
            +--------+     query      +--------+
            |        | -------------->|        |
            |  MSS   | <------------- |  MSS   |
            |        |    reply       |        |
            +--------+ ==============>+--------+
               /\          data           ||
               ||                         ||
               ||                         \/
            +--------+                +---------+
            |        |                |         |
            |  CN    |                |  MN     |
            |        |                |         |
            +--------+                +---------+
            
               ===>: data packets
               --->: signaling packets

Figure 2

4.2. VIP

Virtual Internet Protocol [VIP] has two basic ideas. First, a packet carries both Identifier and Locator; second, the Identifier is an IP address that leads to the home network where the mapping is kept.

The IP header is modified to allow packets sent by a mobile to carry two IP addresses: a Virtual IP address (Identifier) and a regular IP address (Locator). Every time the mobile node changes its location, it notifies the home network with its latest IP address. A mobile's virtual address never changes and can be used to support TCP connections independent of mobility.

To deliver data to a mobile, the CN first uses the mobile's Virtual IP address as the destination IP address, i.e., the Locator is set to be the same as the Identifier. As a result, the packet goes to the home network and the Home Agent redirects the packet to mobile's current location by replacing the regular IP destination address field with the mobile's current address.

To reduce triangle routing, the design lets CNs and routers learn and cache the Identifier-Locator mapping carried in the packets from mobile nodes. When a CN receives a packet from the mobile, it learns the mobile's current location from the regular IP source address field. The CN keeps the mapping and uses the Locator as the destination in future exchanges with the mobile. Similarly, if a router along the data path to a mobile finds out that the mapping carried in the packet differs from the mapping cached by the router, it changes the destination IP address field to its cached value. This router-caching solution is expected to increase the chance that packets destined to the mobile get forwarded to the mobile's current location directly, by paying a cost of having all routers examine and cache all the mobile's Identifier-Locator mappings.

Figure 3 shows how the VIP Protocol works.

                                       ,---.       +-------+
                                      /     \      |  CN   |
                                     ( Router)<====|       |
         +---------+               // \     /      |       |
         |         |              //   `---'       +-------+
         |         |     ,---.   //
         |         |    /     \ //
         | Home    |<--+ Router)
         | Network |    \     /
         |         |     `-+-'\\
         |         |       |   \\   ,---.         +-------+
         |         |       |    \\ /     \=======>|       |
         |         |       +------( Router)<------+  MN   |
         |         |               \     /        |       |
         |         |                `---'         +-------+
         +---------+
         
                   ===>: data packet
                   --->: location update message

Figure 3

4.3. Loose Source Routing (LSR) Protocol

In the Loose Source Routing (LSR) Protocol [LSR], each mobile has a designated router, called a Mobile Router, that manages its mobility. The Mobile Router assigns an IP address (used as an Identifier) for each mobile it manages and announces reachability to those IP addresses. Another network entity in the LSR design is Mobile Access Station (MAS), through which a mobile gets its connectivity to the Internet. The mobile node reports the IP address of its current serving MAS (Locator) to its Mobile Router.

The CN uses the Identifier to reach the mobile node in the first place. If the CN and the mobile node are attached to the same MAS, the MAS simply forwards packets between the two (in this case CN is also mobile); otherwise, the packet from CN is routed to the Mobile Router of the mobile. The Mobile Router looks up the mappings to find the serving MAS of the mobile node and inserts the loose source routing (LSR) option into the IP header of the packet with the IP address of the MAS on it. In this way, the packet is redirected to the MAS, which then delivers the packet to the mobile. To this point, the Locator of the mobile node is already included in the LSR option, and the two parties can communicate directly by reversing the LSR option in the incoming packet. Hence, the path for the first packet from CN to the mobile is CN->Mobile Router->MAS->mobile node, and then the bidirectional path for the following packets is mobile node <->MAS<->CN.

Triangle routing is avoided by revealing the mobile's Locator to the CN in the LSR option.

Figure 4 shows the basic operation of the LSR Protocol.

                                      +---------+
                                      |         |
                   ___________________|  CN     |
                  |                   |         |
                  |                   +---------+
                  V                      /\
             +-------+                   ||
             |Mobile |                   ||
             |Router |                   ||
             |       |                   || Reversing LSR
             +---+---+                   ||
                 |                       \/
                 |                    +---------+      +----------+
                 |  LSR Inserted      |         |<====>|          |
                 +------------------->|  MAS    |      |  MN      |
                                      |         |----->|          |
                                      +---------+      +----------+

-->: first data packet

==>: following data packets

Figure 4

4.4. Mobile IP

The IETF began standards development in mobility support soon after the above three protocols. The first version of the Mobile IP standard was developed in 1996. Later, the IETF developed the Mobile IPv4 [RFC3344] and Mobile IPv6 [RFC3775] standards in 2002 and 2004, respectively. In 2010, the Mobile IPv4 standard was revised [RFC5944]. In 2009, Dual-Stack Mobile IPv4 [RFC5454] was standardized to allow a dual-stack node to use IPv4 and IPv6 home addresses and to move between IPv4 and dual-stack network infrastructures.

Although the three documents differ in details, the high-level design is similar. Here we use Mobile IPv6 as an example. Each mobile node has a Home Agent (HA), from which it acquires its Home Address (HoA), the Identifier. The mobile node also obtains its Locator, a Care-of Address (CoA), from its current access router. Whenever the mobile node gets a new CoA, it sends a Binding Update message to notify the

Home Agent. Conceptually, Mobile IPv6 design looks similar to the VIP Protocol, with the mobile's HoA corresponding to the Virtual IP Address in VIP and the CoA corresponding to the regular IP address.

The CN uses the mobile's HoA as the destination IP address when sending data to a mobile. The packets are forwarded to the Home Agent, which then encapsulates the packets to mobile node's CoA according to the mapping.

To alleviate triangle routing, the CN, if it supports Route Optimization, also keeps the mapping between the mobile's HoA and CoA. Thus, the CN can encapsulate packets to the mobile directly, without going through the Home Agent. Note that in this case, the mobile needs to update its CoA to CNs as well.

Figure 5 illustrates the data path of Mobile IPv6 without Route Optimization.

                              +---+-----+
                              |HoA|DATA |
                              +---+-----+           +-------+
                             +----------------------| CN    |
                             | +------------------->|       |
                             | |                    +-------+
                             | |
                             V |
                          +--------+
                          | Home   |  Mapping: HoA <=> CoA
                          | Agent  |
                          |        |
                          +--------+
                            ||  /\
                            ||  ||                   +-------+
                            ||  +====================|       |
                            ||                       | MN    |
                            +=======================>|       |
                              +-----+---+---+        +-------+
                              |DATA |HoA|CoA|
                              +-----+---+---+
                          
                                      ==>: Tunnel
                                      -->: regular IP

Figure 5

4.5. HMIP

Hierarchical Mobile IP (HMIP) [RFC5380] is a simple extension to Mobile IP. It aims to improves the performance of Mobile IP by handling mobility within a local region locally. A level of hierarchy is added to Mobile IP in the following way. A Mobility Anchor Point (MAP) is responsible for handling the movements of a mobile in a local region. Simply speaking, MAP is the local Home Agent for the mobile node. The mobile node, if it supports HMIP, obtains a Regional CoA (RCoA) and registers it with its Home Agent as its current CoA; while RCoA is the Locator for the mobile in Mobile IP, it is also its regional Identifier used in HMIP. At the same time, the mobile obtains a Local CoA (LCoA) from the subnet to which it attaches. When roaming within the region, a mobile only updates the MAP with the mapping between its RCoA and LCoA. In this way, the handoff performance is usually better due to the shorter round-trip time between the mobile and the MAP, as compared to the delay between the mobile and its HA. It also reduces the burden of the Home Agents by reducing the frequency of sending updates to Home Agents.

4.6. FMIPv6

Fast Handover for Mobile IPv6 (FMIPv6) [RFC5568] is another extension to Mobile IP, which reduces the Binding Update latency as well as the IP connectivity latency. It is not a fully fledged mobility support protocol; rather, its only purpose is to optimize the performance of Mobile IP.

This goal is achieved by three mechanisms. First, it enables a mobile node to detect that it has moved to a new subnet while it is still connected to the current subnet by providing the new access point and the corresponding subnet prefix information. Second, a mobile node can also formulate a prospective New Care-of Address (NCoA) when it is still present on the previous link so that this address can be used immediately after it attaches to the new subnet link. Third, to reduce the Binding Update interruption, FMIP specifies a tunnel between the Previous Care-of Address (PCoA) and the NCoA. The mobile node sends a Fast Binding Update to the previous access router (PAR) after the handoff, and PAR begins to tunnel packets with PCoA as the destination to NCoA. These packets would have been dropped if the tunnel were not established. In the reverse direction, the mobile node also tunnels packets to PAR until it finishes the Binding Update process (the mobile node can only use PCoA now because the binding in HA or the correspondent nodes may have not been updated yet).

4.7. NEMO

It is conceivable to have a group of hosts moving together. Consider vehicles such as ships, trains, or airplanes that may host a network with multiple hosts. Because Mobile IP handles mobility per host, it is not efficient when handling such mobility scenarios. Network Mobility (NEMO) [RFC3963], as a backward-compatible extension to Mobile IP, was introduced in 2000 to provide efficient support for network mobility.

NEMO introduces a new entity called a Mobile Router (note that this is different from the "Mobile Router" in the LSR Protocol). Every mobile network has at least one Mobile Router. A Mobile Router is similar to a mobile node in Mobile IP, but instead of having a single HoA, it has one or more IP prefixes as the Identifier. After establishing a bidirectional tunnel with the Home Agent, the Mobile Router distributes its mobile network's prefixes (namely, Mobile Prefixes) through the tunnel to the Home Agent. The Mobile Prefix of a mobile network is not leaked to its access router (i.e., the access router never knows that it can reach the Mobile Prefixes via the Mobile Router). The Home Agent in turn announces the reachability to the Mobile Prefix. Packets to and from the mobile network flow through the bidirectional tunnel between the Mobile Router and the Home Agent to their destinations. Note that mobility is transparent to the nodes in the moving network.

4.8. Mobility Support Using Multicast in IP (MSM-IP)

MSM-IP [MSM-IP] stands for Mobility Support using Multicast in IP. As one can see from its name, MSM-IP leverages IP multicast routing for mobility support. In IP multicast, a host can join a group regardless of the network to which it attaches and receive packets sent to the group after its join. Thus, mobility is naturally supported in the domains where IP multicast is deployed. Note that MSM-IP does not address the issue of the feasibility of supporting mobility through IP multicast; rather, it simply shows the possibility of using IP multicast to provide mobility support once/if IP multicast is universally deployed.

MSM-IP [MSM-IP] assigns each mobile node a unique multicast IP address as the Identifier. When the mobile node moves into a new network, it initiates a join to its own address, which makes the multicast router in that subnet join the multicast distribution tree. Whoever wants to communicate with the mobile node can just send the data to the mobile's multicast IP address, and the multicast routing will take care of the rest.

Note that, due to the nature of multicast routing, the mobile node can have the new multicast router join the group to cache packets in advance before it detaches the old one, resulting in smoother handoff.

4.9. Cellular IP, HAWAII, and TIMIP

This is a group of protocols that share the common idea of setting up a host route for each mobile in the local domain. The mobile retains a stable IP address as long as it is within the local domain, and this IP address is used as a regional Identifier. The gateway router of the local domain will use this Identifier to reach the mobile node. All three protocols are intended to work with Mobile IP as a local mobility management protocol. By describing them together, we can more easily show the differences by comparison.

Cellular IP [CIP] handles the local mobility in a network consisting of Cellular IP routers. A mobile reports the IP address of the gateway for the local network as the RCoA to its Home Agent and retains its locally assigned IP address (the regional Identifier) when it roams within the Cellular IP network. The routers in the network monitor the packets originating from mobile nodes and maintain a distributed, hop-by-hop reverse path for each mobile node. Cellular IP utilizes the paging technique from the cellular network to track the location of each mobile: idle mobile nodes send dummy packets to the gateway router with a relatively low frequency to update their reverse paths in the routers. The outdated path will not be cleared explicitly after the mobile changes its location; instead, it will be flushed by the routers if the paging timer expires before the next dummy packet comes. To reduce the paging cost, only a subset of the routers would set up a reverse path for the idle mobile nodes.

When a packet from the CN arrives at the gateway, the gateway initiates a controlled flooding query. If a router knows where to forward a packet, it forwards it immediately; otherwise, it forwards the packet to all its interfaces except the one from which the packet came. Due to the paging technique, this will not become a broadcast. Once the mobile receives the query, it replies with a route-update message to the gateway, and a much more precise reverse path is then maintained by all the routers along the data path, via which the gateway router forwards packets from CN to the mobile. Note that the timer value for the precise data path is much smaller than the paging timer value, in order to avoid sending duplicate data packets to multiple places if the mobile moves during the data communication.

Similarly, Handoff-Aware Wireless Access Internet Infrastructure (HAWAII) [HAWAII] also aims to provide efficient local mobility support. Unlike Cellular IP, the route between the gateway router and the mobile is always maintained. When the mobile moves, HAWAII dynamically modifies the route to the mobile by installing a host- based forwarding entry on the routers located along the shortest path between the old and new base stations of the mobile. It is possible that a longer suboptimal routing path will be constructed (e.g., gateway router->old base station->new base station->mobile). Alternatively, a new sub-path between the mobile and the cross-over router can be established. Here, the cross-over router is the router at the intersection of two paths, one between the gateway and the old base station and the second between the old base station and the new base station. In HAWAII, the mobile only periodically sends refresh messages to the base station, and the base station along with other routers take care of the path maintenance.

TIMIP [TIMIP], which stands for Terminal Independent Mobile IP, integrated the design of Cellular IP and HAWAII. On one hand, it refreshes the routing paths with dummy packets if the mobile node is idle. On the other hand, handoff within a domain results in the changes of routing tables in the routers. Besides, the IP layer is coupled with layer 2 handoff mechanisms, and special nodes can work as Mobile IP proxies for legacy mobiles that do not support Mobile IP. Thus, as long as the mobile roams within the domain, the legacy node has the same degree of mobility support as a Mobile-IP-capable node.

4.10. E2E and M-SCTP

E2E (End-to-End) communication [E2E] gets its name from its end-to- end architecture and is the first proposal that utilizes existing DNS service to track a mobile node's current location. The stable Identifier here is the domain name of the mobile. The mobile uses Dynamic DNS to update its current IP address in DNS servers. To keep the ongoing TCP connection unaffected by mobility, a TCP Migrate option is introduced to allow both ends to replace the IP addresses and ports in TCP 4-tuple on the fly. Thus, the CN can query DNS to obtain the current Locator of the mobile, and after the TCP connection is established, the mobile will be responsible for updating its Locator for this session.

Inspired by E2E, Mobile Stream Control Transmission Protocol (M-SCTP) [M-SCTP] was proposed in 2002. Similarly, it uses Dynamic DNS to track the mobile nodes and allows both ends to add/delete IP addresses used in Stream Control Transmission Protocol (SCTP) associations during the move.

4.11. Host Identity Protocol

The Host Identify Protocol (HIP) [RFC5201] assigns each host an Identifier made of cryptographic keys and adds a new Host Identity layer between the transport and network layers. Host Identities, which are essentially public keys, are used to identify the mobile nodes, and IP addresses are used only for routing purposes. In order to reuse the existing code, a Host Identity Tag (HIT), which is a 128-bit hash value of the Host Identity, is used in transport and other upper-layer protocols.

HIP can use DNS as the rendezvous point that holds the mappings between HITs and IP addresses. However, HIP by default uses its own static infrastructure Rendezvous Servers in expectation of better rendezvous service. Each mobile node has a designated Rendezvous Server (RVS), which tracks the current location of the mobile node. When a CN wants to communicate with mobile node, it queries DNS with a mobile node's HIT to obtain the IP address of the mobile node's RVS and sends out the first packet. After receiving this first packet, RVS relays it to the mobile node. The mobile node and correspondent node can then start communication on the direct path. If the mobile node moves to a new address, it notifies the CN by sending HIP UPDATE with LOCATOR parameter indicating its new IP address (Locator). Meanwhile, it also updates the mapping in RVS.

4.12. MOBIKE

IKEv2 Mobility and Multihoming Protocol (MOBIKE) [RFC4555] is an extension to Internet Key Exchange (IKEv2) to support mobility and multihoming. The main purpose of MOBIKE is to allow roaming devices to keep the existing IKE and IPsec Security Associations (SAs) despite IP address changes. The mobility support in MOBIKE allows both parties to move, but it does not provide a rendezvous mechanism. In other words, simultaneous movement of both parties is not supported.

MOBIKE allows both parties to have a set of addresses, and the party that initiated the IKE_SA is responsible for deciding which pair of addresses to use. During the communication session, if the initiator wishes to change the addresses due to movement, it updates the IKE_SA with new IP addresses and also updates the IPsec SAs associated with this IKE_SA. Then it sends an INFORMATIONAL request containing the UPDATE_SA_ADDRESSES notification to the other party. The responder then checks the local policy and updates the IP addresses in the IKE_SA with the values from the IP header. It replies to the initiator with an INFORMATIONAL response, initiates a return routability check if it wants to, and updates the IPsec SAs associated with this IKE_SA.

MOBIKE is not a fully fledged mobility protocol, and it does not intend to be one. Nevertheless, through the use of IPsec tunnel mode, MOBIKE partially supports mobility as it can dynamically update the tunnel endpoint addresses.

4.13. Connexion and WINMO

Connexion [Boeing] was a mobility support service provided by Boeing that uses BGP to support network mobility. Every mobile network is assigned a /24 IP address prefix (stable Identifier), and the CN uses this Identifier to reach the moving network, which means that the global routing system is responsible for finding a path to the mobile network. When an airplane moves between its access routers on the ground, it withdraws its prefix from the previous access router and announces the prefix via the new access point. As a result, the location change of the plane is effectively propagated to the rest of the world. However, if the number of moving networks becomes large, the amount of BGP updates will also increase proportionally, resulting in severe global routing dynamics.

WINMO [WINMO] (which stands for Wide-Area IP Network Mobility) was introduced in 2008 to address the routing update overhead problem of Connexion. Like Connexion, WINMO also assigns each mobile network a stable prefix. However, through two new approaches, WINMO can reduce the BGP updates overhead for mobile networks by orders of magnitude lower than those of Connexion. First, WINMO uses various heuristics to reduce the propagation scope of routing updates caused by mobile movements. Consequently, not every router may know all the mobiles' current locations. Handling this issue led to the second and more fundamental approach taken by WINMO: it adopts the basic idea from Mobile IP by assigning each mobile network a "home" in the following way. WINMO assigns each mobile network a prefix out of a small set of well-defined Mobile Prefixes. These Mobile Prefixes are announced by a small set of Aggregation Routers, which also keep track of the mobile network's current locations. Therefore, these Aggregation Routers play a similar role to Home Agents in Mobile IP and can be counted on as a last resort to reach mobile networks globally.

To prevent frequent Interior Border Gateway Protocol (iBGP) routing updates due to the movement of mobile networks within an Autonomous System (AS), WINMO also introduces a Home Agent for the Mobile Prefixes: only a Designated BGP-speaking Router (DBR) acts as the origin of Mobile Prefixes, and mobile networks always update the addresses of their access routers (intra-AS Locators) with DBR, which resembles the binding updates in Mobile IP. Thus, packets destined to mobile networks are forwarded to DBR after they enter the border of an AS, and DBR will tunnel them to the current locations of mobile networks.

A new BGP community attribute, which includes the mobile network's intra-AS Locator in each packet, is also defined to eliminate the triangle-routing problem caused by DBR. The border routers of the AS can tunnel packets directly to the mobile network based on the new attribute.

4.14. ILNPv6

ILNPv6 [ILNP] stands for Identifier-Locator Network Protocol for IPv6. The ILNPv6 packet header was deliberately made similar to the IPv6 header. Essentially, it breaks an IPv6 address into two components: high-order 64 bits as a Locator and low-order 64 bits as an Identifier. The Identifier identifies a host, instead of an interface, and is used in upper-layer protocols (e.g., TCP, FTP); on the other hand, the Locator changes with the movement of the mobile node, and a set of Locators can be associated with a single Identifier. Several new DNS resource records (RRs) are required, among which I (Identifier Record) and L (Locator Record) are most important. As in current Internet, the CN will query the DNS about the mobile's domain name to determine where to send the packet. During the movement, the mobile node uses Secure Dynamic DNS update to ensure that the Locator values stored in DNS are up to date. It also sends Locator Update messages to the CNs that are currently communicating with it. As an optimization, ILNPv6 supports soft- handoff, which allows the use of multiple Locators simultaneously to achieve smooth transition. ILNPv6 also supports mobile networks.

4.15. Global HAHA

Global Home Agent to Home Agent (HAHA) [HAHA], first proposed in 2006 as an extension to Mobile IP, aims to eliminate the triangle-routing problem in Mobile IP and NEMO by distributing multiple Home Agents globally. All the Home Agents join an IP anycast group and form an overlay network. The same home prefix is announced by all the Home Agents from different locations. Each mobile node can register with any Home Agent that is closest to it. A Home Agent H that accepts the binding request of a mobile node M becomes the primary Home Agent for M and notifies all other Home Agents of the binding [M, H] so that the binding information databases for all the mobiles in all Home Agents are always synchronized. When a mobile moves, it may switch its primary Home Agent to another one that becomes closest to the mobile.

A correspondent node sends packets to a mobile's Home Address. Because of anycast routing, the packets are delivered to the nearest Home Agent. This Home Agent then encapsulates the packets to the IP address of the primary Home Agent that is currently serving the mobile node, which will finally deliver the packets to the mobile node after striping off the encapsulation headers. In the reverse direction, this approach works exactly the same as Mobile IP. If the Home Agents are distributed widely, the triangle-routing problem is naturally alleviated without Route Optimization.

The data flow in Global HAHA is shown in Figure 6.

                 +------+             +------+     +-----+
                 | HA   |-------------|  HA  |     |     |
                 |      |             |      |     |  CN |
                 +--+---+      +------+++----+     +-----+
                    |          |       ||             /\
                    |          |       ||             ||
                    |          |       ||             ||
                    |          |       ||             ||
                 +--+---+------+       ||             ||
                 |      |<==============+             ||
                 | HA   |==============================+
                 +-++---+
                   || /\
                   \/ ||
                  +---++-+           ===>: data flow
                  |      |           ----: HA overlay network
                  | MN   |
                  +------+

Figure 6

4.16. Proxy Mobile IP

Proxy Mobile IP (PMIP) [RFC5213] was proposed in 2006 to meet the interest of mobile network operators who desire to support mobility in a network rather than on mobile devices and to have tighter control on mobility support. Mobility is completely transparent to the mobile devices and is provided to legacy IP devices. PMIP introduces two new types of network nodes, Local Mobility Anchor (LMA) and Mobile Access Gateway (MAG), which together can support mobility within an operator's network without any action taken by the mobile node. LMA serves as a local Home Agent and assigns a local Home Network Prefix for each mobile node. This prefix is the Identifier for the mobile node within the PMIP domain. MAGs monitor the attaching and detaching events of the mobile node and generate Proxy Binding Update to LMA on behalf of the mobile node during handoff. After the success of binding, LMA updates the mobile node's Proxy-CoA (Locator in PMIP domain) with the IP address of the MAG that is currently serving the mobile node. The MAG then emulates the mobile node's local Home Link by advertising the mobile node's local Home Network Prefix in Router Advertisement. When roaming in the

PMIP domain, the mobile node always obtains its local Home Prefix and believes that it is on a local Home Link. Within the domain, the mobile node is reached by the Identifier, and LMA tunnels packets to the mobile node according to the mapping.

4.17. Back to My Mac

Back to My Mac (BTMM) [RFC6281] is an engineering approach to mobility support and has been deployed since 2007 with Mac OS Leopard release. Each user gets a MobileMe account (which includes BTMM service), and Apple, Inc. provides DNS service for all BTMM users. The reachability information of the user's machine is published in DNS.

A mobile uses secure DNS update to dynamically refresh its current location. Each host generates an IPv6 Unique Local Address (ULA) [RFC4193] at boot time, which is stored in the DNS database as its topologically independent Identifier. The host's current IPv4 address (which is the IPv4 address of the NAT box if the host is behind a NAT) is stored in a SRV resource record [RFC2782] together with a transport port number needed for NAT traversal. Every node establishes a long-lived query (LLQ) session with the DNS server so that the DNS server can immediately notify each node when the answer to its query has changed. A host uses its Identifier in transport protocols and applications and uses UDP/IPv4 encapsulation to deliver data packets using information learned from the SRV RR. Note that the Locator here is the IPv4 address plus the transport port number and that the IPv6 address is only for identification purposes. In fact, it could be any form of Identifier (e.g., domain name); BTMM chose to use IPv6 addresses so that its implementation can reuse existing code.

BTMM is currently used by millions of subscribers. It is simple and easy to deploy. However, the current applications use BTMM service in a "stop-and-reconnect" fashion. It remains to be seen how well BTMM can support continuous communications while hosts are on the move, for example, as needed for voice calls.

Figure 7 shows the basic architecture of BTMM.

           DDNS update    +--------+  DDNS update
         +--------------->|        |<-------+
         |                |  DNS   |        |
         |      LLQ       |        | LLQ    |
         |    +---------->|        |<----+  |
         |    |           |        |     |  |
         |    |           +--------+     |  |
         |    |                          |  |            +---------+
         |    V                      +---+--+----+       |         |
        ++-------+                   |           +-------|         |
        |Endhost1|     Tunnel        |    NAT    +------>|Endhost2 |
        |        |<=====================================>|         |
        +--------+                   |           |       |         |
                                     +-----------+       +---------+

Figure 7

4.18. LISP-Mobility

LISP-Mobility [LISP-Mobility] is a relatively new design. Its designers hope to utilize functions and services provided by Locator/ID Separation Protocol (LISP) [LISP], which is designed for Internet routing scalability, to support mobility as well. Conceptually, LISP-Mobility may seem similar to some protocols we have mentioned so far, such as ILNPv6 and Mobile IP. Lightweight Ingress Tunnel Router and Egress Tunnel Router functions are implemented on each mobile node, and all the packets to and from the mobile node are processed by the two router functions (so the mobile node looks like a LISP site). Each mobile node is assigned a static Endpoint ID, as well as a preconfigured Map-Server. When a mobile node roams into a network and obtains a new Routing Locator, it updates its Routing Locator set in the Map-Server, and it also clears the cached Routing Locator in the Ingress Tunnel Routers or Proxy Tunnel Routers of the CNs. Thus, the CN can always learn the up-to- date location of the mobile node by the resolution of the mobile node's Endpoint ID, either issued by itself or issued after receiving the notification from the mobile node about the staled cache. The data would always travel through the shortest path. Note that both Endpoint IDs and Routing Locators are essentially IP addresses.

5. Different Directions towards Mobility Support

After studying various existing protocols, we identified several different directions for mobility support.

5.1. Routing-Based Approach versus Mapping-Based Approach

All existing mobility support designs can be broadly classified into two basic approaches. The first one is to support mobility through dynamic routing. In such designs, a mobile keeps its IP address regardless of its location changes; thus, the IP address can be used both to identify the mobile and to deliver packets to it. As a result, these designs do not need an explicit mapping function. Rather, the routing system must continuously keep track of a mobile's movements and reflect its current position in the network on the routing table so that at any given moment packets carrying the (stable) receiver's IP address can be delivered to the right place.

It is also worthwhile to identify two sub-classes in routing-based approaches. One is broadcast based, and the other is path based. In the former case, either the mobile's location information is actively broadcasted to the whole network or a proactive broadcast query is needed to obtain the location information of a mobile (e.g., Columbia and Connexion); in the latter case, on the other hand, a host-based path is maintained by the routing system instead (e.g., Cellular IP, HAWAII, and TIMIP).

Supporting mobility through dynamic routing is conceptually simple; it can also provide robust and efficient data delivery, assuming that the routing system can keep up with the mobile movements. However, because either the whole network must be informed of every movement by every mobile or a host-based path must be maintained for every mobile host, this approach is feasible only in small-scale networks with a small number of mobiles; it does not scale well in large networks or for a large number of mobiles.

The second approach to mobility support is to provide a mapping between a mobile's stable Identifier and its dynamically changing IP address. Instead of notifying the world on every movement, a mobile only needs to update a single binding location about its location changes. In this approach, if one level of indirection at IP layer is used, as in the case of Mobile IP, it has a potential side effect of introducing triangle routing; otherwise, if the two end nodes are aware of each other's movement, it means that both ends have to support the same mobility protocol.

Yet, there is the third case in which the protocols combine the above approaches in the hope of keeping the pros and eliminating some cons of the two. WINMO is a typical protocol in this case.

In Figure 8, we show the classification of the existing protocols according to the above analysis.

   +---------------+-------------------------------------------+
   |               | VIP, LSR, Mobile IP, HMIP, NEMO, E2E,     |
   | Mapping-based | M-SCTP, ILNPv6, HIP, FMIP, PMIP,          |
   |               | BTMM, GLOBAL HAHA, LISP-Mobility          |
   +---------------+-------------------------------------------+
   |               | Columbia, Connexion                       |
   | Routing-based +-------------------------------------------+
   |               | Cellular IP, HAWAII, TIMIP, MSM-IP        |
   +---------------+-------------------------------------------+
   | Combination   | WINMO                                     |
   +---------------+-------------------------------------------+

Figure 8

5.2. Mobility-Aware Entities

Among the various design choices, a critical one is how many entities are assumed to be mobility-aware. There are four parties that may be involved during a conversation with a mobile: the mobile itself, CN, the network, and the Home Agent or its equivalent (additional component to the existing IP network that holds the mapping). We mainly focus our discussion on the mapping-based approach here.

The first design choice is to hide the mobility from the CN, based on the assumption that the CN may be the legacy node that does not support mobility. In this approach, the IP address that is used as the mobile's Identifier points to the Home Agent or its equivalent that keeps track of the mobile's current location. If a correspondent node wants to send packets to a mobile node, it sets in the destination field of IP header an IP address, which is a mobile's Identifier. The packets will be delivered to the location where the mapping information of the mobile is kept, and later they will be forwarded to the mobile's current location via either encapsulation or destination address translation. Mobile IP and most of its extensions, as well as several other protocols fall into this design.

The second design choice is to hide the mobility from the mobile and CN, which is based on a more conservative assumption that both the mobile and the CN do not support mobility. Protocols like PMIP and TIMIP adopt this design. The protocol operations in this design resemble those in the first category, but a significant difference is that here the mobility-related signaling (e.g., the update Locator to the Home Agent) is handled by the entities in the network rather than by the mobile itself. Hence, the mobile blissfully assumes that it is always in the same subnet.

The third one is to let both the mobile and the CN be mobility-aware. As a result, the network is not aware of the mobility, and no additional component is required. As an increasing number of mobile devices are connected to the Internet (Why hide mobility from them?), this design choice seems to be more and more appealing. One common approach taken by this design is to use DNS to keep track of mobiles' current locations. Mobiles use dynamic DNS updates to keep their DNS servers updated with their current locations. This approach re-utilizes the DNS infrastructure, which is ubiquitous and quite reliable, and makes the mobility support protocol simple and easy to deploy. Protocols like E2E, ILNP, and BTMM fall into this design. Although HIP adds special-purpose rendezvous servers to the network to replace the role of DNS, both mobile and CN are still mobility- aware; hence, it is also classified in this category.

Figure 9 shows the three categories of protocols.

   +-------------+----------------------------------+
   | Design 1    | VIP, LSR, Mobile IP, HMIP, NEMO, |
   |             | Global HAHA                      |
   +-------------+----------------------------------+
   | Design 2    | PMIP, TIMIP                      |
   +-------------+----------------------------------+
   | Design 3    | E2E, M-SCTP, ILNPv6, HIP,        |
   |             | BTMM, LISP-Mobility              |
   +-------------+----------------------------------+

Figure 9

5.3. Operator-Controlled Approach versus User-Controlled Approach

At the time of this writing, cellular networks are providing the largest operational global mobility support, using a service model that bundles together device control, network access control, and mobility support. The tremendous success of the cellular market speaks loudly that the current cellular service model is a viable one and is likely to continue into the foreseeable future. Consequently, there is a strong advocate in the IETF that we continue the cellular way of handling mobility, i.e., instead of letting mobile devices participate in the mobility-related signaling themselves, the network entities deployed by the operators should take care of any and all signaling processes of mobility support. A typical example along this direction is Proxy Mobile IP, in which LMA works together with MAGs to assure the reachability to the mobile using its Home Prefixes, as long as the mobile roams within the same provider's domain.

One main reason for this approach is perhaps backward compatibility. By not requiring the participation of mobiles in the control- signaling process, it avoids any changes to the mobile nodes so that the mobile nodes can stay simple and all the legacy nodes can obtain the same level of mobility services as the latest mobile devices. According to the claim of 3G vendors and operators, transparent mobility support is a key aspect for success as they learn from their deployment experience.

On the other hand, most of the mobility support protocols surveyed in this document focus on mobility support only, assuming mobiles already obtained network access. Mobile nodes typically update their locations themselves to the rendezvous points chosen by the users, and, of course, only the nodes implementing one of these solutions can benefit from mobility support. However, this class of protocols does offer users and mobile devices more flexibility and freedom, e.g., they can choose whatever mobility services are available as long as their software supports that protocol, and they can also tune the parameters to get the services that are most suitable to them.

5.4. Local and Global-Scale Mobility

The work done on mobility management can also be divided into two categories according to scale: local mobility management and global mobility management.

Global mobility management is typically supposed to support mobility of an unlimited number of nodes in a geographically as well as topologically large area. Consequentially, it pays a lot of attention to scalability issues. For the availability concern, it also tries to avoid failure of single point.

Local mobility management, on the other hand, is designed to work together with global mobility management and thus focuses more on performance issues, such as handoff delay, handoff loss, local data path, etc. Since it is typically used on a small scale with a not- so-large number of mobile nodes, sometimes the designers can use some fine-tuned mechanisms that are not scaled with a large network (such as host route) to improvement performance. As a side effect of local mobility management, the number of location updates sent by mobile nodes to their global rendezvous points is substantially reduced. Thus, the existence of local mobility management also contributes to the scalability of global mobility management.

One problem of local mobility management is that it often requires infrastructure support, such as MAGs in PMIP or MAPs in HMIP. These kinds of local devices are essentially required in all small domains, which can be a huge investment.

Nevertheless, mobility management in two scales make it possible for designers to design protocols that fit into specific user requirements; it also enables the gradual deployment of local enhancement while not losing the ability of global roaming. The coexistence of the two seems to be a right choice in the foreseeable future.

Figure 10 shows the classification of the studied protocols according to their serving scale.

   +-----------+-----------------------------------------+
   |           | VIP, LSR, Mobile IP, NEMO, E2E, M-SCTP, |
   |   Global  | HIP, ILNPv6, Connexion, WIMO, BTMM,     |
   |           | MSM-IP, Global HAHA, LISP-Mobility      |
   +-----------+-----------------------------------------+
   |   Local   | Columbia, HMIP, FMIP, Cellular IP,      |
   |           | HAWAII, TIMIP, PMIP                     |
   +-----------+-----------------------------------------+

Figure 10

5.5. Other Mobility Support Efforts

Despite the wide spectrum of mobility solutions covered by this survey, the list of mobility protocols is not exhaustive.

The General Packet Radio Service (GPRS) Tunneling Protocol [GTP] is a network-based mobility support solution widely used in cellular networks. Its implementation only involves Gateway GPRS Support Node (GGSN) and Serving GPRS Support Node (SGSN). It allows end users of a Global System for Mobile Communications (GSM) or Universal Mobile Telecommunications System (UMTS) network to move from place to place while remaining connected to the Internet as if from on location at the GGSN. It does this by carrying the subscriber's data from the subscriber's current SGSN to the GGSN that is handling the subscriber's session. To some extent, it is the non-IETF variant of PMIP, with GGSN resembling LMA and SGSN resembling MAG, respectively.

There is also work on application-layer mobility support, most notably SIP-based mobility support [ALM-SIP]. SIP was initially designed as an application signaling protocol for multimedia, and later researchers noticed its potential capability for mobility support. When the mobile initiates a session with CN, normal SIP- signaling procedure is performed to establish the session. When the mobile moves to a new network while the session is ongoing, it send a RE-INVITE message with the existing session but reveals the new IP address to the CN. The home SIP server is also updated with the latest location information of the mobile after the move. However, the SIP-based approach cannot maintain TCP connections when the mobile's IP address changes.

A lot of enhancements to Mobile IPv6 Route Optimization have also been developed. A comprehensive taxonomy and analysis of these efforts can be found in [RFC4651].

6. Discussions

In the last section, we discussed the different directions towards mobility support. We now turn our attention to identify both new opportunities and remaining open issues in providing global-scale mobility support for an unlimited number of online mobility devices. We are not trying to identify the solutions to these issues, but rather, the goal is to share our opinions and to initiate an open discussion.

6.1. Deployment Issues

Among the various protocols we discussed in this document, few have been deployed in commercial networks. There are several reasons to explain this situation.

First, although the research community started to develop mobility support protocols 20 years ago, only in recent years has the number of mobiles soared. Hence, operators did not see the incentive of deploying mobility support protocols several years back. As of today, the number of mobiles is still growing by leaps and bounds, and there is enough user demand for the operators to seriously consider the deployment of mobility support protocols.

Second, the complexity of most mobility support protocols impedes the implementation and hence the deployment in commercial networks. The complexity arises from multiple aspects. One is the optimizations on performance. The other is the problem with the use of security protocols such as IPsec and IKE. The discussions regarding to these two problems are still ongoing in the MEXT Working Group. Some researchers argue that the research community should design a "barely work" version of a mobility support protocol first, without considering nice performance features and complex security mechanisms, roll it out in the real world, and improve it thereafter. However, there are different views on what the essential features are and which security mechanisms are better.

Third, almost all the mobility support protocols assume that the mobile nodes have network connectivity anywhere, anytime. In reality, however, this is not always the case. Nevertheless, wireless access is available in more and more places, and it is foreseeable that in the near future, the coverage of wireless access in different forms (WiFi, Wimax, 3G/4G) will be ubiquitous.

6.2. Session Continuity and Simultaneous Movements

In order for users to benefit from mobility support, it is important to keep the TCP sessions uninterrupted by the mobility. If the durations of the sessions are short (e.g., web browsing), the probability is high that the TCP sessions finish before the handover happens; even if the TCP session is interrupted by the handover, the cost is usually low (e.g., refresh the web page). However, if the TCP sessions are typically long (e.g., downloading large files and voice calls), the interruptions during the handover would become unacceptable.

It is hard to predict tomorrow's applications, but most mobility support protocols try to keep the sessions up during movements. For routing-based protocols, session continuity is not a problem since the IP address of the mobile never changes. For other protocols, either a stable IP address (e.g., HoA) or an equivalent (e.g., HIT) is used in the transport layer so that the mobility is hidden, or TCP is modified so that both ends can change IP addresses while keeping the established session (e.g., E2E).

Another concern is the support of simultaneous movements. In some scenarios, only one end is mobile, and the other end is always static; moreover, the communication between the two is always initiated by the mobile end. A lot of applications as of today fall into this category. Typically, the server side is static, and the client is mobile; usually, the client would contact the server first. Hence, in these scenarios, the support of simultaneous movements is not a requirement. However, in other scenarios, both ends may be moving at the same time. For example, during a voice call, two mobile nodes may experience handovers simultaneously. In this case, a rendezvous point is necessary to keep the current locations of the mobiles so that they can find each other after a simultaneous movement. Besides, if a static server wants to push information to a mobile client, a rendezvous point is also required.

It is clear that the number of mobile devices is rapidly growing, and more mobiles are going to provide content in the near future. Hence, the simultaneous-movements scenarios are considered important. In fact, almost all the mobility support protocols are equipped with rendezvous points, either by adding dedicated components or by leveraging the existing DNS systems.

6.3. Trade-Offs of Design Choices on Mobility Awareness

The mobility awareness at two communicating ends is closely related to the backward-compatibility problem. The Internet has been running for more than two decades, and the scale of the Internet gets so large that it is impossible to upgrade the whole system overnight. As a result, it is also not possible for a mobility support system designer to overlook this problem: how does one decide the mobility awareness in the protocol design, and how important is backward compatibility?

In the following text, we discuss the trade-offs of the design choices mentioned in Section 5.2.

The advantage of the first design choice is that the mobile does not lose the ability to communicate with legacy nodes while roaming around, i.e., the mobile can benefit from unilateral deployment of mobility support. Another potential advantage is that the static nodes do not need to be bothered by the mobility of the mobiles, which saves resources and could be desirable if the CN is a busy server. The disadvantage of this design is also well known: it introduces triangle routing, which significantly increases the delays in the worst cases. There are means to remedy the problem, e.g., Route Optimization in Mobile IP if a CN is mobility-capable and distribution of Home Agents as Global HAHA does, at the expense of increasing complexity.

The second design caters to the inertness of the Internet (and the users) by keeping everything status quo from the user's point of view. It is like the cellular network, with the smart network and dumb terminals. The advantage is that the legacy nodes can benefit from the mobility support without upgrade. However, the cost is also not trivial: the users lose the freedom of control in terms of mobility management, and a large number of entities in the network need to be upgraded.

The third design assumes that the other end is likely also mobility- capable (as of today, more people are accessing the Internet via mobile devices than a desktop) and thus does not provide backward compatibility at all; however, as a trade-off, the system design becomes much simpler, and the data path is always the shortest one.

   We all know that backward compatibility is important in system
   design.  But how important is it?  How much effort should we make for
   this issue?  At least for now, the answer is not yet clear.

6.4. Interconnecting Heterogeneous Mobility Support Systems

As our survey suggests, multiple solutions for mobility support are already exist, and it is almost for sure that the mobility support systems in the future are going to be heterogeneous. However, as of today, the interoperation between different protocols is still problematic. For example, when a mobile node supporting Mobile IP only wants to communicate with another mobile with only HIP support, neither of them can benefit from mobility support.

   This situation reminds us the days before IP was adopted.  In that
   time, the hosts in different networks were not able to communicate
   with each other.  IP merged the networks and created the Internet,
   where each host can freely communicate with any other host.  Is it
   necessary to introduce something like IP to mobility support in the
   future?  Is it possible to design an architecture so that it glues
   all the mobility support systems together?  We believe the answers to
   both of these questions are "yes".

The basic idea for the solution is simple. As the famous quote says, "Every problem in Computer Science can be solved by adding a level of indirection". However, the devil is in the details, and we still need to figure that out.

7. Security Considerations

Since mobility means that the location of a mobile may change at any time, how to secure such dynamic location updates is a very important consideration for all mobility support solutions. However, this document examines a wide range of solution proposals, so the security aspects also vary greatly. For example, Home-Agent-based solutions call for secure communications between the mobile and its Home Agent(s). On the other hand, for routing-based solutions, such as Connexion, the issue becomes one of global-routing security. Similarly, for those solutions that use DNS to provide mapping between Identifiers and Locators, the issue is essentially converted to how to secure DNS dynamic updates as well as queries. To keep this survey document both comprehensive as well as reasonably sized, we chose to focus the survey on describing and comparing the solutions to the center piece of all mobility supports -- the resolution between Identifiers and Locators.

8. Informative References

   [ALM-SIP]  Schulzrinne, H. and E. Wedlund, "Application-Layer
   
              Mobility Using SIP", Mobile Computing and Communications
              Review, 2010.
   
   [Boeing]   Andrew, L., "A Border Gateway Protocol 4 (BGP-4)",
              Boeing White Paper, 2006.
   
   [CIP]      Valko, A., "Cellular IP: A New Approach to Internet Host
              Mobility", ACM SIGCOMM, 1999.
   
   [Columbia] Ioannidis, J., Duchamp, D., and G. Maguire, "IP-based
              Protocols for Mobile Internetworking", ACM SIGCOMM CCR,
              1991.
   
   [E2E]      Snoeren, A. and H. Balakrishnan, "An End-to-End Approach
              to Host Mobility", ACM Mobicom, 2000.
   
   [GTP]      "GPRS Tunneling Protocol Across Gn and Gp Interface", 3G
              TS 29.060 v3.5.0.
   
   [HAHA]     Wakikawa, R., Valadon, G., and J. Murai, "Migrating Home
              Agents Towards Internet-scale Mobility Deployment",
              ACM CoNEXT, 2006.
   
   [HAWAII]   Ramjee, R., Varadhan, K., and L. Salgarelli, "HAWAII: A
              Domain-based Approach for Supporting Mobility in Wide-area
              Wireless Networks", IEEE/ACM Transcations on Networking,
              2002.
   
   [ILNP]     Atkinson, R., Bhatti, S., and S. Hailes, "A Proposal for
              Unifying Mobility with Multi-Homing, NAT, and Security",
              MobiWAC 2007.
   
   [LISP]     Farinacci, D., Fuller, V., Meyer, D., and D. Lewis,
              "Locator/ID Separation Protocol (LISP)", Work in Progress,
              March 2009.

[LISP-Mobility]

              Farinacci, D., Lewis, D., Meyer, D., and C. White, "LISP
              Mobile Node", Work in Progress, May 2011.
   
   [LSR]      Bhagwat, P. and C. Perkins, "A Mobile Networking System
              Based on Internet Protocol (IP)", Mobile and Location-
              Independent Computing Symposium, 1993.
   
   [M-SCTP]   Xing, W., Karl, H., and A. Wolisz, "M-SCTP: Design and
              Prototypical Implementation of An End-to-End Mobility
              Concept", 5th Intl. Workshop on the Internet Challenge,
              2002.
   
   [MSM-IP]   Mysore, J. and V. Bharghavan, "A New Multicast-based
              Architecture for Internet Host Mobility", ACM Mobicom,
              1997.
   
   [RFC2782]  Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
              specifying the location of services (DNS SRV)", RFC 2782,
              February 2000.
   
   [RFC3344]  Perkins, C., "IP Mobility Support for IPv4", RFC 3344,
              August 2002.
   
   [RFC3753]  Manner, J. and M. Kojo, "Mobility Related Terminology",
              RFC 3753, June 2004.
   
   [RFC3775]  Johnson, D., Perkins, C., and J. Arkko, "Mobility Support
              in IPv6", RFC 3775, June 2004.
   
   [RFC3963]  Devarapalli, V., Wakikawa, R., Petrescu, A., and P.
              Thubert, "Network Mobility (NEMO) Basic Support Protocol",
              RFC 3963, January 2005.
   
   [RFC4193]  Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
              Addresses", RFC 4193, October 2005.
   
   [RFC4555]  Eronen, P., "IKEv2 Mobility and Multihoming Protocol
              (MOBIKE)", RFC 4555, June 2006.
   
   [RFC4651]  Vogt, C. and J. Arkko, "A Taxonomy and Analysis of
              Enhancements to Mobile IPv6 Route Optimization", RFC 4651,
              February 2007.
   
   [RFC5201]  Moskowitz, R., Nikander, P., Jokela, P., and T. Henderson,
              "Host Identity Protocol", RFC 5201, April 2008.
   
   [RFC5213]  Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K.,
              and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.
   
   [RFC5380]  Soliman, H., Castelluccia, C., ElMalki, K., and L.
              Bellier, "Hierarchical Mobile IPv6 (HMIPv6) Mobility
              Management", RFC 5380, October 2008.
   
   [RFC5454]  Tsirtsis, G., Park, V., and H. Soliman, "Dual-Stack Mobile
              IPv4", RFC 5454, March 2009.
   
   [RFC5568]  Koodli, R., "Mobile IPv6 Fast Handovers", RFC 5568,
              July 2009.
   
   [RFC5944]  Perkins, C., "IP Mobility Support for IPv4, Revised",
              RFC 5944, November 2010.
   
   [RFC6281]  Cheshire, S., Zhu, Z., Wakikawa, R., and L. Zhang,
              "Understanding Apple's Back to My Mac (BTMM) Service", RFC
              6281, June 2011.
   
   [TIMIP]    Grilo, A., Estrela, P., and M. Nunes, "Terminal
              Independent Mobility For IP (TIMIP)", IEEE Communications
              Magazine, 2001.
   
   [VIP]      Teraoka, F., Yokote, Y., and M. Tokoro, "A Network
              Architecture Providing Host Migration Transparency",
              ACM SIGCOMM CCR, 1991.
   
   [WINMO]    Hu, X., Li, L., Mao, Z., and Y. Yang, "Wide-Area IP
              Network Mobility", IEEE INFOCOM, 2008.

Authors' Addresses

   Zhenkai Zhu
   UCLA
   4805 Boelter Hall, UCLA
   Los Angeles, CA  90095
   USA
   
   Phone: +1 310 993 7128
   EMail: zhenkai@cs.ucla.edu
   
   Ryuji Wakikawa
   Toyota ITC
   465 Bernardo Avenue
   Mountain View, CA  94043
   USA
   
   EMail: ryuji.wakikawa@gmail.com
   
   Lixia Zhang
   UCLA
   3713 Boelter Hall, UCLA
   Los Angeles, CA  90095
   USA
   
   Phone: +1 310 825 2695
   EMail: lixia@cs.ucla.edu