ELEC3506

RoutingLecture 6 PDF15 min

Distance vector routing and routing loops

How a distance vector protocol learns routes, notices failures and keeps overhead low, and why bad news travels slowly unless split horizon stops it.

By the end of this page you should be able to

  • List what a distance vector router learns from directly connected subnets versus from neighbours
  • Explain how a distance vector protocol notices a failed route
  • State why distance vector has low overhead and complexity
  • Explain split horizon and the routing loop it is designed to prevent

The idea

A distance vector router never sees the whole network. It only ever hears what its immediate neighbours claim about themselves, and it has to trust those claims. Most of the time that trust is fine — but if a neighbour’s information is actually stale, and it happens to be stale in a way that loops back to where it came from, the router can end up believing a route exists that no longer does, and telling its own neighbours the same wrong thing.

How it works

Learning routing information

  • Directly connected subnets are already known by the router without any update — those routes are advertised outward to neighbouring routers.
  • Routing updates are broadcast to all neighbouring routers.
  • A router listens to routing updates from its neighbours so it can learn new routes.
  • A route learned from a neighbouring router is assumed to be reachable through that particular router.
  • A metric describing the route’s quality travels with it in the update.
  • At minimum, a routing update carries subnet information and a metric.
  • Only information from immediate neighbours’ routing tables is used for updating — a router never looks further than one hop away for its raw input.

How it works

Noticing failed routes

Two mechanisms, working together:

  • Periodic updates. A router expects to hear from its neighbours at regular intervals. A missing update is a signal something may be wrong.
  • Triggered updates. Sent immediately, any time there is a change in a node’s own routing table — independent of the periodic schedule.

How it works

Replacing the best route once it has failed

A failed route is not simply dropped silently. It continues to be advertised for a time, but with a metric that implies the network is now at an “infinite” distance — signalling to neighbours that this path is no longer usable, so they stop routing through it.

How it works

Overhead and complexity

Distance vector keeps overhead and computational complexity low precisely because each router does not need to know the whole network — only what its immediate neighbours tell it about themselves.

How it works

Preventing routing loops

The mechanism the lecture gives for preventing routing loops is split horizon.

How it works

The routing loop example

The scenario: destination X was reachable, and then the real path failed. B still believes it can reach X via A, because that is what an earlier update from A told it. Separately, A comes to believe it can reach X via B, based on B’s own (now stale) update. Each node’s route to X actually loops back through the other.

The lecture’s own step-by-step figure for this example is heavily garbled in extraction — step labels and a couple of cost values (one step showing a cost of 4, a later one showing inf) survive, but not a clean, reliable sequence connecting them. What is clear from the surrounding text: instead of the failure being recognised immediately, the estimated cost between A and B climbs a step at a time toward infinity as they keep contradicting each other, rather than converging quickly. This is the failure mode the lecture nicknames “bad news travels slowly.”

Aside

The exact numeric progression in this example (which step shows which cost) is not reliably recoverable from the extracted slides. Treat the concept — two nodes looping a stale route between each other, with the failure taking several rounds to surface — as the examinable part, and check the lecture recording or slide image directly if you need the precise step-by-step numbers.

How it works

Split horizon strategy

Split horizon’s rule: instead of flooding the whole routing table to every node, a node sends only the table content that did not originate from the node it is sending to.

Applied to the routing loop scenario above: in step 2, B does not send A the routing information for X, because B’s own route to X goes through A in the first place — sending it back would be pointless and dangerous. In step 3, A then informs B directly that X is not reachable via A, which lets B finally drop the stale route instead of continuing to believe in it.

Where marks get lost

Split horizon withholds a route, it does not withhold the whole table

A common mix-up: split horizon does not mean a node stops updating one particular neighbour altogether. It means a node filters what it sends to each neighbour individually — withholding only the routes that neighbour itself was the source of. Every other route in the table is still sent as normal.

How it works

Split horizon applied to the earlier example

Going back to the nine-node distance vector example from the previous topic: the lecture states that the optimum route (highlighted in the slide) is not sent to e by b, because that optimum route is itself reachable via e → b to the group {e, f, h, d} — sending it back to e would be sending e a route that passes through e.

Aside

The complete distance vector table for this split-horizon pass — the exact cost values for every destination, at every node — is partially garbled in the same way as the t=1 table on the previous topic. Only the qualitative statement above about what b withholds from e survived cleanly. Treat the specific numbers here as unavailable rather than guessing at them.

Check yourself

  • Directly connected subnets are known outright; everything else is learned from a neighbour and assumed reachable through that neighbour.
  • Failed routes are noticed via periodic updates going missing, or via triggered updates sent the moment something changes.
  • A failing route is advertised at “infinite” distance before it disappears.
  • Low overhead comes from only ever needing information from immediate neighbours.
  • Split horizon: never send a route back to the neighbour it came from.

In the exam

  • State split horizon’s rule precisely: withhold only the routes learned from that specific neighbour, not the whole table.
  • Connect split horizon to the routing loop it prevents. A question that asks “why does split horizon exist” wants the loop scenario, not just the rule in isolation.
  • The four DV goals are separate things: learning routes, noticing failure, replacing a failed best route, and keeping overhead low. A question can ask about any one specifically.
  • “Infinite distance” is how a dying route is advertised, not how it is silently removed — the metric itself carries the “this is gone” signal.
  • The exact routing loop numbers on this page are incomplete by design — the concept (stale mutual belief, slow convergence) is what is examinable here, not a specific cost sequence that the source does not reliably give.

Check yourself

  1. A router's routing table includes a subnet it is not directly connected to. How did it learn about it?
  2. What are the two ways a distance vector protocol notices that a route has failed?
  3. Why does the lecture describe distance vector as having low overhead and computational complexity?
  4. In the split horizon strategy, what does a node withhold from a given neighbour?
  5. Two nodes, A and B, each believe they can reach destination X through the other, after the real path to X has failed. What does the lecture call this failure mode?