idnits 2.17.1 draft-ietf-softwire-ds-lite-tunnel-option-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. See https://trustee.ietf.org/license-info/.) Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- 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 (December 21, 2009) is 5241 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: June 24, 2010 December 21, 2009 8 Dynamic Host Configuration Protocol (DHCPv6) Options for Dual-Stack Lite 9 draft-ietf-softwire-ds-lite-tunnel-option-00 11 Status of this Memo 13 This Internet-Draft is submitted to IETF in full conformance with the 14 provisions of BCP 78 and BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on June 24, 2010. 34 Copyright Notice 36 Copyright (c) 2009 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents in effect on the date of 41 publication of this document (http://trustee.ietf.org/license-info). 42 Please review these documents carefully, as they describe your rights 43 and restrictions with respect to this document. 45 Abstract 47 This document describes how Dual-Stack Lite configuration (the 48 Softwire Concentrator (SC)'s address) can be obtained by a Softwire 49 Initiator (SI) via DHCPv6. 51 Table of Contents 53 1. Requirements Language . . . . . . . . . . . . . . . . . . . . . 3 54 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 3. DHCPv6 Options . . . . . . . . . . . . . . . . . . . . . . . . 3 56 3.1. The Dual-Stack Lite Softwire Concentrator Address 57 Option . . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 3.2. The Dual-Stack Lite Softwire Concentrator Name Option . . . 4 59 4. DHCPv6 Server behavior . . . . . . . . . . . . . . . . . . . . 6 60 5. DHCPv6 Client behavior . . . . . . . . . . . . . . . . . . . . 6 61 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 62 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 63 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 64 9. Normative References . . . . . . . . . . . . . . . . . . . . . 8 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 67 1. Requirements Language 69 In this document, the key words "MAY", "MUST", "MUST NOT", 70 "OPTIONAL", "RECOMMENDED", "SHOULD", and "SHOULD NOT", are to be 71 interpreted as described in BCP 14, RFC 2119 [RFC2119]. 73 2. Introduction 75 Dual-Stack Lite [draft-ietf-softwire-dual-stack-lite-02] is a method 76 to extend IPv4 access to an IPv6-only addressed host. One of its key 77 components is an IPv4-over-IPv6 tunnel, commonly referred to as a 78 Softwire, but a Software Initiator will not know if the network it is 79 attached to offers Dual-Stack Lite support, and if it did would not 80 know the remote end of the tunnel to establish a connection. 82 To inform the Softwire Initiator of the Softwire Concentrator's 83 location, either an IPv6 address or Fully Qualified Domain Name 84 (FQDN) may be used. Once this information is conveyed, the presence 85 of the configuration indicating the Softwire Concentrator's location 86 also informs a host to initiate Dual-Stack Lite service and become a 87 Softwire Initiator. 89 To provide the conveyance of the configuration information, two 90 DHCPv6 [RFC3315] options are used; one in the case where the host 91 receives an IPv6 address, and one in the case where the host receives 92 an FQDN in order to derive an IPv6 address. 94 3. DHCPv6 Options 96 Following sections define two new DHCPv6 options, conformant with 97 requirements specified in DHCPv6 [RFC3315] Section 22.1. 99 3.1. The Dual-Stack Lite Softwire Concentrator Address Option 101 The Dual-Stack Lite Softwire Concentrator Address Option consists of 102 option-code and option-len fields (common for all DHCPv6 options), 103 and a 128 bit tunnel-endpoint-addr field, containing one IPv6 104 address. The tunnel-endpoint-addr specifies the location of the 105 remote tunnel endpoint, expected to be located at an AFTR (DS-Lite 106 Address Family Transition Router element). 108 The DS Lite Address option MAY appear in the root scope of a DHCPv6 109 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, 110 or similar. 112 The DS Lite Address option MUST NOT appear more than once in a 113 message. 115 0 1 2 3 116 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 117 +-------------------------------+-------------------------------+ 118 | OPTION_DS_LITE_ADDR (TBD) | option-len: 16 | 119 +-------------------------------+-------------------------------+ 120 | | 121 | tunnel-endpoint-addr (IPv6 Address) | 122 | | 123 | | 124 +---------------------------------------------------------------+ 126 DS Lite IPv6 Address option format. 128 Figure 1 130 option-code: OPTION_DS_LITE_ADDR (TBD) 132 option-len: Length of the tunnel-endpoint-addr field, which is 133 currently defined to be precisely 16 octets. 135 tunnel-endpoint-addr: This field contains a single IPv6 address in 136 binary representation of the remote tunnel endpoint, located at 137 the DS-Lite AFTR. It is precisely 16 octets in length. 139 The client validates the DS-Lite Address option by confirming the 140 option is of 16 octets in length or greater. The client MUST ignore 141 tunnel-endpoint-addr shorter than 16 octets. In the event the option 142 is greater than 16 octets in length, only the first 16 octets are 143 intrepreted. 145 Because this option conveys the tunnel-endpoint-addr value, no 146 further processing is required of the client. 148 3.2. The Dual-Stack Lite Softwire Concentrator Name Option 150 The Dual-Stack Lite Softwire Concentrator Name Option consists of 151 option-code and option-len fields (common for all DHCPv6 options), 152 and a variable length tunnel-endpoint-name field, containing a Fully 153 Qualified Domain Name that refers to the AFTR (DS-Lite Address Family 154 Transition Router element) the client is requested to establish a 155 connection with. 157 The DS Lite Name option MAY appear in the root scope of a DHCPv6 158 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, 159 or similar. 161 The DS Lite Name option MUST NOT appear more than once in a message. 163 0 1 2 3 164 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 165 +-------------------------------+-------------------------------+ 166 | OPTION_DS_LITE_NAME (TBD) | option-len | 167 +-------------------------------+-------------------------------+ 168 | tunnel-endpoint-name (FQDN) | 169 +---------------------------------------------------------------+ 171 DS Lite FQDN option format. 173 Figure 2 175 option-code: OPTION_DS_LITE_NAME (TBD) 177 option-len: Length in octets of the tunnel-endpoint-name field. 179 tunnel-endpoint-name: This field contains a single Fully Qualified 180 Domain Name of the remote tunnel endpoint, located at the DS-Lite 181 AFTR. 183 The tunnel-endpoint-name field is formatted as required in DHCPv6 184 [RFC3315] Section 8 ("Representation and Use of Domain Names"). 185 Briefly, the format described is using a single octet noting the 186 length of one DNS label (limited to at most 64 octets), followed by 187 the label. This repeats until all labels in the FQDN are exhausted. 188 The root label (or the end of the FQDN) is denoted as a zero length 189 label. An example FQDN format for this option is shown in Figure 3. 191 +------+------+------+------+------+------+------+------+------+ 192 | 0x07 | e | x | a | m | p | l | e | 0x03 | 193 +------+------+------+------+------+------+------+------+------+ 194 | i | s | c | 0x03 | o | r | g | 0x00 | 195 +------+------+------+------+------+------+------+------+ 197 Example tunnel-endpoint-name. 199 Figure 3 201 Note that in the specific case of the example tunnel-endpoint-name, 202 (Figure 3) the length of the option is 17 octets, and so an option- 203 len field value of 17 would be used. 205 The client validates the option in this format by first confirming 206 that the option length is greater than 3, that the option data can be 207 contained by the option length (that the option length does not run 208 off the end of the packet), and that the tunnel-endpoint-name is of 209 valid format as described in DHCPv6 Section 8 [RFC3315]; there are no 210 compression tags, there is at least one label of nonzero length. 212 The client determines a value for the tunnel-endpoint-addr from the 213 tunnel-endpoint-name using standard DNS resolution, as defined in 214 [RFC3596]. If the DNS response contains more than one IPv6 address, 215 the client picks only one IPv6 address and uses it as a remote tunnel 216 endpoint. The client MUST NOT establish more than one DS Lite tunnel 217 at the same time. For a redundancy and high availability discussion, 218 see Section 7.2 "High availability" of 219 [draft-ietf-softwire-dual-stack-lite-02]. 221 4. DHCPv6 Server behavior 223 DHCP servers must translate user input from their own specific and 224 unique operator's interfaces into configuration state for the client. 225 The server MUST provide a way to configure the OPTION_DS_LITE_ADDR, 226 and SHOULD allow the operator to enter a Fully Qualified Domain Name, 227 upon which the server performs DNS Resolution to assemble its 228 OPTION_DS_LITE_ADDR contents. The server MAY either provide the same 229 Fully Qualified Domain Name as OPTION_DS_LITE_NAME contents, or 230 simply provide a distinct method of configuring it. 232 If configured with values, DHCPv6 servers will include the DS Lite 233 Address and/or Name options if either or both appear on the client's 234 Option Request Option (OPTION_ORO). RFC 3315 Section 17.2.2 235 [RFC3315] describes how a DHCPv6 client and server negotiate 236 configuration values using the ORO. 238 A DHCPv6 server MAY NOT send either option if it has not been 239 explicitly requested by the client. 241 If the server is configured with an FQDN as the tunnel endpoint 242 locator, the configured FDQN value must contain a resolvable Fully 243 Qualified Domain Name, having appropriate delegations from the root, 244 and having a AAAA record locating the Softwire Concentrator. 246 If OPTION_DS_LITE_NAME is being configured, it is RECOMMENDED that 247 the server also be configured to provide OPTION_DNS_SERVERS defined 248 in [RFC3646] together with the DS Lite option, so that clients will 249 be able to ask for DNS servers locations to resolve the domain name 250 provided in the DS Lite option. 252 5. DHCPv6 Client behavior 254 A client that supports B4 functionality of the DS Lite (defined in 256 [draft-ietf-softwire-dual-stack-lite-02]) MUST include 257 OPTION_DS_LITE_ADDR on its OPTION_ORO, and MAY include 258 OPTION_DS_LITE_NAME at its option and ability. 260 If requesting the OPTION_DS_LITE_NAME option, the client also SHOULD 261 request OPTION_DNS_SERVERS defined in [RFC3646] to be able to resolve 262 any received domain name. 264 If the client receives either DS Lite Option, it MUST verify the 265 option contents as described in Section 3.1 and Section 3.2. The 266 client SHOULD establish a softwire tunnel to the tunnel-endpoint-addr 267 IPv6 address it determines from either of these options. 269 If the client requests and receives both the OPTION_DS_LITE_ADDR and 270 the OPTION_DS_LITE_NAME, it MUST proceed with resolving the 271 OPTION_DS_LITE_NAME. 273 6. Security Considerations 275 This document does not present any new security issues, but as with 276 all DHCPv6-derived configuration state, it is completely possible 277 that the configuration is being delivered by a third party (Man In 278 The Middle). As such, there is no basis to trust that the access the 279 DS-Lite softwire connection represents can be trusted, and it should 280 not therefore bypass any security mechanisms such as IP firewalls. 282 RFC 3315 [RFC3315] discusses DHCPv6 related security issues. 284 [draft-ietf-softwire-dual-stack-lite-02] discusses DS Lite related 285 security issues. 287 7. IANA Considerations 289 IANA is requested to allocate two DHCPv6 Option codes referencing 290 this document. One delineating OPTION_DS_LITE_ADDR, and one 291 delineating OPTION_DS_LITE_NAME. 293 8. Acknowledgements 295 Authors would like to thank Alain Durand, Rob Austein and Dave Thaler 296 for their valuable feedback and suggestions. 298 9. Normative References 300 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 301 Requirement Levels", BCP 14, RFC 2119, March 1997. 303 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 304 and M. Carney, "Dynamic Host Configuration Protocol for 305 IPv6 (DHCPv6)", RFC 3315, July 2003. 307 [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, 308 "DNS Extensions to Support IP Version 6", RFC 3596, 309 October 2003. 311 [RFC3646] Droms, R., "DNS Configuration options for Dynamic Host 312 Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, 313 December 2003. 315 [draft-ietf-softwire-dual-stack-lite-02] 316 Durand, A., Ed., "Dual-stack lite broadband deployments 317 post IPv4 exhaustion", October 2009. 319 Authors' Addresses 321 David W. Hankins 322 Internet Systems Consortium, Inc. 323 950 Charter Street 324 Redwood City, CA 94063 325 US 327 Phone: +1 650 423 1307 328 Email: David_Hankins@isc.org 330 Tomasz Mrugalski 331 Gdansk University of Technology 332 Storczykowa 22B/12 333 Gdansk, 80-177 334 Poland 336 Phone: +48 698 088 272 337 Email: tomasz.mrugalski@eti.pg.gda.pl