Mobile IPv6 B. Haley Internet Draft Hewlett-Packard Document: draft-haley-mip6-mh-signaling-02.txt Sri Gundavelli Intended status: Standards Track Cisco Systems Expires: September, 2007 March 2007 Mobility Header Signaling Message draft-haley-mip6-mh-signaling-02.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 specifies a new Mobility Header message type that can be used between a mobile node and home agent to signal an event that requires attention. Conventions used in this document 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]. Haley Expires - September 2007 [Page 1] Mobility Header Signaling Message March 2007 Table of Contents 1. Introduction...................................................2 2. Scenarios......................................................2 2.1 Overloaded.................................................3 2.2 Load Balancing.............................................3 2.3 Maintenance................................................3 2.4 Functional Load Balancing..................................3 2.5 Home Agent Renumbering.....................................3 3. Mobility Header Signaling Messages.............................5 3.1 Mobility Header Signaling Request Message..................5 3.2 Mobility Header Signaling Acknowledgement Message..........6 4. Signaling Requests.............................................7 4.1 Sending Signaling Requests.................................7 4.2 Receiving Signaling Messages...............................8 4.2.1 Mobile Node Operation....................................8 4.2.2 Home Agent Operation.....................................9 4.3 Retransmissions............................................9 5. Signaling Acknowledgements.....................................9 5.1 Sending Signaling Acknowledgements.........................9 6. Protocol Constants............................................10 7. IANA Considerations...........................................10 8. Security Considerations.......................................10 9. References....................................................10 9.1 Normative Reference.......................................10 9.2 Informative references....................................11 Acknowledgments..................................................11 Author's Addresses...............................................11 1. Introduction RFC 3775 [2] contains no provision to allow a home agent to inform a mobile node, or vice-versa, that there is an event that requires its attention. For example, a home agent may wish to handoff some of its mobile nodes to another home agent because it has come overloaded or it is going offline. This protocol describes a generic signaling message type that can be used to send messages between home agents and mobile nodes. This protocol does not describe the type of messages that might be exchanged, that information should be defined in the document for the specific Mobility option that will be used. 2. Scenarios Here are some example scenarios where a home agent signaling message would be useful. Haley Expires - September 2007 [Page 2] Mobility Header Signaling Message March 2007 2.1 Overloaded There are a number of reasons a home agent might be considered overloaded. One might be that it is at, or near, its limit on the number of home bindings it is willing to accept. Another is that it has reached a pre-determined level of system resource usage - memory, cpu cycles, etc. In either case, it would be desirable for a home agent to reduce the number of home bindings before a failure occurs. 2.2 Load Balancing A home agent might know of other home agents on the link that are not as heavily loaded as itself, learned through some other mechanism outside the scope of this document. An operator may wish to try and balance this load so a failure disrupts a smaller percentage of mobile nodes. 2.3 Maintenance Most operators do periodic maintenance in order to maintain reliability. If a home agent is being shutdown for maintenance, it would be desirable to inform mobile nodes so they do not lose mobility service. 2.4 Functional Load Balancing A Mobile IPv6 home agent provides mobile nodes with two basic services - a rendezvous server where correspondent nodes can find the current care-of address for the mobile node, and as an overlay router to tunnel traffic to/from the mobile node at its current care-of address. A mobility service provider could have two sets of home agents to handle the two functions. The rendezvous function could be handled by a machine specialized for high-speed transaction processing, while the overlay router function could be handled by a machine with high data throughput. A mobile node would start on the rendezvous server home agent and stay there if it does route optimization. However, if the original home agent detects that the mobile node is not doing route optimization, but instead reverse-tunneling traffic, it could redirect the mobile node to a home agent with better data throughput. 2.5 Home Agent Renumbering Periodically, a mobility service provider may want to shut-down home agent services at a set of IPv6 addresses and bring service back up Haley Expires - September 2007 [Page 3] Mobility Header Signaling Message March 2007 at a new set of addresses. Note that this may not involve anything as complex as IPv6 network renumbering, it may just involve changing the addresses of the home agents. There are various reasons why a mobility service provider might want to do this; an example is if the service provider revokes the account of a user it has reason to believe might use the old home agent address to disrupt service for other users. With a signaling message, the service provider could inform mobile nodes to look for a new home agent. Haley Expires - September 2007 [Page 4] Mobility Header Signaling Message March 2007 3. 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 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | . . . Message Data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3.1 Mobility Header Signaling Request Message The Signaling Request is used by the home agent to signal the mobile node, or vice-versa, that there is an event that requires attention. This packet is sent as described in Section 4.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 3.2) be returned upon receipt of a Signaling Request. Haley Expires - September 2007 [Page 5] Mobility Header Signaling Message March 2007 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. 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. 3.2 Mobility Header Signaling Acknowledgement Message The Signaling Acknowledgement is used to acknowledge receipt of a Signaling Request (Section 3.1). This packet is sent as described in Section 5.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 . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Haley Expires - September 2007 [Page 6] Mobility Header Signaling Message March 2007 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 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 [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. Signaling Requests 4.1 Sending Signaling Requests When sending a Signaling Request message, the sending node constructs the packet as it would any other Mobility Header, except: Haley Expires - September 2007 [Page 7] Mobility Header Signaling Message March 2007 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 use the home agent to mobile node IPsec ESP authentication SA for integrity protection. 4.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 packet MUST be covered by the home agent to mobile node IPsec ESP authentication SA for integrity protection. 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. 4.2.1 Mobile Node Operation If the mobile node rejects the Signaling Request message for any other reason than specified in Section 4.2, it SHOULD return a Haley Expires - September 2007 [Page 8] Mobility Header Signaling Message March 2007 Signaling Acknowledgement to the home agent in which the Status field is set to 128 (reason unspecified). 4.2.2 Home Agent Operation If the receiving node is a home agent, it MUST perform these additional checks: o If the home agent has no entry marked as a home registration in its Binding Cache for this mobile node, then this node MUST reject the request and SHOULD return a Signaling Acknowledgement to the mobile node 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 to the mobile node 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 the mobile node in which the Status field is set to 128 (reason unspecified). 4.3 Retransmissions If the sender has set the Acknowledge (A) bit in the Signaling Request, but does not receive a Signaling Response, 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. 5. Signaling Acknowledgements 5.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 4.2, a Signaling Acknowledgement MUST NOT be sent. Otherwise, the treatment depends on the below rule. Haley Expires - September 2007 [Page 9] Mobility Header Signaling Message March 2007 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. 6. Protocol Constants INITIAL_MH_SIGNAL_TIMEOUT 5 seconds MAX_MH_SIGNAL_TIMEOUT 20 seconds 7. IANA Considerations A new Mobility Header type is required for the following new message described in Section 3: (TBD) Signaling Request (TBD) Signaling Acknowledgement 8. Security Considerations 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. References 9.1 Normative Reference [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 Haley Expires - September 2007 [Page 10] Mobility Header Signaling Message March 2007 [2] Johnson, D. Perkins, C., and Arkko, J., "Mobility Support in IPv6", RFC 3775, June, 2004. 9.2 Informative references 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 W.Tasman Drive San Jose, CA 95134, USA Email: sgundave@cisco.com Full Copyright Statement Copyright (C) The IETF Trust (2007). 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. 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, THE IETF TRUST 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. Intellectual Property Haley Expires - September 2007 [Page 11] Mobility Header Signaling Message March 2007 The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgement Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Haley Expires - September 2007 [Page 12]