exploiting programmable architectures for wifi/zigbee ... · exploiting programmable architectures...

32
Exploiting Programmable Architectures for WiFi/ZigBee Inter- Technology Cooperation P. De Valck, I. Moerman, D. Croce, F. Giuliano , I. Tinnirello, D. Garlisi, E. De Poorter, B. Jooris Cavalese (TN), Jan 16, 2014

Upload: vantruc

Post on 18-Mar-2019

240 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Exploiting Programmable Architectures for WiFi/ZigBee Inter-

Technology Cooperation

P. De Valck, I. Moerman, D. Croce, F. Giuliano, I. Tinnirello, D. Garlisi, E. De Poorter, B. Jooris

Cavalese (TN), Jan 16, 2014

Page 2: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Coordination of multiple technologies

2

•  Typically based on orthogonal channel assignment + other mechanisms to increase robustness to interference –  Carrier sense, adaptive coding, etc...

•  Not always efficient in case of spectrum overloading –  e.g. ISM bands with WiFi, Bluetooth, ZigBee, phones, microwave

•  Is it possible to improve coordination by activating an inter-technology communication channel??

Page 3: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Learning from ‘human communications’

3

•  Non verbal communication allows to improve the set-up of multiple communication channels –  to provide a feedback channel to voice channels –  in noisy environments

•  Different forms of non verbal communication –  Environmental to identify the coexisting channels –  Para-verbal (volume, tone, rhythm)

Page 4: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Back to wireless networks

4

•  Roadmap to coexistence – Adapt to changing radio conditions –  Inter-technology coordination schemes

•  Identification is the key •  Typical approach: look at the lowest PHY level

– Joint analysis of both frequency and time domains

Page 5: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Back to wireless networks

5

•  Roadmap to coexistence – Adapt to changing radio conditions –  Inter-technology coordination schemes

•  Identification is the key •  Typical approach: look at the lowest PHY level

– Joint analysis of both frequency and time domains –  Is there a better/simpler way?

•  What can we learn from Rx errors? – Can we identify the type of interference?

Page 6: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

ErrorSense (TRAC 2014)

6

•  Exploit (WiFi) protocol specific structures – PLCP length/rate/parity, MAC version, FCS fields

•  Exploit Hardware characteristics – How the (WiFi) transceiver reacts to non-(WiFi)

signals (timeouts, sensitivity, etc.) •  Keep it simple:

– No dedicated hardware (commodity NICs) – No complex PHY layer analysis (in firmware!) – No channel scan (no communication disruption) – Passive detection only (no overhead)

Page 7: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

WiFi reminder

7

•  MAC frames follow a PLCP Header – Consider 802.11g:

•  Some notes on the different fields:

–  Rate: 8 possible values (out of 16!) –  Length: range 0-4095 (but used range is 14-2346) –  Parity: only one bit!

FCS 32 bits

PSDU

Basic RATE (6 Mbps)

RATE up to 54 Mbps

DATA

Page 8: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Error events (non-WiFi)

8

•  What goes wrong when WiFi (.11g) receives a non-WiFi transmission? –  Bad PLCP rate or parity (0.75) –  Bad MAC version (0.75) –  Length Too long (~0.43) –  Length Too short (~0) –  Bad FCS (~0.57)

Page 9: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Does it work? (WiFi interference)

9

(primary) (interfer)

Page 10: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Hardware-specific patterns (I)

10

•  How does the card react to ZigBee frames?

ZigBee Pattern = Error patterns + Busytime Measure

Page 11: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Hardware-specific patterns (II)

11

•  How does the card react to Microwave ovens?

Page 12: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Medium Access Adaptation

•  Network Card Requirements: – Flexible tuning of MAC parameters on runtime – Modification of medium access operation

12

Key: turn NIC in a Programmable Wireless MAC Architecture

Page 13: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Programmable Wireless Architectures for MAC

•  Abstraction: –  MAC instructions set à MAC APIs –  MAC programming logic à MAC Programs –  Logic Executor à MAC Processor

•  Wireless MAC Processor (802.11) [IEEE INFOCOM 2012] –  Reconfigurable MAC in terms of Finite State Machine –  Implemented on 802.11 Commodity Hardware

•  Exploits Error Events detection •  SnapMAC (802.15.4) [Journal: Ad Hoc Networks - 2014]

–  separation between the MAC protocol logic and the hardware execution •  Allows fast TDMA reconfiguration

13

Page 14: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Channel access coordination •  Inter-technology coordination (TDMA-like)

– Legacy access in each slot

14

Page 15: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

WiFi/ZigBee communications

15

•  Packet-length communication with a 802.11 to 802.15.4 link –  commercial interfaces! Novel receivers could do better..

