On Sat, Aug 7, 2021 at 2:54 PM Töma Gavrichenkov <ximaera@xxxxxxxxx> wrote: > > Peace, > > On Sun, Aug 8, 2021 at 12:24 AM Tom Herbert <tom@xxxxxxxxxxxxxxx> wrote: > > There's also QUIC where a NAT may evict a UDP 4-tuple state and later > > instantiate a new tuple for the QUIC connection with different port > > numbers. > > Just so that we're all on the same page, we're talking of IPv6 where > NAT is considered an enormously unprofessional practice. This is what > the entire protocol was designed for: to eliminate the necessity of > NAT where it's not really supposed to happen. Toma, Yes, a major selling point of IPv6 was that it would eliminate the need for NAT because of the enormity of the address space. I think that the same rationale could be applied that anycast should be unnecessary in IPv6 because there is a lot of address space to work with. For instance, instead of defining anycast endpoints behind one address and hoping that the network can consistently route packets based on per-connection layer transport information, why not just embed the transport layer information in the IP address? e.g. maybe the ephemeral port number, so that the packet is always routed properly to the server instance regardless of how it's routed to the destination. To make this work, DNS could return an address range record instead of a single address and then a client to randomly select an address to connect to from the range to achieve desired load balancing. > > > In reality, it's not that flow label modulation or NAT break anycast, > > it's that anycast is inherently broken since it makes assumptions that > > are true only most of the time. > > The anycast isn't broken, it's fundamental to the Internet due to the > architecture of the latter. > > Broken are the protocol and the application designs which rely on a > transport flow being stable and uninterrupted over the course of time. > This is just not how the Internet works, and it never did work this > way, and it never would. But consistent routing per flow is a requirement of anycast, hence why I think anycast is broken... Tom > > -- > Tòma