<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoPlainText"><img width="695" height="283" style="width:7.2395in;height:2.9479in" id="Picture_x0020_1" src="cid:image001.png@01D842A4.69CBE6F0"><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hmm.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<br>
From: NANOG <nanog-bounces+rkremeier=barryelectric.com@nanog.org> On Behalf Of Pascal Thubert (pthubert) via NANOG<br>
Sent: Monday, March 28, 2022 11:55 AM<br>
To: Philip Homburg <pch-nanog-2@u-1.phicoh.com>; nanog@nanog.org; 'jordi.palet' (jordi.palet@consulintel.es) <jordi.palet@consulintel.es><br>
Subject: RE: V6 still not supported </p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Seems that we lost sync.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I would not rephrase so I made it a draft to make it easy to socialize:
<a href="https://www.ietf.org/archive/id/draft-thubert-v6ops-yada-yatt-00.html"><span style="color:windowtext;text-decoration:none">https://www.ietf.org/archive/id/draft-thubert-v6ops-yada-yatt-00.html</span></a>
<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">The goal is NOT to allow any IPv4 host to talk to any IPv6 host. For that I agree you need the traditional transition mechanisms, CG-NATs etc.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">The plan has 2 phases:<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">- The first phase called YADA extends the reach of IPv4 using a common IPv4 space that is like an elevator shaft.
<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">         /------------------------------------------------------<o:p></o:p></p>
<p class="MsoPlainText">        /                                                     /<o:p></o:p></p>
<p class="MsoPlainText">       /          |------------|                    realm 1  /<o:p></o:p></p>
<p class="MsoPlainText">      /          /.           /.                            /<o:p></o:p></p>
<p class="MsoPlainText">     /          / . shaft    / .  (current IPv4 Internet)  /<o:p></o:p></p>
<p class="MsoPlainText">    /          |------------|  .                          /<o:p></o:p></p>
<p class="MsoPlainText">   /           .  .         .  .                         /<o:p></o:p></p>
<p class="MsoPlainText">  ------------------------------------------------------/<o:p></o:p></p>
<p class="MsoPlainText">               |  .         |  |<o:p></o:p></p>
<p class="MsoPlainText">         /-----|------------|--|--------------------------------<o:p></o:p></p>
<p class="MsoPlainText">        /      |  .         |  |                              /<o:p></o:p></p>
<p class="MsoPlainText">       /       |  |---------|--|                    realm 2  /<o:p></o:p></p>
<p class="MsoPlainText">      /        | /.         | /.                            /<o:p></o:p></p>
<p class="MsoPlainText">     /         |/ . shaft   |/ .                           /<o:p></o:p></p>
<p class="MsoPlainText">    /          |------------|  .                          /<o:p></o:p></p>
<p class="MsoPlainText">   /           .  .         .  .                         /<o:p></o:p></p>
<p class="MsoPlainText">  ------------------------------------------------------/<o:p></o:p></p>
<p class="MsoPlainText">               |  .         |  |<o:p></o:p></p>
<p class="MsoPlainText">               |  .         |  |<o:p></o:p></p>
<p class="MsoPlainText">               |            |  .<o:p></o:p></p>
<p class="MsoPlainText">               |            |  .<o:p></o:p></p>
<p class="MsoPlainText">               .            .  |<o:p></o:p></p>
<p class="MsoPlainText">               .            .  |<o:p></o:p></p>
<p class="MsoPlainText">               |  .         |  |<o:p></o:p></p>
<p class="MsoPlainText">         /-----|------------|--|--------------------------------<o:p></o:p></p>
<p class="MsoPlainText">        /      |  .         |  |                              /<o:p></o:p></p>
<p class="MsoPlainText">       /       |  |---------|--|                    realm N  /<o:p></o:p></p>
<p class="MsoPlainText">      /        | /          | /                             /<o:p></o:p></p>
<p class="MsoPlainText">     /         |/   shaft   |/                             /<o:p></o:p></p>
<p class="MsoPlainText">    /          |------------|                             /<o:p></o:p></p>
<p class="MsoPlainText">   /                                                     /<o:p></o:p></p>
<p class="MsoPlainText">  ------------------------------------------------------/<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">There's more in the draft as to how forwarding happens. But only a few routers serving the shaft have to do anything and it's dead simple.<o:p></o:p></p>
<p class="MsoPlainText"><o:p></o:p></p>
<p class="MsoPlainText">In that phase, we can now have many realms that are parallel to the IPv4 Internet of today. IPv4 acts as normal in each realm.<o:p></o:p></p>
<p class="MsoPlainText">The phase upgrades IPv4 host to understand an IP in IP format that allows to traverse the shaft. At that time, scale is no more the issue for  IPv4.  
<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">- The second phase called YATT does a stateless translation between a v4 in v4 and a v6 address. No CG-NAT.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">+-----+---------------+--------------+-----------------------------+<o:p></o:p></p>
<p class="MsoPlainText">|YATT |     Realm     |     IPv4     |         Well-Known          |<o:p></o:p></p>
<p class="MsoPlainText">|Space|    Address    |    Address   |              IID            |<o:p></o:p></p>
<p class="MsoPlainText">+-----+- -------------+--------------+-----------------------------+<o:p></o:p></p>
<p class="MsoPlainText">       <- YADA<o:p></o:p></p>
<p class="MsoPlainText">        Prefix -><o:p></o:p></p>
<p class="MsoPlainText"><--------   YATT Prefix ----------><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">What it does is allow any node that needs to talk to a legacy device, to 1) obtain a YADA address (IPv4 pair), 2) form a YATT address (YADA derived IPv6 address), and talk to the YADA node, across any of v4 or v6 networks. A stateful
 bump in the stack can NAT the IP pairs into single Ips and back. A bump in the stack on the legacy host can NAT the IP pairs into single Ips as well.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">In that phase, IPv6 can be seen as the sphere that that encompasses the planes above, and a lot more. Every node that has a YADA address owns a full IPv6 prefix automatically. Nodes and networks can migrate to IPv6 only but the nodes
 that need to talk to IPv4 nodes need an YATT address for that.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">There will be corner cases, like well-known IPv4 coded in legacy application payload. For those arguably we'll need a stateful CG-NAT that knows the mapping in advance. But maybe those are not many, and will mostly stay within their
 realm. <o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Am I being any clearer now?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Keep safe;<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Pascal<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> -----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText">> From: NANOG <<a href="mailto:nanog-bounces+pthubert=cisco.com@nanog.org"><span style="color:windowtext;text-decoration:none">nanog-bounces+pthubert=cisco.com@nanog.org</span></a>> On Behalf Of
