routing in wireless networks ad-hoc & manet wireless

Post on 12-Jan-2022

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Routing in Wireless Networks

Ad-hoc & ManetWireless SensorInternet of Thing

Prof. Congduc Phamhttp://www.univ-pau.fr/~cpham

Université de Pau, France

2

Outilne

q General issuesq Routing in Ad-hoc networks

q Wireless Sensor Networks• Hierarchical routing• Geographic routing

q Internet of Things• 6LowPan• ROLL/RPL

q Routing in mesh networks

3

Ad-Hoc networks

q (Mobile) Adhoc NETworks

4

wireless mesh networks

Cognitive, opportunistic, multi-channel radio for large-scale wireless infrastructures

5

Conventional wired routing limitations

q Distance Vector (e.g., Bellman-Ford, BGP):q Tables grow linearly with # nodesq routing control O/H linearly

increasing with network sizeq convergence problems (count to

infinity); potential loops (mobility?)q Link State (e.g., OSPF):

q link update flooding O/H caused by network size and frequent topology changes

q CONVENTIONAL ROUTING DOES NOT SCALE TO SIZE AND MOBILITY

6

24 retransmissions to diffuse a message up to 3 hops

Retransmission node

Flooding in Link State Routing

q In LSR protocol a lot of control msg unnecessary duplicated

7

Network Structure Categorization

Routing Protocols

Flat-Based Hierarchical-Based Location-Based

8

Routing approach

q Proactive protocolsq Traditional distributed shortest-

path protocolsq Maintain routes between every host

pair at all timesq Based on periodic updates; High

routing overhead

q Reactive protocolsq Determine route if and when neededq Source initiates route discoveryq Example: DSR (dynamic source

routing)

9

Routing Operation

1. Multipath routing• Increases fault tolerance• Sophisticated case: have back up paths

2. Query-based routing• Query transmitted and the data is sent back

3. Negotiation-based routing• High-level data description• Elimination of redundant data transmission

4. QoS-based routing• Balance between data quality and energy

consumption for instance

10

Protocol Trade-offs

q Proactive protocolsq Always maintain routesq Little or no delay for route determinationq Consume bandwidth to keep routes up-to-dateq Maintain routes which may never be used

q Reactive protocolsq Lower overhead since routes are determined

on demandq Significant delay in route determinationq Employ flooding (global search)q Control traffic may be bursty

q Which approach achieves a better trade-off depends on the traffic and mobility patterns

11

Classification

Table drivenSource-Initiated

On demand

DSDV

CGSR

OLSR TBRPF

AODV DSR LMR

TORA

ABR

SSR

Ad Hoc RoutingProtocols

proactive reactive

Dynamic Source Routing (DSR) [Johnson96]

§ When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery

§ Source node S floods Route Request (RREQ)

§ Each node appends own identifier when forwarding RREQ

Route Discovery in DSR

B

A

S EF

H

J

D

C

G

IK

Z

Y

Represents a node that has received RREQ for D from S

M

N

L

Route Discovery in DSR

B

A

S EF

H

J

D

C

G

IK

Represents transmission of RREQ

Z

YBroadcast transmission

M

N

L

[S]

[X,Y] Represents list of identifiers appended to RREQ

Route Discovery in DSR

B

A

S EF

H

J

D

C

G

IK

• Node H receives packet RREQ from two neighbors:potential for collision

Z

Y

M

N

L

[S,E]

[S,C]

Route Discovery in DSR

B

A

S EF

H

J

D

C

G

IK

• Node C receives RREQ from G and H, but does not forwardit again, because node C has already forwarded RREQ once

Z

Y

M

N

L

[S,C,G]

[S,E,F]

Route Discovery in DSR

B

A

S EF

H

J

D

C

G

IK

Z

Y

M

• Nodes J and K both broadcast RREQ to node D• Since nodes J and K are hidden from each other, their

transmissions may collide

N

L

[S,C,G,K]

[S,E,F,J]

Route Discovery in DSR

B

A

S EF

H

J

D

C

G

IK

Z

Y

• Node D does not forward RREQ, because node Dis the intended target of the route discovery

M

N

L

[S,E,F,J,M]

Route Discovery in DSR

§ Destination D on receiving the first RREQ, sends a Route Reply (RREP)

§ RREP is sent on a route obtained by reversing the route appended to received RREQ

