this post was submitted on 19 Jun 2024
316 points (85.9% liked)

Programmer Humor

19512 readers
355 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 

Today in our newest take on "older technology is better": why NAT rules!

you are viewing a single comment's thread
view the rest of the comments
[–] Morphit@feddit.uk 13 points 4 months ago* (last edited 4 months ago) (1 children)

2606:4700:4700::1111

Hmm, maybe Google is easier:
2001:4860:4860::8888

Quad9 is 2620:fe::fe or 2620:fe::9

I don't understand why they can't get better addresses than that. Like surely 1::1 would be valid?

Edit: So IANA only control addresses 2001:: and up and there are quite a few IETF reservations within that. I don't know why they picked such a high number to start at. Everything else seems IETF reserved with a little space allocated for special purposes (link-local, multicast, etc.).

[–] Thiakil@aussie.zone 1 points 4 months ago (3 children)

Address space is so huge that iirc the only global addresses in use are 2xxx::

Its so huge that it's not needed to use anything else is the goal as far as I see. If it starts with 2, it's global.

[–] Thiakil@aussie.zone 3 points 4 months ago (1 children)

Also for routing table reasons. Ipv6 needs to use prefixes to do link aggregation or it just gets too bjg

[–] Morphit@feddit.uk 1 points 4 months ago (1 children)

I can see that, but surely there wouldn't be much difference matching the first 4bits (0x2XXX, 0xfXXX) vs the first 16 (0x0001)?
0:: is presumably all for loopback-type stuff, but I don't see a reason not to use 1:: through 1fff:: and they would be much easier to type/remember/validate for public DNS servers which are needed before name resolution is available.

[–] Thiakil@aussie.zone 1 points 4 months ago

Not sure on the history of that. It would make things like that easier

[–] JohnEdwa@sopuli.xyz 2 points 4 months ago (1 children)

IPv6 is big enough to give 10 billion unique addresses for every grain of sand on earth and still have some left over. Just in case we need to, I guess.

[–] dan@upvote.au 3 points 4 months ago (1 children)

It's great that the address space is so large. When designing a new system, you want to make sure it'll hopefully never encounter the same issue as the old system, to ensure you don't have to migrate yet again.

[–] JohnEdwa@sopuli.xyz 1 points 4 months ago (1 children)

Sure. But the IPv6 implementation is a bit like if we went "you know the y2038 problem of 32 bit numbers, and how goin under 1970 is sometimes hard? Lets solve it by making it start from the big bang and store time as a 256 bit integer so we don't run out until year 3.1 x 10^69".

IPv6 is big enough for 340,282,366,920,938,463,463,374,607,431,768,211,456 unique addresses. Are we expecting to create an universe consuming army of exponentially replicating paper clip converting robots that each need an IPv6 address or something?

[–] dan@upvote.au 1 points 4 months ago

Having a large range has a number of benefits though. Companies that have dozens of IPv4 ranges may be fine with a single IPv6 range, which simplifies routing rules.

A lot of features in IPv6 take advantage of the fact that networks have at least a /64 range (at least if they're built correctly according to RFC4291 and newer specs). SLAAC is a major one: Devices can auto-configure IP addresses without having to use something like a stateful DHCP server.

[–] Morphit@feddit.uk 1 points 4 months ago

Why start at 0x2001 though? Why not 0x0001? Then we could have addresses like 1:1:1::1 or 1:2:3::4.