MEXT Working Group Brian Haley Internet Draft Hewlett-Packard Intended status: Standards Track Sri Gundavelli Expires: October 10, 2008 Cisco Systems April 10, 2008 Generic Notification Message for Mobile IPv6 draft-haley-mext-generic-notification-message-00.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 allows Mobile IPv6 entities to send and receive generic notification messages. Haley Expires - April 2008 [Page 1] Generic Notification Message for Mobile IPv6 October 2008 Table of Contents 1. Introduction...................................................2 2. Terminology....................................................3 3. Generic Notification Messages..................................3 Generic Notification Message...................................4 4. Generic Notification Sub-types.................................5 4.1 Generic Notification Option Sub-type.......................5 4.2 Generic Notification Request Sub-type......................6 4.3 Generic Notification Acknowledgement Sub-type..............7 5. Sending Generic Notification Messages..........................8 5.1 Sending Generic Notification Option Messages...............8 5.2 Sending Generic Notification Request Messages..............8 5.3 Sending Generic Notification Acknowledgement Messages......9 6. Receiving Generic Notification Messages........................9 6.1 Receiving Generic Notification Option Messages............10 6.2 Receiving Generic Notification Request Messages...........10 6.2.1 Mobile Node Operation...................................10 6.2.2 Home Agent Operation....................................10 6.2.3 Retransmissions.........................................11 7. Protocol Constants............................................11 8. IANA Considerations...........................................11 9. Security Considerations.......................................12 10. References...................................................12 10.1 Normative Reference......................................12 10.2 Informative references...................................12 Acknowledgments..................................................12 Author's Addresses...............................................12 1. Introduction RFC 3775 [RFC3775] contains no provision for Mobile IPv6 entities, such as a home agent or mobile node, to send and receive asynchronous notification messages during a mobility session. This document describes a generic notification message protocol that can be used by Mobile IPv6 entities for sending and receiving simple notification events. It also provides common semantics and a framework that can be used for defining new event types, and carrying them using the protocol defined in this document. The document does not define any specific events, or the corresponding actions that the receiver is required to do upon receiving an event. The receiver actions specified in this document are within the scope of the message delivery and acknowledgment that are common to all events carried using this messaging protocol. Haley Expires - April 2008 [Page 2] Generic Notification Message for Mobile IPv6 October 2008 2. Terminology 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 [RFC2119]. 3. Generic Notification Messages The messages described below follow the Mobility Header format specified in Section 6.1 of [RFC3775]: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Proto | Header Len | MH Type | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | . . . Message Data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Haley Expires - April 2008 [Page 3] Generic Notification Message for Mobile IPv6 October 2008 3.1 Generic Notification Message The Generic Notification message is used by the home agent to notify the mobile node, or vice-versa, that there is an event that requires attention. This packet is sent as described in Section 5. The Generic Notification message 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub-Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Sub-Type specific data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Mobility options . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Sub-Type A 16-bit unsigned integer. This field describes the particular type of notification which is carried in the Generic Notification message. This specification defines three Sub-types valid for the Generic Notification message. Sub-Type specific data Variable-length field containing data specific to the Sub-Type. This could be zero bytes in length. This specification defines two Sub-type data layouts valid for the Generic Notification message. Mobility options Haley Expires - April 2008 [Page 4] Generic Notification Message for Mobile IPv6 October 2008 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 [RFC3775]. The receiver MUST ignore and skip any options with it does not understand. This specification does not define any options valid for the Generic Notification message. 4. Generic Notification Sub-types 4.1 Generic Notification Option Sub-type The Generic Notification Option sub-type specifies an un-bounded notification message. This packet is sent as described in Section 5. The Generic Notification Option uses the sub-type value 0 (zero). When this value is indicated in the Sub-Type field, there is no data contained in the Sub-Type Specific Data field in the Generic Notification message, there are only Mobility Options, and the 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Mobility options . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 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 [RFC3775]. The receiver MUST ignore and skip any options which it does not understand. This specification does not define any options valid for the Option 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. Haley Expires - April 2008 [Page 5] Generic Notification Message for Mobile IPv6 October 2008 4.2 Generic Notification Request Sub-type The Generic Notification Request sub-type specifies a sequenced type of notification message. This packet is sent as described in Section 5. The Generic Notification Request uses the sub-type value 1. When this value is indicated in the Sub-Type field, the format of the Sub- Type Specific Data field in the Generic Notification message 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number |A| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Mobility options . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Sequence Number A 16-bit unsigned integer used by the receiving node to sequence Notification Requests and by the sending node to match a returned Notification Acknowledgement with this Notification Request. Acknowledge (A) The Acknowledge (A) bit is set by the sender to request a Notification Acknowledgement (Section 4.3) be returned upon receipt of a Notification Request. Reserved These fields are unused. They MUST be initialized to zero by the sender, and MUST be ignored by the receiver. 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 [RFC3775]. The receiver MUST ignore and skip any options with it does not understand. Haley Expires - April 2008 [Page 6] Generic Notification Message for Mobile IPv6 October 2008 This specification does not define any options valid for the Notification 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.3 Generic Notification Acknowledgement Sub-type The Generic Notification Acknowledgement sub-type is used to acknowledge receipt of a Generic Notification Request (Section 4.2). This packet is sent as described in Section 5. The Generic Notification Acknowledgement uses the Sub-Type value 2. When this value is indicated in the Sub-Type field, the format of the Sub-type Specific Data field in the Generic Notification message 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | Status | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Mobility options . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Sequence Number The sequence number in the Notification Acknowledgement is copied from the sequence number field in the Notification Request. It is used by the receiving node in matching this Notification Acknowledgement with an outstanding Notification Request. Status 8-bit unsigned integer indicating the disposition of the Notification Request. Values of the Status field less than 128 indicate that the Notification Request was accepted by the receiving node. Values greater than or equal to 128 indicate that the Notification Request was rejected by the receiving node. The following Status values are currently defined: 0 Notification Request accepted Haley Expires - April 2008 [Page 7] Generic Notification Message for Mobile IPv6 October 2008 128 Reason unspecified 129 Administratively prohibited 130 Insufficient resources 131 Unsupported mobility option 132 Not home agent for this mobile node 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 [RFC3775]. The receiver MUST ignore and skip any options with it does not understand. This specification does not define any options valid for the Notification Request sub-type. 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. Sending Generic Notification Messages When sending a Generic Notification 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). The Generic Notification Request message MUST use the home agent to mobile node IPsec ESP authentication SA for integrity protection. 5.1 Sending Generic Notification Option Messages When sending a Generic Notification Option, the sending node just adds mobility options to the message. 5.2 Sending Generic Notification Request Messages When sending a Generic Notification Request message, the sending node constructs the packet as specified in Section 5, except: o The Acknowledge (A) bit MAY be set to indicate the receiver must send a Generic Notification Acknowledgement. Haley Expires - April 2008 [Page 8] Generic Notification Message for Mobile IPv6 October 2008 5.3 Sending Generic Notification Acknowledgement Messages A Generic Notification Acknowledgement message should be sent to indicate receipt of a Generic Notification Request as follows: o If the Generic Notification Request was discarded because it does not meet the requirements as specified in [RFC3775] described in Section 6, a Generic Notification Acknowledgement MUST NOT be sent. Otherwise, the treatment depends on the below rule. o If the Acknowledgement (A) bit is set in the Generic Notification Request, a Generic Notification Acknowledgement MUST be sent. Otherwise, the treatment depends on the below rule. o If the Generic Notification Request was discarded for any other reason, a Generic Notification Acknowledgement SHOULD be sent. If the Source Address field of the IPv6 header that carried the Generic Notification Request does not contain a unicast address, the Generic Notification Acknowledgement MUST NOT be sent, and the Generic Notification Request packet MUST be silently discarded. Otherwise, the acknowledgement MUST be sent to the Source Address. 6. Receiving Generic Notification Messages Upon receiving a Generic Notification message, the Mobility Header MUST be verified as specified in [RFC3775], specifically: o The Checksum, MH type, Payload Proto and Header Len fields MUST meet the requirements of Section 9.2 of [RFC3775]. 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 [RFC3775]. 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. o If the Generic Notification message is valid according to the tests above, then it is processed according to the rules specific to the Sub-Type specified in the header. Subsequent checks depend on the current mode of operation of the node. Haley Expires - April 2008 [Page 9] Generic Notification Message for Mobile IPv6 October 2008 6.1 Receiving Generic Notification Option Messages If the Generic Notification Option message is valid according to the tests in Section 6, then it is processed further as follows: o If the receiving node does not allow Generic Notification Option messages, or does not support the type of Mobility Option in the message, it MUST reject the request and SHOULD silently discard the message. Subsequent checks depend on the current mode of operation of the node. 6.2 Receiving Generic Notification Request Messages If the Generic Notification Request message is valid according to the tests in Section 6, then it is processed further as follows: o If the receiving node does not allow Generic Notification Request messages, it MUST reject the request and SHOULD return a Generic Notification 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 Generic Notification Request message, it MUST reject the request and SHOULD return a Generic Notification 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. 6.2.1 Mobile Node Operation If the mobile node rejects the Generic Notification Request message for any other reason than specified in Section 6, it SHOULD return a Generic Notification Acknowledgement to the home agent in which the Status field is set to 128 (reason unspecified). 6.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 Generic Notification Haley Expires - April 2008 [Page 10] Generic Notification Message for Mobile IPv6 October 2008 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 Generic Notification Request message because it is over-utilized, it MUST reject the request and SHOULD return a Generic Notification Acknowledgement to the mobile node in which the Status field is set to 130 (insufficient resources). If the home agent rejects the Generic Notification Request message for any other reason, it SHOULD return a Generic Notification Acknowledgement to the mobile node in which the Status field is set to 128 (reason unspecified). 6.2.3 Retransmissions If the sender has set the Acknowledge (A) bit in the Generic Notification Request, but does not receive a Generic Notification Acknowledgement, then it MAY retransmit the message, until a response is received. The initial value for the retransmission timer is INITIAL_MH_NOTIFICATION_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_NOTIFICATION_TIMEOUT. 7. Protocol Constants INITIAL_MH_NOTIFICATION_TIMEOUT 5 seconds MAX_MH_NOTIFICATION_TIMEOUT 20 seconds 8. IANA Considerations A new Mobility Header type is required for the following new message described in Section 2: (TBD) Generic Notification Message New Generic Notification Message Sub-Types are required for the following described in Section 4: 0 Generic Notification Option 1 Generic Notification Request 2 Generic Notification Acknowledgement Haley Expires - April 2008 [Page 11] Generic Notification Message for Mobile IPv6 October 2008 9. Security Considerations As with other messages in [RFC3775], the Generic Notification message 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 Generic Notification message MAY use the IPsec ESP SA in place for Binding Updates and Acknowledgements as specified in Section 5.1 of [RFC3775], in order to reduce the number of configured security associations. This also gives the message authenticity protection. 10. References 10.1 Normative Reference [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3775] Johnson, D. Perkins, C., and Arkko, J., "Mobility Support in IPv6", RFC 3775, June, 2004. 10.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 Haley Expires - April 2008 [Page 12] Generic Notification Message for Mobile IPv6 October 2008 Full Copyright Statement Copyright (C) The IETF Trust (2008). 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 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 - April 2008 [Page 13]