CS455 Sylabus

### The Distance Vector Routing Algorithm --- round 1 message exchange

• Example Distance Vector Routing

• Suppose node A sends its update first:

The distance vector message is processed by nodes B, C, E and F...

Example: Node F:

• Initially:

 ``` d(F,B) via A = infinite ```

• Now:

 ``` From distance message: d(A,B) = 1 (A --- B) Node F knows: d(F,A) = 1 (F --- A) Therefore: d(F,B) = 2 (F --- via A --- B) ```

• Note:

 Originally: d(F,B) = ∞ Now: d(F,B) = 2 !!!

Therefore:

 Schedule: (F, B, 2) for transmission (to all neighbors)

Result: after incorporating all changes

• Suppose node B transmits distance vector updates next:

The distance vector message is processed by nodes A and C...

Example: at Node A (very similar to the previous example)

 Initially: d(A,C)   via B = infinite A can get to B with cost = 1 From (B, C, 1) (B can get to C with cost 1), A can get to C   via A   with cost 1 + 1 = 2         The cost d(A,C) changed Schedule: (A, C, 2) for transmission to all neighbors

Result after incorporating all changes:

A strange phenomenon at Node A:

Question:

• How does a packet travel:

 ``` A -----> via B -----> F ```

with cost 3 ???

Conclusion:

 The distance table can contain "loop back" routes

Note:

 Due to this "feature" that the Distance Vector Algorithm will have convergence problems in some network topologies !!! We will study this problem in more detail later

Dictactical note:

 It's tedious to go through the entire example. You can go through it yourself....

• Suppose node C transmits updates next:

The distance vector message is processed by nodes A, B and D...

• Suppose node D transmits updates next:

The distance vector message is processed by nodes C and G...

• Suppose node G transmits updates next:

Which will cause the following updates in tables of nodes D and F:

NOTE:

 Only now. nodes D has discovered a route to F (and vice versa) You can see that the Distance Vector algoritm will converge very slowly to a final solution The final solution will the same the one obtained by the Dijkstra's algorithm...

• Suppose node F transmits updates next:

Which will cause the following updates in tables of nodes A and G: