CS455 Sylabus

### Link failure processing by the Distance Vector Algorithm

• Example Distance Vector computation when a link fails

• This is the final result from the complete distance vector computation from the previous class notes:

Notes:

• The values inside the red circles are:

 the minimum cost (distance) to a destination node

• Example: in F's distance table

 minimum cost path (from F) to A is 1 (via A) minimum cost path (from F) to B is 2 (via A)        minimum cost path (from F) to D is 2 (via G) ...

• Suppose the link FG fails:

Fact:

 Node F and node G will detect the link failure (and set the link cost to infinity

Dictactical node:

 I will show the computation done by node F only          (Computation by node G is similar)

• Compuation by Distance Vector Algorithm for a link failure

• After node F updated the link cost FG to infinity:

• Node F detects that the miminum distance to node G has changed:

Before: min = min(1,3) = 1
After: min = min(∞,3) = 3

Therefore:

 Node F will transmit the distance vector (F,G,3) to all its neighbors (BTW, G will not receive the distance vector update because the link FG has failed !!!!)

Graphically:

• STOP !!

• Look at the routing tables :

• A packet from node B sent to node G will be routed as follows:

Infinite loop:

 B   ->   A   ->   F   ->   A   ->   F   ->   .....

• Conclussion:

 There is a routing loop in the network !!! (Loops are one of the main problems with Distance Vector routing)

• Fortunately, the routing loop is temporally in nature.

It will be resolved when update messages are propagated to the rest of the network

• We continue with the example....

When node A receives F's update message, it will then update its distance table as follows:

• There is a distance change in A's distance table, namely:

 ``` Before: After: To Cost Cost To Cost Cost via C via F via C via F -------------------- ----------------------- G 3 2 G 3 4 ```

(The minimum distance changed from 2 to 3 ).

Result:

 Node A sends (A, G, 3) to all its neighbors

Graphically:

Notes:

• The update message (A, G, 3) are received by neighbors B, C, E and F.

• Each neighbor will update its distance table:

 The updates by nodes B, C, E and F did not cause the route cost to change !!!!

When the (minumum) route cost does not change:

 There is no need to send any distance vector messages !!!!

• Just to show you why there is no need to send a distance vecor update message:

• Suppose that node B does send the distance vector update message (B, G, 3) to its neighbors:

Result:

 B's neighbor nodes will compute the same distance values !!! (so why send it ???) !!!

• Result:

• The Distance Vector Algorithm has converged

Note:

 Node G's message was not incorporated !!!! (It's processed in a similar fashion)

• According to the routing table values, the Distance Vector Algorithm has found the follow path to the destination G:

Thus avoiding the failed link FG !!!!