予稿「OpenFlowスイッチを用いたパッチパネルの検討」

一般社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
信学技報
IEICE Technical Report
OpenFlow スイッチを用いたパッチパネルの検討
仲間 修也†
照屋 保幸‡
鳥居 隆史‡†
佐藤 陽一‡‡
†NEC ソフト沖縄株式会社 〒900-0015 沖縄県那覇市久茂地二丁目 2 番 2 号
‡一般社団法人 沖縄オープンラボラトリ 〒904-2234 沖縄県うるま市州崎 14-17 沖縄 IT 津梁パーク 中核機
能支援施設 112 号
‡†日本電気株式会社 〒108-0014 東京都港区芝五丁目 7 番 1 号
‡‡NTT コミュニケーションズ株式会社 〒108-8118 東京都港区芝浦 3-4-1 グランパークタワー16F
E-mail: †{shuya.nakama, yasuyuki.teruya}@oolorg.mygbiz.com ‡†t-torii@ce.jp.nec.com ‡‡y.sato@ntt.com
あらまし 沖縄オープンラボラトリでは,会員向けに各種検証や PoC(Proof of concept)を行う為のテストベッド
を構築し,運用している.また,テストベッドは,セミナーやハンズオン等においても活用され,人材育成にも利
用されている.テストベッドを構築するに当たり,SDN 技術やクラウド技術を有効活用し,拡張性,柔軟性,自動
化の観点から,機能開発,拡張を行っている.本発表では,テストベッドの概要と,その中で用いている OpenFlow
スイッチを用いたパッチパネルに関して説明する.
キーワード SDN, OpenFlow, クラウド, OpenStack, 自動化
1. は じ め に
2. テ ス ト ベ ッ ド と は
インターネットやスマートフォンを代表とするデ
OpenStack[2]と SDN を 連 携 さ せ た 検 証 ・ 評 価 や PoC
ータ通信のトラヒックは増加を続けている .近年では
をオンラインで実行するためのプラットフォームとし
さ ら に ,IoT( Internet of things)や ビ ッ グ デ ー タ 解 析 ,
て,沖縄オープンラボではテストベッドを構築してい
機 会 学 習 に よ る 人 工 知 能 の 実 用 化 等 , ICT 高 度 化 技 術
る.テストベッドは現在沖縄オープンラボの会員向け
の進展が目覚ましく,それを支える基盤であるネット
のサービスとして提供されている .
ワ ー ク や ク ラ ウ ド 技 術 も 変 革 を 迫 ら れ て い る .SDN や
2.1. モチベーション
クラウド技術の特徴はネットワークや計算資源を抽象
・ SDN 装 置 を 用 い た 検 証 環 境 の 提 供
化 し ,API 等 を 提 供 す る こ と で ,プ ロ グ ラ ム か ら 利 用・
SDN は 通 信 事 業 者 や 大 規 模 デ ー タ セ ン タ で 使 わ れ
制御を容易にする点にある.これによりアプリケーシ
るというイメージも強いが,応用次第で様々なシステ
ョンの特性に合った網,計算資源の利用がより柔軟に
ム で 使 う こ と が で き る 技 術 で あ る . し か し 現 状 , SDN
かつ人間の操作を介さずに自動で制御できるようにな
装置は通常のネットワーク装置よりも高価で敷居が高
り ,新 し い 機 能 開 発 や コ ス ト の 低 減 が 期 待 さ れ て い る .
く,ユースケースやアプリケーションが普及しないと
一 般 社 団 法 人 沖 縄 オ ー プ ン ラ ボ ラ ト リ [1]で は ,オ ー
い う 問 題 が あ る .そ こ で ,SDN 装 置 を オ ン ラ イ ン で 提
プ ン・ソ ー ス・ソ フ ト ウ ェ ア を 中 心 と す る SDN と ク ラ
供 し , 装 置 を 購 入 し な く て も SDN と ク ラ ウ ド
ウ ド を 融 合 さ せ る こ と で , ICT 基 盤 技 術 が よ り 使 い や
( OpenStack)が 連 携 し た シ ス テ ム や ア プ リ ケ ー シ ョ ン
すくなることを目指し,テストベッドの構築・運用を
の評価検証が可能になれば,幅広いユースケースが実
行っている.テストベッドの運用に際しては,各種検
現されることが期待できる.
証等で構成変更,設定変更が頻繁に発生するため,そ
・ 物 理 ネ ッ ト ワ ー ク の 制 御 と OpenStack( ク ラ ウ ド 制
れらに伴う人手による作業を極小化し ,少ない人的リ
御)を連携する仕組みの提供
ソースで効率的に運用できる仕組みを導入することを
OpenStack の 仮 想 ネ ッ ト ワ ー ク 制 御 ( Neutron) は 論
目標にしている.特に検証ごとに発生する機器構成の
理 的 な API の み で ,物 理 的 な ネ ッ ト ワ ー ク を 制 御 す る
接 続 変 更 に 関 し て は ,パ ッ チ パ ネ ル の 代 用 を OpenFlow
インタフェースは定義されていない.物理的なネット
ス イ ッ チ で 実 現 し ( 以 下 OF-Patch), 構 成 変 更 を プ ロ
ワ ー ク 装 置 を 制 御 す る の は SDN コ ン ト ロ ー ラ と さ れ
グラマブルに出来るように工夫を取り入れている .
ている.しかしそれでは物理的なネットワークをソフ
本発表では 2 章でテストベッドの概要を説明し,3
ト ウ ェ ア で 制 御 で き る と い う SDN の メ リ ッ ト を 使 い
章 で OF-Patch の 概 要 を 述 べ ,4 章 で 実 装 方 式 に つ い て
こなすことができない.ネットワークの状態をリアル
詳 細 を 述 べ る .5 章 で OF-Patch の 評 価 結 果 に つ い て 述
タ イ ム に 把 握 し , IT・ ネ ッ ト ワ ー ク リ ソ ー ス の 制 御 に
べる.
利 用 す る た め に は , OpenStack と 物 理 ネ ッ ト ワ ー ク 制
御を連携させる仕組みが必要である.
・ 常 設 の 沖 縄 オ ー プ ン ラ ボ 版 ShowNet の 提 供
テムを恒久的に維持しておくことは現実的ではないた
毎 年 開 催 さ れ て い る Interop の ShowNet で は , 最 新
め,検証が終わったシステムの保存や,構築したシス
の機器を相互接続して大規模なネットワークが実現さ
テムのスナップショットを保存しリストアしたいとい
れている.各社のエンジニアはここで貴重な経験をす
う要望がある.本テストベッドでは,構築したシステ
ることができ,装置ベンダやオペレータはマルチベン
ムを丸ごとバックアップ・リストアできる機能を提供
ダの装置との接続検証をすることができる.しかし
する.
ShowNet は Interop の 期 間 だ け 設 置 さ れ る テ ン ポ ラ リ
・他拠点リソースの活用
な環境であり,期間が終われば解体されてしまう.常
本テストベッドの物理リソースには,沖縄オープン
設 の ShowNet が あ れ ば ,機 器 を 持 ち 込 ん で い つ で も 検
ラボが所有するリソースだけでなく,協賛企業を含め
証や評価をすることができ,ベンダだけではなくユー
た他社や研究機関のリソースをネットワーク経由で接
ザにとっても価値を提供できる.
続して利用する機能を備える.これにより,単に使え
2.2. テストベッドの機 能
るリソースが増えるだけでなく ,広域ネットワークや
・サ ー バ と SDN 装 置 を 組 み 合 わ せ た 環 境 を オ ン ラ イ ン
インタークラウドの検証が可能になる .他拠点との接
提供
続 は イ ン タ ー ネ ッ ト 経 由 で VPN を 利 用 す る 方 法 と ,広
テストベッドのユーザは,従来のクラウドのように
域網との連携も視野に入れている .
オンラインでリソースを利用することができる .本テ
3. OF-Patch
ス ト ベ ッ ド の 特 徴 は ,仮 想 化 さ れ た リ ソ ー ス で は な く ,
OF-Patch と は , 従 来 の パ ッ チ パ ネ ル を SDN 技 術 で あ
物理的な装置単位でリソースを利用できることにある .
る OpenFlow[3]を 用 い て ,OpenFlow ス イ ッ チ に て 実 現
た と え ば SDN 装 置 と し て , NEC 製 品 に す る か , Pica8
したものである.従来のパッチパネルはルータやスイ
製品にするかを選択することができる .仮想ネットワ
ッチ,サーバ等の機器をパッチパネルに先行配線して
ークの論木的な検証であれば,どの装置であるかは意
おき,接続構成を変更する場合,パッチパネルで局所
識しなくてよいが,物理的な装置に依存する検証評価
的に切り替えるものである.パッチパネルは手動で切
をしたい場合には十分ではない.本テストベッドはそ
り 替 え る が , OF-Patch は OpenFlow ス イ ッ チ に 置 き 換
のようなニーズにこたえることができる .
え,それをソフトウェアで制御することにより機器同
・ OpenStack シ ス テ ム の 自 動 構 築
士の接続構成の変更を行う.このため機器同士の接続
テストベッドのユーザが利用するサーバ装置・ネッ
トワーク装置を選択すると,サーバ群に対して自動的
構成を遠隔よりプログラマブルに変更可能となる .
3.1. 必 要 性
に OpenStack シ ス テ ム が イ ン ス ト ー ル さ れ る .そ の 際 ,
沖 縄 オ ー プ ン ラ ボ ラ ト リ で は OpenStack/SDN の テ ス
ユ ー ザ は OpenStack の バ ー ジ ョ ン ( Folsom, Grizzly,
トベッドを提供している.検証環境では機器の変更,
Havana・ ・ ) や , Neutron プ ラ グ イ ン な ど の 選 択 を 行
機器の接続構成の変更などが頻繁に発生するが,従来
う こ と が で き る . OpenStack シ ス テ ム の 構 築 は , 以 前
は物理的な配線を手動で差し替えて変更するため ,技
よりも改良されてきたものの,まだ手間のかかる作業
術者が現地へ行き配線の変更を行う必要があり,遠隔
である.本テストベッドではこの作業を自動化するこ
地に検証環境がある場合は移動する時間やコストがか
とで,ユーザ作業の軽減を目指している.また,あら
かっていた.また,検証環境では一時的な環境を構築
か じ め テ ス ト ベ ッ ド で 用 意 し た OpenStack シ ス テ ム で
することが多く,配線が複雑に絡まり,配線にタグが
は な く , ユ ー ザ 独 自 の ク ラ ウ ド 基 盤 や OpenStack バ ー
ついていない,タグが間違っている,接続先が分から
ジョンをインストールすることも可能である .
ない配線が存在することも良くあり,手動で配線を差
・テストフレームワーク
し替えるため,接続間違いや,ルーズコンタクトを起
OpenStack か ら VM を 起 動 し ,VM 上 で テ ス ト ア プ リ
こすリスクが高い.テストベッドではこれらの問題を
ケーションを動かすことでネットワークの検証・評価
解決し,遠隔よりプログラマブルに機器の接続構成の
を行うフレームワークを提供する .これにより,ユー
変更を行う必要がある.このため,沖縄オープンラボ
ザはテストの内容に集中することができる .また,こ
ラ ト リ で は SDN 技 術 を 用 い た OpenFlow パ ッ チ パ ネ ル
のフレームワーク上に様々なテストアプリケーション
を開発した.
が公開されることで,ユーザはその中から自分たちの
3.2. OF-Patch の課 題
実施したいテストやユースケースを見つけて再利用す
テ ス ト ベ ッ ド は 多 数 の サ ー バ ,ス イ ッ チ ,テ ス タ を 組
ることができる.
み 込 ん で お り ,OF-Patch は そ れ ら を 繋 ぎ こ む た め 多 数
・バックアップ・リストア
の ポ ー ト が 必 要 に な る . 通 常 の OpenFlow ス イ ッ チ 単
オンラインシステムであるため ,一度構築したシス
体での使用はポート数が不足するため複数の
OpenFlow ス イ ッ チ を 組 み 合 わ せ て 1 つ の 大 き な パ ッ
は 48 ポ ー ト で あ る た め Leaf ス イ ッ チ は 最 大 48 台 と 決
チパネルとして見せる必要がある .複数のスイッチを
ま る .こ の 構 成 で Leaf ス イ ッ チ 48 台 ,各 40 ポ ー ト で
組み合わせるためスイッチ間の接続構成の方式と ,ど
最 大 1920 ポ ー ト を パ ッ チ 可 能 な パ ッ チ パ ネ ル と な る .
のスイッチを経由するかの経路制御,集約スイッチへ
の Uplink 配 線 で は ト ラ フ ィ ッ ク 集 約 の 方 式 の 検 討 が
必要となる.これらは出来る限り検証環境のトラフィ
ックに影響を与えない方式で実装を行う必要がある .
複数のトラフィックを集約するため, 検証環境毎のア
イソレーションが必要であり,別の検証環境の影響を
受け,帯域が圧迫されることが無いよう検討する必要
もある.また,遠隔操作での機器接続構成の視覚的な
把握や変更操作を容易に行うためグラフィカルユーザ
インターフェースが必要になる.
図 1 Leaf-Spine 方 式
4. OF-Patch の 実 装
本 章 で は ,OF-Patch の 具 体 的 な 実 装 方 法 に 関 し て 述
べる.
4.1. OF-Patch の方 式
OF-Patch を 大 規 模 化 す る た め に は 複 数 の OpenFlow ス
4.1.2.
Leaf–Spine 間 のトラフィック多 重 方 式
Leaf ス イ ッ チ の 10 本 分 の 1Gbps ポ ー ト を Uplink 用
の 10Gbps ポ ー ト 1 本 に 多 重 す る た め , 通 信 元 の 機 器
が 接 続 さ れ た Leaf ス イ ッ チ で ト ラ フ ィ ッ ク を 多 重 し
イッチを組み合わせて一つの大きなパッチとして動作
て Spine ス イ ッ チ へ 送 り ,Spine ス イ ッ チ で そ れ ぞ れ の
させる必要がある.複数スイッチを組み合わせるトポ
ト ラ フ ィ ッ ク を 通 信 先 の 機 器 が 接 続 さ れ た Leaf ス イ
ロ ジ と し て Leaf–Spine 方 式 [4]を 採 用 し ,Leaf-Spine 間
ッ チ へ 振 り 分 け る 必 要 が あ る . ま た , 通 信 先 の Leaf
のトラフィック集約方式,経路制御方式について以下
スイッチで通信先の機器が接続されたポートに振り分
に述べる.
ける必要がある.トラフィックの多重方式は従来のパ
4.1.1. Leaf-Spine 方 式
ッチパネルのように検証環境に影響を与えないよう考
Leaf-Spine ト ポ ロ ジ に お い て は , Spine ス イ ッ チ と
慮 す る 必 要 が あ り , VLAN 等 で の 多 重 は タ グ 分 フ レ ー
Leaf ス イ ッ チ の 2 階 層 の 構 成 を と り , 複 数 の Spine ス
ムサイズが増加するため検証環境の帯域に影響を与え
イ ッ チ に 対 し , Leaf ス イ ッ チ は 全 て 接 続 さ れ る . Leaf
て し ま う .ま た ,検 証 環 境 が VLAN を 使 用 し て い る 場
ス イ ッ チ を ま た が る 通 信 は 一 旦 Spine を 介 し て か ら 宛
合 に ,OpenFlow ス イ ッ チ が 2 重 タ ギ ン グ に 対 応 し て い
先 の Leaf ス イ ッ チ に 伝 達 さ れ る . Spine ス イ ッ チ が 複
る 製 品 で な い 場 合 に VLAN を 使 用 で き な い 懸 念 な ど が
数 あ る の で , ど の Spine ス イ ッ チ を 通 る 経 路 を 選 択 す
あ る .検 証 環 境 に 影 響 を 与 え な い Leaf–Spine 間 の ト ラ
るかは課題となる.
フ ィ ッ ク 多 重 方 式 と し て MAC ア ド レ ス 書 換 え 方 式 を
OF-Patch と し て 用 い る 場 合 は Leaf ス イ ッ チ に 検 証
採 用 し た .こ れ は ,送 信 元 MAC ア ド レ ス ,送 信 先 MAC
対象のサーバ,スイッチ等の機器を接続する.
ア ド レ ス を OF-Patch の 内 部 的 な 管 理 ア ド レ ス に 書 き
OF-Patch の 物 理 的 な 構 成 例 を 図 1 に 示 す .図 1 の 通 り ,
換 え , Spine ス イ ッ チ で 管 理 ア ド レ ス を 基 に そ れ ぞ れ
標 準 的 な 1Gbps OpenFlow ス イ ッ チ ( 1Gbps ポ ー ト が
の ト ラ フ ィ ッ ク ご と に 各 Leaf ス イ ッ チ へ 転 送 を 行 う .
48 ポ ー ト ,Uplink 用 10Gbps ポ ー ト が 4 ポ ー ト )を Leaf
通 信 先 の Leaf ス イ ッ チ で 管 理 ア ド レ ス を 基 に 元 の
ス イ ッ チ と し て 使 用 し ,標 準 的 な 10Gbps OpenFlow ス
MAC ア ド レ ス に 書 き 直 し て 検 証 機 器 へ 転 送 を 行 う .こ
イ ッ チ ( 10Gbps ポ ー ト が 48 ポ ー ト ) を Spine ス イ
の 方 式 の 場 合 ,MAC ア ド レ ス の フ ィ ー ル ド を 書 き 換 え
ッチとして使用した構成を想定している .従来のパッ
るのみであるためフレームサイズの増加が無く検証環
チ パ ネ ル と 同 様 に 各 ポ ー ト は 1 ポ ー ト to 1 ポ ー ト 接 続
境 の 帯 域 に 影 響 を 与 え な い .ま た ,MAC ア ド レ ス の フ
で ポ ー ト 間 は 1Gbps の 帯 域 を 保 証 す る . Leaf–Spine 間
ィ ー ル ド 書 換 え は OpenFlow1. 0 か ら 対 応 し て い る 基
の 接 続 に つ い て は , Leaf ス イ ッ チ の 40 本 の 1Gbps ポ
本 機 能 で , 標 準 的 な OpenFlow ス イ ッ チ で 基 本 的 に 備
ー ト を Uplink 用 10Gbps ポ ー ト 4 本 を 使 っ て Spine ス
えている機能であるため,現在市場に出回っている多
イ ッ チ へ 接 続 す る . 10 本 の 1Gbps ポ ー ト を Uplink 用
く の OpenFlow ス イ ッ チ を OF-Patch に 使 用 可 能 と 考 え
10Gbps ポ ー ト 1 本 に 割 り 当 て る こ と で , 各 ポ ー ト
る .MAC ア ド レ ス を 全 て 内 部 的 な 管 理 ア ド レ ス に 変 換
1Gbps の 帯 域 を 保 証 す る .Leaf ス イ ッ チ の 各 Uplink 用
するためデータベースのテーブルのレコード数 の増加
ポ ー ト を そ れ ぞ れ 別 の Spine ス イ ッ チ に 接 続 す る こ と
が懸念される.通常スタンドアロンのマシンでデータ
で Spine ス イ ッ チ は 4 台 と 決 ま る . 各 Spine ス イ ッ チ
ベ ー ス を 動 作 さ せ た 場 合 ,10 万 レ コ ー ド 程 デ ー タ が あ
る と 検 索 に 数 秒 か か る よ う に な る .現 在 ,OF-Patch は
対しポート接続の設定変更指示を行う.データベース
200 ポ ー ト 規 模 で 運 用 し て お り 管 理 ア ド レ ス は 常 時 2
に つ い て は グ ラ フ デ ー タ ベ ー ス で あ る OrientDB[5] を
千 レ コ ー ド 程 で 検 索 は 数 十 msec と 言 う 状 況 で あ る .
用いており,現在主流のリレーショナルデータベース
4.1.3.
経路制御方式
Spine ス イ ッ チ は 最 大 4 台 あ り , Leaf ス イ ッ チ か ら
に比べ高速に配線の経路計算をおこなうことができる .
OpenFlowController に は Ryu[6]を 用 い て 開 発 を 行 っ て
Spine ス イ ッ チ に 上 げ る 際 に ,ど の Spine ス イ ッ チ を 経
いる.
由するか経路を選択する必要がある.例えば 1 番目の
4.2.2.
Spine ス イ ッ チ か ら 順 に 埋 め て い く 方 法 や 各 Spine ス イ
OF-Patch Manager API
OF-Patch Manager は 上 位 ア プ リ に 対 し API を 提 供 し
ッチに均等にトラフィックを振り分ける方法等がある .
ている.テストベッドのリソース管理機能からこれを
一 つ の Spine ス イ ッ チ に 片 寄 せ す る と , そ の ス イ ッ チ
使用し,テストベッドに組み込み,検証機器の接続構
に 障 害 が 発 生 し た 場 合 に 影 響 が 大 き い . OF-Patch は
成 変 更 の 自 動 化 を 実 現 し て い る . ま た , OF-Patch GUI
Leaf–Spine 間 の 帯 域 使 用 率 に 応 じ て 各 Spine ス イ ッ チ
も 本 API を 利 用 し て い る .下 記 の 機 器 接 続 構 成 情 報 の
に均等にトラフィックを振り分ける方式を採用した .
取 得 , 更 新 の 2 つ の REST API を 実 装 し て い る .
デ ー タ ベ ー ス 上 Leaf–Spine 間 の Link に 帯 域 使 用 率( 使
・ 機 器 接 続 構 成 情 報 の 取 得 API
用 量 / 容 量 )を 設 定 す る .具 体 的 に は 分 母 に Leaf-Spine
Method: GET
間 の 帯 域 で あ る 10Gbps を 設 定 し ,分 子 に Leaf ス イ ッ
URL: http://[host_name]:[port]/ofpm/logical_topology
チ の 1 ポ ー ト 分 使 用 す る 毎 に 1Gbps を 加 算 す る こ と で
URL Param: 機 器 リ ス ト
重み付けを行う.辺の重みを基に経路選択を行うダイ
・ 機 器 接 続 構 成 の 更 新 API
ク ス ト ラ 法 を 用 い て ,Leaf-Spine 間 の Link に 設 定 し た
Method: PUT
重み(帯域使用率)を用いて経路選択を行う .帯域使
URL: http://[host_name]:[port]/ofpm/logical_topology
用率の算出について,現在 1 ポート使用する毎に単純
Body: JSON 形 式 で 機 器 リ ス ト , 接 続 リ ス ト を 転 送
に 1Gbps を 加 算 し て い る が ,今 後 ,ポ ー ト の ト ラ フ ィ
4.2.3.
動 作 フロー
ックを測定し実測に基いた値を加算することで ,より
OF-Patch の 動 作 フ ロ ー は 接 続 動 作 時 , 切 断 動 作 時 ,
正確なトラフィック均等振り分けを行う課題がある .
OpenFlow ス イ ッ チ が OpenFlow コ ン ト ロ ー ラ に 接 続
4.2. OF-Patch Manager の設 計
し た 時 の 3 パ タ ー ン あ り ,接 続 動 作 は Leaf ス イ ッ チ を
4.2.1.
モジュール構成
図 2 に OF-Patch の モ ジ ュ ー ル 構 成 を 示 す .
跨 ぐ 場 合 の パ ッ チ 接 続 , 同 一 Leaf ス イ ッ チ 内 で の パ
ッチ接続の 2 パターンがある.図 3 に接続時の動作フ
ローを示す.
(a)LeafSW を 跨 ぐ 場 合
(b)同 一 LeafSW 内 の 場 合
図 3 接続時の動作フロー
図 2 OF-Patch の モ ジ ュ ー ル 構 成
OF-Patch は , OF-Patch GUI, OF-Patch Manager,
同 一 Leaf ス イ ッ チ 内 で の パ ッ チ 接 続 で あ る か , Leaf
ス イ ッ チ を 跨 ぐ 接 続 で あ る か の 判 断 は OF-Patch
OpenFlowController ( OFC ), OpenFlowSwitch ( OFS )
Manager に て , デ ー タ ベ ー ス 内 に 格 納 し て い る 接 続 情
の 機 能 か ら 構 成 さ れ る .図 2 の 太 枠 で 示 す モ ジ ュ ー ル
報 よ り プ ロ グ ラ ム に て 判 断 す る . API を 使 用 す る 側 は
に つ い て 開 発 を 行 っ た .OF-Patch GUI モ ジ ュ ー ル に つ
単純に接続元機器,接続元ポートと接続先機器,接続
い て は , Web ブ ラ ウ ザ 上 で 動 作 す る ア プ リ ケ ー シ ョ ン
先 ポ ー ト の 情 報 を OF-Patch Manager へ 要 求 す る の み で
であり,グラフィカルな表示を行いユーザビリティな
ある.
イ ン タ フ ェ ー ス を 実 現 す る . OF-Patch Manager は
以 下 , 図 3 (a)の Leaf ス イ ッ チ を 跨 ぐ 接 続 時 動 作 フ ロ
OF-Patch GUI か ら の 設 定 指 示 を 受 け ,デ ー タ ベ ー ス へ
ーについて説明する.
の デ ー タ 登 録 を 行 う と と も に , OpenFlowController に
1. 接 続 要 求 を 受 信
2. Leaf ス イ ッ チ を 跨 ぐ 場 合 の パ ッ チ 接 続 の 場 合 は
に 宛 先 Leaf ス イ ッ チ に パ ケ ッ ト を 送 る た め ,内 部 的 な
Patch link を 接 続 元 Leaf ス イ ッ チ , 経 由 す る Spine ス
MAC ア ド レ ス を マ ッ チ 条 件 に 宛 先 を 決 め る フ ロ ー を
イ ッ チ , 接 続 先 Leaf ス イ ッ チ の 3 組 生 成 し , 接 続 元 ,
設定する.
接 続 先 そ れ ぞ れ の Leaf ス イ ッ チ に 表 2 Leaf ス イ ッ チ の
フ ロ ー テ ー ブ ル No.2 の パ ケ ッ ト イ ン を OpenFlow コ ン
トローラへ通知するフローを設定する
3. OF-Patch GUI へ 応 答
表 1 Spine ス イ ッ チ の フ ロ ー テ ー ブ ル
No.
Match
Action
1
Priority=200
*( 全 て )
Drop
2
Priority=800,
In_port,
Output
Idle_timeout=800
Src_mac
4. 接 続 元 機 器 か ら の 通 信 が 発 生
5. マ ッ チ す る フ ロ ー が あ る か 検 索 さ れ る . 初 回 の 場
合 , 2.で 設 定 し た パ ケ ッ ト イ ン フ ロ ー が マ ッ チ す る
6.OpenFlow コ ン ト ロ ー ラ へ パ ケ ッ ト イ ン 通 知 が 発 生
する
表 2 Leaf ス イ ッ チ の フ ロ ー テ ー ブ ル
No
Match
Action
.
7. OpenFlow コ ン ト ロ ー ラ よ り OF-Patch Manager へ
1
Priority=200
*( 全 て )
Drop
パ ケ ッ ト イ ン 情 報( Leaf ス イ ッ チ の dpid,イ ン ポ ー ト ,
2
Priority=400
In_port
CONTROLLER
送 信 元 MAC ア ド レ ス ,送 信 先 MAC ア ド レ ス )を 通 知
3
Priority=600,
In_port
Drop
する
Idle_timeout=600
8.dpid,イ ン ポ ー ト 情 報 を 基 に Patch link 情 報 を 検 索
する
9.dpid,イ ン ポ ー ト ,送 信 元 MAC ア ド レ ス ,送 信 先
4
Priority=800
In_port
Output
5
Priority=800,
In_port,
Output,
Idle_timeout=6553
Src_mac
Mod_src_mac,
MAC ア ド レ ス を 基 に 内 部 MAC ア ド レ ス を 生 成 す る
5
10. 送 信 先 Leaf ス イ ッ チ , Spine ス イ ッ チ , 送 信 元
Leaf ス イ ッ チ の 順 で OpenFlow コ ン ト ロ ー ラ へ フ ロ ー
設 定 要 求 を 行 う .こ の と き 設 定 す る フ ロ ー は ,Leaf ス
イ ッ チ に 対 し て は ,表 2 Leaf ス イ ッ チ の フ ロ ー テ ー ブ
ル No.5 の フ ロ ー を 双 方 向 で 設 定 す る . Spine ス イ ッ チ
に 対 し て は ,表 1 Spine ス イ ッ チ の フ ロ ー テ ー ブ ル No.2
のフローを双方向で設定する.
11. OpenFlow コ ン ト ロ ー ラ よ り , 各 OpenFlow ス イ
ッチへフローを設定する.
以 下 ,図 3 (b)の 同 一 Leaf ス イ ッ チ 内 接 続 時 動 作 フ ロ
ーについて説明する.
1. 接 続 要 求 を 受 信
2.同 一 Leaf ス イ ッ チ 内 で の パ ッ チ 接 続 の 場 合 は Patch
link を Leaf ス イ ッ チ 1 つ 分 の 1 組 の み 生 成 す る
3. OpenFlow コ ン ト ロ ー ラ へ フ ロ ー 設 定 要 求 を 行 う .
こ の と き 設 定 す る フ ロ ー は 表 1 Leaf ス イ ッ チ の フ ロ ー
テ ー ブ ル No.4 の 単 純 な ポ ー ト to ポ ー ト の フ ロ ー を
双方向で設定する.
4. Leaf ス イ ッ チ へ フ ロ ー を 設 定 す る
4.2.4.
フローテーブル設 計
OF-Patch の Spine ス イ ッ チ と Leaf ス イ ッ チ に 設 定 す
る フ ロ ー に つ い て 記 載 す る .Leaf ス イ ッ チ に 設 定 す る
フ ロ ー に つ い て は 同 一 Leaf ス イ ッ チ 内 で パ ッ チ リ ン
ク 接 続 す る 場 合 と ,Leaf ス イ ッ チ を 跨 い で パ ッ チ リ ン
ク 接 続 す る 場 合 の 2 パ タ ー ン が 存 在 す る . Spine ス イ
ッ チ に つ い て は Leaf ス イ ッ チ か ら 上 が っ て き た 複 数
パッチリンクがトランクされた通信を パッチリンク毎
4.2.5.
Mod_dst_mac
データスキーマ
OF-Patch の デ ー タ ベ ー ス と し て , 機 器 情 報 , 機 器 に
属 す る ポ ー ト 情 報 ,物 理 配 線 情 報 ,OF-Patch 用 ス イ ッ
チ 上 の パ ッ チ リ ン ク 情 報 , 内 部 MAC ア ド レ ス 情 報 を
持つ.
機 器 情 報 と し て は 機 器 名 , 機 器 の タ イ プ , OF-Patch
用 ス イ ッ チ で あ る 場 合 DatapathID 情 報 , OFC の IP,
ポート情報を保持する.ポート情報としてはポート名
と ポ ー ト 番 号 ,ど の 機 器 に 属 す る か の 情 報 を 保 持 す る .
物理配線情報は機器のポートとポート間 ,内部バスリ
ンク情報は機器と機器に属するポート間の接続情報を
両 方 向 で 持 つ .パ ッ チ リ ン ク 情 報 と し て 接 続 元 ポ ー ト ,
接 続 先 ポ ー ト ,OF-Patch 用 ス イ ッ チ 情 報 ,接 続 元 機 器
名とポート,接続先機器名とポート,シーケンスナン
バ ー 情 報 を 持 つ .シ ー ケ ン ス ナ ン バ ー は 同 一 Leaf ス イ
ッ チ 内 の 接 続 で は 1 の み ,Leaf ス イ ッ チ を 跨 ぐ 場 合 は ,
接 続 先 Leaf ス イ ッ チ の パ ッ チ リ ン ク が 1, 経 由 す る
Spine ス イ ッ チ の パ ッ チ リ ン ク が 2, 接 続 元 Leaf ス イ
ッ チ の パ ッ チ リ ン ク が 3 と な る . 内 部 MAC ア ド レ ス
情 報 は 接 続 元 Leaf ス イ ッ チ の 機 器 名 ,イ ン ポ ー ト 情 報 ,
発 信 元 MAC ア ド レ ス ,宛 先 MAC ア ド レ ス ,内 部 MAC
ア ド レ ス を 持 つ .Leaf ス イ ッ チ の 機 器 名 ,イ ン ポ ー ト ,
発 信 元 MAC ア ド レ ス ,宛 先 MAC ア ド レ ス を 基 に 内 部
MAC ア ド レ ス を 生 成 す る .
4.2.6.
OF-Patch GUI
ユ ー ザ が OF-Patch を 操 作 し て , 機 器 の 接 続 構 成 の 変
更 を 容 易 に 行 え る よ う GUI を 開 発 し て い る . 本 GUI
は,各機器の名称と機器に属するポートおよびパッチ
を確認した.ほぼ当初の設計通りの実効速度が出たと
リンクの表示を行う.機器のポートとポートをクリッ
考える.今後は精度の高い測定器を用いての測定の実
クすることでパッチリンクによる接続操作が行える .
施を検討している.
また,パッチリンクをクリックすることで切断操作が
5.3 遅 延
行える.スクロール操作で拡大・縮小が行え,機器,
現 在 , OF-Patch Manager の 接 続 構 成 更 新 API を 叩 き
ポート,パッチリンクをマウスオーバすることで各種
端 末 間 を OF-Patch Manager 上 接 続 し た あ と ,端 末 か ら
情報を表示できる.
通信が発生し,端末間の通信が可能となるまで,約 3
秒 程 度 の 遅 延 が 発 生 す る .こ れ は OF-Patch Manager が
Packet-in し た 最 初 の パ ケ ッ ト に 対 し て , MAC ア ド レ
ス を 学 習 し , 各 OpenFlow ス イ ッ チ に フ ロ ー を 設 定 す
るまで処理に時間がかかる為である.フローが一旦設
定された後は通常のフォワーディング ・プレーンのみ
の遅延となる.
6. ま と め
本 稿 で は ,沖 縄 オ ー プ ン ラ ボ ラ ト リ で 構 築・運 用 し て
いるテストベッドについて紹介し,その中で用いてい
る OpenFlow ス イ ッ チ を 用 い た パ ッ チ パ ネ ル に つ い て
図 4 OF-Patch GUI
5. 動 作 検 証 お よ び 評 価
説 明 し た . 従 来 の パ ッ チ パ ネ ル を SDN 技 術 で あ る
OpenFlow を 用 い て , OpenFlow ス イ ッ チ に て 実 現 す る
今 回 開 発 し た OF-Patch に つ い て , 動 作 検 証 を 行 い ,
方式を検討し,実装してテストベッドに組み込み運用
4 章 で 述 べ た 設 計 通 り 動 作 す る こ と を 確 認 し た .ま ず ,
を行っている.今後の課題として,ミラーポートへの
市 販 の OpenFlow ス イ ッ チ で Leaf-Spine の ト ポ ロ ジ を
転送機能やトラフィックモニタ機能等の検討をおこな
構 成 し , 各 Leaf ス イ ッ チ に 試 験 用 の 端 末 を 接 続 す る .
うことが上げられる.また,遅延の改善やテストベッ
OF-Patch Manager の デ ー タ ベ ー ス に 機 器 情 報 , 配 線 情
ドでの運用を通して機能改善を行っていく.
報 を 登 録 す る .次 に OF-Patch Manager の 接 続 構 成 更 新
謝辞
API を 叩 き 2 台 の 端 末 間 を OF-Patch で 接 続 す る .端 末
本研究の一部は,沖縄県の「クラウドオープンネッ
が 互 い に 通 信 可 能 で あ る こ と を ping を 用 い て 確 認 し
トワーク国際研究開発拠点形成事業」による補助を受
た . 通 信 可 能 で あ る と き , Spine ス イ ッ チ , Leaf ス イ
けて実施しています.沖縄オープンラボでは,上記研
ッチに期待するフローが設定されていることを確認し
究成果を世界中のコミュニティへと公開することによ
た.
りさらに成果を進化・発展させてまいります .
5.1 拡 張 性
問合先
OF-Patch は Spine ス イ ッ チ 4 台 ,Leaf ス イ ッ チ 48 台 ,
最 大 1920 ポ ー ト の パ ッ チ パ ネ ル と な る 設 計 を 行 っ て
一般社団法人 沖縄オープンラボラトリ
〒 904-2234
沖 縄 県 う る ま 市 州 崎 14-17
い る . テ ス ト ベ ッ ド で は 当 初 , Spine ス イ ッ チ 2 台 ,
沖 縄 IT 津 梁 パ ー ク
Leaf ス イ ッ チ 4 台 の 構 成 で OF-Patch を 構 築 し た .そ の
中 核 機 能 支 援 施 設 112 号
後 ,機 器 の 増 加 に 伴 い ポ ー ト の 拡 張 が 必 要 に な り Leaf
TEL: 098-989-1940
ス イ ッ チ を 1 台 追 加 し 拡 張 を 行 っ た .Leaf ス イ ッ チ を
E-mail: info@okinawaopenlabs.org
FAX: 098-989-1943
追 加 す る 場 合 ,デ ー タ ベ ー ス に 情 報 を 登 録 し , Leaf ス
イ ッ チ を Spine ス イ ッ チ に 接 続 す る だ け で 容 易 に
OF-Patch を 拡 張 す る こ と が で き る .現 在 ,テ ス ト ベ ッ
ド で は 200 ポ ー ト 規 模 で 運 用 を 行 っ て お り , 今 後 さ ら
に拡張していく予定である.
5.2 ス ル ー プ ッ ト
iPerf を 用 い て OF-Patch の Leaf ス イ ッ チ を 跨 ぐ ,
Spine ス イ ッ チ 経 由 で の ホ ス ト 間 の 通 信 速 度 の 測 定 を
実 施 し た .測 定 方 法 と し て は ホ ス ト 間 で 10 秒 間 に 転 送
できたデータ量を基に通信速度を算出する方法で,5
回 測 定 の 平 均 速 度 で 約 941Mbps の 実 効 速 度 が 出 る こ と
文
献
[1] www.okinawaopenlabs.org
[2] “OpenStack” https://www.openstack.org/ .
[3] “OpenFlow Switch Specification ”
https://www.opennetworking.org/ja/sdn-resources-ja/
onf-specifications/openflow/ .
[4] http://ccr.sigcomm.org/online/files/p63 -alfares.pdf
[5] “OrientDB”
http://www.orientechnologies.com/orientdb/ .
[6] “Ryu SDN Framework” http://osrg.github.io/ryu/ .
[7] “iPerf” https://iperf.fr/ .