idnits 2.17.1 draft-ietf-softwire-ds-lite-tunnel-option-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Sep 2009 rather than the newer Notice from 28 Dec 2009. (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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The exact meaning of the all-uppercase expression 'MAY NOT' is not defined in RFC 2119. If it is intended as a requirements expression, it should be rewritten using one of the combinations defined in RFC 2119; otherwise it should not be all-uppercase. == The expression 'MAY NOT', while looking like RFC 2119 requirements text, is not defined in RFC 2119, and should not be used. Consider using 'MUST NOT' instead (if that is what you mean). Found 'MAY NOT' in this paragraph: A DHCPv6 server MAY NOT send either Option if it has not been explicitly requested by the client. -- The document date (January 5, 2010) is 5197 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) Summary: 2 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Dynamic Host Configuration Working D. Hankins 3 Group ISC 4 Internet-Draft T. Mrugalski 5 Intended status: Standards Track Gdansk University of Technology 6 Expires: July 9, 2010 January 5, 2010 8 Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Options for Dual- 9 Stack Lite 10 draft-ietf-softwire-ds-lite-tunnel-option-01 12 Abstract 14 This document specifies two DHCPv6 Options which are meant to be used 15 by Softwire Initiator (SI) to retrieve its attached DS-Lite AFTR 16 (Address Family Transition Router). 18 Status of this Memo 20 This Internet-Draft is submitted to IETF in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF), its areas, and its working groups. Note that 25 other groups may also distribute working documents as Internet- 26 Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 The list of current Internet-Drafts can be accessed at 34 http://www.ietf.org/ietf/1id-abstracts.txt. 36 The list of Internet-Draft Shadow Directories can be accessed at 37 http://www.ietf.org/shadow.html. 39 This Internet-Draft will expire on July 9, 2010. 41 Copyright Notice 43 Copyright (c) 2010 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (http://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the BSD License. 56 Table of Contents 58 1. Requirements Language . . . . . . . . . . . . . . . . . . . . . 3 59 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 3. DHCPv6 Options . . . . . . . . . . . . . . . . . . . . . . . . 3 61 3.1. The Dual-Stack Lite Softwire Concentrator Address 62 DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . . . 3 63 3.2. The Dual-Stack Lite Softwire Concentrator Name DHCPv6 64 Option . . . . . . . . . . . . . . . . . . . . . . . . . . 5 65 4. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 6 66 5. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 7 67 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 68 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 69 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 70 9. Normative References . . . . . . . . . . . . . . . . . . . . . 8 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 73 1. Requirements Language 75 In this document, the key words "MAY", "MUST", "MUST NOT", 76 "OPTIONAL", "RECOMMENDED", "SHOULD", and "SHOULD NOT", are to be 77 interpreted as described in BCP 14, RFC 2119 [RFC2119]. 79 2. Introduction 81 Dual-Stack Lite [draft-ietf-softwire-dual-stack-lite-02] is a 82 solution to offer both IPv4 and IPv6 connectivity to customers which 83 are addressed only with an IPv6 prefix (no IPv4 address is assigned 84 to the attachment device). One of its key components is an IPv4- 85 over-IPv6 tunnel, commonly referred to as a Softwire, but a DS-Lite 86 Basic Bridging BroadBand (B4) will not know if the network it is 87 attached to offers Dual-Stack Lite support, and if it did would not 88 know the remote end of the tunnel to establish a connection. 90 To inform the B4 of the Address Family Transition Router's (AFTR) 91 location, either an IPv6 address or Fully Qualified Domain Name 92 (FQDN) may be used. Once this information is conveyed, the presence 93 of the configuration indicating the AFTR's location also informs a 94 host to initiate Dual-Stack Lite (DS-Lite) service and become a 95 Softwire Initiator. 97 To provide the conveyance of the configuration information, two 98 DHCPv6 [RFC3315] Options are used; one in the case where the host 99 receives an IPv6 address, and one in the case where the host receives 100 an FQDN in order to derive an IPv6 address. 102 This document assumes that the SI is provided with appropriate 103 instructions for the activation of an IPv4-in-IPv6 scheme which is 104 supposed to be supported in both B4 and AFTR. Consequently, this 105 memo does not precise the IPv4-in-IPv6 encapsulation scheme to be 106 used by B4. 108 3. DHCPv6 Options 110 Following sub-sections define two new DHCPv6 Options, conformant with 111 requirements specified in DHCPv6 [RFC3315] Section 22.1. 113 3.1. The Dual-Stack Lite Softwire Concentrator Address DHCPv6 Option 115 The Dual-Stack Lite Softwire Concentrator Address Option consists of 116 option-code and option-len fields (common for all DHCPv6 Options), 117 and a 128 bit tunnel-endpoint-addr field, containing one IPv6 118 address. The tunnel-endpoint-addr specifies the location of the 119 remote tunnel endpoint, expected to be located at an AFTR (DS-Lite 120 Address Family Transition Router element). 122 The DS-Lite Address DHCPv6 Option MAY appear in the root scope of a 123 DHCPv6 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, 124 IAADDR, or similar. 126 The DS-Lite Address DHCPv6 Option MUST NOT appear more than once in a 127 message. 129 The format of the Dual-Stack Lite Softwire Concentrator Addr DHCPv6 130 Option is shown in the following figure: 132 0 1 2 3 133 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 134 +-------------------------------+-------------------------------+ 135 | OPTION_DS_LITE_ADDR (TBD) | option-len: 16 | 136 +-------------------------------+-------------------------------+ 137 | | 138 | tunnel-endpoint-addr (IPv6 Address) | 139 | | 140 | | 141 +---------------------------------------------------------------+ 143 DS Lite IPv6 Address DHCPv6 Option format. 145 Figure 1 147 Below is provided the description of the enclosed fields: 149 option-code: OPTION_DS_LITE_ADDR (TBD) 151 option-len: Length of the tunnel-endpoint-addr field, which is 152 currently defined to be precisely 16 octets. 154 tunnel-endpoint-addr: This field contains a single IPv6 address in 155 binary representation of the remote tunnel endpoint, located at 156 the DS-Lite AFTR. It is precisely 16 octets in length. 158 The client validates the DS-Lite Address DHCPv6 Option by confirming 159 the option is of 16 octets in length or greater. The client MUST 160 ignore tunnel-endpoint-addr shorter than 16 octets. In the event the 161 option is greater than 16 octets in length, only the first 16 octets 162 are interpreted. 164 Because this option conveys the tunnel-endpoint-addr value, no 165 further processing is required of the client. 167 The definition of this option is simple and encloses only a single 168 IPv6 address. It is temping to define a flexible option which may 169 convey several IPv6 addresses (for robustness and service 170 availability reasons), but for the sake of simplicity and consistency 171 it is recommended to use a FQDN Option instead of conveying several 172 IPv6 addresses. 174 3.2. The Dual-Stack Lite Softwire Concentrator Name DHCPv6 Option 176 The Dual-Stack Lite Softwire Concentrator Name Option consists of 177 option-code and option-len fields (common for all DHCPv6 Options), 178 and a variable length tunnel-endpoint-name field, containing a Fully 179 Qualified Domain Name that refers to the AFTR the client is requested 180 to establish a connection with. 182 The DS-Lite Name option MAY appear in the root scope of a DHCPv6 183 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, 184 or similar. 186 The DS-Lite Name DHCPv6 Option MUST NOT appear more than once in a 187 message. 189 The format of the Dual-Stack Lite Softwire Concentrator Name DHCPv6 190 Option is shown in th following figure: 192 0 1 2 3 193 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 194 +-------------------------------+-------------------------------+ 195 | OPTION_DS_LITE_NAME (TBD) | option-len | 196 +-------------------------------+-------------------------------+ 197 | tunnel-endpoint-name (FQDN) | 198 +---------------------------------------------------------------+ 200 DS-Lite FQDN DHCPv6 Option format. 202 Figure 2 204 Below is provided the description of the enclosed fields: 206 option-code: OPTION_DS_LITE_NAME (TBD) 208 option-len: Length in octets of the tunnel-endpoint-name field. 210 tunnel-endpoint-name: This field contains a single Fully Qualified 211 Domain Name of the remote tunnel endpoint, located at the DS-Lite 212 AFTR. 214 The tunnel-endpoint-name field is formatted as required in DHCPv6 216 [RFC3315] Section 8 ("Representation and Use of Domain Names"). 217 Briefly, the format described is using a single octet noting the 218 length of one DNS label (limited to at most 64 octets), followed by 219 the label. This repeats until all labels in the FQDN are exhausted. 220 The root label (or the end of the FQDN) is denoted as a zero length 221 label. An example FQDN format for this option is shown in Figure 3. 223 +------+------+------+------+------+------+------+------+------+ 224 | 0x07 | e | x | a | m | p | l | e | 0x03 | 225 +------+------+------+------+------+------+------+------+------+ 226 | i | s | c | 0x03 | o | r | g | 0x00 | 227 +------+------+------+------+------+------+------+------+ 229 Example tunnel-endpoint-name. 231 Figure 3 233 Note that in the specific case of the example tunnel-endpoint-name, 234 (Figure 3) the length of the option is 17 octets, and so an option- 235 len field value of 17 would be used. 237 The client (B4) validates the option in this format by first 238 confirming that the option length is greater than 3, that the option 239 data can be contained by the option length (that the option length 240 does not run off the end of the packet), and that the tunnel- 241 endpoint-name is of valid format as described in DHCPv6 Section 8 242 [RFC3315]; there are no compression tags, there is at least one label 243 of nonzero length. 245 The client (B4) determines a value for the tunnel-endpoint-addr from 246 the tunnel-endpoint-name using standard DNS resolution, as defined in 247 [RFC3596]. If the DNS response contains more than one IPv6 address, 248 the client picks only one IPv6 address and uses it as a remote tunnel 249 endpoint. The client MUST NOT establish more than one DS Lite tunnel 250 at the same time. For a redundancy and high availability discussion, 251 see Section 7.2 "High availability" of 252 [draft-ietf-softwire-dual-stack-lite-02]. 254 4. DHCPv6 Server Behavior 256 DHCP servers must translate user input from their own specific and 257 unique operator's interfaces into configuration state for the client. 258 The server MUST provide a way to configure the OPTION_DS_LITE_ADDR, 259 and SHOULD allow the operator to enter a Fully Qualified Domain Name, 260 upon which the server performs DNS Resolution to assemble its 261 OPTION_DS_LITE_ADDR contents. The server MAY either provide the same 262 Fully Qualified Domain Name as OPTION_DS_LITE_NAME contents, or 263 simply provide a distinct method of configuring it. 265 If configured with values, DHCPv6 servers will include the DS Lite 266 Address and/or Name Options if either or both appear on the client's 267 Option Request Option (OPTION_ORO). RFC 3315 Section 17.2.2 268 [RFC3315] describes how a DHCPv6 client and server negotiate 269 configuration values using the ORO. 271 A DHCPv6 server MAY NOT send either Option if it has not been 272 explicitly requested by the client. 274 If the server is configured with an FQDN as the tunnel endpoint 275 locator, the configured FDQN value MUST contain a resolvable Fully 276 Qualified Domain Name, having appropriate delegations from the root, 277 and having a AAAA record locating the Softwire Concentrator. 279 If OPTION_DS_LITE_NAME is being configured, the server MUST be 280 configured to provide OPTION_DNS_SERVERS defined in [RFC3646] 281 together with the DS Lite option, so that clients will be able to ask 282 for DNS servers locations to resolve the domain name provided in the 283 DS-Lite Name DHCPv6 option. 285 5. DHCPv6 Client Behavior 287 A client that supports B4 functionality of the DS-Lite (defined in 288 [draft-ietf-softwire-dual-stack-lite-02]) MUST include 289 OPTION_DS_LITE_ADDR on its OPTION_ORO, and MAY include 290 OPTION_DS_LITE_NAME at its option and ability. 292 If requesting the OPTION_DS_LITE_NAME DHCPv6 Option, the client also 293 SHOULD request OPTION_DNS_SERVERS defined in [RFC3646] to be able to 294 resolve any received domain name. 296 If the client receives either DS-Lite Option, it MUST verify the 297 option contents as described in Section 3.1 and Section 3.2. The 298 client (B4) SHOULD establish a softwire tunnel to the tunnel- 299 endpoint-addr IPv6 address it determines from either of these 300 options. 302 If the client requests and receives both the OPTION_DS_LITE_ADDR and 303 the OPTION_DS_LITE_NAME, it MUST proceed with resolving the 304 OPTION_DS_LITE_NAME. 306 6. Security Considerations 308 This document does not present any new security issues, but as with 309 all DHCPv6-derived configuration state, it is completely possible 310 that the configuration is being delivered by a third party (Man In 311 The Middle). As such, there is no basis to trust that the access the 312 DS-Lite Softwire connection represents can be trusted, and it should 313 not therefore bypass any security mechanisms such as IP firewalls. 315 RFC 3315 [RFC3315] discusses DHCPv6-related security issues. 317 [draft-ietf-softwire-dual-stack-lite-02] discusses DS Lite related 318 security issues. 320 7. IANA Considerations 322 IANA is requested to allocate two DHCPv6 Option codes referencing 323 this document. One delineating OPTION_DS_LITE_ADDR, and one 324 delineating OPTION_DS_LITE_NAME. 326 8. Acknowledgements 328 Authors would like to thank Alain Durand, Rob Austein and Dave Thaler 329 for their valuable feedback and suggestions. 331 9. Normative References 333 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 334 Requirement Levels", BCP 14, RFC 2119, March 1997. 336 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 337 and M. Carney, "Dynamic Host Configuration Protocol for 338 IPv6 (DHCPv6)", RFC 3315, July 2003. 340 [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, 341 "DNS Extensions to Support IP Version 6", RFC 3596, 342 October 2003. 344 [RFC3646] Droms, R., "DNS Configuration options for Dynamic Host 345 Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, 346 December 2003. 348 [draft-ietf-softwire-dual-stack-lite-02] 349 Durand, A., Ed., "Dual-stack lite broadband deployments 350 post IPv4 exhaustion", October 2009. 352 Authors' Addresses 354 David W. Hankins 355 Internet Systems Consortium, Inc. 356 950 Charter Street 357 Redwood City, CA 94063 358 US 360 Phone: +1 650 423 1307 361 Email: David_Hankins@isc.org 363 Tomasz Mrugalski 364 Gdansk University of Technology 365 Storczykowa 22B/12 366 Gdansk, 80-177 367 Poland 369 Phone: +48 698 088 272 370 Email: tomasz.mrugalski@eti.pg.gda.pl