The improved table sends traffic for D to next hop B.

highlighted = computed this step

A writes the improved table

After the update, C is cost 3 via B and D is cost 5 via B.

dA(D)=5d_A(D)=5
Updated routeRouter A recomputes candidates from B and updates only rows that improve.Updated route - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B

The route to D uses B

For destination D, A's next hop is B. In the pinned topology, B reaches D directly.

ABDA\to B\to D
Updated routeRouter A recomputes candidates from B and updates only rows that improve.Updated route - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B

The route cost matches the table

The cost is A to B 1 plus B to D 4, giving 5.

1+4=51+4=5
Updated routeRouter A recomputes candidates from B and updates only rows that improve.Updated route - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B

Honesty boundary

This is a toy single distance-vector update only; it is not asynchronous convergence, count-to-infinity, split horizon, poison reverse, BGP, policy routing, ECMP, timers, packet loss, or production routing behavior.

toy update only\text{toy update only}
Updated routeRouter A recomputes candidates from B and updates only rows that improve.Updated route - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B