<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" consensus="true" docName="draft-ietf-v6ops-transition-comparison-04" indexInclude="true" ipr="trust200902" number="9313" prepTime="2022-10-14T21:33:38" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-v6ops-transition-comparison-04" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9313" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Pros and Cons of IPv4aaS Technologies">Pros and Cons of IPv6 Transition Technologies for IPv4-as-a-Service (IPv4aaS)</title>
    <seriesInfo name="RFC" value="9313" stream="IETF"/>
    <author fullname="Gábor Lencse" initials="G." surname="Lencse">
      <organization abbrev="BUTE" showOnFrontPage="true">Budapest University of Technology and Economics</organization>
      <address>
        <postal>
          <street>Magyar tudósok körútja 2</street>
          <city>Budapest</city>
          <region/>
          <code>H-1117</code>
          <country>Hungary</country>
        </postal>
        <email>lencse@hit.bme.hu</email>
        <uri>http://www.hit.bme.hu/~lencse/index_en.htm</uri>
      </address>
    </author>
    <author fullname="Jordi Palet Martinez" initials="J." surname="Palet Martinez">
      <organization showOnFrontPage="true">The IPv6 Company</organization>
      <address>
        <postal>
          <street>Molino de la Navata, 75</street>
          <city>La Navata - Galapagar</city>
          <region>Madrid</region>
          <code>28420</code>
          <country>Spain</country>
        </postal>
        <email>jordi.palet@theipv6company.com</email>
        <uri>http://www.theipv6company.com/</uri>
      </address>
    </author>
    <author fullname="Lee Howard" initials="L." surname="Howard">
      <organization showOnFrontPage="true">Retevia</organization>
      <address>
        <postal>
          <street>9940 Main St., Suite 200</street>
          <city>Fairfax</city>
          <region>Virginia</region>
          <code>22031</code>
          <country>United States of America</country>
        </postal>
        <email>lee@asgard.org</email>
      </address>
    </author>
    <author fullname="Richard Patterson" initials="R." surname="Patterson">
      <organization showOnFrontPage="true">Sky UK</organization>
      <address>
        <postal>
          <street>1 Brick Lane</street>
          <city>London</city>
          <code>EQ 6PU</code>
          <country>United Kingdom</country>
        </postal>
        <email>richard.patterson@sky.uk</email>
      </address>
    </author>
    <author fullname="Ian Farrer" initials="I." surname="Farrer">
      <organization showOnFrontPage="true">Deutsche Telekom AG</organization>
      <address>
        <postal>
          <street>Landgrabenweg 151</street>
          <city>Bonn</city>
          <code>53227</code>
          <country>Germany</country>
        </postal>
        <email>ian.farrer@telekom.de</email>
      </address>
    </author>
    <date month="10" year="2022"/>
    <area>ops</area>
    <workgroup>v6ops</workgroup>
    <keyword>IPv6</keyword>
    <keyword>Transition Technologies</keyword>
    <keyword>Comparison</keyword>
    <keyword>IPv4aaS</keyword>
    <keyword>IPv6-only</keyword>
    <keyword>464XLAT</keyword>
    <keyword>DNS64</keyword>
    <keyword>Dual-Stack Lite</keyword>
    <keyword>Lightweight 4over6</keyword>
    <keyword>MAP-E</keyword>
    <keyword>MAP-T</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">Several IPv6 transition technologies have been developed to
      provide customers with IPv4-as-a-Service (IPv4aaS) for ISPs with an
      IPv6-only access and/or core network. These technologies have their
      advantages and disadvantages. Depending on existing topology, skills,
      strategy, and other preferences, one of these technologies may be the
      most appropriate solution for a network operator.</t>
      <t indent="0" pn="section-abstract-2">This document examines the five most prominent
      IPv4aaS technologies and considers a number of different aspects
      to provide network operators with an easy-to-use reference to assist in
      selecting the technology that best suits their needs.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.  
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by the
            Internet Engineering Steering Group (IESG).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see Section 2 of RFC 7841. 
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9313" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-overview-of-the-technologie">Overview of the Technologies</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-464xlat">464XLAT</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dual-stack-lite">Dual-Stack Lite</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t indent="0" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-lightweight-4over6">Lightweight 4over6</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.4">
                <t indent="0" pn="section-toc.1-1.2.2.4.1"><xref derivedContent="2.4" format="counter" sectionFormat="of" target="section-2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-map-e">MAP-E</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.5">
                <t indent="0" pn="section-toc.1-1.2.2.5.1"><xref derivedContent="2.5" format="counter" sectionFormat="of" target="section-2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-map-t">MAP-T</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-high-level-architectures-an">High-Level Architectures and Their Consequences</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-service-provider-network-tr">Service Provider Network Traversal</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-network-address-translation">Network Address Translation among the Different IPv4aaS Technologies</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ipv4-address-sharing">IPv4 Address Sharing</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ipv4-pool-size-consideratio">IPv4 Pool Size Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.5">
                <t indent="0" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ce-provisioning-considerati">CE Provisioning Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.6">
                <t indent="0" pn="section-toc.1-1.3.2.6.1"><xref derivedContent="3.6" format="counter" sectionFormat="of" target="section-3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-support-for-multicast">Support for Multicast</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-detailed-analysis">Detailed Analysis</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-architectural-differences">Architectural Differences</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.1.2">
                  <li pn="section-toc.1-1.4.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.1.1"><xref derivedContent="4.1.1" format="counter" sectionFormat="of" target="section-4.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-basic-comparison">Basic Comparison</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-trade-off-between-port-numb">Trade-Off between Port Number Efficiency and Stateless Operation</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-support-for-public-server-o">Support for Public Server Operation</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-support-and-implementations">Support and Implementations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.4.2">
                  <li pn="section-toc.1-1.4.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.1.1"><xref derivedContent="4.4.1" format="counter" sectionFormat="of" target="section-4.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-vendor-support">Vendor Support</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.2.1"><xref derivedContent="4.4.2" format="counter" sectionFormat="of" target="section-4.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-support-in-cellular-and-bro">Support in Cellular and Broadband Networks</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.4.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.3.1"><xref derivedContent="4.4.3" format="counter" sectionFormat="of" target="section-4.4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-implementation-code-sizes">Implementation Code Sizes</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.5">
                <t indent="0" pn="section-toc.1-1.4.2.5.1"><xref derivedContent="4.5" format="counter" sectionFormat="of" target="section-4.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-typical-deployment-and-traf">Typical Deployment and Traffic Volume Considerations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.5.2">
                  <li pn="section-toc.1-1.4.2.5.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.5.2.1.1"><xref derivedContent="4.5.1" format="counter" sectionFormat="of" target="section-4.5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-deployment-possibilities">Deployment Possibilities</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.5.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.5.2.2.1"><xref derivedContent="4.5.2" format="counter" sectionFormat="of" target="section-4.5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cellular-networks-with-464x">Cellular Networks with 464XLAT</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.5.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.5.2.3.1"><xref derivedContent="4.5.3" format="counter" sectionFormat="of" target="section-4.5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-wireline-networks-with-464x">Wireline Networks with 464XLAT</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.6">
                <t indent="0" pn="section-toc.1-1.4.2.6.1"><xref derivedContent="4.6" format="counter" sectionFormat="of" target="section-4.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-load-sharing">Load Sharing</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.7">
                <t indent="0" pn="section-toc.1-1.4.2.7.1"><xref derivedContent="4.7" format="counter" sectionFormat="of" target="section-4.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-logging">Logging</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.8">
                <t indent="0" pn="section-toc.1-1.4.2.8.1"><xref derivedContent="4.8" format="counter" sectionFormat="of" target="section-4.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-optimization-for-ipv4-only-">Optimization for IPv4-Only Devices and Applications</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-performance-comparison">Performance Comparison</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">As the deployment of IPv6 continues to be prevalent, it becomes clearer
      that network operators will move to building single-stack IPv6 core
      and access networks to simplify network planning and operations.
      However, providing customers with IPv4 services continues to be a
      requirement for the foreseeable future. To meet this need, the IETF
      has standardized a number of different IPv4aaS technologies
      for this (see <xref target="LEN2019" format="default" sectionFormat="of" derivedContent="LEN2019"/>) based on differing requirements and
      deployment scenarios.</t>
      <t indent="0" pn="section-1-2">The number of technologies that have been developed makes it 
	  time-consuming for a network operator to identify the most appropriate
      mechanism for their specific deployment. This document provides a
      comparative analysis of the most commonly used mechanisms to assist
      operators with this problem.</t>
      <t indent="0" pn="section-1-3">Five different IPv4aaS solutions are considered:
      </t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-1-4"><li pn="section-1-4.1" derivedCounter="1.">464XLAT <xref target="RFC6877" format="default" sectionFormat="of" derivedContent="RFC6877"/></li>
        <li pn="section-1-4.2" derivedCounter="2.">Dual-Stack Lite <xref target="RFC6333" format="default" sectionFormat="of" derivedContent="RFC6333"/></li>
        <li pn="section-1-4.3" derivedCounter="3.">Lightweight 4over6 (lw4o6) <xref target="RFC7596" format="default" sectionFormat="of" derivedContent="RFC7596"/></li>
        <li pn="section-1-4.4" derivedCounter="4.">Mapping of Address and Port with Encapsulation (MAP-E) <xref target="RFC7597" format="default" sectionFormat="of" derivedContent="RFC7597"/></li>
        <li pn="section-1-4.5" derivedCounter="5.">Mapping of Address and Port using Translation (MAP-T) <xref target="RFC7599" format="default" sectionFormat="of" derivedContent="RFC7599"/></li>
      </ol>
      <t indent="0" pn="section-1-5">We note that <xref target="RFC6180" format="default" sectionFormat="of" derivedContent="RFC6180"/> gives
      guidelines for using IPv6 transition mechanisms during IPv6 deployment;
      that document addresses a much broader topic, whereas this document
      focuses on a small part of it.</t>
    </section>
    <section anchor="overview" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-overview-of-the-technologie">Overview of the Technologies</name>
      <t indent="0" pn="section-2-1">The following sections introduce the different technologies analyzed
      in this document and describe some of their most important characteristics.
      </t>
      <section anchor="xlat_ov" numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-464xlat">464XLAT</name>
        <t indent="0" pn="section-2.1-1">464XLAT may use double translation (stateless NAT46 + stateful
        NAT64) or single translation (stateful NAT64) depending on different
        factors, such as the use of DNS by the applications and the
        availability of a DNS64 function (in the host or service
        provider network).</t>
        <t indent="0" pn="section-2.1-2">The customer-side translator (CLAT) is located in the customer's
        device, and it performs stateless NAT46 translation <xref target="RFC7915" format="default" sectionFormat="of" derivedContent="RFC7915"/> (more precisely, a stateless
        IP/ICMP translation from IPv4 to IPv6).  IPv4-embedded IPv6 addresses
        <xref target="RFC6052" format="default" sectionFormat="of" derivedContent="RFC6052"/> are used for both source and
        destination addresses. Commonly, a /96 prefix (either the 64:ff9b::/96
        Well-Known Prefix (WKP) or a Network-Specific Prefix) is used as the
        IPv6 destination for the IPv4-embedded client traffic.</t>
        <t indent="0" pn="section-2.1-3">In deployments where NAT64 load balancing (see <xref target="RFC7269" sectionFormat="of" section="4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7269#section-4.2" derivedContent="RFC7269"/>) is enabled, multiple WKPs <xref target="RFC8215" format="default" sectionFormat="of" derivedContent="RFC8215"/> may be used.</t>
        <t indent="0" pn="section-2.1-4">In the operator's network, the provider-side translator (PLAT)
        performs stateful NAT64 <xref target="RFC6146" format="default" sectionFormat="of" derivedContent="RFC6146"/> to translate the
        traffic. The destination IPv4 address is extracted from the
        IPv4-embedded IPv6 packet destination address, and the source address is
        from a pool of public IPv4 addresses.</t>
        <t indent="0" pn="section-2.1-5">Alternatively, when a dedicated /64 is not available for translation,
        the CLAT device uses a stateful NAT44 translation before the stateless
        NAT46 translation.</t>
        <t indent="0" pn="section-2.1-6">In general, keeping state in devices close to the end-user network (i.e., at the CE (Customer Edge) router) is not perceived to be as problematic as keeping state in the operator's network.
</t>
        <t indent="0" pn="section-2.1-7">In typical deployments, 464XLAT is used together with DNS64 
		<xref target="RFC6147" format="default" sectionFormat="of" derivedContent="RFC6147"/>; see <xref target="RFC8683" sectionFormat="of" section="3.1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8683#section-3.1.2" derivedContent="RFC8683"/>.
        When an IPv6-only client or application communicates with an IPv4-only
        server, the DNS64 server returns the IPv4-embedded IPv6 address of the
        IPv4-only server. In this case, the IPv6-only client sends out IPv6
        packets, the CLAT functions as an IPv6 router, and the PLAT performs a
        stateful NAT64 for these packets. There is a single
        translation.</t>
        <t indent="0" pn="section-2.1-8">Similarly, when an IPv4-only client or application communicates
        with an IPv4-only server, the CLAT will statelessly translate to IPv6
        so it can traverse the ISP network up to the PLAT (NAT64), which in
        turn will translate to IPv4.</t>
        <t indent="0" pn="section-2.1-9">Alternatively, one can say that DNS64 + stateful NAT64 is
        used to carry the traffic of the IPv6-only client and the IPv4-only
        server, and the CLAT is used only for the IPv4 traffic from applications
        or devices that use literal IPv4 addresses or non-IPv6-compliant APIs.
        </t>
        <figure anchor="xlatarch" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-overview-of-the-464xlat-arc">Overview of the 464XLAT Architecture</name>
          <artwork align="left" name="" type="" alt="" pn="section-2.1-10.1">
          Private +----------+ Translated  +----------+     _______
  +------+  IPv4  |   CLAT   |    4-6-4    |   PLAT   |    ( IPv4  )
  | IPv4 |-------&gt;| Stateless|------------&gt;| Stateful +--( Internet )
  |Device|&lt;-------|   NAT46  |&lt;------------|   NAT64  |   (________)
  +------+        +----------+      ^      +----------+ 
                                    |                    
                              Operator IPv6
                                Network</artwork>
        </figure>
        <t indent="0" pn="section-2.1-11">Note: In mobile networks, the CLAT is commonly implemented in the
        user equipment (UE) or smartphone; please refer to Figure 2 in <xref target="RFC6877" format="default" sectionFormat="of" derivedContent="RFC6877"/>.</t>
        <t indent="0" pn="section-2.1-12">Some NAT64 vendors support direct communication (that is, without translation) 
		between two CLATs by means of hairpinning through the NAT64.</t>
      </section>
      <section anchor="dslite_ov" numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-dual-stack-lite">Dual-Stack Lite</name>
        <t indent="0" pn="section-2.2-1">Dual-Stack Lite (DS-Lite) <xref target="RFC6333" format="default" sectionFormat="of" derivedContent="RFC6333"/> was the first
        of the considered transition mechanisms to be developed. DS-Lite uses a
        Basic Bridging BroadBand (B4) function in the customer's CE router
        that encapsulates IPv4 in IPv6 traffic and sends it over the IPv6 native
        service provider network to an Address Family Transition
        Router (AFTR). The AFTR performs encapsulation/decapsulation of the
        4in6 <xref target="RFC2473" format="default" sectionFormat="of" derivedContent="RFC2473"/> traffic and translates the IPv4 source 
		address in the inner IPv4 packet to a public IPv4 source address using 
		a stateful NAPT44 <xref target="RFC2663" format="default" sectionFormat="of" derivedContent="RFC2663"/> function.</t>
        <figure anchor="dslitearch" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-overview-of-the-ds-lite-arc">Overview of the DS-Lite Architecture</name>
          <artwork align="left" name="" type="" alt="" pn="section-2.2-2.1">
                                         +-------------+
        Private +----------+ IPv4-in-IPv6|Stateful AFTR|