•  Example of protocol definition for sending low rate signaling –  Busy time monitoring and statistics for low level analysis –  Transparent to legacy stations (e.g. frame fragmentation)

•  No coordinator/gateway!!!

TEXAS INSTRUMENTS CC2530EM Broadcom

B4311/18

Hello! Hello!

Page 16: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Conclusions

16

•  Receiver errors can be used to detect the interfering technology – Complement classic time/frequency classifiers

Ø  Improve results, reduce complexity

•  Non-conventional channels can be exploited for improving WiFi/ZigBee coexistence – Channel sharing with no gateways (cost reduction) – Generalizations are possible for programmable/

cognitive networks •  Extend to other technologies or other NICs.

Page 17: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

References

17

•  Croce, D., Gallo, P., Garlisi, D., Giuliano, F., Magione, S., Tinnirello, I.: Errorsense: Characterizing wifi error patterns for detecting zigbee interference. Wireless Communications and Mobile Computing Conference (IWCMC), 2014 International

•  Mil, P.D., Jooris, B., Tytgat, L., Hoebeke, J., Moerman, I., Demeester, P.:

SnapMAC: A generic mac/phy architecture enabling flexible {MAC} design. Journal Ad Hoc Networks 17, 37–59 (2014)

•  EU FP7 CREW project. http://www.crew-project.eu. Accessed Jan 2014

•  Tinnirello, I., Bianchi, G., Gallo, P., Garlisi, D., Giuliano, F., Gringoli, F.: Wireless

MAC processors: Programming mac protocols on commodity hardware. In: INFOCOM, 2012 Proceedings IEEE, pp. 1269–1277 (2012)

Thanks!!! Q&A

Page 18: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Thanks!!! Q&A

18

Page 19: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Error events (WiFi)

19

•  Impact of WiFi interference (same technology)

Page 20: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Testbed results

20

•  Implementation in our university lab – WiFi card: Broadcom bcm4318, .15.4: MRF24J40 – Eight possible errors

•  Events are detected by monitoring the card – No interrupts, must read internal register – Polling every 250us

Ø  Multiple events can occur in the same interval

•  Good PLCPs “lock” the receiver – Virtual Carrier Sense mechanism

Page 21: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Channel access coordination •  Errors Pattern

0500

10001500

Even

t/s

540 560 580 600 620 640 660 680 700 720 740−100

−90

−80

−70

−60

RSS

I [d

Bm]

Time [ms]

Good PLCP Bad PLCP Good FCS, match RA

21

Page 22: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

WiFi interference

22

Page 23: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Hardware-specific patterns (II)

23

•  How does the card react to ZigBee frames?

Page 24: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

24

Estimated packet length

Page 25: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Detecting ZigBee packets

25

•  We use Hidden Markov Models (HMMs) to – Track the receiver state given the receiver errors –  Identify the most likely technology

Note: Error (emission) prob. and state transition prob. must be known

Page 26: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Emission probabilities

26

WiFi

ZigBee

Microwave

Page 27: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

27

Page 28: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

28

                 P(1)    P(2)      P(1)        P(2)  

… … … …constella/on  1  

Frame  Length  (Bytes)  

constella/on  2   constella/on  3   constella/on  4  

Intra-­‐Technology  Data  Bit  in  Frame  Payload  

S3(1)     S0(2)   S7(1)   S5(2)   S3(1)    

Inter-­‐Technology  Data  Bit  in  Frame  Lengths  

P        S0      S1      S2      S3    S4      S5      S6      S7    S8      S9      S10    S11  S12  S13  S14    S15      

16  Bytes  

WiFi/ZigBee communication

Page 29: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Remote Use-Case Experiment •  Components at the EU FP7 CREW testbed in Ghent

–  Two alix 802.11 programmable nodes, two SnapMAC enabled 802.15.4 programmable nodes

–  1 USRP as a channel power sniffer

•  TDMA between the two technologies by negotiating the channel allocation time

Page 30: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

Error events (non-WiFi)

30

•  What goes wrong when WiFi (.11g) receives a non-WiFi transmission?

BAD PLCP = 1 / 4 (RATE) + 1 / 2(PARITY) = 3 / 4 BAD MAC VERSION MAC HEADER, 2 bits = 1 / 4 Too Long probability = 1 − 2346/4096 ≈ 0.43 Too Short probability = 14/4096 BAD FCSprobability =

1 – (Too Long OR Too short) ~ 0.57

Page 31: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

31

Traditional Power Grid

Page 32: Exploiting Programmable Architectures for WiFi/ZigBee ... · Exploiting Programmable Architectures for WiFi/ZigBee Inter- ... Bluetooth, ZigBee, phones ... – 1 USRP as a channel

32

Aggregation and privacy in SGs