tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 6275

 Errata 
Proposed STD
Pages: 169
Top     in Index     Prev     Next
in Group Index     Prev in Group     Next in Group     Group: MEXT

Mobility Support in IPv6

Part 1 of 8, p. 1 to 15
None       Next RFC Part

Obsoletes:    3775


Top       ToC       Page 1 
Internet Engineering Task Force (IETF)                   C. Perkins, Ed.
Request for Comments: 6275                                 Tellabs, Inc.
Obsoletes: 3775                                               D. Johnson
Category: Standards Track                                Rice University
ISSN: 2070-1721                                                 J. Arkko
                                                                Ericsson
                                                               July 2011


                        Mobility Support in IPv6

Abstract

   This document specifies Mobile IPv6, a protocol that allows nodes to
   remain reachable while moving around in the IPv6 Internet.  Each
   mobile node is always identified by its home address, regardless of
   its current point of attachment to the Internet.  While situated away
   from its home, a mobile node is also associated with a care-of
   address, which provides information about the mobile node's current
   location.  IPv6 packets addressed to a mobile node's home address are
   transparently routed to its care-of address.  The protocol enables
   IPv6 nodes to cache the binding of a mobile node's home address with
   its care-of address, and to then send any packets destined for the
   mobile node directly to it at this care-of address.  To support this
   operation, Mobile IPv6 defines a new IPv6 protocol and a new
   destination option.  All IPv6 nodes, whether mobile or stationary,
   can communicate with mobile nodes.  This document obsoletes RFC 3775.

Status of This Memo

   This is an Internet Standards Track document.

   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).  Further information on
   Internet Standards is available in 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/rfc6275.

Page 2 
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.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Top       Page 3 
Table of Contents

   1. Introduction ....................................................7
   2. Comparison with Mobile IP for IPv4 ..............................8
   3. Terminology .....................................................9
      3.1. General Terms ..............................................9
      3.2. Mobile IPv6 Terms .........................................11
   4. Overview of Mobile IPv6 ........................................15
      4.1. Basic Operation ...........................................15
      4.2. New IPv6 Protocol .........................................17
      4.3. New IPv6 Destination Option ...............................18
      4.4. New IPv6 ICMP Messages ....................................19
      4.5. Conceptual Data Structure Terminology .....................19
      4.6. Unique-Local Addressability ...............................20
   5. Overview of Mobile IPv6 Security ...............................20
      5.1. Binding Updates to Home Agents ............................21
      5.2. Binding Updates to Correspondent Nodes ....................22
           5.2.1. Node Keys ..........................................22
           5.2.2. Nonces .............................................23
           5.2.3. Cookies and Tokens .................................23
           5.2.4. Cryptographic Functions ............................24
           5.2.5. Return Routability Procedure .......................24
           5.2.6. Authorizing Binding Management Messages ............28
           5.2.7. Updating Node Keys and Nonces ......................30
           5.2.8. Preventing Replay Attacks ..........................32
           5.2.9. Handling Interruptions to Return Routability .......32
      5.3. Dynamic Home Agent Address Discovery ......................33
      5.4. Mobile Prefix Discovery ...................................33
      5.5. Payload Packets ...........................................33
   6. New IPv6 Protocol, Message Types, and Destination Option .......34
      6.1. Mobility Header ...........................................34
           6.1.1. Format .............................................34
           6.1.2. Binding Refresh Request Message ....................36
           6.1.3. Home Test Init Message .............................37
           6.1.4. Care-of Test Init Message ..........................38
           6.1.5. Home Test Message ..................................39
           6.1.6. Care-of Test Message ...............................41
           6.1.7. Binding Update Message .............................42
           6.1.8. Binding Acknowledgement Message ....................44
           6.1.9. Binding Error Message ..............................47
      6.2. Mobility Options ..........................................48
           6.2.1. Format .............................................49
           6.2.2. Pad1 ...............................................49
           6.2.3. PadN ...............................................50
           6.2.4. Binding Refresh Advice .............................50
           6.2.5. Alternate Care-of Address ..........................51
           6.2.6. Nonce Indices ......................................52
           6.2.7. Binding Authorization Data .........................52

