Re: Subnet router anycast for FE80/10 ?
From: David Stevens <hidden>
Date: 2011-11-02 17:53:11
netdev-owner@vger.kernel.org wrote on 11/02/2011 08:38:09 AM:
From: David Lamparter <redacted>
quoted
This address seems not to be explicitly mentioned in any RFC, but RFC 4291 says "All routers are required to support the Subnet-Router
anycast
quoted
addresses for the subnets to which they have interfaces."That this directly contradicts RFC 2526 which specifies the subnet-router anycast address to be either ::ffff:ffff:ffff:ff80 or ::fcff:ffff:ffff:ff80 depending on the phase of the moon (well, interface type actually, but same thing. Also, the /64 <> /10 distinction would matter here.)
The subnet-router anycast address is defined in section 2.6.1 of
RFC 4291
to be "all 0's" for the prefix. The definition above is for reserved
anycast
addresses. RFC 2526 says "IPv6 defines a required Subnet-Router anycast
address [3]
for all routers within a subnet prefix, and allows additional anycast
addresses to
be taken from the unicast address space. This document defines an
additional set
of reserved anycast addresses...".
... it's actually fairly hard to implement this at all. The idea of "Anycast" is that even if you have 1000 routers, only one router will receive the packet. The network is supposed to magically take care of that, but in reality this only works with Layer 3/IPv6
The host implementation is very straightforward. Not every host
on a segment has to use the *same* host for an anycast address (it's
kind of the point that it won't, in fact). A host simply needs to
do a solicitation for the anycast address and keep the first one that
answers (by definition, the "closest").
+-DLS