NEMO Working Group                                        Ryuji Wakikawa
INTERNET DRAFT                                      Keio University/WIDE
Category:  Standards Track                             Vijay Devarapalli
20 Oct 2003                                                        Nokia
                                                          Pascal Thubert
                                                           Cisco Systems

                    Inter Home Agents Protocol (HAHA)
                  draft-wakikawa-mip6-nemo-haha-00.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

   This document describes an inter Home Agents (HAHA) protocol to
   provide multiple Home Agents support for both Mobile IPv6 and the
   Nemo Basic Support protocol.  The HAHA protocol provides Home Agent
   redundancy and load-balancing for both protocols.  The HAHA protocol
   allows multiple Home Agents to be placed at different links.  It
   also allows a Mobile Node/Router to utilize multiple Home Agents
   simultaneously.  The protocol consists of 3 mechanisms, Home Agent
   List management, Binding Synchronization, and Home Agent Switching.
   A Mobile Node/Router picks one Home Agent as its primary Home Agent
   and registers with it.  The primary Home Agent synchronizes the
   binding cache information with other Home Agents.  Any of Home Agents
   can intercept a packet meant for the Mobile Node/Router and tunnel
   the packet directly to its current Care-of address.  Alternatively,
   the Home Agent can tunnel the packet to the primary Home Agent.


Wakikawa, et al.               Expires 20 Apr 2003              [Page 1]


Internet Draft                 HAHA protocol                 20 Oct 2003


                                  Contents


Status of This Memo                                                    1

Abstract                                                               1

 1. Introduction                                                       4

 2. Terminology                                                        6

 3. Overview of Inter Home Agents Protocol                             7

 4. Message Formats                                                    9
     4.1. New ICMP Messages . . . . . . . . . . . . . . . . . . . .    9
           4.1.1. Home Agent Solicitation Message . . . . . . . . .    9
           4.1.2. Home Agent Advertisement Message  . . . . . . . .   10
     4.2. New Mobility Header Messages  . . . . . . . . . . . . . .   11
           4.2.1. Binding Information Request Message . . . . . . .   11
           4.2.2. Binding Information Reply Message . . . . . . . .   12
           4.2.3. Home Agent Switch Request Message . . . . . . . .   12
     4.3. New Mobility Options  . . . . . . . . . . . . . . . . . .   13
           4.3.1. Home Address  . . . . . . . . . . . . . . . . . .   13
           4.3.2. Mobile Network Prefix Option  . . . . . . . . . .   14
           4.3.3. Binding Cache Entry Information Option  . . . . .   14

 5. Home Agent Lists Management                                       16
     5.1. Requesting Home Agent Information . . . . . . . . . . . .   16
     5.2. Notifying Home Agent Information  . . . . . . . . . . . .   16

 6. Binding Synchronization among Home Agents                         17
     6.1. Requesting Binding  . . . . . . . . . . . . . . . . . . .   17
     6.2. Notifying Binding . . . . . . . . . . . . . . . . . . . .   17

 7. Primary Home Agent Switching                                      18
     7.1. Home Agent initiated Switching  . . . . . . . . . . . . .   19
     7.2. Mobile Router initiated Switching . . . . . . . . . . . .   19

 8. Scenarios                                                         20
     8.1. Solo Home Agent Activation  . . . . . . . . . . . . . . .   20
     8.2. Multiple Home Agent Activation  . . . . . . . . . . . . .   21

 9. Modifications to Mobile IPv6 and the Nemo Basic Support Protocol  24

10. IANA Considerations                                               26

11. Security Considerations                                           26

 A. Predictive HA discovery                                           28


Wakikawa, et al.               Expires 20 Apr 2003              [Page 2]


Internet Draft                 HAHA protocol                 20 Oct 2003


Addresses                                                             33


Wakikawa, et al.               Expires 20 Apr 2003              [Page 3]


Internet Draft                 HAHA protocol                 20 Oct 2003


   1. Introduction

   In Mobile IPv6 [1], a Mobile Node could be tunneling and receiving
   all its traffic through a bi-directional tunnel with its Home Agent,
   unless it uses Route Optimization with its Correspondent Nodes.  In
   Nemo Basic Support protocol [6], the default mode of operation is
   to tunnel all traffic meant for the Mobile Network through the Home
   Agent serving the Mobile Router.  Consequently, Home Agents could
   become a considerable bottleneck in the performance of Mobile IPv6
   and Nemo protocols.  This becomes more significant when the Home
   Agent serves thousands of Mobile Node and Mobile Routers.  Sometimes
   the Mobile Network could be closer to the Correspondent Node than
   the Home Agent.  If the Mobile Router could pick another Home Agent
   closer to its current location, the tunneling overhead on every
   packet could be reduced to a much shorter path in the Internet.

   This draft specifies the inter Home Agents protocol (HAHA protocol)
   to provide redundancy and load balancing of Home Agents.  For the
   HAHA protocol, the definition of Home Agent is extended to place
   multiple Home Agents at different links.  Multiple Home Agents could
   be located on different links and still serve the same home prefix.
   Mobile IPv6 uses a IPv6 Neighbor Discovery based mechanism for
   maintaining the list of Home Agents serving the same prefix, at each
   Home Agent.  If the Home Agents are not present on the same physical
   link, Neighbor Discovery based mechanisms don't work.  The HAHA
   protocol defines a mechanism for Home Agents List management using
   new ICMP messages for Home Agents located on different links.

   The HAHA protocol makes it possible to have two new scenarios which
   would not have possible with Mobile IPv6 and the Nemo Basic Support
   Protocol.  These scenarios are Solo Home Agent Activation and
   Multiple Home Agent Activation and are explained in the following
   paragraphs.

   In the scenario of Solo Home Agent activation, a Mobile Router always
   selects the best Home Agent to register its binding depending on
   Mobile Router's current location or Home Agent status.  For example,
   when a Mobile Router registers its binding to the nearest Home Agent,
   the path between the Mobile Router and the Home Agent can be the
   shortest possible path.  This is particularly useful for a Mobile
   Router which moves over geographically wide areas such as a Mobile
   Router on an airplane.

   In the scenario of Multiple Home Agent activation, a Mobile
   Node/Router registers its binding to multiple Home Agents at the same
   time.  The Mobile Router sends a binding update to its primary home
   agent.  After the home registration, the primary Home Agent exchanges
   the binding information with the other Home Agents.  Thereafter, the
   Mobile Node/Router can use any of these Home Agents which have the


