The basic thing proponents don’t understand is that nobody in their right mind can intuitively understand IPV6 addresses because they look like MAC addresses with trisomy and are a pain in the ass to remember or type for absolutely no benefit to the non-network engineer. And there are infinitely more people with home routers and a few dozen devices than there are people running ISPs, fortune 500s, and data centres. Play with your convolution all you want, in 20 years the rest of us will still be happily assigning 192.168.x.x and ignoring it. V4 space running out is no more the average persons problem than undersea cables or certificate authority.
> nobody in their right mind can intuitively understand IPV6 addresses
If someone can't understand "it's longer" then what is wrong with them?
And using hex instead of decimal for magic computer numbers should be more intuitive, not less.
Also structure-wise the first half is the subnet and the second half is the host. That's much more intuitive than IPv4.
> absolutely no benefit to the non-network engineer
If you do anything peer to peer at all, calls or file transfers or games, there's a benefit. And the typical benefit grows over time as more and more ISPs install CGNAT.
> And using hex instead of decimal for magic computer numbers should be more intuitive, not less.
How? Why is using hex any more intuitive than binary or a md5 hash for anyone who doesn’t do networking for a living?
>If you do anything peer to peer at all, calls or file transfers or games, there's a benefit. And the typical benefit grows over time as more and more ISPs install CGNAT.
Again how? I’ve been doing all of those without issue for nearly 30 years. What measurable benefit does the user see that hasn’t been a solved problem since Windows XP?
Will my teams calls suddenly stop saying “poor network connection” on my 1000/1000 rock solid fibre connection? Will torrents suddenly find more seeds and peers? Will my games… have lower latency? Because I can’t think of another way anything networking related could be solved that wasn’t decades ago.
When you say benefit, it should probably be noticeable or measurable in some way that doesn’t involve dashboards and millions of dollars in rack mounted gear.
> What measurable benefit does the user see that hasn’t been a solved problem since Windows XP?
Things being able to connect, and not having to manually port forward (when that's even an option).
Hole punching is super unreliable with CGNAT.
> Will my teams calls suddenly stop saying “poor network connection” on my 1000/1000 rock solid fibre connection?
I don't know how Teams relays data, but for some services yes that could happen if IPv4 can't make a direct connection.
> Will torrents suddenly find more seeds and peers?
Yes. In a typical torrent an annoyingly small fraction of seeds and peers can receive connections. If you're IPv4-only behind CGNAT, you can't connect to them and they can't connect to you. IPv6 opens up a lot more links.
> Will my games… have lower latency?
It depends on how the game is designed. But some games will have lower latency because they can connect people directly instead of with relays.
>How? Why is using hex any more intuitive than binary or a md5 hash for anyone who doesn’t do networking for a living?
Well, what is the address range for 192.168.0.0/27? That's also non-intuitive for a layman as well.
In the end, IP addresses are made for computers, not humans.
And... just FYI,
>Will torrents suddenly find more seeds and peers?
Suggests to me you have absolutely never tried out torrenting under CGNAT. It's painful.
Not a single seeder can _actively_ send the data to you, your client must seek them by itself and it's not uncommon to have only 1-4 seeders connected!
> Also structure-wise the first half is the subnet and the second half is the host. That's much more intuitive than IPv4.
This only applies to /64 blocks, which are by no means standard. For instance, tunnelbroker.net will give you a /48 for free. This means IPv6 addresses are essentially free by the billions, but it's difficult to figure out how big of a block they belong to from the outside.
Regardless of the prefix size, a subnet is always /64 in IPv6. A shorter prefix simply means you can have more /64 subnets.
> intuitively understand IPV6 addresses because they look like MAC addresses with trisomy and are a pain in the ass to remember or type
I have north of 500 IPs I have some relation to. No way I would be bothered to remember them. Typing? Do you type IPv4s all day long? And it's still copy-paste 99% of times.
> for absolutely no benefit to the non-network engineer
Non-network engineer should work with names. And non-engineers don't 'work' with IPs at all. Look at your granpa - he's typing 'bbc' into the search form in the browser to get to bbc.com.
> nobody in their right mind can intuitively understand IPV6 addresses
And 99% of so called engineers can't understand even IPv4. So this is a moot point.
I agree.
It's easy to tell someone to connect to something like 203.0.113.88. Many of us here, and also normal folks, have been saying dotted-octets like that for decades, now, and there's a familiar patter to the way that addresses like this flow off of the tongue.
It's hard to tell someone to connect to 2601:3c7:4f80:1a01:4d2:3b7a:9c10:6f5e. It's literally difficult to say, like saying it is intended to be some kind of test. And on the other end? Sure, we "all" "learned" hexadecimal at some point in school, but regular humans don't use hex so it sounds like missile launch codes (at best) or some kind of sadistic prank (at worst) to them. It reeks of phonic unfamiliarity and disdain.
(This is the part where the DNS folks invariably show up to announce that I'm holding it wrong. And I love DNS; I do. But I'm really not interested in maintaining public DNS for the dynamic addresses at home on my LAN.)
(After that, it becomes time for the would-be abbreviators to appear and tell me that the address for this computer is wrong, somehow, as if I ever had an active part in selecting the address to begin with.)
> It's hard to tell someone to connect to 2601:3c7:4f80:1a01:4d2:3b7a:9c10:6f5e.
If you would like your IPv6 addresses to be more human-friendly, you could use DHCPv6 (in addition to/instead of SLAAC) and end up with addresses like 2001:db8:3c7:4f80::123. Sure, it's 5 groups of e.g. 3-4 hex digits rather than 4 groups of up to 3 digits, but I think it's much easier than your example. You might set your router to use <prefix>::1 and/or fe80::1 (see OpenWRT's ipv6 suffix/ip6ifaceid option).
DNS servers (that you might occasionally have to type into config by hand) tend to have "nice" IPv6 addresses, e.g. Quad9 apparently uses 2620:fe::fe [1].
> But I'm really not interested in maintaining public DNS for the dynamic addresses at home on my LAN.
I think dnsmasq can these days create AAAA records for local machines whose hostnames it learns via e.g. DHCP.
If you have a public server on the internet and your provider gives you a random-looking address using all 128 bits (and no /64 prefix for example) perhaps using (public) DNS is fine.
Opinions my own.
[1] https://quad9.net.
> After that, it becomes time for the would-be abbreviators to appear and tell me that the address for this computer is wrong, somehow, as if I ever had an active part in selecting the address to begin with
Ok, I'll bite. Why exactly do you not have the ability to select the address?
As a general rule, if you care about an IPv6 address enough that you have to type it in somewhere, you should be assigning it manually, and if you're doing that you can make it a lot friendlier than 2601:3c7:4f80:1a01:4d2:3b7a:9c10:6f5e. The whole second half of the address can be shortened to ::<digit>, where the length of <digit> scales logarithmically to the number of memorable addresses you want in that network.
My network at home uses ULA addresses for everything, and I just use my phone number in the first half, so the address of my router at home is e.g. fd21:2555:1212::1, my NAS is fd21:2555:1212::a, etc. The global (GUA) address is something like 2601:abc:def:1201::a, which isn't that bad.
Hell, if you don't care about the potential of conflicts if you ever merge networks with someone else, you can just use fd00:: as your ULA prefix, and your router can be fd00::1, your NAS box can be fd00::2, etc. Shorter than IPv4 addresses!
> Ok, I'll bite. Why exactly do you not have the ability to select the address?
I never said I don't have the ability. I may; I may not. I myself don't know that one way or the other. It's big ball of mystery to me.
What I did say was I didn't have a hand in that long address; ie, I was not involved in making it that way. I don't know by what mechanism (if any) the long address came to be. I don't know if it was assigned, or selected, or a product of /dev/random, or if it was a combination of these things.
I only know that I didn't choose it, and that the way that it is simply sucks.
> As a general rule, if you care about an IPv6 address enough that you have to type it in somewhere, you should be assigning it manually
Perhaps. But that's a twist that we didn't have with the defacto norm that we landed on in IPV4 world some decades ago, wherein: A LAN address was dynamic by default, assigned via a local DHCP server, and presented as a dotted octet. The WAN address was also dynamic, and assigned by someone else's DHCP server, and presented as a dotted octet. The two addresses were never related to eachother.
And in that world: If I wanted to run a local service for someone else (on the internet) to use right now -- today (maybe not tomorrow or next week, but definitely right now), then all I needed to relay to them was the simple dotted octet that identified my WAN interface.
That part was easy with IPV4.
> and if you're doing that you can make it a lot friendlier than 2601:3c7:4f80:1a01:4d2:3b7a:9c10:6f5e. The whole second half of the address can be shortened to ::<digit>, where the length of <digit> scales logarithmically to the number of memorable addresses you want in that network.
Maybe my occipital lobe is just broken somehow, but it's hard to look at an address like that and quickly discern where the second half of that address even begins. Why am I looking for a half of it, anyway? (From whence is that "half" delineation deduced?)
But, sure. Half of it, for whatever reason that it is half. So 2001:3c7:4f80:1a01::3 can be one system on the LAN and 2001:3c7:4f80:1a01::4 can be another? And these are complete, unique, world-routable addresses that someone else on the world can connect to with the appropriate firewall rules in-place?
But the first half is assigned by my ISP and changed at their whim, right? I can't reliably connect from 2001:3c7:4f80:1a01::3 to 2001:3c7:4f80:1a01::4 even if those two computers are right next to eachother on my LAN because tomorrow, the first "half" might change -- correct?
I don't like the idea of my LAN's addressing being dictated by whatever ISP I'm using at the moment. (Spectrum is down, switch to hotspot as backup, and oh lol: the LAN is all different now. IPV4, as-implemented, never did that to me.)
> Hell, if you don't care about the potential of conflicts if you ever merge networks with someone else, you can just use fd00:: as your ULA prefix, and your router can be fd00::1, your NAS box can be fd00::2, etc. Shorter than IPv4 addresses!
I don't even know what ULA means.
But it sounds like ULA means something like RFC 1819 10.x.x.x private addresses, wherein: A person can do whatever they want, and it never touches the Internet so it's fine.
That sounds great, in concept. But now we're back to using private, non-routable addresses? Isn't that the same thing we were seeking to avoid?
How does fd00::3 then communicate with the greater internet? NAT?
edit: And then, how is fd00::3 superior to 10.3 [10.0.0.3] on the LAN?
> then all I needed to relay to them was the simple dotted octet that identified my WAN interface.
Then either you must be one of the precious few people who owns a /24 or something for their house and gives each device a global IPv4 address, or you’re forgetting the part where you have to go to your router and pick a random port to forward, and open it up. Otherwise you don’t just “have” an independent WAN address on each host in your network, like you do with a typical IPv6 setup.
> So 2001:3c7:4f80:1a01::3 can be one system on the LAN and 2001:3c7:4f80:1a01::4? And these are complete, unique, world-routable addresses that someone else on the world can connect to with the appropriate firewall rules in-place?
yes
> But the first half is assigned by my ISP and changed at their whim, right?
like your IPv4 WAN address does, yes
(About ULA)> That sounds great, in concept. But now we're back to using private, non-routable addresses?
like IPv4 yes. But in IPv6 you can have both, a ULA (like rfc1918 addresses) and a GUA (an actual routable address) on the same subnet. It’s fine. Use the ULA for your LAN use cases where you need to use a LAN IP address (bonus, it stays the same even if your ISP changes your prefix) and use the GUA for the rare occasion where you need someone on the other side of the world to talk to one of your hosts. You’re gonna have to poke a firewall rule anyway, so you just pick a decent GUA address while you’re at it ($global_prefix::1, etc.) You can do whatever you want, it’s your prefix (until your ISP changes it.)
> How does fd00::3 then communicate with the greater internet? NAT?
no need, it just has another address for global traffic. Typically one of the really long random ones, that’s what they’re for. (They even change for every external service you talk to.). The whole purpose of the long impenetrable fully-populated 128-bit address, is basically only necessary for privacy (I.e. you intentionally want the address to be meaningless.) For anything where you’re persisting an IP somewhere, just pick a better address for it. $prefix::1, whatever. It’s a single ifconfig command even on macOS, ditto Linux. (Windows I have no experience with but I’m sure that too.) Trivial to persist across reboots, etc.
The ISP changing the prefix is a real problem though, and is far too difficult to rely on persisted global addresses for that reason. Using a ULA anywhere you need to configure an IP address locally is the only sane option, and for global addresses it’s simply a huge pain in the ass if you ever get a different prefix.
> edit: And then, how is fd00::3 superior to 10.3 [10.0.0.3] on the LAN?