Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dive into wireless openflow! (Ja)
Search
kwi
August 08, 2015
Technology
0
800
Dive into wireless openflow! (Ja)
Wireless radio openflow
Presentation at "trema day #7" 2015-08-08
kwi
August 08, 2015
Tweet
Share
More Decks by kwi
See All by kwi
SmartCitizen紹介
kwi
0
190
こんなのどうかな?
kwi
1
300
加古川パスタ♡の件
kwi
0
93
給食データを味わう
kwi
0
59
rocket-up
kwi
0
24
測ってみようよ
kwi
1
310
神戸市ウェブサイト動態
kwi
0
290
Code for 選挙
kwi
0
170
Code for Japan Summit 2017 紹介
kwi
0
78
Other Decks in Technology
See All in Technology
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
230
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
650
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
170
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
120
DMM.com アルファ室採用案内資料
hsugita
1
170
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
370
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
110
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
180
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
100
MapLibreとAmazon Location Service
dayjournal
1
160
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
43
6.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
A designer walks into a library…
pauljervisheath
200
23k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Navigating Team Friction
lara
178
13k
4 Signs Your Business is Dying
shpigford
175
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Transcript
Dive into wireless openflow! Hiroaki KAWAI <
[email protected]
>
Wireless openflow? • Openflow デモ(2008) – ネットゲームしながらノートPCがWifiローミング – http://archive.openflow.org/wp/2008/10/vide o-of-sigcomm-demo/
• 現在 – ベンダ各社Wifi APにもopenflowを入れつつある • 実は、組み合わせそれ自体は珍しくない
今からの話は これとは別物の話
ところで
Openflow 便利 ! • 流れているパケットに手が届く • 「見えるぞ!私にも敵が見えるッ!」
いっぽう無線は… • 無線もパケット通信なのに! • 「つながらない」 • 「なんかよく分からないけど不安定」 • 「なんか遅い…」 •
「そもそも、どのAPに繋がってるの?」 • etc., Windowsでradiotapできないんですよねー
というわけで • 無線のパケットを観測できるツールが必要! • われらがopenflowがあるじゃないか! • これ使おうコレ – APに入っていれば、状況も見えてくる
Openflow 1.3 based • Openflow 1.3 + experimenter での拡張 –
Stratosphere experimenter • “gopenflow” : PoC implementation – IEEE 802.11 – Bluetooth LE 6LoWPAN
デモ
デモ構成 • 複数APを同一SSIDでデプロイ – SSID: stratos2 – PSK: hogehoge •
管理画面 – http://alpha.local/ • alpha.local = 192.168.23.1 Bonjourが有効なら DEMO
管理画面 : Current session DEMO
管理画面 : Current radio DEMO
現在のAssociationの電波状態 STA (You) AP DEMO
管理画面 : STA DEMO
STAを観測 STA (You) AP AP AP DEMO
管理画面 : AP DEMO
APが使用している電波の状態 STA (You) AP STA STA STA DEMO
管理画面 : Manage DEMO
AP切り替え STA (You) AP AP AP 指定したAPがOKを返すまで再試行する (順番によってはもう一度試さないとダメかも) DEMO OK
デバイスごとの癖 • Windows – Background scanで動作する • Mobile phone –
すぐに sleep に入る • iOS – 802.11kを期待していて、scanしない
Internal
Openflow 対応方法 • Linux netdev = openflow port とした •
無線NIC – cfg80211系ドライバ(今はこれが主流) – 物理インターフェースに netdev を複数作れる • iw dev wlan0 interface add mon0 type monitor • もちろん同時に出せる電波は一つだけ • 何個作れるかはドライバ次第
cfg80211 netdev • AP, managed, monitor など数種類ある • monitor mode
の場合 – ARPHRD_RADIOTAP – LWAPP frame + 拡張 OXM の形 – AP, managed と併用すると便利 • これらは ARPHRD_ETHER になっていて、暗号等は kernel 側で処理される
cfg80211 netdev mon0 phy#0 wlan0 mon0 ethernet radiotap
cfg80211 netdev mode • Monitor & AP 両方存在できるけど…!? – Physical
port と logical port のような関係 – Tunnel encap と WPA encap は似ている – Openflow の packet ベース処理に乗せるには、こ うしたほうが相性がいい • 暗号のステートを保持させる場所の問題 • 802.1Q (VLAN) は stateless で push/popできる
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 生成
Demo の構成 phy#1 wlan0 mon0 hostap gopenflow eth0 Controller uplink
monitor mode AP mode radius openflow
その他 • Wifi controller 歴史の延長上にもある – トラフィック分散型(C-Plane分離) – もっとオープンに! •
非ethernetなフレームを飛ばすとか?
おまけ
6LoWPAN • Bluetooth LE – IPSP (IP support profile=6LoWPAN) –
ノードが直接IPv6通信できる • 考えることが少し減る – Border routerにopenflowが 入ると何かと嬉しい Node Border Router Uplink bluetooth Server
Any questions?