idnits 2.17.1 draft-ietf-softwire-ds-lite-tunnel-option-02.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 document date (March 2, 2010) is 5166 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 (-11) exists of draft-ietf-softwire-dual-stack-lite-03 ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) Summary: 2 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Softwires D. Hankins 3 Internet-Draft ISC 4 Intended status: Standards Track T. Mrugalski 5 Expires: September 3, 2010 Gdansk University of Technology 6 March 2, 2010 8 Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Options for Dual- 9 Stack Lite 10 draft-ietf-softwire-ds-lite-tunnel-option-02 12 Abstract 14 This document specifies two DHCPv6 options which are meant to be used 15 by a Dual-Stack Lite client (Basic Bridging BroadBand element, B4) to 16 discover its Address Family Transition Router (AFTR) address. 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 September 3, 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. The Dual-Stack Lite Address DHCPv6 Option . . . . . . . . . . . 3 61 4. The Dual-Stack Lite Name DHCPv6 Option . . . . . . . . . . . . 4 62 5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 6 63 6. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 7 64 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 65 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 66 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 67 10. Normative References . . . . . . . . . . . . . . . . . . . . . 8 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 70 1. Requirements Language 72 In this document, the key words "MAY", "MUST", "MUST NOT", 73 "OPTIONAL", "RECOMMENDED", "SHOULD", and "SHOULD NOT", are to be 74 interpreted as described in BCP 14, RFC 2119 [RFC2119]. 76 2. Introduction 78 Dual-Stack Lite [I-D.softwire-ds-lite-03] is a solution to offer both 79 IPv4 and IPv6 connectivity to customers which are addressed only with 80 an IPv6 prefix (no IPv4 address is assigned to the attachment 81 device). One of its key components is an IPv4-over-IPv6 tunnel, 82 commonly referred to as a Softwire, but a DS-Lite Basic Bridging 83 BroadBand (B4) will not know if the network it is attached to offers 84 Dual-Stack Lite support, and if it did would not know the remote end 85 of the tunnel to establish a connection. 87 To inform the B4 of the AFTR's location, either an IPv6 address or 88 Fully Qualified Domain Name (FQDN) may be used. Once this 89 information is conveyed, the presence of the configuration indicating 90 the AFTR's location also informs a host to initiate Dual-Stack Lite 91 (DS-Lite) service and become a Softwire Initiator. 93 To provide the conveyance of the configuration information, two 94 DHCPv6 [RFC3315] options are used; one in the case where the host 95 receives an IPv6 address, and one in the case where the host receives 96 an FQDN in order to derive an IPv6 address. 98 The details of how the B4 establishes an IPv4-in-IPv6 tunnel to the 99 AFTR are out of scope for this document. 101 3. The Dual-Stack Lite Address DHCPv6 Option 103 The Dual-Stack Lite Address option consists of option-code and 104 option-len fields (common for all DHCPv6 options), and a 128 bit 105 tunnel-endpoint-addr field, containing one IPv6 address. The tunnel- 106 endpoint-addr specifies the location of the remote tunnel endpoint, 107 expected to be located at an AFTR. 109 The DS-Lite Address option MAY appear in the root scope of a DHCPv6 110 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, 111 or similar. 113 The DS-Lite Address option MUST NOT appear more than once in a 114 message. 116 The format of the Dual-Stack Lite Address option is shown in the 117 following figure: 119 0 1 2 3 120 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 121 +-------------------------------+-------------------------------+ 122 | OPTION_DS_LITE_ADDR (TBD) | option-len: 16 | 123 +-------------------------------+-------------------------------+ 124 | | 125 | tunnel-endpoint-addr (IPv6 Address) | 126 | | 127 | | 128 +---------------------------------------------------------------+ 130 option-code: OPTION_DS_LITE_ADDR (TBD) 132 option-len: Length of the tunnel-endpoint-addr field, 133 which is precisely 16 octets. 135 tunnel-endpoint-addr: A single IPv6 address in binary 136 representation of the remote tunnel 137 endpoint, located at the DS-Lite AFTR. 139 Figure 1: DS-Lite IPv6 Address DHCPv6 Option Format 141 The client validates the DS-Lite Address option by confirming the 142 option is of 16 octets in length or greater. The client MUST ignore 143 any tunnel-endpoint-addr shorter than 16 octets. In the event the 144 option is greater than 16 octets in length, only the first 16 octets 145 are interpreted. 147 Because this option conveys the tunnel-endpoint-addr value, no 148 further processing is required of the client. 150 This option conveys a single IPv6 address, as the Dual-Stack Lite 151 specification [I-D.softwire-ds-lite-03] defines only one Softwire 152 connection between a B4 and any AFTR. Multiple connections or 153 endpoints are undefined. For more information, see Section 7.2 "High 154 Availability" of [I-D.softwire-ds-lite-03]. 156 4. The Dual-Stack Lite Name DHCPv6 Option 158 The Dual-Stack Lite Name option consists of option-code and option- 159 len fields (common for all DHCPv6 options), and a variable length 160 tunnel-endpoint-name field, containing a Fully Qualified Domain Name 161 that refers to the AFTR the client is requested to establish a 162 connection with. 164 The DS-Lite Name option MAY appear in the root scope of a DHCPv6 165 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, 166 or similar. 168 The DS-Lite Name option MUST NOT appear more than once in a message. 170 The format of the Dual-Stack Lite Name option is shown in the 171 following figure: 173 0 1 2 3 174 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 175 +-------------------------------+-------------------------------+ 176 | OPTION_DS_LITE_NAME (TBD) | option-len | 177 +-------------------------------+-------------------------------+ 178 | tunnel-endpoint-name (FQDN) | 179 +---------------------------------------------------------------+ 181 option-code: OPTION_DS_LITE_NAME (TBD) 183 option-len: Length in octets of the tunnel-endpoint- 184 name field. 186 tunnel-endpoint-name: A single Fully Qualified Domain Name of the 187 remote tunnel endpoint, located at the 188 DS-Lite AFTR. 190 Figure 2: DS-Lite Name DHCPv6 Option Format 192 The tunnel-endpoint-name field is formatted as required in DHCPv6 193 [RFC3315] Section 8 ("Representation and Use of Domain Names"). 194 Briefly, the format described is using a single octet noting the 195 length of one DNS label (limited to at most 64 octets), followed by 196 the label. This repeats until all labels in the FQDN are exhausted. 197 The root label (or the end of the FQDN) is denoted as a zero length 198 label. An example FQDN format for this option is shown in Figure 3. 200 +------+------+------+------+------+------+------+------+------+ 201 | 0x07 | e | x | a | m | p | l | e | 0x03 | 202 +------+------+------+------+------+------+------+------+------+ 203 | i | s | c | 0x03 | o | r | g | 0x00 | 204 +------+------+------+------+------+------+------+------+ 206 Figure 3: Example tunnel-endpoint-name. 208 Note that in the specific case of the example tunnel-endpoint-name, 209 (Figure 3) the length of the option is 17 octets, and so an option- 210 len field value of 17 would be used. 212 The client (B4) validates the option in this format by first 213 confirming that the option length is greater than 3, that the option 214 data can be contained by the option length (that the option length 215 does not run off the end of the packet), and that the tunnel- 216 endpoint-name is of valid format as described in DHCPv6 Section 8 217 [RFC3315]; there are no compression tags, there is at least one label 218 of nonzero length. 220 The client (B4) determines a value for the tunnel-endpoint-addr from 221 the tunnel-endpoint-name using standard DNS resolution, as defined in 222 [RFC3596]. If the DNS response contains more than one IPv6 address, 223 the client picks only one IPv6 address and uses it as a remote tunnel 224 endpoint. The client MUST NOT establish more than one DS-Lite tunnel 225 at the same time. For a redundancy and high availability discussion, 226 see Section 7.2 "High availability" of [I-D.softwire-ds-lite-03]. 228 5. DHCPv6 Server Behavior 230 DHCP servers must translate user input from their own specific and 231 unique operator's interfaces into configuration state for the client. 232 The server MUST provide a way to configure the OPTION_DS_LITE_ADDR, 233 and SHOULD allow the operator to enter a Fully Qualified Domain Name, 234 upon which the server performs DNS Resolution to assemble its 235 OPTION_DS_LITE_ADDR contents. The server MAY either provide the same 236 Fully Qualified Domain Name as OPTION_DS_LITE_NAME contents, or 237 simply provide a distinct method of configuring it. 239 If configured with values, DHCPv6 servers will include the DS-Lite 240 Address and/or Name options if either or both appear on the client's 241 Option Request Option (OPTION_ORO). RFC 3315 Section 17.2.2 242 [RFC3315] describes how a DHCPv6 client and server negotiate 243 configuration values using the ORO. 245 A DHCPv6 server MUST NOT send either option if it has not been 246 explicitly requested by the client. 248 If the server is configured with an FQDN as the tunnel endpoint 249 locator, the configured FQDN value MUST contain a resolvable Fully 250 Qualified Domain Name, having appropriate delegations from the root, 251 and having a AAAA record locating the Softwire Concentrator. 253 If OPTION_DS_LITE_NAME is being configured, the server MUST be 254 configured to provide OPTION_DNS_SERVERS defined in [RFC3646] 255 together with the DS-Lite Name option, so that clients will be able 256 to ask for DNS servers locations to resolve the domain name provided 257 in the DS-Lite Name option. 259 6. DHCPv6 Client Behavior 261 A client that supports B4 functionality of DS-Lite (defined in 262 [I-D.softwire-ds-lite-03]) MUST include OPTION_DS_LITE_ADDR on its 263 OPTION_ORO, and MAY include OPTION_DS_LITE_NAME at its option and 264 ability. 266 If requesting the OPTION_DS_LITE_NAME option, the client also SHOULD 267 request OPTION_DNS_SERVERS defined in [RFC3646] to be able to resolve 268 any received domain name. 270 If the client receives either DS-Lite option, it MUST verify the 271 option contents as described in Section 3 and Section 4. The client 272 (B4) SHOULD establish a softwire tunnel to the tunnel-endpoint-addr 273 IPv6 address it determines from either of these options. 275 If the client requests and receives both the OPTION_DS_LITE_ADDR and 276 the OPTION_DS_LITE_NAME options, it MUST proceed with resolving the 277 OPTION_DS_LITE_NAME. 279 7. Security Considerations 281 This document does not present any new security issues, but as with 282 all DHCPv6-derived configuration state, it is completely possible 283 that the configuration is being delivered by a third party (Man In 284 The Middle). As such, there is no basis to trust that the access the 285 DS-Lite Softwire connection represents can be trusted, and it should 286 not therefore bypass any security mechanisms such as IP firewalls. 288 RFC 3315 [RFC3315] discusses DHCPv6-related security issues. 290 [I-D.softwire-ds-lite-03] discusses DS-Lite related security issues. 292 8. IANA Considerations 294 IANA is requested to allocate two DHCPv6 option codes referencing 295 this document. One delineating OPTION_DS_LITE_ADDR, and one 296 delineating OPTION_DS_LITE_NAME. 298 9. Acknowledgements 300 Authors would like to thank Alain Durand, Rob Austein, Dave Thaler 301 and Paul Selkirk for their valuable feedback and suggestions. 303 10. Normative References 305 [I-D.softwire-ds-lite-03] 306 Durand, A., Ed., "Dual-stack lite broadband deployments 307 post IPv4 exhaustion", 308 draft-ietf-softwire-dual-stack-lite-03 (work in progress), 309 February 2010. 311 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 312 Requirement Levels", BCP 14, RFC 2119, March 1997. 314 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 315 and M. Carney, "Dynamic Host Configuration Protocol for 316 IPv6 (DHCPv6)", RFC 3315, July 2003. 318 [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, 319 "DNS Extensions to Support IP Version 6", RFC 3596, 320 October 2003. 322 [RFC3646] Droms, R., "DNS Configuration options for Dynamic Host 323 Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, 324 December 2003. 326 Authors' Addresses 328 David W. Hankins 329 Internet Systems Consortium, Inc. 330 950 Charter Street 331 Redwood City, CA 94063 332 US 334 Phone: +1 650 423 1307 335 Email: David_Hankins@isc.org 337 Tomasz Mrugalski 338 Gdansk University of Technology 339 Storczykowa 22B/12 340 Gdansk, 80-177 341 Poland 343 Phone: +48 698 088 272 344 Email: tomasz.mrugalski@eti.pg.gda.pl