The goal of a routing protocol is to determine “good” paths/routes from sending hosts to a receiving host through a network of routers.

image.png

We can abstract routers/links as a graph:

Routing algorithms can be broadly classified:

image.png

image.png

Link State Algorithms

In a link state algorithm, all routers have complete topology info (i.e. link cost info).

We consider Dijkstra’s link state routing algorithm:

image.png

Dijkstra’s algorithm is ran on each particular node.

Examples of running Dijkstra’s algorithm