Network Working Group                                   David B. Johnson
INTERNET DRAFT                                Carnegie Mellon University
15 March 1995                                            Charles Perkins
                                                         IBM Corporation
                                                            Andrew Myles
                                                    Macquarie University



                    Route Optimization in Mobile IP

                    draft-ietf-mobileip-optim-01.txt


Abstract

   This document defines extensions to the operation of the basic
   Mobile IP protocol to allow for optimization of datagram routing from
   a correspondent node to a mobile node.  Without Route Optimization,
   all datagrams destined to a mobile node are routed through that
   mobile node's home agent, which then tunnels each datagram to the
   mobile node's current location.  The protocol extensions described
   here provide a means for correspondent nodes that implement them to
   cache the location of a mobile node and to then tunnel their own
   datagrams for the mobile node directly to that location, bypassing
   the possibly lengthy route for each datagram to and from the mobile
   node's home agent.  Extensions are also provided to allow datagrams
   in flight when a mobile node moves, and datagrams sent based on an
   out-of-date cached location, to be forwarded directly to the mobile
   node's new location.


Status of This Memo

   This document is a product of the Mobile IP Working Group of the
   Internet Engineering Task Force (IETF). Comments should be submitted
   to working group mailing list at mobile-ip@tadpole.com.  Distribution
   of this memo is unlimited.

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at
   any time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress".






Johnson, Perkins, Myles        Expires 15 September 1995        [Page i]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   To learn the current status of any Internet-Draft, please check
   the "1id-abstracts.txt" listing contained in the Internet- Drafts
   Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).














































Johnson, Perkins, Myles       Expires 15 September 1995        [Page ii]


Internet Draft       Route Optimization in Mobile IP       15 March 1995




                                Contents



Abstract                                                               i

Status of This Memo                                                    i

 1. Introduction                                                       1

 2. Route Optimization Overview                                        3
     2.1. Location Caching  . . . . . . . . . . . . . . . . . . . .    3
     2.2. Foreign Agent Handoff . . . . . . . . . . . . . . . . . .    3
     2.3. Location Cache Updates  . . . . . . . . . . . . . . . . .    6

 3. Route Optimization Message Formats                                 8
     3.1. Binding Warning Message . . . . . . . . . . . . . . . . .    9
     3.2. Binding Request Message . . . . . . . . . . . . . . . . .   10
     3.3. Binding Update Message  . . . . . . . . . . . . . . . . .   11
     3.4. Binding Acknowledge Message . . . . . . . . . . . . . . .   13

 4. Route Optimization Extension Formats                              14
     4.1. Previous Foreign Agent Notification Extension . . . . . .   15
     4.2. Route Optimization Authentication Extension . . . . . . .   17
     4.3. Registration Key Request Extension  . . . . . . . . . . .   18
     4.4. Mobile Node Registration Key Extension  . . . . . . . . .   19
     4.5. Foreign Agent Registration Key Extension  . . . . . . . .   20
     4.6. Foreign Agent Public Key Extension  . . . . . . . . . . .   21

 5. Mobility Security Association Management                          22
     5.1. Motivation  . . . . . . . . . . . . . . . . . . . . . . .   22
     5.2. Mobility Security Associations  . . . . . . . . . . . . .   23

 6. Location Cache Considerations                                     24
     6.1. Cache Management  . . . . . . . . . . . . . . . . . . . .   24
     6.2. Receiving Binding Warning Messages  . . . . . . . . . . .   24
     6.3. Receiving Binding Update Messages . . . . . . . . . . . .   25
     6.4. Using Special Tunnels . . . . . . . . . . . . . . . . . .   25

 7. Home Agent Considerations                                         26
     7.1. Rate Limiting . . . . . . . . . . . . . . . . . . . . . .   26
     7.2. Receiving Binding Request Messages  . . . . . . . . . . .   26
     7.3. Receiving Registration Key requests . . . . . . . . . . .   27
     7.4. Receiving Special Tunnels . . . . . . . . . . . . . . . .   27





Johnson, Perkins, Myles       Expires 15 September 1995       [Page iii]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


 8. Foreign Agent Considerations                                      28
     8.1. Setting up Temporary Mobility Security Associations . . .   28
     8.2. Previous Foreign Agent Notification . . . . . . . . . . .   29
     8.3. Receiving Tunneled Datagrams  . . . . . . . . . . . . . .   30
     8.4. Sending Special Tunnels . . . . . . . . . . . . . . . . .   30

 9. Mobile Node Considerations                                        31
     9.1. Requesting a Registration Key . . . . . . . . . . . . . .   31
     9.2. Notifying Previous Foreign Agents . . . . . . . . . . . .   31

References                                                            33

Appendix A. Using a Master Key at the Home Agent                      34

Chairs' Addresses                                                     35

Authors' Addresses                                                    36


































Johnson, Perkins, Myles       Expires 15 September 1995        [Page iv]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


1. Introduction

   The basic Mobile IP protocol [3] allows any mobile node to move
   about, changing its point of attachment to the Internet, while
   continuing to be addressed by its home IP address.  Correspondent
   nodes sending IP datagrams to a mobile node address them to the
   mobile node's home address in the same way as to any destination.

   While the mobile node is connected to the Internet away from its
   home network, it is served by a "home agent" on its home network
   and is associated with a "care-of address" indicating its current
   location.  The association between a mobile node's home address and
   its care-of address is known as a "mobility binding".  The care-of
   address is generally the address of a "foreign agent" on the network
   being visited by the mobile node, which forwards arriving datagrams
   locally to the mobile node.  Alternatively, the care-of address may
   be temporarily assigned to the mobile node using DHCP [1] or other
   means.  All IP datagrams addressed to the mobile node are routed by
   the normal IP routing mechanisms to the mobile node's home network,
   where they are intercepted by the mobile node's home agent, which
   then tunnels each datagram to the mobile node's current care-of
   address.  Datagrams sent by a mobile node use the foreign agent as a
   default router but require no other special handling or routing.

   This basic scheme allows transparent interoperation with mobile
   nodes, but forces all datagrams for a mobile node to be routed
   through its home agent; packets to the mobile node are often routed
   along paths that are significantly longer than optimal.  For example,
   if a mobile node, say MN1, is visiting some subnet, even datagrams
   from a correspondent node on this same subnet must be routed through
   the Internet to MN1's home agent on MN1's home network, only to then
   be tunneled back to the original subnet to MN1's foreign agent for
   delivery to MN1.  This indirect routing can significantly delay the
   delivery of the datagram to MN1 and places an unnecessary burden on
   the networks and routers along this path through the Internet.  If
   the correspondent node in this example is actually another mobile
   node, say MN2, then datagrams from MN1 to MN2 must likewise be routed
   through MN2's home agent on MN2's home network and back to the
   original subnet for delivery to MN1.

   This document defines extensions to the basic Mobile IP protocol to
   allow for the optimization of datagram routing from a correspondent
   node to a mobile node.  These extensions provide a means for nodes
   that implement them to cache the care-of address of a mobile node
   and to then tunnel their own datagrams directly there, bypassing the
   possibly lengthy route to and from that mobile node's home agent.
   Extensions are also provided to allow datagrams in flight when a
   mobile node moves, and datagrams sent based on an out-of-date cached



