tech-invite   World Map     

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

RFC 5944

 
 
 

IP Mobility Support for IPv4, Revised

Part 2 of 4, p. 18 to 50
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 18 
2.  Agent Discovery

   Agent Discovery is the method by which a mobile node determines
   whether it is currently connected to its home network or to a foreign
   network, and by which a mobile node can detect when it has moved from
   one network to another.  When connected to a foreign network, the
   methods specified in this section also allow the mobile node to
   determine the foreign agent care-of address being offered by each
   foreign agent on that network.

   Mobile IP extends ICMP Router Discovery [5] as its primary mechanism
   for Agent Discovery.  An Agent Advertisement is formed by including a
   Mobility Agent Advertisement Extension in an ICMP Router
   Advertisement message (Section 2.1).  An Agent Solicitation message
   is identical to an ICMP Router Solicitation, except that its IP Time

Top      Up      ToC       Page 19 
   to Live (TTL) MUST be set to 1 (Section 2.2).  This section describes
   the message formats and procedures by which mobile nodes, foreign
   agents, and home agents cooperate to realize Agent Discovery.

   Agent Advertisement and Agent Solicitation may not be necessary for
   link layers that already provide this functionality.  The method by
   which mobile nodes establish link-layer connections with prospective
   agents is outside the scope of this document (but see Appendix A).
   The procedures described below assume that such link-layer
   connectivity has already been established.

   No authentication is required for Agent Advertisement and Agent
   Solicitation messages.  They MAY be authenticated using the IP
   Authentication Header [9], which is unrelated to the messages
   described in this document.  Further specification of the way in
   which Advertisement and Solicitation messages may be authenticated is
   outside of the scope of this document.

2.1.  Agent Advertisement

   Agent Advertisements are transmitted by a mobility agent to advertise
   its services on a link.  Mobile nodes use these advertisements to
   determine their current point of attachment to the Internet.  An
   Agent Advertisement is an ICMP Router Advertisement that has been
   extended to also carry a Mobility Agent Advertisement Extension
   (Section 2.1.1) and, optionally, a Prefix-Lengths Extension (Section
   2.1.2), One-byte Padding Extension (Section 2.1.3), or other
   Extensions that might be defined in the future.

   Within an Agent Advertisement message, ICMP Router Advertisement
   fields of the message are required to conform to the following
   additional specifications:

      -  Link-Layer Fields

         Destination Address

                  The link-layer Destination Address of a unicast Agent
                  Advertisement MUST be the same as the source link-
                  layer address of the Agent Solicitation that prompted
                  the Advertisement.

      -  IP Fields

         TTL      The TTL for all Agent Advertisements MUST be set to 1.

Top      Up      ToC       Page 20 
         Destination Address

                  As specified for ICMP Router Discovery [5], the IP
                  Destination Address of a multicast Agent Advertisement
                  MUST be either the "all systems on this link"
                  multicast address (224.0.0.1) [6] or the "limited
                  broadcast" address (255.255.255.255).  The subnet-
                  directed broadcast address of the form <prefix>.<-1>
                  cannot be used since mobile nodes will not generally
                  know the prefix of the foreign network.  When the
                  Agent Advertisement is unicast to a mobile node, the
                  IP home address of the mobile node SHOULD be used as
                  the Destination Address.

      -  ICMP Fields

         Code     The Code field of the Agent Advertisement is
                  interpreted as follows:

                  0  The mobility agent handles common traffic -- that
                     is, it acts as a router for IP datagrams not
                     necessarily related to mobile nodes.

                  16 The mobility agent does not route common traffic.
                     However, all foreign agents MUST (minimally)
                     forward to a default router any datagrams received
                     from a registered mobile node (Section 4.2.2).

         Lifetime

               The maximum length of time that the Advertisement is
               considered valid in the absence of further
               Advertisements.

         Router Address(es)

               See Section 2.3.1 for a discussion of the addresses that
               may appear in this portion of the Agent Advertisement.

         Num Addrs

               The number of router addresses advertised in this
               message.  Note that in an Agent Advertisement message,
               the number of router addresses specified in the ICMP
               Router Advertisement portion of the message MAY be set to
               0.  See Section 2.3.1 for details.

Top      Up      ToC       Page 21 
   If sent periodically, the nominal interval at which Agent
   Advertisements are sent SHOULD be no longer than 1/3 of the
   advertisement Lifetime given in the ICMP header.  This interval MAY
   be shorter than 1/3 the advertised Lifetime.  This allows a mobile
   node to miss three successive advertisements before deleting the
   agent from its list of valid agents.  The actual transmission time
   for each advertisement SHOULD be slightly randomized [5] in order to
   avoid synchronization and subsequent collisions with other Agent
   Advertisements that may be sent by other agents (or with other Router
   Advertisements sent by other routers).  Note that this field has no
   relation to the "Registration Lifetime" field within the Mobility
   Agent Advertisement Extension defined below.

2.1.1.  Mobility Agent Advertisement Extension

   The Mobility Agent Advertisement Extension follows the ICMP Router
   Advertisement fields.  It is used to indicate that an ICMP Router
   Advertisement message is also an Agent Advertisement being sent by a
   mobility agent.  The Mobility Agent Advertisement Extension is
   defined as follows:

     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     |        Sequence Number        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    Registration Lifetime      |R|B|H|F|M|G|r|T|U|X|I|reserved |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                  zero or more Care-of Addresses               |
    |                              ...                              |

      Type     16

      Length   (6 + 4*N), where 6 accounts for the number of bytes in
               the Sequence Number, Registration Lifetime, flags, and
               reserved fields, and N is the number of care-of addresses
               advertised.

      Sequence Number

               The count of Agent Advertisement messages sent since the
               agent was initialized (Section 2.3.2).

Top      Up      ToC       Page 22 
      Registration Lifetime

               The longest lifetime (measured in seconds) that this
               agent is willing to accept in any Registration Request.
               A value of 0xffff indicates infinity.  This field has no
               relation to the "Lifetime" field within the ICMP Router
               Advertisement portion of the Agent Advertisement.

      R        Registration required.  Registration with this foreign
               agent (or another foreign agent on this link) is required
               even when using a co-located care-of address.

      B        Busy.  The foreign agent will not accept registrations
               from additional mobile nodes.

      H        Home agent.  This agent offers service as a home agent on
               the link on which this Agent Advertisement message is
               sent.

      F        Foreign agent.  This agent offers service as a foreign
               agent on the link on which this Agent Advertisement
               message is sent.

      M        Minimal encapsulation.  This agent implements receiving
               tunneled datagrams that use minimal encapsulation [15].

      G        Generic Routing Encapsulation (GRE) encapsulation.  This
               agent implements receiving tunneled datagrams that use
               GRE encapsulation [13].

      r        Sent as zero; ignored on reception.  SHOULD NOT be
               allocated for any other uses.

      T        Foreign agent supports reverse tunneling as specified in
               [12].

      U        Mobility agent supports UDP Tunneling as specified in
               [27].

      X        Mobility agent supports Registration Revocation as
               specified in [28].

      I        Foreign agent supports Regional Registration as specified
               in [29].

      reserved
               Sent as zero; ignored on reception.

