MAC Layer Design for Wireless
Sensor Networks
Wei Ye
USC Information Sciences Institute
1
Introduction
Wireless sensor network
• Large number of densely distributed nodes
• Battery powered
• Multi-hop ad hoc wireless network
• Node positions and topology dynamically
change
• Self-organization
Sensor-net applications
• Nodes cooperate for a common task
• In-network data processing
2
Introduction
Important attributes of MAC protocols
• Collision avoidance
Basic task — medium access control
• Energy efficiency
• Scalability and adaptivity
Number of nodes changes overtime
• Latency
• Fairness
• Throughput
• Bandwidth utilization
3
Overview of MAC protocols
Contention-based protocols
• CSMA — Carrier Sense Multiple Access
Ethernet
Not enough for wireless (collision at receiver)
A B C
Hidden
• MACA terminal:Access
— Multiple A is hidden from C’s CS
w/ Collision Avoidance
RTS/CTS for hidden terminal problem
RTS/CTS/DATA
4
Overview of MAC Protocols
Contention-based protocols (contd.)
• MACAW — improved over MACA
RTS/CTS/DATA/ACK
Fast error recovery at link layer
• IEEE 802.11 Distributed Coordination Function
Largely based on MACAW
Protocols from voice communication area
• TDMA — low duty cycle, energy efficient
• FDMA — each channel has different frequency
• CDMA — frequency hopping or direct sequence
5
Example: IEEE 802.11 DCF
Distributed coordinate function: ad hoc mode
• Virtual and physical carrier sense (CS)
Network allocation vector (NAV), duration field
• Binary exponential backoff
• RTS/CTS/DATA/ACK for unicast packets
• Broadcast packets are directly sent after CS
• Fragmentation support
RTS/CTS reserve time for first (frag + ACK)
First (frag + ACK) reserve time for second…
Give up tx when error happens
6
Example: IEEE 802.11 DCF
Timing relationship
7
Energy Efficiency in MAC Design
Energy is primary concern in sensor
networks
What causes energy waste?
• Collisions
• Control packet overhead
• Overhearing unnecessary
Domintraffic
antinsensor nets
• Long idle time
bursty traffic in sensor-net apps
Idle listening consumes 50—100% of the
power for receiving (Stemm97, Kasten)
8
Energy Efficiency in MAC Design
TDMA vs. contention-based protocols
• TDMA can easily avoid or reduce energy waste
from all above sources
• Contention protocols needs to work hard in all
directions
• TDMA has limited scalability and adaptivity
Hard to dynamically change frame size or slot
assignment when new nodes join
Restrict direct communication within a cluster
• Contention protocols easily accommodate node
changes and support multi-hop communications
9
TDMA Protocols
Bluetooth
• Clustering (piconet)
• FH-CDMA between clusters
• TDMA within each cluster
Centralized control by cluster head
Only master-slave communication
Master polling slave and schedule tx
• At most 8 active nodes can be in a cluster
— scalability problem
10
TDMA Protocols
LEACH: Low-Energy Adaptive Clustering
Hierarchy — by Heinzelman, et al.
• Similar to Bluetooth
• CDMA between clusters
• TDMA within each cluster
Static TDMA frame
Cluster head rotation
Node only talks to cluster head
Only cluster head talks to base station (long
dist.)
• The same scalability problem
11
TDMA Protocols
Self-Organaiztion — by Sohrabi and Pottie
• Have a pool of independent channels
Frequency band or spreading code
Potential interfering links select different channels
• Talk to each neighbor in different time slots
• Sleep during unscheduled time
• Example
3
6 different channels 1
Each node has its own scheduled time slots —
superframe 2 4
12
TDMA Protocols
Self-Organaiztion (Contd.)
• Result (if a node has n neighbors)
Uses n different channels to talk to each of
them
Schedules n time slots to send to each of them
and n time slots to receive from each of them
• Looks like TDMA, but actually FDMA or CDMA
Any pair of two nodes can talk at the same time
• Low bandwidth utilization
13
Contention-Based Protocols
PAMAS: Power Aware Multi-Access with
Signalling — by Singh and Raghavendra
• Improve energy efficiency from MACA
• Avoid overhearing by putting node into sleep
• Control channel separates from data channel
RTS, CTS, busy tone to avoid collision
Probe packets to find neighbors transmission time
• Increased hardware complexity
Two channels need to work simultaneously, meaning
two radio systems.
14
Contention-Based Protocols
Piconet — by Bennett, Clarke, et al.
• Low duty-cycle operation — energy efficient
Sleep for 30s, beacon, and listen for a while
Sending node needs to listen for receiver’s
beacon first, then
Carrier sense before sending data
• May wait for long time before sending
Tx rate control — by Woo and Culler
• Carrier sense + adaptive rate control
• Promote fair bandwidth allocation
• Helps for congestion avoidance
15
Contention-Based Protocols
Power save (PS) mode in IEEE 802.11 DCF
• Assumption: all nodes are synchronized and can hear each other
(single hop)
• Nodes in PS mode periodically listen for beacons & ATIMs (ad hoc
traffic indication messages)
• Beacon: timing and physical layer parameters
All nodes participate in periodic beacon generation
• ATIM: tell nodes in PS mode to stay awake for Rx
ATIM follows a beacon sent/received
Unicast ATIM needs acknowledgement
Broadcast ATIM wakes up all nodes — no ACK
16
Contention-Based Protocols
Example of PS mode in IEEE 802.11
DCF
17
Energy Efficiency: Contention
Extend 802.11 PS mode for Multi-hops
— By Tseng, et al. at IEEE Infocom 2002
• Nodes do not synchronize with each other
• Designed 3 sleep patterns — ensure nodes
listen intervals overlap, example:
Periodically fully-awake interval: similar to S-MAC
Problem on broadcast — wake up each neighbor
18
S-MAC: Introduction
S-MAC — by Ye, Heidemann and Estrin
Tradeoffs
Latency
Energy
Fairness
Major components in S-MAC
• Periodic listen and sleep
• Collision avoidance
• Overhearing avoidance
• Massage passing
19
Periodic Listen and Sleep
Problem: Idle listening consumes
significant energy
Solution: Periodic listen and sleep
listen sleep listen sleep
• Turn off radio when sleeping
• Reduce duty cycle to ~ 10% (150ms
on/1.5s off)
Latency Energy
20
Periodic Listen and Sleep
Schedules can differ
Node1 listen sleep listen sleep
Node2 listen sleep listen sleep
• Prefer neighboring nodes have same
schedule
— easy broadcast & low control overhead
Schedule1 Border nodes:
two schedules
Schedule2
broadcast twice
21
Periodic Listen and Sleep
Schedule Synchronization
• New node tries to follow an existing schedule
• Remember neighbors’ schedules
— to know when to send to them
• Each node broadcasts its schedule every few
periods of sleeping and listening
• Re-sync when receiving a schedule update
Periodic neighbor discovery
• Keep awake in a full sync interval over long
periods
22
Collision Avoidance
Problem: Multiple senders want to talk
Options: Contention vs. TDMA
Solution: Similar to IEEE 802.11 ad hoc
mode (DCF)
• Physical and virtual carrier sense
• Randomized backoff time
• RTS/CTS for hidden terminal problem
• RTS/CTS/DATA/ACK sequence
23
Overhearing Avoidance
Problem: Receive packets destined to others
Solution: Sleep when neighbors talk
• Basic idea from PAMAS (Singh, Raghavendra 1998)
• But we only use in-channel signaling
Who should sleep?
• All immediate neighbors of sender and
receiver
How long to sleep?
• The duration field in each packet informs
other nodes the sleep interval
24
Message Passing
Problem: Sensor net in-network processing requires entire
message
Solution: Don’t interleave different messages
• Long message is fragmented & sent in burst
• RTS/CTS reserve medium for entire message
• Fragment-level error recovery — ACK
— extend Tx time and re-transmit immediately
Other nodes sleep for whole message time
Fairness Energy
Msg-level latency 25
Msg Passing vs. 802.11 fragmentation
S-MAC message passing
RTS 21 Data 19 Data 17 ... Data 1
CTS 20 ACK 18 ACK 16 ... ACK 0
Fragmentation in IEEE 802.11
• No indication of entire time — other nodes keep
listening
• If ACK is not received, give up Tx — fairness
RTS 3 Data 3 Data 3 ... Data 1
CTS 2 ACK 2 ACK 2 ... ACK 0
26
Implementation on Testbed Nodes
Platform
Mica Motes (UC Berkeley)
8-bit CPU at 4MHz,
128KB flash, 4KB RAM
433MHz radio
TinyOS: event-driven
Compared MAC modules
1. IEEE 802.11-like protocol w/o sleeping
2. Message passing with overhearing
avoidance
3. S-MAC (2 + periodic listen/sleep) 27
Experiments: two-hop network
Topology and measured energy
consumption on source nodes
Average energy consumption in the source nodes
1800
Source 1 Sink 1 1600
802.11-like protocol w/o sleep
Overhearing avoidance
S-MAC
Energy consumption (mJ)
1400
Source 2 Sink 2 1200
1000
• Each source node 800
sends 10 messages 600
— Each message has 400
400B in 10 fragments 200
• Measure total energy 0 2 4 6 8 10
over time to send all Message inter-arrival period (second)
messages
28
Recent Progress: Adaptive Listen
Reduces latency due to periodic sleep
At end of each transmission, nodes wake
up for a short time
Next transmission can start right away
Example: data flow A BC
A B C
• A sends RTS, B replies CTS, C overhears CTS
• C will wake up when A B is done
• BC can start right away
29
Recent Progress: 10-hop Experiments
Compare S-MAC in 3 different modes
10-hop linear network with 11 nodes
Energy consumption on radios in the entire network Average message latency under the lowest traffic load
30 12
10% duty cycle without adaptive listen 10% duty cycle without adaptive listen
10% duty cycle with adaptive listen 10% duty cycle with adaptive listen
25 No periodic sleep 10 No periodic sleep
Energy consumption (J)
20 8
Latency (S)
15 6
10 4
5 2
0 0
0 2 4 6 8 10 0 2 4 6 8 10
Message inter-arrival period (S) Number of hops
30
S-MAC Information
URL: http://www.isi.edu/scadds/
Released S-MAC source code (for
TinyOS 0.6.1)
Currently porting to nesC environment
(TinyOS 1.0)
31