Chapter7 Network Layer
Chapter7 Network Layer
Chapter 7: Roadmap
Routing basics!
Data-centric routing!
Proactive routing!
On-demand routing!
Hierarchical routing!
Location-based routing!
QoS-based routing!
1!
Classification of Routing Protocols
Routing Metrics
Minimum hop (shortest hop)!
Energy!
minimum energy consumed per packet!
maximum time to network partition!
minimize variance in node power levels!
maximum (average) energy capacity!
maximum minimum energy capacity!
Quality-of-Service!
latency (delay), throughput, jitter, packet loss, error rate!
Robustness!
link quality, link stability!
2!
Routing Metrics (Example)
Flooding
Every sensor node (re-)broadcasts sensor data to all of its neighbors!
Simple and reliable technique!
Incurs large traffic overhead (maximum-hop counts and sequence numbers
can be used to limit broadcasts and eliminate duplicates)!
However, flooding faces three more challenges:!
Implosion: nodes will re-broadcast even when neighbors already have a
copy!
Overlap: sensor data contains redundant information!
Resource blindness: resource constraints are ignored!
3!
SPIN-PP
Optimized for networks using point-to-point transmission media (two nodes
communicate exclusively with each other without interference)!
Flooding occurs using a 3-way handshake:!
node A advertises newly available data using ADV (advertisement)
message (containing dataʼs meta-data)!
neighbor nodes (B, C, D, E) check if advertised data needed and if so,
respond with REQ (request for data) message!
A sends DATA message to nodes that responded (i.e., B and D)!
SPIN-PP
Only nodes needed the advertised data respond!
Nodes can aggregate received data with their own and advertise aggregate!
Simple protocol!
Nodes need to know their single-hop neighbors only!
Lost ADV messages: periodically re-advertise!
Lost REQ/DATA messages: re-request data of interest if data does not
arrive within certain timeout interval!
Protocol could also use explicit acknowledgments (e.g., REQ can contain
list of data a node wants or does not want and using this list, a node can
identify whether previous advertisements were received successfully) !
4!
SPIN-RL
Reliable version of SPIN-BC!
nodes keep track of overheard REQ messages!
if DATA message does not arrive within certain timeout interval, it
assumes that either REQ or DATA did not arrive!
node broadcasts REQ to re-request data !
in message header, node specifies identity of randomly selected
node among nodes that previously sent ADV for missing DATA!
SPIN-RL limits frequency with which DATA messages are sent!
once a node sends a DATA message, it will wait for certain amount
of time before responding to other requests for the same data!
Directed Diffusion
Data-centric and application-aware dissemination protocol!
Nodes request data by sending interests for named data!
data is named by attribute-value pairs!
Interest dissemination sets up gradients within network to direct sensor data
toward recipient!
Intermediate nodes along the paths can combine data from different
sources!
eliminates redundancy !
reduce number of transmissions!
5!
Directed Diffusion
Directed Diffusion
Reinforcement:!
multiple paths from source to sink may exist!
sink can reinforce one particular neighbor based on some data-driven local rule!
example: sink could reinforce neighbor from which it has received a
previously unseen event!
sink resends original interest message to that neighbor, which in turn
reinforces one or more of its neighbors based on its own local rule!
Comparison to SPIN:!
interests (queries) are issued on demand by the sink (instead of source
advertisements)!
query-based approach may not be best solutions for networks with need for
continuous data transfers (e.g., environmental monitoring)!
communication is all neighbor-to-neighbor (removing the need for addressing
schemes and allowing nodes to perform aggregation and caching)!
Rumor Routing
Attempt to combine characteristics of event flooding (classic flooding) and
query flooding (directed diffusion)!
Nodes maintain two data structures:!
list of neighbors!
event table that contains forwarding information to all known events!
once an event is witnessed, it is added to the table (including a
distance of 0) and an agent is generated with certain probability!
agent is a long-lived packet traveling the network to propagate
information about this new event (and other events encountered
along its route)!
once agent arrives at a node, the node can update its table!
6!
Rumor Routing: Example
Node E reports new event E1 using agent!
A receives agent via G and updates its table reflecting shorter distance to
E1 via G!
7!
Proactive Routing
Routes are established before they are actually needed!
Also called table-driven routing!
Main advantage: routes can be used immediately when needed (table look
up for next-hop neighbor)!
Main disadvantages:!
establishing and maintaining routes that are infrequently (or never)
needed!
routing tables can become very large!
stale information in tables can lead to routing errors !
DSDV: Example
8!
Optimized Link State Routing
OLSR is a protocol based on the link state algorithm!
nodes periodically broadcast topological information updates to all other
nodes in the network!
allows nodes to obtain complete topological map and to compute paths!
Nodes use neighbor sensing using HELLO messages:!
allows nodes to identify neighbors and to detect changes in
neighborhood!
HELLO message contains nodeʼs identity (address) and list of all known
neighbors!
if node A can receive node Bʼs HELLO messages, but is not in node Bʼs
list of known neighbors, the link B A is asymmetric (otherwise
symmetric)!
instead of flooding HELLO messages to all nodes in network, OLSR
uses multipoint relays (MPRs)!
9!
Ad Hoc On-Demand Distance Vector
AODV relies on broadcast route discovery mechanism, which is used to
dynamically establish route table entries at intermediate nodes!
Path discovery process:!
initiated whenever a source needs to transmit data to a sink and the
source does not have an entry for the sink in its routing table!
source broadcasts route request (RREQ) packet containing:!
addresses of source and sink!
hop count value!
broadcast ID (incremented whenever source issues a new RREQ)!
two sequence numbers!
upon receiving RREQ, if a node knows a route to the destination,
responds by sending a unicast route reply (RREP) message back to
source!
otherwise RREQs are re-broadcast or duplicate RREQs (identified by
source address and broadcast ID) are discarded!
Fundamentals of Wireless Sensor Networks: Theory and Practice
Waltenegus Dargie and Christian Poellabauer © 2010 John Wiley & Sons Ltd.
28!
10!
Ad Hoc On-Demand Distance Vector
Summary:!
routes are established only when needed!
no need for route table updates and exchanges for unused routes!
periodic HELLO messages!
initial transmission delay if route must be discovered first!
RREP uses reverse path of RREQ, i.e., AODV assumes symmetric links!
11!
Dynamic Source Routing (DSR)
Symmetric networks: !
destination can unicast response packet back to source!
packet contains entire route!
Asymmetric networks:!
destination can initiate own route discovery to the source!
request packet contains path from source to destination!
Hierarchical Routing
Sensor nodes communicate directly only with a cluster head!
Cluster head:!
responsible for propagating sensor data to sink!
sometimes more powerful than “regular” nodes!
experiences more traffic than “regular” nodes!
Challenges in cluster formation:!
selection (election) of cluster heads!
selection of cluster to join!
adaptation of clusters in response to topology changes, failures, etc.!
Advantages:!
potentially fewer collisions (compared to flat routing)!
easier duty cycling (energy efficiency)!
easier routing process (though routes may be longer)!
easier in-network data aggregation!
Fundamentals of Wireless Sensor Networks: Theory and Practice
Waltenegus Dargie and Christian Poellabauer © 2010 John Wiley & Sons Ltd.
35!
12!
Landmark Routing
Landmark: node to which its neighbors within certain number of hops know
a route to that node!
Example:!
nodes 2..6 have routes to node 1!
node 1 is a landmark “visible” to all nodes within 2-hop distance, i.e.,
node 1 is a landmark of radius 2 !
Node i for which nodes within n hops have routes toward is is a landmark of
radius n!
Landmark Routing
Example:!
landmark address of node LM0: LM2.LM1.LM0!
source has entry for LM2: packet travels towards LM2!
once packet reaches node within range of LM1: packet travels towards
LM1!
once packet reaches node within range of LM0: packet travels to LM0!
LANMAR Protocol
Combines landmark routing with Fisheye State Routing!
Uses landmarks to establish two-tiered logical hierarchy!
each landmark is a cluster head of a logical subnet!
Fisheye State Routing!
link state routing protocol!
frequency of route updates depends on the distance (routes within
fisheye scope are more accurate than others)!
Routing updates are only exchanged with nodes in immediate neighborhood
and with landmark nodes (update frequency to all other nodes is zero)!
Data propagation:!
if destination is known, forward data directly to destination!
otherwise, forward towards the landmark corresponding to the
destinationʼs logical subnet!
once packet enters the scope of the destination, it is forwarded directly
to the destination!
Fundamentals of Wireless Sensor Networks: Theory and Practice
Waltenegus Dargie and Christian Poellabauer © 2010 John Wiley & Sons Ltd.
39!
13!
LEACH
Low-Energy Adaptive Clustering Hierarchy!
Combines clustering with MAC-layer techniques (see previous discussion
on LEACH MAC layer)!
Assumes that cluster heads can communicate directly with base station!
Cluster heads are responsible for forwarding sensor data to base station!
Cluster heads are responsible for data aggregation to eliminate redundancy!
PEGASIS
Power-Efficient Gathering in Sensor Information System!
Nodes exchange packet with close neighbors and take turns in being
responsible for packet forwarding to the base station!
Nodes organize into chain (either decentralized algorithm or determined by
the base station)!
When data travels along chain, it can be aggregated with other data!
High energy-efficiency since nodes only communicate with closest
neighbors!
Protocol assumes that all node can communicate with the base station!
Packet delays may be large!
Node forwarding to base station can become a bottleneck!
Safari
Drums (landmarks) in Safari use a self-election algorithm to form subnet
hierarchy!
level 0: each node forms its own cell!
level 1: fundamental cells contain multiple nodes, but no other cells!
level 2..n: cells composed of multiple smaller cells!
Drums periodically broadcast beacons within well-defined limited scopes!
beacons aid the hierarchy formation!
beacons give nodes an indication of their position in the network!
beacons provide routing information toward the drumʼs cell!
Routing within cells is based on DSR!
More distant nodes are reached using a proactive routing approach!
inter-cell communication relies on destination nodeʼs hierarchical
address and on beacon records stored on each node!
routing follows reverse path of beacons!
Fundamentals of Wireless Sensor Networks: Theory and Practice
Waltenegus Dargie and Christian Poellabauer © 2010 John Wiley & Sons Ltd.
42!
14!
Location-Based Routing
Also referred to as geographic routing!
Used when nodes are able to determine their (approximate) positions!
Nodes use location information to make routing decisions!
sender must know the locations of itself, the destination, and its
neighbors!
location information can be queried or obtained from a location broker!
15!
Greedy Perimeter Stateless Routing
Sequence of edges traversed according to rule is called perimeter!
In non-planar graphs, right-hand rule may take tour of edges that does not
trace the boundary of a closed polygon!
To obtain planar graphs, crossing edges must be removed (without
partitioning the network)!
Relative Neighborhood Graph (RNG)!
Gabriel Graph (GG)!
Example: RNG!
lune between u and v (intersection of radio ranges) must be empty of
any witness node w such that edge (u,v) can be included in the RNG
(i.e., if this region is nonempty, the link (u,v) will be removed)!
Forwarding Strategies
Greedy: minimize distance to destination in each hop!
Nearest with Forwarding Progress (NFP): nearest of all neighbors that make
positive progress (in terms of geographic distance) toward destination!
Most Forwarding Progress within Radius (MFR): neighbor that makes
greatest positive progress (progress is distance between source and its
neighbor node projected onto a line drawn from source to destination)!
Compass Routing: neighbor with smallest angle between a line drawn from
source to the neighbor and the line connecting source and destination!
16!
Geographic Adaptive Fidelity
Discovery state:!
nodes are initially in the discovery state, where they listen for messages from
other nodes within cell!
each node uses timer; when timer expires, node broadcasts discovery message
and enters active state!
Active state:!
node periodically re-broadcasts discovery messages!
node sets another timer to re-enter discovery state after timer expiration!
Sleep state:!
entered (from both discovery or active states) whenever node determines that
some other node is forwarder!
nodes periodically re-enter discovery state!
Forwarder node:!
determined using negotiation process!
nodes in active state win over nodes in discovery state!
node IDs used to break ties!
Fundamentals of Wireless Sensor Networks: Theory and Practice
Waltenegus Dargie and Christian Poellabauer © 2010 John Wiley & Sons Ltd.
49!
17!
Scalable Position-Based Multicast
Nodes maintain two tables:!
global member table !
containing entries for the three neighboring squares for each level!
each entry contains squareʼs identifier and list of nodes in square!
local member table !
containing all members of the nodeʼs level-0 neighbors!
each entry contains node IDs and membership information of nodes!
Membership information indicates the multicast groups to which node belongs and is
encoded as vector (each bit represents a multicast group)!
10100010 for square 41 in the global member table indicates that there exist
nodes in square 41 that belong to multicast groups 2, 6, and 8!
00000001 for node 14 in the local member table indicates that node 14 is a
member of multicast group 1!
Local member table is broadcast periodically within nodeʼs level-0 square!
Randomly chosen node in each level-0 square periodically disseminates its global
member table to all nodes in its level-1 square (process repeated at each level)!
18!
Geocasting
Packet is sent to all or some nodes within specific geographic region!
Example: query sent to all sensors within geographic area of interest!
Routing challenge:!
propagate a packet near the target region (similar to unicast routing)!
distribute packet within the target region (similar to multicast routing)!
19!
Geographic and Energy Aware Routing
Example: S(source) sending a packet to centroid of target region (T)!
Learned (estimated) costs are √5 for neighbors B and I and 2 for neighbor A!
Packet goes from S to A, which finds itself in hole!
A forwards packet to B and computes own cost h(A,T) = h(B,T) + C(A,B)
(assuming cost (A,B)=1, the new cost will be √5+1)!
Next time, S will directly select B instead of A!
Geographic-Forwarding-Perimeter-Geocast
20!
Geographic-Forwarding-Perimeter-Geocast
21!
SPEED
Support for soft real-time applications, providing real-time unicast, real-time area-
multicast, real-time area-anycast!
Location-based routing!
Periodic HELLO (beacon) messages!
node ID!
position!
average receive delay!
Each node maintains neighbor table with the following entries for each neighbor:!
node ID !
position!
expiration time (ExpireTime)!
ReceiveFromDelay (estimated by measuring the delay experienced by packet in
the MAC layer of sender plus propagation delay)!
SendToDelay (delay received from beacon message)!
ReceiveFromDelay values of all neighbors are averaged periodically to obtain single
receive delay!
Fundamentals of Wireless Sensor Networks: Theory and Practice
Waltenegus Dargie and Christian Poellabauer © 2010 John Wiley & Sons Ltd.
64!
SPEED
Routing component: Stateless Nondeterministic Geographic Forwarding
(SGNF)!
Neighbor set of i: neighbors of i at least distance K away from i!
Forwarding candidate set FSiDest: all neighbors that are at least distance K
closer to destination!
neighbor j is in set if L-Lnext ≥ K !
L = d(i,dest)!
Lnext = d(j,dest)!
Packets are forwarded to nodes in FSiDest only; if empty, packet is dropped!
FSiDest further subdivided:!
set of nodes with SendToDelay less than certain single hop delay D!
set of all other nodes!
SPEED
Forwarding candidate is selected from first group where nodes with higher
relay speed have a greater chance of being selected.!
Relay speed considers both distance and delays:!
L − Lnext
RelaySpeed =
SendToDelay
If there are no nodes in the first set, a relay ratio can be calculated, based
on SPEEDʼs neighborhood feedback loop!
€
responsible for determining relay ratio by looking at miss ratios of
neighbors!
if relay ratio is less than randomly selected number between 0 and 1,
packet is dropped!
goal is to keep system performance at desired value, attempting to keep
single hop delay below D!
22!
SPEED
Back-pressure rerouting protocol of SPEED is responsible for!
preventing voids that occur when nodes fail to find next hop node!
reducing congestion using a feedback approach!
Multipath Multi-SPEED
MMSPEED provides QoS differentiation in terms of timeliness and
reliability, while also minimizing protocol overhead!
Makes localized routing decision without a priori route discovery or global
network state updates!
Offers multiple delivery speed options!
Can be considered as virtual overlay of multiple SPEED layers!
Each layer l has SetSpeedl associated, which is a pre-specified lower-
bound speed, i.e., when a node computes the relay speed for each
neighbor, it chooses a forwarding node whose relay speed is at least the
desired SetSpeed value!
dist s,d (x)
ReqSpeed(x) =
deadline(x)
Multipath Multi-SPEED
Layer selected at one node can differ from layer selected at other node
(e.g., packet can be boosted by using a higher layer)!
Necessary to determine remaining time to deadline, requiring synchronized
clocks in the network!
MMSPEED measures elapsed time at each node and piggybacks time onto
packet!
MMSPEED also offers different levels of reliability!
23!
Multipath Multi-SPEED
MMSPEED also offers different levels of reliability!
Each node maintains recent average of packet loss percentage ei,j to each
neighbor j!
losses include intentional drops (congestion control) and errors!
Node computes estimate of packet loss probability!
⎡dist j ,d / dist i, j ⎤
RPi,jd = (1 − ei, j )(1 − ei, j )
Assumption is that subsequent nodes have similar packet loss rate and that
progress to destination for each hop will be similar to current progress!
€
Node can determine number of forwarding paths that satisfy end-to-end
reachability requirement of packet!
Multipath Multi-SPEED
Total reaching probability is set to zero initially and updated for each
forwarding path being used:!
(1-TRP) is the probability that none of current paths can successfully deliver
the packet to the destination!
€ the probability that additional path will fail to deliver the packet!
(1-RPi,jd) is
New TRP is then the probability that at least one path will successfully
deliver the packet to the destination!
Summary
Protocol! Characteristics!
SPIN! Flat topology, data-centric, query-based, negotiation-based!
Directed diffusion! Flat topology, data-centric, query-based, negotiation-based!
Rumor routing! Flat topology, data-centric, query-based!
GBR! Flat topology, data-centric, query-based!
DSDV! Flat topology with proactive route discovery!
OLSR! Flat topology with proactive route discovery!
AODV! Flat topology with reactive route discovery!
DSR! Flat topology with reactive route discovery!
LANMAR! Hierarchical with proactive route discovery!
LEACH! Hierarchical, support of MAC layer!
PEGASIS! Hierarchical!
Safari! Hierarchical, hybrid route discovery (reactive near, proactive remote)!
GPSR! Location-based, unicast!
GAF! Location-based, unicast!
SPBM! Location-based, multicast!
GEAR! Location-based, geocast!
GFPG! Location-based, geocast!
SAR! Flat topology with QoS (real-time, reliability), multipath!
SPEED! Location-based with QoS (real-time)!
MMSPEED! Location-based with QoS (real-time, reliability)!
24!