Don't bother promoting IPv6 as "the future". It's never going to be the default.
Basically what the title says. Here's the thing: address exhaustion is a solved problem. NAT already took care of this via RFC 1631. While initially presented as a temporary fix, anyone who thinks it's going anywhere at this point is simply wrong. Something might replace IPv4 as the default at some point, but it's not going to be IPv6.
And then there are the downsides of IPv6:
Not all legacy equipment likes IPv6. Yes, there's a lot of it out there.
"Nobody" remembers an IPv6 address. I know my IPv4 address, and I'm sure many others do too. Do you know your IPv6 address, though?
Everything already supports IPv4
For IPv6 to fully replace IPv4, practically everything needs to move over. De facto standards don't change very easily. There's a reason why QWERTY keyboards, ASCII character tables, and E-mail are still around, despite alternatives technically being "better".
Dealing with dual network stacks in the interim is annoying.
Sure, IPv6 is nice and all. But as an addition rather than as a replacement. I've disabled it by default for the past 10 years, as it tends to clutter up my ifconfig overview, and I've had no ill effects.
CGNAT is only a temporary band aid for reaching services that are yet to present themselves on IPV6. It’s relatively expensive to operate.
IpV6 might be largely pointless on a LAN, and sure NAT is fine there, but ipv6 already running large chunks of the world’s mobile infrastructure. It’s not going anywhere.
I think you're wrong about the shortage being 'solved' by NAT. NAT is great for LAN and WAN in the developed world, but there are billions of folks in remote developing areas where it's not much help. It also severely limits the big chunks of address spaces that can be allocated to business, universities, governments, etc. It is not a trivial problem waved away by NAT.
I think it will continue to be a very gradual but relentless rollout of IPv6. Not saying it will be fast. But 30 years from now, if we haven't destroyed civilization, I suspect IPv4 will be a quaint relic. And IPv6 will never run out of addresses.
There's a large possibility we'll run out of IPv6 addresses sooner than we think.
Theoretically, 128-bits should be enough for anything. IPv6 can theoretically give 2^52 IPs to every star in the universe: that would be a 76-bit subnet for each star rather than the required 64 minimum. Today, we (like ARIN) do 32-48-bit allocations for IPv6.
With IPv4, we did 8-24-bit allocations. IPv6 gives only 24 extra allocation bits, which may last longer than IPv4. We basically filled up IPv4's 24-bits of allocations in 30 years. 281 trillion (2^48) allocations is fairly reachable. There doesn't seem to be any slowdown of Internet nor IP growth. Docker and similar are creating more reasons to allocate IPs (per container). We're also still in the early years of interstellar communications. With IPv4, we could adopt classless subnetting early to delay the problem. IPv6's slow adoption probably makes a similar shift in subnetting unlikely.
If we continue the current allocation trend, can we run out of the 281 trillion allocations in 30 years? Optimistically, including interstellar networks and continued exponential growth in IP-connected devices? Yes. Realistically, it's probably more than 100 years away, maybe outside our lifetimes, but that still sounds low when IPv6 has enough IPs for assigning an IP to every blade of grass, given every visible star has an Earth. We're basically allocating a 32-48 bit subnet to every group of grass, and there are not really enough addresses for that.
This is the worst math that ever mathed. IPv4 is 32 bits of address space. IPv6 is 128. That is 2^32 vs 2^128. Not 2^52, which isn’t even wrong it’s just weird, hopefully this is just some weird performance joke. There are enough addresses in ipv6 to address every known atom on earth. We aren’t running out anytime soon. 96 doublings of IPv4s address space is a number you can’t fathom.
172.26.0.37. That's the IP of the frggin' Kyocera printer that takes way too many clicks to configure for every new user. And we get new users... about bi-monthly, which you'd think isn't that bad, but that interface is downright kafkian.
I don't remember the router's IP. I more often than not don't remember the DNS servers. But that thing... that thing I remember.
I have actually found IPv6 simpler to set up and manage than I thought it would be. As I run at least one or two internet facing services from my home network, which I cannot do with IPv4 because my ISP is fully CGNAT. I even successfully set up my own static IPv6 address on my server so that I can just point my domain name at it and then anything I need I can just hit my domain and it will give the IP address instead of me having to remember it.
Granted I have very simple requirements, so It does seem pretty easy, except
there are still too many devices that don’t support it
too many ISPs don’t support it, including mine
So switching to IPv6 means running dual stack and setting up a tunnel, and I probably need to relearn firewalls. I’m not sure any of those are very difficult but it’s enough, especially since there’s no clear win here
If Matter-Thread ever gets off the ground that would help: most of my newer IPv4-only devices are home automation so switching to an IPv6-based protocol should finally make that happen
IPv6 isn't just larger addresses, it was meant to totally remove the need for layer 2 / MAC addresses, bus networks, DHCP, and broadcasts. Since the plan was to get rid of the 12 byte ethernet header, the 24 byte increase in IP addresses would only be a 12 byte increase in header at the end of the day. WiFi wouldn't need three MAC addresses in every packet. IPv6 only achieves it's true potential with a complete switch over.
I personally don't think that can ever happen. The opportunity to switch everyone over is absolutely long gone. IPv6 isn't an extension of v4 or a compatible replacement, like ASCII to UTF-8. It's more like X to Wayland. The protocol authors went "This is a mess we gotta rethink this from scratch". But there's so much already relying on the old protocol, and replacing it with something that doesn't perfectly match features is difficult for little reward for users.
The increase in IPv6 nodes has mostly been due to mobile networks. The tragedy is they actually still mostly use layer 2 and bridge networking. IPv4 nor v6 can handle maintaining connections while addresses change. So they set it up so that you keep the same IP address as you travel and move between different towers. This is done with massive virtual layer 2 LANs across towers, with the IP routing happening at a central datacentre. IPv6 is simply used for the larger addresses, and none of the network/protocol simplifications it promised can be used.
You say that something may replace IP4, but it won't be IP6, then you list a lot of reasons why it can't be IP6, except all those reasons would apply to whatever that something is also.
Why would I need to remember an ip address if I have a hostname? I don't know my ipv4 anywhere since it's all dynamic.
Standards like those change just fine. Sure some stuff uses ascii still, but almost everything I encounter is unicode. Email has had so many things added on over the years that that's not a fair comparison either. Other countries have plenty of kb layouts that are more popular locally than qwerty but came afterwards.
At some point ipv6 will be the default and we'll just use compatibility layers to access ipv4 only things. We don't need every device on board, just the ISPs
Which is hilarious because you hit the nail on the head. IPV6 is not new, it would have long ago been adopted if ever it were gonna. Who is still holding out hope….and why? lol
I posted this elsewhere a few days ago. I don't think IPv6 can do what I require of a basic home network, let alone a large enterprise...
I gave it a really good shot at implementing this past week. I spent 3 days getting up to speed, reading loads and trying various different things. But I am now back to IPv4 only because I just can't get IPv6 to do what I want and no amount of searching has made me think what I want to do is even possible.
Some background about the IPv4 network I run at home:
I run opnsense on a Proxmox server. I have a few services publicly available using port forwarding. I run several VLANs for IoT, VoIP, Cameras etc. I use a bunch of firewall rules that are specific client devices on the network. So for example I have a rule that blocks youtube from the kids tablets and the TV. I have a special rule around DNS for the wife as she doesn't want to use the pihole blocking features. These rules are made possible because the DHCP server is set to give them a fixed IP and I can create a firewall alias and rule based on that.
None of these things on my existing network are particularly difficult to configure, they run really well.
What I want from IPv6 is:
All devices to use IPv6 including android devices.
To have the same firewall rules configured and not have them be easily bypassed.
To use privacy addresses as I don't want to make every device uniquely trackable over the internet.
To be able to cope with changes to the ISP provided /48 prefix seamlessly.
Have internal DNS make accessing intranet devices easy.
To ensure the privacy of individual devices on my network by avoiding individual device tracking.
What I've tried:
Using DHCPv6, but this excludes android devices. So that's out.
Using a NAT (to avoid tracking of individual devices) and fd00/8 addresses, but this is pointless as those addresses are lower priority than IPv4 (FFS!)
SLACC just seems a non-starter.
Additional: I don't think I have a problem with "thinking about it all wrong for IPv6". I may have a skill issue, hence this question.
As far as I can tell to achieve requirement 1) you must use SLAAC. SLAAC without privacy extensions doesn't allow for 6).
Changes to external ISP prefix assignment impacts MY INTERNAL NETWORK (this just seems insane). And as far as I can tell there's no easy way around this, especially if I have static addresses configured for servers which would (if using SLAAC) have to be manually configured.
I can't see how DNS would be updated either, either Unbound running on Opnsense, or to the pihole. If I go for SLAAC with privacy extensions and I keep paying for a static IP (v4 & v6) to my ISP then I can't implement any firewall rules for specific devices as devices will change their IP regularly. And its even worse if I don't pay for a static IPv6 prefix.
I don't think anything I'm trying to do is particularly strange or unusual but 26 years after its introduction I don't see that IPv6 can meet these requirements. And one of the leading firewall routers, especially in the homelab doesn't have answers to these questions either.
Can you suggest a way to meet all 6 requirements I have with IPv6?
I'd read a lot if people saying how good and easy IPv6 was and I thought I'd use it as an opportunity to learn about it.
But turns out the only thing it does is give everything a public IP because the creators were so obsessed about getting rid of NAT. Nothing else seems to have been thought through.
There are IETF mailing list threads where no one has a clue as to why it's not being adopted, including one where they discover their own RFC is inconsistent with itself and that's the reason why IPv4 is given higher priority than fd00::/8. You can tell how half baked it is when you look at the number of revisions, additional protocols that have been added decades after it was initially proposed.
Their hatred of NAT seems to drive everything, but for most home and business users NAT is a great feature that drives so much simplicity by keeping you private networks private and independent of the rest of the internet.
I took my first college network engineering class in the fall of 2000. The professor was retired from the profession and nearly retired as a professor, but so excited about how this cool new thing that was coming. “IP addresses are running out. Imagine an addressing system capable of generating a unique address for every blade of grass on the planet. In a few years you’ll need to learn this new system” I’m sure he’s passed on by now. And I’m sure IPV4 will outlive me.
AFAIK, IPv6 does not truely address the router memory concern. With so many more addresses and more bytes-per-address in the tables, i imagine it's only a matter of time till we are back to such fundamental woes as "where does this packet go"... but i suppose that is limited by the rate that people buy and move ipv6 address blocks.
I have a decently-sized homelab, and a large home network. I also have IPv6 disabled everywhere. Compared to a normal home network, my config is very complex. (Extensive firewall and routing rules, multiple gateways, multiple subnets and VLANs, inbound traffic filtering, and plenty more.) With the exception of VLANs, IPv6 would require reconfiguring EVERYTHING. What's the advantage?
There's been only one real purpose of v6 that I've seen being the reason to switch: v4 running out of available addresses. Never seen anything else about v6 being used as any kind of reason to switch. So the only reason we'd ever go over to v6 is because we have to, not because we want to.
I'd be somewhat lenient when it comes to IPv6 if it used 64 bit addresses instead of 128bit. It would still not be needed thanks to NAT, CIDR and DHCP, but at least a 64bit address space is more manageable.
It's great for backbone and public address space - and maybe in enterprise, but there it's a costly transition that won't happen immediately. Things will change as hardware ages out and is replaced.
New infrastructure will be mostly IP6.
And when people leave the office, their machines will connect to, and transit IP4 networks, so they'll still need to address how everything works over IP4 (say VPN connections, any hardware/software that's still IP4 dependent in the data centers, etc).
I've got Starlink and IPv6 works fine. That's the only way I can host anything since IPv4 is CGNAT. You have to use your own router for IPv6 since theirs is a piece of junk.
My cell carrier is T-mobile and it's IPv6 only. They do have some sort of translator for accessing legacy sites though.