§ RREP includes the route from S to D on which RREQ was received by node D

Route Reply in DSR

B

A

S EF

H

J

D

C

G

IK

Z

Y

M

N

L

RREP [S,E,F,J,D]

Represents RREP control message

Dynamic Source Routing (DSR)

§ Node S on receiving RREP, caches the route included in the RREP

§ When node S sends a data packet to D, the entire route is included in the packet header– hence the name source routing

§ Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded

Data Delivery in DSR

B

A

S EF

H

J

D

C

G

IK

Z

Y

M

N

L

DATA [S,E,F,J,D]

Packet header size grows with route length

Dynamic Source Routing: Disadvantages

§ Packet header size grows with route length due to source routing

§ Flood of route requests may potentially reach all nodes in the network

§ Potential collisions between route requests propagated by neighboring nodes– insertion of random delays before forwarding RREQ

§ Increased contention if too many route replies come back due to nodes replying using their local cache– Route Reply Storm problem

§ Stale caches will lead to increased overhead

Ad Hoc On-Demand Distance Vector Routing (AODV) [Perkins99Wmcsa]

§ DSR includes source routes in packet headers§ Resulting large headers can sometimes degrade

performance– particularly when data contents of a packet are small

§ AODV attempts to improve on DSR by maintaining routing tables at the nodes, so that data packets do not have to contain routes

§ AODV retains the desirable feature of DSR that routes are maintained only between nodes which need to communicate

AODV

§ Route Requests (RREQ) are forwarded in a manner similar to DSR

§ When a node re-broadcasts a Route Request, it sets up a reverse path pointing towards the source– AODV assumes symmetric (bi-directional) links

§ When the intended destination receives a Route Request, it replies by sending a Route Reply (RREP)

§ Route Reply travels along the reverse path set-up when Route Request is forwarded

Route Requests in AODV

B

A

S EF

H

J

D

C

G

IK

Z

Y

Represents a node that has received RREQ for D from S

M

N

L

Route Requests in AODV

B

A

S EF

H

J

D

C

G

IK

Represents transmission of RREQ

Z

YBroadcast transmission

M

N

L

Route Requests in AODV

B

A

S EF

H

J

D

C

G

IK

Represents links on Reverse Path

Z

Y

M

N

L

Reverse Path Setup in AODV

B

A

S EF

H

J

D

C

G

IK

• Node C receives RREQ from G and H, but does not forwardit again, because node C has already forwarded RREQ once

Z

Y

M

N

L

Reverse Path Setup in AODV

B

A

S EF

H

J

D

C

G

IK

Z

Y

M

N

L

Reverse Path Setup in AODV

B

A

S EF

H

J

D

C

G

IK

Z

Y

• Node D does not forward RREQ, because node Dis the intended target of the RREQ

M

N

L

Forward Path Setup in AODV

B

A

S EF

H

J

D

C

G

IK

Z

Y

M

N

L

Forward links are setup when RREP travels alongthe reverse path

Represents a link on the forward path

Route Request and Route Reply

§ Route Request (RREQ) includes the last known sequence number for the destination

§ An intermediate node may also send a Route Reply (RREP) provided that it knows a more recent path than the one previously known to sender

§ Intermediate nodes that forward the RREP, also record the next hop to destination

§ A routing table entry maintaining a reverse path is purged after a timeout interval

§ A routing table entry maintaining a forward path is purged if not usedfor a active_route_timeout interval

Link Failure

§ A neighbor of node X is considered active for a routing table entry if the neighbor sent a packet within active_route_timeout interval which was forwarded using that entry

§ Neighboring nodes periodically exchange hello message

§ When the next hop link in a routing table entry breaks, all activeneighbors are informed

§ Link failures are propagated by means of Route Error (RERR)messages, which also update destination sequence numbers

Route Error

§ When node X is unable to forward packet P (from node S to node D) on link (X,Y), it generates a RERR message

§ Node X increments the destination sequence number for D cached at node X

§ The incremented sequence number N is included in the RERR

§ When node S receives the RERR, it initiates a new route discovery for D using destination sequence number at least as large as N

§ When node D receives the route request with destination sequence number N, node D will set its sequence number to N, unless it is already larger than N

AODV: Summary

§ Routes need not be included in packet headers

§ Nodes maintain routing tables containing entries only for routes that are in active use