Top      Up      ToC       Page 23 
      Care-of Address(es)

               The advertised foreign agent care-of address(es) provided
               by this foreign agent.  An Agent Advertisement MUST
               include at least one care-of address if the 'F' bit is
               set.  The number of care-of addresses present is
               determined by the Length field in the Extension.

   A home agent MUST always be prepared to serve the mobile nodes for
   which it is the home agent.  A foreign agent may at times be too busy
   to serve additional mobile nodes; even so, it must continue to send
   Agent Advertisements, so that any mobile nodes already registered
   with it will know that they have not moved out of range of the
   foreign agent and that the foreign agent has not failed.  A foreign
   agent may indicate that it is "too busy" to allow new mobile nodes to
   register with it, by setting the 'B' bit in its Agent Advertisements.
   An Agent Advertisement message MUST NOT have the 'B' bit set if the
   'F' bit is not also set.  Furthermore, at least one of the 'F' bit
   and the 'H' bit MUST be set in any Agent Advertisement message sent.

   When a foreign agent wishes to require registration even from those
   mobile nodes that have acquired a co-located care-of address, it sets
   the 'R' bit to one.  Because this bit applies only to foreign agents,
   an agent MUST NOT set the 'R' bit to one unless the 'F' bit is also
   set to one.

2.1.2.  Prefix-Lengths Extension

   The Prefix-Lengths Extension MAY follow the Mobility Agent
   Advertisement Extension.  It is used to indicate the number of bits
   of network prefix that applies to each router address listed in the
   ICMP Router Advertisement portion of the Agent Advertisement.  Note
   that the prefix lengths given DO NOT apply to care-of address(es)
   listed in the Mobility Agent Advertisement Extension.  The Prefix-
   Lengths Extension is defined as follows:

    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     | Prefix Length |      ....
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type     19 (Prefix-Lengths Extension)

      Length   N, where N is the value (possibly zero) of the Num Addrs
               field in the ICMP Router Advertisement portion of the
               Agent Advertisement.

Top      Up      ToC       Page 24 
      Prefix Length(s)

               The number of leading bits that define the network number
               of the corresponding router address listed in the ICMP
               Router Advertisement portion of the message.  The prefix
               length for each router address is encoded as a separate
               byte, in the order that the router addresses are listed
               in the ICMP Router Advertisement portion of the message.

   See Section 2.4.2 for information about how the Prefix-Lengths
   Extension MAY be used by a mobile node when determining whether it
   has moved.  See Appendix D for implementation details about the use
   of this Extension.

2.1.3.  One-Byte Padding Extension

   Some IP protocol implementations insist upon padding ICMP messages to
   an even number of bytes.  If the ICMP length of an Agent
   Advertisement is odd, this Extension MAY be included in order to make
   the ICMP length even.  Note that this Extension is NOT intended to be
   a general-purpose Extension to be included in order to word- or long-
   align the various fields of the Agent Advertisement.  An Agent
   Advertisement SHOULD NOT include more than one One-byte Padding
   Extension and if present, this Extension SHOULD be the last Extension
   in the Agent Advertisement.

   Note that, unlike other Extensions used in Mobile IP, the One-byte
   Padding Extension is encoded as a single byte, with no Length nor
   Data field present.  The One-byte Padding Extension is defined as
   follows:

        0 1 2 3 4 5 6 7
       +-+-+-+-+-+-+-+-+
       |     Type      |
       +-+-+-+-+-+-+-+-+

   Type 0 (One-byte Padding Extension)

2.2.  Agent Solicitation

   An Agent Solicitation is identical to an ICMP Router Solicitation
   with the further restriction that the IP TTL Field MUST be set to 1.

2.3.  Foreign Agent and Home Agent Considerations

   Any mobility agent that cannot be discovered by a link-layer protocol
   MUST send Agent Advertisements.  An agent that can be discovered by a
   link-layer protocol SHOULD also implement Agent Advertisements.

Top      Up      ToC       Page 25 
   However, the Advertisements need not be sent, except when the site
   policy requires registration with the agent (i.e., when the 'R' bit
   is set), or as a response to a specific Agent Solicitation.  All
   mobility agents MUST process packets that they receive addressed to
   the Mobile-Agents multicast group, at address 224.0.0.11.  A mobile
   node MAY send an Agent Solicitation to 224.0.0.11.  All mobility
   agents SHOULD respond to Agent Solicitations.

   The same procedures, defaults, and constants are used in Agent
   Advertisement messages and Agent Solicitation messages as specified
   for ICMP Router Discovery [5], except that:

   o  a mobility agent MUST limit the rate at which it sends broadcast
      or multicast Agent Advertisements; the maximum rate SHOULD be
      chosen so that the Advertisements do not consume a significant
      amount of network bandwidth, AND

   o  a mobility agent that receives a Router Solicitation MUST NOT
      require that the IP Source Address is the address of a neighbor
      (i.e., an address that matches one of the router's own addresses
      on the arrival interface, under the subnet mask associated with
      that address of the router).

   o  a mobility agent MAY be configured to send Agent Advertisements
      only in response to an Agent Solicitation message.

   If the home network is not a virtual network, then the home agent for
   any mobile node SHOULD be located on the link identified by the
   mobile node's home address, and Agent Advertisement messages sent by
   the home agent on this link MUST have the 'H' bit set.  In this way,
   mobile nodes on their own home network will be able to determine that
   they are indeed at home.  Any Agent Advertisement messages sent by
   the home agent on another link to which it may be attached (if it is
   a mobility agent serving more than one link), MUST NOT have the 'H'
   bit set unless the home agent also serves as a home agent (to other
   mobile nodes) on that other link.  A mobility agent MAY use different
   settings for each of the 'R', 'H', and 'F' bits on different network
   interfaces.

   If the home network is a virtual network, the home network has no
   physical realization external to the home agent itself.  In this
   case, there is no physical network link on which to send Agent
   Advertisement messages advertising the home agent.  Mobile nodes for
   which this is the home network are always treated as being away from
   home.

Top      Up      ToC       Page 26 
   On a particular subnet, either all mobility agents MUST include the
   Prefix-Lengths Extension or all of them MUST NOT include this
   Extension.  Equivalently, it is prohibited for some agents on a given
   subnet to include the Extension but for others not to include it.
   Otherwise, one of the move detection algorithms designed for mobile
   nodes will not function properly (Section 2.4.2).

2.3.1.  Advertised Router Addresses

   The ICMP Router Advertisement portion of the Agent Advertisement MAY
   contain one or more router addresses.  An agent SHOULD only put its
   own addresses, if any, in the advertisement.  Whether or not its own
   address appears in the router addresses, a foreign agent MUST route
   datagrams it receives from registered mobile nodes (Section 3.7).

