All
I went through RFC 4861 and found the section on "Neighbor Unreachablity
Detection" to be of less signifance especially on the links between Router.
Reason is that, while there are failure detection protocols already
available to detect a liveliness of the neighbor I dont understand
effectivenss of such a mechanism within IpV6.
Moreover, whenever the neighborstate is not in "Reachable state", there is
a bunch of packets that gets trapped to the CPU to invoke IPV6 to send
NeighborSolicitaion message to detect the liveliness of the neighbor. And
Interestingly, the implementations continue to forward to the neighbor
irrespective of what the "Nbr state is" and then trap the (copy of the
packets)packets to cpu to do a Neighbor Unreachablity Detection check (for
the sake of sticking to the standard).
I didnt like Router Doing this especially on the Router-Router link.
Here are my opinion on handling the above issues.
1: Why to go through all the NeighborStates
(Incomplete->Reachable->Stale->Delay->Probe) when Protocols like BFD are
already present to check the liveliness of the neighbor (On a Router-Router
link). Cant we avoid "Neighbor unreachablity detection" completely?
2: Simplify the NeighborState Machine.Just mainitain two states in the
Neighbor cache when the neighbor is a router. The states would be
"Incomplete and Reachable".
Enhancement as follows:
Initially the Neighbor state would be marked "Incomplete" and a
NeighborSolicitation message would be originated to determine the link
layer address.Once it receives a response move the neighbor state to
"Reachable". Just maintain an ageout timer like the one meant for ARP (no
more complications) to flush an entry from neighbor Cache.
Please share your thoughts.
Regards
Somasundaram
--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------