4 ms·
Disclaimer: I am not a sysadmin, but I do tinker with my home computer, doing such things as setting up services like LDAP, NFS, AFS, DNS, mDNS, etc. - so most
by koko775 16y ago
Disclaimer: I am not a sysadmin, but I do tinker with my home computer, doing such things as setting up services like LDAP, NFS, AFS, DNS, mDNS, etc. - so most of this is opinion and stuff I've just picked up along the way.
> The hardware-optimized packet format of IPv6 is worth basically zero to us on modern technology
No. Basically zero is not zero.
> Every HTTP Server on Earth Could Be Sharing a Single IP Address and You Wouldn't Know The Difference
No. Though he lampshades this towards the end, he still gets it wrong - the SNI extensions to TLS allow secured virtual hosting on recent browsers - but not older ones, where it simply just doesn't work.
> if I accidentally leave a daemon running on my server, it's not automatically a security hole
No. NATs are unfairly equated with firewalls. There is nothing stopping a firewall from preventing connections to a computer that is now addressable from the outside, just as they do today. If you are running a publicly-deployed service and do not restrict inbound and outbound traffic, I would advise you to do it, now.
> Because of the way TCP and UDP work, you can safely NAT many, many private addresses onto a single public address
> I won't go into this too much, other than to say that there are already various NAT traversal protocols out there, and as NAT gets more and more annoyingly mandatory, those protocols and implementations are going to get much better.
No. UDP hole-punching isn't that simple. It requires a third party, and implementations of NAT are very heterogeneous. Arguing that it's possible to do safely (and implicitly, on a large scale) is ignoring reality.
So his solution to a newer spec that, despite a rough and in-progress transition, accounts for legacy, is to move to a newer, incomplete, solution that breaks abstraction boundaries, is incompatible with current network hardware, requires major server and router rearchitecture? No. A thousand times no.
> NAT (and DHCP) has largely eliminated another big motivation behind IPv6
No. I find it laughable that he argues that he argues, essentially, that private IP subnets make handling DNS simple, while simultaneously (later) arguing that DNS service records should be used so people don't have to remember IPs + ports, while also saying "So here's what I really hate about IPv6: 16-byte (32 hex digit) addresses are impossible to memorize". How about, instead of kludging up a hack nobody's on board with, using an existing solution with widespread support? Stateless autoconfig or DHCPv6 do the same job.
> If GUIDs were a good idea, we would use them instead of URLs
No. What the ever-living FUCK. Did he not already read his own words about DNS? So sysadmins now have to copy-paste instead of memorizing IPs, or spend a few extra lines in their host files or DNS servers aliasing it to some DNS address. This is a simple and sufficient solution.
> But furthermore, DNS on the Internet is still a steaming pile of hopeless garbage. When I bring my laptop to my friend's house and join his WLAN, why can't he ping it by name? Because DNS sucks. Why doesn't it show up by name in his router control panel so he knows which box is using his bandwidth? Because DNS sucks. Why can the Windows server browse list see it by name (sometimes, after a random delay, if you're lucky), even though DNS can't? Because they got sick of DNS and wrote something that works.
> Of course, I can't really take credit for this idea. It's already been invented and is being used in a few places. (links to wikipedia article on SRV records)
No. JESUS CHRIST. s/because DNS sucks/because Windows sucks/ - for some of the stuff he's talking about, multicast DNS fixed. Oh, and by the way, Bonjour has been using multicast DNS + SRV records for freakin' years, and works pleasantly on !Windows - and it does so for IPv6, as well. I can't speak for Windows because I have had the pleasure of not using it for anything other than games for the past several years. I have set up a Time Machine service on a FreeBSD box that advertised itself as such with no problem whatsoever.
> IPv4 addresses aren't really 32-bits. They're actually 48 bits: a 32-bit IP address plus a 16-bit port number
No! This is like saying that your keyboard and mouse are actually a mouseboard, because they're almost always together. IPv6 still uses TCP - doing what he suggests would not only be a massive kludge, it would obsolete an incredible amount of infrastructure already in place - this cannot be implemented incrementally! Throwing the bathtub out with the bathwater in order to destroy a working layer of abstraction is insane!
> This proposal has very minor chicken-and-egg problems
No! Unless by 'minor' you mean bigger than the fucking universe.
This article is founded on so many faulty premises it proposes a technologically intensive non-solution to a problem that suffers from much worse flaws the solution it complains about. Readers should disregard any and all advice proffered by this blog post, as it is grossly inaccurate and incorrect.
- beaumartinez 16y ago> IPv4 addresses aren't really 32-bits; they're actually 48 bits: a 32-bit IP-address plus a 16-bit port number. > No! Last time I tried to bind a socket to just an IPv4 address I got a compilation error.
- danparsonson 16y agoMaybe so, but the port number is part of TCP, not IP.
- jws 16y agoUse the SOCK_RAW flag on the socket() call and you obviously don't need a bind() call.
- JoeAltmaier 16y agoAnd yet, IPV6 adoption is still an insignificant fraction of the IP universe. If not for the reasons given, then why?