Remix.run Logo
▲ WorldMaker 3 days ago

Just as LAN addresses (link local) are usually 192.168.$x.$y and you are just passing $x.$y, with IPv6 they are usually `fe80::$z` and in theory you could just pass $z and the person on the other end can assume `fe80::`. Because of how double colon works $z could be just 54 in a similar situation (especially if link local addresses are statically assigned like most workplaces try to statically assign IPv4 addresses).

Same with ULA addresses like 10.$x.$y.$z for private networks. Most of those you can assume `fd$x::$z` and just need to pass whatever is on the other side of the double colons. (Where $x is optional and likely network-wide.)

▲mahboi 3 days ago | parent [-]

They're long though. Just checked and my desktop has fe80::1068:f88b:8b1b:4e45 for en0. They can't be short because of possible collisions, unless you're using DHCP or manually allocating static ones, and DHCP6 isn't broadly supported on hosts or routers.

▲WorldMaker 3 days ago | parent [-]

Sure, most systems default to SLAAC which creates random long addresses. You can manually allocate them just fine and short addresses aren't going to cause collisions (and if they did, SLAAC handles it). Some of the networking people most (ab)using 192.168.x.y heavily are manually allocating them.

DHCP6 is pretty well supported on a lot of Enterprise routers, so the fd:: ULA space, which is what DHCP6 is most good for, has no required reason to be long addresses (outside of silly things like this link's mentioned Tailscale fingerprinting/advertising IP).