<div dir="ltr">Hi Pascal,<div><br></div><div>From what I'm reading, it seems like you're implying that the bulk of the ISP network does not need to change to implement this new IP protocol. If that is the case, then you are incorrect.</div><div><br></div><div>Without the router that the customer connects to being aware of this new protocol, then you are opening yourself up to address forgery on a massive scale. The ISPs next hop needs to be able to inspect both the regular source address, and the encapsulated source address to ensure that the customer is sending legitimate traffic (uRPF). In my world the BNG is the most complicated part of the network.</div><div><br></div><div>The CPE I'm sending out to my customers now presumably needs its NAT implementation altering? It now does translation on the inner IP header rather than the regular what is now outer.</div><div><br></div><div>So to summarize, to implement this I need to do the following:</div><div>* Install some CG-NAT device (You can argue its not CG-NAT because its stateless - It will have a lot of traffic going through it, so its carrier grade, and its translating from one type of IP to another, so its network address translation.)</div><div>* Upgrade my BNGs to cope with the new address format for uRPF purposes</div><div>* Upgrade/replace all my CPE</div><div>* Have the network stack on my customers OS upgraded</div><div><br></div><div>Not to mention all the testing required to ensure that it all will work smoothly.</div><div><br></div><div>That is a lot of work, and I still don't see the benefit over just moving to IPv6.</div><div><br></div><div>Regards,</div><div>Dave</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 5 Apr 2022 at 10:30, Pascal Thubert (pthubert) <<a href="mailto:pthubert@cisco.com" target="_blank">pthubert@cisco.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Hello Dave:<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">The problem we have not solved is with the (host, gateway, ISP network) that will not move; and I’m hearing in this list that there’s one big reason: because the step (the leap
 really) is too wide. And I also read a consensus that dual stack and large NATs are not the long term solution people want.<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">The primary goal here is to avoid  dual stack forever, and not having enormous CG-NATs either. The proposal is to replace the leap that few can achieve by a series of baby steps
 that most can, and will to a point.<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">To your example: say that you’re willing to migrate your host stack to IPv6-only. But then your ISP or your home gateway does not have it. Stuck. If you form a YATT address, the
 stateless translation will discover that there’s no v6 and turn the YATT packet into YADA. With that you can talk to any YADA and YATT node in the universe, though you can neither reach all IPv6 nodes nor all IPv4 nodes. That’s where the baby steps land.
<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">The motivation to go YADA from IPv4 (as opposed to IPv6 altogether) is feasibility. With YADA, the change is smaller in the upper stack and the applications. Say you have VMs
 that are IPv4 only, that you do not control the stack at all but just the hosting system. The hosting system can serve as/intercept DNS, NAT the YADA double-A destination to a single-A with an address from the pool, leaving the VM stack unchanged. An upgraded
 home gateway could do that too for the whole private network. <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">YADA and YATT are equivalent, they are the IPv4 and IPv6 formulations of the same thing; what goes on the wire is whatever matches what the ISP network offers. Each AS or realm
 can decide to be one version only. The stateless NAT at the border can be wire speed, there’s state nor no complexity involved in that translation.
<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">When you’re already IPv6 you need none of that. IPv6 is the sphere than encompasses all the planes (realms) and the shaft. Plus all the air in between. But the IPv6 host could
 be so nice as to support YATT, which effectively is an effort on its part, but gives it a /64 for free, automatically. That’s a bonus that could become handy.<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Keep safe;<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Pascal<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><font size="2" face="Calibri"><span style="font-size:11pt;font-weight:bold">From:</span></font></b> Dave Bell <<a href="mailto:me@geordish.org" target="_blank">me@geordish.org</a>>
<br>
<b><span style="font-weight:bold">Sent:</span></b> mardi 5 avril 2022 9:45<br>
<b><span style="font-weight:bold">To:</span></b> Pascal Thubert (pthubert) <<a href="mailto:pthubert@cisco.com" target="_blank">pthubert@cisco.com</a>><br>
<b><span style="font-weight:bold">Cc:</span></b> Matthew Petach <<a href="mailto:mpetach@netflight.com" target="_blank">mpetach@netflight.com</a>>; Vasilenko Eduard <<a href="mailto:vasilenko.eduard@huawei.com" target="_blank">vasilenko.eduard@huawei.com</a>>; NANOG <<a href="mailto:nanog@nanog.org" target="_blank">nanog@nanog.org</a>><br>
<b><span style="font-weight:bold">Subject:</span></b> Re: Let's Focus on Moving Forward Re: V6 still not supported re: 202203261833.AYC<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Considering this requires updating every single IP stack that wants to utilise this, what are the benefits of it other than just moving to IPv6?<u></u><u></u></span></font></p>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Regards,<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Dave<u></u><u></u></span></font></p>
</div>
</div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><u></u> <u></u></span></font></p>
<div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">On Tue, 5 Apr 2022 at 08:24, Pascal Thubert (pthubert) via NANOG <<a href="mailto:nanog@nanog.org" target="_blank">nanog@nanog.org</a>> wrote:<u></u><u></u></span></font></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Hello Matthew<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">At the moment the draft has a general architecture, and it will take the right minds and experience to turn a model
 into a live network. Considering what the people in this list have already built, it’s no gigantic leap to figure they can build that too. Most of the building blocks that are implicit or TBD in the draft exist already.
