OpenFlow及びそれを用いたサービス等 の検証環境構築用ツールの開発

SDN/クラウド
ミニプログラムコンテスト
OpenFlow及びそれを用いたサービス等
の検証環境構築用ツールの開発
沖縄オープンラボラトリ
スペシャリスト育成プログラムチームE
京都産業大学 : 石原真太郎
1
仮想ネットワークの構築
[1] The Internet Topology Zoo, http://www.topology-zoo.org
2
ツールの利点
● 手間をかけずに大規模な仮想ネットワークを
作れる.
● トポロジを可視化できる.
● CPU, メモリリソースに縛られない.
3
OpenFlow
4
OpenFlow
5
OpenFlow
経路制御
Add flow entry
e.g.
Switch B:
dl_dst=”a1のMACアドレス”,
actions=output:”Aが繋がっているポート ”
6
OpenFlow
● Northbound API
○ アプリとの連携
7
OpenFlow
● OpenFlowに対応したスイッチが必要.
○ ハードウェアスイッチを利用.
○ ソフトウェアスイッチを利用.
■ Open vSwitch
■ Lagopus
8
何を開発するのか
● OpenFlow, またそれを用いたサービスを検
証するための環境.
○ 仮想ネットワークの作成.
9
仮想ネットワークの作成
● Linux Continers(LXC)
○ Docker
○ Linux Network Namespace, veth
■ Mininet [2]
[2] Mininet, http://mininet.org
10
Mininet
11
Mininet
● Pythonで自由にトポロジを生成することができる.
$ ./topo.py
12
Mininet
インタラクティブにホスト, スイッチ, コントローラの生成や操
作ができる.
$ xterm h1
-別ターミナルが開く.
$ help
13
Mininetベースのツール開発
● 複雑な仮想ネットワークを簡単に作成できるようにする.
● Open vSwitchを独立させて動作できるようにする.
● CPU, メモリリソースに縛られないように複数PC(サー
バ)でMininetを動作できるようにする.
14
複雑な仮想ネットワークを簡単に作成できるようにする
15
Open vSwitchを独立させて動作できるようにする.
● スイッチがルーティング
テーブルを共有してしまう.
● AB間やAC間のルーティン
グプロトコルを用いた通信
が正しく行われない.
16
Open vSwitchを独立させて動作できるようにする.
● ホスト内でOpen vSwitch
を動作.
17
Mininetベースのツール開発
● 複雑な仮想ネットワークを簡単に作成できるようにする.
● Open vSwitchを独立させて動作できるようにする.
● CPU, メモリリソースに縛られないように複数PC(サー
バ)でMininetを動作できるようにする.
18
OpenFlow
● Northbound API
○ アプリとの連携
19
OpenFlowを用いたサービスの検証
● Northbound APIの活用.
○ アプリケーションとの連携.
→サービスを行うための連携しているアプリ
ケーションをHost上で動かす.
20
CPU, メモリの限界が........
大規模にできない!
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
21
Mininetベースのツール開発
● 複雑な仮想ネットワークを簡単に作成できるようにする.
● Open vSwitchを独立させて動作できるようにする.
● CPU, メモリリソースに縛られないように複数PC(サー
バ)でMininetを動作できるようにする.
22
Before
After
23
24
進捗状況
● MACアドレス, IPアドレスの管理.
● 手動でのMininetのTopology生成.
● 簡単なトポロジの可視化.
25
26
進捗状況
● MACアドレス, IPアドレスの管理.
● 手動でのMininetのTopology生成.
● 簡単なトポロジの可視化.
27
28
進捗状況
● MACアドレス, IPアドレスの管理.
● 手動でのMininetのTopology生成.
● 簡単なトポロジの可視化.
29
トポロジの可視化
データパスID
ポート番号
30
今後の予定
● MininetのTopology生成の自動化.
● 生成するTopology.
● 可視化する情報の調査.
31
今後の予定
● MininetのTopology生成の自動化.
● 生成するTopology.
● 可視化する情報の調査.
32
● 生成するTopology
[1] The Internet Topology Zoo, http://www.topology-zoo.org
33
今後の予定
● MininetのTopology生成の自動化.
● 生成するTopology.
● 可視化する情報の調査.
34
● 可視化する情報の調査
データパスID
ポート番号
35
検証環境構築ツール
● 手間をかけずに大規模な仮想ネットワークを
作れる.
● トポロジを可視化できる.
● CPU, メモリリソースに縛られない.
36
以上
ありがとうございました
37