Top      ToC       Page 4 
      6.3. Home Address Option .......................................54
      6.4. Type 2 Routing Header .....................................55
           6.4.1. Format .............................................56
      6.5. ICMP Home Agent Address Discovery Request Message .........57
      6.6. ICMP Home Agent Address Discovery Reply Message ...........58
      6.7. ICMP Mobile Prefix Solicitation Message Format ............60
      6.8. ICMP Mobile Prefix Advertisement Message Format ...........61
   7. Modifications to IPv6 Neighbor Discovery .......................64
      7.1. Modified Router Advertisement Message Format ..............64
      7.2. Modified Prefix Information Option Format .................65
      7.3. New Advertisement Interval Option Format ..................66
      7.4. New Home Agent Information Option Format ..................67
      7.5. Changes to Sending Router Advertisements ..................69
   8. Requirements for Types of IPv6 Nodes ...........................71
      8.1. All IPv6 Nodes ............................................71
      8.2. IPv6 Nodes with Support for Route Optimization ............72
      8.3. All IPv6 Routers ..........................................73
      8.4. IPv6 Home Agents ..........................................74
      8.5. IPv6 Mobile Nodes .........................................75
   9. Correspondent Node Operation ...................................76
      9.1. Conceptual Data Structures ................................76
      9.2. Processing Mobility Headers ...............................78
      9.3. Packet Processing .........................................78
           9.3.1. Receiving Packets with Home Address Option .........78
           9.3.2. Sending Packets to a Mobile Node ...................79
           9.3.3. Sending Binding Error Messages .....................81
           9.3.4. Receiving ICMP Error Messages ......................81
      9.4. Return Routability Procedure ..............................82
           9.4.1. Receiving Home Test Init Messages ..................82
           9.4.2. Receiving Care-of Test Init Messages ...............82
           9.4.3. Sending Home Test Messages .........................83
           9.4.4. Sending Care-of Test Messages ......................83
      9.5. Processing Bindings .......................................83
           9.5.1. Receiving Binding Updates ..........................83
           9.5.2. Requests to Cache a Binding ........................86
           9.5.3. Requests to Delete a Binding .......................86
           9.5.4. Sending Binding Acknowledgements ...................87
           9.5.5. Sending Binding Refresh Requests ...................88
      9.6. Cache Replacement Policy ..................................88
   10. Home Agent Operation ..........................................89
      10.1. Conceptual Data Structures ...............................89
      10.2. Processing Mobility Headers ..............................90
      10.3. Processing Bindings ......................................90
           10.3.1. Primary Care-of Address Registration ..............90
           10.3.2. Primary Care-of Address De-Registration ...........94
      10.4. Packet Processing ........................................96
           10.4.1. Intercepting Packets for a Mobile Node ............96
           10.4.2. Processing Intercepted Packets ....................98

Top      ToC       Page 5 
           10.4.3. Multicast Membership Control ......................99
           10.4.4. Stateful Address Autoconfiguration ...............100
           10.4.5. Handling Reverse-Tunneled Packets ................100
           10.4.6. Protecting Return Routability Packets ............101
      10.5. Dynamic Home Agent Address Discovery ....................102
           10.5.1. Receiving Router Advertisement Messages ..........102
      10.6. Sending Prefix Information to the Mobile Node ...........104
           10.6.1. List of Home Network Prefixes ....................104
           10.6.2. Scheduling Prefix Deliveries .....................105
           10.6.3. Sending Advertisements ...........................107
           10.6.4. Lifetimes for Changed Prefixes ...................108
   11. Mobile Node Operation ........................................108
      11.1. Conceptual Data Structures ..............................108
      11.2. Processing Mobility Headers .............................110
      11.3. Packet Processing .......................................110
           11.3.1. Sending Packets While Away from Home .............110
           11.3.2. Interaction with Outbound IPsec Processing .......113
           11.3.3. Receiving Packets While Away from Home ...........115
           11.3.4. Routing Multicast Packets ........................117
           11.3.5. Receiving ICMP Error Messages ....................118
           11.3.6. Receiving Binding Error Messages .................119
      11.4. Home Agent and Prefix Management ........................120
           11.4.1. Dynamic Home Agent Address Discovery .............120
           11.4.2. Sending Mobile Prefix Solicitations ..............121
           11.4.3. Receiving Mobile Prefix Advertisements ...........121
      11.5. Movement ................................................123
           11.5.1. Movement Detection ...............................123
           11.5.2. Home Link Detection ..............................125
           11.5.3. Forming New Care-of Addresses ....................126
           11.5.4. Using Multiple Care-of Addresses .................127
           11.5.5. Returning Home ...................................127
      11.6. Return Routability Procedure ............................130
           11.6.1. Sending Test Init Messages .......................130
           11.6.2. Receiving Test Messages ..........................131
           11.6.3. Protecting Return Routability Packets ............132
      11.7. Processing Bindings .....................................132
           11.7.1. Sending Binding Updates to the Home Agent ........132
           11.7.2. Correspondent Registration .......................135
           11.7.3. Receiving Binding Acknowledgements ...............138
           11.7.4. Receiving Binding Refresh Requests ...............140
      11.8. Retransmissions and Rate Limiting .......................141
   12. Protocol Constants ...........................................142
   13. Protocol Configuration Variables .............................142
   14. IANA Considerations ..........................................143
   15. Security Considerations ......................................146
      15.1. Threats .................................................146
      15.2. Features ................................................148
      15.3. Binding Updates to Home Agent ...........................150

