Você está na página 1de 31

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 BC

A B C
• A sends RTS, B replies CTS, C overhears CTS
• C will wake up when A B is done
• BC 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

Você também pode gostar