routing protocols for ad hoc wireless networks

34
Routing Protocols for Routing Protocols for Ad Hoc Wireless Networks Ad Hoc Wireless Networks 1

Upload: zoe

Post on 20-Jan-2016

47 views

Category:

Documents


2 download

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

TRANSCRIPT

Page 1: Routing Protocols for Ad Hoc Wireless Networks

Routing Protocols forRouting Protocols forAd Hoc Wireless NetworksAd Hoc Wireless Networks

1

Page 2: Routing Protocols for Ad Hoc Wireless Networks

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

Page 3: Routing Protocols for Ad Hoc Wireless Networks

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

Page 4: Routing Protocols for Ad Hoc Wireless Networks

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

Page 5: Routing Protocols for Ad Hoc Wireless Networks

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

Page 6: Routing Protocols for Ad Hoc Wireless Networks

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

Page 7: Routing Protocols for Ad Hoc Wireless Networks

Review onReview onRouting AlgorithmsRouting Algorithms

7

Page 8: Routing Protocols for Ad Hoc Wireless Networks

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

Page 9: Routing Protocols for Ad Hoc Wireless Networks

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

Page 10: Routing Protocols for Ad Hoc Wireless Networks

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

Page 11: Routing Protocols for Ad Hoc Wireless Networks

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

Page 12: Routing Protocols for Ad Hoc Wireless Networks

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 ))

Page 13: Routing Protocols for Ad Hoc Wireless Networks

Proactive Routing Proactive Routing ProtocolsProtocols

13

Page 14: Routing Protocols for Ad Hoc Wireless Networks

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

Page 15: Routing Protocols for Ad Hoc Wireless Networks

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

Page 16: Routing Protocols for Ad Hoc Wireless Networks

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

Page 17: Routing Protocols for Ad Hoc Wireless Networks

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

Page 18: Routing Protocols for Ad Hoc Wireless Networks

OLSROLSR

18

24 retransmission to deliver a message up to 3 hops

11 retransmission to deliver a message up to 3 hops

Page 19: Routing Protocols for Ad Hoc Wireless Networks

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

Page 20: Routing Protocols for Ad Hoc Wireless Networks

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

Page 21: Routing Protocols for Ad Hoc Wireless Networks

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

Page 22: Routing Protocols for Ad Hoc Wireless Networks

Reactive Routing Reactive Routing ProtocolsProtocols

22

Page 23: Routing Protocols for Ad Hoc Wireless Networks

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

Page 24: Routing Protocols for Ad Hoc Wireless Networks

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

Page 25: Routing Protocols for Ad Hoc Wireless Networks

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

Page 26: Routing Protocols for Ad Hoc Wireless Networks

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

Page 27: Routing Protocols for Ad Hoc Wireless Networks

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

Page 28: Routing Protocols for Ad Hoc Wireless Networks

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

Page 29: Routing Protocols for Ad Hoc Wireless Networks

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

Page 30: Routing Protocols for Ad Hoc Wireless Networks

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

Page 31: Routing Protocols for Ad Hoc Wireless Networks

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

Page 32: Routing Protocols for Ad Hoc Wireless Networks

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

Page 33: Routing Protocols for Ad Hoc Wireless Networks

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

Page 34: Routing Protocols for Ad Hoc Wireless Networks

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