Router A has a current table before it listens to B.

highlighted = computed this step

A starts with what it knows

Before hearing B's update, router A already knows A, B, and C, but D is still toy infinity.

dA(D)=999d_A(D)=999
A current tableRouter A recomputes a distance-vector update from B's advertised table.A current table - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B

B is already one hop away

A's current cost to B is 1, matching the direct A to B link.

dA(B)=1d_A(B)=1
A current tableRouter A recomputes a distance-vector update from B's advertised table.A current table - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B

C is known but expensive

A's current cost to C is 5. A will keep it only if B cannot offer a smaller value.

dA(C)=5d_A(C)=5
A current tableRouter A recomputes a distance-vector update from B's advertised table.A current table - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B

Summary

The current table is the baseline: every candidate from B will be compared against these exact values.

baseline for D=999\text{baseline for D}=999
A current tableRouter A recomputes a distance-vector update from B's advertised table.A current table - A via B, route A to B to D, cost 5destcurrentB advertises1 + advdecisionupdatednext hopA012keep self0selfB101tie1BC523improve3BD99945improve5B