Wakikawa, et al.               Expires 20 Apr 2003              [Page 4]


Internet Draft                 HAHA protocol                 20 Oct 2003


   binding.  The Mobile Router can accept packets which are tunneled by
   any of the Home Agents.  Alternatively, a Home Agent who intercepts
   packets can tunnel packets to the primary Home Agent.  In this case,
   the Mobile Router receives packets through the primary Home Agent.
   If many Home Agents are scattered on the Internet, the Home Agent
   nearest to the correspondent node intercepts packets meant for the
   Mobile Node or the Mobile Network and tunnels them to the Mobile
   Node/Router.  The route path between the correspondent node and the
   Home Agent can be kept short.


Wakikawa, et al.               Expires 20 Apr 2003              [Page 5]


Internet Draft                 HAHA protocol                 20 Oct 2003


   2. Terminology

   There is a separate Nemo terminology document [2], which defines the
   terms related to Network Mobility used in the document.

   The keywords ``MUST'', ``MUST NOT'', ``REQUIRED'', ``SHALL'', ``SHALL
   NOT'', ``SHOULD'', ``SHOULD NOT'', ``RECOMMENDED'', ``MAY'', and
   ``OPTIONAL'' in this document are to be interpreted as described in
   RFC 2119.

      Home Agent

              A Home Agent is originally defined in [1].  Traditional
              Home Agents, if they all serve the same home prefix are
              configured on a single link.  This document extends the
              definition of Home Agents such that the Home Agents need
              not be on the same link.  There could be multiple Home
              Agents attached to different links serving the same home
              prefix.

      Primary Home Agent

              A Home Agent who receives Binding Update from a Mobile
              Router.  The Mobile Router is always associated with a
              primary Home Agent to register its binding.


Wakikawa, et al.               Expires 20 Apr 2003              [Page 6]


Internet Draft                 HAHA protocol                 20 Oct 2003


   3. Overview of Inter Home Agents Protocol

   When multiple Home Agents are configured at different links, each
   home agent is expected to know the other Home Agents beforehand and
   establishes Security Association with them for a secure path towards
   the other home agent.

   Each Home Agent manages information of all Home Agents in its Home
   Agent list.  But each Home Agent can not listen Router Advertisements
   sent by the other Home Agents configured at different link, because
   Router Advertisements can not be sent over the link-local scope.
   Therefore, each Home Agents periodically unicasts a Home Agent
   Advertisement message instead of Router Advertisement to the
   other Home Agents configured at different links.  The Home Agent
   Advertisement message MUST be sent with the ICMP Prefix Information
   Option and the ICMP Home Agent Information Option defined in [1].
   Whenever a Home Agent receives a Home Agent Advertisement message, it
   updates its home agent list according to the received message.  The
   Home Agent proceeds the Home Agent Advertisement as same as when it
   receives Router Advertisements with the H bit flag.  The Home Agent
   manages the home agent list as same as the Mobile IPv6 specification.
   If the lifetime of an entry is expired in the home agent list, the
   Home Agent should solicit a Home Agent Advertisement message by
   unicasting a Home Agent Solicitation message.

   Binding synchronization of a particular Mobile Node/Router can
   activate multiple Home Agents simultaneously.  When a primary
   Home Agent receives a Binding Update and creates a binding, it
   notifies the binding to the other Home Agents by unicasting Binding
   Information Reply messages.  Home Agents receiving the Binding
   Information Reply message records binding information and the address
   of the primary home agent into their binding cache.  A Home Agent
   sends a Binding Information Request message to solicit a Binding
   Information Reply message to the primary Home Agent if needed.

   When a Home Agent wants a Mobile Router to change the primary Home
   Agent, it sends a Home Agent Switch Request message to trigger the
   Dynamic Home Agent Address Discovery to a Mobile Node/Router.  After
   receiving an ICMP Home Agent Address Discovery Request, the Home
   Agent should reply an ICMP Home Agent Address Discovery Reply with
   addresses of appropriate Home Agent addresses.  If the Home Agent
   has already had the desired new primary Home Agent, it contains
   the address of the new Home Agent in the Home Agent Switch Request
   message.  The Mobile Router switches its primary Home Agent to the
   new Home Agent.  When the Mobile Node/Router changes the primary Home
   Agent proactively, it selects a new Home Agent from its home agent
   list.  After determination of the new Home Agent, it simply registers
   its binding to the new Home Agent.  The Mobile Node/Router should


Wakikawa, et al.               Expires 20 Apr 2003              [Page 7]


Internet Draft                 HAHA protocol                 20 Oct 2003


   de-register its binding from the old Home Agent before the home
   registration to the new Home Agent.

   The scenarios for the HAHA protocol are described in Section 8.  In
   the solo Home Agent activation scenario, only a primary Home Agent
   manages a binding for a Mobile Node/Router and takes responsibility
   for tunneling packets from and to a Mobile Node/Router.  The Mobile
   Node/Router can switch its primary Home Agent to a Home Agent located
   in different link by the HAHA protocol.

   In the Multiple Home Agents activation scenario, a primary Home
   Agent shares the registered binding for a Mobile Node/Router with
   all other Home Agents.  Each Home Agent intercepts packets and take
   responsibility for delivering intercepted packets to either the
   Mobile Node/Router or the primary Home Agent.  The Mobile Node/Router
   accepts tunneled packets directly from the Home Agent.  Otherwise,
   when the primary Home Agent receives tunneled packets from other Home
   Agents, it delivers packets to the Mobile Node/Router.  The Mobile
   Node/Router always tunnels outgoing packets to the primary Home
   Agent.  The Mobile Node/Router can switch its primary Home Agent to a
   Home Agent located in different link by the HAHA protocol.


Wakikawa, et al.               Expires 20 Apr 2003              [Page 8]