Johnson, Perkins, Myles        Expires 15 September 1995        [Page 1]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   care-of address, to be forwarded directly to the mobile node's new
   care-of address.  These extensions are collectively referred to as
   Route Optimization in this document.

   All operation of Route Optimization that changes the routing of IP
   datagrams to the mobile node is authenticated using the same type of
   authentication mechanism used in the basic Mobile IP protocol.  This
   authentication generally relies on a "mobility security association"
   established in advance between the node sending a message and the
   node receiving the message that must authenticate it.  When the
   required mobility security association has not been established, a
   Mobile IP implementation using Route Optimization operates in the
   same way as the basic Mobile IP protocol.

   Section 2 of this document provides an overview of the operation of
   Route Optimization.  Section 3 defines the message types used by
   Route Optimization, and Section 4 defines the message extensions
   used.  Section 5 discusses the problem of managing the mobility
   security associations needed to provide authentication of all
   messages that affect the routing of datagrams to a mobile node.
   The final four sections of this document define in detail the
   operation of Route Optimization from the point of view of each of the
   entities involved:  considerations for nodes maintaining a location
   cache are presented in Section 6, mobile node considerations in
   Section 9, foreign agent considerations in Section 8, and home agent
   considerations in Section 7.

























Johnson, Perkins, Myles        Expires 15 September 1995        [Page 2]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


2. Route Optimization Overview

2.1. Location Caching

   Route Optimization provides a means for any node that wishes to
   optimize its own communication with mobile nodes to maintain a
   "location cache" containing the mobility binding of one or more
   mobile nodes.  When sending an IP datagram to a mobile node, if the
   sender has a location cache entry for the destination mobile node, it
   may tunnel the datagram directly to the care-of address indicated in
   the cached mobility binding.

   In the absence of any location cache entry, datagrams destined for
   a mobile node will be routed to the mobile node's home network in
   the same way as any other IP datagram, and are then tunneled to the
   mobile node's current care-of address by the mobile node's home
   agent.  This is the only routing mechanism supported by the basic
   Mobile IP protocol.  With Route Optimization, as a side effect of
   this indirect routing of a datagram to a mobile node, the original
   sender of the datagram may be informed of the mobile node's current
   mobility binding, giving the sender an opportunity to cache the
   binding.

   A node may create a location cache entry for a mobile node only when
   it has received and authenticated the mobile node's mobility binding.
   Likewise, a node may update an existing location cache entry for a
   mobile node, such as after the mobile node has moved to a new foreign
   agent, only when it has received and authenticated the mobile node's
   new mobility binding.

   A location cache will, by necessity, have a finite size.  Any node
   implementing a location cache may manage the space in its cache
   using any local cache replacement policy.  If a datagram is sent
   to a destination for which the cache entry has been dropped from
   the cache, the datagram will be routed normally through the mobile
   node's home network and will be tunneled to the mobile node's care-of
   address by its home agent.  This indirect routing to the mobile node
   will result in the original sender of the datagram being informed of
   the mobile node's current mobility binding, allowing it to add this
   entry again to its location cache.


2.2. Foreign Agent Handoff

   When a mobile node moves and registers with a new foreign agent, the
   basic Mobile IP protocol does not notify the mobile node's previous
   foreign agent.  IP datagrams intercepted by the home agent after
   the new registration are tunneled to the mobile node's new care-of



Johnson, Perkins, Myles        Expires 15 September 1995        [Page 3]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   address, but datagrams in flight that had already been intercepted
   by the home agent and tunneled to the old care-of address when the
   mobile node moved are lost and are assumed to be retransmitted by
   higher-level protocols if neeeded.  The old foreign agent eventually
   deletes the mobile node's registration after the expiration of the
   lifetime period established when the mobile node registered there.

   Route Optimization provides a means for the mobile node's previous
   foreign agent to be reliably notified of the mobile node's new
   mobility binding, allowing datagrams in flight to the mobile
   node's previous foreign agent to be forwarded to its new care-of
   address.  This notification also allows any datagrams tunneled to the
   mobile node's previous foreign agent from correspondent nodes with
   out-of-date location cache entries for the mobile node (that have not
   yet learned that the mobile node has moved), to be forwarded to its
   new care-of address.  Finally, this notification allows any resources
   consumed by the mobile node's binding at the previous foreign agent
   (such as radio channel reservations) to be released immediately,
   rather than waiting for the mobile node's registration to expire.

   During registration with a new foreign agent, the mobile node and the
   new foreign agent may establish a "registration key", which acts as a
   session key for this registration.  When a Registration Key Request
   extension is included in the Registration Request message to the
   mobile node's home agent, the home agent may choose a registration
   key and include it in its Registration Reply message.  The home agent
   includes a Mobile Node Registration Key extension, containing a copy
   of the chosen key encrypted under a key and algorithm shared between
   the home agent and the mobile node, and a Foreign Agent Registration
   Key extension, containing a copy of the same key encrypted under
   a key and algorithm shared between the home agent and the foreign
   agent.  In order for the registration key to be established, the
   foreign agent must have a mobility security association with the home
   agent.  This security association may either be preestablished or may
   be established for purposes of this registration through exchange of
   the foreign agent's public encryption key in the Agent Advertisement
   and Registration Request messages.  The registration key for a mobile
   node can be stored by the foreign agent with the mobile node's
   visitor list entry.

   When a mobile node registers with a new foreign agent, if it
   established a registration key during registration with its previous
   foreign agent, it may use this key to notify the previous foreign
   agent that it has moved.  This notification may also optionally
   include the mobile node's new care-of address, allowing the previous
   foreign agent to create a location cache entry for the mobile node to
   serve as a "forwarding pointer" to its new location.  Any tunneled
   datagrams for the mobile node that arrive at this previous foreign



