OpenSDWN: Programmatic control over home and enterprise Wi-Fi

52
OpenSDWN: Programmatic control over home and enterprise Wi-Fi Julius Schulz-Zander, Bogdan Ciobotaru, Carlos Mayer, Stefan Schmid and Anja Feldmann 1 Telekom Innovation Laboratories

Transcript of OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Page 1: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN:Programmatic control over home and enterprise Wi-Fi

Julius Schulz-Zander, Bogdan Ciobotaru, Carlos Mayer, Stefan Schmid and Anja Feldmann1

Telekom Innovation Laboratories

Page 2: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link Characterization

2

Page 3: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link Characterization

2

Page 4: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link CharacterizationWide range of physical transmission rates

2

Page 5: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link CharacterizationWide range of physical transmission rates

Links are asymmetric

2

Page 6: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link CharacterizationWide range of physical transmission rates

Links are asymmetric

Layer 2 retransmissions

2

Page 7: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link CharacterizationWide range of physical transmission rates

Flags such as NoACK

Links are asymmetric

Layer 2 retransmissions

2

Page 8: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link CharacterizationWide range of physical transmission rates

Flags such as NoACK

Links are asymmetric

RTS/CTS to mitigate Hidden Terminal issue

Layer 2 retransmissions

2

Page 9: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Link CharacterizationWide range of physical transmission rates

Flags such as NoACK

Links are asymmetric

RTS/CTS to mitigate Hidden Terminal issue

Layer 2 retransmissions

Supports several medium Access Categories (ACs)

2

Page 10: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Home Network Example

3

Page 11: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Home Network Example

3

Page 12: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Home Network Example

3

Page 13: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Home Network Example

3

Page 14: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Home Network Example

We don’t focus on short lived flows

3

Page 15: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Mobility and State Migration

4

Page 16: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Mobility and State Migration• Client mobility:

• New stateful firewall (FW) lacks connection state

• Connections break

?

4

Page 17: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Mobility and State Migration• Client mobility:

• New stateful firewall (FW) lacks connection state

• Connections break

?

• State needs to be migrated from one MB instance to another

MB state migration

4

Page 18: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Motivation: State-of-the-Art

5

Page 19: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Motivation: State-of-the-Art• Application-specific requirements are not considered at the wireless access

• Application-specific sensitivity to latency or packet loss

• Today’s rate control is traffic agnostic

5

Page 20: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Motivation: State-of-the-Art• Application-specific requirements are not considered at the wireless access

• Application-specific sensitivity to latency or packet loss

• Today’s rate control is traffic agnostic

• Group related data traffic inflexible

• Multicast always sent at basic rate (typically lowest physical rate)

• No smart rate selection for group related traffic (even with just one subscriber)

5

Page 21: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Motivation: State-of-the-Art• Application-specific requirements are not considered at the wireless access

• Application-specific sensitivity to latency or packet loss

• Today’s rate control is traffic agnostic

• Group related data traffic inflexible

• Multicast always sent at basic rate (typically lowest physical rate)

• No smart rate selection for group related traffic (even with just one subscriber)

• Middlebox (MB) Management static

• Mobility requires MB state to be migrated/moved (e.g. FW state on Hotspot WiFi APs)

5

Page 22: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

6

Page 23: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

6

Page 24: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

6

Page 25: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN Control Plane

6

Page 26: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN Control Plane

6

Page 27: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Home

Enterprise

OpenSDWN Control Plane

6

Page 28: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

SDN NFV SDWN

Home

Enterprise

OpenSDWN Control Plane

6

Page 29: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

SDN NFV SDWN

Home

Enterprise

OpenSDWN Control Plane

OpenSDWN

6

Page 30: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN Building Blocks• Separation between WiFi Control and Data-path

• Programmability of upper-MAC 802.11 functionalities

• Slicing of the Wi-Fi

7

Page 31: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN Building Blocks• Separation between WiFi Control and Data-path

• Programmability of upper-MAC 802.11 functionalities

• Slicing of the Wi-Fi

[1] J. Schulz-Zander, L. Suresh, N. Sarrar, A. Feldmann, T. Hühn, and R. Merz. Programmatic Orchestration of WiFi Networks. In Proc. USENIX ATC ’14.

Odin [1]

7

Page 32: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN Building Blocks• Separation between WiFi Control and Data-path