Internet Draft                 HAHA protocol                 20 Oct 2003


   4. Message Formats

   4.1. New ICMP Messages

   4.1.1. Home Agent Solicitation Message

   The Home Agents Solicitation message is only used if a particular
   entry is expiring in the Home Agents list and there has been no
   unsolicited Home Agent Advertisement message from the Home Agent
   whose entry is expiring.

   The Home Agent Solicitation message has similar format of Route
   Solicitation message [8].  The Home Agent Solicitation message
   MUST be unicasted to invoke Home Agent Advertisement messages to
   other Home Agents.  The Home Agent Solicitation message MUST NOT be
   multicasted and MUST NOT be used for Home Agents located at the local
   link.


      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |     Code      |          Checksum             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                            Reserved                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Options ...
     +-+-+-+-+-+-+-+-+-+-+-+-


   The Source Address filed of the IPv6 header MUST be set to a
   originator (Home Agent) address.  The Destination Address field of
   the IPv6 header MUST be set to an IPv6 global unicast address of
   other Home Agents.  Both a non-global scope address and non unicast
   address MUST NOT be used in a Home Agent Solicitation message.  The
   Hop Limit field of the IPv6 header MUST be set to an initial hop
   limit value, similarly to any other unicast packet.

   The fields of a Home Agent Solicitation message are same as a Router
   Solicitation message except for the Type field.  The type field MUST
   be set to 155 (To Be Assigned by IANA).

   Home Agent Solicitation message MUST be authenticated and encrypted
   by the use of IPsec ESP.


Wakikawa, et al.               Expires 20 Apr 2003              [Page 9]


Internet Draft                 HAHA protocol                 20 Oct 2003


   4.1.2. Home Agent Advertisement Message

   The Home Agent Advertisement messages are sent between Home Agents to
   maintain the Home Agents List at each Home Agent.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |     Code      |          Checksum             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Cur Hop Limit |M|O|H| Reserved|       Router Lifetime         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Reachable Time                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Retrans Timer                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Options ...
      +-+-+-+-+-+-+-+-+-+-+-+-

   The Source Address filed of the IPv6 header MUST be set to a
   originator (Home Agent) address.  The Destination Address field of
   the IPv6 header MUST be set to the global unicast address of another
   Home Agent.  Non-global scope or non-unicast addresses MUST NOT be
   used in a Home Agent Advertisement message.  The Hop Limit field of
   the IPv6 header MUST be set to an initial hop limit value, similarly
   to any other unicast packet.

   The fields of a Home Agent Advertisement message are same as a Router
   Advertisement message except for the Type field.  The type field MUST
   be set to 156 (To Be Assigned by IANA).

   A Prefix Information Option and a Home Agent Information Option MUST
   be included in a Home Agent Advertisement message.  The treatment of
   options is same as options defined in Mobile IPv6 [1].

   Home Agent Advertisement message MUST be authenticated and encrypted
   by IPsec ESP.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 10]


Internet Draft                 HAHA protocol                 20 Oct 2003


   4.2. New Mobility Header Messages

   The Mobility Header format is defined in section 6 of [1].  This
   document defines three new mobility messages for Binding Cache
   information exchange and for switching primary Home Agents.


   4.2.1. Binding Information Request Message

   The Binding Information Request Message is used to request Binding
   Cache Information corresponding to a particular Mobile Node/Router.
   It is sent only between Home Agents.  The format of the is as
   follows:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |          Identifier           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       .                                                               .
       .                        Mobility Options                       .
       .                                                               .
       .                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Identifier

         The 16-bit identifier to aid in matching Home Agent Information
         Reply message.  The identifier should never be set to 0.  It
         should always be more than 1.

   This message MUST include either the Home Address mobility option
   4.3.1 or the Mobile Network Prefix Option 4.3.2.  If a Home
   Agents want the Binding Cache Information for a particular Mobile
   Node/Router it includes a Home Address mobility option.  If a Home
   Agent wants to know the forwarding state setting up for a particular
   Mobile Network Prefix, it includes the Mobile Network Prefix Option.

   This message is optional if Home Agents send out unsolicited Binding
   Information Reply messages.

   Binding Information Request message MUST be authenticated and
   encrypted by IPsec ESP.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 11]


Internet Draft                 HAHA protocol                 20 Oct 2003


   4.2.2. Binding Information Reply Message

   The Binding Information Reply message is used by the Home Agents
   to exchange Binding Cache Information.  The message format is as
   follows:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |          Identifier           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       .                                                               .
       .                        Mobility Options                       .
       .                                                               .
       .                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Identifier

         The identifier should be set 0 for unsolicited Binding
         Information Reply messages.  Otherwise, the identifier should
         be set to the identifier in a Binding Information Request
         message if this is a solicited Binding Information Reply
         message.

   Binding Information Reply message MUST be authenticated and encrypted
   by IPsec ESP.


   4.2.3. Home Agent Switch Request Message

   This message is sent by a Home Agent to a Mobile Node/Router to
   trigger Dynamic Home Agent Discovery.  The message format is as
   follows:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |           Reserved            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                                                               |
       +                     Home Agent Address                        +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Wakikawa, et al.              Expires 20 Apr 2003              [Page 12]


Internet Draft                 HAHA protocol                 20 Oct 2003


      Reserved

         16-bit field reserved for future use.  The value SHOULD be
         initialized to zero by the sender, and MUST be ignored by the
         receiver.

      Home Agent Address

         A 16 byte field contains the new primary Home Agent Address.
         The Home Agent address MUST be recorded in the Home Agent list
         of the Mobile Router.  If this field does not contain the
         valid global IPv6 address or the unknown Home Agent address,
         the Mobile Router sends dynamic Home Agent address discovery
         request message.  Otherwise, the Mobile Router switches to this
         Home Agent immediately as its primary Home Agent.

   Home Agent Switch Request message MUST be authenticated and encrypted
   by the use of IPsec ESP mode.


   4.3. New Mobility Options

   4.3.1. Home Address

   The Home Address option has an alignment requirement of 8n+6.  Its
   format is as follows:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |   Type = 0x8  | Option Length |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                        Home Address                           |
       +                                                               +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This option is used when the Home Agent needs to figure out the
   Binding Cache information for a particular Mobile Node or Mobile
   Router.  not useful when each Home Agent sends an unsolicited binding
   cache information for each BU it receives.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 13]


Internet Draft                 HAHA protocol                 20 Oct 2003


   4.3.2. Mobile Network Prefix Option

   This option is already defined in the Nemo basic support [6].  This
   option is included in the Binding Information Request message only if
   a Home Agent is requesting information regarding a particular Mobile
   Network Prefix.


   4.3.3. Binding Cache Entry Information Option

   The Binding Cache Entry Information option has an alignment
   requirement of 8n+2.  Its format is as follows:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |   Type = 0x9  | Option Length |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                        Home Address                           |
       +                                                               +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                                                               |
       +                        Care-of Address                        +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Flags                |       Sequence Number         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Lifetime             |       Number of MNPs          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       .                      Mobile Network Prefixes                  .
       .                                                               .

   Binding Cache Entry Information option is valid in the Binding
   Information Reply.

   The fields of Home Address, Care-of Address, Flags, Sequence Number,
   and Lifetime are copied from the registered binding of a particular
   Mobile Node or Mobile Router.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 14]