+------+  IPv4  |    B4    |    Tunnel   |------+------+     _______
| IPv4 |-------&gt;| Encap./  |------------&gt;|Encap.|      |    ( IPv4  )
|Device|&lt;-------|  Decap.  |&lt;------------|  /   | NAPT +--( Internet )
+------+        +----------+      ^      |Decap.|  44  |   (________)
                                  |      +------+------+
                            Operator IPv6
                              Network</artwork>
        </figure>
        <t indent="0" pn="section-2.2-3">Some AFTR vendors support direct communication 
		between two B4s by means of hairpinning through the AFTR.</t>
      </section>
      <section anchor="lw4o6_ov" numbered="true" toc="include" removeInRFC="false" pn="section-2.3">
        <name slugifiedName="name-lightweight-4over6">Lightweight 4over6</name>
        <t indent="0" pn="section-2.3-1">Lightweight 4over6 (lw4o6) is a variant of DS-Lite. The main
        difference is that the stateful NAPT44 function is relocated from the
        centralized AFTR to the customer's B4 element (called an "lwB4"). The
        AFTR (called an "lwAFTR") function therefore only performs A+P
        (Address plus Port) routing <xref target="RFC6346" format="default" sectionFormat="of" derivedContent="RFC6346"/> and 4in6
        encapsulation/decapsulation.</t>
        <t indent="0" pn="section-2.3-2">Routing to the correct client and IPv4 address sharing are achieved
        using the A+P model <xref target="RFC6346" format="default" sectionFormat="of" derivedContent="RFC6346"/> of
        provisioning each lwB4 with a unique tuple of IPv4 address and a unique range
        of transport-layer ports. The client uses these for NAPT44.</t>
        <t indent="0" pn="section-2.3-3">The lwAFTR implements a binding table, which has a per-client
        entry linking the customer's source IPv4 address and an allocated range of
        transport-layer ports to their IPv6 tunnel endpoint address. The binding table
        allows egress traffic from customers to be validated (to prevent 
        spoofing) and ingress traffic to be correctly encapsulated and
        forwarded. As there needs to be a per-client entry, an lwAFTR
        implementation needs to be optimized for performing a per-packet
        lookup on the binding table.</t>
        <t indent="0" pn="section-2.3-4">Direct communication (that is, without translation) between two lwB4s is performed by hairpinning
        traffic through the lwAFTR.</t>
        <figure anchor="lw4o6arch" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-overview-of-the-lw4o6-archi">Overview of the lw4o6 Architecture</name>
          <artwork align="left" name="" type="" alt="" pn="section-2.3-5.1">
                +-------------+             +----------+
        Private |    lwB4     | IPv4-in-IPv6| Stateless|
+------+  IPv4  |------+------|    Tunnel   |  lwAFTR  |     _______
| IPv4 |-------&gt;|      |Encap.|------------&gt;|(encap/A+P|    ( IPv4  )
|Device|&lt;-------| NAPT |  /   |&lt;------------|bind. tab +--( Internet )
+------+        |  44  |Decap.|      ^      | routing) |   (________)
                +------+------+      |      +----------+
                              Operator IPv6
                                  Network</artwork>
        </figure>
      </section>
      <section anchor="map_e_ov" numbered="true" toc="include" removeInRFC="false" pn="section-2.4">
        <name slugifiedName="name-map-e">MAP-E</name>
        <t indent="0" pn="section-2.4-1">Like 464XLAT (<xref target="xlat_ov" format="default" sectionFormat="of" derivedContent="Section 2.1"/>), MAP-E and MAP-T use 
		IPv4-embedded IPv6 addresses <xref target="RFC6052" format="default" sectionFormat="of" derivedContent="RFC6052"/> to represent IPv4 
		hosts outside the MAP domain. </t>
        <t indent="0" pn="section-2.4-2">MAP-E and MAP-T use a stateless algorithm to embed portions of the customer's
        allocated IPv4 address (or part of an address with A+P routing) into the
        IPv6 prefix delegated to the client. This allows for large numbers of
        clients to be provisioned using a single MAP rule (called a "MAP domain").
        The algorithm also allows direct IPv4 peer-to-peer communication
        between hosts provisioned with common MAP rules.</t>
        <t indent="0" pn="section-2.4-3">The CE router typically performs stateful NAPT44 
        <xref target="RFC2663" format="default" sectionFormat="of" derivedContent="RFC2663"/> to translate the private IPv4 source addresses
        and source ports into an address and port range defined by applying
        the MAP rule to the delegated IPv6 prefix. The client
        address/port allocation size is a configuration parameter. The CE router then
        encapsulates the IPv4 packet in an IPv6 packet <xref target="RFC2473" format="default" sectionFormat="of" derivedContent="RFC2473"/>
        and sends it directly to another host in the MAP domain
        (for peer-to-peer) or to a Border Router (BR) if the IPv4 destination is
        not covered in one of the CE's MAP rules.</t>
        <t indent="0" pn="section-2.4-4">The MAP BR is provisioned with the set of MAP rules for the MAP
        domains it serves. These rules determine how the MAP BR is to decapsulate
        traffic that it receives from the client, validate the source IPv4
        address and transport-layer ports assigned, and calculate the
        destination IPv6 address for ingress IPv4 traffic.</t>
        <figure anchor="map-e-arch" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-overview-of-the-map-e-archi">Overview of the MAP-E Architecture</name>
          <artwork align="left" name="" type="" alt="" pn="section-2.4-5.1">
                +-------------+             +----------+
        Private |   MAP CE    | IPv4-in-IPv6| Stateless|
+------+  IPv4  |------+------|    tunnel   |  MAP BR  |     _______
| IPv4 |-------&gt;|      |Encap.|------------&gt;|(encap/A+P|    ( IPv4  )
|Device|&lt;-------| NAPT |  /   |&lt;------------|algorithm +--( Internet )
+------+        |  44  |Decap.|      ^      | routing) |   (________)
                +------+------+      |      +----------+
                              Operator IPv6
                                  Network</artwork>
        </figure>
        <t indent="0" pn="section-2.4-6">Some BR vendors support direct communication 
		between two MAP CEs by means of hairpinning through the BR.</t>
      </section>
      <section anchor="map_t_ov" numbered="true" toc="include" removeInRFC="false" pn="section-2.5">
        <name slugifiedName="name-map-t">MAP-T</name>
        <t indent="0" pn="section-2.5-1">MAP-T uses the same mapping algorithm as MAP-E. The major difference
        is that double stateless translation (NAT46 in the CE and NAT64 in the
        BR) is used to traverse the ISP's IPv6 single-stack network. MAP-T can
        also be compared to 464XLAT when there is a double translation.</t>
        <t indent="0" pn="section-2.5-2">A MAP CE router typically performs stateful NAPT44 to translate traffic to a public
        IPv4 address and port range calculated by applying the provisioned 
        Basic MAP Rule (BMR), which is a set of inputs to the algorithm, to the delegated
        IPv6 prefix. The CE then performs stateless translation from IPv4 to
        IPv6 <xref target="RFC7915" format="default" sectionFormat="of" derivedContent="RFC7915"/>.
   The MAP BR is
   provisioned with the same BMR as the client, enabling the received
   IPv6 traffic to be translated (using stateless NAT64) back to the public
   IPv4 source address used by the client.
</t>
        <t indent="0" pn="section-2.5-3">Using translation instead of encapsulation also allows IPv4-only
        nodes to correspond directly with IPv6 nodes in the MAP-T domain
        that have IPv4-embedded IPv6 addresses.</t>
        <figure anchor="map-t-arch" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-overview-of-the-map-t-archi">Overview of the MAP-T Architecture</name>
          <artwork align="left" name="" type="" alt="" pn="section-2.5-4.1">
                +-------------+             +----------+
        Private |   MAP CE    |  Translated | Stateless|
