The fact that IPv6 addresses are so unruly is a blessing in disguise. Use DNS, /etc/hosts, bonjour, .ssh/config, whatever. Use names, stop using addresses directly, even with IPv4.
You can do it. You should do it. Why haven't you done it yet?
You can name off tools that make it easier all you want, but how is the average user supposed to know that? When I set up my NAS, I wanted it to be accessible from the same address no matter what. I knew (at the time) about static IPs and manual DNS entries. So I went to my router's configuration and it didn't support manual DNS entries. So I opted for a static IP, and it worked. Sure, it's a kludge and not future proof, but I don't care. That's the problem. The "solutions" only work if you both know about them and care enough to do it the right (instead of the easy) way
(But then again, that is no reason not to adopt IPv6! Some things are going to get harder, but so many, many things are going to get easier that it is easily worth the tradeoff.)
For those who like to memorise IP addresses, my favorite ping in ipv4 is 8.8.8.8, but in IPv6 I like using 2600::1. Shorter, and more fun! (2600 as in the Hacker Quarterly/Hope.net or the old 2600 mHz hack, although the netblock is owned by Sprint, but I guess that is à propos..).
(And like I said, that should not be considered a reason to avoid adopting IPv6. The only thing I currently dislike about IPv6 is that my ISP does not give me a static network address.)
My ISP (DSL with teksavvy.com in Canada) offers a dynamic-ish /64 with SLAAC, then a static /56 subnet over DHCPv6. I know some people who had issues with their /56 subnet resetting, but that was usually solved by contacting tech support.
From what little I understand of it, 6rd calculates an IPv6 subnet by using the IPv4 address. So unless your v4 adress is static, your v6 subnet will be dynamic. Some cable providers are using this in Canada (Videotron). I hope they get rid of it soon, because it's really clunky!
2001:4860:4860::8888
2001:4860:4860::8844All the alternatives are either unreliable and slow (bonjour/mDNS) or require manual setup prior to use. Given that machines, networks, routes, etc. are all becoming increasingly ephemeral in the end all you end up with is a DNS, .ssh/config, or hosts file with hundreds or thousands of stale entries for things that existed for five minutes. In some environments there are nice systems for naming things and IP address management but these are hard to set up and maintain and aren't feasible in really heterogenous settings.
I guess Martin Fowler was right: there are two hard things in CS, cache invalidation and naming things. This is naming things.
I’ll agree with you on that, in certain cases. In my experience, OS X-to-OS X always works seamlessly, but Windows-to-OS X is much more annoying. It works around 70% of the time.
Say the hostname of the Mac on the local network is lorems-mac-mini.local. Then say I want to connect to this Mac over various services from my Windows computer (file sharing via Windows Explorer, vnc via TightVNC, nx via NoMachine, etc.). 70% of the time, providing lorems-mac-mini.local as the hostname works. The other 30% of the time, the same programs which worked just fine with the hostname as lorems-mac-mini.local all of a sudden won’t be able to find it on the network anymore unless the same hostname is entered without the .local part. Then, sometimes, neither solution works and the Windows computer can’t find the Mac at all unless I enter its IP address, which magically works.
Frankly, it became annoying enough that I now just enter the IP addresses of devices on my local network that I want to connect to now instead of their hostnames, since I know it’ll always work.
…in that sense, I guess I have to agree with your overall sentiment.
So, the problems mentioned in the post essentially were...
* ambiguity specifying ports
* software not recognizing addresses
* length to type (3-32+7 characters)
Looking past DNS, the first is only really an issue in web browsers, which I would doubt most people will actually use. The second is arguably a software issue, not a format issue. The third genuinely seems marginally debatable. Still, it seems like the amount of code needed to translate from one format to another would be trivial. In the amount of time it took to write the post, someone could probably have just written the code instead. There are tons of plugin mechanisms for stuff (shell, editor, browser, etc...)..> Given that machines, networks, routes, etc. are all becoming increasingly ephemeral
MPTCP addresses some of these issues.