draft-ietf-netlmm-pmipv6-heartbeat-05.txt   draft-ietf-netlmm-pmipv6-heartbeat-06.txt 
NETLMM Working Group V. Devarapalli (ed.) NETLMM Working Group V. Devarapalli (ed.)
Internet-Draft WiChorus Internet-Draft WiChorus
Intended status: Standards Track R. Koodli (ed.) Intended status: Standards Track R. Koodli (ed.)
Expires: September 5, 2009 Starent Networks Expires: September 24, 2009 Starent Networks
H. Lim H. Lim
N. Kant N. Kant
Stoke Stoke
S. Krishnan S. Krishnan
Ericsson Ericsson
J. Laganier J. Laganier
DOCOMO Euro-Labs DOCOMO Euro-Labs
March 4, 2009 March 23, 2009
Heartbeat Mechanism for Proxy Mobile IPv6 Heartbeat Mechanism for Proxy Mobile IPv6
draft-ietf-netlmm-pmipv6-heartbeat-05.txt draft-ietf-netlmm-pmipv6-heartbeat-06.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the 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, 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 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 for publication as an RFC or to translate it into languages other
than English. than English.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
skipping to change at page 1, line 43 skipping to change at page 1, line 43
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 5, 2009. This Internet-Draft will expire on September 24, 2009.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 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 in effect on the date of
publication of this document (http://trustee.ietf.org/license-info). publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 28 skipping to change at page 2, line 28
mechanism between the MAG and the LMA to detect failures quickly and mechanism between the MAG and the LMA to detect failures quickly and
take appropriate action. take appropriate action.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Heartbeat Mechanism . . . . . . . . . . . . . . . . . . . . . 3 3. Heartbeat Mechanism . . . . . . . . . . . . . . . . . . . . . 3
3.1. Failure Detection . . . . . . . . . . . . . . . . . . . . 4 3.1. Failure Detection . . . . . . . . . . . . . . . . . . . . 4
3.2. Restart Detection . . . . . . . . . . . . . . . . . . . . 5 3.2. Restart Detection . . . . . . . . . . . . . . . . . . . . 5
3.3. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 5 3.3. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 6
3.4. Restart Counter Mobility Option . . . . . . . . . . . . . 7 3.4. Restart Counter Mobility Option . . . . . . . . . . . . . 7
4. Exchanging Heartbeat Messages over an IPv4 Transport 4. Exchanging Heartbeat Messages over an IPv4 Transport
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Configuration Variables . . . . . . . . . . . . . . . . . . . 8 5. Configuration Variables . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
9.1. Normative References . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . . 10
9.2. Informative References . . . . . . . . . . . . . . . . . . 10 9.2. Informative References . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
Proxy Mobile IPv6 [RFC5213] enables network-based mobility for IPv6 Proxy Mobile IPv6 [RFC5213] enables network-based mobility for IPv6
hosts that do not implement any mobility protocols. The protocol is hosts that do not implement any mobility protocols. The protocol is
described in detail in [RFC5213]. In order to facilitate the described in detail in [RFC5213]. In order to facilitate the
network-based mobility, the PMIPv6 protocol defines a Mobile Access network-based mobility, the PMIPv6 protocol defines a Mobile Access
Gateway (MAG), which acts as a proxy for the Mobile IPv6 [RFC3775] Gateway (MAG), which acts as a proxy for the Mobile IPv6 [RFC3775]
skipping to change at page 4, line 17 skipping to change at page 4, line 17
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 SHOULD always respond cache entry created by the MAG. A PMIPv6 node MUST respond to a
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. Sending heartbeat messages too often may become an 30 seconds. Sending heartbeat messages too often may become an
overhead on the path between the MAG and the LMA. The overhead on the path between the MAG and the LMA. The
HEARTBEAT_INTERVAL can be set to a much larger value on the LMA, if HEARTBEAT_INTERVAL can be set to a much larger value on the MAG and
required, to reduce the burden of sending periodic heartbeat the LMA, if required, to reduce the burden of sending periodic
messages. 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 MH type value) as described in [RFC3775]. When the
Binding Error message with status set to '2' is received in response Binding Error message with status set to '2' is received in response
to Heartbeat Request message, the initiating MAG or the LMA MUST NOT to Heartbeat Request message, the initiating MAG or the LMA MUST NOT
use heartbeat messages with the other end again. 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
network operators by using asynchronous notifications. Future work
may define such notifications in a 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
skipping to change at page 5, line 18 skipping to change at page 5, line 23
without session persistence. In case the LMA or the MAG crashes and without session persistence. In case the LMA or the MAG crashes and
re-boots and loses all state with respect to the PMIPv6 sessions, it re-boots and loses all state with respect to the PMIPv6 sessions, it
would be beneficial for the peer PMIPv6 node to discover the failure would be beneficial for the peer PMIPv6 node to discover the failure
and the loss of session state and establish the sessions again. 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 re-boots and looses 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
stored in non-volatile memory. A PMIPv6 node includes a Restart treated as state that is preserved across reboots. A PMIPv6 node
Counter mobility option, described in Section 3.4 in an Heartbeat includes a Restart Counter mobility option, described in Section 3.4
Response message to indicate the current value of the Restart in an Heartbeat Response message to indicate the current value of the
Counter. Each PMIPv6 node MUST also store the Restart Counter for Restart Counter. Each PMIPv6 node MUST also store the Restart
all the peer PMIPv6 nodes that it has sessions with currently. Counter for all the peer PMIPv6 nodes that it has sessions with
Storing the Restart Counter values for peer PMIPv6 nodes does not currently. Storing the Restart Counter values for peer PMIPv6 nodes
require non-volatile memory. does not 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 looses 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 stores information about the peers in non-volatile the PMIPv6 node is capable of storing information about the peers
memory. The unsolicited Heartbeat Response message allows the peer across reboots. The unsolicited Heartbeat Response message allows
PMIPv6 nodes to quickly discover the restart. The sequence number the peer PMIPv6 nodes to quickly discover the restart. The sequence
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. This document does not indicates that it is a Heartbeat Message. The value MUST be set to
make any other changes to the Mobility Header message. Please refer <IANA-TBD1>. This document does not make any other changes to the
to [RFC3775] for a description of the fields in the Mobility Header Mobility Header message. Please refer to [RFC3775] for a description
Message. of the 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 | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | |
. . . .
skipping to change at page 7, line 43 skipping to change at page 8, line 4
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 A 8-bit field that indicates that it is a Restart Counter mobility
option. option. It MUST be set to <IANA-TBD2>.
Length Length
A 8-bit field that indicates the length of the option in octets A 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.
skipping to change at page 8, line 36 skipping to change at page 8, line 40
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. 60 seconds. It SHOULD NOT be set to less than 30 seconds or
larger 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 can miss before Heartbeat Request messages that a PMIPv6 node did not receive a
concluding that the peer PMIPv6 node is not reachable. The response for before concluding that the peer PMIPv6 node is not
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 4877 [RFC4877] describes how to protect Mobile IPv6 the LMA. RFC 5213 [RFC5213] describes how to protect the Proxy
Binding Update and Acknowledgment signaling with IPsec. The Binding Update and Acknowledgment signaling messages with IPsec. The
Heartbeat message defined in this specification is merely another 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. See RFC 4877 Type, the Heartbeat Message, for the MH Type selector.
for more details.
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. 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].
skipping to change at page 10, line 17 skipping to change at page 10, line 24
Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy
Mobile IPv6", draft-ietf-netlmm-pmip6-ipv4-support-08 Mobile IPv6", draft-ietf-netlmm-pmip6-ipv4-support-08
(work in progress), January 2009. (work in progress), January 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.
[RFC4877] Devarapalli, V. and F. Dupont, "Mobile IPv6 Operation with
IKEv2 and the Revised IPsec Architecture", RFC 4877,
April 2007.
[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] [I-D.giaretta-netlmm-dt-protocol]
Giaretta, G., "The NetLMM Protocol", Giaretta, G., "The NetLMM Protocol",
draft-giaretta-netlmm-dt-protocol-02 (work in progress), draft-giaretta-netlmm-dt-protocol-02 (work in progress),
October 2006. October 2006.
 End of changes. 20 change blocks. 
42 lines changed or deleted 42 lines changed or added

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