NETLMM Working Group V. Devarapalli Internet-Draft WiChorus Intended status: Standards Track H. Lim Expires: January 4, 2009 N. Kant Stoke S. Krishnan Ericsson July 3, 2008 Heartbeat Mechanism for Proxy Mobile IPv6 draft-devarapalli-netlmm-pmipv6-heartbeat-03.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. This Internet-Draft will expire on January 4, 2009. Abstract Proxy Mobile IPv6 is a network-based mobility management protocol. The mobility entities involved in the Proxy Mobile IPv6 protocol, the Mobile Access Gateway (MAG) and the Local Mobility Anchor (LMA), setup tunnels dynamically to manage mobility for a mobile node within the Proxy Mobile IPv6 domain. This document describes a heartbeat mechanism between the MAG and the LMA to detect failures quickly and take appropriate action. Devarapalli, et al. Expires January 4, 2009 [Page 1] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Heartbeat Mechanism . . . . . . . . . . . . . . . . . . . . . 3 3.1. Failure Detection . . . . . . . . . . . . . . . . . . . . 4 3.2. Restart Detection . . . . . . . . . . . . . . . . . . . . 5 3.3. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 5 3.4. Restart Counter Mobility Option . . . . . . . . . . . . . 6 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.1. Normative References . . . . . . . . . . . . . . . . . . . 8 7.2. Informative References . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Intellectual Property and Copyright Statements . . . . . . . . . . 10 Devarapalli, et al. Expires January 4, 2009 [Page 2] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 1. Introduction Proxy Mobile IPv6 enables network-based mobility for IPv6 hosts that do not implement any mobility protocols. The protocol is described in detail in [2]. The Local Mobility Anchor (LMA) acts the anchor for the mobile node sessions as long as the mobile node is attached to the Proxy Mobile IPv6 domain. For the definition of Proxy Mobile IPv6 domain, see [2]. The mobile node is at any time attached to a Mobile Access Gateway (MAG) that manages mobility for the mobile node. The MAG and the LMA set up IP-in-IP tunnels to tunnel all traffic that belongs to the mobile node. If the LMA crashes or if there is a communication problem on the path between the MAG and the LMA, the MAG discovers this only when it sends the next proxy Binding Update and gets no response from the LMA. If a MAG becomes unreachable, the LMA can detect it only when it starts receiving ICMP unreachable messages from an intermediate router in response to data traffic the LMA tunnels to the MAG. For some deployments of Proxy Mobile IPv6, it is desirable to detect the LMA or the MAG reachability failure very early, so that appropriate action could be taken. The appropriate actions, for example, releasing resources, is out of scope for this document. This document proposes a heartbeat mechanism between the MAG and the LMA to detect the current status of reachability between them. The heartbeat message is a mobility header message (protocol type 135). The MAG and the LMA exchange heartbeat messages every few seconds to detect if the other end is still reachable. The interval between consecutive heartbeats is configurable. 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 [1]. 3. Heartbeat Mechanism The MAG and the LMA exchange heartbeat messages every HEARTBEAT_INTERVAL seconds to detect the current status of reachability between them. A MAG typically initiates the heartbeat exchange by sending a Heartbeat Request to the LMA. Each Heartbeat Request contains a sequence number that is incremented sequentially. The sequence number on the last Heartbeat Request message is always recorded by the MAG. The HEARTBEAT_INTERVAL is carried in the Heartbeat Request message. The Heartbeat message is described in Devarapalli, et al. Expires January 4, 2009 [Page 3] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 more detail in Section 3.3. A heartbeat message can be sent only if the MAG has at least one proxy binding cache entry at the LMA for a mobile node attached to the MAG. If there are no proxy binding cache entries at the LMA for any of the mobile nodes attached to the MAG, then the heartbeat messages MUST NOT be sent. When the LMA receives a Heartbeat Request message, it responds with a Heartbeat Response message. The heartbeat interval in the Heartbeat Request message is recorded on the LMA. If the heartbeat interval is different from the previously known heartbeat interval from the MAG, the LMA stores the new heartbeat interval. The LMA copies the sequence number from the Heartbeat Request message onto the Heartbeat Response message. The Heartbeat Interval field is set to 0 in the Heartbeat Response message. The HEARTBEAT_INTERVAL SHOULD NOT be configured to a value less than 30 seconds. Sending heartbeat messages too often may become an overhead on the path between the MAG and the LMA. The LMA MAY also send a one-time Heartbeat Request message to the MAG to check a MAG's reachability status. The Heartbeat Interval in the Heartbeat Request message is set to 0 to indicate that it is a one- time message and is not transmitted periodically. If a MAG receives a Heartbeat Request message from the LMA, it MUST respond with a Heartbeat Response message. If the LMA or the MAG do not support the heartbeat messages, they should respond with an ICMP Parameter Problem, Code 0, message to the initiator. The 'Pointer' field in the ICMP Parameter Problem message SHOULD point to the 'MH Type' field, indicating that the particular Mobility Header message is not supported. When the ICMP Parameter Problem message is received in response to Heartbeat Request message, the initiating MAG or the LMA MUST NOT use heartbeat messages with the other end again. 3.1. Failure Detection If the MAG does not receive more than MISSING_HEARTBEATS_ALLOWED number of responses from the LMA, it concludes that the LMA is not reachable. The MISSING_HEARTBEATS_ALLOWED value is configurable on the MAG. The MAG may then take appropriate action (out of scope for this document). The LMA also has a MISSING_HEARTBEATS_ALLOWED counter configured per MAG. The LMA knows how often to expect a heartbeat message from the MAG based on the Heartbeat Interval in the first Heartbeat Request Devarapalli, et al. Expires January 4, 2009 [Page 4] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 message received from the MAG. If the LMA does not receive more than MISSING_HEARTBEATS_ALLOWED Heartbeat Request messages from the MAG, it concludes that the MAG is not reachable. The LMA may also optionally send a Heartbeat Request message to the MAG before concluding that the MAG is unreachable. The Heartbeat Interval value is set to 0 to indicate that this is a one-time heartbeat message and is not sent periodically. If the LMA does not get a response from the MAG, it re-transmits the Heartbeat Request message. The number of times the Heartbeat Request is re-transmitted is configurable on the LMA. If a response from the MAG is received, then the LMA concludes that the MAG is reachable and resets the MISSING_HEARTBEATS_ALLOWED counter for the particular MAG. 3.2. Restart Detection The section describes an optional extension for detecting failure recovery without session persistence. In case the LMA crashes and re-boots and looses all state with respect to the PMIPv6 sessions, it would be beneficial for the MAGs to discover the failure recovery and setup the sessions again. The following is applicable only if the Restart Detection mechanism is used. Each PMIPv6 node (both the MAG and LMA) MUST maintain a monotonically increasing Restart Counter that is incremented every time the node re-boots and looses PMIPv6 session state. The counter MUST NOT be incremented if the recovery happens without losing state for the PMIPv6 sessions active at the time of failure. This counter MUST be stored in non-volatile memory. A PMIPv6 node includes a Restart Counter mobility option, described in Section 3.4 in an Heartbeat Response message to indicate the current value of the Restart Counter. Each PMIPv6 node MUST also store the Restart Counter for all the peer PMIPv6 nodes that it has sessions with currently. Storing the Restart Counter values for peer PMIPv6 nodes does not require non-volatile memory. The PMIPv6 node that receives the Heartbeat Response message compares the Restart Counter value with the previously received value. If the value is different, the receiving node assumes that the peer PMIPv6 node had crashed and recovered. If the Restart Counter value changes or if there was no previously stored value, the new value is stored by the receiving PMIPv6 node. 3.3. Heartbeat Message The following illustrates the message format for the Heartbeat Mobility Header message. The 'MH Type' field in the Mobility Header indicates that it is a Heartbeat message. Devarapalli, et al. Expires January 4, 2009 [Page 5] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 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 |R| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Heartbeat Interval | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Reserved Set to 0 and ignored by the receiver. 'R' A 1-bit flag that indicates whether the message is a request or a response. When the 'R' flag is set to 0, it indicates that the Heartbeat message is a request. When the 'R' flag is set to 1, it indicates that the Heartbeat message is a response. Sequence Number A 32-bit sequence number used for matching the request to the reply. Heartbeat Interval A 32-bit value indicating the interval in seconds between two consecutive heartbeat messages. A value of 0 indicates that the Heartbeat message is just a one-time message and not sent periodically. 3.4. Restart Counter Mobility Option The following shows the message format for a new mobility option for carrying the Restart Counter Value in the Heartbeat message. The Restart Counter Mobility Option is only valid in a Heartbeat Response message. It has an alignment requirement of 4n+2. 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 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Restart Counter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Devarapalli, et al. Expires January 4, 2009 [Page 6] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 Type A 8-bit field that indicates that it is a Restart Counter mobility option. Length A 8-bit field that indicates the length of the option in octets excluding the 'Type' and 'Length' fields. It is set to '4'. Restart Counter A 32-bit field that indicates the current Restart Counter value. 4. Security Considerations The heartbeat messages are just used for checking reachability between the MAG and the LMA. They do not carry information that is useful for eavesdroppers on the path. Integrity protection using IPsec [3] for the heartbeat messages MUST be supported on the MAG and the LMA. The use of IPsec protection is optional. Confidentiality protection is not required. For dynamic key negotiation between the MAG and the LMA, IKEv2 [4] SHOULD be used. 5. IANA Considerations The Heartbeat message defined in Section 3.3 must have the type value allocated from the same space as the 'MH Type' field in the Mobility Header defined in RFC 3775 [5]. The Restart Counter mobility option defined in Section 3.4 must have the type value allocated from the same space as the Mobility Options defined in RFC 3775 [5]. 6. Acknowledgments A heartbeat mechanism for a network-based mobility management protocol was first described in [6]. The authors would like to thank the members of a NETLMM design team that produced that document. The mechanism described in this document also derives from the path management mechanism described in [7]. We would like to thank Alessio Casati for first suggesting a fault Devarapalli, et al. Expires January 4, 2009 [Page 7] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 handling mechanism for Proxy Mobile IPv6. We would also like to thank Julien Laganier for proposing the Restart Detection mechanism. 7. References 7.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", draft-ietf-netlmm-proxymip6-18 (work in progress), May 2008. [3] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, December 2005. [4] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, December 2005. 7.2. Informative References [5] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004. [6] Giaretta, G., "The NetLMM Protocol", draft-giaretta-netlmm-dt-protocol-02 (work in progress), October 2006. [7] 3rd Generation Partnership Project, "3GPP Technical Specification 29.060 V7.6.0: "Technical Specification Group Core Network and Terminals; General Packet Radio Service (GPRS); GPRS Tunnelling Protocol (GTP) across the Gn and Gp interface (Release 7)"", July 2007. Authors' Addresses Vijay Devarapalli WiChorus 3950 North First Street San Jose, CA 95134 USA Email: vijay@wichorus.com Devarapalli, et al. Expires January 4, 2009 [Page 8] Internet-Draft PMIPv6 Heartbeat Mechanism July 2008 Heeseon Lim Stoke 5403 Betsy Ross Drve Santa Clara, CA 95054 USA Email: hlim@stoke.com Nishi Kant Stoke 5403 Betsy Ross Drive Santa Clara, CA 95054 USA Email: nishi@stoke.com Suresh Krishnan Ericsson 8400 Decarie Blvd. Town of Mount Royal, QC Canada Email: suresh.krishnan@ericsson.com Devarapalli, et al. Expires January 4, 2009 [Page 9] Internet-Draft PMIPv6 Heartbeat Mechanism July 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. Devarapalli, et al. Expires January 4, 2009 [Page 10]