Upload
zoe
View
49
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Routing Protocols for Ad Hoc Wireless Networks. Routing in MANET: difference. Host mobility Ad hoc nodes have both functions. Both end nodes and routers are mobile Nemo Rate of link failure/repair may be high when nodes move fast New performance criteria may be used - PowerPoint PPT Presentation
Citation preview
Routing Protocols forRouting Protocols forAd Hoc Wireless NetworksAd Hoc Wireless Networks
1
Routing in MANET: differenceRouting in MANET: difference
Host mobilityAd hoc nodes have both functions.Both end nodes and routers are mobile
• Nemo
Rate of link failure/repair may be high when nodes move fast
New performance criteria may be usedroute stability in despite of mobilityenergy consumption
2
Characteristics of an Ideal Routing Characteristics of an Ideal Routing Protocol for MANETProtocol for MANETFully distributed: scalable, fault-tolerantAdaptive to frequent topology changes cause
by the mobility of nodesRoute computation and maintenance must
involve a min # of nodesLocalized
Global state maintenance involves a huge state propagation control overhead
Loop-free, free from stale routesConverge to optimal routes quicklyOptimally use scarce resourcesChanges in remote parts of the network must
not cause updates in the topology information Provide QoS
3
Classification of Routing ProtocolsClassification of Routing Protocols
4
Ad Hoc routing protocols
Table-driven(Proactive)
DSDV
CGSR
Demand-driven(Reactive)
AODV DSR LMR ABR
TORA SSR
Hybrid
ZRPTBRPFOLSR
Routing ProtocolsRouting Protocols Proactive routing protocols
Establish routes in advanceDetermine routes independent of traffic patternTraditional link-state and distance-vector routing
protocols are proactive Table driven Routing protocol
• DSDV, WRP, CGSR, OLSR Reactive routing protocols
Establish routes only if neededLess routing overhead, but higher latency in establishing
the pathSource-initiated on-demand
• AODV, DSR, TORA, ABR, SSA Hybrid routing protocols
Proactive within a restricted geographic area, reactive if a packet must traverse several of these areas
CEDAR, ZRP
5
Proactive vs. Reactive Routing Proactive vs. Reactive Routing Protocols Protocols Latency of route discovery
Proactive protocols: Little or no delay for route determination
• since routes are maintained at all timesReactive protocols: Significant delay in route
determination• Employ flooding (global search)• Control traffic may be bursty
Overhead of route discovery/maintenanceProactive protocols: Consume bandwidth to keep routes
up-to-date• Maintain routes which may never be used
Reactive protocols: Lower overhead since routes are determined on demand
Which approach achieves a better trade-off depends on the traffic and mobility patternsLow traffic with high mobility : ReactiveHigh traffic with low mobility : Proactive
6
Review onReview onRouting AlgorithmsRouting Algorithms
7
Distance Vector RoutingDistance Vector Routing
Exchange RT to neighbor nodes Each nodes has only partial
information about network Disadvantages
Bad news propagates slowly Routing loop
Used in RIP(Routing Information Protocol)
Bellman-Ford Equation (dynamic programming)
Definedx(y) := cost of least-cost path
from x to y
Then
dx(y) = min {c(x,v) + dv(y) }
where min is taken over all neighbors of x
Routing LoopsRouting Loops
Example 1 F detects that link to G has
failed F sets distance to G to infinity
and sends update t o A A sets distance to G to infinity
since it uses F to reach G A receives periodic update
from C with 2-hop path to G A sets distance to G to 3 and
sends update to F F decides it can reach G in 4
hops via A Example 2
link from A to E fails A advertises distance of infinity
to E B and C advertise a distance of
2 to E B decides it can reach E in 3
hops; advertises this to A A decides it can read E in 4
hops; advertises this to C C decides that it can reach E in
5 hops…
D
G
A
F
E
B
C
Loop-Breaking Heuristics Set infinity to 16 Split horizon Split horizon with poison
reverse
Full-topology Routing: Link StateFull-topology Routing: Link State
Exchange link state(neighbor’s information) to all nodes
Then each node knows full-topology. Recompute all optimal routes using Dijkstra’s SPF
Superior to distance vector routing
LSP FloodingLSP Flooding Link State Packet (LSP)
id of the node that created the LSP
cost of link to each directly connected neighbor
sequence number (SEQNO) time-to-live (TTL) for this
packet Reliable flooding
store most recent LSP from each node
forward LSP to all nodes but one that sent it
generate new LSP periodically
• increment SEQNO start SEQNO at 0 when
reboot decrement TTL of each
stored LSP• discard when TTL=0
A
B
G
DE
c
F
Route CalculationRoute Calculation
Dijkstra’s shortest path algorithm Let
N denotes set of nodes in the graph l (i, j) denotes non-negative cost (weight) for edge (i, j) s denotes this node M denotes the set of nodes incorporated so far C(n) denotes cost of the path from s to node n
M = {s}
for each n in N - {s}
C(n) = l(s, n)
while (N != M)
M = M union {w} such that C(w) is the minimum for
all w in (N - M)
for each n in (N - M)
C(n) = MIN(C(n), C (w) + l(w, n ))
Proactive Routing Proactive Routing ProtocolsProtocols
13
Proactive ProtocolsProactive Protocols
Nodes maintain global state informationConsistent routing information are stored
in tabular form at all the nodesChanges in network topology are
propagated to all the nodes and the corresponding state information are updated
Shortest-path route computationDV routing: Bellman-Ford algorithmLS routing: Dijikstra algorithm
ProblemsHigh routing load, which is unnecessary when
routing diversity is low 14
DSDV: Destination-Sequenced DSDV: Destination-Sequenced Distance-Vector [7-6]Distance-Vector [7-6] Uses a concept called “destination
sequence no.” Determines freshness of route. Helps in ordering routing events and
hence preventing loops. Each route is tagged with a sequence
number; routes with greater sequence numbers are preferred: newer one
Distance vector augmented with destination sequence number. <next hop, #hops, dest. seq. no.>
for each dest. Each node periodically forwards the
routing table to its neighbors Each node increments and appends
its sequence number when sending its local routing table
This sequence number will be attached to route entries created for this node
When a node decides that a route is broken, it increments the sequence number of the route and advertises it with infinite metric
Node mobility : routing data update period
15
DSDV: destination sequence DSDV: destination sequence numbernumber
Let S(X) and S(Y): denote the destination sequence number for node Z as stored at node X, and as sent by node Y with its routing table to node X, respectively
Node X takes the following steps:If S(X) > S(Y), then X ignores the routing
information received from YIf S(X) = S(Y), and cost of going through Y is
smaller than the route known to X, then X sets Y as the next hop to Z
If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y)
Avoid Count to infinity problem16
OLSR: Optimized Link State OLSR: Optimized Link State Routing [7-21]Routing [7-21] Uses the concept of multipoint relays (MPR).
Multipoint relays of node X are its neighbors such that each two-hop neighbor of X is a one-hop neighbor of at least one multipoint relay of X.
Similar concept in literature – dominating set. Broadcast beacon(HELLO message) every HELLO interval
Determine the link state (symmetric, asymmetric, or MPR) HELLO message contains list of known one-hop neighbors
Only MPRs participate in routing. Flooding the network with HELLO messages incurs too much
overhead Only MPRs generate link state updates. Only MPRs relay link state updates.
Builds neighbor table that includes all its 1-hop and 2-hop neighbors Selects its multipoint relay (MPR) nodes among its one hop
neighbors such that it can reach all the nodes that are 2 hops away.
Experimental RFC 3626, October 2003
17
OLSROLSR
18
24 retransmission to deliver a message up to 3 hops
11 retransmission to deliver a message up to 3 hops
The Wireless Routing Protocol The Wireless Routing Protocol (WRP) [7-7](WRP) [7-7] Each node maintains 4 tables
Distance table, Routing table, Link-cost table Message retransmission list
table Link changes are propagated
using update messages sent between neighboring nodes
Hello messages are periodically exchanged between neighbors to ensure connectivity
Avoids count-to-infinity problem by forcing each node to check predecessor information checks for consistency of all its
neighbors every time it detects a change in link of any of its neighbors
19
CGSR: Cluster-head Gateway CGSR: Cluster-head Gateway Switch Routing Protocol [7-8]Switch Routing Protocol [7-8]Use hierarchical network topologyA cluster-head is elected dynamically by
employing a least cluster change algorithm
Different cluster-heads could operate on different spread codes on a CSMA system
Token-based scheduling within a cluster
20
TBRPF: Topology Broadcast Based TBRPF: Topology Broadcast Based ononReverse Path ForwardingReverse Path Forwarding Experimental RFC 3684.
February, 2004 link-state routing protocol Periodic and differential
updates Each node computes a source
tree to all reachable nodes Neighbor discovery module TND
send differential HELLO messages that reports only the changes of neighbors.
routing module operates based on partial topology information
Reverse-Path Forwarding Used to broadcast link-state
updates in the reverse direction along the spanning tree formed by the minimum-hop paths
Only the links that will result in changes to the source tree are included in the updates
21
i j
p q
uk
Bidirectional linkLinks before link lostLinks after selecting new parent
Reactive Routing Reactive Routing ProtocolsProtocols
22
Reactive (On-Demand) Routing Reactive (On-Demand) Routing ProtocolsProtocolsAttempts to reduce routing load by discovering
and maintaining routes that are actually used. Significant reduction in routing load relative to
proactive routing when route diversity is low. (i.e. in large MANET)
Source build routes on-demand by “flooding”Maintain only active routesTypically, less control overhead, better scaling
properties
DSR, AODV, LMR, TORA, ABR, DYMOProblems:
Route discovery latency. Generally no rerouting as long as routes work. Thus,
may use suboptimal routes.23
DSR: Dynamic Source Routing [7-DSR: Dynamic Source Routing [7-10]10] A sender knows the complete
hop-by-hop route to the destination Uses source routing.
Caches multiple routes in local cache.
Problems Significantly great amount of
routing information• Path accumulation in packets
Do not have mechanism to expire stale routes in the caches: no sequence number
24
1
destination
source
65
4
3
2
8
7
(1,4)
(1,2)
(1,3)
(1,3,5,6)(1,3,5)
(1,4,7)
source broadcasts a packet containing address of source and destination
The route looks up its route caches to look for a route to destination
If not find, appends its address into the packet
The destination sends a reply packet to source.
The node discards the packets having been seen
DSR: Route Discovery - RREQDSR: Route Discovery - RREQ
25
<A>
<A>
<A>
<A,D>
<A,B>
<A,C>
<A,C,E>
<A,D,F>
<A,C,E,G>
source
destination
C
B
A
D
E
F
H
G
DSR: Route Discovery - RREPDSR: Route Discovery - RREP
26
Cache of A
Dst. Path
H A,C,E,G
H A,D,F
<A,D,F>
<A,C,E,G>
source
destination
C
B
A
D
E
F
H
G
AODV: Ad Hoc On-Demand AODV: Ad Hoc On-Demand Distance Vector Routing [7-11]Distance Vector Routing [7-11] RFC 3561 AODV attempts to improve on DSR by maintaining routing tables
at the nodes, so that data packets do not have to contain routes Uses conventional routing table (distance vector). Uses a sequence number similar to DSDV. Has been augmented to maintain multiple paths [35]
Hello Message Maintaining Local Connectivity
Pre-cursor List Some complicate work
27
The node discards the packets having been seen
Destination
The source broadcasts a route packet
The neighbors in turn broadcast the packet till it reaches the destination
RREQ
RREP
Source
Reply packet follows the reverse path of route request packet recorded in broadcast packet
AODV Route DiscoveryAODV Route Discovery
28
Dst.
Nxt.
A A
S
B
DC
A
RREQ
Dst.
Nxt.
S SC CB B
Dst.
Nxt.
A A
Dst.
Nxt.
A AD D
Dst.
Nxt.
C C
29
AODV Route DiscoveryAODV Route Discovery
S
B
DC
A
Dst.
Nxt.
S SC CB B
RREQ
Dst.
Nxt.
A AD D
Dst.
Nxt.
A A
Dst.
Nxt.
A A
Dst.
Nxt.
C C
30
AODV Route DiscoveryAODV Route Discovery
S
B
DC
A
Dst.
Nxt.
S SC CB BD C
Dst.
Nxt.
A AS A
Dst.
Nxt.
A AD DS A
RREPDst.
Nxt.
A A Dst.
Nxt.
C C
31
AODV Route DiscoveryAODV Route Discovery
Gratuitous feature Ex). If RREQ with G-flag, bi-directional path
S
B
DC
A
Dst.
Nxt.
S SC CB BD C
Dst.
Nxt.
A AS A
Dst.
Nxt.
A AD DS A
RREPDst.
Nxt.
A A Dst.
Nxt.
C CS C
32
AODV Route DiscoveryAODV Route Discovery
S
B
DC
A
Dst.
Nxt.
S SC CB BD C
Dst.
Nxt.
A AS A
Dst.
Nxt.
A AD DS A
Dst.
Nxt.
A AD A
Dst.
Nxt.
C CS C
DATA
AODV Route MaintenanceAODV Route Maintenance
1. Link between C and D breaks down C can perform local repair
for the route to D2. Node C invalidates route
to D in route table3. Node C creates Route
Error (RERR) message Unicasts RERR to upstream
neighbors in precursor list4. Node A receives RERR
Checks whether C is its next hop on route to D
Deletes route to D Forwards RERR to S
5. Node S receives RERR Checks whether A is its next
hop on route to D Deletes route to D Rediscovers route if still
needed33
S
B
DC
A RERR
RERR
DSR vs AODV DSR vs AODV
DSR uses source routing
DSR uses route cache
DSR route cache entries do not have lifetimes
DSR nodes respond to each RREQ duplicate
AODV uses next hop entry
AODV uses route table
AODV route table entries do have lifetimes
AODV nodes only respond to first RREQ, unless one arrives along a better path
34