CS455 Sylabus

### The "Counting to Infinity" problem

• The Counting to infinite problem

• Fact:

 Network partitioning failures can cause a very nasty problem for the Distance Vector Algorithm

• The problem has the interesting name of:

 The "Counting to Infinity" problem.....

• Network partitioning failure

• Network partitioning:

• link/node failures can partitions the network into 2 or more segments.

• When the network is partitioned:

 Nodes in one segment cannot communicate with nodes in the other segment

• Example of network partioning and the "counting to infinity" problem

• The distance/routing tables after the distance vector algorithm has converged:

NOTE:

• The failure of link AE partitions the network into 2 disjoint portions:

 {A,B,C,D,F,G} {E}

• This type of failures - as you will see - is detrimental to the distance vector routing algorithm...

• Result of the link failure:

• Node A detects the link failure and updates its distance table entry:

• Node A sends distance vector update message to all its neighbors:

• Let's pause and examine the situation:

• Fact:

 Cost (distance) to node E is infinite (because there is no route to  E !!!!)

• However, according to A's distance table:

 There is a route with distance cost 3 (from A) to E via node B !!!

Here is the routing entry:

This is the "route":

• Crux of the problem:

 Node A does not know that the route to E via B will use the failed link AE !!! (That's the nature of a distributed algorithm - a node does not have the information of the whole network)

• We continue with the example:

• Node A sends distance vector update message to all its neighbors:

• The neighbor nodes B, C and F processes the distance vector update message:

• Node B, C and F will then send another distance vector update message because:

 The minimum distance to E has changed from 2 to 3

Graphically:

• Node A will process these distance vector messages:

Notice:

• Distance from A to E changed from 3 to 4

 A send another distance vector message !!!

• Node A sends distance vector update message to all its neighbors:

• STOP !!!!

• We are back to this previous situation:

Conlcussion:

• The distance from node A to node E increases by 1 after exchanging the distance vector messages...

Therefore:

 The nodes will increase the distance to E by 1 again after another round of distance vector messages !!!

• This is the:

 Counting to infinity problem....

• Proposed solutions

• There are a number of solutions proposed to alleviate the "counting towards infinity" problem:

• Use a small integer value to represent infinity

 When a distance value = small integer (e.g. 20), the link cost is set to infinite

• Split Horizon:

• If the route to a destination X is via A:

 Do not send the distance vector update message to the node A !!!!

Example:

• Split Horizon with poison reverse:

• If the route to a destination X is via A:

 Send the distance vector update message (Me, X, infinite) to the node A !!!!

Example: