(57)【要約】【課題】転送ノードと伝送ノードとを備えるネットワークにおけるトラヒック転送や設定処理を正確に模擬し、併せて、１万ノード規模のネットワークを模擬する。【解決手段】ネットワークシミュレータ１は、模擬対象のネットワークのネットワークトポロジ情報を参照し、転送ノードと伝送ノードの組であるソフトスイッチの台数を決定し、１つ以上のサーバ上に設けられる所定数のＶＭを起動し、ソフトゲートウェイを起動することにより、トポロジを構成するトポロジ構成部１１２と、ソフトスイッチを起動し、複数のソフトスイッチ間を接続することによりＶＭ内のネットワークを構成するソフトスイッチ構成部１１３と、ソフトスイッチそれぞれに対し、模擬対象のネットワークの光パスの情報を参照し、伝送ノードの転送先を設定し、模擬対象のネットワークの転送パスの情報を参照し、転送ノード間の転送路を設定するソフトスイッチ設定管理部１１５と、を備える。【選択図】図３
2015156548.tif 000002
【特許請求の範囲】
【請求項１】
模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部と、
前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭ（Virtual Machine）を起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するトポロジ構成部と、
前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するソフトスイッチ構成部と、
前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、前記伝送ノードの転送先を設定し、前記模擬対象のネットワークの前記転送パスの情報を参照し、前記転送ノード間の転送路を設定するソフトスイッチ設定管理部と、
を備えることを特徴とするネットワークシミュレータ。
【請求項２】
模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部を備えるネットワークシミュレータは、
前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭを起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するステップと、
前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するステップと、
前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、前記伝送ノードの転送先を設定するステップと、
前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記転送パスの情報を参照し、前記転送ノード間の転送路を設定するステップと、
を実行することを特徴とするネットワークシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークをシミュレーション（模擬）するネットワークシミュレータおよびネットワークシミュレーション方法に関する。
【背景技術】
【０００２】
ネットワーク事業者においては、ネットワーク全体の資源を有効に利用し、転送品質の維持、ネットワークコストの低減を図ることが重要である。キャリア網では、物理的な光インフラ網上に光パスを設定し、光パスによって上位レイヤネットワーク（例えば、ＩＰ（Internet Protocol）ネットワークやＭＰＬＳ（Multi Protocol Label Switching）ネットワーク等）上の転送装置を接続する論理的なリンクを提供する。転送装置と論理リンクから構成される上位レイヤネットワークにおいて、ＭＰＬＳ等の転送パスを設定することで、ユーザトラヒックの転送を実現する。
【０００３】
このとき、光パスやパケット転送路を集中制御装置により動的に再構成することで、ネットワークの状態変化に柔軟に対応する技術が研究されている（非特許文献１参照）。一方で、非特許文献１に記載の技術を実現するためには、アルゴリズムの性能だけでなくトラヒック収集や各ノードへの制御が安定かつ高速に動作することを検証する必要があるが、数千から１万ノードで構成される大規模マルチレイヤ網の実機での試験環境構築は容易ではない。
【０００４】
上記の課題に対して、最大1000台のノード（ＩＰルータとＯＸＣ（Optical Cross Connect：光クロスコネクト））で構成されるネットワークのシミュレーション（模擬）を実現するシミュレータ構成法が提案されている（非特許文献２参照）。非特許文献２に記載のシミュレータ構成法では、例えば、図１０（ａ）に示す光ネットワーク構成において、オープンソースのソフトウェアスイッチ（以下、「ソフトスイッチ」と称する。なお、各図において「ＳＳ」と記載する。）を、サーバ上に複数台起動し、図１０（ｂ）に示すように、トラヒックの入出力点となるソフトスイッチを転送ノード（例えば、ＩＰルータ）と伝送ノード（例えば、ＯＸＣ）の組とみなすことでマルチレイヤ網を模擬している。なお、トラヒックの入出力点となるソフトスイッチは、トラヒック生成機（ＩＰルータを想定したトラヒックデマンドの始終点）に接続される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】T. Miyamura, et al., “Experimental Demonstration of Adaptive Virtual Network Topology Control Mechanism based on SDTN Architecture”, in proc. of ECOC 2013, September 2013
【非特許文献２】鎌村星平、他５名、「1000ノード光ネットワークエミュレータの構成方法に関する検討」、一般社団法人電子情報通信学会、春季総合大会，B-6-63、2012年3月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献２に記載の技術では、図１１に示すように、各ソフトスイッチへの一度の設定によりパケット転送アクション（出力先のポート番号等）が定義される。そのため、マルチレイヤで構成される装置への設定が模擬できず、装置設定時間の計測が不正確になる課題がある。これは、例えば、ＩＰルータとＯＸＣとにおいて、装置設定時間が大きく異なる場合に、影響が大きくなる。
【０００７】
上記課題の簡易な解決法としては、転送ノード（ＩＰルータ）と伝送ノード（ＯＸＣ）それぞれを１つのソフトスイッチとして模擬する手法が考えられる。これにより、各装置（ＩＰルータ、ＯＸＣ）に対する個別の設定が実現されるが、この構成では転送ループが発生するという別の課題が生じる。この課題について、図１２を参照して説明する。
【０００８】
図１２は、複数の光パスを経由し、ＭＰＬＳパスによりトラヒックを転送する例を示している。ここで、図１２（ａ）は、ＩＰルータとＯＸＣがそれぞれ個別のソフトスイッチで構成されている例を示している。つまり、ＩＰルータ「Ａ２」、ＯＸＣ「ａ２」、ＩＰルータ「Ｂ２」、ＯＸＣ「ｂ２」、ＩＰルータ「Ｃ２」、ＯＸＣ「ｃ２」それぞれが１つのソフトスイッチ（「Ａ」，「ａ」，「Ｂ」，「ｂ」，「Ｃ」，「ｃ」）で構成される。
【０００９】
このとき、ソフトスイッチ「ｂ」は、ソフトスイッチ「ａ」から受信したパケットを、ソフトスイッチ「Ｂ」へ転送する。次に、ソフトスイッチ「ｂ」は、ソフトスイッチ「Ｂ」から受信したパケットをソフトスイッチ「ｃ」に送信したいが、ソフトスイッチ「Ｂ」に転送する設定（転送テーブルの設定）が有効になっていると、その設定に基づき、再びソフトスイッチ「Ｂ」に送信するため（符号α）、この処理が繰り返され、ソフトスイッチ「ｂ」−「Ｂ」間において転送ループが発生する。
【００１０】
この転送ループの問題は、図１２（ｂ）に示すように、ＩＰルータとＯＸＣとの組を１つのソフトスイッチで模擬すること（例えば、ＩＰルータ「Ａ１」とＯＸＣ「ａ１」の組をソフトスイッチ「Ａ」とする。）により解決されるが、その場合には、前記したように、１つのソフトスイッチに対して、ＯＸＣ向け相当の設定と、ＩＰルータ向け相当の設定との、２段階の設定を正確に模擬する必要がある。
【００１１】
このような背景に鑑みて本発明がなされたのであり、本発明は、転送ノードと伝送ノードとを備えるネットワークにおけるトラヒック転送や設定処理を正確に模擬することができる、併せて、１万ノード規模のネットワークを模擬することができる、ネットワークシミュレータおよびネットワークシミュレーション方法を提供することを課題とする。
【課題を解決するための手段】
【００１２】
前記した課題を解決するため、請求項１に記載の発明は、模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部と、前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭを起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するトポロジ構成部と、前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するソフトスイッチ構成部と、前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、前記伝送ノードの転送先を設定し、前記模擬対象のネットワークの前記転送パスの情報を参照し、前記転送ノード間の転送路を設定するソフトスイッチ設定管理部と、を備えることを特徴とするネットワークシミュレータとした。
【００１３】
また、請求項２に記載の発明は、模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部を備えるネットワークシミュレータが、前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭを起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するステップと、前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するステップと、前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、前記伝送ノードの転送先を設定するステップと、前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記転送パスの情報を参照し、前記転送ノード間の転送路を設定するステップと、を実行することを特徴とするネットワークシミュレーション方法とした。
【００１４】
このようにすることで、ネットワークシミュレータは、伝送ノードと転送ノードの２段階での転送や設定処理を正確に模擬することが可能となる。また、ソフトゲートウェイをサーバや所定数のＶＭに適切に配備することにより、従来は構築が困難であった１万ノード規模のシミュレーションを、汎用的なサーバ機器を用いて実現することができる。
【発明の効果】
【００１５】
本発明によれば、転送ノードと伝送ノードとを備えるネットワークにおけるトラヒック転送や設定処理を正確に模擬し、併せて、１万ノード規模のネットワークを模擬する、ネットワークシミュレータおよびネットワークシミュレーション方法を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係るネットワークシミュレータの２段階の設定処理を説明するための図である。
【図２】本実施形態に係るネットワークシミュレータが模擬するネットワークを説明するための図である。
【図３】本実施形態に係るネットワークシミュレータの構成例を示す機能ブロック図である。
【図４】模擬対象となるネットワークモデルを示す図である。
【図５】本実施形態に係るソフトスイッチへの光パスの設定処理を説明するための図である。
【図６】本実施形態に係るソフトスイッチへのＭＰＬＳパスの設定処理を説明するための図である。
【図７】ソフトゲートウェイを導入する利点を説明するための図である。
【図８】本実施形態に係る１万ノード規模のネットワークの構成例を示す図である。
【図９】本実施形態に係るネットワークシミュレータの全体の処理の流れを示すフローチャートである。
【図１０】従来技術におけるシミュレータ構成法を説明するための図である。
【図１１】従来技術におけるソフトスイッチへの転送設定処理を説明するための図である。
【図１２】ＩＰルータとＯＸＣそれぞれをソフトスイッチとして構成した場合の問題を説明するための図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施するための形態（以下、「本実施形態」と称する。）における、ネットワークシミュレータよびネットワークシミュレーション方法について説明する。
【００１８】
＜概要＞
まず、本実施形態に係るネットワークシミュレータ１（図３参照）が実行する処理の概要について説明する。
【００１９】
本実施形態に係るネットワークシミュレータ１は、マルチレイヤ（layer）（Ｌ３〜Ｌ４）ヘッダが参照可能であるソフトウェアスイッチ（ソフトスイッチ）の特徴を活用し、マルチレイヤ網に対する２段階（伝送ノード（ＯＸＣ等）と転送ノード（ＩＰルータ等））の転送や設定処理を正確に模擬することを特徴とする。すなわち、従来、各ソフトスイッチへの一度（一段階）の設定によりパケット転送アクション（出力先のポート番号等）が定義されていたものを（図１１参照）、図１に示すように、本実施形態に係るネットワークシミュレータ１では、レイヤ４（始終点ＴＣＰポート番号）の情報を参照して、ホップバイホップ（hop-by-hop）の転送先（光パス）を設定し（ステップＳ１００）、レイヤ３（ＩＰ始終点アドレス）の情報を用いて、エンドツーエンド（End-to-End）の転送路（ＭＰＬＳパス）を設定する（ステップＳ１０１）。
具体的には、ネットワークシミュレータ１は、ソフトスイッチ「Ａ」「Ｂ」「Ｃ」「Ｄ」に向けて、各伝送ノード（ＯＸＣ）についての光パス伝送の設定を行う。続いて、ネットワークシミュレータ１は、ソフトスイッチ「Ａ」「Ｃ」「Ｄ」に向けて、始終点ＩＰアドレス（ここでは、始点ＩＰアドレス「10.0.0.0/8」，終点ＩＰアドレス「20.0.0.0/8」）に基づき、転送路の設定を行う。なお、詳細は、図４〜図６を参照して後記する。
【００２０】
また、本実施形態に係るネットワークシミュレータ１は、１万ノード規模のシステムを構築するため、ソフトゲートウェイを用いたシステムを構築する。そして、ソフトゲートウェイ機能を複数のＶＭ（Virtual Machine）やサーバに適切に配置することにより、１万ノード規模のシミュレーションを汎用的なサーバ機器を用いて実現する。なお、詳細は、図７、図８を参照して後記する。
【００２１】
＜シミュレーション対象となるネットワーク＞
次に、本実施形態に係るネットワークシミュレータ１（図３参照）が模擬とするネットワークについて、図２を参照して説明する。
図２は、本実施形態に係るネットワークシミュレータ１が模擬するネットワークを説明するための図である。
【００２２】
図２（ａ）に示すように、ネットワークシミュレータ１は、転送ノード（ＩＰルータ等）と伝送ノード（ＯＸＣ等）とを備えて構成されるネットワーク５０を模擬（ネットワークシミュレータ１上に設定）する。なお、以下、本実施形態においては、転送ノードをＩＰルータ、伝送ノードをＯＸＣとして説明する。ＩＰルータとＯＸＣとは、物理リンク（光ファイバ等）で接続される。また、ＩＰルータとＯＸＣの総数は最大で１万台とする。ネットワークシミュレータ１上においては、図２（ｂ）に示すように、ＩＰルータを始終点とした光パスが物理網上に設定され、その光パスが上位のレイヤ（ＩＰレイヤ）では論理的なリンクを構成する。さらに論理網上に転送パス（例えば、ＭＰＬＳパス）を設定することで、ユーザトラヒックの転送路が生成される。なお、本実施形態においては、以下、物理網上に光パスが設定され、論理網上にＭＰＬＳパスが設定される例として説明する。また、ネットワーク５０を模擬するネットワークシミュレータ１（図３参照）は、ネットワーク制御装置５と接続する。ネットワーク制御装置５は、ネットワークシミュレータ１上の各ノード（ＩＰルータ、ＯＸＣ）についての光パスやＭＰＬＳパスの情報をネットワークシミュレータ１に送信するとともに、ネットワークシミュレータ１上に構築されたネットワークにおける、トラヒックの情報や故障等の状態通知を受信する。
【００２３】
＜ネットワークシミュレータの構成＞
続いて、本実施形態に係るネットワークシミュレータ１について具体的に説明する。
図３は、本実施形態に係るネットワークシミュレータ１の構成例を示す機能ブロック図である。このネットワークシミュレータ１は、１台以上の物理サーバ（汎用サーバ）で構成され、ネットワーク制御装置５やトラヒック生成機６、図示を省略したソフトスイッチ対応のコントローラ等と接続される。ここで、ネットワーク制御装置５は、ネットワークシミュレータ１に対し、模擬対象となるネットワークのトポロジ情報（ネットワークトポロジ情報）、具体的には、ＯＸＣとＩＰルータ間やＯＸＣ間の接続関係を示す情報等や、物理網上に設定される光パスの情報、論理網上に設定されるＭＰＬＳパスの情報等を保持し、ネットワークシミュレータ１に送信する機能を備える。また、トラヒック生成機６は、トラヒックを生成し、ネットワークシミュレータ１上に設定したネットワークに対し送信する機能を備える。ソフトスイッチ対応のコントローラについては、後記する。
そして、このネットワークシミュレータ１は、制御部１１と、入出力部１２と、記憶部１３とを備える。
【００２４】
入出力部１２は、通信回線を介して、ネットワーク制御装置５や、トラヒック生成機６、ソフトスイッチ対応のコントローラ（図示省略）等との間で、情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力手段やモニタ等の出力手段等との間で情報の入出力を行う入出力インタフェースとから構成される。
【００２５】
制御部１１は、ネットワークシミュレータ１全体の制御を司り、入力情報処理部１１１と、トポロジ構成部１１２と、ソフトスイッチ構成部１１３と、トラヒック送受信部１１４と、ソフトスイッチ設定管理部１１５と、出力情報処理部１１６とを含んで構成される。なお、この制御部１１は、例えば、記憶部１３に格納されたプログラムをＣＰＵ（Central Processing Unit）がＲＡＭ（Random Access Memory）に展開し実行することで実現される。
【００２６】
入力情報処理部１１１は、入出力部１２を介して、ネットワーク制御装置５から、ネットワークトポロジ情報を取得し、記憶部１３内のネットワークトポロジＤＢ（DataBase）１３１に記憶する。なお、このネットワークトポロジ情報は、模擬しようとするネットワークのトポロジ情報であり、例えば、ＩＰルータとＯＸＣ、ＯＸＣ間の接続構成が格納される。また、ネットワークトポロジ情報には、トラヒックの入出力点となるソフトスイッチ（ＩＰルータとＯＸＣの組）が指定される。
また、入力情報処理部１１１は、入出力部１２を介して、同じく、ネットワーク制御装置５から、物理網上に設定させる伝送パス（ここでは、光パス）の情報、論理網上に設定される転送パス（ここでは、ＭＰＬＳパス）の情報を取得し、それぞれを、記憶部１３内の光パスＤＢ１３２、ＭＰＬＳパスＤＢ１３３に記憶する。
【００２７】
トポロジ構成部１１２は、記憶部１３に記憶されたネットワークトポロジＤＢ１３１に記憶されたネットワークトポロジ情報に基づき、起動するソフトスイッチの台数と、それを収容するハードウェアを決定するとともに、ソフトゲートウェイの起動を行う。なお、ネットワークシミュレータ１のハードウェアは、１台以上の物理サーバ（汎用サーバ）を想定し、その物理サーバ（以下、単に「サーバ」と称することがある。）内では、所定数のＶＭ（Virtual Machine）が起動される（詳細は後記）。そして、トポロジ構成部１１２は、同一サーバやＶＭを跨ぐリンクは、ソフトゲートウェイを通して実現する。すなわち、トポロジ構成部１１２は、物理サーバやＶＭ間を接続する物理インタフェース、仮想インタフェースは、ソフトゲートウェイに接続する数だけ起動する。
【００２８】
ソフトスイッチ構成部１１３は、各物理サーバのＶＭ上に、ソフトスイッチを起動し、その起動したソフトスイッチを複数接続し、ネットワークを構成する。なお、この機能は、例えば、mininet（http://mininet.org/）を用いて実現することができる。このソフトスイッチ構成部１１３により、同一サーバのＶＭ内では、ネットワークトポロジ情報にしたがった物理リンクが結線される。
【００２９】
トラヒック送受信部１１４は、入出力部１２を介して、トラヒック生成機６と接続し、ソフトスイッチへのトラヒックの入出力を行う。
【００３０】
ソフトスイッチ設定管理部１１５は、ネットワーク制御装置５から受信し、記憶部１３内の光パスＤＢ１３２、ＭＰＬＳパスＤＢ１３３のそれぞれに記憶された、光パスの情報、ＭＰＬＳパスの情報を、シミュレータ設定用の内容に変換し、各ソフトスイッチに設定投入する。なお、このソフトスイッチ設定管理部１１５による、各ソフトスイッチへの伝送パス（光パス）や転送パス（ＭＰＬＳパス）の設定情報の投入は、図示を省略したソフトスイッチ対応のコントローラからの指示を受信し、実行されるものであってもよい。このソフトスイッチ対応のコントローラは、例えば、OpenFlowコントローラとして実現される。この場合、ネットワークシミュレータ１のソフトスイッチ設定管理部１１５では、OpenFlowコントローラからの制御情報を、ネットワークシミュレータ１による設定用の情報に変換して、各ソフトスイッチ（OpenFlowスイッチ）に投入する。また、ソフトスイッチ設定管理部１１５は、ネットワークの各ソフトスイッチからの制御結果の情報や状態情報を受信し、コントローラに送信する。
【００３１】
このソフトスイッチ設定管理部１１５は、記憶部１３内の光パスＤＢ１３２に記憶された光パスの情報に基づき、レイヤ４（始終点ＴＣＰポート番号）の情報を参照して、各ソフトスイッチ（伝送ノード（ＯＸＣ））にホップバイホップ（hop-by-hop）の転送先を設定する。そして、ソフトスイッチ設定管理部１１５は、記憶部１３内のＭＰＬＳパスＤＢ１３３に記憶されたＭＰＬＳパスの情報に基づき、レイヤ３（始終点ＩＰアドレス）の情報を参照して、ソフトスイッチ（転送ノード（ＩＰルータ））にエンドツーエンド（End-to-End）の転送路を設定する。なお、ソフトスイッチ設定管理部１１５による、ソフトスイッチへの設定処理の詳細は、図４〜図６を参照して後記する。
【００３２】
また、ソフトスイッチ設定管理部１１５は、設定投入時に正確な設定遅延として、例えば、ＯＸＣのテーブル設定には数百ｍsec、ＩＰルータのテーブル設定には１sec等を設けることにより、ネットワーク機器の制御の正確な模擬を実現する。さらに、ソフトスイッチ設定管理部１１５は、シミュレータ上の各ソフトスイッチから、故障情報や状態情報を受信することにより、ネットワークの制御時間や安定性の正確な事前検証を行う。
【００３３】
出力情報処理部１１６は、ソフトスイッチ設定管理部１１５が各ソフトスイッチに対して実行した設定投入の結果や、ネットワークの故障情報、状態情報等を、入出力部１２を介して、ネットワーク制御装置５や、図示を省略したソフトスイッチ対応のコントローラ、図示を省略したモニタ等の出力手段等に出力する。
【００３４】
記憶部１３は、ハードディスクやフラッシュメモリ、ＲＡＭ等の記憶手段からなり、前記した、ネットワークトポロジＤＢ１３１と、光パスＤＢ１３２と、ＭＰＬＳパスＤＢ１３３とを含む情報を格納する。
【００３５】
ソフトスイッチ（ＳＳ）は、ソフトスイッチ構成部１１３により起動され、本実施形態においては、ＩＰルータとＯＸＣとの組が１つのソフトスイッチとして構成される。このソフトスイッチは、例えば、OpenFlowインタフェースを備えるソフトスイッチ（OpenFlowスイッチ）として実現し、各サーバ上に設定される。
【００３６】
ソフトゲートウェイ（ＳＧ）は、トポロジ構成部１１２により起動され、複数のハードウェア（サーバ）やＶＭを跨ってネットワークを設定する際に、複数のノード間を接続するリンクを１本に集約する機能を備える。
【００３７】
＜マルチレイヤ装置を模擬したトラヒック転送と装置設定処理＞
次に、ネットワークシミュレータ１のソフトスイッチ設定管理部１１５が実行する、マルチレイヤ装置を模擬したトラヒック転送の装置設定処理について説明する。ネットワークシミュレータ１のソフトスイッチ設定管理部１１５は、ＩＰルータとＯＸＣから構成されるソフトスイッチに対し、伝送ノード（ＯＸＣ）側と転送ノード（ＩＰルータ）側とに対する２段階の設定を実行する。
【００３８】
ここでは、模擬する対象となるネットワークモデルとして、図４に示すように、物理網上に、ＩＰルータ「Ａ１」→ＯＸＣ「ａ１」→ＯＸＣ「ｂ１」→ＯＸＣ「ｃ１」→ＩＰルータ「Ｃ１」を経由する光パスと、ＩＰルータ「Ｃ１」→ＯＸＣ「ｃ１」→ＯＸＣ「ｄ１」→ＩＰルータ「Ｄ１」を経由する光パスとの２本の光パスが設定され、この２本の光パスを利用して、論理網上では、ＩＰルータ「Ａ１」→ＩＰルータ「Ｃ１」→ＩＰルータ「Ｄ１」の経路のＭＰＬＳパスが設定されるものとする。
【００３９】
図４に示すネットワークを模擬するため、ソフトスイッチ設定管理部１１５は、光パスの情報に基づき、レイヤ４（始終点ＴＣＰポート番号）の情報を参照して、各ソフトスイッチ（ＯＸＣ）にホップバイホップ（hop-by-hop）の転送先を設定する。そして、ソフトスイッチ設定管理部１１５は、ＭＰＬＳパスの情報に基づき、レイヤ３（始終点ＩＰアドレス）の情報を参照して、各ソフトスイッチ（ＩＰルータ）にエンドツーエンド（End-to-End）の転送路を設定する。
【００４０】
ここでは、後記する図５に示すように、ソフトスイッチ構成部１１３により、ＩＰルータ「Ａ１」とＯＸＣ「ａ１」との組がソフトスイッチ「Ａ」として構成されている。ＩＰルータ「Ｂ１」とＯＸＣ「ｂ１」との組がソフトスイッチ「Ｂ」として構成されている。ＩＰルータ「Ｃ１」とＯＸＣ「ｃ１」との組がソフトスイッチ「Ｃ」として構成されている。また、ＩＰルータ「Ｄ１」とＯＸＣ「ｄ１」との組がソフトスイッチ「Ｄ」として構成されている。
【００４１】
そして、ソフトスイッチ設定管理部１１５は、光パスの設定を各ソフトスイッチに対して実行する。図５は、ソフトスイッチ設定管理部１１５による、光パスの設定処理を説明するための図である。ソフトスイッチ設定管理部１１５は、各ソフトスイッチに対し、始終点ＴＣＰポート番号に基づくMatch条件、そのMatch条件を満たす場合の（各ＯＸＣ用の）転送先情報をAction条件としてテーブルエントリに登録する。
【００４２】
例えば、図５に示すように、ソフトスイッチ「Ａ」−「Ｂ」−「Ｃ」間に設定される光パスは、Match条件を、始点（送信元）ＴＣＰポート番号が「１」、終点（宛先）ＴＣＰポート番号が「２」として設定する（Match条件「src port=1, dst port=2」）。そして、このMatch条件を満たす場合の転送先情報として、ソフトスイッチ「Ａ」（ＯＸＣ「ａ１」）には、ＩＦ「１」からの出力が設定され（Action条件「Action output IF1」）、ソフトスイッチ「Ｂ」（ＯＸＣ「ｂ１」）には、ＩＦ「２」からの出力が設定され（Action条件「Action output IF2」）、ソフトスイッチ「Ｃ」（ＯＸＣ「ｃ１」）には、ＩＦ「３」からの出力が設定される（Action条件「Action output IF3」）。
また、ソフトスイッチ「Ｃ」−「Ｄ」間に設定される光パスは、Match条件を、始点ＴＣＰポート番号が「３」、終点ＴＣＰポート番号が「４」として設定する（Match条件「src port=3, dst port=4」）。そして、このMatch条件を満たす場合の転送先情報として、ソフトスイッチ「Ｃ」（ＯＸＣ「ｃ１」）には、ＩＦ「４」からの出力が設定され（Action条件「Action output IF4」）、ソフトスイッチ「Ｄ」（ＯＸＣ「ｄ１」）には、ＩＦ「５」からの出力が設定される（Action条件「Action output IF5」）。
このようにすることにより、それぞれのＯＸＣにおいて、Match条件を満たすか否かを、レイヤ４（始終点ＴＣＰポート番号）の情報を識別することにより判定し、適切な転送先に転送処理が行われる。
【００４３】
次に、ソフトスイッチ設定管理部１１５は、転送パス（ＭＰＬＳパス）の設定を各ソフトスイッチに対して実行する。図６は、ソフトスイッチ設定管理部１１５による、ＭＰＬＳパスの設定処理を説明するための図である。ソフトスイッチ設定管理部１１５は、各ソフトスイッチに対し、始終点ＩＰアドレスに基づくMatch条件、そのMatch条件を満たす場合の（各ＩＰルータ用の）ＴＣＰポート番号書換処理をAction条件としてテーブルエントリに登録する。
【００４４】
例えば、図６に示すように、ソフトスイッチ「Ａ」−「Ｄ」間に設定するＭＰＬＳパスについて、ソフトスイッチ「Ａ」には、ソフトスイッチ「Ａ」−「Ｂ」−「Ｃ」間に設定される光パスを使用するための設定として、Match条件を、始点（送信元）ＩＰアドレスが「10.0.0.0/8」、終点（送信先）ＩＰアドレスが「20.0.0.0/8」として設定する（Match条件「src=10.0.0.0/8」，「dst=20.0.0.0/8」）。そして、このMatch条件を満たす場合の書換処理（Action条件）として、始点ＴＣＰポート番号が「１」、終点ＴＣＰポート番号が「２」を設定する（Action条件「Mod src port=1, dst port=2」）。
また、ソフトスイッチ「Ｃ」には、ソフトスイッチ「Ｃ」−「Ｄ」間に設定される光パスを使用するための設定として、Match条件を、始点ＩＰアドレスが「10.0.0.0/8」、終点ＩＰアドレスが「20.0.0.0/8」として設定する（Match条件「src=10.0.0.0/8」，「dst=20.0.0.0/8」）。そして、このMatch条件を満たす場合の書換処理（Action条件）として、始点ＴＣＰポート番号が「３」、終点ＴＣＰポート番号が「４」を設定する（Action条件「Mod src port=3, dst port=4」）。
このようにすることにより、それぞれのＩＰルータにおいて、Match条件を満たすか否かを、レイヤ３（始終点ＩＰアドレス）の情報を識別することにより判定し、適切な訪路に転送処理が行われる。
【００４５】
なお、ここでは、ソフトスイッチ設定管理部１１５は、光パスの設定に関して、レイヤ４の始終点ＴＣＰポート番号の情報を参照して、ホップバイホップ（hop-by-hop）の転送先を決定し設定するものとして説明したが、レイヤ４のＴＣＰヘッダの他の情報や、レイヤ３のＩＰヘッダの情報を用いて、転送先を設定してもよい。
また、ソフトスイッチ設定管理部１１５は、ＭＰＬＳパスの設定に関して、レイヤ３の始終点ＩＰアドレスの情報を参照して、エンドツーエンド（End-to-End）の転送路を決定し設定するものとして説明したが、レイヤ３のＩＰヘッダの他の情報や、レイヤ４のＴＣＰヘッダの情報を用いて、転送路を設定してもよい。
【００４６】
以上説明したソフトスイッチに対する２段階の設定は、ＯＸＣとＩＰルータが混在する実際のネットワークの設定と同じ処理であるため、各設定投入時に正確な設定遅延（例えば、ＯＸＣのテーブル設定が数百msec、ＩＰルータのテーブル設定が１sec）を設けることにより、ネットワーク制御全体の正確なシミュレーションが実現できる。
【００４７】
＜１万ノード規模のネットワーク構成＞
次に、トポロジ構成部１１２が実行する、ソフトゲートウェイを用いた１万ノード規模のネットワークの構成例について、図７および図８を参照して説明する。
【００４８】
図７は、ソフトゲートウェイを導入する利点を説明するための図である。図７（ａ）に示すように、ソフトゲートウェイを用いない場合、異なるサーバ（サーバ「Ａ」、サーバ「Ｂ」）若しくは異なるＶＭ（ＶＭ「Ａ」、ＶＭ「Ｂ」）それぞれに配置したソフトスイッチ間に、複数のリンクを設定すると、その設定したリンクの数だけ、物理インタフェース（物理ＮＩＣ（Network Interface Card））若しくは仮想インタフェース（仮想ＮＩＣ）の数が必要となる。特に、ＶＭ間を接続する仮想インタフェースの数は、商用ＶＭを用いた場合でも１０個程度が限界となる。
これに対し、図７（ｂ）に示すように、ソフトゲートウェイ（図において「ＳＧ」と記載する。）を用いることにより、サーバやＶＭを跨ぐソフトスイッチ間の複数のリンクを１本にまとめることができる。
【００４９】
次に、１万ノード規模のネットワークの構成例を説明する。
図８（ａ）は、１万ノード網を構成するためのシステム構成例＜１＞を示す。
このシステム構成例＜１＞では、１台の物理サーバに５台のＶＭを起動し、各ＶＭ（ＶＭ「１」〜「５」）上に２５０台のソフトスイッチ（ＩＰルータとＯＸＣとの合計で５００台）を起動する。各ＶＭ間は、ソフトゲートウェイを通して接続されるため、各ＶＭ上の仮想インタフェース（仮想ＮＩＣ）数は５個となる。なお、５個のうちの１つは、物理サーバ上のソフトゲートウェイと接続される。同様の構成の物理サーバを４台起動し、物理サーバ間および物理サーバとトラヒック生成機６とをソフトゲートウェイを通して接続する。この構成により、４個の物理インタフェース（物理ＮＩＣ）を搭載したサーバ４台により、１万台規模のシミュレータ環境が構築される。
【００５０】
図８（ｂ）は、１万ノード網を構成するためのシステム構成例＜２＞を示す。
このシステム構成例＜２＞では、１台の物理サーバに６台のＶＭを起動し、そのうち１台のＶＭ（図８（ｂ）では、ＶＭ「６」）上には、ソフトゲートウェイのみが設定される。他の５台のＶＭ（ＶＭ「１」〜「５」）は、システム構成例＜１＞と同様に、各ＶＭ上に２５０台のソフトスイッチ（ＩＰルータとＯＸＣとの合計で５００台）を起動する。そして、物理サーバ上のソフトゲートウェイは、ソフトゲートウェイのみが設定されたＶＭ（ＶＭ「６」）のみと接続し、そのソフトゲートウェイ（ＶＭ「６」）と、各ＶＭ（ＶＭ「１」〜「５」）のソフトゲートウェイとが、接続される。
【００５１】
システム構成例＜１＞では、物理サーバ上のＶＭ「１」〜「５」それぞれは、２５０台のソフトスイッチと、自身以外の５個のソフトゲートウェイと接続する自身のソフトゲートウェイとを、起動することにより、ＣＰＵおよびメモリの利用量が高負荷となる可能性があった。これに対し、システム構成例＜２＞では、ソフトゲートウェイを専用とするＶＭ（ＶＭ「６」）を起動することにより、ＶＭ「１」〜「５」上のソフトゲートウェイは、パケットをＶＭ「６」に転送するだけでよくなるため、１つのＶＭにおける負荷の低減が可能となる。
【００５２】
＜処理の流れ＞
次に、本実施形態に係るネットワークシミュレータ１の全体の処理の流れを説明する。
図９は、本実施形態に係るネットワークシミュレータ１の全体の処理の流れを示すフローチャートである。
【００５３】
図９に示すように、まず、ネットワークシミュレータ１の入力情報処理部１１１は、入出力部１２を介して、ネットワーク制御装置５から、ネットワークトポロジ情報を取得し、ネットワークトポロジＤＢ１３１に記憶する（ステップＳ１）。
【００５４】
次に、トポロジ構成部１１２は、ネットワークトポロジＤＢ１３１に記憶されたネットワークトポロジ情報に基づき、起動するソフトスイッチの台数、それを収容する物理サーバ（物理サーバ数）や物理サーバ上のＶＭ数等を決定するとともに、ソフトゲートウェイの起動を行う（ステップＳ２）。
例えば、トポロジ構成部１１２は、前記した図８（ａ）に示すシステム構成＜１＞や、図８（ｂ）に示すシステム構成＜２＞となるように、物理サーバ（物理サーバ数）を決定して所定数のＶＭを起動し、そのＶＭや物理サーバ間にソフトゲートウェイを起動する。
なお、このトポロジ構成部１１２が起動するソフトスイッチの台数や、それを収容する物理サーバ数、ＶＭ数等は、シミュレーション対象となるネットワークの規模（装置数等）により、予めネットワーク管理者等により、トポロジ構成部１１２に設定されていてもよいし、シミュレーション対象となるネットワークの規模（装置数等）に応じて、各台数を計算するロジックをトポロジ構成部１１２に持たせるようにしてもよい。
【００５５】
続いて、ソフトスイッチ構成部１１３は、ネットワークトポロジＤＢ１３１に記憶されたネットワークトポロジ情報に基づき、各サーバのＶＭ上にソフトスイッチを起動し、その起動した複数のソフトスイッチを接続し、ネットワークを構成する（ステップＳ３）。
【００５６】
次に、入力情報処理部１１１は、入出力部１２を介して、ネットワーク制御装置５から、物理網上に設定させる光パスの情報と、論理網上に設定させる転送パス（ＭＰＬＳパス）の情報を取得し、それぞれを、光パスＤＢ１３２、ＭＰＬＳパスＤＢ１３３に記憶する（ステップＳ４）。
【００５７】
そして、ソフトスイッチ設定管理部１１５は、シミュレーション対象となるネットワークの、光パスＤＢ１３２に記憶された光パスの情報とＭＰＬＳパスＤＢ１３３に記憶されたＭＰＬＳパスの情報とに基づき、ソフトスイッチの設定を実行する（ステップＳ５）。
具体的には、ソフトスイッチ設定管理部１１５は、前記したように、ＩＰルータとＯＸＣから構成されるソフトスイッチに対し、伝送ノード（ＯＸＣ）側と転送ノード（ＩＰルータ）側とに対する２段階の設定を実行する。例えば、ソフトスイッチ設定管理部１１５は、光パスの情報に基づき、レイヤ４（始終点ＴＣＰポート番号）の情報を参照して、ホップバイホップ（hop-by-hop）の転送先を決定し、各ソフトスイッチに設定する。続いて、ソフトスイッチ設定管理部１１５は、ＭＰＬＳパスの情報に基づき、レイヤ３（ＩＰ始終点アドレス）の情報を参照して、エンドツーエンド（End-to-End）の転送路を決定し、各ソフトスイッチに設定する。このとき、ソフトスイッチ設定管理部１１５は、各ソフトスイッチに設定情報を送信した時とその設定完了を受信した時刻とを計測すること等により、ネットワーク全体の設定処理を模擬する。
【００５８】
次に、トラヒック送受信部１１４は、入出力部１２を介して、トラヒック生成機６からのトラヒックを各ソフトスイッチに印加する（ステップＳ６）。これにより、ネットワークのシミュレーションが開始される。このとき、ソフトスイッチ設定管理部１１５は、トラヒックを監視することにより、各装置の故障やエラー情報の取得、安定性の検証等を実行する。
【００５９】
以上説明したように、本実施形態に係るネットワークシミュレータ１およびネットワークシミュレーション方法によれば、伝送ノード（ＯＸＣ等）、転送ノード（ＩＰルータ等）ごとの設定処理の正確なシミュレーションが可能となる。また、ソフトゲートウェイをサーバや所定数のＶＭに適切に配備することができる。これにより、従来構築が困難であった１万ノードといった大規模網の制御時間や安定性の正確な事前検証を実行することができる。すなわち、実機を用いたネットワーク構築を行うことなく、パス計算アルゴリズムやネットワーク制御の効果を事前に確認することにより、ネットワーク運用者のリスクヘッジが可能となる。
【符号の説明】
【００６０】
１      ネットワークシミュレータ
５      ネットワーク制御装置
６      トラヒック生成機
１１    制御部
１２    入出力部
１３    記憶部
１１１  入力情報処理部
１１２  トポロジ構成部
１１３  ソフトスイッチ構成部
１１４  トラヒック送受信部
１１５  ソフトスイッチ設定管理部
１１６  出力情報処理部
１３１  ネットワークトポロジＤＢ
１３２  光パスＤＢ
１３３  ＭＰＬＳパスＤＢ
ＳＳ    ソフトスイッチ
ＳＧ    ソフトゲートウェイ
【図１】
2015156548.tif 000003
【図２】
2015156548.tif 000004
【図３】
2015156548.tif 000005
【図４】
2015156548.tif 000006
【図５】
2015156548.tif 000007
【図６】
2015156548.tif 000008
【図７】
2015156548.tif 000009
【図８】
2015156548.tif 000010
【図９】
2015156548.tif 000011
【図１０】
2015156548.tif 000012
【図１１】
2015156548.tif 000013
【図１２】
2015156548.tif 000014
【手続補正書】
【提出日】平成27年4月14日(2015.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部と、
前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭ（Virtual Machine）を起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するトポロジ構成部と、
前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するソフトスイッチ構成部と、
前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、予め設けた設定遅延を発生させて前記伝送ノードの転送先を設定し、前記模擬対象のネットワークの前記転送パスの情報を参照し、予め設けた設定遅延を発生させて前記転送ノード間の転送路を設定するソフトスイッチ設定管理部と、
を備えることを特徴とするネットワークシミュレータ。
【請求項２】
模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部を備えるネットワークシミュレータは、
前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭを起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するステップと、
前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するステップと、
前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、予め設けた設定遅延を発生させて前記伝送ノードの転送先を設定するステップと、
前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記転送パスの情報を参照し、予め設けた設定遅延を発生させて前記転送ノード間の転送路を設定するステップと、
を実行することを特徴とするネットワークシミュレーション方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
前記した課題を解決するため、請求項１に記載の発明は、模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部と、前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭを起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するトポロジ構成部と、前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するソフトスイッチ構成部と、前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、予め設けた設定遅延を発生させて前記伝送ノードの転送先を設定し、前記模擬対象のネットワークの前記転送パスの情報を参照し、予め設けた設定遅延を発生させて前記転送ノード間の転送路を設定するソフトスイッチ設定管理部と、を備えることを特徴とするネットワークシミュレータとした。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
また、請求項２に記載の発明は、模擬対象のネットワークの、複数の転送ノードおよび複数の伝送ノードそれぞれの間の接続関係を示すトポロジであるネットワークトポロジ情報、前記模擬対象のネットワークに設定された光パスの情報、および、前記模擬対象のネットワークに設定された転送パスの情報が記憶される記憶部を備えるネットワークシミュレータが、前記ネットワークトポロジ情報を参照し、前記転送ノードと前記伝送ノードの組であるソフトスイッチの台数を決定し、前記ソフトスイッチを収容する、１つ以上のサーバ上に設けられる所定数のＶＭを起動し、前記１つ以上のサーバおよび前記所定数のＶＭそれぞれを接続するソフトゲートウェイを起動することにより、前記模擬対象のネットワークに対応するトポロジを構成するステップと、前記ソフトスイッチを起動し、複数の前記ソフトスイッチ間を接続することにより前記ＶＭ内のネットワークを構成するステップと、前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記光パスの情報を参照し、予め設けた設定遅延を発生させて前記伝送ノードの転送先を設定するステップと、前記ソフトスイッチそれぞれに対し、前記模擬対象のネットワークの前記転送パスの情報を参照し、予め設けた設定遅延を発生させて前記転送ノード間の転送路を設定するステップと、を実行することを特徴とするネットワークシミュレーション方法とした。