8 ms·
One reason I haven't learned anything about IPv6 is because of how ugly the new format is. It's 128 bits divided into "48 bits for routing prefix, 16 bits for
by sillysaurus2 13y ago
One reason I haven't learned anything about IPv6 is because of how ugly the new format is. It's 128 bits divided into "48 bits for routing prefix, 16 bits for subnet id, and 64 bits for interface number." But the preferred encoding for such a thing is hex, meaning it winds up looking like 2001:0DB8:AC10:FE01:: (the interface number is omitted here, as is allowed by the protocol.) Compare that to an IPv4 address like "99.231.39.210" from the standpoint of visual appeal...
I don't have a point. Visual appeal isn't really a valid reason to dislike a design. Neither v6 nor v4 are "easy for humans." I'm pretty sure my illogical prejudice might be due to me growing up with IPv4 and never knowing anything else. Also IPv4 superficially resembles a phone number, which are quite comfortable for humans. So the fact that an IPv6 address contains so many more symbols than an IPv4 address is ... a little jarring. I know for a fact that I can instantly discern between IPv4 addresses (e.g. in log files or any other list) and tend to notice ones I've seen before based on their "shape" (like "8.8.193.39" has a totally different shape from "285.89.15.232") but IPv6 addresses are all visually uniform so it's much harder to recognize addresses you've seen before. This, again, doesn't really matter very much... What are the chances I'm going to be visually noticing oddities in lists of IP addresses? ... but it was kind of a nice feature.
Couldn't the first 64 bits of IPv6 addresses be encoded with a-z and 0-9, like domain names? Having a-z and 0-9 means there are 37 possibilities, and log(37^13)/log(2) is 68, meaning 13 a-z0-9 characters are sufficient to encode any 64-bit number. That way, IPv6 addresses would look like "d1mfx888qgnf3" or "fxyotvii435fb". That seems way less jarring of a transition than "2001:0DB8:AC10:FE01::" and it seems easier for people to remember 13 random [a-z0-9] chars than 16 random [A-F0-9] chars.
I mean, obviously this is all moot; the protocols probably won't ever change. I just wish some extra thought had been put into making IPv6 pleasant. I've only ever heard people complain about IPv6... no one seems to love it, which is generally a bad sign in a new design. On the other hand, the world will probably need IPv6 pretty soon, so maybe it doesn't matter whether it's pleasing. It would've helped its adoption rate, though.
Of course, the most obvious reason I've learned nothing about IPv6 is because IPv4 still works, and I have more important things to learn. Whenever IPv4 stops working, everyone will be forced to learn IPv6 regardless of how painful it is. I wonder when that will be?
- jlgaddis 13y ago> meaning 13 a-z0-9 characters are sufficient to encode any 64-bit number. Heh, you really should think about this for a minute... as eight hexadecimal (0-9a-f) characters are sufficient to encode any 64-bit number.
- sillysaurus2 13y ago>>> hex(random.randint(0, 2**32)) '0x56dee53b' >>> hex(random.randint(0, 2**64)) '0xedcadadd7a7a8cdfL' A 64-bit number is going to look like edcadadd7a7a8cdf, which has 16 characters for humans to read, not 8.
- cbhl 13y agoIIRC, IPv6 addresses were 128-bit numbers?
- deleted 13y ago[deleted]
- mikegioia 13y agoThere should be a rule where if you say you don't have a point you shouldn't leave a comment. You honestly think fxyotvii435fb is easier to look at than the ipv6 number? Regardless, there will be no spec change and visual ugliness is not even close to the reason for the sluggish ipv6 adoption.
- sillysaurus2 13y agoI think there's some value in people expressing their visceral reaction to new ideas. If you read it as me trying to convince people IPv6 is bad, then maybe I wasn't careful with my wording. It was an introspective comment designed for me to try to pick apart why I haven't spent any time learning IPv6 even though it seems to be important, like eating broccoli. And it's often the case that a lot of people are all thinking the same thing but everybody's too afraid to say it out of fear of someone ripping them apart, as you've done, or out of fear of sounding silly in public. Luckily my name is literally silly. (Humor is still allowed on HN, right?) So I just thought I'd post it incase it matched up with anyone else's first impressions of IPv6. I'd also disagree that "appeal doesn't matter." Appeal is certainly beside the point for a protocol spec, but one of the reasons Bitcoin became so popular so quickly is because of the hundred subtle ways the protocol is a pleasure to use (as is the implementation). Twitter is appealing because of its brevity, not merely because it lets people send messages without specifying a recipient. Email is appealing because humans can read the addresses, and because it has a "subject" line for humans to read. Etc. Yet in the case of IPv6, it's as if no thought whatsoever was put into making it appealing, which seemed odd.