§ At most one next-hop per destination maintained at each node– DSR may maintain several routes for a single destination

§ Sequence numbers are used to avoid old/broken routes§ Sequence numbers prevent formation of routing loops

§ Unused routes expire even if topology does not change

Optimized Link State Routing Protocol

§ Proactive & Table-driven§ Link State Routing

– Each node expands a spanning tree– Each node can obtain the whole network topology

§ Utilizes a technique to reduce message flooding– MultiPoint Relaying (MPR)– MPR are nodes N at 1-hop of A such that 2-hop neighbors of A are

1-hop neighbors of N

A

B F

CD

E

GK

H

J

MPR selection algorithm

§ Each point u has to select its set of MPR. § Goal :

Select in the 1-neighborhood of u (N1(u)) a set of nodes as small as possible which covers the whole 2-neighborhood of u(N2(u)).

– Step 1: Select nodes of N1(u) which cover isolated pointsof N2(u).

– Step 2: Select among the nodes of N1(u) not selected atthe first step, the node which covers the highestnumber of points of N2(u) and go on till everypoints of N2(u) are covered.

MPR selection algorithm

§ First step: Select nodes in N1(u) which cover “isolated points” of N2(u).

u

MPR selection algorithm

§ Second step : Consider in N1(u) only points which are not already selected at the first step NPR1(u) and points in N2(u) which are not covered by the NPR1(u) . While there exists points in N2(u) not covered by the selected MPR, select in N2(u), the node which covers the highest number of non-covered nodes in N2(u).

u

MPR selection algorithm

§ Final:MPRs

u

topology Solution found Best solution

Can find non-optimal solution

Step 1: Select nodes of N1(u) which cover isolated pointsof N2(u).

Step 2: Select among the nodes of N1(u) not selected atthe first step, the node which covers the highestnumber of points of N2(u) and go on till everypoints of N2(u) are covered.

46

Wireless Sensor Networkreport to fixed sink

47

Routing challenges and design issues

q Node deploymentq Manual deployment

• Sensors are manually deployed• Data is routed through

predetermined pathq Random deployment

• Optimal clustering is necessary to allow connectivity & energy-efficiency

• Multi-hop routing

q Coverageq An individual sensor’s view is limitedq Area coverage is an important

design factor

51

q A node knows its own location, the locations of its neighbors, and the destination’s location (D)

q The destination’s location is included in the packet header

q Forwarding decision is based on local distance information

q Greedy Forwarding: achieve max progress towards D

51

x D

y

Geographic routing

52

Greedy forwarding

xs,ys

xd,yd

Greedy geographic routing uses maximum distance forwarding

53

Assume A1 closest to D

A2 sends to A3 – contradiction, A1 is closer

D

An

An-1

A3

A2

A1

Greedy is loop-free

54

Is maximum distance always good?

S

D

S

D

Few long links with low quality Many short links with high quality

S

D

Intermediate nodes that are more sollicited die first

55

Greedy=shortest path?

S A

E C

DB

56

Greedy=shortest path?

S A

E C

DB

57

Avoiding holes

q (II) Dead-end Resolution (Local Minima)q Getting around voids using face routing in planar graphsq Need a planarization algorithm

57

* P. Bose, P. Morin, I. Stojmenovic, and J. Urrutia. “Routing with Guaranteed Delivery in Ad Hoc Wireless Networks”. DialM Workshop, 99.

* GPSR: Karp, B. and Kung, H.T., Greedy Perimeter Stateless Routing for Wireless Networks, ACM MobiCom, , pp. 243-254, August, 2000.

x D

a

bc

Planarized Wireless Network

Removed Links

Kept LinksFace Routing*

void

58

Organizing the network

q The network is no longer useful when node’s battery dies

q Organizing the network allows for spacing out the lifespan of the nodes

q Hierarchical routing protocols give priority to energy

q Low-Energy Adaptive Clustering Hierarchy (LEACH)

59

LEACH & Cluster head

q A cluster-head collect data from their surrounding nodes and pass it on to the base station

q The job of cluster-head rotates

60

Direct vs. Minimum Transmission

qThe amount of energy used in figure (a) can be modeled by this formula:qeampk(3d1 + d2)2

qWhereas the amount of energy used in figure (b) uses this formula:qeampk(3d1

2 + d22)

61

LEACH’s Two Phases

