routing in wireless networks ad-hoc & manet wireless
Post on 12-Jan-2022
1 Views
Preview:
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