<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4033 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4033.xml">
<!ENTITY RFC4861 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml">
<!ENTITY RFC6052 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6052.xml">
<!ENTITY RFC6105 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6105.xml">
<!ENTITY RFC6146 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6146.xml">
<!ENTITY RFC6147 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6147.xml">
<!ENTITY RFC6877 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6877.xml">
<!ENTITY RFC7225 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7225.xml">
<!ENTITY RFC7050 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7050.xml">
<!ENTITY RFC8305 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8305.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc ipr="trust200902"
     obsoletes=""
     category="std"
     docName="draft-pref64folks-6man-ra-pref64-00">

  <!-- category values: std, bcp, info, exp, and historic -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
         full title is longer than 39 characters -->

    <title>Discovering PREF64 in Router Advertisements</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <author fullname="Lorenzo Colitti" initials="L." surname="Colitti">
      <organization>Google</organization>

      <address>
        <postal>
          <street>Roppongi 6-10-1</street>
          <city>Minato</city>
          <region>Tokyo</region>
          <code>106-6126</code>
          <country>JP</country>
        </postal>

        <phone></phone>
        <email>lorenzo@google.com</email>
      </address>
    </author>

    <author fullname="Erik Kline" initials="E." surname="Kline">
      <organization>Google</organization>

      <address>
        <postal>
          <street>Roppongi 6-10-1</street>
          <city>Minato</city>
          <region>Tokyo</region>
          <code>106-6126</code>
          <country>JP</country>
        </postal>

        <phone></phone>
        <email>ek@google.com</email>
      </address>
    </author>

    <author fullname="Jen Linkova" initials="J." surname="Linkova">
      <organization>Google</organization>

      <address>
        <postal>
          <street>1 Darling Island Rd</street>
          <city>Pyrmont</city>
          <region>NSW</region>
          <code>2009</code>
          <country>AU</country>
        </postal>

        <phone></phone>
        <email>furry@google.com</email>
      </address>
    </author>

    <date/>

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill
         in the current day for you. If only the current year is specified, xml2rfc will fill
	 in the current day and month for you. If the year is not the current one, it is
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Internet</area>

    <workgroup>IPv6 Maintenance</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>template</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>This document specifies a Router Advertisement option to configure the NAT64 prefix.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">

      <t>NAT64 <xref target="RFC6146"/> with DNS64 <xref target="RFC6147"/> is a widely-deployed mechanism to provide IPv4 access on IPv6-only networks. In order to support functions such as local validation of DNSSEC <xref target="RFC4033"/> responses, 464xlat <xref target="RFC6877"/>, and local IPv4 address synthesis <xref target="RFC8305"/>, the host must be aware of the NAT64 prefix in use by the network. This document specifies a Router Advertisement <xref target="RFC4861"/> option to communicate the NAT64 prefix to hosts.</t>

      <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>

    <section title="Why include the NAT64 prefix in Router Advertisements">
      <t>Fate sharing. NAT64 requires a routing to be configured. IPv6 routing configuration requires receiving an IPv6 Router Advertisement <xref target="RFC4861"/>. Compared to currently-deployed NAT64 prefix discovery methods such as <xref target="RFC7050"/>, including the NAT64 prefix in the Router Advertisement minimizes the number of packets required to configure a host. This speeds up the process of connecting to a network that supports NAT64/DNS64, and simplifies host implementation by removing the possibility that the a can have an incomplete layer 3 configuration (e.g., IPv6 addresses and prefixes, but no NAT64 prefix).</t>

      <t>Deployability. All IPv6 hosts and networks are required to support <xref target="RFC4861"/>. Other options such as <xref target="RFC7225"/>b require implementing other protocols.</t>
    </section>

    <section title="Semantics">
	    <t>This option specifies exactly one NAT64 prefix for all IPv4 addresses. Observation of current deployments suggest that they use RFC7050, which also only supports one prefix.</t>

	    <t> This option only supports the NAT64 prefix length of 96 bits. In the unlikely event of use cases for shorter prefixes (<xref target="RFC6052"/>) emerging another option could be created.</t>

    </section>

    <section anchor="Format" title="Option format">
	     <figure align="center" anchor="fig_Option"
                             title="NAT64 Prefix Option Format">
 <artwork align="center"><![CDATA[

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |    Length     |           Lifetime            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                            Prefix                             +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


				      ]]></artwork>
		      </figure>

		      <t>Fields:</t>
		      <texttable style="none">
			      <ttcol></ttcol>
			      <ttcol></ttcol>

			      <c>Type</c> <c>8-bit identifier of the RDNSS option type as assigned by IANA: TBD</c>

				      <c>Length</c> <c> 8-bit unsigned integer.  The length of the option
               (including the Type and Length fields) is in units of 8 octets. The only valid value for this filed is 2. A host MUST ignore the NAT64 prefix option if the length field value is not set to 2.</c>
       <c>Lifetime</c>  <c>16-bit unsigned integer.  The maximum time in seconds over which this NAT64 prefix MAY be used. The value of Lifetime SHOULD by default be set to lesser of  3 x MaxRtrAdvInterval or 65535 seconds.
               A value of zero means that the prefix MUST no longer be used.</c>
	       <c>Prefix</c>   <c>The highest 96-bits of the NAT64 prefix.</c>
       </texttable>
            
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>The IANA is requested to assign a new IPv6 Neighbor Discovery Option type for the PREF64 option defined in this document.</t>

<texttable anchor="option_table">
    <ttcol align="left">Option Name</ttcol>
    <ttcol align="left">Type</ttcol>
    <c>PREF64 option</c>
    <c>(TBD)</c>
</texttable>

      <t>The IANA registry for these options is:
        <list><t>
          <eref target="https://www.iana.org/assignments/icmpv6-parameters">
          https://www.iana.org/assignments/icmpv6-parameters</eref>
      </t></list></t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>Because Router Advertisements are required in all IPv6 configuration scenarios, on IPv6-only networks, Router Advertisements must already be secured, e.g., by deploying RA guard <xref target="RFC6105"/>. Providing all configuration in Router Advertisements increases security by ensuring that no other protocols can be abused by malicious attackers to provide hosts with invalid configuration.</t>
      <t>The security measures that must already be in place to ensure that Router Advertisements are only received from legitimate sources eliminate the problem of PREF64 validation described in section 3.1 of <xref target="RFC7050"/>.</t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <references title="Normative References">
      &RFC2119;
      &RFC6052;
    </references>

    <references title="Informative References">
      &RFC4033;
      &RFC4861;
      &RFC6105;
      &RFC6146;
      &RFC6147;
      &RFC6877;
      &RFC7050;
      &RFC7225;
      &RFC8305;
    </references>

  </back>
</rfc>
