Professional Documents
Culture Documents
Network Layer
Network Layer
Roadmap
Routing basics
Data-centric routing
Proactive routing
On-demand routing
Hierarchical routing
Location-based routing
QoS-based routing
Prof. Yeshudas Muttu
Terminology
Data source. The node in the network, which produces the
required data and is able to send it out to other nodes in the
network.
Data destination. The node in the network, which requires
the data and is able to receive it from other nodes in the
network.
Data forwarder. Any node in the network, which is not the
source or the destination of the data, which is able to receive it
from another node and to send it further in the network.
Data sink. A dedicated node(s) in the network, which is the
implicit destination of any data in this network.
Prof. Yeshudas Muttu
Terminology
Full-network broadcast. There is a single source of the data and
all nodes in the network are implicit destinations of the data.
Unicast. There is a single source and a single destination of the
data, which could be any nodes in the network.
Prof. Yeshudas Muttu
Terminology
Multicast. There is a single source, but multiple destinations of the
data. Again, both the source and the destinations can be any nodes
in the network.
Convergecast. All nodes in the network are sources, while a
single node (typically the sink) is the destination
Prof. Yeshudas Muttu
Terminology
Routing is the process of selecting a sequence of nodes in the
network, beginning from the data source(s) and ending at the
data destination(s). This sequence of nodes is also called the
routing path.
A valid routing path consists of a finite number of nodes and it
does not contain loops.
Prof. Yeshudas Muttu
Routing Metrics
Minimum hop (shortest hop)
The most common metric used in routing protocols is
minimum hop (or shortest hop), that is, the routing protocol
attempts to find the path from the sender to the destination
that requires the smallest number of relay nodes (hops).
In this simple technique, every link has the same cost and a
minimum-hop routing protocol selects the path that minimizes
the total cost of data propagation from source to destination.
Advantage:
using the shortest path will result in low end-to-end delays and
low resource consumptions, because the smallest possible
number of forwarding nodes will be involved.
Prof. Yeshudas Muttu
Routing Metrics
Energy
minimum energy consumed per packet
The goal is to minimize the total amount of energy expended for the
propagation of a single packet from the source to the destination.
The total energy is then the sum of the energy consumed by each
node along a route for receiving and transmitting the packet.
Prof. Yeshudas Muttu
Routing Metrics
Energy
minimum energy consumed per packet
A source node wishes to transmit a packet to a destination node using
a route that minimizes the packet’s energy overheads.
The number on each link indicates the cost of propagating the packet
over this link.
As a consequence, the packet will travel via nodes A–D–G (with a total
cost of 5). Note that this is different from the minimum-hop route (B–
G).
Prof. Yeshudas Muttu
Routing Metrics
Energy
maximum time to network partition
A network partitions into several smaller subnetworks when the last node
that links two parts of the network expires or fails. Hence, a subnetwork
may not be reachable, rendering the sensor nodes within the subnetwork
useless.
Therefore, the challenge is to reduce the energy consumption on nodes
that are crucial to maintaining a network where every sensor node can be
reached via at least one route.
For example, a minimal set of nodes, whose removal will cause a network
to partition, can be found using the max-flow–min-cut theorem.
Once a routing protocol has identified these critical nodes, it can attempt
to balance the traffic load such that premature expiration of these nodes
is prevented.
Prof. Yeshudas Muttu
Routing Metrics
Energy
maximum time to network partition
In Figure, node D is such a node, for example, if node D’s battery
becomes depleted, nodes F, I, and J would not be reachable from any
other node in the network.
Prof. Yeshudas Muttu
Routing Metrics
Energy
minimize variance in node power levels
all nodes within the network are considered equally important and
the challenge is to distribute the energy consumption across all
nodes in the network as equally as possible.
The goal of such an approach could be to maximize the lifetime of
the entire network, for example, instead of some nodes expiring
sooner than others and thereby continuously decreasing the
network size, one could aim at keeping as many nodes alive as long
as possible.
In the ideal case, all nodes would expire at exactly the same time.
Prof. Yeshudas Muttu
Routing Metrics
Energy
maximum (average) energy capacity
Here, the focus is less on the energy cost of packet propagation, but
instead on the energy capacity (i.e., the current battery charge level)
of the nodes.
A routing protocol that uses this metric would then favor routes that
have the largest total energy capacity from source to destination.
Routing Metrics
Energy
maximum minimum energy capacity
Instead of maximizing the energy capacities of the entire path, the
primary routing goal could be to select the path with the largest
minimum energy capacity.
This technique also favors routes with larger energy reserves, but
also protects low-capacity nodes from premature expiration.
Routing Metrics
Quality-of-Service
The term Quality-of-Service (QoS) refers to defined measures of
Performance in networks, including
end-to-end latency (or delay) and
throughput, but also
jitter (variation in latency) and
packet loss (or error rate).
Sensor networks performing target detection and tracking will require
low end-to-end transmission delays for their time-sensitive sensor data,
while data-intensive networks (e.g., multimedia sensor networks) may require
high throughput.
Prof. Yeshudas Muttu
Routing Metrics
Quality-of-Service
The Expected Transmission Time (ETT) is a common metric to express
latency and is defined as
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:
Flooding
Prof. Yeshudas Muttu
1. Implosion:
A node receiving a packet relays this packet to all its neighbors using
broadcasting, regardless of whether these neighbors have already
received this packet from other neighbors.
This leads to resource waste due to unnecessary transmit-and-receive
operations.
The left graph illustrates this problem. Node A broadcasts packet P1 to
both of its neighbors, B and C. B forwards this packet to its own
neighbor D and, finally, C also forwards this packet to node D.
Even if D discards the duplicate packet, energy has been wasted on the
transmission of the packet from C to D.
Flooding Prof. Yeshudas Muttu
2. Overlap
Sensors are often used to monitor overlapping geographic areas, as
illustrated in the right graph. Here, sensors A and B share the region
marked as Y.
Therefore, these sensors gather overlapping data and both forward their
collected information to their neighbor C. Similar to the implosion problem,
this also leads to resource waste since the same information is sent twice
to the same receiver.
Unlike the implosion problem, the overlap problem is more difficult to
address, because a solution to this problem must not only consider the
topology of the sensor network, but also the mapping of the collected
sensor information to sensor nodes.
Prof. Yeshudas Muttu
Flooding
3. Resource blindness:
The simplicity of the protocol also means that flooding lacks
awareness of the resource constraints of individual nodes.
As a consequence, flooding is not able to adapt its behavior
based on the amount of energy available to a specific node.
Prof. Yeshudas Muttu
Gossiping
Gossiping is similar to flooding except that, a node receiving a
packet, instead of broadcasting, the node sends it to only one of its
randomly selected neighbor.
The neighbor in turn sends the packet to one of its randomly
selected neighbor, this continues until the packet reaches its
destination.
Gossiping reduces the number of packets in the network but the
delay to reach destination in some cases may be very large.
A node does not necessarily broadcast data.
Instead, it uses a probabilistic approach, where it decides to forward
the data to its own neighbors with a probability p and to discard the
data with a probability 1 − p.
It therefore can reduce the amount of traffic and achieve energy
conservation by randomization.
Prof. Yeshudas Muttu
Gossiping
Discussion
3 challenges of flooding.
A node receiving a packet forwards this packet to all neighbors
regardless of whether these neighbors have already received a
copy of this packet. This is known as the implosion problem.
Discussion
Which one(s) of these are addressed by gossiping and
how are they addressed?
Gossiping addresses only the implosion problem, i.e. it uses a
probabilistic approach to decide whether to forward data or
not.
Prof. Yeshudas Muttu
Discussion
How do sequence numbers contribute to reducing
unnecessary transmissions? Are sequence numbers
alone sufficient and if not, what other information is
needed to use them correctly?
Sequence numbers allow nodes to distinguish packets from
each other, i.e. to identify new packets or duplicates.
Sequence numbers alone are typically not enough, they need
to be combined with other information, such as the identity of
the sender.
Only then can a packet be identified uniquely.
Prof. Yeshudas Muttu
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)
Prof. Yeshudas Muttu
44
Prof. Yeshudas Muttu
SPIN-PP
Only nodes that needs the ADV data respond
Nodes can aggregate(combine) received data with their own and
advertise it.
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 ADVs were received
successfully)
Prof. Yeshudas Muttu
SPIN-EC
SPIN-EC:
adds simple heuristic (learn something for themselves) to protocol to add
energy conservation
as long as energy sufficient, node participates in 3-way handshake
nodes does not participate if it believes that this will reduce its energy
below a certain low-energy threshold
node replies to ADV only if sufficient energy for transmitting REQ and
receiving DATA
node initiates handshake only if it has sufficient energy to send DATA to
all neighbors
Prof. Yeshudas Muttu
SPIN-BC
SPIN-BC:
This SPIN protocol is used in broadcast communication. SPIN-BC
improves upon SPIN-PP for broadcast networks by exclusively using
cheap, one-to-many communication.
This means that all messages are sent to the broadcast address and
thus processed by all nodes that are within transmission range of the
sender.
During broadcast transmission, the nodes communicate by a single,
shared channel. In this when a node sends a message, it is received
by every node in certain range of sender not bothering about the
message destination.
If the channel is sensed busy by the destination node then it waits
until the channel becomes idle and then attempt to send the
message.
Prof. Yeshudas Muttu
SPIN-BC
SPIN-BC:
Disadvantage: when a node sends data all other nodes within the
range of sender pay the price in terms of energy and time.
Advantage: when a single node sends a message broadcast it is sent
to all of its neighbours using one transmission.
One-to many network is 1/n times cheaper as compared to point to
point network where n is number of neighbours of each node.
Prof. Yeshudas Muttu
SPIN-RL
Reliable version of SPIN-BC
First, each SPIN-RL node keeps track of which ADVs it hears
from which nodes.
After REQ, If it does not receive the data within a reasonable
period of time, the node re-requests the data.
Second, SPIN-RL nodes limit the frequency with which they will
resend data.
If a SPIN-RL node sends out a DATA message corresponding to
a specific piece of data, it will wait a predetermined amount of
time before responding to any more requests for that piece of
data.
Prof. Yeshudas Muttu
Directed Diffusion
Directed Diffusion (DD) is a routing protocol, which
enables communication between sink and source nodes in
random and mesh topology networks.
This routing protocol is based on a data-centric approach,
where intermediate nodes can aggregate data and send it to a
sink node.
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
Prof. Yeshudas Muttu
A sensor field
Sources
Event
Directed
Diffusion
Sink Node
Prof. Yeshudas Muttu
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
Eg: 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)
Prof. Yeshudas Muttu
56
Prof. Yeshudas Muttu
Rumor Routing
Rumor routing is an agent-based path creation algorithm .
Agents, or “ants,” are long-lived entities created at
random by nodes.
These are basically packets which are circulated in the
network to establish shortest paths to events that they
encounter.
They can also perform path optimizations at nodes that
they visit.
When an agent finds a node whose path to an event
is longer than its own, it updates the node’s routing
table.
Prof. Yeshudas Muttu
Rumor Routing
When the agent visits node A , it updates its own path state information
to include the path to event E 2.
Prof. Yeshudas Muttu
Rumor Routing
The updating is with one hop greater distance than what it found in A ,
to account for the hop between any neighbor of A that the agent will
visit next, and A .
Prof. Yeshudas Muttu
Rumor Routing
This is based on the high probability of two straight lines intersecting on a planar
graph, assuming the network topology is like a planar graph, and the paths
established can be approximated by straight lines owing to high density of the nodes.
Prof. Yeshudas Muttu
Rumor Routing
If a query does not find an event path, the sink times out and uses
flooding as a last resort to propagate the query. For instance, as in Fig.
(c), suppose a query for event E 1 is generated by node P .
Prof. Yeshudas Muttu
Rumor Routing
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
Prof. Yeshudas Muttu
Nodes can establish a Data Combining Entity (DCE), which is responsible for data
compaction
Nodes can use a traffic spreading technique to balance traffic over network
stochastic scheme: node selects next hop randomly when there are two or more
with same gradient
energy-based scheme: node increases its height when its energy level is low
stream-based scheme: new streams are diverted away from nodes that already
serve other streams (e.g., by reporting increased heights)
Prof. Yeshudas Muttu
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
Prof. Yeshudas Muttu
DSDV: Example
Prof. Yeshudas Muttu
DSDV: Example
Prof. Yeshudas Muttu
DSDV: Example
Prof. Yeshudas Muttu
DSDV: Example
Prof. Yeshudas Muttu
DSDV: Example
Prof. Yeshudas Muttu
DSDV: Example
Prof. Yeshudas Muttu
DSDV: Example
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
OLSR terminology
Prof. Yeshudas Muttu
4. Intermediate node
Discards duplicate packet
If it has any updated info about the route, it will send RREP to the sender.
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
Prof. Yeshudas Muttu
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
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
Prof. Yeshudas Muttu
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
GPSR basics
Every node shares its location (IP address & Position)
with its neighbor periodically.
IP , (X,Y)
Every node saves the position of its one-hop neighbour
Prof. Yeshudas Muttu
Planarized Graph
Graph in which no two edges cross.
Here, two graphs are discussed for converting non –
planar to planar graphs:
Relative Neighborhood Graph (RNG)
Gabriel Graph (GG)
Gabriel Graph
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
Prof. Yeshudas Muttu
Forwarding Strategies
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
Prof. Yeshudas Muttu
Problem Statement
Consider the topology in Figure. Node A wishes to forward
a packet toward destination L via one of its neighbors (its
communication range is indicated with the circle). Which
neighbor will A choose with each of the following
forwarding strategies:
(a) greedy forwarding
(b) nearest with forwarding progress
(c) most forwarding progress within radius
(d) compass routing
Prof. Yeshudas Muttu
Problem Statement
Problem Statement
Problem Statement
Problem Statement