2.3.2.  Sequence Numbers and Rollover Handling

   The sequence number in Agent Advertisements ranges from 0 to 0xffff.
   After booting, an agent MUST use the number 0 for its first
   advertisement.  Each subsequent advertisement MUST use the sequence
   number one greater, with the exception that the sequence number
   0xffff MUST be followed by sequence number 256.  In this way, mobile
   nodes can distinguish a reduction in the sequence number that occurs
   after a reboot from a reduction that results in rollover of the
   sequence number after it attains the value 0xffff.

2.4.  Mobile Node Considerations

   Every mobile node MUST implement Agent Solicitation.  Solicitations
   SHOULD only be sent in the absence of Agent Advertisements and when a
   care-of address has not been determined through a link-layer protocol
   or other means.  The mobile node uses the same procedures, defaults,
   and constants for Agent Solicitation as specified for ICMP Router
   Solicitation messages [5], except that the mobile node MAY solicit
   more often than once every three seconds, and that a mobile node that
   is currently not connected to any foreign agent MAY solicit more
   times than MAX_SOLICITATIONS.

   The rate at which a mobile node sends solicitations MUST be limited
   by the mobile node.  The mobile node MAY send three initial
   solicitations at a maximum rate of one per second while searching for
   an agent.  After this, the rate at which solicitations are sent MUST
   be reduced so as to limit the overhead on the local link.  Subsequent
   solicitations MUST be sent using a binary exponential backoff
   mechanism, doubling the interval between consecutive solicitations,

Top      Up      ToC       Page 27 
   up to a maximum interval.  The maximum interval SHOULD be chosen
   appropriately based upon the characteristics of the media over which
   the mobile node is soliciting.  This maximum interval SHOULD be at
   least one minute between solicitations.

   While still searching for an agent, the mobile node MUST NOT increase
   the rate at which it sends solicitations unless it has received a
   positive indication that it has moved to a new link.  After
   successfully registering with an agent, the mobile node SHOULD also
   increase the rate at which it will send solicitations when it next
   begins searching for a new agent with which to register.  The
   increased solicitation rate MAY revert to the maximum rate, but then
   MUST be limited in the manner described above.  In all cases, the
   recommended solicitation intervals are nominal values.  Mobile nodes
   MUST randomize their solicitation times around these nominal values
   as specified for ICMP Router Discovery [5].

   Mobile nodes MUST process received Agent Advertisements.  A mobile
   node can distinguish an Agent Advertisement message from other uses
   of the ICMP Router Advertisement message by examining the number of
   advertised addresses and the IP Total Length field.  When the IP
   total length indicates that the ICMP message is longer than needed
   for the number of advertised addresses, the remaining data is
   interpreted as one or more Extensions.  The presence of a Mobility
   Agent Advertisement Extension identifies the advertisement as an
   Agent Advertisement.

   If there is more than one advertised address, the mobile node SHOULD
   pick the first address for its initial registration attempt.  If the
   registration attempt fails with a status code indicating rejection by
   the foreign agent, the mobile node MAY retry the attempt with each
   subsequent advertised address in turn.

   When multiple methods of agent discovery are in use, the mobile node
   SHOULD first attempt registration with agents including Mobility
   Agent Advertisement Extensions in their advertisements, in preference
   to those discovered by other means.  This preference maximizes the
   likelihood that the registration will be recognized, thereby
   minimizing the number of registration attempts.

   A mobile node MUST ignore reserved bits in Agent Advertisements, as
   opposed to discarding such advertisements.  In this way, new bits can
   be defined later, without affecting the ability for mobile nodes to
   use the advertisements even when the newly defined bits are not
   understood.

Top      Up      ToC       Page 28 
2.4.1.  Registration Required

   When the mobile node receives an Agent Advertisement with the 'R' bit
   set, the mobile node SHOULD register through the foreign agent, even
   when the mobile node might be able to acquire its own co-located
   care-of address.  This feature is intended to allow sites to enforce
   visiting policies (such as accounting) that require exchanges of
   authorization.

   If formerly reserved bits require some kind of monitoring/enforcement
   at the foreign link, foreign agents implementing the new
   specification for the formerly reserved bits can set the 'R' bit.
   This has the effect of forcing the mobile node to register through
   the foreign agent, so the foreign agent could then monitor/enforce
   the policy.

2.4.2.  Move Detection

   Two primary mechanisms are provided for mobile nodes to detect when
   they have moved from one subnet to another.  Other mechanisms MAY
   also be used.  When the mobile node detects that it has moved, it
   SHOULD register (Section 3) with a suitable care-of address on the
   new foreign network.  However, the mobile node MUST NOT register more
   frequently than once per second on average, as specified in Section
   3.6.3.

2.4.2.1.  Algorithm 1

   The first method of move detection is based upon the Lifetime field
   within the main body of the ICMP Router Advertisement portion of the
   Agent Advertisement.  A mobile node SHOULD record the Lifetime
   received in any Agent Advertisements, until that Lifetime expires.
   If the mobile node fails to receive another advertisement from the
   same agent within the specified Lifetime, it SHOULD assume that it
   has lost contact with that agent.  If the mobile node has previously
   received an Agent Advertisement from another agent for which the
   Lifetime field has not yet expired, the mobile node MAY immediately
   attempt registration with that other agent.  Otherwise, the mobile
   node SHOULD attempt to discover a new agent with which to register.

2.4.2.2.  Algorithm 2

   The second method uses network prefixes.  The Prefix-Lengths
   Extension MAY be used in some cases by a mobile node to determine
   whether or not a newly received Agent Advertisement was received on
   the same subnet as the mobile node's current care-of address.  If the
   prefixes differ, the mobile node MAY assume that it has moved.  If a
   mobile node is currently using a foreign agent care-of address, the

Top      Up      ToC       Page 29 
   mobile node SHOULD NOT use this method of move detection unless both
   the current agent and the new agent include the Prefix-Lengths
   Extension in their respective Agent Advertisements; if this Extension
   is missing from one or both of the advertisements, this method of
   move detection SHOULD NOT be used.  Similarly, if a mobile node is
   using a co-located care-of address, it SHOULD NOT use this method of
   move detection unless the new agent includes the Prefix-Lengths
   Extension in its Advertisement and the mobile node knows the network
   prefix of its current co-located care-of address.  On the expiration
   of its current registration, if this method indicates that the mobile
   node has moved, rather than re-registering with its current care-of
   address, a mobile node MAY choose instead to register with the
   foreign agent sending the new Advertisement with the different
   network prefix.  The Agent Advertisement on which the new
   registration is based MUST NOT have expired according to its Lifetime
   field.

2.4.3.  Returning Home

   A mobile node can detect that it has returned to its home network
   when it receives an Agent Advertisement from its own home agent.  If
   so, it SHOULD deregister with its home agent (Section 3).  Before
   attempting to deregister, the mobile node SHOULD configure its
   routing table appropriately for its home network (Section 4.2.1).  In
   addition, if the home network is using ARP [16], the mobile node MUST
   follow the procedures described in Section 4.6 with regard to ARP,
   proxy ARP, and gratuitous ARP.

