Upload
prasant-misra
View
117
Download
4
Embed Size (px)
Citation preview
LINK Layer Protocols for the Internet of Things
Dr. Prasant Misra W: https://sites.google.com/site/prasantmisra
Disclaimer:
The opinions expressed in this presentation and on the following slides are solely those of the presenter and not necessarily those of the organization that he works for.
Driving CPS/IoT with WSN
8/26/2016 2
Consist of many embedded units called sensor nodes, motes etc. ,.
Sensors (and actuators) Small microcontroller Limited memory Radio for wireless communication Power source (often battery)
Communication centric systems
Motes form networks, and in a one hop or multi-hop fashion transport sensor data to base station
Background: Wireless Sensor Networks (WSN)
8/26/2016 3
• Processing speed ? • Memory ? • Storage ?
• Power consumption ?
BTNode MicaZ dotMote Fleck Tmote Sky
Radio Sensors/ Actuators
Microcontroller Storage
Power Source
Architecture: WSN platforms
8/26/2016 4
WSN Node: Core Features
Limited Energy Reserves – PREMIUM resource
Under MAC Control 8/26/2016 5
Link Layer Protocols
8/26/2016 6
Why do we need MAC ? Wireless channel is a shared medium Radios, within the communication range of each other and operating in the same
frequency band, interfere with each others transmission Interference -> Collision -> Packet Loss -> Retransmission -> Increase in net energy
The role of MAC
Co-ordinate access to and transmission over the common, shared (wireless) medium
Can traditional MAC methods be directly applied to WSN ? Control -> often decentralized Data -> low load but convergecast communication pattern Links -> highly volatile/dynamic Nodes/Hops -> Scale is much larger Energy is the BIGGEST concern Network longetivity, reliability, fairness, scalability and latency are more important than throughput
MAC is Crucial !!!
8/26/2016 7
MAC Family
Reservation
(Scheduled, Synchronous)
Contention
(Unscheduled, Asynchronous)
Reservation-based Nodes access the channel based on a schedule Examples: TDMA Limits collisions, idle listening, overhearing Bounded latency, fairness, good throughput (in loaded traffic conditions) Saves node power by pointing them to sleep until needed Low idle listening Dependencies: time synchronization and knowledge of network topology Not flexible under conditions of node mobility, node redeployment and node death:
complicates schedule maintenance
Contention-based Nodes compete (in probabilistic coordination) to access the channel Examples: ALOHA (pure & slotted), CSMA Time synchronization “NOT” required Robust to network changes High idle listening and overhearing overheads
Taxonomy
8/26/2016 8
MAC: Reservation vs. Contention
8/26/2016 9
Collisions Node(s) is/are within the range of nodes that are transmitting at the same time -> retransmissions
Overhearing The receiver of a packet is not the intended receiver of that packet
Overhead Arising from control packets such as RTS/CTS E.g.: exchange of RTS/CTS induces high overheads in the range of 40-75% of the channel capacity
Idle Listening Listening to possible traffic that is not sent Most significant source of energy consumption
Function Protocols
Reduce Collisions CSMA/CA, MACA, Sift
Reduce Overheads CSMA/ARC
Reduce Overhearing PAMAS
Reduce Idle Listening PSM
Causes of Energy Consumption
8/26/2016 10
WSN MAC Family
Scheduled
(periodic, high-load traffic)
Common Active Periods
(medium-load traffic)
Preamble Sampling
(rare reporting events)
8/26/2016 11
Scheduled Protocols
8/26/2016 12
Build a schedule for all nodes Time schedule
no collisions no overhearing minimized idle listening bounded latency, fairness, good throughput (in loaded traffic conditions)
BUT: how to setup and maintain the schedule ?
Function Protocols
Canonical Solution TSMP, IEEE 802.15.4
Centralized Scheduling Arisha, PEDAMACS, BitMAC, G-MAC
Distributed Scheduling SMACS
Localization-based Scheduling TRAMA, FLAMA, uMAC, EMACs, PMAC
Rotating Node Roles PACT, BMA
Handling Node Mobility MMAC, FlexiMAC
Adapting to Traffic Changes PMAC
Receiver Oriented Slot Assignment O-MAC
Using different frequencies PicoRadio, Wavenis, f-MAC, Multichannel LMAC, MMSN, Y-MAC, Practical Multichannel MAC
Other functionalities LMAC, AI-LMAC, SS-TDMA, RMAC
Scheduled MAC Protocols
8/26/2016 13
Time Synchronized Mesh Protocol (TSMP): Overview
Goal: High end-to-end reliability
Major Components time synchronized communication (medium access)
TDMA-based: uses timeslots and time frames Synchronization is achieved by exchanging offset information (and not by
beaconing strategies) frequency hopping (medium access)
automatic node joining and network formation (network)
redundant mesh routing (network)
secure message transfer (network)
Limitations Complexity in infrastructure-less networks Scaling is a challenge
Finding a collision free schedule is a two-hop coloring problem
Reduced flexibility to adapt to dynamic topologies
8/26/2016 14
Common Active Period Protocols
8/26/2016 15
Nodes define common active/sleep periods active period -> communication, where nodes contend for the channel sleep period -> saving energy need to maintain a common time reference across all nodes
Function Protocols
Canonical Solution SMAC
Increasing Flexibility TMAC, E2MAC, SWMAC
Minimizing Sleep Delay Adaptive listening, nanoMAC, DSMAC, FPA, DMAC, Q-MAC
Handling Mobility MSMAC
Minimizing Schedules GSA
Statistical Approaches RL-MAC, U-MAC
Using Wake-up Radio RMAC, E2RMAC
Common Active Period MAC Protocols
8/26/2016 16
Goal: reduce energy consumption, while supporting good scalability and collision avoidance
Major Components periodic listen and sleep
Copes with idle listening: uses a scheme of active (listen) and sleep periods Active periods are fixed; Sleep periods depend on a predefined duty-cycle param Synchronization is used to form virtual clusters of nodes on the same sleep schedule Schedules coordinate nodes to minimize additional latency
collision and overhearing avoidance Adopts a contention-based scheme In-channel signaling is used to put each node to sleep when its neighbor is transmitting to
another node; thus, avoids the overhearing problem but does not require an additional channel
message passing Small packets transmitted in bursts RTS/CTS reserves the channel for the whole burst duration rather than for each packet;
hence unfair from a per-hop MAC level
Sensor MAC (S-MAC): Overview
8/26/2016 17
Periodic Listen and Sleep Each node goes to sleep for some time, and then wakes up and listens to see if any other
node wants to talk to it. During sleep, the node turns off its radio, and sets a timer to awake itself later.
Maintain Schedules Maintain Synchronization
S-MAC - I
8/26/2016 18
Collision and Overhearing Avoidance Adopts a contention based scheme Collision Avoidance Overhearing Avoidance
Basic Idea A node can go to sleep whenever its neighbor is talking with another node
Who should sleep? The immediate neighbors of sender and receiver
How to they know when to sleep? By overhearing RTS or CTS
Hog long should they sleep? Network Address Vector (NAV)
Message Passing How to transmit a long message?
Transmit it as a single long packet Easy to be corrupted
Transmit as many independent packets Higher control overhead & longer delay
Divide into fragments, but transmit all in burst
S-MAC - II
8/26/2016 19
Adaptive duty cycle: duration of the active period is no longer fixed but varies according to traffic
Prematurely ends an active period if no traffic occurs for a duration of TA
Timeout MAC (TMAC): Overview
8/26/2016 20
Preamble Sampling Protocols
8/26/2016 21
Goal: minimize idle listening -> minimize energy consumption
Operation Node periodically wakes up, turns radio on and checks channel
Wakeup time fixed (time spend sampling RSSI?) “Check interval” variable
If energy is detected, node powers up in order to receive the packet Node goes back to sleep
If a packet is received After a timeout
Preamble length matches channel “checking interval” No explicit synchronization required
Noise floor estimation used to detect channel activity during LPL
Preamble Sampling MAC Protocols
8/26/2016 22
Function Protocols
Canonical Solution Preamble-Sampling ALOHA, Preamble-Sampling CSMA, Cycled Receiver, LPL, Channel polling
Improving CCA BMAC
Adaptive Duty Cycle EA-ALPL
Reducing Preamble Length by Packetization
X-MAC, CSMA-MPS, TICER, WOR, MH-MAC, DPS-MAC, CMAC, GeRAF, 1-hopMAC, RICER, SpeckMAC-D, MX-MAC
Reducing Preamble Length by Piggybacking Synchronization Information
WiseMAC, RATE EST, SP, SyncWUF
Use Separate Channels STEM
Avoiding Unnecessary reception
MFP, 1-hopMAC
Drawbacks: Costly collisions
Longer preamble leads to higher probability of collision in applications with considerate traffic Limited duty cycle
“Check interval” period cannot be arbitrarily increased -> longer preamble length Overhearing problem The target receiver has to wait for the full preamble before receiving the data packet: the per-
hop latency is lower bounded by the preamble length. Over a multi-hop path, this latency can accumulate to become quite substantial.
Preamble Sampling MAC Protocols
8/26/2016 23
Goals: Simple and predictable; Effective collision avoidance by improving CCA Tolerable to changing RF/networking conditions Low power operation; Scalable to large numbers of nodes; Small code size and RAM usage
CCA MAC must accurately determine if channel is clear
Need to tell what is noise and what is a signal Ambient noise is prone to environmental changes
BMAC solution: ‘software automatic gain control’ Signal strength samples taken when channel is assumed to be free – When?
immediately after transmitting a packet when the data path of the radio stack is not receiving valid data
Samples go in a FIFO queue (sliding window) Median added to an EWMA (exponentially weighted moving average with decay α) filter Once noise floor is established (What is a good estimate?), a TX requests starts monitoring
RSSI from the radio
CCA: Thresholding vs. Outlier Detection Common approach: take single sample, compare to noise floor
Large number of false negatives BMAC: search for outliers in RSSI
If a sample has significantly lower energy than the noise floor during the sampling period, then channel is clear
Berkeley MAC (BMAC): Overview
8/26/2016 24
0=busy, 1=clear
Packet arrives between 22 and 54 ms
Single-sample thresholding produces several false ‘busy’ signals
BMAC
8/26/2016 25
Series of short preamble packets each containing target address information Minimize overhearing problem Reduce latency and reduce energy consumption
Strobed preamble: pauses in the series of short preamble packets Target receiver can shorten the strobed preamble via an early ACK Small pauses between preamble packets permit the target receiver to send an early ACK Reduces latency for the case where destination is awake before preamble completes
Non-target receivers that overhear the strobed preamble can go back to sleep immediately
Preamble period must be greater than sleep period
Reduces per-hop latency and energy
XMAC: Overview
8/26/2016 26
Wireless Sensor (Wise) MAC: Overview
WiseMAC uses a scheme that learns the sampling schedule of direct neighbors and exploits this knowledge to minimize the wake-up preamble length ACK packets, in addition to a carrying the acknowledgement for a received data packet, also have
information about the next sampling time of that node
Node keeps a table of the sampling time offsets of all its usual destinations up-to-date Node transmits a packet just at the right time, with a wake-up preamble of minimized size
8/26/2016 27
Wireless Sensor (Wise) MAC: I
How does the system cope with Clock drifts ? Clock drifts may make the transmitter lose accuracy about the receiver’s wakeup time.
Transmitter uses a preamble that is just long enough to make up for the estimated maximum clock drift.
The length of the preamble used in this case depends on clock drifts: the smaller the clock drift, the shorter the preamble the transmitter has to use.
What if the node has no information about the wakeup time of a neighbor node ?
Node uses a full-length preamble
8/26/2016 28
Hybrid Protocols
8/26/2016 29
Function Protocols
Flexible MAC Structure IEEE 802.15.4
CSMA inside TDMA Slots ZMAC
Minimizing Convergecast Effect Funneling MAC, MH-MAC
Slotted and Sampling SCP
Receiver based Scheduling Crankshaft
Hybrid Protocols
8/26/2016 30
Funneling MAC: Overview
Co
nve
rgca
st C
om
ms
High traffic intensity: 80% of packet loss happens in the 2-hop region from the SINK
8/26/2016 31
IEEE 802.15.4 MAC: Overview
Two different channel access methods Beacon-Enabled duty-cycled mode (typically, used in FFD networks) Non-Beacon Enabled mode (aka Beacon Disabled mode)
8/26/2016 32
IEEE 802.15.4 Beacon Enabled Mode
CAP: Contention Access Period | CFP: Collision Free Period | GTS: Guaranteed Time Slot
Node listen to Beacon and check IF GTS is reserved If YES: remain powered off until GTS is scheduled
If NO: Performs CSMA/CA during CAP
Synchronization Sync with Tracking Mode
Sync with Non Tracking Mode 8/26/2016 33
IEEE 802.15.4 Beacon Enabled Mode
8/26/2016 34
IEEE 802.15.4 Non Beacon Enabled Mode
8/26/2016 35
Acknowledgment Mechanism and Limitations
ACK mechanism Optional mechanism Destination Side
ACK sent upon successful reception of a data frame Sender side
Retransmission if ACK not (correctly) received within the timeout At each retransmission attempt the backoff window size is re-initialized Only a maximum number of retransmissions allowed (macMaxFrameRetries)
Limitations MAC Unreliability Unbounded latency No guaranteed bandwidth
Unless GTS is used GTS only provides a limited service (7 slots)
No built-in frequency hopping technique Prone to failures due to interferences and multi-path fading
The access method is EVENTUALLY CSMA-CA: Contention increases with the # of active nodes
8/26/2016 36
Convergence / Adaptation
Zigbee Alliance
Zigbee IEC
WirelessHART Microchip
MiWi ISA
100.11a IETF
6LoWPAN
Routing
Application
Transport
MAC
IEEE 802.15.4e
PHY
IEEE 802.15.4-2006 (868/915/2400MHz)
IoT Stack using IEEE 802.15.4 as the PHY
8/26/2016 37
Time Synchronized Channel Hopping (TSCH): Overview
Combines time slotted access, multi-channel communication and channel hopping Particularly suitable for multi-hop networks
Time-slotted access Predictable and bounded latency Guaranteed bandwidth
Multi-channel communication More nodes can communicate at the same time (i.e., same slot) using different
channels (identified by different channel offsets) increased network capacity
Channel hopping mitigates the effects of interference and multipath fading improves reliability
8/26/2016 38
TSCH: Periodic Slotframes
During a timeslot, one node typically sends a frame, and another sends back an acknowledgement if it successfully receives that frame. If an acknowledgement is not received within the timeout period, retransmission of the frame waits until the next assigned transmit timeslot (in any active slotframe) to that address occurs.
8/26/2016 39
TSCH: Frequency Translation
The channel offset is translated in an operating frequency
ASN: total # of slots that elapsed since the network was deployed ASN=(k·S+t) where S is the slotframe size, k the slotframe cycle
number of used channels F is implemented as a look-up-table containing the sets of available channels
8/26/2016 40
TSCH: Link
Link = Pairwise assignment of a directed communication between devices in a specific timeslot, with a given channel offset
The standard only explains how the MAC layer executes a schedule; it does not specify how such a schedule is built
8/26/2016 41
6LoWPAN Adaptation
IEEE 802.15.4e (TSCH)
IEEE 802.15.4-2006
RPL
UDP DTLS
CoAP, CoAPs
IP IPSec
6TiSCH 6top
6TiSCH: “glue” between : link-layer standard offering industrial performance (reliability &
power consumption), and IP-enabled upper stack
“New” IETF Stack for Edge Devices: +6TiSCH
8/26/2016 42
Single chip vs. Wakeup Radio Wakeup radio
+ : quick and on-demand wakeup - : very sensitive (noise taken as wakeup tone) & generate large number of false
positives Bit-based vs. Packet-based Radio
Bit-based (narrowband) radio + : Great flexibility (MCU controls every bit transmitted) + : Large energy saving (small switching time) - : High bit error rates (use simple modulation schemes, and no spreading codes
used) Packet-based (wideband) radio
+ : Robust to noise + : High bit rates - : Less flexible (MCU has less control over the radio circuitry) - : High power consumption
Frequency agile vs. Single channel MAC protocols Single channel: all nodes are configured to as single channel Frequency agile: fast switching between frequency channels
Memory size and usage Transmit Power Control
Hardware Factors and their impact on MAC Protocols
8/26/2016 43
A tribute to Fieldbus Technology
8/26/2016 44
Milestones of Fieldbus Evolution and Related Fields
8/26/2016 45
MAC Strategies in Fieldbus systems
8/26/2016 46
Traffic Classes
8/26/2016 47
8/26/2016 48
References
A. Bachir, M. Dohler, T. Watteyne and K. K. Leung, "MAC Essentials for Wireless Sensor Networks," in IEEE Communications Surveys & Tutorials, vol. 12, no. 2, pp. 222-248, 2010.
Numerous info graphics from the web !!!
Thanks !!!
8/26/2016 49