You are on page 1of 36

# Routing Algorithms

Autonomous systems

## Autonomous system is a group of networks and routers under the authority of a

Popular Routing Protocols

## Intra-domain routing: Routing inside an autonomous system

Interdomain routing: Routing between autonomous systems
RIP: Routing Information Protocol
OSPF: Open Shortest Path First
BGP: Border Gateway Protocol
Dynamic Routing Algorithms

## Modern computer networks generally use

dynamic routing algorithms rather than the
static because static algorithms do not take
the current network load into account
Two dynamic algorithms :
Distance vector routing
Optimum path
Each routing algorithm finds out a optimum
path base on some metric.

E.g.
1. Delay occurred in the path
2. Reliability of the path
3. cost
Distance Vector Routing

## Routers work together:

1. Each router maintains a table (vector) giving the
best known distance to a destination and the line
to use for sending there.
2. Tables are updated by exchanging information
with neighbors.
3. Each router knows the distance (cost) of reaching
its neighbors (e.g. send echo requests).
Distance Vector Routing

## Router table maintained by a router is indexed

by and consisting one entry for, each router in
the subnet.
This entry contains two parts :
The preferred outgoing line to use for that
destination .
Estimate of the time or distance to that
destination.
Distance Vector Routing

their neighbors.

## Upon receipt of an update, for each destination in its

table, a router:
this problem is known as the count-to-infinity problem
Compares the metric in its local table with the metric in
the neighbor's table plus the cost of reaching that
neighbor.

if the path via the neighbor has a lower cost, the router
updates its local table to forward packets to the
neighbor.
Distance Vector Routing (Concept)
Distance Vector Routing (An Example)

26 41 18 37
Distance Vector Routing
(The Count to Infinity Problem)

## Distance vector routing has a serious drawback in

practice
In particular, it reacts rapidly to good news, but
Consider a router whose best route to destination X
is large
If on the next exchange neighbor A suddenly reports
a short delay to X, the router just switches over to
using the line to A to send traffic to X. In one vector
exchange, the good news is processed.
Distance Vector Routing
(The Count to Infinity Problem)

## Consider the five-node subnet, where the delay

metric is the number of hops
Suppose A is down initially and all the other routers
know this. In other words, they have all recorded the
delay to A as infinity
Distance Vector Routing
(The Count to Infinity Problem)

## Fig: Good news propagates fast

When A comes up, the other routers learn about it via the vector
exchanges
At the time of the first exchange, B learns that its left neighbor has zero
delay to A
On the next exchange, C learns that B has a path of length 1 to A, so it
updates its routing table to indicate a path of length 2
The good news is spreading at the rate of one hop per exchange
Distance Vector Routing
(The Count to Infinity Problem)

## All the lines and routers are initially up

Routers B, C, D, and E have distances to A of 1, 2, 3,
and 4, respectively
Suddenly A goes down, or alternatively, the line
between A and B is cut
Distance Vector Routing
(The Count to Infinity Problem)

## Fig: Bad news propagates Slow

At the first packet exchange, B does not hear anything from A. Fortunately,
C says: Do not worry; I have a path to A of length 2
Little does B know that C's path runs through B itself
B thinks it can reach A via C, with a path length of 3
D and E do not update their entries for A on the first exchange
Distance Vector Routing
(The Count to Infinity Problem)

## On the second exchange, C notices that each of its

neighbors claims to have a path to A of length 3
It picks one of the them at random and makes its
new distance to A 4 and so on.
Distance Vector Routing
(The Count to Infinity Problem)

## Gradually, all routers work their way up to infinity,

but the number of exchanges required depends on
the numerical value used for infinity
This problem is known as the count-to-infinity
problem
Solution to count to problem
1) Defining infinity:

## Define to a lower value so that system converge &

become stable quickly.

## e .g If is 16 (assuming distance for 1 hop), so max. size

of the network in one direction is 15 hops,

## So distance vector routing cant be used for large network

Measuring Line Cost
The link state routing algorithm requires each router to
know, or at least have a reasonable estimate, of the
delay to each of its neighbors.
The most direct wayside is required to send The most
direct way to determine this delay is to send over the
line a special ECHO packet that the other side is required
to send back immediately
By measuring the round-trip time and dividing it by two,
the sending router can get a reasonable estimate of the
delay.
Measuring Line Cost
An interesting issue is whether or not to take the load
into account when measuring the delay.
To factor the load in, the round-trip timer must be started when
the ECHO packet is queued.
To ignore the load, the timer should be started when the ECHO
packet reaches the front of the queue.

## An example subnet is given in Fig. (a) with delays

shown in the lines.
The corresponding link state packets for all six
routers are shown in Fig. (b)
Building the link state packets is easy.
The hard part is determining when to build
them:
One possibility is to build them periodically, that
is, at regular intervals.
Another possibility is when some significant
event occurs, such as a line or neighbor going
down or coming back up again, or changing its
properties appreciably.

## The send flags mean that the packet must be

sent on the indicated line
The acknowledgement flags mean that it
must be acknowledged there

## The link state packet from A arrives directly,

so it must be sent to C and F and
acknowledged to A
Similarly, the packet from F has to be
forwarded to A and C and acknowledged to F

## However, the situation with the third packet,

from E, is different. It arrived twice, once via
EAB and once via EFB
Consequently, it has to be sent only to C but
acknowledged to both A and F, as indicated
by the bits
Computing the New Routes
Once a router has accumulated a full set of
Dijkstra's algorithm can be run locally to
construct the shortest path to all possible
destinations
Dijkstra's algorithm
( Formation of shortest path tree at a Node)
Example of formation of shortest path tree
Example of formation of shortest path tree Contd.

1)P[empty] T[A(0)]

2)P[A(0)] T[B(5),C(2),D(3)]

3)P[A(0),C(2)] T[B(5),D(3),E(6)]

4)P[A(0),C(2),D(3)] T[B(5),E(6)]

5) P[A(0),C(2),D(3),B(5)] T[E(6)]

6) P[A(0),C(2),D(3),B(5),E(6)] T[empty]
Question
solution
P [empty] T[A(0)]
P[A(0)] T[B(2) G(6)]
P[A(0),B(2)] T[G(6),E(4),C(9)]
P[A(0),B(2),E(4)] T[G(5)*,C(9),F(6)]
P[A(0),B(2),E(4),G(5)] T[C(9),F(6),H(9)]
P[A(0),B(2),E(4),G(5),F(6)] T[C(9),H*(8)]
P[A(0),B(2),E(4),G(5),F(6),H(8)] T[C(9),D(10)]
P[A(0),B(2),E(4),G(5),F(6),H(8),C(9)] T[D(10)]
P[A(0),B(2),E(4),G(5),F(6),H(8),C(9),D(10)]
T[empty]
Path Vector Routing
Initial routing tables in path vector routing
Stabilized tables for four autonomous systems
Path Vector Routing
Initial routing tables in path vector routing