2.4.4.  Sequence Numbers and Rollover Handling

   If a mobile node detects two successive values of the sequence number
   in the Agent Advertisements from the foreign agent with which it is
   registered, the second of which is less than the first and inside the
   range 0 to 255, the mobile node SHOULD register again.  If the second
   value is less than the first but is greater than or equal to 256, the
   mobile node SHOULD assume that the sequence number has rolled over
   past its maximum value (0xffff), and that re-registration is not
   necessary (Section 2.3).

3.  Registration

   Mobile IP registration provides a flexible mechanism for mobile nodes
   to communicate their current reachability information to their home
   agent.  It is the method by which mobile nodes:

   o  request forwarding services when visiting a foreign network,

   o  inform their home agent of their current care-of address,

Top      Up      ToC       Page 30 
   o  renew a registration that is due to expire, and/or

   o  deregister when they return home.

   Registration messages exchange information between a mobile node,
   (optionally) a foreign agent, and the home agent.  Registration
   creates or modifies a mobility binding at the home agent, associating
   the mobile node's home address with its care-of address for the
   specified Lifetime.

   Several other (optional) capabilities are available through the
   registration procedure, which enable a mobile node to:

   o  discover its home address, if the mobile node is not configured
      with this information,

   o  maintain multiple simultaneous registrations, so that a copy of
      each datagram will be tunneled to each active care-of address,

   o  deregister specific care-of addresses while retaining other
      mobility bindings, and

   o  discover the address of a home agent if the mobile node is not
      configured with this information.

3.1.  Registration Overview

   Mobile IP defines two different registration procedures, one via a
   foreign agent that relays the registration to the mobile node's home
   agent, and one directly with the mobile node's home agent.  The
   following rules determine which of these two registration procedures
   to use in any particular circumstance:

   o  If a mobile node is registering a foreign agent care-of address,
      the mobile node MUST register via that foreign agent.

   o  If a mobile node is using a co-located care-of address, and
      receives an Agent Advertisement from a foreign agent on the link
      on which it is using this care-of address, the mobile node SHOULD
      register via that foreign agent (or via another foreign agent on
      this link) if the 'R' bit is set in the received Agent
      Advertisement message.

   o  If a mobile node is otherwise using a co-located care-of address,
      the mobile node MUST register directly with its home agent.

Top      Up      ToC       Page 31 
   o  If a mobile node has returned to its home network and is
      (de)registering with its home agent, the mobile node MUST register
      directly with its home agent.

   Both registration procedures involve the exchange of Registration
   Request and Registration Reply messages (Section 3.3 and Section
   3.4).  When registering via a foreign agent, the registration
   procedure requires the following four messages:

   a.  The mobile node sends a Registration Request to the prospective
       foreign agent to begin the registration process.

   b.  The foreign agent processes the Registration Request and then
       relays it to the home agent.

   c.  The home agent sends a Registration Reply to the foreign agent to
       grant or deny the Request.

   d.  The foreign agent processes the Registration Reply and then
       relays it to the mobile node to inform it of the disposition of
       its Request.

   When the mobile node instead registers directly with its home agent,
   the registration procedure requires only the following two messages:

   a.  The mobile node sends a Registration Request to the home agent.

   b.  The home agent sends a Registration Reply to the mobile node,
       granting or denying the Request.

   The registration messages defined in Sections 3.3 and 3.4 use the
   User Datagram Protocol (UDP) [17].  A nonzero UDP checksum SHOULD be
   included in the header, and MUST be checked by the recipient.  A zero
   UDP checksum SHOULD be accepted by the recipient.  The behavior of
   the mobile node and the home agent with respect to their mutual
   acceptance of packets with zero UDP checksums SHOULD be defined as
   part of the Mobility Security Association that exists between them.

3.2.  Authentication

   Each mobile node, foreign agent, and home agent MUST be able to
   support a Mobility Security Association for mobile entities, indexed
   by their SPI and IP address.  In the case of the mobile node, this
   must be its home address.  See Section 5.1 for requirements for
   support of authentication algorithms.  Registration messages between
   a mobile node and its home agent MUST be authenticated with an
   authorization-enabling extension, e.g., the Mobile-Home
   Authentication Extension (Section 3.5.2).  This extension MUST be the

Top      Up      ToC       Page 32 
   first authentication extension; other foreign-agent-specific
   extensions MAY be added to the message after the mobile node computes
   the authentication.

3.3.  Registration Request

   A mobile node registers with its home agent using a Registration
   Request message so that its home agent can create or modify a
   mobility binding for that mobile node (e.g., with a new Lifetime).
   The Request may be relayed to the home agent by the foreign agent
   through which the mobile node is registering, or it may be sent
   directly to the home agent in the case in which the mobile node is
   registering a co-located care-of address.

   IP fields:

      Source Address

                     Typically the interface address from which the
                     message is sent.

      Destination Address

                     Typically that of the foreign agent or the home
                     agent.

      See Sections 3.6.1.1 and 3.7.2.2 for details.

   UDP fields:

      Source Port       variable

      Destination Port  434

Top      Up      ToC       Page 33 
   The UDP header is followed by the Mobile IP fields shown below:

     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      |S|B|D|M|G|r|T|x|          Lifetime             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Home Address                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           Home Agent                          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        Care-of Address                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                         Identification                        +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Extensions ...
    +-+-+-+-+-+-+-+-

      Type     1 (Registration Request)

      S        Simultaneous bindings.  If the 'S' bit is set, the mobile
               node is requesting that the home agent retain its prior
               mobility bindings, as described in Section 3.6.1.2.

      B        Broadcast datagrams.  If the 'B' bit is set, the mobile
               node requests that the home agent tunnel to it any
               broadcast datagrams that it receives on the home network,
               as described in Section 4.3.

      D        Decapsulation by mobile node.  If the 'D' bit is set, the
               mobile node will itself decapsulate datagrams that are
               sent to the care-of address.  That is, the mobile node is
               using a co-located care-of address.

      M        Minimal encapsulation.  If the 'M' bit is set, the mobile
               node requests that its home agent use minimal
               encapsulation [16] for datagrams tunneled to the mobile
               node.

      G        GRE encapsulation.  If the 'G' bit is set, the mobile
               node requests that its home agent use GRE encapsulation
               [13] for datagrams tunneled to the mobile node.

      r        Sent as zero; ignored on reception.  SHOULD NOT be
               allocated for any other uses.

Top      Up      ToC       Page 34 
      T        Reverse Tunneling requested; see [12].

      x        Sent as zero; ignored on reception.

      Lifetime

               The number of seconds remaining before the registration
               is considered expired.  A value of zero indicates a
               request for deregistration.  A value of 0xffff indicates
               infinity.

      Home Address

               The IP address of the mobile node.

      Home Agent

               The IP address of the mobile node's home agent.

      Care-of Address

               The IP address for the end of the tunnel.

      Identification

               A 64-bit number, constructed by the mobile node, used for
               matching Registration Requests with Registration Replies,
               and for protecting against replay attacks of registration
               messages.  See Sections 5.4 and 5.7.

      Extensions

               The fixed portion of the Registration Request is followed
               by one or more of the Extensions listed in Section 3.5.
               An authorization-enabling extension MUST be included in
               all Registration Requests.  See Sections 3.6.1.3 and
               3.7.2.2 for information on the relative order in which
               different extensions, when present, MUST be placed in a
               Registration Request message.

