The cost represent the delay/time it takes for a packet to traverse the network link.
A path is a serie of NON-CYCLIC (no cycles or loops) adjacent edges in the graph.
Destination | Send the of packet | packet to --------------+------------ A | A B | - C | C D | A E | E F | F G | A |
Each entry in the table has the following format:
A few entries in the routing tables of nodes A and D are highlighted in red to indicate that these entries in nodes A and D are used to forward packets from B that are destined for nodes D and G
The diagram illustrates that the information about how to route a packet are maintained in a distributed manner :
|
How are the entries in the routing table computed ???
Queueing delay is highly variable and can be very high - it's analogous to traffic jam delay.
Transmission delay takes a (fixed) amount of time and it is only dependent on:
|
Nodes in the network must exchange information with each other to allow them to get the complete information on the link costs in the network and how the nodes are connected together. |
Result:
|
This method is analogous to gossiping !!!
The following figure depicts the information exchange:
When node D receives the information from D, it can deduce further information
Example:
When a node sends everything that it knows to its immediate neighbors, the resulting algorithm is a distributed algorithm.
This distributed path computation algorithm is called the distributed Bellman-Ford algorithm.
The resulting routing algorithm based on distributed Bellman-Ford is called Distance Vector protocols (because nodes exchange "distance vectors" with each other).
We will only look at the Dijkstra's algorithm. (Because this is undergraduate material and routing is presented here only to help you understand multicast routing )