Destination Sequenced Distance- Vector routing algorithm for Ad

advertisement
Destination Sequenced DistanceVector routing algorithm for Ad Hoc
Networks (DSDV)
n
n
n
Distance Vector vs. Link-State
n
distnace vector vs. link-state
counting to infinity problem
DSDV
u tables
u updates
u responding to topology changes
u dealing with fluctuations - settling time
n
n
link-state
u each node maintains a view of network topology with costs
(number of hops, connectivity, etc.) to each link
u each node periodically broadcasts the costs of its links to keep the
views of all nodes consistent
distance vector (distributed bellman-ford)
u each node i maintains a list of destinations, associated costs to
get there and next hop node
u each node periodically broadcasts the costs of the links and the
costs to destinations
evaluation
u distance vector is more efficient, easier to implement, requires
less storage space, yet it may not converge fast
1
2
Counting-to-Infinity problem
n
n
n
n
DSDV tables
If the link goes down, a distance vector algorithm is prone to
formation of routing loops. The problem is particularly severe if part of
the network becomes separated. In this case the nodes have to count
until “infinity”.
u slow convergence
u value for infinity has to be selected as small as possible – limits
the scalability of algorithm
CtI usually creates loops of 2 nodes which mutually “deceive” each
other
ways to mitigate CtI in wired networks:
u split horizon – don’t propagate the info back to the node from
which info is learned
u poisoned reverse – propagate the info back with metric set to ∝
does not work in wireless networks
u use sequence numbers
n
n
n
each routing table lists all
destinations and number
of hops to each
each route is tagged with a
sequence number
install and stable_data are explained later
MH4’s original routing table
3
Advertisements
n
n
n
n
4
Responding to topology changes
each node periodically advertises routes to other hosts
the destination of the route adds 2 to the sequence number, others
propagate (hence even SNs if no topology change)
route selection
u with largest SN
u if equal SNs – with smaller metric
two types of broadcasts
u full dump – whole routing table is transmitted, possibly in several
messages
F if significant change is detected: topology update – significant
change, SN increase - not
F while network is not busy
u incremental
F as needed
5
n
n
n
when link is broken – node assigns ∝, increments
sequence number for destination (to an odd number –
only case where non-destination changes SN) and
broadcasts
such change is considered significant change
immediately propagated by other nodes
since no node but destination generates new SNs and
the node always accepts greater SNs routing loops are
avoided
6
Damping Fluctuations
Example operation
n
original table at MH4
n
updated table
7
Settling time
n
n
n
to prevent selection of suboptimal paths due to early arrival updates,
a node maintains the delay of “shortest” update arrival from the
“earliest”.
this delay is called settling time
the node calculates a weighted average of the settling time (where
newer data is given preference) for example:
ASTn =
n
where
ASTn-1 – average settling time before update,
ST – settling time
n AST – average settling time after update
n
a node may wait double the average settling time before advertising a
suboptimal entry
stale entry – missed a specified number of updates, stale entries are
removed from routing table
9
∝ is propagated immediately
n
n
n
n
n
2ST + ASTn − 1
3
for various reasons the “shortest” route
update may arrive later than “longer”
u route to MH9 is 11 hops through MH2
and 10 through MH6, yet the update with
SN=200 from MH2 arrives 10 secs earlier
than from MH6
host always uses newest path for routing
but may delay to advertise it, hence a
separate advertising table
u stable data in routing table points
to previously held value
8
Download