3.4.  Registration Reply

   A mobility agent typically returns a Registration Reply message to a
   mobile node that has sent a Registration Request message.  If the
   mobile node is requesting service from a foreign agent, that foreign
   agent will typically receive the Reply from the home agent and

Top      Up      ToC       Page 35 
   subsequently relay it to the mobile node.  Reply messages contain the
   necessary codes to inform the mobile node about the status of its
   Request, along with the lifetime granted by the home agent, which MAY
   be smaller than the original Request.

   The foreign agent MUST NOT increase the Lifetime selected by the
   mobile node in the Registration Request, since the Lifetime is
   covered by an authentication extension that enables authorization by
   the home agent.  Such an extension contains authentication data that
   cannot be correctly (re)computed by the foreign agent.  The home
   agent MUST NOT increase the Lifetime selected by the mobile node in
   the Registration Request, since doing so could increase it beyond the
   maximum Registration Lifetime allowed by the foreign agent.  If the
   Lifetime received in the Registration Reply is greater than that in
   the Registration Request, the Lifetime in the Request MUST be used.
   When the Lifetime received in the Registration Reply is less than
   that in the Registration Request, the Lifetime in the Reply MUST be
   used.

   IP fields:

      Source Address

                     Typically copied from the Destination Address of
                     the Registration Request to which the agent is
                     replying.  See Sections 3.7.2.3 and 3.8.3.2 for
                     complete details.

      Destination Address

                     Copied from the source address of the Registration
                     Request to which the agent is replying.

   UDP fields:

      Source Port

                     Copied from the UDP Destination Port of the
                     corresponding Registration Request.

      Destination Port

                     Copied from the source port of the corresponding
                     Registration Request (Section 3.7.1).

Top      Up      ToC       Page 36 
   The UDP header is followed by the Mobile IP fields shown below:

     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      |     Code      |           Lifetime            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Home Address                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           Home Agent                          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                         Identification                        +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Extensions ...
    +-+-+-+-+-+-+-+-

      Type     3 (Registration Reply)

      Code

               A value indicating the result of the Registration
               Request.  See below for a list of currently defined code
               values.

      Lifetime

               If the Code field indicates that the registration was
               accepted, the Lifetime field is set to the number of
               seconds remaining before the registration is considered
               expired.  A value of zero indicates that the mobile node
               has been deregistered.  A value of 0xffff indicates
               infinity.  If the Code field indicates that the
               registration was denied, the contents of the Lifetime
               field are unspecified and MUST be ignored on reception.

      Home Address

               The IP address of the mobile node.

      Home Agent

               The IP address of the mobile node's home agent.

Top      Up      ToC       Page 37 
      Identification

               A 64-bit number used for matching Registration Requests
               with Registration Replies, and for protecting against
               replay attacks of registration messages.  The value is
               based on the Identification field from the Registration
               Request message from the mobile node, and on the style of
               replay protection used in the security context between
               the mobile node and its home agent (defined by the
               Mobility Security Association between them, and SPI value
               in the authorization-enabling extension).  See Sections
               5.4 and 5.7.

      Extensions

               The fixed portion of the Registration Reply is followed
               by one or more of the Extensions listed in Section 3.5.
               An authorization-enabling extension MUST be included in
               all Registration Replies returned by the home agent.  See
               Sections 3.7.2.2 and 3.8.3.3 for rules on placement of
               extensions to Reply messages.

      The following values are defined for use within the Code field.
      Registration successful:

         0 registration accepted
         1 registration accepted, but simultaneous mobility bindings
         unsupported

      Registration denied by the foreign agent:

         64  reason unspecified
         65  administratively prohibited
         66  insufficient resources
         67  mobile node failed authentication
         68  home agent failed authentication
         69  requested Lifetime too long
         70  poorly formed Request
         71  poorly formed Reply
         72  requested encapsulation unavailable
         73  reserved and unavailable
         77  invalid care-of address
         78  registration timeout
         80  home network unreachable (ICMP error received)
         81  home agent host unreachable (ICMP error received)
         82  home agent port unreachable (ICMP error received)
         88  home agent unreachable (other ICMP error received)
         194 Invalid Home Agent Address

Top      Up      ToC       Page 38 
      Registration denied by the home agent:

         128 reason unspecified
         129 administratively prohibited
         130 insufficient resources
         131 mobile node failed authentication
         132 foreign agent failed authentication
         133 registration Identification mismatch
         134 poorly formed Request
         135 too many simultaneous mobility bindings
         136 unknown home agent address

      Up-to-date values of the Code field are specified in the IANA
      online database [48].

3.5.  Registration Extensions

3.5.1.  Computing Authentication Extension Values

   The Authenticator value computed for each authentication Extension
   MUST protect the following fields from the registration message:

   o  the UDP payload (that is, the Registration Request or Registration
      Reply data),

   o  all prior Extensions in their entirety, and

   o  the Type, Length, and SPI of this Extension.

   The default authentication algorithm uses HMAC-MD5 [10] to compute a
   128-bit "message digest" of the registration message.  The data over
   which the HMAC is computed is defined as:

   o  the UDP payload (that is, the Registration Request or Registration
      Reply data),

   o  all prior Extensions in their entirety, and

   o  the Type, Length, and SPI of this Extension.

   Note that the Authenticator field itself and the UDP header are NOT
   included in the computation of the default Authenticator value.  See
   Section 5.1 for information about support requirements for message
   authentication codes, which are to be used with the various
   authentication Extensions.

Top      Up      ToC       Page 39 
   The Security Parameter Index (SPI) within any of the authentication
   Extensions defines the security context that is used to compute the
   Authenticator value and that MUST be used by the receiver to check
   that value.  In particular, the SPI selects the authentication
   algorithm and mode (Section 5.1) and secret (a shared key, or
   appropriate public/private key pair) used in computing the
   Authenticator.  In order to ensure interoperability between different
   implementations of the Mobile IP protocol, an implementation MUST be
   able to associate any SPI value with any authentication algorithm and
   mode that it implements.  In addition, all implementations of Mobile
   IP MUST implement the default authentication algorithm (HMAC-MD5)
   specified above.

3.5.2.  Mobile-Home Authentication Extension

   At least one authorization-enabling extension MUST be present in all
   Registration Requests, and also in all Registration Replies generated
   by the home agent.  The Mobile-Home Authentication Extension is
   always an authorization-enabling extension for registration messages
   specified in this document.  This requirement is intended to
   eliminate problems [30] that result from the uncontrolled propagation
   of remote redirects in the Internet.  The location of the
   authorization-enabling extension marks the end of the data to be
   authenticated by the authorizing agent interpreting that
   authorization-enabling extension.

     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    |         SPI  ....
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ... SPI (cont.)          |       Authenticator ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type     32

      Length   4 plus the number of bytes in the Authenticator.

      SPI      Security Parameter Index (4 bytes).  An opaque identifier
               (see Section 1.6).

      Authenticator

               (variable length) (See Section 3.5.1.)

