A lot of technical folks are saying it’s a large upgrade for networking.
Not enough ipv4 to go around
And yet somehow even after the magical running out of them and everything is going to be on fire ipv4 is still working just fine. Nothing is wrong with NAT not every single device needs its own unique address.
Don’t get me wrong I would be fine with expanding it but they did it in the dumbest possible way imaginable. It’s not human readable , it’s a pain in the ass to work with. I just have to look everything up anytime I need to manage it, and I am sure as f*** never going to be able to memorize an address.
They should have just like doubled ipv4 so 192.168.1.1.1.1.1.1 at least that would have made sense
You can send your complaints here: https://www.ietf.org/
They should have just like doubled ipv4 so 192.168.1.1.1.1.1.1 at least that would have made sense
IP addresses aren’t meant to be consumed by humans, that’s what DNS is for. That being said, nothing stops you from converting IPv6 addresses to that format. Two “digits” in an IPv6 address correspond to one block in IPv4.
Also what people don’t understand is that the huge address space is not meant to to be exhausted. It provides “layers” with significant reserves to make routing easier and flexible.
Nothing is wrong with NAT
Except everything
With ipv4 there are only 4 billion addresses or so. That might sound like a lot but we really chewed through them a while ago. We came up with a way to kind of fake more with NAT where one address can map to many machines but it was a bandaid.
Ipv6 can handle some 340 undecillion addresses if I’m not mistaken. Not gonna run out any time soon.
There’s a lot of extra features baked into how ipv6 works that make things more efficient, potentially faster, and easy to maintain but those are all secondary benefits. They’re great, but not the main reason for the switch.
The lower latency is always appreciated.
We’re basically out of IPv4 addresses. There are only 32 bits dedicated to IP addresses in IPv4 – which corresponds to about 4 billion possible IP addresses – and we’ve more or less assigned them all. You can’t add more computers to the internet without weird hacks.
IPv6 quadruples the number of bits used for addresses (i.e. it’s got 128-bit IP addresses) – every person on Earth could have an IPv4 internet’s worth of IP addresses and you still wouldn’t be anywhere close to exhausting the address space.
Unfortunately, IPv6 was not designed to be directly backwards compatible with IPv4 and it has a bunch of other changes besides just making the addresses bigger. So, even though it was introduced ~30 years ago, it’s still not supported everywhere…
IPv6 fixes a lot of problems. It’s actually a simpler protocol. It eliminates the need for NAT, which is a major headache when building networks. The security model is just traffic filtering. That’s all you need.
It’s got built-in privacy extensions. Most desktop machines make outgoing connections with an address that cannot listen on a socket. You cannot get portscanned by anyone you connect to. This is a problem that cannot be solved on IPv4. To make it better, the outgoing address changes about once a day (typically). This prevents web servers from following you around and building a profile.
Address scanning is a huge problem in IPv4. If you open SSH port 22 on a public server, there will be bots guessing the password within the hour. IPv6 space cannot be scanned like that, so it simply doesn’t happen.
My personal hot take: If global IPv4 were turned off tomorrow, we’d migrate to IPv6 in a month and never look back. 90% of the pain of IPv6 is the duplication of work because IPv4 still exists.
Ok, here’s the non-technical explanation.
So let’s make sure we’re on the same page. IP addresses are like internet phone numbers. IPv4 (what we have been using for years) is fine, but we’re almost out of numbers.
We’ve known we were gonna run out of numbers for a while now, and to slow this down we used NAT. Just think of it as using an extension in addition to the phone number. All phones in an office dialing out use the same phone number, but if you want to call someone you use the extension.
IPv6 is a new phone number. We can have way more of them and we will not run out, probably ever. IPv4 has enough addresses for half of the world’s population. IPv6 has enough addresses for every single grain of sand on the planet.
Ok, next question:
Why does every grain of sand on Earth need its own IP address? 🤔
We’re bringing the Internet of things to more things. Don’t ask why
I don’t like Smart Sand…

but we’re almost out of numbers.
We are out of numbers. Just because technically there might be some unassigned or even assigned but unused numbers doesn’t mean we didn’t run out of them. There are more devices in the world connected to the Internet than IPv4 addresses exist. If you read this sentence from the standard strictly:
The internet protocol provides for transmitting blocks of data called datagrams from sources to destinations, where sources and destinations are hosts identified by fixed length addresses.
This isn’t the case with NATing as hosts are no longer identified be the address alone (but additionally other parameters like port number or TCP connection status). You can’t ICMP ping a NATted host to my knowledge because it operates on IP directly (it’s actually part of IP itself). So parts of the protocol become unusable. So just by logic, we have run out. The last remaining blocks won’t fix the issue, and rather make routing worse than it already is.
Actually, every grain of sand could have around 45 billion IPv6 addresses.
IPv4 is 256^4 distinct addresses.
IPv6 is 256^6 distinct addresses.
For every address in IPv4, there are over 64,000 addresses in IPv6. So we won’t run out of address space for… well, a long-ass time.
Small correction: IPv6 has 16 bytes for an address – not 6 – so, the address space is actually way way bigger than that!
Edit: Muphry’s law strikes again. :p
other comments have covered the sheer address space increase which admittedly is most of the point… but part of that is itself directly usable-- you can do things like assign part of an allocation to a service and still have plenty of addresses inside of it to dynamically allocate to a service.
The other parts are just adopting better alternatives to things we just accept as part of ipv4 like having actual neighbor discovery






