idnits 2.17.1 draft-devarapalli-netlmm-pmipv6-heartbeat-03.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 19. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 385. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 396. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 403. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 409. 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 (July 3, 2008) is 5773 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) ** Obsolete normative reference: RFC 4306 (ref. '4') (Obsoleted by RFC 5996) -- Obsolete informational reference (is this intentional?): RFC 3775 (ref. '5') (Obsoleted by RFC 6275) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NETLMM Working Group V. Devarapalli 3 Internet-Draft WiChorus 4 Intended status: Standards Track H. Lim 5 Expires: January 4, 2009 N. Kant 6 Stoke 7 S. Krishnan 8 Ericsson 9 July 3, 2008 11 Heartbeat Mechanism for Proxy Mobile IPv6 12 draft-devarapalli-netlmm-pmipv6-heartbeat-03.txt 14 Status of this Memo 16 By submitting this Internet-Draft, each author represents that any 17 applicable patent or other IPR claims of which he or she is aware 18 have been or will be disclosed, and any of which he or she becomes 19 aware will be disclosed, in accordance with Section 6 of BCP 79. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF), its areas, and its working groups. Note that 23 other groups may also distribute working documents as Internet- 24 Drafts. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress." 31 The list of current Internet-Drafts can be accessed at 32 http://www.ietf.org/ietf/1id-abstracts.txt. 34 The list of Internet-Draft Shadow Directories can be accessed at 35 http://www.ietf.org/shadow.html. 37 This Internet-Draft will expire on January 4, 2009. 39 Abstract 41 Proxy Mobile IPv6 is a network-based mobility management protocol. 42 The mobility entities involved in the Proxy Mobile IPv6 protocol, the 43 Mobile Access Gateway (MAG) and the Local Mobility Anchor (LMA), 44 setup tunnels dynamically to manage mobility for a mobile node within 45 the Proxy Mobile IPv6 domain. This document describes a heartbeat 46 mechanism between the MAG and the LMA to detect failures quickly and 47 take appropriate action. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 3. Heartbeat Mechanism . . . . . . . . . . . . . . . . . . . . . 3 54 3.1. Failure Detection . . . . . . . . . . . . . . . . . . . . 4 55 3.2. Restart Detection . . . . . . . . . . . . . . . . . . . . 5 56 3.3. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 5 57 3.4. Restart Counter Mobility Option . . . . . . . . . . . . . 6 58 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 59 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 60 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 61 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 62 7.1. Normative References . . . . . . . . . . . . . . . . . . . 8 63 7.2. Informative References . . . . . . . . . . . . . . . . . . 8 64 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 65 Intellectual Property and Copyright Statements . . . . . . . . . . 10 67 1. Introduction 69 Proxy Mobile IPv6 enables network-based mobility for IPv6 hosts that 70 do not implement any mobility protocols. The protocol is described 71 in detail in [2]. The Local Mobility Anchor (LMA) acts the anchor 72 for the mobile node sessions as long as the mobile node is attached 73 to the Proxy Mobile IPv6 domain. For the definition of Proxy Mobile 74 IPv6 domain, see [2]. The mobile node is at any time attached to a 75 Mobile Access Gateway (MAG) that manages mobility for the mobile 76 node. The MAG and the LMA set up IP-in-IP tunnels to tunnel all 77 traffic that belongs to the mobile node. 79 If the LMA crashes or if there is a communication problem on the path 80 between the MAG and the LMA, the MAG discovers this only when it 81 sends the next proxy Binding Update and gets no response from the 82 LMA. If a MAG becomes unreachable, the LMA can detect it only when 83 it starts receiving ICMP unreachable messages from an intermediate 84 router in response to data traffic the LMA tunnels to the MAG. For 85 some deployments of Proxy Mobile IPv6, it is desirable to detect the 86 LMA or the MAG reachability failure very early, so that appropriate 87 action could be taken. The appropriate actions, for example, 88 releasing resources, is out of scope for this document. 90 This document proposes a heartbeat mechanism between the MAG and the 91 LMA to detect the current status of reachability between them. The 92 heartbeat message is a mobility header message (protocol type 135). 93 The MAG and the LMA exchange heartbeat messages every few seconds to 94 detect if the other end is still reachable. The interval between 95 consecutive heartbeats is configurable. 97 2. Terminology 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 101 document are to be interpreted as described in [1]. 103 3. Heartbeat Mechanism 105 The MAG and the LMA exchange heartbeat messages every 106 HEARTBEAT_INTERVAL seconds to detect the current status of 107 reachability between them. A MAG typically initiates the heartbeat 108 exchange by sending a Heartbeat Request to the LMA. Each Heartbeat 109 Request contains a sequence number that is incremented sequentially. 110 The sequence number on the last Heartbeat Request message is always 111 recorded by the MAG. The HEARTBEAT_INTERVAL is carried in the 112 Heartbeat Request message. The Heartbeat message is described in 113 more detail in Section 3.3. 115 A heartbeat message can be sent only if the MAG has at least one 116 proxy binding cache entry at the LMA for a mobile node attached to 117 the MAG. If there are no proxy binding cache entries at the LMA for 118 any of the mobile nodes attached to the MAG, then the heartbeat 119 messages MUST NOT be sent. 121 When the LMA receives a Heartbeat Request message, it responds with a 122 Heartbeat Response message. The heartbeat interval in the Heartbeat 123 Request message is recorded on the LMA. If the heartbeat interval is 124 different from the previously known heartbeat interval from the MAG, 125 the LMA stores the new heartbeat interval. The LMA copies the 126 sequence number from the Heartbeat Request message onto the Heartbeat 127 Response message. The Heartbeat Interval field is set to 0 in the 128 Heartbeat Response message. 130 The HEARTBEAT_INTERVAL SHOULD NOT be configured to a value less than 131 30 seconds. Sending heartbeat messages too often may become an 132 overhead on the path between the MAG and the LMA. 134 The LMA MAY also send a one-time Heartbeat Request message to the MAG 135 to check a MAG's reachability status. The Heartbeat Interval in the 136 Heartbeat Request message is set to 0 to indicate that it is a one- 137 time message and is not transmitted periodically. If a MAG receives 138 a Heartbeat Request message from the LMA, it MUST respond with a 139 Heartbeat Response message. 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 If the MAG does not receive more than MISSING_HEARTBEATS_ALLOWED 153 number of responses from the LMA, it concludes that the LMA is not 154 reachable. The MISSING_HEARTBEATS_ALLOWED value is configurable on 155 the MAG. The MAG may then take appropriate action (out of scope for 156 this document). 158 The LMA also has a MISSING_HEARTBEATS_ALLOWED counter configured per 159 MAG. The LMA knows how often to expect a heartbeat message from the 160 MAG based on the Heartbeat Interval in the first Heartbeat Request 161 message received from the MAG. If the LMA does not receive more than 162 MISSING_HEARTBEATS_ALLOWED Heartbeat Request messages from the MAG, 163 it concludes that the MAG is not reachable. 165 The LMA may also optionally send a Heartbeat Request message to the 166 MAG before concluding that the MAG is unreachable. The Heartbeat 167 Interval value is set to 0 to indicate that this is a one-time 168 heartbeat message and is not sent periodically. If the LMA does not 169 get a response from the MAG, it re-transmits the Heartbeat Request 170 message. The number of times the Heartbeat Request is re-transmitted 171 is configurable on the LMA. If a response from the MAG is received, 172 then the LMA concludes that the MAG is reachable and resets the 173 MISSING_HEARTBEATS_ALLOWED counter for the particular MAG. 175 3.2. Restart Detection 177 The section describes an optional extension for detecting failure 178 recovery without session persistence. In case the LMA crashes and 179 re-boots and looses all state with respect to the PMIPv6 sessions, it 180 would be beneficial for the MAGs to discover the failure recovery and 181 setup the sessions again. The following is applicable only if the 182 Restart Detection mechanism is used. 184 Each PMIPv6 node (both the MAG and LMA) MUST maintain a monotonically 185 increasing Restart Counter that is incremented every time the node 186 re-boots and looses PMIPv6 session state. The counter MUST NOT be 187 incremented if the recovery happens without losing state for the 188 PMIPv6 sessions active at the time of failure. This counter MUST be 189 stored in non-volatile memory. A PMIPv6 node includes a Restart 190 Counter mobility option, described in Section 3.4 in an Heartbeat 191 Response message to indicate the current value of the Restart 192 Counter. Each PMIPv6 node MUST also store the Restart Counter for 193 all the peer PMIPv6 nodes that it has sessions with currently. 194 Storing the Restart Counter values for peer PMIPv6 nodes does not 195 require non-volatile memory. 197 The PMIPv6 node that receives the Heartbeat Response message compares 198 the Restart Counter value with the previously received value. If the 199 value is different, the receiving node assumes that the peer PMIPv6 200 node had crashed and recovered. If the Restart Counter value changes 201 or if there was no previously stored value, the new value is stored 202 by the receiving PMIPv6 node. 204 3.3. Heartbeat Message 206 The following illustrates the message format for the Heartbeat 207 Mobility Header message. The 'MH Type' field in the Mobility Header 208 indicates that it is a Heartbeat message. 210 0 1 2 3 211 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 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 213 | Reserved |R| 214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 215 | Sequence Number | 216 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 217 | Heartbeat Interval | 218 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 Reserved 222 Set to 0 and ignored by the receiver. 224 'R' 226 A 1-bit flag that indicates whether the message is a request or a 227 response. When the 'R' flag is set to 0, it indicates that the 228 Heartbeat message is a request. When the 'R' flag is set to 1, it 229 indicates that the Heartbeat message is a response. 231 Sequence Number 233 A 32-bit sequence number used for matching the request to the 234 reply. 236 Heartbeat Interval 238 A 32-bit value indicating the interval in seconds between two 239 consecutive heartbeat messages. A value of 0 indicates that the 240 Heartbeat message is just a one-time message and not sent 241 periodically. 243 3.4. Restart Counter Mobility Option 245 The following shows the message format for a new mobility option for 246 carrying the Restart Counter Value in the Heartbeat message. The 247 Restart Counter Mobility Option is only valid in a Heartbeat Response 248 message. It has an alignment requirement of 4n+2. 250 0 1 2 3 251 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 252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 253 | Type | Length | 254 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 255 | Restart Counter | 256 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 258 Type 260 A 8-bit field that indicates that it is a Restart Counter mobility 261 option. 263 Length 265 A 8-bit field that indicates the length of the option in octets 266 excluding the 'Type' and 'Length' fields. It is set to '4'. 268 Restart Counter 270 A 32-bit field that indicates the current Restart Counter value. 272 4. Security Considerations 274 The heartbeat messages are just used for checking reachability 275 between the MAG and the LMA. They do not carry information that is 276 useful for eavesdroppers on the path. Integrity protection using 277 IPsec [3] for the heartbeat messages MUST be supported on the MAG and 278 the LMA. The use of IPsec protection is optional. Confidentiality 279 protection is not required. 281 For dynamic key negotiation between the MAG and the LMA, IKEv2 [4] 282 SHOULD be used. 284 5. IANA Considerations 286 The Heartbeat message defined in Section 3.3 must have the type value 287 allocated from the same space as the 'MH Type' field in the Mobility 288 Header defined in RFC 3775 [5]. 290 The Restart Counter mobility option defined in Section 3.4 must have 291 the type value allocated from the same space as the Mobility Options 292 defined in RFC 3775 [5]. 294 6. Acknowledgments 296 A heartbeat mechanism for a network-based mobility management 297 protocol was first described in [6]. The authors would like to thank 298 the members of a NETLMM design team that produced that document. The 299 mechanism described in this document also derives from the path 300 management mechanism described in [7]. 302 We would like to thank Alessio Casati for first suggesting a fault 303 handling mechanism for Proxy Mobile IPv6. We would also like to 304 thank Julien Laganier for proposing the Restart Detection mechanism. 306 7. References 308 7.1. Normative References 310 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 311 Levels", BCP 14, RFC 2119, March 1997. 313 [2] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and 314 B. Patil, "Proxy Mobile IPv6", draft-ietf-netlmm-proxymip6-18 315 (work in progress), May 2008. 317 [3] Kent, S. and K. Seo, "Security Architecture for the Internet 318 Protocol", RFC 4301, December 2005. 320 [4] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, 321 December 2005. 323 7.2. Informative References 325 [5] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in 326 IPv6", RFC 3775, June 2004. 328 [6] Giaretta, G., "The NetLMM Protocol", 329 draft-giaretta-netlmm-dt-protocol-02 (work in progress), 330 October 2006. 332 [7] 3rd Generation Partnership Project, "3GPP Technical 333 Specification 29.060 V7.6.0: "Technical Specification Group Core 334 Network and Terminals; General Packet Radio Service (GPRS); GPRS 335 Tunnelling Protocol (GTP) across the Gn and Gp interface 336 (Release 7)"", July 2007. 338 Authors' Addresses 340 Vijay Devarapalli 341 WiChorus 342 3950 North First Street 343 San Jose, CA 95134 344 USA 346 Email: vijay@wichorus.com 347 Heeseon Lim 348 Stoke 349 5403 Betsy Ross Drve 350 Santa Clara, CA 95054 351 USA 353 Email: hlim@stoke.com 355 Nishi Kant 356 Stoke 357 5403 Betsy Ross Drive 358 Santa Clara, CA 95054 359 USA 361 Email: nishi@stoke.com 363 Suresh Krishnan 364 Ericsson 365 8400 Decarie Blvd. 366 Town of Mount Royal, QC 367 Canada 369 Email: suresh.krishnan@ericsson.com 371 Full Copyright Statement 373 Copyright (C) The IETF Trust (2008). 375 This document is subject to the rights, licenses and restrictions 376 contained in BCP 78, and except as set forth therein, the authors 377 retain all their rights. 379 This document and the information contained herein are provided on an 380 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 381 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 382 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 383 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 384 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 385 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 387 Intellectual Property 389 The IETF takes no position regarding the validity or scope of any 390 Intellectual Property Rights or other rights that might be claimed to 391 pertain to the implementation or use of the technology described in 392 this document or the extent to which any license under such rights 393 might or might not be available; nor does it represent that it has 394 made any independent effort to identify any such rights. Information 395 on the procedures with respect to rights in RFC documents can be 396 found in BCP 78 and BCP 79. 398 Copies of IPR disclosures made to the IETF Secretariat and any 399 assurances of licenses to be made available, or the result of an 400 attempt made to obtain a general license or permission for the use of 401 such proprietary rights by implementers or users of this 402 specification can be obtained from the IETF on-line IPR repository at 403 http://www.ietf.org/ipr. 405 The IETF invites any interested party to bring to its attention any 406 copyrights, patents or patent applications, or other proprietary 407 rights that may cover technology that may be required to implement 408 this standard. Please address the information to the IETF at 409 ietf-ipr@ietf.org.