Top      ToC       Page 6 
      15.4. Binding Updates to Correspondent Nodes ..................152
           15.4.1. Overview .........................................153
           15.4.2. Achieved Security Properties .....................153
           15.4.3. Comparison to Regular IPv6 Communications ........154
           15.4.4. Replay Attacks ...................................156
           15.4.5. Denial-of-Service Attacks ........................156
           15.4.6. Key Lengths ......................................157
      15.5. Dynamic Home Agent Address Discovery ....................158
      15.6. Mobile Prefix Discovery .................................159
      15.7. Tunneling via the Home Agent ............................159
      15.8. Home Address Option .....................................160
      15.9. Type 2 Routing Header ...................................161
      15.10. SHA-1 Secure Enough for Mobile IPv6 Control Messages ...161
   16. Contributors .................................................162
   17. Acknowledgements .............................................162
   18. References ...................................................162
      18.1. Normative References ....................................162
      18.2. Informative References ..................................164
   Appendix A. Future Extensions ....................................166
      A.1. Piggybacking .............................................166
      A.2. Triangular Routing .......................................166
      A.3. New Authorization Methods ................................166
      A.4. Neighbor Discovery Extensions ............................166
   Appendix B. Changes since RFC 3775 ...............................167

Top      ToC       Page 7 
1.  Introduction

   This document specifies a protocol that allows nodes to remain
   reachable while moving around in the IPv6 Internet.  Without specific
   support for mobility in IPv6 [6], packets destined to a mobile node
   would not be able to reach it while the mobile node is away from its
   home link.  In order to continue communication in spite of its
   movement, a mobile node could change its IP address each time it
   moves to a new link, but the mobile node would then not be able to
   maintain transport and higher-layer connections when it changes
   location.  Mobility support in IPv6 is particularly important, as
   mobile computers are likely to account for a majority or at least a
   substantial fraction of the population of the Internet during the
   lifetime of IPv6.

   The protocol defined in this document, known as Mobile IPv6, allows a
   mobile node to move from one link to another without changing the
   mobile node's "home address".  Packets may be routed to the mobile
   node using this address regardless of the mobile node's current point
   of attachment to the Internet.  The mobile node may also continue to
   communicate with other nodes (stationary or mobile) after moving to a
   new link.  The movement of a mobile node away from its home link is
   thus transparent to transport and higher-layer protocols and
   applications.

   The Mobile IPv6 protocol is just as suitable for mobility across
   homogeneous media as for mobility across heterogeneous media.  For
   example, Mobile IPv6 facilitates node movement from one Ethernet
   segment to another as well as it facilitates node movement from an
   Ethernet segment to a wireless LAN cell, with the mobile node's IP
   address remaining unchanged in spite of such movement.

   One can think of the Mobile IPv6 protocol as solving the network-
   layer mobility management problem.  Some mobility management
   applications -- for example, handover among wireless transceivers,
   each of which covers only a very small geographic area -- have been
   solved using link-layer techniques.  For example, in many current
   wireless LAN products, link-layer mobility mechanisms allow a
   "handover" of a mobile node from one cell to another, re-establishing
   link-layer connectivity to the node in each new location.

   Mobile IPv6 does not attempt to solve all general problems related to
   the use of mobile computers or wireless networks.  In particular,
   this protocol does not attempt to solve:

   o  Handling links with unidirectional connectivity or partial
      reachability, such as the hidden terminal problem where a host is
      hidden from only some of the routers on the link.

Top      ToC       Page 8 
   o  Access control on a link being visited by a mobile node.

   o  Local or hierarchical forms of mobility management (similar to
      many current link-layer mobility management solutions).

   o  Assistance for adaptive applications.

   o  Mobile routers.

   o  Service discovery.

   o  Distinguishing between packets lost due to bit errors versus
      network congestion.

   This document obsoletes RFC 3775.  Issues with the original document
   have been observed during the integration, testing, and deployment of
   RFC 3775.  A more detailed list of the changes since RFC 3775 may be
   found in Appendix B.

