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]