Internet Draft                 HAHA protocol                 20 Oct 2003


   The field ``Number of MNPs'' tells the receiving Home Agent which
   Mobile Network Prefixes are owned by a Mobile Router.  The receiving
   Home Agent can then setup forwarding for each Mobile Network Prefix.
   for Mobile IPv6, the ``Number of MNPs'' field is set to 0.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 15]


Internet Draft                 HAHA protocol                 20 Oct 2003


   5. Home Agent Lists Management

   Mobile IPv6 uses Router Advertisement messages to manage Home Agent
   lists on each Home Agents.  When home agents are placed at different
   links, Router Solicitation and Advertisement messages can not be
   used due to link-local limitation.  Therefore, we defined new ICMP
   messages to exchange similar information of Router Solicitation and
   Advertisement among Home Agents over the home link.

   A Home Agent MUST know other Home Agents which configured in
   different links beforehand.  This is manually configured on each
   Home Agent.  This mechanism MUST be used only between Home Agents on
   different links serving the same home prefix.  It SHOULD not be used
   between Home Agents on the same link.

   If a Home Agent Solicitation message or a Home Agent Advertisement
   message is received from unknown Home Agent, the message MUST be
   silently dropped.


   5.1. Requesting Home Agent Information

   A Home Agent sends a Home Agent Solicitation message when the home
   agent wants to update information of a particular Home Agent.  This
   is useful a Home Agent boots up and starts acting as a home agent or
   when the lifetime of a Home Agent list entry is about to expire.

   A sender Home Agent MUST construct the Home Agent Solicitation in the
   same manner as a Router Solicitation message [8] and MUST unicast it
   to the target Home Agent.

   The receiver MUST verify the Source address field of the IPv6 header.
   If the source address is not among the known Home Agents, the
   message MUST be discarded.  If the Home Agent Solicitation message is
   processed successfully, the receiver sends a Home Agent Advertisement
   message to the Home Agent which solicits the information.


   5.2. Notifying Home Agent Information

   A Home Agent MUST send a Home Agent advertisement message when
   it receives a valid Home Agent Solicitation message.  The Home
   Agent SHOULD also send a Home Agent Advertisement when its local
   information such as preference, lifetime, and registration status,
   etc.  changes.

   A Home Agent Advertisement MUST be constructed as same manner as a
   Router Advertisement message described in section 7 of [1] and MUST
   be sent by a unicast to the destination (other Home Agents).


Wakikawa, et al.              Expires 20 Apr 2003              [Page 16]


Internet Draft                 HAHA protocol                 20 Oct 2003


   The receiver of a Home Agent Advertisement MUST verify the Source
   address field of the IPv6 header.  If the source address is not in
   the list of know Home Agents, the message MUST be silently dropped.
   Otherwise, the receiver processes the Home Agent Advertisement
   message to update its Home Agent list.

   The receiver MUST NOT treat the Home Agent Advertisement as a Router
   Advertisement for the address autoconfiguration or the default
   router list management.  The Home Agent Advertisement MUST be used
   only for the Home Agent list management.  Therefore, the Home Agent
   Advertisement MUST have Home Agent (H) bit and MUST have a Modified
   Prefix Information Option and a Home Agent Information Option.  If
   these are not included in the Home Agent Advertisement message, the
   receiver MUST ignore the message.

   Any Home Agent Advertisement message satisfying all of these tests
   MUST be processed to update its Home Agent list according to the
   processing rules described in section 10.5.1 of [1].


   6. Binding Synchronization among Home Agents

   A binding for a particular Mobile Node/Router is shared among Home
   Agents.  Therefore, each Home Agents can always know the binding
   for a particular Mobile Router and the primary Home Agent which is
   currently serving the Mobile Router.  This makes it possible for
   Mobile Routers to utilize multiple Home Agents simultaneously.


   6.1. Requesting Binding

   When a Home Agent wants a binding for a particular Mobile
   Node/Router, it can solicit Binding Information Reply message.  The
   Home Agent sends a Binding Information Request message to the primary
   home agent of the Mobile Node/Router.  The Home Agent MUST set a
   random value to the Identifier field in the Binding Information
   Request message and MUST include either a Home Address mobility
   option or a Mobile Network Prefix mobility option.


   6.2. Notifying Binding

   The primary Home Agent sends Binding Information Reply messages when
   it is solicited by Binding Information Request message or when it
   creates or updates binding for a particular Mobile Node/Router.

   When the primary Home Agent receives a Binding Information Request
   message, it MUST verifies the Source address field of the IPv6


Wakikawa, et al.              Expires 20 Apr 2003              [Page 17]


Internet Draft                 HAHA protocol                 20 Oct 2003


   header.  If the source address is not among the know Home Agents, the
   message MUST be silently discarded.

   If a Home Agent who receives a Binding Information Request message is
   not the primary Home Agent for the requested Mobile Node/Router, it
   MUST ignore the message.  Otherwise, it SHOULD reply to the Binding
   Information Request message.

   The binding information of the requested Mobile Node/Router are
   stored in the Binding Information Reply message.  The primary Home
   Agent MUST copy the binding information of the requested Mobile
   Node/Router to each fields of a Binding Cache Entry Information
   option.  If the Binding Information Reply message is sent in response
   to the Binding Information Request message, the primary Home Agent
   MUST copy the Identifier field of the Request message to the same
   filed in the Reply message.  Otherwise, it MUST set zero to the
   Identifier field.

   When a Home Agent receives a Binding Information Reply message, it
   MUST verify the Source address field of the IPv6 header.  If the
   source address is not among the know Home Agents, the message MUST be
   silently discarded.  If the Binding Information Reply message is sent
   from the primary Home Agent, the Home Agent SHOULD record the binding
   information and the primary Home Agent address into its Binding
   Cache.

   Both a Binding Information Reply message and a Binding Information
   Request message MUST be authenticated and encrypted by IPsec ESP.
   If a message does not have IPsec ESP header, the message MUST be
   ignored.


   7. Primary Home Agent Switching

   A Mobile Router always associates with the best Home Agent from home
   agents configured for the Mobile Router.  The Mobile Router initiates
   dynamic Home Agent discovery to get the most appropriate home agents.
   The Mobile Router can ensure the best Home Agent by issuing a dynamic
   Home Agent address discovery request message at each visiting foreign
   links.  Alternatively, Home Agent can send Home Agent Switch Request
   message as a trigger of a dynamic Home Agent address discovery
   request message to the Mobile Router.

   The Home Agent initiated switching is useful for load-sharing of each
   Home Agents.  A Home Agent can control the load average by moving
   some of Mobile Routers to other Home Agents compulsory.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 18]


