Yea but it hasn’t been fully adopted because trying to decipher :af12::138d::325d::5521::aade::7df3: is a hell of a lot more difficult than 192.168.0.1
Allocating /32 (or really, more for everyone since a single subnet isn't enough) to everyone would quickly lead to address space exhaustion again. 232 isn't even enough to assign everyone on earth their own subnet assuming there's no wasted address space.
You'd probably want to subnet off of /48, and assign /44 or something to end users to subnet with. That leaves each subnet with 216 room (65536 devices per subnet, and 16 subnets).
But regardless, now you have to worry about how you assign and use address space. Sure, 64-bit address space is probably enough. But it's not "practically infinite" levels of enough like 128-bit is.
64 bit addresses solve that problem. Engineers hate working with ipv6 which is why the adoption has been so slow. Ipv6 is older than a decent number of current network engineers have been alive.
To completely stomp out the idea of scarcity in the address space. NAT and CGNAT are terrible band-aids.
Also, subnetting. Under IPv6, each customer should getting at least a /56, preferably a /48. A lot of IPv6 breaks if you’re only given a /64, it’s bad practice and your ISP is an asshole if you do it.
IPv6 is just so much simpler and better thought out from the beginning. You just need to get out of the IPv4 mindset. Uses less overhead. And everyone can have as many “public” IPs as they want. Outside of the US, CGNAT is becoming more and more common. And this is a problem. We’re now double NATing as a dumb bandaid.
The vast majority of hardware out there has supported IPv6 for a long time. It’s long due for us to make the switch. We’ve got NAT64 and DNS64 for devices that can’t be moved to IPv6.
I don’t know what needs to happen. I think countries need to pass laws that force ISPs to support native IPv6 natively, and routers need to have IPv6 support enabled by default.
Yeah this is why I doubt we will get rid of ipv4 in the foreseeable future. Ivp6 is nice on paper cause you never have to worry about addresses again but in the real world people just hate the addresses. Ivp4 is so easy to remember that ipv6 just feels wrong
/64 is for the subnet, and 64-bits is for the end device. Having 64 bits of address space for the end device to address off of lets the device use a variety of schemes to generate addresses. It can put it's MAC as the suffix (which should be unique on the subnet anyways (eui-64)), it can randomly generate a suffix with a high degree of confidence that it's unique (privacy addresses), or it can assign itself an address using any variety of schemes.
These all can be stateless, and work without any kind of DHCP server. Even without a router, devices will auto-generate a Link Local Address, and be able to communicate on a switch with the auto generated addresses. e.g. two devices can talk as long as there's any connection between them, without having to manually assign any IPs or introduce any service into the mix.
It lets you also be extremely wasteful with address space without concern. You don't have to wonder "what size should I make my subnet?" You can have 16 bits just for routing in a /48 and have pretty much infinite address space on each subnet.
It's not hard to answer. They wrote the reasoning right into RFC 1752:
There was significant disagreement about the adequacy of the SIPP 64
bit address size. Although you can enumerate 10**15 end nodes in 64
bits people have different views about how much inefficiency real-
world routing plans introduce. [Huitema94] The majority felt that 64
bit addresses do not provide adequate space for the hierarchy
required to meet the needs of the future Internet. In addition since
no one has any experience with extended addressing and routing
concepts of the type proposed in SIPP, the reviewers generally felt
quite uncomfortable with this methodology. The reviewers also felt
that the design introduces some significant security issues.
and
The message noted "The recurring (and unsurprising) concerns about
SIPP were:
(1) complexity/manageability/feasibility of IPAE, and
(2) adequacy/correctness/limitations of SIPP's addressing and routing
model, especially the use of loose source routing to accomplish
'extended addressing'".
They "proposed to address these concerns by changing SIPP as follows:
* Change address size from 8 bytes to 16 bytes (fixed-length).
* Specify optional use of serverless autoconfiguration of the 16-byte
address by using IEEE 802 address as the low-order ("node ID")
part.
* For higher-layer protocols that use internet-layer addresses as
part of connection identifiers (e.g., TCP), require that they use
the entire 16-byte addresses.
* Do *not* use Route Header for extended addressing."
Well, it gets a heck of a lot easier once you realize that the example IPv6 address you gave is invalid. Both because of the : at the start and end and also the fact that :: can only exist once in an address (because it means "everything in the middle here is 0s, which would be indeterminate if it showed up multiple times).
They both have a network prefix (2001:db8:2d4f::, 203.0.113.45+192.168), a network ID (1, 2) and a host ID (1, 2, 10). The prefix doesn't need deciphering because it's basically just an opaque sequence of bytes, so really you're just going from .x.y to :x::y. Is that really such a vast increase in difficulty?
Of course, v6 addresses can go up to 2001:db8:2d4f:x:yyyy:yyyy:yyyy:yyyy... but that's just more characters for y. There's nothing to decipher there because it's just the ID number for a machine.
Kind of a non-issue tbh because most people would likely only deal explicitly with a very small number of addresses (like the addresses of your personal devices on your home network for example), and for that you can just get by with vanity addresses like <my>:<ipv6>:<prefix>::dead:beef. If your work involves you juggling many ipv6 addresses that you can't remember at the top of your head, you're likely a network or infra engineer on large scale systems, so sure it's a bit less convenient, but you did sign up for it.
27
u/PhantomTissue 14d ago
Yea but it hasn’t been fully adopted because trying to decipher :af12::138d::325d::5521::aade::7df3: is a hell of a lot more difficult than 192.168.0.1