Routing Loops
A routing loop is a situation where a packet keeps getting routed between two or more routers because
of problems in the routing table. In case of distance vector
protocols, the fact that these protocols route by rumor and have a slow
convergence time can cause routing loops.
Split Horizon
solution to the routing loop problem is called split horizon. This reduces incorrect routing
information and routing overhead in a distance-vector network by
enforcing the rule that
routing information cannot be sent back in the direction from
which it was received.
In other words, the routing protocol differentiates which
interface a network route was
learned on, and once this is determined, it won’t advertise the
route back out that same interface.
Route Poisoning
Another way to avoid problems caused by inconsistent updates and
stop network loops is route
poisoning. For example, when Network 5 goes
down, Router E initiates route poisoning by
advertising Network 5 as 16, or unreachable (sometimes referred to
as infinite).
This poisoning of the route to Network 5 keeps Router C from being
susceptible to incorrect
updates about the route to Network 5. When Router C receives a
route poisoning from Router E,
it sends an update, called a poison reverse,
back to Router E. This ensures all routes on the segment
have received the poisoned route information.
Routing Information Protocol .
Route poisoning and split horizon create a much more resilient and
dependable distancevector
network than we’d have without them, and they serve us well in
preventing network
loops.
Hold-down
A hold
down prevents regular
update messages from reinstating a route that is going up and
down (called flapping). Hold down prevent routes from changing too rapidly by
allowing time for either the downed route to come back up or the network to
stabilize somewhat before changing to
the next best route. These also tell routers to restrict, for a
specific time period, changes that
might affect recently removed routes.
When a router receives an update from a neighbor indicating that a
previously accessible network
isn’t working and is inaccessible, the hold down timer will start.
If a new update arrives
from a neighbor with a better metric than the original network
entry, the hold down is removed
and data is passed. But if an update is received from a neighbor
router before the hold down
timer expires and it has an equal or lower metric than the
previous route, the update is ignored
and the hold down timer keeps ticking. This allows more time for
the network to stabilize before
trying to converge.
Hold downs use triggered updates that reset the hold down timer to
alert the neighbor routers
of a change in the network. Unlike update messages from neighbor
routers, triggered updates
create a new routing update that is sent immediately to neighbor
routers because a change was
detected in the internetwork.
There are three instances when triggered updates will reset the
hold down timer:
The hold down timer expires.
Another update is received with a better metric.
A flush time, which is the time a route would be held before being
removed, removes the
route from the routing table when the timer expires.