• Programmability of upper-MAC 802.11 functionalities

• Slicing of the Wi-Fi

[1] J. Schulz-Zander, L. Suresh, N. Sarrar, A. Feldmann, T. Hühn, and R. Merz. Programmatic Orchestration of WiFi Networks. In Proc. USENIX ATC ’14.

• Programmability of the Wireless Datapath

• Assign Wi-Fi transmission settings to flows

• Abstraction from physical transmission settings

Odin [1]

WDTX

7

Page 33: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN Building Blocks• Separation between WiFi Control and Data-path

• Programmability of upper-MAC 802.11 functionalities

• Slicing of the Wi-Fi

[1] J. Schulz-Zander, L. Suresh, N. Sarrar, A. Feldmann, T. Hühn, and R. Merz. Programmatic Orchestration of WiFi Networks. In Proc. USENIX ATC ’14.

• Management of network functions

• Middlebox-Agents provide a network function interface

• Per-client middlebox state abstraction

• Programmability of the Wireless Datapath

• Assign Wi-Fi transmission settings to flows

• Abstraction from physical transmission settings

Odin [1]

WDTXvMB

7

Page 34: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

OpenSDWN Building Blocks• Separation between WiFi Control and Data-path

• Programmability of upper-MAC 802.11 functionalities

• Slicing of the Wi-Fi

[1] J. Schulz-Zander, L. Suresh, N. Sarrar, A. Feldmann, T. Hühn, and R. Merz. Programmatic Orchestration of WiFi Networks. In Proc. USENIX ATC ’14.

• Management of network functions

• Middlebox-Agents provide a network function interface

• Per-client middlebox state abstraction

• Programmability of the Wireless Datapath

• Assign Wi-Fi transmission settings to flows

• Abstraction from physical transmission settings

Odin [1]

WDTXvMB

Participatory

7

Realized as an SDWN Application

Page 35: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Odin in a Nutshell• SDWN Applications

• Mobility Management

• Client-based Load Balancing

• Per-client Light Virtual Access Point (LVAP) abstraction

• LVAP abstracts the complexities of IEEE 802.11

• Provides slicing of the Wi-Fi

• Focus on upper-MAC functionalities

• Client Association, Authentication etc.[1] J. Schulz-Zander, L. Suresh, N. Sarrar, A. Feldmann, T. Hühn, and R. Merz. Programmatic Orchestration of WiFi Networks. In Proc. USENIX ATC ’14.

8

Page 36: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Wireless Datapath Programmability• WiFi Datapath Transmission (WDTX) Rules

• Assignment of fixed and/or „meta“ transmission settings

• Control over transmission power, transmission rate as well as tailored retry chains

• Control level of wireless transmission settings:

• Per-group level, e.g., maximum common transmission rate

• Per-station level, e.g., transmission power, RTS/CTS protection

• Per-application level, e.g., bandwidth/latency requirements

• Per-flow level, e.g., physical transmission rate, no ACK policy

9

Page 37: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

SDWN Interface OpenSDWN Controller

Radio Driver

Radio Agent

mac80211 subsystem

wireless NIC drivers

Wireless Access Point

cfg80211

Kernel Space netlink interface debugfs

mark1 TX Rule

mark2 TX Rule

markn TX Rule

User Space

Wireless data-path transmission settings

WDTXTable

LVAP

LVAP WDTX

WDTX

10

Page 38: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

virtual Middlebox (vMB)• Abstraction from the inner workings of a specific middlebox

• Per-client state abstraction

• Simplifies device/user handling, e.g.,

• Mobility can be handled easier

• Per-device/class rules (e.g. for BYOD)

11

Page 39: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

vMB Interface

Middlebox Driver

OpenSDWN Controller

Kernel SpaceUser Space

Middlebox Host

conntracktools

conntrack

vMB

network interfaces

Statefull FW

netlink interface

middlebox abstraction

xtables

nl_driver

Bro

vMBBro driver

middlebox abstraction

middlebox abstraction

vMB

IDSAgent Agent

VNFAgent

Virtual Network Function

12

Page 40: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Thee basic operations supported by OpenSDWN

13

Page 41: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Operation: Mobility and Migration

vMBvMB Clone

Migrate

ControllerMiddlebox

Clie

nt M

obilit

y

vMB

LVAPMigration

