49
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.

Link Layer Protocols for WSN-based IoT

Embed Size (px)

Citation preview

Page 1: Link Layer Protocols for WSN-based IoT

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.

Page 2: Link Layer Protocols for WSN-based IoT

Driving CPS/IoT with WSN

8/26/2016 2

Page 3: Link Layer Protocols for WSN-based IoT

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

Page 4: Link Layer Protocols for WSN-based IoT

• 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

Page 5: Link Layer Protocols for WSN-based IoT

WSN Node: Core Features

Limited Energy Reserves – PREMIUM resource

Under MAC Control 8/26/2016 5

Page 6: Link Layer Protocols for WSN-based IoT

Link Layer Protocols

8/26/2016 6

Page 7: Link Layer Protocols for WSN-based IoT

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

Page 8: Link Layer Protocols for WSN-based IoT

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

Page 9: Link Layer Protocols for WSN-based IoT

MAC: Reservation vs. Contention

8/26/2016 9

Page 10: Link Layer Protocols for WSN-based IoT

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

Page 11: Link Layer Protocols for WSN-based IoT

WSN MAC Family

Scheduled

(periodic, high-load traffic)

Common Active Periods

(medium-load traffic)

Preamble Sampling

(rare reporting events)

8/26/2016 11

Page 12: Link Layer Protocols for WSN-based IoT

Scheduled Protocols

8/26/2016 12

Page 13: Link Layer Protocols for WSN-based IoT

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

Page 14: Link Layer Protocols for WSN-based IoT

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

Page 15: Link Layer Protocols for WSN-based IoT

Common Active Period Protocols

8/26/2016 15

Page 16: Link Layer Protocols for WSN-based IoT

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

Page 17: Link Layer Protocols for WSN-based IoT

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

Page 18: Link Layer Protocols for WSN-based IoT

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

Page 19: Link Layer Protocols for WSN-based IoT

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

Page 20: Link Layer Protocols for WSN-based IoT

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

Page 21: Link Layer Protocols for WSN-based IoT

Preamble Sampling Protocols

8/26/2016 21

Page 22: Link Layer Protocols for WSN-based IoT

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

Page 23: Link Layer Protocols for WSN-based IoT

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

Page 24: Link Layer Protocols for WSN-based IoT

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

Page 25: Link Layer Protocols for WSN-based IoT

0=busy, 1=clear

Packet arrives between 22 and 54 ms

Single-sample thresholding produces several false ‘busy’ signals

BMAC

8/26/2016 25

Page 26: Link Layer Protocols for WSN-based IoT

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

Page 27: Link Layer Protocols for WSN-based IoT

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

Page 28: Link Layer Protocols for WSN-based IoT

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

Page 29: Link Layer Protocols for WSN-based IoT

Hybrid Protocols

8/26/2016 29

Page 30: Link Layer Protocols for WSN-based IoT

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

Page 31: Link Layer Protocols for WSN-based IoT

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

Page 32: Link Layer Protocols for WSN-based IoT

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

Page 33: Link Layer Protocols for WSN-based IoT

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

Page 34: Link Layer Protocols for WSN-based IoT

IEEE 802.15.4 Beacon Enabled Mode

8/26/2016 34

Page 35: Link Layer Protocols for WSN-based IoT

IEEE 802.15.4 Non Beacon Enabled Mode

8/26/2016 35

Page 36: Link Layer Protocols for WSN-based IoT

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

Page 37: Link Layer Protocols for WSN-based IoT

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

Page 38: Link Layer Protocols for WSN-based IoT

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

Page 39: Link Layer Protocols for WSN-based IoT

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

Page 40: Link Layer Protocols for WSN-based IoT

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

Page 41: Link Layer Protocols for WSN-based IoT

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

Page 42: Link Layer Protocols for WSN-based IoT

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

Page 43: Link Layer Protocols for WSN-based IoT

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

Page 44: Link Layer Protocols for WSN-based IoT

A tribute to Fieldbus Technology

8/26/2016 44

Page 45: Link Layer Protocols for WSN-based IoT

Milestones of Fieldbus Evolution and Related Fields

8/26/2016 45

Page 46: Link Layer Protocols for WSN-based IoT

MAC Strategies in Fieldbus systems

8/26/2016 46

Page 47: Link Layer Protocols for WSN-based IoT

Traffic Classes

8/26/2016 47

Page 48: Link Layer Protocols for WSN-based IoT

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 !!!

Page 49: Link Layer Protocols for WSN-based IoT

Thanks !!!

8/26/2016 49