The shortest IPv6 addresses

36 points by ache 22 hours ago on lobsters | 16 comments

freddyb | 16 hours ago

If you ping 0.0.0.0 you typically get the first hop to reply (typically localhost, but your next router if you force an interface). Pinging the 6to4 of 0.0.0.0 (eg 2002::) should probably give you a result from whatever 6to4 gateway you are reaching).

[OP] ache | 7 hours ago

It's a possible explanation, that's what I thought first as well.
But the traceroute is a 17 hops path!

$ tracepath 2002::
 1?: [LOCALHOST]                        0.078ms pmtu 1500
 1:  _gateway                                              0.194ms 
 1:  _gateway                                              0.193ms 
 2:  fd00::ffe                                             0.224ms 
 3:  2001:41d0:0:1:3::27f                                  0.360ms 
 4:  2001:41d0:0:1:3::6                                    0.352ms 
 5:  2001:41d0:0:1:3::982                                  0.762ms 
 6:  2001:41d0:0:50::5:18e4                                0.357ms 
 7:  be100.waw1-oza1-g1-nc5.pl.eu                         12.759ms 
 8:  be101.waw1-oza1-g2-nc5.pl.eu                          1.255ms 
 9:  2001:41d0::27d7                                       3.102ms 
10:  as6939.equinix-warsaw.core2.waw1.he.net               3.299ms asymm 12 
11:  no reply
12:  e0-36.core1.ktw1.he.net                               7.067ms asymm 14 
13:  no reply
14:  100ge0-0-0-21.core4.fra1.he.net                      22.337ms 
15:  no reply
16:  be1.core3.zrh3.he.net                                28.392ms asymm 17 
17:  2002::                                               26.337ms reached
     Resume: pmtu 1500 hops 17 back 18 

Warsaw => Sosnowiec => Paris I guess => Zurich.

6to4 was deprecated over 10 years ago but Hurricane Electric has been a very longstanding supporter of IPv6 and still seems to be running their ancient tunnel broker service, so I’m not entirely surprised they are still running similarly ancient 6to4 anycast relays. There probably aren’t many (probably shouldn’t be any) others left!

vsever | 19 hours ago

shortest ipv6 is ::, pingable is ::1, 6 symbol 2409:: is shortest public ipv6

abhinav | 18 hours ago

Love ::1. It's a bit better than localhost or 127.0.0.1. A bit because using port numbers require writing it as [::1]:8080.

ptman | 18 hours ago

I kind of like how there's more than one local ipv4 address if you want to bind to the same port

intelfx | 18 hours ago

I do indeed miss that one. That's why systemd-resolved does not bind a stub resolver to a localhost IPv6 — there isn't an equivalent for binding to 127.0.0.53:53 (which it does to avoid squatting the .1:53).

Perhaps someone knows a trick to get around this?

ptman | 17 hours ago

I'm not sure if you can do something like ::ffff:127.0.0.53 or is that just alternative syntax for an ipv4 address

[OP] ache | 18 hours ago

:: isn't a valid IPv6 address.

Only usable as an invalid address or to mean "any IPv6 address".

::1 isn't usable on the Internet.

So :: in ipv6 land is like 0.0.0.0 in ip4 land?

(I haven't read your article yet :))

[OP] ache | 7 hours ago

Yes, it's. :)

symgryph | 20 hours ago

I found this was fun! I wonder if there's an equivalent to 4.2.2.1?

[OP] ache | 18 hours ago

I found it fun too!

What is special about 4.2.2.1? 2600:: is from Cogent, so it's a major Internet service provider like Level 3 / Lumen. It's not a DNS, however.

I wonder how xTom was able to get those 2a09:: and 2a11:: addresses. Most of the allocations I've seen at the XXXX:: level are large /22 or /32 blocks, but xTom just has /48s.

You need to be careful when querying whois for addresses with many trailing zeroes, because whois servers will typically return just the longest match without mentioning all the shorter allocations. In these cases 2a09:: is a /29 and 2a11:: is a /32, but they have been deaggregated to /48 presumably so that the DNS servers can be anycasted.

stephank | 14 hours ago

The zero-ending addresses feel unnatural to me. I usually started numbering at 1. But maybe that's an IPv4 relic, because I believe the 0 address in a subnet used to be another broadcast address way back? Plus the zero address feels like the subnet identifier, and giving a host that address feels like overloading its meaning.