Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Dive into wireless openflow! Hiroaki KAWAI
Slide 2
Slide 2 text
Wireless openflow? ● Openflow デモ(2008) – ネットゲームしながらノートPCがWifiローミング – http://archive.openflow.org/wp/2008/10/vide o-of-sigcomm-demo/ ● 現在 – ベンダ各社Wifi APにもopenflowを入れつつある ● 実は、組み合わせそれ自体は珍しくない
Slide 3
Slide 3 text
今からの話は これとは別物の話
Slide 4
Slide 4 text
ところで
Slide 5
Slide 5 text
Openflow 便利 ! ● 流れているパケットに手が届く ● 「見えるぞ!私にも敵が見えるッ!」
Slide 6
Slide 6 text
いっぽう無線は… ● 無線もパケット通信なのに! ● 「つながらない」 ● 「なんかよく分からないけど不安定」 ● 「なんか遅い…」 ● 「そもそも、どのAPに繋がってるの?」 ● etc., Windowsでradiotapできないんですよねー
Slide 7
Slide 7 text
というわけで ● 無線のパケットを観測できるツールが必要! ● われらがopenflowがあるじゃないか! ● これ使おうコレ – APに入っていれば、状況も見えてくる
Slide 8
Slide 8 text
Openflow 1.3 based ● Openflow 1.3 + experimenter での拡張 – Stratosphere experimenter ● “gopenflow” : PoC implementation – IEEE 802.11 – Bluetooth LE 6LoWPAN
Slide 9
Slide 9 text
デモ
Slide 10
Slide 10 text
デモ構成 ● 複数APを同一SSIDでデプロイ – SSID: stratos2 – PSK: hogehoge ● 管理画面 – http://alpha.local/ ● alpha.local = 192.168.23.1 Bonjourが有効なら DEMO
Slide 11
Slide 11 text
管理画面 : Current session DEMO
Slide 12
Slide 12 text
管理画面 : Current radio DEMO
Slide 13
Slide 13 text
現在のAssociationの電波状態 STA (You) AP DEMO
Slide 14
Slide 14 text
管理画面 : STA DEMO
Slide 15
Slide 15 text
STAを観測 STA (You) AP AP AP DEMO
Slide 16
Slide 16 text
管理画面 : AP DEMO
Slide 17
Slide 17 text
APが使用している電波の状態 STA (You) AP STA STA STA DEMO
Slide 18
Slide 18 text
管理画面 : Manage DEMO
Slide 19
Slide 19 text
AP切り替え STA (You) AP AP AP 指定したAPがOKを返すまで再試行する (順番によってはもう一度試さないとダメかも) DEMO OK
Slide 20
Slide 20 text
デバイスごとの癖 ● Windows – Background scanで動作する ● Mobile phone – すぐに sleep に入る ● iOS – 802.11kを期待していて、scanしない
Slide 21
Slide 21 text
Internal
Slide 22
Slide 22 text
Openflow 対応方法 ● Linux netdev = openflow port とした ● 無線NIC – cfg80211系ドライバ(今はこれが主流) – 物理インターフェースに netdev を複数作れる ● iw dev wlan0 interface add mon0 type monitor ● もちろん同時に出せる電波は一つだけ ● 何個作れるかはドライバ次第
Slide 23
Slide 23 text
cfg80211 netdev ● AP, managed, monitor など数種類ある ● monitor mode の場合 – ARPHRD_RADIOTAP – LWAPP frame + 拡張 OXM の形 – AP, managed と併用すると便利 ● これらは ARPHRD_ETHER になっていて、暗号等は kernel 側で処理される
Slide 24
Slide 24 text
cfg80211 netdev mon0 phy#0 wlan0 mon0 ethernet radiotap
Slide 25
Slide 25 text
cfg80211 netdev mode ● Monitor & AP 両方存在できるけど…!? – Physical port と logical port のような関係 – Tunnel encap と WPA encap は似ている – Openflow の packet ベース処理に乗せるには、こ うしたほうが相性がいい ● 暗号のステートを保持させる場所の問題 ● 802.1Q (VLAN) は stateless で push/popできる
Slide 26
Slide 26 text
Demo の裏側 ● 電波強度は packet_in の OXM match – STROXM_RADIOTAP_DBM_ANTSIGNAL – 値は radiotap “Antenna signal” – 仕様: https://github.com/hkwi/gopenflow/blob/mast er/ofp4_str_exp.md ● IEEE 802.11 MAC / ethernet MAC 変換規則 – 対応関係があるので、それを使って flow rule 生成
Slide 27
Slide 27 text
Demo の構成 phy#1 wlan0 mon0 hostap gopenflow eth0 Controller uplink monitor mode AP mode radius openflow
Slide 28
Slide 28 text
その他 ● Wifi controller 歴史の延長上にもある – トラフィック分散型(C-Plane分離) – もっとオープンに! ● 非ethernetなフレームを飛ばすとか?
Slide 29
Slide 29 text
おまけ
Slide 30
Slide 30 text
6LoWPAN ● Bluetooth LE – IPSP (IP support profile=6LoWPAN) – ノードが直接IPv6通信できる ● 考えることが少し減る – Border routerにopenflowが 入ると何かと嬉しい Node Border Router Uplink bluetooth Server
Slide 31
Slide 31 text
Any questions?