faqs.org - Internet FAQ Archives

RFC 6301 - A Survey of Mobility Support in the Internet


Or Display the document by number




Internet Engineering Task Force (IETF)                            Z. Zhu
Request for Comments: 6301                                          UCLA
Category: Informational                                      R. Wakikawa
ISSN: 2070-1721                                               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 (c) 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

 

User Contributions:

Comment about this RFC, ask questions, or add new information about this topic: