draft-ietf-softwire-ds-lite-tunnel-option-10.txt   rfc6334.txt 
Softwire D. Hankins Internet Engineering Task Force (IETF) D. Hankins
Internet-Draft Google Request for Comments: 6334 Google
Intended status: Standards Track T. Mrugalski Category: Standards Track T. Mrugalski
Expires: September 8, 2011 Gdansk University of Technology ISSN: 2070-1721 Gdansk University of Technology
March 7, 2011 August 2011
Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Option for Dual- Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Option
Stack Lite for Dual-Stack Lite
draft-ietf-softwire-ds-lite-tunnel-option-10
Abstract Abstract
This document specifies a DHCPv6 option which is meant to be used by This document specifies a DHCPv6 option that is meant to be used by a
a Dual-Stack Lite Basic Bridging Broadband (B4) element to discover Dual-Stack Lite Basic Bridging BroadBand (B4) element to discover the
the IPv6 address of its corresponding Address Family Transition IPv6 address of its corresponding Address Family Transition Router
Router (AFTR). (AFTR).
Status of this Memo
This Internet-Draft is submitted in full conformance with the Status of This Memo
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering This is an Internet Standards Track document.
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on September 8, 2011. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6334.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Requirements Language . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction ....................................................2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language ...........................................2
3. The AFTR-Name DHCPv6 Option . . . . . . . . . . . . . . . . . . 3 3. The AFTR-Name DHCPv6 Option .....................................2
4. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 5 4. DHCPv6 Server Behavior ..........................................4
5. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 5 5. DHCPv6 Client Behavior ..........................................4
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations .........................................5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations .............................................6
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 8. Acknowledgements ................................................6
9. Normative References . . . . . . . . . . . . . . . . . . . . . 7 9. Normative References ............................................6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Introduction 1. Introduction
Dual-Stack Lite [I-D.softwire-ds-lite] is a solution to offer both Dual-Stack Lite [RFC6333] is a solution to offer both IPv4 and IPv6
IPv4 and IPv6 connectivity to customers which are addressed only with connectivity to customers that are addressed only with an IPv6 prefix
an IPv6 prefix (no IPv4 address is assigned to the attachment (no IPv4 address is assigned to the attachment device). One of its
device). One of its key components is an IPv4-over-IPv6 tunnel, key components is an IPv4-over-IPv6 tunnel, commonly referred to as a
commonly referred to as a Softwire. A DS-Lite "Basic Bridging softwire. A DS-Lite "Basic Bridging BroadBand" (B4) device will not
BroadBand" (B4) device will not know if the network it is attached to know if the network it is attached to offers Dual-Stack Lite service,
offers Dual-Stack Lite service, and if it did would not know the and if it did would not know the remote endpoint of the tunnel to
remote endpoint of the tunnel to establish a softwire. establish a softwire.
To inform the B4 of the Address Family Transition Router's (AFTR) To inform the B4 of the Address Family Transition Router's (AFTR)
location, a DNS [RFC1035] hostname may be used. Once this location, a DNS [RFC1035] hostname may be used. Once this
information is conveyed, the presence of the configuration indicating information is conveyed, the presence of the configuration indicating
the AFTR's location also informs a host to initiate Dual-Stack Lite the AFTR's location also informs a host to initiate Dual-Stack Lite
(DS-Lite) service and become a Softwire Initiator. (DS-Lite) service and become a softwire initiator.
To provide the conveyance of the configuration information, a single To provide the conveyance of the configuration information, a single
DHCPv6 [RFC3315] option is used, expressing the AFTR's Fully DHCPv6 [RFC3315] option is used, expressing the AFTR's Fully
Qualified Domain Name (FQDN) to the B4 element. Qualified Domain Name (FQDN) to the B4 element.
The details of how the B4 establishes an IPv4-in-IPv6 softwire to the The details of how the B4 establishes an IPv4-in-IPv6 softwire to the
AFTR are out of scope for this document. AFTR are out of scope for this document.
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3. The AFTR-Name DHCPv6 Option 3. The AFTR-Name DHCPv6 Option
The AFTR-Name option consists of option-code and option-len fields The AFTR-Name option consists of option-code and option-len fields
(as all DHCPv6 options have), and a variable length tunnel-endpoint- (as all DHCPv6 options have), and a variable-length tunnel-endpoint-
name field containing a fully qualified domain name that refers to name field containing a fully qualified domain name that refers to
the AFTR which the client MAY connect to. the AFTR to which the client MAY connect.
The AFTR-Name option SHOULD NOT appear in any other than the The AFTR-Name option SHOULD NOT appear in any DHCPv6 messages other
following DHCPv6 messages: Solicit, Advertise, Request, Renew, than the following: Solicit, Advertise, Request, Renew, Rebind,
Rebind, Information-Request and Reply. Information-Request, and Reply.
The format of the AFTR-Name option is shown in the following figure: The format of the AFTR-Name option is shown in the following figure:
0 1 2 3 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 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_AFTR_NAME: (TBD) | option-len | | OPTION_AFTR_NAME: 64 | option-len |
+-------------------------------+-------------------------------+ +-------------------------------+-------------------------------+
| | | |
| tunnel-endpoint-name (FQDN) | | tunnel-endpoint-name (FQDN) |
| | | |
+---------------------------------------------------------------+ +---------------------------------------------------------------+
OPTION_AFTR_NAME: (TBD) OPTION_AFTR_NAME: 64
option-len: Length of the tunnel-endpoint-name field in option-len: Length of the tunnel-endpoint-name field in
octets. octets.
tunnel-endpoint-name: A fully qualified domain name of the AFTR tunnel-endpoint-name: A fully qualified domain name of the AFTR
tunnel endpoint. tunnel endpoint.
Figure 1: AFTR-Name DHCPv6 Option Format Figure 1: AFTR-Name DHCPv6 Option Format
The tunnel-endpoint-name field is formatted as required in DHCPv6 The tunnel-endpoint-name field is formatted as required in DHCPv6
[RFC3315] Section 8 ("Representation and Use of Domain Names"). [RFC3315] Section 8 ("Representation and Use of Domain Names").
Briefly, the format described is using a single octet noting the Briefly, the format described is using a single octet noting the
length of one DNS label (limited to at most 63 octets), followed by length of one DNS label (limited to at most 63 octets), followed by
the label contents. This repeats until all labels in the FQDN are the label contents. This repeats until all labels in the FQDN are
exhausted, including a terminating zero-length label. Any updates to exhausted, including a terminating zero-length label. Any updates to
Section 8 of DHCPv6 [RFC3315] also apply to encoding of this field. Section 8 of DHCPv6 [RFC3315] also apply to encoding of this field.
An example format for this option is shown in Figure 2, which conveys An example format for this option is shown in Figure 2, which conveys
the FQDN "aftr.example.com.". the FQDN "aftr.example.com.".
+------+------+------+------+------+------+------+------+------+ +------+------+------+------+------+------+------+------+------+
| 0x04 | a | f | t | r | 0x07 | e | x | a | | 0x04 | a | f | t | r | 0x07 | e | x | a |
+------+------+------+------+------+------+------+------+------+ +------+------+------+------+------+------+------+------+------+
| m | p | l | e | 0x03 | c | o | m | 0x00 | | m | p | l | e | 0x03 | c | o | m | 0x00 |
+------+------+------+------+------+------+------+------+------+ +------+------+------+------+------+------+------+------+------+
Figure 2: Example tunnel-endpoint-name. Figure 2: Example tunnel-endpoint-name
Note that in the specific case of the example tunnel-endpoint-name Note that in the specific case of the example tunnel-endpoint-name
(Figure 2), the length of the tunnel-endpoint-name is 18 octets, and (Figure 2), the length of the tunnel-endpoint-name is 18 octets, and
so an option-len field value of 18 would be used. so an option-len field value of 18 would be used.
The option is validated by confirming that all of the following The option is validated by confirming that all of the following
conditions are met: conditions are met:
1. the option-len is greater than 3; 1. the option-len is greater than 3;
2. the option data can be contained by the option length (that the
option length does not run off the end of the packet); 2. the option-len is less than or equal to the remaining number of
octets in the DHCPv6 packet;
3. the individual label lengths do not exceed the option length; 3. the individual label lengths do not exceed the option length;
4. the tunnel-endpoint-name is of valid format as described in 4. the tunnel-endpoint-name is of valid format as described in
DHCPv6 Section 8 [RFC3315]; DHCPv6 Section 8 [RFC3315];
5. there are no compression tags; 5. there are no compression tags;
6. there is at least one label of nonzero length. 6. there is at least one label of nonzero length.
4. DHCPv6 Server Behavior 4. DHCPv6 Server Behavior
A DHCPv6 server SHOULD NOT send more than one AFTR-Name option. It A DHCPv6 server SHOULD NOT send more than one AFTR-Name option. It
SHOULD NOT permit the configuration of multiple names within one SHOULD NOT permit the configuration of multiple names within one
AFTR-Name option. Both of these conditions are handled exceptionally AFTR-Name option. Both of these conditions are handled as exceptions
by the client, so an operator using software that does not perform by the client, so an operator using software that does not perform
these validations should be careful not to configure multiple domain these validations should be careful not to configure multiple domain
names. names.
RFC 3315 Section 17.2.2 [RFC3315] describes how a DHCPv6 client and RFC 3315 Section 17.2.2 [RFC3315] describes how a DHCPv6 client and
server negotiate configuration values using the Option Request Option server negotiate configuration values using the Option Request option
(OPTION_ORO). As a convenience to the reader, we mention here that a (OPTION_ORO). As a convenience to the reader, we mention here that a
server will not reply with a AFTR-Name option if the client has not server will not reply with an AFTR-Name option if the client has not
explicitly enumerated it on its Option Request Option. explicitly enumerated it on its Option Request option.
5. DHCPv6 Client Behavior 5. DHCPv6 Client Behavior
A client that supports the B4 functionality of DS-Lite (defined in A client that supports the B4 functionality of DS-Lite (defined in
[I-D.softwire-ds-lite]) and conforms to this specification MUST [RFC6333]) and conforms to this specification MUST include
include OPTION_AFTR_NAME on its OPTION_ORO. OPTION_AFTR_NAME on its OPTION_ORO.
Because it requires DNS name to address resolution, the client MAY Because it requires a DNS name for address resolution, the client MAY
also wish to include the OPTION_DNS_SERVERS [RFC3646] option on its also wish to include the OPTION_DNS_SERVERS [RFC3646] option on its
OPTION_ORO. OPTION_ORO.
If the client receives the AFTR-Name option, it MUST verify the If the client receives the AFTR-Name option, it MUST verify the
option contents as described in Section 3. option contents as described in Section 3.
Note that in different environments, the B4 element and DHCPv6 client Note that in different environments, the B4 element and DHCPv6 client
may be integrated, joined, or separated by a third pieces of may be integrated, joined, or separated by a third piece of software.
software. For the purpose of this specification, we refer to the "B4 For the purpose of this specification, we refer to the "B4 system"
system" when specifying implementation steps that may be processed at when specifying implementation steps that may be processed at any
any stage of integration between the DHCPv6 client software and the stage of integration between the DHCPv6 client software and the B4
B4 element it is configuring. element it is configuring.
If the B4 system receives more than one AFTR-Name option, it MUST use If the B4 system receives more than one AFTR-Name option, it MUST use
only the first instance of that option. only the first instance of that option.
If the AFTR-Name option contains more than one FQDN, as distinguished If the AFTR-Name option contains more than one FQDN, as distinguished
by the presence of multiple root labels, the B4 system MUST use only by the presence of multiple root labels, the B4 system MUST use only
the first FQDN listed in configuration. the first FQDN listed in the configuration.
The B4 system performs standard DNS resolution using the provided The B4 system performs standard DNS resolution using the provided
FQDN to resolve a AAAA Resource Record, as defined in [RFC3596] and FQDN to resolve a AAAA Resource Record, as defined in [RFC3596] and
STD 13 [RFC1034] [RFC1035]. STD 13 ([RFC1034], [RFC1035]).
If any DNS response contains more than one IPv6 address, the B4 If any DNS response contains more than one IPv6 address, the B4
system picks only one IPv6 address and uses it as a remote tunnel system picks only one IPv6 address and uses it as a remote tunnel
endpoint for the interface being configured in the current message endpoint for the interface being configured in the current message
exchange. The B4 system MUST NOT establish more than one DS-Lite exchange. The B4 system MUST NOT establish more than one DS-Lite
tunnel at the same time per interface. For a redundancy and high tunnel at the same time per interface. For a redundancy and high-
availability discussion, see Section 12.3 "High availability" of availability discussion, see Appendix A.3 ("High Availability") of
[I-D.softwire-ds-lite]. [RFC6333].
Note that a B4 system may have multiple network interfaces, and these Note that a B4 system may have multiple network interfaces, and these
interfaces may be configured differently; some may be connected to interfaces may be configured differently; some may be connected to
networks that call for DS-Lite, and some may be connected to networks networks that call for DS-Lite, and some may be connected to networks
that are using normal dual stack or other means. The B4 system that are using normal dual stack or other means. The B4 system
should approach this specification on an interface-by-interface should approach this specification on an interface-by-interface
basis. For example, if the B4 system is attached to multiple basis. For example, if the B4 system is attached to multiple
networks that provide the AFTR Name option, then the B4 system MUST networks that provide the AFTR-Name option, then the B4 system MUST
configure a tunnel for each interface separately as each DS-Lite configure a tunnel for each interface separately, as each DS-Lite
tunnel provides IPv4 connectivity for each distinct interface. Means tunnel provides IPv4 connectivity for each distinct interface. Means
to bind a AFTR Name and DS-Lite tunnel configuration to a given to bind an AFTR-Name and DS-Lite tunnel configuration to a given
interface in a multiple interfaces device are out of scope of this interface in a multiple-interface device are out of scope of this
document. document.
6. Security Considerations 6. Security Considerations
This document does not present any new security issues, but as with This document does not present any new security issues, but as with
all DHCPv6-derived configuration state, it is completely possible all DHCPv6-derived configuration state, it is completely possible
that the configuration is being delivered by a third party (Man In 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 the Middle). As such, there is no basis for trusting the access
DS-Lite Softwire connection represents can be trusted, and it should level represented by the DS-Lite softwire connection, and DS-Lite
not therefore bypass any security mechanisms such as IP firewalls. should therefore not bypass any security mechanisms such as IP
firewalls.
RFC 3315 [RFC3315] discusses DHCPv6-related security issues. [RFC3315] discusses DHCPv6-related security issues.
[I-D.softwire-ds-lite] discusses DS-Lite related security issues. [RFC6333] discusses DS-Lite-related security issues.
7. IANA Considerations 7. IANA Considerations
IANA is requested to allocate single DHCPv6 option code referencing IANA has allocated a single DHCPv6 option code, 64, referencing this
this document, delineating OPTION_AFTR_NAME. document, delineating OPTION_AFTR_NAME.
8. Acknowledgements 8. Acknowledgements
Authors would like to thank Alain Durand, Rob Austein, Dave Thaler, The authors would like to thank Alain Durand, Rob Austein, Dave
Paul Selkirk, Ralph Droms, Mohamed Boucadair, Roberta Maglione and Thaler, Paul Selkirk, Ralph Droms, Mohamed Boucadair, Roberta
Shawn Routhier for their valuable feedback and suggestions. Maglione, and Shawn Routhier for their valuable feedback and
suggestions. The authors acknowledge significant support for this
work, provided by Internet Systems Consortium, Inc.
This work has been partially supported by the Polish Ministry of This work has been partially supported by the Polish Ministry of
Science and Higher Education under the European Regional Development Science and Higher Education under the European Regional Development
Fund, Grant No. POIG.01.01.02-00-045/09-00 (Future Internet Fund, Grant No. POIG.01.01.02-00-045/09-00 (Future Internet
Engineering Project). Engineering Project).
9. Normative References 9. Normative References
[I-D.softwire-ds-lite]
Durand, A., Ed., "Dual-stack lite broadband deployments
post IPv4 exhaustion", draft-ietf-softwire-dual-stack-lite
(work in progress).
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, November 1987. STD 13, RFC 1034, November 1987.
[RFC1035] Mockapetris, P., "Domain names - implementation and [RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987. specification", STD 13, RFC 1035, November 1987.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., [RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
and M. Carney, "Dynamic Host Configuration Protocol for C., and M. Carney, "Dynamic Host Configuration Protocol
IPv6 (DHCPv6)", RFC 3315, July 2003. for IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi,
"DNS Extensions to Support IP Version 6", RFC 3596, "DNS Extensions to Support IP Version 6", RFC 3596,
October 2003. October 2003.
[RFC3646] Droms, R., "DNS Configuration options for Dynamic Host [RFC3646] Droms, R., Ed., "DNS Configuration options for Dynamic
Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3646,
December 2003. December 2003.
[RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
Stack Lite Broadband Deployments Following IPv4
Exhaustion", RFC 6333, August 2011.
Authors' Addresses Authors' Addresses
David W. Hankins David W. Hankins
Google, Inc. Google, Inc.
1600 Amphitheatre Parkway 1600 Amphitheatre Parkway
Mountain View, CA 94043 Mountain View, CA 94043
USA USA
Email: dhankins@google.com EMail: dhankins@google.com
Tomasz Mrugalski Tomasz Mrugalski
Gdansk University of Technology Gdansk University of Technology
ul. Storczykowa 22B/12 ul. Storczykowa 22B/12
Gdansk 80-177 Gdansk 80-177
Poland Poland
Phone: +48 698 088 272 Phone: +48 698 088 272
Email: tomasz.mrugalski@eti.pg.gda.pl EMail: tomasz.mrugalski@eti.pg.gda.pl
 End of changes. 45 change blocks. 
122 lines changed or deleted 120 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/