Mobile IPv6
   Internet Draft                                              B. Haley
   Document: draft-haley-mip6-mh-signaling-01.txt       Hewlett-Packard
                                                                Company
                                                         Sri Gundavelli
                                                          Cisco Systems
   Expires: April, 2006                                    October 2005



                     Mobility Header Signaling Message
                   draft-haley-mip6-mh-signaling-01.txt


Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 extension to the Mobile IPv6 base protocol
   [2] by defining a new Mobility Header message type that can be used
   for sending notification messages between a mobile node, its
   correspondent nodes, and its home agent.  The purpose of this
   extension is to provide an extensible framework by which Mobile IPv6
   entities can exchange notification messages indicating that certain
   events have occurred.


Conventions used in this document


Haley & Gundavelli       Expires - April 2006                 [Page 1]


                  Mobility Header Signaling Message      October 2005



   The key words "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 [1].

Table of Contents

   1. Introduction...................................................2
   2. Scenarios......................................................3
      2.1 Binding Revocation.........................................3
      2.2 Home Agent switchover......................................3
      2.3 Failure of Back Haul Connectivity..........................3
      2.4 Explicit Network Mobility (NEMO) Prefix Recovery...........3
      2.5 Billing Event..............................................3
   3. Operation Overview.............................................4
      3.1 Typical Flow of a Signaling Message........................4
      3.2 Participating Entities.....................................4
   4. Mobility Header Signaling Messages.............................4
      4.1 Mobility Header Signaling Request Message..................5
      4.2 Mobility Header Signaling Acknowledgement Message..........6
   5. Signaling Requests.............................................7
      5.1 Sending Signaling Requests.................................7
      5.2 Receiving Signaling Messages...............................8
      5.2.1 Mobile Node Operation....................................8
      5.2.2 Home Agent Operation.....................................8
      5.2.3 Correspondent Node Operation.............................9
      5.3 Retransmissions............................................9
   6. Signaling Acknowledgements.....................................9
      6.1 Sending Signaling Acknowledgements.........................9
   7. Protocol Constants............................................10
   8. IANA Considerations...........................................10
   9. Security Considerations.......................................10
      9.1 Mobile Node to Home Agent Messages........................10
      9.2 Mobile Node to Correspondent Node Messages................10
   10. References...................................................11
      10.1 Normative References.....................................11
      10.2 Informative references...................................11
   Acknowledgments..................................................11
   Author's Addresses...............................................11


1. Introduction

   The Mobile IPv6 base specification [2] does not provide any mechanism
   for a home agent, mobile node or correspondent node to exchange
   signaling or status messages among themselves during a mobility
   session.  The ability to send asynchronous notification events is
   useful in many types of services for which cooperation between these
   entities is required.  For example, a home agent may wish to


Haley & Gundavelli       Expires - April 2006                 [Page 2]


                  Mobility Header Signaling Message      October 2005


   terminate the binding of a mobile node, or it may wish to handoff
   that binding to some other home agent on the home network.

   This specification defines a generic notification header that can be
   used by a home agent, mobile node and correspondent node for sending
   and receiving notification events during the lifetime of a mobility
   session.  This specification, however, does not define any specific
   notification message types that can be carried within this generic
   notification header.  The specific event and the corresponding action
   that the receiving entity needs to take on receiving that event
   should be defined in the document for that specific message type.


2. Scenarios

   Here are some example scenarios where a home agent signaling message
   would be useful.

2.1 Binding Revocation

   There are a number of reasons a home agent might wish to revoke the
   binding of a mobile node, for example it might be overloaded or going
   off-line for maintenance.  The mobile node must be notified before
   such an administrative action can take place.  Upon receiving this
   event, the mobile node can release the system resources and may
   attempt to contact a different home agent, or may take a different
   action.

2.2 Home Agent switchover

   A home agent may wish to handoff a given mobility binding to a
   different home agent on the home network, for example as described in
   [ID-HA-Switch].

2.3 Failure of Back Haul Connectivity

   Upon detecting a failure of its back haul connectivity, a home agent
   may wish to notify all of its mobile nodes about this situation so
   they can find other home agents with better service.

2.4 Explicit Network Mobility (NEMO) Prefix Recovery

   A home agent may decide to withdraw a routing prefix attached to a
   mobile router.  The home agent can notify a mobile router about this
   action so it can remove the routing state for that prefix.

