draft-ietf-netlmm-pmipv6-heartbeat-07.txt   rfc5847.txt 
NETLMM Working Group V. Devarapalli (ed.) Internet Engineering Task Force (IETF) V. Devarapalli, Ed.
Internet-Draft WiChorus Request for Comments: 5847 WiChorus
Intended status: Standards Track R. Koodli (ed.) Category: Standards Track R. Koodli, Ed.
Expires: October 11, 2009 Starent Networks ISSN: 2070-1721 Cisco Systems
H. Lim H. Lim
N. Kant N. Kant
Stoke Stoke
S. Krishnan S. Krishnan
Ericsson
J. Laganier J. Laganier
DOCOMO Euro-Labs Qualcomm Inc.
April 9, 2009 June 2010
Heartbeat Mechanism for Proxy Mobile IPv6 Heartbeat Mechanism for Proxy Mobile IPv6
draft-ietf-netlmm-pmipv6-heartbeat-07.txt
Status of this Memo Abstract
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. This document may not be modified,
and derivative works of it may not be created, except to format it
for publication as an RFC or to translate it into languages other
than English.
Internet-Drafts are working documents of the Internet Engineering Proxy Mobile IPv6 (PMIPv6) is a network-based mobility management
Task Force (IETF), its areas, and its working groups. Note that protocol. The mobility entities involved in the Proxy Mobile IPv6
other groups may also distribute working documents as Internet- protocol, the mobile access gateway (MAG) and the local mobility
Drafts. anchor (LMA), set up 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 inform peers in the event of a recovery from node
failures, and allow a peer to take appropriate action.
Internet-Drafts are draft documents valid for a maximum of six months Status of This Memo
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 This is an Internet Standards Track document.
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at This document is a product of the Internet Engineering Task Force
http://www.ietf.org/shadow.html. (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on October 11, 2009. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc5847.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of Provisions Relating to IETF Documents
publication of this document (http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
Abstract include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
Proxy Mobile IPv6 is a network-based mobility management protocol. described in the Simplified BSD License.
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
inform peers in the event of a recovery from node failures, and allow
a peer to take appropriate action.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Heartbeat Mechanism . . . . . . . . . . . . . . . . . . . . . 4 3. Heartbeat Mechanism . . . . . . . . . . . . . . . . . . . . . 3
3.1. Failure Detection . . . . . . . . . . . . . . . . . . . . 5 3.1. Failure Detection . . . . . . . . . . . . . . . . . . . . 4
3.2. Restart Detection . . . . . . . . . . . . . . . . . . . . 6 3.2. Restart Detection . . . . . . . . . . . . . . . . . . . . 5
3.3. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 7 3.3. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 6
3.4. Restart Counter Mobility Option . . . . . . . . . . . . . 8 3.4. Restart Counter Mobility Option . . . . . . . . . . . . . 7
4. Exchanging Heartbeat Messages over an IPv4 Transport 4. Exchanging Heartbeat Messages over an IPv4 Transport
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Configuration Variables . . . . . . . . . . . . . . . . . . . 9 5. Configuration Variables . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
9.1. Normative References . . . . . . . . . . . . . . . . . . . 11 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9
9.2. Informative References . . . . . . . . . . . . . . . . . . 11 9.2. Informative References . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction 1. Introduction
Proxy Mobile IPv6 [RFC5213] enables network-based mobility for IPv6 Proxy Mobile IPv6 (PMIPv6) [RFC5213] enables network-based mobility
hosts that do not implement any mobility protocols. The protocol is for IPv6 hosts that do not implement any mobility protocols. The
described in detail in [RFC5213]. In order to facilitate the protocol is described in detail in [RFC5213]. In order to facilitate
network-based mobility, the PMIPv6 protocol defines a Mobile Access the network-based mobility, the PMIPv6 protocol defines a mobile
Gateway (MAG), which acts as a proxy for the Mobile IPv6 [RFC3775] access gateway (MAG), which acts as a proxy for the Mobile IPv6
signaling, and the Local Mobility Anchor (LMA) which acts similar to [RFC3775] signaling, and the local mobility anchor (LMA), which acts
a Home Agent, anchoring a Mobile Node's sessions within a Proxy similar to a home agent, anchoring a mobile node's sessions within a
Mobile IPv6 (PMIPv6) domain. The LMA and the MAG establish a PMIPv6 domain. The LMA and the MAG establish a bidirectional tunnel
bidirectional tunnel for forwarding all data traffic belonging to the for forwarding all data traffic belonging to the mobile nodes.
Mobile Nodes.
In a distributed environment such as a PMIPv6 domain consisting of In a distributed environment such as a PMIPv6 domain consisting of
LMA and MAGs, it is necessary for the nodes to 1) have a consistent LMAs and MAGs, it is necessary for the nodes to 1) have a consistent
state about each other's reachability, and 2) quickly inform peers in state about each other's reachability, and 2) quickly inform peers in
the event of recovery from node failures. So, when the LMA restarts the event of recovery from node failures. So, when the LMA restarts
after a failure, the MAG should (quickly) learn about the restart so after a failure, the MAG should (quickly) learn about the restart so
that it could take appropriate actions (such as releasing any that it can take appropriate actions (such as releasing any
resources). When there are no failures, a MAG should know about resources). When there are no failures, a MAG should know about the
LMA's reachability (and vice versa) so that the path can be assumed LMA's reachability (and vice versa) so that the path can be assumed
to be functioning. to be functioning.
This document specifies a heartbeat mechanism between the MAG and the This document specifies a heartbeat mechanism between the MAG and the
LMA to detect the status of reachability between them. This document LMA to detect the status of reachability between them. This document
also specifies a mechanism to indicate node restarts; the mechanism also specifies a mechanism to indicate node restarts; the mechanism
could be used to quickly inform peers of such restarts. The could be used to quickly inform peers of such restarts. The
heartbeat message is a mobility header message (protocol type 135) Heartbeat message is a Mobility Header message (protocol type 135)
which is periodically exchanged at a configurable threshold of time that is periodically exchanged at a configurable threshold of time or
or sent unsolicited soon after a node restart. This document does sent unsolicited soon after a node restart. This document does not
not specify the specific actions (such as releasing resources) that a specify the specific actions (such as releasing resources) that a
node takes as a response to processing the heartbeat messages. node takes as a response to processing the Heartbeat messages.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Heartbeat Mechanism 3. Heartbeat Mechanism
The MAG and the LMA exchange heartbeat messages every The MAG and the LMA exchange Heartbeat messages every
HEARTBEAT_INTERVAL seconds to detect the current status of HEARTBEAT_INTERVAL seconds to detect the current status of
reachability between them. The MAG initiates the heartbeat exchange reachability between them. The MAG initiates the heartbeat exchange
to test if the LMA is reachable by sending a Heartbeat Request to test if the LMA is reachable by sending a Heartbeat Request
message to the LMA. Each Heartbeat Request contains a sequence message to the LMA. Each Heartbeat Request contains a sequence
number that is incremented monotonically. The sequence number on the number that is incremented monotonically. The sequence number on the
last Heartbeat Request message is always recorded by the MAG, and is last Heartbeat Request message is always recorded by the MAG, and is
used to match the corresponding Heartbeat Response. Similarly, the used to match the corresponding Heartbeat Response. Similarly, the
LMA also initiates a heartbeat exchange with the MAG, by sending a LMA also initiates a heartbeat exchange with the MAG, by sending a
Heartbeat Request message, to check if the MAG is reachable. The Heartbeat Request message, to check if the MAG is reachable. The
format of the Heartbeat message is described in Section 3.3. format of the Heartbeat message is described in Section 3.3.
A Heartbeat Request message can be sent only if the MAG has at least A Heartbeat Request message can be sent only if the MAG has at least
one proxy binding cache entry at the LMA for a mobile node attached 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 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 for any of the mobile nodes attached to the MAG, then the Heartbeat
message SHOULD NOT be sent. Similarly, the LMA SHOULD NOT send a message SHOULD NOT be sent. Similarly, the LMA SHOULD NOT send a
Heartbeat Request message to a MAG if there is no active binding Heartbeat Request message to a MAG if there is no active Binding
cache entry created by the MAG. A PMIPv6 node MUST respond to a Cache entry created by the MAG. A PMIPv6 node MUST respond to a
Heartbeat Request message with a Heartbeat Response message, Heartbeat Request message with a Heartbeat Response message,
irrespective of whether there is an active binding cache entry. irrespective of whether there is an active Binding Cache entry.
The HEARTBEAT_INTERVAL SHOULD NOT be configured to a value less than The HEARTBEAT_INTERVAL SHOULD NOT be configured to a value less than
30 seconds. Deployments should be careful in setting the value for 30 seconds. Deployments should be careful in setting the value for
the HEARTBEAT_INTERNVAL. Sending heartbeat messages too often may the HEARTBEAT_INTERVAL. Sending Heartbeat messages too often may
become an overhead on the path between the MAG and the LMA. It could become an overhead on the path between the MAG and the LMA. It could
also create congestion in the network and negatively affect network also create congestion in the network and negatively affect network
performance. The HEARTBEAT_INTERVAL can be set to a much larger performance. The HEARTBEAT_INTERVAL can be set to a much larger
value on the MAG and the LMA, if required, to reduce the burden of value on the MAG and the LMA, if required, to reduce the burden of
sending periodic heartbeat messages. sending periodic Heartbeat messages.
If the LMA or the MAG do not support the heartbeat messages, they If the LMA or the MAG do not support the Heartbeat messages, they
respond with a Binding Error message with status set to '2' respond with a Binding Error message with status set to 2
(unrecognized MH type value) as described in [RFC3775]. When the (unrecognized mobility header (MH) type value) as described in
Binding Error message with status set to '2' is received in response [RFC3775]. When the Binding Error message with status set to 2 is
to Heartbeat Request message, the initiating MAG or the LMA MUST NOT received in response to a Heartbeat Request message, the initiating
use heartbeat messages with the other end again. MAG or the LMA MUST NOT use Heartbeat messages with the other end
again.
If a PMIPv6 node has detected that a peer PMIPv6 node has failed or If a PMIPv6 node has detected that a peer PMIPv6 node has failed or
restarted without retaining the PMIPv6 session state, it should mark restarted without retaining the PMIPv6 session state, it should mark
the corresponding binding update list or binding cache entries as the corresponding binding update list or binding cache entries as
invalid. The PMIPv6 node may also take other actions which are invalid. The PMIPv6 node may also take other actions, which are
outside the scope of this document. outside the scope of this document.
The detection of failures and restarts events may be signaled to The detection of failure and restart events may be signaled to
network operators by using asynchronous notifications. Future work network operators by using asynchronous notifications. Future work
may define such notifications in a SMIv2 Management Information Base may define such notifications in a Structure of Management
(MIB) module. Information Version 2 (SMIv2) Management Information Base (MIB)
module.
3.1. Failure Detection 3.1. Failure Detection
A PMIPv6 node, (MAG or LMA) matches every received Heartbeat Response A PMIPv6 node (MAG or LMA) matches every received Heartbeat Response
to the Heartbeat Request sent using the sequence number. Before to the Heartbeat Request sent using the sequence number. Before
sending the next Heartbeat Request, it increments a local variable sending the next Heartbeat Request, it increments a local variable
MISSING_HEARTBEAT if it has not received a Heartbeat Response for the MISSING_HEARTBEAT if it has not received a Heartbeat Response for the
previous request. When this local variable MISSING_HEARTBEAT exceeds previous request. When this local variable MISSING_HEARTBEAT exceeds
a configurable parameter MISSING_HEARTBEATS_ALLOWED, the PMIPv6 node a configurable parameter MISSING_HEARTBEATS_ALLOWED, the PMIPv6 node
concludes that the peer PMIPv6 node is not reachable. If a Heartbeat concludes that the peer PMIPv6 node is not reachable. If a Heartbeat
Response message is received, the MISSING_HEARTBEATS counter is Response message is received, the MISSING_HEARTBEATS counter is
reset. reset.
3.2. Restart Detection 3.2. Restart Detection
The section describes a mechanism for detecting failure recovery The section describes a mechanism for detecting failure recovery
without session persistence. In case the LMA or the MAG crashes and without session persistence. In the case that the LMA or the MAG
re-boots and loses all state with respect to the PMIPv6 sessions, it crashes and reboots and loses all state with respect to the PMIPv6
would be beneficial for the peer PMIPv6 node to discover the failure sessions, it would be beneficial for the peer PMIPv6 node to discover
and the loss of session state and establish the sessions again. the failure and the loss of session state and establish the sessions
again.
Each PMIPv6 node (both the MAG and LMA) MUST maintain a monotonically Each PMIPv6 node (both the MAG and LMA) MUST maintain a monotonically
increasing Restart Counter that is incremented every time the node increasing Restart Counter that is incremented every time the node
re-boots and looses PMIPv6 session state. The counter MUST NOT be reboots and loses PMIPv6 session state. The counter MUST NOT be
incremented if the recovery happens without losing state for the incremented if the recovery happens without losing state for the
PMIPv6 sessions active at the time of failure. This counter MUST be PMIPv6 sessions active at the time of failure. This counter MUST be
treated as state that is preserved across reboots. A PMIPv6 node treated as state that is preserved across reboots. A PMIPv6 node
includes a Restart Counter mobility option, described in Section 3.4 includes a Restart Counter mobility option, described in Section 3.4,
in an Heartbeat Response message to indicate the current value of the in a Heartbeat Response message to indicate the current value of the
Restart Counter. Each PMIPv6 node MUST also store the Restart Restart Counter. Each PMIPv6 node MUST also store the Restart
Counter for all the peer PMIPv6 nodes that it has sessions with Counter for all the peer PMIPv6 nodes with which it currently has
currently. Storing the Restart Counter values for peer PMIPv6 nodes sessions. Stored Restart Counter values for peer PMIPv6 nodes do not
does not need to be preserved across reboots. need to be preserved across reboots.
The PMIPv6 node that receives the Heartbeat Response message compares The PMIPv6 node that receives the Heartbeat Response message compares
the Restart Counter value with the previously received value. If the the Restart Counter value with the previously received value. If the
value is different, the receiving node assumes that the peer PMIPv6 value is different, the receiving node assumes that the peer PMIPv6
node had crashed and recovered. If the Restart Counter value changes node had crashed and recovered. If the Restart Counter value changes
or if there was no previously stored value, the new value is stored or if there was no previously stored value, the new value is stored
by the receiving PMIPv6 node. by the receiving PMIPv6 node.
If a PMIPv6 node restarts and looses PMIPv6 session state, it SHOULD If a PMIPv6 node restarts and loses PMIPv6 session state, it SHOULD
send an unsolicited Heartbeat Response message with an incremented send an unsolicited Heartbeat Response message with an incremented
Restart Counter to all the PMIPv6 nodes that had previously Restart Counter to all the PMIPv6 nodes that had previously
established PMIPv6 sessions. Note that this is possible only when established PMIPv6 sessions. Note that this is possible only when
the PMIPv6 node is capable of storing information about the peers the PMIPv6 node is capable of storing information about the peers
across reboots. The unsolicited Heartbeat Response message allows across reboots. The unsolicited Heartbeat Response message allows
the peer PMIPv6 nodes to quickly discover the restart. The sequence the peer PMIPv6 nodes to quickly discover the restart. The sequence
number field in the unsolicited Heartbeat Response is ignored and no number field in the unsolicited Heartbeat Response is ignored and no
response is necessary; the nodes will synchronize during the next response is necessary; the nodes will synchronize during the next
Request and Response exchange. request and response exchange.
3.3. Heartbeat Message 3.3. Heartbeat Message
The Heartbeat Message is based on the Mobility Header defined in The Heartbeat message is based on the Mobility Header defined in
Section 6.1 of [RFC3775]. The 'MH type' field in the Mobility Header Section 6.1 of [RFC3775]. The MH Type field in the Mobility Header
indicates that it is a Heartbeat Message. The value MUST be set to indicates that it is a Heartbeat message. The value MUST be set to
<IANA-TBD1>. This document does not make any other changes to the 13. This document does not make any other changes to the Mobility
Mobility Header message. Please refer to [RFC3775] for a description Header message. Please refer to [RFC3775] for a description of the
of the fields in the Mobility Header Message. fields in the Mobility Header message.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Proto | Header Len | MH Type | Reserved | | Payload Proto | Header Len | MH Type | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | | | Checksum | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | |
. . . .
. Message Data . . Message Data .
. . . .
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Mobility Header Message Format Figure 1: Mobility Header Message Format
The Heartbeat Message follows the 'Checksum' field in the above The Heartbeat message follows the Checksum field in the above
message. The following illustrates the message format for the message. The following illustrates the message format for the
Heartbeat Mobility Header message. Heartbeat Mobility Header message.
0 1 2 3 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 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 |U|R| | Reserved |U|R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number | | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
. . . .
. Mobility options . . Mobility Options .
. . . .
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Heartbeat Message Format Figure 2: Heartbeat Message Format
Reserved Reserved
Set to 0 and ignored by the receiver. Set to 0 and ignored by the receiver.
'U' 'U'
Set to 1 in Unsolicited Heartbeat Response. Otherwise set to 0. Set to 1 in Unsolicited Heartbeat Response. Otherwise, set to 0.
'R' 'R'
A 1-bit flag that indicates whether the message is a request or a 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 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 Heartbeat message is a request. When the 'R' flag is set to 1, it
indicates that the Heartbeat message is a response. indicates that the Heartbeat message is a response.
Sequence Number Sequence Number
A 32-bit sequence number used for matching the request to the A 32-bit sequence number used for matching the request to the
reply. reply.
Mobility Options Mobility Options
Variable-length field of such length that the complete Mobility Variable-length field of such length that the complete Mobility
Header is an integer multiple of 8 octets long. This field Header is an integer that is a multiple of 8 octets long. This
contains zero or more TLV-encoded mobility options. The receiver field contains zero or more TLV-encoded mobility options. The
MUST ignore and skip any options which it does not understand. At receiver MUST ignore and skip any options that it does not
the time of writing this document, the Restart Counter Mobility understand. At the time of writing this document, the Restart
Option, described in Section 3.4, is the only valid option in this Counter mobility option, described in Section 3.4, is the only
message. valid option in this message.
3.4. Restart Counter Mobility Option 3.4. Restart Counter Mobility Option
The following shows the message format for a new mobility option for The following shows the message format for a new mobility option for
carrying the Restart Counter Value in the Heartbeat message. The carrying the Restart Counter value in the Heartbeat message. The
Restart Counter Mobility Option is only valid in a Heartbeat Response Restart Counter mobility option is only valid in a Heartbeat Response
message. It has an alignment requirement of 4n+2. message. It has an alignment requirement of 4n+2.
0 1 2 3 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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Restart Counter | | Restart Counter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Restart Counter Mobility Option Figure 3: Restart Counter Mobility Option
Type Type
A 8-bit field that indicates that it is a Restart Counter mobility An 8-bit field that indicates that it is a Restart Counter
option. It MUST be set to <IANA-TBD2>. mobility option. It MUST be set to 28.
Length Length
A 8-bit field that indicates the length of the option in octets An 8-bit field that indicates the length of the option in octets
excluding the 'Type' and 'Length' fields. It is set to '4'. excluding the Type and Length fields. It is set to 4.
Restart Counter Restart Counter
A 32-bit field that indicates the current Restart Counter value. A 32-bit field that indicates the current Restart Counter value.
4. Exchanging Heartbeat Messages over an IPv4 Transport Network 4. Exchanging Heartbeat Messages over an IPv4 Transport Network
In some deployments, the network between the MAG and the LMA may not In some deployments, the network between the MAG and the LMA may be
be capable of transporting IPv6 packets. In this case, the Heartbeat IPv4-only and not capable of routing IPv6 packets. In this case, the
messages are tunneled over IPv4. If the Proxy Binding Update and Mobility Header containing the Heartbeat message is carried as
Proxy Binding Acknowledgment messages are sent using UDP specified in Section 4 of [RFC5844], i.e., the Mobility Header is
encapsulation to traverse NATs, then the Heartbeat messages are also part of the UDP payload inside an IPv4 packet (IPv4-UDP-MH).
sent with UDP encapsulation. The UDP port used would be the same as
the port used for the Proxy Binding Update and Proxy Binding
Acknowledgement messages. For more details on tunneling Proxy Mobile
IPv6 signaling messages over IPv4, see
[I-D.ietf-netlmm-pmip6-ipv4-support].
5. Configuration Variables 5. Configuration Variables
The LMA and the MAG must allow the following variables to be The LMA and the MAG must allow the following variables to be
configurable. configurable.
HEARTBEAT_INTERVAL HEARTBEAT_INTERVAL
This variable is used to set the time interval in seconds between This variable is used to set the time interval in seconds between
two consecutive Heartbeat Request messages. The default value is two consecutive Heartbeat Request messages. The default value is
60 seconds. It SHOULD NOT be set to less than 30 seconds or 60 seconds. It SHOULD NOT be set to less than 30 seconds or more
larger than 3600 seconds. than 3600 seconds.
MISSING_HEARTBEATS_ALLOWED MISSING_HEARTBEATS_ALLOWED
This variable indicates the maximum number of consecutive This variable indicates the maximum number of consecutive
Heartbeat Request messages that a PMIPv6 node did not receive a Heartbeat Request messages for which a PMIPv6 node did not receive
response for before concluding that the peer PMIPv6 node is not a response before concluding that the peer PMIPv6 node is not
reachable. The default value for this variable is 3. reachable. The default value for this variable is 3.
6. Security Considerations 6. Security Considerations
The heartbeat messages are just used for checking reachability The Heartbeat messages are just used for checking reachability
between the MAG and the LMA. They do not carry information that is between the MAG and the LMA. They do not carry information that is
useful for eavesdroppers on the path. Therefore, confidentiality useful for eavesdroppers on the path. Therefore, confidentiality
protection is not required. Integrity protection using IPsec protection is not required. Integrity protection using IPsec
[RFC4301] for the heartbeat messages MUST be supported on the MAG and [RFC4301] for the Heartbeat messages MUST be supported on the MAG and
the LMA. RFC 5213 [RFC5213] describes how to protect the Proxy the LMA. RFC 5213 [RFC5213] describes how to protect the Proxy
Binding Update and Acknowledgment signaling messages with IPsec. The Binding Update and Acknowledgement signaling messages with IPsec.
Heartbeat message defined in this specification is merely another The Heartbeat message defined in this specification is merely another
subtype of the same Mobility Header protocol that is already being subtype of the same Mobility Header protocol that is already being
protected by IPsec. Therefore, protecting this additional message is protected by IPsec. Therefore, protecting this additional message is
possible using the mechanisms and security policy models from these possible using the mechanisms and security policy models from these
RFCs. The security policy database entries should use the new MH RFCs. The security policy database entries should use the new MH
Type, the Heartbeat Message, for the MH Type selector. Type, the Heartbeat message, for the MH Type selector.
If dynamic key negotiation between the MAG and the LMA is required, If dynamic key negotiation between the MAG and the LMA is required,
IKEv2 [RFC4306] should be used. Internet Key Exchange Protocol version 2 (IKEv2) [RFC4306] should be
used.
7. IANA Considerations 7. IANA Considerations
The Heartbeat message defined in Section 3.3 must have the type value The Heartbeat message defined in Section 3.3 must have the type value
allocated from the same space as the 'MH Type' name space in the allocated from the same space as the 'MH Type' name space in the
Mobility Header defined in RFC 3775 [RFC3775]. Mobility Header defined in RFC 3775 [RFC3775].
The Restart Counter mobility option defined in Section 3.4 must have The Restart Counter mobility option defined in Section 3.4 must have
the type value allocated from the same name space as the Mobility the type value allocated from the same name space as the mobility
Options defined in RFC 3775 [RFC3775]. options defined in RFC 3775 [RFC3775].
8. Acknowledgments 8. Acknowledgements
A heartbeat mechanism for a network-based mobility management A heartbeat mechanism for a network-based mobility management
protocol was first described in [I-D.giaretta-netlmm-dt-protocol]. protocol was first described in [NETLMM]. The authors would like to
The authors would like to thank the members of a NETLMM design team thank the members of a NETLMM design team that produced that
that produced that document. The mechanism described in this document. The mechanism described in this document also derives from
document also derives from the path management mechanism described in the path management mechanism described in [GTP].
[GTP].
We would like to thank Alessio Casati for first suggesting a fault We would like to thank Alessio Casati for first suggesting a fault
handling mechanism for Proxy Mobile IPv6. handling mechanism for Proxy Mobile IPv6.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5213] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., [RFC5213] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K.,
and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008. and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.
[I-D.ietf-netlmm-pmip6-ipv4-support] [RFC5844] Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy
Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy Mobile IPv6", RFC 5844, May 2010.
Mobile IPv6", draft-ietf-netlmm-pmip6-ipv4-support-10
(work in progress), March 2009.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the [RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005. Internet Protocol", RFC 4301, December 2005.
[RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
RFC 4306, December 2005. RFC 4306, December 2005.
[RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support [RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support
in IPv6", RFC 3775, June 2004. in IPv6", RFC 3775, June 2004.
9.2. Informative References 9.2. Informative References
[I-D.giaretta-netlmm-dt-protocol] [NETLMM] Levkowetz, H., Ed., Giaretta, G., Leung, K., Liebsch, M.,
Giaretta, G., "The NetLMM Protocol", Roberts, P., Nishida, K., Yokota, H., and M.
draft-giaretta-netlmm-dt-protocol-02 (work in progress), Parthasarathy, "The NetLMM Protocol", Work in Progress,
October 2006. October 2006.
[GTP] 3rd Generation Partnership Project, "3GPP Technical [GTP] 3rd Generation Partnership Project, "3GPP Technical
Specification 29.060 V7.6.0: "Technical Specification Specification 29.060 V7.6.0: "Technical Specification
Group Core Network and Terminals; General Packet Radio Group Core Network and Terminals; General Packet Radio
Service (GPRS); GPRS Tunnelling Protocol (GTP) across the Service (GPRS); GPRS Tunnelling Protocol (GTP) across the
Gn and Gp interface (Release 7)"", July 2007. Gn and Gp interface (Release 7)"", July 2007.
Authors' Addresses Authors' Addresses
Vijay Devarapalli Vijay Devarapalli (editor)
WiChorus WiChorus
3950 North First Street 3950 North First Street
San Jose, CA 95134 San Jose, CA 95134
USA USA
Email: vijay@wichorus.com EMail: vijay@wichorus.com
Rajeev Koodli
Starent Networks Rajeev Koodli (editor)
Cisco Systems
USA USA
Email: rkoodli@starentnetworks.com EMail: rkoodli@cisco.com
Heeseon Lim Heeseon Lim
Stoke Stoke
5403 Betsy Ross Drve 5403 Betsy Ross Drive
Santa Clara, CA 95054 Santa Clara, CA 95054
USA USA
Email: hlim@stoke.com EMail: hlim@stoke.com
Nishi Kant Nishi Kant
Stoke Stoke
5403 Betsy Ross Drive 5403 Betsy Ross Drive
Santa Clara, CA 95054 Santa Clara, CA 95054
USA USA
Email: nishi@stoke.com EMail: nishi@stoke.com
Suresh Krishnan Suresh Krishnan
Ericsson Ericsson
8400 Decarie Blvd. 8400 Decarie Blvd.
Town of Mount Royal, QC Town of Mount Royal, QC
Canada Canada
Email: suresh.krishnan@ericsson.com EMail: suresh.krishnan@ericsson.com
Julien Laganier Julien Laganier
DOCOMO Euro-Labs Qualcomm Incorporated
Landsbergerstrasse 312 5775 Morehouse Drive
Munich, D-80687 San Diego, CA 92121
Germany USA
Email: julien.IETF@laposte.net EMail: julienl@qualcomm.com
 End of changes. 66 change blocks. 
180 lines changed or deleted 165 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/