Johnson, Perkins, Myles        Expires 15 September 1995        [Page 4]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   agent after this location cache entry has been created will then be
   re-tunneled by this foreign agent to the mobile node's new location
   using the mobility binding in this location cache entry.  The
   registration key is used to authenticate the notification sent to the
   previous foreign agent.

   As part of the registration procedure, the mobile node may
   request that its new foreign agent attempt to notify its previous
   foreign agent on its behalf, by including a Previous Foreign Agent
   Notification extension in its Registration Request message sent to
   the new foreign agent.  The new foreign agent then builds a Binding
   Update message and transmits it to the mobile node's previous foreign
   agent as part of registration, requesting an acknowledgement from
   the previous foreign agent.  The Previous Foreign Agent Notification
   extension includes only those values needed to construct the Binding
   Update message that are not already contained in the Registration
   Request message.  The authenticator for the Binding Update message is
   computed by the mobile node based on its registration key shared with
   its previous foreign agent.

   The mobile node is responsible for occasionally retransmitting a
   Binding Update message to its previous foreign agent until the
   matching Binding Acknowledge message is received, or until the mobile
   node can be sure of the expiration of its registration with that
   foreign agent.

   The location cache entry created at the mobile node's previous
   foreign agent is treated in the same way as any other location cache
   entry.  In particular, it is possible that this location cache
   entry will be deleted from the cache at any time.  In this case,
   the foreign agent will be unable to re-tunnel subsequently arriving
   tunneled datagrams for the mobile node directly to its new location.
   Suppose a node (for instance, such a previous foreign agent) receives
   a datagram that has been tunneled to this node, but this node is
   unable to deliver the datagram locally to the destination mobile node
   (the node is not the mobile node itself, and it is not a foreign
   agent with a visitor list entry for the mobile node).  To attempt
   delivery of the datagram in this case, the node must encapsulate
   the datagram as a "special tunnel" datagram (Section 8.4), destined
   to the mobile node.  Otherwise, the datagram would eventually reach
   the mobile node's home network, be intercepted by the mobile node's
   home agent, and be tunneled to the mobile node's current care-of
   address.  If the home agent were to tunnel the datagram back to the
   same foreign agent, a loop would be created.







Johnson, Perkins, Myles        Expires 15 September 1995        [Page 5]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


2.3. Location Cache Updates

   When a mobile node's home agent intercepts a datagram from the home
   network and tunnels it to the mobile node, the home agent may deduce
   that the original sender of the datagram has no location cache entry
   for the destination mobile node.  In this case, the home agent MAY
   send a Binding Update message to the sender, informing it of the
   mobile node's current mobility binding.  No acknowledgement for this
   Binding Update message is needed, since additional future datagrams
   from this sender intercepted by the home agent for the mobile node
   will cause transmission of another update.  In order for this Binding
   Update to be authenticated by the sender of the datagram, the home
   agent and the sender must have established a mobility security
   association.

   Similarly, when any node receives a tunneled datagram tunneled
   to this node, if it is not the current foreign agent serving the
   destination as a mobile node the source of the tunneled datagram
   probably has an out-of-date location cache entry for the destination
   mobile node.  In this case, this node MAY send a Binding Warning
   message to the originator of the tunneled datagram.  As above, no
   acknowledgement of this Binding Warning is needed.

   Unlike the Binding Update message, though, no authentication of the
   Binding Warning message is necessary, since it does not directly
   affect the routing of IP datagrams to the mobile node.  Instead, when
   a node receives a Binding Warning message, that node sends a Binding
   Request message to the indicated mobile node's home agent, requesting
   the mobile node's current mobility binding.  The home agent then
   answers this Binding Request message with a Binding Update message,
   and when the Binding Update message is received, the node may then
   create a location cache entry for the mobile node.  In order for this
   node and the home agent to exchange these Binding Request and Binding
   Update messages, they must have established a mobility security
   association.

   Each Binding Update message indicates the maximum lifetime of any
   location cache entry created from the Binding Update.  When sending
   the Binding Update message, the home agent SHOULD set this lifetime
   to the remaining service lifetime associated with the mobile node's
   current registration.  Any location cache entry established or
   updated in response to this Binding Update message must be marked
   to be deleted after the expiration of this period.  A node wanting
   to provide continued service with a particular location cache entry
   may attempt to reconfirm that mobility binding before the expiration
   of this lifetime period.  Location cache entry reconfirmation
   may be appropriate when the node has indications (such as an open
   transport-level connection to the mobile node) that the location



Johnson, Perkins, Myles        Expires 15 September 1995        [Page 6]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   cache entry is still needed.  This reconfirmation is performed by
   the node sending a Binding Request message to the mobile node's home
   agent, requesting it to reply with the mobile node's current mobility
   binding in a new Binding Update message.















































Johnson, Perkins, Myles        Expires 15 September 1995        [Page 7]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


3. Route Optimization Message Formats

   Route Optimization defines four message types used for management
   of location cache entries.  Each of these messages begins with a
   one-octet field indicating the type of the message.

   The following Type codes are defined in this document:

      16 = Binding Warning message
      17 = Binding Request message
      18 = Binding Update message
      19 = Binding Acknowledge message







































Johnson, Perkins, Myles        Expires 15 September 1995        [Page 8]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


3.1. Binding Warning Message

   A Binding Warning message is used to advise a node that it appears
   to have either no location cache entry or an out-of-date location
   cache entry for some mobile node.  When any node receives a datagram
   tunneled to itself, if it is not the current foreign agent for the
   destination mobile node, it MAY send a Binding Warning message to the
   node that originated the tunneled datagram.

    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      |                   Reserved                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Mobile Node Home Address                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         16

      Reserved

         Sent as 0; ignored on reception.

      Mobile Node Home Address

         The home address of the mobile node to which the Binding
         Warning message refers.






















Johnson, Perkins, Myles        Expires 15 September 1995        [Page 9]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


3.2. Binding Request Message

   A Binding Request message is used by a node to request a mobile
   node's current mobility binding from the mobile node's home agent.
   It is sent by a node upon receiving a Binding Warning message, or by
   a node desiring to update the mobility binding in a location cache
   entry that it holds for the mobile node.

    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      |                  Reserved                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Mobile Node Home Address                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                         Identification                        +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         17

      Reserved

         Sent as 0; ignored on reception.

      Mobile Node Home Address

         The home address of the mobile node to which the Binding
         Request refers.

      Identification

         A 64-bit sequence number, assigned by the node sending the
         Binding Request message, used to assist in matching requests
         with replies, and in protecting against replay attacks.













Johnson, Perkins, Myles       Expires 15 September 1995        [Page 10]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