+------+  IPv4  |------+------|    4-6-4    |  MAP BR  |     _______
| IPv4 |-------&gt;|      |State-|------------&gt;|(NAT64/A+P|    ( IPv4  )
|Device|&lt;-------| NAPT | less |&lt;------------|algorithm +--( Internet )
+------+        |  44  |NAT46 |      ^      | routing) |   (________)
                +------+------+      |      +----------+
                              Operator IPv6
                                  Network</artwork>
        </figure>
        <t indent="0" pn="section-2.5-5">Some BR vendors support direct communication 
		between two MAP CEs by means of hairpinning through the BR.</t>
      </section>
    </section>
    <section anchor="hl_arch" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-high-level-architectures-an">High-Level Architectures and Their Consequences</name>
      <section anchor="sp_net_trav" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-service-provider-network-tr">Service Provider Network Traversal</name>
        <t indent="0" pn="section-3.1-1">For the data plane, there are two approaches for traversing
        the IPv6 provider network:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-2">
          <li pn="section-3.1-2.1">4-6-4 translation</li>
          <li pn="section-3.1-2.2">4in6 encapsulation</li>
        </ul>
        <table anchor="net_trav_table" align="center" pn="table-1">
          <name slugifiedName="name-available-traversal-mechani">Available Traversal Mechanisms</name>
          <thead>
            <tr>
              <th align="center" colspan="1" rowspan="1"/>
              <th align="center" colspan="1" rowspan="1">464XLAT</th>
              <th align="center" colspan="1" rowspan="1">DS-Lite</th>
              <th align="center" colspan="1" rowspan="1">lw4o6</th>
              <th align="center" colspan="1" rowspan="1">MAP-E</th>
              <th align="center" colspan="1" rowspan="1">MAP-T</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">4-6-4 translation</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1">X</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4in6 encapsulation</td>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1"/>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-3.1-4">In the scope of this document, all of the encapsulation-based
        mechanisms use IP-in-IP tunneling <xref target="RFC2473" format="default" sectionFormat="of" derivedContent="RFC2473"/>.
        This is a stateless tunneling mechanism that does not require any
        additional overhead.</t>
        <t indent="0" pn="section-3.1-5">It should be noted that both of these approaches result in an
        increase in the size of the packet that needs to be transported across
        the operator's network when compared to native IPv4. 4-6-4
        translation adds a 20-byte overhead (the 20-byte IPv4 header is
        replaced with a 40-byte IPv6 header). Encapsulation has a 40-byte
        overhead (an IPv6 header is prepended to the IPv4 header).</t>
        <t indent="0" pn="section-3.1-6">The increase in packet size can become a significant problem if there
        is a link with a smaller MTU in the traffic path. This may result in the need for
        traffic to be fragmented at the ingress point to the IPv6 only
        domain (i.e., the NAT46 or 4in6 encapsulation endpoint). It may also
        result in the need to implement buffering and fragment reassembly
        in the PLAT/AFTR/lwAFTR/BR node.</t>
        <t indent="0" pn="section-3.1-7">The advice given in <xref target="RFC7597" sectionFormat="of" section="8.3.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7597#section-8.3.1" derivedContent="RFC7597"/> is applicable to all of these mechanisms: 

	It is
        strongly recommended that the MTU in the IPv6-only domain be well
        managed (it should have sufficiently large MTU to support tunneling
        and/or translation) and that the IPv6 MTU on the CE WAN-side interface
        be set so that no fragmentation occurs within the boundary of the
        IPv6-only domain.</t>
      </section>
      <section anchor="nat" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-network-address-translation">Network Address Translation among the Different IPv4aaS Technologies</name>
        <t indent="0" pn="section-3.2-1">
  For the high-level solution of IPv6 service provider network traversal,
  MAP-T uses double stateless translation. The first translation is from IPv4
  to IPv6 (NAT46) at the CE, and the second translation is from IPv6 to IPv4
  (NAT64) at the service provider network.
        </t>
        <t indent="0" pn="section-3.2-2">464XLAT may use double translation (stateless NAT46 + stateful
        NAT64) or single translation (stateful NAT64) depending on different
        factors, such as the use of DNS by the applications and the availability
        of a DNS64 function (in the host or in the service provider network).
        For deployment guidelines, please refer to <xref target="RFC8683" format="default" sectionFormat="of" derivedContent="RFC8683"/>.</t>
        <t indent="0" pn="section-3.2-3">The first step for the double translation mechanisms is a stateless
        NAT from IPv4 to IPv6 implemented as SIIT (Stateless IP/ICMP
        Translation Algorithm) <xref target="RFC7915" format="default" sectionFormat="of" derivedContent="RFC7915"/>,
        which does not translate IPv4 header options and/or multicast IP/ICMP
        packets. With encapsulation-based technologies, the header is
        transported intact, and multicast can also be carried.</t>
        <t indent="0" pn="section-3.2-4">Single and double translation results in native IPv6 traffic with a
        transport-layer next header. The fields in these headers can be used
        for functions such as hashing across equal-cost multipaths or Access
        Control List (ACL) filtering. Encapsulation technologies, in contrast,
        may hinder hashing algorithms or other functions relying on header
        inspection.</t>
        <t indent="0" pn="section-3.2-5">Solutions using double translation can only carry port-aware IP
        protocols (e.g., TCP and UDP) and ICMP when they are used with IPv4
        address sharing (please refer to <xref target="pub_serv" format="default" sectionFormat="of" derivedContent="Section 4.3"/> for more details).  Encapsulation-based solutions
        can also carry any other protocols over IP.</t>
        <t indent="0" pn="section-3.2-6">An in-depth analysis of stateful NAT64 can be found in <xref target="RFC6889" format="default" sectionFormat="of" derivedContent="RFC6889"/>.</t>
        <t indent="0" pn="section-3.2-7">As stateful NAT interferes with the port numbers, <xref target="I-D.ietf-tsvwg-natsupp" format="default" sectionFormat="of" derivedContent="NAT-SUPP"/> explains how NATs
        can handle SCTP (Stream Control Transmission Protocol).</t>
      </section>
      <section anchor="ipv4_sharing" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-ipv4-address-sharing">IPv4 Address Sharing</name>
        <t indent="0" pn="section-3.3-1">As public IPv4 address exhaustion is a common motivation for
        deploying IPv6, transition technologies need to provide a solution that
        allows public IPv4 address sharing.</t>
        <t indent="0" pn="section-3.3-2">In order to fulfill this requirement, a stateful NAPT function is
        a necessary function in all of the mechanisms. The major differentiator
        is where in the architecture this function is located.</t>
        <t indent="0" pn="section-3.3-3">The solutions compared by this document fall into two categories:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.3-4">
          <li pn="section-3.3-4.1">Approaches based on Carrier-Grade NAT (CGN) (DS-Lite, 464XLAT)</li>
          <li pn="section-3.3-4.2">Approaches based on A+P (lw4o6, MAP-E, MAP-T)</li>
        </ul>
        <t indent="0" pn="section-3.3-5">In the CGN-based model, a device such as a CGN/AFTR or NAT64 performs
        the NAPT44 function and maintains per-session state for all of the
        active client's traffic. The customer's device does not require 
        per-session state for NAPT.</t>
        <t indent="0" pn="section-3.3-6">In the A+P-based model, a device (usually a CE) performs stateful
        NAPT44 and maintains per-session state only for co-located devices,
        e.g., in the customer's home network. Here, the centralized network
        function (lwAFTR or BR) only needs to perform stateless
        encapsulation/decapsulation or NAT64.</t>
        <t indent="0" pn="section-3.3-7">Issues related to IPv4 address-sharing mechanisms are described 
        in <xref target="RFC6269" format="default" sectionFormat="of" derivedContent="RFC6269"/> and should also be considered.</t>
        <t indent="0" pn="section-3.3-8">The address-sharing efficiency of the five technologies is
        significantly different and is discussed in 
        <xref target="port_num_eff" format="default" sectionFormat="of" derivedContent="Section 4.2"/>.</t>
        <t indent="0" pn="section-3.3-9">Lw4o6, MAP-E, and MAP-T can also be configured without IPv4 address sharing;
        see the details in <xref target="pub_serv" format="default" sectionFormat="of" derivedContent="Section 4.3"/>. However, in that case, there is no advantage in
        terms of public IPv4 address saving.
	In the case of 464XLAT, one-to-one mapping can also
        be achieved through EAMT (Explicit Address Mapping Table)
        <xref target="RFC7757" format="default" sectionFormat="of" derivedContent="RFC7757"/>.</t>
        <t indent="0" pn="section-3.3-10">Conversely, both MAP-E and MAP-T may be configured to provide more
        than one public IPv4 address (i.e., an address with an IPv4 prefix shorter than a /32)
        to customers.</t>
        <t indent="0" pn="section-3.3-11">Dynamic DNS issues in address-sharing contexts and their possible
		solutions using PCP (Port Control Protocol) are discussed in detail 
		in <xref target="RFC7393" format="default" sectionFormat="of" derivedContent="RFC7393"/>.</t>
      </section>
      <section anchor="ipv4_pool" numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-ipv4-pool-size-consideratio">IPv4 Pool Size Considerations</name>
        <t indent="0" pn="section-3.4-1">In this section, we do some simple calculations regarding port
        numbers. However, technical limitations are not the only point to
        consider for port sharing; there are also local regulations and
        best current practices.</t>
        <t indent="0" pn="section-3.4-2">Note: By "port numbers", we mean TCP/UDP port numbers or ICMP
        identifiers.</t>
        <t indent="0" pn="section-3.4-3">In most networks, it is possible to use existing data about flows to
   Content Delivery Networks (CDNs), caches, or other well-known
   IPv6-enabled destinations to calculate the percentage of traffic that
   would turn into IPv6 if IPv6 is enabled on that network or on part of it.
        </t>
        <t indent="0" pn="section-3.4-4">Knowing that, it is possible to calculate the IPv4 pool size
        required for a given number of subscribers, depending on the IPv4aaS
        technology being used.</t>
        <t indent="0" pn="section-3.4-5">According to <xref target="MIY2010" format="default" sectionFormat="of" derivedContent="MIY2010"/>, each
        user device (computer, tablet, smartphone) behind a NAT could
        simultaneously use up to 300 ports.  (Table 1 of <xref target="MIY2010" format="default" sectionFormat="of" derivedContent="MIY2010"/> lists the port number usage of
        various applications. According to <xref target="REP2014" format="default" sectionFormat="of" derivedContent="REP2014"/>, the downloading of some web pages may consume up to
        200 port numbers.) If the extended NAPT algorithm is used, which
        includes the full 5-tuple into the connection tracking table, then
        the port numbers are reused when the destinations are
        different. Therefore, we need to consider the number of "port-hungry"
        applications that are accessing the same destination simultaneously.
        We estimate that in the case of a residential subscriber, there will
        be typically no more than four port-hungry applications communicating
        with the same destination simultaneously, which is a total of 1,200
        ports. </t>
        <t indent="0" pn="section-3.4-6">For example, if 80% of the traffic is expected towards IPv6
        destinations, only 20% will actually be using IPv4 ports. Thus, in our
        example, 240 ports are required for each subscriber.</t>
        <t indent="0" pn="section-3.4-7">From the 65,535 ports available per IPv4 address, we could even
   consider reserving 1,024 ports for customers that need
   EAMT entries for incoming connections to System ports (0-1023, also
   called "well-known ports") <xref target="RFC7605" format="default" sectionFormat="of" derivedContent="RFC7605"/>.
        This means that 64,511 ports are actually available for each IPv4 address.</t>
        <t indent="0" pn="section-3.4-8">According to this, a /22 (1.024 public IPv4 addresses) will be sufficient 
		for over 275,000 subscribers (1,024x64,511/240=275,246.93).</t>
        <t indent="0" pn="section-3.4-9">Similarly, a /18 (16,384 public IPv4 addresses) will be sufficient
        for over 4,403,940 subscribers, and so on.</t>
        <t indent="0" pn="section-3.4-10">This is a conservative approach, which is valid in the case of
        464XLAT because ports are assigned dynamically by the NAT64. Therefore, it is
        not necessary to consider if one user is actually using more or fewer
        ports; average values work well.</t>
        <t indent="0" pn="section-3.4-11">As the deployment of IPv6 progresses, the use of NAT64, and
        therefore of public IPv4 addresses, decreases (more IPv6 ports, fewer
        IPv4 ports). Thus, either more subscribers can be accommodated with the
        same number of IPv4 addresses or some of those addressed can be
        retired from the NAT64.</t>
        <t indent="0" pn="section-3.4-12">For comparison, if dual-stack is being used, any given number of
        users will require the same number of public IPv4 addresses. For
        instance, a /14 will provide 262,144 IPv4 public addresses for 262,144
        subscribers, versus 275,000 subscribers being served with only a
        /22.</t>
        <t indent="0" pn="section-3.4-13">In the other IPv4aaS technologies, this calculation will only match
        if the assignment of ports per subscriber can be done dynamically,
        which is not always the case (depending on the vendor
        implementation).</t>
        <t indent="0" pn="section-3.4-14">  When dynamic assignment of addresses is not possible, an
  alternative approximation for the other IPv4aaS technologies must ensure a
  sufficient number of ports per subscriber.
	That means 1,200 ports, and
        typically, it comes to 2,000 ports in many deployments.
   In that case, assuming 80% is IPv6 traffic (as above), only 30 subscribers
   will be allowed per each IPv4 address; thus, the closer approximation to
   275,000 subscribers per our example with 464XLAT (with a /22) will be using
   a /19, which serves 245,760 subscribers (a /19 has 8,192 addresses and 30
   subscribers with 2,000 ports each per address).
        </t>
        <t indent="0" pn="section-3.4-15">If the CGN (in case of DS-Lite) or the CE (in case of lw4o6, MAP-E,
        and MAP-T) make use of a 5-tuple for tracking the NAT connections, the
        number of ports required per subscriber can be limited as low as four
        ports per subscriber.  However, the practical limit depends on the
        desired limit for parallel connections that any single host behind the
        NAT can have to the same address and port in Internet. Note that it is
        becoming more common that applications use AJAX (Asynchronous
        JavaScript and XML) and similar mechanisms, so taking that extreme
        limit is probably not a safe choice.</t>
        <t indent="0" pn="section-3.4-16">This feature of extremely reduced number of ports could also be used in 
		case the CLAT-enabled CE with 464XLAT makes use of tracking the 5-tuple NAT 
		connections and could also be further extended 
		if the NAT64 also uses the 5-tuple.</t>
        <t indent="0" pn="section-3.4-17">Please also refer to <xref target="RFC6888" format="default" sectionFormat="of" derivedContent="RFC6888"/> for in-depth information about 
		the requirements for sizing CGN gateways.</t>
      </section>
      <section anchor="ce_prov" numbered="true" toc="include" removeInRFC="false" pn="section-3.5">
        <name slugifiedName="name-ce-provisioning-considerati">CE Provisioning Considerations</name>
        <t indent="0" pn="section-3.5-1">All of the technologies require some provisioning of customer
        devices. The table below shows which methods currently have
        extensions for provisioning the different mechanisms.</t>
        <table anchor="prov_mech_table" align="center" pn="table-2">
          <name slugifiedName="name-available-provisioning-mech">Available Provisioning Mechanisms</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Provisioning Method</th>
              <th align="center" colspan="1" rowspan="1">464XLAT</th>
              <th align="center" colspan="1" rowspan="1">DS-Lite</th>
              <th align="center" colspan="1" rowspan="1">lw4o6</th>
              <th align="center" colspan="1" rowspan="1">MAP-E</th>
              <th align="center" colspan="1" rowspan="1">MAP-T</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">DHCPv6 <xref target="RFC8415" format="default" sectionFormat="of" derivedContent="RFC8415"/></td>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">RADIUS <xref target="RFC8658" format="default" sectionFormat="of" derivedContent="RFC8658"/></td>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1">
                <xref target="RFC6519" format="default" sectionFormat="of" derivedContent="RFC6519"/></td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">TR-069 <xref target="TR-069" format="default" sectionFormat="of" derivedContent="TR-069"/></td>
              <td align="center" colspan="1" rowspan="1">*</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">*</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">DNS64 <xref target="RFC7050" format="default" sectionFormat="of" derivedContent="RFC7050"/></td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1"/>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">YANG <xref target="RFC7950" format="default" sectionFormat="of" derivedContent="RFC7950"/></td>
              <td align="center" colspan="1" rowspan="1">
                <xref target="RFC8512" format="default" sectionFormat="of" derivedContent="RFC8512"/></td>
              <td align="center" colspan="1" rowspan="1">
                <xref target="RFC8513" format="default" sectionFormat="of" derivedContent="RFC8513"/></td>
              <td align="center" colspan="1" rowspan="1">
                <xref target="RFC8676" format="default" sectionFormat="of" derivedContent="RFC8676"/></td>
              <td align="center" colspan="1" rowspan="1">
                <xref target="RFC8676" format="default" sectionFormat="of" derivedContent="RFC8676"/></td>
              <td align="center" colspan="1" rowspan="1">
                <xref target="RFC8676" format="default" sectionFormat="of" derivedContent="RFC8676"/></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">DHCP 4o6 <xref target="RFC7341" format="default" sectionFormat="of" derivedContent="RFC7341"/></td>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1"/>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1">X</td>
              <td align="center" colspan="1" rowspan="1"/>
            </tr>
          </tbody>
        </table>
        <dl newline="false" spacing="normal" indent="3" pn="section-3.5-3">
          <dt pn="section-3.5-3.1">*:</dt>
          <dd pn="section-3.5-3.2">Work started at Broadband Forum (2021)</dd>
          <dt pn="section-3.5-3.3">X:</dt>
          <dd pn="section-3.5-3.4">Supported by the provisioning method</dd>
        </dl>
      </section>
      <section anchor="multicast" numbered="true" toc="include" removeInRFC="false" pn="section-3.6">
        <name slugifiedName="name-support-for-multicast">Support for Multicast</name>
        <t indent="0" pn="section-3.6-1">The solutions covered in this document are all intended for
        unicast traffic. <xref target="RFC8114" format="default" sectionFormat="of" derivedContent="RFC8114"/> describes a method for
        carrying encapsulated IPv4 multicast traffic over an IPv6 multicast
        network. This could be deployed in parallel to any of the operator's
        chosen IPv4aaS mechanism.</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-detailed-analysis">Detailed Analysis</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-architectural-differences">Architectural Differences</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1.1">
          <name slugifiedName="name-basic-comparison">Basic Comparison</name>
          <t indent="0" pn="section-4.1.1-1">The five IPv4aaS technologies can be classified
          based on two aspects:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1.1-2">
            <li pn="section-4.1.1-2.1">Technology used for service provider network traversal. 
            It can be single/double translation or encapsulation.</li>
            <li pn="section-4.1.1-2.2">Presence or absence of per-flow state in the
            operator network.
            </li>
          </ul>
          <table anchor="data_plane_table" align="center" pn="table-3">
            <name slugifiedName="name-basic-comparison-among-the-">Basic Comparison among the Analyzed Technologies</name>
            <thead>
              <tr>
                <th align="center" colspan="1" rowspan="1"/>
                <th align="center" colspan="1" rowspan="1">464XLAT</th>
                <th align="center" colspan="1" rowspan="1">DS-Lite</th>
                <th align="center" colspan="1" rowspan="1">lw4o6</th>
                <th align="center" colspan="1" rowspan="1">MAP-E</th>
                <th align="center" colspan="1" rowspan="1">MAP-T</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">Translation (T) or Encapsulation (E) </td>
                <td align="center" colspan="1" rowspan="1">T</td>
                <td align="center" colspan="1" rowspan="1">E</td>
                <td align="center" colspan="1" rowspan="1">E</td>
                <td align="center" colspan="1" rowspan="1">E</td>
                <td align="center" colspan="1" rowspan="1">T</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1"> Presence (+) of Per-Flow State in Operator Network</td>
                <td align="center" colspan="1" rowspan="1">+</td>
                <td align="center" colspan="1" rowspan="1">+</td>
                <td align="center" colspan="1" rowspan="1"/>
                <td align="center" colspan="1" rowspan="1"/>
                <td align="center" colspan="1" rowspan="1"/>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="port_num_eff" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-trade-off-between-port-numb">Trade-Off between Port Number Efficiency and Stateless Operation</name>
        <t indent="0" pn="section-4.2-1">464XLAT and DS-Lite use stateful NAPT at the PLAT and AFTR devices,
      respectively. This may cause scalability issues for the number of clients
      or volume of traffic, but it does not impose a limitation 
      on the number of ports per user, as they can be allocated dynamically 
      on-demand and the allocation policy can be centrally managed and adjusted.</t>
        <t indent="0" pn="section-4.2-2">A+P-based mechanisms (lw4o6, MAP-E, and MAP-T) avoid using NAPT in the
      service provider network. However, this means that the number of ports
      provided to each user (and hence the effective IPv4 address-sharing ratio)
      must be pre-provisioned to the client.</t>
        <t indent="0" pn="section-4.2-3">Changing the allocated port ranges with A+P-based
      technologies requires more planning and is likely to involve
      reprovisioning both hosts and operator-side equipment. It should be
      noted that due to the per-customer binding table entry used
      by lw4o6, a single customer can be reprovisioned (e.g., if they
      request a full IPv4 address) without needing to change parameters for a
      number of customers as in a MAP domain.</t>
        <t indent="0" pn="section-4.2-4">It is also worth noting that there is a direct relationship between
      the efficiency of public port allocations for customers and the corresponding
      logging overhead that may be necessary to meet data-retention
      requirements. This is considered in <xref target="logging" format="default" sectionFormat="of" derivedContent="Section 4.7"/>.</t>
        <t indent="0" pn="section-4.2-5">Determining the optimal number of ports for a fixed port set is not
        an easy task and may also be impacted by local regulatory law (and in
        the Belgian case, it is not a law but more a memorandum of
        understanding or best current practice), which may define a maximum
        number of users per IP address and consequently a minimum number of
        ports per user.</t>
        <t indent="0" pn="section-4.2-6">On the one hand, the "lack of ports" situation may cause serious
      problems in the operation of certain applications. For example, Miyakawa
      has demonstrated the consequences of the session number limitation due
      to port number shortage in the example of Google Maps 
      <xref target="MIY2010" format="default" sectionFormat="of" derivedContent="MIY2010"/>. When the limit was 15, several blocks of the
      map were missing, and the map was unusable. This study also provided
      several examples for the session numbers of different applications
      (the highest one was Apple's iTunes at 230-270 ports).</t>
        <t indent="0" pn="section-4.2-7">The port number consumption of different applications is highly
        varying. In the case of web browsing, it depends on several
        factors, including the choice of the web page, the web browser, and
        sometimes the operating system <xref target="REP2014" format="default" sectionFormat="of" derivedContent="REP2014"/>. For example, under certain conditions, 120-160
        ports were used (URL: sohu.com, browser: Firefox under Ubuntu Linux),
        and in some other cases, only 3-12 ports were used (URL: twitter.com,
        browser: Iceweasel under Debian Linux).</t>
        <t indent="0" pn="section-4.2-8">There may be several users behind a CE router, especially in the
      broadband case (e.g., Internet is used by different members of a family
      simultaneously), so sufficient ports must be allocated to avoid
      impacting user experience.</t>
        <t indent="0" pn="section-4.2-9">In general, assigning too few source port numbers to an end user may 
	  result in unexpected and hard-to-debug consequences; therefore, if the 
	  number of ports per end user is fixed, then we recommend assigning a 
	  conservatively large number of ports. For example, the developers of Jool used 
	  2048 ports per user in their example for MAP-T <xref target="JOOL-MAPT" format="default" sectionFormat="of" derivedContent="JOOL-MAPT"/>.</t>
        <t indent="0" pn="section-4.2-10">However, assigning too many ports per CE router
      will result in waste of public IPv4 addresses, which are scarce and
      expensive resources. Clearly, this is a big advantage in the case of 464XLAT 
      where they are dynamically managed so that the number of IPv4 addresses 
      for the sharing pool is smaller while the availability of ports per user 
      doesn't need to be pre-defined and is not a limitation.</t>
        <t indent="0" pn="section-4.2-11">There is a direct trade-off between the optimization of client
      port allocations and the associated logging overhead. 
      <xref target="logging" format="default" sectionFormat="of" derivedContent="Section 4.7"/> discusses this in more depth.</t>
        <t indent="0" pn="section-4.2-12"> We note that common NAT44 implementations utilizing Netfilter at the
      CE router multiplex active sessions using a 3-tuple (source address,
      destination address, and destination port).  This means that external
      source ports can be reused for unique internal source and destination
      addresses and port sessions. It is also noted that Netfilter cannot
      currently make use of multiple source port ranges (i.e., several blocks
      of ports distributed across the total port space as is common in MAP
      deployments).  This may influence the design when using stateless
      technologies.</t>
        <t indent="0" pn="section-4.2-13">Stateful technologies, 464XLAT, DS-Lite, and NAT444 can
      therefore be much more efficient in terms of port allocation and thus
      public IP address saving. The price is the stateful operation in the
      service provider network, which allegedly does not scale up well.
      It should be noted that, in many cases, all those factors may depend on
      how it is actually implemented.</t>
        <t indent="0" pn="section-4.2-14">Measurements have been started to examine the scalability of a few 
	  stateful solutions in two areas:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-15">
          <li pn="section-4.2-15.1">How their performance scales up with the number of CPU cores</li>
          <li pn="section-4.2-15.2">To what extent their performance degrades with the number of 
			concurrent connections</li>
        </ul>
        <t indent="0" pn="section-4.2-16">
      The details of the measurements and their results are available from 
	  	  <xref target="I-D.lencse-v6ops-transition-scalability" format="default" sectionFormat="of" derivedContent="IPv4aaS-SCALE-TECH"/>.
        </t>
        <t indent="0" pn="section-4.2-17">We note that some CGN-type solutions can allocate ports dynamically
      "on the fly". Depending on configuration, this can result in the same
      customer being allocated ports from different source addresses. This can
      cause operational issues for protocols and applications that expect
      multiple flows to be sourced from the same address (e.g., ECMP hashing,
      STUN, gaming, and content delivery networks). However, it should be noted
      that this is the same problem when a network has a NAT44 with multiple
      public IPv4 addresses, or even when applications in a dual-stack case,
      behave wrongly if Happy Eyeballs is flapping the flow address between
      IPv4 and IPv6.</t>
        <t indent="0" pn="section-4.2-18">The consequences of IPv4 address sharing <xref target="RFC6269" format="default" sectionFormat="of" derivedContent="RFC6269"/> may
      impact all five technologies. However, when ports are allocated
      statically, more customers may get ports from the same public IPv4
      address, which may result in negative consequences with higher
      probability. For example, many applications and service providers (Sony
      PlayStation Network, OpenDNS, etc.) can permanently block IPv4 ranges
      if they detect that they are used for address sharing.</t>
        <t indent="0" pn="section-4.2-19">Both cases are, again, implementation-dependent.</t>
        <t indent="0" pn="section-4.2-20">We note that although it is not of typical use, one can do
      deterministic, stateful NAT and reserve a fixed set of ports for each
      customer as well.</t>
      </section>
      <section anchor="pub_serv" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-support-for-public-server-o">Support for Public Server Operation</name>
        <t indent="0" pn="section-4.3-1">Mechanisms that rely on operator-side per-flow state do not, by
      themselves, offer a way for customers to present services on publicly
      accessible transport-layer ports.</t>
        <t indent="0" pn="section-4.3-2">The Port Control Protocol (PCP) <xref target="RFC6887" format="default" sectionFormat="of" derivedContent="RFC6887"/> provides a
      mechanism for a client to request an external public port from a CGN
      device. For server operation, it is required with 464XLAT/NAT64, and 
	  it is supported in some DS-Lite AFTR implementations.</t>
        <t indent="0" pn="section-4.3-3">A+P-based mechanisms distribute a public IPv4 address and
        restricted range of transport-layer ports to the client. In this case,
        it is possible for the user to configure their device to offer a
        publicly accessible server on one of their allocated ports. It should
        be noted that operators commonly do not assign the well-known ports to
        users (unless they are allocating a full IPv4 address), so the user
        will need to run the service on an allocated port or configure port
        translation.</t>
        <t indent="0" pn="section-4.3-4">Lw4o6, MAP-E, and MAP-T may be configured to allocated clients with 
      a full IPv4 address, allowing exclusive use of all ports and
      non-port-based transport-layer protocols. Thus, they may also be used to support 
      server/services operation on their default ports. However, when public
      IPv4 addresses are assigned to the CE router without address sharing,
      there is obviously no advantage in terms of IPv4 public addresses saving.
        </t>
        <t indent="0" pn="section-4.3-5">It is also possible to configure specific ports mapping in
      464XLAT/NAT64 using EAMT <xref target="RFC7757" format="default" sectionFormat="of" derivedContent="RFC7757"/>, which means that only
      those ports are "lost" from the pool of addresses, so there is a higher
      maximization of the total usage of IPv4 port resources.</t>
      </section>
      <section anchor="supp_imp" numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-support-and-implementations">Support and Implementations</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.4.1">
          <name slugifiedName="name-vendor-support">Vendor Support</name>
          <t indent="0" pn="section-4.4.1-1">In general, router vendors support AFTR, MAP-E BR, MAP-T
		BR, and NAT64.  Vendors of load balancers and firewalls usually
		support NAT64 as well while not all of them have support for
		the other protocols.</t>
          <t indent="0" pn="section-4.4.1-2">A 464XLAT client (CLAT) is implemented in Windows 10, Linux
          (including Android), Windows Mobile, Chrome OS, and iOS, but it is
          not available in macOS 12.3.1.</t>
          <t indent="0" pn="section-4.4.1-3">The remaining four solutions are commonly deployed as functions
          in the CE device only; however, the vendors' support is poor in
          general (except for DS-Lite).</t>
          <t indent="0" pn="section-4.4.1-4"> OpenWRT is a Linux-based open-source OS designed for CE devices. It
 offers a number of different 'opkg' packages as part of the distribution:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.4.1-5">
            <li pn="section-4.4.1-5.1">'464xlat' enables support for 464XLAT CLAT functionality.</li>
            <li pn="section-4.4.1-5.2">'ds-lite' enables support for DSLite B4 functionality.</li>
            <li pn="section-4.4.1-5.3">'map' enables support for MAP-E and lw4o6 CE
            functionality.</li>
            <li pn="section-4.4.1-5.4">'map-t' enables support for MAP-T CE functionality.</li>
          </ul>
          <t indent="0" pn="section-4.4.1-6">At the time of publication, some free open-source implementations 
		exist for the operator-side functionality:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.4.1-7">
            <li pn="section-4.4.1-7.1">Jool <xref target="JOOL" format="default" sectionFormat="of" derivedContent="JOOL"/> (CLAT, NAT64, EAMT, MAP-T CE, MAP-T BR)</li>
            <li pn="section-4.4.1-7.2">VPP/fd.io <xref target="VPP" format="default" sectionFormat="of" derivedContent="VPP"/> (MAP-BR, lwAFTR, CGN, CLAT, NAT64)</li>
            <li pn="section-4.4.1-7.3">Snabb <xref target="SNABB" format="default" sectionFormat="of" derivedContent="SNABB"/> (lwAFTR)</li>
            <li pn="section-4.4.1-7.4">AFTR <xref target="AFTR" format="default" sectionFormat="of" derivedContent="AFTR"/> (DSLite AFTR)</li>
          </ul>
        </section>
        <section anchor="cell_broad_supp" numbered="true" toc="include" removeInRFC="false" pn="section-4.4.2">
          <name slugifiedName="name-support-in-cellular-and-bro">Support in Cellular and Broadband Networks</name>
          <t indent="0" pn="section-4.4.2-1">Several cellular networks use 464XLAT, whereas there are no
        deployments of the four other technologies in cellular networks, as
        they are neither standardized nor implemented in UE devices.</t>
          <t indent="0" pn="section-4.4.2-2">In broadband networks, there are some deployments of 464XLAT, MAP-E,
        and MAP-T.
   Lw4o6 and DS-Lite have more deployments, with DS-Lite
   being the most common, but deployments of lw4o6 have been rapidly
   increasing in the last few years.
          </t>
          <t indent="0" pn="section-4.4.2-3">Please refer to Tables 2 and 3 of <xref target="LEN2019" format="default" sectionFormat="of" derivedContent="LEN2019"/>
		for a limited set of deployment information.</t>
        </section>
        <section anchor="code_size" numbered="true" toc="include" removeInRFC="false" pn="section-4.4.3">
          <name slugifiedName="name-implementation-code-sizes">Implementation Code Sizes</name>
          <t indent="0" pn="section-4.4.3-1">As a hint to the relative complexity of the mechanisms, the
        code sizes reported from the OpenWRT
        implementations of each technology are 17 kB, 35 kB, 15 kB, 35 kB, and
        48 kB for 464XLAT, lw4o6,
        DS-Lite, MAP-E, and MAP-T, respectively
        (see <eref target="https://openwrt.org/packages/start" brackets="angle"/>).</t>
          <t indent="0" pn="section-4.4.3-2">We note that the support for all five technologies requires a much
        smaller code size than the total sum of the above quantities, because
        they contain a lot of common functions (e.g., data plane is shared among
        several of them).</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.5">
        <name slugifiedName="name-typical-deployment-and-traf">Typical Deployment and Traffic Volume Considerations</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.5.1">
          <name slugifiedName="name-deployment-possibilities">Deployment Possibilities</name>
          <t indent="0" pn="section-4.5.1-1">Theoretically, all five IPv4aaS technologies could be
        used together with DNS64 + stateful NAT64, as is done in 464XLAT.
        In this case, the CE router would treat the traffic between an
        IPv6-only client and IPv4-only server as normal IPv6 traffic, and
        the stateful NAT64 gateway would do a single translation, thus
        offloading this kind of traffic from the IPv4aaS technology. The
        cost of this solution would be the need to also deploy DNS64 +
        stateful NAT64.</t>
          <t indent="0" pn="section-4.5.1-2">However, this has not been implemented in clients or actual
        deployments, so only 464XLAT always uses this optimization, and the
        other four solutions do not use it at all.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.5.2">
          <name slugifiedName="name-cellular-networks-with-464x">Cellular Networks with 464XLAT</name>
          <t indent="0" pn="section-4.5.2-1">Figures from existing deployments (through the end of 2018) show
          the typical traffic volumes in an IPv6-only cellular network when
          464XLAT technology is used together with DNS64:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.5.2-2">
            <li pn="section-4.5.2-2.1">75% of traffic is IPv6 end-to-end (no translation).</li>
            <li pn="section-4.5.2-2.2">24% of traffic uses DNS64 + NAT64 (one translation).</li>
            <li pn="section-4.5.2-2.3">Less than 1% of traffic uses the CLAT in addition to NAT64
          (two translations), due to an IPv4 socket and/or IPv4 literal.</li>
          </ul>
          <t indent="0" pn="section-4.5.2-3">Without using DNS64, 25% of the traffic would undergo double
        translation.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.5.3">
          <name slugifiedName="name-wireline-networks-with-464x">Wireline Networks with 464XLAT</name>
          <t indent="0" pn="section-4.5.3-1"> Figures from several existing deployments (through the end of
          2020), mainly with residential customers, show the ranges of typical
          traffic volumes in an IPv6-only network, when 464XLAT is used with
          DNS64:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.5.3-2">
            <li pn="section-4.5.3-2.1">65%-85% of traffic is IPv6 end-to-end (no translation).</li>
            <li pn="section-4.5.3-2.2">14%-34% of traffic uses DNS64 + NAT64 (one translation).</li>
            <li pn="section-4.5.3-2.3">Less than 1-2% of traffic uses the CLAT in addition to NAT64
          (two translations), due to an IPv4 socket and/or IPv4 literal.</li>
          </ul>
          <t indent="0" pn="section-4.5.3-3">Without using DNS64, 16%-35% of the traffic would undergo double
        translation.</t>
          <t indent="0" pn="section-4.5.3-4">
This data is consistent with non-public information of actual deployments,
which can be easily explained.  When a wireline ISP has mainly residential
customers, content providers and CDNs that are already IPv6 enabled
(Google/YouTube, Netflix, Facebook, Akamai, etc.) typically account for 65-85%
of the traffic in the network.  Thus, when the subscribers are IPv6 enabled,
about the same percentage of traffic will become IPv6.
</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.6">
        <name slugifiedName="name-load-sharing">Load Sharing</name>
        <t indent="0" pn="section-4.6-1">If multiple network-side devices are needed as PLAT/AFTR/BR for
      capacity, then there is a need for a load-sharing mechanism. ECMP
      (Equal-Cost Multipath) load sharing can be used for all
      technologies; however, stateful technologies will be impacted by
      changes in network topology or device failure.</t>
        <t indent="0" pn="section-4.6-2">Technologies utilizing DNS64 can also distribute load across
      PLAT/AFTR devices, evenly or unevenly, by using different prefixes.
      Different network-specific prefixes can be distributed for
      subscribers in appropriately sized segments (like split-horizon DNS,
      also called "DNS views").</t>
        <t indent="0" pn="section-4.6-3">Stateless technologies, due to the lack of per-flow state, can
      make use of anycast routing for load sharing and resiliency across
      network devices, both ingress and egress; flows can take asymmetric
      paths through the network, i.e., in through one lwAFTR/BR and out
      via another.</t>
        <t indent="0" pn="section-4.6-4">Mechanisms with centralized NAPT44 state have a number of challenges
      specifically related to scaling and resilience. As the total amount of
      client traffic exceeds the capacity of a single CGN instance, additional
      nodes are required to handle the load. Each CGN maintains a
      stateful table of active client sessions, and this table may need to be
      synchronized between CGN instances. This is necessary for two reasons:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.6-5">
          <li pn="section-4.6-5.1">To prevent all active customer sessions from being dropped in the event
      of a CGN node failure.</li>
          <li pn="section-4.6-5.2">To ensure a matching state table entry for an active session in
      the event of asymmetric routing through different egress and ingress
      CGN nodes.</li>
        </ul>
      </section>
      <section anchor="logging" numbered="true" toc="include" removeInRFC="false" pn="section-4.7">
        <name slugifiedName="name-logging">Logging</name>
        <t indent="0" pn="section-4.7-1">In the case of 464XLAT and DS-Lite, the user of any given public
      IPv4 address and port combination will vary over time; therefore,
      logging is necessary to meet data-retention laws. Each entry in the
      PLAT/AFTR generates a logging entry. As discussed in 
      <xref target="port_num_eff" format="default" sectionFormat="of" derivedContent="Section 4.2"/>, a client may open hundreds of sessions
      during common tasks such as web browsing, each of which needs to be
      logged so the overall logging burden on the network operator is
      significant. In some countries, this level of logging is required to comply
      with data-retention legislation.</t>
        <t indent="0" pn="section-4.7-2">One common optimization available to reduce the logging overhead
      is the allocation of a block of ports to a client for the duration
      of their session. This means that a logging entry only needs to be
      made when the client's port block is released, which dramatically
      reduces the logging overhead. This comes as the cost of less
      efficient public address sharing as clients need to be allocated a
      port block of a fixed size regardless of the actual number of ports
      that they are using.</t>
        <t indent="0" pn="section-4.7-3">Stateless technologies that pre-allocate the IPv4 addresses and
        ports only require that copies of the active MAP rules (for MAP-E and
        MAP-T) or binding table (for lw4o6) are retained along with timestamp
        information of when they have been active. Support tools (e.g., those
        used to serve data-retention requests) may need to be updated to be
        aware of the mechanism in use (e.g., implementing the MAP algorithm so
        that IPv4 information can be linked to the IPv6 prefix delegated to a
        client).  Stateless technologies do not have a centralized stateful
        element that customer traffic needs to pass through, so if
        data-retention laws mandate per-session logging, there is no simple
        way of meeting this requirement with a stateless technology alone.
        Thus, a centralized NAPT44 model may be the only way to meet this
        requirement.</t>
        <t indent="0" pn="section-4.7-4">Deterministic CGN <xref target="RFC7422" format="default" sectionFormat="of" derivedContent="RFC7422"/> was proposed as a solution to 
	  reduce the resource consumption of logging.</t>
        <t indent="0" pn="section-4.7-5">Please also refer to <xref target="RFC6888" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6888#section-4" derivedContent="RFC6888"/> for more information about 
	  requirements for logging CGN gateways.</t>
      </section>
      <section anchor="optimization" numbered="true" toc="include" removeInRFC="false" pn="section-4.8">
        <name slugifiedName="name-optimization-for-ipv4-only-">Optimization for IPv4-Only Devices and Applications</name>
        <t indent="0" pn="section-4.8-1">When IPv4-only devices or applications are behind a CE connected with 
      IPv6-only and IPv4aaS, the IPv4-only traffic flows will necessarily be 
      encapsulated/decapsulated (in the case of DS-Lite, lw4o6, and MAP-E) 
      and will reach the IPv4 address of the destination, even if that 
      service supports dual-stack. This means that the traffic flow will 
      cross through the AFTR, lwAFTR, or BR, depending on the specific 
      transition mechanism being used.</t>
        <t indent="0" pn="section-4.8-2">Even if those services are directly connected to the operator network 
	  (e.g., CDNs and caches) or located internally (such as VoIP, etc.), 
	  it is not possible to avoid that overhead.</t>
        <t indent="0" pn="section-4.8-3">However, in the case of those mechanisms that use a NAT46 function, in the CE (464XLAT and MAP-T), it is possible to take
        advantage of optimization functionalities, such as the ones described
        in <xref target="I-D.ietf-v6ops-464xlat-optimization" format="default" sectionFormat="of" derivedContent="OP-464XLAT/MAP-T"/>.
        </t>
        <t indent="0" pn="section-4.8-4">
   Because the NAT46 has already translated
   the IPv4-only flow to IPv6 and the services are dual-stack, using these
   optimizations allows the services to
   be reached without the need to translate the flow back to IPv4.
</t>
      </section>
    </section>
    <section anchor="performance" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-performance-comparison">Performance Comparison</name>
      <t indent="0" pn="section-5-1">We plan to compare the performances of the most prominent free software 
	 implementations of the five IPv6 transition technologies using the 
	 methodology described in "Benchmarking Methodology for IPv6 Transition 
	 Technologies" <xref target="RFC8219" format="default" sectionFormat="of" derivedContent="RFC8219"/>.</t>
      <t indent="0" pn="section-5-2">The dual Device Under Test (DUT) setup of <xref target="RFC8219" format="default" sectionFormat="of" derivedContent="RFC8219"/> makes it possible to use the existing measurement devices compliant with
	 "Benchmarking Methodology for Network Interconnect Devices" 
	 <xref target="RFC2544" format="default" sectionFormat="of" derivedContent="RFC2544"/>; however, 
	 this solution has two kinds of limitations:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-3">
        <li pn="section-5-3.1">Dual DUT setup has the drawback that the performances of the CE 
		and the ISP-side device (e.g., the CLAT and PLAT of 464XLAT) 
		are measured together. In order to measure the performance of 
		only one of them, we need to ensure that the desired one is the 
		bottleneck.</li>
        <li pn="section-5-3.2">Measurement procedures for Packet Delay Variation (PDV)
		and Inter-Packet Delay Variation (IPDV) measurements are
		missing from the legacy devices, and the old measurement
		procedure for latency has been redefined in <xref target="RFC8219" format="default" sectionFormat="of" derivedContent="RFC8219"/>.</li>
      </ul>
      <t indent="0" pn="section-5-4">The single DUT setup of <xref target="RFC8219" format="default" sectionFormat="of" derivedContent="RFC8219"/>
      makes it possible to benchmark the selected device separately, but
      either special Tester is required or some trick is needed if we want to
      use legacy Testers.  An example for the latter is our stateless NAT64
      measurements testing Throughput and Frame Loss Rate using a legacy
      commercial Tester <xref target="LEN2020a" format="default" sectionFormat="of" derivedContent="LEN2020a"/> that is
      compliant with <xref target="RFC5180" format="default" sectionFormat="of" derivedContent="RFC5180"/>.</t>
      <t indent="0" pn="section-5-5">Siitperf, a DPDK-based 
	 software Tester that is compliant with <xref target="RFC8219" format="default" sectionFormat="of" derivedContent="RFC8219"/> and used for benchmarking stateless NAT64 gateways, has been 
	 developed recently. Siitperf is available from GitHub 
	 <xref target="SIITPERF" format="default" sectionFormat="of" derivedContent="SIITPERF"/> as free software and is documented in 
	 <xref target="LEN2021" format="default" sectionFormat="of" derivedContent="LEN2021"/>. Originally, it literally followed the test 
	 frame format of <xref target="RFC2544" format="default" sectionFormat="of" derivedContent="RFC2544"/>, including "hard-wired" source and 
	 destination port numbers, and then it was complemented with the 
	 pseudorandom port feature required by <xref target="RFC4814" format="default" sectionFormat="of" derivedContent="RFC4814"/>. The new 
	 version is documented in <xref target="LEN2020b" format="default" sectionFormat="of" derivedContent="LEN2020b"/>.</t>
      <t indent="0" pn="section-5-6">Further DPDK-based software Testers that are compliant with <xref target="RFC8219" format="default" sectionFormat="of" derivedContent="RFC8219"/>
	 are being developed at the Budapest University of Technology and 
	 Economics as student projects. They are planned to be released as free 
	 software, too.</t>
      <t indent="0" pn="section-5-7">Information about the benchmarking tools, measurements, and results will
	 be made available in <xref target="I-D.lencse-v6ops-transition-benchmarking" format="default" sectionFormat="of" derivedContent="IPv4aaS-BENCHMARK-TECH"/>.
      </t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">This document has no IANA actions.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">As discussed in <xref target="logging" format="default" sectionFormat="of" derivedContent="Section 4.7"/>, the different technologies have varying 
	 logging capabilities and limitations. Care should be taken when storing, 
	 transmitting, and providing access to log entries that may be considered 
	 personally identifiable information. However, it should be noted that 
	 those issues are not specific to the IPv4aaS IPv6 transition technologies
	 but apply to logging functionalities in general.</t>
      <t indent="0" pn="section-7-2">For all five technologies, the CE device typically contains a DNS proxy.
     However, the user may change DNS settings. If this happens and lw4o6, MAP-E,
     and MAP-T are used with a significantly restricted port set (which is
     required for efficient public IPv4 address sharing), the entropy of the
     source ports is significantly lowered (e.g., from 16 bits to 10 bits when
     1024 port numbers are assigned to each subscriber), and these
     technologies are thus theoretically less resilient against cache poisoning (see
     <xref target="RFC5452" format="default" sectionFormat="of" derivedContent="RFC5452"/>). However, an efficient cache poisoning attack
     requires that the subscriber operates its own caching DNS server and the
     attack is performed in the service provider network. Thus, we consider the
     chance of the successful exploitation of this vulnerability to be low.</t>
      <t indent="0" pn="section-7-3">IPv4aaS technologies based on encapsulation have no DNSSEC
      implications.  However, those based on translation may have implications
      as discussed in <xref target="RFC8683" sectionFormat="of" section="4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8683#section-4.1" derivedContent="RFC8683"/>.</t>
      <t indent="0" pn="section-7-4">An in-depth security analysis of all five IPv6 transition technologies
     and their most prominent free software implementations according to the
     methodology defined in <xref target="LEN2018" format="default" sectionFormat="of" derivedContent="LEN2018"/> is planned.</t>
      <t indent="0" pn="section-7-5">As the first step, an initial security analysis of 464XLAT was 
	 done in <xref target="AZZ2021" format="default" sectionFormat="of" derivedContent="AZZ2021"/>.</t>
      <t indent="0" pn="section-7-6">The implementers of any of the five IPv4aaS solutions should consult the 
	 Security Considerations of the respective RFCs documenting them.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-v6ops-464xlat-optimization" to="OP-464XLAT/MAP-T"/>
    <displayreference target="I-D.ietf-tsvwg-natsupp" to="NAT-SUPP"/>
    <displayreference target="I-D.lencse-v6ops-transition-scalability" to="IPv4aaS-SCALE-TECH"/>
    <displayreference target="I-D.lencse-v6ops-transition-benchmarking" to="IPv4aaS-BENCHMARK-TECH"/>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2473" target="https://www.rfc-editor.org/info/rfc2473" quoteTitle="true" derivedAnchor="RFC2473">
          <front>
            <title>Generic Packet Tunneling in IPv6 Specification</title>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <date month="December" year="1998"/>
            <abstract>
              <t indent="0">This document defines the model and generic mechanisms for IPv6 encapsulation of Internet packets, such as IPv6 and IPv4. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2473"/>
          <seriesInfo name="DOI" value="10.17487/RFC2473"/>
        </reference>
        <reference anchor="RFC2544" target="https://www.rfc-editor.org/info/rfc2544" quoteTitle="true" derivedAnchor="RFC2544">
          <front>
            <title>Benchmarking Methodology for Network Interconnect Devices</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <author fullname="J. McQuaid" initials="J." surname="McQuaid"/>
            <date month="March" year="1999"/>
            <abstract>
              <t indent="0">This document is a republication of RFC 1944 correcting the values for the IP addresses which were assigned to be used as the default addresses for networking test equipment.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2544"/>
          <seriesInfo name="DOI" value="10.17487/RFC2544"/>
        </reference>
        <reference anchor="RFC2663" target="https://www.rfc-editor.org/info/rfc2663" quoteTitle="true" derivedAnchor="RFC2663">
          <front>
            <title>IP Network Address Translator (NAT) Terminology and Considerations</title>
            <author fullname="P. Srisuresh" initials="P." surname="Srisuresh"/>
            <author fullname="M. Holdrege" initials="M." surname="Holdrege"/>
            <date month="August" year="1999"/>
            <abstract>
              <t indent="0">This document attempts to describe the operation of NAT devices and the associated considerations in general, and to define the terminology used to identify various flavors of NAT.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2663"/>
          <seriesInfo name="DOI" value="10.17487/RFC2663"/>
        </reference>
        <reference anchor="RFC4814" target="https://www.rfc-editor.org/info/rfc4814" quoteTitle="true" derivedAnchor="RFC4814">
          <front>
            <title>Hash and Stuffing: Overlooked Factors in Network Device Benchmarking</title>
            <author fullname="D. Newman" initials="D." surname="Newman"/>
            <author fullname="T. Player" initials="T." surname="Player"/>
            <date month="March" year="2007"/>
            <abstract>
              <t indent="0">Test engineers take pains to declare all factors that affect a given measurement, including intended load, packet length, test duration, and traffic orientation.  However, current benchmarking practice overlooks two factors that have a profound impact on test results.  First, existing methodologies do not require the reporting of addresses or other test traffic contents, even though these fields can affect test results.  Second, "stuff" bits and bytes inserted in test traffic by some link-layer technologies add significant and variable overhead, which in turn affects test results.  This document describes the effects of these factors; recommends guidelines for test traffic contents; and offers formulas for determining the probability of bit- and byte-stuffing in test traffic.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4814"/>
          <seriesInfo name="DOI" value="10.17487/RFC4814"/>
        </reference>
        <reference anchor="RFC5180" target="https://www.rfc-editor.org/info/rfc5180" quoteTitle="true" derivedAnchor="RFC5180">
          <front>
            <title>IPv6 Benchmarking Methodology for Network Interconnect Devices</title>
            <author fullname="C. Popoviciu" initials="C." surname="Popoviciu"/>
            <author fullname="A. Hamza" initials="A." surname="Hamza"/>
            <author fullname="G. Van de Velde" initials="G." surname="Van de Velde"/>
            <author fullname="D. Dugatkin" initials="D." surname="Dugatkin"/>
            <date month="May" year="2008"/>
            <abstract>
              <t indent="0">The benchmarking methodologies defined in RFC 2544 are IP version independent.  However, RFC 2544 does not address some of the specificities of IPv6.  This document provides additional benchmarking guidelines, which in conjunction with RFC 2544, lead to a more complete and realistic evaluation of the IPv6 performance of network interconnect devices.  IPv6 transition mechanisms are outside the scope of this document.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5180"/>
          <seriesInfo name="DOI" value="10.17487/RFC5180"/>
        </reference>
        <reference anchor="RFC5452" target="https://www.rfc-editor.org/info/rfc5452" quoteTitle="true" derivedAnchor="RFC5452">
          <front>
            <title>Measures for Making DNS More Resilient against Forged Answers</title>
            <author fullname="A. Hubert" initials="A." surname="Hubert"/>
            <author fullname="R. van Mook" initials="R." surname="van Mook"/>
            <date month="January" year="2009"/>
            <abstract>
              <t indent="0">The current Internet climate poses serious threats to the Domain Name System. In the interim period before the DNS protocol can be secured more fully, measures can already be taken to harden the DNS to make 'spoofing' a recursing nameserver many orders of magnitude harder.</t>
              <t indent="0">Even a cryptographically secured DNS benefits from having the ability to discard bogus responses quickly, as this potentially saves large amounts of computation.</t>
              <t indent="0">By describing certain behavior that has previously not been standardized, this document sets out how to make the DNS more resilient against accepting incorrect responses. This document updates RFC 2181. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5452"/>
          <seriesInfo name="DOI" value="10.17487/RFC5452"/>
        </reference>
        <reference anchor="RFC6052" target="https://www.rfc-editor.org/info/rfc6052" quoteTitle="true" derivedAnchor="RFC6052">
          <front>
            <title>IPv6 Addressing of IPv4/IPv6 Translators</title>
            <author fullname="C. Bao" initials="C." surname="Bao"/>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <date month="October" year="2010"/>
            <abstract>
              <t indent="0">This document discusses the algorithmic translation of an IPv6 address to a corresponding IPv4 address, and vice versa, using only statically configured information.  It defines a well-known prefix for use in algorithmic translations, while allowing organizations to also use network-specific prefixes when appropriate.  Algorithmic translation is used in IPv4/IPv6 translators, as well as other types of proxies and gateways (e.g., for DNS) used in IPv4/IPv6 scenarios. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6052"/>
          <seriesInfo name="DOI" value="10.17487/RFC6052"/>
        </reference>
        <reference anchor="RFC6146" target="https://www.rfc-editor.org/info/rfc6146" quoteTitle="true" derivedAnchor="RFC6146">
          <front>
            <title>Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum"/>
            <date month="April" year="2011"/>
          </front>
          <seriesInfo name="RFC" value="6146"/>
          <seriesInfo name="DOI" value="10.17487/RFC6146"/>
        </reference>
        <reference anchor="RFC6147" target="https://www.rfc-editor.org/info/rfc6147" quoteTitle="true" derivedAnchor="RFC6147">
          <front>
            <title>DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum"/>
            <date month="April" year="2011"/>
            <abstract>
              <t indent="0">DNS64 is a mechanism for synthesizing AAAA records from A records.  DNS64 is used with an IPv6/IPv4 translator to enable client-server communication between an IPv6-only client and an IPv4-only server, without requiring any changes to either the IPv6 or the IPv4 node, for the class of applications that work through NATs.  This document specifies DNS64, and provides suggestions on how it should be deployed in conjunction with IPv6/IPv4 translators. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6147"/>
          <seriesInfo name="DOI" value="10.17487/RFC6147"/>
        </reference>
        <reference anchor="RFC6180" target="https://www.rfc-editor.org/info/rfc6180" quoteTitle="true" derivedAnchor="RFC6180">
          <front>
            <title>Guidelines for Using IPv6 Transition Mechanisms during IPv6 Deployment</title>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="May" year="2011"/>
            <abstract>
              <t indent="0">The Internet continues to grow beyond the capabilities of IPv4.  An expansion in the address space is clearly required.  With its increase in the number of available prefixes and addresses in a subnet, and improvements in address management, IPv6 is the only real option on the table.  Yet, IPv6 deployment requires some effort, resources, and expertise.  The availability of many different deployment models is one reason why expertise is required.  This document discusses the IPv6 deployment models and migration tools, and it recommends ones that have been found to work well in operational networks in many common situations.  This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6180"/>
          <seriesInfo name="DOI" value="10.17487/RFC6180"/>
        </reference>
        <reference anchor="RFC6269" target="https://www.rfc-editor.org/info/rfc6269" quoteTitle="true" derivedAnchor="RFC6269">
          <front>
            <title>Issues with IP Address Sharing</title>
            <author fullname="M. Ford" initials="M." role="editor" surname="Ford"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="A. Durand" initials="A." surname="Durand"/>
            <author fullname="P. Levis" initials="P." surname="Levis"/>
            <author fullname="P. Roberts" initials="P." surname="Roberts"/>
            <date month="June" year="2011"/>
            <abstract>
              <t indent="0">The completion of IPv4 address allocations from IANA and the Regional Internet Registries (RIRs) is causing service providers around the world to question how they will continue providing IPv4 connectivity service to their subscribers when there are no longer sufficient IPv4 addresses to allocate them one per subscriber. Several possible solutions to this problem are now emerging based around the idea of shared IPv4 addressing. These solutions give rise to a number of issues, and this memo identifies those common to all such address sharing approaches. Such issues include application failures, additional service monitoring complexity, new security vulnerabilities, and so on. Solution-specific discussions are out of scope.</t>
              <t indent="0">Deploying IPv6 is the only perennial way to ease pressure on the public IPv4 address pool without the need for address sharing mechanisms that give rise to the issues identified herein. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6269"/>
          <seriesInfo name="DOI" value="10.17487/RFC6269"/>
        </reference>
        <reference anchor="RFC6333" target="https://www.rfc-editor.org/info/rfc6333" quoteTitle="true" derivedAnchor="RFC6333">
          <front>
            <title>Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion</title>
            <author fullname="A. Durand" initials="A." surname="Durand"/>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <author fullname="J. Woodyatt" initials="J." surname="Woodyatt"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <date month="August" year="2011"/>
            <abstract>
              <t indent="0">This document revisits the dual-stack model and introduces the Dual- Stack Lite technology aimed at better aligning the costs and benefits of deploying IPv6 in service provider networks.  Dual-Stack Lite enables a broadband service provider to share IPv4 addresses among customers by combining two well-known technologies: IP in IP (IPv4- in-IPv6) and Network Address Translation (NAT). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6333"/>
          <seriesInfo name="DOI" value="10.17487/RFC6333"/>
        </reference>
        <reference anchor="RFC6346" target="https://www.rfc-editor.org/info/rfc6346" quoteTitle="true" derivedAnchor="RFC6346">
          <front>
            <title>The Address plus Port (A+P) Approach to the IPv4 Address Shortage</title>
            <author fullname="R. Bush" initials="R." role="editor" surname="Bush"/>
            <date month="August" year="2011"/>
            <abstract>
              <t indent="0">We are facing the exhaustion of the IANA IPv4 free IP address pool. Unfortunately, IPv6 is not yet deployed widely enough to fully replace IPv4, and it is unrealistic to expect that this is going to change before the depletion of IPv4 addresses. Letting hosts seamlessly communicate in an IPv4 world without assigning a unique globally routable IPv4 address to each of them is a challenging problem.</t>
              <t indent="0">This document proposes an IPv4 address sharing scheme, treating some of the port number bits as part of an extended IPv4 address (Address plus Port, or A+P). Instead of assigning a single IPv4 address to a single customer device, we propose to extend the address field by using bits from the port number range in the TCP/UDP header as additional endpoint identifiers, thus leaving a reduced range of ports available to applications. This means assigning the same IPv4 address to multiple clients (e.g., Customer Premises Equipment (CPE), mobile phones), each with its assigned port range. In the face of IPv4 address exhaustion, the need for addresses is stronger than the need to be able to address thousands of applications on a single host. If address translation is needed, the end-user should be in control of the translation process -- not some smart boxes in the core. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6346"/>
          <seriesInfo name="DOI" value="10.17487/RFC6346"/>
        </reference>
        <reference anchor="RFC6519" target="https://www.rfc-editor.org/info/rfc6519" quoteTitle="true" derivedAnchor="RFC6519">
          <front>
            <title>RADIUS Extensions for Dual-Stack Lite</title>
            <author fullname="R. Maglione" initials="R." surname="Maglione"/>
            <author fullname="A. Durand" initials="A." surname="Durand"/>
            <date month="February" year="2012"/>
            <abstract>
              <t indent="0">Dual-Stack Lite is a solution to offer both IPv4 and IPv6 connectivity to customers that are addressed only with an IPv6 prefix.  Dual-Stack Lite requires pre-configuration of the Dual-Stack Lite Address Family Transition Router (AFTR) tunnel information on the Basic Bridging BroadBand (B4) element.  In many networks, the customer profile information may be stored in Authentication, Authorization, and Accounting (AAA) servers, while client configurations are mainly provided through the Dynamic Host Configuration Protocol (DHCP).  This document specifies a new Remote Authentication Dial-In User Service (RADIUS) attribute to carry the Dual-Stack Lite AFTR tunnel name; the RADIUS attribute is defined based on the equivalent DHCPv6 OPTION_AFTR_NAME option.  This RADIUS attribute is meant to be used between the RADIUS server and the Network Access Server (NAS); it is not intended to be used directly between the B4 element and the RADIUS server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6519"/>
          <seriesInfo name="DOI" value="10.17487/RFC6519"/>
        </reference>
        <reference anchor="RFC6877" target="https://www.rfc-editor.org/info/rfc6877" quoteTitle="true" derivedAnchor="RFC6877">
          <front>
            <title>464XLAT: Combination of Stateful and Stateless Translation</title>
            <author fullname="M. Mawatari" initials="M." surname="Mawatari"/>
            <author fullname="M. Kawashima" initials="M." surname="Kawashima"/>
            <author fullname="C. Byrne" initials="C." surname="Byrne"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">This document describes an architecture (464XLAT) for providing limited IPv4 connectivity across an IPv6-only network by combining existing and well-known stateful protocol translation (as described in RFC 6146) in the core and stateless protocol translation (as described in RFC 6145) at the edge.  464XLAT is a simple and scalable technique to quickly deploy limited IPv4 access service to IPv6-only edge networks without encapsulation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6877"/>
          <seriesInfo name="DOI" value="10.17487/RFC6877"/>
        </reference>
        <reference anchor="RFC6887" target="https://www.rfc-editor.org/info/rfc6887" quoteTitle="true" derivedAnchor="RFC6887">
          <front>
            <title>Port Control Protocol (PCP)</title>
            <author fullname="D. Wing" initials="D." role="editor" surname="Wing"/>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="R. Penno" initials="R." surname="Penno"/>
            <author fullname="P. Selkirk" initials="P." surname="Selkirk"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">The Port Control Protocol allows an IPv6 or IPv4 host to control how incoming IPv6 or IPv4 packets are translated and forwarded by a Network Address Translator (NAT) or simple firewall, and also allows a host to optimize its outgoing NAT keepalive messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6887"/>
          <seriesInfo name="DOI" value="10.17487/RFC6887"/>
        </reference>
        <reference anchor="RFC6888" target="https://www.rfc-editor.org/info/rfc6888" quoteTitle="true" derivedAnchor="RFC6888">
          <front>
            <title>Common Requirements for Carrier-Grade NATs (CGNs)</title>
            <author fullname="S. Perreault" initials="S." role="editor" surname="Perreault"/>
            <author fullname="I. Yamagata" initials="I." surname="Yamagata"/>
            <author fullname="S. Miyakawa" initials="S." surname="Miyakawa"/>
            <author fullname="A. Nakagawa" initials="A." surname="Nakagawa"/>
            <author fullname="H. Ashida" initials="H." surname="Ashida"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">This document defines common requirements for Carrier-Grade NATs (CGNs).  It updates RFC 4787.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="127"/>
          <seriesInfo name="RFC" value="6888"/>
          <seriesInfo name="DOI" value="10.17487/RFC6888"/>
        </reference>
        <reference anchor="RFC6889" target="https://www.rfc-editor.org/info/rfc6889" quoteTitle="true" derivedAnchor="RFC6889">
          <front>
            <title>Analysis of Stateful 64 Translation</title>
            <author fullname="R. Penno" initials="R." surname="Penno"/>
            <author fullname="T. Saxena" initials="T." surname="Saxena"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="S. Sivakumar" initials="S." surname="Sivakumar"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">Due to specific problems, Network Address Translation - Protocol Translation (NAT-PT) was deprecated by the IETF as a mechanism to perform IPv6-IPv4 translation.  Since then, new efforts have been undertaken within IETF to standardize alternative mechanisms to perform IPv6-IPv4 translation.  This document analyzes to what extent the new stateful translation mechanisms avoid the problems that caused the IETF to deprecate NAT-PT.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6889"/>
          <seriesInfo name="DOI" value="10.17487/RFC6889"/>
        </reference>
        <reference anchor="RFC7050" target="https://www.rfc-editor.org/info/rfc7050" quoteTitle="true" derivedAnchor="RFC7050">
          <front>
            <title>Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis</title>
            <author fullname="T. Savolainen" initials="T." surname="Savolainen"/>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <date month="November" year="2013"/>
            <abstract>
              <t indent="0">This document describes a method for detecting the presence of DNS64 and for learning the IPv6 prefix used for protocol translation on an access network.  The method depends on the existence of a well-known IPv4-only fully qualified domain name "ipv4only.arpa.".  The information learned enables nodes to perform local IPv6 address synthesis and to potentially avoid NAT64 on dual-stack and multi-interface deployments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7050"/>
          <seriesInfo name="DOI" value="10.17487/RFC7050"/>
        </reference>
        <reference anchor="RFC7269" target="https://www.rfc-editor.org/info/rfc7269" quoteTitle="true" derivedAnchor="RFC7269">
          <front>
            <title>NAT64 Deployment Options and Experience</title>
            <author fullname="G. Chen" initials="G." surname="Chen"/>
            <author fullname="Z. Cao" initials="Z." surname="Cao"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="D. Binet" initials="D." surname="Binet"/>
            <date month="June" year="2014"/>
            <abstract>
              <t indent="0">This document summarizes NAT64 function deployment scenarios and operational experience.  Both NAT64 Carrier-Grade NAT (NAT64-CGN) and NAT64 server Front End (NAT64-FE) are considered in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7269"/>
          <seriesInfo name="DOI" value="10.17487/RFC7269"/>
        </reference>
        <reference anchor="RFC7341" target="https://www.rfc-editor.org/info/rfc7341" quoteTitle="true" derivedAnchor="RFC7341">
          <front>
            <title>DHCPv4-over-DHCPv6 (DHCP 4o6) Transport</title>
            <author fullname="Q. Sun" initials="Q." surname="Sun"/>
            <author fullname="Y. Cui" initials="Y." surname="Cui"/>
            <author fullname="M. Siodelski" initials="M." surname="Siodelski"/>
            <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <date month="August" year="2014"/>
            <abstract>
              <t indent="0">IPv4 connectivity is still needed as networks migrate towards IPv6.  Users require IPv4 configuration even if the uplink to their service provider supports IPv6 only.  This document describes a mechanism for obtaining IPv4 configuration information dynamically in IPv6 networks by carrying DHCPv4 messages over DHCPv6 transport.  Two new DHCPv6 messages and two new DHCPv6 options are defined for this purpose.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7341"/>
          <seriesInfo name="DOI" value="10.17487/RFC7341"/>
        </reference>
        <reference anchor="RFC7393" target="https://www.rfc-editor.org/info/rfc7393" quoteTitle="true" derivedAnchor="RFC7393">
          <front>
            <title>Using the Port Control Protocol (PCP) to Update Dynamic DNS</title>
            <author fullname="X. Deng" initials="X." surname="Deng"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="Q. Zhao" initials="Q." surname="Zhao"/>
            <author fullname="J. Huang" initials="J." surname="Huang"/>
            <author fullname="C. Zhou" initials="C." surname="Zhou"/>
            <date month="November" year="2014"/>
            <abstract>
              <t indent="0">This document focuses on the problems encountered when using dynamic DNS in address-sharing contexts (e.g., Dual-Stack Lite (DS-Lite) and Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers (NAT64)) during IPv6 transition.  Both issues and possible solutions are documented in this memo.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7393"/>
          <seriesInfo name="DOI" value="10.17487/RFC7393"/>
        </reference>
        <reference anchor="RFC7422" target="https://www.rfc-editor.org/info/rfc7422" quoteTitle="true" derivedAnchor="RFC7422">
          <front>
            <title>Deterministic Address Mapping to Reduce Logging in Carrier-Grade NAT Deployments</title>
            <author fullname="C. Donley" initials="C." surname="Donley"/>
            <author fullname="C. Grundemann" initials="C." surname="Grundemann"/>
            <author fullname="V. Sarawat" initials="V." surname="Sarawat"/>
            <author fullname="K. Sundaresan" initials="K." surname="Sundaresan"/>
            <author fullname="O. Vautrin" initials="O." surname="Vautrin"/>
            <date month="December" year="2014"/>
            <abstract>
              <t indent="0">In some instances, Service Providers (SPs) have a legal logging requirement to be able to map a subscriber's inside address with the address used on the public Internet (e.g., for abuse response).  Unfortunately, many logging solutions for Carrier-Grade NATs (CGNs) require active logging of dynamic translations.  CGN port assignments are often per connection, but they could optionally use port ranges.  Research indicates that per-connection logging is not scalable in many residential broadband services.  This document suggests a way to manage CGN translations in such a way as to significantly reduce the amount of logging required while providing traceability for abuse response.  IPv6 is, of course, the preferred solution.  While deployment is in progress, SPs are forced by business imperatives to maintain support for IPv4.  This note addresses the IPv4 part of the network when a CGN solution is in use.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7422"/>
          <seriesInfo name="DOI" value="10.17487/RFC7422"/>
        </reference>
        <reference anchor="RFC7596" target="https://www.rfc-editor.org/info/rfc7596" quoteTitle="true" derivedAnchor="RFC7596">
          <front>
            <title>Lightweight 4over6: An Extension to the Dual-Stack Lite Architecture</title>
            <author fullname="Y. Cui" initials="Y." surname="Cui"/>
            <author fullname="Q. Sun" initials="Q." surname="Sun"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="T. Tsou" initials="T." surname="Tsou"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <date month="July" year="2015"/>
            <abstract>
              <t indent="0">Dual-Stack Lite (DS-Lite) (RFC 6333) describes an architecture for transporting IPv4 packets over an IPv6 network.  This document specifies an extension to DS-Lite called "Lightweight 4over6", which moves the Network Address and Port Translation (NAPT) function from the centralized DS-Lite tunnel concentrator to the tunnel client located in the Customer Premises Equipment (CPE).  This removes the requirement for a Carrier Grade NAT function in the tunnel concentrator and reduces the amount of centralized state that must be held to a per-subscriber level.  In order to delegate the NAPT function and make IPv4 address sharing possible, port-restricted IPv4 addresses are allocated to the CPEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7596"/>
          <seriesInfo name="DOI" value="10.17487/RFC7596"/>
        </reference>
        <reference anchor="RFC7597" target="https://www.rfc-editor.org/info/rfc7597" quoteTitle="true" derivedAnchor="RFC7597">
          <front>
            <title>Mapping of Address and Port with Encapsulation (MAP-E)</title>
            <author fullname="O. Troan" initials="O." role="editor" surname="Troan"/>
            <author fullname="W. Dec" initials="W." surname="Dec"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="C. Bao" initials="C." surname="Bao"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="T. Murakami" initials="T." surname="Murakami"/>
            <author fullname="T. Taylor" initials="T." role="editor" surname="Taylor"/>
            <date month="July" year="2015"/>
            <abstract>
              <t indent="0">This document describes a mechanism for transporting IPv4 packets across an IPv6 network using IP encapsulation.  It also describes a generic mechanism for mapping between IPv6 addresses and IPv4 addresses as well as transport-layer ports.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7597"/>
          <seriesInfo name="DOI" value="10.17487/RFC7597"/>
        </reference>
        <reference anchor="RFC7599" target="https://www.rfc-editor.org/info/rfc7599" quoteTitle="true" derivedAnchor="RFC7599">
          <front>
            <title>Mapping of Address and Port using Translation (MAP-T)</title>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="C. Bao" initials="C." surname="Bao"/>
            <author fullname="W. Dec" initials="W." role="editor" surname="Dec"/>
            <author fullname="O. Troan" initials="O." surname="Troan"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="T. Murakami" initials="T." surname="Murakami"/>
            <date month="July" year="2015"/>
            <abstract>
              <t indent="0">This document specifies the solution architecture based on "Mapping of Address and Port" stateless IPv6-IPv4 Network Address Translation (NAT64) for providing shared or non-shared IPv4 address connectivity to and across an IPv6 network.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7599"/>
          <seriesInfo name="DOI" value="10.17487/RFC7599"/>
        </reference>
        <reference anchor="RFC7605" target="https://www.rfc-editor.org/info/rfc7605" quoteTitle="true" derivedAnchor="RFC7605">
          <front>
            <title>Recommendations on Using Assigned Transport Port Numbers</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <date month="August" year="2015"/>
            <abstract>
              <t indent="0">This document provides recommendations to designers of application and service protocols on how to use the transport protocol port number space and when to request a port assignment from IANA.  It provides designer guidance to requesters or users of port numbers on how to interact with IANA using the processes defined in RFC 6335; thus, this document complements (but does not update) that document.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="165"/>
          <seriesInfo name="RFC" value="7605"/>
          <seriesInfo name="DOI" value="10.17487/RFC7605"/>
        </reference>
        <reference anchor="RFC7757" target="https://www.rfc-editor.org/info/rfc7757" quoteTitle="true" derivedAnchor="RFC7757">
          <front>
            <title>Explicit Address Mappings for Stateless IP/ICMP Translation</title>
            <author fullname="T. Anderson" initials="T." surname="Anderson"/>
            <author fullname="A. Leiva Popper" initials="A." surname="Leiva Popper"/>
            <date month="February" year="2016"/>
            <abstract>
              <t indent="0">This document extends the Stateless IP/ICMP Translation Algorithm (SIIT) with an Explicit Address Mapping (EAM) algorithm and formally updates RFC 6145.  The EAM algorithm facilitates stateless IP/ICMP translation between arbitrary (non-IPv4-translatable) IPv6 endpoints and IPv4.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7757"/>
          <seriesInfo name="DOI" value="10.17487/RFC7757"/>
        </reference>
        <reference anchor="RFC7915" target="https://www.rfc-editor.org/info/rfc7915" quoteTitle="true" derivedAnchor="RFC7915">
          <front>
            <title>IP/ICMP Translation Algorithm</title>
            <author fullname="C. Bao" initials="C." surname="Bao"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="T. Anderson" initials="T." surname="Anderson"/>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <date month="June" year="2016"/>
            <abstract>
              <t indent="0">This document describes the Stateless IP/ICMP Translation Algorithm (SIIT), which translates between IPv4 and IPv6 packet headers (including ICMP headers).  This document obsoletes RFC 6145.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7915"/>
          <seriesInfo name="DOI" value="10.17487/RFC7915"/>
        </reference>
        <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950" quoteTitle="true" derivedAnchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t indent="0">YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8114" target="https://www.rfc-editor.org/info/rfc8114" quoteTitle="true" derivedAnchor="RFC8114">
          <front>
            <title>Delivery of IPv4 Multicast Services to IPv4 Clients over an IPv6 Multicast Network</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="C. Qin" initials="C." surname="Qin"/>
            <author fullname="C. Jacquenet" initials="C." surname="Jacquenet"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <author fullname="Q. Wang" initials="Q." surname="Wang"/>
            <date month="March" year="2017"/>
            <abstract>
              <t indent="0">This document specifies a solution for the delivery of IPv4 multicast services to IPv4 clients over an IPv6 multicast network.  The solution relies upon a stateless IPv4-in-IPv6 encapsulation scheme and uses an IPv6 multicast distribution tree to deliver IPv4 multicast traffic.  The solution is particularly useful for the delivery of multicast service offerings to customers serviced by Dual-Stack Lite (DS-Lite).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8114"/>
          <seriesInfo name="DOI" value="10.17487/RFC8114"/>
        </reference>
        <reference anchor="RFC8215" target="https://www.rfc-editor.org/info/rfc8215" quoteTitle="true" derivedAnchor="RFC8215">
          <front>
            <title>Local-Use IPv4/IPv6 Translation Prefix</title>
            <author fullname="T. Anderson" initials="T." surname="Anderson"/>
            <date month="August" year="2017"/>
            <abstract>
              <t indent="0">This document reserves the IPv6 prefix 64:ff9b:1::/48 for local use within domains that enable IPv4/IPv6 translation mechanisms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8215"/>
          <seriesInfo name="DOI" value="10.17487/RFC8215"/>
        </reference>
        <reference anchor="RFC8219" target="https://www.rfc-editor.org/info/rfc8219" quoteTitle="true" derivedAnchor="RFC8219">
          <front>
            <title>Benchmarking Methodology for IPv6 Transition Technologies</title>
            <author fullname="M. Georgescu" initials="M." surname="Georgescu"/>
            <author fullname="L. Pislaru" initials="L." surname="Pislaru"/>
            <author fullname="G. Lencse" initials="G." surname="Lencse"/>
            <date month="August" year="2017"/>
            <abstract>
              <t indent="0">Benchmarking methodologies that address the performance of network interconnect devices that are IPv4- or IPv6-capable exist, but the IPv6 transition technologies are outside of their scope.  This document provides complementary guidelines for evaluating the performance of IPv6 transition technologies.  More specifically, this document targets IPv6 transition technologies that employ encapsulation or translation mechanisms, as dual-stack nodes can be tested using the recommendations of RFCs 2544 and 5180.  The methodology also includes a metric for benchmarking load scalability.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8219"/>
          <seriesInfo name="DOI" value="10.17487/RFC8219"/>
        </reference>
        <reference anchor="RFC8415" target="https://www.rfc-editor.org/info/rfc8415" quoteTitle="true" derivedAnchor="RFC8415">
          <front>
            <title>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author fullname="T. Mrugalski" initials="T." surname="Mrugalski"/>
            <author fullname="M. Siodelski" initials="M." surname="Siodelski"/>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <author fullname="A. Yourtchenko" initials="A." surname="Yourtchenko"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <author fullname="T. Lemon" initials="T." surname="Lemon"/>
            <author fullname="T. Winters" initials="T." surname="Winters"/>
            <date month="November" year="2018"/>
            <abstract>
              <t indent="0">This document describes the Dynamic Host Configuration Protocol for IPv6 (DHCPv6): an extensible mechanism for configuring nodes with network configuration parameters, IP addresses, and prefixes. Parameters can be provided statelessly, or in combination with stateful assignment of one or more IPv6 addresses and/or IPv6 prefixes. DHCPv6 can operate either in place of or in addition to stateless address autoconfiguration (SLAAC).</t>
              <t indent="0">This document updates the text from RFC 3315 (the original DHCPv6 specification) and incorporates prefix delegation (RFC 3633), stateless DHCPv6 (RFC 3736), an option to specify an upper bound for how long a client should wait before refreshing information (RFC 4242), a mechanism for throttling DHCPv6 clients when DHCPv6 service is not available (RFC 7083), and relay agent handling of unknown messages (RFC 7283). In addition, this document clarifies the interactions between models of operation (RFC 7550). As such, this document obsoletes RFC 3315, RFC 3633, RFC 3736, RFC 4242, RFC 7083, RFC 7283, and RFC 7550.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8415"/>
          <seriesInfo name="DOI" value="10.17487/RFC8415"/>
        </reference>
        <reference anchor="RFC8512" target="https://www.rfc-editor.org/info/rfc8512" quoteTitle="true" derivedAnchor="RFC8512">
          <front>
            <title>A YANG Module for Network Address Translation (NAT) and Network Prefix Translation (NPT)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="S. Sivakumar" initials="S." surname="Sivakumar"/>
            <author fullname="C. Jacquenet" initials="C." surname="Jacquenet"/>
            <author fullname="S. Vinapamula" initials="S." surname="Vinapamula"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="January" year="2019"/>
            <abstract>
              <t indent="0">This document defines a YANG module for the Network Address Translation (NAT) function.</t>
              <t indent="0">Network Address Translation from IPv4 to IPv4 (NAT44), Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers (NAT64), customer-side translator (CLAT), Stateless IP/ICMP Translation (SIIT), Explicit Address Mappings (EAM) for SIIT, IPv6-to-IPv6 Network Prefix Translation (NPTv6), and Destination NAT are covered in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8512"/>
          <seriesInfo name="DOI" value="10.17487/RFC8512"/>
        </reference>
        <reference anchor="RFC8513" target="https://www.rfc-editor.org/info/rfc8513" quoteTitle="true" derivedAnchor="RFC8513">
          <front>
            <title>A YANG Data Model for Dual-Stack Lite (DS-Lite)</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="C. Jacquenet" initials="C." surname="Jacquenet"/>
            <author fullname="S. Sivakumar" initials="S." surname="Sivakumar"/>
            <date month="January" year="2019"/>
            <abstract>
              <t indent="0">This document defines a YANG module for the Dual-Stack Lite (DS-Lite) Address Family Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8513"/>
          <seriesInfo name="DOI" value="10.17487/RFC8513"/>
        </reference>
        <reference anchor="RFC8658" target="https://www.rfc-editor.org/info/rfc8658" quoteTitle="true" derivedAnchor="RFC8658">
          <front>
            <title>RADIUS Attributes for Softwire Mechanisms Based on Address plus Port (A+P)</title>
            <author fullname="S. Jiang" initials="S." role="editor" surname="Jiang"/>
            <author fullname="Y. Fu" initials="Y." role="editor" surname="Fu"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <date month="November" year="2019"/>
            <abstract>
              <t indent="0">IPv4-over-IPv6 transition mechanisms provide IPv4 connectivity services over IPv6 native networks during the IPv4/IPv6 coexistence period. DHCPv6 options have been defined to configure clients for Lightweight 4over6, Mapping of Address and Port with Encapsulation (MAP-E), Mapping of Address and Port using Translation (MAP-T) unicast softwire mechanisms, and multicast softwires. However, in many networks, configuration information is stored in an Authentication, Authorization, and Accounting (AAA) server, which utilizes the Remote Authentication Dial In User Service (RADIUS) protocol to provide centralized management for users. When a new transition mechanism is developed, new RADIUS attributes need to be defined correspondingly.</t>
              <t indent="0">This document defines new RADIUS attributes to carry softwire configuration parameters based on Address plus Port from a AAA server to a Broadband Network Gateway. Both unicast and multicast attributes are covered.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8658"/>
          <seriesInfo name="DOI" value="10.17487/RFC8658"/>
        </reference>
        <reference anchor="RFC8676" target="https://www.rfc-editor.org/info/rfc8676" quoteTitle="true" derivedAnchor="RFC8676">
          <front>
            <title>YANG Modules for IPv4-in-IPv6 Address plus Port (A+P) Softwires</title>
            <author fullname="I. Farrer" initials="I." role="editor" surname="Farrer"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <date month="November" year="2019"/>
            <abstract>
              <t indent="0">This document defines YANG modules for the configuration and operation of IPv4-in-IPv6 softwire Border Relays and Customer Premises Equipment for the Lightweight 4over6, Mapping of Address and Port with Encapsulation (MAP-E), and Mapping of Address and Port using Translation (MAP-T) softwire mechanisms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8676"/>
          <seriesInfo name="DOI" value="10.17487/RFC8676"/>
        </reference>
        <reference anchor="RFC8683" target="https://www.rfc-editor.org/info/rfc8683" quoteTitle="true" derivedAnchor="RFC8683">
          <front>
            <title>Additional Deployment Guidelines for NAT64/464XLAT in Operator and Enterprise Networks</title>
            <author fullname="J. Palet Martinez" initials="J." surname="Palet Martinez"/>
            <date month="November" year="2019"/>
            <abstract>
              <t indent="0">This document describes how Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers (NAT64) (including 464XLAT) can be deployed in an IPv6 network -- whether it's cellular ISP, broadband ISP, or enterprise -- and the possible optimizations.  This document also discusses issues to be considered when having IPv6-only connectivity, such as: a) DNS64, b) applications or devices that use literal IPv4 addresses or non-IPv6-compliant APIs, and c) IPv4-only hosts or applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8683"/>
          <seriesInfo name="DOI" value="10.17487/RFC8683"/>
        </reference>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="AFTR" target="https://downloads.isc.org/isc/aftr/" quoteTitle="true" derivedAnchor="AFTR">
          <front>
            <title>ISC Implementation of AFTR</title>
            <author>
              <organization showOnFrontPage="true">ISC</organization>
            </author>
          </front>
        </reference>
        <reference anchor="AZZ2021" target="https://www.infocommunications.hu/2021_4_2" quoteTitle="true" derivedAnchor="AZZ2021">
          <front>
            <title>Identification of the Possible Security Issues of the 464XLAT IPv6 Transition Technology</title>
            <author initials="A." surname="Al-Azzawi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Lencse">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="December" year="2021"/>
          </front>
          <seriesInfo name="DOI" value="10.36244/ICJ.2021.4.2"/>
          <refcontent>Infocommunications Journal, Vol. 13, No. 4, pp. 10-18</refcontent>
        </reference>
        <reference anchor="I-D.lencse-v6ops-transition-benchmarking" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-lencse-v6ops-transition-benchmarking-01" derivedAnchor="IPv4aaS-BENCHMARK-TECH">
          <front>
            <title>Performance Analysis of IPv6 Transition Technologies for IPv4aaS</title>
            <author initials="G." surname="Lencse" fullname="Gábor Lencse">
              <organization showOnFrontPage="true">Szechenyi Istvan University</organization>
            </author>
            <date month="May" day="2" year="2022"/>
            <abstract>
              <t indent="0">   Several IPv6 transition technologies have been developed to provide
   customers with IPv4-as-a-Service (IPv4aaS) for ISPs with an IPv6-only
   access and/or core network.  All these technologies have their
   advantages and disadvantages, and depending on existing topology,
   skills, strategy and other preferences, one of these technologies may
   be the most appropriate solution for a network operator.

   This document examines and compares the performance of some free
   software implementations of the five most prominent IPv4aaS
   technologies (464XLAT [RFC6877], Dual Stack Lite [RFC6333],
   Lightweight 4over6 [RFC7596], MAP-E [RFC7597] and MAP-T [RFC7599])
   and DNS64 [RFC6147].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lencse-v6ops-transition-benchmarking-01"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-lencse-v6ops-transition-benchmarking-01.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.lencse-v6ops-transition-scalability" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-lencse-v6ops-transition-scalability-03" derivedAnchor="IPv4aaS-SCALE-TECH">
          <front>
            <title>Scalability of IPv6 Transition Technologies for IPv4aaS</title>
            <author initials="G." surname="Lencse" fullname="Gábor Lencse">
              <organization showOnFrontPage="true">Szechenyi Istvan University</organization>
            </author>
            <date month="June" day="30" year="2022"/>
            <abstract>
              <t indent="0">   Several IPv6 transition technologies have been developed to provide
   customers with IPv4-as-a-Service (IPv4aaS) for ISPs with an IPv6-only
   access and/or core network.  All these technologies have their
   advantages and disadvantages, and depending on existing topology,
   skills, strategy and other preferences, one of these technologies may
   be the most appropriate solution for a network operator.

   This document examines the scalability of the five most prominent
   IPv4aaS technologies (464XLAT, Dual Stack Lite, Lightweight 4over6,
   MAP-E, MAP-T) considering two aspects: (1) how their performance
   scales up with the number of CPU cores, (2) how their performance
   degrades, when the number of concurrent sessions is increased until
   hardware limit is reached.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lencse-v6ops-transition-scalability-03"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-lencse-v6ops-transition-scalability-03.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="JOOL" target="http://www.jool.mx" quoteTitle="true" derivedAnchor="JOOL">
          <front>
            <title>Jool: SIIT &amp; NAT64</title>
            <author>
            </author>
          </front>
        </reference>
        <reference anchor="JOOL-MAPT" target="https://www.jool.mx/en/run-mapt.html" quoteTitle="true" derivedAnchor="JOOL-MAPT">
          <front>
            <title>MAP-T Run</title>
            <author>
            </author>
          </front>
        </reference>
        <reference anchor="LEN2018" target="http://www.hit.bme.hu/~lencse/publications/ECS-2018-Methodology-revised.pdf" quoteTitle="true" derivedAnchor="LEN2018">
          <front>
            <title>Methodology for the identification of potential security issues of different IPv6 transition technologies: Threat analysis of DNS64 and stateful NAT64</title>
            <author initials="G." surname="Lencse">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Kadobayashi">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="August" year="2018"/>
          </front>
          <seriesInfo name="DOI" value="10.1016/j.cose.2018.04.012"/>
          <refcontent>Computers &amp; Security, Vol. 77, No. 1, pp. 397-411</refcontent>
        </reference>
        <reference anchor="LEN2019" target="http://www.hit.bme.hu/~lencse/publications/e102-b_10_2021.pdf" quoteTitle="true" derivedAnchor="LEN2019">
          <front>
            <title>Comprehensive Survey of IPv6 Transition Technologies: A Subjective Classification for Security Analysis</title>
            <author initials="G." surname="Lencse">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Kadobayashi">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" year="2019"/>
          </front>
          <seriesInfo name="DOI" value="10.1587/transcom.2018EBR0002"/>
          <refcontent>IEICE Transactions on Communications, Vol. E102-B, No. 10, pp. 2021-2035</refcontent>
        </reference>
        <reference anchor="LEN2020a" target="https://link.springer.com/article/10.1007/s11235-020-00681-x" quoteTitle="true" derivedAnchor="LEN2020a">
          <front>
            <title>Benchmarking stateless NAT64 implementations with a standard tester</title>
            <author initials="G." surname="Lencse">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="June" year="2020"/>
          </front>
          <seriesInfo name="DOI" value="10.1007/s11235-020-00681-x"/>
          <refcontent>Telecommunication Systems, Vol. 75, pp. 245-257</refcontent>
        </reference>
        <reference anchor="LEN2020b" target="https://ijates.org/index.php/ijates/article/view/291" quoteTitle="true" derivedAnchor="LEN2020b">
          <front>
            <title>Adding RFC 4814 Random Port Feature to Siitperf: Design, Implementation and Performance Estimation</title>
            <author initials="G." surname="Lencse">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="" year="2020"/>
          </front>
          <seriesInfo name="DOI" value="10.11601/ijates.v9i3.291"/>
          <refcontent>International Journal of Advances in Telecommunications, Electrotechnics, Signals and Systems, Vol. 9, No. 3, pp. 18-26</refcontent>
        </reference>
        <reference anchor="LEN2021" quoteTitle="true" target="https://doi.org/10.1587/transcom.2019EBN0010" derivedAnchor="LEN2021">
          <front>
            <title>Design and Implementation of a Software Tester for Benchmarking Stateless NAT64 Gateways</title>
            <author initials="G." surname="Lencse">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="DOI" value="10.1587/transcom.2019EBN0010"/>
          <refcontent>IEICE Transactions on Communications, Vol. E104.B, Issue 2, pp. 128-140</refcontent>
        </reference>
        <reference anchor="MIY2010" target="https://www.jstage.jst.go.jp/article/transcom/E93.B/5/E93.B_5_1078/_article" quoteTitle="true" derivedAnchor="MIY2010">
          <front>
            <title>IPv4 to IPv6 Transformation Schemes</title>
            <author initials="S." surname="Miyakawa">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010"/>
          </front>
          <seriesInfo name="DOI" value="10.1587/transcom.E93.B.1078"/>
          <refcontent>IEICE Transactions on Communications, Vol. E93-B, Issue 5, pp. 1078-1084</refcontent>
        </reference>
        <reference anchor="I-D.ietf-tsvwg-natsupp" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-natsupp-23" derivedAnchor="NAT-SUPP">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) Network Address Translation Support</title>
            <author initials="R. R." surname="Stewart" fullname="Randall R. Stewart">
              <organization showOnFrontPage="true">Netflix, Inc.</organization>
            </author>
            <author initials="M." surname="Tüxen" fullname="Michael Tüxen">
              <organization showOnFrontPage="true">Münster University of Applied Sciences</organization>
            </author>
            <author initials="I." surname="Ruengeler" fullname="Irene Ruengeler">
              <organization showOnFrontPage="true">Münster University of Applied Sciences</organization>
            </author>
            <date month="October" day="25" year="2021"/>
            <abstract>
              <t indent="0">   The Stream Control Transmission Protocol (SCTP) provides a reliable
   communications channel between two end-hosts in many ways similar to
   the Transmission Control Protocol (TCP).  With the widespread
   deployment of Network Address Translators (NAT), specialized code has
   been added to NAT functions for TCP that allows multiple hosts to
   reside behind a NAT function and yet share a single IPv4 address,
   even when two hosts (behind a NAT function) choose the same port
   numbers for their connection.  This additional code is sometimes
   classified as Network Address and Port Translation (NAPT).

   This document describes the protocol extensions needed for the SCTP
   endpoints and the mechanisms for NAT functions necessary to provide
   similar features of NAPT in the single point and multipoint traversal
   scenario.

   Finally, a YANG module for SCTP NAT is defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-natsupp-23"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-tsvwg-natsupp-23.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-v6ops-464xlat-optimization" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-v6ops-464xlat-optimization-03" derivedAnchor="OP-464XLAT/MAP-T">
          <front>
            <title>464XLAT/MAT-T Optimization</title>
            <author initials="J." surname="Palet Martinez">
              <organization showOnFrontPage="true">The IPv6 Company</organization>
            </author>
            <author initials="A" surname="D'Egidio" fullname="Alejandro D'Egidio">
              <organization showOnFrontPage="true">Telecentro</organization>
            </author>
            <date month="July" day="28" year="2020"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-v6ops-464xlat-optimization-03"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-v6ops-464xlat-optimization-03.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="REP2014" target="http://www.hit.bme.hu/~lencse/publications/TSP-2014-PC.pdf" quoteTitle="true" derivedAnchor="REP2014">
          <front>
            <title>Port Number Consumption of the NAT64 IPv6 Transition Technology</title>
            <author initials="S." surname="Répás">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Hajas">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Lencse">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/TSP.2015.7296411"/>
          <refcontent>37th International Conference on Telecommunications and Signal Processing</refcontent>
        </reference>
        <reference anchor="SIITPERF" target="https://github.com/lencsegabor/siitperf" quoteTitle="true" derivedAnchor="SIITPERF">
          <front>
            <title>Siitperf: an RFC 8219 compliant SIIT (stateless NAT64) tester</title>
            <author/>
            <date month="February" year="2021"/>
          </front>
          <refcontent>commit bdce0f</refcontent>
        </reference>
        <reference anchor="SNABB" target="https://github.com/Igalia/snabb" quoteTitle="true" derivedAnchor="SNABB">
          <front>
            <title>Snabb implementation of lwAFTR</title>
            <author>
            </author>
            <date month="January" year="2022"/>
          </front>
          <refcontent>commit 1ef72ce</refcontent>
        </reference>
        <reference anchor="TR-069" target="https://www.broadband-forum.org/technical/download/TR-069.pdf" quoteTitle="true" derivedAnchor="TR-069">
          <front>
            <title>CPE WAN Management Protocol</title>
            <author>
              <organization showOnFrontPage="true">Broadband Forum</organization>
            </author>
            <date month="June" year="2020"/>
          </front>
          <seriesInfo name="Technical Report" value="TR-069"/>
        </reference>
        <reference anchor="VPP" target="https://wiki.fd.io/index.php?title=VPP&amp;oldid=11809" quoteTitle="true" derivedAnchor="VPP">
          <front>
            <title>VPP</title>
            <author>
            </author>
            <date month="July" year="2022"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Ole Troan"/>,
      <contact fullname="Warren Kumari"/>, <contact fullname="Dan       Romascanu"/>, <contact fullname="Brian Trammell"/>, <contact fullname="Joseph Salowey"/>, <contact fullname="Roman Danyliw"/>,
      <contact fullname="Erik Kline"/>, <contact fullname="Lars Eggert"/>,
      <contact fullname="Zaheduzzaman Sarker"/>, <contact fullname="Robert       Wilton"/>, <contact fullname="Éric Vyncke"/> and <contact fullname="Martin Duke"/> for their review of this document and acknowledge
      the inputs of <contact fullname="Mark Andrews"/>, <contact fullname="Edwin Cordeiro"/>, <contact fullname="Fred Baker"/>, <contact fullname="Alexandre Petrescu"/>, <contact fullname="Cameron Byrne"/>,
      <contact fullname="Tore Anderson"/>, <contact fullname="Mikael       Abrahamsson"/>, <contact fullname="Gert Doering"/>, <contact fullname="Satoru Matsushima"/>, <contact fullname="Yutianpeng (Tim)"/>,
      <contact fullname="Mohamed Boucadair"/>, <contact fullname="Nick       Hilliard"/>, <contact fullname="Joel Jaeggli"/>, <contact fullname="Kristian McColm"/>, 
      <contact fullname="Tom Petch"/>, <contact fullname="Yannis       Nikolopoulos"/>, <contact fullname="Havard Eidnes"/>, <contact fullname="Yann-Ju Chu"/>, <contact fullname="Barbara Stark"/>, <contact fullname="Vasilenko Eduard"/>, <contact fullname="Chongfeng Xie"/>,
      <contact fullname="Henri Alves de Godoy"/>, <contact fullname="Magnus       Westerlund"/>, <contact fullname="Michael Tüxen"/>, <contact fullname="Philipp S. Tiesel"/>, <contact fullname="Brian E. Carpenter"/>,
      and <contact fullname="Joe Touch"/>.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Gábor Lencse" initials="G." surname="Lencse">
        <organization abbrev="BUTE" showOnFrontPage="true">Budapest University of Technology and Economics</organization>
        <address>
          <postal>
            <street>Magyar tudósok körútja 2</street>
            <city>Budapest</city>
            <region/>
            <code>H-1117</code>
            <country>Hungary</country>
          </postal>
          <email>lencse@hit.bme.hu</email>
          <uri>http://www.hit.bme.hu/~lencse/index_en.htm</uri>
        </address>
      </author>
      <author fullname="Jordi Palet Martinez" initials="J." surname="Palet Martinez">
        <organization showOnFrontPage="true">The IPv6 Company</organization>
        <address>
          <postal>
            <street>Molino de la Navata, 75</street>
            <city>La Navata - Galapagar</city>
            <region>Madrid</region>
            <code>28420</code>
            <country>Spain</country>
          </postal>
          <email>jordi.palet@theipv6company.com</email>
          <uri>http://www.theipv6company.com/</uri>
        </address>
      </author>
      <author fullname="Lee Howard" initials="L." surname="Howard">
        <organization showOnFrontPage="true">Retevia</organization>
        <address>
          <postal>
            <street>9940 Main St., Suite 200</street>
            <city>Fairfax</city>
            <region>Virginia</region>
            <code>22031</code>
            <country>United States of America</country>
          </postal>
          <email>lee@asgard.org</email>
        </address>
      </author>
      <author fullname="Richard Patterson" initials="R." surname="Patterson">
        <organization showOnFrontPage="true">Sky UK</organization>
        <address>
          <postal>
            <street>1 Brick Lane</street>
            <city>London</city>
            <code>EQ 6PU</code>
            <country>United Kingdom</country>
          </postal>
          <email>richard.patterson@sky.uk</email>
        </address>
      </author>
      <author fullname="Ian Farrer" initials="I." surname="Farrer">
        <organization showOnFrontPage="true">Deutsche Telekom AG</organization>
        <address>
          <postal>
            <street>Landgrabenweg 151</street>
            <city>Bonn</city>
            <code>53227</code>
            <country>Germany</country>
          </postal>
          <email>ian.farrer@telekom.de</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
