Wireless openflow (english)

19
Wireless Openflow with stratosphere experimenter Hiroaki Kawai <[email protected]>

Transcript of Wireless openflow (english)

Page 1: Wireless openflow (english)

Wireless Openflowwith stratosphere experimenter

Hiroaki Kawai<[email protected]>

Page 2: Wireless openflow (english)

2

Wireless openflow

Access point

Openflow controller

Uplink

Openflow switch

Page 3: Wireless openflow (english)

3

Wifi controller

● The layout is the same with “wifi controller”● WLC enables

● Centric configuration mgmt.● Radio coverage mgmt.

● Reducing overlaps● Reducing gaps

● QoS, Load balance● Metadata I/O

コントローラ

Page 4: Wireless openflow (english)

4

Wireless requires SDN !

● Mobile device needs dynamically adaptive network.● But WLC is...

● Vendor locked, closed.● Hard for programming

● So let's make it open with openflow

Page 5: Wireless openflow (english)

5

Wireless openflow

Access point

Openflow controller

Uplink

Openflow switch

It LOOKS LIKE normal openflow switch, but...

Page 6: Wireless openflow (english)

6

There're many different aspects

Page 7: Wireless openflow (english)

7

Openflow port

● AP can control unicasts from connected stations● But multicast/broadcast are directly

multicast/broadcast on the radio, and AP can't control the flow.

Openflow switch

PC PC

AP

STA STA

GTKPTK

We can't simply make STA = Port.

Page 8: Wireless openflow (english)

8

Definitely different frame format

SRC MACDST MAC ethtype

ADDR1 ADDR2 ADDR3 ADDR4FC ID Seq

General format of dot11 frame format

Max 4 addresses, of radio src, dst and payload src, dst.

RA=BSSID TA=SA DAFC ID Seq

Data frame to AP (for example)BSSID = Radio receiver address (RA ) = AP MAC addressTA = Radio sender address(SA ) = STA MAC addressDA = Destination address the STA wants to send to.

The packet will be converted like this, and then send to uplink= “integration service”

Page 9: Wireless openflow (english)

9

Definitely different frame format

● Because of integration service, wireless packets can be handled transparently with wired infrastructure, by design.

● 802.11 are made up with “distributed system” + many supporting services.

● Supporting services runs on the 802.11 frames.● Service frames are interesting for openflow

Page 10: Wireless openflow (english)

10

Any way,

● Linux wireless netdev will be the starting point.● Wireless netdev?

● wext ioctl based old ones● nl80211 netlink based new ones

● We support nl80211 for the first.

Page 11: Wireless openflow (english)

11

gopenflow PoC

● Port = netdev● Behavior depends on the implementation

● Be careful about the type of netdev● The other program may control that netdev● gopenflow watches the netdev via kernel interface

● gopenflow adds new netdev as its port, when that new one is on the same phy that gopenflow already watches.

● For consistency existing oxm for ethernet frames● Framing with LWAPP(L2)● Add new 802.11 match field oxm

→ stratosphere experimenterNote this implementation is in VERY early stage, so it may change.

Page 12: Wireless openflow (english)

12

Linux mac80211 basics

● It looks like ethernet port anyway (except monitor)● Crypt will be processed in kernel

● One phy may have multiple netdev● Channel continues hopping by the netdev request

● Mode● Managed● AP, AP_VLAN● Ad-hoc● WDS● Mesh● P2P● Monitor

Page 13: Wireless openflow (english)

13

Managed

● The basic form: STA port that connects to AP.● Normally, this mode netdev will be created on plug,

by udev automatically.● Requires dynamic control and SSID or passphrase

will be specified via nl80211 as with wpa_supplicant.

Page 14: Wireless openflow (english)

14

AP

● To create access point.● Requires dynamic control with hostapd for exmple,

via nl80211.

netdev

STA STA STA

Only unicasts will be controllable.multicast/broadcast will be shared on the radio

Page 15: Wireless openflow (english)

15

AP_VLAN

● To create separate groups in AP mode.● Appears with hostapd dynamic_vlan, and normally

the netdevs will be vlan tagged.● Openflow will be useful in controlling flows, instead

of vlan tagging.netdev

STA STA

netdev

STA STA

Page 16: Wireless openflow (english)

16

Monitor

● RADIOTAP device (Non-ethernet)● In fact, we can inject by sending RADIOTAP frame.● No control required.

Page 17: Wireless openflow (english)

17

The other modes

● Ad-hoc● IBBS● P2P looks replacing in the real use case.● Statically controllable by iw

● WDS● Not a service solution itself, but can create radio peer

● Mesh● Can create radio mesh network service

● P2P● Configures the role of AP, STA dynamically.● Requires very specific HW (driver)● Runs with wpa_supplicant

$ iw dev wlan0 ibss join NetworkName 2412

$ iw dev wds0 set peer <MAC address>

$ iw dev mesh0 mesh join NetworkName

Page 18: Wireless openflow (english)

18

gopenflow port

● Ports are netdevs● Ethernet frame, or● 802.11 in LWAPP(L2)

● Having pipeline field oxm STROXM_BASIC_DOT11=1● Lwapp ETH_SRC will be initialized by the value in

802.11 frame.● Set-field can be used to rewrite it keeping the 802.11

as-is.● Monitor mode

● Gives programing environment for 802.11 distributed system.

● Helps creating hub for IoT

Page 19: Wireless openflow (english)

19

What will we make with Stratosphere exp?

● For wi-fi sensor devices● Announce temparature data via 802.11 multicast, for

exmple● Track objects with wi-fi sensor tag

● Implement custom services with action frame● Along with the drone movement, dynamically switch

the packet flow ● What about supporting BLE 6LoWPAN?● Any other ideas?

● →BoF