2.  Comparison with Mobile IP for IPv4

   The design of Mobile IP support in IPv6 (Mobile IPv6) benefits both
   from the experiences gained from the development of Mobile IP support
   in IPv4 (Mobile IPv4) [32] [25] [26], and from the opportunities
   provided by IPv6.  Mobile IPv6 thus shares many features with Mobile
   IPv4, but is integrated into IPv6 and offers many other improvements.
   This section summarizes the major differences between Mobile IPv4 and
   Mobile IPv6:

   o  There is no need to deploy special routers as "foreign agents", as
      in Mobile IPv4.  Mobile IPv6 operates in any location without any
      special support required from the local router.

   o  Support for route optimization is a fundamental part of the
      protocol, rather than a nonstandard set of extensions.

   o  Mobile IPv6 route optimization can operate securely even without
      pre-arranged security associations.  It is expected that route
      optimization can be deployed on a global scale between all mobile
      nodes and correspondent nodes.

   o  Support is also integrated into Mobile IPv6 for allowing route
      optimization to coexist efficiently with routers that perform
      "ingress filtering" [27].

   o  The IPv6 Neighbor Unreachability Detection ensures symmetric
      reachability between the mobile node and its default router in the
      current location.

Top      ToC       Page 9 
   o  Most packets sent to a mobile node while away from home in Mobile
      IPv6 are sent using an IPv6 routing header rather than IP
      encapsulation, reducing the amount of resulting overhead compared
      to Mobile IPv4.

   o  Mobile IPv6 is decoupled from any particular link layer, as it
      uses IPv6 Neighbor Discovery [18] instead of the Address
      Resolution Protocol (ARP).  This also improves the robustness of
      the protocol.

   o  The use of IPv6 encapsulation (and the routing header) removes the
      need in Mobile IPv6 to manage "tunnel soft state".

   o  The dynamic home agent address discovery mechanism in Mobile IPv6
      returns a single reply to the mobile node.  The directed broadcast
      approach used in IPv4 returns separate replies from each home
      agent.

3.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [2].

3.1.  General Terms

   IP

      Internet Protocol Version 6 (IPv6).

   node

      A device that implements IP.

   router

      A node that forwards IP packets not explicitly addressed to
      itself.

   unicast routable address

      An identifier for a single interface such that a packet sent to it
      from another IPv6 subnet is delivered to the interface identified
      by that address.  Accordingly, a unicast routable address must be
      either a global IPv6 address or a unique local IPv6 address.

Top      ToC       Page 10 
   host

      Any node that is not a router.

   link

      A communication facility or medium over which nodes can
      communicate at the link layer, such as an Ethernet (simple or
      bridged).  A link is the layer immediately below IP.

   interface

      A node's attachment to a link.

   subnet prefix

      A bit string that consists of some number of initial bits of an IP
      address.

   interface identifier

      A number used to identify a node's interface on a link.  The
      interface identifier is the remaining low-order bits in the node's
      IP address after the subnet prefix.

   link-layer address

      A link-layer identifier for an interface, such as IEEE 802
      addresses on Ethernet links.

   packet

      An IP header plus payload.

   security association

      An IPsec security association is a cooperative relationship formed
      by the sharing of cryptographic keying material and associated
      context.  Security associations are simplex.  That is, two
      security associations are needed to protect bidirectional traffic
      between two nodes, one for each direction.

   security policy database

      A database that specifies what security services are to be offered
      to IP packets and in what fashion.

Top      ToC       Page 11 
   destination option

      Destination options are carried by the IPv6 Destination Options
      extension header.  Destination options include optional
      information that need be examined only by the IPv6 node given as
      the destination address in the IPv6 header, not by routers in
      between.  Mobile IPv6 defines one new destination option, the Home
      Address destination option (see Section 6.3).

   routing header

      A routing header may be present as an IPv6 header extension, and
      indicates that the payload has to be delivered to a destination
      IPv6 address in some way that is different from what would be
      carried out by standard Internet routing.  In this document, use
      of the term "routing header" typically refers to use of a type 2
      routing header, as specified in Section 6.4.

   "|" (concatenation)

      Some formulas in this specification use the symbol "|" to indicate
      bytewise concatenation, as in A | B.  This concatenation requires
      that all of the octets of the datum A appear first in the result,
      followed by all of the octets of the datum B.

   First (size, input)

      Some formulas in this specification use a functional form "First
      (size, input)" to indicate truncation of the "input" data so that
      only the first "size" bits remain to be used.