Client’s LVAP

14

Page 42: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Operation: Transmission Control

Set Match Rule

Traffic Manager

Set Wireless

Transmission RuleController

Translates service requirements into transmission rules

15

Page 43: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Operation: Service Differentiation

DPIMiddlebox

Service Notification

Participatory Interface

Controller

Service Notification

16

Page 44: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Evaluation

17

Page 45: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Different WDTX Rules

Rou

nd T

rip T

ime

(RTT

) [m

s]

Default BPR AC:VO BPR+AC:VO

45

67

8

RTT optimization through WDTX• 2 APs and two stations

• Two simultaneous flows

• Best effort background flow

• Flow with different WTDX

• RTT is decreased by half for flow

• Highest access category

• Best Probability Rate

18

Page 46: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Different WDTX Rules

MAC

Lay

er R

etra

nsm

issi

ons

Default BPR AC:VO BPR+AC:VO

2030

4050

Delay optimization through WDTX

• 2 APs and two stations

• Two simultaneous flows

• Best effort background flow

• Flow with different WTDX

• Layer 2 retransmissions decrease

19

Page 47: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Group transmissions• Multicast packets are typically sent at basic rate

• Unicast has the potential to reduce the airtime consumption

• Direct Multicast Service (DMS)

• Switch from Multicast to Unicast

• Requires a client to signal its DMS capabilities

• OpenSDWN can assign maximum common transmission rate for a group of stations

20

Page 48: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Time [s]

Thro

ughp

ut [k

Byte

s/s]

0 10 20 30 40 50 60

200

600

1000 ● Throughput

Frames

OpenSDWN DMS App • IPTV service from a major

European ISP

• Stream easily exceeds the available capacity in a IEEE 802.11g network

• Switching to unicast mitigates this issue

#Pac

kets

/

Switch to unicast

21

Page 49: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

vMB Firewall Migration

●● ●

●● ●●

●●●● ●●

0.0

0.5

1.0

1.5

2.0

25 50 100 200 400 800 1600 3200 640012800Entry Count

Tim

e(m

s)

(a) Per entry write latency.

●●●●●

●●●●●

●●●

● ●●

0.0

0.5

1.0

1.5

2.0

25 50 100 200 400 800 1600 3200 640012800Entry Count

Tim

e(m

s)

(b) Per entry read latency.

●●

●●●

● ● ●● ●●● ●0.0

0.5

1.0

1.5

2.0

25 50 100 200 400 800 1600 3200 640012800Entry Count

Tim

e(m

s)

(c) Per entry delete latency.Figure 6: Latency for a stateful firewall vMB object read, write and delete operation. Latency in milliseconds (time) is normalized to a per-entry time. vMBobject size is increased from 25 entries to 12,800 entries.

Algorithm 1: Mobility Servicebegin

if handoverEvent = True thenoldMBid AP2MBmap.get(oldAPid) ;newMBid AP2MBmap.get(newAPid) ;vMB createvMB(clientIP, oldMBid) ;if vMB.migrate(newMBid) = True then

signalOdin(migrationComplete) ;

OPENSDWN for different workloads in more detail. Specifically,we measure the read, write and delete performance of a stateful FWvMB extension that utilizes the netlink interface of the Linux Ker-nel conntrack module for connection tracking, which is typicallypart of a stateful firewall. We repeat each experiment 12 times foreach workload. The vMB object workloads vary from 25 to upto 12,800 entries. As shown in Figure 6(a), we first measure theperformance of the per-entry execution time of the write (setState).The write duration for a single entry decreases constantly with theworkload, and stabilizes at around 130 µs for a single entry in avMB object. Next, we evaluate the read time (getState) which de-creases constantly. The average value stabilizes at around 270µs(see Figure 6(b)). Finally, we evaluate the delete operation in or-der to fully understand the required time for the migrate operation,which requires a read, write and a delete of the old vMB object.The average value of a delState stabilizes at around 40µs (see Fig-ure 6(c)). That said, a migrate operation takes at least the time ofa combined read and write, times the number of entries. Thus, thetime can be estimated by the measured results. Specifically, thedelete of the old vMB state can be called after the object was cor-rectly fetched and while it is installed into the new MB.Case Study: Firewall State Migration The firewall state migra-tion service is a reactive application triggered through externalevents to move state between MB instances. The algorithm in formof pseudo-code is shown in Algorithm 1. For example, when Odindetects a client with a higher RSSI at a new AP, a handover eventis generated and the client’s firewall state migrated to the AP be-fore the handover. The firewall state migration service then decideswhether the state associated with the mobile user needs to be mi-grated and executes the operation. The application keeps a mappingbetween APs and firewalls. If the client is moving over to an APthat corresponds to a different stateful firewall than the current, amigration of the client’s connection tracking state is performed.

