200 likes | 340 Views
Introduction to Wireless Sensor Networks. Medium Access Control (MAC) 21 February 2005. Organizational. Class Website. www.engineering.uiowa.edu/~ece195/2005/. Class Time. Office Hours. Contention-Based MAC Protocols. Channel are not divided, but shared channel allocated on-demand
E N D
Introduction to Wireless Sensor Networks Medium Access Control (MAC) 21 February 2005
Organizational Class Website www.engineering.uiowa.edu/~ece195/2005/ Class Time Office Hours
Contention-Based MAC Protocols • Channel are not divided, but shared channel allocated on-demand • Advantages • Scale easily across node density and load • More flexible (no need to for clusters, hierarchies) peer-to-peer directly supported • Don’t require fine-grained synchronization as in TDMA • Major disadvantage • Inefficient use of energy
Review: Energy Efficiency in MAC Protocols • Question – what causes energy waste from a MAC perspective? • Collision • Idle listening • Overhearing • When a node receives packets that are destined for another node • Control packet overhead • Sending, receiving, listening, all consumes energy • Adaptation • Reconfiguring when nodes join leave
Examples of Contention MAC Protocols • Carrier Sense Medium Access (CSMA) • Central idea – listen (carrier sense) before transmitting • Variants • Non-persistent CSMA • If medium busy, wait random time and try again • 1-Persistent CSMA • If medium busy, keep listening and transmit when medium becomes free • p-Persistent CSMA • If medium busy, transmit with probability (1-p). If medium free transmit with probability p.
a b c Hidden Terminal Problem in CSMA • Node a, b, and c can only hear their immediate neighbors • When node a send to b, c is unaware of a, its carrier sense indicates carrier free • Node c starts transmitting • Packets from a and c collide at b
a c b CSMA/CA - Carrier Sense Collision Avoidance • Establish a brief handshake between sender and receiver before sending data • Sender sends Request-to-Send (RTS) packet to intended receiver • Receiver replies with Clear-to-Send (CTS) packet • Only then does transmitter send data • RTS-CTS packets announce to neighbors • Node c hears CTS packets from b to a, and does not transmit • Does not eliminate collisions, but collisions are now mostly (brief) RST
Variations • MACA – RST and CTS packets indicate size on data so other nodes know how long to back off • MACAW – adds an Acknowledge ACK packet • RTS-CTS-DATA-ACK • IEEE 802.11 • CSMA/CA, MACA, and MACAW => Distributed coordination function (DCF) + enhancements
Energy Conservation in Contention Protocols • Basic idea, put radio to sleep with it is not used • This makes it difficult for nodes to communicate • Beacons • Coordinate sleeping (frames)
Beacons (IEEE 802.11 & Piconet) • One node periodically broadcast beacon (all participate) • Beacon synchronizes all nodes • After each beacon, ad hoc traffic indication message (ATIM). • All nodes are awake during ATIM • Then CSMA • Assumption: all nodes can hear each other. Generalizing to multi-hop is not easy
PAMAS and Channel Probing • Two channels • Data • Control • Upon wakeup, probe control channel for activity related to destination node • Neighbor answer probe? Yes, go back to sleep • Probing eliminated interference with transmission in data channel • More complex to implement (two channels) • PAMAS does not reduce idle listening.
S-MAC • Specifically designed for WSN • Reduces energy from all major sources • Idle listening, collision, overhearing and control overhead • Course-grained sleep/wakeup cycle • Each node has its own wakeup-listen (communicate), sleep schedule • Schedules are shared with neighbors
S-MAC Scheduling • All nodes choose their own schedules • Share schedules with neighbors • Node then schedule transmissions during listen times of neighbors • If a wants to send to b, it just waits for b’s listen cycle to start
S-MAC Scheduling • Nodes periodically broadcast SYNC packets to synchronize clocks • S-MAC encourages neighbors to adopt identical schedules • When it configures itself, a node listens for a synchronization period, and adopts the first schedule it hears • Nodes periodically does neighbor discovery, by listing for an entire frame • 1-10% Duty cycle
S-MAC Data Transmission • Contention happens only during listen interval • S-MAC puts a duration field in each packet (some other protocols have it only at the start) • Nodes that don’t have medium access, know how long to sleep even if they try to gain medium access in the middle of an ongoing conversation • Application-Level Message Passing • Only one RTS and CTS for all fragments • Each fragment has ACK (which also contains duration) • Reserves medium • Burst mode • Aids in-network processing in WSNs (how?) • Variation Adaptive Listening • Rather than wait until the next scheduled listen interval, nodes wake up immediately after RTS-CTS-DATA-ACK
S-MAC Pros and Cons • Cons • Relatively Complex (especially since CSMA is often touted as being simple…) • Increased Latency • Pros • Periodic sleep provides excellent energy performance at light loads • Adaptive listen adjusts to traffic to achieve same performance as no-sleep at heavy load
S-MAC Energy Performance Mica motes Heavy Load Light Load
Energy-Time (J•s)/byte Heavy Load Light Load
Review Questions • Briefly describe channel probing in MAC protocols (e.g., the PAMAS MAC protocol). List disadvantages • True or false – Without adaptive listening latency in S-MAC is linear with the number of hops • Contrast application-level message passing with MAC fragments. Explain why this is relevant in WSNs • Explain how application-level message passing is implemented in S-MAC • True or false – CSMA is an example of a contention-based MAC protocol • Explain the difference between non-persistent, 1-persistent, and p-persistent CSMA • What is the hidden-terminal problem as it relates to CSMA in WSNs • What are RTS and CTS packets? • Explain how handshaking is used to reduce collisions in CSMA • What are “beacons” as it relates to CSMA • Explain the advantage of adding the message duration to each packet in S-MAC • What does “S-MAC” stand for?