3.2.  Mobile IPv6 Terms

   These terms are intended to be compatible with the definitions given
   in RFC 3753 [40].  However, if there is any conflict, the definitions
   given here should be considered to supersede those in RFC 3753.

   home address

      A unicast routable address assigned to a mobile node, used as the
      permanent address of the mobile node.  This address is within the
      mobile node's home link.  Standard IP routing mechanisms will
      deliver packets destined for a mobile node's home address to its
      home link.  Mobile nodes can have multiple home addresses, for
      instance, when there are multiple home prefixes on the home link.

Top      ToC       Page 12 
   home subnet prefix

      The IP subnet prefix corresponding to a mobile node's home
      address.

   home link

      The link on which a mobile node's home subnet prefix is defined.

   mobile node

      A node that can change its point of attachment from one link to
      another, while still being reachable via its home address.

   movement

      A change in a mobile node's point of attachment to the Internet
      such that it is no longer connected to the same link as it was
      previously.  If a mobile node is not currently attached to its
      home link, the mobile node is said to be "away from home".

   Layer 2 (L2) handover

      A process by which the mobile node changes from one link-layer
      connection to another.  For example, a change of wireless access
      point is an L2 handover.

   Layer 3 (L3) handover

      Subsequent to an L2 handover, a mobile node detects a change in an
      on-link subnet prefix that would require a change in the primary
      care-of address.  For example, a change of access router
      subsequent to a change of wireless access point typically results
      in an L3 handover.

   correspondent node

      A peer node with which a mobile node is communicating.  The
      correspondent node may be either mobile or stationary.

   foreign subnet prefix

      Any IP subnet prefix other than the mobile node's home subnet
      prefix.

Top      ToC       Page 13 
   foreign link

      Any link other than the mobile node's home link.

   care-of address

      A unicast routable address associated with a mobile node while
      visiting a foreign link; the subnet prefix of this IP address is a
      foreign subnet prefix.  Among the multiple care-of addresses that
      a mobile node may have at any given time (e.g., with different
      subnet prefixes), the one registered with the mobile node's home
      agent for a given home address is called its "primary" care-of
      address.

   home agent

      A router on a mobile node's home link with which the mobile node
      has registered its current care-of address.  While the mobile node
      is away from home, the home agent intercepts packets on the home
      link destined to the mobile node's home address, encapsulates
      them, and tunnels them to the mobile node's registered care-of
      address.

   binding

      The association of the home address of a mobile node with a
      care-of address for that mobile node, along with the remaining
      lifetime of that association.

   registration

      The process during which a mobile node sends a Binding Update to
      its home agent or a correspondent node, causing a binding for the
      mobile node to be registered.

   mobility message

      A message containing a Mobility Header (see Section 6.1).

   binding authorization

      Correspondent registration needs to be authorized to allow the
      recipient to believe that the sender has the right to specify a
      new binding.

Top      ToC       Page 14 
   return routability procedure

      The return routability procedure authorizes registrations by the
      use of a cryptographic token exchange.

   correspondent registration

      A return routability procedure followed by a registration, run
      between the mobile node and a correspondent node.

   home registration

      A registration between the mobile node and its home agent,
      authorized by the use of IPsec.

   nonce

      Nonces are random numbers used internally by the correspondent
      node in the creation of keygen tokens related to the return
      routability procedure.  The nonces are not specific to a mobile
      node, and are kept secret within the correspondent node.

   nonce index

      A nonce index is used to indicate which nonces have been used when
      creating keygen token values, without revealing the nonces
      themselves.

   cookie

      A cookie is a random number used by a mobile node to prevent
      spoofing by a bogus correspondent node in the return routability
      procedure.

   care-of init cookie

      A cookie sent to the correspondent node in the Care-of Test Init
      message, to be returned in the Care-of Test message.

   home init cookie

      A cookie sent to the correspondent node in the Home Test Init
      message, to be returned in the Home Test message.

Top      ToC       Page 15 
   keygen token

      A keygen token is a number supplied by a correspondent node in the
      return routability procedure to enable the mobile node to compute
      the necessary binding management key for authorizing a Binding
      Update.

   care-of keygen token

      A keygen token sent by the correspondent node in the Care-of Test
      message.

   home keygen token

      A keygen token sent by the correspondent node in the Home Test
      message.

   binding management key (Kbm)

      A binding management key (Kbm) is a key used for authorizing a
      binding cache management message (e.g., Binding Update or Binding
      Acknowledgement).  Return routability provides a way to create a
      binding management key.



(page 15 continued on part 2)

Next RFC Part