idnits 2.17.1 draft-ietf-dime-4over6-provisioning-06.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-06 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 . . . . . . . . . . . . . 11 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 . . . . . . . . . . . . 13 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 . . . . . . . . . . . . 15 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. 392 Note, if Internationalized Domain Names (IDNs) are used, A-labels 393 defined in [RFC5891] must be used (see Appendix D of [RFC6733]). 395 3.3. 64-Multicast-Attributes AVP 397 The 64-Multicast-Attributes AVP (AVP Code TBD02) is of type Grouped. 398 It contains the multicast-related IPv6 prefixes needed for providing 399 IPv4 multicast over IPv6 using DS-Lite, MAP-E, or lw4o6, as mentioned 400 in Section 2.5. 402 The syntax is shown in Figure 1. 404 64-Multicast-Attributes ::= < AVP Header: TBD02 > 405 [ ASM-mPrefix64 ] 406 [ SSM-mPrefix64 ] 407 [ Delegated-IPv6-Prefix ] 408 *[ AVP ] 410 Figure 1: 64-Multicast-Attributes AVP 412 64-Multicast-Attributes AVP MUST include the ASM-mPrefix64 AVP or the 413 SSM-mPrefix64 AVP, and it MAY include both. 415 The Delegated-IPv6-Prefix AVP MUST be present when the SSM-mPrefix64 416 AVP is present. The Delegated-IPv6-Prefix AVP MAY be present when 417 the ASM-mPrefix64 AVP is present. 419 3.3.1. ASM-mPrefix64 AVP 421 The ASM-mPrefix64 AVP (AVP Code TBD03) conveys the value of ASM- 422 mPrefix64 as mentioned in Section 2.5. The ASM-mPrefix64 AVP is of 423 type Grouped, as shown in Figure 2. 425 ASM-mPrefix64 ::= < AVP Header: TBD03 > 426 { IP-Address } 427 { IP-Prefix-Length } 428 *[ AVP ] 430 Figure 2: ASM-mPrefix64 AVP 432 IP-Address (AVP code 518) is defined in [RFC5777] and is of type 433 Address. Within the ASM-mPrefix64 AVP, it provides the value of an 434 IPv6 prefix. The AddressType field in IP-Address MUST have value 2 435 (IPv6). The conveyed multicast IPv6 prefix MUST belong to the ASM 436 range. Unused bits in IP-Address beyond the actual prefix MUST be 437 set to zeroes by the sender and ignored by the receiver. 439 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 440 of the prefix contained in the IP-Address AVP. Within the ASM- 441 mPrefix64 AVP, valid values of the IP-Prefix-Length AVP are from 24 442 to 96. 444 3.3.2. SSM-mPrefix64 AVP 446 The SSM-mPrefix64 AVP (AVP Code TBD04) conveys the value of SSM- 447 mPrefix64 as mentioned in Section 2.5. The SSM-mPrefix64 AVP is of 448 type Grouped, as shown in Figure 3. 450 SSM-mPrefix64 ::= < AVP Header: TBD04 > 451 { IP-Address } 452 { IP-Prefix-Length } 453 *[ AVP ] 455 Figure 3: SSM-mPrefix64 AVP 457 IP-Address (AVP code 518) provides the value of an IPv6 prefix. The 458 AddressType field in IP-Address MUST have value 2 (IPv6). The 459 conveyed multicast IPv6 prefix MUST belong to the SSM range. Unused 460 bits in IP-Address beyond the actual prefix MUST be set to zeroes by 461 the sender and ignored by the receiver. 463 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 464 of the prefix contained in the IP-Address AVP. 466 3.3.3. Delegated-IPv6-Prefix AVP As uPrefix64 468 Within the 64-Multicast-Attributes AVP, the Delegated-IPv6-Prefix AVP 469 (AVP Code 123) conveys the value of uPrefix64, a unicast IPv6 prefix, 470 as mentioned in Section 2.5. The Delegated-IPv6-Prefix AVP is 471 defined in [RFC4818]. As specified by [RFC6052], the value in the 472 Prefix-Length field MUST be one of 32, 48, 56, 64 or 96. 474 3.4. Tunnel-Source-Pref-Or-Addr AVP 476 The Tunnel-Source-Pref-Or-Addr AVP (AVP Code TBD05) conveys either 477 the IPv6 Binding Prefix or the tunnel source address on the CE, as 478 described in Section 2.2. The Tunnel-Source-Pref-Or-Addr AVP is of 479 type Grouped, with syntax as shown in Figure 4. The Tunnel-Source- 480 Pref-Or-Addr AVP MUST contain either the Delegated-IPv6-Prefix AVP or 481 the Tunnel-Source-IPv6-Address AVP, not both. 483 Tunnel-Source-Pref-Or-Addr ::= < AVP Header: TBD05 > 484 [ Delegated-IPv6-Prefix ] 485 [ Tunnel-Source-IPv6-Address ] 486 *[ AVP ] 488 Figure 4: Tunnel-Source-Pref-Or-Addr AVP 490 This AVP is defined separately from the lw4o6-Binding AVP (which 491 includes it) to provide flexibility in the transport of the tunnel 492 source address from the provisioning system to AAA while also 493 supporting the provision of a complete binding to the lw4o6 border 494 router. 496 3.4.1. Delegated-IPv6-Prefix As the IPv6 Binding Prefix 498 The Delegated-IPv6-Prefix AVP (AVP code 123) is of type Octetstring, 499 and is defined in [RFC4818]. Within the Tunnel-Source-Pref-Or-Addr 500 AVP, it conveys the IPv6 Binding Prefix assigned to the CE. Valid 501 values in the Prefix-Length field are from 0 to 128 (full address). 503 3.4.2. Tunnel-Source-IPv6-Address AVP 505 The Tunnel-Source-IPv6-Address AVP (AVP code TBD06) is of type 506 Address. It provides the address that the CE has assigned to its end 507 of an lw4o6 tunnel. The AddressType field in this AVP MUST be set to 508 2 (IPv6). 510 3.5. Port-Set-Identifier 512 The Port-Set-Identifier AVP (AVP Code TBD07) is a structured 513 OctetString with four octets of data, hence a total AVP length of 12. 514 The description of the structure which follows refers to refers to 515 the parameters described in Section 2.3 (see Figure 5). 517 o The first (high-order) octet is the Offset field. It is 518 interpreted as an 8-bit unsigned integer giving the offset 'a' 519 from the beginning of a port number to the beginning of the port 520 set identifier (PSID) to which that port belongs. Valid values 521 are from 0 to 15. 523 o The next octet, the PSIDLength, is also interpreted as an 8-bit 524 unsigned integer and gives the length 'k' in bits of the port set 525 identifier (PSID). Valid values are from 0 to (16 - a). A value 526 of 0 indicates that the PSID is not present (probable case for 527 MAP-E, see Section 2.4), and the PSIDValue field MUST be ignored. 529 o The final two octets contain the PSIDValue field. They give the 530 value of the PSID itself, right-justified within the field. That 531 is, the value of the PSID occupies the 'k' lowest-order bits of 532 the PSIDValue field. 534 0 1 2 3 535 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 536 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 537 | Offset | Length | PSID Value | 538 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 540 Figure 5: Port Set 542 3.6. Lw4o6-Binding AVP 544 The Lw4o6-Binding AVP (AVP Code TBD08) is of type Grouped. It 545 contains the elements of configuration that constitute the binding 546 between an lw4o6 tunnel and IPv4 packets sent through that tunnel, as 547 described in Section 2.2. 549 Lw4o6-Binding ::= < AVP Header: TBD08 > 550 { Tunnel-Source-Pref-Or-Addr } 551 { Lw4o6-External-IPv4-Addr } 552 [ Port-Set-Identifier ] 553 *[ AVP ] 555 Figure 6: Lw4o6-Binding AVP 557 The Tunnel-Source-Pref-Or-Addr AVP is defined in Section 3.4 and 558 provides either the Binding Prefix or the full IPv6 tunnel source 559 address. 561 The Lw4o6-External-IPv4-Addr AVP is defined in Section 3.6.1. 563 The Port-Set-Identifier AVP is defined in Section 3.5. It identifies 564 the specific set of ports assigned to the lw4o6 tunnel, when the IPv4 565 address is being shared. 567 3.6.1. Lw4o6-External-IPv4-Addr AVP 569 The Lw4o6-External-IPv4-Addr AVP (AVP Code TBD09) uses the Address 570 derived data format defined in Section 4.3.1 of [RFC6733]. It 571 provides the CE's external IPv4 address within the lw4o6 tunnel 572 associated with the given binding. The AddressType field MUST be set 573 to 1 (IPv4), and the total length of the AVP MUST be 14 octets. 575 3.7. MAP-E-Attributes 577 The MAP-E-Attributes AVP (AVP Code TBD10) is of type Grouped. It 578 contains the configuration data identified in Section 2.4 for all of 579 the mapping rules (Basic and Forwarding) in a single MAP domain. 580 Multiple instances of this AVP will be present if the CE belongs to 581 multiple MAP domains. 583 MAP-E-Attributes ::= < AVP Header: TBD06 > 584 1*{ Border-Router-Name } 585 1*{ MAP-Mapping-Rule } 586 [ MAP-Mesh-Mode ] 587 [ Delegated-IPv6-Prefix ] 588 *[ AVP ] 590 Figure 7: MAP-E-Attributes AVP 592 The Border-Router-Name AVP is defined in Section 3.2. It provides 593 the FQDN of a MAP border relay at the edge of the MAP domain to which 594 the containing MAP-E-Attributes AVP relates. At least one instance 595 of this AVP MUST be present. 597 The MAP-Mapping-Rule AVP is defined in Section 3.9. At least one 598 instance of this AVP MUST be present. If the MAP-E domain supports 599 mesh mode (indicated by the presence of the MAP-Mesh-Mode AVP), 600 additional MAP-Mapping-Rule instances MAY be present. If the MAP-E 601 domain is operating in hub-and-spoke mode, additional MAP-Mapping- 602 Rule instances MUST NOT be present. 604 The MAP-Mesh-Mode AVP is defined in Section 3.8. The absence of the 605 mesh mode indicator attribute indicates that the CE is required to 606 operate in hub-and-spoke mode. 608 The Delegated-IPv6-Prefix AVP (AVP Code 123) provides the End-user 609 IPv6 prefix assigned to the CE for the MAP domain to which the 610 containing MAP-E-Attributes AVP relates. The AVP is defined in 611 [RFC4818]. Valid values of the Prefix-Length field range from 0 to 612 128. 614 The Delegated-IPv6-Prefix AVP is optional because, depending on 615 deployment, the End-user IPv6 prefix may be provided by AAA or by 616 other means. If multiple instances of the MAP-E-Attributes AVP 617 containing the Delegated-IPv6-Prefix AVP are present, each instance 618 of the latter MUST have a different value. 620 3.8. MAP-Mesh-Mode 622 The MAP-Mesh-Mode AVP (AVP Code TBD11) is of type Enumerated and 623 indicates whether the CE has to operate in mesh mode or hub-and-spoke 624 when using MAP-E. The following values are supported: 626 0 MESH 628 1 HUB_AND_SPOKE 630 The absence of the mesh mode indicator attribute indicates that the 631 CE is required to operate in hub-and-spoke mode. 633 3.9. MAP-Mapping-Rule 635 The MAP-Mapping-Rule AVP (AVP Code TBD12) is of type Grouped, and is 636 used only in conjunction with MAP-based transition methods. Mapping 637 rules are required both by the MAP border relay and by the CE. The 638 components of the MAP-Mapping-Rule AVP provide the contents of a 639 mapping rule as described in Section 2.4. 641 The syntax of the MAP-Mapping-Rule AVP is as follows: 643 MAP-Mapping-Rule ::= < AVP Header: TBD12 > 644 { Rule-IPv4-Addr-Or-Prefix } 645 { Rule-IPv6-Prefix } 646 { EA-Field-Length } 647 { Port-Set-Identifier } 648 *[ AVP ] 650 Figure 8: MAP-Mapping-Rule AVP 652 The Rule-IPv4-Addr-Or-Prefix, Rule-IPv6-Prefix, EA-Field-Length, and 653 Port-Set-Identifier AVPs MUST all be present. 655 The Port-Set-Identifier AVP provides information to identify the 656 specific set of ports assigned to the CE. For more information see 657 Section 2.4 and Section 2.3. The Port-Set-Identifier AVP is defined 658 in Section 3.5. 660 3.9.1. Rule-IPv4-Addr-Or-Prefix AVP 662 The Rule-IPv4-Addr-Or-Prefix AVP (AVP Code TBD13) conveys the rule 663 IPv4 prefix and length as described in Section 2.4. The Rule-IPv4- 664 Addr-Or-Prefix AVP is of type Grouped, as shown in Figure 9. 666 Rule-IPv4-Addr-Or-Prefix ::= < AVP Header: TBD13 > 667 { IP-Address } 668 { IP-Prefix-Length } 669 *[ AVP ] 671 Figure 9: Rule-IPv4-Addr-Or-Prefix AVP 673 IP-Address (AVP code 518) is defined in [RFC5777] and is of type 674 Address. Within the Rule-IPv4-Addr-Or-Prefix AVP, it provides the 675 value of a unicast IPv4 address or prefix. The AddressType field in 676 IP-Address MUST have value 1 (IPv4). Unused bits in IP-Address 677 beyond the actual prefix MUST be set to zeroes by the sender and 678 ignored by the receiver. 680 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 681 of the prefix contained in the IP-Address AVP. Within the Rule-IPv4- 682 Addr-Or-Prefix AVP, valid values of the IP-Prefix-Length AVP are from 683 0 to 32 (full address), based on the different cases identified in 684 Section 5.2 of [RFC7597]. 686 3.9.2. Rule-IPv6-Prefix AVP 688 The Rule-IPv6-Prefix AVP (AVP Code TBD14) conveys the rule IPv6 689 prefix and length as described in Section 2.4. The Rule-IPv6-Prefix 690 AVP is of type Grouped, as shown in Figure 10. 692 Rule-IPv6-Prefix ::= < AVP Header: TBD14 > 693 { IP-Address } 694 { IP-Prefix-Length } 695 *[ AVP ] 697 Figure 10: Rule-IPv6-Prefix AVP 699 IP-Address (AVP code 518) is defined in [RFC5777] and is of type 700 Address. Within the Rule-IPv6-Prefix AVP, it provides the value of a 701 unicast IPv6 prefix. The AddressType field in IP- Address MUST have 702 value 2 (IPv6). Unused bits in IP-Address beyond the actual prefix 703 MUST be set to zeroes by the sender and ignored by the receiver. 705 The IP-Prefix-Length AVP (AVP code TBD00) provides the actual length 706 of the prefix contained in the IP-Address AVP. Within the Rule- 707 IPv6-Prefix AVP, the minimum valid prefix length is 0. The maximum 708 value is bounded by the length of the End-user IPv6 prefix associated 709 with the mapping rule, if present in the form of the Delegated- 710 IPv6-Prefix AVP in the enclosing MAP-E-Attributes AVP. Otherwise the 711 maximum value is 128. 713 3.9.3. EA-Field-Length AVP 715 The EA-Field-Length AVP (AVP Code TBD15) is of type Unsigned32. 716 Valid values range from 0 to 48. See Section 5.2 of [RFC7597] for a 717 description of the use of this parameter in deriving IPv4 address and 718 port number configuration. 720 4. Attribute Value Pair Flag Rules 721 +---------+ 722 |AVP flag | 723 |rules | 724 +----+----+ 725 AVP Section | |MUST| 726 Attribute Name Code Defined Value Type |MUST| NOT| 727 +-------------------------------------------------------+----+----+ 728 |IP-Prefix-Length TBD00 3.1 Unsigned32 | | V | 729 +-------------------------------------------------------+----+----+ 730 |Border-Router-Name TBD01 3.2 OctetString | | V | 731 +-------------------------------------------------------+----+----+ 732 |64-Multicast-Attributes TBD02 3.3 Grouped | | V | 733 +-------------------------------------------------------+----+----+ 734 |ASM-mPrefix64 TBD03 3.3.1 Grouped | | V | 735 +-------------------------------------------------------+----+----+ 736 |SSM-mPrefix64 TBD04 3.3.2 Grouped | | V | 737 +-------------------------------------------------------+----+----+ 738 |Tunnel-Source-Pref-Or-Addr TBD05 3.4 Grouped | | V | 739 +-------------------------------------------------------+----+----+ 740 |Tunnel-Source-IPv6-Address TBD06 3.4.2 Address | | V | 741 +-------------------------------------------------------+----+----+ 742 |Port-Set-Identifier TBD07 3.5 OctetString | | V | 743 +-------------------------------------------------------+----+----+ 744 |Lw4o6-Binding TBD08 3.6 Grouped | | V | 745 +-------------------------------------------------------+----+----+ 746 |Lw4o6-External-IPv4-Addr TBD09 3.6.1 Address | | V | 747 +-------------------------------------------------------+----+----+ 748 |MAP-E-Attributes TBD10 3.7 Grouped | | V | 749 +-------------------------------------------------------+----+----+ 750 |MAP-Mesh-Mode TBD11 3.8 Enumerated | | V | 751 +-------------------------------------------------------+----+----+ 752 |MAP-Mapping-Rule TBD12 3.9 Grouped | | V | 753 +-------------------------------------------------------+----+----+ 754 |Rule-IPv4-Addr-Or-Prefix TBD13 3.9.1 Grouped | | V | 755 +-------------------------------------------------------+----+----+ 756 |Rule-IPv6-Prefix TBD14 3.9.2 Grouped | | V | 757 +-------------------------------------------------------+----+----+ 758 |EA-Field-Length TBD15 3.9.3 Unsigned32 | | V | 759 +-------------------------------------------------------+----+----+ 761 As described in the Diameter base protocol [RFC6733], the M-bit usage 762 for a given AVP in a given command may be defined by the application. 764 5. IANA Considerations 766 This memo requests to IANA to register the following Diameter AVP 767 codes: 769 +-------+----------------------------+---------------+ 770 | Code | Attribute Name | Reference | 771 +-------+----------------------------+---------------+ 772 | TBD00 | IP-Prefix-Length | This document | 773 | TBD01 | Border-Router-Name | This document | 774 | TBD02 | 64-Multicast-Attributes | This document | 775 | TBD03 | ASM-mPrefix64 | This document | 776 | TBD04 | SSM-mPrefix64 | This document | 777 | TBD05 | Tunnel-Source-Pref-Or-Addr | This document | 778 | TBD06 | Tunnel-Source-IPv6-Address | This document | 779 | TBD07 | Port-Set-Identifier | This document | 780 | TBD08 | Lw4o6-Binding | This document | 781 | TBD09 | Lw4o6-External-IPv4-Addr | This document | 782 | TBD10 | MAP-E-Attributes | This document | 783 | TBD11 | MAP-Mesh-Mode | This document | 784 | TBD12 | MAP-Mapping-Rule | This document | 785 | TBD13 | Rule-IPv4-Addr-Or-Prefix | This document | 786 | TBD14 | Rule-IPv6-Prefix | This document | 787 | TBD15 | EA-Field-Length | This document | 788 +-------+----------------------------+---------------+ 790 Table 1 792 6. Security Considerations 794 6.1. Man-In-The-Middle (MITM) Attacks 796 The AVPs defined in this document face two threats, both dependent on 797 man-in-the-middle (MITM) attacks on the Diameter delivery path. 799 The first threat is denial-of-service (DoS) through modification of 800 the AVP contents leading to misconfiguration, e.g., a subscriber may 801 fail to access its connectivity service if an invalid IP address was 802 configured, the subscriber's traffic can be intercepted by a 803 misbehaving node if a fake Border Node has been configured, etc. 805 The second threat is that Diameter security is currently provided on 806 a hop-by-hop basis (see Section 2.2 of [RFC6733]). At the time of 807 writing, the Diameter end-to-end security problem has not been 808 solved, so MITM attacks by Diameter peers along the path are 809 possible. Diameter-related security considerations are discussed in 810 Section 13 of [RFC6733]. 812 6.2. Privacy 814 Given that the AVPs defined in this document reveal privacy-related 815 information (e.g., subscriber addresses) that can be used for 816 tracking proposes, all these AVPs are considered to be security- 817 sensitive. Therefore the considerations discussed in Section 13.3 of 818 [RFC6733] MUST be followed for Diameter messages containing these 819 AVPs. 821 7. Acknowledgements 823 Huawei Technologies funded Tom Taylor's work on earlier versions of 824 this document. 826 Special thanks to Lionel Morand for the detailed review. 828 Many thanks to Russ Housley, Tim Chown, Spencer Dawkins, and Ben 829 Campbell for the review and comments. 831 8. References 833 8.1. Normative References 835 [RFC1035] Mockapetris, P., "Domain names - implementation and 836 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 837 November 1987, . 839 [RFC1123] Braden, R., Ed., "Requirements for Internet Hosts - 840 Application and Support", STD 3, RFC 1123, 841 DOI 10.17487/RFC1123, October 1989, 842 . 844 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 845 Requirement Levels", BCP 14, RFC 2119, 846 DOI 10.17487/RFC2119, March 1997, 847 . 849 [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS 850 Specification", RFC 2181, DOI 10.17487/RFC2181, July 1997, 851 . 853 [RFC4818] Salowey, J. and R. Droms, "RADIUS Delegated-IPv6-Prefix 854 Attribute", RFC 4818, DOI 10.17487/RFC4818, April 2007, 855 . 857 [RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., 858 Ed., and A. Lior, "Traffic Classification and Quality of 859 Service (QoS) Attributes for Diameter", RFC 5777, 860 DOI 10.17487/RFC5777, February 2010, 861 . 863 [RFC5891] Klensin, J., "Internationalized Domain Names in 864 Applications (IDNA): Protocol", RFC 5891, 865 DOI 10.17487/RFC5891, August 2010, 866 . 868 [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- 869 Stack Lite Broadband Deployments Following IPv4 870 Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011, 871 . 873 [RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn, 874 Ed., "Diameter Base Protocol", RFC 6733, 875 DOI 10.17487/RFC6733, October 2012, 876 . 878 [RFC7596] Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I. 879 Farrer, "Lightweight 4over6: An Extension to the Dual- 880 Stack Lite Architecture", RFC 7596, DOI 10.17487/RFC7596, 881 July 2015, . 883 [RFC7597] Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S., 884 Murakami, T., and T. Taylor, Ed., "Mapping of Address and 885 Port with Encapsulation (MAP-E)", RFC 7597, 886 DOI 10.17487/RFC7597, July 2015, 887 . 889 8.2. Informative References 891 [I-D.ietf-softwire-dslite-multicast] 892 Qin, J., Boucadair, M., Jacquenet, C., Lee, Y., and Q. 893 Wang, "Delivery of IPv4 Multicast Services to IPv4 Clients 894 over an IPv6 Multicast Network", draft-ietf-softwire- 895 dslite-multicast-09 (work in progress), March 2015. 897 [I-D.ietf-softwire-multicast-prefix-option] 898 Boucadair, M., Qin, J., Tsou, T., and X. Deng, "DHCPv6 899 Option for IPv4-Embedded Multicast and Unicast IPv6 900 Prefixes", draft-ietf-softwire-multicast-prefix-option-08 901 (work in progress), March 2015. 903 [RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins, 904 C., and M. Carney, "Dynamic Host Configuration Protocol 905 for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July 906 2003, . 908 [RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for 909 IP", RFC 4607, DOI 10.17487/RFC4607, August 2006, 910 . 912 [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. 913 Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, 914 DOI 10.17487/RFC6052, October 2010, 915 . 917 [RFC6334] Hankins, D. and T. Mrugalski, "Dynamic Host Configuration 918 Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite", 919 RFC 6334, DOI 10.17487/RFC6334, August 2011, 920 . 922 [RFC6519] Maglione, R. and A. Durand, "RADIUS Extensions for Dual- 923 Stack Lite", RFC 6519, DOI 10.17487/RFC6519, February 924 2012, . 926 [RFC7598] Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec, 927 W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for 928 Configuration of Softwire Address and Port-Mapped 929 Clients", RFC 7598, DOI 10.17487/RFC7598, July 2015, 930 . 932 Authors' Addresses 934 Cathy Zhou 935 Huawei Technologies 936 Bantian, Longgang District 937 Shenzhen 518129 938 P.R. China 940 Email: cathy.zhou@huawei.com 942 Tom Taylor 943 PT Taylor Consulting 944 Ottawa 945 Canada 947 Email: tom.taylor.stds@gmail.com 948 Qiong Sun 949 China Telecom 950 P.R.China 952 Phone: 86 10 58552936 953 Email: sunqiong@ctbri.com.cn 955 Mohamed Boucadair 956 France Telecom 957 Rennes 35000 958 France 960 Email: mohamed.boucadair@orange.com