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
880
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
310
こんなのどうかな?
kwi
1
380
加古川パスタ♡の件
kwi
0
140
給食データを味わう
kwi
0
100
rocket-up
kwi
0
37
測ってみようよ
kwi
1
420
神戸市ウェブサイト動態
kwi
0
310
Code for 選挙
kwi
0
270
Code for Japan Summit 2017 紹介
kwi
0
120
Other Decks in Technology
See All in Technology
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
210
Geospatialの世界最前線を探る [2025年版]
dayjournal
3
460
データエンジニアがこの先生きのこるには...?
10xinc
0
430
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
880
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
240
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
2
1.1k
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
340
Findy Team+のSOC2取得までの道のり
rvirus0817
0
290
“2件同時配達”の開発舞台裏 〜出前館PMが挑んだダブルピック実現に向けた体験設計〜
demaecan
0
180
Windows で省エネ
murachiakira
0
150
タスクって今どうなってるの?3.14の新機能 asyncio ps と pstree でasyncioのデバッグを (PyCon JP 2025)
jrfk
1
210
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
110
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Designing for humans not robots
tammielis
254
25k
Raft: Consensus for Rubyists
vanstee
139
7.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
For a Future-Friendly Web
brad_frost
180
9.9k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Done Done
chrislema
185
16k
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?