一般社団法人 電子情報通信学会 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/ .
© Copyright 2024 Paperzz