<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">About linking ASN to realms, that’s Eduard’s view, I’ll let him answer. The draft is not like that, all existing ASN
 and IP addresses can be reused in every new realm, and there does not need to be any mapping. If people find a need or a reason to add constraints, that’s beyond me at this time, and against the natural philosophy of minimizing interdependences to maintain
 design freedom in each realm. The draft has one and one only dependency, that surface of the shaft is common to all realms.
<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">To your point, and unrelated to ASNs, the shaft can be physically distributed. Each physical place would announce
<a href="http://240.0.0.0/6" target="_blank">240.0.0.0/6</a>, and the nearest alive would attract the traffic. See it as as many IXPs. In the current draft, there’s only one shaft that links all realms. And there’s a single realm number for each realm that
 is advertised in every physical instances of the shaft. All that is a  simplification to highlight the design.
<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">As the shaft lives on, a realm may be multihomed, the shaft might be subnetted to interconnect only specific realms,
 or to be advertised differently in different geographies. And then the subnets will need to be injected in the realms. The way around a breakage can be DNS, or BGP.<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">All this is possible, you’ve already done it, and it’s really your play. We build the car, you drive it. Happy that
 you start figuring out how you prefer it to happen. While we figure out protocols to renumber more efficiently, fix source address selection, extend the NATs, you name it. There’s work for all and at every phase. But at this stage of the discussion, I favor
 the 10 miles view to get a shared basic understanding.<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">On the side, I’d be happy to learn how you solved a situation like the one below, if there’s any article / doc?<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Keep safe;<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Pascal<u></u><u></u></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><font size="2" face="Calibri"><span style="font-size:11pt;font-weight:bold">From:</span></font></b> Matthew Petach <<a href="mailto:mpetach@netflight.com" target="_blank">mpetach@netflight.com</a>>
<br>
<b><span style="font-weight:bold">Sent:</span></b> mardi 5 avril 2022 0:29<br>
<b><span style="font-weight:bold">To:</span></b> Vasilenko Eduard <<a href="mailto:vasilenko.eduard@huawei.com" target="_blank">vasilenko.eduard@huawei.com</a>><br>
<b><span style="font-weight:bold">Cc:</span></b> Pascal Thubert (pthubert) <<a href="mailto:pthubert@cisco.com" target="_blank">pthubert@cisco.com</a>>; Nicholas Warren <<a href="mailto:nwarren@barryelectric.com" target="_blank">nwarren@barryelectric.com</a>>;
 Abraham Y. Chen <<a href="mailto:aychen@avinta.com" target="_blank">aychen@avinta.com</a>>; Justin Streiner <<a href="mailto:streinerj@gmail.com" target="_blank">streinerj@gmail.com</a>>; NANOG <<a href="mailto:nanog@nanog.org" target="_blank">nanog@nanog.org</a>><br>
<b><span style="font-weight:bold">Subject:</span></b> Re: Let's Focus on Moving Forward Re: V6 still not supported re: 202203261833.AYC<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
<div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">On Mon, Apr 4, 2022 at 10:41 AM Vasilenko Eduard via NANOG <<a href="mailto:nanog@nanog.org" target="_blank">nanog@nanog.org</a>>
 wrote:<u></u><u></u></span></font></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">240.0.01.1 address is appointed not to the router. It is appointed to Realm.<br>
It is up to the realm owner (ISP to Enterprise) what particular router (or routers) would do translation between realms.<u></u><u></u></span></font></p>
</blockquote>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Please forgive me as I work this out in my head for a moment. <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">If I'm a global network with a single ASN on every populated continent <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">on the planet, this means I would have a single Realm address; for <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">the sake of the example, let's suppose I'm ASN 42, so my Realm <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">address is 240.0.0.42.  I have 200+ BGP speaking routers at <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">exchange points all over the planet where I exchange traffic with <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">other networks.<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">In this new model, every border router I have would all use the <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">same 240.0.0.42 address in the Shaft, and other Realms would <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">simply hand traffic to the nearest border router of mine, essentially <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">following a simple Anycast model where the nearest instance of the <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Realm address is the one that traffic is handed to, with no way to do <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">traffic engineering from continent to continent?<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Or is there some mechanism whereby different instances of 240.0.0.42 <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">can announce different policies into the Shaft to direct traffic more <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">appropriately that I'm not understanding from the discussion? <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Because if it's one big exercise in enforced Hot Potato Routing with <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">a single global announcement of your reachability...<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">...that's gonna fail big-time the first time there's a major undersea <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">quake in the Strait of Taiwan, which cuts 7/8ths of the trans-pacific <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">connectivity off, and suddenly you've got the same Realm address <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">being advertised in the US as in Asia, but with no underlying connectivity <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">between them.<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"><a href="https://www.submarinenetworks.com/news/cables-cut-after-taiwan-earthquake-2006" target="_blank">https://www.submarinenetworks.com/news/cables-cut-after-taiwan-earthquake-2006</a><u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">We who do not learn from history are doomed to repeat it...badly.   :(<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt">Matt<u></u><u></u></span></font></p>
</div>
<div>
<p class="MsoNormal"><font size="2" face="Calibri"><span style="font-size:11pt"> <u></u><u></u></span></font></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>

</blockquote></div>