The diffusing update algorithm (DUAL) is the algorithm used by EIGRP routing protocol to make sure that a given route is recalculated globally whenever it might cause a routing loop. It is guarantees loop-free and backup paths throughout the routing domain. EIGRP store all available backup routes using diffusing update algorithm and then adapt the route when needed. There are several terms uses in diffusing update algorithm, which are:
- Feasible Distance (FD)
- Feasible Successor (FS)
- Reported Distance (RD) or Advertised Distance (AD)
- Feasible Condition or Feasibility Condition (FC)
DUAL is the algorithm used by EIGRP for convergence. Convergence is important to a network for avoiding routing loops. Routing loops are very damaging to network performance. EIGRP uses a hold-down timer and split horizon to prevent routing loops.
The primary way that EIGRP prevents routing loops is with the DUAL algorithm. It provides loop-freedom at every instance throughout a route calculation. The DUAL allows all routers in a topology change to synchronize at the same time. Routers not affected by the topology changes are not part of recalculation. DUAL EIGRP is the way of faster convergence than other distance vector routing protocols.
The DUAL Finite State Machine (FSM) is the decision process for all route computations. Finite State Machine (FSM) is a workflow model containing a limited number of states, transitions between those states, and FSM Operation.
The diffusing update algorithm FSM tracks all routes use EIGRP metrics to select efficient, loop-free paths and identify the routes with the least-cost path to be inserted into the routing table.
EIGRP avoids recalculation whenever possible because recalculation is processor-intensive. EIGRP avoid recalculation by maintaining a list of backup routes that DUAL has previously found for loop-free. If the primary route in the routing table not working, the best backup route is straight away added to the routing table.
DUAL Finite State Machine (FSM)
The DUAL Finite State Machine (FSM) is EIGRP route-calculation engine. This FSM contains logic to calculate and compare routes in an EIGRP network. It is an abstract machine, not a mechanical device with moving parts. It classifies the different state of possibilities states that something can go through, what proceedings cause those states, and what proceedings result from those states. FSMs are not included in the scope of CCNA. But, the concept is used to examine some of the output from EIGRP’s FSM using the “debug eigrp fsm” command.