2.5 Billing Event



Haley & Gundavelli       Expires - April 2006                 [Page 3]


                  Mobility Header Signaling Message      October 2005


   A home agent can notify a mobile node about its service usage, or
   about its pending account balance as an informational event.


3. Operation Overview

   The concept is that Mobile IPv6 entities can send notifications when
   a certain event or a state change occurs.  The actual reason for
   sending a notification is outside the scope of this document.

3.1 Typical Flow of a Signaling Message


         +----+      Signaling Request        +----+
         |    |------------------------------>|    |
         |    |<------------------------------|    |
         +----+   Signaling Acknowledgement   +----+

      MIPv6 Entity                         MIPv6 Entity

3.2 Participating Entities

   Signaling messages may be exchanged between a mobile node and its
   home agent, or a mobile node and a Mobile IPv6 capable correspondent
   node that has a current binding cache entry for that mobile node.

   Signaling messages MUST NOT be exchanged between a mobile node and a
   correspondent node that is not Mobile IPv6 capable or has no binding
   cache entry for that mobile node.

   Signaling messages MUST NOT be exchanged between the home agent of a
   mobile node and a correspondent node of the mobile node, as there
   will not be any trust relationship between these two entities.

   The two participating entities exchanging signaling messages MUST
   have a security relationship and should have the ability to detect
   message replay and man-in-the-middle attacks.


4. Mobility Header Signaling Messages

   The messages described below follow the Mobility Header format
   specified in Section 6.1 of [2]:

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Payload Proto |  Header Len   |   MH Type     |   Reserved    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Checksum            |                               |


Haley & Gundavelli       Expires - April 2006                 [Page 4]


                  Mobility Header Signaling Message      October 2005


    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
    |                                                               |
    .                                                               .
    .                       Message Data                            .
    .                                                               .
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


4.1 Mobility Header Signaling Request Message

   The Signaling Request is used by one Mobile IPv6 entity to signal
   another entity that there is an event that requires attention.  This
   packet is sent as described in Section 5.1.

   The Signaling Request uses the MH Type value (TBD).  When this value
   is indicated in the MH Type field, the format of the Message Data
   field in the Mobility Header 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
                                   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                   |A|  Reserved   |   Sequence #  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   .                                                               .
   .                        Mobility options                       .
   .                                                               .
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Acknowledge (A)

     The Acknowledge (A) bit is set by the sender to request a Signaling
     Acknowledgement (Section 4.2) be returned upon receipt of a
     Signaling Request.

   Reserved

     These fields are unused.  They MUST be initialized to zero by the
     sender, and MUST be ignored by the receiver.

   Sequence #

     An 8-bit unsigned integer used by the receiving node to sequence
     Signaling Requests and by the sending node to match a returned
     Signaling Acknowledgement with this Signaling Request.



Haley & Gundavelli       Expires - April 2006                 [Page 5]


                  Mobility Header Signaling Message      October 2005


   Mobility options

     Variable-length field of such length that the complete Mobility
     Header is an integer multiple of 8 octets long.  This field
     contains zero of more TLV-encoded mobility options.  The encoding
     and format of defined options MUST follow the format specified in
     Section 6.2 of [2].  The receiver MUST ignore and skip any options
     with it does not understand.

     This specification does not define any options valid for the
     Signaling Request message.

   If no options are present in this message, no padding is necessary
   and the Header Len field in the Mobility Header will be set to 0.


4.2 Mobility Header Signaling Acknowledgement Message

   The Signaling Acknowledgement is used to acknowledge receipt of a
   Signaling Request (Section 4.1).  This packet is sent as described in
   Section 6.1.

   The Signaling Acknowledgement uses the MH Type value (TBD).  When
   this value is indicated in the MH Type field, the format of the
   Message Data field in the Mobility Header 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
                                   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                   |    Status     |   Sequence #  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   .                                                               .
   .                        Mobility options                       .
   .                                                               .
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Status

     8-bit unsigned integer indicating the disposition of the Signaling
     Request.  Values of the Status field less than 128 indicate that
     the Signaling Request was accepted by the receiving node.  Values
     greater than or equal to 128 indicate that the Signaling Request
     was rejected by the receiving node.  The following Status values
     are currently defined:

          0 Signaling Request accepted



