DSDV
DSDV
DSDV
Destination-Sequenced Distance-Vector
Routing Protocol
Outline
Introduction
Distance-Vector
DSDV Protocol
Summary
Introduction
The property of ad-hoc networks
Topology may be quite dynamic
No administrative host
Hosts with finite power
Introduction
The properties of the ad-hoc network routing
protocol
Simple
Less storage space
Loop free
Short control message (Low overhead)
Less power consumption
Multiple disjoint routes
Fast rerouting mechanism
Introduction
Routing Protocol:
Table-driven (proactive)
Source-initiated on-demand (reactive)
Hybrid
Routing Algorithm
Link-State algorithm:
Each node maintains a view of the network topology
Distance-Vector algorithm:
Every node maintains the distance of each destination
Link-State
Like the shortest-path computation
method
Each node maintains a view of the
network topology with a cost for each
link
Periodically broadcast link costs to its
outgoing links to all other nodes such as
flooding
Link-State
A
link costs
F
H
B
C
G
D
Distance-Vector
known also as Distributed Bellman-Ford
or RIP (Routing Information Protocol)
Every node maintains a routing table
all available destinations
the next node to reach to destination
the number of hops to reach the destination
Periodically send table to all neighbors to
maintain topology
Distance Vector (Tables)
1 2
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3
B B 1 B B 0 B B 2
C B 3 C C 2 C C 0
Distance Vector (Update)
Routing table
is updated (A, 1) (A, 1)
(B, 0) (B, 0)
(C, 1) (C, 1)
1 1
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3 2
B B 1 B B 0 B B 1
C B 3 2 C C 1 C C 0
Distance Vector (New Node)
broadcasts to update
tables of C, B, A with
new entry for D
(A, 1) (A, 2)
(B, 0) (B, 1)
(C, 1) (C, 0)
(D, 2) (D, 1) (D, 0)
1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 2
B B 1 B B 0 B B 1
C B 2 C C 1 C C 0
D B 3 D C 2 D D 1
Distance Vector (Broken Link)
1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B
D 1
Distance Vector (Loops)
(D, 2) (D, 2)
1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B 3
Distance Vector (Count to Infinity)
(D,5)
(D,4) (D,4)
(D,3)
(D,2) (D,2)
1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3, 5, … D C 2, 4, 6… D B 3, 5, …
Distance Vector
DV not suited for ad-hoc networks!
Loops
Count to Infinity
A 1 B 2 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 1 A-550
B B 1 B-100 B B 0 B-100 B B 2 B-100
C B 3 C-586 C C 2 C-588 C C 0 C-588
DSDV (Route Advertisement)
B increases Seq.Nr from 100 -> 102
B broadcasts routing information
to Neighbors A, C including
destination sequence numbers
A 1 B 1 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-102 B B 0 B-102 B B 1 B-102
C B 2 C-588 C C 1 C-588 C C 0 C-588
DSDV (Respond to Topology Changes)
Immediate advertisements
Information on new Routes, broken Links, metric
change is immediately propagated to neighbors.
Full/Incremental Update:
Full Update: Send all routing information from own
table.
Incremental Update: Send only entries that has
changed. (Make it fit into one single packet)
DSDV (New Node)
2. Insert entry for D with
sequence number D-000
Then immediately broadcast own
table 1. D broadcast for first time
Send Sequence number D-000
(D, 0, D-000)
A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-104 B B 1 B-104
C B 2 C-590 C C 1 C-590 C C 0 C-590
D D 1 D-000
DSDV (New Node cont.)
3. C increases its sequence
number to C-592 then
4. B gets this new information broadcasts its new table.
and updates its table…….
A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-102 B B 1 B-102
C B 2 C-590 C C 1 C-592 C C 0 C-592
D C 2 D-000 D D 1 D-000
DSDV (no loops, no count to infinity)
2. B does its broadcast
-> no affect on C (C knows that B
has stale information because C has
higher seq. number for destination D)
-> no loop -> no count to infinity 1. Node C detects broken Link:
-> Increase Seq. Nr. by 1
(only case where not the destination
sets the sequence number -> odd
number)
(D, 2, D-100) (D, 2, D-100)
A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … … … … … … …
D B 3 D-100 D C 2 D-100 D D D-101
DSDV (Immediate Advertisement)
3. Immediate propagation 2. Immediate propagation
B to A: C to B:
(update information has higher (update information has higher
Seq. Nr. -> replace table entry) Seq. Nr. -> replace table entry)
1. Node C detects broken Link:
-> Increase Seq. Nr. by 1
(only case where not the destination
sets the sequence number -> odd
number)
(D, , D-101) (D, , D-101)
A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … ... … … … ... … … …
D B 4
3 D-100 D C 3
2 D-100 D B
D 1 D-100
D B D-101 D C D-101 D D D-101
DSDV (Problem of Fluctuations)
(D,0,D-102) This can happen every time D or any other node does its
broadcast and lead to unnecessary route advertisements
D in the network, so called fluctuations.
DSDV (Damping Fluctuations)
Disadvantages
No sleeping nodes
Overhead: most routing information never
used