3.3. Binding Update Message

   The Binding Update message is used to notify another node of a mobile
   node's current mobility binding.  It MAY be sent by the mobile node's
   home agent in response to a Binding Request message.  It MAY also
   be sent by a mobile node, or by the foreign agent with which the
   mobile node is registering, when notifying the mobile node's previous
   foreign agent that the mobile node has moved.

    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      |A|I| Reserved  |            Lifetime           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Lifetime                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Mobile Node Home Address                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Care-of Address                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                         Identification                        +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Extensions ...
   +-+-+-+-+-+-+-+-

      Type

         18

      Acknowledge (A)

         The Acknowledge (A) bit is set by the node sending the Binding
         Update message to request a Binding Acknowledge message be
         returned acknowledging its receipt.

      Identification Present (I)

         The (I) bit is set by the node sending the Binding Update
         message to indicate whether or not the Identification field is
         present.

      Reserved

         Sent as 0; ignored on reception.





Johnson, Perkins, Myles       Expires 15 September 1995        [Page 11]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


      Lifetime

         The number of seconds remaining before the location cache entry
         must be considered expired.  A value of all ones indicates
         infinity.  A value of zero indicates that no location cache
         entry for the mobile node should be created, and any existing
         location cache entry (and visitor list entry, in the case of
         a mobile node's previous foreign agent) for the mobile node
         should be deleted.  The lifetime is typically equal to the
         remaining lifetime of the mobile node's registration.

      Mobile Node Home Address

         The home address of the mobile node to which the Binding Update
         message refers.

      Care-of Address

         The current care-of address of the mobile node.  When set equal
         to the home address of the mobile node, the Binding Update
         message instead indicates that no location cache entry for the
         mobile node should be created, and any existing location cache
         entry (and visitor list entry, in the case of a mobile node's
         previous foreign agent) for the mobile node should be deleted.

      Identification

         If present, a 64-bit number, assigned by the node sending the
         Binding Request message, used to assist in matching requests
         with replies, and in protecting against replay attacks.

   The Route Optimization Authentication extension (Section 4.2) is
   required.


















Johnson, Perkins, Myles       Expires 15 September 1995        [Page 12]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


3.4. Binding Acknowledge Message

   A Binding Acknowledge message is used to acknowledge receipt of a
   Binding Update message.  It is sent by a node receiving the Binding
   Update message, if the Acknowledge (A) bit is set in the Binding
   Update message.

    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      |N|               Reserved                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Mobile Node Home Address                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                         Identification                        +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         19

      N

         This bit is set if the acknowledgement is negative.  For
         instance, if the binding update was not accepted, but the
         incoming datagram has the Acknowledge flag set, then the N bit
         is set in this Binding Acknowledge message.

         DISCUSSION: Alternatively, we could replace this bit with a
         status code, as in the Registration Reply message.  The mobile
         node could log the error, but currently has no real way to
         recover from it.

      Reserved

         Sent as 0; ignored on reception.

      Mobile Node Home Address

         Copied from the Binding Update message being acknowledged.

      Identification

         Copied from the Binding Update message being acknowledged, if
         present there.




Johnson, Perkins, Myles       Expires 15 September 1995        [Page 13]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


4. Route Optimization Extension Formats

   Route Optimization defines the following Mobile IP message
   extensions:

       96 = Previous Foreign Agent Notification extension
       97 = Route Optimization Authentication extension
       98 = Registration Key Request extension
       99 = Mobile Node Registration Key extension
      100 = Foreign Agent Registration Key extension
      101 = Foreign Agent Public Key extension








































Johnson, Perkins, Myles       Expires 15 September 1995        [Page 14]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


4.1. Previous Foreign Agent Notification Extension

   The Previous Foreign Agent Notification Extension may be included in
   a Registration Request message sent to a foreign agent.  It requests
   the new foreign agent to send a Binding Update message on behalf of
   the mobile node, to the mobile node's previous foreign agent, to
   notify it that the mobile node has moved.  The previous foreign agent
   deletes the mobile node's visitor list entry and creates a location
   cache entry for the mobile node pointing to its new care-of address.
   The extension contains only those values not otherwise already
   contained in the Registration Request message, which are needed for
   the new foreign agent to construct the Binding Update message.

    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    |         Cache Lifetime        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Previous Foreign Agent Address                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Authenticator ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         96

      Length

         6 plus the length of the Authenticator

      Cache Lifetime

         The number of seconds remaining before the location cache
         entry created by the previous foreign agent must be considered
         expired.  A value of all ones indicates infinity.  A value
         of zero indicates that the previous foreign agent should not
         create a location cache entry for the mobile node once it
         has deleted the mobile node's visitor list entry.  The Cache
         Lifetime value is copied into the Lifetime field of the Binding
         Update message.

      Previous Foreign Agent Address

         The IP address of the mobile node's previous foreign agent
         to which the new foreign agent should send a Binding Update
         message on behalf of the mobile node.




Johnson, Perkins, Myles       Expires 15 September 1995        [Page 15]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


      Authenticator

         The authenticator value to be used in the Route Optimization
         Authentication extension in the Binding Update message sent by
         the new foreign agent to the mobile node's previous foreign
         agent.  This authenticator is calculated only over the Binding
         Update message body.












































Johnson, Perkins, Myles       Expires 15 September 1995        [Page 16]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


4.2. Route Optimization Authentication Extension

   The Route Optimization Authentication Extension is used to
   authenticate certain Route Optimization management messages.

    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    |        Authenticator ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         97

      Length

         The length of the Authenticator

      Authenticator

         (variable length) A hash value taken over a stream of bytes
         including the shared secret, all prior extensions in their
         entirety, the the Route Optimization management data, and
         the type and length of this extension, but not including the
         Authenticator field itself.

























Johnson, Perkins, Myles       Expires 15 September 1995        [Page 17]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


4.3. Registration Key Request Extension

   The Registration Key Request extension may be used on Registration
   Request messages to request a registration key from the mobile
   node's home agent.  The extension is authenticated along with the
   rest of the Registration Request message, and thus no additional
   authenticator is included in the extension.  In response to a
   Registration Key Request extension, the home agent MAY include
   a Mobile Node Registration Key extension and a Foreign Agent
   Registration Key extension in its Registration Reply message,
   containing encrypted copies of the registration key for the mobile
   node the foreign agent.

    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    |  Foreign Agent Public Key ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         98

      Length

         The length of the Foreign Agent Public Key, or 0 if no Foreign
         Agent Public Key is present

      Foreign Agent Public Key

         If the mobile node received a Foreign Agent Public Key
         extension in the foreign agent's Agent Advertisement message,
         this field is present and contains the key advertised in that
         message, if the mobile node chooses to use the key.

   The mobility security association assumed to exist between the home
   agent and the mobile node will be used to encrypt the key unless a
   Key Identification extension is also included with the Registration
   Request message.  The key returned by the home agent will be assumed,
   by default, to be 128 bits long.











Johnson, Perkins, Myles       Expires 15 September 1995        [Page 18]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


4.4. Mobile Node Registration Key Extension

   The Mobile Node Registration Key extension may be used on
   Registration Reply messages to send a registration key from the
   mobile node's home agent to the mobile node.  When used, the home
   agent must also include a Foreign Agent Registration Key extension in
   the Registration Reply message, giving a copy of the same key to the
   mobile node's new foreign agent.  The Mobile Node Registration Key
   extension is authenticated along with the rest of the Registration
   Reply message, and thus no additional authenticator is included in
   the 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    |  Mobile Node Encrypted Key ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         99

      Length

         The length of the Mobile Node Encrypted Key

      Mobile Node Encrypted Key

         (variable length) The registration key, chosen by the home
         agent, encrypted based on the mobility security association
         between the home agent and the mobile node.  The same key must
         be sent, encrypted for the foreign agent in a Foreign Agent
         Registration Key extension in this Registration Reply message.


















Johnson, Perkins, Myles       Expires 15 September 1995        [Page 19]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


4.5. Foreign Agent Registration Key Extension

   The Foreign Agent Registration Key extension may be used on
   Registration Reply messages to send a registration key from
   the mobile node's home agent to the mobile node's new foreign
   agent.  When used, the home agent must also include a Mobile Node
   Registration Key extension in the Registration Reply message,
   giving a copy of the same key to the mobile node.  The Foreign
   Agent Registration Key extension is authenticated by including an
   authenticator in the extension, computed based on the mobility
   security association shared between the home agent and the foreign
   agent.

    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    |  Foreign Agent Encrypted Key ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Authenticator ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         100

      Length

         The length of the Foreign Agent Encrypted Key plus the length
         of the Authenticator

      Foreign Agent Encrypted Key

         (variable length) The registration key, chosen by the home
         agent, encrypted based on the mobility security association
         between the home agent and the foreign agent, if one exists, or
         based on the foreign agent public key from the Registration Key
         Request message.  The same key must be sent, encrypted for the
         mobile node in a Mobile Node Registration Key extension in this
         Registration Reply message.

      Authenticator

         (variable length) A hash value taken over a stream of bytes
         including the shared secret and the fields in this extension
         other than the Authenticator field itself.






Johnson, Perkins, Myles       Expires 15 September 1995        [Page 20]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


4.6. Foreign Agent Public Key Extension

   The Foreign Agent Public Key Extension MAY be included by a foreign
   agent in the Agent Advertisement messages that it sends.  The
   extension advertises the foreign agent's public encryption key, to
   allow mobile nodes to include the key in a Registration Key Request
   extension to their Registration Request message.

    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    |  Foreign Agent Public Key ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type

         101

      Length

         The length of the Foreign Agent Public Key

      Foreign Agent Public Key

         The foreign agent's public encryption key


























Johnson, Perkins, Myles       Expires 15 September 1995        [Page 21]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


5. Mobility Security Association Management

5.1. Motivation

   One of the most difficult aspects of Route Optimization for Mobile IP
   in the Internet today is that of providing authentication for all
   messages that affect the routing of datagrams to a mobile node.
   In the basic Mobile IP protocol, all routing of datagrams to the
   mobile node while away from its home network is controlled by the
   home agent, since only the home agent is aware of the mobile node's
   mobility binding and only the home agent tunnels datagrams to
   the mobile node.  Authentication is achieved based on a manually
   established "mobility security association" between the home agent
   and the mobile node.  Since the home agent and the mobile node are
   both owned by the same organization (both are assigned IP addresses
   within the same IP subnet), this manual configuration is manageable,
   and (for example) can be performed while the mobile node is at home.

   With Route Optimization, though, there is a need in general to
   authenticate messages between two nodes belonging to different
   organizations, making establishment of a mobility security
   association more difficult.  Since no general authentication or key
   distribution protocol is available in the Internet today, the Route
   Optimization procedures defined in this document rely partially on
   the same type of manually configured mobility security associations
   used in the basic Mobile IP protocol.

   For a correspondent node to be able to create a location cache entry
   for a mobile node so that it can tunnel its own IP datagrams directly
   to the mobile node at its current location, the correspondent node
   and the mobile node's home agent must have established a mobility
   security association.  This mobility security association, though,
   may be used in creating and updating location cache entries at
   this correspondent node for all mobile nodes served by this home
   agent.  This places the correspondent node in a fairly natural
   relationship with respect to the mobile nodes served by this home
   agent.  For example, these mobile nodes may represent different
   people affiliated with the organization owning the home agent and
   these mobile nodes, with which the user of this correspondent node
   often collaborates.  In this case, the effort of establishing the
   necessary mobility security association with this home agent may be
   justified.  It is similarly possible for a mobile node to have a
   manually established mobility security association with the foreign
   agents that it commonly uses; when it does, there is no need to
   obtain a registration key from the home agent.

   However, the possibility of obtaining a registration key, as outlined
   in Section 8.1, allows smooth handoffs to occur even in the absence



Johnson, Perkins, Myles       Expires 15 September 1995        [Page 22]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   of mutually assured identification between the mobile node and the
   foreign agent.  This feature depends for its operation on the fact
   that the foreign agent has already agreed to provide service for the
   mobile node; no additional verification of identity is required.  In
   other words, for the purposes of mobility protocols, if an agent acts
   like a foreign agent, then it is a foreign agent.

   In general, if the movement and communication patterns of a mobile
   node or the group of mobile nodes served by the same home agent are
   sufficient to justify establishing a mobility security association
   with the mobile node's home agent, users or network administrators
   are likely to do so.  Establishing a mobility security association
   is not a requirement to using the protocol.  In that case, however,
   the ability of correspondent nodes to use the Mobile IP protocol with
   Route Optimization is severely restricted; datagrams destined for a
   mobile node have to be routed through the mobile node's home agent,
   to be tunneled to the mobile node's current location.


5.2. Mobility Security Associations

   For use with Route Optimization, a mobility security association held
   by a correspondent node or a foreign agent must in general include
   the same parameters as required by the base Mobile IP protocol
   specification [3].


























Johnson, Perkins, Myles       Expires 15 September 1995        [Page 23]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


6. Location Cache Considerations

   Any node may maintain a location cache in order to optimize its
   own communication with mobile nodes.  When sending a datagram, if
   the node has a location cache entry for the destination node, it
   may tunnel the datagram to the mobile node's care-of address using
   the encapsulation techniques described for home agents in the base
   Mobile IP protocol specification [3].

   When a node other than the foreign agent currently serving a mobile
   node receives a datagram for a mobile node, and this datagram has
   been tunneled to that node, the node tunneling the datagram generally
   has an out-of-date binding for the mobile node in its location
   cache.  In such cases, the node receiving the tunneled datagram may
   send a Binding Warning message to the tunneling node, which should
   then request a new binding for the mobile node by sending a Binding
   Request message to the mobile node's home agent.  Similarly, when a
   mobile node's home agent intercepts a datagram on the home network
   and tunnels it to the mobile node, the originating node typically
   has no location cache entry for the destination mobile node.  In
   such cases, the home agent may send a Binding Update message to the
   originator.


6.1. Cache Management

   A node maintaining a location cache may use any reasonable strategy
   for managing the space within the cache.  When a new entry needs to
   be added to the location cache, the node may choose to drop any entry
   already in the cache, if needed, to make space for the new entry.
   For example, a "least-recently used" (LRU) strategy for cache entry
   replacement is likely to work well.

   Each binding in the location cache also has an associated lifetime,
   specified by in the Binding Update message in which the node obtained
   the binding.  After the expiration of this time period, the binding
   MUST be dropped from the cache.


6.2. Receiving Binding Warning Messages

   A node maintaining and using a location cache will receive a Binding
   Warning message if its location cache entry for a datagram it has
   tunneled is out-of-date, as determined by the node which receives the
   tunneled datagram.  The node receiving the Binding Warning message
   then constructs a Binding Request message to obtain a new binding
   from the home agent serving the mobile node.  Included in the Binding
   Request message is a 64-bit identification field, in the same format



Johnson, Perkins, Myles       Expires 15 September 1995        [Page 24]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   described in the base Mobile IP protocol document, for matching the
   request with the returned Binding Update message.  The node should
   silently discard any Binding Update messages that do not correspond
   with its latest Binding Request message for this mobile node.


6.3. Receiving Binding Update Messages

   When a node receives a Binding Update message, it uses the
   authentication technique indicated by the mobility security
   association between itself and the mobile node's home agent.  The
   authentication data is found in the Route Optimization Authentication
   Extension (Section 4.2).  If the authentication succeeds, then a
   location cache entry may be updated for use in future transmissions
   of data to the mobile node.  Otherwise, an authentication exception
   SHOULD be raised.


6.4. Using Special Tunnels

   Whenever any node receives a tunneled datagram for a mobile node,
   for which no location cache entry or visitor list entry is known,
   the node may determine that it has received the tunneled datagram
   in error.  In this case, the node should use a "special tunnel" to
   make sure the datagram arrives at the home agent for the mobile node.
   The home agent will then notify the originator of the tunnel about
   its out-of-date location cache entry, and take steps to deliver the
   datagram to the current care-of address of the mobile node.  As part
   of this service, the home agent must also check to make sure that the
   datagram is not tunneled again to the node originating the special
   tunnel.




















Johnson, Perkins, Myles       Expires 15 September 1995        [Page 25]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


7. Home Agent Considerations

   The home agent will be the frequent source of and Binding Update
   messages sent to correspondent nodes which are communicating with its
   mobile nodes.  Any correspondent node which has no cached bindings
   for a mobile node, will send normal, untunneled datagrams through
   the home agent by the normal routing in the Internet.  When the home
   agent first gets a datagram for a mobile node, it SHOULD also send
   a Binding Update message to the originator of the datagram in hopes
   that the originator will be able to create a location cache entry for
   that mobile node.  Then, future transmissions for the mobile node
   will not necessarily involve the home agent.

   As time goes on, more and more Internet nodes will be able to
   maintain location caches, and it is hoped that home agents will need
   to be involved only rarely with routing datagrams to mobile nodes.
   This might usually happen only when correspondent nodes first try to
   initiate a session from a mobile node which has not been in contact
   with the correspondent node for a long period of time.


7.1. Rate Limiting

   A home agent must provide some mechanism to limit the rate at which
   it sends Binding Update messages to to the same node about any given
   mobility binding, after tunneling a datagram intercepted on the home
   network.  This is especially true because it is expected that most
   Internet nodes will not be equipped with location caches for a long
   time, and continual transmissions of Binding Warning messages to such
   nodes will only exacerbate the problem of the traffic bottleneck at
   the home agent.


7.2. Receiving Binding Request Messages

   When the home agent receives a Binding Request message, it consults
   its home list and determines the correct binding information to be
   sent to the requesting node.  Before satisfying the request, the
   home agent must check whether or not the mobile node has allowed the
   information to be disseminated.  If the mobile node specified the 'P'
   bit in its Registration Request, then the home agent must not satisfy
   any binding Requests.  Nevertheless, the home agent can return an
   empty Binding Update, with a zero care-of address and zero lifetime,
   so that the correspondent node will not go to the trouble of trying
   to obtain a binding.  This situation can never arise by the action of
   any correctly operating node maintaining a location cache, but it is
   still possible that an intelligent correspondent node might try to
   obtain bindings for mobile nodes.



Johnson, Perkins, Myles       Expires 15 September 1995        [Page 26]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


7.3. Receiving Registration Key requests

   When the home agent receives a Registration Request message, it may
   also be asked to compute registration keys for use with foreign
   agent handoffs (Section 2.2).  In that event, the home agent employs
   a good algorithm for producing random keys [2] and encrypts the
   result separately for use by the foreign agent and by the mobile
   node.  The chosen key is encrypted under a key and algorithm shared
   between the home agent and the mobile node, and the encrypted key
   is placed in a Mobile Node Registration Key extension (Section 4.4)
   in the Registration Reply message.  The same key also is encrypted
   under a key and algorithm shared between the home agent and the
   foreign agent, and the encrypted key is placed in a Foreign Agent
   Registration Key extension (Section 4.5) in the Registration Reply
   message.  By default, the home agent uses its mobility security
   association for the mobile node and for the foreign agent to encrypt
   the registration key.  If the home agent has no preestablished
   mobility security association with the foreign agent and the
   Registration Key Request extension contained a public key from the
   foreign agent, the home agent may instead use this key to encrypt the
   registration key for the foreign agent.


7.4. Receiving Special Tunnels

   The home agent can also receive tunneled datagrams destined for the
   mobile node.  If the tunnel source is the same as the foreign agent
   shown in the home list entry for the mobile node, then the home
   agent MUST NOT send the datagram back to that same foreign agent.
   Otherwise, the home agent can tunnel the tunneled datagram to the
   current foreign agent, encapsulating the incoming tunneled datagram
   in its entirety.

   The home agent also, in this case, takes responsibility for sending
   information to the originator of the datagram (whose source address
   will be in the inner datagram header inside the encapsulation),
   to allow that originator to update its location cache entry for
   the target mobile node.  If the home agent has a mobility security
   association with the correspondent node which originated the
   datagram, an authenticated Binding Update message can be sent
   directly.










Johnson, Perkins, Myles       Expires 15 September 1995        [Page 27]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


8. Foreign Agent Considerations

   In addition to managing the resources needed to handle basic
   Mobile IP registrations, the foreign agent assisting with Route
   Optimization assumes two additional responsibilities.  The first
   is the maintenance of a location cache for forwarding datagrams to
   mobile nodes as they switch connections to new foreign agents.  The
   second is a slight modification of the registration procedure, to
   allow for timely notification possible for previous foreign agents.


8.1. Setting up Temporary Mobility Security Associations

   As part of the registration procedure, a mobile node and foreign
   agent can agree on a registration key.  This registration key is, as
   described in Section 7.3, computed by the mobile node's home agent
   and transmitted back to the foreign agent along with the Registration
   Reply message.  Within this document, the registration key is used
   only for authentication of a single Binding Update message; other
   uses for the registration key are possible, but are outside the scope
   of this discussion.  For instance, the foreign agent and mobile node
   may negotiate to use the registration key to provide confidentiality
   along the wireless link connecting them.  If a foreign agent is
   unable to process a registration request because the mobile node also
   expects a registration key, the foreign agent returns the appropriate
   status code immediately in a Registration Reply message.

   DISCUSSION: Alternatively, we could add a bit to the Agent
   Advertisement message.

   The actual request for the registration key is made by the mobile
   node (Section 2.2).  Since the foreign agent and the home agent
   may have no mobility security association, the home agent cannot
   be assured of the identity of the foreign agent.  This does not
   matter, however, for the production of the registration key.  When
   the foreign agent receives the registration reply, with both foreign
   agent registration key extensions, it strips off the extension
   containing its own registration key, and relays the rest to the
   mobile node.

   This registration key can be trusted for the purposes outlined, even
   though the mobile node and the foreign agent cannot be expected to
   always authenticate each other's identity.  They can, however, expect
   each other to follow the operational procedures comprising the Route
   Optimization protocols.  Any further use made of the registration key
   must take into account the fact that the nodes involved have not yet
   mutually identified each other in a trustworthy fashion; they have




Johnson, Perkins, Myles       Expires 15 September 1995        [Page 28]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   only agreed that the foreign agent will provide certain desirable
   services to the mobile node.


8.2. Previous Foreign Agent Notification

   When a mobile node registers with a new foreign agent, it may request
   that the new foreign agent send a Binding Update message to its
   previous foreign agent.  This Binding Update must be authenticated,
   using the Route Optimization Authentication extension (Section 4.2),
   as must all Binding Updates.  The Acknowledge bit in this Binding
   Update message must be set.

   When the previous foreign agent receives the Binding Update, it will
   use the mobility security association set up with the mobile node
   during its previous registration to authenticate the message.  If
   the message authentication is correct, the old visitor list entry
   will be deleted and a Binding Acknowledge message returned to the
   sender.  In addition, if a new care-of address was included with the
   new binding, a location cache entry will be created for it, and the
   previous foreign agent can tunnel datagrams to the mobile node's
   current care-of address using that location cache, just as any node
   maintaining a location cache.

   In particular, the previous foreign agent can tunnel the Binding
   Acknowledge message back to the new care-of address specified in
   the received binding.  This creates an interesting problem for the
   new foreign agent when it receives the acknowledgment before the
   registration reply from the home agent.  It is suggested that the new
   foreign agent deliver the acknowledgment to the mobile node anyway,
   even though the mobile node is technically unregistered.  If there
   is concern that this provides a loophole for unauthorized traffic
   to the mobile node, the new foreign agent could limit the number of
   datagrams delivered to the unregistered mobile node to this single
   instance.  Alternatively, a new extension to the Registration Reply
   message can be defined to carry along the acknowledgement from the
   previous foreign agent.  This latter approach would have the benefit
   that fewer datagrams would be transmitted over bandwidth-constrained
   wireless media during registrations.

   The lifetime associated with the location cache, in this situation,
   can be substantially shorter than other location caches for several
   reasons.  First, the home agent is presumably tunneling datagrams to
   the new foreign agent; second, any active correspondent node will
   probably get a new location cache entry for the mobile node after
   receiving the Binding Warning message from the previous foreign
   agent.  Lastly, even if the location cache entry expires prematurely,




Johnson, Perkins, Myles       Expires 15 September 1995        [Page 29]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   the previous foreign agent can special tunnel any straggling
   datagrams back to the home agent for further delivery.


8.3. Receiving Tunneled Datagrams

   If the mobile node's current foreign agent receives a tunneled
   datagram for the mobile node, it can be assumed that the tunneled
   datagram was originated by a node maintaining a location cache.
   There may be pathological or special cases where this assumption is
   false, but one would almost have to intentionally run custom code
   to invalidate the assumption.  Since the foreign agent currently
   serving a mobile node can assume that the sending node forwarded the
   datagram based on correct location cache information, the foreign
   agent can also assume that the sending cache agent has already issued
   notification to the source of the original datagram.  Thus, the
   current foreign agent never needs to send a Binding Warning message
   to the node which last tunneled the datagram.

   On the other hand, a foreign agent which is tunneling received
   datagrams on behalf of a mobile node not in its visitor list should,
   just as any other node implementing Route Optimization, send Binding
   Warning messages to the originator of these datagrams.  If the
   datagrams it receives are not tunneled, the foreign agent should
   limit the rate at which it sends Binding Warning messages to the
   originators, since those originators may be unable to interpret such
   notifications.  It is expected that reception of such un-tunneled
   datagrams by any foreign agent will be rare.


8.4. Sending Special Tunnels

   If a foreign agent receives a tunneled datagram for a mobile node
   which is unknown, then the foreign agent can tunnel the datagram back
   to the home agent.  This requires special care at the home agent.
   The foreign agent must use the mobile node's address as the tunnel
   destination, and its own address as the tunnel source.  The home
   agent will then capture the special tunneled datagram and re-tunnel
   it to the mobile node via its current foreign agent.  The foreign
   agent sending the special tunnel should not notify the originator of
   the datagram about its out-of-date binding, as this will be done by
   the home agent which receives the special tunnel datagram.









Johnson, Perkins, Myles       Expires 15 September 1995        [Page 30]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


9. Mobile Node Considerations

9.1. Requesting a Registration Key

   When a mobile node makes a registration request, it can request a
   registration key to be shared between itself and the prospective
   foreign agent.  The key will be used to authenticate a future
   disconnection notice from the mobile node, when the mobile node
   has moved to a new cell.  The mobile node allows the home agent to
   pick the registration key, because it is expected that the mobile
   node is less likely to have good means for computing pseudo-random
   numbers [2].  The registration key will be returned in an extension
   to the expected registration reply, and the foreign agent can use
   it to compute a "mobile-foreign" authentication extension to the
   registration reply.  If this is done, the mobile node will have
   complete confidence that it does in fact share a secret registration
   key.  If not, the mobile node can still act on the supposition that
   the key has been correctly received by the foreign agent, but the
   delivery of the key to the foreign agent can be compromised by an
   active attack which modifies some of the bits of the extension which
   the home agent uses to deliver the key to the foreign agent.  In the
   latter case, the foreign agent does not have a good way to detect the
   corruption.  Since the problem will only show up by possibly causing
   some datagrams to be lost after some unpredictably distant future
   movement by the mobile node, it is not absolutely required to test
   the validity of the registration key.

   If the mobile node detects that the foreign agent has a corrupted
   registration key, it can re-register immediately.


9.2. Notifying Previous Foreign Agents

   If the mobile node wishes to instruct its prospective foreign agent
   to send a Binding Update message to the mobile node's previous
   foreign agent, it uses the appropriate extension (see 4.1) to the
   Registration Request message.  This usually results in quicker
   establishment of a location cache entry at the previous foreign
   agent, because the previous foreign agent is likely to be much closer
   to the new foreign agent than the home agent is.

   Since the prospective new foreign agent does not have access to
   the registration key which was established between the mobile node
   and its previous foreign agent, the mobile node has to compute
   the appropriate authentication value for use by the prospective
   foreign agent.  This authentication is computed over the fields of
   the expected Binding Update message, with the 'I' bit set and no
   identification present.  Reply protection is considered unnecessary



Johnson, Perkins, Myles       Expires 15 September 1995        [Page 31]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


   since the binding update is expected to be sent only once with the
   registration key.

   When the acknowledgment arrives, the new foreign agent detunnels
   it and sends it to the mobile node.  In this way, the mobile node
   can still discover that its previous foreign agent has updated
   its visitor list and location cache.  This is important, because
   otherwise the previous foreign agent would often become a "black
   hole" for datagrams destined for the mobile node.  The new foreign
   agent has no further responsibility for helping to update the
   location cache at the previous foreign agent.

   The mobile node expects to eventually receive an acknowledgement
   from its previous foreign agent, signifying that the mobile node's
   entry has been erased from its visitor list.  If the acknowledgement
   has not been received after sufficient time, the mobile node is
   responsible for retransmitting another Binding Update message to
   its previous foreign agent.  Although the previous foreign agent
   may have already deleted the registration key from its records, the
   mobile node should continue to retransmit its Binding Update message
   until the previous foreign agent responds with either a positive or
   negative acknowledgment.

   Since the mobile node is responsible for fielding the acknowledgement
   from its previous foreign agent, there is no need to add any status
   code or bit to the Registration Reply from its prospective new
   foreign agent
























Johnson, Perkins, Myles       Expires 15 September 1995        [Page 32]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


References

   [1] Ralph Droms.  Dynamic Host Configuration Protocol.  RFC 1541,
       October 1993.

   [2] Donald E. Eastlake 3rd, Stephen D. Crocker, and Jeffrey I.
       Schiller.  Randomness recommendations for security.  RFC 1750,
       December 1994.

   [3] Charles Perkins, editor.  IP mobility support.  Internet Draft,
       draft-ietf-mobileip-protocol-08.txt, January 1995.  Work in
       progress.







































Johnson, Perkins, Myles       Expires 15 September 1995        [Page 33]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


Appendix A. Using a Master Key at the Home Agent

   Rather than storing each mobility security association that it has
   established with many different correspondent nodes and foreign
   agents, a home agent may manage its mobility security associations so
   that each of them can be generated from a single "master" key.  With
   the master key, the home agent could build a key for any given other
   node by computing the node-specific key as

      MD5(node-address || master-key || node-address)

   where node-address is the IP address of the particular node for which
   the home agent is building a key, and master-key is the single master
   key held by the home agent for all mobility security associations it
   has established with correspondent nodes.  The node-specific key is
   built by computing an MD5 hash over a string consisting of the master
   key with the node-address concatenated as a prefix and as a suffix.

   Using this scheme, when establishing each mobility security
   association, the network administrator managing the home agent
   computes the node-specific key and communicates this key to the
   network administrator of the other node through some "secure"
   channel, such as over the telephone.  The mobility security
   association is configured at this other node in the same way as any
   mobility security association.  At the home agent, though, no record
   need be kept that this key has been given out.  The home agent need
   only be configured to know that this scheme is in use for all of its
   mobility security associations.

   When the home agent then needs a mobility security association as
   part of the Route Optimization protocol, it builds the node-specific
   key based on the master key and the IP address of the other node with
   which it is attempting to authenticate.  If the other node knows
   the correct node-specific key, the authentication will succeed;
   otherwise, it will fail as it should.
















Johnson, Perkins, Myles       Expires 15 September 1995        [Page 34]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


Chairs' Addresses

   The working group can be contacted via the current chairs:

      Tony Li
      cisco Systems
      170 W. Tasman Dr.
      San Jose CA 95134

      Phone:  +1-408-526-8186
      E-mail: tli@cisco.com



      Jim Solomon
      Motorola, Inc.

      Phone:  +1-708-576-2753
      E-mail: solomon@comm.mot.com
































Johnson, Perkins, Myles       Expires 15 September 1995        [Page 35]


Internet Draft       Route Optimization in Mobile IP       15 March 1995


Authors' Addresses

   Questions about this document can also be directed to the authors:

      David B. Johnson
      Computer Science Department
      Carnegie Mellon University
      5000 Forbes Avenue
      Pittsburgh, PA  15213-3891

      Phone:  +1-412-268-7399
      Fax:    +1-412-268-5576
      E-mail: dbj@cs.cmu.edu



      Charles Perkins
      Room J1-A25
      T. J. Watson Research Center
      IBM Corporation
      30 Saw Mill River Rd.
      Hawthorne, NY  10532

      Phone:  +1-914-784-7350
      Fax:    +1-914-784-7007
      E-mail: perk@watson.ibm.com



      Andrew Myles
      Electronics Department
      Macquarie University 2109
      Sydney, Australia

      Phone:  +61-2-8059071
      Fax:    +61-2-8059128
      E-mail: andrewm@mpce.mq.edu.au














Johnson, Perkins, Myles       Expires 15 September 1995        [Page 36]