q The LEACH network has two phases: the set-up phase and the steady-state

q The Set-Up Phase• Where cluster-heads are chosen

q The Steady-State• The cluster-head is maintained• When data is transmitted between

nodes

62

Selecting cluster-head

¡ Cluster-heads can be chosen stochastically (randomly based) on this algorithm:

¡ R is the round number¡ If n < T(n), then that node becomes a

cluster-head¡ The algorithm is designed so that each

node becomes a cluster-head at least once

63

Example

p=0.05

0.0500 = 0.05/(1-0.05*0)0.0526 = 0.05/(1-0.05*1)0.0555 = 0.05/(1-0.05*2)0.0588 = 0.05/(1-0.05*3)0.0625 = 0.05/(1-0.05*4)0.0666 = 0.05/(1-0.05*5)0.0714 = 0.05/(1-0.05*6)0.0769 = 0.05/(1-0.05*7) 0.0833 = 0.05/(1-0.05*8)0.0909 = 0.05/(1-0.05*9)0.1000 = 0.05/(1-0.05*10). . .

0.5000 = 0.05/(1-0.05*18)1.0000 = 0.05/(1-0.05*19)

• Number of clusters may not fixed in any round.

Advertisement

Phase

Cluster Set up

Phase

Schedule Creation

Phase

Data Transmission

Phase

“Me Head !!!”(CSMA-MAC)

“I am with you”(CSMA-MAC)

“Here’s your time slot”“Thanks for the time slot, Here’s

my data”(TDMA)

Modified from http://faculty.cs.tamu.edu/dzsong/teaching/fall2004/netbot/John_G.ppt

After decide which cluster it joins, each node informs the cluster-head Based on the number of nodes in the

cluster, the cluster-head node creates a TDMA schedule telling each node when it can transmit. This schedule is broadcast back to the nodes in the cluster.

To reduce energy consumption non-cluster-head nodes:

• Use minimal amount of energy chosen based on the strength of the cluster-head advertisement.

• Can turn off the radio until their allocated transmission time.

• Every node chooses a random number (R) and compute a threshold T(n).

