<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC6540 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6540.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 category="bcp" docName="draft-george-ipv6-support-03" ipr="trust200902"
     updates="">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** 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 abbrev="IPv6-support">IPv6 Support Within IETF work</title>

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

    <!-- Another author who claims to be an editor -->

    <author fullname="Wesley George" initials="W" surname="George">
      <organization>Time Warner Cable</organization>

      <address>
        <postal>
          <street>13820 Sunrise Valley Drive</street>

          <!-- Reorder these if your country does things differently -->

          <city>Herndon</city>

          <region>VA</region>

          <code>20171</code>

          <country>US</country>
        </postal>

        <phone>+1 703-561-2540</phone>

        <email>wesley.george@twcable.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Lee Howard" initials="L" surname="Howard">
      <organization>Time Warner Cable</organization>

      <address>
        <postal>
          <street>13820 Sunrise Valley Drive</street>

          <!-- Reorder these if your country does things differently -->

          <city>Herndon</city>

          <region>VA</region>

          <code>20171</code>

          <country>US</country>
        </postal>

        <phone>+1-703-345-3513</phone>

        <email>lee.howard@twcable.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <date day="" month="" year=""/>

    <!-- 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>General</area>

    <workgroup>Internet Engineering Task Force</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>IETF IPv4 IPv6 protocol transition</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 recommends that the IETF formally require its standards
      work to be IP version agnostic or to explicitly include support for
      IPv6, with some exceptions, to ensure that it is possible to operate
      without dependencies on IPv4.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t><xref target="RFC6540"/> gives guidance to implementers that in order
      to ensure interoperability and proper function after IPv4 exhaustion,
      IP-capable devices need to support IPv6, and cannot be reliant on IPv4,
      because global IPv4 exhaustion creates many circumstances where the use
      of IPv6 will no longer be optional. Since this is an IETF Best Current
      Practice recommendation, it is imperative that the results of IETF
      efforts enable implementers to follow that recommendation. This document
      provides recommendations and guidance as to how IETF itself should
      handle future work as it relates to Internet Protocol versions.</t>

      <t>When considering support for IPv4 vs IPv6 within IETF work, the
      general goal is to provide tools that enable networks and applications
      to operate seamlessly in any combination of IPv4-only, dual-stack, or
      IPv6-only as their needs dictate. However, as the IPv4 to IPv6
      transition continues, it will become increasingly difficult to ensure
      interoperability and backward compatibility with IPv4-only networks and
      applications. As IPv6 deployment grows, IETF will naturally focus on
      features and protocols that enhance and extend IPv6, along with
      continuing work on items that are IP version agnostic. New features and
      protocols will not typically be introduced for use as IPv4-only.
      However, as of this document's writing, there is no formal requirement
      for all IETF work to support IPv6, either implicitly by being
      network-layer agnostic or explicitly by having an IPv6-specific
      implementation.</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="IPv6-only operation">
      <t>At this document's writing, IPv6 has seen significant deployment.
      Most of these deployments are dual-stack, with IPv4 and IPv6 coexisting
      on the same networks. However, dual-stack is a waypoint in the
      transition from IPv4 to IPv6. The eventual end state is networks and end
      points that are IPv6-only. Some operators may take a long time to turn
      off IPv4, if they ever do, but the IETF MUST ensure that its standards
      can be deployed by even the first operators to turn off IPv4. Problems
      (and solutions) need to be identified before they are encountered by the
      earliest adopters.</t>

      <section title="Functional Parity with IPv4">
        <t>In order for IPv6-only operation to be realistic, IPv6 MUST have at
        least functional parity with IPv4. "Functional parity" means that any
        function that IPv4 enables MUST also be enabled by IPv6. This does not
        mean that every feature that exists in IPv4 will exist in IPv6;
        different features may enable the same function. For instance, IPv4
        supports some features that are no longer in use. In some cases it has
        not been practical to remove them in IPv4, or even to declare them
        historic, but it is unnecessary to carry them forward into IPv6. IPv6
        also eliminates the need for some features that exist in IPv4; no
        effort to create unneeded features is required. Functional parity does
        not mean that all functions in IPv6 must also be possible in IPv4.
        Indeed, with IPv6 becoming the predominant protocol, new functionality
        should be developed in IPv6, and IETF effort SHOULD NOT be spent
        retrofitting features into the legacy protocol.</t>
      </section>

      <section title="IPv4 Sunset">
        <t>Somewhat distinct from identifying the needed features for
        IPv6-only functional parity is the effort to identify what is
        necessary to disable or sunset IPv4 in a given network. Since many of
        the protocols in use today were designed to be fault-tolerant and very
        robust, actually removing them from a network once they are no longer
        needed is sometimes complex. Many implementations may not even have
        "off switches" because the assumption was that they would never be
        switched off in a normal network implementation. The Sunset4 Working
        Group was chartered to address these issues:</t>

        <t>"The Working Group will point out specific areas of concern,
        provide recommendations, and standardize protocols that facilitate the
        graceful "sunsetting" of the IPv4 Internet in areas where IPv6 has
        been deployed. This includes the act of shutting down IPv4 itself, as
        well as the ability of IPv6-only portions of the Internet to continue
        to connect with portions of the Internet that remain IPv4-only. ...
        Disabling IPv4 in applications, hosts, and networks is new territory
        for much of the Internet today, and it is expected that problems will
        be uncovered including those related to basic IPv4 functionality,
        interoperability, as well as potential security concerns. The working
        group will report on common issues, provide recommendations, and, when
        necessary, protocol extensions in order to facilitate disabling IPv4
        in networks where IPv6 has been deployed."</t>
      </section>
    </section>

    <section title="Requirements and Recommendations">
      <t>Ongoing focus is required to ensure that future IETF work is capable
      of IPv6-only operation. This attention may take the form of IESG
      evaluation, individual document reviews, or future WG charters. Due to
      the existing operational base of IPv4, it is not realistic to completely
      bar further work on IPv4 within the IETF at this time, nor to formally
      declare it historic. Until the time when IPv4 is no longer in wide use
      and/or declared historic, the IETF needs to continue to update IPv4-only
      protocols and features for vital operational or security issues.
      Similarly, the IETF needs to complete the work related to IPv4-to-IPv6
      transition tools for migrating more traffic to IPv6. As the transition
      to IPv6-capable networks accelerates, it is also likely that some
      changes may be necessary in IPv4 protocols to facilitate decommissioning
      IPv4 in a way that does not create unacceptable impact to applications
      or users. These sorts of IPv4-focused activities, in support of
      security, transition, and decommissioning, should continue, accompanied
      by problem statements based on operational experience. Generally the
      focus should move away from IPv4-only work.</t>

      <t><list style="empty">
          <t>The IESG SHOULD review working group charters to ensure that work
          will be capable of operating without IPv4, except in cases of IPv4
          security, transition, and decommissioning work.</t>

          <t>IETF SHOULD make updates to IPv4 protocols and features to
          facilitate IPv4 decommissioning</t>

          <t>IETF work SHOULD explicitly support IPv6 or SHOULD be IP version
          agnostic (because it is implemented above the network layer), except
          IPv4-specific transition or address-sharing technologies.</t>

          <t>IETF SHOULD NOT initiate new IPv4 extension technology
          development.</t>

          <t>IETF work SHOULD function completely on IPv6-only nodes and
          networks, unless consensus exists that it is unnecessary to use a
          given feature or protocol on IPv6-only networks.</t>

          <t>IETF SHOULD identify and update IPv4-only protocols and
          applications to support IPv6 unless consensus exists that it is
          unnecessary for a given feature or protocol.</t>
        </list></t>
    </section>

    <!-- This PI places the pagebreak correctly (before the section title) in the text output. SUP-->

    <?rfc needLines="8" ?>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>Thanks to the following people for their comments: Jari Arkko, Ralph
      Droms, Scott Brim, Margaret Wasserman, Brian Haberman. Thanks also to
      Randy Bush, Mark Townsley, and Dan Wing for their discussion in IntArea
      WG at IETF 81 in Taipei, TW regarding transition technologies, IPv4 life
      extension, and IPv6 support.</t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>This document generates no new security considerations because it is
      not defining a new protocol. As existing work is analyzed for its
      ability to operate properly on IPv6-only networks, new security issues
      may be identified.</t>
    </section>
  </middle>

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->

      &RFC2119;
    </references>

    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->

      &RFC6540;

      <!-- A reference written by by an organization not a person. -->
    </references>

    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes problems).  -->
  </back>
</rfc>
