Wireless openflow (english)
-
Upload
hiroaki-kawai -
Category
Technology
-
view
134 -
download
0
Transcript of Wireless openflow (english)
Wireless Openflowwith stratosphere experimenter
Hiroaki Kawai<[email protected]>
2
Wireless openflow
Access point
Openflow controller
Uplink
Openflow switch
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
コントローラ
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
5
Wireless openflow
Access point
Openflow controller
Uplink
Openflow switch
It LOOKS LIKE normal openflow switch, but...
6
There're many different aspects
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.
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”
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
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.
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.
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
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.
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
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
16
Monitor
● RADIOTAP device (Non-ethernet)● In fact, we can inject by sending RADIOTAP frame.● No control required.
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
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
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