Address Class | IPv6 Prefix | IPv4 equivalent |
Local Host | ::1/128 | Local Host (127.0.0.1) |
Link-Local | fe80::/10 | Autoconfigured (169.254/16, RFC3927). |
(Globally) Unique Local Addresses (RFC4193) | fc00::/7 | Private classes (10/8, 172.16/12, 192.168/16) - no hope to be globally unique |
Temporary (for privacy, RFC4941) | Undistinguishable from autoconfigured unicast. | Not available. |
Public unicast | ::/0 | Public unicast (0/0) |
Public multicast | ff00::/8 | Public multicast (224/4) |
getaddrinfo()
are ordered via RFC6724;bind(2)
).Prefix | Prece- | Label | |
dence | |||
::1/128 | 50 | 0 | Localhost |
::/0 | 40 | 1 | All of IPv6 |
::ffff:0:0/96 | 35 | 4 | All of IPV4 ('mapped') |
2002::/16 | 30 | 2 | 6to4 tunnel (transition) |
2001::/32 | 5 | 5 | Teredo tunnel (transition) |
fc00::/7 | 3 | 13 | Unique Local Addresses |
::/96 | 1 | 3 | 'IPv4 compatible' - deprecated |
fec0::/10 | 1 | 11 | Site-local addresses - deprecated |
3ffe::/16 | 1 | 12 | 6bone - dead and deallocated |
/etc/gai.conf
on Linux)ip -6 addrlabel show
:prefix ::1/128 label 0
prefix ::/96 label 3
prefix ::ffff:0.0.0.0/96 label 4
prefix 2001::/32 label 6
prefix 2001:10::/28 label 7
prefix 2002::/16 label 2
prefix fc00::/7 label 5
prefix ::/0 label 1
ip6addrctl
command, derived from
the KAME protocol stack, to handle both
source and destination address preferences and labels
(includes a nice use count).netsh int ipv6 show[/set/add/delete] pre[fixpolicy]
.mi.infn.it mail exchanger = 10 smtp1.mi.infn.it.
smtp1.mi.infn.it has address 192.84.138.69
smtp1.mi.infn.it has IPv6 address 2001:760:4210:1::a
.Mar 15 05:01:31 smtp1 sendmail[1244]: (...) relay=[IPv6:fe80::21d:9ff:fe10:faf9]
fe80::20e:cff:fe4c:1ea5 lladdr 00:0e:0c:4c:1e:a5 REACHABLE
2001:760:4210:1::a lladdr 00:0e:0c:4c:1e:a5 REACHABLE
inet6 2001:760:4210:1::da:da01/64 scope global valid_lft forever
inet6 2001:760:4210:1::d/64 scope global valid_lft forever
.prefix 2001:760:4210:1::da:0/112 label 8
.::
- all-zeros)
will happily bind to both IPv6 and IPv4 (unless they opt
out via the IPV6_V6ONLY
sockopt).PF_UNSPEC
.::1
) wasn't being assigned
link-local scope, as mandated by RFC4291.