Internet Draft                 HAHA protocol                 20 Oct 2003


   The Mobile Router initiated switching guarantees a Mobile Router
   to register its binding to the best Home Agent all the time.  For
   example, the best Home Agent is the nearest one.


   7.1. Home Agent initiated Switching

   A Mobile Router can change its primary Home Agent when it is
   requested by a Home Agent.  When a Mobile Router receives a Home
   Agent Switch Request, it checks the Home Address field in the
   request.  If the address in the Home Address field is global scope
   address and is already recorded in the Home Agent list of the Mobile
   Router, the Mobile Router immediately switches to the requested
   Home Agent by the Home Agent Switch Request.  On the other hand,
   the Mobile Router MUST send a Dynamic Home Agent Discovery Request
   message to the Mobile IPv6 Home-Agents anycast address.  After
   receiving a Dynamic Home Agent Discovery Reply, the Mobile Router
   selects the most appropriate home agent and changes its primary Home
   Agent to the selected Home Agent.

   The primary Home Agent switching is completed when the Mobile Router
   registers its binding to the new Home Agent.


   7.2. Mobile Router initiated Switching

   When a Mobile Router decides to change its primary Home Agent, it
   selects the new Home Agent from its Home Agent list.  The Mobile
   Router can start Dynamic Home Agent Address Discovery to update Home
   Agents information such as a preference value of each Home Agents.

   After selection of a new Home Agent, it registers its binding to the
   new Home Agent.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 19]


Internet Draft                 HAHA protocol                 20 Oct 2003


   8. Scenarios

   8.1. Solo Home Agent Activation


    MR     PHA      HA2     HA3     CN
     |       |       |       |       |
     |------>|       |       |       | 1. Home Registration
     |       |       |       |       |
     |======>|---------------------->| 2. Sending Packet to CN
     |       |       |       |       |    via Primary HA"(PHA)
     |<======|<----------------------| 3. Sending Packet to MN/MR
     |       |       |       |       |    via PHA
     |<------|(HA1)  |       |       | 4. Trigger primary HA switching
     |       |       |       |       |
     |-------------->|(PHA)  |       | 5. Sending Binding Update
     |       |       |       |       |
     |       |<------|------>|       | 6. Soliciting the binding
     |       |       |       |       |    to other HAs. (no reply)
     |<--------------|       |       | 7. Sending Binding Acknowledgement
     |       |       |       |       |
     |==============>|-------------->| 8. Sending Packet to CN
     |       |       |       |       |
     |<==============|<--------------| 9. Sending Packet to CN
     |       |       |       |       |


       Figure 1: Solo Home Agent with single bi-directional tunnel


   This scenario is only valid for the Nemo basic support.  Only the
   primary Home Agent advertises a home prefix and mobile network
   prefixes (might be aggregated in terms of extended/aggregated home
   prefix [7]) to the Internet in Fig 1.  When a Home Agent receives a
   Binding Update from a Mobile Router and processes the Binding Update
   successfully, it enables route distribution for the mobile network
   prefixes.  On the other hand, if the Home Agent receives a Binding
   Update requesting to delete the binding (de-registration), it stops
   distributing routes for the mobile network prefixes.  The Home Agent
   should not stop route distribution when the binding is expired due to
   lifetime expiration.  The Home Agent needs explicit de-registration
   (i.e.  Binding Updates for de-registration) to stop the routes
   distribution.

   All packets meant for the mobile network are routed to the primary
   Home Agent and are intercepted by the primary Home Agent as well as
   the Nemo basic support.  Then, the primary Home Agent tunnels packets
   to the Mobile Router according to the forwarding states established
   by a Binding Update (Seq2 and Seq3).


Wakikawa, et al.              Expires 20 Apr 2003              [Page 20]


Internet Draft                 HAHA protocol                 20 Oct 2003


   When the Mobile Router switches its primary Home Agent, it sends a
   Binding Update to the new primary Home Agent (Seq5).  The new primary
   Home Agent receiving the Binding Update verifies whether the other
   Home Agents still hold the binding for the Mobile Router.  It sends
   Binding Information Request messages to all the other Home Agents
   (Seq6).  If it receives any Binding Information Reply message in
   response to the Binding Information Request messages, it sends a
   Binding Acknowledge to the Mobile Router with the status value set to
   144 (another Home Agent is still active).  Otherwise, the Home Agent
   accepts the Binding Update and becomes the primary Home Agent for the
   Mobile Router (Seq7).

   If the Mobile Router receives the Binding Acknowledge with a negative
   status code, it de-registers its binding from the old primary home
   agent and retries to send a Binding Update to the new primary home
   agent.  Before trying home registration to the new Home Agent, the
   Mobile Router should de-register its binding from the current primary
   Home Agent.

   When the Mobile Router receives a Home Agent Switch Request from the
   current primary Home Agent, it MUST switch its primary Home Agent
   to the new Home Agent specified in the Home Agent Switch Request.
   The Mobile Router can also switch the primary Home Agent proactively
   without the Home Agent Switch Request.


   8.2. Multiple Home Agent Activation

   This scenario can be applied to both Mobile IPv6 and the Nemo basic
   support protocol.  Each Home Agent advertises the same home prefix
   to the Internet.  In the Nemo case, all the Home Agents having a
   binding for a Mobile Router MUST distribute routes for mobile network
   prefixes as well as the home prefix.  The home prefix and the mobile
   network prefixes could be aggregated in terms of extended/aggregated
   home prefix described in [7].

   Each Home Agent synchronizes a binding for a particular Mobile
   Node/Router by the HAHA protocol.  If all the Home Agents who have
   the binding for the Mobile Router can setup forwarding for the Home
   Address and the mobile network prefixes owned by the Mobile Router,
   it tunnels intercepted packets directly to the Mobile Node/Router
   (Fig 3).  On the other hand, if the Home Agent does not enable
   forwarding for the Home Address and the mobile network prefixes,
   it tunnels intercepted packets to the primary Home Agent (Fig 2)
   first.  Then the primary Home Agent re-tunnels packets to the Mobile


Wakikawa, et al.              Expires 20 Apr 2003              [Page 21]


