idnits 2.17.1 draft-devarapalli-netlmm-pmipv6-heartbeat-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 23. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 403. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 414. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 421. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 427. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (September 8, 2008) is 5709 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-18) exists of draft-ietf-netlmm-pmip6-ipv4-support-04 ** Obsolete normative reference: RFC 4306 (ref. '5') (Obsoleted by RFC 5996) -- Obsolete informational reference (is this intentional?): RFC 3775 (ref. '6') (Obsoleted by RFC 6275) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NETLMM Working Group V. Devarapalli (ed.) 3 Internet-Draft WiChorus 4 Intended status: Standards Track R. Koodli (ed.) 5 Expires: March 12, 2009 Starent Networks 6 H. Lim 7 N. Kant 8 Stoke 9 S. Krishnan 10 Ericsson 11 J. Laganier 12 DOCOMO Euro-Labs 13 September 8, 2008 15 Heartbeat Mechanism for Proxy Mobile IPv6 16 draft-devarapalli-netlmm-pmipv6-heartbeat-04.txt 18 Status of this Memo 20 By submitting this Internet-Draft, each author represents that any 21 applicable patent or other IPR claims of which he or she is aware 22 have been or will be disclosed, and any of which he or she becomes 23 aware will be disclosed, in accordance with Section 6 of BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF), its areas, and its working groups. Note that 27 other groups may also distribute working documents as Internet- 28 Drafts. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 The list of current Internet-Drafts can be accessed at 36 http://www.ietf.org/ietf/1id-abstracts.txt. 38 The list of Internet-Draft Shadow Directories can be accessed at 39 http://www.ietf.org/shadow.html. 41 This Internet-Draft will expire on March 12, 2009. 43 Abstract 45 Proxy Mobile IPv6 is a network-based mobility management protocol. 46 The mobility entities involved in the Proxy Mobile IPv6 protocol, the 47 Mobile Access Gateway (MAG) and the Local Mobility Anchor (LMA), 48 setup tunnels dynamically to manage mobility for a mobile node within 49 the Proxy Mobile IPv6 domain. This document describes a heartbeat 50 mechanism between the MAG and the LMA to detect failures quickly and 51 take appropriate action. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 3. Heartbeat Mechanism . . . . . . . . . . . . . . . . . . . . . 3 58 3.1. Failure Detection . . . . . . . . . . . . . . . . . . . . 4 59 3.2. Restart Detection . . . . . . . . . . . . . . . . . . . . 4 60 3.3. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 5 61 3.4. Restart Counter Mobility Option . . . . . . . . . . . . . 6 62 4. Exchanging Heartbeat Messages over an IPv4 Transport 63 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 64 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 65 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 66 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 67 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 68 8.1. Normative References . . . . . . . . . . . . . . . . . . . 8 69 8.2. Informative References . . . . . . . . . . . . . . . . . . 8 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 71 Intellectual Property and Copyright Statements . . . . . . . . . . 11 73 1. Introduction 75 Proxy Mobile IPv6 [2] enables network-based mobility for IPv6 hosts 76 that do not implement any mobility protocols. The protocol is 77 described in detail in [2]. In order to facilitate the network-based 78 mobility, the PMIPv6 protocol defines a Mobility Anchor Gateway 79 (MAG), which acts as a proxy for the Mobile IPv6 [6] signaling, and 80 the Local Mobility Anchor (LMA) which acts similar to a Home Agent, 81 anchoring a Mobile Node's sessions within a Proxy Mobile IPv6 82 (PMIPv6) domain. The LMA and the MAG establish a bidirectional 83 tunnel for forwarding all data traffic belonging to the Mobile Nodes. 85 In a distributed environment such as a PMIPv6 domain consisting of 86 LMA and MAGs, it is necessary for the nodes to 1) have a consistent 87 state about each others reachability, and 2) quickly inform peers in 88 the event of recovery from node failures. So, when the LMA restarts 89 after a failure, the MAG should (quickly) learn about the restart so 90 that it could take appropriate actions (such as releasing any 91 resources). When there are no failures, a MAG should know about 92 LMA's reachability (and vice versa) so that the path can be assumed 93 to be functioning. 95 This document specifies a heartbeat mechanism between the MAG and the 96 LMA to detect the status of reachability between them. This document 97 also specifies a mechanism to indicate node restarts; the mechanism 98 could be used to quickly inform peers of such restarts. The 99 heartbeat message is a mobility header message (protocol type 135) 100 which is periodically exchanged at a configurable threshold of time 101 or sent unsolicited soon after a node restart. This document does 102 not specify the specific actions (such as releasing resources) that a 103 node takes as a response to processing the heartbeat messages. 105 2. Terminology 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 109 document are to be interpreted as described in [1]. 111 3. Heartbeat Mechanism 113 The MAG and the LMA exchange heartbeat messages every 114 HEARTBEAT_INTERVAL seconds to detect the current status of 115 reachability between them. The MAG initiates the heartbeat exchange 116 to test if the LMA is reachable by sending a Heartbeat Request 117 message to the LMA. Each Heartbeat Request contains a sequence 118 number that is incremented monotonically. The sequence number on the 119 last Heartbeat Request message is always recorded by the MAG, and is 120 used to match the corresponding Heartbeat Response. Similarly, the 121 LMA also initiates a heartbeat exchange with the MAG, by sending a 122 Heartbeat Request message, to check if the MAG is reachable. The 123 format of the Heartbeat message is described in Section 3.3. 125 A Heartbeat Request message can be sent only if the MAG has at least 126 one proxy binding cache entry at the LMA for a mobile node attached 127 to the MAG. If there are no proxy binding cache entries at the LMA 128 for any of the mobile nodes attached to the MAG, then the heartbeat 129 message MUST NOT be sent. Similarly, the LMA MUST NOT send a 130 Heartbeat Request message to a MAG if there is no active binding 131 cache entry created by the MAG. A PMIPv6 node SHOULD always respond 132 to a Heartbeat Request message with a Heartbeat Response message, 133 irrespective of whether there is an active binding cache entry. 135 The HEARTBEAT_INTERVAL SHOULD NOT be configured to a value less than 136 30 seconds. Sending heartbeat messages too often may become an 137 overhead on the path between the MAG and the LMA. The 138 HEARTBEAT_INTERVAL can be set to a much larger value on the LMA, if 139 required, to reduce of burden of sending periodic heartbeat messages. 141 If the LMA or the MAG do not support the heartbeat messages, they 142 should respond with an ICMP Parameter Problem, Code 0, message to the 143 initiator. The 'Pointer' field in the ICMP Parameter Problem message 144 SHOULD point to the 'MH Type' field, indicating that the particular 145 Mobility Header message is not supported. When the ICMP Parameter 146 Problem message is received in response to Heartbeat Request message, 147 the initiating MAG or the LMA MUST NOT use heartbeat messages with 148 the other end again. 150 3.1. Failure Detection 152 A PMIPv6 node, (MAR or LMA) matches every received Heartbeat Response 153 to the Heartbeat Request sent using the sequence number. Before 154 sending the next Heartbeat Request, it increments a local variable 155 MISSING_HEARTBEAT if it has not received a Heartbeat Response for the 156 previous request. When this local variable MISSING_HEARTBEAT exceeds 157 a configurable parameter MISSING_HEARTBEATS_ALLOWED, the PMIPv6 node 158 concludes that the peer PMIPv6 node is not reachable. The PMIPv6 159 node may then take appropriate actions which are outside the scope of 160 this document. If a Heartbeat Response message is received, the 161 MISSING_HEARTBEATS_ALLOWED counter is reset. 163 3.2. Restart Detection 165 The section describes a mechanism for detecting failure recovery 166 without session persistence. In case the LMA or the MAG crashes and 167 re-boots and loses all state with respect to the PMIPv6 sessions, it 168 would be beneficial for the peer PMIPv6 node to discover the failure 169 and the loss of session state and establish the sessions again. 171 Each PMIPv6 node (both the MAG and LMA) MUST maintain a monotonically 172 increasing Restart Counter that is incremented every time the node 173 re-boots and looses PMIPv6 session state. The counter MUST NOT be 174 incremented if the recovery happens without losing state for the 175 PMIPv6 sessions active at the time of failure. This counter MUST be 176 stored in non-volatile memory. A PMIPv6 node includes a Restart 177 Counter mobility option, described in Section 3.4 in an Heartbeat 178 Response message to indicate the current value of the Restart 179 Counter. Each PMIPv6 node MUST also store the Restart Counter for 180 all the peer PMIPv6 nodes that it has sessions with currently. 181 Storing the Restart Counter values for peer PMIPv6 nodes does not 182 require non-volatile memory. 184 The PMIPv6 node that receives the Heartbeat Response message compares 185 the Restart Counter value with the previously received value. If the 186 value is different, the receiving node assumes that the peer PMIPv6 187 node had crashed and recovered. If the Restart Counter value changes 188 or if there was no previously stored value, the new value is stored 189 by the receiving PMIPv6 node. 191 If a PMIPv6 node restarts and looses PMIPv6 session state, it SHOULD 192 send an unsolicited Heartbeat Response message with an incremented 193 Restart Counter to all the PMIPv6 nodes that had previously 194 established PMIPv6 sessions. This allows the peer PMIPv6 nodes to 195 quickly discover the restart. The sequence number field in the 196 unsolicited Heartbeat Response is ignored and no response to 197 necessary; the nodes will synchronize during the next Request and 198 Response exchange. 200 3.3. Heartbeat Message 202 The following illustrates the message format for the Heartbeat 203 Mobility Header message. The 'MH Type' field in the Mobility Header 204 indicates that it is a Heartbeat message. 206 0 1 2 3 207 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 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 | Reserved |U|R| 210 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 211 | Sequence Number | 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 214 Reserved 216 Set to 0 and ignored by the receiver. 218 'R' 220 A 1-bit flag that indicates whether the message is a request or a 221 response. When the 'R' flag is set to 0, it indicates that the 222 Heartbeat message is a request. When the 'R' flag is set to 1, it 223 indicates that the Heartbeat message is a response. 225 'U' 227 Set to 1 in Unsolicited Heartbeat Response. Otherwise set to 0. 229 Sequence Number 231 A 32-bit sequence number used for matching the request to the 232 reply. 234 3.4. Restart Counter Mobility Option 236 The following shows the message format for a new mobility option for 237 carrying the Restart Counter Value in the Heartbeat message. The 238 Restart Counter Mobility Option is only valid in a Heartbeat Response 239 message. It has an alignment requirement of 4n+2. 241 0 1 2 3 242 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 243 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 244 | Type | Length | 245 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 246 | Restart Counter | 247 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 249 Type 251 A 8-bit field that indicates that it is a Restart Counter mobility 252 option. 254 Length 256 A 8-bit field that indicates the length of the option in octets 257 excluding the 'Type' and 'Length' fields. It is set to '4'. 259 Restart Counter 261 A 32-bit field that indicates the current Restart Counter value. 263 4. Exchanging Heartbeat Messages over an IPv4 Transport Network 265 In some deployments, the network between the MAG and the LMA may not 266 be capable of transporting IPv6 packets. In this case, the Heartbeat 267 messages are tunneled over IPv4. If the Proxy Binding Update and 268 Proxy Binding Acknowledgment messages are sent using UDP 269 encapsulation to traverse NATs, then the Heartbeat messages are also 270 sent with UDP encapsulation. The UDP port used would be the same as 271 the port used for the Proxy Binding Update and Proxy Binding 272 Acknowledgement messages. For more details on tunneling Proxy Mobile 273 IPv6 signaling messages over IPv4, see [3]. 275 5. Security Considerations 277 The heartbeat messages are just used for checking reachability 278 between the MAG and the LMA. They do not carry information that is 279 useful for eavesdroppers on the path. Therefore, confidentiality 280 protection is not required. Integrity protection using IPsec [4] for 281 the heartbeat messages MUST be supported on the MAG and the LMA. 283 If dynamic key negotiation between the MAG and the LMA is required, 284 IKEv2 [5] should be used. 286 6. IANA Considerations 288 The Heartbeat message defined in Section 3.3 must have the type value 289 allocated from the same space as the 'MH Type' field in the Mobility 290 Header defined in RFC 3775 [6]. 292 The Restart Counter mobility option defined in Section 3.4 must have 293 the type value allocated from the same space as the Mobility Options 294 defined in RFC 3775 [6]. 296 7. Acknowledgments 298 A heartbeat mechanism for a network-based mobility management 299 protocol was first described in [7]. The authors would like to thank 300 the members of a NETLMM design team that produced that document. The 301 mechanism described in this document also derives from the path 302 management mechanism described in [8]. 304 We would like to thank Alessio Casati for first suggesting a fault 305 handling mechanism for Proxy Mobile IPv6. 307 8. References 309 8.1. Normative References 311 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 312 Levels", BCP 14, RFC 2119, March 1997. 314 [2] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and 315 B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008. 317 [3] Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy Mobile 318 IPv6", draft-ietf-netlmm-pmip6-ipv4-support-04 (work in 319 progress), July 2008. 321 [4] Kent, S. and K. Seo, "Security Architecture for the Internet 322 Protocol", RFC 4301, December 2005. 324 [5] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, 325 December 2005. 327 8.2. Informative References 329 [6] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in 330 IPv6", RFC 3775, June 2004. 332 [7] Giaretta, G., "The NetLMM Protocol", 333 draft-giaretta-netlmm-dt-protocol-02 (work in progress), 334 October 2006. 336 [8] 3rd Generation Partnership Project, "3GPP Technical 337 Specification 29.060 V7.6.0: "Technical Specification Group Core 338 Network and Terminals; General Packet Radio Service (GPRS); GPRS 339 Tunnelling Protocol (GTP) across the Gn and Gp interface 340 (Release 7)"", July 2007. 342 Authors' Addresses 344 Vijay Devarapalli 345 WiChorus 346 3950 North First Street 347 San Jose, CA 95134 348 USA 350 Email: vijay@wichorus.com 352 Rajeev Koodli 353 Starent Networks 354 USA 356 Email: rkoodli@starentnetworks.com 358 Heeseon Lim 359 Stoke 360 5403 Betsy Ross Drve 361 Santa Clara, CA 95054 362 USA 364 Email: hlim@stoke.com 366 Nishi Kant 367 Stoke 368 5403 Betsy Ross Drive 369 Santa Clara, CA 95054 370 USA 372 Email: nishi@stoke.com 374 Suresh Krishnan 375 Ericsson 376 8400 Decarie Blvd. 377 Town of Mount Royal, QC 378 Canada 380 Email: suresh.krishnan@ericsson.com 381 Julien Laganier 382 DOCOMO Euro-Labs 383 Landsbergerstrasse 312 384 Munich, D-80687 385 Germany 387 Email: julien.IETF@laposte.net 389 Full Copyright Statement 391 Copyright (C) The IETF Trust (2008). 393 This document is subject to the rights, licenses and restrictions 394 contained in BCP 78, and except as set forth therein, the authors 395 retain all their rights. 397 This document and the information contained herein are provided on an 398 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 399 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 400 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 401 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 402 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 403 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 405 Intellectual Property 407 The IETF takes no position regarding the validity or scope of any 408 Intellectual Property Rights or other rights that might be claimed to 409 pertain to the implementation or use of the technology described in 410 this document or the extent to which any license under such rights 411 might or might not be available; nor does it represent that it has 412 made any independent effort to identify any such rights. Information 413 on the procedures with respect to rights in RFC documents can be 414 found in BCP 78 and BCP 79. 416 Copies of IPR disclosures made to the IETF Secretariat and any 417 assurances of licenses to be made available, or the result of an 418 attempt made to obtain a general license or permission for the use of 419 such proprietary rights by implementers or users of this 420 specification can be obtained from the IETF on-line IPR repository at 421 http://www.ietf.org/ipr. 423 The IETF invites any interested party to bring to its attention any 424 copyrights, patents or patent applications, or other proprietary 425 rights that may cover technology that may be required to implement 426 this standard. Please address the information to the IETF at 427 ietf-ipr@ietf.org.