Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 5944

IP Mobility Support for IPv4, Revised

Pages: 100
Proposed Standard
Errata
Obsoletes:  3344
Part 1 of 4 – Pages 1 to 18
None   None   Next

Top   ToC   RFC5944 - Page 1
Internet Engineering Task Force (IETF)                   C. Perkins, Ed.
Request for Comments: 5944                                 WiChorus Inc.
Obsoletes: 3344                                            November 2010
Category: Standards Track
ISSN: 2070-1721


                 IP Mobility Support for IPv4, Revised

Abstract

This document specifies protocol enhancements that allow transparent routing of IP datagrams to mobile nodes in the 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 its current point of attachment to the Internet. The protocol provides for registering the care-of address with a home agent. The home agent sends datagrams destined for the mobile node through a tunnel to the care- of address. After arriving at the end of the tunnel, each datagram is then delivered to the mobile node. 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/rfc5944.
Top   ToC   RFC5944 - Page 2
Copyright Notice

   Copyright (c) 2010 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   ToC   RFC5944 - Page 3

Table of Contents

1. Introduction ....................................................5 1.1. Protocol Requirements ......................................5 1.2. Goals ......................................................6 1.3. Assumptions ................................................6 1.4. Applicability ..............................................6 1.5. New Architectural Entities .................................7 1.6. Terminology ................................................7 1.7. Protocol Overview .........................................11 1.8. Message Format and Protocol Extensibility .................14 1.9. Type-Length-Value Extension Format for Mobile IP Extensions ................................................16 1.10. Long Extension Format ....................................17 1.11. Short Extension Format ...................................18 2. Agent Discovery ................................................18 2.1. Agent Advertisement .......................................19 2.1.1. Mobility Agent Advertisement Extension .............21 2.1.2. Prefix-Lengths Extension ...........................23 2.1.3. One-Byte Padding Extension .........................24 2.2. Agent Solicitation ........................................24 2.3. Foreign Agent and Home Agent Considerations ...............24 2.3.1. Advertised Router Addresses ........................26 2.3.2. Sequence Numbers and Rollover Handling .............26 2.4. Mobile Node Considerations ................................26 2.4.1. Registration Required ..............................28 2.4.2. Move Detection .....................................28 2.4.3. Returning Home .....................................29 2.4.4. Sequence Numbers and Rollover Handling .............29 3. Registration ...................................................29 3.1. Registration Overview .....................................30 3.2. Authentication ............................................31 3.3. Registration Request ......................................32 3.4. Registration Reply ........................................34 3.5. Registration Extensions ...................................38 3.5.1. Computing Authentication Extension Values ..........38 3.5.2. Mobile-Home Authentication Extension ...............39 3.5.3. Mobile-Foreign Authentication Extension ............40 3.5.4. Foreign-Home Authentication Extension ..............40 3.6. Mobile Node Considerations ................................41 3.6.1. Sending Registration Requests ......................43 3.6.2. Receiving Registration Replies .....................47 3.6.3. Registration Retransmission ........................50 3.7. Foreign Agent Considerations ..............................50 3.7.1. Configuration and Registration Tables ..............51 3.7.2. Receiving Registration Requests ....................52 3.7.3. Receiving Registration Replies .....................56
Top   ToC   RFC5944 - Page 4
      3.8. Home Agent Considerations .................................58
           3.8.1. Configuration and Registration Tables ..............58
           3.8.2. Receiving Registration Requests ....................59
           3.8.3. Sending Registration Replies .......................64
   4. Routing Considerations .........................................66
      4.1. Encapsulation Types .......................................67
      4.2. Unicast Datagram Routing ..................................67
           4.2.1. Mobile Node Considerations .........................67
           4.2.2. Foreign Agent Considerations .......................68
           4.2.3. Home Agent Considerations ..........................69
      4.3. Broadcast Datagrams .......................................70
      4.4. Multicast Datagram Routing ................................71
      4.5. Mobile Routers ............................................72
      4.6. ARP, Proxy ARP, and Gratuitous ARP ........................74
   5. Security Considerations ........................................77
      5.1. Message Authentication Codes ..............................77
      5.2. Areas of Security Concern in This Protocol ................78
      5.3. Key Management ............................................78
      5.4. Picking Good Random Numbers ...............................78
      5.5. Privacy ...................................................79
      5.6. Ingress Filtering .........................................79
      5.7. Replay Protection for Registration Requests ...............79
           5.7.1. Replay Protection Using Timestamps .................80
           5.7.2. Replay Protection Using Nonces .....................81
   6. IANA Considerations ............................................82
      6.1. Mobile IP Message Types ...................................82
      6.2. Extensions to RFC 1256 Router Advertisement Messages ......83
      6.3. Extensions to Mobile IP Registration Messages .............83
      6.4. Code Values for Mobile IP Registration Reply Messages .....84
   7. Acknowledgments ................................................84
   8. References .....................................................86
      8.1. Normative References ......................................86
      8.2. Informative References ....................................87
   Appendix A. Link-Layer Considerations .............................90
   Appendix B. TCP Considerations ....................................90
      B.1. TCP Timers ................................................90
      B.2. TCP Congestion Management .................................91
   Appendix C.  Example Scenarios ....................................92
      C.1. Registering with a Foreign Agent Care-of Address ..........92
      C.2. Registering with a Co-Located Care-of Address .............93
      C.3. Deregistration ............................................94
   Appendix D. Applicability of Prefix-Lengths Extension .............94
   Appendix E. Interoperability Considerations .......................95
   Appendix F. Changes since RFC 3344 ................................96
   Appendix G. Example Messages ......................................98
      G.1. Example ICMP Agent Advertisement Message Format ...........98
      G.2. Example Registration Request Message Format ...............99
      G.3. Example Registration Reply Message Format ................100