During the state migration operation, the controller uses the threeoperations that were evaluated previously. The getState callon the serving middlebox is followed by a setState operationwith the target MB identifier as argument. Finally, the state is re-moved through a delState call. The last two operations are vir-

Entry count Mean execution time (ms)Write Read Delete Migrate

1 11.6 38.4 6.4 45.010 12.3 48.6 6.8 60.9100 20.3 121.6 10.7 141.91000 115.9 778.0 43.0 893.910000 1119.3 5201.2 385.3 6320.5

Table 2: Average execution time of the setState, getStateand delState operations for different workloads.

tually simultaneous because RPC method calls are asynchronous,and called at different agents. Table 2 shows the measured averagemigration time for different vMB object sizes. The total time ofa migrate() call on a vMB object with 100 entries averages ataround 140 ms. This underlines the potential power that the sim-plicity of the vMB abstraction exposes to a network programmer.Note, the agent to kernel communication for a single rule is belowone millisecond. The RPC interface and entry processing from theLinux Kernel netlink interface contribute the most to the processingtime.

5. PROTOTYPE IMPLEMENTATIONThis section presents more details about our prototype imple-

mentation. We first describe the different radio and middleboxinterfaces implemented by OPENSDWN, then present the controlplane, and finally discuss the support for reactive and proactive ap-plications. The Radio Agent is implemented in C/C++ while thecontroller is based on the Java-based Floodlight OF controller. TheMB agent is realized in python and implements a newly defined MBprotocol.

5.1 InterfacesInterfaces to the physical WiFi and middlebox resources are pro-

vided by agents. We describe the radio and middlebox interfaces inturn. Moreover, Table 3 depicts the south-bound interface betweenthe agents and the controller.Radio Interface: OPENSDWN’s wireless APs run a radio agentwhich exposes the necessary hooks for the controller (and thus ap-plications) to orchestrate the WiFi network and report measure-ments. All time-critical aspects of the WiFi MAC protocol (suchas IEEE 802.11 acknowledgments) continue to be performed bythe WiFi NIC’s hardware. On the other hand, non time-criticalfunctionality including management of client associations, is im-plemented in software on the controller and the agents. Specifi-cally, this realizes a distributed WiFi split-MAC architecture. Inaddition, matching on incoming frames is performed to supporta publish-subscribe system wherein network applications can sub-scribe to per-frame events.

22

Page 50: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

vMB Firewall Migration

●● ●

●● ●●

●●●● ●●

0.0

0.5

1.0

1.5

2.0

25 50 100 200 400 800 1600 3200 640012800Entry Count

Tim

e(m

s)

(a) Per entry write latency.

●●●●●

●●●●●

●●●

● ●●

0.0

0.5

1.0

1.5

2.0

25 50 100 200 400 800 1600 3200 640012800Entry Count

Tim

e(m

s)

(b) Per entry read latency.

●●

●●●

● ● ●● ●●● ●0.0

0.5

1.0

1.5

2.0

25 50 100 200 400 800 1600 3200 640012800Entry Count

Tim

e(m

s)

(c) Per entry delete latency.Figure 6: Latency for a stateful firewall vMB object read, write and delete operation. Latency in milliseconds (time) is normalized to a per-entry time. vMBobject size is increased from 25 entries to 12,800 entries.

Algorithm 1: Mobility Servicebegin

if handoverEvent = True thenoldMBid AP2MBmap.get(oldAPid) ;newMBid AP2MBmap.get(newAPid) ;vMB createvMB(clientIP, oldMBid) ;if vMB.migrate(newMBid) = True then

signalOdin(migrationComplete) ;

