|
Routing protocols can instruct a router to
update neighbors after a specific amount of time has passed, after a
certain event has occurred, or both. Time-driven routing protocols wait
for the update timer to expire and then send an update. For example, RIP
sends a complete update every 30 seconds by default even if its routing
table is unchanged since the last update. By contrast, protocols that are
event-driven do not require the router to update neighbors until the router
detects a change in the network topology. Link-state protocols (and EIGRP)
send a partial update that concerns only the changed information. Other
protocols may send their entire table when triggered by an event.
As you might expect, routing protocols that
are exclusively time-driven react poorly to topology changes. If a router
detects a change but has to wait 30 seconds before alerting neighbors,
routing in that network could break down. It could take several minutes
before such a network's routers converge. In the meantime, routers unaware
of the change may send packets the wrong way, leading to routing loops or
loss of connectivity.
On the other hand, routing protocols that
are exclusively event-driven theoretically could go months without sending
updates. If there is no other mechanism to ensure that routers regularly
communicate (such as a Hello protocol), routers could base their routing
decisions on dangerously outdated information.
For these reasons, most routing protocols
use a combination of time-driven and event-driven updates. RIP is
time-driven, but Cisco's implementation of RIP sends triggered updates
whenever a change is detected. Likewise, topology changes trigger
immediate updates in IGRP routers, regardless of the update timer. Without
triggered updates, RIP and IGRP would perform miserably.
Protocols that are primarily event-driven
typically use timers as well. For instance, OSPF routers typically assign
a MaxAge to routing information. Once information has reached its MaxAge,
it can no longer be used in the routing table, and a new update must be
requested.
|