draft-ietf-softwire-ds-lite-tunnel-option-03.txt   draft-ietf-softwire-ds-lite-tunnel-option-04.txt 
Softwires D. Hankins Softwires D. Hankins
Internet-Draft ISC Internet-Draft ISC
Intended status: Standards Track T. Mrugalski Intended status: Standards Track T. Mrugalski
Expires: December 26, 2010 Gdansk University of Technology Expires: March 19, 2011 Gdansk University of Technology
June 24, 2010 September 15, 2010
Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Options for Dual- Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Options for Dual-
Stack Lite Stack Lite
draft-ietf-softwire-ds-lite-tunnel-option-03 draft-ietf-softwire-ds-lite-tunnel-option-04
Abstract Abstract
This document specifies two DHCPv6 options which are meant to be used This document specifies two DHCPv6 options which are meant to be used
by a Dual-Stack Lite client (Basic Bridging BroadBand element, B4) to by a Dual-Stack Lite client (Basic Bridging BroadBand element, B4) to
discover its Address Family Transition Router (AFTR) address. discover its Address Family Transition Router (AFTR) address.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 34 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 26, 2010. This Internet-Draft will expire on March 19, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 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
skipping to change at page 2, line 14 skipping to change at page 2, line 14
Table of Contents Table of Contents
1. Requirements Language . . . . . . . . . . . . . . . . . . . . . 3 1. Requirements Language . . . . . . . . . . . . . . . . . . . . . 3
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. The Dual-Stack Lite Address DHCPv6 Option . . . . . . . . . . . 3 3. The Dual-Stack Lite Address DHCPv6 Option . . . . . . . . . . . 3
4. The Dual-Stack Lite Name DHCPv6 Option . . . . . . . . . . . . 4 4. The Dual-Stack Lite Name DHCPv6 Option . . . . . . . . . . . . 4
5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 6 5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 6
6. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 7 6. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
10. Normative References . . . . . . . . . . . . . . . . . . . . . 8 10. Normative References . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Requirements Language 1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. Introduction 2. Introduction
Dual-Stack Lite [I-D.softwire-ds-lite-04] is a solution to offer both Dual-Stack Lite [I-D.softwire-ds-lite] is a solution to offer both
IPv4 and IPv6 connectivity to customers which are addressed only with IPv4 and IPv6 connectivity to customers which are addressed only with
an IPv6 prefix (no IPv4 address is assigned to the attachment an IPv6 prefix (no IPv4 address is assigned to the attachment
device). One of its key components is an IPv4-over-IPv6 tunnel, device). One of its key components is an IPv4-over-IPv6 tunnel,
commonly referred to as a Softwire, but a DS-Lite Basic Bridging 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 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 Dual-Stack Lite support, and if it did would not know the remote end
of the tunnel to establish a connection. of the tunnel to establish a connection.
To inform the B4 of the AFTR's location, either an IPv6 address or To inform the B4 of the Address Family Transition Router's (AFTR)
Fully Qualified Domain Name (FQDN) may be used. Once this location, either an IPv6 address, Fully Qualified Domain Name (FQDN)
information is conveyed, the presence of the configuration indicating or both may be used. Once this information is conveyed, the presence
the AFTR's location also informs a host to initiate Dual-Stack Lite of the configuration indicating the AFTR's location also informs a
(DS-Lite) service and become a Softwire Initiator. host to initiate Dual-Stack Lite (DS-Lite) service and become a
Softwire Initiator.
To provide the conveyance of the configuration information, two To provide the conveyance of the configuration information, two
DHCPv6 [RFC3315] options are used; one in the case where the host 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 receives an IPv6 address, and one in the case where the host receives
an FQDN in order to derive an IPv6 address. an FQDN in order to derive an IPv6 address.
The details of how the B4 establishes an IPv4-in-IPv6 tunnel to the The details of how the B4 establishes an IPv4-in-IPv6 tunnel to the
AFTR are out of scope for this document. AFTR are out of scope for this document.
3. The Dual-Stack Lite Address DHCPv6 Option 3. The Dual-Stack Lite Address DHCPv6 Option
The Dual-Stack Lite Address option consists of option-code and The Dual-Stack Lite Address option consists of option-code and
option-len fields (common for all DHCPv6 options), and a 128 bit option-len fields (common for all DHCPv6 options), and a 128 bit
tunnel-endpoint-addr field, containing one IPv6 address. The tunnel- tunnel-endpoint-addr field, containing one IPv6 address. The tunnel-
endpoint-addr specifies the location of the remote tunnel endpoint, endpoint-addr specifies the location of the remote tunnel endpoint,
expected to be located at an AFTR. expected to be located at an AFTR.
The DS-Lite Address option MAY appear in the root scope of a DHCPv6 The DS-Lite Address option MAY appear in the root scope of a DHCPv6
packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR, packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR,
or similar. or similar. Any DS-Lite Address option received inside any other
option MUST be ignored.
The DS-Lite Address option MUST NOT appear more than once in a The DS-Lite Address option MUST NOT appear more than once in a
message. message. Client that receives more than one DS-Lite Address option
MUST discard all instances of that option.
The format of the Dual-Stack Lite Address option is shown in the The format of the Dual-Stack Lite Address option is shown in the
following figure: 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_DS_LITE_ADDR (TBD) | option-len: 16 | | OPTION_DS_LITE_ADDR (TBD) | option-len: 16 |
+-------------------------------+-------------------------------+ +-------------------------------+-------------------------------+
| | | |
skipping to change at page 4, line 31 skipping to change at page 4, line 33
option-len: Length of the tunnel-endpoint-addr field, option-len: Length of the tunnel-endpoint-addr field,
which is precisely 16 octets. which is precisely 16 octets.
tunnel-endpoint-addr: A single IPv6 address in binary tunnel-endpoint-addr: A single IPv6 address in binary
representation of the remote tunnel representation of the remote tunnel
endpoint, located at the DS-Lite AFTR. endpoint, located at the DS-Lite AFTR.
Figure 1: DS-Lite IPv6 Address DHCPv6 Option Format Figure 1: DS-Lite IPv6 Address DHCPv6 Option Format
The client validates the DS-Lite Address option by confirming the The client validates the DS-Lite Address option by confirming the
option is of 16 octets in length or greater. The client MUST ignore option length is exaclty 16 octets. The client MUST ignore any DS-
any tunnel-endpoint-addr shorter than 16 octets. In the event the Lite Address option that has length other than 16 octets.
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 Because this option conveys the tunnel-endpoint-addr value, no
further processing is required of the client. further processing is required of the client.
This option conveys a single IPv6 address, as the Dual-Stack Lite This option conveys a single IPv6 address, as the Dual-Stack Lite
specification [I-D.softwire-ds-lite-04] defines only one Softwire specification [I-D.softwire-ds-lite] defines only one Softwire
connection between a B4 and any AFTR. Multiple connections or connection between a B4 and any AFTR. Multiple connections or
endpoints are undefined. For more information, see Section 7.2 "High endpoints are undefined. For more information, see Section 7.2 "High
Availability" of [I-D.softwire-ds-lite-04]. Availability" of [I-D.softwire-ds-lite].
4. The Dual-Stack Lite Name DHCPv6 Option 4. The Dual-Stack Lite Name DHCPv6 Option
The Dual-Stack Lite Name option consists of option-code and option- The Dual-Stack Lite Name option consists of option-code and option-
len fields (common for all DHCPv6 options), and a variable length len fields (common for all DHCPv6 options), and a variable length
tunnel-endpoint-name field, containing a Fully Qualified Domain Name tunnel-endpoint-name field, containing a Fully Qualified Domain Name
that refers to the AFTR the client is requested to establish a that refers to the AFTR the client is requested to establish a
connection with. connection with.
The DS-Lite Name option MAY appear in the root scope of a DHCPv6 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, packet. It MUST NOT appear inside any IA_NA, IA_TA, IA_PD, IAADDR,
or similar. or similar. Any DS-Lite Name option received inside any other option
MUST be ignored.
The DS-Lite Name option MUST NOT appear more than once in a message. The DS-Lite Name option MUST NOT appear more than once in a message.
Client that receives more than one DS-Lite Name option MUST discard
all instances of that option.
The format of the Dual-Stack Lite Name option is shown in the The format of the Dual-Stack Lite Name option is shown in the
following figure: 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_DS_LITE_NAME (TBD) | option-len | | OPTION_DS_LITE_NAME (TBD) | option-len |
+-------------------------------+-------------------------------+ +-------------------------------+-------------------------------+
| tunnel-endpoint-name (FQDN) | | tunnel-endpoint-name (FQDN) |
skipping to change at page 5, line 39 skipping to change at page 5, line 43
DS-Lite AFTR. DS-Lite AFTR.
Figure 2: DS-Lite Name DHCPv6 Option Format Figure 2: DS-Lite 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 64 octets), followed by 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 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 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. label. Any possible updates to Section 8 of DHCPv6 [RFC3315] also
apply to encoding of this FQDN field. An example FQDN format for
this option is shown in Figure 3.
+------+------+------+------+------+------+------+------+------+ +------+------+------+------+------+------+------+------+------+
| 0x07 | e | x | a | m | p | l | e | 0x03 | | 0x07 | e | x | a | m | p | l | e | 0x03 |
+------+------+------+------+------+------+------+------+------+ +------+------+------+------+------+------+------+------+------+
| i | s | c | 0x03 | o | r | g | 0x00 | | i | s | c | 0x03 | o | r | g | 0x00 |
+------+------+------+------+------+------+------+------+ +------+------+------+------+------+------+------+------+
Figure 3: Example tunnel-endpoint-name. Figure 3: 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,
skipping to change at page 6, line 19 skipping to change at page 6, line 31
endpoint-name is of valid format as described in DHCPv6 Section 8 endpoint-name is of valid format as described in DHCPv6 Section 8
[RFC3315]; there are no compression tags, there is at least one label [RFC3315]; there are no compression tags, there is at least one label
of nonzero length. of nonzero length.
The client (B4) determines a value for the tunnel-endpoint-addr from The client (B4) determines a value for the tunnel-endpoint-addr from
the tunnel-endpoint-name using standard DNS resolution, as defined in the tunnel-endpoint-name using standard DNS resolution, as defined in
[RFC3596]. If the DNS response contains more than one IPv6 address, [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 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 endpoint. The client MUST NOT establish more than one DS-Lite tunnel
at the same time. For a redundancy and high availability discussion, at the same time. For a redundancy and high availability discussion,
see Section 7.2 "High availability" of [I-D.softwire-ds-lite-04]. see Section 7.2 "High availability" of [I-D.softwire-ds-lite].
5. DHCPv6 Server Behavior 5. DHCPv6 Server Behavior
DHCP servers must translate user input from their own specific and DHCP servers must translate user input from their own specific and
unique operator's interfaces into configuration state for the client. unique operator's interfaces into configuration state for the client.
The server MUST provide a way to configure the OPTION_DS_LITE_ADDR, 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, As a convenience to the operator, the server MAY allow the operator
upon which the server performs DNS Resolution to assemble its to enter a Fully Qualified Domain Name, upon which the server
OPTION_DS_LITE_ADDR contents. The server MAY either provide the same performs DNS Resolution to assemble its OPTION_DS_LITE_ADDR contents.
Fully Qualified Domain Name as OPTION_DS_LITE_NAME contents, or The server MAY either provide the same Fully Qualified Domain Name as
simply provide a distinct method of configuring it. OPTION_DS_LITE_NAME contents, or simply provide a distinct method of
configuring it.
If configured with values, DHCPv6 servers will include the DS-Lite 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 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 Option Request Option (OPTION_ORO). RFC 3315 Section 17.2.2
[RFC3315] describes how a DHCPv6 client and server negotiate [RFC3315] describes how a DHCPv6 client and server negotiate
configuration values using the ORO. configuration values using the ORO.
A DHCPv6 server MUST NOT send either option if it has not been A DHCPv6 server MUST NOT send either option if it has not been
explicitly requested by the client. explicitly requested by the client.
A DHCPv6 server MUST NOT send more than one DS-Lite Address option.
A DHCPv6 server MUST NOT send more than one DS-Lite Name option.
A DHCPv6 server MUST NOT send DS-Lite Address or DS-Lite Name options
as suboptions in other options.
If the server is configured with an FQDN as the tunnel endpoint If the server is configured with an FQDN as the tunnel endpoint
locator, the configured FQDN value MUST contain a resolvable Fully locator, the configured FQDN value MUST contain a resolvable Fully
Qualified Domain Name, having appropriate delegations from the root, Qualified Domain Name, having appropriate delegations from the root,
and having a AAAA record locating the Softwire Concentrator. and having a AAAA record locating the Softwire Concentrator.
If OPTION_DS_LITE_NAME is being configured, the server MUST be If OPTION_DS_LITE_NAME is being configured, the server MUST be
configured to provide OPTION_DNS_SERVERS defined in [RFC3646] configured to provide OPTION_DNS_SERVERS defined in [RFC3646]
together with the DS-Lite Name option, so that clients will be able together with the DS-Lite Name option, so that clients will be able
to ask for DNS servers locations to resolve the domain name provided to ask for DNS servers locations to resolve the domain name provided
in the DS-Lite Name option. in the DS-Lite Name option.
6. DHCPv6 Client Behavior 6. DHCPv6 Client Behavior
A client that supports B4 functionality of DS-Lite (defined in A client that supports B4 functionality of DS-Lite (defined in
[I-D.softwire-ds-lite-04]) MUST include OPTION_DS_LITE_ADDR on its [I-D.softwire-ds-lite]) and conforms to this specification MUST
OPTION_ORO, and MAY include OPTION_DS_LITE_NAME at its option and include OPTION_DS_LITE_ADDR on its OPTION_ORO, and MAY include
ability. OPTION_DS_LITE_NAME at its option and ability.
If requesting the OPTION_DS_LITE_NAME option, the client also SHOULD If requesting the OPTION_DS_LITE_NAME option, the client also SHOULD
request OPTION_DNS_SERVERS defined in [RFC3646] to be able to resolve request OPTION_DNS_SERVERS defined in [RFC3646] to be able to resolve
any received domain name. any received domain name.
If the client receives either DS-Lite option, it MUST verify the If the client receives either DS-Lite option, it MUST verify the
option contents as described in Section 3 and Section 4. The client option contents as described in Section 3 and Section 4. The client
(B4) SHOULD establish a softwire tunnel to the tunnel-endpoint-addr (B4) is expected to establish a softwire tunnel to the tunnel-
IPv6 address it determines from either of these options. endpoint-addr IPv6 address it determines from either of these
options.
If the client requests and receives both the OPTION_DS_LITE_ADDR and If the client requests and receives both the OPTION_DS_LITE_ADDR and
the OPTION_DS_LITE_NAME options, it MUST proceed with resolving the the OPTION_DS_LITE_NAME options, it MUST proceed with resolving the
OPTION_DS_LITE_NAME. OPTION_DS_LITE_NAME.
7. Security Considerations 7. 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 to trust that the access the
DS-Lite Softwire connection represents can be trusted, and it should DS-Lite Softwire connection represents can be trusted, and it should
not therefore bypass any security mechanisms such as IP firewalls. not therefore bypass any security mechanisms such as IP firewalls.
RFC 3315 [RFC3315] discusses DHCPv6-related security issues. RFC 3315 [RFC3315] discusses DHCPv6-related security issues.
[I-D.softwire-ds-lite-04] discusses DS-Lite related security issues. [I-D.softwire-ds-lite] discusses DS-Lite related security issues.
8. IANA Considerations 8. IANA Considerations
IANA is requested to allocate two DHCPv6 option codes referencing IANA is requested to allocate two DHCPv6 option codes referencing
this document. One delineating OPTION_DS_LITE_ADDR, and one this document. One delineating OPTION_DS_LITE_ADDR, and one
delineating OPTION_DS_LITE_NAME. delineating OPTION_DS_LITE_NAME.
9. Acknowledgements 9. Acknowledgements
Authors would like to thank Alain Durand, Rob Austein, Dave Thaler Authors would like to thank Alain Durand, Rob Austein, Dave Thaler
and Paul Selkirk for their valuable feedback and suggestions. and Paul Selkirk for their valuable feedback and suggestions.
10. Normative References 10. Normative References
[I-D.softwire-ds-lite-04] [I-D.softwire-ds-lite]
Durand, A., Ed., "Dual-stack lite broadband deployments Durand, A., Ed., "Dual-stack lite broadband deployments
post IPv4 exhaustion", post IPv4 exhaustion", draft-ietf-softwire-dual-stack-lite
draft-ietf-softwire-dual-stack-lite-04 (work in progress), (work in progress).
March 2010.
[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., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003. 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,
 End of changes. 22 change blocks. 
39 lines changed or deleted 52 lines changed or added

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