OPENSDWN for different workloads in more detail. Specifically,we measure the read, write and delete performance of a stateful FWvMB extension that utilizes the netlink interface of the Linux Ker-nel conntrack module for connection tracking, which is typicallypart of a stateful firewall. We repeat each experiment 12 times foreach workload. The vMB object workloads vary from 25 to upto 12,800 entries. As shown in Figure 6(a), we first measure theperformance of the per-entry execution time of the write (setState).The write duration for a single entry decreases constantly with theworkload, and stabilizes at around 130 µs for a single entry in avMB object. Next, we evaluate the read time (getState) which de-creases constantly. The average value stabilizes at around 270µs(see Figure 6(b)). Finally, we evaluate the delete operation in or-der to fully understand the required time for the migrate operation,which requires a read, write and a delete of the old vMB object.The average value of a delState stabilizes at around 40µs (see Fig-ure 6(c)). That said, a migrate operation takes at least the time ofa combined read and write, times the number of entries. Thus, thetime can be estimated by the measured results. Specifically, thedelete of the old vMB state can be called after the object was cor-rectly fetched and while it is installed into the new MB.Case Study: Firewall State Migration The firewall state migra-tion service is a reactive application triggered through externalevents to move state between MB instances. The algorithm in formof pseudo-code is shown in Algorithm 1. For example, when Odindetects a client with a higher RSSI at a new AP, a handover eventis generated and the client’s firewall state migrated to the AP be-fore the handover. The firewall state migration service then decideswhether the state associated with the mobile user needs to be mi-grated and executes the operation. The application keeps a mappingbetween APs and firewalls. If the client is moving over to an APthat corresponds to a different stateful firewall than the current, amigration of the client’s connection tracking state is performed.

During the state migration operation, the controller uses the threeoperations that were evaluated previously. The getState callon the serving middlebox is followed by a setState operationwith the target MB identifier as argument. Finally, the state is re-moved through a delState call. The last two operations are vir-

Entry count Mean execution time (ms)Write Read Delete Migrate

1 11.6 38.4 6.4 45.010 12.3 48.6 6.8 60.9100 20.3 121.6 10.7 141.91000 115.9 778.0 43.0 893.910000 1119.3 5201.2 385.3 6320.5

Table 2: Average execution time of the setState, getStateand delState operations for different workloads.

tually simultaneous because RPC method calls are asynchronous,and called at different agents. Table 2 shows the measured averagemigration time for different vMB object sizes. The total time ofa migrate() call on a vMB object with 100 entries averages ataround 140 ms. This underlines the potential power that the sim-plicity of the vMB abstraction exposes to a network programmer.Note, the agent to kernel communication for a single rule is belowone millisecond. The RPC interface and entry processing from theLinux Kernel netlink interface contribute the most to the processingtime.

5. PROTOTYPE IMPLEMENTATIONThis section presents more details about our prototype imple-

mentation. We first describe the different radio and middleboxinterfaces implemented by OPENSDWN, then present the controlplane, and finally discuss the support for reactive and proactive ap-plications. The Radio Agent is implemented in C/C++ while thecontroller is based on the Java-based Floodlight OF controller. TheMB agent is realized in python and implements a newly defined MBprotocol.

5.1 InterfacesInterfaces to the physical WiFi and middlebox resources are pro-

vided by agents. We describe the radio and middlebox interfaces inturn. Moreover, Table 3 depicts the south-bound interface betweenthe agents and the controller.Radio Interface: OPENSDWN’s wireless APs run a radio agentwhich exposes the necessary hooks for the controller (and thus ap-plications) to orchestrate the WiFi network and report measure-ments. All time-critical aspects of the WiFi MAC protocol (suchas IEEE 802.11 acknowledgments) continue to be performed bythe WiFi NIC’s hardware. On the other hand, non time-criticalfunctionality including management of client associations, is im-plemented in software on the controller and the agents. Specifi-cally, this realizes a distributed WiFi split-MAC architecture. Inaddition, matching on incoming frames is performed to supporta publish-subscribe system wherein network applications can sub-scribe to per-frame events.

22

Page 51: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Conclusion• OpenSWDN enables a wide range of new SDWN applications

• Direct multicast as a simple application

• User-defined service differentiation and prioritization

• vMB abstraction simplifies handling of client mobility

• Future Work:

• Study service requirements and effect of WDTX

• Effect of group related WDTX rules on services

23

Page 52: OpenSDWN: Programmatic control over home and enterprise Wi-Fi

Questions?

Website and Source Code available soon: opensdwn.com

24