PoliFi: Airtime Policy Enforcement for WiFi Toke Hiland-Jrgensen - - PowerPoint PPT Presentation

polifi airtime policy enforcement for wifi
SMART_READER_LITE
LIVE PREVIEW

PoliFi: Airtime Policy Enforcement for WiFi Toke Hiland-Jrgensen - - PowerPoint PPT Presentation

PoliFi: Airtime Policy Enforcement for WiFi Toke Hiland-Jrgensen (Red Hat / Karlstad University) Per Hurtig (Karlstad University) Anna Brunstrom (Karlstad University) IEEE WCNC Marrakech, April 2019 1 Outline Background


slide-1
SLIDE 1

Toke Høiland-Jørgensen (Red Hat / Karlstad University) Per Hurtig (Karlstad University) Anna Brunstrom (Karlstad University)

IEEE WCNC Marrakech, April 2019

PoliFi: Airtime Policy Enforcement for WiFi

   1

slide-2
SLIDE 2

Outline

Background PoliFi design Evaluation Future work

  • Toke Høiland-Jørgensen <toke@toke.dk>

   2

slide-3
SLIDE 3

Main Contributions

PoliFi is an airtime policy enforcement system that: Supports individual station and group policies Runs entirely on the access point Is included in the mainline Linux kernel from v5.1

  • Toke Høiland-Jørgensen <toke@toke.dk>

   3

slide-4
SLIDE 4

Background

802.11 Performance Anomaly Previous Work: Airtime Fairness Scheduler

  • Toke Høiland-Jørgensen <toke@toke.dk>

   4

slide-5
SLIDE 5

802.11 Performance Anomaly

Effective transmission time and rate (for station ): Where is the effective rate of a station transmitting without collisions.

T(i) R(i) i ∈ I T(i) R(i) = ⎧ ⎩ ⎨ ⎪ ⎪ ⎪ ⎪

1 |I| T_data(i) ∑ _j∈IT_data(j)

with fairness

  • therwise

= T(i)R_0(i) R_0(i) =

L_i T_data(i)+T_oh

  • Toke Høiland-Jørgensen <toke@toke.dk>

   5

slide-6
SLIDE 6

Fast 1 Fast 2 Slow Fast 1 Fast 2 Slow Fast 1 Fast 2 Slow Fast 1 Fast 2 Slow 0.0 0.2 0.4 0.6 0.8 1.0 Airtime share FIFO FQ-CoDel FQ-MAC Airtime fair FQ

Previous Work: Airtime Fairness Scheduler

  • Toke Høiland-Jørgensen <toke@toke.dk>

   6

slide-7
SLIDE 7

PoliFi Design

What if we don’t want straight fairness?

  • Toke Høiland-Jørgensen <toke@toke.dk>

   7

slide-8
SLIDE 8

Design Goals

Enable airtime policy enforcement, supporting: Prioritising single devices Use case, e.g.: “My TV needs more airtime” Balancing device groups Use case, e.g.: 5G network slicing Limiting groups of devices to a maximum capacity share Use case, e.g.: Guest network

  • Toke Høiland-Jørgensen <toke@toke.dk>

   8

slide-9
SLIDE 9

Kernel mac80211 subsystem Weighted DRR scheduler WiFi hardware Device driver Userspace Policy daemon Assoc / disassoc notifications Station queue state Set station weights Airtime usage Station

Weight Deficits

Station

Weight Deficits

Station

Weight Deficits User configuration Station state tracker

PoliFi Design

  • Toke Høiland-Jørgensen <toke@toke.dk>

   9

slide-10
SLIDE 10

Operating Modes

Weights set by userspace daemon (hostapd), supporting three modes: Static mode: Specify MAC priority in config Dynamic mode: Specify weight per group (BSS) Limit mode: Like dynamic, but only limit some groups

  • Toke Høiland-Jørgensen <toke@toke.dk>

   10

slide-11
SLIDE 11

Evaluation results

4 station test, 2 groups (BSSes) BSS 1: Stations 1, 2 and 3 BSS 2: Station 4

  • Toke Høiland-Jørgensen <toke@toke.dk>

   11

slide-12
SLIDE 12

Station 1 Station 2 Station 3 Station 4 Station 1 Station 2 Station 3 Station 4 Station 1 Station 2 Station 3 Station 4 Station 1 Station 2 Station 3 Station 4 0.0 0.1 0.2 0.3 0.4 0.5 Airtime share No policy Static Dynamic Limit

Airtime usage - UDP

  • Toke Høiland-Jørgensen <toke@toke.dk>

   12

slide-13
SLIDE 13

Station 1 Station 2 Station 3 Station 4 Station 1 Station 2 Station 3 Station 4 Station 1 Station 2 Station 3 Station 4 Station 1 Station 2 Station 3 Station 4 0.0 0.1 0.2 0.3 0.4 0.5 Airtime share No policy Static Dynamic Limit

Airtime usage - TCP

  • Toke Høiland-Jørgensen <toke@toke.dk>

   13

slide-14
SLIDE 14

BSS 1 BSS 2 BSS 1 BSS 2 0.0 0.2 0.4 0.6 0.8 1.0 Airtime share Dynamic Limit BSS 1 BSS 2 BSS 1 BSS 2 0.0 0.2 0.4 0.6 0.8 1.0 Airtime share Dynamic Limit

BSS airtime usage - UDP and TCP

  • Toke Høiland-Jørgensen <toke@toke.dk>

   14

slide-15
SLIDE 15

10 20 30 40 Time (s) 0.00 0.25 0.50 0.75 1.00 Airtime share

Reaction time - dynamic mode

  • Toke Høiland-Jørgensen <toke@toke.dk>

   15

slide-16
SLIDE 16

10 20 30 40 Time (s) 0.00 0.25 0.50 0.75 1.00 Airtime share

Reaction time - limit mode

  • Toke Høiland-Jørgensen <toke@toke.dk>

   16

slide-17
SLIDE 17

100 200 300 400 500 600 Time (s) 2 4 Mbits/s

DASH video throughput

  • Toke Høiland-Jørgensen <toke@toke.dk>

   17

slide-18
SLIDE 18

Future work

  • Toke Høiland-Jørgensen <toke@toke.dk>

   18

slide-19
SLIDE 19

Planned future work

Future work being discussed in upstream Linux: Switching to a virtual time-based scheduler Airtime estimation for devices that don’t provide it Airtime-based queue limits

  • Toke Høiland-Jørgensen <toke@toke.dk>

   19

slide-20
SLIDE 20

Summary

PoliFi is an airtime policy enforcement system that: Supports individual station and group policies Runs entirely on the access point Is included in the mainline Linux kernel from v5.1

  • Toke Høiland-Jørgensen <toke@toke.dk>

   20