Revision before
studying Routing in
MANET
Routing in Switched/Fxied Networks
Continue
Routing in Packet-Switched,
Fixed Network
key design issue for (packet) switched, fixed
networks
select route across network between end nodes
characteristics required:
correctness
simplicity
robustness
stability
fairness
optimality
efficiency
Performance Criteria
used for selection of route
simplest is minimum
-hop or minimum-
linked-state
can be generalized as least cost or
shortest path
Example Packet Switched
Network
Network Information Source
and Update Timing
routing decisions usually based on knowledge of
network (not always)
distributed routing
using local knowledge, info from adjacent nodes, info from all
nodes on a potential route
central routing
collect info from all nodes
issue of update timing
when is network info held by nodes updated
fixed - never updated
adaptive - regular updates
Routing Strategies - Fixed
Routing
use a single permanent route for each
source to destination pair
determined using a least cost algorithm
route is fixed
at least until a change in network topology
hence cannot respond to traffic changes
advantage is simplicity
disadvantage is lack of flexibility
Fixed
Routing
Tables
Routing Strategies - Flooding
packet sent by node to every neighbor
eventually multiple copies arrive at destination
no network info required
each packet is uniquely numbered so duplicates
can be discarded
need some way to limit incessant retransmission
nodes can remember packets already forwarded to
keep network load in bounds
or include a hop count in packets
Flooding
Example
Properties of Flooding
all possible routes are tried
very robust
at least one packet will have taken
minimum hop count route
can be used to set up virtual circuit
all nodes are visited
useful to distribute information (eg. routing)
disadvantage is high traffic load generated
Least Cost (= Shortest Path if
each hop costs 1) Algorithms
basis for routing decisions
defines cost of path between two nodes as sum
of costs of links traversed
in network of nodes connected by bi-directional links
where each link has a cost in each direction
for each pair of nodes, find path with least cost
can minimize hop with each link cost 1
or have link value inversely proportional to capacity
link costs in different directions may be different
alternatives: Dijkstra or Bellman-Ford algorithms
Dijkstras Algorithm
finds shortest paths from
given source
node s to all other nodes
by developing paths in order of increasing
path length
algorithm runs in stages (next slide)
each time adding node with next shortest path
algorithm terminates when all nodes processed
by algorithm (in set T)
Dijkstras Algorithm Method
Step 1 [Initialization]
Step 2 [Get Next Node]
T = {s} Set of nodes so far incorporated
L(n) = w(s, n) for n s
initial path costs to neighboring nodes are simply link costs
find neighboring node not in T with least-cost path from s
incorporate node into T
also incorporate the edge that is incident on that node and a
node in T that contributes to the path
Step 3 [Update Least-Cost Paths]
L(n) = min[L(n), L(x) + w(x, n)] for all n T
if latter term is minimum, path from s to n is path from s to x
concatenated with edge from x to n
Dijkstras Algorithm Example
Dijkstras Algorithm Example
Iter
L(2)
Path
L(3)
Path
L(4)
Path
L(5)
Path
L(6
)
Path
{1}
12
1-3
14
{1,4}
12
1-4-3
14
1-45
{1, 2, 4}
12
1-4-3
14
1-45
{1, 2, 4,
5}
12
1-4-53
14
1-45
1-4-56
{1, 2, 3,
4, 5}
12
1-4-53
14
1-45
1-4-56
{1, 2, 3,
4, 5, 6}
1-2
1-4-5-3
1-4
1-45
1-4-5-6
Bellman-Ford Algorithm
find shortest paths from
given node
subject to constraint that paths contain at
most one link
find the shortest paths with a constraint of
paths of at most two links
and so on
Bellman-Ford Algorithm
step 1 [Initialization]
L0(n) = , for all n s
Lh(s) = 0, for all h
step 2 [Update]
for each successive h 0
for each n s, compute: Lh+1(n)=minj[Lh(j)+w(j,n)]
connect n with predecessor node j that gives min
eliminate any connection of n with different
predecessor node formed during an earlier iteration
path from s to n terminates with link from j to n
Example of Bellman-Ford
Algorithm
h Lh(2)
Results of Bellman-Ford
Path L (3) Path Example
L (4) Path L (5) Path
L (6) Path
1 2
1-2
1-3
1-4
2 2
1-2
1-4-3
1-4
1-4-5
10
1-3-6
3 2
1-2
1-4-5-3
1-4
1-4-5
1-4-5-6
4 2
1-2
1-4-5-3
1-4
1-4-5
1-4-5-6