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
300
こんなのどうかな?
kwi
1
380
加古川パスタ♡の件
kwi
0
140
給食データを味わう
kwi
0
100
rocket-up
kwi
0
36
測ってみようよ
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
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
Obsidian応用活用術
onikun94
2
490
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
450
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
270
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
210
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
240
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
テストを軸にした生き残り術
kworkdev
PRO
0
200
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Documentation Writing (for coders)
carmenintech
74
5k
It's Worth the Effort
3n
187
28k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
A better future with KSS
kneath
239
17k
RailsConf 2023
tenderlove
30
1.2k
Six Lessons from altMBA
skipperchong
28
4k
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?