Top   ToC   RFC5944 - Page 5

1. Introduction

IP version 4 assumes that a node's IP address uniquely identifies the node's point of attachment to the Internet. Therefore, a node must be located on the network indicated by its IP address in order to receive datagrams destined to it; otherwise, datagrams destined to the node would be undeliverable. For a node to change its point of attachment without losing its ability to communicate, currently one of the two following mechanisms must typically be employed: o the node must change its IP address whenever it changes its point of attachment, or o host-specific routes must be propagated throughout much of the Internet routing fabric. Both of these alternatives are often unacceptable. The first makes it impossible for a node to maintain transport and higher-layer connections when the node changes location. The second has obvious and severe scaling problems, especially relevant considering the explosive growth in sales of notebook (mobile) computers. A new, scalable mechanism is required for accommodating node mobility within the Internet. This document defines such a mechanism, which enables nodes to change their point of attachment to the Internet without changing their IP address. Changes between this revised specification for Mobile IP and the original specifications (see [44], [14], [15], [20], [4], and [50]) are detailed in Appendix F.

1.1. Protocol Requirements

A mobile node must be able to communicate with other nodes after changing its link-layer point of attachment to the Internet, yet without changing its IP address. A mobile node must be able to communicate with other nodes that do not implement these mobility functions. No protocol enhancements are required in hosts or routers that are not acting as any of the new architectural entities introduced in Section 1.5. All messages used to update another node as to the location of a mobile node must be authenticated in order to protect against remote redirection attacks.
Top   ToC   RFC5944 - Page 6

1.2. Goals

The link by which a mobile node is directly attached to the Internet may often be a wireless link. This link may thus have a substantially lower bandwidth and higher error rate than traditional wired networks. Moreover, mobile nodes are likely to be battery powered, and minimizing power consumption is important. Therefore, the number of administrative messages sent over the link by which a mobile node is directly attached to the Internet should be minimized, and the size of these messages should be kept as small as is reasonably possible.

1.3. Assumptions

The protocols defined in this document place no additional constraints on the assignment of IP addresses. That is, a mobile node can be assigned an IP address by the organization that owns the machine. This protocol assumes that mobile nodes will generally not change their point of attachment to the Internet more frequently than once per second. This protocol assumes that IP unicast datagrams are routed based on the Destination Address in the datagram header (and not, for example, by source address).

1.4. Applicability

Mobile IP is intended to enable nodes to move from one IP subnet to another. It is just as suitable for mobility across homogeneous media as it is for mobility across heterogeneous media. That is, Mobile IP facilitates node movement from one Ethernet segment to another, as well as from an Ethernet segment to a wireless LAN, as long as the mobile node's IP address remains the same after such a movement. One can think of Mobile IP as solving the "macro" mobility management problem. It is less well suited for more "micro" mobility management applications -- for example, handoff amongst wireless transceivers, each of which covers only a very small geographic area. As long as node movement does not occur between points of attachment on different IP subnets, link-layer mechanisms for mobility (i.e., link- layer handoff) may offer faster convergence and far less overhead than Mobile IP.
Top   ToC   RFC5944 - Page 7