<o:p></o:p></p>
<p class="MsoPlainText">> Philip Homburg<o:p></o:p></p>
<p class="MsoPlainText">> Sent: samedi 26 mars 2022 12:24<o:p></o:p></p>
<p class="MsoPlainText">> To: <a href="mailto:nanog@nanog.org"><span style="color:windowtext;text-decoration:none">nanog@nanog.org</span></a><o:p></o:p></p>
<p class="MsoPlainText">> Subject: Re: V6 still not supported<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> >The only far ressemblance with 6to4 is the thing that was actually
<o:p></o:p></p>
<p class="MsoPlainText">> >nice in the  design, the automatic word in automatic tunnel. Which
<o:p></o:p></p>
<p class="MsoPlainText">> >for the rest of us mean s stateless. Compared to CGNATs that is huge.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> Any form of communication with the current IPv4 internet requires some
<o:p></o:p></p>
<p class="MsoPlainText">> sort of CGNAT. We no longer have enough IPv4 addresses to give each
<o:p></o:p></p>
<p class="MsoPlainText">> customer an unique one. So some ISPs are forced to map multiple
<o:p></o:p></p>
<p class="MsoPlainText">> customers to a single IPv4 address. Which results in CGNAT.
<o:p></o:p></p>
<p class="MsoPlainText">> Technically,<o:p></o:p></p>
<p class="MsoPlainText">> A+P (address plus port) mapping is a bit different, but for the
<o:p></o:p></p>
<p class="MsoPlainText">> A+customer<o:p></o:p></p>
<p class="MsoPlainText">> that doesn't make a lot of difference. And A+P has serious scalability
<o:p></o:p></p>
<p class="MsoPlainText">> problems.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> >Beyond that the proposal is not a tunnel and more akin to a nat64
<o:p></o:p></p>
<p class="MsoPlainText">> >since it all ows v6 nodes to talk to v4 nodes. The network can be
<o:p></o:p></p>
<p class="MsoPlainText">> >pure v4 or pure v6 if the  method is implemented as a bump in the
<o:p></o:p></p>
<p class="MsoPlainText">> >stack at the<o:p></o:p></p>
<p class="MsoPlainText">> wrong end.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> You mostly ignored the routing problems I brought up. With NAT64 each
<o:p></o:p></p>
<p class="MsoPlainText">> ISP is in full control over all routing. Your problem has routing
<o:p></o:p></p>
<p class="MsoPlainText">> aspects that are not under control of the ISP.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> >Your response is also missing the capability to extend the IPv4
<o:p></o:p></p>
<p class="MsoPlainText">> >network a mill ion times. Or drop it completely while maintaining
<o:p></o:p></p>
<p class="MsoPlainText">> >IPv4<o:p></o:p></p>
<p class="MsoPlainText">> applications.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> Extending IPv4 is fine (except for the installed base of IPv6). It is
<o:p></o:p></p>
<p class="MsoPlainText">> not fine if the extension leads to problem in other areas, like routing.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> There are other problems to consider. For example, IPv6 can be added
<o:p></o:p></p>
<p class="MsoPlainText">> transparently to a network with legacy IPv4-only hosts. Hosts can get
<o:p></o:p></p>
<p class="MsoPlainText">> a public IPv6 address and a RFC 1918 IPv4 address. I wonder how in
<o:p></o:p></p>
<p class="MsoPlainText">> your approach such a mix of legacy and new hosts will work out.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> >6to4 was meant for early v6 to interconnect islands. A solution for a
<o:p></o:p></p>
<p class="MsoPlainText">> >problem that never really existed. Solutions without a problem aren?t<o:p></o:p></p>
<p class="MsoPlainText">> usually popular.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> We seem to have a different recall of history. 6to4 was extremely
<o:p></o:p></p>
<p class="MsoPlainText">> popular.<o:p></o:p></p>
<p class="MsoPlainText">> Popular enough that major content providers did not turn on IPv6 until
<o:p></o:p></p>
<p class="MsoPlainText">> host stacks were modified to essentially kill 6to4. (in case we are
<o:p></o:p></p>
<p class="MsoPlainText">> talking about different 6to4 protocols. I meant the one that
<o:p></o:p></p>
<p class="MsoPlainText">> interconnects with the<o:p></o:p></p>
<p class="MsoPlainText">> non-6to4 IPv6 internet. So more than just islands)<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</body>
</html>