Hacker News new | ask | show | jobs
by cuspycode 1950 days ago
Of which the most famous instance was: "we'll never need more than two digits to represent the year in a date".
1 comments

Okay, but I'll die on the hill that 128 bits ought to be enough for any IP address, right?

(Bracing myself for the introduction of Smart Nano Carbon, with individually addressable nanotubes)

According to the only option I have for a "Broadband" (FCC 25mbit down 3mbit up) ISP... No, they're still happily giving me only a /64 IPv6 address.

IPv6 wants to reserve the lower 64 bits for RNG addresses (sure, fine), and the upper 32 bits for classification and global routing (also fine?); leaving 32 bits for inner-ISP subnet needs. In practice the ISPs seem intent on at _best_, for an actual business class connection (which I've seen) providing a /56 to that, but forcing stupid router firmware to eat /4 of that, leaving in practice a /60 on the business link.

"Stateless address autoconfiguration (SLAAC) requires a /64 address block, as defined in RFC 4291. Local Internet registries are assigned at least /32 blocks, which they divide among subordinate networks.[42] The initial recommendation stated assignment of a /48 subnet to end-consumer sites (RFC 3177). This was replaced by RFC 6177, which "recommends giving home sites significantly more than a single /64, but does not recommend that every home site be given a /48 either". /56s are specifically considered. It remains to be seen whether ISPs will honor this recommendation. For example, during initial trials, Comcast customers were given a single /64 network.[43]"

https://en.wikipedia.org/wiki/IPv6#Global_addressing

I've been sort of fortunate given how terrible American Internet is to be on Charter (legacy Time Warner). Due to their agreement with the FCC they can't (yet) put any cap on data use, and they've always given me a /56 when I request one. [1]

Really not looking forward to having to move or Charter finally implementing caps. With a lot of luck I'll be somewhere with municipal fiber, but I'm not hopeful.

[1] If you don't send an IPv6 prefix hint, you get a /64. I can get a /56 reliably by requesting it. Behavior with /48s is a bit buggy. Last time I tested it I could get a /48 some of the time, but sometimes the request would fail and I'd end up with a /64, so I went with the stable option instead.

> 128 bits ought to be enough for any IP address, right?

Here's something I find really amusing. In the late 90s, when IPv6 was being introduced, the joke was that 128 bits would suffice until we all had massively parallel wrist watches. Which would never happen, certainly not in our lifetimes.

The iPhone was released in 2007.

You don't need to go that far. Preempting fragmentation can use up bits quickly if you're not careful.
Well, maybe. If you're trying to use the IP address to include routing information, maybe it's not enough. It's only 16 groups of 8 bits, or 8 groups of 16.

We wouldn't use them up in the same way we used up IPv4, there really can be 4 billion devices to address. But I could see some important spaces becoming very crowded when you try to cram multiple levels of routing information into that small a space, resulting in exploding complexity of routing tables as you try to garbage collect from sparse areas.

I've seen some people express reservation by how greedily they're allocating IPv6 blocks. Will home network /64 prefixes one day be like how Ford Motor Company owns all of 19.0.0.0 in IPv4? Well, probably not. But there's already a lot fewer than 128 bits of real addresses to hand out.
/64 is the smallest available subnet by design and many things will break the moment you try to subdivide further. The idea was that the lower 64 bits would identify a particular NIC by it's MAC address; this was later changed to be a randomized suffix. This is why most machines typically have hundreds of v6 addresses - they generate a new one every few hours.
There's ~2^270 atoms in the universe, so that feels like a safe upper bound for the time being
Naturally, there's an xkcd about exactly that: https://xkcd.com/865/