← Back to context

Comment by clownstrikelol

2 days ago

This is teasing at a bigger issue.

When v6 was “invented” I believe they thought “everyone” would have PI addresses, as was (relatively) common 30 years ago.

If everyone has their own PI space, and used BGP with their ISPs this would also be “zero setup” with v6 as that’s the entire point of BGP and PI addresses.

It was a definite failure of imagination that they did not think of how this would work if you don’t control your own IP space.

If you have ISPs you can peer with over BGP and your own PI IP space this does “just work” as you’d expect. The same way it “just works” with v4 in a NATless world.

A lot of the things that “just work” in v4 are really just NAT sweeping the rough edges under the rug. The same problems exist in v4, but don’t get seen in practice as local / global addresses are effectively always different on your network (unless you’re lucky enough to be a legacy allocation that has an /8 of v4 I suppose).

If you enforce that same “separation” in v6 (with NPT, or NAT) surprise the “problems” also go away, like they do in v4.

Not really. Believe it or not, but the initial plan for IPv6 was to NOT have the PI blocks at all. Everyone was supposed to use PA (Provider Aggregated) blocks.

The needs for dual-homing and failover were completely glossed over in the IPv6 design, and the IETF has not acknowledged these needs even to this day.

  • They weren't glossed over. Dual-homing is handled in RFC 3484 (https://datatracker.ietf.org/doc/html/rfc3484#section-5 under rule 5) and ND is designed to detect unreachable routers and stop using them (see e.g. https://datatracker.ietf.org/doc/html/rfc1970#section-6.3.6). You can also specify router preference in RAs (https://datatracker.ietf.org/doc/html/rfc4191).

    They thought about these things and put features into the protocol to support them. This is, once again, the opposite of your belief that they didn't.

  • "PA" or "PI" is an administrative distinction and technically has nothing to do with BGP or multi-homing. You can still announce PA blocks under your own ASN. I do that today, actually.

    It's the same with IPv4, by the way. An ISP can assign you a block from their allocation, you can still announce it with your own ASN as long as it doesn't violate the issuing provider's policy, you're still a customer, etc.

    • It does have the effect of requiring you to follow the upstream ISP's numbering system. So if they switch the prefix, you have to follow.

      And it's more of the "it's the thought that counts" thing. Multihoming was considered to be something rather exotic and mostly a requirement for ISPs or large companies.

      1 reply →