1.5. New Architectural Entities

Mobile IP introduces the following new functional entities: Mobile Node A host or router that changes its point of attachment from one network or subnetwork to another. A mobile node may change its location without changing its IP address; it may continue to communicate with other Internet nodes at any location using its (constant) IP address, assuming link-layer connectivity to a point of attachment is available. Home Agent A router on a mobile node's home network that tunnels datagrams for delivery to the mobile node when it is away from home, and maintains current location information for the mobile node. Foreign Agent A router on a mobile node's visited network that provides routing services to the mobile node while registered. The foreign agent detunnels and delivers to the mobile node datagrams that were tunneled by the mobile node's home agent. For datagrams sent by a mobile node, the foreign agent may serve as a default router for registered mobile nodes. A mobile node is given a long-term IP address on a home network. This home address is administered in the same way that a "permanent" IP address is provided to a stationary host. When away from its home network, a "care-of address" is associated with the mobile node and reflects the mobile node's current point of attachment. The mobile node uses its home address as the source address of all IP datagrams that it sends, except where otherwise described in this document for datagrams sent for certain mobility management functions (e.g., as in Section 3.6.1.1).

1.6. 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 [1].
Top   ToC   RFC5944 - Page 8
   In addition, this document frequently uses the following terms:

   Authorization-Enabling Extension

      An authentication that makes a (registration) message acceptable
      to the ultimate recipient of the registration message.  An
      authorization-enabling extension MUST contain a Security Parameter
      Index (SPI).

      In this document, all uses of authorization-enabling extension
      refer to authentication extensions that enable the Registration
      Request message to be acceptable to the home agent.  Using
      additional protocol structures specified outside of this document,
      it may be possible for the mobile node to provide authentication
      of its registration to the home agent, by way of another
      authenticating entity within the network that is acceptable to the
      home agent (for example, see RFC 2794 [2]).

   Agent Advertisement

      An advertisement message constructed by attaching a special
      Extension to a Router Advertisement [5] message.

   Authentication

      The process of verifying (using cryptographic techniques, for all
      applications in this specification) the identity of the originator
      of a message.

   Care-of Address

      The termination point of a tunnel toward a mobile node, for
      datagrams forwarded to the mobile node while it is away from home.
      The protocol can use two different types of care-of address: a
      "foreign agent care-of address" is an address of a foreign agent
      with which the mobile node is registered, and a "co-located care-
      of address" is an externally obtained local address that the
      mobile node has associated with one of its own network interfaces.

   Correspondent Node

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

   Foreign Network

      Any network other than the mobile node's home network.
Top   ToC   RFC5944 - Page 9
   Gratuitous ARP

      An Address Resolution Protocol (ARP) packet sent by a node in
      order to spontaneously cause other nodes to update an entry in
      their ARP cache [45].  See Section 4.6.

   Home Address

      An IP address that is assigned for an extended period of time to a
      mobile node.  It remains unchanged regardless of where the node is
      attached to the Internet.

   Home Network

      A network, possibly virtual, having a network prefix matching that
      of a mobile node's home address.  Note that standard IP routing
      mechanisms will deliver datagrams destined to a mobile node's home
      address to the mobile node's home network.

   Link

      A facility or medium over which nodes can communicate at the link
      layer.  A link underlies the network layer.

   Link-Layer Address

      The address used to identify an endpoint of some communication
      over a physical link.  Typically, the link-layer address is an
      interface's Media Access Control (MAC) address.

   Mobility Agent

      Either a home agent or a foreign agent.

   Mobility Binding

      The association of a home address with a care-of address, along
      with the remaining Lifetime of that association.

   Mobility Security Association

      A collection of security contexts, between a pair of nodes, which
      may be applied to Mobile IP protocol messages exchanged between
      them.  Each context indicates an authentication algorithm and mode
      (Section 5.1), a secret (a shared key, or appropriate public/
      private key pair), and a style of replay protection in use
      (Section 5.7).
Top   ToC   RFC5944 - Page 10
   Node

      A host or a router.

   Nonce

      A randomly chosen value, different from previous choices, inserted
      in a message to protect against replays.

   Security Parameter Index (SPI)

      An index identifying a security context between a pair of nodes,
      among the contexts available in the Mobility Security Association.
      SPI values 0 through 255 are reserved and MUST NOT be used in any
      Mobility Security Association.

   Tunnel

      The path followed by a datagram while it is encapsulated.  The
      model is that, while it is encapsulated, a datagram is routed to a
      knowledgeable decapsulating agent, which decapsulates the datagram
      and then correctly delivers it to its ultimate destination.

   Virtual Network

      A network with no physical instantiation beyond a router (with a
      physical network interface on another network).  The router (e.g.,
      a home agent) generally advertises reachability to the virtual
      network using conventional routing protocols.

   Visited Network

      A network other than a mobile node's home network, to which the
      mobile node is currently connected.

   Visitor List

      The list of mobile nodes visiting a foreign agent.
