News for hackers. Stuff that matters.
Re:The world in which IPv6 was a good design by api on Sunday April 19, 2026 @12:10PM (#47825343)
In retrospect I think just adding another 16 or 32 bits to V4 would have been fine, but I don’t disagree with you. V6 is fine and it works great.

All the complaints I hear are pretty much all ignorance except one: long addresses. That is a genuine inconvenience and the encoding is kind of crap. Fixing the human readable address encoding would help.

Re:The world in which IPv6 was a good design by vbezhenar on Sunday April 19, 2026 @12:31PM (#47825496)
IPv4 is absolutely fine. Consumers can be behind NAT. That's fine. Servers can be behind reverse proxies, routing by DNS hostname. That's also fine. IPv4 address might be a valuable resource, shared between multiple users. Nothing wrong with it.

Yes, it denies simple P2P connectivity. World doesn't need it. Consumers are behind firewalls either way. We need a way for consumers to connect to a server. That's all.

Re:The world in which IPv6 was a good design by Lt_Riza_Hawkeye on Sunday April 19, 2026 @01:08PM (#47825799)
You're the reason I have to call my ISP to host a minecraft server for a couple of my friends.
Re:The world in which IPv6 was a good design by mort96 on Sunday April 19, 2026 @02:21PM (#47826392)
No, they're not. That's other weird policies specific to your ISP.

With IPv4 + NAT, you have a public IP address. That public address goes to your router. Your router can forward any port to any machine on your LAN. I used to run Minecraft servers from a residential connection on IPv4, it was fine. Never had to call the ISP.

Re:The world in which IPv6 was a good design by Symbiote on Sunday April 19, 2026 @02:32PM (#47826475)
This assumes the ISP allocates a public IPv4 address.

In many countries they don't have enough, so you have CGNAT.

Re:The world in which IPv6 was a good design by mort96 on Sunday April 19, 2026 @02:45PM (#47826577)
That's a fair point. In my mind, residential ISPs give out public IP addresses and CGNAT is just for cell phones. But I recognize that the philosophy of, "we don't need to solve IP address exhaustion, we just need to keep people able to access Facebook" leads to CGNAT or multi level NAT.

Still, I do think that the solution of, "one IPv4 address per household + NAT" is a perfectly good system. I view the IPv6 mentality of giving each computer in the world a globally unique IPv6 address as a non-goal.

Re:The world in which IPv6 was a good design by pocksuppet on Sunday April 19, 2026 @04:03PM (#47827206)
There are more households than IP addresses. They can't all have one each. So you need longer addresses, and then you're already reinventing IPv6.
Re:The world in which IPv6 was a good design by mburns on Sunday April 19, 2026 @05:06PM (#47827644)
There are roughly twice as many IPv4 addresses as households globally.
Re:The world in which IPv6 was a good design by tremon on Sunday April 19, 2026 @07:09PM (#47828545)
Regardless of the actual number, I'm pretty sure that IPv4 addresses are not proportionally assigned to each region according to # of households.
Re:The world in which IPv6 was a good design by mort96 on Monday April 20, 2026 @03:39AM (#47831381)
That's not enough.

For one, businesses and other entities also need Internet access. Cloud companies in particular needs a ton of addresses. That's gonna eat up a fair chunk of the remaining 50%.

Two, humanity is still growing, governments across the world are building new housing. That's gonna eat up another chunk.

Three, routing is hierarchical, and infrastructure organisations and ISPs are assigned blocks of addresses, not individual addresses. We can't just have a pool of free IP addresses and assign any address to any house in the world as needed. So even having 50% of IP addresses free wouldn't really be enough.

So in my mind, an IP addresses to household ratio of 0.5 means residential CGNAT is inevitable, even if we ignore legacy issues like individual universities and other institutions owning gigantic /8 or /16 ranges.

Re:The world in which IPv6 was a good design by wyufro on Sunday April 19, 2026 @03:13PM (#47826788)
Even if you go with one IPv4 per household + 1 per company you're going to be hard stretched to find room for that in 32 bits, at least after you add the routing infrastructure.
Re:The world in which IPv6 was a good design by happymellon on Sunday April 19, 2026 @04:47PM (#47827502)
> That's a fair point. In my mind, residential ISPs give out public IP addresses and CGNAT is just for cell phones.

If you are giving out public IPs then you aren't really NAT'ing.

Re:The world in which IPv6 was a good design by mort96 on Sunday April 19, 2026 @04:53PM (#47827537)
Hm? The ISP gives one IP address to a router in a house, that router uses NAT to let all the computers inside that house use the Internet through the one single shared public IP address. That's NAT, isn't it?
Re:The world in which IPv6 was a good design by IcePic on Monday April 20, 2026 @04:20AM (#47831585)
Well, in a strict sense, it is "you" who chooses to run a nat'ing router there, you could just have one single computer per ISP connection. Or have it run a proxy for you, or nat.

I mean, I understand that this feels normal today, that 10-20-50 devices need internet and that the way to manage that is to nat the connections, but your ISP isn't doing nat, it is you.

Re:The world in which IPv6 was a good design by mort96 on Monday April 20, 2026 @08:26AM (#47833283)
The model of "every Internet subscriber gets one IP address" only works thanks to NAT.
Re:The world in which IPv6 was a good design by voxic11 on Sunday April 19, 2026 @02:31PM (#47826465)
Nope, CGNAT means I need to call my ISP. We now have 2 levels of NAT because the IPv4 address situation has gotten so bad they can't even give every residence its own public IP. If your ISP hasn't adopted it yet its likely they got lucky and bought a ton of IPv4 addresses a long time ago when they were cheap and have decided using them is cheaper than upgrading their network to support CGNAT.
Re:The world in which IPv6 was a good design by Spooky23 on Sunday April 19, 2026 @05:05PM (#47827642)
Nope. If you get assigned a routable IPv4 IP, you just have a shit ISP. I led the rollout one of the larger O365 implementations. Outlook and the office stack needed like 10-16 ports per user. We served like 150k people with 30 outbound IPs. If you have an IP, you have 64k+ ports to use.

I also deployed it as a pilot on an internal network. Other than getting direct IPv6 connectivity to some services, which sometimes gave us better performance, it conferred no advantage to us.

IPv6 is great for phones where you don't expect any inbound traffic. Even then, every US carrier is using Carrier NAT to route and proxy traffic for their own purposes.

Re:The world in which IPv6 was a good design by unethical_ban on Sunday April 19, 2026 @05:27PM (#47827774)
I'm glad I have a shit ISP, then. So shitty being able to host my own software.
Re:The world in which IPv6 was a good design by Spooky23 on Monday April 20, 2026 @06:59AM (#47832597)
The “don’t” was missing. Honestly, I give up with Siri dictation. Either my voice has changed or it’s changed in a way that it doesn’t like my cadence or diction.

Either way, mea culpa.

Re:The world in which IPv6 was a good design by unethical_ban on Monday April 20, 2026 @08:51PM (#47843223)
Ah, no problem. It ended up with me doing a half day deep dive on IPv6 internals.
Re:The world in which IPv6 was a good design by Fnoord on Sunday April 19, 2026 @01:45PM (#47826110)
IPv4 usage in its current state would've been much more limited and annoying in a world without IPv6. Therefore, IPv4 exists as-is thanks to others adopting IPv6.
Re:The world in which IPv6 was a good design by throw0101a on Sunday April 19, 2026 @03:17PM (#47826814)
> IPv4 is absolutely fine. Consumers can be behind NAT.

I don't want our communications infrastructures to be just for consumers.

Re:The world in which IPv6 was a good design by RIMR on Sunday April 19, 2026 @02:06PM (#47826272)
> Yes, it denies simple P2P connectivity. World doesn't need it.

Worth pointing out that this article was written by the now-CEO of Tailscale. I don't know if "The world doesn't need P2P connectivity" is a compelling take.

Re:The world in which IPv6 was a good design by fc417fc802 on Sunday April 19, 2026 @07:03PM (#47828499)
With the obligatory caveat that I am but a single datapoint, I use various P2P apps through multiple levels of NAT without issue and I very intentionally prevent devices on my local LAN from being publicly reachable. So it rings true to me.

I do wish ISPs would refrain from intentionally breaking things though. It ought to be illegal for them to block specific ports or filter specific sorts of traffic absent a pressing and active security concern.

Re:The world in which IPv6 was a good design by estimator7292 on Sunday April 19, 2026 @12:36PM (#47825523)
Yeah, if you ignore literally every use of the internet except "check Facebook" then it's perfect.

Unfortunately, the internet is used for a lot more than using one of the six gigantic centralized websites.

Re:The world in which IPv6 was a good design by moffkalast on Sunday April 19, 2026 @01:16PM (#47825860)
I used to think that too, but outside of our niche bubble most people genuinely do only be web browsing.

Speaking of that, why don't we just keep ipv4 for ourselves and let them eat ipv6?

Re:The world in which IPv6 was a good design by betaby on Sunday April 19, 2026 @01:22PM (#47825904)
Most people browse Facebook/Youtube over IPv6 as a matter of fact and that work perfectly.
Re:The world in which IPv6 was a good design by jrm4 on Sunday April 19, 2026 @02:36PM (#47826507)
This comment exemplifies my worst fear and reinforces my somewhat incomplete idea that IPv4 is perhaps overall safer for the world, and that "worse is better" depending on what you're optimizing for.

Roughly, it's my belief that an IPv6 world makes it easier for centralizing forces and harder for local p2p or p2p-esque ones; e.g. an IPv6 world would have likely made it easier to do bad things like "charge for individual internet user in a home."

The decentralization of "routing power" is more a good thing than bad, what you pay for in complexity you get back in "power to the people."

Re:The world in which IPv6 was a good design by MrDOS on Sunday April 19, 2026 @03:02PM (#47826695)
> easier to do bad things like "charge for individual internet user in a home."

This idea comes up in every HN conversation about IPv6, and so I suppose this time it's my turn to point out RFC 8981[0]. tl;dr: typically, machines which receive IPv6 address assignment via SLAAC (functional equivalent of DHCP) periodically cycle their addresses. Supposed to offer pretty effective protection against host-counting.

0: https://datatracker.ietf.org/doc/html/rfc8981

Re:The world in which IPv6 was a good design by kalleboo on Sunday April 19, 2026 @10:36PM (#47829760)
A lot of us don't like this "you will own nothing and you will be happy" kind of energy.
Re:The world in which IPv6 was a good design by fortran77 on Sunday April 19, 2026 @03:46PM (#47827075)
> Fixing the human readable address encoding would help

Yes! They need an alternate encoding form that distills to the same addresses.

My machines Link-local IPV6 address is "fe90::6329:c59:ad67:4b52%8"

If I try to paste that into the address bar in Edge or Chrome (with the https://) it does an internet search on that string! No way around it.

I have to do workarounds like: "http://fe90::6329:c59:ad67:4b52%8.ipv6-literal.net:8081/

All to test the IPv6 interface on a web server I'm running on my local machine.

Re:The world in which IPv6 was a good design by pocksuppet on Sunday April 19, 2026 @04:02PM (#47827201)
An IPv6 literal hostname in a URL must be surrounded by square brackets.
Re:The world in which IPv6 was a good design by fortran77 on Sunday April 19, 2026 @11:20PM (#47830047)
Chrome and Edge still do a search on it in my default search engine even with []

https://[fe80::5ad6:9567:26b7:763b%18]:8081/

Even Hacker News doesn't think it's a link

Re:The world in which IPv6 was a good design by 1718627440 on Monday April 20, 2026 @08:29AM (#47833317)
On Mozilla Firefox after reenabling the separation into URL and searchbar it reports: "Invalid URL – Hmm. That address doesn’t look right. \n Please check that the URL is correct and try again." What does the '%' mean in there?
Re:The world in which IPv6 was a good design by pocksuppet on Monday April 20, 2026 @04:38PM (#47840205)
For link-local addresses, the part after % identifies the link. It's platform-specific - in Linux it's the interface name and in Windows it's an ID number.
Re:The world in which IPv6 was a good design by Dagger2 on Sunday April 19, 2026 @09:12PM (#47829269)
Blame the WHATWG for that. They're the reason that v6 addresses in URLs are such a mess. http://[fe90::6329:c59:ad67:4b52%8]:8081/ should work, but doesn't because they refuse to allow a % there. (This is really damned frustrating, because link-locals are excellent for setting up routers or embedded machines, or for recovering from network misconfigurations.)

If it's on the same machine then just use http://[::1]:8081/. Dropping the interface specifier (http://[fe90::6329:c59:ad67:4b52]:8081/) works if the OS picks a default, which some will. curl seems to be happy to work. Or just use one of the non-link-local addresses on the machine, if you have any.

The other frustrating part of this is that it makes it impossible to come up with your own address syntax. An NSS plugin on Linux could implement a custom address format, and it's kind of obvious that the intention behind the URL syntax is that "[" and "]" enter and exit a raw address mode where other URI metacharacters have no special meaning. In general you can't syntax validate the address anyway because you don't know what formats it could be in (including future formats or ones local to a specific machine), so the only sane thing to do is pass the contents verbatim to getaddrinfo() and see if you get an error.

But no, they wrote the spec to only allow a subset of v6 addresses and nothing else.

I very much didn't test it, but this patch might do the job on Firefox (provided there's no code in the UI doing extra validation on top):

  --- a/netwerk/base/nsURLHelper.cpp
  +++ b/netwerk/base/nsURLHelper.cpp
  @@ -928,3 +928,3 @@ bool net_IsValidIPv4Addr(const nsACString& aAddr) {
   bool net_IsValidIPv6Addr(const nsACString& aAddr) {
  -  return mozilla::net::rust_net_is_valid_ipv6_addr(&aAddr);
  +  return true;
   }
Re:The world in which IPv6 was a good design by pocksuppet on Sunday April 19, 2026 @04:02PM (#47827197)
If you add new bits to v4 you invent an incompatible protocol, and you should add a lot of bits so you'll never have to invent another incompatible protocol again. You can also fix the minor annoyances in v4.
Re:The world in which IPv6 was a good design by bombcar on Sunday April 19, 2026 @04:17PM (#47827313)
Flexible! The first byte tells you how many bytes of addressing you have. Perfect and future proof!
Re:The world in which IPv6 was a good design by jasomill on Monday April 20, 2026 @12:29AM (#47830411)
At best future-resistant.

True future-proofing would require representing address length as an arbitrary-precision nonzero unsigned integer.

Since allowing a zero-length network address format would serve no purpose other than to pointlessly complicate standards definitions, you could trivially and without loss of generality interpret zero to denote some extended-length address length representation to be defined in a future version of the standard.

Re:The world in which IPv6 was a good design by tremon on Monday April 20, 2026 @07:33AM (#47832827)
Hardware implementations typically do not like variable-size fields. Not just because the total header size becomes unpredictable, but because it means any following fields no longer have a fixed offset, and that complicates parsing.
Re:The world in which IPv6 was a good design by perennialmind on Sunday April 19, 2026 @05:39PM (#47827872)
IPv4 was designed with extension headers: it boggles my mind that simply using the headers to extend the address was never seriously considered. It was proposed: https://www.rfc-editor.org/rfc/rfc1365.html

It still would have been a ton of work, but we could have just had what IPv6 claimed to be: IPv4 with bigger addresses. Except after the upgrade, there'd be no parallel system. And all of DJB's points apply: https://cr.yp.to/djbdns/ipv6mess.html

Re:The world in which IPv6 was a good design by api on Sunday April 19, 2026 @06:22PM (#47828170)
Here’s my understanding.

The people involved in core Internet protocol design were used to the net being a largely walled garden of governments, corporations, universities, and a small number of BBSes and niche ISPs.

Major protocol upgrades had happened before, not just for the core protocol but all kinds of other then-core services.

It had been a while but not that long, I think less than 20 years, and last time it was pretty easy. They assumed they could design something better and phase it in and all the members of the Internet community would just do the right thing.

That’s probably what made them feel they could push a more radical upgrade.

Unfortunately they started this right as the massive tsunami of Internet commercialization hit. Since V6 was too new, everyone went with V4. Now all the sudden you had thousands of times more nodes, sites, and personnel, and all of them were steeped in IPv4 and rushing to ship on top of it. You also lost the small town atmosphere of the early net where admins were a club and could coordinate things.

Had V6 launched five years earlier V4 would probably be dead.

V6 usage will probably keep creeping up, but as it stands we will likely be dual stack forever. Once the installed user base and sunk cost is this high the design is fixed and can never be changed without a hard core heavy handed measure like a government mandate.

Re:The world in which IPv6 was a good design by pocksuppet on Sunday April 19, 2026 @07:46PM (#47828779)
They weren't all that wrong. NAT was an incompatible protocol upgrade - that's why it broke protocols that made pre-NAT assumptions, like FTP. DNS64 is an incompatible protocol upgrade that keeps most stuff still working. In DNS64, whenever your DNS resolver encounters an IPv4-only site, it translates it to an IPv6 address under a translator prefix, and returns that address to the client. The client connects to the translator server via that address, and the translator server opens an IPv4 connection to the website. This only breaks things to about the same small extent that NAT breaks old protocols like FTP.

Most things use DNS, so they keep working. Only things that rely on connecting to an exact IPv4 address break, which is very similar to the way that NAT broke things that relied on accepting connections to an exact IPv4 address.

Re:The world in which IPv6 was a good design by iknowstuff on Sunday April 19, 2026 @06:49PM (#47828374)
iOS is benefitted from a heavy handed mandate so that it and all of its apps sing on IPv6 only networks. They just need to expose IPv4 internet as IPv6 addresses.
Re:The world in which IPv6 was a good design by bsder on Sunday April 19, 2026 @10:36PM (#47829756)
> Had V6 launched five years earlier V4 would probably be dead.

Not a chance. IPv6 ate way more memory than IPv4 and memory was expensive back in 1995. Even IPv4 proliferation was chewing up memory and that was why the IETF introduced Classless Inter-Domain Routing (CIDR) in 1993 which gave us subnet masking.

Memory cost was a problem in routing tables until after both the DotBomb and the TeleBomb.

Re:The world in which IPv6 was a good design by Dagger2 on Sunday April 19, 2026 @11:10PM (#47829991)
I said "whenever anybody says it's bad and tries to come up with a better alternative, they end up coming up with something equivalent to IPv6", and that's what you did here. And as predicted, it was 6to4 you reinvented.

v4 extension headers are well known to get your packets dropped on the Internet, so they're a non-starter, but there's another extension mechanism you can use: you can set the "next protocol" field to a special value, then put the extended address at the start of the payload, followed by the original payload. This is functionally identical to using extension headers, but using a mechanism that doesn't get your packets dropped.

Far from not being seriously considered, this approach was adopted in v6 as RFC 3056.

> Except after the upgrade, there'd be no parallel system.

No. You get a parallel system because v6 addresses are too big to work with v4. Even if you used extension headers, v6 addresses would still be too big to work with v4. Whatever you do, v6 addresses are too big to work with v4. You WILL get a parallel system, and there's no way around this other than not making the addresses bigger.

Re:The world in which IPv6 was a good design by perennialmind on Monday April 20, 2026 @08:55AM (#47833609)
The hopes were for a converged software stack, but the candidates were all parallel protocols competing with IPv4. A full transition would end with the extinction of IPv4. Upgrading IPv4, quite apart from the brass tacks of the wire format, would have entailed variable-length addresses and even the idea of starting a new protocol with 64-bit addresses with an upgrade path was considered far too scary at the time. That was only one of a slew of non-technical requirements imposed from above for future proofing, NIH paranoia, vague security promises and politics in general.

A decade later, when IPv6 had real-world deployments was far to late for 6to4 to save the day: entirely because a swath of non-6to4 addresses existed and needed to be reachable. Given no strategic gain apparent for upgrading the commercial core, aligning financial interests by upgrading past the edge instead would absolutely have made sense. Unfortunately the hard parts the engineers anticipated in the early 90s were not the ones that held IPv6 back.

In summary, I agree: 6to4 could have been great!

Re:The world in which IPv6 was a good design by Dagger2 on Monday April 20, 2026 @10:16PM (#47843737)
Yes, of course they were all parallel protocols -- because your problem here is that v4 doesn't _have_ variable-length addresses. It's trivial to imagine a version of v4 that does, but that version would also be a parallel protocol to the version of v4 we actually have.

> even the idea of starting a new protocol with 64-bit addresses with an upgrade path was considered far too scary at the time

No it wasn't? Every proposal had an upgrade path. Having one was a mandatory requirement.

You can read the requirements document yourself: https://datatracker.ietf.org/doc/html/rfc1726. To me, it looks like these requirements were decided by the community rather than being imposed from above, but either way you can see that having a simple transition from v4 is listed right there.

> A decade later, when IPv6 had real-world deployments was far to late for 6to4 to save the day: entirely because a swath of non-6to4 addresses existed and needed to be reachable

What I'm hearing is that the compatibility with v4 that 6to4 provides wasn't considered important, and not by people in any position of authority but rather by the actual people choosing what to deploy on their own networks. Even though there were more 6to4 hosts than non-6to4 ones, and even though 6to4 doesn't prevent you from reaching those non-6to4 hosts, people still didn't want it.

Re:The world in which IPv6 was a good design by pocksuppet on Sunday April 19, 2026 @07:43PM (#47828754)
You would have ended up with a protocol identical to IPv6, but with fewer address bits.

If you add *any* address bits you've already broken protocol compatibility and you need to upgrade the entire world. While you're already upgrading the entire world, you should add so many address bits that we'll never need more, because it costs the same, and you may as well fix those other niggling problems as well, right?