Hello Dave: If you have a v4 only network and are willing to migrate to v6 that’s certainly neat and the YATT traffic will just be another v6 traffic that your BCP 38 rules will process. Still you’ll find IPv4 only customers, and you’ll end up with both v4 and v6, and CG NATs, etc. This is what we need to compare with, not IPv6 only. YADA applies to those who would not want dual stack and CG NAT, at least as the main rule. Those who would prefer to see end point transition for the most part to something easier to digest if not full v6. To your points: - yes the NAT is not stateful and that makes all the difference in the world. It becomes a network operation like an MPLS tunnel encapsulation that your router does BAU day in day out - I’ll trust you on your filters but filters for IPv4 only does probably do something for IP in IP, be it for the case where it’s v6 inside. Not saying it’s free, it’s a one-time opex. But not seeing that it’s the same cost as dual stack and CG NATs either, which are both opex and capex. - Upgrade/replace all my CPE + Have the network stack on my customers OS upgraded That’s where the kneejerk rejection shows the most. For the one thing if the customer OS is upgraded then why would you update the CPE? Then not all devices need this, many are hapopy with the current state of affairs? And the other way around if the CPE is upgraded, do we need to update the users devices? So presented as you did it’s plain dishonest. That’s why I found the YADA pun so funny actually. Unless we’re uncharacteristically efficient on this one, the CPE software will be upgraded a number of times before this thing takes off, and the CPE themselves might be replaced for the most part. The way I see it, adoption can happen from one customer alone. And yes, that would add to the list of ways to bypass BCP 38. So yes, it would be neat that you install rules that understand IP in IP if you do not already have them, with something for YADA in addition, and yes, that’s not free. But compared to CG NAT and dual stack? Well, I’d be happy to help people have that choice. Keep safe; Pascal From: Dave Bell <me@geordish.org> Sent: mardi 5 avril 2022 13:03 To: Pascal Thubert (pthubert) <pthubert@cisco.com> Cc: Dave Bell <me@geordish.org>; Matthew Petach <mpetach@netflight.com>; Vasilenko Eduard <vasilenko.eduard@huawei.com>; NANOG <nanog@nanog.org> Subject: Re: Let's Focus on Moving Forward Re: V6 still not supported re: 202203261833.AYC Hi Pascal, 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. 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. 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. So to summarize, to implement this I need to do the following: * 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.) * Upgrade my BNGs to cope with the new address format for uRPF purposes * Upgrade/replace all my CPE * Have the network stack on my customers OS upgraded Not to mention all the testing required to ensure that it all will work smoothly. That is a lot of work, and I still don't see the benefit over just moving to IPv6. Regards, Dave On Tue, 5 Apr 2022 at 10:30, Pascal Thubert (pthubert) <pthubert@cisco.com<mailto:pthubert@cisco.com>> wrote: Hello Dave: 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. 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. 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. 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. 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. 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. Keep safe; Pascal From: Dave Bell <me@geordish.org<mailto:me@geordish.org>> Sent: mardi 5 avril 2022 9:45 To: Pascal Thubert (pthubert) <pthubert@cisco.com<mailto:pthubert@cisco.com>> Cc: Matthew Petach <mpetach@netflight.com<mailto:mpetach@netflight.com>>; Vasilenko Eduard <vasilenko.eduard@huawei.com<mailto:vasilenko.eduard@huawei.com>>; NANOG <nanog@nanog.org<mailto:nanog@nanog.org>> Subject: Re: Let's Focus on Moving Forward Re: V6 still not supported re: 202203261833.AYC 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? Regards, Dave On Tue, 5 Apr 2022 at 08:24, Pascal Thubert (pthubert) via NANOG <nanog@nanog.org<mailto:nanog@nanog.org>> wrote: Hello Matthew 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. 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. To your point, and unrelated to ASNs, the shaft can be physically distributed. Each physical place would announce 240.0.0.0/6<http://240.0.0.0/6>, 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. 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. 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. On the side, I’d be happy to learn how you solved a situation like the one below, if there’s any article / doc? Keep safe; Pascal From: Matthew Petach <mpetach@netflight.com<mailto:mpetach@netflight.com>> Sent: mardi 5 avril 2022 0:29 To: Vasilenko Eduard <vasilenko.eduard@huawei.com<mailto:vasilenko.eduard@huawei.com>> Cc: Pascal Thubert (pthubert) <pthubert@cisco.com<mailto:pthubert@cisco.com>>; Nicholas Warren <nwarren@barryelectric.com<mailto:nwarren@barryelectric.com>>; Abraham Y. Chen <aychen@avinta.com<mailto:aychen@avinta.com>>; Justin Streiner <streinerj@gmail.com<mailto:streinerj@gmail.com>>; NANOG <nanog@nanog.org<mailto:nanog@nanog.org>> Subject: Re: Let's Focus on Moving Forward Re: V6 still not supported re: 202203261833.AYC On Mon, Apr 4, 2022 at 10:41 AM Vasilenko Eduard via NANOG <nanog@nanog.org<mailto:nanog@nanog.org>> wrote: 240.0.01.1 address is appointed not to the router. It is appointed to Realm. It is up to the realm owner (ISP to Enterprise) what particular router (or routers) would do translation between realms. Please forgive me as I work this out in my head for a moment. If I'm a global network with a single ASN on every populated continent on the planet, this means I would have a single Realm address; for the sake of the example, let's suppose I'm ASN 42, so my Realm address is 240.0.0.42. I have 200+ BGP speaking routers at exchange points all over the planet where I exchange traffic with other networks. In this new model, every border router I have would all use the same 240.0.0.42 address in the Shaft, and other Realms would simply hand traffic to the nearest border router of mine, essentially following a simple Anycast model where the nearest instance of the Realm address is the one that traffic is handed to, with no way to do traffic engineering from continent to continent? Or is there some mechanism whereby different instances of 240.0.0.42 can announce different policies into the Shaft to direct traffic more appropriately that I'm not understanding from the discussion? Because if it's one big exercise in enforced Hot Potato Routing with a single global announcement of your reachability... ...that's gonna fail big-time the first time there's a major undersea quake in the Strait of Taiwan, which cuts 7/8ths of the trans-pacific connectivity off, and suddenly you've got the same Realm address being advertised in the US as in Asia, but with no underlying connectivity between them. https://www.submarinenetworks.com/news/cables-cut-after-taiwan-earthquake-20... We who do not learn from history are doomed to repeat it...badly. :( Matt