Top   ToC   RFC5944 - Page 11

1.7. Protocol Overview

The following support services are defined for Mobile IP: Agent Discovery Home agents and foreign agents may advertise their availability on each link for which they provide service. A newly arrived mobile node can send a solicitation on the link to learn if any prospective agents are present. Registration When the mobile node is away from home, it registers its care-of address with its home agent. Depending on its method of attachment, the mobile node will register either directly with its home agent, or through a foreign agent that forwards the registration to the home agent. Silently Discard The implementation discards the datagram without further processing, and without indicating an error to the sender. The implementation SHOULD provide the capability of logging the error, including the contents of the discarded datagram, and SHOULD record the event in a statistics counter. The following steps provide a rough outline of operation of the Mobile IP protocol: o Mobility agents (i.e., foreign agents and home agents) advertise their presence via Agent Advertisement messages (Section 2). A mobile node may optionally solicit an Agent Advertisement message from any locally attached mobility agents through an Agent Solicitation message. o A mobile node receives these Agent Advertisements and determines whether it is on its home network or a foreign network. o When the mobile node detects that it is located on its home network, it operates without mobility services. If returning to its home network from being registered elsewhere, the mobile node deregisters with its home agent, through exchange of a Registration Request and Registration Reply message with it. o When a mobile node detects that it has moved to a foreign network, it obtains a care-of address on the foreign network. The care-of address can either be determined from a foreign agent's
Top   ToC   RFC5944 - Page 12
      advertisements (a foreign agent care-of address), or by some
      external assignment mechanism such as DHCP [34] (a co-located
      care-of address).

   o  The mobile node operating away from home then registers its new
      care-of address with its home agent through exchange of a
      Registration Request and Registration Reply message with the home
      agent, possibly via a foreign agent (Section 3).

   o  Datagrams sent to the mobile node's home address are intercepted
      by its home agent, tunneled by the home agent to the mobile node's
      care-of address, received at the tunnel endpoint (either at a
      foreign agent or at the mobile node itself), and finally delivered
      to the mobile node (Section 4.2.3).

   o  In the reverse direction, datagrams sent by the mobile node are
      generally delivered to their destination using standard IP routing
      mechanisms, not necessarily passing through the home agent.

   When away from home, Mobile IP uses protocol tunneling to hide a
   mobile node's home address from intervening routers between its home
   network and its current location.  The tunnel terminates at the
   mobile node's care-of address.  The care-of address must be an
   address to which datagrams can be delivered via conventional IP
   routing.  At the care-of address, the original datagram is removed
   from the tunnel and delivered to the mobile node.

   Mobile IP provides two alternative modes for the acquisition of a
   care-of address:

   a.  A "foreign agent care-of address" is a care-of address provided
       by a foreign agent through its Agent Advertisement messages.  In
       this case, the care-of address is an IP address of the foreign
       agent.  In this mode, the foreign agent is the endpoint of the
       tunnel and, upon receiving tunneled datagrams, decapsulates them
       and delivers the inner datagram to the mobile node.  This mode of
       acquisition is preferred because it allows many mobile nodes to
       share the same care-of address and therefore does not place
       unnecessary demands on the already limited IPv4 address space.

   b.  A "co-located care-of address" is a care-of address acquired by
       the mobile node as a local IP address through some external
       means, which the mobile node then associates with one of its own
       network interfaces.  The address may be dynamically acquired as a
       temporary address by the mobile node, such as through DHCP [34],
       or may be owned by the mobile node as a long-term address for its
       use only while visiting some foreign network.  Specific external
       methods of acquiring a local IP address for use as a co-located
