home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-mobileip-optim-05.txt < prev    next >
Text File  |  1996-11-27  |  104KB  |  2,913 lines

  1.  
  2. Mobile IP Working Group                                 David B. Johnson
  3. INTERNET-DRAFT                                Carnegie Mellon University
  4. 26 November 1996                                         Charles Perkins
  5.                                                          IBM Corporation
  6.  
  7.  
  8.  
  9.                     Route Optimization in Mobile IP
  10.  
  11.                     draft-ietf-mobileip-optim-05.txt
  12.  
  13.  
  14. Status of This Memo
  15.  
  16.    This document is a product of the Mobile IP Working Group of the
  17.    Internet Engineering Task Force (IETF).  Comments should be submitted
  18.    to working group mailing list at mobile-ip@SmallWorks.COM.
  19.  
  20.    The Route Optimization protocol extensions for Mobile IP for IPv4
  21.    are actively being worked on within the Mobile IP Working Group,
  22.    although recent emphasis has been on the design and specification of
  23.    Mobile IP for IPv6.  This document represents the current state of
  24.    the Mobile IPv4 Route Optimization extensions, although the design
  25.    of Route Optimization is currently being revised to more closely
  26.    follow the design of Mobile IPv6 that has evolved.  This document
  27.    will be revised and resubmitted once those revisions are more further
  28.    developed.
  29.  
  30.    Distribution of this document is unlimited.
  31.  
  32.    This document is an Internet-Draft.  Internet-Drafts are working
  33.    documents of the Internet Engineering Task Force (IETF), its areas,
  34.    and its working groups.  Note that other groups may also distribute
  35.    working documents as Internet-Drafts.
  36.  
  37.    Internet-Drafts are draft documents valid for a maximum of six months
  38.    and may be updated, replaced, or obsoleted by other documents at
  39.    any time.  It is inappropriate to use Internet-Drafts as reference
  40.    material or to cite them other than as "work in progress."
  41.  
  42.    To learn the current status of any Internet-Draft, please check
  43.    the "1id-abstracts.txt" listing contained in the Internet-Drafts
  44.    Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  45.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  46.    ftp.isi.edu (US West Coast).
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. Johnson and Perkins             Expires 26 May 1996             [Page i]
  57.  
  58. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  59.  
  60.  
  61. Abstract
  62.  
  63.    This document defines extensions to the operation of the base
  64.    Mobile IP protocol to allow for optimization of datagram routing from
  65.    a correspondent node to a mobile node.  Without Route Optimization,
  66.    all datagrams destined to a mobile node are routed through that
  67.    mobile node's home agent, which then tunnels each datagram to the
  68.    mobile node's current location.  The protocol extensions described
  69.    here provide a means for correspondent nodes that implement them
  70.    to cache the binding of a mobile node and to then tunnel their own
  71.    datagrams for the mobile node directly to that location, bypassing
  72.    the possibly lengthy route for each datagram to and from the mobile
  73.    node's home agent.  Extensions are also provided to allow datagrams
  74.    in flight when a mobile node moves, and datagrams sent based on an
  75.    out-of-date cached binding, to be forwarded directly to the mobile
  76.    node's new binding.
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112. Johnson and Perkins            Expires 26 May 1996             [Page ii]
  113.  
  114. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  115.  
  116.  
  117.  
  118.  
  119.                                 Contents
  120.  
  121.  
  122.  
  123. Status of This Memo                                                    i
  124.  
  125. Abstract                                                              ii
  126.  
  127.  1. Introduction                                                       1
  128.  
  129.  2. Terminology                                                        3
  130.  
  131.  3. Route Optimization Overview                                        4
  132.      3.1. Binding Caching . . . . . . . . . . . . . . . . . . . . .    4
  133.      3.2. Foreign Agent Handoff . . . . . . . . . . . . . . . . . .    4
  134.      3.3. Binding Cache Updates . . . . . . . . . . . . . . . . . .    7
  135.  
  136.  4. Route Optimization Message Formats                                 9
  137.      4.1. Binding Warning Message . . . . . . . . . . . . . . . . .   10
  138.      4.2. Binding Request Message . . . . . . . . . . . . . . . . .   11
  139.      4.3. Binding Update Message  . . . . . . . . . . . . . . . . .   12
  140.      4.4. Binding Acknowledge Message . . . . . . . . . . . . . . .   14
  141.      4.5. Registration Request Message  . . . . . . . . . . . . . .   16
  142.  
  143.  5. Route Optimization Extension Formats                              17
  144.      5.1. Previous Foreign Agent Notification Extension . . . . . .   18
  145.      5.2. Route Optimization Authentication Extension . . . . . . .   20
  146.      5.3. Registration Key Request Extension  . . . . . . . . . . .   21
  147.      5.4. Home-Mobile Registration Key Reply Extension  . . . . . .   22
  148.      5.5. Home-Foreign Registration Key Reply Extension . . . . . .   23
  149.      5.6. Diffie-Hellman Registration Key Request Extension . . . .   24
  150.      5.7. Diffie-Hellman Registration Key Reply Extension . . . . .   26
  151.      5.8. Mobile Service Extension  . . . . . . . . . . . . . . . .   27
  152.  
  153.  6. Mobility Security Association Management                          28
  154.  
  155.  7. Methods of Establishing a Registration Key                        30
  156.      7.1. Using the Home Agent as a Key Distribution Center . . . .   30
  157.      7.2. Using Diffie-Hellman with the Foreign Agent . . . . . . .   30
  158.      7.3. Using a Mobile Node Public Key  . . . . . . . . . . . . .   32
  159.      7.4. Using a Foreign Agent Public Key  . . . . . . . . . . . .   32
  160.  
  161.  8. Binding Cache Considerations                                      34
  162.      8.1. Cache Management  . . . . . . . . . . . . . . . . . . . .   34
  163.      8.2. Receiving Binding Update Messages . . . . . . . . . . . .   34
  164.      8.3. Using Special Tunnels . . . . . . . . . . . . . . . . . .   35
  165.  
  166.  
  167.  
  168. Johnson and Perkins            Expires 26 May 1996            [Page iii]
  169.  
  170. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  171.  
  172.  
  173.  9. Home Agent Considerations                                         36
  174.      9.1. Rate Limiting . . . . . . . . . . . . . . . . . . . . . .   36
  175.      9.2. Receiving Binding Warning Messages  . . . . . . . . . . .   36
  176.      9.3. Receiving Binding Request Messages  . . . . . . . . . . .   37
  177.      9.4. Receiving Registration Key Requests . . . . . . . . . . .   37
  178.      9.5. Receiving Special Tunnels . . . . . . . . . . . . . . . .   38
  179.  
  180. 10. Foreign Agent Considerations                                      39
  181.     10.1. Establishing a Registration Key . . . . . . . . . . . . .   39
  182.     10.2. Previous Foreign Agent Notification . . . . . . . . . . .   40
  183.     10.3. Receiving Tunneled Datagrams  . . . . . . . . . . . . . .   41
  184.     10.4. Rate Limiting . . . . . . . . . . . . . . . . . . . . . .   42
  185.     10.5. Sending Special Tunnels . . . . . . . . . . . . . . . . .   42
  186.  
  187. 11. Mobile Node Considerations                                        43
  188.     11.1. Establishing a Registration Key . . . . . . . . . . . . .   43
  189.     11.2. Notifying Previous Foreign Agents . . . . . . . . . . . .   43
  190.  
  191. References                                                            45
  192.  
  193. Appendix A. Using a Master Key at the Home Agent                      46
  194.  
  195. Chairs' Addresses                                                     47
  196.  
  197. Authors' Addresses                                                    48
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224. Johnson and Perkins            Expires 26 May 1996             [Page iv]
  225.  
  226. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  227.  
  228.  
  229. 1. Introduction
  230.  
  231.    The base Mobile IP protocol [7] allows any mobile node to move about,
  232.    changing its point of attachment to the Internet, while continuing
  233.    to be addressed by its home IP address.  Correspondent nodes sending
  234.    IP datagrams to a mobile node address them to the mobile node's home
  235.    address in the same way as to any destination.
  236.  
  237.    While the mobile node is connected to the Internet away from its
  238.    home network, it is served by a "home agent" on its home network
  239.    and is associated with a "care-of address" indicating its current
  240.    location.  The association between a mobile node's home address and
  241.    its care-of address is known as a "mobility binding".  The care-of
  242.    address is generally the address of a "foreign agent" on the network
  243.    being visited by the mobile node, which forwards arriving datagrams
  244.    locally to the mobile node.  Alternatively, the care-of address may
  245.    be temporarily assigned to the mobile node using DHCP [3] or other
  246.    means.  All IP datagrams addressed to the mobile node are routed by
  247.    the normal IP routing mechanisms to the mobile node's home network,
  248.    where they are intercepted by the mobile node's home agent, which
  249.    then tunnels each datagram to the mobile node's current care-of
  250.    address.  Datagrams sent by a mobile node use the foreign agent as a
  251.    default router but require no other special handling or routing.
  252.  
  253.    This scheme allows transparent interoperation with mobile nodes,
  254.    but forces all datagrams for a mobile node to be routed through its
  255.    home agent; datagrams to the mobile node are often routed along
  256.    paths that are significantly longer than optimal.  For example, if a
  257.    mobile node, say MN1, is visiting some subnet, even datagrams from
  258.    a correspondent node on this same subnet must be routed through the
  259.    Internet to MN1's home agent on MN1's home network, only to then
  260.    be tunneled back to the original subnet to MN1's foreign agent for
  261.    delivery to MN1.  This indirect routing can significantly delay the
  262.    delivery of the datagram to MN1 and places an unnecessary burden on
  263.    the networks and routers along this path through the Internet.  If
  264.    the correspondent node in this example is actually another mobile
  265.    node, say MN2, then datagrams from MN1 to MN2 must likewise be routed
  266.    through MN2's home agent on MN2's home network and back to the
  267.    original subnet for delivery to MN1.
  268.  
  269.    This document defines extensions to the base Mobile IP protocol to
  270.    allow for the optimization of datagram routing from a correspondent
  271.    node to a mobile node.  These extensions provide a means for nodes
  272.    that implement them to cache the binding of a mobile node and to then
  273.    tunnel their own datagrams directly to the care-of address indicated
  274.    in that binding, bypassing the possibly lengthy route to and from
  275.    that mobile node's home agent.  Extensions are also provided to allow
  276.    datagrams in flight when a mobile node moves, and datagrams sent
  277.  
  278.  
  279.  
  280. Johnson and Perkins             Expires 26 May 1996             [Page 1]
  281.  
  282. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  283.  
  284.  
  285.    based on an out-of-date cached binding, to be forwarded directly
  286.    to the mobile node's new care-of address.  These extensions are
  287.    collectively referred to as Route Optimization in this document.
  288.  
  289.    All operation of Route Optimization that changes the routing of IP
  290.    datagrams to the mobile node is authenticated using the same type of
  291.    authentication mechanism used in the base Mobile IP protocol.  This
  292.    authentication generally relies on a "mobility security association"
  293.    established in advance between the node sending a message and the
  294.    node receiving the message that must authenticate it.  When the
  295.    required mobility security association has not been established, a
  296.    Mobile IP implementation using Route Optimization operates in the
  297.    same way as the base Mobile IP protocol.
  298.  
  299.    Section 3 of this document provides an overview of the operation of
  300.    Route Optimization.  Section 4 defines the message types used by
  301.    Route Optimization, and Section 5 defines the message extensions
  302.    used.  Section 6 discusses the problem of managing the mobility
  303.    security associations needed to provide authentication of all
  304.    messages that affect the routing of datagrams to a mobile node.
  305.    The final four sections of this document define in detail the
  306.    operation of Route Optimization from the point of view of each of the
  307.    entities involved:  considerations for nodes maintaining a binding
  308.    cache are presented in Section 8, mobile node considerations in
  309.    Section 11, foreign agent considerations in Section 10, and home
  310.    agent considerations in Section 9.
  311.  
  312.    Note that this document represents the current state of the Mobile IP
  313.    Route Optimization extensions for IPv4, although the design of Route
  314.    Optimization is currently being revised.  Recent emphasis within the
  315.    Mobile IP Working Group has been on the design and specification
  316.    of Mobile IP for IPv6, and the design of Route Optimization for
  317.    Mobile IPv4 is being revised to more closely follow the design of
  318.    Mobile IPv6 that has evolved [6].  This document will be revised and
  319.    resubmitted once those revisions are more further developed.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336. Johnson and Perkins             Expires 26 May 1996             [Page 2]
  337.  
  338. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  339.  
  340.  
  341. 2. Terminology
  342.  
  343.    This document introduces the following terminology, in addition to
  344.    that used in the base Mobile IP protocol:
  345.  
  346.       Binding cache
  347.  
  348.          A cache of mobility bindings of mobile nodes, maintained by
  349.          a node for use in tunneling datagrams to those mobile nodes.
  350.          Presence of a binding cache entry is not required for correct
  351.          operation of the Mobile IP protocol.  Entries in the binding
  352.          cache are dynamically created and MAY be deleted by the node at
  353.          any time, such as to reclaim space in the cache.
  354.  
  355.       Binding update
  356.  
  357.           A notification to some node of a mobile node's current
  358.          mobility binding.  A binding update is sent using a Binding
  359.          Update message.  All Binding Update messages MUST carry
  360.          an authentication extension, similar to the authentication
  361.          required in all registration messages in the base Mobile IP
  362.          protocol.
  363.  
  364.       Registration key
  365.  
  366.          A secret key shared between a mobile node and a foreign agent,
  367.          that MAY optionally be established during registration with
  368.          that foreign agent.  When later moving and registering a
  369.          new care-of address elsewhere, the mobile node MAY use the
  370.          registration key it shares with its previous foreign agent, to
  371.          send an authenticated binding update to this foreign agent.
  372.  
  373.       Special tunnel
  374.  
  375.          A method of tunneling a datagram in which the "outer"
  376.          destination address when encapsulating the datagram is
  377.          set equal to the "inner" destination address (the original
  378.          destination address of the datagram).  Any router forwarding
  379.          such a tunneled datagram MUST NOT re-tunnel the datagram even
  380.          if it has a binding cache entry for the destination address.  A
  381.          special tunnel is used in Route Optimization for delivering a
  382.          datagram, addressed to a mobile node, to the mobile node's home
  383.          agent while the mobile node is away from home, without knowing
  384.          the home agent's address.  The "outer" source address allows
  385.          the home agent to know the tunneling node's address when it
  386.          intercepts the datagram on the home network.
  387.  
  388.  
  389.  
  390.  
  391.  
  392. Johnson and Perkins             Expires 26 May 1996             [Page 3]
  393.  
  394. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  395.  
  396.  
  397. 3. Route Optimization Overview
  398.  
  399. 3.1. Binding Caching
  400.  
  401.    Route Optimization provides a means for any node that wishes to
  402.    optimize its own communication with mobile nodes to maintain a
  403.    "binding cache" containing the mobility binding of one or more mobile
  404.    nodes.  When sending an IP datagram to a mobile node, if the sender
  405.    has a binding cache entry for the destination mobile node, it may
  406.    tunnel the datagram directly to the care-of address indicated in the
  407.    cached mobility binding.
  408.  
  409.    In the absence of any binding cache entry, datagrams destined for
  410.    a mobile node will be routed to the mobile node's home network in
  411.    the same way as any other IP datagram, and are then tunneled to the
  412.    mobile node's current care-of address by the mobile node's home
  413.    agent.  This is the only routing mechanism supported by the base
  414.    Mobile IP protocol.  With Route Optimization, as a side effect of
  415.    this indirect routing of a datagram to a mobile node, the original
  416.    sender of the datagram may be informed of the mobile node's current
  417.    mobility binding, giving the sender an opportunity to cache the
  418.    binding.
  419.  
  420.    A node may create a binding cache entry for a mobile node only when
  421.    it has received and authenticated the mobile node's mobility binding.
  422.    Likewise, a node may update an existing binding cache entry for a
  423.    mobile node, such as after the mobile node has moved to a new foreign
  424.    agent, only when it has received and authenticated the mobile node's
  425.    new mobility binding.
  426.  
  427.    A binding cache will, by necessity, have a finite size.  Any node
  428.    implementing a binding cache may manage the space in its cache using
  429.    any local cache replacement policy.  If a datagram is sent by a
  430.    node to a destination for which it has dropped the cache entry from
  431.    its binding cache, the datagram will be routed normally, leading to
  432.    the mobile node's home network, where it will be intercepted by the
  433.    mobile node's home agent and tunneled to the mobile node's care-of
  434.    address.  As when a binding cache entry is initially created, this
  435.    indirect routing to the mobile node will result in the original
  436.    sender of the datagram being informed of the mobile node's current
  437.    mobility binding, allowing it to add this entry again to its binding
  438.    cache.
  439.  
  440.  
  441. 3.2. Foreign Agent Handoff
  442.  
  443.    When a mobile node moves and registers with a new foreign agent, the
  444.    base Mobile IP protocol does not notify the mobile node's previous
  445.  
  446.  
  447.  
  448. Johnson and Perkins             Expires 26 May 1996             [Page 4]
  449.  
  450. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  451.  
  452.  
  453.    foreign agent.  IP datagrams intercepted by the home agent after
  454.    the new registration are tunneled to the mobile node's new care-of
  455.    address, but datagrams in flight that had already been intercepted
  456.    by the home agent and tunneled to the old care-of address when the
  457.    mobile node moved are lost and are assumed to be retransmitted by
  458.    higher-level protocols if needed.  The old foreign agent eventually
  459.    deletes the mobile node's registration after the expiration of the
  460.    lifetime period established when the mobile node registered there.
  461.  
  462.    Route Optimization provides a means for the mobile node's previous
  463.    foreign agent to be reliably notified of the mobile node's new
  464.    mobility binding, allowing datagrams in flight to the mobile
  465.    node's previous foreign agent to be forwarded to its new care-of
  466.    address.  This notification also allows any datagrams tunneled to the
  467.    mobile node's previous foreign agent from correspondent nodes with
  468.    out-of-date binding cache entries for the mobile node (that have not
  469.    yet learned that the mobile node has moved), to be forwarded to its
  470.    new care-of address.  Finally, this notification allows any resources
  471.    consumed by the mobile node's binding at the previous foreign agent
  472.    (such as radio channel reservations) to be released immediately,
  473.    rather than waiting for the mobile node's registration to expire.
  474.  
  475.    Optionally, during registration with a new foreign agent, the mobile
  476.    node and the foreign agent may establish a new shared secret key
  477.    as a "registration key".  When the mobile node later registers
  478.    with a new foreign agent, if it established a registration key
  479.    during registration with its previous foreign agent, it may use
  480.    this key to notify the previous foreign agent that it has moved.
  481.    This notification may also optionally include the mobile node's new
  482.    care-of address, allowing the previous foreign agent to create a
  483.    binding cache entry for the mobile node to serve as a "forwarding
  484.    pointer" to its new location.  Any tunneled datagrams for the mobile
  485.    node that arrive at this previous foreign agent after this binding
  486.    cache entry has been created will then be re-tunneled by this
  487.    foreign agent to the mobile node's new location using the mobility
  488.    binding in this binding cache entry.  The registration key is used
  489.    to authenticate the notification sent to the previous foreign agent.
  490.    Other uses of the registration key are possible, such as for use as
  491.    an encryption key for providing privacy over a wireless link between
  492.    the mobile node and its foreign agent, but such uses are beyond the
  493.    scope of this document.  Once established, the registration key for a
  494.    mobile node can be stored by the foreign agent with the mobile node's
  495.    visitor list entry.
  496.  
  497.    In this document, we suggest four methods that a mobile node could
  498.    use for dynamically establishing a registration key with a foreign
  499.    agent when it registers with that foreign agent:
  500.  
  501.  
  502.  
  503.  
  504. Johnson and Perkins             Expires 26 May 1996             [Page 5]
  505.  
  506. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  507.  
  508.  
  509.     -  The home agent chooses the new registration key, and returns a
  510.        separate encrypted copy of the key to the foreign agent and to
  511.        the mobile node in its Registration Reply message.  For this
  512.        method, the home agent must share a mobility security association
  513.        with the foreign agent in addition to its required mobility
  514.        security association with the mobile node.
  515.  
  516.     -  The mobile node and its foreign agent execute a Diffie-Hellman
  517.        key exchange protocol [2] as part of the registration protocol.
  518.  
  519.     -  The mobile node includes its public key (such as RSA) in its
  520.        Registration Request to the foreign agent, and the foreign
  521.        agent chooses the new registration key and returns a copy of it
  522.        encrypted with the mobile node's public key.
  523.  
  524.     -  The foreign agent includes an MD5 digest of its public key (such
  525.        as RSA) in its Agent Advertisement messages.  The mobile node
  526.        includes a copy of this digest in its Registration Request, and
  527.        the foreign agent adds its full public key to the Registration
  528.        Request when relaying it to the home agent.  The home agent then
  529.        chooses the new registration key and returns a separate encrypted
  530.        copy of the key to the foreign agent (using this public key) and
  531.        to the mobile node (using its mobility security association with
  532.        the mobile node) in its Registration Reply message.
  533.  
  534.    Section 7 discusses these methods of establishing a registration key
  535.    in detail.
  536.  
  537.    As part of the registration procedure, the mobile node may
  538.    request that its new foreign agent attempt to notify its previous
  539.    foreign agent on its behalf, by including a Previous Foreign Agent
  540.    Notification extension in its Registration Request message sent to
  541.    the new foreign agent.  The new foreign agent then builds a Binding
  542.    Update message and transmits it to the mobile node's previous foreign
  543.    agent as part of registration, requesting an acknowledgement from
  544.    the previous foreign agent.  The Previous Foreign Agent Notification
  545.    extension includes only those values needed to construct the Binding
  546.    Update message that are not already contained in the Registration
  547.    Request message.  The authenticator for the Binding Update message is
  548.    computed by the mobile node based on its registration key shared with
  549.    its previous foreign agent.
  550.  
  551.    The mobile node is responsible for occasionally retransmitting a
  552.    Binding Update message to its previous foreign agent until the
  553.    matching Binding Acknowledge message is received, or until the mobile
  554.    node can be sure of the expiration of its registration with that
  555.    foreign agent.
  556.  
  557.  
  558.  
  559.  
  560. Johnson and Perkins             Expires 26 May 1996             [Page 6]
  561.  
  562. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  563.  
  564.  
  565.    The binding cache entry created at the mobile node's previous foreign
  566.    agent is treated in the same way as any other binding cache entry.
  567.    In particular, it is possible that this binding cache entry will be
  568.    deleted from the cache at any time.  In this case, the foreign agent
  569.    will be unable to re-tunnel subsequently arriving tunneled datagrams
  570.    for the mobile node, directly to the mobile node's new location.
  571.  
  572.  
  573. 3.3. Binding Cache Updates
  574.  
  575.    When a mobile node's home agent intercepts a datagram from the
  576.    home network and tunnels it to the mobile node, the home agent may
  577.    deduce that the original source of the datagram has no binding
  578.    cache entry for the destination mobile node.  In this case, the
  579.    home agent MAY send a Binding Update message to the original source
  580.    node, informing it of the mobile node's current mobility binding.
  581.    No acknowledgement for this Binding Update message is needed, since
  582.    additional future datagrams from this source node intercepted by the
  583.    home agent for the mobile node will cause transmission of another
  584.    Binding Update.  In order for this Binding Update to be authenticated
  585.    by the original source node, the home agent and this source node must
  586.    have established a mobility security association.
  587.  
  588.    Similarly, when any node receives a tunneled datagram that was
  589.    tunneled to this node, if it has a binding cache entry for the
  590.    destination mobile node (and thus has no visitor list entry for
  591.    this mobile node), the node receiving this tunneled datagram may
  592.    deduce that the tunneling node has an out-of-date binding cache entry
  593.    for this mobile node.  In this case, the receiving node MAY send a
  594.    Binding Warning message to the mobile node's home agent, advising
  595.    it to send a Binding Update message to the node that tunneled this
  596.    datagram.  The mobile node's home agent can be determined from the
  597.    binding cache entry (the home agent address is learned from the
  598.    Binding Update that established this cache entry), and the address
  599.    of the node that tunneled this datagram can be determined from the
  600.    datagram's header (the address of the node tunneling this datagram
  601.    is the "outer" source address of the encapsulated datagram).  As in
  602.    the case of a Binding Update sent by the mobile node's home agent, no
  603.    acknowledgement of this Binding Warning is needed, since additional
  604.    future datagrams for the mobile node tunneled by the same node will
  605.    cause the transmission of another Binding Warning.  However, unlike
  606.    the Binding Update message, no authentication of the Binding Warning
  607.    message is necessary, since it does not directly affect the routing
  608.    of IP datagrams to the mobile node.
  609.  
  610.    Finally, suppose a node receives a datagram that has been tunneled to
  611.    this node, but this node is unable to deliver the datagram locally
  612.    to the destination mobile node (the node is not the mobile node
  613.  
  614.  
  615.  
  616. Johnson and Perkins             Expires 26 May 1996             [Page 7]
  617.  
  618. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  619.  
  620.  
  621.    itself, and it is not a foreign agent with a visitor list entry for
  622.    the mobile node), and this node has no binding cache entry for the
  623.    destination mobile node.  To attempt delivery of the datagram in this
  624.    case, the node must encapsulate the datagram as a "special tunnel"
  625.    datagram (Section 10.5), destined to the mobile node.  This use of a
  626.    "special tunnel" avoids a possible routing loop in the case in which
  627.    the case-of address registered at the home agent is the address of
  628.    this node, but this node has forgotten that it is serving as the
  629.    mobile node's foreign agent, perhaps because the node has crashed and
  630.    lost its visitor list state.  The "special tunnel" allows the home
  631.    agent to see the address of the node that tunneled the datagram, and
  632.    to avoid tunneling the datagram back to the same node.
  633.  
  634.    Each Binding Update message indicates the maximum lifetime of any
  635.    binding cache entry created from the Binding Update.  When sending
  636.    the Binding Update message, the home agent SHOULD set this lifetime
  637.    to the remaining service lifetime associated with the mobile node's
  638.    current registration.  Any binding cache entry established or updated
  639.    in response to this Binding Update message must be marked to be
  640.    deleted after the expiration of this period.  A node wanting to
  641.    provide continued service with a particular binding cache entry may
  642.    attempt to reconfirm that mobility binding before the expiration of
  643.    this lifetime period.  Such reconfirmation of a binding cache entry
  644.    may be appropriate when the node has indications (such as an open
  645.    transport-level connection to the mobile node) that the binding
  646.    cache entry is still needed.  This reconfirmation is performed by
  647.    the node sending a Binding Request message to the mobile node's home
  648.    agent, requesting it to reply with the mobile node's current mobility
  649.    binding in a new Binding Update message.
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672. Johnson and Perkins             Expires 26 May 1996             [Page 8]
  673.  
  674. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  675.  
  676.  
  677. 4. Route Optimization Message Formats
  678.  
  679.    Route Optimization defines four message types used for management
  680.    of binding cache entries.  Each of these messages begins with a
  681.    one-octet field indicating the type of the message.
  682.  
  683.    The following Type codes are defined in this document:
  684.  
  685.       16 = Binding Warning message
  686.       17 = Binding Request message
  687.       18 = Binding Update message
  688.       19 = Binding Acknowledge message
  689.  
  690.    Route Optimization also requires one minor change to existing
  691.    Mobile IP messages:  a new flag bit must be added to the Registration
  692.    Request message, replacing a previously unused, reserved bit in the
  693.    message.
  694.  
  695.    This section describes each of the new Route Optimization messages
  696.    and the change to Registration Request message.
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728. Johnson and Perkins             Expires 26 May 1996             [Page 9]
  729.  
  730. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  731.  
  732.  
  733. 4.1. Binding Warning Message
  734.  
  735.    A Binding Warning message is used to advise a mobile node's home
  736.    agent that another node appears to have either no binding cache entry
  737.    or an out-of-date binding cache entry for some mobile node.  When any
  738.    node receives a datagram tunneled to itself, if it is not the current
  739.    foreign agent for the destination mobile node, it MAY send a Binding
  740.    Warning message to the mobile node's home agent.
  741.  
  742.     0                   1                   2                   3
  743.     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
  744.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  745.    |     Type      |                   Reserved                    |
  746.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  747.    |                    Mobile Node Home Address                   |
  748.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  749.    |                       Target Node Address                     |
  750.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  751.  
  752.       Type
  753.  
  754.          16
  755.  
  756.       Reserved
  757.  
  758.          Sent as 0; ignored on reception.
  759.  
  760.       Mobile Node Home Address
  761.  
  762.          The home address of the mobile node to which the Binding
  763.          Warning message refers.
  764.  
  765.       Target Node Address
  766.  
  767.          The address of the node tunneling the datagram that caused the
  768.          Binding Warning message.  This node should be the target of the
  769.          Binding Update message sent by the home agent.
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784. Johnson and Perkins            Expires 26 May 1996             [Page 10]
  785.  
  786. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  787.  
  788.  
  789. 4.2. Binding Request Message
  790.  
  791.    A Binding Request message is used by a node to request a mobile
  792.    node's current mobility binding from the mobile node's home agent.
  793.  
  794.     0                   1                   2                   3
  795.     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
  796.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  797.    |     Type      |                  Reserved                     |
  798.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  799.    |                    Mobile Node Home Address                   |
  800.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  801.    |                                                               |
  802.    +                         Identification                        +
  803.    |                                                               |
  804.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  805.  
  806.       Type
  807.  
  808.          17
  809.  
  810.       Reserved
  811.  
  812.          Sent as 0; ignored on reception.
  813.  
  814.       Mobile Node Home Address
  815.  
  816.          The home address of the mobile node to which the Binding
  817.          Request refers.
  818.  
  819.       Identification
  820.  
  821.          A 64-bit sequence number, assigned by the node sending the
  822.          Binding Request message, used to assist in matching requests
  823.          with replies, and in protecting against replay attacks.
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840. Johnson and Perkins            Expires 26 May 1996             [Page 11]
  841.  
  842. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  843.  
  844.  
  845. 4.3. Binding Update Message
  846.  
  847.    The Binding Update message is used to notify another node of a mobile
  848.    node's current mobility binding.  It MAY be sent by the mobile
  849.    node's home agent in response to a Binding Request message or a
  850.    Binding Warning message.  It MAY also be sent by a mobile node, or
  851.    by the foreign agent with which the mobile node is registering, when
  852.    notifying the mobile node's previous foreign agent that the mobile
  853.    node has moved.
  854.  
  855.     0                   1                   2                   3
  856.     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
  857.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  858.    |     Type      |A|I|M|G|  Rsvd |            Lifetime           |
  859.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  860.    |                    Mobile Node Home Address                   |
  861.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  862.    |                        Care-of Address                        |
  863.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  864.    |                                                               |
  865.    +                         Identification                        +
  866.    |                                                               |
  867.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  868.    | Extensions ...
  869.    +-+-+-+-+-+-+-+-
  870.  
  871.       Type
  872.  
  873.          18
  874.  
  875.       Acknowledge (A)
  876.  
  877.          The Acknowledge (A) bit is set by the node sending the Binding
  878.          Update message to request a Binding Acknowledge message be
  879.          returned acknowledging its receipt.
  880.  
  881.       Identification Present (I)
  882.  
  883.          The Identification Present (I) bit is set by the node sending
  884.          the Binding Update message to indicate that the Identification
  885.          field is present in the message.
  886.  
  887.       Minimal Encapsulation (M)
  888.  
  889.          If the Minimal Encapsulation (M) bit is set, datagrams may be
  890.          tunneled to the mobile node using the minimal encapsulation
  891.          protocol used in the base Mobile IP protocol.
  892.  
  893.  
  894.  
  895.  
  896. Johnson and Perkins            Expires 26 May 1996             [Page 12]
  897.  
  898. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  899.  
  900.  
  901.       GRE Encapsulation (G)
  902.  
  903.          If the GRE Encapsulation (G) bit is set, datagrams may be
  904.          tunneled to the mobile node using the GRE encapsulation
  905.          protocol [5].
  906.  
  907.       Reserved (Rsvd)
  908.  
  909.          Sent as 0; ignored on reception.
  910.  
  911.       Lifetime
  912.  
  913.          The number of seconds remaining before the binding cache entry
  914.          must be considered expired.  A value of all ones indicates
  915.          infinity.  A value of zero indicates that no binding cache
  916.          entry for the mobile node should be created and that any
  917.          existing binding cache entry (and visitor list entry, in the
  918.          case of a mobile node's previous foreign agent) for the mobile
  919.          node should be deleted.  The lifetime is typically equal to the
  920.          remaining lifetime of the mobile node's registration.
  921.  
  922.       Mobile Node Home Address
  923.  
  924.          The home address of the mobile node to which the Binding Update
  925.          message refers.
  926.  
  927.       Care-of Address
  928.  
  929.          The current care-of address of the mobile node.  When set equal
  930.          to the home address of the mobile node, the Binding Update
  931.          message instead indicates that no binding cache entry for the
  932.          mobile node should be created, and any existing binding cache
  933.          entry (and visitor list entry, in the case of a mobile node's
  934.          previous foreign agent) for the mobile node should be deleted.
  935.  
  936.       Identification
  937.  
  938.          If present, a 64-bit number, assigned by the node sending the
  939.          Binding Request message, used to assist in matching requests
  940.          with replies, and in protecting against replay attacks.
  941.  
  942.    The Route Optimization Authentication extension (Section 5.2) is
  943.    required.
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952. Johnson and Perkins            Expires 26 May 1996             [Page 13]
  953.  
  954. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  955.  
  956.  
  957. 4.4. Binding Acknowledge Message
  958.  
  959.    A Binding Acknowledge message is used to acknowledge receipt of a
  960.    Binding Update message.  It SHOULD be sent by a node receiving the
  961.    Binding Update message if the Acknowledge (A) bit is set in the
  962.    Binding Update message.
  963.  
  964.     0                   1                   2                   3
  965.     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
  966.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  967.    |     Type      |N|               Reserved                      |
  968.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  969.    |                    Mobile Node Home Address                   |
  970.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  971.    |                                                               |
  972.    +                         Identification                        +
  973.    |                                                               |
  974.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  975.  
  976.       Type
  977.  
  978.          19
  979.  
  980.       Negative Acknowledge (N)
  981.  
  982.          If the Negative Acknowledge (N) bit is set, this
  983.          acknowledgement is negative.  For instance, if the
  984.          binding update was not accepted, but the incoming datagram has
  985.          the Acknowledge flag set, then the Negative Acknowledge (N) bit
  986.          SHOULD be set in this Binding Acknowledge message.
  987.  
  988.             DISCUSSION: Alternatively, we could replace this bit with
  989.             a status code, as in the Registration Reply message.  The
  990.             mobile node could log the error, but currently has no
  991.             real way to recover from it, so perhaps the exact reason
  992.             for the error isn't that useful.
  993.  
  994.       Reserved
  995.  
  996.          Sent as 0; ignored on reception.
  997.  
  998.       Mobile Node Home Address
  999.  
  1000.          Copied from the Binding Update message being acknowledged.
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008. Johnson and Perkins            Expires 26 May 1996             [Page 14]
  1009.  
  1010. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1011.  
  1012.  
  1013.       Identification
  1014.  
  1015.          Copied from the Binding Update message being acknowledged, if
  1016.          present there.
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064. Johnson and Perkins            Expires 26 May 1996             [Page 15]
  1065.  
  1066. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1067.  
  1068.  
  1069. 4.5. Registration Request Message
  1070.  
  1071.    One bit is added to the flag bits in the Registration Request message
  1072.    to indicate that the mobile node would like its home agent to keep
  1073.    its mobility binding "private".  Normally, the home agent sends
  1074.    Binding Update messages to correspondent nodes as needed to allow
  1075.    them to cache the mobile node's binding.  If the mobile node sets the
  1076.    Private (P) bit in the Registration Request message, the home agent
  1077.    MUST not send the mobile node's binding in Binding Update messages.
  1078.    Instead, each Binding Update message should give the mobile node's
  1079.    care-of address equal to its home address, and should give a Lifetime
  1080.    value of 0.
  1081.  
  1082.    Thus, the Registration Request message under Route Optimization
  1083.    begins as follows:
  1084.  
  1085.     0                   1                   2                   3
  1086.     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
  1087.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1088.    |     Type      |S|B|D|M|G|P|rvd|          Lifetime             |
  1089.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1090.    | (unchanged...)
  1091.    +-+-+-
  1092.  
  1093.       Private (P)
  1094.  
  1095.          The Private (P) bit is set by the node sending the Binding
  1096.          Update message to indicate that the home agent should keep its
  1097.          mobility binding private.  In any Binding Update message sent
  1098.          by the mobile node's home agent, the care-of address should be
  1099.          set equal to the mobile node's home address, and the Lifetime
  1100.          should be set equal to 0.
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120. Johnson and Perkins            Expires 26 May 1996             [Page 16]
  1121.  
  1122. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1123.  
  1124.  
  1125. 5. Route Optimization Extension Formats
  1126.  
  1127.    Route Optimization defines the following Mobile IP message
  1128.    extensions:
  1129.  
  1130.        96 = Previous Foreign Agent Notification Extension
  1131.        97 = Route Optimization Authentication Extension
  1132.        98 = Registration Key Request Extension
  1133.        99 = Home-Mobile Registration Key Reply Extension
  1134.       100 = Home-Foreign Registration Key Reply Extension
  1135.       101 = Diffie-Hellman Registration Key Request Extension
  1136.       102 = Diffie-Hellman Registration Key Reply Extension
  1137.       103 = Foreign Agent Public Key Digest Advertisement Extension
  1138.       104 = Registration Key Request Public Key Digest Extension
  1139.       105 = Foreign Agent Public Key Extension
  1140.       106 = Mobile Node Public Key Extension
  1141.       107 = Foreign-Mobile Registration Key Reply Extension
  1142.  
  1143.    Route Optimization also requires one minor change to existing
  1144.    Mobile IP message extensions:  a new flag bit must be added to the
  1145.    Mobile Service extension, replacing a previously unused, reserved bit
  1146.    in the extension.
  1147.  
  1148.    This section describes each of the new Route Optimization message
  1149.    extensions and the change to Mobile Service extension.
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176. Johnson and Perkins            Expires 26 May 1996             [Page 17]
  1177.  
  1178. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1179.  
  1180.  
  1181. 5.1. Previous Foreign Agent Notification Extension
  1182.  
  1183.    The Previous Foreign Agent Notification extension may be included
  1184.    in a Registration Request message sent to a foreign agent.  It
  1185.    requests the new foreign agent to send a Binding Update message to
  1186.    the mobile node's previous foreign agent on behalf of the mobile
  1187.    node, to notify it that the mobile node has moved.  The previous
  1188.    foreign agent deletes the mobile node's visitor list entry and, if a
  1189.    new care-of address is included in the Binding Update message, also
  1190.    creates a binding cache entry for the mobile node pointing to its new
  1191.    care-of address.  The Previous Foreign Agent Notification extension
  1192.    contains only those values not otherwise already contained in the
  1193.    Registration Request message that are needed for the new foreign
  1194.    agent to construct the Binding Update message.
  1195.  
  1196.     0                   1                   2                   3
  1197.     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
  1198.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1199.    |     Type      |     Length    |         Cache Lifetime        |
  1200.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1201.    |                 Previous Foreign Agent Address                |
  1202.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1203.    |                   New Care-of Address Address                 |
  1204.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1205.    |                         Authenticator ...
  1206.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1207.  
  1208.       Type
  1209.  
  1210.          96
  1211.  
  1212.       Length
  1213.  
  1214.          10 plus the length of the Authenticator
  1215.  
  1216.       Cache Lifetime
  1217.  
  1218.          The number of seconds remaining before the binding cache entry
  1219.          created by the previous foreign agent must be considered
  1220.          expired.  A value of all ones indicates infinity.  A value
  1221.          of zero indicates that the previous foreign agent should not
  1222.          create a binding cache entry for the mobile node once it has
  1223.          deleted the mobile node's visitor list entry.  The Cache
  1224.          Lifetime value is copied into the Lifetime field of the Binding
  1225.          Update message.
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232. Johnson and Perkins            Expires 26 May 1996             [Page 18]
  1233.  
  1234. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1235.  
  1236.  
  1237.       Previous Foreign Agent Address
  1238.  
  1239.          The IP address of the mobile node's previous foreign agent
  1240.          to which the new foreign agent should send a Binding Update
  1241.          message on behalf of the mobile node.
  1242.  
  1243.       New Care-of Address
  1244.  
  1245.          The new care-of address for the new foreign agent to send in
  1246.          the Binding Update message to the previous foreign agent.  This
  1247.          SHOULD be either the care-of address being registered in this
  1248.          new registration (i.e., to cause IP datagrams from the previous
  1249.          foreign agent to be tunneled to the new foreign agent) or the
  1250.          mobile node's home address (i.e., to cause the previous foreign
  1251.          agent to only delete its visitor list entry for the mobile
  1252.          node).
  1253.  
  1254.       Authenticator
  1255.  
  1256.          The authenticator value to be used in the Route Optimization
  1257.          Authentication extension in the Binding Update message sent by
  1258.          the new foreign agent to the mobile node's previous foreign
  1259.          agent.  This authenticator is calculated only over the Binding
  1260.          Update message body.
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288. Johnson and Perkins            Expires 26 May 1996             [Page 19]
  1289.  
  1290. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1291.  
  1292.  
  1293. 5.2. Route Optimization Authentication Extension
  1294.  
  1295.    The Route Optimization Authentication extension is used to
  1296.    authenticate certain Route Optimization management messages.
  1297.  
  1298.     0                   1                   2                   3
  1299.     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
  1300.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1301.    |     Type      |     Length    |        Authenticator ...
  1302.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1303.  
  1304.       Type
  1305.  
  1306.          97
  1307.  
  1308.       Length
  1309.  
  1310.          The length of the Authenticator
  1311.  
  1312.       Authenticator
  1313.  
  1314.          (variable length) A value computed from a stream of bytes
  1315.          including the shared secret, the UDP payload (that is, the
  1316.          Route Optimization management message), all prior extensions
  1317.          in their entirety, and the type and length of this extension,
  1318.          but not including the Authenticator field itself nor the UDP
  1319.          header.
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344. Johnson and Perkins            Expires 26 May 1996             [Page 20]
  1345.  
  1346. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1347.  
  1348.  
  1349. 5.3. Registration Key Request Extension
  1350.  
  1351.    The Registration Key Request extension may be used in Registration
  1352.    Request messages to request a registration key from the mobile
  1353.    node's home agent.  The extension is included in the Registration
  1354.    Request message by the mobile node.  It is authenticated along
  1355.    with the rest of the Registration Request message, and thus no
  1356.    additional authenticator is included in the extension.  In response
  1357.    to a Registration Key Request extension, the home agent MAY include
  1358.    a Home-Mobile Registration Key Reply extension and a Home-Foreign
  1359.    Registration Key Reply extension in its Registration Reply message,
  1360.    containing encrypted copies of the (same) new registration key for
  1361.    the mobile node and the foreign agent, respectively.
  1362.  
  1363.     0                   1
  1364.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  1365.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1366.    |     Type      |     Length    |
  1367.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1368.  
  1369.       Type
  1370.  
  1371.          98
  1372.  
  1373.       Length
  1374.  
  1375.          0
  1376.  
  1377.    The mobility security association assumed to exist between the home
  1378.    agent and the mobile node will be used to encrypt the key sent in
  1379.    the Home-Mobile Registration Key Reply extension, unless a Key
  1380.    Identification extension is also included with the Registration
  1381.    Request message.
  1382.  
  1383.    The home agent must also share a mobility security association with
  1384.    the foreign agent in order to return the requested registration key,
  1385.    and the home agent will use this security association to encrypt the
  1386.    key sent in the Home-Foreign Registration Key Reply extension.
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400. Johnson and Perkins            Expires 26 May 1996             [Page 21]
  1401.  
  1402. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1403.  
  1404.  
  1405. 5.4. Home-Mobile Registration Key Reply Extension
  1406.  
  1407.    The Home-Mobile Registration Key Reply extension may be used in
  1408.    Registration Reply messages to send a registration key from the
  1409.    mobile node's home agent to the mobile node.  When used, the home
  1410.    agent MUST also include a Home-Foreign Registration Key Reply
  1411.    extension in the Registration Reply message, giving a copy of the
  1412.    same key to the mobile node's new foreign agent.  The Home-Mobile
  1413.    Registration Key Reply extension is authenticated along with the
  1414.    rest of the Registration Reply message, and thus no additional
  1415.    authenticator is included in the extension.
  1416.  
  1417.     0                   1                   2                   3
  1418.     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
  1419.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1420.    |     Type      |     Length    |  Mobile Node Encrypted Key ...
  1421.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1422.  
  1423.       Type
  1424.  
  1425.          99
  1426.  
  1427.       Length
  1428.  
  1429.          The length of the Mobile Node Encrypted Key
  1430.  
  1431.       Mobile Node Encrypted Key
  1432.  
  1433.          (variable length) The registration key, chosen by the home
  1434.          agent, encrypted under the mobility security association
  1435.          between the home agent and the mobile node.  The same key must
  1436.          be sent, encrypted for the foreign agent in a Foreign Agent
  1437.          Registration Key extension in this Registration Reply message.
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. Johnson and Perkins            Expires 26 May 1996             [Page 22]
  1457.  
  1458. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1459.  
  1460.  
  1461. 5.5. Home-Foreign Registration Key Reply Extension
  1462.  
  1463.    The Home-Foreign Registration Key Reply extension may be used
  1464.    in Registration Reply messages to send a registration key from
  1465.    the mobile node's home agent to the mobile node's new foreign
  1466.    agent.  When used, the home agent MUST also include a Home-Mobile
  1467.    Registration Key Reply extension in the Registration Reply message,
  1468.    giving a copy of the same key to the mobile node.  The Home-Foreign
  1469.    Registration Key Reply extension is authenticated by including an
  1470.    authenticator in the extension, computed based on the mobility
  1471.    security association shared between the home agent and the foreign
  1472.    agent.  In order for this extension to be used, the home agent MUST
  1473.    share a mobility security association with the foreign agent.
  1474.  
  1475.     0                   1                   2                   3
  1476.     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
  1477.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1478.    |     Type      |     Length    |  Foreign Agent Encrypted Key ...
  1479.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1480.    |    Authenticator ...
  1481.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1482.  
  1483.       Type
  1484.  
  1485.          100
  1486.  
  1487.       Length
  1488.  
  1489.          The length of the Foreign Agent Encrypted Key plus the length
  1490.          of the Authenticator
  1491.  
  1492.       Foreign Agent Encrypted Key
  1493.  
  1494.          (variable length) The registration key, chosen by the home
  1495.          agent, encrypted under the mobility security association
  1496.          between the home agent and the foreign agent.  The same key
  1497.          must be sent, encrypted for the mobile node in a Mobile Node
  1498.          Registration Key extension in this Registration Reply message.
  1499.  
  1500.       Authenticator
  1501.  
  1502.          (variable length) A value computed from a stream of bytes
  1503.          including the shared secret and the fields in this extension
  1504.          other than the Authenticator field itself.
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512. Johnson and Perkins            Expires 26 May 1996             [Page 23]
  1513.  
  1514. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1515.  
  1516.  
  1517. 5.6. Diffie-Hellman Registration Key Request Extension
  1518.  
  1519.    The Diffie-Hellman Registration Key Request extension may be included
  1520.    in a Registration Request message sent to a foreign agent.  It begins
  1521.    the Diffie-Hellman key exchange algorithm [2] between the mobile node
  1522.    and its new foreign agent, as described in Section 7.2.  The foreign
  1523.    agent SHOULD then include a Diffie-Hellman Registration Key Reply
  1524.    extension in its Registration Reply message sent to the mobile node
  1525.    in order to complete the key exchange.
  1526.  
  1527.     0                   1                   2                   3
  1528.     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
  1529.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1530.    |     Type      |     Length    |
  1531.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1532.    |                            Prime ...
  1533.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1534.    |                          Generator ...
  1535.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1536.    |                       Computed Value ...
  1537.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1538.  
  1539.       Type
  1540.  
  1541.          101
  1542.  
  1543.       Length
  1544.  
  1545.          3 times the length of each of Prime, Generator, and
  1546.          Computed Value.  The values Prime, Generator, and
  1547.          Computed Value must all be the same length, which must be a
  1548.          multiple of 8 bits.
  1549.  
  1550.       Prime
  1551.  
  1552.          One of the two public numbers involved in the Diffie-Hellman
  1553.          key exchange algorithm.  The value Prime should be a large
  1554.          prime number.
  1555.  
  1556.       Generator
  1557.  
  1558.          One of the two public numbers involved in the Diffie-Hellman
  1559.          key exchange algorithm.  If p is the value of the Prime used
  1560.          for this Diffie-Hellman exchange, the value Generator should be
  1561.          less than p, and should be a primitive root of p.
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568. Johnson and Perkins            Expires 26 May 1996             [Page 24]
  1569.  
  1570. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1571.  
  1572.  
  1573.       Computed Value
  1574.  
  1575.          The public computed value from the mobile node for this
  1576.          Diffie-Hellman exchange.  The mobile node chooses a large
  1577.          random number, x.  If g is the value of the Generator and p is
  1578.          the value of the Prime, the Computed Value in the extension is
  1579.          (g**x) mod p.
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624. Johnson and Perkins            Expires 26 May 1996             [Page 25]
  1625.  
  1626. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1627.  
  1628.  
  1629. 5.7. Diffie-Hellman Registration Key Reply Extension
  1630.  
  1631.    The Diffie-Hellman Registration Key Reply extension SHOULD be
  1632.    included in a Registration Reply message sent by a foreign agent to a
  1633.    mobile node that included a Diffie-Hellman Registration Key Request
  1634.    extension in its Registration Request message to the foreign agent.
  1635.  
  1636.     0                   1                   2                   3
  1637.     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
  1638.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1639.    |     Type      |     Length    |
  1640.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1641.    |                       Computed Value ...
  1642.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1643.  
  1644.       Type
  1645.  
  1646.          101
  1647.  
  1648.       Length
  1649.  
  1650.          The length of the Computed Value.  The length of the Computed
  1651.          Value must be a multiple of 8 bits.
  1652.  
  1653.       Computed Value
  1654.  
  1655.          The foreign agent chooses a large random number, y.  If g is
  1656.          the value of the Generator and p is the value of the Prime, the
  1657.          Computed Value in the extension is (g**y) mod p.  The values
  1658.          of the Generator and Prime are taken from the Diffie-Hellman
  1659.          Registration Key Request extension from the mobile node's
  1660.          Registration Request message.
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680. Johnson and Perkins            Expires 26 May 1996             [Page 26]
  1681.  
  1682. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1683.  
  1684.  
  1685. 5.8. Mobile Service Extension
  1686.  
  1687.    One bit is added to the flag bits in the Mobile Service extension
  1688.    (forming an Agent Advertisement message), when sent by a foreign
  1689.    agent, to indicate that the foreign agent supports registration
  1690.    key establishment using the Diffie-Hellman key exchange algorithm.
  1691.    When this bit is set in the Agent Advertisement, the mobile node
  1692.    MAY request a registration key be established by including a
  1693.    Diffie-Hellman Registration Key Request extension in its Registration
  1694.    Request message.  The foreign agent replies with the Diffie-Hellman
  1695.    Registration Key Reply extension in its Registration Reply to the
  1696.    mobile node.
  1697.  
  1698.    Thus, the Mobile Service extension under Route Optimization begins as
  1699.    follows:
  1700.  
  1701.     0                   1                   2                   3
  1702.     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
  1703.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1704.    |     Type      |    Length     |        Sequence Number        |
  1705.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1706.    |           Lifetime            |R|B|H|F|M|G|D|    reserved     |
  1707.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1708.    | (unchanged...)
  1709.    +-+-+-
  1710.  
  1711.       Diffie-Hellman (D)
  1712.  
  1713.          The Diffie-Hellman (D) bit is set by the foreign agent
  1714.          sending the Agent Advertisement message to indicate that it
  1715.          supports the registration key establishment protocol using the
  1716.          Diffie-Hellman Registration Key Request and Diffie-Hellman
  1717.          Registration Key Reply extensions.
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736. Johnson and Perkins            Expires 26 May 1996             [Page 27]
  1737.  
  1738. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1739.  
  1740.  
  1741. 6. Mobility Security Association Management
  1742.  
  1743.    One of the most difficult aspects of Route Optimization for Mobile IP
  1744.    in the Internet today is that of providing authentication for all
  1745.    messages that affect the routing of datagrams to a mobile node.
  1746.    In the base Mobile IP protocol, all routing of datagrams to the
  1747.    mobile node while away from its home network is controlled by the
  1748.    home agent, since only the home agent is aware of the mobile node's
  1749.    mobility binding and only the home agent tunnels datagrams to
  1750.    the mobile node.  Authentication is currently achieved based on a
  1751.    manually established mobility security association between the home
  1752.    agent and the mobile node.  Since the home agent and the mobile
  1753.    node are both owned by the same organization (both are assigned IP
  1754.    addresses within the same IP subnet), this manual configuration is
  1755.    manageable, and (for example) can be performed while the mobile node
  1756.    is at home.
  1757.  
  1758.    However, with Route Optimization, authentication is more difficult
  1759.    to manage, since a Binding Update may in general need to be sent to
  1760.    any node in the Internet.  Since no general authentication or key
  1761.    distribution protocol is available in the Internet today, the Route
  1762.    Optimization procedures defined in this document make use of the
  1763.    same type of manually configured mobility security associations used
  1764.    in the base Mobile IP protocol.  For use with Route Optimization,
  1765.    a mobility security association held by a correspondent node or a
  1766.    foreign agent must in general include the same parameters as required
  1767.    by the base Mobile IP protocol specification [7].
  1768.  
  1769.    For a correspondent node to be able to create a binding cache entry
  1770.    for a mobile node, the correspondent node and the mobile node's
  1771.    home agent MUST have established a mobility security association.
  1772.    This mobility security association, though, may be used in creating
  1773.    and updating binding cache entries at this correspondent node
  1774.    for all mobile nodes served by this home agent.  This places the
  1775.    correspondent node in a fairly natural relationship with respect
  1776.    to the mobile nodes served by this home agent.  For example, these
  1777.    mobile nodes may represent different people affiliated with the
  1778.    organization owning the home agent and these mobile nodes, with which
  1779.    the user of this correspondent node often collaborates.  In this
  1780.    case, the effort of establishing the necessary mobility security
  1781.    association with this home agent may be justified.  It is similarly
  1782.    possible for a home agent to have a manually established mobility
  1783.    security association with the foreign agents often used by its mobile
  1784.    nodes, or for a particular mobile node to have a manually established
  1785.    mobility security association with the foreign agents serving the
  1786.    foreign networks that it often visits.
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792. Johnson and Perkins            Expires 26 May 1996             [Page 28]
  1793.  
  1794. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1795.  
  1796.  
  1797.    In general, if the movement and communication patterns of a mobile
  1798.    node or the group of mobile nodes served by the same home agent are
  1799.    sufficient to justify establishing a mobility security association
  1800.    with the mobile node's home agent, users or network administrators
  1801.    are likely to do so.  Without establishing a mobility security
  1802.    association, nodes will not currently be able to use the Route
  1803.    Optimization extensions but can use the base Mobile IP protocol.
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848. Johnson and Perkins            Expires 26 May 1996             [Page 29]
  1849.  
  1850. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1851.  
  1852.  
  1853. 7. Methods of Establishing a Registration Key
  1854.  
  1855.    This document suggests four different methods that a mobile node
  1856.    could use for dynamically establishing a registration key with a
  1857.    foreign agent when it registers with that foreign agent.
  1858.  
  1859.  
  1860. 7.1. Using the Home Agent as a Key Distribution Center
  1861.  
  1862.    One method of establishing a registration key is for the mobile node
  1863.    to request its home agent to generate one during registration, and
  1864.    for the home agent to send a copy of this key to both the mobile node
  1865.    and its new foreign agent.  The home agent in this case acts as a
  1866.    "key distribution center" (KDC) for the mobile node and the foreign
  1867.    agent.  The mobile node requests this by including a Registration
  1868.    Key Request extension in its Registration Request message.  The home
  1869.    agent sends the generated key to the mobile node and to its foreign
  1870.    agent by including a Home-Mobile Registration Key Reply extension
  1871.    and a Home-Foreign Registration Key Reply extension its Registration
  1872.    Reply message.  The Home-Mobile Registration Key Reply extension
  1873.    contains a copy of the chosen key encrypted under a key and algorithm
  1874.    shared between the home agent and the mobile node, and a Home-Foreign
  1875.    Registration Key Reply extension contains a copy of the same key
  1876.    encrypted under a key and algorithm shared between the home agent and
  1877.    the foreign agent.
  1878.  
  1879.    In order for the registration key to be established using this
  1880.    method, the foreign agent must have a mobility security association
  1881.    with the home agent.  For example, if mobile nodes from some home
  1882.    network often visit this foreign agent, it may in general be worth
  1883.    the effort of creating such a mobility security association between
  1884.    this foreign agent and the home agent serving that home network.  If
  1885.    no mobility security association exists, a mobile node may instead be
  1886.    able to establish a registration key with its home agent using the
  1887.    alternative method described in the next section.
  1888.  
  1889.  
  1890. 7.2. Using Diffie-Hellman with the Foreign Agent
  1891.  
  1892.    An alternate method defined in this document for establishing a
  1893.    registration key is for the mobile node and its foreign agent to
  1894.    execute the Diffie-Hellman key exchange algorithm [2] as part of the
  1895.    mobile node's registration.  The Diffie-Hellman algorithm is a public
  1896.    key cryptosystem that allows two parties to establish a shared secret
  1897.    key, such that the shared secret key cannot be determined by other
  1898.    parties overhearing the messages exchanged during the algorithm.  It
  1899.    is used, for example, in other protocols that require a key exchange,
  1900.    such as in the Cellular Digital Packet Data (CDPD) system [1].
  1901.  
  1902.  
  1903.  
  1904. Johnson and Perkins            Expires 26 May 1996             [Page 30]
  1905.  
  1906. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1907.  
  1908.  
  1909.    Briefly, the Diffie-Hellman algorithm involves the use of two large
  1910.    public numbers, a Prime number (p) and a Generator (g).  The Prime
  1911.    number and the Generator must be known by both parties involved in
  1912.    the algorithm, but need not be kept secret; these values may be
  1913.    different for each execution of the algorithm and are not used once
  1914.    the algorithm completes.  Each party chooses a private random number,
  1915.    produces a Computed Value based on this random number and the Prime
  1916.    and the Generator, and sends the Computed Value in a message to the
  1917.    other party.  Each party then computes the (same) shared secret key
  1918.    using its own private random number, the Computed Value received from
  1919.    the other party, and the Prime and Generator values.
  1920.  
  1921.    To use this algorithm during registration with a foreign agent,
  1922.    the mobile node includes a Diffie-Hellman Registration Key Request
  1923.    extension in its Registration Request message, containing its values
  1924.    for the Prime and Generator, along with the Computed Value from its
  1925.    own private random number.  The foreign agent then chooses its own
  1926.    private random number and includes a Diffie-Hellman Registration Key
  1927.    Reply extension in its Registration Reply message to the mobile node;
  1928.    the extension includes the foreign agent's own Computed Value based
  1929.    on its chosen random number and the supplied Prime and Generator
  1930.    values from the mobile node.  The mobile node and foreign agent each
  1931.    independently form the (same) shared secret key from their own chosen
  1932.    random number, the Computed Value supplied by the other party, and
  1933.    the Prime and Generator values.
  1934.  
  1935.    The Diffie-Hellman algorithm allows the mobile node and its foreign
  1936.    agent to establish a registration key without any pre-existing
  1937.    mobility security associations, but the Diffie-Hellman algorithm
  1938.    itself is covered by a patent in the United States.  The method of
  1939.    establishing a registration key using Diffie-Hellman thus may not be
  1940.    usable by those who have not licensed the patent.  An implementation
  1941.    of the Diffie-Hellman key exchange algorithm is available, though, in
  1942.    the free RSAREF toolkit from RSA Laboratories [8].
  1943.  
  1944.    Also, establishing a registration key using Diffie-Hellman is
  1945.    computationally more expensive than the method described in
  1946.    Section 7.1.  The use of Diffie-Hellman described here, though, is
  1947.    designed to allow the Diffie-Hellman computations to be overlapped
  1948.    with other activities.  The mobile node may choose (or be manually
  1949.    configured with) the Prime and Generator values at any time, or
  1950.    may use the same two values for a number of registrations.  The
  1951.    mobile node may also choose its private random number and compute
  1952.    its Computed Value at any time.  For example, after completing
  1953.    one registration, the mobile node may choose the private random
  1954.    number for its next registration and begin the computation of
  1955.    its new Computed Value based on this random number, such that it
  1956.    has completed this computation before it is needed in its next
  1957.  
  1958.  
  1959.  
  1960. Johnson and Perkins            Expires 26 May 1996             [Page 31]
  1961.  
  1962. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  1963.  
  1964.  
  1965.    registration; in its simplest form, the mobile node may use the
  1966.    same private random number and Computed Value for any number of
  1967.    registrations.  The foreign agent may choose its private random
  1968.    number and begin computation of its Computed Value based on this
  1969.    number as soon as it receives the mobile node's Registration Request
  1970.    message, and need only complete this computation before it sends
  1971.    the matching Registration Reply message for the mobile node's
  1972.    registration.
  1973.  
  1974.    The Agent Advertisement message (Mobile Service extension) is revised
  1975.    under Route Optimization to include a bit to indicate that the
  1976.    foreign agent sending the advertisement supports this method of
  1977.    registration key establishment using the Diffie-Hellman algorithm.
  1978.    If this bit is not set in the Agent Advertisement from the foreign
  1979.    agent, the mobile node MUST NOT send a Diffie-Hellman Registration
  1980.    Key Request extension to the foreign agent in its Registration
  1981.    Request message.
  1982.  
  1983.       DISCUSSION: This could be extended to support other similar
  1984.       key exchange algorithms, either by adding a new Request
  1985.       and Reply extension for each, or by adding a field in the
  1986.       extensions to indicate which algorithm is to be used.
  1987.       Diffie-Hellman seems the only obvious choice, though,
  1988.       currently.
  1989.  
  1990.  
  1991. 7.3. Using a Mobile Node Public Key
  1992.  
  1993.    The mobile node includes its public key (such as RSA) in its
  1994.    Registration Request to the foreign agent, using a Mobile Node Public
  1995.    Key extension.  The foreign agent chooses the new registration key
  1996.    and returns a copy of it encrypted with the mobile node's public key,
  1997.    using a Foreign-Mobile Registration Key Reply extension.
  1998.  
  1999.  
  2000. 7.4. Using a Foreign Agent Public Key
  2001.  
  2002.    The foreign agent includes an MD5 digest of its public key (such
  2003.    as RSA) in its Agent Advertisement messages, using a Foreign
  2004.    Agent Public Key Digest Advertisement extension.  The mobile node
  2005.    includes a copy of this digest in its Registration Request, using
  2006.    a Registration Key Request Public Key Digest extension, and the
  2007.    foreign agent adds its full public key to the Registration Request
  2008.    when relaying it to the home agent, using a Foreign Agent Public Key
  2009.    extension.  The home agent then chooses the new registration key and
  2010.    returns a separate encrypted copy of the key to the foreign agent
  2011.    (using this public key) and to the mobile node (using its mobility
  2012.    security association with the mobile node) in its Registration
  2013.  
  2014.  
  2015.  
  2016. Johnson and Perkins            Expires 26 May 1996             [Page 32]
  2017.  
  2018. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2019.  
  2020.  
  2021.    Reply message.  The copy sent to the foreign agent is included in a
  2022.    Home-Foreign Registration Key Reply extension, and the copy sent to
  2023.    the mobile node is included in a Home-Mobile Registration Key Reply
  2024.    extension.
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072. Johnson and Perkins            Expires 26 May 1996             [Page 33]
  2073.  
  2074. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2075.  
  2076.  
  2077. 8. Binding Cache Considerations
  2078.  
  2079.    Any node may maintain a binding cache in order to optimize its own
  2080.    communication with mobile nodes.  When sending an IP datagram, if the
  2081.    sending node has a binding cache entry for the destination node, it
  2082.    MAY tunnel the datagram to the mobile node's care-of address using
  2083.    the encapsulation techniques described for home agents in the base
  2084.    Mobile IP protocol specification [7].  Any optional encapsulation
  2085.    methods supported are indicated by flag bits in the Binding Update
  2086.    message.
  2087.  
  2088.    When a mobile node's home agent intercepts a datagram on the home
  2089.    network and tunnels it to the mobile node, the originating node
  2090.    generally has no binding cache entry for the destination mobile node.
  2091.    In such cases, the home agent MAY send a Binding Update message to
  2092.    the originator.
  2093.  
  2094.    Similarly, when a node other than the foreign agent currently
  2095.    serving a mobile node receives a datagram for a mobile node, and
  2096.    this datagram has been tunneled to that node, the node tunneling the
  2097.    datagram generally has an out-of-date binding for the mobile node in
  2098.    its binding cache.  In such cases, the node receiving the tunneled
  2099.    datagram MAY send a Binding Warning message to the mobile node's home
  2100.    agent, advising it to send a Binding Update message to the tunneling
  2101.    node.
  2102.  
  2103.  
  2104. 8.1. Cache Management
  2105.  
  2106.    A node maintaining a binding cache may use any reasonable strategy
  2107.    for managing the space within the cache.  When a new entry needs to
  2108.    be added to the binding cache, the node MAY choose to drop any entry
  2109.    already in the cache, if needed, to make space for the new entry.
  2110.    For example, a "least-recently used" (LRU) strategy for cache entry
  2111.    replacement is likely to work well.
  2112.  
  2113.    Each binding in the binding cache also has an associated lifetime,
  2114.    specified by in the Binding Update message in which the node obtained
  2115.    the binding.  After the expiration of this time period, the binding
  2116.    MUST be deleted from the cache.
  2117.  
  2118.  
  2119. 8.2. Receiving Binding Update Messages
  2120.  
  2121.    When a node receives a Binding Update message, it MUST verify
  2122.    the authentication in the message, using the mobility security
  2123.    association it shares with the mobile node's home agent.  The
  2124.    authentication data is found in the Route Optimization Authentication
  2125.  
  2126.  
  2127.  
  2128. Johnson and Perkins            Expires 26 May 1996             [Page 34]
  2129.  
  2130. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2131.  
  2132.  
  2133.    extension (Section 5.2).  If the authentication succeeds, then a
  2134.    binding cache entry SHOULD be updated for use in future transmissions
  2135.    of data to the mobile node.  Otherwise, an authentication exception
  2136.    SHOULD be raised.
  2137.  
  2138.  
  2139. 8.3. Using Special Tunnels
  2140.  
  2141.    Whenever any node receives a tunneled datagram for for which it has
  2142.    no visitor list entry for the datagram's destination, the node may
  2143.    deduce that the tunneling node has an out-of-date binding cache entry
  2144.    for the destination mobile node.  If the node receiving the tunneled
  2145.    datagram has a binding cache entry for the destination, it SHOULD
  2146.    re-tunnel the datagram to the care-of address indicated in this
  2147.    binding cache entry.
  2148.  
  2149.    However, if the node receiving the tunneled datagram has no binding
  2150.    cache entry for the destination, it cannot re-tunnel the node to
  2151.    its destination.  Instead, the node SHOULD forward the datagram
  2152.    to the destination mobile node's home agent, using a special form
  2153.    of tunneling called a "special tunnel".  To tunnel the datagram
  2154.    using a special tunnel, the tunneled datagram's destination address
  2155.    is set equal to the destination address in the tunneled datagram.
  2156.    Thus, both the "inner" and "outer" destination addresses are set to
  2157.    the home address of the mobile node.  The tunneled datagram will
  2158.    thus be routed to the mobile node's home network, where it will be
  2159.    intercepted by the mobile node's home agent in the same way as other
  2160.    datagrams addressed to the mobile node.
  2161.  
  2162.    The home agent SHOULD then tunnel the datagram to the current care-of
  2163.    address for the mobile node.  However, the home agent MUST NOT tunnel
  2164.    the datagram to the current care-of address if the special tunnel of
  2165.    the datagram originated at that care-of address, as indicated by the
  2166.    "outer" source address of the special tunnel datagram.  The use of
  2167.    the special tunnel format allows the home agent to identify the node
  2168.    that tunneled the datagram to it (as well as the original sender of
  2169.    the datagram).  If the home agent believes that the current care-of
  2170.    address for the mobile node is the same as the source of the special
  2171.    tunnel, then the home agent SHOULD discard the datagram; in this
  2172.    case, the foreign agent serving the mobile node appears to have lost
  2173.    its entry for the mobile node in its visitor list, for example, if
  2174.    the foreign agent has crashed and rebooted.
  2175.  
  2176.    After tunneling the datagram to the current care-of address for the
  2177.    mobile node, the home agent MAY notify the source of the special
  2178.    tunnel of the mobile node's current binding, by sending it a Binding
  2179.    Update message.
  2180.  
  2181.  
  2182.  
  2183.  
  2184. Johnson and Perkins            Expires 26 May 1996             [Page 35]
  2185.  
  2186. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2187.  
  2188.  
  2189. 9. Home Agent Considerations
  2190.  
  2191.    The home agent will be the frequent source of Binding Update messages
  2192.    sent to correspondent nodes that are communicating with its mobile
  2193.    nodes.  Any correspondent node that has no binding cache entry for a
  2194.    mobile node, will send normal, untunneled datagrams through the home
  2195.    agent by the normal routing in the Internet.  When the home agent
  2196.    first receives a datagram for a mobile node, it SHOULD also send a
  2197.    Binding Update message to the originator of the datagram in hopes
  2198.    that the originator will be able to create a binding cache entry for
  2199.    that mobile node.  Then, future datagrams sent by this node to the
  2200.    mobile node should not need the involvement of the home agent.
  2201.  
  2202.  
  2203. 9.1. Rate Limiting
  2204.  
  2205.    A home agent MUST provide some mechanism to limit the rate at which
  2206.    it sends Binding Update messages to to the same node about any given
  2207.    mobility binding.  This rate limiting is especially important because
  2208.    it is expected that, within the short term, many Internet nodes will
  2209.    not support maintenance of a binding cache.  In this case, continual
  2210.    transmissions of Binding Update messages to such a correspondent
  2211.    node will only add unnecessary overhead to at the home agent and
  2212.    correspondent node, and along the Internet path between these nodes.
  2213.  
  2214.  
  2215. 9.2. Receiving Binding Warning Messages
  2216.  
  2217.    A home agent will receive a Binding Warning message if a node
  2218.    maintaining a binding cache entry for one of the home agent's mobile
  2219.    nodes uses the entry after it becomes out-of-date.  When a home agent
  2220.    receives a Binding Warning message, it SHOULD send a Binding Update
  2221.    message to the Target Node Address identified in the Binding Warning,
  2222.    giving it the current binding for the mobile node identified in the
  2223.    Mobile Node Home Address field of the Binding Warning.
  2224.  
  2225.    If using nonces for replay protection, the use of the Identification
  2226.    field in the Binding Update message is different in this case, in
  2227.    order to still allow replay protection even though the Binding Update
  2228.    is not being sent in reply to a request directly from the target
  2229.    node.  In this case, the high-order 32 bits of the Identification
  2230.    field MUST be set by the home agent to the value of the nonce that
  2231.    will be used by the home agent in the next Binding Update message
  2232.    sent to this node.  The low-order 32 bits of the Identification field
  2233.    MUST be set to the value of the nonce being used for this message.
  2234.    Thus, on each Binding Update message, the home agent communicates to
  2235.    the target node, the value of the nonce that will be used next time,
  2236.    and if no Binding Updates are lost in the network, the home agent and
  2237.  
  2238.  
  2239.  
  2240. Johnson and Perkins            Expires 26 May 1996             [Page 36]
  2241.  
  2242. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2243.  
  2244.  
  2245.    the target node can remain synchronized with respect to the nonces
  2246.    being used.  If, however, the target node receives a Binding Update
  2247.    with what it believes to be an incorrect nonce, it may resynchronize
  2248.    with the home agent by requesting the mobile node's binding using a
  2249.    Binding Request message.
  2250.  
  2251.  
  2252. 9.3. Receiving Binding Request Messages
  2253.  
  2254.    When the home agent receives a Binding Request message, it consults
  2255.    its home list and determines the correct binding information to be
  2256.    sent to the requesting node.  Before satisfying the request, the
  2257.    home agent MUST check whether or not the mobile node has allowed
  2258.    the information to be disseminated.  If the mobile node specified
  2259.    the Private (P) bit in its Registration Request message, then the
  2260.    home agent MUST not satisfy any Binding Requests.  In this case,
  2261.    the home agent SHOULD return a Binding Update in which both the
  2262.    Care-of Address is set equal to the mobile node's home address and
  2263.    the Lifetime is set to zero.  Such a Binding Update message indicates
  2264.    that the binding cache entry for the specified mobile node should be
  2265.    deleted.
  2266.  
  2267.  
  2268. 9.4. Receiving Registration Key Requests
  2269.  
  2270.    When the home agent receives a Registration Request message, a
  2271.    Registration Key Request extension (Section 5.3) may be present in
  2272.    the message, requesting the home agent to provide a registration
  2273.    key to the mobile node and its foreign agent, as described in
  2274.    Section 3.2.  In that event, the home agent employs a good algorithm
  2275.    for producing random keys [4] and encrypts the result separately for
  2276.    use by the foreign agent and by the mobile node.  The chosen key is
  2277.    encrypted under the mobility security association shared between the
  2278.    home agent and the mobile node, and the encrypted key is placed in
  2279.    a Home-Mobile Registration Key Reply extension (Section 5.4) in the
  2280.    Registration Reply message.  The same key also is encrypted under
  2281.    the mobility security association shared between the home agent and
  2282.    the foreign agent, and the encrypted key is placed in a Home-Foreign
  2283.    Registration Key Reply extension (Section 5.5) in the Registration
  2284.    Reply message.
  2285.  
  2286.    If the home agent receives a Registration Key Request extension in
  2287.    a Registration Request message, but it does not have an established
  2288.    mobility security association with the foreign agent with which
  2289.    the mobile node is registering, the home agent MUST reject the
  2290.    registration attempt.  In this case, the home agent returns a
  2291.    Registration Reply message indicating that the foreign agent failed
  2292.    authentication.
  2293.  
  2294.  
  2295.  
  2296. Johnson and Perkins            Expires 26 May 1996             [Page 37]
  2297.  
  2298. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2299.  
  2300.  
  2301. 9.5. Receiving Special Tunnels
  2302.  
  2303.    The home agent may also receive datagrams tunneled to the mobile
  2304.    node using a special tunnel (Section 8.3), which it has intercepted
  2305.    for the mobile node in the same way as any datagram destined to the
  2306.    mobile node while the mobile node is away from home.  The home agent
  2307.    MUST examine the tunnel source address (the "outer" address of the
  2308.    tunneled datagram).  If the tunnel source address differs from the
  2309.    care-of address shown in the home list entry for the mobile node,
  2310.    the home agent SHOULD decapsulate the inner datagram from the tunnel
  2311.    and re-tunnel it to the mobile node's care-of address.  However, if
  2312.    the tunnel source address is the same as the mobile node's care-of
  2313.    address, the home agent MUST NOT tunnel the datagram back to that
  2314.    same node; the home agent SHOULD instead discard the datagram.
  2315.  
  2316.    In either case, the home agent SHOULD also send a Binding Update
  2317.    message to the sender of the original datagram (the "inner" source
  2318.    address of the tunneled datagram), if it shares a mobility security
  2319.    association with this node.  The sending of this Binding Update
  2320.    message, though, is subject to the rate limiting restriction
  2321.    described in Section 9.1.
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352. Johnson and Perkins            Expires 26 May 1996             [Page 38]
  2353.  
  2354. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2355.  
  2356.  
  2357. 10. Foreign Agent Considerations
  2358.  
  2359.    In addition to managing the resources needed to handle registrations
  2360.    in the base Mobile IP protocol, a foreign agent participating in
  2361.    Route Optimization assumes two additional responsibilities.  It
  2362.    SHOULD maintain a binding cache for forwarding datagrams to mobile
  2363.    nodes once they have moved to new care-of addresses, and it SHOULD
  2364.    support the use of a Binding Update message for notifying a mobile
  2365.    node's previous foreign agent that it has moved.
  2366.  
  2367.  
  2368. 10.1. Establishing a Registration Key
  2369.  
  2370.    As part of the registration procedure, a mobile node and its
  2371.    new foreign agent can establish a registration key (Sections 7.1
  2372.    and 7.2).  Within this document, the registration key is used only
  2373.    for authentication of a single Binding Update message.  Other uses
  2374.    for the registration key are possible, such as the use of this key to
  2375.    provide privacy along the wireless link connecting between the mobile
  2376.    node and its foreign agent; such additional uses of the registration
  2377.    key are outside the scope of this discussion.
  2378.  
  2379.    This document specifies two alternative methods for establishing
  2380.    a registration key as part of a mobile node's registration with a
  2381.    foreign agent.
  2382.  
  2383.    The foreign agent may receive a Registration Key Request extension
  2384.    in the mobile node's Registration Request message (Section 7.1).
  2385.    The foreign agent need not process the Registration Key Request
  2386.    extension.  When the Registration Reply is received by the
  2387.    foreign agent from the home agent, it MAY contain a Home-Foreign
  2388.    Registration Key Reply extension and a Home-Mobile Registration
  2389.    Key Reply extension.  In this case, the foreign agent removes the
  2390.    Home-Foreign Registration Key Reply extension, and forwards the
  2391.    rest of the Registration Reply message to the mobile node.  The
  2392.    Home-Foreign Registration Key Reply extension is covered by its own
  2393.    authentication, not by the authentication covering the Registration
  2394.    Reply message itself, and thus removing the Home-Foreign Registration
  2395.    Key Reply extension does not interfere with the mobile node's ability
  2396.    to verify the authentication on the Registration Reply message.
  2397.    The foreign agent decrypts the supplied registration key using the
  2398.    mobility security association it shares with the home agent, and
  2399.    stores the key as part of the visitor list entry created for the
  2400.    mobile node for this registration.
  2401.  
  2402.    Alternatively, the foreign agent may receive a Diffie-Hellman
  2403.    Registration Key Request extension in the mobile node's Registration
  2404.    Request message (Section 7.2).  The extension contains the Prime
  2405.  
  2406.  
  2407.  
  2408. Johnson and Perkins            Expires 26 May 1996             [Page 39]
  2409.  
  2410. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2411.  
  2412.  
  2413.    and Generator values, chosen by the mobile node, to be used for
  2414.    this execution of the Diffie-Hellman algorithm.  The foreign agent
  2415.    chooses its own private random number and returns the Diffie-Hellman
  2416.    Computed Value when it sends the Registration Reply message sent to
  2417.    the mobile node.  The foreign agent uses Prime and Generator values
  2418.    and the Computed Value from the mobile node that it received in the
  2419.    Diffie-Hellman Registration Key Request extension, together with its
  2420.    own chosen private random number, to form the registration key.  The
  2421.    foreign agent stores this registration key as part of the visitor
  2422.    list entry created for the mobile node for this registration.
  2423.  
  2424.    Establishing the registration key in effect establishes a mobility
  2425.    security association between the mobile node and the foreign agent.
  2426.    After the mobile node moves to a new care-of address, this mobility
  2427.    security association is used for authenticating the Binding Update
  2428.    message from the mobile node notifying this foreign agent of its
  2429.    movement.
  2430.  
  2431.  
  2432. 10.2. Previous Foreign Agent Notification
  2433.  
  2434.    When a mobile node registers with a new foreign agent, the mobile
  2435.    node MAY request its new foreign agent to notify its previous foreign
  2436.    agent that it has moved.  The mobile node includes a Previous Foreign
  2437.    Agent Notification extension in its Registration Request message to
  2438.    the foreign agent, requesting that the foreign agent send a Binding
  2439.    Update message to its previous foreign agent.  As with all Binding
  2440.    Update messages, this Binding Update must be authenticated using the
  2441.    Route Optimization Authentication extension (Section 5.2).
  2442.  
  2443.    The foreign agent assembles the Binding Update message using
  2444.    the fields in the Registration Request message (including the
  2445.    Authenticator supplied in the Previous Foreign Agent Notification
  2446.    extension) and sends it to the previous foreign agent identified in
  2447.    the extension.  The Acknowledge (A) bit MUST be set in this Binding
  2448.    Update message.
  2449.  
  2450.    When the previous foreign agent receives the Binding Update, it will
  2451.    authenticate the message using the mobility security association
  2452.    set up with the registration key established with the mobile node
  2453.    during its registration with this mobile node.  If the message
  2454.    authentication is correct, the visitor list entry for this mobile
  2455.    node at the previous foreign agent will be deleted and a Binding
  2456.    Acknowledge message returned to the sender.  In addition, if a new
  2457.    care-of address was included in the Binding Update message, the
  2458.    previous foreign agent will create a binding cache entry for the
  2459.    mobile node; the previous foreign agent can then tunnel datagrams to
  2460.  
  2461.  
  2462.  
  2463.  
  2464. Johnson and Perkins            Expires 26 May 1996             [Page 40]
  2465.  
  2466. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2467.  
  2468.  
  2469.    the mobile node's new care-of address using that binding cache, just
  2470.    as any node maintaining a binding cache.
  2471.  
  2472.    In particular, the previous foreign agent can tunnel the Binding
  2473.    Acknowledge message back to the new care-of address specified in
  2474.    the received binding.  This creates an interesting problem for the
  2475.    new foreign agent when it receives the acknowledgment before the
  2476.    registration reply from the home agent.  It is suggested that the new
  2477.    foreign agent deliver the acknowledgment to the mobile node anyway,
  2478.    even though the mobile node is technically unregistered.  If there
  2479.    is concern that this provides a loophole for unauthorized traffic
  2480.    to the mobile node, the new foreign agent could limit the number of
  2481.    datagrams delivered to the unregistered mobile node to this single
  2482.    instance.  Alternatively, a new extension to the Registration Reply
  2483.    message can be defined to carry along the acknowledgement from the
  2484.    previous foreign agent.  This latter approach would have the benefit
  2485.    that fewer datagrams would be transmitted over bandwidth-constrained
  2486.    wireless media during registrations.
  2487.  
  2488.    The registration key established with this previous foreign agent is
  2489.    destroyed as a part of the processing of this Binding Update message.
  2490.    Since the previous foreign agent deletes the visitor list entry for
  2491.    the mobile node, it also deletes its record of the registration key.
  2492.    A registration key is thus useful only for the notification to the
  2493.    previous foreign agent after moving to a new care-of address.  No
  2494.    subsequent use of this registration key is possible, and thus no
  2495.    reply protection is necessary for the Binding Update message used for
  2496.    this notification.
  2497.  
  2498.  
  2499. 10.3. Receiving Tunneled Datagrams
  2500.  
  2501.    When a foreign agent receives a datagram tunneled to itself, it
  2502.    examines its visitor list for an entry for the destination mobile
  2503.    node, as in the base Mobile IP protocol.  If a visitor list entry is
  2504.    found, the foreign agent delivers the datagram to the mobile node.
  2505.  
  2506.    However, if no visitor list entry is found, the foreign agent
  2507.    examines its binding cache for a cache entry for the destination
  2508.    mobile node.  If one is found, the foreign agent re-tunnels the new
  2509.    care-of address indicated in the binding cache entry.  In this case,
  2510.    the foreign agent also may deduce that the sender of the datagram has
  2511.    an out-of-date binding cache entry for this mobile node, since it
  2512.    otherwise would have tunneled the datagram directly to the correct
  2513.    new care-of address itself.  The foreign agent SHOULD then send a
  2514.    Binding Warning message to the mobile node's home agent, which it
  2515.    learned in the Binding Update message from which this binding cache
  2516.    entry was created.
  2517.  
  2518.  
  2519.  
  2520. Johnson and Perkins            Expires 26 May 1996             [Page 41]
  2521.  
  2522. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2523.  
  2524.  
  2525. 10.4. Rate Limiting
  2526.  
  2527.    A foreign agent MUST provide some mechanism to limit the rate at
  2528.    which it sends Binding Warning messages to to the same node about any
  2529.    given mobility binding.  This rate limiting is especially important
  2530.    because it is expected that, within the short term, many Internet
  2531.    nodes will not support maintenance of a binding cache.  In this
  2532.    case, continual transmissions of Binding Warning messages to such
  2533.    a correspondent node will only add unnecessary overhead to at the
  2534.    foreign agent and correspondent node, and along the Internet path
  2535.    between these nodes.
  2536.  
  2537.  
  2538. 10.5. Sending Special Tunnels
  2539.  
  2540.    If a foreign agent receives a tunneled datagram for a mobile node
  2541.    for which it has no visitor list entry or binding cache entry, the
  2542.    foreign agent MAY forward the datagram to the mobile node's home
  2543.    agent by sending it as a special tunnel (Section 3.2).  The home
  2544.    agent will intercept the special tunnel datagram addressed to the
  2545.    mobile node in the same way as any datagram for the mobile node while
  2546.    it is away from home.
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576. Johnson and Perkins            Expires 26 May 1996             [Page 42]
  2577.  
  2578. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2579.  
  2580.  
  2581. 11. Mobile Node Considerations
  2582.  
  2583. 11.1. Establishing a Registration Key
  2584.  
  2585.    When a mobile node sends a Registration Request message, it can also
  2586.    request a registration key to be established between itself and the
  2587.    new foreign agent.  The key may be used later to authenticate the
  2588.    Binding Update sent to this foreign agent to notify it that the
  2589.    mobile node has moved to a new care-of address.
  2590.  
  2591.    The mobile node may include a Registration Key Request extension in
  2592.    its Registration Request message to request its home agent to act as
  2593.    a "key distribution center" (KDC) for establishing a registration key
  2594.    with its new foreign agent (Section 7.1).  The home agent chooses a
  2595.    new key and returns encrypted copies of it for the foreign agent and
  2596.    the mobile node.  The mobile node receives its copy of the new key in
  2597.    the Home-Mobile Registration Key Reply extension in the Registration
  2598.    Reply extension.  The mobile node decrypts the key using the mobility
  2599.    security association it shares with its home agent, and stores the
  2600.    key for later use in notifying this foreign agent that it has moved
  2601.    to a new care-of address.
  2602.  
  2603.    Alternatively, the mobile node may include a Diffie-Hellman
  2604.    Registration Key Request extension in its Registration Request
  2605.    message to request its new foreign agent to participate in the
  2606.    Diffie-Hellman key exchange algorithm with it.  The mobile node
  2607.    chooses a private random number and includes the Prime and Generator
  2608.    values to be used in this execution of the Diffie-Hellman algorithm,
  2609.    together with the Computed Value based on its chosen private random
  2610.    number, in the Diffie-Hellman Registration Request extension.  The
  2611.    foreign agent chooses its own private random number, and returns the
  2612.    Computed Value based on this number in a Diffie-Hellman Registration
  2613.    Key Reply extension in the Registration Reply that it returns to the
  2614.    mobile node.  The mobile node forms the registration key according to
  2615.    the Diffie-Hellman algorithm and stores it for later use in notifying
  2616.    this foreign agent that it has moved to a new care-of address.
  2617.  
  2618.  
  2619. 11.2. Notifying Previous Foreign Agents
  2620.  
  2621.    During registration with a new foreign agent, a mobile node may
  2622.    request its new foreign agent to notify its previous foreign agent
  2623.    that it has moved.  The new foreign agent sends a Binding Update
  2624.    message to the previous foreign agent on behalf of the mobile node.
  2625.  
  2626.    To novity its previous foreign agent as part of the new registration,
  2627.    the mobile node includes a Previous Foreign Agent Notification
  2628.    extension (Section 5.1) in its Registration Request message.  The
  2629.  
  2630.  
  2631.  
  2632. Johnson and Perkins            Expires 26 May 1996             [Page 43]
  2633.  
  2634. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2635.  
  2636.  
  2637.    extension contains only those values needed by the new foreign
  2638.    agent to construct the Binding Update message that are not already
  2639.    included in the Registration Request message.  In particular, the
  2640.    new foreign agent only sends the Binding Update message on behalf of
  2641.    the mobile node.  The mobile node computes the correct Authenticator
  2642.    value for the Binding Update message, based on the registration key
  2643.    it established with its previous foreign agent, and includes this
  2644.    Authenticator value in the extension for inclusion in the Binding
  2645.    Update message by the new foreign agent.  The new foreign agent does
  2646.    not learn the previous foreign agent registration key during the new
  2647.    registration or notification.
  2648.  
  2649.    When the Binding Acknowledgment message from the previous foreign
  2650.    agent is received by the new foreign agent, it detunnels it and sends
  2651.    it to the mobile node.  In this way, the mobile node can discover
  2652.    that its previous foreign agent has received the Binding Update
  2653.    message.  This is important, because otherwise the previous foreign
  2654.    agent would often become a "black hole" for datagrams destined for
  2655.    the mobile node based on out-of-date binding cache entries at other
  2656.    nodes.  The new foreign agent has no further responsibility for
  2657.    helping to update the binding cache at the previous foreign agent.
  2658.  
  2659.    The mobile node expects to eventually receive a Binding
  2660.    Acknowledgement message from its previous foreign agent, signifying
  2661.    that the Binding Update message was received.  If the acknowledgement
  2662.    has not been received after sufficient time, the mobile node is
  2663.    responsible for retransmitting another Binding Update message to its
  2664.    previous foreign agent.  Although the previous foreign agent may
  2665.    have already received and processed the Binding Update message (the
  2666.    Binding Acknowledge message may have been lost in transit to the new
  2667.    foreign agent), the mobile node should continue to retransmit its
  2668.    Binding Update message until the previous foreign agent responds with
  2669.    a Binding Acknowledgement.
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688. Johnson and Perkins            Expires 26 May 1996             [Page 44]
  2689.  
  2690. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2691.  
  2692.  
  2693. References
  2694.  
  2695.    [1] CDPD Consortium.  Cellular Digital Packet Data system
  2696.        specification.  Release 1.0, July 1993.
  2697.  
  2698.    [2] W. Diffie and M. E. Hellman.  New directions in cryptography.
  2699.        IEEE Transactions on Information Theory, IT-22(6):644--654,
  2700.        November 1976.
  2701.  
  2702.    [3] Ralph Droms.  Dynamic Host Configuration Protocol.  RFC 1541,
  2703.        October 1993.
  2704.  
  2705.    [4] Donald E. Eastlake 3rd, Stephen D. Crocker, and Jeffrey I.
  2706.        Schiller.  Randomness recommendations for security.  RFC 1750,
  2707.        December 1994.
  2708.  
  2709.    [5] Stan Hanks, Tony Li, Dino Farinacci, and Paul Traina.  Generic
  2710.        Routing Encapsulation (GRE).  RFC 1701, October 1994.
  2711.  
  2712.    [6] David B. Johnson and Charles Perkins, editors.  Mobility support
  2713.        in IPv6.  Internet Draft, draft-ietf-mobileip-ipv6-02.txt,
  2714.        November 1996.  Work in progress.
  2715.  
  2716.    [7] Charles Perkins, editor.  IP mobility support.  RFC 2002, October
  2717.        1996.
  2718.  
  2719.    [8] RSA Laboratories.  RSAREF(TM) 2.0:  A free cryptographic toolkit,
  2720.        April 1994.
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744. Johnson and Perkins            Expires 26 May 1996             [Page 45]
  2745.  
  2746. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2747.  
  2748.  
  2749. Appendix A. Using a Master Key at the Home Agent
  2750.  
  2751.    Rather than storing each mobility security association that it has
  2752.    established with many different correspondent nodes and foreign
  2753.    agents, a home agent may manage its mobility security associations so
  2754.    that each of them can be generated from a single "master" key.  With
  2755.    the master key, the home agent could build a key for any given other
  2756.    node by computing the node-specific key as
  2757.  
  2758.       MD5(node-address || master-key || node-address)
  2759.  
  2760.    where node-address is the IP address of the particular node for which
  2761.    the home agent is building a key, and master-key is the single master
  2762.    key held by the home agent for all mobility security associations it
  2763.    has established with correspondent nodes.  The node-specific key is
  2764.    built by computing an MD5 hash over a string consisting of the master
  2765.    key with the node-address concatenated as a prefix and as a suffix.
  2766.  
  2767.    Using this scheme, when establishing each mobility security
  2768.    association, the network administrator managing the home agent
  2769.    computes the node-specific key and communicates this key to the
  2770.    network administrator of the other node through some "secure"
  2771.    channel, such as over the telephone.  The mobility security
  2772.    association is configured at this other node in the same way as any
  2773.    mobility security association.  At the home agent, though, no record
  2774.    need be kept that this key has been given out.  The home agent need
  2775.    only be configured to know that this scheme is in use for all of its
  2776.    mobility security associations (perhaps only for specific set of its
  2777.    mobile nodes).
  2778.  
  2779.    When the home agent then needs a mobility security association as
  2780.    part of Route Optimization, it builds the node-specific key based on
  2781.    the master key and the IP address of the other node with which it
  2782.    is attempting to authenticate.  If the other node knows the correct
  2783.    node-specific key, the authentication will succeed; otherwise, it
  2784.    will fail as it should.
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800. Johnson and Perkins            Expires 26 May 1996             [Page 46]
  2801.  
  2802. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2803.  
  2804.  
  2805. Chairs' Addresses
  2806.  
  2807.    The working group can be contacted via the current chairs:
  2808.  
  2809.         Jim Solomon
  2810.         Motorola, Inc.
  2811.         1301 E. Algonquin Rd.
  2812.         Schaumburg, IL  60196
  2813.         USA
  2814.  
  2815.         Phone:  +1 847 576-2753
  2816.         E-mail: solomon@comm.mot.com
  2817.  
  2818.  
  2819.         Erik Nordmark
  2820.         Sun Microsystems, Inc.
  2821.         2550 Garcia Avenue
  2822.         Mt. View, CA  94041
  2823.         USA
  2824.  
  2825.         Phone:  +1 415 786-5166
  2826.         Fax:    +1 415 786-5896
  2827.         E-mail: nordmark@sun.com
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856. Johnson and Perkins            Expires 26 May 1996             [Page 47]
  2857.  
  2858. INTERNET-DRAFT     Route Optimization in Mobile IP      26 November 1996
  2859.  
  2860.  
  2861. Authors' Addresses
  2862.  
  2863.    Questions about this document can also be directed to the authors:
  2864.  
  2865.         David B. Johnson
  2866.         Carnegie Mellon University
  2867.         Computer Science Department
  2868.         5000 Forbes Avenue
  2869.         Pittsburgh, PA  15213-3891
  2870.         USA
  2871.  
  2872.         Phone:  +1 412 268-7399
  2873.         Fax:    +1 412 268-5576
  2874.         E-mail: dbj@cs.cmu.edu
  2875.  
  2876.  
  2877.         Charles Perkins
  2878.         IBM Corporation
  2879.         T. J. Watson Research Center
  2880.         Room H3-D34
  2881.         30 Saw Mill River Rd.
  2882.         Hawthorne, NY  10532
  2883.         USA
  2884.  
  2885.         Phone:  +1 914 789-7350
  2886.         Fax:    +1 914 784-6205
  2887.         E-mail: perk@watson.ibm.com
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912. Johnson and Perkins            Expires 26 May 1996             [Page 48]
  2913.