Haley & Gundavelli       Expires - April 2006                 [Page 6]


                  Mobility Header Signaling Message      October 2005


        128 Reason unspecified

        129 Administratively prohibited

        130 Insufficient resources

        131 Unsupported mobility option

        132 Not home agent for this mobile node

   Sequence #

     The sequence number in the Signaling Acknowledgement is copied from
     the sequence number field in the Signaling Request.  It is used by
     the receiving node in matching this Signaling Acknowledgement with
     an outstanding Signaling Request.

   Mobility options

     Variable-length field of such length that the complete Mobility
     Header is an integer multiple of 8 octets long.  This field
     contains zero of more TLV-encoded mobility options.  The encoding
     and format of defined options MUST follow the format specified in
     Section 6.2 of [3].  The receiver MUST ignore and skip any options
     with it does not understand.

     This specification does not define any options valid for the
     Signaling Request message.

   If no options are present in this message, no padding is necessary
   and the Header Len field in the Mobility Header will be set to 0.

5. Signaling Requests

5.1 Sending Signaling Requests

   When sending a Signaling Request message, the sending node constructs
   the packet as it would any other Mobility Header, except:

     o The MH Type field MUST be set to (TBD).

     o The Acknowledge (A) bit MAY be set to indicate the receiver must
        send a Signaling Acknowledgement.

   The Signaling Request message MUST meet the security requirements
   outlined in Section 9.1 or 9.2, depending on the association it has
   with the target entity.




Haley & Gundavelli       Expires - April 2006                 [Page 7]


                  Mobility Header Signaling Message      October 2005


5.2 Receiving Signaling Messages

   Upon receiving a Signaling Request message, the Mobility Header MUST
   be verified as specified in [2], specifically:

     o The Checksum, MH type, Payload Proto and Header Len fields MUST
        meet the requirements of Section 9.2 of [2].

     o The Signaling Request message MUST meet the security
        requirements outlined in Section 9.1 or 9.2, depending on the
        association it has with the sending entity.

   If the packet is dropped due to the above tests, the receiving node
   MUST follow the processing rules as Section 9.2 of [2] defines and
   MUST NOT send a Signaling Acknowledgement.  For example, it MUST send
   a Binding Error message with the Status field set to 2 (unrecognized
   MH Type value) if it does not support the message type.

   If the Signaling Request is valid according to the tests above, then
   it is processed further as follows:

     o If the receiving node does not allow Signaling Request messages,
        it MUST reject the request and SHOULD return a Signaling
        Acknowledgement to the sender in which the Status field is set
        to 129 (administratively prohibited).

     o If the receiving node does not support the type of Mobility
        Option in the Signaling Request message, it MUST reject the
        request and SHOULD return a Signaling Acknowledgement to the
        sender in which the Status field is set to 131 (unsupported
        mobility option).

   Subsequent checks depend on the current mode of operation of the
   node.

5.2.1 Mobile Node Operation

   If the mobile node rejects the Signaling Request message for any
   other reason than specified in Section 5.2, it SHOULD return a
   Signaling Acknowledgement to the sender in which the Status field is
   set to 128 (reason unspecified).

5.2.2 Home Agent Operation

   If the receiving node is a home agent, it MUST perform these
   additional checks:




Haley & Gundavelli       Expires - April 2006                 [Page 8]


                  Mobility Header Signaling Message      October 2005


     o If the home agent has no entry marked as a home registration in
        its Binding Cache for the sending node, then this node MUST
        reject the request and SHOULD return a Signaling Acknowledgement
        in which the Status field is set to 132 (not home agent for this
        mobile node).

     o If the home agent cannot process the Signaling Request message
        because it is over-utilized, it MUST reject the request and
        SHOULD return a Signaling Acknowledgement in which the Status
        field is set to 130 (insufficient resources).

   If the home agent rejects the Signaling Request message for any other
   reason, it SHOULD return a Signaling Acknowledgement to in which the
   Status field is set to 128 (reason unspecified).

5.2.3 Correspondent Node Operation

   If the correspondent node rejects the Signaling Request message for
   any other reason than specified in Section 5.2, it SHOULD return a
   Signaling Acknowledgement to the sender in which the Status field is
   set to 128 (reason unspecified).

