One document matched: draft-ietf-softwire-ds-lite-tunnel-option-05.xml
<?xml version='1.0' ?>
<!-- $Id: draft-ietf-softwire-ds-lite-tunnel-option-00.xml,v 1.7 2010/06/22 22:15:20 dhankins Exp $ -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?> <?rfc subcompact="no"?>
<?rfc symrefs="yes"?>
<!DOCTYPE rfc SYSTEM 'rfc2629bis.dtd' [
<!ENTITY rfc2119 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
<!ENTITY rfc3596 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3596.xml'>
<!ENTITY rfc3315 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3315.xml'>
<!ENTITY rfc3646 PUBLIC ''
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3646.xml'>
]>
<rfc ipr="trust200902" category="std"
docName="draft-ietf-softwire-ds-lite-tunnel-option-05">
<front>
<title abbrev="DS-Lite DHCPv6 Option">Dynamic Host Configuration Protocol
for IPv6 (DHCPv6) Option for Dual-Stack Lite</title>
<author initials="D." surname="Hankins" fullname="David W. Hankins">
<organization abbrev="ISC">Internet Systems Consortium,
Inc.</organization>
<address>
<postal>
<street>950 Charter Street</street>
<city>Redwood City</city>
<region>CA</region>
<code>94063</code>
<country>US</country>
</postal>
<phone>+1 650 423 1307</phone>
<email>David_Hankins@isc.org</email>
</address>
</author>
<author fullname="Tomasz Mrugalski" initials="T.M." surname="Mrugalski">
<organization>Gdansk University of Technology</organization>
<address>
<postal>
<street>Storczykowa 22B/12</street>
<!-- Reorder these if your country does things differently -->
<city>Gdansk</city>
<code>80-177</code>
<country>Poland</country>
</postal>
<phone>+48 698 088 272</phone>
<email>tomasz.mrugalski@eti.pg.gda.pl</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<date day="27" month="September" year="2010"/>
<area>Internet</area>
<workgroup>Softwires</workgroup>
<keyword>DHCPv6</keyword>
<keyword>Softwire</keyword>
<keyword>DS-Lite</keyword>
<abstract>
<t>This document specifies single DHCPv6 option which is meant
to be used by a Dual-Stack Lite client (Basic Bridging BroadBand
element, B4) to discover its Address Family Transition Router
(AFTR) address.</t>
</abstract>
</front>
<middle>
<section title="Requirements Language">
<t>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
<xref target="RFC2119">RFC 2119</xref>.</t>
</section>
<section title="Introduction">
<t><xref target="I-D.softwire-ds-lite">Dual-Stack
Lite</xref> 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. 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.</t>
<t>To inform the B4 of the Address Family Transition Router's (AFTR) location,
an option containing a single IPv6 address 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.</t>
<t>To provide the conveyance of the configuration information, a single
<xref target="RFC3315">DHCPv6</xref> option is used.</t>
<t>The details of how the B4 establishes an IPv4-in-IPv6 tunnel
to the AFTR are out of scope for this document.</t>
</section>
<section title='The Dual-Stack Lite Address DHCPv6 Option' anchor='option-addr'>
<t>The Dual-Stack Lite 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 remote tunnel
endpoint, expected to be located at an AFTR.</t>
<t>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, or similar. Any DS-Lite Address option received
inside any other option MUST be ignored.</t>
<t>The DS-Lite Address option MUST NOT appear more than once in a
message.</t>
<t>The format of the Dual-Stack Lite Address
option is shown in the following figure:</t>
<figure align="center" anchor="option-format-addr"
title="DS-Lite IPv6 Address DHCPv6 Option Format">
<artwork>
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) |
| |
| |
+---------------------------------------------------------------+
option-code: OPTION_DS_LITE_ADDR (TBD)
option-len: Length of the tunnel-endpoint-addr field,
which is precisely 16 octets.
tunnel-endpoint-addr: A single IPv6 address in binary
representation of the remote tunnel
endpoint, located at the DS-Lite AFTR.
</artwork>
</figure>
<t>The client validates the DS-Lite Address option by confirming the
option length is exactly 16 octets. The client MUST ignore
any DS-Lite Address option that has length other than 16 octets.</t>
<t>Because this option conveys the tunnel-endpoint-addr value,
no further processing is required of the client.</t>
<t>This option conveys a single IPv6 address, as the
<xref target="I-D.softwire-ds-lite">Dual-Stack Lite
specification</xref> defines only one Softwire connection between
a B4 and any AFTR. Multiple connections or endpoints are
undefined. It is expected that Service Provider (SP) will
deal with load balancing and high availability, not the client.
For more information, see Section 12.3 "High
Availability" of <xref target="I-D.softwire-ds-lite"/>.</t>
</section>
<!--
<section title='The Dual-Stack Lite Name DHCPv6 Option' anchor='option-FQDN'>
<t>The Dual-Stack Lite 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.</t>
<t>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. Any DS-Lite Name option received inside any
other option MUST be ignored.</t>
<t>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.</t>
<t>The format of the Dual-Stack Lite Name option is shown in the
following figure:</t>
<figure align="center" anchor="option-format-FQDN"
title="DS-Lite Name DHCPv6 Option Format">
<artwork>
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) |
+---------------------------------------------------------------+
option-code: OPTION_DS_LITE_NAME (TBD)
option-len: Length in octets of the tunnel-endpoint-
name field.
tunnel-endpoint-name: A single Fully Qualified Domain Name of the
remote tunnel endpoint, located at the
DS-Lite AFTR.
</artwork>
</figure>
<t>The tunnel-endpoint-name field is formatted as
required in <xref target="RFC3315">DHCPv6</xref> 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.
Any possible updates to Section 8 of <xref target="RFC3315">DHCPv6</xref>
also apply to encoding of this FQDN field. An example FQDN format for
this option is
shown in <xref target="fqdn-example"/>.</t>
<figure align="center" anchor="fqdn-example"
title="Example tunnel-endpoint-name.">
<artwork>
+------+------+------+------+------+------+------+------+------+
| 0x07 | e | x | a | m | p | l | e | 0x03 |
+------+------+------+------+------+------+------+------+------+
| i | s | c | 0x03 | o | r | g | 0x00 |
+------+------+------+------+------+------+------+------+
</artwork>
</figure>
<t>Note that in the specific case of the
<xref target="fqdn-example">example
tunnel-endpoint-name,</xref> the length of the option is
17 octets, and so an option-len field value of 17 would be used.</t>
<t>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 <xref target="RFC3315">DHCPv6 Section
8</xref>; there are no compression tags, there is at least one label of
nonzero length.</t>
<t>The client (B4) determines a value for the tunnel-endpoint-addr from
the tunnel-endpoint-name using standard DNS resolution, as
defined in <xref target="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
<xref target="I-D.softwire-ds-lite"/>.</t>
</section> -->
<section title="DHCPv6 Server Behavior">
<t>Following requirements are result of applying behaviors defined in
<xref target="RFC3315">RFC 3315 Section 17.2.2</xref> to the DS-Lite Address
option. They do not change default DHCPv6 operation, but rather are enumerated
here as a convenience for the reader.</t>
<t>If configured to offer DS-Lite Address information, DHCPv6 server will
include the DS-Lite Address option if such option appears on the
client's Option Request Option (OPTION_ORO).
<xref target="RFC3315">RFC 3315 Section 17.2.2</xref>
describes how a DHCPv6 client and server negotiate configuration
values using the ORO.</t>
<t>A DHCPv6 server MUST NOT send DS-Lite Address option if it has not been
explicitly requested by the client.</t>
<t>A DHCPv6 server MUST NOT send more than one DS-Lite Address option.</t>
<t>A DHCPv6 server MUST NOT send DS-Lite Address as suboption in other options.</t>
</section>
<section title="DHCPv6 Client Behavior">
<t>A client that supports B4 functionality of DS-Lite (defined
in <xref target="I-D.softwire-ds-lite"></xref>) and conforms to
this specification MUST include OPTION_DS_LITE_ADDR on its OPTION_ORO.</t>
<t>If the client receives DS-Lite Address option, it MUST verify the
option contents as described in <xref target="option-addr"/>. The client
(B4) is expected to establish a softwire tunnel to the tunnel-endpoint-addr
IPv6 address it determines from DS-Lite Address option. </t>
<t>Client that receives more than one DS-Lite Address option
MUST discard all instances of that option.</t>
</section>
<section title="Security Considerations">
<t>This document does not present any new security issues, but as with
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.</t>
<t><xref target="RFC3315">RFC 3315</xref> discusses DHCPv6-related
security issues.</t>
<t><xref target="I-D.softwire-ds-lite"></xref>
discusses DS-Lite related security issues.</t>
</section>
<section title="IANA Considerations">
<t>IANA is requested to allocate single DHCPv6 option code referencing
this document, delineating OPTION_DS_LITE_ADDR name.</t>
</section>
<section title="Acknowledgements">
<t>Authors would like to thank Alain Durand, Rob Austein, Dave
Thaler, Paul Selkirk and Ralph Droms for their valuable feedback and
suggestions.</t>
<t>This work has been partially supported by the Polish Ministry
of Science and Higher Education under the European Regional Development
Fund, Grant No. POIG.01.01.02-00-045/09-00 (Future Internet Engineering
Project).</t>
</section>
</middle>
<back>
<references title="Normative References">
&rfc2119;
&rfc3315;
<reference anchor="I-D.softwire-ds-lite">
<front>
<title>Dual-stack lite broadband deployments post IPv4
exhaustion</title>
<author initials='A.' surname='Durand' fullname='Alain
Durand' role="editor">
<organization abbrev='CMCST'>Comcast</organization>
</author>
<!-- <date day="11" month="August" year='2010'/> -->
</front>
<seriesInfo name="Internet-Draft" value="draft-ietf-softwire-dual-stack-lite"/>
</reference>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 01:25:54 |