Top   ToC   RFC5944 - Page 13
       care-of address are beyond the scope of this document.  When
       using a co-located care-of address, the mobile node serves as the
       endpoint of the tunnel and itself performs decapsulation of the
       datagrams tunneled to it.

   The mode of using a co-located care-of address has the advantage that
   it allows a mobile node to function without a foreign agent, for
   example, in networks that have not yet deployed a foreign agent.  It
   does, however, place additional burden on the IPv4 address space
   because it requires a pool of addresses within the foreign network to
   be made available to visiting mobile nodes.  It is difficult to
   efficiently maintain pools of addresses for each subnet that may
   permit mobile nodes to visit.

   It is important to understand the distinction between the care-of
   address and the foreign agent functions.  The care-of address is
   simply the endpoint of the tunnel.  It might indeed be an address of
   a foreign agent (a foreign agent care-of address), but it might
   instead be an address temporarily acquired by the mobile node (a
   co-located care-of address).  A foreign agent, on the other hand, is
   a mobility agent that provides services to mobile nodes.  See
   Sections 3.7 and 4.2.2 for additional details.

   A home agent MUST be able to attract and intercept datagrams that are
   destined to the home address of any of its registered mobile nodes.
   Using the proxy and gratuitous ARP mechanisms described in Section
   4.6, this requirement can be satisfied if the home agent has a
   network interface on the link indicated by the mobile node's home
   address.  Other placements of the home agent relative to the mobile
   node's home location MAY also be possible using other mechanisms for
   intercepting datagrams destined to the mobile node's home address.
   Such placements are beyond the scope of this document.

   Similarly, a mobile node and a prospective or current foreign agent
   MUST be able to exchange datagrams without relying on standard IP
   routing mechanisms; that is, those mechanisms that make forwarding
   decisions based upon the network-prefix of the Destination Address in
   the IP header.  This requirement can be satisfied if the foreign
   agent and the visiting mobile node have an interface on the same
   link.  In this case, the mobile node and foreign agent simply bypass
   their normal IP routing mechanism when sending datagrams to each
   other, addressing the underlying link-layer packets to their
   respective link-layer addresses.  Other placements of the foreign
   agent relative to the mobile node MAY also be possible using other
   mechanisms to exchange datagrams between these nodes, but such
   placements are beyond the scope of this document.
Top   ToC   RFC5944 - Page 14
               2) Datagram is intercepted   3) Datagram is
                  by home agent and            detunneled and
                  is tunneled to the           delivered to the
                  care-of address.             mobile node.

                     +-----+          +-------+         +------+
                     |home | =======> |foreign| ------> |mobile|
                     |agent|          | agent | <------ | node |
                     +-----+          +-------+         +------+
    1) Datagram to    /|\         /
       mobile node     |        /   4) For datagrams sent by the
       arrives on      |      /        mobile node, standard IP
       home network    |    /          routing delivers each to its
       via standard    |  |_           destination.  In this figure,
       IP routing.   +----+            the foreign agent is the
                     |host|            mobile node's default router.
                     +----+

                    Figure 1:  Operation of Mobile IPv4

   If a mobile node is using a co-located care-of address (as described
   in item (b) above), the mobile node MUST be located on the link
   identified by the network prefix of this care-of address.  Otherwise,
   datagrams destined to the care-of address would be undeliverable.

   For example, Figure 1 illustrates the routing of datagrams to and
   from a mobile node away from home, once the mobile node has
   registered with its home agent.  In Figure 1, the mobile node is
   using a foreign agent care-of address, not a co-located care-of
   address.

1.8. Message Format and Protocol Extensibility

Mobile IP defines a set of new control messages, sent with UDP [17] using well-known port number 434. The following two message types are defined in this document: 1 Registration Request 3 Registration Reply Up-to-date values for the message types for Mobile IP control messages are specified in the IANA online database [48]. In addition, for Agent Discovery, Mobile IP makes use of the existing Router Advertisement and Router Solicitation messages defined for ICMP Router Discovery [5].
Top   ToC   RFC5944 - Page 15
   Mobile IP defines a general Extension mechanism to allow optional
   information to be carried by Mobile IP control messages or by ICMP
   Router Discovery messages.  Some extensions have been specified to be
   encoded in the simple Type-Length-Value format described in Section
   1.9.

   Extensions allow variable amounts of information to be carried within
   each datagram.  The end of the list of extensions is indicated by the
   total length of the IP datagram.

   Two separately maintained sets of numbering spaces, from which
   Extension Type values are allocated, are used in Mobile IP:

   o  The first set consists of those Extensions that may appear in
      Mobile IP control messages (those sent to and from UDP port number
      434).  In this document, the following types are defined for
      Extensions appearing in Mobile IP control messages:

        0  One-byte Padding (encoded with neither Length nor Data field)
        32 Mobile-Home Authentication
        33 Mobile-Foreign Authentication
        34 Foreign-Home Authentication

   o  The second set consists of those Extensions that may appear in
      ICMP Router Discovery messages [5].  In this document, the
      following types are defined for Extensions appearing in ICMP
      Router Discovery messages:

        0  One-byte Padding (encoded with neither Length nor Data field)
        16 Mobility Agent Advertisement
        19 Prefix-Lengths

   Each individual Extension is described in detail in a separate
   section later in this document.  Up-to-date values for these
   Extension Type numbers are specified in the IANA online database
   [48].

   Due to the separation (orthogonality) of these sets, it is
   conceivable that two Extensions that are defined at a later date
   could have identical Type values, so long as one of the Extensions
   may be used only in Mobile IP control messages and the other may be
   used only in ICMP Router Discovery messages.

   The Type field in the Mobile IP extension structure can support up to
   255 (skippable and non-skippable) uniquely identifiable extensions.
   When an Extension numbered in either of these sets within the range 0
   through 127 is encountered but not recognized, the message containing
   that Extension MUST be silently discarded.  When an Extension
