idnits 2.17.1 draft-ietf-dime-4over6-provisioning-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. 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 2 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 date (August 6, 2015) is 3186 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-18) exists of draft-ietf-softwire-dslite-multicast-09 == Outdated reference: A later version (-15) exists of draft-ietf-softwire-multicast-prefix-option-08 -- Obsolete informational reference (is this intentional?): RFC 3315 (Obsoleted by RFC 8415) Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force C. Zhou 3 Internet-Draft Huawei Technologies 4 Intended status: Standards Track T. Taylor 5 Expires: February 7, 2016 PT Taylor Consulting 6 Q. Sun 7 China Telecom 8 M. Boucadair 9 France Telecom 10 August 6, 2015 12 Attribute-Value Pairs For Provisioning Customer Equipment Supporting 13 IPv4-Over-IPv6 Transitional Solutions 14 draft-ietf-dime-4over6-provisioning-05 16 Abstract 18 During the transition from IPv4 to IPv6, customer equipment may have 19 to support one of the various transition methods that have been 20 defined for carrying IPv4 packets over IPv6. This document 21 enumerates the information that needs to be provisioned on a customer 22 edge router to support a list of transition techniques based on 23 tunneling IPv4 in IPv6, with a view to defining reusable components 24 for a reasonable transition path between these techniques. To the 25 extent that the provisioning is done dynamically, AAA support is 26 needed to provide the information to the network server responsible 27 for passing the information to the customer equipment. This document 28 specifies Diameter (RFC 6733) attribute-value pairs to be used for 29 that purpose. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on February 7, 2016. 48 Copyright Notice 50 Copyright (c) 2015 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 66 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 67 2. Description of the Parameters Required By Each Transition 68 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 69 2.1. Parameters For Dual-Stack Lite (DS-Lite) . . . . . . . . 5 70 2.2. Lightweight 4over6 (lw4o6) . . . . . . . . . . . . . . . 5 71 2.3. Port Set Specification . . . . . . . . . . . . . . . . . 6 72 2.4. Mapping of Address and Port with Encapsulation (MAP-E) . 6 73 2.5. Parameters For Multicast . . . . . . . . . . . . . . . . 7 74 2.6. Summary and Discussion . . . . . . . . . . . . . . . . . 8 75 3. Attribute-Value Pair Definitions . . . . . . . . . . . . . . 8 76 3.1. IP-Prefix-Length AVP . . . . . . . . . . . . . . . . . . 8 77 3.2. Border-Router-Name AVP . . . . . . . . . . . . . . . . . 9 78 3.3. 64-Multicast-Attributes AVP . . . . . . . . . . . . . . . 9 79 3.3.1. ASM-mPrefix64 AVP . . . . . . . . . . . . . . . . . . 9 80 3.3.2. SSM-mPrefix64 AVP . . . . . . . . . . . . . . . . . . 10 81 3.3.3. Delegated-IPv6-Prefix AVP As uPrefix64 . . . . . . . 10 82 3.4. Tunnel-Source-Pref-Or-Addr AVP . . . . . . . . . . . . . 10 83 3.4.1. Delegated-IPv6-Prefix As the IPv6 Binding Prefix . . 11 84 3.4.2. Tunnel-Source-IPv6-Address AVP . . . . . . . . . . . 11 85 3.5. Port-Set-Identifier . . . . . . . . . . . . . . . . . . . 11 86 3.6. Lw4o6-Binding AVP . . . . . . . . . . . . . . . . . . . . 12 87 3.6.1. Lw4o6-External-IPv4-Addr AVP . . . . . . . . . . . . 12 88 3.7. MAP-E-Attributes . . . . . . . . . . . . . . . . . . . . 13 89 3.8. MAP-Mesh-Mode . . . . . . . . . . . . . . . . . . . . . . 14 90 3.9. MAP-Mapping-Rule . . . . . . . . . . . . . . . . . . . . 14 91 3.9.1. Rule-IPv4-Addr-Or-Prefix AVP . . . . . . . . . . . . 14 92 3.9.2. Rule-IPv6-Prefix AVP . . . . . . . . . . . . . . . . 15 93 3.9.3. EA-Field-Length AVP . . . . . . . . . . . . . . . . . 16 94 4. Attribute Value Pair Flag Rules . . . . . . . . . . . . . . . 16 95 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 96 6. Security Considerations . . . . . . . . . . . . . . . . . . . 18 97 6.1. Man-In-The-Middle (MITM) Attacks . . . . . . . . . . . . 18 98 6.2. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 19 99 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 100 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 101 8.1. Normative References . . . . . . . . . . . . . . . . . . 19 102 8.2. Informative References . . . . . . . . . . . . . . . . . 20 103 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 105 1. Introduction 107 A number of transition techniques have been defined to allow IPv4 108 packets to pass between hosts and IPv4 networks over an intervening 109 IPv6 network while minimizing the number of public IPv4 addresses 110 that need to be consumed by the hosts. Different operators will 111 deploy different technologies, and sometimes one operator will use 112 more than one technology, depending on what is supported by the 113 available equipment and upon other factors both technical and 114 economic. 116 Each technique requires the provisioning of some subscriber-specific 117 information on the customer edge device. The provisioning may be by 118 DHCPv6 [RFC3315] or by some other method. This document is 119 indifferent to the specific provisioning technique used, but assumes 120 a deployment in which that information is managed by AAA 121 (Authentication, Authorization, and Accounting) servers. It further 122 assumes that this information is delivered to intermediate network 123 nodes for onward provisioning using the Diameter protocol [RFC6733]. 125 As described below, in the particular case where the Lightweight 126 4over6 (lw4o6) [RFC7596] transition method has been deployed, per- 127 subscriber-site information almost identical to that passed to the 128 subscriber site [RFC7598] also needs to be delivered to the border 129 router serving that site. The Diameter protocol may be used for this 130 purpose too. 132 This document analyzes the information required to configure the 133 customer edge equipment for the following set of transition methods: 135 o Dual-Stack Lite (DS-Lite) [RFC6333], 137 o Lightweight 4over6 (lw4o6) [RFC7596], and 139 o Mapping of Address and Port with Encapsulation (MAP-E) [RFC7597]. 141 [I-D.ietf-softwire-dslite-multicast] specifies a generic solution for 142 delivery of IPv4 multicast services to IPv4 clients over an IPv6 143 multicast network. The solution was developed with DS-Lite in mind 144 but it is however not limited to DS-Lite. As such, it applies also 145 for lw4o6 and MAP-E. This document analyzes the information required 146 to configure the customer edge equipment for the support of multicast 147 in the context of DS-Lite, MAP-E, and Lightweight 4over6 in 148 particular. 150 On the basis of those analyses it specifies a number of attribute- 151 value pairs (AVPs) to allow the necessary subscriber-site-specific 152 configuration information to be carried in Diameter. 154 This document doesn't specify any new commands or Application-Ids. 155 The specified AVPs could be used for any Diameter application 156 suitable for provisioning. 158 1.1. Requirements Language 160 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 161 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 162 document are to be interpreted as described in [RFC2119]. 164 The abbreviation "CE" denotes the equipment at the customer edge that 165 terminates the customer end of an IPv6 transitional tunnel. This 166 will usually be a router, but could be a host directly connected to 167 the network. 169 The term "tunnel source address" is used to denote the IPv6 source 170 address used in the outer header of packets sent from the CE through 171 an lw4o6 transitional tunnel to the border router. 173 2. Description of the Parameters Required By Each Transition Method 175 This section reviews the parameters that need to be provisioned for 176 each of the transition methods listed above. This enumeration 177 provides the justification for the AVPs defined in the next section. 179 A means is required to indicate which transition method(s) a given 180 subscriber wants to use. The approach taken in this document is to 181 specify Grouped AVPs specific to lw4o6 and MAP-E. The operator can 182 control which of these two transition methods a given subscriber uses 183 by ensuring that AAA passes only the Grouped AVP relevant to that 184 method. A Grouped AVP is unnecessary for Dual-Stack Lite, since AAA 185 has only to provide the Fully Qualified Domain Name (FQDN) of the DS- 186 Lite Address Family Transition Router (AFTR) (see Section 2.1). 187 Hence when no Grouped AVP is provided either for lw4o6 or MAP-E and 188 only the AFTR's FQDN is present, this indicates that the subscriber 189 equipment will use the Dual-Stack Lite transition method. 190 Provisioning of multicast is an orthogonal activity, since it is 191 independent of the transition method. 193 2.1. Parameters For Dual-Stack Lite (DS-Lite) 195 DS-Lite is documented in [RFC6333]. The Basic Bridging BroadBand 196 (B4) element at the customer premises needs to discover the IPv6 197 address of the AFTR (border router). For the reasons discussed in 198 Section 3.2, the AAA server provisions the B4 element with the AFTR's 199 Fully Qualified Domain Name (FQDN) that is passed to a B4's IP 200 resolution library. The AFTR's FQDN is contained in the Border- 201 Router-Name AVP (see Section 3.2). 203 The B4 element could also be configured with the IPv4 address of the 204 B4 interface facing the tunnel, with valid values from 192.0.0.2 to 205 192.0.0.7 and the default value of 192.0.0.2 in the absence of 206 provisioning. Provisioning such information through AAA is 207 problematic because it is most likely used in a case where multiple 208 B4 instances occupy the same device. This document therefore assumes 209 that the B4 interface address is determined by other means than AAA 210 (implementation-dependent or static assignment). 212 2.2. Lightweight 4over6 (lw4o6) 214 Lightweight 4over6 (lw4o6) is documented in [RFC7596]. Lw4o6 215 requires four items to be provisioned to the customer equipment: 217 o IPv6 address of the border router. 219 o IPv6 prefix used by the CE to construct the tunnel source address. 220 In the terminology of [RFC7596], this is the IPv6 Binding Prefix. 222 o an IPv4 address to be used on the external side of the CE; and 224 o if the IPv4 address is shared, a specification of the port set the 225 subscriber site is allowed to use. Please see the description in 226 Section 2.3. For lw4o6, all three of the parameters 'a', 'k', and 227 PSID described in that section are required. The default value of 228 the offset parameter 'a' is 0. 230 As discussed in Section 4 of [RFC7596], it is necessary to 231 synchronize this configuration with corresponding per-subscriber 232 configuration at the border router. The border router information 233 consists of the same public IPv4 address and port set parameters that 234 are passed to the CE, bound together with the full /128 IPv6 address 235 (not just the Binding Prefix) configured as the tunnel source address 236 at the CE. 238 2.3. Port Set Specification 240 When an external IPv4 address is shared, lw4o6 and MAP-E restrict the 241 CE to use of a subset of all available ports on the external side. 242 Both transition methods use the algorithm defined in Appendix B of 243 [RFC7597] to derive the values of the port numbers in the port set. 244 This algorithm features three parameters, describing the positioning 245 and value of the Port Set Identifier (PSID) within each port number 246 of the generated set: 248 o an offset 'a' from the beginning of the port number to the first 249 bit of the PSID; 251 o the length 'k' of the PSID within the port number, in bits; and 253 o the value of the PSID itself. 255 2.4. Mapping of Address and Port with Encapsulation (MAP-E) 257 Mapping of Address and Port with Encapsulation (MAP-E) is described 258 in [RFC7597]. MAP-E requires the provisioning of the following per- 259 subscriber information at the customer edge device: 261 o the IPv6 address of one or more border routers, or in MAP-E 262 terminology, MAP-E border relays. 264 o the unique End-user IPv6 prefix for the customer edge device. 265 This may be provided by AAA or acquired by other means. 267 o the Basic Mapping Rule for the customer edge device. This 268 includes the following parameters: 270 * the rule IPv6 prefix and length; 272 * the rule IPv4 prefix and length. A prefix length of 0 273 indicates that the entire IPv4 address or prefix is coded in 274 the Extended Address (EA) bits of the End-user IPv6 prefix 275 rather than in the mapping rule. 277 * the number of EA bits included in the End-user IPv6 prefix; 279 * port set parameters giving the set of ports the CE is allowed 280 to use when the IPv4 address is shared. Please see the 281 description of these parameters in Section 2.3. At a minimum, 282 the offset parameter 'a' is required. For MAP-E this has the 283 default value 6. The parameters 'k' and PSID are needed if 284 they cannot be derived from the mapping rule information and 285 the EA bits (final case of Section 5.2 of [RFC7597]). 287 o whether the device is to operate in mesh or hub-and-spoke mode; 289 o in mesh mode only, zero or more Forwarding Mapping Rules, 290 described by the same set of parameters as the Basic Mapping Rule; 292 As indicated in Section 5, bullet 1 of [RFC7597], a MAP CE can be 293 provisioned with multiple End-user IPv6 prefixes, each associated 294 with its own Basic Mapping Rule. This does not change the basic 295 requirement for representation of the corresponding information in 296 the form of Diameter AVPs, but adds a potential requirement for 297 multiple instances of this information to be present in the Diameter 298 message, differing in the value of the End-user IPv6 prefix (in 299 contrast to the Forward Mapping Rule instances). 301 The border router needs to be configured with the superset of the 302 Mapping Rules passed to the customer sites it serves. Since this 303 requirement does not require direct coordination with CE 304 configuration in the way lw4o6 does, it is out of scope of the 305 present document. However, the AVPs defined here may be useful if a 306 separate Diameter application is used to configure the border router. 308 2.5. Parameters For Multicast 310 [I-D.ietf-softwire-dslite-multicast] specifies a generic solution for 311 delivery of IPv4 multicast services to IPv4 clients over an IPv6 312 multicast network. The solution can be in particular deployed in a 313 DS-Lite context, but is also adaptable to lw4o6 and MAP-E. For 314 example, [I-D.ietf-softwire-multicast-prefix-option] specifies how 315 DHCPv6 [RFC3315] can be used to provision multicast-related 316 information. The following lists the multicast-related information 317 that needs to be provisioned: 319 o ASM-mPrefix64: the IPv6 multicast prefix to be used to synthesize 320 the IPv4-embedded IPv6 addresses of the multicast groups in the 321 Any-Source Multicast (ASM) mode. This is achieved by 322 concatenating the ASM-mPrefix64 and a IPv4 multicast address; the 323 IPv4 multicast address is inserted in the last 32 bits of the 324 IPv4-embedded IPv6 multicast address. 326 o SSM-mPrefix64: the IPv6 multicast prefix to be used to synthesize 327 the IPv4-embedded IPv6 addresses of the multicast groups in the 328 Source-Specific Multicast (SSM, [RFC4607]) mode. This is achieved 329 by concatenating the SSM-mPrefix64 and a IPv4 multicast address; 330 the IPv4 multicast address is inserted in the last 32 bits of the 331 IPv4-embedded IPv6 multicast address. 333 o uPrefix64: the IPv6 unicast prefix to be used in SSM mode for 334 constructing the IPv4-embedded IPv6 addresses representing the 335 IPv4 multicast sources in the IPv6 domain. uPrefix64 may also be 336 used to extract the IPv4 address from the received multicast data 337 flows. The address mapping follows the guidelines documented in 338 [RFC6052]. 340 2.6. Summary and Discussion 342 There are two items that are common to the different transition 343 methods, and the corresponding AVPs to carry them can be reused: 345 o a representation of the IPv6 address of a border router; 347 o A set of prefixes for delivery of multicast services to IPv4 348 clients over an IPv6 multicast network. 350 [RFC6519] sets a precedent for representation of the IPv6 address of 351 a border router as an FQDN. This can be dereferenced to one or more 352 IP addresses by the provisioning system before being passed to the 353 customer equipment, or left as an FQDN as it is in [RFC6334]. 355 The remaining requirements are transition-method-specific: 357 o for lw4o6, a representation of a binding between (1) either the 358 IPv6 Binding Prefix or a full /128 IPv6 address, (2) a public IPv4 359 address, and (3) (if the IPv4 address is shared) a port set 360 identifier; 362 o for MAP-E, a representation of the unique End-user IPv6 prefix for 363 the CE, if not provided by other means; 365 o for MAP-E, a representation of a Mapping Rule; 367 o for MAP-E, an indication of whether mesh mode or hub-and-spoke 368 mode is to be used. 370 3. Attribute-Value Pair Definitions 372 This section provides the specifications for the AVPs needed to meet 373 the requirements summarized in Section 2.6. 375 3.1. IP-Prefix-Length AVP 377 The IP-Prefix-Length AVP (AVP code TBD00) is of type Unsigned32. It 378 provides the length of an IPv4 or IPv6 prefix. Valid values are from 379 0 to 32 for IPv4, and from 0 to 128 for IPv6. Tighter limits are 380 given below for particular contexts of use of this AVP. 382 NOTE: The IP-Prefix-Length AVP is only relevant when associated 383 with an IP-Address AVP in a Grouped AVP. 385 3.2. Border-Router-Name AVP 387 Following on the precedent set by [RFC6334] and [RFC6519], this 388 document identifies a border router using an FQDN rather than an 389 address. The Border-Router-Name AVP (AVP Code TBD01) is of type 390 OctetString. The FQDN encoding MUST follow the Name Syntax defined 391 in [RFC1035][RFC1123][RFC2181] and are represented in ASCII form. 393 3.3. 64-Multicast-Attributes AVP 395 The 64-Multicast-Attributes AVP (AVP Code TBD02) is of type Grouped. 396 It contains the multicast-related IPv6 prefixes needed for providing 397 IPv4 multicast over IPv6 using DS-Lite, MAP-E, or lw4o6, as mentioned 398 in Section 2.5. 400 The syntax is shown in Figure 1. 402 64-Multicast-Attributes ::= < AVP Header: TBD02 > 403 [ ASM-mPrefix64 ] 404 [ SSM-mPrefix64 ] 405 [ Delegated-IPv6-Prefix ] 406 *[ AVP ] 408 Figure 1: 64-Multicast-Attributes AVP 410 64-Multicast-Attributes AVP MUST include the ASM-mPrefix64 AVP or the 411 SSM-mPrefix64 AVP, and it MAY include both. 413 The Delegated-IPv6-Prefix AVP MUST be present when the SSM-mPrefix64 414 AVP is present. The Delegated-IPv6-Prefix AVP MAY be present when 415 the ASM-mPrefix64 AVP is present. 417 3.3.1. ASM-mPrefix64 AVP 419 The ASM-mPrefix64 AVP (AVP Code TBD03) conveys the value of ASM- 420 mPrefix64 as mentioned in Section 2.5. The ASM-mPrefix64 AVP is of 421 type Grouped, as shown in Figure 2. 423 ASM-mPrefix64 ::= < AVP Header: TBD03 > 424 { IP-Address } 425 { IP-Prefix-Length } 426 *[ AVP ] 428 Figure 2: ASM-mPrefix64 AVP 430 IP-Address (AVP code 518) is defined in [RFC5777] and is of type 431 Address. Within the ASM-mPrefix64 AVP, it provides the value of an 432 IPv6 prefix. The AddressType field in IP-Address MUST have value 2 433 (IPv6). The conveyed multicast IPv6 prefix MUST belong to the ASM 434 range. Unused bits in IP-Address beyond the actual prefix MUST be 435 set to zeroes by the sender and ignored by the receiver. 437 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 438 of the prefix contained in the IP-Address AVP. Within the ASM- 439 mPrefix64 AVP, valid values of the IP-Prefix-Length AVP are from 24 440 to 96. 442 3.3.2. SSM-mPrefix64 AVP 444 The SSM-mPrefix64 AVP (AVP Code TBD04) conveys the value of SSM- 445 mPrefix64 as mentioned in Section 2.5. The SSM-mPrefix64 AVP is of 446 type Grouped, as shown in Figure 3. 448 SSM-mPrefix64 ::= < AVP Header: TBD04 > 449 { IP-Address } 450 { IP-Prefix-Length } 451 *[ AVP ] 453 Figure 3: SSM-mPrefix64 AVP 455 IP-Address (AVP code 518) provides the value of an IPv6 prefix. The 456 AddressType field in IP-Address MUST have value 2 (IPv6). The 457 conveyed multicast IPv6 prefix MUST belong to the SSM range. Unused 458 bits in IP-Address beyond the actual prefix MUST be set to zeroes by 459 the sender and ignored by the receiver. 461 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 462 of the prefix contained in the IP-Address AVP. 464 3.3.3. Delegated-IPv6-Prefix AVP As uPrefix64 466 Within the 64-Multicast-Attributes AVP, the Delegated-IPv6-Prefix AVP 467 (AVP Code 123) conveys the value of uPrefix64, a unicast IPv6 prefix, 468 as mentioned in Section 2.5. The Delegated-IPv6-Prefix AVP is 469 defined in [RFC4818]. As specified by [RFC6052], the value in the 470 Prefix-Length field MUST be one of 32, 48, 56, 64 or 96. 472 3.4. Tunnel-Source-Pref-Or-Addr AVP 474 The Tunnel-Source-Pref-Or-Addr AVP (AVP Code TBD05) conveys either 475 the IPv6 Binding Prefix or the tunnel source address on the CE, as 476 described in Section 2.2. The Tunnel-Source-Pref-Or-Addr AVP is of 477 type Grouped, with syntax as shown in Figure 4. The Tunnel-Source- 478 Pref-Or-Addr AVP MUST contain either the Delegated-IPv6-Prefix AVP or 479 the Tunnel-Source-IPv6-Address AVP, not both. 481 Tunnel-Source-Pref-Or-Addr ::= < AVP Header: TBD05 > 482 [ Delegated-IPv6-Prefix ] 483 [ Tunnel-Source-IPv6-Address ] 484 *[ AVP ] 486 Figure 4: Tunnel-Source-Pref-Or-Addr AVP 488 This AVP is defined separately from the lw4o6-Binding AVP (which 489 includes it) to provide flexibility in the transport of the tunnel 490 source address from the provisioning system to AAA while also 491 supporting the provision of a complete binding to the lw4o6 border 492 router. 494 3.4.1. Delegated-IPv6-Prefix As the IPv6 Binding Prefix 496 The Delegated-IPv6-Prefix AVP (AVP code 123) is of type Octetstring, 497 and is defined in [RFC4818]. Within the Tunnel-Source-Pref-Or-Addr 498 AVP, it conveys the IPv6 Binding Prefix assigned to the CE. Valid 499 values in the Prefix-Length field are from 0 to 128 (full address). 501 3.4.2. Tunnel-Source-IPv6-Address AVP 503 The Tunnel-Source-IPv6-Address AVP (AVP code TBD06) is of type 504 Address. It provides the address that the CE has assigned to its end 505 of an lw4o6 tunnel. The AddressType field in this AVP MUST be set to 506 2 (IPv6). 508 3.5. Port-Set-Identifier 510 The Port-Set-Identifier AVP (AVP Code TBD07) is a structured 511 OctetString with four octets of data, hence a total AVP length of 12. 512 The description of the structure which follows refers to refers to 513 the parameters described in Section 2.3 (see Figure 5). 515 o The first (high-order) octet is the Offset field. It is 516 interpreted as an 8-bit unsigned integer giving the offset 'a' 517 from the beginning of a port number to the beginning of the port 518 set identifier (PSID) to which that port belongs. Valid values 519 are from 0 to 15. 521 o The next octet, the PSIDLength, is also interpreted as an 8-bit 522 unsigned integer and gives the length 'k' in bits of the port set 523 identifier (PSID). Valid values are from 0 to (16 - a). A value 524 of 0 indicates that the PSID is not present (probable case for 525 MAP-E, see Section 2.4), and the PSIDValue field MUST be ignored. 527 o The final two octets contain the PSIDValue field. They give the 528 value of the PSID itself, right-justified within the field. That 529 is, the value of the PSID occupies the 'k' lowest-order bits of 530 the PSIDValue field. 532 0 1 2 3 533 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 2 534 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 535 | Offset | Length | PSID Value | 536 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 538 Figure 5: Port Set 540 3.6. Lw4o6-Binding AVP 542 The Lw4o6-Binding AVP (AVP Code TBD08) is of type Grouped. It 543 contains the elements of configuration that constitute the binding 544 between an lw4o6 tunnel and IPv4 packets sent through that tunnel, as 545 described in Section 2.2. 547 Lw4o6-Binding ::= < AVP Header: TBD08 > 548 { Tunnel-Source-Pref-Or-Addr } 549 { Lw4o6-External-IPv4-Addr } 550 [ Port-Set-Identifier ] 551 *[ AVP ] 553 Figure 6: Lw4o6-Binding AVP 555 The Tunnel-Source-Pref-Or-Addr AVP is defined in Section 3.4 and 556 provides either the Binding Prefix or the full IPv6 tunnel source 557 address. 559 The Lw4o6-External-IPv4-Addr AVP is defined in Section 3.6.1. 561 The Port-Set-Identifier AVP is defined in Section 3.5. It identifies 562 the specific set of ports assigned to the lw4o6 tunnel, when the IPv4 563 address is being shared. 565 3.6.1. Lw4o6-External-IPv4-Addr AVP 567 The Lw4o6-External-IPv4-Addr AVP (AVP Code TBD09) uses the Address 568 derived data format defined in Section 4.3.1 of [RFC6733]. It 569 provides the CE's external IPv4 address within the lw4o6 tunnel 570 associated with the given binding. The AddressType field MUST be set 571 to 1 (IPv4), and the total length of the AVP MUST be 14 octets. 573 3.7. MAP-E-Attributes 575 The MAP-E-Attributes AVP (AVP Code TBD10) is of type Grouped. It 576 contains the configuration data identified in Section 2.4 for all of 577 the mapping rules (Basic and Forwarding) in a single MAP domain. 578 Multiple instances of this AVP will be present if the CE belongs to 579 multiple MAP domains. 581 MAP-E-Attributes ::= < AVP Header: TBD06 > 582 1*{ Border-Router-Name } 583 1*{ MAP-Mapping-Rule } 584 [ MAP-Mesh-Mode ] 585 [ Delegated-IPv6-Prefix ] 586 *[ AVP ] 588 Figure 7: MAP-E-Attributes AVP 590 The Border-Router-Name AVP is defined in Section 3.2. It provides 591 the FQDN of a MAP border relay at the edge of the MAP domain to which 592 the containing MAP-E-Attributes AVP relates. At least one instance 593 of this AVP MUST be present. 595 The MAP-Mapping-Rule AVP is defined in Section 3.9. At least one 596 instance of this AVP MUST be present. If the MAP-E domain supports 597 mesh mode (indicated by the presence of the MAP-Mesh-Mode AVP), 598 additional MAP-Mapping-Rule instances MAY be present. If the MAP-E 599 domain is operating in hub-and-spoke mode, additional MAP-Mapping- 600 Rule instances MUST NOT be present. 602 The MAP-Mesh-Mode AVP is defined in Section 3.8. The absence of the 603 mesh mode indicator attribute indicates that the CE is required to 604 operate in hub-and-spoke mode. 606 The Delegated-IPv6-Prefix AVP (AVP Code 123) provides the End-user 607 IPv6 prefix assigned to the CE for the MAP domain to which the 608 containing MAP-E-Attributes AVP relates. The AVP is defined in 609 [RFC4818]. Valid values of the Prefix-Length field range from 0 to 610 128. 612 The Delegated-IPv6-Prefix AVP is optional because, depending on 613 deployment, the End-user IPv6 prefix may be provided by AAA or by 614 other means. If multiple instances of the MAP-E-Attributes AVP 615 containing the Delegated-IPv6-Prefix AVP are present, each instance 616 of the latter MUST have a different value. 618 3.8. MAP-Mesh-Mode 620 The MAP-Mesh-Mode AVP (AVP Code TBD11) is of type Enumerated and 621 indicates whether the CE has to operate in mesh mode or hub-and-spoke 622 when using MAP-E. The following values are supported: 624 0 MESH 626 1 HUB_AND_SPOKE 628 The absence of the mesh mode indicator attribute indicates that the 629 CE is required to operate in hub-and-spoke mode. 631 3.9. MAP-Mapping-Rule 633 The MAP-Mapping-Rule AVP (AVP Code TBD12) is of type Grouped, and is 634 used only in conjunction with MAP-based transition methods. Mapping 635 rules are required both by the MAP border relay and by the CE. The 636 components of the MAP-Mapping-Rule AVP provide the contents of a 637 mapping rule as described in Section 2.4. 639 The syntax of the MAP-Mapping-Rule AVP is as follows: 641 MAP-Mapping-Rule ::= < AVP Header: TBD12 > 642 { Rule-IPv4-Addr-Or-Prefix } 643 { Rule-IPv6-Prefix } 644 { EA-Field-Length } 645 { Port-Set-Identifier } 646 *[ AVP ] 648 Figure 8: MAP-Mapping-Rule AVP 650 The Rule-IPv4-Addr-Or-Prefix, Rule-IPv6-Prefix, EA-Field-Length, and 651 Port-Set-Identifier AVPs MUST all be present. 653 The Port-Set-Identifier AVP provides information to identify the 654 specific set of ports assigned to the CE. For more information see 655 Section 2.4 and Section 2.3. The Port-Set-Identifier AVP is defined 656 in Section 3.5. 658 3.9.1. Rule-IPv4-Addr-Or-Prefix AVP 660 The Rule-IPv4-Addr-Or-Prefix AVP (AVP Code TBD13) conveys the rule 661 IPv4 prefix and length as described in Section 2.4. The Rule-IPv4- 662 Addr-Or-Prefix AVP is of type Grouped, as shown in Figure 9. 664 Rule-IPv4-Addr-Or-Prefix ::= < AVP Header: TBD13 > 665 { IP-Address } 666 { IP-Prefix-Length } 667 *[ AVP ] 669 Figure 9: Rule-IPv4-Addr-Or-Prefix AVP 671 IP-Address (AVP code 518) is defined in [RFC5777] and is of type 672 Address. Within the Rule-IPv4-Addr-Or-Prefix AVP, it provides the 673 value of a unicast IPv4 address or prefix. The AddressType field in 674 IP-Address MUST have value 1 (IPv4). Unused bits in IP-Address 675 beyond the actual prefix MUST be set to zeroes by the sender and 676 ignored by the receiver. 678 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 679 of the prefix contained in the IP-Address AVP. Within the Rule-IPv4- 680 Addr-Or-Prefix AVP, valid values of the IP-Prefix-Length AVP are from 681 0 to 32 (full address), based on the different cases identified in 682 Section 5.2 of [RFC7597]. 684 3.9.2. Rule-IPv6-Prefix AVP 686 The Rule-IPv6-Prefix AVP (AVP Code TBD14) conveys the rule IPv6 687 prefix and length as described in Section 2.4. The Rule-IPv6-Prefix 688 AVP is of type Grouped, as shown in Figure 10. 690 Rule-IPv6-Prefix ::= < AVP Header: TBD14 > 691 { IP-Address } 692 { IP-Prefix-Length } 693 *[ AVP ] 695 Figure 10: Rule-IPv6-Prefix AVP 697 IP-Address (AVP code 518) is defined in [RFC5777] and is of type 698 Address. Within the Rule-IPv6-Prefix AVP, it provides the value of a 699 unicast IPv6 prefix. The AddressType field in IP- Address MUST have 700 value 2 (IPv6). Unused bits in IP-Address beyond the actual prefix 701 MUST be set to zeroes by the sender and ignored by the receiver. 703 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 704 of the prefix contained in the IP-Address AVP. Within the Rule- 705 IPv6-Prefix AVP, the minimum valid prefix length is 0. The maximum 706 value is bounded by the length of the End-user IPv6 prefix associated 707 with the mapping rule, if present in the form of the Delegated- 708 IPv6-Prefix AVP in the enclosing MAP-E-Attributes AVP. Otherwise the 709 maximum value is 128. 711 3.9.3. EA-Field-Length AVP 713 The EA-Field-Length AVP (AVP Code TBD15) is of type Unsigned32. 714 Valid values range from 0 to 48. See Section 5.2 of [RFC7597] for a 715 description of the use of this parameter in deriving IPv4 address and 716 port number configuration. 718 4. Attribute Value Pair Flag Rules 719 +---------+ 720 |AVP flag | 721 |rules | 722 +----+----+ 723 AVP Section | |MUST| 724 Attribute Name Code Defined Value Type |MUST| NOT| 725 +-------------------------------------------------------+----+----+ 726 |IP-Prefix-Length TBD00 3.1 Unsigned32 | | V | 727 +-------------------------------------------------------+----+----+ 728 |Border-Router-Name TBD01 3.2 OctetString | | V | 729 +-------------------------------------------------------+----+----+ 730 |64-Multicast-Attributes TBD02 3.3 Grouped | | V | 731 +-------------------------------------------------------+----+----+ 732 |ASM-mPrefix64 TBD03 3.3.1 Grouped | | V | 733 +-------------------------------------------------------+----+----+ 734 |SSM-mPrefix64 TBD04 3.3.2 Grouped | | V | 735 +-------------------------------------------------------+----+----+ 736 |Tunnel-Source-Pref-Or-Addr TBD05 3.4 Grouped | | V | 737 +-------------------------------------------------------+----+----+ 738 |Tunnel-Source-IPv6-Address TBD06 3.4.2 Address | | V | 739 +-------------------------------------------------------+----+----+ 740 |Port-Set-Identifier TBD07 3.5 OctetString | | V | 741 +-------------------------------------------------------+----+----+ 742 |Lw4o6-Binding TBD08 3.6 Grouped | | V | 743 +-------------------------------------------------------+----+----+ 744 |Lw4o6-External-IPv4-Addr TBD09 3.6.1 Address | | V | 745 +-------------------------------------------------------+----+----+ 746 |MAP-E-Attributes TBD10 3.7 Grouped | | V | 747 +-------------------------------------------------------+----+----+ 748 |MAP-Mesh-Mode TBD11 3.8 Enumerated | | V | 749 +-------------------------------------------------------+----+----+ 750 |MAP-Mapping-Rule TBD12 3.9 Grouped | | V | 751 +-------------------------------------------------------+----+----+ 752 |Rule-IPv4-Addr-Or-Prefix TBD13 3.9.1 Grouped | | V | 753 +-------------------------------------------------------+----+----+ 754 |Rule-IPv6-Prefix TBD14 3.9.2 Grouped | | V | 755 +-------------------------------------------------------+----+----+ 756 |EA-Field-Length TBD15 3.9.3 Unsigned32 | | V | 757 +-------------------------------------------------------+----+----+ 759 As described in the Diameter base protocol [RFC6733], the M-bit usage 760 for a given AVP in a given command may be defined by the application. 762 5. IANA Considerations 764 This memo requests to IANA to register the following Diameter AVP 765 codes: 767 +-------+----------------------------+---------------+ 768 | Code | Attribute Name | Reference | 769 +-------+----------------------------+---------------+ 770 | TBD00 | IP-Prefix-Length | This document | 771 | TBD01 | Border-Router-Name | This document | 772 | TBD02 | 64-Multicast-Attributes | This document | 773 | TBD03 | ASM-mPrefix64 | This document | 774 | TBD04 | SSM-mPrefix64 | This document | 775 | TBD05 | Tunnel-Source-Pref-Or-Addr | This document | 776 | TBD06 | Tunnel-Source-IPv6-Address | This document | 777 | TBD07 | Port-Set-Identifier | This document | 778 | TBD08 | Lw4o6-Binding | This document | 779 | TBD09 | Lw4o6-External-IPv4-Addr | This document | 780 | TBD10 | MAP-E-Attributes | This document | 781 | TBD11 | MAP-Mesh-Mode | This document | 782 | TBD12 | MAP-Mapping-Rule | This document | 783 | TBD13 | Rule-IPv4-Addr-Or-Prefix | This document | 784 | TBD14 | Rule-IPv6-Prefix | This document | 785 | TBD15 | EA-Field-Length | This document | 786 +-------+----------------------------+---------------+ 788 Table 1 790 6. Security Considerations 792 6.1. Man-In-The-Middle (MITM) Attacks 794 The AVPs defined in this document face two threats, both dependent on 795 man-in-the-middle (MITM) attacks on the Diameter delivery path. The 796 first threat is denial-of-service (DoS) through modification of the 797 AVP contents leading to misconfiguration (e.g., a subscriber may fail 798 to access its connectivity service if an invalid IP address was 799 configured, the subscriber's traffic can be intercepted by a 800 misbehaving node if a fake Border Node has been configured, etc.). 801 The second one is related to privacy (see Section 6.2). 803 Diameter security is currently provided on a hop-by-hop basis (see 804 Section 2.2 of [RFC6733]). The Diameter end-to-end security problem 805 has not been solved, so MITM attacks by Diameter peers along the path 806 are possible. The present document does not propose to solve that 807 general problem, but simply warn that it exists. 809 Diameter-related security considerations are discussed in Section 13 810 of [RFC6733]. 812 6.2. Privacy 814 The AVPs defined in this document reveal privacy-related information 815 (e.g., subscriber addresses) that can be used for tracking proposes. 816 All these AVPs are considered to be security-sensitive. 817 Considerations discussed in Section 13.3 of [RFC6733] MUST be 818 followed for Diameter messages containing these AVPs. 820 7. Acknowledgements 822 Huawei Technologies funded Tom Taylor's work on earlier versions of 823 this document. 825 Special thanks to Lionel Morand for the detailed review. 827 Many thanks to Russ Housley, Tim Chown, Spencer Dawkins, and Ben 828 Campbell for the review and comments. 830 8. References 832 8.1. Normative References 834 [RFC1035] Mockapetris, P., "Domain names - implementation and 835 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 836 November 1987, . 838 [RFC1123] Braden, R., Ed., "Requirements for Internet Hosts - 839 Application and Support", STD 3, RFC 1123, 840 DOI 10.17487/RFC1123, October 1989, 841 . 843 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 844 Requirement Levels", BCP 14, RFC 2119, 845 DOI 10.17487/RFC2119, March 1997, 846 . 848 [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS 849 Specification", RFC 2181, DOI 10.17487/RFC2181, July 1997, 850 . 852 [RFC4818] Salowey, J. and R. Droms, "RADIUS Delegated-IPv6-Prefix 853 Attribute", RFC 4818, DOI 10.17487/RFC4818, April 2007, 854 . 856 [RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., 857 Ed., and A. Lior, "Traffic Classification and Quality of 858 Service (QoS) Attributes for Diameter", RFC 5777, 859 DOI 10.17487/RFC5777, February 2010, 860 . 862 [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- 863 Stack Lite Broadband Deployments Following IPv4 864 Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011, 865 . 867 [RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn, 868 Ed., "Diameter Base Protocol", RFC 6733, 869 DOI 10.17487/RFC6733, October 2012, 870 . 872 [RFC7596] Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I. 873 Farrer, "Lightweight 4over6: An Extension to the Dual- 874 Stack Lite Architecture", RFC 7596, DOI 10.17487/RFC7596, 875 July 2015, . 877 [RFC7597] Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S., 878 Murakami, T., and T. Taylor, Ed., "Mapping of Address and 879 Port with Encapsulation (MAP-E)", RFC 7597, 880 DOI 10.17487/RFC7597, July 2015, 881 . 883 8.2. Informative References 885 [I-D.ietf-softwire-dslite-multicast] 886 Qin, J., Boucadair, M., Jacquenet, C., Lee, Y., and Q. 887 Wang, "Delivery of IPv4 Multicast Services to IPv4 Clients 888 over an IPv6 Multicast Network", draft-ietf-softwire- 889 dslite-multicast-09 (work in progress), March 2015. 891 [I-D.ietf-softwire-multicast-prefix-option] 892 Boucadair, M., Qin, J., Tsou, T., and X. Deng, "DHCPv6 893 Option for IPv4-Embedded Multicast and Unicast IPv6 894 Prefixes", draft-ietf-softwire-multicast-prefix-option-08 895 (work in progress), March 2015. 897 [RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins, 898 C., and M. Carney, "Dynamic Host Configuration Protocol 899 for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July 900 2003, . 902 [RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for 903 IP", RFC 4607, DOI 10.17487/RFC4607, August 2006, 904 . 906 [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. 907 Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, 908 DOI 10.17487/RFC6052, October 2010, 909 . 911 [RFC6334] Hankins, D. and T. Mrugalski, "Dynamic Host Configuration 912 Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite", 913 RFC 6334, DOI 10.17487/RFC6334, August 2011, 914 . 916 [RFC6519] Maglione, R. and A. Durand, "RADIUS Extensions for Dual- 917 Stack Lite", RFC 6519, DOI 10.17487/RFC6519, February 918 2012, . 920 [RFC7598] Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec, 921 W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for 922 Configuration of Softwire Address and Port-Mapped 923 Clients", RFC 7598, DOI 10.17487/RFC7598, July 2015, 924 . 926 Authors' Addresses 928 Cathy Zhou 929 Huawei Technologies 930 Bantian, Longgang District 931 Shenzhen 518129 932 P.R. China 934 Email: cathy.zhou@huawei.com 936 Tom Taylor 937 PT Taylor Consulting 938 Ottawa 939 Canada 941 Email: tom.taylor.stds@gmail.com 942 Qiong Sun 943 China Telecom 944 P.R.China 946 Phone: 86 10 58552936 947 Email: sunqiong@ctbri.com.cn 949 Mohamed Boucadair 950 France Telecom 951 Rennes 35000 952 France 954 Email: mohamed.boucadair@orange.com