Transcript Networking
Centre for Wireless
Communications
Wireless Sensor Networks
Networking
Instructor: Carlos Pomalaza-Ráez
Fall 2004
University of Oulu, Finland
Basic Issues
Unlike conventional wireless networks, the protocols designed for
the efficient networking of nodes in a WSN have to allow for a
closer collaboration or awareness among the layers of the protocol
stack, in particular the first three layers
Application
This collaboration is needed to properly address the particular
features and design constrains of WSN as discussed in the
introduction section
Data Link
Transport
Network
Physical
For example, the MAC protocols must try to have the radio transceivers in a
sleeping mode as much as possible in order to save energy, however if the
MAC protocol is not jointly designed with the routing algorithms (network
layer) the overall performance of the network could be severely degraded, e.g.
excessive packet delay
Conversely, WSN routing algorithms designed with the concepts of data
centric and data aggregation create special requirements on the underlying
MAC protocols that should be met for the routing mechanisms to work as
intended
These observations can be extended to the design of other layers as well since
WSNs call for new networking paradigms
Media Access Control
Sensor-MAC (S-MAC) – Is an energy-aware protocol(1) described next to
illustrate major design considerations that MAC protocols for WSNs
should address. Assumptions made in the design of S-MAC are:
Data Link
Most communications will be between neighboring sensor nodes rather than
between a node and a base station
There are many nodes that are deployed in a casual, e.g. not precise, manner
and as such the nodes must be able to self-configure, that is they should be
able to gain a certain level of knowledge, in a distributed manner, of their
neighborhood and of the network as a whole
The sensor nodes are dedicated to a particular application and thus per-node
fairness (channel access) is not as important as the application level
performance
Since the network is dedicated to a particular application the application data
processing can be distributed through the network. This implies that data will
be processed as whole messages at a time in store-and-forward fashion
allowing for the application of data aggregation techniques which can reduce
the traffic
The application can tolerate latency and has long idle periods
(1) W. Ye, J. Heidemann and D. Estrin, “An Energy-Efficient MAC Protocol for Wireless Sensor Networks,” In
Proceedings of the 21st International Annual Joint Conference of the IEEE Computer and Communications
Societies (INFOCOM 2002), New York, NY, USA, June, 2002, pp. 1-10.
Sensor-MAC (S-MAC)
The main features of S-MAC are:
Periodic listen and sleep
Collision and Overhearing avoidance
Message passing
The basic scheme for each node is:
Each node go into periodic sleep mode during which it switches the radio off
and sets a timer to awake later
When the timer expires it wakes up and listens to see if any other node wants
to talk to it
The duration of the sleep and awake cycles are application dependent and they
are set the same for all nodes
Requires a periodic synchronization among nodes to take care of any type of
clock drift
Sensor-MAC (S-MAC)
The listen and awake periods are much longer than typical clock drift rates
The duration of the sleep and awake cycles are application dependent and they
are set the same for all nodes
Unlike conventional TDMA schemes S-MAC tolerates a much looser
synchronization among neighboring nodes
Requires a periodic synchronization among nodes to take care of any type of
clock drift
Nodes are free to choose their own listen/sleep schedules but to reduce control
overhead the protocol prefers that neighboring nodes are synchronized
Because of the multihop scenario not all neighbors can be synchronized, e.g.
Nodes A and B are neighbors but they are synchronized to their “other”
neighbors, C and D respectively. Nodes broadcast their schedules from time to
time to ensure that neighboring nodes can talk to each other even if they have
different schedules. If multiple neighbors want to talk to a node, they need to
contend for the medium.
Sensor-MAC (S-MAC)
Choosing and Maintaining Schedules
Each node maintains a schedule table that stores schedules of all its
known neighbors
To establish the initial schedule the following steps are followed:
A node first listens for a certain amount of time
If it does not hear a schedule from another node, it randomly
chooses a schedule and broadcast its schedule immediately
This node is called a Synchronizer
If a node receives a schedule from a neighbor before choosing its
own schedule, it just follows this neighbor’s schedule, i.e. becomes
a Follower and it waits for a random delay and broadcasts its
schedule
If a node receives a neighbor’s schedule after it selects its own
schedule, it adopts to both schedules and broadcasts its own
schedule before going to sleep
It is expected than very rarely a node adopts multiple schedules since
every node tries to follow existing schedules before choosing an
independent one
Sensor-MAC (S-MAC)
Maintaining Synchronization
Timer synchronization among neighbors are needed to prevent the clock
drift. The updating period can be relatively long (tens of seconds)
Done by periodically sending a SYNC packet that only includes the
address of the sender and the time of its next sleeping period
Time of next sleep is relative to the moment that the sender finishes
transmitting the SYNC packet
A node will go to sleep when the timer fires
Receivers will adjust their timer counters immediately after they receive
the SYNC packet
A node periodically broadcasts SYNC packet to its neighbors even if it
has no followers
Sensor-MAC (S-MAC)
Maintaining Synchronization (cont.)
Listen interval is divided into two parts: one for receiving SYNC
packets and other for receiving RTS (Request To Send)
Sensor-MAC (S-MAC)
Collision and Overhearing Avoidance
Similar to IEEE802.11, i.e. use RTS/CTS mechanism to address the hidden
terminal problem
Perform carrier sense before initiating a transmission
If a node fails to get the medium, it goes to sleep and wakes up when the
receiver is free and listening again
Broadcast packets are sent without RTS/CTS
Unicast packets follow the sequence of RTS/CTS/DATA/ACK between the
sender and receiver
Duration field in each transmitted packet indicates how long the remaining
transmission will be so if a node receives a packet destined o another node, it
knows how long it has to keep silent
The node records this value in network allocation vector (NAV) and set a timer
for it
When a node has data to send, it first looks at NAV. If this value is not zero,
then medium is busy (virtual carrier sense)
The medium is determined as free if both virtual and physical carrier sense
indicate the medium is free
All immediate neighbors of both the sender and receiver should sleep after they
hear RTS or CTS packet until the current transmission is over
Sensor-MAC (S-MAC)
Message Passing
A message is a collection of meaningful, interrelated units of data
Transmitting a long message as a packet is disadvantageous as the retransmission cost is high if the packet is corrupted
Fragmentation into small packets will lead to high control overhead as each
packet should contend using RTS/CTS
S-MAC fragments message in to small packets and transmit them as a burst
Only one RTS and one CTS packets are used
Every time a data fragment is transmitted the sender waits for and ACK from
the receiver, if it does not arrive the fragment is retransmitted and the
reservation extended for the duration of the fragment
Advantages:
Reduces latency of the message
Reduces control overhead
Disadvantage:
Node-to-node fairness is reduced, as nodes with small packets to send
will have to wait till the message burst is transmitted
Sensor-MAC (S-MAC)
Implementation
Testbed
Rene motes, developed at UCB
Atmel AT90LS8535 microcontroller with TinyOS
Uses the TR 1000 from RFM which provides a transmission rate of 19.2
Kbps (OOK). Three working modes: receiving (4.5mA), transmitting
(12mA, peak), and sleeping (5μA)
Two type of packets. Fixed size data packets with a 6-byte header, a 30byte payload, and a 2-byte CRC. Control packets (RTS, CTS, ACK), with
6-byte header and 2-byte CRC
MAC protocols implemented
Simplified IEEE 802.11 DCF
Message passing with overhearing avoidance (no sleep and listen
periods). The radio goes to sleep when its neighbors are in transmission
The complete S-MAC. Listen period is 300 ms and sleep time can take
different values, e.g. 300 ms, 500ms, 1s, etc.
The duration of the carrier sensing is random within the contention window.
The microcontroller does not go to sleep.
Sensor-MAC (S-MAC)
Topology
Two-hop network with two sources and two sinks
Sources periodically generate a sensing message which is divided into
fragments
Traffic load is changed by varying the inter-arrival period of the messages
Sensor-MAC (S-MAC)
Sensor-MAC (S-MAC)
Sensor-MAC (S-MAC)
Sensor-MAC (S-MAC)
Conclusion
The S-MAC protocol has good energy conserving properties when
compared with the IEEE 802.11 standard
Comments
Need of a mathematical analysis
Need to study the effect of different topologies
Fragmenting long packets into smaller ones is not energy efficient. The argument
about more chances of the packet being corrupted is not correct unless other
options such as the use of error control coding have also been explored
Several features behind the S-MAC protocol are still “captured” in the traditional
way to do business at the Link Layer level, e.g. use of RTS/CTS/ACK, etc.
The protocol does not address the fact that in most sensor net applications
neighboring nodes are activated almost at the same time by the event to be
sensed and as such they will attempt to communicate at approximately the same
time. There is also a high degree of correlation between the data they want to
communicate
Routing
Problem – How to efficiently route:
Data from the sensors to the sink and,
Queries and control packets from the sink to the sensor nodes
Routing
In addition to the concepts of data aggregation, data centrality, flooding, and
gossiping that were described in the Introduction lecture it is important to
identify the nature of the WSN traffic which will depend on the application.
Assuming a uniform density of nodes the number of transmissions can be
used as a metric for energy consumption. Note that receiving a packet
consumes almost as much energy as transmitting a packet. It is important that
the MAC protocol limit the number of listening neighbors in order to
conserve energy. If N is the number of nodes, Q the number of queries, and E
the number of events, and some type of flooding mechanism is being used
then:
If the number of events is much higher than the number of queries it is better to
use some type of query flooding since the number of transmissions is
proportional to N*Q which is much less than N*E
If the number of events is low compared with the number of queries it is better to
use some type of event flooding since now N*E is much less than N*Q
In both cases it is assumed that the “return path” (for the events or the queries) is
build during the flooding process
Other underlying routing mechanisms are recommended if the number of events
and queries are of the same order
Directed Diffusion(1)
A mechanism developed for the case where it is expected that the number of
queries is higher than the number of events
Is data-centric in nature
The sink propagates their queries or “interests” in the form of attributevalue pairs
The interests are injected by the sink and disseminated throughout the
network. During this process, “gradients” are set at each sensor that
receives and interest pointing towards the sensor from which the interest
was received
This process can create, at each node, multiple gradients towards the
sink. To avoid excessive traffic along multiple paths a “reinforcement”
mechanism is used at each node after receiving data, e.g. reinforce:
Neighbor from whom new events are received
Neighbor who consistently performing better than others
Neighbor from whom most events received.
There is also a mechanism of “negative reinforcement” to degrade the
importance of a particular path
(1) C. Intanagonwiwat, R. Govindan, D. Estrin, “Directed Diffusion: A Scalable and Robust Communication
Paradigm for Sensor Networks,” Proc. ACM Mobicom, Boston MA, August 2000, pp. 1-12.
Directed Diffusion
Gradient
represents
both
direction
towards
data
matching
Uses
application-aware
communication
primitives
This
Consumer
Nodes
The
process
choice
diffuse
of sets
of
data
path
the
up
initiates
interest
gradients
is made
interest
towards
locally
in the
inproducers
at
network
data
every
with
node
tovia
certain
draw
afor
Every
route
has a probability
ofcost
being
chosen
Probability
1/energy
Collect
energy
metrics
along
the way
and status
of demand
with
desired
expressed
terms
of
namedupdate
data rate
sequence
events
matching
every
ofin
attributes
local
packet
the
interactions
interest
Four-legged
animal
Source
Sink
Directed Diffusion
Reinforcement
negative to
reinforcement
used
Has built and
in tolerance
nodes moving
to converge
to range
efficient
out of
ordistribution
dying
Source
Sink
Directed Diffusion
Pros
Energy – Much less traffic than flooding. For a network of size N
the total cost of transmissions and receptions is O(n N ) whereas for
flooding is of O(nN )
Latency – Transmits data along the best path
Scalability – Local interactions only
Robust – Retransmissions of interests
Cons
The set up phase of the gradients is expensive
It does not propose the type of MAC layer needed to support an
efficient implementation of this protocol. The simulation analysis
uses a modified 802.11 MAC protocol
Sensor Protocol for Information via
Negotiation (SPIN)(1)
A mechanism developed for the case where the number of events are higher
than the number of queries.
Use information descriptors or meta-data for negotiation prior to
transmission of the data
Each node has its own energy resource manager which is used to adjust
their transmission activity
The family of SPIN protocols are:
SPIN-PP – For point-to-point communication
SPIN-EC – Similar to SPIN-PP but with an energy conservation
heuristics added to it
SPIN-BC – Designed for broadcast networks. nodes set random
timers after receiving ADV and before sending REQ to wait for
someone else to send the REQ
SPIN-RL – Similar to SPIN-BC but with added reliability. Each node
keeps track of whether it receives requested data within time limit if
not, data is re-requested
(1) J. Kulik, W. Rabiner Heinzelman, and H. Balakrishnan, “Negotiation-Based Protocols for Disseminating
Information in Wireless Sensor Networks,” ACM/IEEE Int. Conf. on Mobile Computing and Networking,
Seattle, WA, Aug. 1999.
SPIN-BC
It
Sensor
sends
broadcasts
meta-data
data
toitself
neighbors
A
Neighbor
node
senses
sends
something
a REQ
listing
“interesting”
of the
data
The
Neighbors
process
aggregate
repeats
data
across
andall
broadcast
the
network
it would likemeta-data
to acquire
(advertise)
ADV
REQ
DATA
SPIN-BC
Advertise meta-data
Advertise
Send data
Send data
I am tired
Send
I need to
sleep …
data
Advertise
meta-data
Advertise
Send
data
Request
Nodes dodata
need
to
Requestnot
data
participate in the
process
Request data
SPIN
Pros
Energy – More efficient than flooding
Latency – Converges quickly
Scalability – Local interactions only
Robust – Immune to node failures –
Cons
Nodes always participating
It does not propose the type of MAC layer needed to support an
efficient implementation of this protocol. The simulation analysis
uses a modified 802.11 MAC protocol
Open Discussion
In recent years a very large number of routing algorithm for WSNs
have been proposed and analyzed
For most of the proposed techniques the analysis has been mainly
carried out using simulation experiments
Recent routing algorithms such as the “Data Funneling”(1) scheme
described in the Introduction lecture are more in line with the WSN
paradigm
Most if not all of the proposed routing algorithms are nor supported
by a proper MAC protocol
A proper MAC protocol should also be more in tune with important
features of the WSN paradigm, e.g. asymmetric flow, no need to
have to use individual node addresses or links, have the radio in
sleep mode as much as possible, etc.
Another Data Link Layer aspect that needs more research is the
impact of error control coding on the consumption of energy
(1) D. Petrovic, R. C. Shah, K. Ramchandran, and J. Rabaey, “Data Funneling: Routing with
Aggregation and Compression for Wireless Sensor Networks,” SNPA 2003, pp. 1-7.