Internet Draft                 HAHA protocol                 20 Oct 2003


  MN/MR     PHA     HA2     CN1     HA3     CN2
     |       |       |       |       |       |
     |------>|       |       |       |       | 1. Home Registration
     |       |       |       |       |       |
     |       |------>|       |       |       | 2. Sending binding to HA2
     |       |       |       |       |       |
     |       |---------------------->|       | 3. Sending binding to HA3
     |       |       |       |       |       |
     |======>|-------------->|       |       | 4. Sending Packet to CN1
     |       |       |       |       |       |    via PHA
     |<======|<------|<------|       |       | 5. Sending Packet to MN/MR
     |       |       |       |       |       |    via HA2 and PHA
     |======>|------------------------------>| 6. Sending Packet to CN2
     |       |       |       |       |       |    via PHA
     |<======|<----------------------|<------| 7. Sending Packet to MN/MR
     |       |       |       |       |       |    via HA3 and PHA
     |-------------->|(PHA)  |       |       | 8. Home Registration
     |       |       |       |       |       |
     |  (HA1)|<------|-------------->|       | 9. Sending binding to
     |       |       |       |       |       |    HA1 and HA3
     |==============>|---------------------->| 10. Sending Packet to CN2
     |       |       |       |       |       |    via PHA
     |<==============|<--------------|<------| 11. Sending Packet to MN/MR
     |       |       |       |       |       |    via HA3 and PHA


    Figure 2: Multiple Home Agents with single bi-directional tunnel


   Node/Router.  It is a matter of operations whether forwarding setting
   is enable on all the Home Agent or not.

   In the figure 2, a Mobile Node/Router first registers its binding to
   the primary Home Agent (Seq1).  Once the primary Home Agent creates
   a binding for the home address of the Mobile Node/Router and sets
   up forwarding for the mobile network prefixes, it sends Binding
   Information Reply messages to other Home Agents to synchronize the
   binding information (Seq2 and Seq3).  When a Home Agent receives the
   Binding Information Reply message, it records the binding and the
   primary Home Agent address (which can be retrieved from the source
   address of the Binding Information Reply messages) in the binding
   cache entry.

   After the completion of the binding synchronization, all Home
   Agents start to distribute the network routes for the mobile network
   prefixes to the Internet.  Therefore, when the mobile network node
   communicates with a correspondent node, outgoing packets from the
   mobile network are tunneled to the closer primary Home Agent (Seq4)


Wakikawa, et al.              Expires 20 Apr 2003              [Page 22]


Internet Draft                 HAHA protocol                 20 Oct 2003


   and incoming packets to the mobile network are intercepted by the
   Home Agent which is close to the correspondent node (Seq5).  Then,
   the intercepted packets are forwarded/tunneled to the primary Home
   Agent.  The primary Home Agent delivers the packets to the Mobile
   Router through the bi-directional tunnel (Seq5).

   If the Mobile Router decides to switch its primary Home Agent due
   to its movement, it sends a Binding Update to the new primary home
   agent.  Then, the new primary Home Agent starts to synchronize the
   binding information with other Home Agents (Seq9).  All Home Agent
   updates the binding and the primary Home Agent address according to
   the received Binding Information Reply message.


  MN/MR      HA1    HA2     CN1     HA3     CN2
     |       |       |       |       |       |
     |------>|       |       |       |       | 1. Home Registration
     |       |       |       |       |       |
     |       |------>|       |       |       | 2. Sending the binding
     |       |       |       |       |       |    to HA2
     |       |---------------------->|       | 3. Sending the binding
     |       |       |       |       |       |    to HA3
     |======>|-------------->|       |       | 4. Sending Packet to CN1
     |       |       |       |       |       |    via HA1
     |<==============|<------|       |       | 5. Replying to MN/MR
     |       |       |       |       |       |    via HA2
     |======>|------------------------------>| 6. Sending Packet to CN2
     |       |       |       |       |       |    via HA1
     |<==============================|<------| 7. Replying to MN/MR
     |       |       |       |       |       |    via HA3


              Figure 3: Multiple Home Agents with multiple
                         bi-directional tunnels


   In the figure 3, a Mobile Node/Router first sends a Binding Update
   to its primary Home Agent (Seq1).  The primary Home Agent also
   notifies the binding information to other Home Agents by using
   Binding Information Reply messages (Seq2 and Seq3).  When a Home
   Agent receives the Binding Information Reply message, it records the
   binding and the primary home agent address as a binding cache entry
   for the Mobile Node/Router and sets up forwarding for mobile network
   prefixes if any.

   After creating the binding cache entry and setting up forwarding,
   each Home Agent starts to distribute network routes for the mobile
   network prefixes to the Internet.  When the Mobile Network Node
   communicates with a Correspondent Node, outgoing packets from


Wakikawa, et al.              Expires 20 Apr 2003              [Page 23]


Internet Draft                 HAHA protocol                 20 Oct 2003


   the mobile network are tunneled to the primary Home Agent (Seq4).
   Incoming packets to the mobile network are intercepted by the Home
   Agent which is close to the Correspondent Node (Seq5).  Then, the
   intercepted packets are tunneled directly to the current Care-of
   Address according to binding and forwarding (Seq5).

   The procedure of primary Home Agent switching is same as the
   procedure described in Fig 2.


   9. Modifications to Mobile IPv6 and the Nemo Basic Support Protocol

   The HAHA protocol modifies the below items of Mobile IPv6 [1] and the
   Nemo Basic Support protocol [6].

    -  The new status values for the Binding Acknowledgment.


       When a Mobile Node/Router receives this status for its home
       registration, it MUST de-register its binding from the old
       primary Home Agent and SHOULD re-try home registration.  A
       Home Agent SHOULD use this status value only in the solo Home
       Agent activation scenario.  The primary Home Agent can not be
       duplicated in the scenario and can only have a binding for a
       particular Mobile Node/Router all the time.

       Status

          144     Another primary Home Agent is still active.

    -  Binding Cache Registration
       The conceptual fields of each Binding Cache entry are defined
       in [1].  The HAHA protocol introduces an additional field to
       record the primary Home Agent address for a Mobile Node/Router.

       When a Home Agent receives a Binding Information Reply message,
       it creates or updates the binding cache entry.  The Home Agent
       MUST record the primary Home Agent address in the binding cache
       entry.  The address can be derived from the Source address field
       of IPv6 header in the Binding Information Reply message.

       When a primary Home Agent receives a Binding Update from a Mobile
       Node/Router, it MUST records its own address as the primary Home
       Agent address in the binding cache entry.

    -  Tunneling packets to Mobile Node/Router from Home Agents
       Home Agents who registers a binding by the HAHA protocol can
       tunnel packets meant for the Mobile Node/Network to the current
       Care-of Address as well as the primary Home Agent.  The Mobile


