Mobile IP Working Group                              Milind Kulkarni
   INTERNET-DRAFT                                          Alpesh Patel
   Category: Standards Track                                 Kent Leung
   Date    : 8 January 28 April 2004                           Cisco Systems Inc.

                   Mobile IPv4 Dynamic Home Agent Assignment
                   draft-ietf-mip4-dynamic-assignment-00.txt
                   draft-ietf-mip4-dynamic-assignment-01.txt

   Status of this Memo

        This document is an Internet-Draft and is in full conformance
        with all provisions of Section 10 of RFC2026.

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

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

        The  list  of  current  Internet-Drafts  can  be  accessed  at
        http://www.ietf.org/ietf/1id-abstracts.txt

        The list of Internet-Draft Shadow Directories can be accessed at
        http://www.ietf.org/shadow.html.

   Abstract

        Mobile IP (RFC 3344) uses the Home Agent (HA) to anchor
        sessions of a roaming Mobile Node (MN). This draft proposes a
        messaging mechanism for dynamic home agent assignment and HA
        redirection. The goal is to provide a mechanism to assign an
        optimal HA for a Mobile IP session while allowing any suitable
        method for HA selection.

        Table of Contents

     1. Introduction......................................................2 Introduction.....................................................2
     2. Terminology.......................................................3
     3. Problem Statement.................................................4
     3.1 Scope............................................................5
     3.2 Dynamic Home Agent Discovery in RFC 3344.........................5
     3.3 NAI usage and dynamic HA assignment..............................5
     3.4 Dynamic HA extension.............................................5
     3.4.1 Redirected HA address extension..................................5 extension........................................6
     3.4.2 Requested HA extension.........................................6
     4. Messaging mechanism for dynamic HA assignment/redirection.........6 assignment/redirection.........7
     4.1 Messaging for dynamic HA assignment..............................6 assignment..............................7
     4.1.1 Example with Message Flow Diagram..............................6 Diagram..............................7
     4.2 Messaging for HA redirection.....................................8 redirection.....................................9
     4.2.1 Example with Message Flow Diagram..............................9
     4.2.2 HA Rejects Registration Request and suggests redirection.......9 Diagram.............................10
     5. Mobility Agent Considerations for dynamic HA assignment..........10 assignment..........11
     5.1 Mobile Node Considerations......................................10 Considerations......................................11
     5.1.1 MN using FA CoA...............................................11 CoA...............................................12
     5.1.2 MN using Collocated CoA.......................................11 CoA.......................................12
     5.1.3 Refreshing Assigned HA Address on Mobile Node.................12 Node.................13
     5.2 Foreign Agent Considerations....................................12 Considerations....................................13
     5.3 Home Agent Considerations.......................................12 Considerations.......................................13
     5.3.1 Assigned Home Agent Considerations............................13 Considerations............................14
     6. Requested Home Agent Selection...................................15 Selection...................................16
     7. Error Values.....................................................16 Values.....................................................17
     8. IANA Considerations..............................................16 Considerations..............................................17
     9. Security Considerations..........................................17
     9.1 Message Authentication Codes....................................17
     9.2 Areas of Security Concern in this Protocol......................17 Protocol......................18
     10. Backward Compatibility Considerations...........................18
     11. Change Log......................................................18 Log from previous version................................19
     12. Intellectual Property Rights....................................18 Rights....................................19
     13. Acknowledgements................................................19
     14. References......................................................19
     Authors' Addresses..................................................20
     Full Copyright Statement............................................20
     Intellectual Property...............................................21
     Acknowledgement.....................................................21

   1. Introduction

        This document adds to the Mobile IP protocol [1], by proposing
        a messaging mechanism for dynamic home agent assignment and
        home agent redirection during initial registration. The goal is
        to assign an optimal HA for a Mobile IP session.  The mobile
        node MUST use Network Access Identifier (NAI) extension for
        home address assignment.

        MN requests the network to dynamically assign an HA by setting
        HA field to ALL-ZERO-ONE-ADDR (defined in next section) in
        initial Registration Request. If the request is accepted, the
        HA field in successful Registration Reply contains the HA
        address. The requested HA can suggest an alternate HA and if
        so, the Registration Reply is rejected with a new error code
        (REDIRECT-HA-REQ) and the alternate HA address is specified in
        a new extension (REDIRECTED-HA-ADDRESS).

        Alternately, MN can set the HA field to a unicast address. The
        HA receiving the Registration Request can suggest an alternate (Redirected HA and if so, extension).

        If the Registration Reply RRQ is rejected with Redirected HA extension or if the
        MN wishes to register at a new
        error code (REDIRECT-HA-REQ) and specific HA, MN can put the alternate HA
        address is
        specified in a new the Requested HA extension (REDIRECTED-HA-ADDRESS). in Registration Request.
        The HA
        can reject address in Requested HA extension is a hint to the request if
        network where the MN may be anchored. The HA in request does not match any
        of its own addresses. field is set to
        ALL-ZERO-ONE-ADDRESS for dynamic HA assignment.

        The messaging mechanism proposed here is generic and can be
        used as a common foundation to facilitate dynamic HA assignment
        using  any  suitable  method.  No  specific  method  is  either
        mandated or suggested. The HA receiving Registration Request
        may suggest an alternate HA (HA redirection) for a number of
        reasons;  including  but  not  limited  to  HA  load-balancing,
        geographical proximity, administrative policy etc.

   2. Terminology

        ALL-ZERO-ONE-ADDR: IP address 0.0.0.0 or 255.255.255.255. An
                          address  of  255.255.255.255  would  indicate
                          assigning HA in home domain. An address of
                          0.0.0.0 would mean MN just needs a dynamic
                          HA, it does not care whether in home or
                          visited domain.

        Requested HA:     Destination IP address of Home Agent that the
                          first Registration Request is sent to. Must
                          be a unicast IP address. This address can be
                          obtained as described in section 5.4.

        Assigned HA:      If  registration  is  successful,  this  Home
                          Agent  address  field  is  obtained  from
                          successful Registration Reply.

        Redirected HA:    If the registration is rejected with error
                          code (REDIRECT-HA-REQ), the HA being referred
                          to  is  specified  in  a  new  extension
                          (REDIRECTED-HA-ADDRESS).
                          (Redirected HA extension).

        AAA server:       Authentication, Authorization and Accounting
                          Server.

        DNS:              Domain Name Service.

        DHCP:             Dynamic Host Configuration Protocol.

        MN:               Mobile Node as defined in RFC 3344.

        HA:               Home Agent as defined in RFC 3344.

        FA:               Foreign Agent as defined in RFC 3344.

        CoA:              Care of Address.

        CCoA:             Collocated Care of Address.

        MN HoA:           Mobile Node's Home Address.

        NAI:              Network Access Identifier [2].

        Src IP:           Source IP address of the packet.

        Dest IP:          Destination IP address of the packet.

   3. Problem Statement

        Mobile IPv4 NAI Extension for IPv4 [2] introduced the concept
        of identifying a MN by the NAI and enabling dynamic home
        address  assignment.  When  the  home  address  is  dynamically
        assigned,  it  is  desirable  to  discover  the  Home  Agent
        dynamically or inform the MN about an optimal HA to use for a
        multitude of reasons, such as:

        - If the distance between the visited network and the home
        network of the mobile node is large, the signaling delay for
        these registrations may be long. In such a case the MN will be
        anchored to its distant home agent, resulting in tunneled
        traffic traveling a long distance between home agent and the
        mobile node. When a Mobile IP session initiates, if the mobile
        node can be assigned an a home agent agent, which is close to the mobile
        node
        node, it can drastically reduce the latency between the home
        agent and mobile node.

        - Also, in a large scale Mobile IP deployment, it is cumbersome
        to provision MNs with multiple HA addresses.

        - It is desirable to achieve some form of load balancing
        between multiple HAs in the network. Dynamic HA assignment
        and/or HA redirection lets the network select the optimal HA
        from among a set of HAs and thus achieve load balancing among a
        group of HAs.

        - Local administrative policies is yet another reason for
        dynamic HA assignment/HA redirection during the start of a
        Mobile IP session.

        - The problem of discovering a Mobile nodeÆs node’s HA address is
        acknowledged in the MIPv6 working group as part of [8].

   3.1 Scope

        This specification assumes that the Mobile Node and Assigned
        Home Agent are in the same administrative domain. The scenario
        where the Mobile Node and its anchoring Assigned Home Agent are
        in different administrative domain is beyond the scope of this
        specification.

        The draft introduces the terms Requested/Assigned/Redirected HA
        (section 5.4). These terms are merely HA addresses and used for
        depending upon the direction of the registration request or
        reply. The discovery of Requested/Assigned/Redirected HA can be
        done by various means, which are network and/or deployment
        specific    and    hence    this    discovery/assignment    of
        Requested/Assigned/Redirected HA is kept outside the scope of
        this specification.

   3.2 Dynamic Home Agent Discovery in RFC 3344

        Mobile IP RFC 3344 specifies the mechanism for discovering the
        mobile node's home agent using subnet-directed broadcast IP
        address in the home agent field of the Registration Request.
        This mechanism was designed for mobile nodes with a static home
        address and subnet prefix, anchored on fixed home network.  But
        using subnet-directed broadcast as the destination IP address
        of  the  Registration  Request,  it  is  unlikely  that  the
        Registration Request will reach the home subnet because routers
        will drop these packets by default. See CERT Advisory CA-1998-
        01 Smurf IP Denial-of-Service Attacks [3].

   3.3 NAI usage and dynamic HA assignment

        Mobile IPv4 NAI Extension for IPv4 [2] introduced the concept
        of identifying a MN by the NAI and enabling dynamic home
        address assignment. This document mandates that while using
        dynamic HA assignment, MN MUST use NAI and obtain a home
        address.  MN  can  still  suggest  a  static  home  address  in
        Registration Request, but must take the address in Registration
        Reply as the home address for the session. This reference to
        obtaining home address using NAI is as per [2].

   3.4 Redirected Dynamic HA address extension
        The  Redirected Dynamic HA  address extension, shown in figure 1, contains the
        address of the HA where the MN should attempt the
        next registration. It HA. This is a skippable generic extension and MUST can be
        included used
        in Registration Request and Reply when the reply code messages. It is REDIRECT-
        HA-REQ. a skippable
        extension.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |  Sub-Type     |           Length              |        Redirected-HA-Address
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           HA-Address...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 1: The Redirected Dynamic HA address Extension

         Type       REDIRECTED-HA-ADDRESS       DYNAMIC-HA-ADDRESS (skippable) [1] (to be
                    assigned by IANA) is the type, which specifies the
                    dynamic HA address.

         Sub-Type   is a unique number given to each member in the
                    aggregated type.

         Length     4     Indicates the length of the extension not including
                    the type, sub-type and length fields.

         HA-Address The address of redirected HA

   4. Messaging mechanism for dynamic

   3.4.1 Redirected HA assignment/redirection

   4.1 Messaging for dynamic extension

        The format of the Redirected HA assignment extension is as defined in
        section 3.4. This extension uses the subtype value of 1. MN sets This
        extension has the Home Agent address length field in the Registration
             Request set to ALL-ZERO-ONE-ADDR.
          2. 4.

        The MN (if using collocated CoA) or FA (if using FA CoA)
             sends Redirected HA extension, contains the Registration Request to address of the "Requested HA".
          3. "Requested HA" HA
        where the MN should attempt the next registration. The HA
        receiving a Registration Request can suggest an alternate HA
        and if so, the Registration Reply is rejected with a new error
        code  (REDIRECT-HA-REQ)  and  the  alternate  HA  address  is
        specified in this extension.

        It MUST be included in Registration Reply when the reply code
        is REDIRECT-HA-REQ.

   3.4.2 Requested HA extension
        The format of the Requested HA address extension is as defined
        in section 3.4. This extension uses the subtype value of 2.
        This extension has the length field set to 4.

        MN may include the Requested HA extension in the registration
        request as a hint to the network where it wishes to be
        anchored. This extension contains the address of the HA. A
        valid unicast IP address MUST be used as HA address in this
        extension.

        In absence of an FA, the RRQ is forwarded to this HA. In
        presence of an FA, FA MUST forward RRQ to the HA address in
        this extension.

   4. Messaging mechanism for dynamic HA assignment/redirection

   4.1 Messaging for dynamic HA assignment

          1. MN sets the Home Agent address field in the Registration
             Request to ALL-ZERO-ONE-ADDR.

             If the MN is aware of an HA address, it can add that
             address in the Requested HA extension in Registration
             Request.
          2. The MN (if using collocated CoA) or FA (if using FA CoA)
             sends the Registration Request to the "Requested HA".

             If the Requested HA extension is present, Requested HA is
             the HA address in this extension.
          3. "Requested HA" is the home agent, which processes the
             Registration Request in accordance with RFC 3344 and as
             per  the  specification  in  this  document.  It  creates
             mobility binding for successful Registration Request. It
             also sends Registration Reply to the MN.
          4. The MN obtains an "Assigned HA" address from the HA field
             in the successful Registration Reply and uses it for the
             remainder of the session.
          5. Subsequent Registration Request messages for renewal are
             sent to the Assigned HA.

        Section 5.3.1 describes the Assigned HA in detail. Some ideas
        on how to select the Requested HA are briefly covered in
        section 6.

   4.1.1 Example with Message Flow Diagram

        Detailed explanation of this specification is best described
        with the help of a railroad diagram and description.

        Figure 2 shows one specific example of a Mobile Node using FA
        Care of Address.

        Other scenarios such as mobile node using collocated care of
        address are not described below, but the behavior is similar.

           MN            FA          Requested/Assigned HA
           |      1      |                |
           |------------>|       2        |
           |             |--------------->|
           |             |                |
           |             |                |
           |             |       3        |
           |      4      |<---------------|
           |<------------|                |
           |             |                |
           |             |       5        |
           |----------------------------->|
           |             |                |

           Figure 2: Example of Message flows for the specification

        1. MN sets the Home Agent address field in the Registration
        Request to ALL-ZERO-ONE-ADDR. Since MN is using FA CoA in this
        example, it sends the Registration Request to the FA. The
        Registration Request looks as follows:

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |  MN    |    FA      |         | ALL-ZERO-ONE-ADDR |FA CoA |
        +-----------------------------------------------------------+

        2. The FA sends the Registration Request to

        If the Requested HA.
        The Registration Request looks:

        +-----------------------------------------------------------+ MN is aware of an HA address, it can add that address in
        the  Requested  HA  extension  in  Registration  Request.  That
        extension is not shown above.

        2. The FA sends the Registration Request to the Requested HA.
        The Registration Request looks as follows:

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |  FA    |Requested HA|         | ALL-ZERO-ONE-ADDR |FA CoA |
        +-----------------------------------------------------------+

        If MN had included the Requested HA extension, the Registration
        Request is sent to the HA address in that extension.

        3. HA processes the Registration Request in accordance with RFC
        3344 and the messaging defined in this document and document. HA creates
        mobility  binding  for  successful  request.  HA  then  sends
        Registration Reply to the FA, which looks as follows. The
        Assigned  HA  address  corresponds  to  the  HA  receiving  and
        processing the request (and is same as Requested HA, only the
        name is changed for registration reply).

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |Assigned|CoA or NATed|         |    Assigned HA    |FA CoA/|
        |   HA   | Src IP     |         |                   |       |
        +-----------------------------------------------------------+

        4. The FA relays the Registration Reply to the MN, as follows.

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |  FA    |    MN      |         |    Assigned HA    |FA CoA/|
        +-----------------------------------------------------------+

        5. The MN obtains Assigned HA address from the HA field in the
        successful Registration Reply and uses it for the remainder of
        the  session.  MN  sends  subsequent  Re-Registration  or  De-
        Registration Requests for the remaining session directly to the
        Assigned HA.

   4.2 Messaging for HA redirection

          1. MN sets the Home Agent address field in the Registration
             Request to ALL-ZERO-ONE-ADDR or unicast address. ALL-ZERO-ONE-ADDR.
          2. The MN (if using collocated CoA) or FA (if using FA CoA)
             sends the Registration Request to the "Requested HA". If
             the MN is aware of an HA address, it can add that address
             in the Requested HA extension in Registration Request.

          3. When HA receives the Registration Request, if the unicast
             HA address in Request does not match any of its addresses,
             HA can reject the request with Reply code REDIRECT-HA-REQ
             and suggest an alternate HA.

             If the HA field
             is set to ALL-ZERO-ONE-ADDR, HA may reject the request
             with Reply code REDIRECT-HA-REQ and suggest an alternate
             HA.

             HA may reject the Request for a number of reasons, which
             are outside the scope of this specification. If the HA
             rejects the Request, the HA field in the Reply is set to
             this HAs address. The HA that is being referred to is
             specified in REDIRECTED-HA-ADDRESS Redirected HA extension. The presence of this
             extension is mandatory when the reply code is set to
             REDIRECT-HA-REQ. HA sends the Reply to the FA/MN
          4. FA sends the Reply to the MN.

          5. If the error code is set to REDIRECT-HA-REQ, MN obtains
             the HA address from REDIRECTED-HA-ADDRESS Redirected HA extension and sends a
             Registration Request to this HA.

   4.2.1 Example with Message Flow Diagram

        Figure 3 shows one specific example of a Mobile Node using FA
        Care of Address.

           MN           FA      Requested HA       Redirected HA
           |      1      |                |                     |
           |------------>|       2        |                     |
           |             |--------------->|                     |
           |             |                |                     |
           |             |                |                     |
           |             |       3        |                     |
           |      4      |<---------------|                     |
           |<------------|                |                     |
           |             |                |                     |
           |             |       5        |                     |
           |------------------------------------------------->  |
           |             |                |                     |

           Figure 3: Example of Message flows for the specification

   4.2.2 HA Rejects Registration Request and suggests redirection

        1. MN sets the Home Agent address field in the Registration
        Request to ALL-ZERO-ONE-ADDR or unicast HA address. Since MN is using FA CoA
        in this example, it sends the Registration Request to the FA.
        The Registration Request looks as follows:

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |  MN    |    FA      |         | ALL-ZERO-ONE-ADDR |FA CoA |
        |        |            |         | or unicast addr   |       |
        +-----------------------------------------------------------+

        If the MN is aware of an HA address, it can add that address in
        the  Requested  HA  extension  in  Registration  Request.  That
        extension is not shown above.

        2. The FA sends the Registration Request to the Requested HA.
        Note that the
        If Requested HA could be different from extension is present, Requested HA is the unicast HA
        address in the Request. this extension. The Registration Request looks: looks as
        follows:

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |  FA    |Requested HA|         | ALL-ZERO-ONE-ADDR |FA CoA |
        |        |            |         | or unicast addr   |       |
        +-----------------------------------------------------------+

        3. HA processes the Registration Request in accordance with RFC
        3344 and the messaging defined in this document. If the
        registration   is   successful,   but   local   configuration/
        administrative policy etc. directs HA to refer the MN to
        another HA, HA rejects the Request with error code REDIRECT-HA-
        REQ. HA fills in the address of the directed HA in the
        REDIRECTED-HA-ADDRESS
        Redirected HA extension. HA then sends Registration Reply
        reject to the FA, which looks as follows:

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |        |CoA or NATed|         |       HA          |FA CoA |
        |   HA   | Src IP     |         |                   |       |
        +-----------------------------------------------------------+
        | REDIRECTED-HA-ADDRESS Redirected HA extension                           | ...
        +-----------------------------------------------------------+

        4. The FA relays the Registration Reply to the MN, as follows.

        +-----------------------------------------------------------+
        | Src IP=| Dest IP =  | MN HoA  |    HA Address =   | CoA = |
        |  FA    |    MN      |         |       HA          |FA CoA/|
        +-----------------------------------------------------------+
        | REDIRECTED-HA-ADDRESS Redirected HA extension                           | ...
        +-----------------------------------------------------------+

        5. If MN can authenticate the Reply, MN extracts the HA address
        from REDIRECTED-HA-ADDRESS Redirected HA extension and sends Registration Request to
        this HA.

   5. Mobility Agent Considerations for dynamic HA assignment

        Following sections describe the behavior of each mobility agent
        in detail.

   5.1 Mobile Node Considerations

        The mobile node MUST use NAI extension for home address
        assignment when using the messaging mechanism in this document.
        A
        While dynamic HA assignment is in progress and MN has not
        successfully anchored at a Home Agent, mobile node MUST set the
        Home Agent field in the Registration Request to a unicast address or an ALL-ZERO-ONE-ADDR, ALL-ZERO-
        ONE-ADDR, which is either 255.255.255.255 or 0.0.0.0.

        The  Registration  Request  MUST  be  protected  by  a  valid
        authenticator as specified in [1] or [5]. Configuring security
        associations is deployment specific and hence outside the scope
        of this specification. The security associations between a MN
        and an individual HA may also be dynamically derived during the
        dynamic HA assignment, based on a shared secret between MN and
        AAA infrastructure.

        The mobile node must maintain the remaining Mobile IP session
        with the Assigned HA. Following sections describe MN behavior
        in FA CoA mode and collocated CoA mode.

   5.1.1 MN using FA CoA

        When a mobile node initiates Mobile IP session, session requesting
        dynamic HA assignment, it MUST set the home agent address field
        in  the  Registration  Request  to unicast
        address or  ALL-ZERO-ONE-ADDR.  The
        destination IP address of Registration Request is the FA. The
        FA will determine the Requested HA and forward the Registration
        Request to the Requested HA. Registration Request processing
        takes place on the Requested HA as per the specification in
        this draft.

        The Registration Request MUST be appropriately authenticated
        for the HA to validate the Request.

        If  successful  Registration  Reply  is  received,  MN  obtains
        Assigned HA from the HA field of Reply.

        If Registration Reply is received with code REDIRECT-HA-REQ, MN
        MUST authenticate the Reply based on HA address in HA field of
        Reply and attempt Registration with the HA address specified in
        the REDIRECTED-HA-ADDRESS Redirected HA extension.

   5.1.2 In some cases, MN using Collocated CoA

        Mobile Node in collocated CoA mode MUST set the home agent
        address field in may want to hint
        to the Registration Request network to unicast be anchored at a specific HA. In both these
        cases, MN MUST put the HA address or in the Requested HA extension
        in Registration Request.

   5.1.2 MN using Collocated CoA

        Mobile  Node  in  collocated  CoA  mode  requesting  dynamic  HA
        assignment MUST set the home agent address field in the
        Registration Request to ALL-ZERO-ONE-ADDR. The destination IP
        address of the Registration Request is the Requested HA. Some
        ideas to select a Requested HA are briefly covered in section
        6.

        If successful Reply is received, the MN obtains Assigned HA
        address from successful Registration Reply. The MN MUST cache
        the Assigned HA address for the length of the Mobile IP
        session. The mobile node then MUST use this previously cached
        Assigned HA address as the home agent address in subsequent re-
        registration and de-registration request(s). This will make
        sure that the mobile node will always be anchored to the
        assigned home agent with which it was initially registered.

        If Registration Reply is received with code REDIRECT-HA-REQ, MN
        MUST authenticate the Reply based on HA address in HA field of
        Reply and attempt Registration with the HA address specified in
        the REDIRECTED-HA-ADDRESS Redirected HA extension. In some cases, MN may want to hint
        to the network to be anchored at a specific HA. In both these
        cases, MN MUST put the HA address in the Requested HA extension
        in Registration Request.

        While requesting dynamic HA assignment in collocated CoA mode,
        Requested HA extension must always be included.

   5.1.3 Refreshing Assigned HA Address on Mobile Node

        When the Mobile IP session terminates, the mobile node MAY
        clear the Assigned HA address cached as the home agent address.
        It MAY request a new HA address for the new Mobile IP session. session
        by not including the Requested HA extension. The advantage of
        this approach is that the mobile node will be always anchored
        to an optimal home agent from where it initiated Mobile IP
        session.

        Alternately, MN may save the Assigned HA address and use it in
        the Requested HA extension along with ALL-ZERO-ONE HA address
        in Registration Request.

   5.2 Foreign Agent Considerations

        When the mobile node is using foreign agent CoA, it sends the
        Registration Request to the foreign agent. When the FA receives
        a Registration Request with HA address field set to ALL-ZERO-
        ONE-ADDR, it obtains the Requested HA address to forward the
        Registration Request. Some ideas to select a Requested HA are
        briefly covered in section 6.

        If  the  FA  cannot  obtain  the  Requested  HA  to  forward  a
        Registration Request from MN, it MUST reject request with error
        code NONZERO-HA-REQD.

        If the MN has included the Requested HA extension, FA MUST
        forward Registration Request to the address in this extension.
        If the HA address in this extension is not a routable unicast
        address, FA MUST reject request with error code NONZERO-HA-
        REQD.

        Backward compatibility issues related to the mobility agents
        are addressed in section 9.

   5.3 Home Agent Considerations
        Home Agent can process an incoming Registration Request in one
        of the following three ways:

        MN or FA sends the Registration Request to the Requested HA.
        The  term  Requested  HA  has  meaning  in  context  of  the
        Registration   Request   message.   When   the   Requested   HA
        successfully  processes  Registration  Request  and  creates  a
        binding and sends a Reply with its address, it becomes the
        Assigned HA. The term Assigned HA is meaningful in context of a
        Registration Reply message.

        Home Agent receiving the request with HA field set to ALL-ZERO-
        ONE-ADDR  MAY  reject  the  request  even  if  successfully
        authenticated  for  a  multitude  of  reasons  and  suggest  an
        alternate HA address in Reply. In such a case, the HA puts its
        own address in HA field of Reply and sets the Reply code to
        REDIRECT-HA-REQ and adds the REDIRECTED-HA-ADDRESS extension.

        Home Agent receiving the request with Redirected HA field set to a unicast
        address not matching any of its addresses MUST reject extension.

        If  the
        request  even  if  successfully  authenticated.  This  rejected
        message has  Registration  Request  contains  the code 136 as defined in RFC3344 (3.8.3.2).  Requested  HA
        may reject
        extension, the message with code REDIRECT-HA-REQ and suggest
        an alternate HA to use address in that extension must match the REDIRECTED-HA-ADDRESS extension.
        destination IP of the Request.

   5.3.1 Assigned Home Agent Considerations

        The HA that processes the incoming Registration Request fully
        in accordance with RFC 3344 and this specification becomes the
        Assigned  HA.  The  Registration  Request  terminates  at  the
        Assigned HA.

        The  Assigned  HA  creates  mobility  bindings  and  sends
        Registration Reply to the MN by copying its address in the home
        agent field and as the source IP address of the Reply.

        There are two IP addresses to consider, destination IP address
        and Home Agent address field in the Registration Request.  When
        destination IP address is unicast, only one HA receives the
        Registration Request.  This HA should unambiguously accept or
        deny the registration, regardless of the value in the Home
        Agent field.  When the Home Agent field is non-unicast, the HA
        should set the value to its own IP address in the Registration
        Reply.

        The following table summarizes the behavior of Assigned HA.

        No. Dest IP Addr  HA field      Processing at Assigned HA
        --  ------------  ------------ ------------------------- -------------------------------
        1   Unicast       Unicast    û RFC 3344: Normal HA processing
                          Same as Dest per RFC 3344.
                          IP addr

                          Unicast    û       non-unicast  RFC   3344:   HA   denies   the
                          Different
                                       registration  with  error  code
                          than Dest IP
                                       136 and sets HA field to its
                          Addr
                                       own IP address in the reply as
                                       per section 3.8.3.2.

                                                     OR

                          ALL-ZERO-    New Behavior:    Dest    IP
                                        corresponds to the HA receiving
                                        RRQ,   if   authentication   is
                                        successful, reject RRQ with a
                                        new  error  code  (REDIRECT-HA-
                                        REQ). HA puts its address in HA
                                        address  field  of  Reject.  HA
                                        suggests an alternate HA to use
                                        in   the   new   REDIRECTED-HA-
                                        ADDRESS extension.

        2   Unicast       non-unicast  RFC   3344:   HA   denies   the
                                       registration  with  error  code
                                       136 and sets HA field to its
                                       own IP address in the reply as
                                       per section 3.8.3.2.

                          ALL-ZERO-    New Behavior: Accept Accept the RRQ as
                          ONE-ADDR     per     this     specification.
                                        Authenticate the RRQ and create
                                        mobility binding if the HA is
                                        acting as Assigned HA. Set HA
                                        field to its own IP address in
                                        the Registration Reply.

                                                   OR

                                        New    Behavior:    Dest    IP
                                        corresponds to the HA receiving
                                        RRQ,   if   authentication   is
                                        successful, reject RRQ with a
                                        new  error  code  (REDIRECT-HA-
                                        REQ). HA puts its address in HA
                                        address  field  of  Reject.  HA
                                        suggests an alternate HA to use
                                        in  the  new   REDIRECTED-HA-
                                        ADDRESS extension

        3   Non-unicast   Unicast      RFC 3344: HA rejects with error
                                        code 136 and sets HA field to
                                        its own IP address in the reply
                                        per section 3.8.2.1.

        4   Non-unicast   Non-unicast  RFC 3344: HA rejects with error
                                        code 136 and sets  Redirected  HA field to
                                        its own IP address in the reply
                                        per section 3.8.2.1.
                                        extension

        Table 1: Registration Request handling at Assigned HA

        This  specification proposes an enhancement to case #1 from RFC
        3344.  As  per  this  specification,  when  a  HA  receives  a
        Registration Request and the HA address (unicast) does not
        match its own address(es), HA can reject the request with the
        error code REDIRECT-HA-REQ and suggest an alternate HA. This
        redirection  can  be  used  for  load-balancing,  geographical
        proximity based on care-of-address or a multitude of reasons.
        HA puts its own address in HA field on Registration Reply
        message and put the address of the redirected HA in the
        REDIRECTED-HA-ADDRESS extension.

        This  specification  also  proposes  a  subtle  difference  in
        behavior for case #2 #1 above from RFC 3344.  As per the messaging
        proposed here, the mobile node (or the foreign agent) sends the
        Registration Request to the Requested HA address, which is a
        unicast address. Because HA does not receive Registration
        Request that is sent to the subnet-directed broadcast address,
        RFC 3344 section 3.8.2.1 doesn't apply.  Although the Home
        Agent field in the Registration Request is not a unicast
        address, the destination IP address is a unicast address.  This
        avoids the problem associated with subnet-directed broadcast
        destination  IP  address  that  may  result  in  multiple  HAs
        responding.  Thus, there is no need to deny the registration as
        stated in RFC 3344 section 3.8.3.2.

        When the destination IP address is a unicast address and Home
        Agent  field  is  ALL-ZERO-ONE-ADDR,  the  HA  accepts/denies
        registration and sets HA field to its own IP address in the
        reply (i.e. registration is not rejected with error code 136).
        HA can reject the request with the error code REDIRECT-HA-REQ
        and suggest an alternate HA. This redirection can be used for
        load-balancing, geographical proximity based on care-of-address
        or a multitude of reasons. HA puts its own address in HA field
        on Registration Reply message and put the address of the
        redirected HA in the REDIRECTED-HA-ADDRESS Redirected HA extension. If HA accepts the
        Request, HA field in Reply is set to this HA address.

        The Assigned HA performs standard validity checks on the
        Registration Request. If there is any error, the Registration
        Request is rejected with error codes specified in RFC 3344.

   6. Requested Home Agent Selection

        The destination IP address of the first Registration Request in
        the Mobile IP session when
        dynamic HA assignment is requested, is the Requested HA.  This
        address MUST be a unicast IP address. If the MN has included a
        Requested HA extension in Registration Request, the HA address
        in this extension is the Requested HA.

        Some ideas on how to select the Requested HA are briefly
        covered in this section, however this draft neither suggests
        nor mandates any specific mechanism. There can be more methods
        for selecting the HA to the MN. Here is a high level overview
        of some possibilities:

        DHCP:

        MN performs DHCP to obtain an IP address on the visited
        network. The Requested HA is learned from the DHCP Mobile IP
        Home  Agent  Option  68  [4].  MN  sends  Registration  Request
        directly to this HA and receives the Assigned HA to be used for
        the remainder of the Mobile IP session.

        AAA:

        MN  performs  challenge/response  [5]  with  the  FA.  The  FA
        retrieves the Requested HA from the AAA server and forwards the
        Registration Request directly to this HA.  The Assigned HA
        sends Registration Reply to the FA, which relays it to the MN.
        MN uses the Assigned HA for the remainder of the Mobile IP
        session.

        DNS:

        In this case hostname of HA is configured on MN or obtained by
        some other means û  e.g. using a service location protocol. MN
        performs DNS lookup on the HA hostname.  The DNS infrastructure
        provides resource record with information to identify the
        nearest HA to the MN.  The MN sends Registration Request
        directly to the HA and receives the Assigned HA to be used for
        remainder of the Mobile IP session.

        Static configuration:

        HA address is statically configured on MN. The MN uses the
        configured address to send the Registration Request.

   7. Error Values

        Each entry in the following table contains the name and value
        for the error code to be returned in a Registration Reply. It
        also includes the section in which the error code is first
        mentioned in this document.

        Error Name       Value  Section   Description
        ----------       -----  -------   -----------------------------
        NONZERO-HA-REQD   XX     5.2     Non-zero HA address required
                                          in Registration Request.
        REDIRECT-HA-REQ   YY     5.3.1   Reregister with suggested redirected HA.

   8. IANA Considerations

        The code value NONZERO-HA-REQD defined in Section 7 7, correspond
        to error values conventionally associated with the rejection by
        the foreign agent (i.e. value in the range 64-127). The code
        value REDIRECT-HA-REQ defined in Section 7 7, correspond to error
        values conventionally associated with the rejection by the home
        agent (i.e. value in the range 128-192).

        The Dynamic HA extension REDIRECTED-HA-ADDRESS defined in section 3.3 3.4 corresponds to
        a skippable extension.

        IANA should record the values as defined in Section 7 and 3.3. 3.4.

   9. Security Considerations

        This specification assumes that the Mobile Node and Assigned
        Home  Agent  are  in  the  same  administrative  domain.  This
        specification does not change or degrade the security model
        established in RFC-3344. Most of the time Mobile Nodes will be
        connected to the network via wireless link. Such links are
        vulnerable to passive eavesdropping, replay attacks or many
        other types of attacks. They are considered below.

   9.1 Message Authentication Codes

        The Registration Request and Registration Reply messages are
        protected by a valid authenticator as specified in RFC 3344.
        Configuring security associations is a deployment specific
        issue and is covered by other specifications in Mobile IP WG.

        There can be many ways of configuring security associations,
        but this specification does not mandate any specific way.

        An example is where the security association between a MN and
        an individual HA (Dynamic or Assigned) is dynamically derived
        during the dynamic HA assignment, based on a shared secret
        between MN and AAA infrastructure, as defined in [7]. The
        Registration Request is protected with MN-AAA authentication
        extension and Registration Reply is protected with MHAE. Since
        the security association is shared between MN and AAA, any
        dynamically  assigned  HA  in  the  local  domain  can  proxy
        authenticate the MN using AAA as per [7].

        The Assigned Home Agent authenticates Registration Request from
        the mobile node as specified in RFC-3344 and RFC-3012. The MN
        also authenticates the Registration Reply from the Assigned HA,
        thus the existing trust model in RFC 3344 is maintained.

   9.2 Areas of Security Concern in this Protocol

        As per the messaging in this draft, the Assigned Home Agent
        will process the incoming Registration Request as per RFC-3344.
        Hence the Assigned Home Agent will have same security concerns
        as that of the Home Agent in RFC-3344. They are addressed in
        Section 5 ôSecurity Considerationsö “Security Considerations” of RFC-3344.

   10. Backward Compatibility Considerations

        Legacy Home Agent:

        Legacy home agents may reject the Registration Request with
        error code 136 because the Home Agent field is not a unicast
        address.  However,  some  legacy  HA  implementations  may
        coincidentally process the Registration Request in accordance
        with this draft, when the HA field in RRQ is set to ALL-ZERO-
        ONE-ADDR.

        Legacy Foreign Agent:

        Legacy foreign agents may forward Registration Request with
        home agent field set to ALL-ZERO-ONE-ADDR by setting the
        destination IP address to ALL-ZERO-ONE-ADDR.  This will result
        packet being dropped or incidentally handled by a next hop HA,
        adjacent to the FA.

        Legacy Mobile Node:

        MN that does not set HA field to ALL-ZERO-ONE-ADDR will
        continue  to  achieve  its  registrations  through  statically
        configured HA. In collocated mode, the endpoint of the MN's
        tunnel is the Assigned HA.

   11. Change Log

        Version 2 is totally revamped from earlier version. The most
        notable changes are:

        Removed references to directed HA/assigned HA. There is no HA
        redirection in the network to incorporate the feedback from
        Pete McCann. The single entity is currently called Assigned HA. previous version

        1. Added a new error code for HA rejection when dst IP is  unicast
        and  HA  address  is  unicast  and  these  two  addresses  are
        different. The subtype field in Redirected HA receiving RRQ rejects Address Extension.
        2. Aligned the RRQ and puts
        another HA in RRP and its source address in RRP.

        Also, when this new error code is used for HA redirection, a
        new at 4-byte world boundary.
        3. The case of handling unicast HA address field is suggested removed in a new extension section
        5.3.1.

   12. Intellectual Property Rights

        The IETF takes no position regarding the validity or scope of
        any intellectual property or other rights that might be claimed
        to pertain to the implementation or use of the technology
        described in this document or the extent to which any license
        under such rights might or might not be available; neither does
        it represent that it has made any effort to identify any such
        rights.  Information on the IETF's procedures with respect to
        rights in standards-track and standards-related documentation
        can be found in BCP-11.  Copies of claims of rights made
        available for publication and any assurances of licenses to be
        made available, or the result of an attempt made to obtain a
        general license or permission for the use of such proprietary
        rights by implementers or users of this specification can be
        obtained from the IETF Secretariat.

        The IETF invites any interested party to bring to its attention
        any  copyrights,  patents  or  patent  applications,  or  other
        proprietary rights, which may cover technology that may be
        required  to  practice  this  standard.    Please  address  the
        information to the IETF Executive Director.

   13. Acknowledgements

        The authors would like to thank Pete McCann for suggestions on
        security considerations and definition of ALL-ZERO-ONE-ADDR.
        Thanks to Kuntal Chowdhury for extensive review and comments on
        this draft. Also thanks to Henrik Levkowetz for detailed
        reviews and suggestions.

        The authors would like to thank Mike Andrews, Madhavi Chandra
        and Yoshi Tsuda for their review and suggestions.

   14. References
   [1]  C. Perkins, "IP Mobility Support for IPv4", RFC 3344, August
        2002.
   [2]  P. Calhoun and C. Perkins, "Mobile IP Network Access Identifier
        Extension for IPv4", RFC 2794, March 2000.
   [3]  D. Senie, "Changing the Default for Directed Broadcasts in
        Routers", RFC 2644, August 1999.
   [4]  S. Alexander and R. Droms, "DHCP Options and BOOTP Vendor
        Extensions", RFC 2132, March 1997.
   [5] C. Perkins and P. Calhoun, "Mobile IPv4 Challenge/Response
        Extensions", RFC 3012, November 2000.
   [6] H. Levkowetz and S. Vaarala, "Mobile IP Traversal of Network
        Address Translation (NAT) Devices", RFC 3519, July 803. April 2003.
   [7] C. Perkins and P. Calhoun, "AAA Registration Keys for Mobile
        IP", draft-ietf-mobileip-aaa-key-13.txt, 22 June 2003.
   [8]  Jari  Arkko,  et.  al.,  ôThoughts  “Thoughts  on  bootstrapping  mobility
        securelyö
        securely” as presented at 57th IETF in Vienna, Austria, 16th
        July, 2003

   Authors' Addresses

        Milind Kulkarni
        Cisco Systems Inc.
        170 W. Tasman Drive,
        San Jose, CA 95134
        USA

        Email: mkulkarn@cisco.com
        Phone:+1 408-527-8382

        Alpesh Patel
        Cisco Systems Inc.
        170 W. Tasman Drive,
        San Jose, CA 95134
        USA

        Email: alpesh@cisco.com
        Phone:+1 408-853-9580

        Kent Leung
        Cisco Systems Inc.
        170 W. Tasman Drive,
        San Jose, CA 95134
        USA

        Email: kleung@cisco.com
        Phone: +1 408-526-5030

   Full Copyright Statement
        Copyright (C) The Internet Society  (2002).    All  Rights
        Reserved. (2004).  This document  and  translations  of  it  may  be  copied  and
        furnished is
        subject to others, and derivative works that comment on or
        otherwise explain it or assist in its implementation may be
        prepared, copied, published and distributed, in whole or in
        part, without restriction of any kind, provided that the above
        copyright notice and this paragraph are included on all such
        copies rights, licenses and derivative works.  However, this document itself may
        not be modified restrictions contained in any way, such as by removing the copyright
        notice or references to the Internet Society or other Internet
        organizations,
        BCP 78 and except as needed for the purpose of developing
        Internet standards in which case the procedures for copyrights
        defined in the Internet Standards process must be followed, or
        as required to translate it into languages other than English.

        The limited permissions granted above are perpetual and will
        not be revoked by set forth therein, the Internet Society or its successors or
        assigns. authors retain all
        their rights.

        This document and the information contained herein is are provided
        on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION
        HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET
        SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS DISCLAIM ALL
        WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
        ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
        INFRINGE  ANY  RIGHTS  OR  ANY  IMPLIED        WARRANTIES  OF
        MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

   Intellectual Property

        The IETF takes no position regarding the validity or scope of
        any Intellectual Property Rights or other rights that might be
        claimed  to  pertain  to  the  implementation  or  use  of  the
        technology described in this document or the extent to which
        any license under such rights might or might not be available;
        nor does it represent that it has made any independent effort
        to identify any such rights.  Information on the procedures
        with respect to rights in RFC documents can be found in BCP 78
        and BCP 79.

        Copies of IPR disclosures made to the IETF Secretariat and any
        assurances of licenses to be made available, or the result of
        an    attempt made to obtain a general license or permission
        for the use    of such proprietary rights by implementers or
        users of this    specification can be obtained from the IETF
        on-line IPR repository    at http://www.ietf.org/ipr.

        The IETF invites any interested party to bring to its attention
        any  copyrights,  patents  or  patent  applications,  or  other
        proprietary  rights  that  may  cover  technology  that  may  be
        required  to  implement  this  standard.  Please  address  the
        information to the IETF at ietf-ipr@ietf.org.

   Acknowledgement

        Funding for the RFC Editor function is currently provided by
        the Internet Society.