| rfc9313xml2.original.xml | rfc9313.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="UTF-8"?><!-- This template is for creating an Inte | <?xml version="1.0" encoding="UTF-8"?> | |||
| rnet Draft using xml2rfc, which is available here: http://xml.resource.org. - | ||||
| -><!DOCTYPE rfc SYSTEM "rfc2629.dtd" [<!-- One method to get references from the | <!DOCTYPE rfc [ | |||
| online citation libraries. There has to be one entity for each item to be re | <!ENTITY nbsp " "> | |||
| ferenced. An alternate method (rfc include) is described in the references. | <!ENTITY zwsp "​"> | |||
| --><!ENTITY RFC2473 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference. | <!ENTITY nbhy "‑"> | |||
| RFC.2473.xml"><!ENTITY RFC2544 SYSTEM "http://xml.resource.org/public/rfc/bibxml | <!ENTITY wj "⁠"> | |||
| /reference.RFC.2544.xml"><!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public | ]> | |||
| /rfc/bibxml/reference.RFC.2629.xml"><!ENTITY RFC2663 SYSTEM "http://xml.resource | ||||
| .org/public/rfc/bibxml/reference.RFC.2663.xml"><!ENTITY RFC3552 SYSTEM "http://x | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | |||
| ml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml"><!ENTITY RFC4814 SYSTE | info" consensus="true" docName="draft-ietf-v6ops-transition-comparison-04" numbe | |||
| M "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4814.xml"><!ENTITY RF | r="9313" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="tru | |||
| C5180 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5180.xml"> | e" tocDepth="4" | |||
| <!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | symRefs="true" sortRefs="true" version="3"> | |||
| .5226.xml"><!ENTITY RFC5452 SYSTEM "http://xml.resource.org/public/rfc/bibxml/re | ||||
| ference.RFC.5452.xml"><!ENTITY RFC6050 SYSTEM "http://xml.resource.org/public/rf | <!-- xml2rfc v2v3 conversion 3.14.0 --> | |||
| c/bibxml/reference.RFC.6050.xml"><!ENTITY RFC6052 SYSTEM "http://xml.resource.or | <front> | |||
| g/public/rfc/bibxml/reference.RFC.6052.xml"><!ENTITY RFC6146 SYSTEM "http://xml. | ||||
| resource.org/public/rfc/bibxml/reference.RFC.6146.xml"><!ENTITY RFC6147 SYSTEM " | <title abbrev="Pros and Cons of IPv4aaS Technologies">Pros and Cons of | |||
| http://xml.resource.org/public/rfc/bibxml/reference.RFC.6147.xml"><!ENTITY RFC61 | IPv6 Transition Technologies for IPv4-as-a-Service (IPv4aaS)</title> | |||
| 80 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6180.xml"><!E | <seriesInfo name="RFC" value="9313"/> | |||
| NTITY RFC6269 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.62 | <author fullname="Gábor Lencse" initials="G." surname="Lencse"> | |||
| 69.xml"><!ENTITY RFC6333 SYSTEM "http://xml.resource.org/public/rfc/bibxml/refer | <organization abbrev="BUTE">Budapest University of Technology and Economic | |||
| ence.RFC.6333.xml"><!ENTITY RFC6346 SYSTEM "http://xml.resource.org/public/rfc/b | s</organization> | |||
| ibxml/reference.RFC.6346.xml"><!ENTITY RFC6519 SYSTEM "http://xml.resource.org/p | <address> | |||
| ublic/rfc/bibxml/reference.RFC.6519.xml"><!ENTITY RFC6877 SYSTEM "http://xml.res | <postal> | |||
| ource.org/public/rfc/bibxml/reference.RFC.6877.xml"><!ENTITY RFC6887 SYSTEM "htt | <street>Magyar tudósok körútja 2</street> | |||
| p://xml.resource.org/public/rfc/bibxml/reference.RFC.6887.xml"><!ENTITY RFC6888 | <city>Budapest</city> | |||
| SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6888.xml"><!ENTI | <region/> | |||
| TY RFC6889 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6889. | <code>H-1117</code> | |||
| xml"><!ENTITY RFC7050 SYSTEM "http://xml.resource.org/public/rfc/bibxml/referenc | <country>Hungary</country> | |||
| e.RFC.7050.xml"><!ENTITY RFC7269 SYSTEM "http://xml.resource.org/public/rfc/bibx | </postal> | |||
| ml/reference.RFC.7269.xml"><!ENTITY RFC7341 SYSTEM "http://xml.resource.org/publ | <email>lencse@hit.bme.hu</email> | |||
| ic/rfc/bibxml/reference.RFC.7341.xml"><!ENTITY RFC7393 SYSTEM "http://xml.resour | <uri>http://www.hit.bme.hu/~lencse/index_en.htm</uri> | |||
| ce.org/public/rfc/bibxml/reference.RFC.7393.xml"><!ENTITY RFC7422 SYSTEM "http:/ | </address> | |||
| /xml.resource.org/public/rfc/bibxml/reference.RFC.7422.xml"><!ENTITY RFC7596 SYS | </author> | |||
| TEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7596.xml"><!ENTITY | <author fullname="Jordi Palet Martinez" initials="J." surname="Palet Martine | |||
| RFC7597 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7597.xml | z"> | |||
| "><!ENTITY RFC7599 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.R | <organization>The IPv6 Company</organization> | |||
| FC.7599.xml"><!ENTITY RFC7605 SYSTEM "http://xml.resource.org/public/rfc/bibxml/ | <address> | |||
| reference.RFC.7605.xml"><!ENTITY RFC7757 SYSTEM "http://xml.resource.org/public/ | <postal> | |||
| rfc/bibxml/reference.RFC.7757.xml"><!--<!ENTITY RFC7857 SYSTEM "http://xml.resou | <street>Molino de la Navata, 75</street> | |||
| rce.org/public/rfc/bibxml/reference.RFC.7757.xml">--><!ENTITY RFC7915 SYSTEM "ht | <city>La Navata - Galapagar</city> | |||
| tp://xml.resource.org/public/rfc/bibxml/reference.RFC.7915.xml"><!ENTITY RFC7950 | <region>Madrid</region> | |||
| SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7950.xml"><!ENT | <code>28420</code> | |||
| ITY RFC8114 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8114 | <country>Spain</country> | |||
| .xml"><!ENTITY RFC8215 SYSTEM "http://xml.resource.org/public/rfc/bibxml/referen | </postal> | |||
| ce.RFC.8215.xml"><!ENTITY RFC8219 SYSTEM "http://xml.resource.org/public/rfc/bib | <email>jordi.palet@theipv6company.com</email> | |||
| xml/reference.RFC.8219.xml"><!ENTITY RFC8415 SYSTEM "http://xml.resource.org/pub | <uri>http://www.theipv6company.com/</uri> | |||
| lic/rfc/bibxml/reference.RFC.8415.xml"><!ENTITY RFC8512 SYSTEM "http://xml.resou | </address> | |||
| rce.org/public/rfc/bibxml/reference.RFC.8512.xml"><!ENTITY RFC8513 SYSTEM "http: | </author> | |||
| //xml.resource.org/public/rfc/bibxml/reference.RFC.8513.xml"><!ENTITY RFC8658 SY | <author fullname="Lee Howard" initials="L." surname="Howard"> | |||
| STEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8658.xml"><!ENTITY | <organization>Retevia</organization> | |||
| RFC8676 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8676.xm | <address> | |||
| l"><!ENTITY RFC8683 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference. | <postal> | |||
| RFC.8683.xml">]><?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?><!-- used | <street>9940 Main St., Suite 200</street> | |||
| by XSLT processors --><!-- For a complete list and description of processing in | <city>Fairfax</city> | |||
| structions (PIs), please see http://xml.resource.org/authoring/README.html. | <region>Virginia</region> | |||
| --><!-- Below are generally applicable Processing Instructions (PIs) that most I | <code>22031</code> | |||
| -Ds might want to use. (Here they are set differently than their defaults in | <country>United States of America</country> | |||
| xml2rfc v1.32) --><?rfc strict="yes" ?><!-- give errors regarding ID-nits and DT | </postal> | |||
| D validation --><!-- control the table of contents (ToC) --><?rfc toc="yes"?><!- | <email>lee@asgard.org</email> | |||
| - generate a ToC --><?rfc tocdepth="4"?><!-- the number of levels of subsections | </address> | |||
| in ToC. default: 3 --><!-- control references --><?rfc symrefs="yes"?><!-- use | </author> | |||
| symbolic references tags, i.e, [RFC2119] instead of [1] --><?rfc sortrefs="yes" | <author fullname="Richard Patterson" initials="R." surname="Patterson"> | |||
| ?><!-- sort the reference entries alphabetically --><!-- control vertical white | <organization>Sky UK</organization> | |||
| space (using these PIs as follows is recommended by the RFC Editor) --><?rfc | <address> | |||
| compact="yes" ?><!-- do not start each main section on a new page --><?rfc subc | <postal> | |||
| ompact="no" ?><!-- keep one blank line between list items --><!-- end of list of | <street>1 Brick Lane</street> | |||
| popular I-D processing instructions --><rfc category="info" docName="draft-ietf | <city>London</city> | |||
| -v6ops-transition-comparison-04" ipr="trust200902"> <front> <!-- The abbrevi | <code>EQ 6PU</code> | |||
| ated title is used in the page header - it is only necessary if the fu | <country>United Kingdom</country> | |||
| ll title is longer than 39 characters --> <title abbrev="Pros and Cons of IPv | </postal> | |||
| 4aaS Technologies">Pros and Cons of IPv6 Transition Technologies for IPv4aaS< | <email>richard.patterson@sky.uk</email> | |||
| /title> <!-- add 'role="editor"' below for the editors if appropriate --> | </address> | |||
| <!-- Another author who claims to be an editor --> <author fullname="Gabor Le | </author> | |||
| ncse" initials="G." surname="Lencse"> <organization abbrev="BUTE">Budapest | <author fullname="Ian Farrer" initials="I." surname="Farrer"> | |||
| University of Technology and Economics</organization> <address> <pos | <organization>Deutsche Telekom AG</organization> | |||
| tal> <street>Magyar tudosok korutja 2.</street> <!-- Reorder t | <address> | |||
| hese if your country does things differently --> <city>Budapest</city> | <postal> | |||
| <region></region> <code>H-1117</code> <country>Hungar | <street>Landgrabenweg 151</street> | |||
| y</country> </postal> <phone></phone> <email>lencse@hit.bme | <city>Bonn</city> | |||
| .hu</email> <uri>http://www.hit.bme.hu/~lencse/index_en.htm</uri> | <code>53227</code> | |||
| </address> </author> <author fullname="Jordi Palet Martinez" initials="J | <country>Germany</country> | |||
| ." surname="Palet Martinez"> <organization>The IPv6 Company</organization> | </postal> | |||
| <address> <postal> <street>Molino de la Navata, 75</street> | <email>ian.farrer@telekom.de</email> | |||
| <city>La Navata - Galapagar</city> <region>Madrid</region> | </address> | |||
| <code>28420</code> <country>Spain</country> </postal> | </author> | |||
| <email>jordi.palet@theipv6company.com</email> <uri>http://www.theipv6 | <date year="2022" month="October" /> | |||
| company.com/</uri> </address> </author> <author fullname="Lee Howard" | ||||
| initials="L." surname="Howard"> <organization>Retevia</organization> | <area>ops</area> | |||
| <address> <postal> <street>9940 Main St., Suite 200</street> | <workgroup>v6ops</workgroup> | |||
| <!-- Reorder these if your country does things differently --> <c | ||||
| ity>Fairfax</city> <region>Virginia</region> <code>22031</code | <keyword>IPv6</keyword> | |||
| > <country>USA</country> </postal> <phone></phone> | <keyword>Transition Technologies</keyword> | |||
| <email>lee@asgard.org</email> </address> </author> <author fullname= | <keyword>Comparison</keyword> | |||
| "Richard Patterson" initials="R." surname="Patterson"> <organization>Sky UK | <keyword>IPv4aaS</keyword> | |||
| </organization> <address> <postal> <street>1 Brick Lane</st | <keyword>IPv6-only</keyword> | |||
| reet> <!-- Reorder these if your country does things differently --> | <keyword>464XLAT</keyword> | |||
| <city>London</city> <region></region> <code>EQ 6PU</cod | <keyword>DNS64</keyword> | |||
| e> <country>United Kingdom</country> </postal> <phone></p | <keyword>Dual-Stack Lite</keyword> | |||
| hone> <email>richard.patterson@sky.uk</email> </address> </author | <keyword>Lightweight 4over6</keyword> | |||
| > <author fullname="Ian Farrer" initials="I." surname="Farrer"> <organiz | <keyword>MAP-E</keyword> | |||
| ation>Deutsche Telekom AG</organization> <address> <postal> | <keyword>MAP-T</keyword> | |||
| <street>Landgrabenweg 151</street> <!-- Reorder these if your country | ||||
| does things differently --> <city>Bonn</city> <region></region | <abstract> | |||
| > <code>53227</code> <country>Germany</country> </posta | <t>Several IPv6 transition technologies have been developed to | |||
| l> <phone></phone> <email>ian.farrer@telekom.de</email> </add | provide customers with IPv4-as-a-Service (IPv4aaS) for ISPs with an | |||
| ress> </author> <date year="2022" /> <!-- Meta-data Declarations --> | IPv6-only access and/or core network. These technologies have their | |||
| <area>ops</area> <workgroup>v6ops</workgroup> <!-- WG name at the upperle | advantages and disadvantages. Depending on existing topology, skills, | |||
| ft corner of the doc, IETF is fine for individual submissions. If | strategy, and other preferences, one of these technologies may be the | |||
| this element is not present, the default is "Network Working Group", wh | most appropriate solution for a network operator.</t> | |||
| ich is used by the RFC Editor as a nod to the history of the IETF. --> <keywo | <t>This document examines the five most prominent | |||
| rd>IPv6, Transition Technologies, Comparison, IPv4aaS, IPv6-only, 464XLAT, DNS64 | IPv4aaS technologies and considers a number of different aspects | |||
| , Dual Stack Lite, Lightweight 4over6, MAP-E, MAP-T</keyword> <!-- Keywords w | to provide network operators with an easy-to-use reference to assist in | |||
| ill be incorporated into HTML output files in a meta tag but they have | selecting the technology that best suits their needs.</t> | |||
| no effect on text or nroff output. If you submit your draft to the RFC | </abstract> | |||
| Editor, the keywords will be used for the search engine. --> <abstra | </front> | |||
| ct> <t>Several IPv6 transition technologies have been developed to pro | <middle> | |||
| vide customers with IPv4-as-a-Service (IPv4aaS) for ISPs with an IPv6-only | <section anchor="intro" numbered="true" toc="default"> | |||
| access and/or core network. All these technologies have their advantages an | <name>Introduction</name> | |||
| d disadvantages, and depending on existing topology, skills, strategy and o | <t>As the deployment of IPv6 continues to be prevalent, it becomes clearer | |||
| ther preferences, one of these technologies may be the most appropriate sol | that network operators will move to building single-stack IPv6 core | |||
| ution for a network operator.</t> <t>This document examines the five most p | and access networks to simplify network planning and operations. | |||
| rominent IPv4aaS technologies considering a number of different aspects | However, providing customers with IPv4 services continues to be a | |||
| to provide network operators with an easy-to-use reference to assist in s | requirement for the foreseeable future. To meet this need, the IETF | |||
| electing the technology that best suits their needs.</t> </abstract> </front | has standardized a number of different IPv4aaS technologies | |||
| > <middle> <section anchor="intro" title="Introduction"> <t>As the depl | for this (see <xref target="LEN2019" format="default"/>) based on differin | |||
| oyment of IPv6 continues to be prevalent, it becomes clearer that network o | g requirements and | |||
| perators will move to building single-stack IPv6 core and access networks t | deployment scenarios.</t> | |||
| o simplify network planning and operations. However, providing customers wi | <t>The number of technologies that have been developed makes it | |||
| th IPv4 services continues to be a requirement for the foreseeable future. | time-consuming for a network operator to identify the most appropriate | |||
| To meet this need, the IETF has standardised a number of different IPv4aaS | mechanism for their specific deployment. This document provides a | |||
| technologies for this <xref target="LEN2019"/> based on differing requireme | comparative analysis of the most commonly used mechanisms to assist | |||
| nts and deployment scenarios.</t> <t>The number of technologies that h | operators with this problem.</t> | |||
| ave been developed makes it time-consuming for a network operator to identi | <t>Five different IPv4aaS solutions are considered: | |||
| fy the most appropriate mechanism for their specific deployment. This docum | </t> | |||
| ent provides a comparative analysis of the most commonly used mechanisms to | <ol spacing="normal" type="1"><li>464XLAT <xref target="RFC6877" format="d | |||
| assist operators with this problem.</t> <t>Five different IPv4aaS sol | efault"/></li> | |||
| utions are considered. The following IPv4aaS technologies are covered: | <li>Dual-Stack Lite <xref target="RFC6333" format="default"/></li> | |||
| <list style="numbers"> <t>464XLAT <xref target="RFC6877"/></t> < | <li>Lightweight 4over6 (lw4o6) <xref target="RFC7596" format="default"/> | |||
| t>Dual Stack Lite <xref target="RFC6333"/></t> <t>lw4o6 (Lightweight 4ov | </li> | |||
| er6) <xref target="RFC7596"/></t> <t>MAP-E <xref target="RFC7597"/> | ||||
| </t> <t>MAP-T <xref target="RFC7599"/></t> </list></t> | <li>Mapping of Address and Port with Encapsulation (MAP-E) <xref target= | |||
| <t>We note that <xref target="RFC6180"/> gives guidelines for using IPv6 tr | "RFC7597" format="default"/></li> | |||
| ansition mechanisms during IPv6 deployment addressing a much broader topic, | <li>Mapping of Address and Port using Translation (MAP-T) <xref target=" | |||
| whereas this document focuses on a small part of it.</t> </section> | RFC7599" format="default"/></li> | |||
| <section anchor="overview" title="Overview of the Technologies"> <t>The f | </ol> | |||
| ollowing sections introduce the different technologies analyzed in this doc | <t>We note that <xref target="RFC6180" format="default"/> gives | |||
| ument, describing some of their most important characteristics. </t> < | guidelines for using IPv6 transition mechanisms during IPv6 deployment; | |||
| section anchor="xlat_ov" title="464XLAT"> <t>464XLAT may use double trans | that document addresses a much broader topic, whereas this document | |||
| lation (stateless NAT46 + stateful NAT64) or single translation (sta | focuses on a small part of it.</t> | |||
| teful NAT64), depending on different factors, such as the use of DNS | </section> | |||
| by the applications and the availability of a DNS64 function (in | <section anchor="overview" numbered="true" toc="default"> | |||
| the host or in the service provider network).</t> | <name>Overview of the Technologies</name> | |||
| <t>The customer-side translator (CLAT) is located in the customer's devic | <t>The following sections introduce the different technologies analyzed | |||
| e, and it performs stateless NAT46 translation <xref target="RFC7915 | in this document and describe some of their most important characteristics | |||
| "/> (more precisely, a stateless IP/ICMP translation from IPv4 to IPv6). | . | |||
| IPv4-embedded IPv6 addresses <xref target="RFC6052"/> are used for both | </t> | |||
| source and destination addresses. Commonly, a /96 prefix (either the | <section anchor="xlat_ov" numbered="true" toc="default"> | |||
| 64:ff9b::/96 Well-Known Prefix, or a Network-Specific Prefix) is used as | <name>464XLAT</name> | |||
| the IPv6 destination for the IPv4-embedded client traffic.</t> < | <t>464XLAT may use double translation (stateless NAT46 + stateful | |||
| t>In deployments where NAT64 load-balancing <xref target="RFC7269"/> s | NAT64) or single translation (stateful NAT64) depending on different | |||
| ection 4.2 is enabled, multiple WKPs <xref target="RFC8215"/> may be used.</t> | factors, such as the use of DNS by the applications and the | |||
| <t>In the operator's network, the provider-side translator (PLAT) p | availability of a DNS64 function (in the host or service | |||
| erforms stateful NAT64 <xref target="RFC6146"/> to translate the traffic. | provider network).</t> | |||
| The destination IPv4 address is extracted from the IPv4-embedded IPv6 pa | <t>The customer-side translator (CLAT) is located in the customer's | |||
| cket destination address and the source address is from a pool of public | device, and it performs stateless NAT46 translation <xref | |||
| IPv4 addresses.</t> <t>Alternatively, when a dedicated /6 | target="RFC7915" format="default"/> (more precisely, a stateless | |||
| 4 is not available for translation, the CLAT device uses a stateful NAT44 | IP/ICMP translation from IPv4 to IPv6). IPv4-embedded IPv6 addresses | |||
| translation before the stateless NAT46 translation.</t> <!-- I'm | <xref target="RFC6052" format="default"/> are used for both source and | |||
| not sure I understand the above statement. It seems to conflate the /64 | destination addresses. Commonly, a /96 prefix (either the 64:ff9b::/96 | |||
| destination address needed to route the 46 translated traffic to the PLAT | Well-Known Prefix (WKP) or a Network-Specific Prefix) is used as the | |||
| with moving the stateful NAT44 function from the PLAT to the CLAT --> | IPv6 destination for the IPv4-embedded client traffic.</t> | |||
| <!-- GL: Please refer to: https://tools.ietf.org/html/rf | <t>In deployments where NAT64 load balancing (see <xref target="RFC7269" | |||
| c6877#section-6.3 --> <t>In general, keeping state in devices close to | sectionFormat="of" section="4.2"/>) is enabled, multiple WKPs <xref targ | |||
| the end-user network (i.e. at the CE - Customer Edge router) is not pe | et="RFC8215" format="default"/> may be used.</t> | |||
| rceived as problematic as keeping state in the operator's networ | <t>In the operator's network, the provider-side translator (PLAT) | |||
| k.</t> <!-- GL: <t>The authors generally do not see state close | performs stateful NAT64 <xref target="RFC6146" format="default"/> to tra | |||
| to the end-user as equally problematic as state in the middle of the netw | nslate the | |||
| ork.</t> --> <t>In typical deployments, 464XLAT is used tog | traffic. The destination IPv4 address is extracted from the | |||
| ether with DNS64 <xref target="RFC6147"/>, see Section 3.1.2 of <x | IPv4-embedded IPv6 packet destination address, and the source address is | |||
| ref target="RFC8683"/>. When an IPv6-only client or application communica | from a pool of public IPv4 addresses.</t> | |||
| tes 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 | <t>Alternatively, when a dedicated /64 is not available for translation, | |||
| sends out IPv6 packets, and the CLAT functions as an IPv6 router and the | the CLAT device uses a stateful NAT44 translation before the stateless | |||
| PLAT performs a stateful NAT64 for these packets. In this case, there is | NAT46 translation.</t> | |||
| a single translation.</t> <t>Similarly, whe | ||||
| n an IPv4-only client or application communicates with an IPv4-o | <t>In general, keeping state in devices close to the end-user network (i.e., at | |||
| nly server, the CLAT will statelessly translate to IPv6 so it can t | the CE (Customer Edge) router) is not perceived to be as problematic as keeping | |||
| raverse the ISP network up to the PLAT (NAT64), which in turn will translate | state in the operator's network. | |||
| to IPv4.</t> <t>Alternatively, one can say that DNS64 + stateful N | </t> | |||
| AT64 is used to carry the traffic of the IPv6-only client and the IPv4-on | ||||
| ly server, and the CLAT is used only for the IPv4 traffic from applicatio | <t>In typical deployments, 464XLAT is used together with DNS64 | |||
| ns or devices that use literal IPv4 addresses or non-IPv6 compliant APIs. | <xref target="RFC6147" format="default"/>; see <xref | |||
| </t><!--*** Comment 1 - For the above 2 paragraphs, is the above case a | target="RFC8683" sectionFormat="of" section="3.1.2"/>. | |||
| typical deployment? Isn't mobile still overwhelmingly the most common dep | When an IPv6-only client or application communicates with an IPv4-only | |||
| loyer of 464? Comment 2 - I think that the above 2 paragraphs wou | server, the DNS64 server returns the IPv4-embedded IPv6 address of the | |||
| ld be better moved to another section. This is meant to be a overview of | IPv4-only server. In this case, the IPv6-only client sends out IPv6 | |||
| how 464XLAT works. Combining with DNS64/NAT64 adds in another solution (n | packets, the CLAT functions as an IPv6 router, and the PLAT performs a | |||
| ot part of the stated scope of the doc ) which could be done with any of | stateful NAT64 for these packets. There is a single | |||
| the technologies described here whether this is commonly done or not). It | translation.</t> | |||
| 's not a part of 464XLAT and it's not unique to it. --> | <t>Similarly, when an IPv4-only client or application communicates | |||
| <!-- GL: for Comment 2 - Yes, it could be put to somewhere else, | with an IPv4-only server, the CLAT will statelessly translate to IPv6 | |||
| but, in practice, ONLY 464XLAT is combined with DNS64/NAT64. RFC 6 | so it can traverse the ISP network up to the PLAT (NAT64), which in | |||
| 877 mentions already in the Introduction that it can be use together w | turn will translate to IPv4.</t> | |||
| ith DNS64 or without it. This is one of the most important advanta | <t>Alternatively, one can say that DNS64 + stateful NAT64 is | |||
| ges of 464XLAT that the vast majority of the traffic does not need to | used to carry the traffic of the IPv6-only client and the IPv4-only | |||
| be double translated. I did some Google-ing to chech whether T-Mobile U | server, and the CLAT is used only for the IPv4 traffic from applications | |||
| SA uses 464XLAT together with DNS64. Yes it does. See slide 13 of | or devices that use literal IPv4 addresses or non-IPv6-compliant APIs. | |||
| this pdf: https://www.sanog.org/resources/sanog23/SANOG23_464XLAT.p | </t> | |||
| df --> <figure anchor="xlatarch" align="cente | ||||
| r" title="Overview of the 464XLAT architecture"> <preamble></pre | <figure anchor="xlatarch"> | |||
| amble> <artwork align="left"><![CDATA[ Private +----------+ Tr | <name>Overview of the 464XLAT Architecture</name> | |||
| anslated +----------+ _______ +------+ IPv4 | CLAT | 4-6-4 | | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| PLAT | ( IPv4 ) | IPv4 |------->| Stateless|------------>| Stateful +--( | Private +----------+ Translated +----------+ _______ | |||
| Internet ) |Device|<-------| NAT46 |<------------| NAT64 | (________) | +------+ IPv4 | CLAT | 4-6-4 | PLAT | ( IPv4 ) | |||
| +------+ +----------+ ^ +----------+ | | IPv4 |------->| Stateless|------------>| Stateful +--( Internet ) | |||
| | Operator IPv6 | |Device|<-------| NAT46 |<------------| NAT64 | (________) | |||
| network ]]></artwork> <postamble></ | +------+ +----------+ ^ +----------+ | |||
| postamble> </figure> <t>Note: in mobile networks, CLAT is commonly | | | |||
| implemented in the user's equipment (UE or smartphone), please refer to | Operator IPv6 | |||
| Figure 2 of <xref target="RFC6877"/>.</t> <t>Often | Network]]></artwork> | |||
| NAT64 vendors support direct communication (that is, without translation) | </figure> | |||
| between two CLATs by means of hair-pinning through the NAT64.</t> | ||||
| </section> <section anchor="dslite_ov" title="Dual-Stack Lite" | <t>Note: In mobile networks, the CLAT is commonly implemented in the | |||
| > <t>Dual-Stack Lite (DS-Lite) <xref target="RFC6333"/> was the first | user equipment (UE) or smartphone; please refer to Figure 2 in <xref | |||
| of the considered transition mechanisms to be developed. DS-Lite uses a | target="RFC6877" format="default"/>.</t> | |||
| 'Basic Bridging BroadBand' (B4) function in the customer's CE router t | <t>Some NAT64 vendors support direct communication (that is, without tra | |||
| hat encapsulates IPv4 in IPv6 traffic and sends it over the IPv6 native s | nslation) | |||
| ervice-provider network to an 'Address Family Transition Router' (AFTR). | between two CLATs by means of hairpinning through the NAT64.</t> | |||
| The AFTR performs encapsulation/decapsulation of the 4in6 <xref target=" | </section> | |||
| RFC2473"/> traffic and translates the IPv4 source address in the in | <section anchor="dslite_ov" numbered="true" toc="default"> | |||
| ner IPv4 packet to public IPv4 source address using a stateful NAPT44 | <name>Dual-Stack Lite</name> | |||
| <xref target="RFC2663"/> function.</t> <figure anchor="dslitearch" align | <t>Dual-Stack Lite (DS-Lite) <xref target="RFC6333" format="default"/> w | |||
| ="center" title="Overview of the DS-Lite architecture"> <preambl | as the first | |||
| e></preamble> <artwork align="left"><![CDATA[ | of the considered transition mechanisms to be developed. DS-Lite uses a | |||
| +-------------+ Private +----------+ IPv4-in-IPv6|Stateful | Basic Bridging BroadBand (B4) function in the customer's CE router | |||
| AFTR|+------+ IPv4 | B4 | tunnel |------+------+ _______| IPv4 | that encapsulates IPv4 in IPv6 traffic and sends it over the IPv6 native | |||
| |------->| Encap./ |------------>|Encap.| | ( IPv4 )|Device|<-------| | service provider network to an Address Family Transition | |||
| decap. |<------------| / | NAPT +--( Internet )+------+ +---------- | Router (AFTR). The AFTR performs encapsulation/decapsulation of the | |||
| + ^ |Decap.| 44 | (________) | | 4in6 <xref target="RFC2473" format="default"/> traffic and translates th | |||
| +------+------+ Operator IPv6 | e IPv4 source | |||
| network ]]></artwork> <postamble></postamble> </ | address in the inner IPv4 packet to a public IPv4 source address | |||
| figure> <t>Some AFTR vendors support direct communication | using | |||
| between two B4s by means of hair-pinning through the AFTR.</t> | a stateful NAPT44 <xref target="RFC2663" format="default"/> funct | |||
| </section> <section anchor="lw4o6_ov" title="Lightweight 4over6"> | ion.</t> | |||
| <t>Lightweight 4over6 (lw4o6) is a variant of DS-Lite. The main di | <figure anchor="dslitearch"> | |||
| fference is that the stateful NAPT44 function is relocated from the centr | <name>Overview of the DS-Lite Architecture</name> | |||
| alized AFTR to the customer's B4 element (called a lwB4). The AFTR (calle | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| d a lwAFTR) function therefore only performs A+P routing <xref tar | +-------------+ | |||
| get="RFC6346"/> and 4in6 encapsulation/decapsulation.</t> <t>Routing to t | Private +----------+ IPv4-in-IPv6|Stateful AFTR| | |||
| he correct client and IPv4 address sharing is achieved using the Address | +------+ IPv4 | B4 | Tunnel |------+------+ _______ | |||
| + Port (A+P) model <xref target="RFC6346"/> of provisioning each lwB4 wit | | IPv4 |------->| Encap./ |------------>|Encap.| | ( IPv4 ) | |||
| h a unique tuple of IPv4 address and a unique range of transport layer po | |Device|<-------| Decap. |<------------| / | NAPT +--( Internet ) | |||
| rts. The client uses these for NAPT44.</t> <t>The lwAFTR implements a bin | +------+ +----------+ ^ |Decap.| 44 | (________) | |||
| ding table, which has a per-client entry linking the customer's source IP | | +------+------+ | |||
| v4 address and allocated range of transport layer ports to their IPv6 tun | Operator IPv6 | |||
| nel endpoint address. The binding table allows egress traffic from custom | Network]]></artwork> | |||
| ers to be validated (to prevent spoofing) and ingress traffic to be corr | </figure> | |||
| ectly encapsulated and forwarded. As there needs to be a per-client entry | <t>Some AFTR vendors support direct communication | |||
| , an lwAFTR implementation needs to be optimized for performing a per-pac | between two B4s by means of hairpinning through the AFTR.</t> | |||
| ket lookup on the binding table.</t> <t>Direct communication (that | </section> | |||
| is, without translation) between two lwB4s is performed by hair-pinning | <section anchor="lw4o6_ov" numbered="true" toc="default"> | |||
| traffic through the lwAFTR.</t> <figure anchor="lw4o6arch" align="center" | <name>Lightweight 4over6</name> | |||
| title="Overview of the lw4o6 architecture"> <preamble></preamble> | <t>Lightweight 4over6 (lw4o6) is a variant of DS-Lite. The main | |||
| <artwork align="left"><![CDATA[ +-------------+ | difference is that the stateful NAPT44 function is relocated from the | |||
| +----------+ Private | lwB4 | IPv4-in-IPv6| Stateless|+------+ | centralized AFTR to the customer's B4 element (called an "lwB4"). The | |||
| IPv4 |------+------| tunnel | lwAFTR | _______| IPv4 |------->| | AFTR (called an "lwAFTR") function therefore only performs A+P | |||
| |Encap.|------------>|(encap/A+P| ( IPv4 )|Device|<-------| NAPT | / |< | (Address plus Port) routing <xref target="RFC6346" format="default"/> an | |||
| ------------|bind. tab +--( Internet )+------+ | 44 |Decap.| ^ | d 4in6 | |||
| | routing) | (________) +------+------+ | +-------- | encapsulation/decapsulation.</t> | |||
| --+ Operator IPv6 | <t>Routing to the correct client and IPv4 address sharing are achieved | |||
| network ]]></artwork> <postamble></postamble> </figure> | using the A+P model <xref target="RFC6346" format="default"/> of | |||
| </section> <section anchor="map_e_ov" title="MAP-E"> <t>Like 464X | provisioning each lwB4 with a unique tuple of IPv4 address and a unique | |||
| LAT (<xref target="xlat_ov"/>), MAP-E and MAP-T use <xref target="RFC | range | |||
| 6052"/> IPv4-embedded IPv6 addresses to represent IPv4 hosts out | of transport-layer ports. The client uses these for NAPT44.</t> | |||
| side the MAP domain. </t> <t>MAP-E and MAP-T use a stateless algori | <t>The lwAFTR implements a binding table, which has a per-client | |||
| thm to embed portions of the customer's allocated IPv4 address (or part o | entry linking the customer's source IPv4 address and an allocated range | |||
| f an address with A+P routing) into the IPv6 prefix delegated to the clie | of | |||
| nt. This allows for large numbers of clients to be provisioned using a si | transport-layer ports to their IPv6 tunnel endpoint address. The binding | |||
| ngle MAP rule (called a MAP domain). The algorithm also allows for direct | table | |||
| IPv4 peer-to-peer communication between hosts provisioned with common MA | allows egress traffic from customers to be validated (to prevent | |||
| P rules.</t> <t>The CE (Customer-Edge) router typically performs stateful | spoofing) and ingress traffic to be correctly encapsulated and | |||
| NAPT44 <xref target="RFC2663"/> to translate the private IPv4 source ad | forwarded. As there needs to be a per-client entry, an lwAFTR | |||
| dresses and source ports into an address and port range defined by applyi | implementation needs to be optimized for performing a per-packet | |||
| ng the MAP rule to the delegated IPv6 prefix. The client address/p | lookup on the binding table.</t> | |||
| ort allocation size is a configuration parameter. The CE router then enca | <t>Direct communication (that is, without translation) between two lwB4s | |||
| psulates the IPv4 packet in an IPv6 packet <xref target="RFC2473"/> and s | is performed by hairpinning | |||
| ends it directly to another host in the MAP domain (for peer-to-peer) or | traffic through the lwAFTR.</t> | |||
| to a Border Router (BR) if the IPv4 destination is not covered in one of | <figure anchor="lw4o6arch"> | |||
| the CE's MAP rules.</t> <t>The MAP BR is provisioned with the set of MAP | <name>Overview of the lw4o6 Architecture</name> | |||
| rules for the MAP domains it serves. These rules determine how | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| the MAP BR is to decapsulate traffic that it receives from clie | +-------------+ +----------+ | |||
| nt, validating the source IPv4 address and transport layer ports | Private | lwB4 | IPv4-in-IPv6| Stateless| | |||
| assigned, as well as how to calculate the destination IPv6 address | +------+ IPv4 |------+------| Tunnel | lwAFTR | _______ | |||
| for ingress IPv4 traffic.</t> <figure anchor="map-e-arch" align="center" | | IPv4 |------->| |Encap.|------------>|(encap/A+P| ( IPv4 ) | |||
| title="Overview of the MAP-E architecture"> <preamble></preambl | |Device|<-------| NAPT | / |<------------|bind. tab +--( Internet ) | |||
| e> <artwork align="left"><![CDATA[ +-------------+ | +------+ | 44 |Decap.| ^ | routing) | (________) | |||
| +----------+ Private | MAP CE | IPv4-in-IPv6| Stateless|+------ | +------+------+ | +----------+ | |||
| + IPv4 |------+------| tunnel | MAP BR | _______| IPv4 |------->| | Operator IPv6 | |||
| |Encap.|------------>|(encap/A+P| ( IPv4 )|Device|<-------| NAPT | / | Network]]></artwork> | |||
| |<------------|algorithm +--( Internet )+------+ | 44 |Decap.| ^ | </figure> | |||
| | routing) | (________) +------+------+ | +------ | </section> | |||
| ----+ Operator IPv6 | <section anchor="map_e_ov" numbered="true" toc="default"> | |||
| network ]]></artwork> <postamble></postamble> </figure> | <name>MAP-E</name> | |||
| <t>Some BR vendors support direct communication b | <t>Like 464XLAT (<xref target="xlat_ov" format="default"/>), MAP-E and M | |||
| etween two MAP CEs by means of hair-pinning through the BR.</t> </section> | AP-T use | |||
| <section anchor="map_t_ov" title="MAP-T"> <t>MAP-T uses the same mapp | IPv4-embedded IPv6 addresses <xref target="RFC6052" format="defau | |||
| ing algorithm as MAP-E. The major difference is that double stateless tra | lt"/> to represent IPv4 | |||
| nslation (NAT46 in the CE and NAT64 in the BR) is used to traverse the IS | hosts outside the MAP domain. </t> | |||
| P's IPv6 single-stack network. MAP-T can also be compared to 464XLAT when | <t>MAP-E and MAP-T use a stateless algorithm to embed portions of the cu | |||
| there is a double translation.</t> <!-- I think the last sentence can be | stomer's | |||
| removed as 'double translation' is notreally equivalent in this case. MAP-T has | allocated IPv4 address (or part of an address with A+P routing) into the | |||
| 3 translations - 1 stateful, 2 statelessXLAT has 2 translations - 1 statless, 1 | IPv6 prefix delegated to the client. This allows for large numbers of | |||
| stateful --><!-- GL: Strictly speaking: you are right. But in a high level view | clients to be provisioned using a single MAP rule (called a "MAP domain" | |||
| , both translate private IPv4 to IPv6 and IPv6 to public IPv4. --> <t>A M | ). | |||
| AP CE router typically performs stateful NAPT44 to translate traffic to a public | The algorithm also allows direct IPv4 peer-to-peer communication | |||
| IPv4 address and port-range calculated by applying the provisioned | between hosts provisioned with common MAP rules.</t> | |||
| Basic MAP Rule (BMR - a set of inputs to the algorithm) to the delegated | <t>The CE router typically performs stateful NAPT44 | |||
| IPv6 prefix. The CE then performs stateless translation from IPv4 to I | <xref target="RFC2663" format="default"/> to translate the private IPv4 | |||
| Pv6 <xref target="RFC7915"/>. The MAP BR is provisioned with the same BMR | source addresses | |||
| as the client, enabling the received IPv6 traffic to be statelessly NAT6 | and source ports into an address and port range defined by applying | |||
| 4 translated back to the public IPv4 source address used by the cl | the MAP rule to the delegated IPv6 prefix. The client | |||
| ient.</t> <t>Using translation instead of encapsulation also allows IPv4- | address/port allocation size is a configuration parameter. The CE router | |||
| only nodes to correspond directly with IPv6 nodes in the MAP-T domain | then | |||
| that have IPv4-embedded IPv6 addresses.</t><!-- Whilst the above is theoriti | encapsulates the IPv4 packet in an IPv6 packet <xref target="RFC2473" fo | |||
| cally true, are there implementations inpractice? How would name resolution /ser | rmat="default"/> | |||
| ivce discovery work? The node thatgenerally implements MAP (and gets provisioned | and sends it directly to another host in the MAP domain | |||
| with the MAP rule is a CE device. --><!-- GL: If I remember well, the above sta | (for peer-to-peer) or to a Border Router (BR) if the IPv4 destination is | |||
| tement is from Ole Troan, one of the authors of the MAP protocols, thus it is ve | not covered in one of the CE's MAP rules.</t> | |||
| ry likely true. However, I myself can neither prove, nor confute it.--> < | ||||
| figure anchor="map-t-arch" align="center" title="Overview of the MAP-T ar | <t>The MAP BR is provisioned with the set of MAP rules for the MAP | |||
| chitecture"> <preamble></preamble> <artwork align="left"><![CDATA[ | domains it serves. These rules determine how the MAP BR is to decapsulat | |||
| +-------------+ +----------+ Private | MAP | e | |||
| CE | Translated | Stateless|+------+ IPv4 |------+------| 4-6-4 | M | traffic that it receives from the client, validate the source IPv4 | |||
| AP BR | _______| IPv4 |------->| |State-|------------>|(NAT64/A+P| | address and transport-layer ports assigned, and calculate the | |||
| ( IPv4 )|Device|<-------| NAPT | less |<------------|algorithm +--( Internet )+ | destination IPv6 address for ingress IPv4 traffic.</t> | |||
| ------+ | 44 |NAT46 | ^ | routing) | (________) | <figure anchor="map-e-arch"> | |||
| +------+------+ | +----------+ Operat | <name>Overview of the MAP-E Architecture</name> | |||
| or IPv6 network ]]></artwork> < | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| postamble></postamble> </figure> <t>Some BR vendors suppor | +-------------+ +----------+ | |||
| t direct communication between two MAP CEs by means of hair-pinn | Private | MAP CE | IPv4-in-IPv6| Stateless| | |||
| ing through the BR.</t> </section> </sec | +------+ IPv4 |------+------| tunnel | MAP BR | _______ | |||
| tion> <section anchor="hl_arch" title="High-level Architectures and theirCons | | IPv4 |------->| |Encap.|------------>|(encap/A+P| ( IPv4 ) | |||
| equences"> <section anchor="sp_net_trav" title="Service Provider Network Tr | |Device|<-------| NAPT | / |<------------|algorithm +--( Internet ) | |||
| aversal"> <t>For the data-plane, there are two approaches for traversing | +------+ | 44 |Decap.| ^ | routing) | (________) | |||
| the IPv6 provider network: <list style="symbols"> <t>4-6- | +------+------+ | +----------+ | |||
| 4 translation</t> <t>4-in-6 encapsulation</t> </list></t> | Operator IPv6 | |||
| <texttable anchor="net_trav_table" title="Available Traversal Mechanisms"> | Network]]></artwork> | |||
| <preamble></preamble> <ttcol align="center"></ttcol> <ttc | </figure> | |||
| ol align="center">464XLAT</ttcol> <ttcol align="center">DS-Lite</ttcol> | <t>Some BR vendors support direct communication | |||
| <ttcol align="center">lw4o6</ttcol> <ttcol align="center">MAP | between two MAP CEs by means of hairpinning through the BR.</t> | |||
| -E</ttcol> <ttcol align="center">MAP-T</ttcol> <c>4-6-4 trans. | </section> | |||
| </c> <c>X</c> <c></c> <c></c> <c></c> | <section anchor="map_t_ov" numbered="true" toc="default"> | |||
| <c>X</c> <c>4-6-4 encap.</c> <c></c> <c>X</c> | <name>MAP-T</name> | |||
| <c>X</c> <c>X</c> <c></c> <postamble></postamble | <t>MAP-T uses the same mapping algorithm as MAP-E. The major difference | |||
| > </texttable> <t>In the scope of this document, all of the encaps | is that double stateless translation (NAT46 in the CE and NAT64 in the | |||
| ulation based mechanisms use IP-in-IP tunnelling <xref target="RFC2473"/> | BR) is used to traverse the ISP's IPv6 single-stack network. MAP-T can | |||
| . This is a stateless tunneling mechanism which does not require any | also be compared to 464XLAT when there is a double translation.</t> | |||
| additional overhead.</t> <t>It should be noted that both of these appr | ||||
| oaches result in an increase in the size of the packet that needs to be t | <t>A MAP CE router typically performs stateful NAPT44 to translate traffic to a | |||
| ransported across the operator's network when compared to native IPv4. 4- | public | |||
| 6-4 translation adds a 20-bytes overhead (the 20-byte IPv4 header is | IPv4 address and port range calculated by applying the provisioned | |||
| replaced with a 40-byte IPv6 header). Encapsulation has a 40-byte over | Basic MAP Rule (BMR), which is a set of inputs to the algorithm, to the | |||
| head (an IPv6 header is prepended to the IPv4 header).</t> <t>The increas | delegated | |||
| e in packet size can become a significant problem if there is a link with | IPv6 prefix. The CE then performs stateless translation from IPv4 to | |||
| a smaller MTU in the traffic path. This may result in traffic needing to | IPv6 <xref target="RFC7915" format="default"/>. | |||
| be fragmented at the ingress point to the IPv6 only domain (i.e., the NA | The MAP BR is | |||
| T46 or 4in6 encapsulation endpoint). It may also result in the need to im | provisioned with the same BMR as the client, enabling the received | |||
| plement buffering and fragment re-assembly in the PLAT/AFTR/lwAFTR/BR nod | IPv6 traffic to be translated (using stateless NAT64) back to the public | |||
| e.</t> <t>The advice given in <xref target="RFC7597"/> Section 8.3.1 is | IPv4 source address used by the client. | |||
| applicable to all of these mechanisms: It is strongly recommended that | </t> | |||
| the MTU in the IPv6-only domain be well managed (it should have sufficiently | <t>Using translation instead of encapsulation also allows IPv4-only | |||
| large MTU to support tunneling and/or translation) and that the I | nodes to correspond directly with IPv6 nodes in the MAP-T domain | |||
| Pv6 MTU on the CE WAN-side interface be set so that no fragmentation occu | that have IPv4-embedded IPv6 addresses.</t> | |||
| rs within the boundary of the IPv6-only domain.</t> </section> | ||||
| <section anchor="nat" title="Network Address Translation among the Different IPv | <figure anchor="map-t-arch"> | |||
| 4aaS Technologies"> <t>For the high-level solution of IPv6 service provid | <name>Overview of the MAP-T Architecture</name> | |||
| er network traversal, MAP-T uses double stateless translation. First at t | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| he CE from IPv4 to IPv6 (NAT46), and then from IPv6 to IPv4 (NAT64), at t | +-------------+ +----------+ | |||
| he service provider network.</t> <t>464XLAT may use double transla | Private | MAP CE | Translated | Stateless| | |||
| tion (stateless NAT46 + stateful NAT64) or single translation (stateful N | +------+ IPv4 |------+------| 4-6-4 | MAP BR | _______ | |||
| AT64), depending on different factors, such as the use of DNS by the appl | | IPv4 |------->| |State-|------------>|(NAT64/A+P| ( IPv4 ) | |||
| ications and the availability of a DNS64 function (in the host or in the | |Device|<-------| NAPT | less |<------------|algorithm +--( Internet ) | |||
| service provider network). For deployment guidelines, please refer to <xr | +------+ | 44 |NAT46 | ^ | routing) | (________) | |||
| ef target="RFC8683"/>.</t><!-- Here we're conflation NAT64 with 464XLAT again - | +------+------+ | +----------+ | |||
| see my comment in the 464XLAT overview --><!-- GL: Yes, because they are used to | Operator IPv6 | |||
| gether. --> <t>The first step for the double translation mechanisms is a | Network]]></artwork> | |||
| stateless NAT from IPv4 to IPv6 implemented as SIIT (Stateless IP/ICMP Tr | </figure> | |||
| anslation Algorithm) <xref target="RFC7915"/>, which does not translate I | <t>Some BR vendors support direct communication | |||
| Pv4 header options and/or multicast IP/ICMP packets. With encapsu | between two MAP CEs by means of hairpinning through the BR.</t> | |||
| lation-based technologies the header is transported intact and multicast | </section> | |||
| can also be carried.</t> <t>Single and double translation results in nati | </section> | |||
| ve IPv6 traffic with a transport layer next-header. The fields in these h | <section anchor="hl_arch" numbered="true" toc="default"> | |||
| eaders can be used for functions such as hashing across equal-co | <name>High-Level Architectures and Their Consequences</name> | |||
| st multipaths or access control list (ACL) filtering. Encapsulation tec | <section anchor="sp_net_trav" numbered="true" toc="default"> | |||
| hnologies, in contrast, may hinder hashing algorithms or other funct | <name>Service Provider Network Traversal</name> | |||
| ions relying on header inspection.</t> <t>Solutions using doubl | <t>For the data plane, there are two approaches for traversing | |||
| e translation can only carry port-aware IP protocols (e.g. TCP, UDP) and | the IPv6 provider network: | |||
| ICMP when they are used with IPv4 address sharing (please refer to <xref | </t> | |||
| target="pub_serv"/> for more details). Encapsulation based solutions can | ||||
| carry any other protocols over IP, too.</t> < | <ul spacing="normal"> | |||
| t>An in-depth analysis of stateful NAT64 can be found in <xref target="RFC6889"/ | <li>4-6-4 translation</li> | |||
| >.</t> <t>As stateful NAT interferes with the port numbe | <li>4in6 encapsulation</li> | |||
| rs, <xref target="I-D.ietf-tsvwg-natsupp"/> explains how NATs can han | </ul> | |||
| dle SCTP (Stream Control Transmission Protocol).</t> | ||||
| <!-- The above paragraph really needs more detail in there as it | <table anchor="net_trav_table" align="center"> | |||
| oversimplifiesthe reality. Encap with address sharing can't carry a non-port awa | <name>Available Traversal Mechanisms</name> | |||
| re protocolsuch as GRE (without UDP). A stateful CGN is generally capable of per | <thead> | |||
| forming NAT44 (not- NAPT) for non-port aware protocols. --><!-- GL: Could you el | <tr> | |||
| aborate it in the text? --> </section> <section anchor="ipv4_sharing" | <th align="center"/> | |||
| title="IPv4 Address Sharing"> <t>As public IPv4 address exhaustion is a c | <th align="center">464XLAT</th> | |||
| ommon motivation for deploying IPv6, transition technologies need to prov | <th align="center">DS-Lite</th> | |||
| ide a solution for allowing public IPv4 address sharing.</t> <t>In | <th align="center">lw4o6</th> | |||
| order to fulfill this requirement, a stateful NAPT function is a necessa | <th align="center">MAP-E</th> | |||
| ry function in all of the mechanisms. The major differentiator is where i | <th align="center">MAP-T</th> | |||
| n the architecture this function is located.</t> <t>The solutions compare | </tr> | |||
| d by this document fall into two categories: <list style="symbols"> | </thead> | |||
| <t>CGN-based approaches (DS-Lite, 464XLAT)</t> <t>A+P-based approac | <tbody> | |||
| hes (lw4o6, MAP-E, MAP-T)</t> </list></t> <t>In the CGN-based mode | <tr> | |||
| l, a device such as a CGN/AFTR or NAT64 performs the NAPT44 function and | <td align="left">4-6-4 translation</td> | |||
| maintains per-session state for all of the active client's traffic. The c | <td align="center">X</td> | |||
| ustomer's device does not require per-session state for NAPT.</t> | <td align="center"/> | |||
| <t>In the A+P-based model, a device (usually a CE) performs stateful NA | <td align="center"/> | |||
| PT44 and maintains per-session state only co-located devices, e.g. in the | <td align="center"/> | |||
| customer's home network. Here, the centralized network function (lwAFTR | <td align="center">X</td> | |||
| or BR) only needs to perform stateless encapsulation/decapsulation or NAT | </tr> | |||
| 64.</t> <t>Issues related to IPv4 address sharing mechanisms are describe | <tr> | |||
| d in <xref target="RFC6269"/> and should also be considered.</t> | <td align="left">4in6 encapsulation</td> | |||
| <t>The address sharing efficiency of the five technologies is significant | <td align="center"/> | |||
| ly different, it is discussed in <xref target="port_num_eff"/>.</t> | <td align="center">X</td> | |||
| <t>lw4o6, MAP-E and MAP-T can also be configured without IPv4 address | <td align="center">X</td> | |||
| sharing, see the details in <xref target="pub_serv"/>. However, in that c | <td align="center">X</td> | |||
| ase, there is no advantage in terms of public IPv4 address saving. In the | <td align="center"/> | |||
| case of 464XLAT, this can be achieved as well through EAMT (Explicit Address Ma | </tr> | |||
| pping Table) <xref target="RFC7757"/>.</t> <t>Conversely, both MAP | </tbody> | |||
| -E and MAP-T may be configured to provide more than one public IPv4 addre | </table> | |||
| ss (i.e., an IPv4 prefix shorter than a /32) to customers.</t> | ||||
| <t>Dynamic DNS issues in address-sharing contexts and their possi | <t>In the scope of this document, all of the encapsulation-based | |||
| ble solutions using PCP (Port Control Protocol) are discussed in deta | mechanisms use IP-in-IP tunneling <xref target="RFC2473" format="default | |||
| il in <xref target="RFC7393"/>.</t> </section> | "/>. | |||
| <section anchor="ipv4_pool" title="IPv4 Pool Size Considerations"> | This is a stateless tunneling mechanism that does not require any | |||
| <t>In this section we do some simple calculations regarding port numbers, | additional overhead.</t> | |||
| however, technical limitations are not the only point to consider for | <t>It should be noted that both of these approaches result in an | |||
| port sharing, there are also local regulations or BCP.</t> | increase in the size of the packet that needs to be transported across | |||
| <t>Note: under "port numbers", we mean TCP/UDP port numbers or IC | the operator's network when compared to native IPv4. 4-6-4 | |||
| MP identifiers.</t> <t>In most networks, it is possible to, u | translation adds a 20-byte overhead (the 20-byte IPv4 header is | |||
| sing existing data about flows to CDNs/caches or other well-known I | replaced with a 40-byte IPv6 header). Encapsulation has a 40-byte | |||
| Pv6-enabled destinations, calculate the percentage of traffic tha | overhead (an IPv6 header is prepended to the IPv4 header).</t> | |||
| t would turn into IPv6 if it is enabled on that network or part o | <t>The increase in packet size can become a significant problem if there | |||
| f it.</t> <t>Knowing that, it is possible to calculate the IPv4 poo | is a link with a smaller MTU in the traffic path. This may result in the | |||
| l size required for a given number of subscribers, depending on t | need for | |||
| he IPv4aaS technology being used.</t> <t>According to <xref tar | traffic to be fragmented at the ingress point to the IPv6 only | |||
| get="MIY2010"/>, each user-device (computer, tablet, smartphone) behin | domain (i.e., the NAT46 or 4in6 encapsulation endpoint). It may also | |||
| d a NAT, could simultaneously use up to 300 ports. (Table 1 of <xref | result in the need to implement buffering and fragment reassembly | |||
| target="MIY2010"/> lists the port number usage of various applicati | in the PLAT/AFTR/lwAFTR/BR node.</t> | |||
| ons. According to <xref target="REP2014"/> the downloading of some w | <t>The advice given in <xref target="RFC7597" sectionFormat="of" | |||
| eb pages may consume up to 200 port numbers.) If the extended NAPT a | section="8.3.1"/> is applicable to all of these mechanisms: | |||
| lgorithm is used, which includes the full five tuple into the connection | ||||
| tracking table, then the port numbers are reused, when the destinations | It is | |||
| are different. Therefore, we need to consider the number of "port | strongly recommended that the MTU in the IPv6-only domain be well | |||
| hungry" applications that are accessing the same destination simu | managed (it should have sufficiently large MTU to support tunneling | |||
| ltaneously. We estimate that in the case of a residential subscriber, | and/or translation) and that the IPv6 MTU on the CE WAN-side interface | |||
| there will be typically no more than 4 of port hungry applicati | be set so that no fragmentation occurs within the boundary of the | |||
| ons communicating with the same destination simultaneously, whic | IPv6-only domain.</t> | |||
| h means a total of 1,200 ports. </t> <t>If for example, 80% of the tra | </section> | |||
| ffic is expected towards IPv6 destinations, only 20% will actually be | <section anchor="nat" numbered="true" toc="default"> | |||
| using IPv4 ports, so in our example, that will mean 240 ports require | <name>Network Address Translation among the Different IPv4aaS Technologi | |||
| d per subscriber.</t> <t>From the 65,535 ports available per IPv4 addre | es</name> | |||
| ss, we could even consider reserving 1,024 ports, in order to allow | ||||
| customers that need EAMT entries for incoming connections to Syste | <t> | |||
| m Ports (0-1023, also called well-known ports) <xref target="RFC | For the high-level solution of IPv6 service provider network traversal, | |||
| 7605"/>, which means 64,511 ports actually available per each IPv4 | MAP-T uses double stateless translation. The first translation is from IPv4 | |||
| address.</t> <t>According to this, a /22 (1.024 public IPv4 addresses) | to IPv6 (NAT46) at the CE, and the second translation is from IPv6 to IPv4 | |||
| will be sufficient for over 275,000 subscribers (1,024x64,511/240=27 | (NAT64) at the service provider network. | |||
| 5,246.93).</t> <t>Similarly, a /18 (16,384 public IPv4 a | </t> | |||
| ddresses) will be sufficient for over 4,403,940 subscribers, and so on | <t>464XLAT may use double translation (stateless NAT46 + stateful | |||
| .</t> <t>This is a conservative approach, which is valid in the case of | NAT64) or single translation (stateful NAT64) depending on different | |||
| 464XLAT, because ports are assigned dynamically by the NAT64, so i | factors, such as the use of DNS by the applications and the availability | |||
| t is not necessary to consider if one user is actually using more or | of a DNS64 function (in the host or in the service provider network). | |||
| less ports: Average values work well.</t> <t>As the | For deployment guidelines, please refer to <xref target="RFC8683" format | |||
| deployment of IPv6 progresses, the use of NAT64, and therefore of p | ="default"/>.</t> | |||
| ublic IPv4 addresses, decreases (more IPv6/ports, less IPv4/ports), so either | <t>The first step for the double translation mechanisms is a stateless | |||
| more subscribers can be accommodated with the same number of IPv4 address | NAT from IPv4 to IPv6 implemented as SIIT (Stateless IP/ICMP | |||
| es, or some of those addressed can be retired from the NAT64.</t> | Translation Algorithm) <xref target="RFC7915" format="default"/>, | |||
| <t>For comparison, if dual-stack is being used, any given number of users | which does not translate IPv4 header options and/or multicast IP/ICMP | |||
| will require the same number of public IPv4 addresses. For instance, a | packets. With encapsulation-based technologies, the header is | |||
| /14 will provide 262,144 IPv4 public addresses for 262,144 subscri | transported intact, and multicast can also be carried.</t> | |||
| bers, versus 275,000 subscribers being served with only a /22.</t> | <t>Single and double translation results in native IPv6 traffic with a | |||
| <t>In the other IPv4aaS technologies, this calculation will only match if | transport-layer next header. The fields in these headers can be used | |||
| the assignment of ports per subscriber can be done dynamically, which | for functions such as hashing across equal-cost multipaths or Access | |||
| is not always the case (depending on the vendor implementation) | Control List (ACL) filtering. Encapsulation technologies, in contrast, | |||
| .</t> <t>An alternative approximation for the other IPv4aaS technologie | may hinder hashing algorithms or other functions relying on header | |||
| s, when dynamically assignment of addresses is not possible, must en | inspection.</t> | |||
| sure sufficient number of ports per subscriber. That means 1,200 | <t>Solutions using double translation can only carry port-aware IP | |||
| ports, and typically, it comes to 2,000 ports in many deployment | protocols (e.g., TCP and UDP) and ICMP when they are used with IPv4 | |||
| s. In that case, assuming 80% of IPv6 traffic, as above, which w | address sharing (please refer to <xref target="pub_serv" | |||
| ill allow only 30 subscribers per each IPv4 address, so the closer ap | format="default"/> for more details). Encapsulation-based solutions | |||
| proximation to 275,000 subscribers per our example with 464XLAT ( | can also carry any other protocols over IP.</t> | |||
| with a /22), will be using a /19, which serves 245,760 subscribers (a /19 | <t>An in-depth analysis of stateful NAT64 can be found in <xref target=" | |||
| has 8,192 addresses, 30 subscribers with 2,000 ports each, per address).< | RFC6889" format="default"/>.</t> | |||
| /t> <t>If the CGN (in case of DS-Lite) or the CE (in case of lw4o6, M | <t>As stateful NAT interferes with the port numbers, <xref | |||
| AP-E and MAP-T) make use of a 5-tuple for tracking the NAT connec | target="I-D.ietf-tsvwg-natsupp" format="default"/> explains how NATs | |||
| tions, the number of ports required per subscriber can be limited as | can handle SCTP (Stream Control Transmission Protocol).</t> | |||
| low as 4 ports per subscriber. However, the practical limit depe | </section> | |||
| nds on the desired limit for parallel connections that any single host | <section anchor="ipv4_sharing" numbered="true" toc="default"> | |||
| behind the NAT can have to the same address and port in Internet. Not | <name>IPv4 Address Sharing</name> | |||
| e that it is becoming more common that applications use AJAX (Asynchr | <t>As public IPv4 address exhaustion is a common motivation for | |||
| onous JavaScript and XML) and similar mechanisms, so taking that extr | deploying IPv6, transition technologies need to provide a solution that | |||
| eme limit is probably not a safe choice.</t> <t>This extremely reduced | allows public IPv4 address sharing.</t> | |||
| number of ports "feature" could also be used in case the CLAT-ena | <t>In order to fulfill this requirement, a stateful NAPT function is | |||
| bled CE with 464XLAT makes use of the 5-tuple NAT connections track | a necessary function in all of the mechanisms. The major differentiator | |||
| ing, and could also be further extended if the NAT64 also use the | is where in the architecture this function is located.</t> | |||
| 5-tuple.</t> <t>Please also refer to <xref target="RFC | <t>The solutions compared by this document fall into two categories: | |||
| 6888"/> for in-depth information about the requirements for sizi | </t> | |||
| ng Carrier-Grade NAT gateways.</t> </section> <section anchor="ce_prov | <ul spacing="normal"> | |||
| " title="CE Provisioning Considerations"> <t>All of the technologies requ | <li>Approaches based on Carrier-Grade NAT (CGN) (DS-Lite, 464XLAT)</li | |||
| ire some provisioning of customer devices. The table below shows which me | > | |||
| thods currently have extensions for provisioning the different mechanisms | <li>Approaches based on A+P (lw4o6, MAP-E, MAP-T)</li> | |||
| .</t> <texttable anchor="prov_mech_table" title="Available Provisioning | </ul> | |||
| Mechanisms"> <preamble></preamble> <ttcol align="left">P | <t>In the CGN-based model, a device such as a CGN/AFTR or NAT64 performs | |||
| rovisioning Method</ttcol> <ttcol align="center">464XLAT</ttcol> | the NAPT44 function and maintains per-session state for all of the | |||
| <ttcol align="center">DS-Lite</ttcol> <ttcol align="center">lw4o6</t | active client's traffic. The customer's device does not require | |||
| tcol> <ttcol align="center">MAP-E</ttcol> <ttcol align="center | per-session state for NAPT.</t> | |||
| ">MAP-T</ttcol> <c>DHCPv6 <xref target="RFC8415"/></c> <c></c> | ||||
| <c>X</c> <c>X</c> <c>X</c> <c>X</c> | <t>In the A+P-based model, a device (usually a CE) performs stateful | |||
| <c>RADIUS <xref target="RFC8658"/></c> <c></c> <c><xref targ | NAPT44 and maintains per-session state only for co-located devices, | |||
| et="RFC6519"/></c> <c>X</c> <c>X</c> <c>X</c> | e.g., in the customer's home network. Here, the centralized network | |||
| <c>TR-069 <xref target="TR-069"/></c> <c>*</c> <c>X</c> | function (lwAFTR or BR) only needs to perform stateless | |||
| <c>*</c> <c>X</c> <c>X</c> <c>DNS64 <xref target | encapsulation/decapsulation or NAT64.</t> | |||
| ="RFC7050"/></c> <c>X</c> <c></c> <c></c> <c | <t>Issues related to IPv4 address-sharing mechanisms are described | |||
| ></c> <c></c> <c>YANG <xref target="RFC7950"/></c> <c | in <xref target="RFC6269" format="default"/> and should also be consider | |||
| ><xref target="RFC8512"/></c> <c><xref target="RFC8513"/></c> | ed.</t> | |||
| <c><xref target="RFC8676"/></c> <c><xref target="RFC8676"/></c> | <t>The address-sharing efficiency of the five technologies is | |||
| <c><xref target="RFC8676"/></c> <c>DHCP4o6 <xref target="RFC7341"/></ | significantly different and is discussed in | |||
| c> <c></c> <c></c> <c>X</c> <c>X</c> | <xref target="port_num_eff" format="default"/>.</t> | |||
| <c></c> <postamble></postamble> </texttable> <t>*: Work | <t>Lw4o6, MAP-E, and MAP-T can also be configured without IPv4 address s | |||
| started at BroadBand Forum (2021).</t> <t>X: Supported by the provisioni | haring; | |||
| ng method.</t><!--*** References to RFCs are needed in the first column of the t | see the details in <xref target="pub_serv" | |||
| able above. --> </section> <section anchor="multicast" title="S | format="default"/>. However, in that case, there is no advantage in | |||
| upport for Multicast"> <t>The solutions covered in this document are all | terms of public IPv4 address saving. | |||
| intended for unicast traffic. <xref target="RFC8114"/> describes a method | In the case of 464XLAT, one-to-one mapping can also | |||
| for carrying encapsulated IPv4 multicast traffic over an IPv6 multicast | be achieved through EAMT (Explicit Address Mapping Table) | |||
| network. This could be deployed in parallel to any of the operator's | <xref target="RFC7757" format="default"/>.</t> | |||
| chosen IPv4aaS mechanism.</t> </section> </section> <section title | <t>Conversely, both MAP-E and MAP-T may be configured to provide more | |||
| ="Detailed Analysis"> <section title="Architectural Differences"> <s | than one public IPv4 address (i.e., an address with an IPv4 prefix short | |||
| ection title="Basic Comparison"> <t>The five IPv4aaS technologies can b | er than a /32) | |||
| e classified into 2x2=4 categories on the basis of two aspects: | to customers.</t> | |||
| <list style="symbols"> <t>Technology used for service provider netw | <t>Dynamic DNS issues in address-sharing contexts and their possible | |||
| ork traversal. It can be single/double translation or encapsulation. | solutions using PCP (Port Control Protocol) are discussed in deta | |||
| </t> <t>Presence or absence of NAPT44 per-flow state in the | il | |||
| operator network. </t> </list></t> <texttable anc | in <xref target="RFC7393" format="default"/>.</t> | |||
| hor="data_plane_table" title="Basic comparison among the analyzed technologies"> | </section> | |||
| <preamble></preamble> <ttcol align="center"></ttcol> | <section anchor="ipv4_pool" numbered="true" toc="default"> | |||
| <ttcol align="center">464XLAT</ttcol> <ttcol align="center">DS | <name>IPv4 Pool Size Considerations</name> | |||
| -Lite</ttcol> <ttcol align="center">lw4o6</ttcol> <ttcol a | ||||
| lign="center">MAP-E</ttcol> <ttcol align="center">MAP-T</ttcol> | <t>In this section, we do some simple calculations regarding port | |||
| <c>Translation (T) or Encapsulation (E) </c> <c>T</c> | numbers. However, technical limitations are not the only point to | |||
| <c>E</c> <c>E</c> <c>E</c> <c>T</c> | consider for port sharing; there are also local regulations and | |||
| <c>Per-flow state in op. network</c> <c>X</c> <c>X</c> | best current practices.</t> | |||
| <c></c> <c></c> <c></c> </texttable> | ||||
| </section> </section> <section anchor="port_num_eff" title= | <t>Note: By "port numbers", we mean TCP/UDP port numbers or ICMP | |||
| "Tradeoff between Port Number Efficiency and Stateless Operation"> <t>46 | identifiers.</t> | |||
| 4XLAT and DS-Lite use stateful NAPT at the PLAT/AFTR devices, respectively. | ||||
| This may cause scalability issues for the number of clients or volume of t | <t>In most networks, it is possible to use existing data about flows to | |||
| raffic, but does not impose a limitation on the number of ports per user, | Content Delivery Networks (CDNs), caches, or other well-known | |||
| as they can be allocated dynamically on-demand and the allocation policy c | IPv6-enabled destinations to calculate the percentage of traffic that | |||
| an be centrally managed/adjusted.</t> <t>A+P based mechanisms (lw4o6, | would turn into IPv6 if IPv6 is enabled on that network or on part of it. | |||
| MAP-E, and MAP-T) avoid using NAPT in the service provider network. Howeve | </t> | |||
| r, this means that the number of ports provided to each user (and hence the | <t>Knowing that, it is possible to calculate the IPv4 pool size | |||
| effective IPv4 address sharing ratio) must be pre-provisioned to the clien | required for a given number of subscribers, depending on the IPv4aaS | |||
| t.</t> <t>Changing the allocated port ranges with A+P based technologi | technology being used.</t> | |||
| es, requires more planning and is likely to involve re-provisioning both ho | <t>According to <xref target="MIY2010" format="default"/>, each | |||
| sts and operator side equipment. It should be noted that due to the per-cus | user device (computer, tablet, smartphone) behind a NAT could | |||
| tomer binding table entry used by lw4o6, a single customer can be re-provis | simultaneously use up to 300 ports. (Table 1 of <xref | |||
| ioned (e.g., if they request a full IPv4 address) without needing to change | target="MIY2010" format="default"/> lists the port number usage of | |||
| parameters for a number of customers as in a MAP domain.</t> <t>It is | various applications. According to <xref target="REP2014" | |||
| also worth noting that there is a direct relationship between the efficien | format="default"/>, the downloading of some web pages may consume up to | |||
| cy of customer public port-allocations and the corresponding logging overhe | 200 port numbers.) If the extended NAPT algorithm is used, which | |||
| ad that may be necessary to meet data-retention requirements. This is consi | includes the full 5-tuple into the connection tracking table, then | |||
| dered in <xref target="logging"/> below.</t> <t>Determining the optimal num | the port numbers are reused when the destinations are | |||
| ber of ports for a fixed port set is not an easy task, and may also be impa | different. Therefore, we need to consider the number of "port-hungry" | |||
| cted by local regulatory law (and in the Belgian case it is not a law but mo | applications that are accessing the same destination simultaneously. | |||
| re a MoU / BCP), which may define a maximum number of users per IP address, | We estimate that in the case of a residential subscriber, there will | |||
| and consequently a minimum number of ports per user.</t> <t>On the on | be typically no more than four port-hungry applications communicating | |||
| e hand, the "lack of ports" situation may cause serious problems in the ope | with the same destination simultaneously, which is a total of 1,200 | |||
| ration of certain applications. For example, Miyakawa has demonstrated the | ports. </t> | |||
| consequences of the session number limitation due to port number shortage o | <t>For example, if 80% of the traffic is expected towards IPv6 | |||
| n the example of Google Maps <xref target="MIY2010"/>. When the limit was | destinations, only 20% will actually be using IPv4 ports. Thus, in our | |||
| 15, several blocks of the map were missing, and the map was unusable. This | example, 240 ports are required for each subscriber.</t> | |||
| study also provided several examples for the session numbers of different a | ||||
| pplications (the highest one was Apple's iTunes: 230-270 ports).</t> < | <t>From the 65,535 ports available per IPv4 address, we could even | |||
| t>The port number consumption of different applications is highly varying a | consider reserving 1,024 ports for customers that need | |||
| nd e.g. in the case of web browsing it depends on several factors, includin | EAMT entries for incoming connections to System ports (0-1023, also | |||
| g the choice of the web page, the web browser, and sometimes even the opera | called "well-known ports") <xref target="RFC7605" format="default"/>. | |||
| ting system <xref target="REP2014"/>. For example, under certain conditions | This means that 64,511 ports are actually available for each IPv4 addres | |||
| , 120-160 ports were used (URL: sohu.com, browser: Firefox under Ubuntu Li | s.</t> | |||
| nux), and in some other cases it was only 3-12 ports (URL: twitter.com, bro | <t>According to this, a /22 (1.024 public IPv4 addresses) will be suffic | |||
| wser: Iceweasel under Debian Linux).</t> <t>There may be several users | ient | |||
| behind a CE router, especially in the broadband case (e.g. Internet is use | for over 275,000 subscribers (1,024x64,511/240=275,246.93).</t> | |||
| d by different members of a family simultaneously), so sufficient ports mus | <t>Similarly, a /18 (16,384 public IPv4 addresses) will be sufficient | |||
| t be allocated to avoid impacting user experience.</t> <t>In g | for over 4,403,940 subscribers, and so on.</t> | |||
| eneral, assigning too few source port numbers to an end user may results | <t>This is a conservative approach, which is valid in the case of | |||
| in unexpected and hard to debug consequences, therefore, if the number | 464XLAT because ports are assigned dynamically by the NAT64. Therefore, | |||
| of ports per end user is fixed, then we recommend to assign a conservatively | it is | |||
| large number of ports. E.g. the developers of Jool used 2048 ports per | not necessary to consider if one user is actually using more or fewer | |||
| user in their example for MAP-T <xref target="MEX2022"/>.</t> <t>However, a | ports; average values work well.</t> | |||
| ssigning too many ports per CE router will result in waste of public IPv4 a | ||||
| ddresses, which is a scarce and expensive resource. Clearly this is a big a | <t>As the deployment of IPv6 progresses, the use of NAT64, and | |||
| dvantage in the case of 464XLAT where they are dynamically managed, so tha | therefore of public IPv4 addresses, decreases (more IPv6 ports, fewer | |||
| t the number of IPv4 addresses for the sharing-pool is smaller while the a | IPv4 ports). Thus, either more subscribers can be accommodated with the | |||
| vailability of ports per user don't need to be pre-defined and is not a li | same number of IPv4 addresses or some of those addressed can be | |||
| mitation for them.</t> <t>There is a direct tradeoff between the optimizati | retired from the NAT64.</t> | |||
| on of client port allocations and the associated logging overhead. <x | <t>For comparison, if dual-stack is being used, any given number of | |||
| ref target="logging"/> discusses this in more depth.</t><!-- Aren't CGNs general | users will require the same number of public IPv4 addresses. For | |||
| ly deployed using port block allocation these days?If so, then getting the size | instance, a /14 will provide 262,144 IPv4 public addresses for 262,144 | |||
| of the allocated block right is also importanthere. --><!-- GL: I do not know, a | subscribers, versus 275,000 subscribers being served with only a | |||
| s I am not a network operator. --> <t>We note that common CE router NAT44 i | /22.</t> | |||
| mplementations utilizing Netfilter, multiplexes active sessions using a 3-t | <t>In the other IPv4aaS technologies, this calculation will only match | |||
| uple (source address, destination address, and destination port). This mean | if the assignment of ports per subscriber can be done dynamically, | |||
| s that external source ports can be reused for unique internal source and d | which is not always the case (depending on the vendor | |||
| estination address and port sessions. It is also noted, that Netfilter cann | implementation).</t> | |||
| ot currently make use of multiple source port ranges (i.e. several blocks o | ||||
| f ports distributed across the total port space as is common in MAP deploy | <t> When dynamic assignment of addresses is not possible, an | |||
| ments), this may influence the design when using stateless technologies.</t | alternative approximation for the other IPv4aaS technologies must ensure a | |||
| > <t>Stateful technologies, 464XLAT and DS-Lite (and also NAT444) can | sufficient number of ports per subscriber. | |||
| therefore be much more efficient in terms of port allocation and thus publi | That means 1,200 ports, and | |||
| c IP address saving. The price is the stateful operation in the service pro | typically, it comes to 2,000 ports in many deployments. | |||
| vider network, which allegedly does not scale up well. It should be noticed | In that case, assuming 80% is IPv6 traffic (as above), only 30 subscribers | |||
| that in many cases, all those factors may depend on how it is actually imp | will be allowed per each IPv4 address; thus, the closer approximation to | |||
| lemented.</t> <t>Measurements have been started to examine the scalability | 275,000 subscribers per our example with 464XLAT (with a /22) will be using | |||
| of a few stateful solutions in two areas: <list style="symbols"> | a /19, which serves 245,760 subscribers (a /19 has 8,192 addresses and 30 | |||
| <t>How their performance scales up with the number of CPU cores?</t> | subscribers with 2,000 ports each per address). | |||
| <t>To what extent their performance degrades with the number of | </t> | |||
| concurrent connections?</t> </list> The details of | <t>If the CGN (in case of DS-Lite) or the CE (in case of lw4o6, MAP-E, | |||
| the measurements and their results are available from <xref target="I | and MAP-T) make use of a 5-tuple for tracking the NAT connections, the | |||
| -D.lencse-v6ops-transition-scalability"/>. </t><!--*** +1 on that! --> | number of ports required per subscriber can be limited as low as four | |||
| <t>We note that some CGN-type solutions can allocate ports dynamically "o | ports per subscriber. However, the practical limit depends on the | |||
| n the fly". Depending on configuration, this can result in the same custome | desired limit for parallel connections that any single host behind the | |||
| r being allocated ports from different source addresses. This can cause ope | NAT can have to the same address and port in Internet. Note that it is | |||
| rational issues for protocols and applications that expect multiple flows t | becoming more common that applications use AJAX (Asynchronous | |||
| o be sourced from the same address. E.g., ECMP hashing, STUN, gaming, conte | JavaScript and XML) and similar mechanisms, so taking that extreme | |||
| nt delivery networks. However, it should be noticed that this is the same p | limit is probably not a safe choice.</t> | |||
| roblem when a network has a NAT44 with multiple public IPv4 addresses, or e | ||||
| ven when applications in a dual-stack case, behave wrongly if happy eyeball | <t>This feature of extremely reduced number of ports could also be used | |||
| s is flapping the flow address between IPv4 and IPv6.</t> <t>The conse | in | |||
| quences of IPv4 address sharing <xref target="RFC6269"/> may impact all fiv | case the CLAT-enabled CE with 464XLAT makes use of tracking the 5 | |||
| e technologies. However, when ports are allocated statically, more customer | -tuple NAT | |||
| s may get ports from the same public IPv4 address, which may results in neg | connections and could also be further extended | |||
| ative consequences with higher probability, e.g. many applications and serv | if the NAT64 also uses the 5-tuple.</t> | |||
| ice providers (Sony PlayStation Network, OpenDNS, etc.) permanently blockin | <t>Please also refer to <xref target="RFC6888" format="default"/> for in | |||
| g IPv4 ranges if they detect that they are used for address sharing.</t> | -depth information about | |||
| <t>Both cases are, again, implementation dependent.</t> <t>We note that | the requirements for sizing CGN gateways.</t> | |||
| although it is not of typical use, one can do deterministic, stateful NAT a | </section> | |||
| nd reserve a fixed set of ports for each customer, as well.</t> </sectio | <section anchor="ce_prov" numbered="true" toc="default"> | |||
| n> <section anchor="pub_serv" title="Support for Public Server Operation"> | <name>CE Provisioning Considerations</name> | |||
| <t>Mechanisms that rely on operator side per-flow state do not, by thems | <t>All of the technologies require some provisioning of customer | |||
| elves, offer a way for customers to present services on publicly accessible | devices. The table below shows which methods currently have | |||
| transport layer ports.</t> <t>Port Control Protocol (PCP) <xref target="RF | extensions for provisioning the different mechanisms.</t> | |||
| C6887"/> provides a mechanism for a client to request an external public po | <table anchor="prov_mech_table" align="center"> | |||
| rt from a CGN device. For server operation, it is required with NAT64/464XL | <name>Available Provisioning Mechanisms</name> | |||
| AT, and it is supported in some DS-Lite AFTR implementations.</t> | <thead> | |||
| <t>A+P based mechanisms distribute a public IPv4 address and restricted ran | <tr> | |||
| ge of transport layer ports to the client. In this case, it is possible for | <th align="left">Provisioning Method</th> | |||
| the user to configure their device to offer a publicly accessible server | <th align="center">464XLAT</th> | |||
| on one of their allocated ports. It should be noted that commonly operators | <th align="center">DS-Lite</th> | |||
| do not assign the Well-Known-Ports to users (unless they are allocating a | <th align="center">lw4o6</th> | |||
| full IPv4 address), so the user will need to run the service on an allocat | <th align="center">MAP-E</th> | |||
| ed port, or configure port translation.</t> <t>Lw4o6, MAP-E and MAP-T | <th align="center">MAP-T</th> | |||
| may be configured to allocated clients with a full IPv4 address, allowing | </tr> | |||
| exclusive use of all ports, and non-port-based transport layer protocols. | </thead> | |||
| Thus, they may also be used to support server/services operation on their | <tbody> | |||
| default ports. However, when public IPv4 addresses are assigned to the CE r | <tr> | |||
| outer without address sharing, obviously there is no advantage in terms of | <td align="left">DHCPv6 <xref target="RFC8415" format="default"/>< | |||
| IPv4 public addresses saving. </t> <t>It is also possible to configure | /td> | |||
| specific ports mapping in 464XLAT/NAT64 using EAMT <xref target="RFC7757"/ | <td align="center"/> | |||
| >, which means that only those ports are "lost" from the pool of addresses, | <td align="center">X</td> | |||
| so there is a higher maximization of the total usage of IPv4/port resource | <td align="center">X</td> | |||
| s.</t><!--** I'm not familiar with EAMT - does this require operator side i | <td align="center">X</td> | |||
| ntervention? Maybe a good way to deal with this section would be to divide | <td align="center">X</td> | |||
| what is possible without and with operator intervention? --> <!-- GL: I am cur | </tr> | |||
| rently working on benchmarking three differen stateless NAT64 implementat | <tr> | |||
| ions: TAYGA, Jool and map646. I set the mappings in their configurations fi | <td align="left">RADIUS <xref target="RFC8658" format="default"/>< | |||
| les. Thus, I would say: yes, it requires... --> </section> | /td> | |||
| <section anchor="supp_imp" title="Support and Implementations"> <section | <td align="center"/> | |||
| title="Vendor Support"><!-- In a future update, this can be expanded to include | <td align="center"> | |||
| implementations ofdata plane and provisioning mechanisms, as to be useful, you | <xref target="RFC6519" format="default"/></td> | |||
| really need both--> <t>In general, router vendors support AFTR, MAP-E | <td align="center">X</td> | |||
| /T BR and NAT64. Load balancer and firewall vendors usually suppor | <td align="center">X</td> | |||
| t NAT64 as well, while not all of them have support for the other | <td align="center">X</td> | |||
| protocols.</t> <t>A 464XLAT client (CLAT) is implemented in Wind | </tr> | |||
| ows 10, Linux (including Android), Windows Mobile, Chrome OS and iOS, but | <tr> | |||
| it is not available in macOS 12.3.1.</t> <t>The remaining fo | <td align="left">TR-069 <xref target="TR-069" format="default"/></ | |||
| ur solutions are commonly deployed as functions in the CE device only, ho | td> | |||
| wever in general, except DS-Lite, the vendors support is poor.</t> | <td align="center">*</td> | |||
| <t>The OpenWRT Linux based open-source OS designed for CE devices offers | <td align="center">X</td> | |||
| a number of different 'opkg' packages as part of the distribution: <list | <td align="center">*</td> | |||
| style="symbols"> <t>'464xlat' enables support for 464XLAT CLAT functio | <td align="center">X</td> | |||
| nality</t> <t>'ds-lite' enables support for DSLite B4 functionality</t> | <td align="center">X</td> | |||
| <t>'map' enables support for MAP-E and lw4o6 CE functionality</t> | </tr> | |||
| <t>'map-t' enables support for MAP-T CE functionality</t> </list></t | <tr> | |||
| > <t>At the time of publication some free open-source implementations | <td align="left">DNS64 <xref target="RFC7050" format="default"/></ | |||
| exist for the operator side functionality: <list style="symbols"> | td> | |||
| <t>Jool <xref target="jool"/> (CLAT, NAT64, EAMT, MAP-T CE, MAP-T BR).< | <td align="center">X</td> | |||
| /t> <t>VPP/fd.io <xref target="vpp"/> (MAP-BR, lwAFTR, CGN, CLAT, NAT64 | <td align="center"/> | |||
| ).</t> <t>Snabb <xref target="snabb"/> (lwAFTR).</t> <t>AFTR < | <td align="center"/> | |||
| xref target="aftr"/> (DSLite AFTR).</t> </list></t> </section> | <td align="center"/> | |||
| <section anchor="cell_broad_supp" title="Support in Cellular and Broadband Netwo | <td align="center"/> | |||
| rks"> <t>Several cellular networks use 464XLAT, whereas there are no | </tr> | |||
| deployments of the four other technologies in cellular networks, as th | <tr> | |||
| ey are neither standardised nor implemented in UE devices.</t> <t>In broa | <td align="left">YANG <xref target="RFC7950" format="default"/></t | |||
| dband networks, there are some deployments of 464XLAT, MAP-E and MAP-T. L | d> | |||
| w4o6 and DS-Lite have more deployments, with DS-Lite being the most comm | <td align="center"> | |||
| on, but lw4o6 taking over in the last years.</t> < | <xref target="RFC8512" format="default"/></td> | |||
| t>Please refer to Table 2 and Table 3 of <xref target="LEN2019"/> f | <td align="center"> | |||
| or a limited set of deployment information.</t><!--*** I still see DS-Lite as be | <xref target="RFC8513" format="default"/></td> | |||
| ing overwhelmingly the most common technology here. Do we have any deploy | <td align="center"> | |||
| ment information that was can used here? Do we have any figures ab | <xref target="RFC8676" format="default"/></td> | |||
| out number of deployments of each type to back the statements up? --><!- | <td align="center"> | |||
| - GL: I am working on the revison of a paper, which has some tables on the deplo | <xref target="RFC8676" format="default"/></td> | |||
| yment of different IPv6 transition technologies. Ihope that we can cite it in t | <td align="center"> | |||
| he next version. Now (July 8, 2020) I have added the reference. --> | <xref target="RFC8676" format="default"/></td> | |||
| </section> <section anchor="code_size" title="Implemen | </tr> | |||
| tation Code Sizes"> <t>As hint to the relative complexity of the mechanis | <tr> | |||
| ms, the following code sizes are reported from the OpenWRT impleme | <td align="left">DHCP 4o6 <xref target="RFC7341" format="default"/ | |||
| ntations of each technology are 17kB, 35kB, 15kB, 35kB, and 48kB for 464X | ></td> | |||
| LAT, lw4o6, DS-Lite, MAP-E, MAP-T, and lw4o6, respectively (https: | <td align="center"/> | |||
| //openwrt.org/packages/start).</t><!-- Worth noting that for many of the above c | <td align="center"/> | |||
| ases, these are for provisioning.Netfilter is doing that actual work for NAT and | <td align="center">X</td> | |||
| encap/decap. --><!-- GL: I think, Netfiler only provides you with hooks, but it | <td align="center">X</td> | |||
| does not perform the encap/decap. --> <t>We note that the support for al | <td align="center"/> | |||
| l five technologies requires much less code size than the total sum of th | </tr> | |||
| e above quantities, because they contain a lot of common functions (data | </tbody> | |||
| plane is shared among several of them).</t> </section> </section> | </table> | |||
| <section title="Typical Deployment and Traffic Volume Considerations"> | <dl newline="false" spacing="normal"> | |||
| <section title="Deployment Possibilities"> <t>Theoretically, all five IPv | <dt>*:</dt> | |||
| 4aaS technologies could be used together with DNS64 + stateful NAT64, as | <dd>Work started at Broadband Forum (2021)</dd> | |||
| it is done in 464XLAT. In this case the CE router would treat the traffic | <dt>X:</dt> | |||
| between an IPv6-only client and IPv4-only server as normal IPv6 traffic, | <dd>Supported by the provisioning method</dd> | |||
| and the stateful NAT64 gateway would do a single translation, thus | </dl> | |||
| offloading this kind of traffic from the IPv4aaS technology. The cost o | </section> | |||
| f this solution would be the need for deploying also DNS64 + stateful NAT | <section anchor="multicast" numbered="true" toc="default"> | |||
| 64.</t> <t>However, this has not been implemented in clients or actual | <name>Support for Multicast</name> | |||
| deployments, so only 464XLAT always uses this optimization and the o | <t>The solutions covered in this document are all intended for | |||
| ther four solutions do not use it at all.</t> </section> <section titl | unicast traffic. <xref target="RFC8114" format="default"/> describes a m | |||
| e="Cellular Networks with 464XLAT"> <t>Figures from existing deployments | ethod for | |||
| (end of 2018), show that the typical traffic volumes in an IPv6-only cell | carrying encapsulated IPv4 multicast traffic over an IPv6 multicast | |||
| ular network, when 464XLAT technology is used together with DNS64, are: | network. This could be deployed in parallel to any of the operator's | |||
| <list style="symbols"> <t>75% of traffic is IPv6 end-to-end (no t | chosen IPv4aaS mechanism.</t> | |||
| ranslation)</t> <t>24% of traffic uses DNS64 + NAT64 (1 translation)</t | </section> | |||
| > <t>Less than 1% of traffic uses the CLAT in addition to NAT64 | </section> | |||
| (2 translations), due to an IPv4 socket and/or IPv4 literal.</t> </list | <section numbered="true" toc="default"> | |||
| ></t> <t>Without using DNS64, 25% of the traffic would undergo double | <name>Detailed Analysis</name> | |||
| translation.</t> <!-- Can we point to the source of this data | <section numbered="true" toc="default"> | |||
| ? Also, are there tangible benefits to only going through single translat | <name>Architectural Differences</name> | |||
| ion that can be described. --> <!-- GL: I have also asked for it | <section numbered="true" toc="default"> | |||
| , but no one took the resposibility to name the company, where they w | <name>Basic Comparison</name> | |||
| ere taken from. --> <!-- Jordi: This info was provided in v6ops by Ca | ||||
| meron (T-Mobile) Oct. 2018 it is factual data, what I'm not sure is | <t>The five IPv4aaS technologies can be classified | |||
| if he will agree to name the network in an RFC, or if it is good a | based on two aspects: | |||
| t all to cite networks in a document. I've asked him already a c | </t> | |||
| ouple of days ago, if he has actual data to share, so we can publi | <ul spacing="normal"> | |||
| sh 2018 and 2020 comparison. --> </section> <section title="Wireline N | <li>Technology used for service provider network traversal. | |||
| etworks with 464XLAT"> <t>Figures from several existing deployments (end | It can be single/double translation or encapsulation.</li> | |||
| of 2020), mainly with residential customers, show that the typical traff | <li>Presence or absence of per-flow state in the | |||
| ic volumes in an IPv6-only network, when 464XLAT is used with DNS64, are | operator network. | |||
| in the following ranges: <list style="symbols"> <t>65%-85% of t | </li> | |||
| raffic is IPv6 end-to-end (no translation)</t> <t>14%-34% of traffic us | </ul> | |||
| es DNS64 + NAT64 (1 translation)</t> <t>Less than 1-2% of traffic uses | ||||
| the CLAT in addition to NAT64 (2 translations), due to an IPv4 socket a | <table anchor="data_plane_table" align="center"> | |||
| nd/or IPv4 literal.</t> </list></t> <t>Without using DNS64, 16%-35 | <name>Basic Comparison among the Analyzed Technologies</name> | |||
| % of the traffic would undergo double translation.</t> | <thead> | |||
| <t>This data is consistent with non-public information of actual deployme | <tr> | |||
| nts, which can be easily explained. When a wireline ISP has mainly res | <th align="center"/> | |||
| idential customers, content providers and CDNs which are already IPv6 | <th align="center">464XLAT</th> | |||
| enabled (Google/Youtube, Netflix, Facebook, Akamai, etc) typically | <th align="center">DS-Lite</th> | |||
| account for the 65-85% of the traffic in the network, so when the subsc | <th align="center">lw4o6</th> | |||
| ribers are IPv6 enabled, about the same figures of traffic will become IPv6.</t> | <th align="center">MAP-E</th> | |||
| <!-- Jordi: This info comes from several of my customers, | <th align="center">MAP-T</th> | |||
| that's why is a "range" not an average, I think it makes more sen | </tr> | |||
| se to talk about ranges as it shows how other networks could be aroun | </thead> | |||
| d similar figures. However I've no permission to cite them, and agai | <tbody> | |||
| n, I don't think is good to name specific networks in an RFC? --> | <tr> | |||
| </section> </section> <section title="Load Sharing"> <t>If multip | <td align="left">Translation (T) or Encapsulation (E) </td> | |||
| le network-side devices are needed as PLAT/AFTR/BR for capacity, then there | <td align="center">T</td> | |||
| is a need for a load sharing mechanism. ECMP (Equal-Cost Multi-Path) load | <td align="center">E</td> | |||
| sharing can be used for all technologies, however stateful technologies wil | <td align="center">E</td> | |||
| l be impacted by changes in network topology or device failure.</t> <! | <td align="center">E</td> | |||
| --- I'm not sure the last part of that paragraph is true. I've added some | <td align="center">T</td> | |||
| text describing the problems below --> <!--- GL: It is also from Ole Troan. | </tr> | |||
| You can find it in one of the e-mails on the v6ops mailing list. --> <t> | <tr> | |||
| Technologies utilizing DNS64 can also distribute load across PLAT/AFTR devi | <td align="left"> Presence (+) of Per-Flow State in Operator Net | |||
| ces, evenly or unevenly, by using different prefixes. Different network spe | work</td> | |||
| cific prefixes can be distributed for subscribers in appropriately sized se | <td align="center">+</td> | |||
| gments (like split-horizon DNS, also called DNS views).</t> <t>Statele | <td align="center">+</td> | |||
| ss technologies, due to the lack of per-flow state, can make use of anycast | <td align="center"/> | |||
| routing for load sharing and resiliency across network-devices, both ingre | <td align="center"/> | |||
| ss and egress; flows can take asymmetric paths through the network, i.e., i | <td align="center"/> | |||
| n through one lwAFTR/BR and out via another.</t> <t>Mechanisms with ce | </tr> | |||
| ntralized NAPT44 state have a number of challenges specifically related to | </tbody> | |||
| scaling and resilience. As the total amount of client traffic exceeds the c | </table> | |||
| apacity of a single CGN instance, additional nodes are required to handle t | </section> | |||
| he load. As each CGN maintains a stateful table of active client sessions, | </section> | |||
| this table may need to be syncronized between CGN instances. This is necess | <section anchor="port_num_eff" numbered="true" toc="default"> | |||
| ary for two reasons: </t> <t><list style="symbols"> <t>To prevent | <name>Trade-Off between Port Number Efficiency and Stateless Operation</ | |||
| all active customer sessions being dropped in event of a CGN node failure. | name> | |||
| </t> <t>To ensure a matching state table entry for an active session in | <t>464XLAT and DS-Lite use stateful NAPT at the PLAT and AFTR devices, | |||
| the event of asymmetric routing through different egress and ingress CGN | respectively. This may cause scalability issues for the number of clients | |||
| nodes.</t> </list></t> </section> <section anchor="logging" title="Lo | or volume of traffic, but it does not impose a limitation | |||
| gging"> <t>In the case of 464XLAT and DS-Lite, the user of any given public | on the number of ports per user, as they can be allocated dynamically | |||
| IPv4 address and port combination will vary over time, therefore, log | on-demand and the allocation policy can be centrally managed and adjusted. | |||
| ging is necessary to meet data retention laws. Each entry in the PLAT/AFTR' | </t> | |||
| s generates a logging entry. As discussed in <xref target="port_num_eff"/> | <t>A+P-based mechanisms (lw4o6, MAP-E, and MAP-T) avoid using NAPT in th | |||
| , a client may open hundreds of sessions during common tasks such as web-br | e | |||
| owsing, each of which needs to be logged so the overall logging burden on t | service provider network. However, this means that the number of ports | |||
| he network operator is significant. In some countries, this level of loggin | provided to each user (and hence the effective IPv4 address-sharing ratio) | |||
| g is required to comply with data retention legislation.</t> <t>One co | must be pre-provisioned to the client.</t> | |||
| mmon optimization available to reduce the logging overhead is the allocatio | <t>Changing the allocated port ranges with A+P-based | |||
| n of a block of ports to a client for the duration of their session. This m | technologies requires more planning and is likely to involve | |||
| eans that a logging entry only needs to be made when the client's port bloc | reprovisioning both hosts and operator-side equipment. It should be | |||
| k is released, which dramatically reduces the logging overhead. This comes | noted that due to the per-customer binding table entry used | |||
| as the cost of less efficient public address sharing as clients need to be | by lw4o6, a single customer can be reprovisioned (e.g., if they | |||
| allocated a port block of a fixed size regardless of the actual number of p | request a full IPv4 address) without needing to change parameters for a | |||
| orts that they are using.</t> <t>Stateless technologies that pre-alloc | number of customers as in a MAP domain.</t> | |||
| ate the IPv4 addresses and ports only require that copies of the active MAP | <t>It is also worth noting that there is a direct relationship between | |||
| rules (for MAP-E and MAP-T), or binding-table (for lw4o6) are retained alo | the efficiency of public port allocations for customers and the correspond | |||
| ng with timestamp information of when they have been active. Support tools | ing | |||
| (e.g., those used to serve data retention requests) may need to be upd | logging overhead that may be necessary to meet data-retention | |||
| ated to be aware of the mechanism in use (e.g., implementing the MAP algori | requirements. This is considered in <xref target="logging" format="default | |||
| thm so that IPv4 information can be linked to the IPv6 prefix delegated to | "/>.</t> | |||
| a client). As stateless technologies do not have a centralized stateful ele | ||||
| ment which customer traffic needs to pass through, so if data retention la | <t>Determining the optimal number of ports for a fixed port set is not | |||
| ws mandate per-session logging, there is no simple way of meeting this requ | an easy task and may also be impacted by local regulatory law (and in | |||
| irement with a stateless technology alone. Thus, a centralized NAPT44 model | the Belgian case, it is not a law but more a memorandum of | |||
| may be the only way to meet this requirement.</t> <t>Dete | understanding or best current practice), which may define a maximum | |||
| rministic CGN <xref target="RFC7422"/> was proposed as a solution to reduce | number of users per IP address and consequently a minimum number of | |||
| the resource consumption of logging.</t> <t>Please also refer to Section | ports per user.</t> | |||
| 4 of <xref target="RFC6888"/> for more information about requirements fo | ||||
| r logging Carrier-Grade NAT gateways.</t> </section> <sect | <t>On the one hand, the "lack of ports" situation may cause serious | |||
| ion anchor="optimization" title="Optimization for IPv4-only devices/applications | problems in the operation of certain applications. For example, Miyakawa | |||
| "> <t>When IPv4-only devices or applications are behind a CE connected with | has demonstrated the consequences of the session number limitation due | |||
| IPv6-only and IPv4aaS, the IPv4-only traffic flows will necessarily, be | to port number shortage in the example of Google Maps | |||
| encapsulated/decapsulated (in the case of DS-Lite, lw4o6 and MAP-E) a | <xref target="MIY2010" format="default"/>. When the limit was 15, several | |||
| nd will reach the IPv4 address of the destination, even if that service su | blocks of the | |||
| pports dual-stack. This means that the traffic flow will cross through the | map were missing, and the map was unusable. This study also provided | |||
| AFTR, lwAFTR or BR, depending on the specific transition mechanism being | several examples for the session numbers of different applications | |||
| used.</t> <t>Even if those services are directly connected to the operato | (the highest one was Apple's iTunes at 230-270 ports).</t> | |||
| r network (for example, CDNs, caches), or located internally (such as VoI | ||||
| P, etc.), it is not possible to avoid that overhead.</t> <t>Howe | <t>The port number consumption of different applications is highly | |||
| ver, in the case of those mechanisms that use a NAT46 function, in the | varying. In the case of web browsing, it depends on several | |||
| CE (464XLAT and MAP-T), it is possible to take advantage of optimization fu | factors, including the choice of the web page, the web browser, and | |||
| nctionalities, such as the ones described in <xref target="I-D.ietf-v6ops-46 | sometimes the operating system <xref target="REP2014" | |||
| 4xlat-optimization"/>.</t> <t>Using those optimizations, because the NAT46 | format="default"/>. For example, under certain conditions, 120-160 | |||
| has already translated the IPv4-only flow to IPv6, and the services are | ports were used (URL: sohu.com, browser: Firefox under Ubuntu Linux), | |||
| dual-stack, they can be reached without the need to translate them ba | and in some other cases, only 3-12 ports were used (URL: twitter.com, | |||
| ck to IPv4.</t> </section> </section> <section anchor="performance" title= | browser: Iceweasel under Debian Linux).</t> | |||
| "Performance Comparison"> <t>We plan to compare the performances of the most | <t>There may be several users behind a CE router, especially in the | |||
| prominent free software implementations of the five IPv6 transition tech | broadband case (e.g., Internet is used by different members of a family | |||
| nologies using the methodology described in "Benchmarking Methodology for I | simultaneously), so sufficient ports must be allocated to avoid | |||
| Pv6 Transition Technologies" <xref target="RFC8219"/>.</t> | impacting user experience.</t> | |||
| <t>The Dual DUT Setup of <xref target="RFC8219"/> makes it possible to use the e | <t>In general, assigning too few source port numbers to an end user may | |||
| xisting "Benchmarking Methodology for Network Interconnect Devices" | result in unexpected and hard-to-debug consequences; therefore, if the | |||
| <xref target="RFC2544"/> compliant measurement devices, however, this sol | number of ports per end user is fixed, then we recommend assigning a | |||
| ution has two kinds of limitations: <list style="symbols"> <t>Dual D | conservatively large number of ports. For example, the developers of Jo | |||
| UT setup has the drawback that the performances of the CE and of th | ol used | |||
| e ISP side device (e.g. the CLAT and the PLAT of 464XLAT) are measu | 2048 ports per user in their example for MAP-T <xref target="JOOL-MAPT" | |||
| red together. In order to measure the performance of only one of them, | format="default"/>.</t> | |||
| we need to ensure that the desired one is the bottleneck.</t> | <t>However, assigning too many ports per CE router | |||
| <t>Measurements procedures for PDV and IPDV measurements are missing | will result in waste of public IPv4 addresses, which are scarce and | |||
| from the legacy devices, and the old measurement procedure for L | expensive resources. Clearly, this is a big advantage in the case of 464XL | |||
| atency has been redefined in <xref target="RFC8219"/>.</t> </list> </t> | AT | |||
| <t>The Single DUT Setup of <xref target="RFC8219"/> makes it possible | where they are dynamically managed so that the number of IPv4 addresses | |||
| to benchmark the selected device separately, but it either requires a special | for the sharing pool is smaller while the availability of ports per user | |||
| Tester or some trick is need, if we want to use legacy Testers. An examp | doesn't need to be pre-defined and is not a limitation.</t> | |||
| le for the latter is our stateless NAT64 measurements testing Througput and Fr | <t>There is a direct trade-off between the optimization of client | |||
| ame Loss Rate using a legacy <xref target="RFC5180"/> compliant commercial tes | port allocations and the associated logging overhead. | |||
| ter <xref target="LEN2020a"/></t> <t>Siitperf, an <xref target="RF | <xref target="logging" format="default"/> discusses this in more depth.</t | |||
| C8219"/> compliant DPDK-based software Tester for benchmarking stateless NAT64 | > | |||
| gateways has been developed recently and it is available from GitHub | ||||
| <xref target="SIITperf"/> as free software and documented in <xref target="LE | <t> We note that common NAT44 implementations utilizing Netfilter at the | |||
| N2021"/>. Originally, it literally followed the test frame format of <xref ta | CE router multiplex active sessions using a 3-tuple (source address, | |||
| rget="RFC2544"/> including "hard-wired" source and destination port numbers | destination address, and destination port). This means that external | |||
| , and then it has been complemented with the random port feature required by | source ports can be reused for unique internal source and destination | |||
| <xref target="RFC4814"/>. The new version is documented in <xref target="L | addresses and port sessions. It is also noted that Netfilter cannot | |||
| EN2020b"/></t> <t>Further DPDK-based, <xref target="RFC8219"/> complian | currently make use of multiple source port ranges (i.e., several blocks | |||
| t software testers are being developed at the Budapest University of Techno | of ports distributed across the total port space as is common in MAP | |||
| logy and Economics as student projects. They are planned to be released a | deployments). This may influence the design when using stateless | |||
| s free software, too.</t> <t>Information about the benchma | technologies.</t> | |||
| rking tools, measurements and results will be made available in <xref targe | <t>Stateful technologies, 464XLAT, DS-Lite, and NAT444 can | |||
| t="I-D.lencse-v6ops-transition-benchmarking"/>. </t> </section> <se | therefore be much more efficient in terms of port allocation and thus | |||
| ction anchor="Acknowledgements" title="Acknowledgements"> <t>The authors wou | public IP address saving. The price is the stateful operation in the | |||
| ld like to thank Ole Troan, Warren Kumari, Dan Romascanu, Brian Trammell, | service provider network, which allegedly does not scale up well. | |||
| Joseph Salowey, Roman Danyliw, Erik Kline, Lars Eggert, Zaheduzzaman Sar | It should be noted that, in many cases, all those factors may depend on | |||
| ker, Robert Wilton, Eric Vyncke and Martin Duke for their review of this | how it is actually implemented.</t> | |||
| draft and acknowledge the inputs of Mark Andrews, Edwin Cordeiro, Fred Bak | <t>Measurements have been started to examine the scalability of a few | |||
| er, Alexandre Petrescu, Cameron Byrne, Tore Anderson, Mikael Abrahamsson, G | stateful solutions in two areas: | |||
| ert Doering, Satoru Matsushima, Yutianpeng (Tim), Mohamed Boucadair, Nick | </t> | |||
| Hilliard, Joel Jaeggli, Kristian McColm, Nick Hilliard, Tom Petch, Yanni | <ul spacing="normal"> | |||
| s Nikolopoulos, Havard Eidnes, Yann-Ju Chu, Barbara Stark, Vasilenko Eduard | <li>How their performance scales up with the number of CPU cores</li> | |||
| , Chongfeng Xie, Henri Alves de Godoy, Magnus Westerlund, Michael Tuexen, | <li>To what extent their performance degrades with the number of | |||
| Philipp S. Tiesel, Brian E Carpenter and Joe Touch.</t> </section> <!-- Poss | concurrent connections</li> | |||
| ibly a 'Contributors' section ... --> <section anchor="IANA" title="IANA Consi | </ul> | |||
| derations"> <t>This document does not make any request to IANA.</t> </sect | <t> | |||
| ion> <section anchor="Security" title="Security Considerations"> <t>As | The details of the measurements and their results are available from | |||
| discussed in section 4.7, the different technologies have varying logging | <xref target="I-D.lencse-v6ops-transition-scalability" format=" | |||
| capabilities and limitations. Care should be taken when storing, transmit | default"/>. | |||
| ting, and providing access to log entries that may be considered personal | </t> | |||
| ly identifiable information. However, it should be noticed that those is | ||||
| sues are not specific to the IPv4aaS IPv6 transition technologies, but in g | <t>We note that some CGN-type solutions can allocate ports dynamically | |||
| eneral to logging functionalities.</t> <t>For all five technologies, the | "on the fly". Depending on configuration, this can result in the same | |||
| CE device typically contains a DNS proxy. However, the user may change DNS s | customer being allocated ports from different source addresses. This can | |||
| ettings. If it happens and lw4o6, MAP-E and MAP-T are used with significantl | cause operational issues for protocols and applications that expect | |||
| y restricted port set, which is required for an efficient public IPv4 addres | multiple flows to be sourced from the same address (e.g., ECMP hashing, | |||
| s sharing, the entropy of the source ports is significantly lowered (e.g. fr | STUN, gaming, and content delivery networks). However, it should be noted | |||
| om 16 bits to 10 bits, when 1024 port numbers are assigned to each subscribe | that this is the same problem when a network has a NAT44 with multiple | |||
| r) and thus these technologies are theoretically less resilient against cach | public IPv4 addresses, or even when applications in a dual-stack case, | |||
| e poisoning, see <xref target="RFC5452"/>. However, an efficient cache poiso | behave wrongly if Happy Eyeballs is flapping the flow address between | |||
| ning attack requires that the subscriber operates an own caching DNS server | IPv4 and IPv6.</t> | |||
| and the attack is performed in the service provider network. Thus, we consid | <t>The consequences of IPv4 address sharing <xref target="RFC6269" forma | |||
| er the chance of the successful exploitation of this vulnerability as low.</ | t="default"/> may | |||
| t> <t>IPv4aaS technologies based on encapsulation have not DNSSEC implicatio | impact all five technologies. However, when ports are allocated | |||
| ns. However, those based on translation may have implications as discussed i | statically, more customers may get ports from the same public IPv4 | |||
| n Section 4.1 of <xref target="RFC8683"/>.</t> <t>An in-depth security | address, which may result in negative consequences with higher | |||
| analysis of all five IPv6 transition technologies and their most prominent | probability. For example, many applications and service providers (Sony | |||
| free software implementations according to the methodology defined in <xref | PlayStation Network, OpenDNS, etc.) can permanently block IPv4 ranges | |||
| target="LEN2018"/> is planned.</t> <t>As the first step, an initial | if they detect that they are used for address sharing.</t> | |||
| security analysis of 464XLAT was done in <xref target="Azz2021"/>.</t> | <t>Both cases are, again, implementation-dependent.</t> | |||
| <t>The implementers of any of the five IPv4aaS solutions should | <t>We note that although it is not of typical use, one can do | |||
| consult the Security Considerations of the respective RFCs documenting them. | deterministic, stateful NAT and reserve a fixed set of ports for each | |||
| </t> </section> </middle> <!-- *****BACK MATTER ***** --> <back> <!-- R | customer as well.</t> | |||
| eferences split into informative and normative --> <!-- There are 2 ways to in | </section> | |||
| sert reference entries from the citation libraries: 1. define an ENTITY at th | <section anchor="pub_serv" numbered="true" toc="default"> | |||
| e top, and use "ampersand character"RFC2629; here (as shown) 2. simply use a | <name>Support for Public Server Operation</name> | |||
| PI "less than character"?rfc include="reference.RFC.2119.xml"?> here (for | <t>Mechanisms that rely on operator-side per-flow state do not, by | |||
| I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml") Both | themselves, offer a way for customers to present services on publicly | |||
| are cited textually in the same manner: by using xref elements. If you use t | accessible transport-layer ports.</t> | |||
| he PI option, xml2rfc will, by default, try to find included files in the same | <t>The Port Control Protocol (PCP) <xref target="RFC6887" format="defaul | |||
| directory as the including file. You can also define the XML_LIBRARY environme | t"/> provides a | |||
| nt variable with a value containing a set of directories to search. These ca | mechanism for a client to request an external public port from a CGN | |||
| n be either in the local filing system or remote ones accessed by http (http: | device. For server operation, it is required with 464XLAT/NAT64, and | |||
| //domain/dir/... ).--> <references title="Normative References"> <!--?rfc i | it is supported in some DS-Lite AFTR implementations.</t> | |||
| nclude="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?--> | <t>A+P-based mechanisms distribute a public IPv4 address and | |||
| &RFC2473; &RFC2544; &RFC2663; &RFC4814; &RFC5180; &RFC5452;<!--&RFC | restricted range of transport-layer ports to the client. In this case, | |||
| 6050;--> &RFC6052; &RFC6146; &RFC6147; &RFC6180; &RFC6269; | it is possible for the user to configure their device to offer a | |||
| &RFC6333; &RFC6346; &RFC6519; &RFC6877; &RFC6887; &RFC6888; & | publicly accessible server on one of their allocated ports. It should | |||
| RFC6889; &RFC7050; &RFC7269; &RFC7341; &RFC7393; & | be noted that operators commonly do not assign the well-known ports to | |||
| RFC7422; &RFC7757;<!--&RFC7857;--> &RFC7915; &RFC7596; &RFC7597; | users (unless they are allocating a full IPv4 address), so the user | |||
| &RFC7599; &RFC7605; &RFC7950; &RFC8114; &RFC8215; &RFC8219; | will need to run the service on an allocated port or configure port | |||
| &RFC8415; &RFC8512; &RFC8513; &RFC8658; &RFC8676; &RFC8683; | translation.</t> | |||
| </references> <references title="Informative References"> <!-- Here we | <t>Lw4o6, MAP-E, and MAP-T may be configured to allocated clients with | |||
| use entities that we defined at the beginning. --> <?rfc include='reference. | a full IPv4 address, allowing exclusive use of all ports and | |||
| I-D.ietf-v6ops-464xlat-optimization'?> <?rfc include='reference.I-D.ietf-tsvw | non-port-based transport-layer protocols. Thus, they may also be used to s | |||
| g-natsupp'?> <?rfc include='reference.I-D.lencse-v6ops-transition-scalability | upport | |||
| '?> <?rfc include='reference.I-D.lencse-v6ops-transition-benchmarking'?> | server/services operation on their default ports. However, when public | |||
| <reference anchor="Azz2021" target="https://www.infocommunications.hu/2021_4_2" | IPv4 addresses are assigned to the CE router without address sharing, | |||
| > <front> <title>Identification of the Possible Security Issues of t | there is obviously no advantage in terms of IPv4 public addresses saving. | |||
| he 464XLAT IPv6 Transition Technology </title> <author | </t> | |||
| initials="A." surname="Al-Azzawi"> <organization></organization> | <t>It is also possible to configure specific ports mapping in | |||
| </author> <author initials="G." surname="Lencse"> <organizatio | 464XLAT/NAT64 using EAMT <xref target="RFC7757" format="default"/>, which | |||
| n></organization> </author> <date month="Dec" year="2021"/> < | means that only | |||
| /front> <seriesInfo name="" value="Infocommunications Journal, vol. 13, no. | those ports are "lost" from the pool of addresses, so there is a higher | |||
| 4, pp. 10-18"/> <seriesInfo name="" value="DOI: 10.36244/ICJ.2021.4.2"/> | maximization of the total usage of IPv4 port resources.</t> | |||
| </reference> <reference anchor="LEN2018" target="http://www.hit.bme | ||||
| .hu/~lencse/publications/ECS-2018-Methodology-revised.pdf"> <front> | </section> | |||
| <title>Methodology for the identification of potential security issues of | <section anchor="supp_imp" numbered="true" toc="default"> | |||
| different IPv6 transition technologies: Threat analysis of DNS64 and sta | <name>Support and Implementations</name> | |||
| teful NAT64 </title> <author initials="G." surname="Lencse"> | <section numbered="true" toc="default"> | |||
| <organization></organization> </author> <author initials="Y." | <name>Vendor Support</name> | |||
| surname="Kadobayashi"> <organization></organization> </author> | ||||
| <date day="1" month="Aug" year="2018"/> </front> <seriesInfo nam | <t>In general, router vendors support AFTR, MAP-E BR, MAP-T | |||
| e="" value="Computers & Security (Elsevier), vol. 77, no. 1, pp. 397-4 | BR, and NAT64. Vendors of load balancers and firewalls usually | |||
| 11"/> <seriesInfo name="" value="DOI: 10.1016/j.cose.2018.04.012"/> </re | support NAT64 as well while not all of them have support for | |||
| ference> <reference anchor="LEN2019" target="http://www.hit.bme.hu/~lencs | the other protocols.</t> | |||
| e/publications/e102-b_10_2021.pdf"> <front> <title>Comprehensive Sur | <t>A 464XLAT client (CLAT) is implemented in Windows 10, Linux | |||
| vey of IPv6 Transition Technologies: A Subjective Classification for S | (including Android), Windows Mobile, Chrome OS, and iOS, but it is | |||
| ecurity Analysis </title> <author initials="G." surname="Lencse"> | not available in macOS 12.3.1.</t> | |||
| <organization></organization> </author> <author initials= | <t>The remaining four solutions are commonly deployed as functions | |||
| "Y." surname="Kadobayashi"> <organization></organization> </auth | in the CE device only; however, the vendors' support is poor in | |||
| or> <date day="1" month="Oct" year="2019" /> </front> <seriesIn | general (except for DS-Lite).</t> | |||
| fo name="" value="IEICE Transactions on Communications, vol. E102-B, no.10, pp. | ||||
| 2021-2035."/> <seriesInfo name="" value="DOI: 10.1587/transcom.2018EBR0002" | <t> OpenWRT is a Linux-based open-source OS designed for CE devices. It | |||
| /> </reference> <reference anchor="LEN2020a" target="https:// | offers a number of different 'opkg' packages as part of the distribution: | |||
| link.springer.com/article/10.1007/s11235-020-00681-x"> <front> <titl | </t> | |||
| e>Benchmarking Stateless NAT64 Implementations with a Standard Tester </t | <ul spacing="normal"> | |||
| itle> <author initials="G." surname="Lencse"> <organization></or | <li>'464xlat' enables support for 464XLAT CLAT functionality.</li> | |||
| ganization> </author> <date day="15" month="Jun | <li>'ds-lite' enables support for DSLite B4 functionality.</li> | |||
| " year="2020" /> </front> <seriesInfo name="" value="Telecommunic | <li>'map' enables support for MAP-E and lw4o6 CE | |||
| ation Systems, vol. 75, pp. 245-257"/> <seriesInfo name="" value="DOI: 10.1007 | functionality.</li> | |||
| /s11235-020-00681-x"/> </reference> <reference anchor="LEN2020b" target=" | <li>'map-t' enables support for MAP-T CE functionality.</li> | |||
| http://ijates.org/index.php/ijates/article/view/291"> <front> <title | </ul> | |||
| >Adding RFC 4814 Random Port Feature to Siitperf: Design, Implementation and | <t>At the time of publication, some free open-source implementations | |||
| Performance Estimation </title> <author initials="G." surna | exist for the operator-side functionality: | |||
| me="Lencse"> <organization></organization> </author> | </t> | |||
| <date day="" month="" year="2020" /> </front> <ser | <ul spacing="normal"> | |||
| iesInfo name="" value="International Journal of Advances in Telecommunications, | <li>Jool <xref target="JOOL" format="default"/> (CLAT, NAT64, EAMT, | |||
| Electrotechnics, Signals and Systems, vol 9, no 3, pp. 18-26"/> <series | MAP-T CE, MAP-T BR)</li> | |||
| Info name="" value="DOI: 10.11601/ijates.v9i3.291"/> </reference> < | <li>VPP/fd.io <xref target="VPP" format="default"/> (MAP-BR, lwAFTR, | |||
| reference anchor="LEN2021" target="https://www.jstage.jst.go.jp/article/tran | CGN, CLAT, NAT64)</li> | |||
| scom/E104.B/2/E104.B_2019EBN0010/_article"> <front> <title>Design an | <li>Snabb <xref target="SNABB" format="default"/> (lwAFTR)</li> | |||
| d Implementation of a Software Tester for Benchmarking Stateless NAT64 Gateways | <li>AFTR <xref target="AFTR" format="default"/> (DSLite AFTR)</li> | |||
| </title> <author initials="G." surname="Lencse"> <organiz | </ul> | |||
| ation></organization> </author> <date day="" mont | </section> | |||
| h="" year="2021" /> </front> <seriesInfo name="" value="IEICE Tra | <section anchor="cell_broad_supp" numbered="true" toc="default"> | |||
| nsactions on Communications"/> <seriesInfo name="" value="DOI: 10.1587/transco | <name>Support in Cellular and Broadband Networks</name> | |||
| m.2019EBN0010"/> </reference> <reference anchor="MEX2022" target="h | <t>Several cellular networks use 464XLAT, whereas there are no | |||
| ttps://www.jool.mx/en/run-mapt.html"> <front> <title>Jool: Siit and | deployments of the four other technologies in cellular networks, as | |||
| NAT64</title> <author initials="" surname="Jool Developers"> <or | they are neither standardized nor implemented in UE devices.</t> | |||
| ganization>NIC Mexico</organization> </author> < | ||||
| date day="" month="" year="2022" /> </front> <seriesInfo name="" | <t>In broadband networks, there are some deployments of 464XLAT, MAP-E, | |||
| value="Documentation of Jool MAP-T implementation"/> </reference> < | and MAP-T. | |||
| reference anchor="MIY2010" target="https://www.jstage.jst.go.jp/article/tran | Lw4o6 and DS-Lite have more deployments, with DS-Lite | |||
| scom/E93.B/5/E93.B_5_1078/_article"> <front> <title>IPv4 to IPv6 tra | being the most common, but deployments of lw4o6 have been rapidly | |||
| nsformation schemes </title> <author initials="S." surname="Miyaka | increasing in the last few years. | |||
| wa"> <organization></organization> </author> <date month= | </t> | |||
| "May" year="2010"/> </front> <seriesInfo name="" value="IEICE Trans. C | <t>Please refer to Tables 2 and 3 of <xref target="LEN2019" format="de | |||
| ommun., vol.E93-B, no.5, pp. 1078-1084"/> <seriesInfo name="" value="D | fault"/> | |||
| OI:10.1587/transcom.E93.B.10"/> </reference> <reference anchor="REP2014" t | for a limited set of deployment information.</t> | |||
| arget="http://www.hit.bme.hu/~lencse/publications/TSP-2014-PC.pdf"> <front> | </section> | |||
| <title>Port number consumption of the NAT64 IPv6 transition technology | <section anchor="code_size" numbered="true" toc="default"> | |||
| </title> <author initials="S." surname="Repas"> <organizat | <name>Implementation Code Sizes</name> | |||
| ion></organization> </author> <author initials="T." surname="Hajas | ||||
| "> <organization></organization> </author> <author initia | <t>As a hint to the relative complexity of the mechanisms, the | |||
| ls="G." surname="Lencse"> <organization></organization> </author | code sizes reported from the OpenWRT | |||
| > <date month="July" year="2014"/> </front> <seriesInfo name="" | implementations of each technology are 17 kB, 35 kB, 15 kB, 35 kB, and | |||
| value="Proc. 37th Internat. Conf. on Telecommunications and Signal Proces | 48 kB for 464XLAT, lw4o6, | |||
| sing (TSP 2014), Berlin, Germany"/> <seriesInfo name="" value="DOI: 10.1109 | DS-Lite, MAP-E, and MAP-T, respectively | |||
| /TSP.2015.7296411"/> </reference> <reference anchor="SIITperf" targ | (see <eref target="https://openwrt.org/packages/start" brackets="angle"/ | |||
| et="https://github.com/lencsegabor/siitperf"> <front> <title>Siitper | >).</t> | |||
| f: an RFC 8219 compliant SIIT (stateless NAT64) tester</title> | ||||
| <author initials="G." surname="Lencse"> <organization></organizati | <t>We note that the support for all five technologies requires a much | |||
| on> </author> <date month="November" year="2019"/> </front> | smaller code size than the total sum of the above quantities, because | |||
| </reference> <reference anchor="TR-069" target="https://www.broadband-forum.or | they contain a lot of common functions (e.g., data plane is shared among | |||
| g/technical/download/TR-069.pdf"> <front> <title>TR-069: CPE WAN Man | several of them).</t> | |||
| agement Protocol</title> <author initials="" surname="BroadBand Forum"> | </section> | |||
| <organization></organization> </author> <date month="June" | </section> | |||
| year="2020"/> </front> </reference> <reference anchor="jool" target=" | <section numbered="true" toc="default"> | |||
| http://www.jool.mx"> <front> <title>Open Source SIIT and NAT64 for L | <name>Typical Deployment and Traffic Volume Considerations</name> | |||
| inux</title> <author> <organization>NIC.MX</organization> | <section numbered="true" toc="default"> | |||
| </author> <date year="2022"/> </front> </reference> <referenc | <name>Deployment Possibilities</name> | |||
| e anchor="vpp" target="https://gerrit.fd.io/r/#/admin/projects/"> <front> | <t>Theoretically, all five IPv4aaS technologies could be | |||
| <title>VPP Implementations of IPv6-only with IPv4aaS</title> <autho | used together with DNS64 + stateful NAT64, as is done in 464XLAT. | |||
| r> </author> <date year="2022"/> </front> </reference> < | In this case, the CE router would treat the traffic between an | |||
| reference anchor="snabb" target="https://github.com/Igalia/snabb"> <front> | IPv6-only client and IPv4-only server as normal IPv6 traffic, and | |||
| <title>Snabb implementation of lwAFTR</title> <author> <o | the stateful NAT64 gateway would do a single translation, thus | |||
| rganization>Igalia</organization> </author> <date year="2022"/> | offloading this kind of traffic from the IPv4aaS technology. The | |||
| </front> </reference> <reference anchor="aftr" target="https://www.isc. | cost of this solution would be the need to also deploy DNS64 + | |||
| org/downloads/"> <front> <title>ISC implementation of AFTR</title> | stateful NAT64.</t> | |||
| <author> <organization>ISC</organization> </author> | <t>However, this has not been implemented in clients or actual | |||
| <date year="2022"/> </front> </reference> </references> <secti | deployments, so only 464XLAT always uses this optimization, and the | |||
| on anchor="change_log" title="Change Log"> <section title="01 - 02"> <t> | other four solutions do not use it at all.</t> | |||
| <list style="symbols"> <t>Ian Farrer has joined us as an author.</t | </section> | |||
| > <t>Restructuring: the description of the five IPv4aaS technologie | <section numbered="true" toc="default"> | |||
| s was moved to a separate section.</t> <t>More details and figur | <name>Cellular Networks with 464XLAT</name> | |||
| es were added to the description of the five IPv4aaS technologies.</t> | ||||
| <t>Section titled "High-level Architectures and their Consequences" has b | <t>Figures from existing deployments (through the end of 2018) show | |||
| een completely rewritten.</t> <t>Several additions/clarificatio | the typical traffic volumes in an IPv6-only cellular network when | |||
| n throughout Section titled "Detailed Analysis".</t> <t>Sectio | 464XLAT technology is used together with DNS64: | |||
| n titled "Performance Analysis" was dropped due to lack of results yet.</t> | </t> | |||
| <t>Word based text ported to XML.</t> <t>Further text cleanups, added | <ul spacing="normal"> | |||
| text on state sync and load balancing. Additional comments inline that shoul | <li>75% of traffic is IPv6 end-to-end (no translation).</li> | |||
| d be considered for future updates.</t> </list> </t> </section> | <li>24% of traffic uses DNS64 + NAT64 (one translation).</li> | |||
| <section title="02 - 03"> <t> <list style="symbols"> <t>The sugges | <li>Less than 1% of traffic uses the CLAT in addition to NAT64 | |||
| tions of Mohamed Boucadair are incorporated.</t> <t>New considerations re | (two translations), due to an IPv4 socket and/or IPv4 literal.</li> | |||
| garding possible optimizations.</t> </list> </t> </section> | </ul> | |||
| <section title="03 - 04"> <t> <list style="symbols"> <t>Se | <t>Without using DNS64, 25% of the traffic would undergo double | |||
| ction titled "Performance Analysis" was added. It mentions our new b | translation.</t> | |||
| enchmarking tool, siitperf, and highlights our plans.</t> <t>Some referen | ||||
| ces were updated or added.</t> </list> </t> </section> <section | </section> | |||
| title="04 - 05"> <t> <list style="symbols"> <t>Some references | <section numbered="true" toc="default"> | |||
| were updated or added.</t> </list> </t> </section> <section | <name>Wireline Networks with 464XLAT</name> | |||
| title="05 - 06"> <t> <list style="symbols"> <t>Some references | <t> Figures from several existing deployments (through the end of | |||
| were updated or added.</t> </list> </t> </section> < | 2020), mainly with residential customers, show the ranges of typical | |||
| section title="06 - 00-WG Item"> <t> <list style="symbols"> <t> | traffic volumes in an IPv6-only network, when 464XLAT is used with | |||
| Stats dated and added for Broadband deployments.</t> <t>Other clarificati | DNS64: | |||
| ons and references.</t> <t>New section: IPv4 Pool Size.</t> <t>Typ | </t> | |||
| os.</t> </list> </t> </section> <section title="00 - 01"> <t | <ul spacing="normal"> | |||
| >To facilitate WGLC, the unfinished parts were moved to two new drafts: | <li>65%-85% of traffic is IPv6 end-to-end (no translation).</li> | |||
| <list style="symbols"> <t>New I-D for scale up measurements. (Inclu | <li>14%-34% of traffic uses DNS64 + NAT64 (one translation).</li> | |||
| ding the results of iptables.)</t> <t>New I-D for benchmarking measuremen | <li>Less than 1-2% of traffic uses the CLAT in addition to NAT64 | |||
| ts. (Only a stub.)</t> </list> </t> </section> <section title="0 | (two translations), due to an IPv4 socket and/or IPv4 literal.</li> | |||
| 1 - 02"> <t>Update on the basis of the AD review.</t> <t>Update of th | </ul> | |||
| e references.</t> </section> <section title="02 - 03"> <t | <t>Without using DNS64, 16%-35% of the traffic would undergo double | |||
| >Nits and changes from IESG review.</t> <t>Updated wrong reference to P | translation.</t> | |||
| CP.</t> </section> <section title="03 - 04"> <t>Update to address th | ||||
| e comments of further reviews.</t> <t>Updated Acknowledgements.</t> </s | <t> | |||
| ection> </section> </back></rfc> | 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="default"> | ||||
| <name>Load Sharing</name> | ||||
| <t>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>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>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>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"> | ||||
| <li>To prevent all active customer sessions from being dropped in the | ||||
| event | ||||
| of a CGN node failure.</li> | ||||
| <li>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="default"> | ||||
| <name>Logging</name> | ||||
| <t>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"/>, 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 compl | ||||
| y | ||||
| with data-retention legislation.</t> | ||||
| <t>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>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>Deterministic CGN <xref target="RFC7422" format="default"/> was propo | ||||
| sed as a solution to | ||||
| reduce the resource consumption of logging.</t> | ||||
| <t>Please also refer to <xref target="RFC6888" sectionFormat="of" sectio | ||||
| n="4"/> for more information about | ||||
| requirements for logging CGN gateways.</t> | ||||
| </section> | ||||
| <section anchor="optimization" numbered="true" toc="default"> | ||||
| <name>Optimization for IPv4-Only Devices and Applications</name> | ||||
| <t>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>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>However, in the case of those mechanisms that use a NAT46 function, i | ||||
| n 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"/>. | ||||
| </t> | ||||
| <t> | ||||
| 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="default"> | ||||
| <name>Performance Comparison</name> | ||||
| <t>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"/>.</t> | ||||
| <t>The dual Device Under Test (DUT) setup of <xref target="RFC8219" format | ||||
| ="default"/> makes it possible to use the existing measurement devices compliant | ||||
| with | ||||
| "Benchmarking Methodology for Network Interconnect Devices" | ||||
| <xref target="RFC2544" format="default"/>; however, | ||||
| this solution has two kinds of limitations: | ||||
| </t> | ||||
| <ul spacing="normal"> | ||||
| <li>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>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"/>.</li> | ||||
| </ul> | ||||
| <t>The single DUT setup of <xref target="RFC8219" format="default"/> | ||||
| 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"/> that is | ||||
| compliant with <xref target="RFC5180" format="default"/>.</t> | ||||
| <t>Siitperf, a DPDK-based | ||||
| software Tester that is compliant with <xref target="RFC8219" format="de | ||||
| fault"/> and used for benchmarking stateless NAT64 gateways, has been | ||||
| developed recently. Siitperf is available from GitHub | ||||
| <xref target="SIITPERF" format="default"/> as free software and is docum | ||||
| ented in | ||||
| <xref target="LEN2021" format="default"/>. Originally, it literally foll | ||||
| owed the test | ||||
| frame format of <xref target="RFC2544" format="default"/>, including "ha | ||||
| rd-wired" source and | ||||
| destination port numbers, and then it was complemented with the | ||||
| pseudorandom port feature required by <xref target="RFC4814" format="def | ||||
| ault"/>. The new | ||||
| version is documented in <xref target="LEN2020b" format="default"/>.</t> | ||||
| <t>Further DPDK-based software Testers that are compliant with <xref targe | ||||
| t="RFC8219" format="default"/> | ||||
| 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>Information about the benchmarking tools, measurements, and results wil | ||||
| l | ||||
| be made available in <xref target="I-D.lencse-v6ops-transition-benchmark | ||||
| ing" format="default"/>. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <t>This document has no IANA actions.</t> | ||||
| </section> | ||||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <name>Security Considerations</name> | ||||
| <t>As discussed in <xref target="logging"></xref>, the different technolog | ||||
| ies 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 technologie | ||||
| s | ||||
| but apply to logging functionalities in general.</t> | ||||
| <t>For all five technologies, the CE device typically contains a DNS pro | ||||
| xy. | ||||
| 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"/>). However, an efficient cache poi | ||||
| soning 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>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"/>.</t> | ||||
| <t>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"/> is planned | ||||
| .</t> | ||||
| <t>As the first step, an initial security analysis of 464XLAT was | ||||
| done in <xref target="AZZ2021" format="default"/>.</t> | ||||
| <t>The implementers of any of the five IPv4aaS solutions should consult th | ||||
| e | ||||
| Security Considerations of the respective RFCs documenting them.</t> | ||||
| </section> | ||||
| </middle> | ||||
| <back> | ||||
| <displayreference target="I-D.ietf-v6ops-464xlat-optimization" to="OP-464XLAT/MA | ||||
| P-T"/> | ||||
| <displayreference target="I-D.ietf-tsvwg-natsupp" to="NAT-SUPP"/> | ||||
| <displayreference target="I-D.lencse-v6ops-transition-scalability" to="IPv4aaS-S | ||||
| CALE-TECH"/> | ||||
| <displayreference target="I-D.lencse-v6ops-transition-benchmarking" to="IPv4aaS- | ||||
| BENCHMARK-TECH"/> | ||||
| <references> | ||||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.24 | ||||
| 73.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 544.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 663.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
| 814.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 180.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 452.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.60 | ||||
| 52.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 146.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 147.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 180.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 269.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 333.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 346.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 519.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 877.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 887.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 888.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 889.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 050.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 269.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 341.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 393.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 422.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 757.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.79 | ||||
| 15.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 596.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 597.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 599.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 605.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 950.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 114.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 215.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 219.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 415.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 512.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 513.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 658.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 676.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 683.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <!-- [I-D.ietf-v6ops-464xlat-optimization] IESG state Expired --> | ||||
| <reference anchor="I-D.ietf-v6ops-464xlat-optimization"> | ||||
| <front> | ||||
| <title>464XLAT/MAT-T Optimization</title> | ||||
| <author initials="J." surname="Palet Martinez"> | ||||
| <organization>The IPv6 Company</organization> | ||||
| </author> | ||||
| <author initials="A" surname="D'Egidio" fullname="Alejandro D'Egidio"> | ||||
| <organization>Telecentro</organization> | ||||
| </author> | ||||
| <date month="July" day="28" year="2020" /> | ||||
| </front> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-v6ops-464xlat-optimizatio | ||||
| n-03" /> | ||||
| <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-v6ops-4 | ||||
| 64xlat-optimization-03.txt" /> | ||||
| </reference> | ||||
| <!-- [I-D.ietf-tsvwg-natsupp] IESG state Expired --> | ||||
| <xi:include | ||||
| href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-tsvwg-natsupp. | ||||
| xml"/> | ||||
| <!-- [I-D.lencse-v6ops-transition-scalability] IESG state I-D Exists --> | ||||
| <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | ||||
| .lencse-v6ops-transition-scalability.xml"/> | ||||
| <!-- [I-D.lencse-v6ops-transition-benchmarking] IESG state I-D Exists --> | ||||
| <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | ||||
| .lencse-v6ops-transition-benchmarking.xml"/> | ||||
| <reference anchor="AZZ2021" target="https://www.infocommunications.hu/20 | ||||
| 21_4_2"> | ||||
| <front> | ||||
| <title>Identification of the Possible Security Issues of the | ||||
| 464XLAT IPv6 Transition Technology | ||||
| </title> | ||||
| <author initials="A." surname="Al-Azzawi"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="G." surname="Lencse"> | ||||
| <organization/> | ||||
| </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</ref | ||||
| content> | ||||
| </reference> | ||||
| <reference anchor="LEN2018" target="http://www.hit.bme.hu/~lencse/publications/E | ||||
| CS-2018-Methodology-revised.pdf"> | ||||
| <front> | ||||
| <title>Methodology for the identification of potential security issu | ||||
| es | ||||
| of different IPv6 transition technologies: Threat analysis of DNS64 and | ||||
| stateful NAT64 | ||||
| </title> | ||||
| <author initials="G." surname="Lencse"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="Y." surname="Kadobayashi"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="August" year="2018"/> | ||||
| </front> | ||||
| <seriesInfo name="DOI" value="10.1016/j.cose.2018.04.012"/> | ||||
| <refcontent>Computers & Security, Vol. 77, No. 1, pp. 397-411</ref | ||||
| content> | ||||
| </reference> | ||||
| <reference anchor="LEN2019" target="http://www.hit.bme.hu/~lencse/public | ||||
| ations/e102-b_10_2021.pdf"> | ||||
| <front> | ||||
| <title>Comprehensive Survey of IPv6 Transition Technologies: | ||||
| A Subjective Classification for Security Analysis | ||||
| </title> | ||||
| <author initials="G." surname="Lencse"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="Y." surname="Kadobayashi"> | ||||
| <organization/> | ||||
| </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/1 | ||||
| 0.1007/s11235-020-00681-x"> | ||||
| <front> | ||||
| <title>Benchmarking stateless NAT64 implementations with a standard | ||||
| tester | ||||
| </title> | ||||
| <author initials="G." surname="Lencse"> | ||||
| <organization/> | ||||
| </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"> | ||||
| <front> | ||||
| <title>Adding RFC 4814 Random Port Feature to Siitperf: Design, Impl | ||||
| ementation and | ||||
| Performance Estimation | ||||
| </title> | ||||
| <author initials="G." surname="Lencse"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="" year="2020"/> | ||||
| </front> | ||||
| <seriesInfo name="DOI" value="10.11601/ijates.v9i3.291"/> | ||||
| <refcontent>International Journal of Advances in Telecommunications, El | ||||
| ectrotechnics, Signals and Systems, Vol. 9, No. 3, pp. 18-26</refcontent> | ||||
| </reference> | ||||
| <reference anchor="LEN2021"> | ||||
| <front> | ||||
| <title>Design and Implementation of a Software Tester for Benchmarki | ||||
| ng Stateless NAT64 Gateways | ||||
| </title> | ||||
| <author initials="G." surname="Lencse"> | ||||
| <organization/> | ||||
| </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="JOOL-MAPT" target="https://www.jool.mx/en/run-mapt.ht | ||||
| ml"> | ||||
| <front> | ||||
| <title>MAP-T Run</title> | ||||
| <author> | ||||
| </author> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="MIY2010" target="https://www.jstage.jst.go.jp/article | ||||
| /transcom/E93.B/5/E93.B_5_1078/_article"> | ||||
| <front> | ||||
| <title>IPv4 to IPv6 Transformation Schemes | ||||
| </title> | ||||
| <author initials="S." surname="Miyakawa"> | ||||
| <organization/> | ||||
| </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="REP2014" target="http://www.hit.bme.hu/~lencse/public | ||||
| ations/TSP-2014-PC.pdf"> | ||||
| <front> | ||||
| <title>Port Number Consumption of the NAT64 IPv6 Transition Technolo | ||||
| gy | ||||
| </title> | ||||
| <author initials="S." surname="Répás"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="T." surname="Hajas"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="G." surname="Lencse"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date year="2014"/> | ||||
| </front> | ||||
| <seriesInfo name="DOI" value="10.1109/TSP.2015.7296411"/> | ||||
| <refcontent>37th International Conference on Telecommunications and Sig | ||||
| nal Processing</refcontent> | ||||
| </reference> | ||||
| <reference anchor="SIITPERF" target="https://github.com/lencsegabor/siit | ||||
| perf"> | ||||
| <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="TR-069" target="https://www.broadband-forum.org/techn | ||||
| ical/download/TR-069.pdf"> | ||||
| <front> | ||||
| <title>CPE WAN Management Protocol</title> | ||||
| <author> | ||||
| <organization>Broadband Forum</organization> | ||||
| </author> | ||||
| <date month="June" year="2020"/> | ||||
| </front> | ||||
| <seriesInfo name="Technical Report" value="TR-069"/> | ||||
| </reference> | ||||
| <reference anchor="JOOL" target="http://www.jool.mx"> | ||||
| <front> | ||||
| <title>Jool: SIIT & NAT64</title> | ||||
| <author> | ||||
| </author> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="VPP" target="https://wiki.fd.io/index.php?title=VPP&a | ||||
| mp;oldid=11809"> | ||||
| <front> | ||||
| <title>VPP</title> | ||||
| <author> | ||||
| </author> | ||||
| <date month="July" year="2022"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="SNABB" target="https://github.com/Igalia/snabb"> | ||||
| <front> | ||||
| <title>Snabb implementation of lwAFTR</title> | ||||
| <author> | ||||
| </author> | ||||
| <date month="January" year="2022"/> | ||||
| </front> | ||||
| <refcontent>commit 1ef72ce</refcontent> | ||||
| </reference> | ||||
| <reference anchor="AFTR" target="https://downloads.isc.org/isc/aftr/"> | ||||
| <front> | ||||
| <title>ISC Implementation of AFTR</title> | ||||
| <author> | ||||
| <organization>ISC</organization> | ||||
| </author> | ||||
| </front> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | ||||
| <section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>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 draft 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> | ||||
| </back> | ||||
| </rfc> | ||||
| End of changes. 1 change blocks. | ||||
| lines changed or deleted | lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||