PALLAVI MEHARIA - M06174001 AARTHI RAGHAVENDRA – M06162035 ABHYUDAYA UPADHYAY – M06173842 Routing in Sensor Networks 1. Introduction With advancement in technology and electronics enabled us with development of low power, low cost and multifunctional sensor nodes. The advantages of sensors networks is its versatility , their deployment in any kinds of scenarios, can cope with rapid technology changes, and can communicate untethered in short distances. Sensor nodes sense environments, process the data acquired and communicate with other components. So in turn it’s a collaborative effort of a large number of sensor nodes. A sensor network is composed of a large number of sensor nodes, which are densely deployed either inside the phenomenon or very close to it [1]. The advantage of using sensor nodes is that it allows for communication between small devices that are deployed over wireless links using fixed network architecture which need not to be engineered or pre-determined. Sensor nodes have on board processor which processes the raw data from the environment , and after performing some simple computations, it sends the required data. Sensors networks have applications in health, military and security, etc. 1. Military applications – Sensor networks forms an integral part of military command, control, communications, computing, intelligence, surveillance, reconnaissance, and target systems because of the self-organizing, and fault tolerance nature. They are also used in monitoring forces of enemy and friendly forces, battle field surveillance, damage assessment etc. [10] 2. Environmental Applications – Sensors networks are used for monitoring and tracking various environment phenomenon, and environmental conditions. Because of self- organizing and fault tolerance capabilities, it can be deployed over a large area in
This documentation is on Routing in Wireless Sensor Networks. It deals majorly with two protocols, LEACH and Rumor Routing. Both the protocols were simulated in NS2 in the linux environment and have the images of the simulation.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
Routing in Sensor Networks
1. Introduction
With advancement in technology and electronics enabled us with development of low power,
low cost and multifunctional sensor nodes. The advantages of sensors networks is its versatility ,
their deployment in any kinds of scenarios, can cope with rapid technology changes, and can
communicate untethered in short distances. Sensor nodes sense environments, process the data
acquired and communicate with other components. So in turn it’s a collaborative effort of a large
number of sensor nodes. A sensor network is composed of a large number of sensor nodes,
which are densely deployed either inside the phenomenon or very close to it [1]. The advantage
of using sensor nodes is that it allows for communication between small devices that are
deployed over wireless links using fixed network architecture which need not to be engineered or
pre-determined. Sensor nodes have on board processor which processes the raw data from the
environment , and after performing some simple computations, it sends the required data.
Sensors networks have applications in health, military and security, etc.
1. Military applications – Sensor networks forms an integral part of military command,
control, communications, computing, intelligence, surveillance, reconnaissance, and
target systems because of the self-organizing, and fault tolerance nature. They are also
used in monitoring forces of enemy and friendly forces, battle field surveillance, damage
assessment etc. [10]
2. Environmental Applications – Sensors networks are used for monitoring and tracking
various environment phenomenon, and environmental conditions. Because of self-
organizing and fault tolerance capabilities, it can be deployed over a large area in
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
randomized fashion. Its application includes forest fire detection, where the technology
can be used to find out the origin of fire and assessment of the damage. Other promising
area is bio-complexity mapping of the environment. Its ability to connect to internet
/networks, allows users to perform various operation remotely.[10]
3. Agriculture and Flood detection , where sensors can be used for monitoring the water
level , temperature , rainfall and weather phenomenon and send the data to a centralized
server , where analysis of the data can be done for providing the accurate conclusions and
formulating a definitive strategy to avoid any undesirable occurrences.[10]
4. Health applications deals with integrated patient monitoring, doing diagnostics and
analysis of various drugs, and their administrations, monitoring the movements and
morphology of various organisms. Some major areas are in tele-monitoring human
physiological data, tracking of patients and doctors in side hospitals. [10]
5. Home and commercial Environment: It deals with automation of all home appliances
i.e. home automation, building up of smart environment inside home and office building
like smoke sensors etc. [10]
Sensor networks consist of many sensors nodes which have many constraints. These constraints
includes fault tolerance , scalability , production costs , operating environments , sensor network
topology , hardware constraints , transmission media and power consumption.
1. Fault tolerance deals with failing or blocking of sensor nodes due to lack of power
consumption, environment interference etc. Regarding sensor nodes, failure of some
sensor nodes should not affect overall task of sensor networks, which defined as fault
tolerance. [10]
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
2. Scalability: Depending upon the scenarios, the number of sensor nodes deployed may be
in order of hundreds or thousands. So the nodes should be able to communicate to each
other and at the same time should be able to send the data to the base station or collecting
servers. As we increase the sensor nodes in any area, it will result in increase of data from
the sensors which will be helpful in doing more accurate analysis. [10]
3. Production costs: Cost of single node in sensor networks plays a very important role as
it decides the overall cost of the sensor network deployment. The cost of sensor node
should be feasible and economical too. Along with that, it should also have features like
location finding systems, power generator etc. [10]
4. Hardware constraints: Sensor networks consist of sensing unit, processing unit,
transceiver, and power unit along with power generator. Sensing unit consist of two sub-
units: sensors and analog to digital conversions (ADC), which is provided into the
processing unit consisting of processor and a small storage unit. Sensing unit collaborates
with other sensing unit to carry out the assigned task. In the end, transceiver unit connects
the nodes to the networks. Power unit provide the power for performing all the
operations, and consist of power generator like solar cells. All the above mentioned units
should be of small size, consume extremely low power, operate in high volumetric
densities, have low production costs and be dispensable, should be autonomous, operate
unattended, and be adaptive to the environment.
[10]
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
Sensor nodes are restricted in that they have limited transmission range, additionally their
processing and storage capabilities are limited and there is a large overhead on the energy
resources. Given the problems mentioned, it is important to establish efficient communication
links between sinks and nodes. Classically most routing protocols are classified as data-centric,
hierarchical and location based protocols depending on the network structure and applications
[2]. Additionally, routing protocols can be classified into three categories: proactive, reactive and
hybrid. [10]
In this project we aim to execute a simple implementation of two routing protocols: Rumor
Routing and LEACH.
2. Rumor Routing
The rumor routing is flat routing protocol, ensuring the longevity of the networks and increases
robustness in handling network failures. In this, the path is chosen at random, instead of the shortest
path for data transmission. The mechanism employed is either flooded by query flooding or event
flooding. The idea behind rumor routing is to use agents to create paths directed towards events,
on the occurrences of the events, and then route queries along these paths. The first approach is to
execute a random walk in the network in order to determine the path. [10]
The rumor routing deals with high and stringent power constraints with each node having high
SNR sensing range, resulting in distributed large set of nodes. The application of these are in the
areas of environmental monitoring , which deals with deploying of large number of sensors over
an area and performing sensing of the environment , data aggregation , data computation ,
compression and transmission, with configuring the local and global actuators. [8]
An event – deals with the abstraction of anything from the sensor readings to the node’s processing
capabilities, which occur in fixed region as localized phenomenon.
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
A query- request for information or order to collect data. Once data reaches the destination, data
begins to flow back to originator. [9]
Considering the amount of data to be transmitted, efforts are made to find the shortest path else
the non-optimal path available to the destination node is considered. The best path are selected
from direct diffusion which leads to flooding the query in the entire network to find the optimum
path. In case of small amount of data transmitted, search of the shortest possible path is not
relevant, and sending it by any non-optimal route should be considered. [9]
Flooding is done on both queries and events. In case of lesser number of events and more number
of queries, it’s always advisable to do the flooding of the events, unless the number of queries and
data generated by that queries are significant. [9]
So in rumor routing, the main objective is to find the tradeoff between the event flooding and query
flooding, so that optimal path can be found with respect to amount of data to be transmitted.
Processes in rumor routing are the following:
1. Query :-
a. In case of query discovers the event path, it can be transmitted using that path. If no
path is discovered, it can again retransmit it or can go for flooding. But flooding is
avoided as far as possible and occur very rarely. Flooding has a very high chance of
finding the destination, but it overloads the sensor networks with redundant data.[8]
b. The agent are long-lived packet, which traverse through network, propagating
information from one node to another. An agent behavior adapts creates a path state
that leads to both or multiple events or creation of the aggregate path that leads to both
the events. Agents performs a path optimization if it finds a shorter path or efficient
path depending upon the parameters of deciding the path. [9]
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
In rumor routing, on demand of application, either of event flooding or query flooding can be used,
if the data transmitted is very large. In the case of uniform distribution of the nodes, the total energy
used by the network for the purpose of performing the transmission is directly proportional to the
number of transmissions.
1. Query Flooding: deals with flooding the entire network with query. Let’s assume the case
of N nodes, performing N transmissions per query i.e. N*Q total transmissions. The energy
used for flooding is independent of number of events tracked by the network. It’s the case
when Number of events are way higher than number of queries.[8]
2. Event Flooding: This is performed when the number of events is low as compared to
the number of queries in the network, which results in efficiency. Flooding can happen
as soon a node witness an event. All other nodes forms gradients towards the network,
which is proportional to the number of hops in order to reach the sink. [8]
[8]
Rumor routing tries to find the threshold between the query flooding and event flooding. The
routing mechanism can determined the threshold and make the best use of the available power. In
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
case of quality of service is not required, it can make the tradeoff between the quality of service
and the required energy. In this algorithm, nodes are densely distributed with short but symmetric
events.
[8]
The pseudo code for the event deals with the following things:
1. Each node maintains the list of neighbors and its event tables.
2. When a node witnesses an event, it adds it to its event table with distance zero and
generates an agent simultaneously.
3. When a node detects an event
a. Generate an agent
b. Let it travel on a random path
c. The visited node form a gradient to the event
4. An agent is a long-lived packet, which travels the network, propagating information
about local events to distant nodes.
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
[8][6]
5. Any node can generate a query, then forward the query in a random direction to find
the path. The query keep going until its TTL expires or it intersects with the agent path
leading it to the destination event.
6. Since all transmissions are effectively broadcasts, so neighboring nodes can hear it as
it moves along its path, which can be used for modifying the event table based on the
information of the agents. After performing the operation, it results in decrementing of
the TTL. [8]
[8]
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
7. Routing algorithm uses straightening algorithm for determining the agents’ next hop,
in which agents also have length of recently received nodes. In case of arrival at the
nodes it adds all the neighboring nodes to its event table, which helps in eliminating
the local loops, which could be formed while transmissions.
[8][6]
8. If the node that originated the query determines the query died, it can retransmit, give
up or flood the query.[6]
9. When a sink needs an event
a. Transmit a query
b. The query meets some node which lies on the gradient
c. Route establishment
PALLAVI MEHARIA - M06174001
AARTHI RAGHAVENDRA – M06162035
ABHYUDAYA UPADHYAY – M06173842
Here, every node in the network maintain a list of its neighbors and an event table with the
forwarding information of all predetermined events that is known to it. Once initiated, the neighbor
lists are generated by broadcasting each node’s id and tuning in to the broadcasted signals. If the
events have a limited expiration period, they can be appended with timestamps along with the table
event entry.
2.1 Implementation of Rumor Routing
The protocol will be implemented using NS-2:
Packet headers/rumor_packet.h: There are four header types for rumor routing,
including struct hdr_rumor, struct hdr_rumor_query, struct hdr_rumor_ant, and union
hdr_all_rumor.
Rumor header file/rumor.h: This files serves the purpose of storing the node gradients,
node neighbors, times and the agent. These variables are used to keep track of all the
metrics across the rumor class instances.
Rumor.cc: It contains the implementation of the routing algorithm.
Bitmap module: They are used to store/keep track of visited nodes and is a static
implementation.
OTcl support module: It determines and initiates the events, generates packets and
queries. It is to be noted that ANT and QUERIES are akin to UDP packets and are dropped