Top      Up      ToC       Page 40 
3.5.3.  Mobile-Foreign Authentication Extension

   This Extension MAY be included in Registration Requests and Replies
   in cases in which a Mobility Security Association exists between the
   mobile node and the foreign agent.  See Section 5.1 for information
   about support requirements for message authentication codes.

     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    |         SPI  ....
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ... SPI (cont.)          |       Authenticator ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type     33

      Length   4 plus the number of bytes in the Authenticator.

      SPI      Security Parameter Index (4 bytes).  An opaque identifier
               (see Section 1.6).

      Authenticator

               (variable length) (See Section 3.5.1.)

3.5.4.  Foreign-Home Authentication Extension

   This Extension MAY be included in Registration Requests and Replies
   in cases in which a Mobility Security Association exists between the
   foreign agent and the home agent, as long as the Registration Request
   is not a deregistration (i.e., the mobile node requested a nonzero
   Lifetime and the home address is different than the care-of address).
   The Foreign-Home Authentication extension MUST NOT be applied to
   deregistration messages.  See Section 5.1 for information about
   support requirements for message authentication codes.

     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    |         SPI  ....
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ... SPI (cont.)          |       Authenticator ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type     34

      Length   4 plus the number of bytes in the Authenticator.

Top      Up      ToC       Page 41 
      SPI      Security Parameter Index (4 bytes).  An opaque identifier
               (see Section 1.6).

      Authenticator

               (variable length) (See Section 3.5.1).

   In order to perform the authentication, the home agent and the
   foreign agent are configured with a Mobility Security Association
   that is indexed by the SPI (in the appended Foreign-Home
   Authentication Extension) and the IP Source Address of the
   Registration Request.  When the extension is used with a Registration
   Reply message, the foreign agent address MUST be used as the
   Destination IP Address in the IP header.

   When this extension is applied to a Registration Request message, the
   Mobility Security Association for verifying the correctness of the
   authentication data is selected by the home agent based on the value
   of the Source IP Address field of the Registration Request and the
   SPI of the Authentication extension.  The Source IP Address will be
   the same as the Care-of Address field of the Registration Request
   (see Section 3.7.2.2).

   When this extension is applied to a Registration Reply message, the
   Mobility Security Association for verifying the correctness of the
   authentication data is selected by the foreign agent based on the
   value of the home agent Address field of the Registration Reply.

   If the Care-of Address in the Registration Request is not in the
   Agent Advertisement, then the foreign agent MUST NOT append the
   Foreign-Home Authentication Extension when relaying the message to
   the home agent.  Moreover, for a deregistration message (i.e.,
   Lifetime = 0), the foreign agent MUST NOT append the Foreign-Home
   Authentication Extension when relaying the message to the home agent.
   Consequently, when the home agent (HA) receives a deregistration
   request that does not contain a Foreign-Home Authentication
   Extension, it MUST NOT for this reason discard the request as part of
   security association processing.

3.6.  Mobile Node Considerations

   A mobile node MUST be configured (statically or dynamically) with a
   netmask and a Mobility Security Association for each of its home
   agents.  In addition, a mobile node MAY be configured with its home
   address, and the IP address of one or more of its home agents;
   otherwise, the mobile node MAY discover a home agent using the
   procedures described in Section 3.6.1.2.

Top      Up      ToC       Page 42 
   If the mobile node is not configured with a home address, it MAY use
   the Mobile Node Network Access Identifier (NAI) extension [2] to
   identify itself, and set the Home Address field of the Registration
   Request to 0.0.0.0.  In this case, the mobile node MUST be able to
   assign its home address after extracting this information from the
   Registration Reply from the home agent.

   For each pending registration, the mobile node maintains the
   following information:

   o  the link-layer address of the foreign agent to which the
      Registration Request was sent, if applicable,

   o  the IP Destination Address of the Registration Request,

   o  the care-of address used in the registration,

   o  the Identification value sent in the registration,

   o  the originally requested Lifetime, and

   o  the remaining Lifetime of the pending registration.

   A mobile node SHOULD initiate a registration whenever it detects a
   change in its network connectivity.  See Section 2.4.2 for methods by
   which mobile nodes MAY make such a determination.  When it is away
   from home, the mobile node's Registration Request allows its home
   agent to create or modify a mobility binding for it.  When it is at
   home, the mobile node's (de)Registration Request allows its home
   agent to delete any previous mobility binding(s) for it.  A mobile
   node operates without the support of mobility functions when it is at
   home.

   There are other conditions under which the mobile node SHOULD
   (re)register with its foreign agent, such as when the mobile node
   detects that the foreign agent has rebooted (as specified in Section
   2.4.4) and when the current registration's Lifetime is near
   expiration.

   In the absence of link-layer indications of changes in point of
   attachment, Agent Advertisements from new agents SHOULD NOT cause a
   mobile node to attempt a new registration, if its current
   registration has not expired and it is still also receiving Agent
   Advertisements from the foreign agent with which it is currently
   registered.  In the absence of link-layer indications, a mobile node
   MUST NOT attempt to register more often than once per second.

Top      Up      ToC       Page 43 
   A mobile node MAY register with a different agent when transport-
   layer protocols indicate excessive retransmissions.  A mobile node
   MUST NOT consider reception of an ICMP Redirect from a foreign agent
   that is currently providing service to it as reason to register with
   a new foreign agent.  Within these constraints, the mobile node MAY
   register again at any time.

   Appendix C shows some examples of how the fields in registration
   messages would be set up in some typical registration scenarios.

3.6.1.  Sending Registration Requests

   The following sections specify details for the values that the mobile
   node MUST supply in the fields of Registration Request messages.

3.6.1.1.  IP Fields

   This section provides the specific rules by which mobile nodes pick
   values for the IP header fields of a Registration Request.

   IP Source Address:

   o  When registering on a foreign network with a co-located care-of
      address, the IP source address MUST be the care-of address.

   o  Otherwise, if the mobile node does not have a home address, the IP
      source address MUST be 0.0.0.0.

   o  In all other circumstances, the IP source address MUST be the
      mobile node's home address.

   IP Destination Address:

   o  When the mobile node has discovered the agent with which it is
      registering, through some means (e.g., link-layer) that does not
      provide the IP address of the agent (the IP address of the agent
      is unknown to the mobile node), then the "All Mobility Agents"
      multicast address (224.0.0.11) MUST be used.  In this case, the
      mobile node MUST use the agent's link-layer unicast address in
      order to deliver the datagram to the correct agent.

   o  When registering with a foreign agent, the address of the agent as
      learned from the IP source address of the corresponding Agent
      Advertisement MUST be used.  This MAY be an address that does not
      appear as an advertised care-of address in the Agent
      Advertisement.  In addition, when transmitting this Registration

