IGRP uses similar convergence mechanisms to that of RIP. The convergence mechanisms used by IGRP are as follows:
Flash Update
Hold-Downs
Split Horizon
Poison Reverse Update
Each of these is discussed in more detail in the following sections.
Rather than wait for the update timer to elapse before sending a routing update, IGRP uses flash updates to send a routing change immediately to its routing neighbors. This results in significantly reduced convergence time compared to other distance-vector routing protocols, such as RIP or RIPv2.
Although IGRP flash updates are a significant improvement over "traditional" routing table updates (timer-based versus event-based updates), the issue of time still remains. The question is whether each router in the internetwork will receive and update its tables in a reasonable amount of time, an interval that passes before traffic is to be transmitted.
Hold-down timers solve this potential problem by working with triggered updates. Essentially when a triggered update has been sent, a clock starts counting down (to zero). Until this hold-down timer hits zero, the router will not accept neighbor updates for the route in question.
The use of a hold-down timer prevents an IGRP router from accepting and converging on updates for a route that has been invalidated over a period of time. Hold-down timers prevent a router from believing that another router may have a path to an invalid destination.
Like RIP, IGRP's split horizon is based on a simple premise: The router will not advertise a route over the same interface from which it was learned.
NOTEIf you are operating a Frame Relay internetwork with multiple subinterfaces, be sure to disable split horizon on the interface if you want the remote sites to see each other across the network. |
However, there is a drawback to simply implementing split horizon. Each router must wait for the destination to be marked as unreachable; after a route has timed out and been flushed from the table, a process that takes six update messages (90 seconds each), totaling upward of nine minutes before each routing table is updated with the inactive link. During this time, there are five update intervals that can pass where each router can misinform another as to the reachability of certain destinations. IGRP uses hold-down timers with split horizon to prevent routing instability caused by the misinformation traded between neighboring routers.
IGRP uses poison reverse updates to invalidate a route learned from a neighbor if that router believes the route to be looping. When an IGRP node receives a routing table update from a neighbor, it compares the learned information with the routing table information currently in memory. If the learned, or updated, information includes a routing metric whose value has increased 10 percent or more since the last routing update, that route is assumed to be invalid, based on the generalization that increases in routing metrics are caused by routing loops.