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.