Wireless Embedded Systems (0120442x) Routing
-
Upload
denton-mercado -
Category
Documents
-
view
27 -
download
1
description
Transcript of Wireless Embedded Systems (0120442x) Routing
Network Kernel Architectures
and Implementation(01204423)
Routing
Chaiporn [email protected]
Department of Computer EngineeringKasetsart University
Materials taken from lecture slides by Karl and Willig
2
Overview Unicast routing in MANETs Energy efficiency & unicast routing Multi-/broadcast routing Geographical routing
3
Unicast, ID-Centric Routing Given: a network/a graph
Each node has a unique identifier (ID) Goal: Send a packet from one node
to another The routing & forwarding problem Routing: Construct a table telling how
can reach a given destination Forwarding: Consult this table to
forward a given packet to its next hop Challenges
4
Challenges in WSNs/MANETs Nodes may move around,
neighborhood relations change
Optimization metrics may be more complicated Not just “smallest hop count”
A
BC
5
Ad hoc Routing Protocols Because of challenges, standard
routing approaches not really applicable Too big an overhead, too slow in
reacting to changes Examples: Dijkstra, Bellman-Ford
Simple solution: Flooding No routing table needed Packets are usually delivered to
destination But: overhead is prohibitive Usually not acceptable in most cases
6
Gossiping Needs no routing table
Similar to flooding Nodes forward packets with some
probability Haas et al. studies gossiping
behavior and found that There is a critical probability, x p < x: gossip dies out very quickly p > x: gossip reaches most nodes
7
Routing Protocol Classification Main question: When does the
routing protocol operate? Option 1: Always tries to keep
routing data up-to-date Protocol is proactive / table-driven
Option 2: Route is only determined when actually needed Protocol operates on demand
Option 3: Combine these behaviors Hybrid protocols
8
Routing Protocol Classification Which data is used to identify nodes?
An arbitrary identifier? The position of a node?
Can be used to assist in geographic routing protocols
Identifiers that are not arbitrary, but carry some structure? As in traditional routing Structure akin to position, on a logical
level?
9
Proactive Protocols – Example Fisheye State Routing (FSR)
Basic observation: When destination is far away, details about path are not relevant
Look at the graph as if through a fisheye lens
Regions of different accuracy of routing information
LS information about closer nodes is exchanged more frequently
10
Reactive Protocols – Example Recall reactive routing protocols
Initially, no information about next hop is available at all
One possibility: Send packet to everyone
Hope: At some point, packet will reach destination and an answer is sent pack – use this answer for backward learning the route from destination to source
Examples Ad hoc On-demand Distance Vector
(AODV) Dynamic Source Routing (DSR)
11
DSR Dynamic Source Routing protocol Use separate route request/route
reply packets to discover route Data packets only sent once route has
been established Discovery packets smaller than data
packets Store routing information in the
discovery packets
12
DSR Route Discovery Search for route from 1 to 5
17
6
5
34
2[1]
[1] 17
6
5
34
2[1,7]
[1,7]
[1,4][1,7]
17
6
5
34
2[1,7,2]
[1,4,6]
[1,7,2]
[1,7,3]
17
6
5
34
2
Node 5 uses route information recorded in RREQ to send back, via source routing, a route reply
[5,3,7,1]
13
AODV Ad hoc On-demand Distance Vector Very popular routing protocol Same basic idea as DSR for
discovery procedure Nodes maintain routing tables
instead of source routing
14
Alternative - Rumor Routing Think of an “agent” wandering
through the network, looking for data/events
?
Agent initially perform random walk
Leave “traces” in the network
Later agents can use these traces to find data
15
Overview Unicast routing in MANETs Energy efficiency & unicast
routing Multi-/broadcast routing Geographical routing
16
Energy-Efficient Unicast: Goals
C1
4A
2G
3D
4H
4F
2E
2B
1
1
1
2
2
22
2
3
3
Minimize energy/bit Eg., A-B-E-H
Maximize network "lifetime" Time until first
node failure loss of coverage partitioning Example: Send data from node A to node H
17
Basic options for path metrics Max total
available battery capacity Sum of batt.
levels without needless detours
Example: A-C-F-H Min battery cost
Sum of reciprocal battery levels
Example: A-D-H Min-Max batt.
cost Largest
reciprocal level of all nodes in path
Minimize variance in power levels
C1
4A
2G
3D
4H
4F
2E
2B
1
1
1
2
2
22
2
3
3
18
Overview Unicast routing in MANETs Energy efficiency & unicast routing Multicast/broadcast routing Geographical routing
19
Broadcast & Multicast Distribute a packet to all reachable
nodes (broadcast) or to a subgroup (multicast)
Basic options Source-based tree: one tree per source
Minimize total cost Minimize maximum cost to each destination
Shared, core-based trees Mesh
Provides redundancy in data transfer
20
Goals for Source-Based Trees For each source,
minimize total cost The Steiner tree
problem For each source,
minimize maximum cost to each destination Obtained by
overlapping the individual shortest paths
Steiner tree
Src
Dest 1
Dest 2
2
2
1
Src
Dest 1
Dest 2
2
2
1
Shortest-path tree
21
Broadcast/Multicast Classification
Broadcast Multicast
MeshShared tree(core-based tree)
Single core
Multiple core
One treeper source
Minimizetotal cost
(Steiner tree)
Minimizecost to each node
(e.g., Dijkstra)
22
Wireless Multicast Advantage Wires
Locally distributing a packet to n neighbors n times the cost of a unicast packet
Wireless: sending to n neighbors can incur costs
= tx to a single neighbor – if receive costs are ignored = One tx, n rx – if receives are correctly tuned= send n unicasts – if multicast not supported by MAC
If local multicast is cheaper, then wireless multicast advantage is present Can be assumed realistically
23
Steiner Tree Approximations Computing Steiner tree is NP
complete A simple approximation
Pick some arbitrary order of all destination nodes + source node
Successively add these nodes to the tree For every next node, construct a shortest
path to some other node already on the tree
Performs reasonably well in practice
24
Steiner Tree Approximations Takahashi Matsuyama heuristic
Similar, but let algorithm decide which is the next node to be added
Start with source node, add that destination node to the tree which has shortest path
Iterate, picking that destination node which has the shortest path to some node already on the tree
Problem: Wireless multicast advantage not exploited! And does not really fit to the Steiner
tree formulation
25
Broadcast Incremental Power Or BIP Exploits multicast wireless
advantage Goal: use as little transmission power
as possible Based on Prim's MST algorithm Once a node transmits and reaches
some neighbors, it becomes cheaper to reach additional neighbors
26
BIP – Example
S (3)
A
B
C (1)D
2 3
67
Round 4:
S (5)
A
B
C (1)D
3
710
Round 5:
S
A
B
CD
1
5 3
73
1
10
Round 1:
S (1)
A
B
CD
4 3
72
1
9
Round 2:
S (3)
A
B
CD
2 3
7
1
7
Round 3:
27
Multicast Incremental Power Or MIP Start with broadcast tree
construction, then prune unnecessary edges out of the tree
S
A
B
CD
3
710
S
A
B
CD
3
710
28
Mesh-Based Multicast Example – ODMRP (On-Demand
Multicast Routing Protocol)
F
A
B
ED
G
H
I
SenderNextHop
H C
SenderNextHop
H D
SenderNextHop
H HC
29
Overview Unicast routing in MANETs Energy efficiency & unicast routing Multi-/broadcast routing Geographical routing
Position-based routing Geocasting
30
Geographic Routing Implicitly infer routing information from
physical placement of nodes E.g., position of current node, current
neighbors, destination known Send to a neighbor in the right direction as
next hop Geographic routing
Position-based routing Use position information to aid in routing
Geocasting Send to any node in a given area
31
Overview Unicast routing in MANETs Energy efficiency & unicast routing Multi-/broadcast routing Geographical routing
Position-based routing Geocasting
32
Position-Based Routing “Most forward within range r” strategy
Send to that neighbor that realizes the most forward progress towards destination
Nearest node with forward progress Idea: Minimize transmission power
Directional routing Choose next hop that is angularly closest to
destination Choose next hop that is closest to the
connecting line to destination Problem: Might result in loops!
33
Problem: Dead Ends Simple strategies might send a
packet into a dead end
34
Right Hand Rule Basic idea to get out of a dead end:
Put right hand to the wall, follow the wall Does not work if on some inner wall –
will walk in circles Need some additional rules to detect
such circles
35
Right Hand Rule – GPSR Greedy Perimeter Stateless
Routing Use greedy, “most forward” routing as
long as possible If no progress possible: Switch to “face”
routing Face: largest possible region of the plane
that is not cut by any edge of the graph Send packet around the face using right-
hand rule Use position where face was entered and
destination position to determine when face can be left again, switch back to greedy routing
Requires: planar graph! (topology control can ensure that)
36
Face Routing Example
37
GPSR – Example Route packet from node A to node Z
AZ
D
C
B
E
F
G
I
H
J
K
LEnter face
routing
Enter next face
38
Overview Unicast routing in MANETs Energy efficiency & unicast routing Multi-/broadcast routing Geographical routing
Position-based routing Geocasting
39
Location-based Multicast (LBM) Geocasting by geographically
restricted flooding Define a “forwarding” zone – nodes
in this zone will forward the packet to make it reach the destination zone
Packet is always forwarded by nodes within the destination zone itself
40
Determining Next Hops Use Voronoi diagram
S
A
B
C
D
DestinationZone
41
Determining Next Hops Use convex hulls
S
A
B C
E
DestinationZone
D
42
Conclusion Routing exploit various sources of
information to find destination of a packet
Routing can make some difference for network lifetime
Non-standard routing tasks (multicasting, geocasting) require adapted protocols