Dynamic Host Configuration Working D. Hankins Group ISC Internet-Draft T. Mrugalski Intended status: Standards Track Gdansk University of Technology Expires: July 9, 2010 January 5, 2010 Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Options for Dual- Stack Lite draft-ietf-softwire-ds-lite-tunnel-option-01 Abstract This document specifies two DHCPv6 Options which are meant to be used by Softwire Initiator (SI) to retrieve its attached DS-Lite AFTR (Address Family Transition Router). Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on July 9, 2010. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of Hankins & Mrugalski Expires July 9, 2010 [Page 1] Internet-Draft DS Lite DHCPv6 Options January 2010 publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the BSD License. Table of Contents 1. Requirements Language . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. DHCPv6 Options . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. The Dual-Stack Lite Softwire Concentrator Address DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. The Dual-Stack Lite Softwire Concentrator Name DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 6 5. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 9. Normative References . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Hankins & Mrugalski Expires July 9, 2010 [Page 2] Internet-Draft DS Lite DHCPv6 Options January 2010 1. Requirements Language In this document, the key words "MAY", "MUST", "MUST NOT", "OPTIONAL", "RECOMMENDED", "SHOULD", and "SHOULD NOT", are to be interpreted as described in BCP 14, RFC 2119 [RFC2119]. 2. Introduction Dual-Stack Lite [draft-ietf-softwire-dual-stack-lite-02] is a solution to offer both IPv4 and IPv6 connectivity to customers which are addressed only with an IPv6 prefix (no IPv4 address is assigned to the attachment device). One of its key components is an IPv4- over-IPv6 tunnel, commonly referred to as a Softwire, but a DS-Lite Basic Bridging BroadBand (B4) will not know if the network it is attached to offers Dual-Stack Lite support, and if it did would not know the remote end of the tunnel to establish a connection. To inform the B4 of the Address Family Transition Router's (AFTR) location, either an IPv6 address or Fully Qualified Domain Name (FQDN) may be used. Once this information is conveyed, the presence of the configuration indicating the AFTR's location also informs a host to initiate Dual-Stack Lite (DS-Lite) service and become a Softwire Initiator. To provide the conveyance of the configuration information, two DHCPv6 [RFC3315] Options are used; one in the case where the host receives an IPv6 address, and one in the case where the host receives an FQDN in order to derive an IPv6 address. This document assumes that the SI is provided with appropriate instructions for the activation of an IPv4-in-IPv6 scheme which is supposed to be supported in both B4 and AFTR. Consequently, this memo does not precise the IPv4-in-IPv6 encapsulation scheme to be used by B4. 3. DHCPv6 Options Following sub-sections define two new DHCPv6 Options, conformant with requirements specified in DHCPv6 [RFC3315] Section 22.1. 3.1. The Dual-Stack Lite Softwire Concentrator Address DHCPv6 Option The Dual-Stack Lite Softwire Concentrator Address Option consists of option-code and option-len fields (common for all DHCPv6 Options), and a 128 bit tunnel-endpoint-addr field, containing one IPv6 address. The tunnel-endpoint-addr specifies the location of the Hankins & Mrugalski Expires July 9, 2010 [Page 3] Internet-Draft DS Lite DHCPv6 Options January 2010 remote tunnel endpoint, expected to be located at an AFTR (DS-Lite Address Family Transition Router element). The DS-Lite Address DHCPv6 Option MAY appear in the root scope of a DHCPv6 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, or similar. The DS-Lite Address DHCPv6 Option MUST NOT appear more than once in a message. The format of the Dual-Stack Lite Softwire Concentrator Addr DHCPv6 Option is shown in the following figure: 0 1 2 3 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 +-------------------------------+-------------------------------+ | OPTION_DS_LITE_ADDR (TBD) | option-len: 16 | +-------------------------------+-------------------------------+ | | | tunnel-endpoint-addr (IPv6 Address) | | | | | +---------------------------------------------------------------+ DS Lite IPv6 Address DHCPv6 Option format. Figure 1 Below is provided the description of the enclosed fields: option-code: OPTION_DS_LITE_ADDR (TBD) option-len: Length of the tunnel-endpoint-addr field, which is currently defined to be precisely 16 octets. tunnel-endpoint-addr: This field contains a single IPv6 address in binary representation of the remote tunnel endpoint, located at the DS-Lite AFTR. It is precisely 16 octets in length. The client validates the DS-Lite Address DHCPv6 Option by confirming the option is of 16 octets in length or greater. The client MUST ignore tunnel-endpoint-addr shorter than 16 octets. In the event the option is greater than 16 octets in length, only the first 16 octets are interpreted. Because this option conveys the tunnel-endpoint-addr value, no further processing is required of the client. Hankins & Mrugalski Expires July 9, 2010 [Page 4] Internet-Draft DS Lite DHCPv6 Options January 2010 The definition of this option is simple and encloses only a single IPv6 address. It is temping to define a flexible option which may convey several IPv6 addresses (for robustness and service availability reasons), but for the sake of simplicity and consistency it is recommended to use a FQDN Option instead of conveying several IPv6 addresses. 3.2. The Dual-Stack Lite Softwire Concentrator Name DHCPv6 Option The Dual-Stack Lite Softwire Concentrator Name Option consists of option-code and option-len fields (common for all DHCPv6 Options), and a variable length tunnel-endpoint-name field, containing a Fully Qualified Domain Name that refers to the AFTR the client is requested to establish a connection with. The DS-Lite Name option MAY appear in the root scope of a DHCPv6 packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, or similar. The DS-Lite Name DHCPv6 Option MUST NOT appear more than once in a message. The format of the Dual-Stack Lite Softwire Concentrator Name DHCPv6 Option is shown in th following figure: 0 1 2 3 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 +-------------------------------+-------------------------------+ | OPTION_DS_LITE_NAME (TBD) | option-len | +-------------------------------+-------------------------------+ | tunnel-endpoint-name (FQDN) | +---------------------------------------------------------------+ DS-Lite FQDN DHCPv6 Option format. Figure 2 Below is provided the description of the enclosed fields: option-code: OPTION_DS_LITE_NAME (TBD) option-len: Length in octets of the tunnel-endpoint-name field. tunnel-endpoint-name: This field contains a single Fully Qualified Domain Name of the remote tunnel endpoint, located at the DS-Lite AFTR. The tunnel-endpoint-name field is formatted as required in DHCPv6 Hankins & Mrugalski Expires July 9, 2010 [Page 5] Internet-Draft DS Lite DHCPv6 Options January 2010 [RFC3315] Section 8 ("Representation and Use of Domain Names"). Briefly, the format described is using a single octet noting the length of one DNS label (limited to at most 64 octets), followed by the label. This repeats until all labels in the FQDN are exhausted. The root label (or the end of the FQDN) is denoted as a zero length label. An example FQDN format for this option is shown in Figure 3. +------+------+------+------+------+------+------+------+------+ | 0x07 | e | x | a | m | p | l | e | 0x03 | +------+------+------+------+------+------+------+------+------+ | i | s | c | 0x03 | o | r | g | 0x00 | +------+------+------+------+------+------+------+------+ Example tunnel-endpoint-name. Figure 3 Note that in the specific case of the example tunnel-endpoint-name, (Figure 3) the length of the option is 17 octets, and so an option- len field value of 17 would be used. The client (B4) validates the option in this format by first confirming that the option length is greater than 3, that the option data can be contained by the option length (that the option length does not run off the end of the packet), and that the tunnel- endpoint-name is of valid format as described in DHCPv6 Section 8 [RFC3315]; there are no compression tags, there is at least one label of nonzero length. The client (B4) determines a value for the tunnel-endpoint-addr from the tunnel-endpoint-name using standard DNS resolution, as defined in [RFC3596]. If the DNS response contains more than one IPv6 address, the client picks only one IPv6 address and uses it as a remote tunnel endpoint. The client MUST NOT establish more than one DS Lite tunnel at the same time. For a redundancy and high availability discussion, see Section 7.2 "High availability" of [draft-ietf-softwire-dual-stack-lite-02]. 4. DHCPv6 Server Behavior DHCP servers must translate user input from their own specific and unique operator's interfaces into configuration state for the client. The server MUST provide a way to configure the OPTION_DS_LITE_ADDR, and SHOULD allow the operator to enter a Fully Qualified Domain Name, upon which the server performs DNS Resolution to assemble its OPTION_DS_LITE_ADDR contents. The server MAY either provide the same Fully Qualified Domain Name as OPTION_DS_LITE_NAME contents, or Hankins & Mrugalski Expires July 9, 2010 [Page 6] Internet-Draft DS Lite DHCPv6 Options January 2010 simply provide a distinct method of configuring it. If configured with values, DHCPv6 servers will include the DS Lite Address and/or Name Options if either or both appear on the client's Option Request Option (OPTION_ORO). RFC 3315 Section 17.2.2 [RFC3315] describes how a DHCPv6 client and server negotiate configuration values using the ORO. A DHCPv6 server MAY NOT send either Option if it has not been explicitly requested by the client. If the server is configured with an FQDN as the tunnel endpoint locator, the configured FDQN value MUST contain a resolvable Fully Qualified Domain Name, having appropriate delegations from the root, and having a AAAA record locating the Softwire Concentrator. If OPTION_DS_LITE_NAME is being configured, the server MUST be configured to provide OPTION_DNS_SERVERS defined in [RFC3646] together with the DS Lite option, so that clients will be able to ask for DNS servers locations to resolve the domain name provided in the DS-Lite Name DHCPv6 option. 5. DHCPv6 Client Behavior A client that supports B4 functionality of the DS-Lite (defined in [draft-ietf-softwire-dual-stack-lite-02]) MUST include OPTION_DS_LITE_ADDR on its OPTION_ORO, and MAY include OPTION_DS_LITE_NAME at its option and ability. If requesting the OPTION_DS_LITE_NAME DHCPv6 Option, the client also SHOULD request OPTION_DNS_SERVERS defined in [RFC3646] to be able to resolve any received domain name. If the client receives either DS-Lite Option, it MUST verify the option contents as described in Section 3.1 and Section 3.2. The client (B4) SHOULD establish a softwire tunnel to the tunnel- endpoint-addr IPv6 address it determines from either of these options. If the client requests and receives both the OPTION_DS_LITE_ADDR and the OPTION_DS_LITE_NAME, it MUST proceed with resolving the OPTION_DS_LITE_NAME. 6. Security Considerations This document does not present any new security issues, but as with Hankins & Mrugalski Expires July 9, 2010 [Page 7] Internet-Draft DS Lite DHCPv6 Options January 2010 all DHCPv6-derived configuration state, it is completely possible that the configuration is being delivered by a third party (Man In The Middle). As such, there is no basis to trust that the access the DS-Lite Softwire connection represents can be trusted, and it should not therefore bypass any security mechanisms such as IP firewalls. RFC 3315 [RFC3315] discusses DHCPv6-related security issues. [draft-ietf-softwire-dual-stack-lite-02] discusses DS Lite related security issues. 7. IANA Considerations IANA is requested to allocate two DHCPv6 Option codes referencing this document. One delineating OPTION_DS_LITE_ADDR, and one delineating OPTION_DS_LITE_NAME. 8. Acknowledgements Authors would like to thank Alain Durand, Rob Austein and Dave Thaler for their valuable feedback and suggestions. 9. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, "DNS Extensions to Support IP Version 6", RFC 3596, October 2003. [RFC3646] Droms, R., "DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, December 2003. [draft-ietf-softwire-dual-stack-lite-02] Durand, A., Ed., "Dual-stack lite broadband deployments post IPv4 exhaustion", October 2009. Hankins & Mrugalski Expires July 9, 2010 [Page 8] Internet-Draft DS Lite DHCPv6 Options January 2010 Authors' Addresses David W. Hankins Internet Systems Consortium, Inc. 950 Charter Street Redwood City, CA 94063 US Phone: +1 650 423 1307 Email: David_Hankins@isc.org Tomasz Mrugalski Gdansk University of Technology Storczykowa 22B/12 Gdansk, 80-177 Poland Phone: +48 698 088 272 Email: tomasz.mrugalski@eti.pg.gda.pl Hankins & Mrugalski Expires July 9, 2010 [Page 9]