10 ms·
You have to go back further in time and hit the designers of IPv4 on the head for not making it forward compatible. IPv6 is as backward compatible as is possib
by welterde 3y ago
You have to go back further in time and hit the designers of IPv4 on the head for not making it forward compatible.
IPv6 is as backward compatible as is possible within this constraint.
You can embed IPv4 space within IPv6, there is NAT64, tunneling IPv6 over IPv4 and many other transition technologies.
It's not possible to design a protocol that is any more backwards-compatible.
- kristopolous 3y agoVint Cerf has called the decision of it being 32 bits as silly and arbitrary, like having a car odometer with 40 digits. If he had pushed for more, he thought nobody would have taken him seriously. The idea of 32 becoming scarce was laughable. Also the complaint about ipv6 isn't a technical one, it's a usability one. Extending it to 48 bits would have been easy enough for people - like international calling. Those 16 bits could be in hex, as a convention, so something like "(4EA7) 8.8.4.2". However, I've constantly heard that the 128 bit hexadecimal with colons just looks too complicated and inconvenient. You might be brilliant and find it easy but to a lot of people ipv6 addresses look like cryptographic hashes
- nash 3y agoOnly network engineers should see or care about IP addresses. The fact IPv6 addresses use colons is why people don't use IPv6 is the worst take I've ever heard.
- kristopolous 3y agoyou've /never/ heard anyone call ipv6 long, confusing, and complicated? I've basically /only/ heard people say that. This is probably because the idealized world of "only network engineers" is leaky. Programmers, sysadmins, people trying to get their network printer to work, non-specialists have to interface with network addresses constantly. Saying they shouldn't is not a description of reality. Not everyone who needs to set up or diagnose a network do so as a career path. Almost all hardware and software has supported ipv6 for many many years. The humans using it are the ones that shut it off or disable it. Unless you address the human behavior of why that is, this problem will not be addressed. I claim there needs to be a friendlier, casual interface that makes people's lives easier. It can be a crude kneecapped sheen so long as it addresses the needs of the general user. Then they'll use ipv6, not for ideology or virtue reasons about the commons but because it makes their lives easier
- avereveard 3y agoI've almost never heard anyone in the general population use ip addresses, with the notable exception of gamers, but that's fading away too now that all major games come with friends, parties and deep linking support I don't really understand the use case for typing up addresses either, copy pasting is going to be more precise, and if one can't read 8 quartet of letters one shouldn't be near networking equipment either. Heck ibans are about as complex and the general population is coping just fine
- kristopolous 3y agoright, but this isn't theoretical. ipv6 was finalized 25 years ago and global adoption is around 1/3. There's something seriously wrong and it's not that 2/3s of the world are using Windows Me and 20+ year old devices that don't support it. It's human and behavior driven and addressing that is a matter of packaging, process, promotion, product, presentation... all those marketing ps.
- Qwertious 3y agoNitpicking, but it looks closer to 1/2: https://www.google.com/intl/en/ipv6/statistics.html https://www.google.com/intl/en/ipv6/statistics.html Also it's increasing at ~5% a year, so in 12 years it'll be at ~104%.
- kristopolous 3y agoInteresting. I guess it depends on how it's measured. I had just searched "adoption rates" and saw it said 1/3. China is a laggard again here. I earlier saw that they were the largest windows xp holdout left. Sure it's only. 0.5% but many places are down to 0.1.
- conradfr 3y agoNetwork engineers are the one making the transition (or not).
- LatticeAnimal 3y agoI host a few video game servers for my friends and love the fact that I can say my easy to remember IPv4 address aloud whenever they forgot it. I have an IPv6 address but haven't bothered memorizing it or giving it out because it would just be more hassle.
- ncts 3y agoThis is even better: game.latticeanimal.net. 3600 IN A 1.2.3.4
- snowram 3y agoI don't know a single gamer who rented a domain for private use. In fact, I would argue than the hassle of setting one up is the reason why Hamachi got popular back then. You don't have to bother with knowing any technical stuff, just download a software, share a code and play.
- erinnh 3y agoYou dont? It was extremely common with Teamspeak.
- josephg 3y agoHamachi was popular back in the day because it meant you didn’t need to forward ports on your router. (Something that still confuses some of my friends).
- Symbiote 3y agoPeople used to use https://www.noip.com/ https://www.noip.com/ and similar services for this.
- WorldMaker 3y agoDynDNS was big among some of my gaming friends way back in the 90s at one point, when it was a free, donation-supported tool. It was quite useful and relatively low hassle. At the time it provided a real simple desktop tool that you would install, sign in to your account name, and it would auto-update a (very) short TTL DNS A record for you. (Generally in the form of username.dyndns.org, but as I recall donators could also bring their own top level domain.) We've got mDNS today to fill some of that gap, but I still wonder if it would also still be nice to have a "no click" desktop tool in 2023 that could quickly update very short TTL DNS AAAA records for you on a subdomain of your choice, and sort of lament Dyn's many pivots (and eventual Oracle buy out) because that original idea still has legs even if it didn't survive the 90s. (Though maybe this time as a true non-profit internet service or operating system feature.)
- nikanj 3y agoBut only network engineers pick the protocols used. You’re making life harder for the very people who should be your primary audience. PS: As a developer, I often read logs and go ”oh yeah, that’s just our satellite office IP”. 192.168.1.110 is the network printer, etc. There’s no hope of recognizing IPv6 addresses at a glance the same way.
- terom 3y agoNo, 192.168.1.110 is MY network printer, you must have gotten confused somewhere!
- Symbiote 3y agoMaybe if you only have five VMs or something, but when there are 100 or more the additional bits in an IPv6 address will be useful. You can recognize a whole subnet as dev, or production, or a different site, or the office LAN.
- WorldMaker 3y agoThere's more hope than you think as a developer to recognize those types of IPv6 addresses at a glance. The :: shortcut alone also acts a shortcut for pattern matching. You may have network designs where things like {prefix}::110 is the network printer and {prefix}::beef is the cafeteria's new meat printer. Whether or not you bother to remember what exactly {prefix} is or if in worst case it changes regularly and you can mostly ignore it (after briefly pattern matching that it looks close enough to other IPs in your network). There's different "rules" from IPv4, but as a developer those mostly don't matter and if your network engineer wants you pattern matching your network's machines, then you can just as easily pattern match your network's machines as with IPv4. (That said, there's privacy reasons your network engineers might not want that, security through obscurity and all that. That can be just as true in IPv4, but fewer companies have enough IPv4 address space to truly obfuscate the network patterns. Life is harder for network engineers in IPv6 not entirely because it "has to be" but because "privacy and security is 'easier' if we use a more complicated approach to IPv6 than we did with IPv4 where we would just sequentially number machines within our allotted space".)
- hsbauauvhabzb 3y agoI can see plenty of situations where colons behaviour might be confusing, let’s start with a http url on a non standard port with credentials embedded, I assume something close to http://01:02@03:04:05:06:07:8000/foo/bar http://01:02@03:04:05:06:07:8000/foo/bar would be a valid url,
- piperswe 3y agoClose, it would be more like http://01:02@[03:04:05:06:07:08:09:10]:1112/foo/bar http://01:02@[03:04:05:06:07:08:09:10]:1112/foo/bar
- hsbauauvhabzb 3y agoGreat, so now I have to learn a new uri syntax too?
- piperswe 3y agoSame syntax, IP just goes in [square brackets] to disambiguate.
- hsbauauvhabzb 3y ago$things_i_dont_want_to_need_to_know ++;
- welterde 3y agoIf one has to go through the pain of changing everything why not make sure one doesn't have to do it again any time soon? Also having 64-bit for the network address (and 64-bit for the device) does have certain benefits that make it easier to use than shorter addresses in practice for a single entity, since one can hierarchically model the network and do things like <my_network>:<site-id>:<vlan>. So even in absence of DNS one doesn't quite have to remember 128-bit of information for every device.
- lazystar 3y ago> why not make sure one doesn't have to do it again any time soon? the pyramids in egypt took over a lifetime to build; a marvel of engineering, as theyve lasted thousands of years and noones had to build replacement pyramids. the problem, though, is noone in todays culture needs pyramids.
- deleted 3y ago[deleted]
- tsimionescu 3y agoBut ever since privacy extensions, that's not how IPv6 is allocated, right? Each individual system is supposed to get a /64. Your household should actually have a /56 or something crazy like that, which few ISPs actually do. SLAAC doesn't even work if it doesn't have it's own /64 per host, I believe.
- welterde 3y agoIt is. A typical enterprise might get allocated a /32, which gives them 32-bit to nicely design their network and give 64-bit to each individual network where devices are connected. A typical ISP will get allocated a much larger allocation like a /20, which allows them to allocate a /56 for each of their customers while still having a few bits to play with. But all starting with the same <isp_network> prefix. With IPv4 you will have many separate fragmented networks that have no numbers in common. And this will only get worse over time.
- 3y ago
- k4ch0w 3y agoI think this is absolutely one of the reasons. Addresses are very hard to remember in ipv6. You usually just have to remember the first 3 parts of ipv4 and then change the last digit based on the host you want. IPv6 I know it has shorthand but still it doesn’t register in my brain the same way.
- Symbiote 3y agoWhat alternative do you suggest for making the IP addresses longer (so more people can connect computers to the Internet) while keeping them equally memorable? The most recent anonymous editor to the IPv6 address article on Wikipedia has address "2602:FBF6:0:0:30C6:7069:6DF0:FD24". An IPv4-like notation of that would be "9730.64502.0.0.12486.28777.28144.64804".
- butlerm 3y agoThe problem is that adding so many bits to IPv6 addresses, by way of intended integration of the EUI / MAC address in particular is not actually necessary and is a bit of a mistake. As a rule, no one even wants their MAC address propagated across the entire Internet, nor to be registered in DNS either. There are some technical advantages to doing things that way of course, but they are arguably rather outweighed by the administrative disadvantages. The protocol could have been designed so that typical layer 3 addresses were not much longer, nor harder to type or remember than IPv4 addresses are.
- ianburrell 3y agoIPv6 having 128-bit is a huge advantage for transition. NAT64 shoves the 32-bit IPv4 address into the host field. MAP-T shoves the source and destination IPv4 addresses and ports into IPv6 address. This makes IPv4-IPv6-IPv4 NAT possible. Which means it is possible to run IPv6-only network with IPv4 at on the customer network and edges.
- butlerm 3y agoThere are certainly advantages as you point out, but just because you have 128 bit addresses does not mean it is convenient for 64 bits of that to be filled with semi-random data.
- commandersaki 3y agoI don't know why Vint Cerf should or want to take the blame for IP address exhaustion. We knew about the problem for 30+ years, we had a committee in charge of selecting IPng to mitigate such a disaster, we selected IPv6 as IPng, and then we ran out of IP address space. The only reason I could see why Vint Cerf is to have any blame is that he firmly agreed on a clean slate Internet protocol that didn't give any consideration towards a transition plan. Yes that's how the events unfolded, but that doesn't make him some martyr.
- hn_throwaway_99 3y ago> IPv6 is as backward compatible as is possible within this constraint. Yikes, couldn't disagree with that more. There are a ton of things that ipv6 designers could have done to make the transition much easier. This is a (now quite old) blog post that is my "go to" that explains a lot of the problems with ipv6: https://cr.yp.to/djbdns/ipv6mess.html https://cr.yp.to/djbdns/ipv6mess.html FWIW I couldn't find the link to that post until finding it on one of the comments here, https://news.ycombinator.com/item?id=33894933 https://news.ycombinator.com/item?id=33894933 . That whole thread has lots of good commentary. I still don't understand how people can defend ipv6. I remember the "we better get ready to switch to ipv6" noise a quarter century ago when I started my career. And yet we're still talking about how v4 addresses are worth billions. Ipv6 has been an unmitigated disaster. The original architects should have "the perfect is the enemy of the good" forcibly tattooed on their foreheads.
- welterde 3y agoThat document has been going around for ages and is based on the same fundamental misunderstanding that one somehow can extend IPv4 in a way somehow, but remain compatible with IPv4-only clients. This is just not possible. Most of the other criticism is not relevant anymore, since we now have a lot of transition technologies that allow IPv6 clients to interoperate with IPv4 servers (this way around is possible since IPv6 is a superset of IPv4). Overall we are now much further into the IPv6 migration than djb ever envisioned.
- j16sdiz 3y agoIPv6 is adding lots of complexity IPv4 never have to deal with. SLACC, interface-specific link-local address both look good in paper but cause lots real life headache. When it works, it works; when it don't, you have to unlearn and relearn everything network before you could possibly understand the problem, let alone fixing them.
- cbsmith 3y agoYou can use DHCPv6 instead of SLAAC. Plenty of people seem to find SLAAC preferable... and interface-specific link-local addresses are key to making it work so...
- yardstick 3y agoNAT64? No what we needed was NAT66, and it took over a decade after IPv4 to deliver this. Because the IPv6 advocates were too opinionated on exactly how IPv6 should work. And since when has the world even agreed to anything even remotely complicated without trying to change things up?
- dale_glass 3y agoNo, NAT needs to be shot into the sun. It's absolutely not needed under IPv6.
- tsimionescu 3y agoI some ideal IPv6-only world, perhaps. But when running a mixed stack like the entire world is right now, it's actually crucial.
- forty 3y agoWhy? It seems useful to hide details of your private network from everyone
- dale_glass 3y agoYou can do that with the privacy extensions. Plus on IPv6 you should get enough address space that it makes no sense to run a scan against anyone. On IPv4 or NAT there's just 65535 ports to check. On a /48 with privacy extensions there's 2^80 addresses to go through, which from an external point of view don't remain constant. You can't even ping all of that.
- forty 3y agoAs a end user, my inbound ports are all closed, and I don't care about scanning. But I don't see why everyone should be able to differentiate traffic from my phone from traffic from my laptop so I'm happy that they use the same public IP to connect outside.
- throw0101c 3y ago> You have to go back further in time and hit the designers of IPv4 on the head for not making it forward compatible. IPv4 was designed for a handful of research institutions. It is not the fault of the designers that it "escaped" the lab into the 'real world'.