340 likes | 757 Views
Routing in MANET: difference. Host mobilityAd hoc nodes have both functions.Both end nodes and routers are mobileNemo 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
E N D
1. Routing Protocols forAd Hoc Wireless Networks 1
2. 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
route stability in despite of mobility
energy consumption
2
3. Characteristics of an Ideal Routing Protocol for MANET Fully distributed: scalable, fault-tolerant
Adaptive to frequent topology changes cause by the mobility of nodes
Route computation and maintenance must involve a min # of nodes
Localized
Global state maintenance involves a huge state propagation control overhead
Loop-free, free from stale routes
Converge to optimal routes quickly
Optimally use scarce resources
Changes in remote parts of the network must not cause updates in the topology information
Provide QoS 3
4. Classification of Routing Protocols 4
5. Routing Protocols Proactive routing protocols
Establish routes in advance
Determine routes independent of traffic pattern
Traditional link-state and distance-vector routing protocols are proactive
Table driven Routing protocol
DSDV, WRP, CGSR, OLSR
Reactive routing protocols
Establish routes only if needed
Less routing overhead, but higher latency in establishing the path
Source-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
6. Proactive vs. Reactive Routing Protocols Latency of route discovery
Proactive protocols: Little or no delay for route determination
since routes are maintained at all times
Reactive protocols: Significant delay in route determination
Employ flooding (global search)
Control traffic may be bursty
Overhead of route discovery/maintenance
Proactive 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 patterns
Low traffic with high mobility : Reactive
High traffic with low mobility : Proactive
6
7. Review onRouting Algorithms 7
8. Distance 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)
Define
dx(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
9. Routing 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…
10. Full-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
11. LSP 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
12. Route 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 ))
13. Proactive Routing Protocols 13
14. Proactive Protocols Nodes maintain global state information
Consistent routing information are stored in tabular form at all the nodes
Changes in network topology are propagated to all the nodes and the corresponding state information are updated
Shortest-path route computation
DV routing: Bellman-Ford algorithm
LS routing: Dijikstra algorithm
Problems
High routing load, which is unnecessary when routing diversity is low 14
15. DSDV: Destination-Sequenced 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
16. DSDV: destination sequence number 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 Y
If 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 problem
16
17. OLSR: Optimized Link State 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
18. OLSR 18
19. The Wireless Routing Protocol (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
20. CGSR: Cluster-head Gateway Switch Routing Protocol [7-8] Use hierarchical network topology
A 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
21. TBRPF: Topology Broadcast Based onReverse 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
22. Reactive Routing Protocols 22
23. Reactive (On-Demand) Routing Protocols Attempts 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 routes
Typically, less control overhead, better scaling properties
DSR, AODV, LMR, TORA, ABR, DYMO
Problems:
Route discovery latency.
Generally no rerouting as long as routes work. Thus, may use suboptimal routes. 23
24. DSR: Dynamic Source Routing [7-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
25. DSR: Route Discovery - RREQ 25
26. DSR: Route Discovery - RREP 26
27. AODV: Ad Hoc On-Demand 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
28. AODV Route Discovery 28
29. 29 AODV Route Discovery
30. 30 AODV Route Discovery
31. 31 AODV Route Discovery Gratuitous feature Ex). If RREQ with G-flag, bi-directional path
32. 32 AODV Route Discovery
33. AODV Route Maintenance Link between C and D breaks down
C can perform local repair for the route to D
Node C invalidates route to D in route table
Node C creates Route Error (RERR) message
Unicasts RERR to upstream neighbors in precursor list
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 needed
33 The RERR message is sent whenever a link break causes one or more destinations to become unreachable from some of the node’s neighbors.
-----------------------------------------------------------------------------------
- N flag
. No delete flag
. set when a node has performed a local repair of a link, and upstream nodes should not delete the route.
- Destcount
. the number of unreachable destinations included in the RERR message.
. Must be at least 1.
- Unreachable Destination IP Address
. The IP address of the destination that has became unreachable due to a link break.
- Unreachable Destination Sequence Number
. The sequence number in the route table entry for the destination listed in the previous Unreachable Destination IP Address field.
The RERR message is sent whenever a link break causes one or more destinations to become unreachable from some of the node’s neighbors.
-----------------------------------------------------------------------------------
- N flag
. No delete flag
. set when a node has performed a local repair of a link, and upstream nodes should not delete the route.
- Destcount
. the number of unreachable destinations included in the RERR message.
. Must be at least 1.
- Unreachable Destination IP Address
. The IP address of the destination that has became unreachable due to a link break.
- Unreachable Destination Sequence Number
. The sequence number in the route table entry for the destination listed in the previous Unreachable Destination IP Address field.
34. 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