polifi airtime policy enforcement for wifi
play

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


  1. PoliFi: Airtime Policy Enforcement for WiFi Toke Høiland-Jørgensen (Red Hat / Karlstad University) Per Hurtig (Karlstad University) Anna Brunstrom (Karlstad University) IEEE WCNC Marrakech, April 2019    1

  2. Outline Background PoliFi design Evaluation Future work - Toke Høiland-Jørgensen <toke@toke.dk>    2

  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

  4. Background 802.11 Performance Anomaly Previous Work: Airtime Fairness Scheduler - Toke Høiland-Jørgensen <toke@toke.dk>    4

  5. 802.11 Performance Anomaly Effective transmission time and rate (for station ): T ( i ) R ( i ) i ∈ I 1 with fairness ⎧ ⎪ | I | ⎪ T _ data ( i ) T ( i ) = ⎨ otherwise ∑ _ j ∈ IT _ data ( j ) ⎪ ⎪ ⎩ R ( i ) = T ( i ) R _0( i ) Where is the effective rate of a station transmitting L _ i R _0( i ) = T _ data ( i )+ T _ oh without collisions. - Toke Høiland-Jørgensen <toke@toke.dk>    5

  6. Previous Work: Airtime Fairness Scheduler FIFO FQ-CoDel FQ-MAC Airtime fair FQ 1.0 0.8 Airtime share 0.6 0.4 0.2 0.0 Fast 1 Fast 2 Slow Fast 1 Fast 2 Slow Fast 1 Fast 2 Slow Fast 1 Fast 2 Slow - Toke Høiland-Jørgensen <toke@toke.dk>    6

  7. PoliFi Design What if we don’t want straight fairness? - Toke Høiland-Jørgensen <toke@toke.dk>    7

  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

  9. PoliFi Design Userspace Policy User Station daemon configuration state tracker Assoc / disassoc notifications Station queue state Set station weights Kernel mac80211 subsystem Station Station Station Weight Weight Weight Deficits Deficits Deficits Weighted DRR Airtime usage scheduler Device driver WiFi hardware - Toke Høiland-Jørgensen <toke@toke.dk>    9

  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

  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

  12.    - Toke Høiland-Jørgensen <toke@toke.dk> Airtime share 0.0 0.1 0.2 0.3 0.4 0.5 Station 1 No policy Station 2 Station 3 Station 4 Station 1 Station 2 Static Station 3 Station 4 Station 1 Dynamic Station 2 Airtime usage - UDP Station 3 Station 4 Station 1 Station 2 Limit Station 3 Station 4 12

  13.    - Toke Høiland-Jørgensen <toke@toke.dk> Airtime share 0.0 0.1 0.2 0.3 0.4 0.5 Station 1 No policy Station 2 Station 3 Station 4 Station 1 Station 2 Static Station 3 Station 4 Station 1 Dynamic Station 2 Airtime usage - TCP Station 3 Station 4 Station 1 Station 2 Limit Station 3 Station 4 13

  14. BSS airtime usage - UDP and TCP Dynamic Limit Dynamic Limit 1.0 1.0 0.8 0.8 Airtime share Airtime share 0.6 0.6 0.4 0.4 0.2 0.2 0.0 0.0 BSS 1 BSS 2 BSS 1 BSS 2 BSS 1 BSS 2 BSS 1 BSS 2 - Toke Høiland-Jørgensen <toke@toke.dk>    14

  15. Reaction time - dynamic mode 1.00 0.75 Airtime share 0.50 0.25 0.00 0 10 20 30 40 Time (s) - Toke Høiland-Jørgensen <toke@toke.dk>    15

  16. Reaction time - limit mode 1.00 0.75 Airtime share 0.50 0.25 0.00 0 10 20 30 40 Time (s) - Toke Høiland-Jørgensen <toke@toke.dk>    16

  17. DASH video throughput 4 Mbits/s 2 0 0 100 200 300 400 500 600 Time (s) - Toke Høiland-Jørgensen <toke@toke.dk>    17

  18. Future work - Toke Høiland-Jørgensen <toke@toke.dk>    18

  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

  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

Recommend


More recommend