Top      Up      ToC       Page 44 
      Request message, the mobile node MUST use a link-layer Destination
      Address copied from the link-layer source address of the Agent
      Advertisement message in which it learned this foreign agent's IP
      address.

   o  When the mobile node is registering directly with its home agent
      and knows the (unicast) IP address of its home agent, the
      Destination Address MUST be set to this address.

   o  If the mobile node is registering directly with its home agent,
      but does not know the IP address of its home agent, the mobile
      node may use dynamic home agent address resolution to
      automatically determine the IP address of its home agent (Section
      3.6.1.2).  In this case, the IP Destination Address is set to the
      subnet-directed broadcast address of the mobile node's home
      network.  This address MUST NOT be used as the Destination IP
      Address if the mobile node is registering via a foreign agent,
      although it MAY be used as the home agent address in the body of
      the Registration Request when registering via a foreign agent.

   IP Time to Live:

   o  The IP TTL field MUST be set to 1 if the IP Destination Address is
      set to the "All Mobility Agents" multicast address as described
      above.  Otherwise, a suitable value should be chosen in accordance
      with standard IP practice [18].

3.6.1.2.  Registration Request Fields

   This section provides specific rules by which mobile nodes pick
   values for the fields within the fixed portion of a Registration
   Request.

   A mobile node MAY set the 'S' bit in order to request that the home
   agent maintain prior mobility binding(s).  Otherwise, the home agent
   deletes any previous binding(s) and replaces them with the new
   binding specified in the Registration Request.  Multiple simultaneous
   mobility bindings are likely to be useful when a mobile node using at
   least one wireless network interface moves within wireless
   transmission range of more than one foreign agent.  IP explicitly
   allows duplication of datagrams.  When the home agent allows
   simultaneous bindings, it will tunnel a separate copy of each
   arriving datagram to each care-of address, and the mobile node will
   receive multiple copies of datagrams destined to it.

   The mobile node SHOULD set the 'D' bit if it is registering with a
   co-located care-of address.  Otherwise, the 'D' bit MUST NOT be set.

Top      Up      ToC       Page 45 
   A mobile node MAY set the 'B' bit to request its home agent to
   forward to it a copy of broadcast datagrams received by its home
   agent from the home network.  The method used by the home agent to
   forward broadcast datagrams depends on the type of care-of address
   registered by the mobile node, as determined by the 'D' bit in the
   mobile node's Registration Request:

   o  If the 'D' bit is set, then the mobile node has indicated that it
      will decapsulate any datagrams tunneled to this care-of address
      itself (the mobile node is using a co-located care-of address).
      In this case, to forward such a received broadcast datagram to the
      mobile node, the home agent MUST tunnel it to this care-of
      address.  The mobile node detunnels the received datagram in the
      same way as any other datagram tunneled directly to it.

   o  If the 'D' bit is NOT set, then the mobile node has indicated that
      it is using a foreign agent care-of address, and that the foreign
      agent will thus decapsulate arriving datagrams before forwarding
      them to the mobile node.  In this case, to forward such a received
      broadcast datagram to the mobile node, the home agent MUST first
      encapsulate the broadcast datagram in a unicast datagram addressed
      to the mobile node's home address, and then MUST tunnel this
      resulting datagram to the mobile node's care-of address.

      When decapsulated by the foreign agent, the inner datagram will
      thus be a unicast IP datagram addressed to the mobile node,
      identifying to the foreign agent the intended destination of the
      encapsulated broadcast datagram, and will be delivered to the
      mobile node in the same way as any tunneled datagram arriving for
      the mobile node.  The foreign agent MUST NOT decapsulate the
      encapsulated broadcast datagram and MUST NOT use a local network
      broadcast to transmit it to the mobile node.  The mobile node thus
      MUST decapsulate the encapsulated broadcast datagram itself, and
      thus MUST NOT set the 'B' bit in its Registration Request in this
      case unless it is capable of decapsulating datagrams.

   The mobile node MAY request alternative forms of encapsulation by
   setting the 'M' bit and/or the 'G' bit, but only if the mobile node
   is decapsulating its own datagrams (the mobile node is using a
   co-located care-of address) or if its foreign agent has indicated
   support for these forms of encapsulation by setting the corresponding
   bits in the Mobility Agent Advertisement Extension of an Agent
   Advertisement received by the mobile node.  Otherwise, the mobile
   node MUST NOT set these bits.

Top      Up      ToC       Page 46 
   The Lifetime field is chosen as follows:

   o  If the mobile node is registering with a foreign agent, the
      Lifetime SHOULD NOT exceed the value in the Registration Lifetime
      field of the Agent Advertisement message received from the foreign
      agent.  When the method by which the care-of address is learned
      does not include a Lifetime, the default ICMP Router Advertisement
      Lifetime (1800 seconds) MAY be used.

   o  The mobile node MAY ask a home agent to delete a particular
      mobility binding, by sending a Registration Request with the care-
      of address for this binding, with the Lifetime field set to zero
      (Section 3.8.2).

   o  Similarly, a Lifetime of zero is used when the mobile node
      deregisters all care-of addresses, such as upon returning home.

   The Home Address field MUST be set to the mobile node's home address,
   if this information is known.  Otherwise, the Home Address field MUST
   be set to zeroes.

   The Home Agent field MUST be set to the address of the mobile node's
   home agent, if the mobile node knows this address.  Otherwise, the
   mobile node MAY use dynamic home agent address resolution to learn
   the address of its home agent.  In this case, the mobile node MUST
   set the Home Agent field to the subnet-directed broadcast address of
   the mobile node's home network.  Each home agent receiving such a
   Registration Request with a broadcast Destination Address MUST reject
   the mobile node's registration and SHOULD return a rejection
   Registration Reply indicating its unicast IP address for use by the
   mobile node in a future registration attempt.

   The Care-of Address field MUST be set to the value of the particular
   care-of address that the mobile node wishes to (de)register.  In the
   special case in which a mobile node wishes to deregister all care-of
   addresses, it MUST set this field to its home address.

   The mobile node chooses the Identification field in accordance with
   the style of replay protection it uses with its home agent.  This is
   part of the Mobility Security Association the mobile node shares with
   its home agent.  See Section 5.7 for the method by which the mobile
   node computes the Identification field.

3.6.1.3.  Extensions

   This section describes the ordering of any mandatory and any optional
   Extensions that a mobile node appends to a Registration Request.
   This ordering is REQUIRED:

Top      Up      ToC       Page 47 
   a.  The IP header, followed by the UDP header, followed by the fixed-
       length portion of the Registration Request, followed by

   b.  If present, any non-authentication Extensions expected to be used
       by the home agent or other authorizing agent (which may or may
       not also be useful to the foreign agent), followed by

   c.  All authorization-enabling extensions (see Section 1.6), followed
       by

   d.  If present, any non-authentication Extensions used only by the
       foreign agent, followed by

   e.  The Mobile-Foreign Authentication Extension, if present.

   Note that items (a) and (c) MUST appear in every Registration Request
   sent by the mobile node.  Items (b), (d), and (e) are optional.
   However, item (e) MUST be included when the mobile node and the
   foreign agent share a Mobility Security Association.