5.3 Retransmissions

   If the sender has set the Acknowledge (A) bit in the Signaling
   Request, but does not receive a Signaling Acknowledgement, then it
   MAY retransmit the message, until a response is received.  The
   initial value for the retransmission timer is
   INITIAL_MH_SIGNAL_TIMEOUT.  The retransmissions by the sender MUST
   use an exponential back-off mechanism, in which the timeout period is
   doubled upon each retransmission, until either the sender gets a
   response from the target node, or the timeout period reaches the
   value MAX_MH_SIGNAL_TIMEOUT.

6. Signaling Acknowledgements

6.1 Sending Signaling Acknowledgements

   A Signaling Acknowledgement should be sent to indicate receipt of a
   Signaling Request as follows:

     o If the Signaling Request was discarded because it does not meet
        the requirements as specified in [2] described in Section 5.2, a
        Signaling Acknowledgement MUST NOT be sent.  Otherwise, the
        treatment depends on the below rule.





Haley & Gundavelli       Expires - April 2006                 [Page 9]


                  Mobility Header Signaling Message      October 2005


     o If the Acknowledgement (A) bit is set in the Signaling Request,
        a Signaling Acknowledgement MUST be sent.  Otherwise, the
        treatment depends on the below rule.

     o If the Signaling Request was discarded for any other reason, a
        Signaling Acknowledgement SHOULD be sent.

   If the Source Address field of the IPv6 header that carried the
   Signaling Request does not contain a unicast address, the Signaling
   Acknowledgement MUST NOT be sent, and the Signaling Request packet
   MUST be silently discarded.  Otherwise, the acknowledgement MUST be
   sent to the Source Address.


7. Protocol Constants

   INITIAL_MH_SIGNAL_TIMEOUT             5 seconds
   MAX_MH_SIGNAL_TIMEOUT                 20 seconds


8. IANA Considerations

   A new Mobility Header type is required for the following new message
   described in Section 4:

     (TBD) Signaling Request
     (TBD) Signaling Acknowledgement


9. Security Considerations

9.1 Mobile Node to Home Agent Messages

   As with other messages in [2], the Signaling Request and
   Acknowledgement messages MUST use the home agent to mobile node ESP
   encryption SA for confidentiality protection, and MUST use the home
   agent to mobile node ESP authentication SA for integrity protection.

   The Signaling Request message MAY use the IPsec ESP SA in place for
   Binding Updates and Acknowledgements as specified in Section 5.1 of
   [2], in order to reduce the number of configured security
   associations.  This also gives the message authenticity protection.

9.2 Mobile Node to Correspondent Node Messages

   The entities exchanging Signaling Requests and Acknowledgements MUST
   have a trust relation and the messages MUST be protected by an IPSec
   SA.  These messages are thus not vulnerable to replay or man-in-the-
   middle attacks.


Haley & Gundavelli       Expires - April 2006                [Page 10]


                  Mobility Header Signaling Message      October 2005




10. References

10.1 Normative References

   [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
      Levels", BCP 14, RFC 2119, March 1997

   [2]  Johnson, D., Perkins, C., and Arkko, J., "Mobility Support in
      IPv6", RFC 3775, June, 2004.

   [3]  Arkko, J., Devarapalli, V., and F. Dupont, "Using IPsec to
      Protect Mobile IPv6 Signaling Between Mobile Nodes and Home
      Agents", RFC 3776, June, 2004.


10.2 Informative references

   [ID-HA-Switch]  Haley, B., Devarapalli, V., Kempf, J., and Deng, H.,
      "Mobility Header Home Agent Switch Message", draft-haley-mip6-ha-
      switch-00.txt (work in progress), April, 2005.


Acknowledgments

   Thanks to Hui Deng, James Kempf and Vijay Devarapalli for their
   initial review of the draft.


Author's Addresses

   Brian Haley
   Hewlett-Packard Company
   110 Spitbrook Road
   Nashua, NH 03062, USA
   Email: brian.haley@hp.com

   Sri Gundavelli
   Cisco Systems
   170 West Tasman Drive
   San Jose, CA 95134, USA
   Email: sgundave@cisco.com


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any


Haley & Gundavelli       Expires - April 2006                [Page 11]


                  Mobility Header Signaling Message      October 2005


   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.

Disclaimer of Validity

   This document and the information contained herein 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 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.

Copyright Statement


   Copyright (C) The Internet Society (2005).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

Acknowledgment

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







Haley & Gundavelli       Expires - April 2006                [Page 12]