SDMANET : Software Defined Networkのモバイルアドホックネット

SDMANET : So+ware Defined Networkのモバイルアドホックネット
ワークへの適用
Link B4 tomoyan Advisor romen 概要
•  So+ware Defined Networkのモバイルアドホッ
クネットワークへの適用 •  モバイルアドホックネットワークの自動構築 •  モバイルアドホックネットワークを集中管理し,
動的な定義が出来るようにする
背景
•  スマートフォンやノートPC等モバイル端末の
普及 •  モバイルアドホックネットワーク研究への注目 –  災害時等既存インフラが機能しなくなった場合の
代替インフラとしての働き
モバイルアドホックネットワークの 多様性
•  多様な端末 –  移動速度の違い •  車,人,家 •  多様な想定環境 –  端末密集度,電波伝搬特性の違い •  市街地,山奥,海上 モバイルアドホックネットワーク の多様性
•  想定環境,端末に合わせた様々なルーティング
プロトコル –  プロアクティブ型 •  あらかじめ経路構築をしておく –  OLSR –  リアクティブ型 •  パケットを送信する段階で経路を構築する –  DSR –  ハイブリッド型 •  プロアクティブ型とリアクティブ型を組み合わせた形 –  AODV 従来のモバイルアドホックネットワーク
の問題点
•  環境によって適切なプロトコルが違う –  多様な想定環境 •  山奥と市街地では求められる要件が異なる –  適切なルーティングプロトコルが違う 従来のモバイルアドホックネットワーク
の問題点
•  多くのルーティングプロトコルの存在 –  サポートしているルーティングプロトコルでしか動
作しない
DSR未サポート
DS
ト
ッ
ケ
Rパ
DSRパケット
DSRパケット
従来のモバイルアドホックネットワーク
の問題点
•  自律的なネットワークのため,管理,動的な
定義が出来ない
端末はそれぞれサポートして いるプロトコルでのみ動作. 管理端末は存在しない.
目的
•  モバイルアドホックネットワークを柔軟にする –  管理端末から構成端末を定義出来るようにする •  多様な環境に合わせ動的に –  So+ware Defined Networkのアーキテクチャを取
り入れる Openflow コントローラ
So+ware Defined Network の柔軟性
•  概要 –  集中管理型のアーキテクチャ –  管理端末のコントローラからスイッチの動作を定
義することが出来る –  Openflow(So+ware Defined Networkの標準規格)
Defined
Openflowスイッチ
Define
Openflowコントローラ
So+ware Define Networkの柔軟性
従来のネットワーク端末(ルータ)
Openflowコントローラ
経路制御機能
ルータとしての 経路制御機能
ルーティングテーブル
ルーティングテーブル
Openflowスイッチ
データ転送機能
データ転送機能
So+ware Defined Network の管理パケット
•  Echo – Reply –  OpenflowコントローラからOpenflowスイッチへの
死活監視 •  Packet-­‐In –  OpenflowスイッチからOpenflowコントローラへの
未定義パケットの通知 •  Packet-­‐Out –  未定義パケットの処理を定義 So+ware Defined Network のデータ転送処理
•  Openflowスイッチはそれぞれのフローテーブ
ルを持っている •  マッチしたフローテーブルにしたがって処理を
決定する
OpenFlow スイッチ
フローテーブル 2
フローテーブル 1
Packet
Not matching
Packet
Matching
フローテーブル 3
Send Packet
So+ware Defined Network のデータ転送処理
•  マッチするフローテーブルが存在しない場合
はPacket-­‐Inをコントローラに送信する –  Openflowコントローラから新たにフローテーブル
を受け取り,それに応じた処理を行う
ket
Pac
OpenFlow スイッチ
フローテーブル 1
Packet
フローテーブル 2
Flow Table
In
OpenFlow コントローラ
フローテーブル 3
Packet
Not matching
Not matching
Send Packet
SDMANET
•  モバイルアドホックネットワークにSo+ware Defined Networkを取り入れる –  端末の動的な定義 –  QoSの実現 –  ネットワークの設計
端末の動的な定義
•  動的に端末の振る舞いを定義出来る –  スイッチ,ルータ,ファイアウオールとしての定義 Openflowコントローラ
ルータ
スイッチとして 定義
ファイアウオール
QoS制御の実現
Mobile Ad hoc Network
Software Defined Mobile Ad hoc Network
ゲートウェイ
ゲートウェイ
端末
端末
端末
端末
端末
端末
端末
端末
Openflow コントローラ
帯域
ネットワークの設計
•  ネットワークセグメントやアドレッシング機能
の定義が可能
Openflow コントローラ
端末
端末
端末
端末
端末
端末
端末
端末
端末
端末
VLAN
ネットワークセグメント
既存研究
•  Sensor OpenFlow: Enabling So+ware-­‐Defined Wireless Sensor Networks –  Tie Luo, Hwee-­‐ Pink Tan Tony Q.S. Quek, IEEE COMMUNICATIONS LETTERS, 2012. •  OpenFlow for Wireless Mesh Networks –  Dely, Peter, Andreas Kassler, and Nico Bayer , 46 –  Computer Communica\ons and Networks (ICCCN), 2011 Proceedings of 20th Interna-­‐ \onal Conference on. IEEE, 2011. 事前実験
•  実験 –  Openflowのマルチホップネットワークでの挙動 •  Raspberry Pi13台を15m間隔で設置,Openflowネット
ワークの構築 •  Openflowプロトコルによるパケットの送受信 Openflowコントローラ
事前実験
•  結果 –  三台以上の接続でネットワークがダウン •  Openflow管理パケットがRaspberry Pi一台につき一分
間に180増加 Openflowコントローラ
SDMANETを構築する上での問題
•  モバイルアドホックネットワーク(Openflowネッ
トワーク)を自動で構築出来ない –  コントローラへの接続 –  アドレッシング –  VLANやネットワークインタフェースの定義 •  Openflowプロトコルによる管理パケットが無
線帯域を圧迫
接続要求
接続
Openflowコントローラ
接続
機能要件
•  So+ware Defined Networkによるモバイルアド
ホックネットワークの自動構築 –  コントローラからのネットワークの定義 –  スイッチのコントローラの選択 –  アドレッシング機能 •  Openflowコントローラによるマルチホップ無線
ネットワークの集中管理 –  Openflowプロトコルによる管理パケットの削減
モバイルアドホックネットワーク の自動構築
Openflowコントローラ
CONNECT_REQUEST
SWITCH_DISCOVERY
SWITCH_REPLY
CONNECT_REQUESTが早く到達した 受信したインタフェースの コントローラに向けて接続する
情報(アドレス,SSID)を設定
CONTROLLER_CONNECT
SEND_INTERFACE_INFO
CONNECT_REPLY
Openflowコントローラ
Openflowスイッチ
管理パケットの削減
•  Openflowコントローラによるマルチホップネッ
トワークの集中管理 –  Openflowの管理パケットをPakcet-­‐In,Packet-­‐Out
のみに削減
死活監視パケット
Packet-­‐In
Openflowコントローラ
実装環境
•  ハードウェア –  Raspberry Pi model B+ •  OS –  Raspbian •  プログラミング言語 –  Ruby •  Openflowコントローラ –  Python •  アドレッシング機能 システム構成図
•  モバイルアドホックネットワークの自動構築
Openflowコントローラ
Openflowスイッチ
コントローラ選択 モジュール
インタフェース定義 モジュール 送
受
信
制御パケット
制御パケット
送
受
信
ー ー コントローラ 接続モジュール スイッチ探索 モジュール
制御パケット
インタフェース 情報決定 モジュール
スイッチ接続 モジュール
システム構成図
•  Openflowコントローラによるマルチホップネッ
トワークの集中管理 –  管理パケットの削減
Openflow Local コントローラ
Packet-­‐In
Packet-­‐Out
Openflow Local コントローラ
Openflowプロトコル
Openflowプロトコル
Openflowスイッチ Openflowスイッチ Packet-­‐In
Packet-­‐Out
Openflow マスター コントローラ
L2ラーニングスイッチ 実験
•  Raspberry Piを13台15m間隔で設置 •  ICMPパケットを30秒間送信 Des\na\on
–  パケット送信回数 –  パケット受信率 –  レスポンスタイム –  パケット重複率 •  比較対象 –  Openflow –  SDMANET(1セグメント) –  SDMANET(2セグメント) –  OLSR ICMP
実験結果
•  パケット送信回数 –  SDMANETにおいてのトラフィックの無駄なスイッ
チング
180
Transmission umbers
Transmittion N
Numbers
160
140
Traffic
Control
Traffic
Management
120
100
80
60
40
20
olsr
OLSR
openflow
Openflow
sdmanet
SDMANET
実験結果
OLSR
Openflow
SDMANET
SDMANET(2segments)
パケット受信率
パケット重複率
1
Packet Duplica\on Ra\o
0.8
Duplicate Packets ratio (%)
Packet Receive Ratio (%)
Packet Receive Ra\o
4
0.6
0.4
0.2
0
OLSR network
Openflow network
SDMANET with a network segment
SDMANET with two network segments
0
2
4
6
Number of Device
3.5
3
2.5
2
1.5
1
0.5
0
8
Number of Device
10
12
OLSR network
Openflow network
SDMANET with a network segment
SDMANET with two network segments
0
2
4
6
Number of Device
8
Number of Device
10
12
実験結果
1
0.8
–  OLSRの安定性
–  SDMANETのレスポンスタイムの増加 0.6
0.4
•  パケット受信率との関係 4000
0
OLSR network
Openflow network
SDMANET with a network segment
SDMANET with two network segments
0
2
4
6
Number of Device
8
Number of Device
OLSR
Openflow
SDMANET
SDMANET(2segments)
10
Response Time(msec)
0.2
Response Time (msec)
Packet Receive Ratio (%)
Packet Receive Ra\o
•  レスポンスタイム OLSR network
Openflow network
SDMANET with a network segment
SDMANET with two network segments
3500
3000
12
2500
2000
1500
1000
500
0
0
2
4
6
Number of Device
8
Number of Device
10
12
考察
•  SDMANETの膨大なトラフィック量 –  L2層でのスイッチング –  全ての端末がスイッチング –  パフォーマンスへの影響大 •  OLSRの効率的なルーティング –  L3層でのルーティング –  代表端末がルーティング –  マルチホップ無線ネットワークに適している
追加実験
•  SDMANETの大量のトラフィックの検証 –  ブロードキャストパケットをSDMANET上に流し,パ
ケットをキャプチャリング
•  結果 –  ブロードキャストがネットワーク上でループを引き
起こし,ブロードキャストストームが発生していた 追加実装
•  SDMANET上でのブロードキャストストームの
検知と対応 –  Ipv4_id,ipv6_idを見て判別 –  Openflowプロトコルが対応していなかった •  Openflowプロトコルそのものの改変が必要 Drop!
今後の展望と課題
•  SDMANETにおける管理パケットの見直し –  移動端末への死活監視の必要性 •  モバイルアドホックネットワーク向けのL2プロトコ
ルの必要性 –  パケットのループへの対応 –  Openflowプロトコルそのものの無線マルチホップネッ
トワーク向けへの改良 •  Openflowコントローラへのモバイルアドホック
ネットワークプロトコルの組み込み –  既存のルーティングプロトコル –  位置情報を用いたトポロジ管理 まとめ
•  So+ware Defined Networkの無線モバイルア
ドホックネットワークへの適用 •  Openflowによる自動的なモバイルアドホック
ネットワークの構築 •  Openflowプロトコルによる管理パケットの削
減
ご清聴ありがとうございました
事前実験
•  実験 –  Raspberry Piを二台設置しICMPパケットを送信 •  802.11b 2.4GHz •  徐々に距離を離す •  無線の伝送距離を確認
•  結果 –  20m以上でICMPの送受信が不安定 実験結果
•  パケット重複率 –  パケット送信回数から,SDMANETの電波干渉に
よるパケットロス –  OLSRのトポロジ依存のルーティング効率性
SDMANET
SDMANET(2segments)
Duplicate Packets ratio (%)
OLSR
Openflow
Packet Duplica\on Ra\o
4
OLSR network
Openflow network
SDMANET with a network segment
SDMANET with two network segments
3.5
3
2.5
2
1.5
1
0.5
0
0
2
4
6
Number of Device
8
Number of Device
10
12