3.6.2.  Receiving Registration Replies

   Registration Replies will be received by the mobile node in response
   to its Registration Requests.  Registration Replies generally fall
   into three categories:

   o  the registration was accepted,

   o  the registration was denied by the foreign agent, or

   o  the registration was denied by the home agent.

   The remainder of this section describes the Registration Reply
   handling by a mobile node in each of these three categories.

3.6.2.1.  Validity Checks

   Registration Replies with an invalid, non-zero UDP checksum MUST be
   silently discarded.

   In addition, the low-order 32 bits of the Identification field in the
   Registration Reply MUST be compared to the low-order 32 bits of the
   Identification field in the most recent Registration Request sent to
   the replying agent.  If they do not match, the Reply MUST be silently
   discarded.

Top      Up      ToC       Page 48 
   Also, the Registration Reply MUST be checked for presence of an
   authorization-enabling extension.  For all Registration Reply
   messages containing a status code indicating status from the home
   agent, the mobile node MUST check for the presence of an
   authorization-enabling extension, acting in accordance with the Code
   field in the Reply.  The rules are as follows:

   a.  If the mobile node and the foreign agent share a Mobility
       Security Association, exactly one Mobile-Foreign Authentication
       Extension MUST be present in the Registration Reply, and the
       mobile node MUST check the Authenticator value in the Extension.
       If no Mobile-Foreign Authentication Extension is found, or if
       more than one Mobile-Foreign Authentication Extension is found,
       or if the Authenticator is invalid, the mobile node MUST silently
       discard the Reply and SHOULD log the event as a security
       exception.

   b.  If the Code field indicates that service is denied by the home
       agent, or if the Code field indicates that the registration was
       accepted by the home agent, exactly one Mobile-Home
       Authentication Extension MUST be present in the Registration
       Reply, and the mobile node MUST check the Authenticator value in
       the Extension.  If the Registration Reply was generated by the
       home agent but no Mobile-Home Authentication Extension is found,
       or if more than one Mobile-Home Authentication Extension is
       found, or if the Authenticator is invalid, the mobile node MUST
       silently discard the Reply and SHOULD log the event as a security
       exception.

   If the Code field indicates an authentication failure, either at the
   foreign agent or the home agent, then it is quite possible that any
   authenticators in the Registration Reply will also be in error.  This
   could happen, for example, if the shared secret between the mobile
   node and home agent was erroneously configured.  The mobile node
   SHOULD log such errors as security exceptions.

3.6.2.2.  Registration Request Accepted

   If the Code field indicates that the request has been accepted, the
   mobile node SHOULD configure its routing table appropriately for its
   current point of attachment (Section 4.2.1).

   If the mobile node is returning to its home network and that network
   is one that implements ARP, the mobile node MUST follow the
   procedures described in Section 4.6 with regard to ARP, proxy ARP,
   and gratuitous ARP.

Top      Up      ToC       Page 49 
   If the mobile node has registered on a foreign network, it SHOULD
   re-register before the expiration of the Lifetime of its
   registration.  As described in Section 3.6, for each pending
   Registration Request, the mobile node MUST maintain the remaining
   lifetime of this pending registration, as well as the original
   Lifetime from the Registration Request.  When the mobile node
   receives a valid Registration Reply, the mobile node MUST decrease
   its view of the remaining lifetime of the registration by the amount
   by which the home agent decreased the originally requested Lifetime.
   This procedure is equivalent to the mobile node starting a timer for
   the granted Lifetime at the time it sent the Registration Request,
   even though the granted Lifetime is not known to the mobile node
   until the Registration Reply is received.  Since the Registration
   Request is certainly sent before the home agent begins timing the
   registration Lifetime (also based on the granted Lifetime), this
   procedure ensures that the mobile node will re-register before the
   home agent expires and deletes the registration, in spite of possibly
   non-negligible transmission delays for the original Registration
   Request and Reply that started the timing of the Lifetime at the
   mobile node and its home agent.

3.6.2.3.  Registration Request Denied

   If the Code field indicates that service is being denied, the mobile
   node SHOULD log the error.  In certain cases, the mobile node may be
   able to "repair" the error.  These include:

   Code 69: (Denied by foreign agent, requested Lifetime too long)

      In this case, the Lifetime field in the Registration Reply will
      contain the maximum Lifetime value that the foreign agent is
      willing to accept in any Registration Request.  The mobile node
      MAY attempt to register with this same agent, using a Lifetime in
      the Registration Request that MUST be less than or equal to the
      value specified in the Reply.

   Code 133: (Denied by home agent, registration Identification
      mismatch)

      In this case, the Identification field in the Registration Reply
      will contain a value that allows the mobile node to synchronize
      with the home agent, based upon the style of replay protection in
      effect (Section 5.7).  The mobile node MUST adjust the parameters
      it uses to compute the Identification field based upon the
      information in the Registration Reply, before issuing any future
      Registration Requests.

Top      Up      ToC       Page 50 
   Code 136: (Denied by home agent, unknown home agent address)

      This code is returned by a home agent when the mobile node is
      performing dynamic home agent address resolution as described in
      Sections 3.6.1.1 and 3.6.1.2.  In this case, the Home Agent field
      within the Reply will contain the unicast IP address of the home
      agent returning the Reply.  The mobile node MAY then attempt to
      register with this home agent in future Registration Requests.  In
      addition, the mobile node SHOULD adjust the parameters it uses to
      compute the Identification field based upon the corresponding
      field in the Registration Reply, before issuing any future
      Registration Requests.

3.6.3.  Registration Retransmission

   When no Registration Reply has been received within a reasonable
   time, another Registration Request MAY be transmitted.  When
   timestamps are used, a new registration Identification is chosen for
   each retransmission; thus, it counts as a new registration.  When
   nonces are used, the unanswered Request is retransmitted unchanged;
   thus, the retransmission does not count as a new registration
   (Section 5.7).  In this way, a retransmission will not require the
   home agent to resynchronize with the mobile node by issuing another
   nonce in the case in which the original Registration Request (rather
   than its Registration Reply) was lost by the network.

   The maximum time until a new Registration Request is sent SHOULD be
   no greater than the requested Lifetime of the Registration Request.
   The minimum value SHOULD be large enough to account for the size of
   the messages, twice the round-trip time for transmission to the home
   agent, and at least an additional 100 milliseconds to allow for
   processing the messages before responding.  The round-trip time for
   transmission to the home agent will be at least as large as the time
   required to transmit the messages at the link speed of the mobile
   node's current point of attachment.  Some circuits add another 200
   milliseconds of satellite delay in the total round-trip time to the
   home agent.  The minimum time between Registration Requests MUST NOT
   be less than 1 second.  Each successive retransmission timeout period
   SHOULD be at least twice the previous period, as long as that is less
   than the maximum as specified above.



(page 50 continued on part 3)

Next RFC Part