Top   ToC   RFC5944 - Page 16
   numbered in the range 128 through 255 is encountered that is not
   recognized, that particular Extension is ignored, but the rest of the
   Extensions and message data MUST still be processed.  The Length
   field of the Extension is used to skip the Data field in searching
   for the next Extension.

   Unless additional structure is utilized for the extension types, new
   developments or additions to Mobile IP might require so many new
   extensions that the available space for extension types might run
   out.  Two new extension structures are proposed to solve this
   problem.  Certain types of extensions can be aggregated, using
   subtypes to identify the precise extension, for example as has been
   done with the Generic Authentication Keys extensions [46].  In many
   cases, this may reduce the rate of allocation for new values of the
   Type field.

   Since the new extension structures will cause an efficient usage of
   the extension type space, it is recommended that new Mobile IP
   extensions follow one of the two new extension formats whenever there
   may be the possibility of grouping related extensions together.

   The following subsections provide details about three distinct
   structures for Mobile IP extensions:

   o  The simple extension format

   o  The long extension format

   o  The short extension format

1.9. Type-Length-Value Extension Format for Mobile IP Extensions

The Type-Length-Value format illustrated in Figure 2 is used for extensions that are specified in this document. Since this simple extension structure does not encourage the most efficient usage of the extension type space, it is recommended that new Mobile IP extensions follow one of the two new extension formats specified in Section 1.10 or Section 1.11 whenever there may be the possibility of grouping related extensions together. 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Type | Length | Data ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Figure 2: Type-Length-Value Extension Format for Mobile IPv4
Top   ToC   RFC5944 - Page 17
   Type     Indicates the particular type of Extension.

   Length   Indicates the length (in bytes) of the Data field within
            this Extension.  The length does NOT include the Type and
            Length bytes.

   Data     The particular data associated with this Extension.  This
            field may be zero or more bytes in length.  The format and
            length of the Data field is determined by the Type and
            Length fields.

1.10. Long Extension Format

This format is applicable for non-skippable extensions that carry information of more than 256 bytes. Skippable extensions can never use the long format, because the receiver is not required to include parsing code and is likely to treat the 8 bits immediately following the Type as the Length field. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Sub-Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ..... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Long Extension format requires that the following fields be specified as the first fields of the extension. Type is the type, which describes a collection of extensions having a common data type. Sub-Type is a unique number given to each member in the aggregated type. Length indicates the length (in bytes) of the Data field within this Extension. It does NOT include the Type, Length, and Sub-Type bytes. Data is the data associated with the subtype of this extension. This specification does not place any additional structure on the subtype data. Since the Length field is 16 bits wide, the extension data can exceed 256 bytes in length.
Top   ToC   RFC5944 - Page 18

1.11. Short Extension Format

This format is compatible with the skippable extensions defined in Section 1.9. It is not applicable for extensions that require more than 256 bytes of data; for such extensions, use the format described in Section 1.10. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Sub-Type | Data .... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Short Extension format requires that the following fields be specified as the first fields of the extension: Type is the type, which describes a collection of extensions having a common data type. Sub-Type is a unique number given to each member in the aggregated type. Length 8-bit unsigned integer. Length of the extension, in bytes, excluding the extension Type and the extension Length fields. This field MUST be set to 1 plus the total length of the Data field. Data is the data associated with this extension. This specification does not place any additional structure on the subtype data.


(page 18 continued on part 2)

Next Section