Diffusing Update Algorithm (DUAL) is an algorithm used by EIGRP to select and maintain the best route to each remote network. DUAL is also used for the following purposes:
- discover a backup route if there is one available.
- support for variable length subnet masks (VLSMs).
- perform dynamic route recoveries.
- query neighbors for unknown alternate routes.
- send out queries for alternate routes.
EIGRP stores all routes advertised by all EIGRP neighbors. The metric of these routes is used by DUAL to select the efficient and loop free paths. DUAL selects routes that will be inserted into the routing table. If a route fails, and there is no feasible successor, DUAL chooses a replacement route, which usually takes a couple of seconds.
The following requirements must be met in order for DUAL to work properly:
- EIGRP neighbors must discovered.
- all transmitted EIGRP messages should be received correctly.
- all changes and messages should be processed in the order in which they’re detected.