• T(n) = P/(1-P*(r mod(1/p)) if n element of G, = 0 else

P – desired percentage of cluster heads (e.g. 5%)r – the current roundG – set of nodes that have not been cluster head in the last 1/P rounds

• It elects itself as a cluster-head if R < T(n)

• Every cluster-head broadcast an advertisement message, with the same transmit energy.

• Non-cluster-head node decide which cluster it joins in this round based on the received signal strength.

• Largest strength à closest à minimal enery needed for communication.

65

Optimize selection

q A modified version of this protocol is known as LEACH-C (or LEACH Centralized)

q This version has a deterministicthreshold algorithm, which takes into account the amount of energy in the node

66

Location of CH is important

q While neither of these diagrams is the optimum scenario, the second is better because the cluster-heads are spaced out and the network is more properly sectioned

68

Internet of Things

69

The benefit of IP

From ArchRock “6LowPan tutorial”

Don’t reinvent the wheel!

70

IP need IP addresses!

q IPv4 has no more addresses!q IPv6 gives plenty of addresses

q 128bit address=16bytes!q 6LowPan adapts IPv6 to

resource-constrained devicesq Compressed IPv6 header

40 bytes

7 bytes !

74

Addressing Example

82

Internet for things

6LowPan802.15.4

RPLRouting Protocol for Low power & Lossy Networks

IPv4, IPv6

Internet Routing Protocols: RIP, OSPF, BGP,…

TCP, UDPUDP

83

Using IP protocols

End-to-end IPv6 connectivity.UDP or CoAP can be used to transport sensor data in an HTTP-like fashion

IPv6 egde routerRPL

RPL

RPLRPL

CoAPUDP

Slide #84 IETF 75 – Roll WG – July 2009

RPL (ripple)Routing Protocol for Low Power

and Lossy Networks

Walkthroughdraft-dt-roll-rpl-01.txt

Anders BrandtThomas Heide Clausen

Stephen Dawson-HaggertyJonathan W. Hui

Kris PisterPascal Thubert

Tim Winter

Slide #86 IETF 75 – Roll WG – July 2009

Approach - Forwarding• Forwarding MP2P traffic to nodes of lesser depth avoids

loops– only occur in presence of depth inconsistency, which is avoided

or discovered and resolved– Ample redundancy in most networks

• Forwarding traffic to nodes of equal depth (DAG siblings) may be used if forwarding to lesser depth is temporarily failed– Increases redundancy, but additional protection against loops,

e.g., id’s, should be added• Forwarding MP2P traffic to nodes of deeper depth is

unlikely to make forward progress and likely to loop

Slide #87 IETF 75 – Roll WG – July 2009

DAG Construction• LLN links are depicted• LBR form a Destination

Object DAG (DODAG)• Links are annotated w/

ETX (Expected Transmission Count)

• It is expected that ETX variations will be averaged/filtered as per [ROLL-METRICS] to be stable enough for route computation

A B C

EDF

G H I

1

3

2

11

11

1

4

1

1

1 11

1

LBR-1

Low power and lossy network Border Router

Slide #88 IETF 75 – Roll WG – July 2009

DAG Construction• LBR-1 multicasts RA-DIO

(Router Advertisement DODAG Information Object)

• Nodes A, B, C receive and process RA-DIO

• Nodes A, B, C consider link metrics to LBR-1 and the optimization objective

• The optimization objective can be satisfied by joining the DAG rooted at LBR-1

• Nodes A, B, C add LBR-1 as a DAG parent and join the DAG

A B C

EDF

G H I

1

3

2

11

11

1

4

1

1

1 11

1

LBR-1

Slide #89 IETF 75 – Roll WG – July 2009

DAG Construction• Node A is at Depth 1 in the

DAG, as calculated by the routine indicated by the example OCP (Depth ~ ETX)

• Node B is at Depth 3, Node C is at Depth 2

• Nodes A, B, C have installed default routes (::/0) with LBR-1 as successor

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

C

Slide #90 IETF 75 – Roll WG – July 2009

DAG Construction• The RA timer on Node C

expires• Node C multicasts RA-DIO• LBR-1 ignores RA-DIO

from deeper node• Node B can add Node C

as alternate DAG Parent, remaining at Depth 3

• Node E joins the DAG at Depth 3 by adding Node C as DAG Parent

A B

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Slide #91 IETF 75 – Roll WG – July 2009

DAG Construction• Node A is at Depth 1, and

can reach ::/0 via LBR-1 with ETX 1

• Node B is at Depth 3, with DAG Parents LBR-1, and can reach ::/0 via LBR-1 or C with ETX 3

• Node C is at Depth 2, ::/0 via LBR-1 with ETX 2

• Node E is at Depth 3, ::/0 via C with ETX 3

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

DAG Construction

C

Slide #92 IETF 75 – Roll WG – July 2009

• The RA timer on Node A expires

• Node A multicasts RA-DIO• LBR-1 ignores RA-DIO

from deeper node• Node B adds Node A• Node B can improve to a

more optimum position in the DAG

• Node B removes LBR-1, Node C as DAG Parents

A B

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Slide #93 IETF 75 – Roll WG – July 2009

DAG Construction• Node A is at Depth 1, ::/0

via LBR-1 with ETX 2• Node B is at Depth 2, ::/0

via A with ETX 2• Node C is at Depth 2, ::/0

via LBR-1 with ETX 2• Node E is at Depth 3, ::/0

via C with ETX 3

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Slide #94 IETF 75 – Roll WG – July 2009

DAG Construction• DAG Construction

continues…

• And is continuously maintained

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

A

EDF

G H

Slide #95 IETF 75 – Roll WG – July 2009

MP2P Traffic• MP2P traffic flows inwards

along DAG, toward DAG Root

• DAG Root may also extend connectivity to other prefixes beyond the DAG root, as specified in the DIO

• Nodes may join multiple DAGs as necessary to satisfy application constraints

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1I

B C

Internet for things

6LowPan802.15.4

RPLRouting Protocol for Low power & Lossy Networks

IPv4, IPv6

Internet Routing Protocols: RIP, OSPF, BGP,…

CoAP: Constrained Application Protocol

HTTP

TCP, UDPUDP

97

CoAP/6LowPan/IEEE 802.15.4

IPv6

to actuators

IPv6

RPL routing

6LowPanborder router

get

get

ack

ack

Client/User-initiated scenario (e.g. temp. sensor)

98

RPL and CoAP exchanges

99

Copper for Firefox

q CoAP pluggin to query CoAP nodes in an http-like fashion

get

ack

top related