wireless sensor networks 2
TRANSCRIPT
-
7/31/2019 Wireless Sensor Networks 2
1/29
1
Routing Protocols
Lecture 15
EE 493/593Wireless Sensor Networks
Outline
IP Based Routing
ID Centric Routing
Goals and Tasks
Unicast routing in MANETs
Energy efficiency & unicast routing
Multi-/broadcast routing
Geographical routing
-
7/31/2019 Wireless Sensor Networks 2
2/29
2
Delivery of an IP datagram
Ethernet
Token
Ring
LANEthernet
H1
R1 R2
R3 R4
H2
Network of
Ethernetswitches
Point-to-point link Point-to-point link
IP
View at the data link layer layer: Internetwork is a collection of LANs or point-to-point links or switched
networks that are connected by routers
H1
R1 R2
R3 R4
H2
10.2.1.0/24
20.1.0.0/1610.1.2.0/24
10.1.0.0/24 10.3.0.0/16
20.2.1.0/28
Delivery of an IP datagram
IP
View at the IP layer: An IP network is a logical entity with a network number
We represent an IP network as a cloud
The IP delivery service takes the view of clouds, and ignores the data linklayer view
-
7/31/2019 Wireless Sensor Networks 2
3/29
3
Tenets of End-to-End Delivery
of DatagramsThe following conditions must hold so that an IP datagram can be
successfully delivered
1. The network prefix of an IP destination address must correspond to aunique data link layer network (=LAN or point-to-point link orswitched network).(The reverse need not be true!)
2. Routers and hosts that have a common network prefix must be ableto exchange IP dagrams using a data link protocol (e.g., Ethernet,PPP)
3. Every data link layer network must be connected to at least one otherdata link layer network via a router.
1. The network prefix of an IP destination address must correspond to aunique data link layer network (=LAN or point-to-point link orswitched network).(The reverse need not be true!)
2. Routers and hosts that have a common network prefix must be ableto exchange IP dagrams using a data link protocol (e.g., Ethernet,PPP)
3. Every data link layer network must be connected to at least one otherdata link layer network via a router.
Routing tables Each router and each host keeps a rout ing table which tells the router how to
process an outgoing packet
Main columns:1. Destination address: where is the IP datagram going to?
2. Next hop: how to send the IP datagram?
3. Interface: what is the output port?
Next hop and interface column can often be summarized as one column
Routing tables are set so that datagrams gets closer to the its destination
direct
direct
R4
direct
R4
R4
Next
Hop
eth0
eth0
serial0
eth1
eth0
eth0
interface
10.1.0.0/24
10.1.2.0/24
10.2.1.0/24
10.3.1.0/24
20.1.0.0/16
20.2.1.0/28
Destination
Routing table of a host or router
IP datagrams can be directly delivered
(direct) or is sent to a router (R4)
-
7/31/2019 Wireless Sensor Networks 2
4/29
4
Delivery with Routing Tables
Destination Next Hop
10.1.0.0/2410.1.2.0/24
10.2.1.0/24
10.3.1.0/2420.1.0.0/16
20.2.1.0/28
directR3
R3
R3R3
R3
H1
R1 R2
R3 R4
H2
10.2.1.0/24
20.1.0.0/1610.1.2.0/24
10.1.0.0/24 10.3.1.0/16
20.2.1.0/28
20.2.1.2/28
Destination Next Hop
10.1.0.0/2410.1.2.0/24
10.2.1.0/2410.3.1.0/24
20.1.0.0/1620.2.1.0/28
directdirect
R4direct
R4R4
Destination Next Hop
10.1.0.0/2410.1.2.0/24
10.2.1.0/2410.3.1.0/24
20.1.0.0/1620.2.1.0/28
R3R3
R2direct
directR2
Destination Next Hop
10.1.0.0/24
10.1.2.0/2410.2.1.0/24
10.3.1.0/24
20.2.0.0/1630.1.1.0/28
R3
directdirect
R3
R2R2
Destination Next Hop
10.1.0.0/2410.1.2.0/24
10.2.1.0/2410.3.1.0/2420.1.0.0/16
20.2.1.0/28
R1R1
directR4direct
direct
Destination Next Hop
10.1.0.0/2410.1.2.0/24
10.2.1.0/2410.3.1.0/2420.1.0.0/16
20.2.1.0/28
R2R2
R2R2R2
direct
to:
20.2.1.2
Delivery of IP datagrams
There are two distinct processes to delivering IPdatagrams:
1. Forwarding: How to pass a packet from an inputinterface to the output interface?
2. Routing: How to find and setup the routing tables?
Forwarding must be done as fast as possible:
on routers, is often done with support of hardware
on PCs, is done in kernel of the operating system
Routing is less time-critical
On a PC, routing is done as a background process
-
7/31/2019 Wireless Sensor Networks 2
5/29
5
Processing of an IP datagram
in IPUDP TCP
Input
queue
Lookup nexthop
Routing
Protocol
Destinationaddress local?
Static
routing
Yes
Send
datagram
IP f orwardingenabled?
No
Discard
Yes No
Demultiplex
routingtable
IP module
Data Link Layer
IP router: IP forwarding enabled
Host: IP forwarding disabled
Processing of an IP Datagramin IP
Processing of IP datagrams is very similar on an IP routerand a host
Main difference: I P forw arding is enabled on router and disabledon host
I P forw arding enabled if a datagram is received, but it is not for the localsystem, the datagram will be sent to a different system
I P forw arding disabled if a datagram is received, but it is not for the localsystem, the datagram will be dropped
-
7/31/2019 Wireless Sensor Networks 2
6/29
6
Processing of an IP datagram
at a router
1. IP header validation
2. Process options in IP header
3. Parsing the destination IP address
4. Routing table lookup
5. Decrement TTL
6. Perform fragmentation (if necessary)
7. Calculate checksum
8. Transmit to next hop
9. Send ICMP packet (if necessary)
Receive an
IP datagram
Routing Table Lookup
When a router or host needto transmit an IP datagram,it performs a routing tablelookup
Routing table lookup: Usethe IP destination address asa key to search the routingtable.
Result of the lookup is the IPaddress of a next hop router,and/or the name of anetwork interface
IP address of
next hop
router
or
Name of anetwork
interface
network prefix
or
host IP address
or
loopback
address
or
default route
Next hop/
interface
Destination
address
-
7/31/2019 Wireless Sensor Networks 2
7/29
7
Type of routing table entries Netw ork route
Destination addresses is a network address (e.g., 10.0.2.0/24) Most entries are network routes
Host route Destination address is an interface address (e.g., 10.0.1.2/32) Used to specify a separate route for certain hosts
Default r oute Used when no network or host route matches The router that is listed as the next hop of the default route is the
default gateway ( for Cisco: gateway of last resort) Loopback address
Routing table for the loopback address (127.0.0.1) The next hop lists the loopback (lo0) interface as outgoing
interface
Destination address Next hop
10.0.0.0/8
128.143.0.0/16
128.143.64.0/20
128.143.192.0/20
128.143.71.0/24
128.143.71.55/32
default
R1
R2
R3
R3
R4
R3
R5
Routing table lookup: LongestPrefix Match Longest Prefix Match: Search for
the routing table entry that has thelongest match with the prefix of thedestination IP address
1. Search for a match on all 32 bits2. Search for a match for 31 bits
..32. Search for a mach on 0 bits
Host route, loopback entry 32-bit prefix match
Default route is represented as 0.0.0.0/0 0-bit prefix match
128.143.71.21
The longest prefix match for
128.143.71.21 is for 24 bits
with entry 128.143.71.0/24
Datagram will be sent to R4
-
7/31/2019 Wireless Sensor Networks 2
8/29
-
7/31/2019 Wireless Sensor Networks 2
9/29
9
Destination Next Hop
10.1.0.0/24
R2
Destination Next Hop
10.1.0.0/24
R1
Ethernet
H1
R1 R2
Routing table manipulations
with ICMP When a router detects that an IP datagram should have gone to a
different router, the router (here R2) forwards the IP datagram to the correct router
sends an ICMP redirect message to the host
Host uses ICMP message to update its routing table
(1) IP datagram
R1
(2) IP datagram(3) ICMP redirect
ICMP Router SolicitationICMP Router Advertisement
After bootstrapping a hostbroadcasts an I CMP rout ersolicitation .
In response, routers send anI CMP rout er advertisementmessage
Also, routers periodically broadcastI CMP rout er advertisement
This is sometimes called theRouter Discovery Protocol
Ethernet
H1
R1 R2
ICMP routeradvertisement
ICMP routeradvertisemen
ICMP routersolicitation
-
7/31/2019 Wireless Sensor Networks 2
10/29
10
Goals and Tasks
In any network of diameter > 1, the routing &forwarding problem appears
Constructing routing tables in ad hoc/sensornetworks
Specifically, when nodes are mobile
Specifically, for broadcast/multicast requirements
Specifically, with energy efficiency as an optimization metric
Specifically, when node position is available
Unicast, ID-centric Routing
Given: a network/a graph Each node has a unique identifier (ID)
Goal: Derive a mechanism that allows a packet sent froman arbitrary node to arrive at some arbitrary destinationnode The routing & forwarding problem
Routing: Construct data structures (e.g., tables) that containinformation how a given destination can be reached
Forwarding: Consult these data structures to forward a givenpacket to its next hop
Challenges Nodes may move around, neighborhood relations change
Optimization metrics may be more complicated than smallest hopcount e.g., energy efficiency
-
7/31/2019 Wireless Sensor Networks 2
11/29
11
Ad-hoc Routing Protocols
Because of challenges, standard routing approaches notreally applicable
Too big an overhead, too slow in reacting to changes
Examples: Dijkstras link state algorithm; Bellman-Ford distancevector algorithm
Simple solution: Flooding
Does not need any information (routing tables) simple
Packets are usually delivered to destination
But: overhead is prohibitive, usually not acceptable, either
Need specific, ad hoc rout ing protocols
Ad Hoc Routing Protocols Classification
Main question to ask: Whendoes the routing protocoloperate?
Option 1: Routing protocol alwaystries to keep its routingdata up-to-date
Protocol ispr oact ive(active before tables are actually needed) ortable-driven
Option 2: Route is only determined when actually needed
Protocol operates on demand
Option 3: Combine these behaviors
Hybridprotocols
-
7/31/2019 Wireless Sensor Networks 2
12/29
12
Ad Hoc Routing Protocols
Classification
Is the network regarded as flat or hierarchical? Compare topology control, traditional routing
Which data is used to identify nodes? An arbitrary identifier?
Theposit ionof a node? Can be used to assist in geographicrouting protocols
because choice of next hop neighbor can be computed basedon destination address
Identifiers that are not arbitrary, but carry somestructure? As in traditional routing
Structure akin to position, on a logical level?
Proactive Protocols
Idea: Start from a +/- standard routing protocol, adapt it
Adapted distance vector: Destinat ion SequenceDistance Vector (DSDV)
Based on distributed Bellman Ford procedure
Add aginginformation to route information propagated bydistance vector exchanges; helps to avoid routing loops
Periodically send full route updates
On topology change, send incremental route updates Unstable route updates are delayed
+ some smaller changes
-
7/31/2019 Wireless Sensor Networks 2
13/29
13
Proactive Protocols OLSR Combine link-state protocol & topology control
Opt imized Link Stat e Rout ing(OLSR)
Topology control component: Each node selects a minimaldominating set for its two-hop neighborhood Called the multi point relays
Only these nodes are used for packet forwarding
Allows for efficient flooding
Link-state component: Essentially a standard link-state
algorithms on this reduced topology Observation: Key idea is to reduce flooding overhead (here by
modifying topology)
Proactive Protocols CombineLS & DS: Fish Eye
Fisheye State Routing (FSR) makes basic observation:When destination is far away, details about path are notrelevant only in vicinity are details required
Look at the graph as if through a fisheye lens
Regions of different accuracy of routing information
Practically:
Each node maintains topology table of network (as in LS) Unlike LS: only distribute link state updates locally
More frequent routing updates for nodes with smaller scope
-
7/31/2019 Wireless Sensor Networks 2
14/29
14
Reactive Protocols DSR In a reactive protocol, how to forward a packet to destination?
Initially, no information about next hop is available at all
One (only?) possible recourse: Send packet to al lneighbors flood thenetwork
Hope: At some point, packet will reach destination and an answer is sentpack use this answer for backward learningthe route fromdestination to source
Practically: Dynam ic Source Routing ( DSR)
Use separate route request/ route replypackets 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
DSR Route DiscoveryProcedure
Search for route from 1 to 5
1
7
6
5
34
2[1]
[1]
1
7
6
5
34
2
[1,7]
[1,7]
[1,4]
[1,7]
1
7
6
5
34
2[1,7,2]
[1,4,6]
[1,7,2]
[1,7,3]
1
7
6
534
2
Node 5 uses route information recorded in RREQ
to send back, via source routing, a route reply
[5,3,7,1]
-
7/31/2019 Wireless Sensor Networks 2
15/29
15
DSR Modifications, Extensions Intermediate nodes may send route replies in case they already
know a route Problem: stale route caches
Promiscuous operation of radio devices nodes can learn abouttopology by listening to control messages
Random delays for generating route replies Many nodes might know an answer reply storms
NOT necessary for medium access MAC should take care of it
Salvaging/local repair When an error is detected, usually sender times out and constructs
entire route anew
Instead: try to locally change the source-designated route
Cache management mechanisms To remove stale cache entries quickly
Fixed or adaptive lifetime, cache removal messages,
Reactive Protocols AODV
Ad hoc On Demand Distance Vectorrouting (AODV) Very popular routing protocol
Essentially same basic idea as DSR for discoveryprocedure
Nodes maintain routing tables instead of sourcerouting
Sequence numbers added to handle stale caches Nodes remember from where a packet came and
populate routing tables with that information
-
7/31/2019 Wireless Sensor Networks 2
16/29
16
Reactive Protocols TORA Observation: In hilly terrain, routing to a rivers mouth is
easy just go downhill
Idea: Turn network into hilly terrain Different landscape for each destination
Assign heights to nodes such that when going downhill,destination is reached in effect: orient edges between neighbors
Necessary: resulting directed graph has to be cycle free
Reaction to topology changes
When link is removed that was the last outlet of a node, reversedirection of all its other links (increase height!)
Reapply continuously, until each node except destination has atleast a single outlet will succeed in a connected graph!
Alternative Approach:Gossiping/Rumor Routing
Turn routing problem around: Think of an agentwandering through the network, looking for data (events, )
?
Agent initially performrandom walk
Leave traces in thenetwork
Later agents can usethese traces to find data
Essentially: works due tohigh probability of lineintersections
-
7/31/2019 Wireless Sensor Networks 2
17/29
17
Energy-efficient unicast: Goals Particularly interesting performance metric: Energy efficiency
C1
4A
2G
3D
4H
4
F
2
E
2B
1
1
1
2
2
2
2
2
3
3
Goals
Minimize energy/bit
Example: A-B-E-H
Maximize network lifetime
Time until first nodefailure, loss of coverage,partitioning
Seems trivial use proper
link/path metrics (not hopcount) and standard routing
Example: Send data from node A to node H
Basic Options for Path Metrics Maximum total available
battery capacity Path metric: Sum of battery
levels Example: A-C-F-H
Minimum battery cost routing Path metric: Sum of reciprocal
battery levels Example: A-D-H
Conditional max-min batterycapacity routing Only take battery level into
account when below a givenlevel
Minimize variance in powerlevels
Minimum total transmissionpower
C1
4A
2G
3D
4H
4F2
E
2B
1
1
1
2
2
2
2
2
3
3
-
7/31/2019 Wireless Sensor Networks 2
18/29
18
A Non-Trivial Path Metric Previous path metrics do not perform particularly well
One non-trivial link weight: wij weight for link node i to node j
eij required energy, some constant, i fraction of battery of node ialready used up
Path metric: Sum of link weights Use path with smallest metric
Properties: Many messages can be send, high network
lifetime With admission control, even a competitive ratio logarithmic in
network size can be shown
Multipath Unicast Routing
Instead of only a single path, it can be useful to computemultiple paths between a given source/destination pair
Source Sink
Disjoint paths
Primary path
Secondary path
Source Sink
Disjoint paths
Primary path
Secondary path
Source Sink
Braided paths
Primary pathSource Sink
Braided paths
Primary path
Multiple pathscan bedisjointorbraided
Usedsimultaneousl
y,alternatively,randomly,
-
7/31/2019 Wireless Sensor Networks 2
19/29
19
Broadcast & Multicast (energy-
efficient) Distribute a packet to all reachable nodes (broadcast) or to
a somehow (explicitly) denoted subgroup (multicast)
Basic options Source-based tree: Construct a tree (one for each source) to reach
all addressees
Minimize total cost (= sum of link weights) of the tree
Minimize maximum cost to each destination
Shared, core-based trees
Use only a single tree for all sources
Every source sends packets to the tree where they are distributed Mesh
Trees are only 1-connected ! use meshes to provide higher redundancyand thus robustness in mobile environments
Optimization Goals for Source-Based Trees
For each source, minimizet ot al cost This is the Steiner tree problem
again
For each source, minimizemaximu m costto eachdestination This is obtained by overlapping
the individualshortest paths ascomputed by a normal routingprotocol
Steiner tree
Source
Destination 1
Destination 2
2
2
1
Source
Destination 1
Destination 2
2
2
1
Shortest path tree
-
7/31/2019 Wireless Sensor Networks 2
20/29
20
Summary of Options
(broadcast/multicast)
Broadcast Multicast
MeshShared tree
(core-based tree)
Single
core
Multiple
core
One tree
per source
Minimizetotal cost
(Steiner tree)
Minimizecost to each node
(e.g., Dijkstra)
Wireless Multicast Advantage
Broad-/Multicasting in wireless is unlike broad-/multicasting in a wired medium Wires: locally distributing a packet to n neighbors: n times the
cost of a unicast packet
Wireless: sending to n neighbors can incur costs As high as sending to a single neighbor if receive costs are
neglected completely
As high as sending once, receiving n times if receives are tuned tothe right moment
As high as sending n unicast packets if the MAC protocol does notsupport local multicast
If local multicast is cheaper than repeated unicasts, thenw ireless mult icast advantageis present Can be assumed realistically
-
7/31/2019 Wireless Sensor Networks 2
21/29
21
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, constructa shortest path to some other node already on the tree
Performs reasonably well in practice
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 hasshortest path
Iterate, picking that destination node which has the shortest path tosome node already on the tree
Problem: Wireless multicast advantage not exploited! And does not really fit to the Steiner tree formulation
Broadcast Incremental Power(BIP)
How to broadcast, using the wireless multicast advantage?
Goal: use as little transmission power as possible
Idea: Use a minimum-spanning-tree-type construction(Prims algorithm)
But: Once a node transmits at a given power level &reaches some neighbors, it becomes cheaperto reachadditionalneighbors
From BIP to multicast incremental power (MIP): Start with broadcast tree construction, then prune unnecessary
edges out of the tree
-
7/31/2019 Wireless Sensor Networks 2
22/29
22
BIP Algorithm
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:
-
7/31/2019 Wireless Sensor Networks 2
23/29
23
Example for Mesh-based
Multicast Two-tier data dissemination
Overlay a mesh, route along mesh intersections
Broadcast within the quadrant where the destination is(assumed to be) located
Event
Sink
Geographic Routing
Routing tables contain information to which next hop apacket should be forwarded Explicitly constructed
Alternative: Implicitly inferthis information from physicalplacement of nodes Position of current node, current neighbors, destination known
send to a neighbor in the right direction as next hop
Geographic routi ng
Options Send to any node in a given area geocasting
Use position information to aid in routing posi t ion -basedrout ing
Might need a location serviceto map node ID to node position
-
7/31/2019 Wireless Sensor Networks 2
24/29
24
Basics of Position-based
Routing Most forward within range r strategy
Send to that neighbor that realizes the most forward progresstowards destination
NOT: farthest awayfrom sender!
Nearest node with (any) 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 todestination
Problem: Might result in loops!
Problem: Dead ends
Simple strategies might send a packet into a dead end
-
7/31/2019 Wireless Sensor Networks 2
25/29
25
Right Hand Rule to Leave
Dead Ends GPSR 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
Geometri c Perimet er Stat e Rout ing(GPSR) Earlier versions: Compass Routing II, face-2 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; can be exterior or interior
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)
GPSR Example
Route packet from node A to node Z
AZ
D
C
B
E
F
G
I
H
J
K
L
Enter
face
routing
Leave facerouting
-
7/31/2019 Wireless Sensor Networks 2
26/29
26
Geographic Routing Without
Positions GEM Apparent contradiction: geographic, but no position?
Construct virtual coordinatesthat preserve enough neighborhoodinformation to be useful in geographic routing but do not require actualposition determination
Use polar coordinates froma center point
Assign virtual anglerange to neighbors of anode, bigger radius
Angles are recursivelyredistributed to childrennodes
GeRaF
How to combine position knowledge with nodes turningon/off? Goal: Transmit message over multiple hops to destination node;
deal with topology constantly changing because of on/off node
Idea: Receiver-initiatedforwarding Forwarding node S simply broadcasts a packet, without specifying
next hop node
Some node T will pick it up (ideally, closest to the source) and
forward it Problem: How to deal with multiple forwarders?
Position-informed randomization: The closer to the destination aforwarding node is, the shorter does it hesitate to forward packet
Use several annuli to make problem easier, group nodes accordingto distance (collisions can still occur)
-
7/31/2019 Wireless Sensor Networks 2
27/29
27
GeRaF Example
1 D-1
D
A1
A2
A3
A4
Location-based Multicast(LBM)
Geocasting by geographically restricted flooding
Define a forwarding zone nodes in this zone willforward the packet to make it reach the destination zone Forwarding zone specified in packet or recomputed along the way
Static zone smallest rectangle containing original sourceanddestination zone
Adaptive zone smallest rectangle containing forwarding nodeanddestination zone
Possible dead ends again Adaptive distances packet is forwarded by node u if node u is
closer to destination zones center than predecessor node v(packet has made progress)
Packet is always forwarded by nodes within the destinationzone itself
-
7/31/2019 Wireless Sensor Networks 2
28/29
28
Determining Next Hops Based
on Voronoi Diagrams Goal: Use that neighbor to forward packet that is closest to destination
among all the neighbors
Use Voronoi diagram computed for the set of neighbors of the node
currently holding the packet
S
A
B
C
D
Geocasting Using Ad hocRouting GeoTORA
Recall TORA protocol: Nodes compute a DAG withdestination as the only sink
Observation: Forwarding along the DAG still works ifmultiple nodes are destination (graph has multiple sinks)
GeoTORA: All nodes in the destination region act as sinks Forwarding along DAG; all sinks also locally broadcast the packet
in the destination region
Remark: This also works for anycasting where destinationnodes need not necessarily be neighbors Packet is then delivered to some (not even necessarily closest)
member of the group
-
7/31/2019 Wireless Sensor Networks 2
29/29
Mobile Nodes, Mobile Sinks
Mobile nodescause someadditionalproblems
E.g., multicast treeto distributereadings has to be
adapted
Source
Source
Source
Sink moves
downward
Sink
movesupward
SourceSource
SourceSource
SourceSource
Sink moves
downward
Sink
movesupward
Conclusion
Routing exploit various sources of information to finddestination of a packet
Explicitly constructed routing tables
Implicit topology/neighborhood information via positions
Routing can make some difference for network lifetime
However, in some scenarios (streaming data to a single sink), thereis only so much that can be done
Energy efficiency does not equal lifetime, holds for routing as well Non-standard routing tasks (multicasting, geocasting)
require adapted protocols