So im reading about EIGRP’s DUAL algorithm, and how it works, and MAN, its confusing. After the example in Routing TCP/IP, even they mention it might require several readings. Basically it boils down to the fact if a router being notified of a bad link has a feasible successor or not. If it doesnt, it goes into an active state and sends out queries to all of its neighbors. It will stay in active until it has received a reply from all of its neighbors it has queried. However, if it does have a feassible successor, it will switch to that one, and notify its neighbors of its change.
Here is where im on shaky grounds. If a router receives an update, via a path its using as a the successor, it will always perform a local calculation, and if the FD is higher than the current FD, it will look for a feassible successor, and if no one is found, it will query neighbors.
The issue in tracing this is the events of things, and how they all fit together. An update might cause a route change. A query must nessecitate a reply. All of this, and we are not even talking about SIA (Stuck In Active) yet. When you dig down into this, you really see how complex some protocols are.
A good thing about this though, Routing TCP/IP (which im beginning to believe is THE authority on igrp’s) states that EIGRP is a distance vector protocol, and not the hybrid stuff that previous material was keen to make it out to be :). It is still a send this route to this neighbor, and then it will send the route to the next neighbor. The entire routing “belief” system is based on what its peers are “believing”. This in stark contrast to link-state, where everyone has to make up their own mind about the topology.
Okay, im off to relax for a bit. Heavy stuff this DUAL.