One document matched: draft-ietf-softwire-ds-lite-tunnel-option-00.xml


<?xml version='1.0' ?>

<!-- $Id: draft-ietf-softwire-ds-lite-tunnel-option-00.xml,v 1.4 2009/12/21 18:29:06 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-00">
  <front>
    <title abbrev="DS Lite Option">Dynamic Host Configuration Protocol
	(DHCPv6) Options 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>

          <region></region>

          <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="21" month="December" year="2009"/>

    <area>Internet</area>
    <workgroup>Dynamic Host Configuration Working Group</workgroup>
    <keyword>DHCPv6</keyword>
    <keyword>Softwire</keyword>
    <keyword>DS Lite</keyword>

    <abstract>
      <t>This document describes how Dual-Stack Lite configuration (the
	Softwire Concentrator (SC)'s address) can be obtained by a Softwire
	Initiator (SI) via DHCPv6.</t>
    </abstract>
  </front>

  <middle>
    <section title="Requirements Language">
      <t>In this document, the key words "MAY", "MUST", "MUST NOT", "OPTIONAL",
	"RECOMMENDED", "SHOULD", and "SHOULD NOT", are to be interpreted as
	described in <xref target="RFC2119">BCP 14, RFC 2119</xref>.</t>
    </section>

    <section title="Introduction">
      <t><xref target="draft-ietf-softwire-dual-stack-lite-02">Dual-Stack
	Lite</xref> is a method to extend IPv4 access to an IPv6-only addressed
	host.  One of its key components is an IPv4-over-IPv6 tunnel, commonly
	referred to as a Softwire, but a Software Initiator 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 Softwire Initiator of the Softwire Concentrator's
        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 Softwire Concentrator's location
        also informs a host to initiate Dual-Stack Lite service and become a
        Softwire Initiator.</t>

      <t>To provide the conveyance of the configuration information, two
        <xref target="RFC3315">DHCPv6</xref> 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.</t>
    </section>

    <section title='DHCPv6 Options'>
    <t>Following sections define two new DHCPv6 options, conformant with
    requirements specified in <xref target="RFC3315">DHCPv6</xref> Section 22.1.
    </t>

    <section title='The Dual-Stack Lite Softwire Concentrator Address Option'
     anchor='option-addr'>
      <t>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 remote tunnel
        endpoint, expected to be located at an AFTR (DS-Lite Address Family
        Transition Router element).</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.</t>

      <t>The DS Lite Address option MUST NOT appear more than once in a
        message.</t>

      <figure align="center" anchor="option-format-addr">
        <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)             |
    |                                                               |
    |                                                               |
    +---------------------------------------------------------------+
        </artwork>
        <postamble>DS Lite IPv6 Address option format.</postamble>
      </figure>

      <t><list style="hanging">
        <t hangText="option-code:">OPTION_DS_LITE_ADDR (TBD)</t>
        <t hangText="option-len:">Length of the tunnel-endpoint-addr
          field, which is currently defined to be precisely 16 octets.</t>
        <t hangText="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.</t>
      </list></t>

      <t>The client validates the DS-Lite Address 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 intrepreted.</t>

      <t>Because this option conveys the tunnel-endpoint-addr value,
        no further processing is required of the client.</t>
    </section>

    <section title='The Dual-Stack Lite Softwire Concentrator Name Option'
     anchor='option-FQDN'>
      <t>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 (DS-Lite Address
        Family Transition Router element) 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.</t>

      <t>The DS Lite Name option MUST NOT appear more than once in a
        message.</t>

      <figure align="center" anchor="option-format-FQDN">
        <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)                 |
    +---------------------------------------------------------------+
        </artwork>
        <postamble>DS Lite FQDN option format.</postamble>
      </figure>

      <t><list style="hanging">
        <t hangText="option-code:">OPTION_DS_LITE_NAME (TBD)</t>
        <t hangText="option-len:">Length in octets of the
          tunnel-endpoint-name field.</t>
        <t hangText="tunnel-endpoint-name:">This field contains a
          single Fully Qualified Domain Name of the remote tunnel endpoint,
          located at the DS-Lite AFTR.</t>
      </list></t>

      <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.
        An example FQDN format for this option is shown in
        <xref target="fqdn-example"/>.</t>

      <figure align="center" anchor="fqdn-example">
        <artwork>
    +------+------+------+------+------+------+------+------+------+
    | 0x07 |   e  |   x  |   a  |   m  |   p  |   l  |   e  | 0x03 |
    +------+------+------+------+------+------+------+------+------+
    |   i  |   s  |   c  | 0x03 |   o  |   r  |   g  | 0x00 |
    +------+------+------+------+------+------+------+------+
        </artwork>
        <postamble>Example tunnel-endpoint-name.</postamble>
      </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 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 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="draft-ietf-softwire-dual-stack-lite-02"/>.</t>
    </section>
    </section>

    <section title="DHCPv6 Server behavior">
      <t>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 simply
	provide a distinct method of configuring it.</t>

      <t>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).
        <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 MAY NOT send either option if it has not been
	explicitly requested by the client.</t>

      <t>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.</t>

      <t>If OPTION_DS_LITE_NAME is being configured, it is RECOMMENDED that
	the server also be configured to provide OPTION_DNS_SERVERS defined in
	<xref target="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 option.</t>
    </section>

    <section title="DHCPv6 Client behavior">
      <t>A client that supports B4 functionality of the DS Lite (defined
	in <xref target="draft-ietf-softwire-dual-stack-lite-02"></xref>)
	MUST include OPTION_DS_LITE_ADDR on its OPTION_ORO, and MAY include
        OPTION_DS_LITE_NAME at its option and ability.</t>

      <t>If requesting the OPTION_DS_LITE_NAME option, the client also SHOULD
        request OPTION_DNS_SERVERS defined in <xref target="RFC3646"/> to be
        able to resolve any received domain name.</t>

      <t>If the client receives either DS Lite Option, it MUST verify the
        option contents as described in <xref target="option-addr"/> and
        <xref target="option-FQDN"/>.  The client SHOULD establish a softwire
        tunnel to the tunnel-endpoint-addr IPv6 address it determines from
        either of these options.</t>

      <t>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.</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="draft-ietf-softwire-dual-stack-lite-02"></xref>
      discusses DS Lite	related security issues.</t>
    </section>

    <section title="IANA Considerations">
      <t>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.</t>
    </section>
    
    <section title="Acknowledgements">
      <t>Authors would like to thank Alain Durand, Rob Austein and Dave
      Thaler for their valuable feedback and suggestions.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &rfc2119;
      &rfc3596;
      &rfc3315;
      &rfc3646;

      <reference anchor="draft-ietf-softwire-dual-stack-lite-02">
	<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="26" month="October" year='2009'/>
	</front>
      </reference>
    </references>
  </back>
</rfc>


PAFTECH AB 2003-20262026-04-23 20:25:27