orangeboats

joined 1 year ago
[–] [email protected] 1 points 2 weeks ago* (last edited 2 weeks ago)

They very rarely have memory and threading issues

It's always the "rarely" that gets you. A program that doesn't crash is awesome, a program that crashes consistently is easy to debug (and most likely would be caught during development anyway), but a program that crashes only once a week? Wooo boy.

People vastly underestimate the value Rust brings by ensuring the same class of bugs will never happen.

[–] [email protected] 24 points 2 months ago (2 children)

This is why I try my damnedest not to write in weakly typed languages.

string + object makes no logical sense, but the language will be like "'no biggie, you probably meant string + string so let's convert the object to string"! And so all hell breaks loose when the language's assumption is wrong.

[–] [email protected] 1 points 3 months ago

Private addresses don't necessitate NAT. IPv6 also allows private addresses in the form of fd00::/8, like fd00:face:b00b:1::1.

[–] [email protected] 2 points 3 months ago (1 children)

.local is already used by mDNS

[–] [email protected] 4 points 3 months ago* (last edited 3 months ago)

I have a 64-bit computer, it can address up to 18.4 exabytes, but my computer only has 32GB, so I will never use the vast majority that address space. Am I "wasting" it?

You are using the addressing bits in the form of virtual memory. Right now. Unless you run a unikernel system, then in that case you could be right, but I doubt it.

Anyway, this is apples and oranges. IP addresses are hierarchical by design (so you have subnets of subnets of subnets of ...), memory addresses are flat for the most part, minus some x86 shenanigans.

Yes they are all "used" but you don't need them. We are not using 2^128 ip addresses in the world.

But we do need them! The last 64 bits of your IPv6 addresses are randomized for privacy purposes, it's either that or your MAC address is used for them. We may not be using those addresses simultaneously but they certainly are used.

Despite that, there still are plenty of empty spaces in IPv6, that's true. But they will still be used in the future should the opportunity arise. Any "wastage" is artificial, not a built-in deficiency of the protocol. Whereas if we restricted the space to 40 bits, there will be 24 bits wasted forever no matter how.

[–] [email protected] 7 points 3 months ago* (last edited 3 months ago) (2 children)

You're not "wasting" them if you just don't need the extra bits

We are talking about addresses, not counters. An inherently hierarchical one at that (i.e. it goes from top to bottom using up all bits). If you don't use the bits you are actually wasting them.

you can gradually make the other bits available in the form of more octets

So why didn't we make other bits available for IPv4 gradually? Yeah, same issue as that: Forwards compatibility. If you meant that this "IPv5" standard should specify compulsory 64-bit support from the very beginning, then why are you arbitrarily restricting the use of some bits in the first place?

If you're worried about wasting registers it makes even less sense to switch from a 32-bit addressing space to a 128-bit one in one go

All the 128 bits are used in IPv6. ;)

[–] [email protected] 24 points 3 months ago* (last edited 3 months ago) (7 children)

Every time there's a "just add an extra octet" argument, I feel some people are completely clueless about how hardware works.

Most hardware comes with 32-bit or 64-bit registers. (Recall that IPv6 came out just a year before the Nintendo 64.) By adding only an extra octet, thus having 40 bits for addressing, you are wasting 24 bits of a 64-bit register. Or wasting 24 bits of a 32-bit register pair. Either way, this is inefficient.

And there's also the fact that the modern internet is actually reaching the upper limits of a hypothetical 64-bit IPv5: https://lemmy.world/comment/10727792. Do we want to spend yet another two decades just to transition to a newer protocol?

[–] [email protected] 11 points 3 months ago

Tell that to your ISP which has fucked their IPv6 deployment up. In my experience IPv6 is actually faster since it bypasses the IPv4 CGNAT.

On busy days my IPv4 connection can get as slow as 15KB/s, now that's trash.

[–] [email protected] 15 points 3 months ago

And we are facing the effects of it as we're speaking. CGNAT and protocols like TURN were not invented without a reason.

[–] [email protected] 8 points 3 months ago* (last edited 3 months ago)

Our network architecture has the tendency to waste IP addresses. A subnet may have 10 devices but have 256 IPs (e.g. a /24 network like 192.168.0.0 to 192.168.0.255) - that's 246 wasted addresses. This wastage is kinda unavoidable since we'd need to keep our routing tables from being too fragmented.

With that in mind it is entirely possible for 64-bit addressing space to not be enough, unless we revert to methods like NAT which come with their own disadvantages.

We have already used up about one /11 block of the IPv6 internet. That's 128-11=117 bits. If we replace the standardized /64 subnets of IPv6 with old /24 subnets typical in IPv4 networks, you get 61 bits. That's dangerously close to the upper limit of a hypothetical 64-bit IPv5 internet.

[–] [email protected] 10 points 3 months ago (1 children)
[–] [email protected] 1 points 3 months ago

The reason why English sounds so different from its relatives like Dutch and German.

view more: next ›