Wakikawa, et al.              Expires 20 Apr 2003              [Page 24]


Internet Draft                 HAHA protocol                 20 Oct 2003


       Node/Router can accept the tunneled packets.  The Mobile
       Node/Router MUST know all the Home Agents who has its binding in
       the home agent list so as to verify the Source address of outer
       IPv6 header.

    -  Tunneling packets to primary Home Agent from Home Agents
       When one of Home Agents who has a binding intercepts packets
       meant for a particular Mobile Node/Router, the Home Agent can
       tunnel packets to the primary Home Agent recorded in the binding
       cache.  The primary Home Agent tunnels packets to the current
       Care-of Address of the Mobile Node/Router.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 25]


Internet Draft                 HAHA protocol                 20 Oct 2003


   10. IANA Considerations

   This document defines two new ICMP options

    -  Home Agent Solicitation Message

    -  Home Agent Advertisement Message

   This document defines three new Mobility Header messages

    -  Binding Information Request Message

    -  Binding Information Reply Message

    -  Home Agent Switch Request Message

   This document defines two new Mobility Options.

    -  Home Address

    -  Binding Cache Entry Information


   11. Security Considerations

   Multiple Home Agents advertise routes for either same Home Prefix and
   possibly Mobile Network Prefix in the HAHA protocol, these routes
   MUST be correctly advertised.  System Administrators MUST prevent
   malicious (blackhole) routes for these prefixes.

   A Home Agent MUST know the other Home Agent serving a same Mobile
   Node/Router and MUST establish a secure association with each Home
   Agent.  All signaling messages between the Mobile Router and the Home
   Agent MUST be authenticated and encrypted by IPsec ESP [4].

   The Mobile Node/Router MUST verify that packets are tunneled through
   the known Home Agent.  In Multiple Home Agent activation scenario,
   the Mobile Node/Router may receives packets tunneled by multiple Home
   Agents.  The Mobile Node/Router MUST know all Home Agents who has its
   binding by the HAHA protocol in its Home Agent List by using Home
   Agent Address Discovery.  It is necessary for a Mobile Node/Router to
   know all other Home Agents in order to protect attacks launched by
   malicious Home Agents.

   Please refer to the Mobile IPv6 specification [1] and the Nemo Basic
   Support protocol specification [6] for security considerations.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 26]


Internet Draft                 HAHA protocol                 20 Oct 2003


   References

   [1] D. Johnson, C. Perkins and J. Arkko. Mobility Support
       in IPv6 (work in progress). Internet Draft, IETF.
       draft-ietf-mobileip-ipv6-22.txt. May 2003.

   [2] T. Ernst and H. Lach. Network Mobility Support Terminology (work
       in progress). Internet Draft, IETF. draft-ietf-nemo-terminology
       -00.txt May 2003.

   [3] J. Arkko, V. Devarapalli and F. Dupont. Using IPsec to
       Protect Mobile IPv6 Signaling between Mobile Nodes and
       Home Agents (work in progress). Internet Draft, IETF.
       draft-ietf-mobileip-mipv6-ha-ipsec-05.txt May 2003

   [4] S. Kent and R. Atkinson. IP Encapsulating Security Payload (ESP).
       RFC 2402, IETF. November 1998.

   [5] A. Conta and S. Deering. Generic Packet Tunneling in IPv6
       Specification. RFC 2473, IETF. December 1998.

   [6] V. Devarapalli and R. Wakikawa and A. Petrescu and P. Thubert.
       Nemo Basic Support Protocol (work in progress). Internet Draft,
       IETF. draft-ietf-nemo-basic-support-01.txt September 2003

   [7] P. Thubert and R. Wakikawa and V. Devarapalli. Examples of
       basic Nemo usage (work in progress). Internet Draft, IETF.
       draft-ietf-nemo-basic-usage-00.txt October 14 2003.

   [8] T. Narten and E. Nordmark and W. Simpson. Neighbor Discovery for
       IP Version 6 (IPv6). RFC 2461, IETF. December 1998.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 27]


Internet Draft                 HAHA protocol                 20 Oct 2003


   A. Predictive HA discovery

   There are at least 3 approaches in order to locate the Home Agent
   that has a registration for a given Mobile Node, Router or Mobile
   Network:

    -  reactive:  This method is also referred to as 'on-demand'.  In
       case of a binding cache miss, a Home Agent floods a request to
       all the other Home Agents with the (destination of the packet)
       home address that is sought for.  Every Home Agent that has
       a registration for that home address or for a Mobile Network
       that encompasses that home address responds.  This approach is
       traditionally used in fast changing configurations, for instance
       if Mobile Nodes register and de-register very often.

    -  proactive:  an information is pushed to all Home Agents with
       the home address and the Mobile Network Prefixes each time a
       primary binding entry is created for a new registration.  This
       approach is preferred for stable configurations, for instance if
       Mobile IP is used as a tool to simplify the configuration and
       reconfiguration of mostly stable networks.

    -  predictive:  Ranges of Home Addresses and prefixes are assigned
       to the Home Agents, following a rule that is commonly computed by
       all Home Agents.  Dynamic Home Agent Address Discovery (DHAAD)
       returns only the address of one Home Agent, the one that is
       pre-allocated for that Mobile Node.  When the wrong Home Agent
       intercepts packets, it can compute which is the right Home Agent
       and forward packets to it at L2 if they are directly connected,
       or via a HAHA tunnel which is established between Home Agents.
       This is what we call 'Z' routing.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 28]


