idnits 2.17.1 draft-ietf-netlmm-pmip6-ipv4-support-16.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. See https://trustee.ietf.org/license-info/.) 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 : ---------------------------------------------------------------------------- == There are 3 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors 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 10, 2009) is 5340 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. 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 3775 (Obsoleted by RFC 6275) -- Obsolete informational reference (is this intentional?): RFC 4306 (Obsoleted by RFC 5996) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NETLMM Working Group R. Wakikawa 3 Internet-Draft Toyota ITC 4 Intended status: Standards Track S. Gundavelli 5 Expires: March 14, 2010 Cisco 6 September 10, 2009 8 IPv4 Support for Proxy Mobile IPv6 9 draft-ietf-netlmm-pmip6-ipv4-support-16.txt 11 Status of this Memo 13 This Internet-Draft is submitted to IETF in full conformance with the 14 provisions of BCP 78 and BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on March 14, 2010. 34 Copyright Notice 36 Copyright (c) 2009 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents in effect on the date of 41 publication of this document (http://trustee.ietf.org/license-info). 42 Please review these documents carefully, as they describe your rights 43 and restrictions with respect to this document. 45 Abstract 47 This document specifies extensions to Proxy Mobile IPv6 protocol for 48 adding IPv4 protocol support. The scope of IPv4 protocol support is 49 two-fold: 1) enable IPv4 home address mobility support to the mobile 50 node. 2) allowing the mobility entities in the Proxy Mobile IPv6 51 domain to exchange signaling messages over an IPv4 transport network. 53 Table of Contents 55 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 56 1.1. Stated Assumptions . . . . . . . . . . . . . . . . . . . . 5 57 1.2. Relevance to Dual-Stack Mobile IPv6 . . . . . . . . . . . 6 59 2. Conventions & Terminology . . . . . . . . . . . . . . . . . . 8 60 2.1. Conventions . . . . . . . . . . . . . . . . . . . . . . . 8 61 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 8 63 3. IPv4 Home Address Mobility Support . . . . . . . . . . . . . . 10 64 3.1. Local Mobility Anchor Considerations . . . . . . . . . . . 11 65 3.1.1. Extensions to Binding Cache Entry . . . . . . . . . . 11 66 3.1.2. Signaling Considerations . . . . . . . . . . . . . . . 11 67 3.1.3. Routing Considerations for the Local Mobility 68 Anchor . . . . . . . . . . . . . . . . . . . . . . . . 17 69 3.1.4. ECN & Payload Fragmentation Considerations . . . . . . 18 70 3.2. Mobile Access Gateway Considerations . . . . . . . . . . . 18 71 3.2.1. Extensions to Binding Update List Entry . . . . . . . 18 72 3.2.2. Extensions to Mobile Node's Policy Profile . . . . . . 18 73 3.2.3. Signaling Considerations . . . . . . . . . . . . . . . 19 74 3.2.4. Routing Considerations for the Mobile Access 75 Gateway . . . . . . . . . . . . . . . . . . . . . . . 23 76 3.3. Mobility Options and Status Codes . . . . . . . . . . . . 23 77 3.3.1. IPv4 Home Address Request Option . . . . . . . . . . . 23 78 3.3.2. IPv4 Home Address Reply Option . . . . . . . . . . . . 24 79 3.3.3. IPv4 Default-Router Address Option . . . . . . . . . . 26 80 3.3.4. IPv4 DHCP Support Mode . . . . . . . . . . . . . . . . 27 81 3.3.5. Status Codes . . . . . . . . . . . . . . . . . . . . . 28 82 3.4. Supporting DHCP-Based Address Configuration . . . . . . . 28 83 3.4.1. DHCP Server co-located with the Mobile Access 84 Gateway . . . . . . . . . . . . . . . . . . . . . . . 30 85 3.4.2. DHCP Relay Agent co-located with the Mobile Access 86 Gateway . . . . . . . . . . . . . . . . . . . . . . . 32 87 3.4.3. Common DHCP Considerations . . . . . . . . . . . . . . 35 89 4. IPv4 Transport Support . . . . . . . . . . . . . . . . . . . . 38 90 4.1. Local Mobility Anchor Considerations . . . . . . . . . . . 39 91 4.1.1. Extensions to Binding Cache Entry . . . . . . . . . . 39 92 4.1.2. Extensions to Mobile Node's Policy Profile . . . . . . 40 93 4.1.3. Signaling Considerations . . . . . . . . . . . . . . . 40 94 4.1.4. Routing Considerations . . . . . . . . . . . . . . . . 43 95 4.2. Mobile Access Gateway Considerations . . . . . . . . . . . 44 96 4.2.1. Extensions to Binding Update List Entry . . . . . . . 44 97 4.2.2. Signaling Considerations . . . . . . . . . . . . . . . 45 98 4.3. IPsec Considerations . . . . . . . . . . . . . . . . . . . 47 99 4.3.1. PBU and PBA . . . . . . . . . . . . . . . . . . . . . 47 100 4.3.2. Payload Packet . . . . . . . . . . . . . . . . . . . . 51 102 5. Protocol Configuration Variables . . . . . . . . . . . . . . . 54 103 5.1. Local Mobility Anchor - Configuration Variables . . . . . 54 104 5.2. Mobile Access Gateway - Configuration Variables . . . . . 54 106 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 56 108 7. Security Considerations . . . . . . . . . . . . . . . . . . . 58 110 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 59 112 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 59 114 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 59 115 10.1. Normative References . . . . . . . . . . . . . . . . . . . 60 116 10.2. Informative References . . . . . . . . . . . . . . . . . . 60 118 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 61 120 1. Overview 122 The transition from IPv4 to IPv6 is a long process and during this 123 period of transition, both the protocols will be enabled over the 124 same network infrastructure. Thus, it is reasonable to assume that a 125 mobile node in a Proxy Mobile IPv6 domain may operate in an IPv4-only 126 IPv6-only or in dual-stack mode and additionally the network between 127 the mobile access gateway and a local mobility anchor may be an IPv4 128 or an IPv6 network. It is also reasonable to expect the same 129 mobility infrastructure in the Proxy Mobile IPv6 domain to provide 130 mobility to the mobile nodes operating in IPv4, IPv6 or in dual mode 131 and whether the transport network is IPv4 or IPv6 network. The 132 motivation and scope of IPv4 support in Mobile IPv6 is summarized in 133 [RFC-4977] and all those requirements apply to Proxy Mobile IPv6 134 protocol as well. 136 The Proxy Mobile IPv6 protocol [RFC-5213] specifies a mechanism for 137 providing IPv6 home address mobility support to a mobile node in a 138 Proxy Mobile IPv6 domain. The protocol requires IPv6 transport 139 network between the mobility entities. The extensions defined in 140 this document extends IPv4 support to the Proxy Mobile IPv6 protocol 141 [RFC-5213]. 143 The scope of IPv4 support in Proxy Mobile IPv6 includes the support 144 for the following two features: 146 o IPv4 Home Address Mobility Support: A mobile node that has an IPv4 147 stack enabled will be able to obtain an IPv4 address and be able 148 to use that address from any of the access networks in that Proxy 149 Mobile IPv6 domain. The mobile node is not required to be 150 allocated or assigned an IPv6 address to enable IPv4 home address 151 support. 153 o IPv4 Transport Network Support: The mobility entities in the Proxy 154 Mobile IPv6 domain will be able to exchange Proxy Mobile IPv6 155 signaling messages over an IPv4 transport and furthermore the 156 mobile access gateway may be using an IPv4 private address and 157 with NAT [RFC-3022] translation devices on the path to the local 158 mobility anchor. 160 These two features, the IPv4 Home Address Mobility support and the 161 IPv4 transport support features, are independent of each other and 162 deployments may choose to enable any one or both of these features as 163 required. 165 Figure-1 shows a typical Proxy Mobile IPv6 domain with IPv4 transport 166 network and with IPv4 enabled mobile nodes. The terms used in this 167 illustration are explained in the Terminology section. 169 +----+ +----+ 170 |LMA1| |LMA2| 171 +----+ +----+ 172 IPv4-LMAA -> | IPv4-LMAA-> | <-- LMAA 173 | | 174 \\ //\\ 175 (NAT) // \\ 176 \\ // \\ 177 +---\\------------- //------\\----+ 178 ( \\ IPv4/IPv6 // \\ ) 179 ( \\ Network // \\ ) 180 +------\\--------//------------\\-+ 181 \\ // \\ 182 \\ // \\ 183 \\ // \\ 184 IPv4-Proxy-CoA --> | | <-- Proxy-CoA 185 +----+ +----+ 186 |MAG1|-----{MN2} |MAG2| 187 +----+ | +----+ 188 (MN-HoA) | | | <-- (MN-HoA) 189 (IPv4-MN-HoA) --> | (IPv4-MN-HoA) | <-- (IPv4-MN-HoA) 190 {MN1} {MN3} 192 Figure 1: IPv4 support for Proxy Mobile IPv6 194 1.1. Stated Assumptions 196 The following are the system and configuration requirements from the 197 mobility entities in the Proxy Mobile IPv6 domain for supporting the 198 extensions defined in this document. 200 o Both the mobility entities, the local mobility anchor and the 201 mobile access gateway are dual stack (IPv4/IPv6) enabled. 202 Irrespective of the type of transport network (IPv4 or IPv6) 203 separating these two entities, the mobility signaling is always 204 based on Proxy Mobile IPv6 [RFC-5213]. 206 o The local mobility anchor and the mobile access gateway MUST be 207 configured with IPv6 globally unique addresses, even when they are 208 in IPv4-only network. These addresses can be of the type Unique 209 Local IPv6 Unicast Address [RFC-4193], IPv6 Global Unicast Address 210 [RFC-3587] or IPv4-mapped IPv6 address [RFC-4291]. When using 211 IPv4 transport, it is not required that there is IPv6 routing 212 enabled between the local mobility anchor and the mobile access 213 gateway. However, they must be able to receive any IPv6 packets 214 sent to the configured IPv6 addresses, after removing the outer 215 IPv4 encapsulation header. 217 o The mobile node can be operating in IPv4-only, IPv6-only or in 218 dual mode. Based on what is enabled for a mobile node, it should 219 be able to obtain IPv4-only, IPv6-only or both IPv4 and IPv6 220 address(es) for its interface and furthermore achieve mobility 221 support for those addresses. 223 o For enabling IPv4 home address mobility support to a mobile node, 224 it is not required that the IPv6 home address mobility support 225 needs to enabled. However, the respective protocol(s) support, 226 such as IPv4 or IPv6 packet forwarding, must be enabled on the 227 access link between the mobile node and the mobile access gateway. 229 o The mobile node can obtain an IPv4 address for its attached 230 interface. Based on the type of link, it may be able to acquire 231 its IPv4 address configuration using standard IPv4 address 232 configuration mechanisms such as DHCP [RFC-2131], IPCP [RFC-1332], 233 IKEv2 [RFC-4306] or static address configuration. 235 o The mobile node's IPv4 home subnet is typically a shared address 236 space. It is not for the exclusive use of any one mobile node. 237 There can be multiple mobile nodes that are assigned IPv4 238 addresses from the same subnet. 240 o The mobile access gateway is the IPv4 default router for the 241 mobile node on its access link. It will be in the forwarding path 242 for the mobile node's data traffic. Additionally, as specified in 243 section 6.9.3 of [RFC-5213], all the mobile access gateways in the 244 Proxy Mobile IPv6 domain MUST use the same link-layer address on 245 any of the access links wherever the mobile node attaches. 247 1.2. Relevance to Dual-Stack Mobile IPv6 249 IPv4 support for Mobile IPv6 is specified in Dual-Stack Mobile IPv6 250 specification [RFC-5555]. This document to most part leverages the 251 approaches, messaging options and processing logic defined in that 252 document for extending IPv4 support to Proxy Mobile IPv6, except with 253 deviation in some aspects for obvious reasons of supporting a 254 network-based mobility model. Following are some of the related 255 considerations. 257 o The messaging option, IPv4 Care-of Address option defined in [RFC- 258 5555] for use in Binding Update and Binding Acknowledgement 259 messages are used by this specification to be carried in Proxy 260 Binding Update and Proxy Binding Acknowledgement messages. 262 o The extensions needed to the conceptual data structures, Binding 263 Cache entry and Binding Update List entry, for storing the state 264 related to the IPv4 support defined in [RFC-5555], will all be 265 needed and relevant for this document. 267 o The NAT traversal logic specified in [RFC-5555] for detecting the 268 on-path NAT devices is valid for this specification as well. 270 o The tunneling considerations specified in [RFC-5555] for 271 supporting IPv4 transport is relevant for this document as well. 273 If a given home agent [RFC-3775] implementation has support for both 274 Dual-stack Mobile IPv6 [RFC-5555] and local mobility anchor function 275 [RFC-5213], when extending IPv4 support as specified in this document 276 the above common functions and the related considerations have to be 277 reused for Proxy Mobile IPv6 signaling flows. 279 2. Conventions & Terminology 281 2.1. Conventions 283 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 284 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 285 document are to be interpreted as described in RFC 2119 [RFC-2119]. 287 2.2. Terminology 289 All the mobility related terms used in this document are to be 290 interpreted as defined in the Mobile IPv6 specification [RFC-3775] 291 and Proxy Mobile IPv6 specification [RFC-5213]. In addition this 292 document introduces the following terms. 294 IPv4 Proxy Care-of Address (IPv4-Proxy-CoA) 296 The IPv4 address that is configured on the egress-interface of the 297 mobile access gateway. When using IPv4 transport, this address 298 will be the registered care-of address in the mobile node's 299 Binding Cache entry and will also be the transport-endpoint of the 300 tunnel between the local mobility anchor and a mobile access 301 gateway. However, if the configured address is a private IPv4 302 address and with a NAT device in the path to the local mobility 303 anchor, the care-of address as seen by the local mobility anchor 304 will be the address allocated by the NAT device for that flow. 306 IPv4 Local Mobility Anchor Address (IPv4-LMAA) 308 The IPv4 address that is configured on the egress-interface of the 309 local mobility anchor. When using IPv4 transport, the mobile 310 access gateway sends the Proxy Binding Update messages to this 311 address and will be the transport-endpoint of the tunnel between 312 the local mobility anchor and the mobile access gateway. 314 Mobile Node's IPv4 Home Address (IPv4-MN-HoA) 316 The IPv4 home address assigned to the mobile node's attached 317 interface. This address is topologically anchored at the mobile 318 node's local mobility anchor. The mobile node configures this 319 address on its attached interface. If the mobile node connects to 320 the Proxy Mobile IPv6 domain via multiple interfaces each of the 321 interfaces are assigned a unique IPv4 address. All the IPv6 home 322 network prefixes and the IPv4 home address assigned to a given 323 interface of a mobile node will be managed under one mobility 324 session. 326 Selective De-registration 328 A procedure for partial de-registration of all the addresses that 329 belong to one address family, i.e., de-registration of either IPv4 330 home address, or all of the IPv6 home network prefixes. 332 Encapsulation Modes 334 This document uses the following terms when referring to the 335 different encapsulation modes. 337 IPv4-or-IPv6-over-IPv6 339 IPv4 or IPv6 packet carried as a payload of an IPv6 packet 341 IPv4-or-IPv6-over-IPv4 343 IPv4 or IPv6 packet carried as a payload of an IPv4 packet 345 IPv4-or-IPv6-over-IPv4-UDP 347 IPv4 or IPv6 packet carried as a payload in an IPv4 packet with 348 a UDP header 350 IPv4-or-IPv6-over-IPv4-UDP-TLV 352 IPv4 packet carried as a payload in an IPv4 packet with UDP and 353 TLV headers 355 3. IPv4 Home Address Mobility Support 357 The IPv4 home address mobility support essentially enables a mobile 358 node in a Proxy Mobile IPv6 domain to obtain IPv4 home address 359 configuration for its attached interfaces and be able to retain that 360 address configuration even after performing an handoff anywhere 361 within that Proxy Mobile IPv6 domain. This section describes the 362 protocol operation and the required extensions to Proxy Mobile IPv6 363 protocol for extending IPv4 home address mobility support. 365 When an IPv4-enabled or a dual-stack enabled mobile node attaches to 366 the Proxy Mobile IPv6 domain, the mobile access gateway on the access 367 link where the mobile node is attached will identify the mobile node 368 and will initiate the Proxy Mobile IPv6 signaling with the mobile 369 node's local mobility anchor. The mobile access gateway will follow 370 the signaling considerations specified in Section 3.2 for requesting 371 IPv4 home address mobility support. Upon the completion of the 372 signaling, the local mobility anchor and the mobile access gateway 373 will establish the required routing states for allowing the mobile 374 node to use its IPv4 home address from its current point of 375 attachment. 377 The mobile node on the access link using any of the standard IPv4 378 address configuration mechanisms supported on that access link, such 379 as IPCP [RFC-1332], IKEv2 [RFC-4306] or DHCP [RFC-2131], will be able 380 to obtain an IPv4 home address (IPv4-MN-HoA) for its attached 381 interface. Although the address configuration mechanisms for 382 delivering the address configuration to the mobile node is 383 independent of the Proxy Mobile IPv6 protocol operation, however 384 there needs to be some interactions between these two protocol flows. 385 Section 3.4 identifies these interactions for supporting DHCP based 386 address configuration. 388 The support for IPv4 home address mobility is not dependent on the 389 IPv6 home address mobility support. It is not required that the IPv6 390 home address mobility support needs to be enabled for providing IPv4 391 home address mobility support. A mobile node will be able to obtain 392 IPv4-only, IPv6-only or dual IPv4/IPv6 address configuration for its 393 attached interface. The mobile node's policy profile will determine 394 if the mobile node is entitled for both the protocol versions or a 395 single protocol version. Based on the policy, only those protocols 396 will be enabled on the access link. Furthermore, if the mobile node 397 after obtaining the address configuration on its interface performs 398 an handoff, either by changing its point of attachment over the same 399 interface or to a different interface, the network will ensure the 400 mobile node will be able to use the same IPv4 address configuration 401 after the handoff. 403 Additionally, If the mobile node connects to the Proxy Mobile IPv6 404 domain, through multiple interfaces and simultaneously through 405 different access networks, each of the connected interfaces will 406 obtain an IPv4 home address from different subnets. In such 407 scenario, there will be multiple Binding Cache entries for the mobile 408 node on the local mobility anchor. All the address (IPv4/IPv6) 409 assigned to a given interface will be managed as part of one mobility 410 session, as specified in Section 5.4 of [RFC-5213]. 412 3.1. Local Mobility Anchor Considerations 414 3.1.1. Extensions to Binding Cache Entry 416 To support this feature, the conceptual Binding Cache entry data 417 structure maintained by the local mobility anchor needs to include 418 the following parameters. 420 o The IPv4 home address assigned to the mobile node's interface and 421 registered by the mobile access gateway. The IPv4 home address 422 entry also includes the corresponding subnet mask. It is to be 423 noted that this parameter is defined in the [RFC-5555] and is 424 presented here for completeness. 426 o The IPv4 default router address assigned to the mobile node. 428 3.1.2. Signaling Considerations 430 3.1.2.1. Processing Proxy Binding Updates 432 The processing rules specified in Section 5.3 of [RFC-5213] are 433 applied for processing the received Proxy Binding Update message. 434 However, if the received Proxy Binding Update message has an IPv4 435 Home Address Request option, the following considerations MUST be 436 applied additionally. 438 o If there is an IPv4 Home Address Request option present in the 439 received Proxy Binding Update message, but if there is no Home 440 Network Prefix option [RFC-5213] present in the request, the local 441 mobility anchor MUST NOT reject the request as specified in 442 Section 5.3.1 of [RFC-5213]. At least one instance of any of 443 these two options, either the IPv4 Home Address Request option or 444 the Home Network Prefix option, MUST be present. If there is not 445 a single instance of any of these two options present in the 446 request, the local mobility anchor MUST reject the request and 447 send a Proxy Binding Acknowledgement message with Status field set 448 to MISSING_HOME_NETWORK_PREFIX_OPTION (Missing mobile node's home 449 network prefix option) [RFC-5213]. 451 o If there is at least one instance of Home Network Prefix option 452 [RFC-5213] present in the received Proxy Binding Update message, 453 but either if it is known from the mobile node's policy profile 454 that the mobile node is not authorized for IPv6 service or if IPv6 455 routing not enabled in the home network, the local mobility anchor 456 MUST reject the request and send a Proxy Binding Acknowledgement 457 message with the Status field set to 458 NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE (mobile node not 459 authorized for IPv6 mobility service). 461 o If there is an IPv4 Home Address Request option present in the 462 received Proxy Binding Update message, but either if it is known 463 from the mobile node's policy profile that the mobile node is not 464 authorized for IPv4 service or if IPv4 routing not enabled in the 465 home network, the local mobility anchor MUST reject the request 466 and send a Proxy Binding Acknowledgement message with the Status 467 field set to NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE (mobile node 468 not authorized for IPv4 mobility service). 470 o If there are more than one instance of the IPv4 Home Address 471 Request option present in the request, then the local mobility 472 anchor MUST reject the request and send a Proxy Binding 473 Acknowledgement message with the Status field set to 474 MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED (multiple IPv4 475 home address assignment not supported). 477 o For associating the received Proxy Binding Update message to an 478 existing mobility session, the local mobility anchor MUST perform 479 the Binding Cache entry existence test by applying the following 480 considerations. 482 * If there is at least one instance of the Home Network Prefix 483 option [RFC-5213] with a NON_ZERO prefix value, or, if there is 484 an IPv4 Home Address Request option with the IPv4 address in 485 the option set to ALL_ZERO, considerations from Section 5.4.1 486 of [RFC-5213] MUST be applied. 488 * If there is an IPv4 Home Address Request option present in the 489 request with the IPv4 address value in the option set to a 490 NON_ZERO value, considerations from Section 3.1.2.7 MUST be 491 applied. 493 o If there is no existing Binding Cache entry that can be associated 494 with the request, the local mobility anchor MUST consider this 495 request as an initial binding registration request and 496 considerations from Section 3.1.2.2 MUST be applied. 498 Additionally, if there are one or more Home Network Prefix options 499 [RFC-5213] present in the request, considerations from Section 500 5.3.2 of [RFC-5213] MUST also be applied. 502 o If there exists a Binding Cache entry that can be associated with 503 the request, the local mobility anchor MUST apply considerations 504 from Section 5.3.1 of [RFC-5213], (point 13), to determine if the 505 request is re-registration or a de-registration request. If the 506 request is a re-registration request, considerations from Section 507 3.1.2.3 MUST be applied and if it is a de-registration request, 508 considerations from Section 3.1.2.5 MUST be applied. 510 o If there exists a Binding Cache entry that can be associated with 511 the request and if it is determined that the request is a re- 512 registration request for extending IPv4 home address mobility 513 support to the existing IPv6-only mobility session, considerations 514 from Section 3.1.2.2 MUST be applied with respect to IPv4 support. 516 3.1.2.2. Initial Binding Registration (New Mobility Session) 518 o If there is an IPv4 Home Address Request option present in the 519 Proxy Binding Update message with the IPv4 address value in the 520 option set to ALL_ZERO, the local mobility anchor MUST allocate an 521 IPv4 home address to the mobile node and associate it with the new 522 mobility session created for that mobile node. 524 o If there is an IPv4 Home Address Request option with the IPv4 525 address in the option set to a NON_ZERO value, the local mobility 526 anchor before accepting the request MUST ensure the address is 527 topologically anchored on the local mobility anchor and 528 furthermore the mobile node is authorized to use that address. If 529 the mobile node is not authorized for that specific address, the 530 local mobility anchor MUST reject the request and send a Proxy 531 Binding Acknowledgement message with the Status field set to 532 NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS (mobile node not authorized 533 for the requesting IPv4 address). It MUST also include the IPv4 534 Home Address Reply option in the reply with the status field value 535 in the option set to 129 (Administratively prohibited). 537 o If the local mobility anchor is unable to allocate an IPv4 address 538 due to lack of resources, it MUST reject the request and send a 539 Proxy Binding Acknowledgement message with Status field set to 130 540 (Insufficient resources). It MUST also include the IPv4 Home 541 Address Reply option in the reply with the status field value in 542 the option set to 128 (Failure, reason unspecified). 544 o Upon accepting the request, the local mobility anchor MUST create 545 a Binding Cache entry for this mobility session. However, if the 546 request also contains one or more Home Network Prefix options 547 [RFC-5213], there should still be only one Binding Cache entry 548 that should be created for this mobility session. The created 549 Binding Cache entry MUST be used for managing both IPv4 and IPv6 550 home address bindings. The fields in the Binding Cache entry MUST 551 be updated with the accepted values for that session. 553 o The local mobility anchor MUST establish a bi-directional tunnel 554 to the mobile access gateway and with the encapsulation mode set 555 to the negotiated mode for carrying the IPv4 payload traffic. 556 When using IPv6 transport, the encapsulation mode is IPv4-or-IPv6- 557 over-IPv6 (IPv4 or IPv6 packet carried as a payload of an IPv6 558 packet). When using IPv4 transport, the encapsulation mode is as 559 specified in Section 4.0. 561 o The local mobility anchor MUST create an IPv4 host route (or a 562 platform specific equivalent function that sets up the forwarding) 563 for tunneling the packets received for the mobile node's home 564 address associated with this mobility session. 566 o The local mobility anchor MUST send the Proxy Binding 567 Acknowledgement message with the Status field set to 0 (Proxy 568 Binding Update Accepted). The message MUST be constructed as 569 specified in Section 3.1.2.6. 571 3.1.2.3. Binding Lifetime Extension (No handoff) 573 All the considerations from Section 5.3.3 of [RFC-5213] MUST be 574 applied. 576 3.1.2.4. Binding Lifetime Extension (After handoff) 578 o If there is no Home Network Prefix option(s) [RFC-5213] present in 579 the request, but if the Binding Cache entry associated with this 580 request has IPv6 home network prefix(es), the local mobility 581 anchor MUST consider this as a request to extend lifetime only for 582 the IPv4 home address and not for the IPv6 home network 583 prefix(es). Hence, the local mobility anchor SHOULD release all 584 the IPv6 home network prefix(es) assigned to that mobile node and 585 for that specific attached interface. Similar considerations 586 apply for the case where there is no IPv4 Home Address Request 587 option present in the request, but if the Binding Cache entry 588 associated with that request has both IPv4 home address and IPv6 589 home network prefix(es). 591 o The local mobility anchor MUST remove the previously created IPv4 592 host route (or the forwarding state) and the dynamically created 593 bi-directional tunnel for carrying the IPv4 payload traffic (if 594 there are no other mobile nodes for which the tunnel is being 595 used). This will remove the routing state towards the mobile 596 access gateway where the mobile node was anchored prior to the 597 handoff. 599 o The local mobility anchor MUST create a bi-directional tunnel to 600 the mobile access gateway that sent the request (if there is no 601 existing bi-directional tunnel) and with the encapsulation mode 602 set to the negotiated mode for carrying the IPv4 payload traffic. 603 An IPv4 host route for tunneling the packets received for the 604 mobile node's IPv4 home address MUST also be added. 606 o The required forwarding state identified in Section 5.3.6 of [RFC- 607 5213] is for IPv6 payload traffic. Those considerations apply for 608 IPv4 payload traffic as well. However, if IPv4 transport is in 609 use, considerations from Section 4.0 MUST be applied. 611 3.1.2.5. Binding De-Registration 613 All the considerations from Section 5.3.5 of [RFC-5213] MUST be 614 applied. Additionally, for removing the IPv4 state as part of the 615 Binding Cache entry deletion, the IPv4 host route and the dynamically 616 created bi-directional tunnel for carrying the IPv4 payload traffic 617 (if there are no other mobile nodes for which the tunnel is being 618 used) MUST be removed. However, if the request is for a selective 619 de-registration (IPv4 home address only, or all the IPv6 home network 620 prefixes), the Binding Cache entry MUST NOT be deleted, only the 621 respective states with respect to those addresses MUST be deleted. 623 3.1.2.6. Constructing the Proxy Binding Acknowledgement Message 625 The local mobility anchor when sending the Proxy Binding 626 Acknowledgement message to the mobile access gateway MUST construct 627 the message as specified in Section 5.3.6 of [RFC-5213]. 628 Additionally, the following considerations MUST be applied. 630 o Section 5.3.6 of [RFC-5213] requires the local mobility anchor to 631 include at least one instance of Home Network Prefix option [RFC- 632 5213] in the Proxy Binding Acknowledgement message that it sends 633 to the mobile access gateway. However, if the received Proxy 634 Binding Update message has only the IPv4 Home Address Request 635 option and did not contain the Home Network Prefix option(s), then 636 the local mobility anchor MUST NOT include any Home Network Prefix 637 option(s) in the reply. However, there MUST be at least one 638 instance of either the Home Network Prefix option [RFC-5213] or 639 the IPv4 Home Address Reply option present in the Proxy Binding 640 Acknowledgement message. 642 o The IPv4 Home Address Reply option MUST be present in the Proxy 643 Binding Acknowledgement message. 645 1. If the Status field is set to a value greater than or equal to 646 (128), i.e., if the Proxy Binding Update is rejected, then 647 there MUST be an IPv4 Home Address Reply option corresponding 648 to the IPv4 Home Address Request option present in the request 649 and with the IPv4 address value and the prefix length fields 650 in the option set to the corresponding values in the request. 651 The status field value in the option must be set to the 652 specific error code. 654 2. For all other cases, there MUST be an IPv4 Home Address Reply 655 option for carrying the IPv4 home address assigned for that 656 mobility session and with the value in the option set to the 657 allocated IPv4 address. The prefix length in the option MUST 658 be set to the prefix length of the allocated address. The 659 status field value in the option must be set to 0 (Success). 661 o The IPv4 Default-Router Address option MUST be present, if the 662 Status field value in the Proxy Binding Acknowledgement message is 663 set to 0 (Proxy Binding Update Accepted). Otherwise, the option 664 MUST NOT be present. If the option is present, the default router 665 address in the option MUST be set to the mobile node's default 666 router address. 668 3.1.2.7. Binding Cache Entry Lookup Considerations 670 The Binding Cache entry lookup considerations specified in section 671 5.4.1.1 of [RFC-5213] uses the Home Network Prefix option [RFC-5213] 672 as the key parameter for identifying the Binding Cache entry. 673 However, when there is not a single Home Network Prefix option with a 674 NON_ZERO value present in the request, but if there is an IPv4 Home 675 Address option with a NON_ZERO value present in the request, then the 676 following considerations MUST be applied. 678 o The search rules specified in section 5.4.1.1 of [RFC-5213], which 679 primarily uses IPv6 home network prefix set as the search key, are 680 equally valid when using a single IPv4 home address as the key. 681 When applying those considerations, instead of the IPv6 home 682 network prefix(es), the IPv4 home address from the IPv4 Home 683 Address option present in the request MUST be used as the search 684 key. 686 o These rules specified in section 5.4.1.1 of [RFC-5213], assume the 687 presence of one or more IPv6 home network prefixes in the received 688 request and also in the Binding Cache entry. But, when using the 689 IPv4 home address as the search key, these considerations MUST 690 always assume just one single IPv4 home address, both in the 691 request and also in the Binding Cache entry. 693 3.1.3. Routing Considerations for the Local Mobility Anchor 695 Intercepting Packets Sent to the Mobile Node's IPv4 home address: 697 o When the local mobility anchor is serving a mobile node, it MUST 698 advertise a connected route in to the Routing Infrastructure for 699 the mobile node's IPv4 home address or for its home subnet, in 700 order to receive packets that are sent to the mobile node's IPv4 701 home address. This essentially enables IPv4 routers in that 702 network to detect the local mobility anchor as the last-hop router 703 for that subnet. 705 Forwarding Packets to the Mobile Node: 707 o On receiving a packet from a correspondent node with the 708 destination address matching the mobile node's IPv4 home address, 709 the local mobility anchor MUST forward the packet through the bi- 710 directional tunnel setup for that mobile node. 712 o The format of the tunneled packet when payload protection is not 713 enabled: 715 IPv6 header (src= LMAA, dst= Proxy-CoA /* Tunnel Header */ 716 IPv4 header (src= CN, dst= IPv4-MN-HOA ) /* Packet Header */ 717 Upper layer protocols /* Packet Content*/ 719 Figure 2: Tunneled Packets from LMA to MAG 721 Forwarding Packets Sent by the Mobile Node: 723 o All the reverse tunneled packets that the local mobility anchor 724 receives from the mobile access gateway, after removing the tunnel 725 header MUST be routed to the destination specified in the inner 726 IPv4 packet header. These routed packets will have the source 727 address field set to the mobile node's IPv4 home address. 729 3.1.4. ECN & Payload Fragmentation Considerations 731 The ECN considerations specified in Section 5.6.3 of [RFC-5213] apply 732 for the IPv4 payload packets as well. The mobility agents at the 733 tunnel entry and exit points MUST handle ECN information as specified 734 in that document. 736 The mobility agents at the tunnel entry and exit points MUST apply 737 the IP packet fragmentation considerations as specified in section 7 738 of [RFC-2473] and additionally they MUST apply the considerations 739 related to tunnel error processing and reporting as specified in 740 section 8 of [RFC-2473]. 742 3.2. Mobile Access Gateway Considerations 744 3.2.1. Extensions to Binding Update List Entry 746 To support the IPv4 home address mobility feature, the conceptual 747 Binding Update List entry data structure needs to be extended with 748 the following additional fields. 750 o The IPv4 home address assigned to the mobile node's attached 751 interface. This IPv4 home address may have been statically 752 configured in the mobile node's policy profile, or, may have been 753 dynamically allocated by the local mobility anchor. The IPv4 home 754 address entry also includes the corresponding subnet mask. 756 o The IPv4 default router address of the mobile node. This is 757 acquired from the mobile node's local mobility anchor through the 758 received Proxy Binding Acknowledgment message. 760 3.2.2. Extensions to Mobile Node's Policy Profile 762 To support the IPv4 Home Address Mobility Support feature the mobile 763 node's policy profile, specified in Section 6.2 of [RFC-5213] MUST be 764 extended with the following additional fields. 766 Extensions to the mandatory section of the policy profile: 768 o This field identifies all the IP protocol versions for which the 769 home address mobility support needs to be extended to the mobile 770 node. The supported modes are IPv4-only, IPv6-only and dual IPv4/ 771 IPv6. 773 Extensions to the optional section of the policy profile: 775 o The IPv4 home address assigned to the mobile node's attached 776 interface. The specific details on how the network maintains the 777 association between the address and the attached interface is 778 outside the scope of this document. This address field also 779 includes the corresponding subnet mask. 781 3.2.3. Signaling Considerations 783 3.2.3.1. Mobile Node Attachment and Initial Binding Registration 785 After detecting a new mobile node on its access link, the mobile 786 access gateway on the access link MUST determine if IPv4 home address 787 mobility support needs to be enabled for that mobile node. The 788 mobile node's policy profile identifies the supported modes (IPv4- 789 only, IPv6-only or dual IPv4/IPv6) for that mobile node for which the 790 mobile service needs to be enabled. Based on those policy 791 considerations and from other triggers such as from the network, if 792 it is determined that IPv4 home address mobility support needs to be 793 enabled for the mobile node, considerations from section 6.9.1.1 of 794 [RFC-5213] MUST be applied with the following exceptions. 796 o The IPv4 Home Address Request option MUST be present in the Proxy 797 Binding Update message. 799 * If the mobile access gateway learns the mobile node's IPv4 home 800 address either from its policy profile, or from other means, 801 the mobile access gateway MAY ask the local mobility anchor to 802 allocate that specific address by including exactly one 803 instance of the IPv4 Home Address Request option with the IPv4 804 home address and the prefix length fields in the option set to 805 that specific address and its prefix length. 807 * The mobile access gateway MAY also ask the local mobility 808 anchor for dynamic IPv4 home address allocation. It can 809 include exactly one instance of the IPv4 Home Address option 810 with the IPv4 home address and the prefix length fields in the 811 option set to ALL_ZERO value. Furthermore, the (P) flag in the 812 option MUST be set to 0. This essentially serves as a request 813 to the local mobility anchor for the IPv4 home address 814 allocation. 816 o The Proxy Binding Update message MUST be constructed as specified 817 in Section 6.9.1.5 of [RFC-5213]. However, the Home Network 818 Prefix option(s) [RFC-5213] MUST be present in the Proxy Binding 819 Update only if IPv6 home address mobility support also needs to be 820 enabled for the mobile node. Otherwise, the Home Network Prefix 821 option(s) MUST NOT be present. 823 o When using IPv4 transport for carrying the signaling messages, the 824 related considerations from section 4.0 MUST be applied 825 additionally. 827 3.2.3.2. Receiving Proxy Binding Acknowledgement 829 All the considerations from section 6.9.1.2 of [RFC-5213] MUST be 830 applied with the following exceptions. 832 o If the received Proxy Binding Acknowledgement message has the 833 Status field value set to NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE 834 (The mobile node is not authorized for IPv4 mobility service), the 835 mobile access gateway SHOULD NOT send a Proxy Binding Update 836 message including a IPv4 Home Address Request option till an 837 administrative action is taken. 839 o If the received Proxy Binding Acknowledgement message has the 840 Status field value set to NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS(The 841 mobile node is not authorized for the requesting IPv4 home 842 address), the mobile access gateway SHOULD NOT request for the 843 same IPv4 address again, but MAY request the local mobility anchor 844 to perform the address assignment by including exactly one 845 instance of IPv4 Home Address Request option with the IPv4 home 846 address and the prefix length fields in the option set to ALL_ZERO 847 value. 849 o If the received Proxy Binding Acknowledgement message has the 850 Status field value set to NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE 851 (The mobile node is not authorized for IPv6 mobility service), the 852 mobile access gateway SHOULD NOT send a Proxy Binding Update 853 message including any Home Network Prefix option(s) till an 854 administrative action is taken. 856 o If there is no IPv4 Home Address Reply option present in the 857 received Proxy Binding Acknowledgement message, the mobile access 858 gateway MUST NOT enable IPv4 support for the mobile node and the 859 rest of the considerations from this section can be skipped. 861 o If the received Proxy Binding Acknowledgement message has the 862 Status field value in the IPv4 Home Address Reply option set to a 863 value that indicates that the request was rejected by the local 864 mobility anchor, the mobile access gateway MUST NOT enable 865 forwarding for that specific IPv4 home address. 867 o If the received Proxy Binding Acknowledgement message has the 868 Status field value set to 0 (Proxy Binding Update accepted), the 869 mobile access gateway MUST update a Binding Update List entry for 870 that mobile node. The entry MUST be updated with the assigned 871 IPv4 home address and other accepted registration values. 873 o If the received Proxy Binding Acknowledgement message has the 874 Status field value set to 0 (Proxy Binding Update accepted) and 875 has the IPv4 Home Address Reply option set to a value that 876 indicates that the request was accepted by the local mobility 877 anchor, the mobile access gateway MUST establish a bi-directional 878 tunnel to the local mobility anchor (if there is no existing bi- 879 directional tunnel to that local mobility anchor) and with the 880 encapsulation mode set to IPv4-or-IPv6-over-IPv6 (IPv4 or IPv6 881 packet carried as a payload of an IPv6 packet). Considerations 882 from Section 5.6.1 of [RFC-5213] MUST be applied for managing the 883 dynamically created bi-directional tunnel. However, when using 884 IPv4 transport, the encapsulation mode MUST be set to the 885 negotiated encapsulation mode, as specified in Section 4 of this 886 specification. 888 o The mobile access gateway MUST set up the route for forwarding the 889 IPv4 packets received from the mobile node (using its IPv4 home 890 address) through the bi-directional tunnel set up for that mobile 891 node. 893 o The default router address MUST be obtained from the IPv4 Default- 894 Router Address option present in the received Proxy Binding 895 Acknowledgement message. The mobile access gateway SHOULD 896 configure this address on its interface and respond to any ARP 897 requests sent by the mobile node for resolving the hardware 898 address of the default router. However, since the link between 899 the mobile access gateway and the mobile node is a point-to-point 900 link, implementations will be able receive any packets sent to the 901 default router address without having to explicitly configure the 902 default router address on its interface. The mobile access 903 gateway MAY also use the default router address as the source 904 address for any datagrams sent to the mobile node and originated 905 by the mobile access gateway itself. It MUST also use this 906 address in the DHCP Router option [RFC-2132] in the DHCP messages. 908 o If there is an IPv4 DHCP Support Mode option present in the 909 received Proxy Binding Acknowledgement message and if the (S) flag 910 in the option is set to a value of (1), then the mobile access 911 gateway MUST function as a DHCP server for the mobile node. If 912 either the (S) flag in the option is set to a value of (0), or if 913 the option is not present in the request, then the mobile access 914 gateway MUST function as a DHCP Relay for the mobile node. 916 3.2.3.3. Binding Re-Registration and De-Registrations 918 When sending a Proxy Binding Update either for extending the lifetime 919 of a mobility session or for de-registering the mobility session, the 920 respective considerations from [RFC-5213] MUST be applied. 921 Furthermore, the following additional considerations MUST also be 922 applied. 924 o If there is an IPv4 home address assigned to the mobility session, 925 then there MUST be exactly one instance of the IPv4 Home Address 926 Request option present in the Proxy Binding Update message. The 927 IPv4 home address and the prefix length fields in the option MUST 928 be set to that specific address and its corresponding subnet-mask 929 length. 931 o If there was no IPv4 home address requested in the initial Proxy 932 Binding Update message, but if it is determined that the IPv4 home 933 address MUST be requested subsequently, then there MUST be exactly 934 one instance of the IPv4 Home Address Request option present in 935 the Proxy Binding Update message. The IPv4 home address in the 936 option MUST be set to either ALL_ZERO or to a specific address 937 that is being requested. 939 o For performing selective de-registration of IPv4 home address but 940 still retaining the mobility session with all the IPv6 home 941 network prefixes, the Proxy Binding Update message with the 942 lifetime value of (0) MUST NOT include any IPv6 Home Network 943 Prefix options(s) [RFC-5213]. It MUST include exactly one 944 instance of the IPv4 Home Address Request option with the IPv4 945 home address and the prefix length fields in the option set to the 946 IPv4 home address that is being de-registered. Similarly for 947 selective de-registration of all the IPv6 home network prefixes, 948 the Proxy Binding Update message MUST NOT include the IPv4 Home 949 address option, it MUST include a Home Network Prefix option for 950 each of the assigned home network prefixes assigned for that 951 mobility session and with the prefix value in the option set to 952 that respective prefix value. 954 o The Home Network Prefix option(s) [RFC-5213] MUST NOT be present 955 if the same option(s) was not present in the initial Proxy Binding 956 Update message. Otherwise considerations from [RFC-5213] with 957 respect to this option MUST be applied. 959 o If at any point the mobile access gateway fails to extend the 960 binding lifetime with the local mobility anchor for the mobile 961 node's IPv4 address, it MUST remove any forwarding state set up 962 for the mobile node's IPv4 home address. 964 3.2.4. Routing Considerations for the Mobile Access Gateway 966 o On receiving a packet from the bi-directional tunnel established 967 with the mobile node's local mobility anchor, the mobile access 968 gateway MUST remove the outer header before forwarding the packet 969 to the mobile node. 971 o On receiving a packet from a mobile node connected to its access 972 link, the packet MUST be forwarded to the local mobility anchor 973 through the bi-directional tunnel established with the local 974 mobility anchor. However, when EnableMAGLocalRouting flag is set, 975 considerations from Section 6.10.3 of [RFC-5213] MUST be applied 976 with respect to local routing. 978 o When forwarding the packet through the bi-directional tunnel, the 979 encapsulation considerations specified in section 3.1.3 MUST be 980 applied. However, before forwarding the packet, the mobile access 981 gateway MUST ensure the source address in the received packet is 982 the address allocated for that mobile node and that there is an 983 active binding on the local mobility anchor for that mobile node. 985 o The mobile access gateway SHOULD use proxy ARP [RFC-925] to reply 986 to ARP Requests that it receives from the mobile node seeking 987 address resolutions for the destinations on the mobile node's home 988 subnet. When receiving an ARP Request, the local mobility anchor 989 SHOULD examine the target IP address of the Request, and if this 990 IP address matches the mobile node's IPv4 home subnet, it SHOULD 991 transmit a Proxy ARP Reply. However, if the link between the 992 mobile node and the mobile access gateway is a point-to-point 993 link, then the mobile access gateway is not required to support 994 proxy ARP. The mobile node can be configured to use the point-to- 995 point link for sending all IP packets. 997 3.3. Mobility Options and Status Codes 999 To support the IPv4 home address mobility feature, this specification 1000 defines the following new options and Status Codes. 1002 3.3.1. IPv4 Home Address Request Option 1004 A new option, IPv4 Home Address Request Option is defined for use 1005 with the Proxy Binding Update message sent by the mobile access 1006 gateway to the local mobility anchor. This option is used for 1007 requesting IPv4 home address assignment for the mobile node. 1009 The IPv4 Home Address Request option has an alignment requirement of 1010 4n. Its format is as follows: 1012 0 1 2 3 1013 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 1014 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1015 | Type | Length |Prefix-len | Reserved | 1016 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1017 | IPv4 home address | 1018 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1020 Figure 3: IPv4 Home Address Request Option 1022 Type 1024 IANA 1026 Length 1028 8-bit unsigned integer indicating the length of the option in 1029 octets, excluding the type and length fields. This field MUST 1030 be set to (6). 1032 Prefix-len 1034 This 6-bit unsigned integer indicating the prefix length of the 1035 IPv4 home address contained in the option. 1037 Reserved 1039 This 10-bit field is unused for now. The value MUST be 1040 initialized to (0) by the sender and MUST be ignored by the 1041 receiver. 1043 IPv4 home address 1045 This four-byte field containing the IPv4 home address that is 1046 being requested. The value of 0.0.0.0 is used for requesting 1047 the local mobility anchor to perform the address allocation. 1049 3.3.2. IPv4 Home Address Reply Option 1051 A new option, IPv4 Home Address Reply Option is defined for using it 1052 in the Proxy Binding Acknowledgment message sent by the local 1053 mobility anchor to the mobile access gateway. This option can be 1054 used for sending the assigned mobile node's IPv4 home address. 1056 The IPv4 Home Address Reply option has an alignment requirement of 1057 4n. Its format is as follows: 1059 0 1 2 3 1060 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 1061 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1062 | Type | Length | Status |Pref-len |Res| 1063 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1064 | IPv4 home address | 1065 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1067 Figure 4: IPv4 Home Address Reply Option 1069 Type 1071 IANA 1073 Length 1075 8-bit unsigned integer indicating the length of the option in 1076 octets, excluding the type and length fields. This field MUST 1077 be set to (6). 1079 Status 1081 Indicates success or failure for the IPv4 home address 1082 assignment. Values from 0 to 127 indicate success. Higher 1083 values (128 to 255) indicate failure. The following status 1084 values are currently allocated by this document: 1086 0 Success 1088 128 Failure, reason unspecified 1090 129 Administratively prohibited 1092 130 Incorrect IPv4 home address 1094 131 Invalid IPv4 address 1096 132 Dynamic IPv4 home address assignment not available 1098 Prefix-len 1100 This 6-bit unsigned integer is used for carrying the prefix 1101 length of the mobile node's IPv4 home network corresponding the 1102 IPv4 home address contained in the option. 1104 Reserved (Res) 1106 This 2-bit field is unused for now. The value MUST be 1107 initialized to (0) by the sender and MUST be ignored by the 1108 receiver. 1110 IPv4 home address 1112 This four-byte field is used for carrying the IPv4 home address 1113 assigned to the mobile node. 1115 3.3.3. IPv4 Default-Router Address Option 1117 A new option, IPv4 Default-Router Address Option is defined for using 1118 it in the Proxy Binding Acknowledgment message sent by the local 1119 mobility anchor to the mobile access gateway. This option can be 1120 used for sending the mobile node's IPv4 default router address. 1122 The IPv4 Default-Router Address option has an alignment requirement 1123 of 4n. Its format is as follows: 1125 0 1 2 3 1126 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 1127 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1128 | Type | Length | Reserved (R) | 1129 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1130 | IPv4 Default-Router Address | 1131 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1133 Figure 5: IPv4 Default-Router Address Option 1135 Type 1137 IANA 1139 Length 1140 8-bit unsigned integer indicating the length of the option in 1141 octets, excluding the type and length fields. This field MUST 1142 be set to (6). 1144 Reserved (R) 1146 This 16-bit field is unused for now. The value MUST be 1147 initialized to (0) by the sender and MUST be ignored by the 1148 receiver. 1150 IPv4 Default-Router Address 1152 A four-byte field containing the mobile node's default router 1153 address. 1155 3.3.4. IPv4 DHCP Support Mode 1157 A new option, IPv4 DHCP Support Mode Option is defined for using it 1158 in the Proxy Binding Acknowledgment message sent by the local 1159 mobility anchor to the mobile access gateway. This option can be 1160 used for notifying the mobile access gateway, if it should function 1161 as a DHCP Server or a DHCP Relay for the attached mobile node. 1163 The IPv4 DHCP Support Mode option has no alignment requirement. Its 1164 format is as follows: 1166 0 1 2 3 1167 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 1168 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1169 | Type | Length | Reserved (R) |S| 1170 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1172 Figure 6: IPv4 DHCP Support Mode Option 1174 Type 1176 IANA 1178 Length 1180 8-bit unsigned integer indicating the length of the option in 1181 octets, excluding the type and length fields. This field MUST 1182 be set to 2. 1184 Reserved (R) 1186 This 15-bit field is unused for now. The value MUST be 1187 initialized to (0) by the sender and MUST be ignored by the 1188 receiver. 1190 DHCP Support Mode (S) 1192 A 1-bit field that specifies the DHCP support mode. This flag 1193 indicates if the mobile access gateway should function as a 1194 DHCP Server or a DHCP Relay for the attached mobile node. The 1195 flag value of (0) indicates the mobile access gateway should 1196 act as a DHCP Relay and the flag value of (1) indicates it 1197 should act as a DHCP Server. 1199 3.3.5. Status Codes 1201 This document defines the following new Status values for use in the 1202 Proxy Binding Acknowledgement message. These values are to be 1203 allocated from the same numbering space, as defined in Section 6.1.8 1204 of [RFC-3775]. 1206 NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE: IANA 1208 Mobile node not authorized for IPv4 mobility service. 1210 NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS: IANA 1212 Mobile node not authorized for the requesting IPv4 home address 1214 NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE: IANA 1216 Mobile node not authorized for IPv6 mobility service. 1218 MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED 1220 Multiple IPv4 home address assignment not supported 1222 3.4. Supporting DHCP-Based Address Configuration 1224 This section explains how DHCP-based address configuration support 1225 can be enabled for a mobile node in a Proxy Mobile IPv6 domain. It 1226 explains the protocol operation, supported DHCP server deployment 1227 configurations and the protocol interactions between DHCP agents and 1228 mobility entities in each of the supported configurations. 1230 This specification supports the following two DHCP deployment 1231 configurations. 1233 o DHCP relay agent co-located with the mobile access gateway. 1235 o DHCP server co-located in the mobile access gateway. 1237 The following are the configuration requirements: 1239 o The DHCP server or the DHCP relay agent configured on the mobile 1240 access gateway is required to have an IPv4 address for exchanging 1241 the DHCP messages with the mobile node. This address is the 1242 mobile node's default router address provided by the local 1243 mobility anchor. Optionally, all the DHCP servers co-located with 1244 the mobile access gateways in the Proxy Mobile IPv6 domain can be 1245 configured with a fixed IPv4 address. This fixed address can be 1246 potentially an IPv4 private address [RFC-1918] that can be used 1247 for the DHCP protocol communication on any of the access links. 1248 This address will be used as the server identifier in the DHCP 1249 messages. 1251 o A DHCP server identifies a DHCP client from the interface 1252 identifier, if present, or from the client hardware address 1253 (chaddr), as specified in [RFC-2131]. It uses this identity for 1254 identifying the interface for which the address is assigned. A 1255 mobile node in a Proxy Mobile IPv6 domain, can attach to the 1256 network through multiple interfaces and can obtain address 1257 configuration for each of its interfaces. Additionally, it may 1258 perform handoffs between its interfaces. Following are the 1259 related considerations with respect to the identification 1260 presented to the DHCP server. 1262 * If the mobile node attaches to the Proxy Mobile IPv6 domain 1263 through multiple interfaces, the DHCP server will uniquely 1264 identify each of those interfaces and will perform address 1265 assignment. The DHCP server will identify the interface as 1266 specified in [RFC-2131]. If the interface identifier is 1267 present, that will be used for identifying the mobile node 1268 interface, otherwise the client hardware address will be used. 1269 Anytime the mobile node performs an handoff to a different 1270 mobile access gateway, using the same interface, the DHCP 1271 server will always be able to identify the binding using the 1272 presented identifier, the interface identifier or the hardware 1273 address. The interface identifier or the hardware address will 1274 remain as the primary key for each binding, just as how they 1275 are unique in a Binding Cache entry. 1277 * However, if the mobile node is capable of performing handoff 1278 between interfaces, as per [RFC-5213], the interface identifier 1279 in such scenarios needs to be an identifier that is not tied to 1280 any of those interfaces. The identifier must be a stable 1281 identifier which remains the same through out the mobile node's 1282 attachment in that Proxy Mobile IPv6 domain. This identifier 1283 must remain fixed for a given binding. This identifier in some 1284 implementations can be the identifier associated to a virtual 1285 interface, that is abstracting the physical interfaces. 1287 o All the DHCP servers co-located with the mobile access gateways in 1288 a Proxy Mobile IPv6 domain can be configured with the same set of 1289 DHCP option values (Ex: DNS Server, SIP Server ..etc.) to ensure 1290 the mobile node receives the same configuration values on any of 1291 the access links in that Proxy Mobile IPv6 domain. 1293 3.4.1. DHCP Server co-located with the Mobile Access Gateway 1295 This section explains the operational sequence of home address 1296 assignment operation when the DHCP server is co-located with the 1297 mobile access gateway. 1299 MN MAG(DHCP-S) LMA 1300 |------>| | 1. DHCPDISCOVER 1301 | |------->| 2. Proxy Binding Update 1302 | |<-------| 3. Proxy Binding Acknowledgement (IPv4 HoA) 1303 | |========| 4. Tunnel/Route Setup 1304 |<------| | 5. DHCPOFFER (IPv4 HoA) 1305 |------>| | 6. DHCPREQUEST (IPv4 HoA) 1306 |<------| | 7. DHCPACK 1307 | | | 1308 * It is possible the MAG may have already completed the Proxy Mobile 1309 IPv6 signaling with the LMA for requesting both IPv6 home network 1310 prefix(es) and IPv4 home address assignment prior to step-1. In 1311 such event, the Proxy Mobile IPv6 signaling steps (step-2 to 1312 step-4) above are not relevant. 1313 * It is possible the MAG may have initially completed the Proxy 1314 Mobile IPv6 signaling prior to Step-1, but only for requesting 1315 IPv6 home network prefix(es) and may later request IPv4 home 1316 address assignment after detecting the DHCP triggers from the 1317 mobile node as shown above. 1318 * The MAG may choose to ignore the DHCPDISCOVER messages till the 1319 Proxy Mobile IPv6 signaling is successfully completed, or it may 1320 choose to send a delayed response for reducing the additional 1321 delay waiting for a new DHCPDISCOVER message from the mobile node. 1323 Figure 7: Overview of DHCP Server located at Mobile Access Gateway 1325 Initial IPv4 Home Address Assignment: 1327 o For acquiring the mobile node's IPv4 home address from the local 1328 mobility anchor, the mobile access gateway will initiate Proxy 1329 Mobile IPv6 signaling with the local mobility anchor. 1331 o After the successful completion of the Proxy Mobile IPv6 signaling 1332 and upon acquiring the mobile node's IPv4 home address from the 1333 local mobility anchor, the DHCP server on the mobile access 1334 gateway will send a DHCPOFFER message [RFC-2131] to the mobile 1335 node. The offered address will be the mobile node's IPv4 home 1336 address, assigned by the local mobility anchor. The DHCPOFFER 1337 message will also have the subnet mask option [RFC-2132] and 1338 router option [RFC-2132], with the values in those options set to 1339 the mobile node's IPv4 home subnet mask and default router address 1340 respectively. Additionally, the Server Identifier option will be 1341 included and with the value in the option set to the default 1342 router address. 1344 o If the mobile node sends the DHCPREQUEST message, the DHCP server 1345 will send DHCPACK message, as per [RFC-2131]. 1347 IPv4 Home Address Renewal with the DHCP server (No Handoff): 1349 o Any time the mobile node goes into the DHCP RENEWING state [RFC- 1350 2131], it simply unicasts the DHCPREQUEST message including the 1351 assigned IPv4 home address in the 'requested IP address' option. 1352 The DHCPREQUEST is sent to the address specified in Server 1353 Identifier option of the previously received DHCPOFFER and DHCPACK 1354 messages. 1356 o The DHCP server will send a DHCPACK to the mobile node to 1357 acknowledge the assignment of the committed IPv4 address. 1359 IPv4 Home Address Renewal with the DHCP server (After Handoff): 1361 When the mobile node goes into the DHCP RENEWING state [RFC-2131], it 1362 directly unicasts the DHCPREQUEST message to the DHCP server that 1363 currently provided the DHCP lease. However, if the mobile node 1364 changed its point of attachment and is attached to a new mobile 1365 access gateway, it is required that the mobile node updates the DHCP 1366 server address and uses the address of the DHCP server that is co- 1367 located with the new mobile access gateway. The following approach 1368 can be adopted to ensure the mobile node uses the DHCP server on the 1369 attached link. 1371 MN oMAG(DHCP-S) nMAG(DHCP-S) 1372 | : | 1373 RENEW------------->| 1. DHCPREQUEST (IPv4 HoA) 1374 BOUND<-------------| 2. DHCPACK (IPv4 HoA) or DHCPNACK 1375 | : | 1376 * The use of a fixed DHCP server address on all DHCP servers 1378 Figure 8: Address renewal with the DHCP server 1380 o The use of a stable address, either the IPv4 default router 1381 address of the mobile node, or a fixed IPv4 address common in that 1382 Proxy Mobile IPv6 domain, as the DHCP server Id will ensure the 1383 DHCPREQUEST message sent by the mobile node for renewing the 1384 address will be received by the new mobile access gateway on the 1385 attached link. The mobile access gateway after completing the 1386 Proxy Mobile IPv6 signaling and upon acquiring the IPv4 home 1387 address of the mobile node will return the address in the DHCPACK 1388 message. However, if the mobile access gateway is unable to 1389 complete the Proxy Mobile IPv6 signaling or is unable to acquire 1390 the same IPv4 address as requested by the mobile node, it will 1391 send a DHCPNACK message [RFC-2131] to the mobile node, as shown in 1392 Figure 8-1). 1394 3.4.2. DHCP Relay Agent co-located with the Mobile Access Gateway 1396 A DHCP relay agent is co-located with each mobile access gateway. A 1397 DHCP server is located somewhere in the Proxy Mobile IPv6 domain 1398 (e.g., is co-located with the local mobility anchor). Figure 9 shows 1399 the sequence of IPv4 home address assignment using DHCP Relay. 1401 MN MAG(DHCP-R) LMA DHCP-S 1402 | |------->| | 1. Proxy Binding Update * 1403 | |<-------| | 2. Proxy Binding Acknowledgement (IPv4 HoA) 1404 | |========| | 3. Tunnel/Route Setup* 1405 |------>|-------------->| 4. DHCPDISCOVER (IPv4 HoA) via DHCP-R 1406 |<------|<--------------| 5. DHCPOFFER (IPv4 HoA) via DHCP-R 1407 |------>|-------------->| 6. DHCPREQUEST (IPv4 HoA) via DHCP-R 1408 |<------|<--------------| 7. DHCPACK (IPv4 HoA) via DHCP-R 1409 | | | 1410 * The Proxy Mobile IPv6 signaling (starting at Step-1) and the 1411 DHCP address configuration (starting at Step-4) may start in any 1412 order. However, the DHCPOFFER (Step-5) and the immediate steps 1413 following it will occur in the specified order and only after the 1414 Tunnel/Route Setup (Step-3). 1415 * It is possible the MAG may have initially completed the Proxy 1416 Mobile IPv6 signaling with the LMA only for requesting IPv6 home 1417 network prefix(es) and may later request IPv4 home address 1418 assignment after detecting the DHCP triggers from the mobile node 1419 (after Step-4). 1420 * The MAG may choose to ignore the DHCPDISCOVER messages till the 1421 Proxy Mobile IPv6 signaling is successfully completed, or it may 1422 choose to send a delayed response for reducing the additional 1423 delay waiting for a new DHCPDISCOVER message from the mobile node. 1425 Figure 9: Overview of the DHCP relay located at mobile access gateway 1427 Initial IPv4 Home Address Assignment: 1429 o For acquiring the mobile node's IPv4 home address from the local 1430 mobility anchor, the mobile access gateway will initiate Proxy 1431 Mobile IPv6 signaling with the local mobility anchor. 1433 o After the successful completion of the Proxy Mobile IPv6 signaling 1434 and upon acquiring the mobile node's IPv4 home address from the 1435 local mobility anchor, the mobile access gateway will enable 1436 forwarding for all the DHCP messages between the mobile node and 1437 the DHCP server. 1439 o The DHCP relay agent on the mobile access gateway will add the 1440 DHCP relay agent information option [RFC-3046] to the DHCPDISCOVER 1441 message. The assigned IPv4 home address will be included in the 1442 Agent Remote ID Sub-option of the DHCP relay agent information 1443 option. This sub-option is used as a hint for requesting the DHCP 1444 server to allocate that specific IPv4 address. 1446 o On receiving a DHCPOFFER message from the DHCP server, the mobile 1447 access gateway will ensure the assigned address is currently 1448 assigned by the local mobility anchor to that mobile node. If 1449 this address is different from what is assigned to the mobile 1450 node, then the mobile access gateway will drop the DHCPOFFER 1451 message and an administrative error message will be logged. 1453 o When the DHCP messages are sent over administrative boundaries, 1454 the operators needs to ensure these messages are secured. All the 1455 DHCP messages relayed by the mobile access gateway can be tunneled 1456 to the local mobility anchor if needed. Alternatively, if the 1457 network in the Proxy Mobile IPv6 domain is secure enough, the 1458 mobile access gateway can just relay the DHCP messages to the 1459 server. To achieve this, all the mobile access gateways needs to 1460 have a route towards the DHCP server. 1462 IPv4 Home Address Renewal to the same DHCP server: (No Handoff) 1464 o When the DHCP client goes into the DHCP RENEW STATE [RFC-2131], it 1465 directly unicasts DHCPREQUEST messages to the DHCP server. The 1466 DHCP relay agent may not detect any changes in the DHCP state. 1467 For example, if the mobile node releases the IPv4 address, the 1468 relay agent would not be aware of it. The following describes 1469 additional mechanisms for the mobile access gateway to detect any 1470 changes in the DHCP state. 1472 * The DHCP relay agent can intercept all IPv4 DHCP packets 1473 destined to the set of addresses used within the Proxy Mobile 1474 IPv6 domain as DHCP addresses. Since the link between a mobile 1475 node and a mobile access gateway is the point-to-point link, 1476 the mobile access gateway will be in path for all the messages. 1478 * The DHCP relay agent can use the DHCP Server Identifier 1479 Override Sub-option [RFC-5107] to be in path for all the DHCP 1480 message flows. The DHCP client uses the DHCP server address 1481 which is overridden by the DHCP relay agent address as a 1482 destination address of DHCPREQUEST. The DHCP Server Identifier 1483 Override Sub-option is recommended only when the fixed DHCP 1484 relay address is configured on all the mobile access gateways. 1485 Otherwise, the DHCP relay agent address is changed when the 1486 mobile node changes the attached mobile access gateway. 1488 o However, if the DHCP server is co-located with the local mobility 1489 anchor, then the DHCP relay agent is not required to intercept the 1490 unicast DHCP messages between the mobile node and the DHCP server. 1491 This is because the local mobility anchor will ensure that the 1492 DHCP state is consistent with the PMIPv6 binding that exists for 1493 the IPv4 address. 1495 o Once the mobile access gateway intercepts the DHCP message from 1496 the mobile node to the DHCP server, it can verify if the mobile 1497 node is negotiating the same IPv4 address that the local mobility 1498 anchor allocated for that mobile node. If the address in the 1499 DHCPREQUEST message does not match with the IPv4 address allocated 1500 for the mobile node, then the mobile access gateway SHOULD 1501 silently drop the DHCP message. 1503 o Any time the mobile access gateway detects that the mobile node 1504 has released its IPv4 address, it can send a Proxy Binding Update 1505 to the local mobility anchor and de-register the IPv4 mobility 1506 session. 1508 3.4.3. Common DHCP Considerations 1510 The following DHCP related considerations are common to both the 1511 supported configuration modes, specified in Section 3.4.1 and Section 1512 3.4.2. 1514 o When a mobile node sends a DHCPDISCOVER message [RFC-2131], the 1515 DHCP server or the relay agent co-located with the mobile access 1516 gateway will trigger the mobile access gateway to complete the 1517 Proxy Mobile IPv6 signaling. This is the required interaction 1518 between these two protocols. The mobile access gateway on 1519 receiving this trigger will check if there is already an assigned 1520 IPv4 home address for the mobile node, from the local mobility 1521 anchor. If there is no assigned IPv4 home address assigned for 1522 that mobile node, the mobile access gateway will complete the 1523 Proxy Mobile IPv6 signaling with the local mobility anchor by 1524 sending a Proxy Binding Update message. 1526 o The mobile node needs to be identified by the MN-Identifier, as 1527 specified in Section 6.6 of [RFC-5213]. This identity should be 1528 associated to the DHCP messages sent by the mobile node. 1530 o The mobile access gateway will drop all the DHCPDISCOVER messages 1531 till it completes the Proxy Mobile IPv6 signaling. If the mobile 1532 access gateway is unable to complete the Proxy Mobile IPv6 1533 signaling, or, if the local mobility anchor does not assign an 1534 IPv4 address for the mobile node, the mobile access gateway MUST 1535 NOT enable IPv4 home address mobility support for the mobile node 1536 on that access link. 1538 o The trigger for initiating Proxy Mobile IPv6 signaling can also be 1539 delivered to the mobile access gateway as part of a context 1540 transfer from the previous mobile access gateway, or delivered 1541 from the other network elements in the radio network, the details 1542 of which are outside the scope of this document. 1544 o The DHCPOFFER message [RFC-2131] sent to the mobile node MUST 1545 include the Subnet Mask option [RFC-2132] and the Router option 1546 [RFC-2132]. The values in the Subnet Mask option and Router 1547 option MUST be set to the mobile node's IPv4 home subnet mask and 1548 its default router address respectively. 1550 o The DHCPOFFER message [RFC-2131] sent to the mobile node MUST 1551 include the Interface MTU option [RFC-2132]. The DHCP servers in 1552 the Proxy Mobile IPv6 domain MUST be configured to include the 1553 Interface MTU option. The MTU value SHOULD reflect the tunnel MTU 1554 for the bi-directional tunnel between the mobile access gateway 1555 and the local mobility anchor. 1557 o The DHCP lease length allocated to the mobile node's IPv4 home 1558 address may be different from the binding lifetime at the local 1559 mobility anchor for that mobile node's session. It is not 1560 possible to keep these lifetimes synchronized and so its not 1561 required that the configured lifetimes should be kept same in both 1562 DHCP and Proxy Mobile IPv6. 1564 o When the mobile node performs an handoff from one mobile access 1565 gateway to another, the mobile access gateway on the new link will 1566 initiate the Proxy Mobile IPv6 signaling with the local mobility 1567 anchor. On completing the Proxy Mobile IPv6 signaling, the mobile 1568 access gateway has the proper IPv4 address state that the local 1569 mobility anchor has allocated for the mobile node and which can be 1570 used for supporting DHCP based address configuration on that link. 1572 o Any time the mobile node detects a link change event due to 1573 handoff, or due to other reasons such as re-establishment of the 1574 link-layer, the following are the mobile node's considerations 1575 with respect to the DHCP protocol. 1577 * If the mobile node is DNAv4 [RFC-4436] capable and if it 1578 performs DNAv4 procedures after receiving a link change event, 1579 it would always detect the same default router on any of the 1580 access links in that Proxy Mobile IPv6 domain, as the mobile 1581 access gateway configures a fixed link-layer address on all the 1582 access links, as per the base Proxy Mobile IPv6 specification 1583 [RFC-5213]. The mobile node will not perform any DHCP 1584 operation specifically due to this event. 1586 * If the mobile node is not DNAv4 [RFC-4436] capable, after 1587 receiving the link change event it will enter INIT-REBOOT state 1588 [RFC-2131] and will send a DHCPREQUEST message as specified in 1589 Section 3.7 of [RFC-2131]. The mobile node will obtain the 1590 same address configuration as before, as the link change does 1591 not result in any change at the network layer. 1593 o The mobile node may release its IPv4 home address at any time by 1594 sending the DHCPRELEASE message [RFC-2131]. When the mobile 1595 access gateway detects the DHCPRELEASE message sent by the mobile 1596 node, it should consider this as a trigger for de-registering the 1597 mobile node's IPv4 home address. It will apply the considerations 1598 specified in section 3.2.3.3 for performing the de-registration 1599 procedure. However, this operation MUST NOT release any IPv6 home 1600 network prefix(es) assigned to the mobile node. 1602 4. IPv4 Transport Support 1604 The Proxy Mobile IPv6 specification [RFC-5213] requires the signaling 1605 messages exchanged between the local mobility anchor and the mobile 1606 access gateway to be over an IPv6 transport. The extensions defined 1607 in this section allow the exchange of signaling messages over an IPv4 1608 transport when the local mobility anchor and the mobile access 1609 gateway are separated by an IPv4 network and are reachable using only 1610 IPv4 addresses. 1612 IPv4-Proxy-CoA IPv4-LMAA 1613 | + - - - - - - + | 1614 +--+ +---+ / \ +---+ +--+ 1615 |MN|----------|MAG|===== IPv4 Network =====|LMA|----------|CN| 1616 +--+ +---+ \ / +---+ +--+ 1617 + - - - - - - + 1619 Figure 10: IPv4 Transport Network 1621 When the local mobility anchor and the mobile access gateway are 1622 configured and reachable using only IPv4 addresses, the mobile access 1623 gateway serving a mobile node can potentially send the signaling 1624 messages over IPv4 transport and register its IPv4 address as the 1625 care-of address in the mobile node's Binding Cache entry. An IPv4 1626 tunnel (with any of the supported encapsulation modes) can be used 1627 for tunneling the mobile node's data traffic. The following are the 1628 key aspects of this feature. 1630 o The local mobility anchor and the mobile access gateway are both 1631 configured and reachable using an IPv4 address. Additionally, 1632 both entities are also IPv6 enabled and have configured IPv6 1633 addresses on their interfaces, as specified in [RFC-5213], but are 1634 reachable only over an IPv4 transport network. 1636 o The mobile access gateway can be potentially in a private IPv4 1637 network behind a NAT [RFC-3022] device, with a private IPv4 1638 address configured on its egress interface. But, the local 1639 mobility anchor must not be behind a NAT and must be using a 1640 globally routable IPv4 address. However, both the local mobility 1641 anchor and the mobile access gateway can be in the same private 1642 IPv4 routing domain, i.e., when both are configured with private 1643 IPv4 addresses and with no need for NAT translation between them. 1645 o The IPv6 address configuration requirement on the mobile access 1646 gateway does not imply there needs to be IPv6 routing enabled 1647 between the local mobility anchor and the mobile access gateway. 1648 It just requires each of the mobile access gateways and local 1649 mobility anchors in a Proxy Mobile IPv6 domain to be configured 1650 with a globally unique IPv6 address. 1652 o The Proxy Mobile IPv6 signaling messages exchanged between the 1653 local mobility anchor and the mobile access gateway for 1654 negotiating the IPv4 transport will be encapsulated and carried as 1655 IPv4 packets. However, these signaling messages are fundamentally 1656 IPv6 messages using the mobility header and the related semantics 1657 as specified in base Proxy Mobile IPv6 specification [RFC-5213], 1658 but carried as a payload in an IPv4 packet. The supported 1659 encapsulation modes for the signaling messages are either native 1660 IPv4 or IPv4 with UDP header. 1662 o The mobile node can be an IPv6, IPv4 or a dual IPv4/IPv6 node and 1663 the IPv4 transport support specified in this section is agnostic 1664 to the type of address mobility enabled for that mobile node. 1666 o The IPv4 tunnel established between the local mobility anchor and 1667 the mobile access gateway (with any of the supported encapsulation 1668 modes over IPv4 transport) will be used for carrying the mobile 1669 node's IPv4 and IPv6 traffic. The following are the outer headers 1670 based on the negotiated encapsulation mode. 1672 * IPv4 (IPv4 or IPv6 Payload packet carried in an IPv4 packet). 1673 If payload protection using IPsec is enabled for the tunneled 1674 traffic, the ESP header follows the outer tunnel header. 1676 * IPv4-UDP (Payload packet carried in an IPv4 packet with UDP 1677 header). If payload protection using IPsec is enabled for the 1678 tunneled traffic, the ESP header follows the outer tunnel 1679 header, as explained in Section 4.3. 1681 * IPv4-UDP-TLV (Payload packet carried in an IPv4 packet with UDP 1682 and TLV header). Refer to [ID-GREKEY-NEGO]. If payload 1683 protection using IPsec is enabled for the tunneled traffic, the 1684 ESP header follows the outer tunnel header, as explained in 1685 Section 4.3. 1687 4.1. Local Mobility Anchor Considerations 1689 4.1.1. Extensions to Binding Cache Entry 1691 To support this feature, the conceptual Binding Cache entry data 1692 structure maintained by the local mobility anchor [RFC-5213] MUST be 1693 extended with the following additional parameters. It is to be noted 1694 that all of these parameters are specified in [RFC-5555] and also 1695 required here in the present usage context, and are presented here 1696 only for completeness. 1698 o The IPv4 Proxy Care-of Address configured on the mobile access 1699 gateway that sent the Proxy Binding Update message. This address 1700 can be obtained from the IPv4 Care-of Address option [RFC-5555], 1701 present in the received Proxy Binding Update message. However, if 1702 the received Proxy Binding Update message is not sent as an IPv4 1703 packet, i.e., when using IPv6 transport, this field in the Binding 1704 Cache entry MUST be set to ALL_ZERO value. 1706 o The IPv4 NAT translated address of the mobile access gateway. If 1707 the mobile access gateway is not behind a NAT [RFC-3022], this 1708 address will be the same as the address configured on the egress 1709 interface of the mobile access gateway. This address can be 1710 obtained from the IPv4 header of the received Proxy Binding Update 1711 message. However, if the received Proxy Binding Update message is 1712 not sent as an IPv4 packet, this field in the Binding Cache entry 1713 MUST be set to ALL_ZERO value. 1715 o The source UDP port, if the Proxy Binding Update was received in 1716 an IPv4 packet with UDP header. 1718 o The destination UDP port, if the Proxy Binding Update was received 1719 in an IPv4 packet with UDP header. 1721 4.1.2. Extensions to Mobile Node's Policy Profile 1723 To support the IPv4 Transport Support feature the mobile node's 1724 policy profile, specified in Section 6.2 of [RFC-5213] MUST be 1725 extended with the following additional fields. These are mandatory 1726 fields of the policy profile required for supporting this feature. 1728 o The IPv4 address of the local mobility anchor (IPv4-LMAA). 1730 4.1.3. Signaling Considerations 1732 This section provides the rules for processing the Proxy Mobile IPv6 1733 signaling messages received over IPv4 transport. 1735 4.1.3.1. Processing Proxy Binding Updates 1737 o If the received Proxy Binding Update message was sent encapsulated 1738 in an IPv4 or IPv4-UDP packet, the message MUST be authenticated 1739 after removing the outer encapsulation (IPv4 or IPv4-UDP) header. 1740 Considerations from Section 4 of [RFC-5213] MUST be applied for 1741 authenticating and authorizing the request. 1743 o All the considerations from Section 5.3.1 of [RFC-5213] MUST be 1744 applied on the encapsulated Proxy Binding Update message, after 1745 removing the outer encapsulation (IPv4 or IPv4-UDP) header. 1747 o If there is an IPv4 Care-of Address option [RFC-5555] present in 1748 the request and if the outer encapsulation header is IPv4-UDP, 1749 then the NAT presence detection procedure specified in Section 1750 4.1.3.3 MUST be used for detecting the NAT in the path. 1752 o Upon accepting the request, the local mobility anchor MUST set up 1753 an IPv4 bi-directional tunnel to the mobile access gateway. The 1754 tunnel endpoint addresses are IPv4-LMAA and the IPv4-Proxy-CoA. 1755 The encapsulation mode MUST be determined by applying the 1756 following considerations: 1758 * If the received Proxy Binding Update message was sent with IPv4 1759 encapsulated header, then the encapsulation mode for the bi- 1760 directional tunnel MUST be set to IPv4. Otherwise, the 1761 following considerations apply. 1763 * If NAT is not detected on the path and if the (F) flag in the 1764 received Proxy Binding Update message is set to the value of 1765 (1), but if the configuration flag, 1766 AcceptForcedIPv4UDPEncapsulationRequest, is set to a value of 1767 (0), then the local mobility anchor MUST reject the request 1768 with the Status field value set to 129 (Administratively 1769 prohibited). 1771 * If the (T) flag [ID-GREKEY-NEGO] in the Proxy Binding Update 1772 message is set to value of (1), then the encapsulation mode 1773 MUST be set to IPv4-or-IPv6-over-IPv4-UDP-TLV. 1775 * If NAT is detected on the path, or if the (F) flag in the 1776 received Proxy Binding Update message is set to the value of 1777 (1), then the encapsulation mode MUST be set to IPv4-or-IPv6- 1778 over-IPv4-UDP. Otherwise the encapsulation mode MUST be set to 1779 IPv4-or-IPv6-over-IPv4. 1781 o The local mobility anchor MUST send the Proxy Binding 1782 Acknowledgement message with the Status field value set to (0) 1783 (Proxy Binding Update Accepted). The message MUST be constructed 1784 as specified in Section 4.1.3.2. 1786 4.1.3.2. Constructing the Proxy Binding Acknowledgement Message 1788 The local mobility anchor when sending the Proxy Binding 1789 Acknowledgement message to the mobile access gateway MUST construct 1790 the message as specified in Section 5.3.6 of [RFC-5213]. However, if 1791 the received Proxy Binding Update message was encapsulated in an IPv4 1792 packet or as a payload in the UDP header of an IPv4 packet, the 1793 following additional considerations MUST be applied. 1795 o The Proxy Binding Acknowledgement message MUST be encapsulated in 1796 an IPv4 packet. However, if the received Proxy Binding Update 1797 message was sent encapsulated in an IPv4-UDP packet, then the 1798 Proxy Binding Acknowledgement message MUST be encapsulated in the 1799 UDP header of an IPv4 packet. 1801 o The source address in the IPv4 header of the message MUST be set 1802 to the destination IPv4 address of the received request. 1804 o If the mobile access gateway and the local mobility anchor are 1805 using globally routable IPv4 addresses and if there is a security 1806 association that is based on IPv4 addresses, then the encapsulated 1807 IPv4 packet (containing the IPv6 Proxy Binding Acknowledgement) 1808 MUST be protected using IPsec ESP [RFC-4301] mode. There is no 1809 need to apply IPsec ESP header to the IPv6 packet. In all other 1810 cases, the Proxy Binding Acknowledgement message MUST be protected 1811 using IPsec prior to the IPv4 or IPv4-UDP encapsulation. 1813 o The NAT Detection option [RFC-5555] MUST be present only if there 1814 is an IPv4 Care-of Address option [RFC-5555] present in the 1815 received Proxy Binding Update message and if the NAT detection 1816 procedure resulted in detecting a NAT on path. However, if the 1817 received Proxy Binding Update message was not sent encapsulated in 1818 IPv4 UDP header, then the option MUST NOT be present. 1819 Furthermore, in all other cases, the option MUST NOT be present. 1821 o The IPv4 DHCP Support Mode option MAY be present. If this option 1822 is not present, the mobile access gateway will enable the default 1823 behavior and function as a DHCP Relay for the mobile node. 1825 o Figure 9 shows the format of the Proxy Binding Acknowledgement 1826 message encapsulated in an IPv4 packet and protected using IPv6 1827 security association. The UDP header MUST be present only if the 1828 received Proxy Binding Update message was sent encapsulated in an 1829 IPv4-UDP packet. 1831 IPv4 header (src=IPv4-LMAA, dst=pbu_src_address) 1832 UDP header (sport=DSMIP_PORT, dport= pbu_sport) /*Optional*/ 1833 /* IPv6 PBA Packet protected with ESP header */ 1835 Figure 11: Proxy Binding Acknowledgment (PBA) Message encapsulated 1836 in IPv4 header 1838 4.1.3.3. NAT Presence Detection 1840 When the transport network between the local mobility anchor and the 1841 mobile access gateway is an IPv4 network and if the received Proxy 1842 Binding Update message was sent encapsulated in IPv4 UDP header, the 1843 local mobility anchor performs the NAT Presence Detection as 1844 specified below. 1846 On receiving the Proxy Binding Update message encapsulated in an IPv4 1847 UDP packet, the local mobility anchor, if it detects a NAT on the 1848 path, will send the Proxy Binding Acknowledgment message with the NAT 1849 Detection Option. The presence of this option in the Proxy Binding 1850 Acknowledgment is an indication to the mobile access gateway about 1851 the presence of NAT in the path. On detecting any NAT in the path, 1852 both the local mobility anchor and the mobile access gateway will set 1853 the encapsulation mode of the tunnel to IPv4-UDP-based encapsulation. 1854 The specific details around the NAT detection and the related logic 1855 are described in DSMIPv6 specification [RFC-5555]. 1857 However, if the value of the configuration variable, 1858 UseIPv4UDPEncapForSignalingMessages, is set to a value of (0), the 1859 mobile access gateway will not use IPv4 UDP encapsulation for Proxy 1860 Binding Update messages and hence the local mobility anchor will not 1861 perform this NAT Presence Detection procedure on these messages that 1862 are not sent in IPv4 UDP packet. 1864 4.1.4. Routing Considerations 1866 4.1.4.1. Forwarding Considerations 1868 Forwarding Packets to the Mobile Node: 1870 o On receiving an IPv4 or an IPv6 packet from a correspondent node 1871 with the destination address matching any of the mobile node's 1872 IPv4 or IPv6 home addresses, the local mobility anchor MUST 1873 forward the packet through the bi-directional tunnel set up for 1874 that mobile node. 1876 o The format of the tunneled packet is shown below. 1878 IPv4 Header (src= IPv4-LMAA, dst= IPv4-Proxy-CoA)] /* Tunnel Header */ 1879 [UDP Header (src port=DSMIPv6, dst port=Z] /* If UDP encap nego */ 1880 [TLV Header] /* If TLV negotiated */ 1881 /* IPv6 or IPv4 Payload Packet */ 1882 IPv6 header (src= CN, dst= MN-HOA) 1883 OR 1884 IPv4 header (src= CN, dst= IPv4 MN-HoA) 1886 Figure 12: Tunneled IPv4 Packet from LMA to MAG 1888 o Forwarding Packets Sent by the Mobile Node: 1890 * All the reverse tunneled packets (IPv4 and IPv6) that the local 1891 mobility anchor receives from the mobile access gateway, after 1892 removing the tunnel header (i.e., the outer IPv4 header along 1893 with the UDP and TLV header, if negotiated) MUST be routed to 1894 the destination specified in the inner packet header. These 1895 routed packets will have the source address field set to the 1896 mobile node's home address. 1898 4.1.4.2. ECN & Payload Fragmentation Considerations 1900 The ECN considerations specified in Section 5.6.3 of [RFC-5213] apply 1901 for the IPv4 transport tunnels as well. The mobility agents at the 1902 tunnel entry and exit points MUST handle ECN information as specified 1903 in that document. 1905 The mobility agents at the tunnel entry and exit points MUST apply 1906 the IP packet fragmentation considerations as specified in [RFC- 1907 4213]. Additionally they MUST also apply the considerations related 1908 to tunnel error processing and reporting as specified in the same 1909 specification. 1911 4.1.4.3. Bi-Directional Tunnel Management 1913 The Tunnel Management considerations specified in section 5.6.1 of 1914 [RFC-5213] apply for the IPv4 transport tunnels as well, with just 1915 one difference that the encapsulation mode is different. 1917 4.2. Mobile Access Gateway Considerations 1919 4.2.1. Extensions to Binding Update List Entry 1921 To support the IPv4 Transport Support feature, the conceptual Binding 1922 Update List entry data structure maintained by the mobile access 1923 gateway [RFC-5213] MUST be extended with the following additional 1924 parameters. 1926 o The IPv4 address of the local mobility anchor. This address can 1927 be obtained from the mobile node's policy profile. 1929 4.2.2. Signaling Considerations 1931 The mobile access gateway when sending a Proxy Binding Update message 1932 to the local mobility anchor MUST construct the message as specified 1933 in Section 6.9.1.5 of [RFC-5213]. However, if the mobile access 1934 gateway is in an IPv4-only access network, the following additional 1935 considerations MUST be applied. 1937 o The Proxy Binding Update message MUST be encapsulated in an IPv4 1938 packet. However, if the value of the configuration variable, 1939 UseIPv4UDPEncapForSignalingMessages, is set to 1, then the Proxy 1940 Binding Update message MUST be encapsulated in an UDP header of an 1941 IPv4 packet. 1943 o The IPv4 Care-of Address option [RFC-5555] MUST be present. The 1944 IPv4 address in the option MUST be set to the mobile access 1945 gateway's IPv4-Proxy-CoA. 1947 o The packet MUST be constructed as specified in Section 4.2.2.1. 1949 o Just as specified in [RFC-5213], when sending a Proxy Binding 1950 message for extending the lifetime of a currently existing 1951 mobility session or for de-registering the mobility session, the 1952 Proxy Binding Update message MUST be constructed just as the 1953 initial request. 1955 Receiving Proxy Binding Acknowledgement 1957 o If the received Proxy Binding Acknowledgement message is 1958 encapsulated in IPv4 or IPv4 UDP packet, the message MUST be 1959 authenticated after removing the outer IPv4 or IPv4-UDP header. 1960 Considerations from Section 4 of [RFC-5213] MUST be applied for 1961 authenticating and authorizing the message. 1963 o All the considerations from Section 6.9.1.2 of [RFC-5213] MUST be 1964 applied on the encapsulated Proxy Binding Acknowledgement message, 1965 after removing the outer IPv4 UDP header. 1967 o If the Status field indicates Success, the mobile access gateway 1968 MUST setup a bi-directional tunnel to the local mobility anchor. 1970 o Upon accepting the request, the mobile access gateway MUST set up 1971 an IPv4 bi-directional tunnel to the local mobility anchor. The 1972 tunnel endpoint addresses are IPv4-Proxy-CoA and the IPv4-LMAA. 1973 The encapsulation mode MUST be determined from the below 1974 considerations. 1976 o The encapsulation mode for the bi-directional tunnel MUST be set 1977 to IPv4. However, if the value of the configuration variable, 1978 UseIPv4UDPEncapForSignalingMessages, is set to (1), then the 1979 following considerations MUST be applied. 1981 * If there is a NAT Detection option [RFC-5555] in the received 1982 Proxy Binding Acknowledgement message and if the value of the 1983 configuration flag, UseIPv4UDPEncapForSignalingMessages, is set 1984 to value of (1), then the encapsulation mode for the tunnel 1985 MUST be set to IPv4-UDP. Otherwise the encapsulation mode MUST 1986 be set to IPv4. 1988 * If the (T) flag in the Proxy Binding Acknowledgement message is 1989 set to value of (1), then the encapsulation mode MUST be set to 1990 IPv4-UDP-TLV. 1992 4.2.2.1. Constructing the Proxy Binding Update Message 1994 o The source address in the IPv4 header MUST be set to IPv4-Proxy- 1995 CoA of the mobile access gateway and the destination address MUST 1996 be set to the local mobility anchor's IPv4-LMAA. 1998 o The IPv4 Care-of Address option [RFC-5555] MUST be present. The 1999 address MUST be set to the mobile access gateway's IPv4-Proxy-CoA. 2001 o If the configuration variable ForceIPv4UDPEncapsulationSupport is 2002 set to value of (1), then the (F) flag in the Proxy Binding Update 2003 message MUST be set to value of (1). 2005 o The Proxy Binding Update message MUST be protected using IPsec ESP 2006 [RFC-4301], as specified in [RFC-5213]. The protection MUST be 2007 applied on the IPv6 packet of the Proxy Binding Update message, 2008 prior to the IPv4 encapsulation. 2010 o The format of the Proxy Binding Update message encapsulated in an 2011 IPv4 or IPv4-UDP packet with no IPsec protection: 2013 IPv4 header (src=IPv4-Proxy-CoA, dst=IPv4-LMAA) 2014 UDP header (sport=ANY, dport= DSMIP_PORT) /*Optional*/ 2015 /* IPv6 PBU Packet protected with ESP header */ 2017 Figure 13: Proxy Binding Update (PBU) message encapsulated in IPv4 2018 UDP header 2020 4.2.2.2. Forwarding Considerations 2022 Forwarding Packets Sent by the Mobile Node: 2024 o On receiving an IPv4 or an IPv6 packet from the mobile node to any 2025 destination, the mobile access gateway MUST tunnel the packet to 2026 the local mobility anchor. The format of the tunneled packet is 2027 shown below. However, considerations from Section 6.10.3 of [RFC- 2028 5213] MUST be applied with respect the local routing and on the 2029 use of EnableMAGLocalRouting flag. 2031 IPv4 Header (src= IPv4-Proxy-CoA, dst= IPv4-LMAA)] /* Tunnel Header */ 2032 [UDP Header (src port=DSMIPv6, dst port=Z] /* If UDP encap nego */ 2033 [TLV Header] /* If TLV negotiated */ 2034 /* IPv6 or IPv4 Payload Packet */ 2035 IPv6 header (src= CN, dst= MN-HOA) 2036 OR 2037 IPv4 header (src= CN, dst= IPv4 MN-HoA) 2039 Figure 14 2041 o Forwarding Packets received from the bi-directional tunnel: 2043 o On receiving a packet from the bi-directional tunnel established 2044 with the mobile node's local mobility anchor, the mobile access 2045 gateway MUST remove the outer header before forwarding the packet 2046 to the mobile node. 2048 4.3. IPsec Considerations 2050 4.3.1. PBU and PBA 2052 The following section describes how IPsec is used for protecting the 2053 signaling messages and data packets between the local mobility anchor 2054 and mobile access gateway when using IPv4 transport. 2056 The following are the SPD example entries to protect PBU and PBA on 2057 the local mobility anchor and mobile access gateway. 2059 MAG SPD-S: 2060 - IF local_address = Proxy-CoA_1 & 2061 remote_address = LMAA_1 & proto = MH & 2062 local_mh_type = PBU & remote_mh_type = PBAck 2063 Then use SA ESP transport mode 2065 LMA SPD-S: 2066 - IF local_address = LMAA_1 & 2067 remote_address = Proxy-CoA_1 & proto = MH & 2068 local_mh_type = PBAck & remote_mh_type = PBU 2069 Then use SA ESP transport mode 2071 Figure 15 and Figure 16 show how PBU and PBA are sent and processed 2072 at the local mobility anchor and at the mobile access gateway. IPsec 2073 ESP is always applied before the PBU or the PBA is encapsulated in 2074 the outer IPv4 header. 2076 | PBU on wire : PBU internal processing 2077 \|/ \:/ 2079 MAG's PMIP Module 2080 : 2081 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2082 : Mobility header 2083 : PBU (p flag) 2084 : Home Network Prefix option 2085 : IPv4 Home Address Request option 2086 : IPv4 Care-of Address option 2087 : 2088 \:/ 2089 MAG's IPsec module 2090 : 2091 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2092 : ESP header in transport mode 2093 : Mobility header 2094 : PBU (p flag) 2095 : Home Network Prefix option 2096 : IPv4 Home Address Request option 2097 : IPv4 Care-of Address option 2098 : 2099 : * After adding the ESP header, the PBU is returned to the PMIP 2100 : module and is encapsulated into the UDP and IPv4 headers. 2101 : This requires a Proxy Mobile IPv6 specific IPsec implementation, 2102 : which knows that the packet needs to be passed back to the PMIP 2103 : module, instead of sending it out via the normal forwarding 2104 \:/ 2105 MAG 2106 | IPv4 header (src=IPv4-Proxy-CoA, dst=IPv4-LMAA) 2107 | UDP header (sport=Z, dport=DSMIPv6) 2108 | IPv6 header (src=Proxy-CoA, dst=LMAA) 2109 | ESP header in transport mode 2110 | Mobility header 2111 | PBU (p flag) 2112 | Home Network Prefix option 2113 | IPv4 Home Address Request option 2114 | IPv4 Care-of Address option 2115 \|/ 2116 LMA (received at DSMIPv6 port) 2117 : 2118 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2119 : ESP header in transport mode 2120 : Mobility header 2121 : PBU (p flag) 2122 : Home Network Prefix option 2123 : IPv4 Home Address Request option 2124 : IPv4 Care-of Address option 2125 : 2126 : *In addition, IPv4-Proxy-CoA and the sport (Z) needs to 2127 : be passed along with the packet to ensure correct processing. 2128 \:/ 2129 LMA's IPsec module 2130 : 2131 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2132 : Mobility header 2133 : PBU (p flag) 2134 : Home Network Prefix option 2135 : IPv4 Home Address Request option 2136 : IPv4 Care-of Address option 2137 : 2138 : *In addition, IPv4-Proxy-CoA and the sport (Z) need to 2139 : be passed with the packet to ensure correct processing. 2140 \:/ 2141 LMA's PMIP module 2143 Figure 15: Proxy Binding Update 2145 | PBA on wire : PBA internal processing 2146 \|/ \:/ 2148 LMA's PMIP module 2149 : 2150 : IPv6 header (src=LMAA, dst=Proxy-CoA) 2151 : Mobility header 2152 : PBA (p flag) 2153 : Home Network Prefix option 2154 : IPv4 Home Address Reply option 2155 : IPv4 Care-of Address option 2156 \:/ 2157 LMA's IPsec module 2158 : 2159 : IPv6 header (src=LMAA, dst=Proxy-CoA) 2160 : ESP header in transport mode 2161 : Mobility header 2162 : PBA (p flag) 2163 : Home Network Prefix option 2164 : IPv4 Home Address Reply option 2165 : IPv4 Care-of Address option 2166 : 2167 : * After adding the ESP header, the PBA is returned to the PMIP 2168 : module and is encapsulated into the UDP and IPv4 headers. 2169 : This requires a Proxy Mobile IPv6 specific IPsec implementation, 2170 : which knows that the packet needs to be passed back to the PMIP 2171 : module, instead of sending it out via normal forwarding 2172 \:/ 2173 LMA 2174 | IPv4 header (src=IPv4-LMAA, dst=IPv4-Proxy-CoA) 2175 | UDP header (sport=DSMIPv6, dport=Z) 2176 | IPv6 header (src=LMAA, dst=Proxy-CoA) 2177 | ESP header in transport mode 2178 | Mobility header 2179 | PBA (p flag) 2180 | Home Network Prefix option 2181 | IPv4 Home Address Reply option 2182 | IPv4 Care-of Address option 2183 \|/ 2184 MAG (received at DSMIPv6 listening port) 2185 : 2186 : IPv6 header (src=LMAA, dst=Proxy-CoA) 2187 : ESP header in transport mode 2188 : Mobility header 2189 : PBA (p flag) 2190 : Home Network Prefix option 2191 : IPv4 Home Address Reply option 2192 : IPv4 Care-of Address option 2193 : *In addition, IPv4-Proxy-CoA and the sport (Z) need to 2194 : be passed with the packet to ensure correct processing. 2195 \:/ 2196 MAG's IPsec module 2197 : 2198 : IPv6 header (src=LMAA, dst=Proxy-CoA) 2199 : Mobility header 2200 : PBA (p flag) 2201 : Home Network Prefix option 2202 : IPv4 Home Address Reply option 2203 : IPv4 Care-of Address option 2204 : *In addition, IPv4-Proxy-CoA and the sport (Z) need to 2205 : be passed with the packet to ensure correct processing. 2206 \:/ 2207 MAG's PMIP module 2209 Figure 16: Proxy Binding Acknowledgement 2211 4.3.2. Payload Packet 2213 The following are the SPD example entries to protect payload packets 2214 on the local mobility anchor and mobile access gateway. Note that 2215 the example SPDs protect all payload packets sent to and from mobile 2216 nodes. If an operator needs to apply a different security mechanism 2217 per mobile node, they need to create a SPD and a SA entry per mobile 2218 node. 2220 MAG SPD-S: 2221 - IF interface = IPv6 tunnel to LMAA_1 & 2222 local_address != Proxy-CoA_1 & 2223 remote_address != LMAA_1 & proto=any 2224 Then use SA ESP tunnel mode 2226 LMA SPD-S: 2227 - IF interface = IPv6 tunnel to Proxy-CoA_1 & 2228 local_address != LMAA_1 & 2229 remote_address != Proxy-CoA_1 & proto=any 2230 Then use SA ESP tunnel mode 2232 When a payload packet is protected by IPsec, MAG and LMA SHOULD 2233 always use the tunnel IPv6 header to let the payload packet be IPsec 2234 protected in the ESP tunnel mode. If IPsec is not applied to payload 2235 packets, this additional tunnel IPv6 header SHOULD be omitted and an 2236 IPv4 header SHOULD be used to encapsulate the data packet as shown in 2237 Figure 14 . 2239 | Packet on wire : Packet internal processing 2241 \|/ \:/ 2243 MN 2244 | IPv4/v6 header (src= MN-HoA, dst= CN) 2245 | Payload 2246 \|/ 2247 MAG's PMIP Module 2248 :3 2249 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2250 : IPv4/v6 header (src= MN-HoA, dst= CN) 2251 : Payload 2252 : 2253 \:/ 2254 MAG's IPsec module 2255 : 2256 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2257 : ESP header in tunnel mode 2258 : IPv4/v6 header (src= MN-HoA, dst= CN) 2259 : Payload 2260 : 2261 : * After the ESP header installation, the payload packet is returned 2262 : to the PMIP module and is encapsulated for the tunnel between MAG 2263 : and LMA. If necessary, the UDP and TLV headers are added to the 2264 : payload packet. 2265 : This requires a Proxy Mobile IPv6 specific IPsec implementation, 2266 : which knows that the packet needs to be passed back to the PMIP 2267 : module, instead of sending it out via normal forwarding 2268 \:/ 2269 MAG 2270 | 2271 | IPv4 header (src=IPv4-Proxy-CoA, dst=IPv4-LMAA) 2272 | UDP header (sport=Z, dport=DSMIPv6) /* If UDP encap nego */ 2273 | TLV Header /* If TLV negotiated */ 2274 | IPv6 header (src=Proxy-CoA, dst=LMAA) 2275 | ESP header in tunnel mode 2276 : IPv4/v6 header (src= MN-HoA, dst= CN) 2277 | Payload 2278 \|/ 2279 LMA (received at DSMIPv6 port) 2280 : 2281 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2282 : ESP header in tunnel mode 2283 : IPv4/v6 header (src= MN-HoA, dst= CN) 2284 : Payload 2285 : 2286 : *In addition, IPv4-Proxy-CoA and the sport (Z) need to 2287 : be passed with the packet to ensure correct processing. 2288 \:/ 2289 LMA's IPsec module 2290 : 2291 : IPv6 header (src=Proxy-CoA, dst=LMAA) 2292 : IPv4/v6 header (src= MN-HoA, dst= CN) 2293 : Payload 2294 : 2295 : *In addition, IPv4-Proxy-CoA and the sport (Z) need to 2296 : be passed with the packet to ensure correct processing. 2297 \:/ 2298 LMA forwarding engine 2300 Figure 17: IPsec Protected Payload Packet 2302 5. Protocol Configuration Variables 2304 5.1. Local Mobility Anchor - Configuration Variables 2306 The local mobility anchor MUST allow the following variables to be 2307 configured by the system management. The configured values for these 2308 protocol variables MUST survive server reboots and service restarts. 2310 AcceptForcedIPv4UDPEncapsulationRequest 2312 This flag indicates whether or not the local mobility anchor 2313 should accept IPv4 UDP encapsulation request for the mobile node's 2314 data traffic, even if there is no NAT detected in the path. 2316 The default value for this flag is set to (0), indicating that the 2317 local mobility anchor MUST NOT accept IPv4 UDP encapsulation 2318 request when NAT is not detected in the path. 2320 When the value for this flag is set to (1), the local mobility 2321 anchor MUST accept IPv4 UDP encapsulation request even when NAT is 2322 not detected in the path. 2324 5.2. Mobile Access Gateway - Configuration Variables 2326 The mobile access gateway MUST allow the following variables to be 2327 configured by the system management. The configured values for these 2328 protocol variables MUST survive server reboots and service restarts. 2330 UseIPv4UDPEncapForSignalingMessages 2332 This flag indicates whether or not the mobile access gateway 2333 should use IPv4-UDP encapsulation mode for the signaling messages. 2335 The default value for this flag is set to (0), indicating that the 2336 mobile access gateway MUST NOT use IPv4-UDP encapsulation mode, 2337 but MUST use native IPv4 encapsulation mode for sending the Proxy 2338 Mobile IPv6 signaling messages. 2340 When the value for this flag is set to (1), the mobile access 2341 gateway MUST use IPv4-UDP encapsulation mode for sending the Proxy 2342 Mobile IPv6 signaling messages. 2344 ForceIPv4UDPEncapsulationSupport 2345 This flag indicates whether or not the mobile access gateway 2346 should request the mobile node's local mobility anchor for forcing 2347 IPv4 UDP encapsulation support for the mobile node's data traffic, 2348 even when NAT is not detected in the path. 2350 The default value for this flag is set to (0), indicating that the 2351 mobile access gateway MUST NOT request the mobile node's local 2352 mobility anchor for forcing IPv4 UDP encapsulation support even 2353 when NAT is not detected in path. 2355 When the value for this flag is set to (1), the mobile access 2356 gateway MUST force the mobile node's local mobility anchor for 2357 IPv4 UDP encapsulation support. 2359 This flag is applicable only when the flag 2360 UseIPv4UDPEncapForSignalingMessages is set to a value of (1). 2362 6. IANA Considerations 2364 This document defines four new Mobility Header options, IPv4 Home 2365 Address Request option, IPv4 Home Address Reply option, IPv4 Default 2366 Router Address option and IPv4 DHCP Support Mode option. These 2367 options are described in Sections 3.3.1, 3.3.2, 3.3.3 and 3.3.4 2368 respectively. The Type value for these options needs to be assigned 2369 from the same number space as allocated for the other mobility 2370 options, as defined in [RFC-3775]. 2372 The IPv4 Home Address Reply option, described in Section 3.3.2 of 2373 this document, introduces a new number space, IPv4 Home Address Reply 2374 Status Codes. This document currently reserves the following values. 2375 Approval of any new status code values are to be made through IANA 2376 Expert Review. 2378 o 0 Success 2380 o 128 Failure, reason unspecified 2382 o 129 Administratively prohibited 2384 o 130 Incorrect IPv4 home address 2386 o 131 Invalid IPv4 address 2388 o 132 Dynamic IPv4 home address assignment not available 2390 The IPv4 DHCP Support Mode option, described in Section 3.3.4 of this 2391 document, introduces a new number space, IPv4 DHCP Support Mode 2392 Flags. This document reserves the value 0x1 for the (S) flag. 2393 Approval of this flag values are to be made through IANA Expert 2394 Review. 2396 This document also defines new status values, used in Proxy Binding 2397 Acknowledgement message, as described in Section 3.3.5. These values 2398 are to be assigned from the same number space as allocated for other 2399 Status codes [RFC-3775]. Each of these allocated values have to be 2400 greater than 128. 2402 NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE: IANA 2404 Mobile node not authorized for IPv4 mobility service. 2406 NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS: IANA 2408 Mobile node not authorized for the requesting IPv4 home address 2410 NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE: IANA 2412 Mobile node not authorized for IPv6 mobility service. 2414 MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED 2416 Multiple IPv4 home address assignment not supported 2418 7. Security Considerations 2420 All the security considerations from the base Proxy Mobile IPv6 [RFC- 2421 5213], Mobile IPv6 [RFC-3775], and Dual-Stack Mobile IPv6 [RFC-5555] 2422 apply when using the extensions defined in this document. 2423 Additionally, the following security considerations need to be 2424 applied. 2426 This document defines new mobility options for supporting the IPv4 2427 Home Address assignment and IPv4 Transport Support features. These 2428 options are to be carried in Proxy Binding Update and Proxy Binding 2429 Acknowledgement messages. The required security mechanisms specified 2430 in the base Proxy Mobile IPv6 protocol for protecting these signaling 2431 messages are sufficient when carrying these mobility options. 2433 This specification describes the use of IPv4 transport for exchanging 2434 the signaling messages between the local mobility anchor and the 2435 mobile access gateway. These signaling messages are fundamentally 2436 IPv6 messages, but encapsulated in an IPv4 header and routed as IPv4 2437 packets. The encapsulated inner IPv6 message is still protected 2438 using IPsec, using the established security association and this 2439 offers the same level of security as when the messages are routed 2440 natively as IPv6 packets. The use of outer IPv4 header does not 2441 introduce any new security vulnerabilities. 2443 8. Contributors 2445 This document reflects discussions and contributions from several 2446 people (in alphabetical order): 2448 Kuntal Chowdhury 2450 kchowdhury@starentnetworks.com 2452 Vijay Devarapalli 2454 vijay.devarapalli@azairenet.com 2456 Sangjin Jeong 2458 sjjeong@etri.re.kr 2460 Basavaraj Patil 2462 basavaraj.patil@nsn.com 2464 Myungki Shin 2466 myungki.shin@gmail.com 2468 9. Acknowledgments 2470 The IPv4 support for Proxy Mobile IPv6 was initially covered in the 2471 internet-draft [draft-sgundave-mip6-proxymip6-02.txt]. We would like 2472 to thank all the authors of the document and acknowledge that initial 2473 work. 2475 Thanks to Alper Yegin, Behcet Sarikaya, Bernard Aboba, Charles 2476 Perkins, Damic Damjan, Jari Arkko, Joel Hortelius, Jonne Soinnen, 2477 Julien Laganier, Mohana Jeyatharan, Niklas Nuemann, Pasi Eronen, 2478 Premec Domagoj, Ralph Droms, Sammy Touati, Vidya Narayanan, Yingzhe 2479 Wu and Zu Qiang for their helpful review of this document. 2481 Also, we would like to thank Spencer Dawkins, Tim Polk and Menachem 2482 Dodge and Adrian Farrel for their reviews of this document as part of 2483 the IESG review process. 2485 10. References 2486 10.1. Normative References 2488 [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate 2489 Requirement Levels", BCP 14, RFC 2119, March 1997. 2491 [RFC-2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 2492 2131, March 1997. 2494 [RFC-3775] Johnson, D., Perkins, C., Arkko, J., "Mobility Support in 2495 IPv6", RFC 3775, June 2004. 2497 [RFC-4193] Hinden, R. and Haberman, B., "Unique Local IPv6 Unicast 2498 Addresses", RFC-4193, October 2005. 2500 [RFC-4291] Hinden, R. and Deering, S., "IP Version 6 Addressing 2501 Architecture", RFC-4291, February 2006. 2503 [RFC-5213] Gundavelli, S., et.al, "Proxy Mobile IPv6", RFC 5213, 2504 November 2007. 2506 [RFC-5555] Soliman, H. et al, "Mobile IPv6 support for dual stack 2507 Hosts and Routers (DSMIPv6)", RFC-5555, June 2009. 2509 10.2. Informative References 2511 [RFC-925] Postel, J., "Multi-LAN Address Resolution", RFC 925, 2512 October 1984. 2514 [RFC-1332] G. McGregor, "The PPP Internet Protocol Control Protocol 2515 (IPCP)", RFC 1332, May 1992. 2517 [RFC-1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G., 2518 and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 2519 1918, February 1996. 2521 [RFC-2132] Alexander, S. & Droms, R., "DHCP Options and BOOTP Vendor 2522 Extensions", RFC 2132, March 1997. 2524 [RFC-2473] Conta, A. and S. Deering, "Generic Packet Tunneling in 2525 IPv6 Specification", RFC 2473, December 1998. 2527 [RFC-3022] Srisuresh, P. and K. Egevang, "Traditional IP Network 2528 Address Translator (Traditional NAT)", RFC 3022, January 2001. 2530 [RFC-3046] M. Patrick, "DHCP Relay Agent Information Option", January 2531 2001. 2533 [RFC-3587] Hinden, R., Deering, S., and E. Nordmark, "IPv6 Global 2534 Unicast Address Format", RFC 3587, August 2003. 2536 [RFC-4213] E. Nordmark and R. Gilligan, "Basic Transition Mechanisms 2537 for IPv6 Hosts and Routers", RFC 4213, October 2005. 2539 [RFC-4301] Kent, S. and K. Seo, "Security Architecture for the 2540 Internet Protocol", RFC 4301, December 2005. 2542 [RFC-4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 2543 4306, December 2005. 2545 [RFC-4436] Aboba, B., Carlson, J. and S.Cheshire, "Detecting Network 2546 Attachment in IPv4", RFC 4436, March 2006. 2548 [RFC-4977] Tsirtsis, G., Soliman, H., "Problem Statement: Dual Stack 2549 Mobility", RFC 4977, August 2007. 2551 [RFC-5107] R. Johnson and J. Jumarasamy and K. Kinnear and M. Stapp, 2552 "DHCP Server Identifier Override Suboption", RFC 5107, February 2008. 2554 [ID-GREKEY-NEGO] Muhanna, A., Khalil, M., Gundavelli, S., Leung, K., 2555 "GRE Key Option for Proxy Mobile IPv6", 2556 draft-ietf-netlmm-grekey-option-09.txt, May 2009. 2558 Authors' Addresses 2560 Ryuji Wakikawa 2561 TOYOTA InfoTechnology Center, U.S.A., Inc. 2562 465 Bernardo Avenue 2563 Mountain View, CA 94043 2564 USA 2566 Email: ryuji@us.toyota-itc.com 2568 Sri Gundavelli 2569 Cisco 2570 170 West Tasman Drive 2571 San Jose, CA 95134 2572 USA 2574 Email: sgundave@cisco.com