Comment by torginus

4 days ago

I will fully and honestly admit I don't understand much about IPv6 - however, I have a question - why didn't they just add 8-32 bits to IPv4 and call it a day?

Legacy IPv4 would be trivial to support via NAT, and we wouldn't have to deal with address shortages either globally or locally. I'm sure every sysadmin/cloud person dealt with having to arrange subnets by hand, or the fallout when you just ran out of addresses and had to tear down multiple layers of routing just to make more address space.

Computers default to 64 bit integers, I don't see why this couldn't be done on the network.

Because there isn't "empty space" in the IPv4 packet header (or even the pseudoheader format from which TCP or UDP checksums etc are derived) to expand your new bits into. By breaking the packet format, you just invented a new network protocol that all of the routers, firewalls and middleware of the world don't know how to handle.

  • Yes, it’s true that any change they made would be incompatible with the existing software and routers and such. But nowadays everything can handle IPv6 just fine. All the upgrades and new software came out between 20 and 30 years ago, and is ubiquitous now.

They pretty much did. "Just add N bits to v4" is far more work than you're thinking it is, and most of what v6 does is a direct consequence of taking v4 and adding more bits to it.

The amount of work doesn't depend on the number of bits either, so adding fewer bits is a false economy. Deploying a new version of IP is so hard that you only want to be doing it once, not once every time you need an extra few bits.