Protocol in Code · Track

RIP

distance-vector rumor propagation and its count-to-infinity failure mode

6 sessions Course material (English)

Sessions

RIP track sessions

Session 01

A Route Is a Rumor with a Distance

An OSPF Router-LSA is a fact a router asserts about its own links, flooded unchanged across the area. A RipRoute is neither of those — it is one neighbor's claim about hop count, already folded together with everything that neighbor believed before it. What does it mean to trust a number like that, and what does the code let you check before you do?

Open Session 01
Session 02

Bellman-Ford Is a For Loop

OSPF's SPF run in ospf/spf.py is Dijkstra over the whole LSDB — a graph object, a priority queue, one full recompute. RIP never sees the graph at all: it only sees what one neighbor just said. What does it mean to run Bellman-Ford when all you have is a single pass over a list of (prefix, metric) pairs, and what has to be true before a new number is allowed to overwrite an old one?

Open Session 02
Session 03

Sixteen Means Unreachable

RIP needs a metric value that fits in the same integer field as every real distance but means "not reachable at all." Why is that value 16 — not 255, not a billion — and what does picking a small number actually buy?

Open Session 03
Session 04

Rumors Can Circle Back

Why does a distance-vector router that just lost a route end up believing its own rumor came back from a neighbor, and how many rounds does that belief take to burn itself out?

Open Session 04
Session 05

Don't Tell Me What I Told You

If the cure for count-to-infinity isn't smarter math, what is it, and where exactly does it run?

Open Session 05
Session 06

Build the Toy RIP Loop

What does the smallest readable RIP speaker look like when a routing table, a neighbor list, an outbound filter, and a Bellman-Ford pass are all wired into one object that a round-robin exchange loop can drive to convergence — and how is that whole shape different from OSPF's?

Open Session 06