Internet Draft                 HAHA protocol                 20 Oct 2003


       CN  --------> closest HA       CN  ----------> closest HA
                  /                                      |
                 /                                       |
                /                                        |
               /                                         |
              /                                          |
   Assigned  /                                           |
      HA    v                                            V
           ----------> Mobile Node                   Mobile Node


                      Figure 4: Z routing vs dogleg


   The Predictive Mode minimizes the control traffic, which may be
   required for a large configuration.  Some additional controls would
   be necessary for the HAHA protocol to allow the negotiation and the
   distribution of the shares of Home to be attributed to each Home
   Agent.

   One specific advantage of not relying on a Home Link for HAHA
   communication is that for a large configuration, the Home Agents can
   be organized hierarchically and distributed geographically, as a set
   of local clusters linked together to form a global Home Network.

   For instance, it is possible for a large ISP to partition the Home
   Network for a given worldwide service, and assign a partition to a
   cluster of Home Agents in each of the geographies.  In predictive
   mode, each Home Agent in the world would be able to compute the
   best suited Home Agent in its local cluster (call this a Acting
   Home Agent) and the best suited Home Agent worldwide (call this the
   Assigned Home Agent) for each and any Home Address.

   Any Home Agent processing a anycast DHAAD can predict the Assigned HA
   and local Acting Home Agents for a Home Address if that information
   is added to the DHAAD request.  In the case of Mobile Routers, the
   service must be arranged in such ways that, for a given registration,
   all the Mobile Networks are assigned to a same Home Agent.

   Possible flows:

   In order to register, a Mobile Router uses DHAAD which returns one
   Home Agent in the closest cluster.  This can be a Acting HA if the
   Mobile Node is roaming far from Home, but hopefully it is in general
   the Assigned Home Agent for that Mobile Node.  When this is a Acting
   HA, it needs to register to the Assigned HA as proxy binding.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 29]


Internet Draft                 HAHA protocol                 20 Oct 2003


    +----------------------------------
    | +-------------+                    ^           ^
    | |  +-----+    |             ^      |           |
    | |  | MNP |    |             |      |           |
    | |  +-----+    |   HA        |      | cluster   |
    | |  +-----+    |   share     |      | share     |
    | |  | MNP |    |             |      |           |
    | |  +-----+    |             v      |           |
    | |  +-----+    |             ^      |           |
    | |  |     |    |             |      |           |
    | |  +-----+    |   HA        |      |           |
    | |  +-----+    |   share     |      |           |
    | |  |     |    |             |      |           |
    | |  +-----+    |             v      |           |
    | |             |                    |           |
    | | Local Home  |                    |           |
    | |   Network   |                    v           |
    | +-------------+                                |
    |                                                |
    | +-------------+                                |
    | |             |                                |
    | |  +-----+    |                                |
    | |  |     |    |                 global         |
    | |  +-----+    |                 Home           |
    | |             |                 Network        |
    | +-------------+                                |
    +---------------------------------               v


             Figure 5: Distributed Hierarchical Home Network


   When a packet destined to a given Home Address arrives at a Home
   Agent from a Correspondent Node:

   If the Home Agent is Assigned for that Home Address and it has a
   direct registration (it is primary), the Home Agent forwards the
   packet over its bi-directional tunnel established with the Mobile
   Node/Router (the MRHA tunnel).  If it has a proxy registration (it
   is secondary), it forwards the packet to the primary Acting HA - or
   directly to the Mobile Node/Router if that is practical for tunnel
   setup and security reasons.  Else it drops the packet.

   Else If the Home Agent is Acting HA for that Home Address and it has
   a direct registration (it is primary), the Home Agent forwards the
   packet over its MRHA tunnel.  If it has a proxy registration (it is
   secondary), it forwards the packet to the primary Acting HA - or


Wakikawa, et al.              Expires 20 Apr 2003              [Page 30]


Internet Draft                 HAHA protocol                 20 Oct 2003


   directly to the Mobile Node if that is practical for tunnel setup and
   security reasons.  Else, it forwards the packet to the Assigned HA.


       CN  ----------> Acting HA
                     /   closest to CN
                    /
                   /
                  /
       Assigned  /
           HA   V
                 "
                  "
                   "
                    "
                     "
                      " Acting HA primary
        MN <----------- for that registration
                        (closest to MR)


       Figure 6: Acting HA to Acting HA without Route Optimization


       CN  ----------> closest HA
                     | to CN
                     |
                     |
                     |
                     |
                     v Acting HA, primary
       MN <---------  for that registration
                          (closest to MR)


           Figure 7: Acting HA to Acting HA Route Optimization


   Else (if the HA is the 'wrong Home Agent') the Home Agent tunnels
   the packet to the best suited of the local Home Agents, be it the
   Assigned Home Agent, or a local Acting Home Agent.

   In the worst case, the packet may bounce from the receiving Home
   Agent to the local Acting HA, then to the Assigned HA, and finally to
   the Acting HA that has the registration.  It is up to the Assigned
   Home Agent to forward the proxy binding states to the Acting Home


Wakikawa, et al.              Expires 20 Apr 2003              [Page 31]


Internet Draft                 HAHA protocol                 20 Oct 2003


   Agent on the receiving side in order to allow Acting HA to Acting HA
   'Z' routing.

   If the Home Agents are distributed geographically, it is expected
   that, in general, the angles of the Z (the Home Agents) are close to
   the Mobile Router and Correspondent Node respectively, relatively to
   the distance between the Home Agents, which makes the cost of the
   bouncing acceptable in terms of distance and hops.

   When a packet from a registered Mobile Node arrives over the MRHA
   tunnel to a Home Agent (one that it is registered to), the Home Agent
   forwards the packet directly to the Correspondent Node.  That Home
   Agent is supposed to be close to the Mobile Node, making the MR-HA-CN
   triangle as flat as possible and limiting the cost of the dogleg.


Wakikawa, et al.              Expires 20 Apr 2003              [Page 32]


Internet Draft                 HAHA protocol                 20 Oct 2003


   Authors Addresses


        Ryuji Wakikawa
        Keio University and WIDE
        5322 Endo Fujisawa Kanagawa
        252-8520
        Japan
        Email:  ryuji@sfc.wide.ad.jp

        Vijay Devarapalli
        Nokia Research Center
        313 Fairchild Drive
        Mountain View, CA 94043
        USA
        Email:  vijay.devarapalli@nokia.com

        Pascal Thubert
        Cisco Systems Technology Center
        Village d'Entreprises Green Side
        400, Avenue Roumanille
        Biot - Sophia Antipolis 06410
        France
        Email:  pthubert@cisco.com


Wakikawa, et al.              Expires 20 Apr 2003              [Page 33]


Internet Draft                 HAHA protocol                 20 Oct 2003


   Full Copyright Statement

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

   This document and translations of it may be copied and furnished 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 and derivative works.  However,
   this document itself may not be modified in any way, such as by
   removing the copyright notice or references to the Internet Society
   or other Internet organizations, 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 the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS 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.


   Acknowledgement

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


Wakikawa, et al.              Expires 20 Apr 2003              [Page 34]