JP2011101140A - ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラム - Google Patents

ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラム Download PDF

Info

Publication number
JP2011101140A
JP2011101140A JP2009253643A JP2009253643A JP2011101140A JP 2011101140 A JP2011101140 A JP 2011101140A JP 2009253643 A JP2009253643 A JP 2009253643A JP 2009253643 A JP2009253643 A JP 2009253643A JP 2011101140 A JP2011101140 A JP 2011101140A
Authority
JP
Japan
Prior art keywords
network
path
traffic
virtual
virtual nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009253643A
Other languages
English (en)
Inventor
Eiji Oki
英司 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electro Communications NUC
Original Assignee
University of Electro Communications NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electro Communications NUC filed Critical University of Electro Communications NUC
Priority to JP2009253643A priority Critical patent/JP2011101140A/ja
Publication of JP2011101140A publication Critical patent/JP2011101140A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】拡張性の優れたネットワークエミュレータ装置を提供する。
【解決手段】インタフェースモジュール22にはバーチャルノード27−1乃至27−Nが設けられ、トラヒックジェネレータ24は、所定のタイミングで、バーチャルノード27−1乃至27−N間に仮想的に流れるトラヒックに関する情報を、バーチャルノード27−1乃至27−Nを介してネットワークコントローラ13に送信する。バーチャルノード27−1乃至27−Nは、ネットワークコントローラ13から送信されてくるパスの変更の要求を受信してリソースシミュレータ23に供給し、リソースシミュレータ23は、そのパスの変更の要求に対する処理を行い、要求に対する処理結果を示す情報をバーチャルノード27−1乃至27−Nを介してネットワークコントローラ13に送信する。本発明は、例えば、ネットワークコントローラの試験を行うネットワークエミュレータに適用できる。
【選択図】図2

Description

本発明は、ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラムに関し、特に、拡張性の優れたネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラムに関する。
従来、複数のルータが接続されて構成されるネットワークにおいて、ネットワークコントローラが、各ルータ間のトラヒック需要を予測し、最適な通信環境となるように各ルータ間のパスの設定を行っている。
ところで、近年、様々な種類のアプリケーションが出現しており、例えば、高精細テレビジョンや、ビデオストリーミング、高速データ通信などのように、大容量かつ高品質な通信を要求するアプリケーションによりネットワーク資源が占有されてしまい、ネットワークコントローラが、トラヒック需要を予測することが困難になってきている。
ネットワークを介して様々なサービスを提供する必要があり、ネットワークコントローラは、カスタマの要求に応じて、ネットワークをダイナミックかつ効率的に使用できるように、ネットワークを制御する必要がある。
例えば、非特許文献1で開示されているネットワーク制御装置は、トポロジ情報およびトラヒック情報を収集し、これらの情報と、最適なネットワーク制御ポリシーまたはアルゴリズムとに基づいて、パスの経路計算、設定、および解除を行う。最適なネットワーク制御ポリシーまたはアルゴリズムについては、非特許文献2乃至4に開示されている。
また、このようなネットワーク制御装置を開発する際には、ネットワーク規模に応じた複数の実機のルータを接続して構成されるネットワークを使用し、そのネットワークの構成およびトラヒックに応じてネットワーク制御装置がどのような挙動をするかが監視される。そして、最適な通信環境を実現するように、ネットワーク制御装置に対して各種の設定が行われる。
ところで、ネットワーク制御装置を運用するための試験を実施する際に、実機のルータを接続して大規模なネットワークを構成することは、多大なコストが必要になる。また、現在の通信環境からは想定できない程のトラヒックの変動に対しても正常に制御することができるようなネットワーク制御装置を開発するには、そのような予測困難なトラヒックをネットワークに反映させる必要があるが、実機のルータを接続して構成されるネットワークで、そのようなトラヒック変動を発生させることは困難である。
そこで、本願出願人らは、非特許文献5において、ネットワーク制御装置を運用するための試験において使用されるネットワークエミュレータに関する提案を行っている。
K. Shiomoto, I. Inoue, and E. Oki, ‘‘Network virtualization in highspeedhuge-bandwidth optical circuit switching network,’’ High-Speed Networks 2008 (HSN 2008), IEEE INFOCOM 2008, Apr. 2008. Y. Koizumi, T. Miyamura, S. Arakawa, E. Oki, K. Shiomoto, and M. Murata, ‘‘Stability of virtual network topology control for overlay routing services,‘‘ Journal of Optical Networking, vol. 7, no. 7, pp.704-719, Jul. 2008. K. Shiomoto, E. Oki, W. Imajuku, S. Okamoto, and N. Yamanaka,‘‘Distributed Virtual Network Topology Control Mechanism in GMPLS-Based Multi-Region Networks,‘‘ IEEE Journal on Selected Areas in Communications, vol. 21, no. 8, pp. 1254-1262, Oct. 2003. E. Oki, K. Shiomoto, D. Shimazaki, N. Yamanaka, W. Imajuku, and Y. Takigawa, ‘‘Dynamic Multilayer Routing Schemes in GMPLS-based IP+Optical Networks,‘‘ IEEE Commun. Mag. , pp. 108-114, vol. 43, no.1, Jan. 2005. 大木英司,宮村崇,塩本公平,‘‘光インフラ網上でのネットワーク仮想化に向けたネットワークエミュレータアーキテクチャ’’ 電子情報通信学会総合大会講演論文集, vol. 2009, B-12-8, 通信, 2009年3月.
ところで、ネットワークエミュレータを利用してネットワーク制御装置の試験を行う際には、ネットワーク制御装置による制御の対象となるネットワーク規模に応じて、ネットワークエミュレータにより模擬されるネットワークの規模を変更する必要がある。しかしながら、上述のネットワークエミュレータでは、その具体的な構成までは開示されておらず、ネットワーク規模に応じてネットワークエミュレータにより模擬されるネットワークの規模を容易に変更することができるような、拡張性の優れたネットワークエミュレータが求められている。
本発明は、このような状況に鑑みてなされたものであり、拡張性の優れたネットワークエミュレータを提供することができるようにするものである。
本発明の一側面のネットワークエミュレータ装置は、複数のノードにより構成されるネットワークを制御するネットワークコントローラに接続されるネットワークエミュレータ装置であって、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、前記トラヒック生成手段は、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、前記仮想ノードは、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、前記パス処理手段は、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、前記仮想ノードは、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する。
本発明の一側面の制御方法またはプログラムは、複数のノードにより構成されるネットワークを制御するネットワークコントローラに接続されるネットワークエミュレータ装置の制御方法、または、そのネットワークエミュレータ装置を制御する処理をコンピュータに実行させるプログラムであって、前記ネットワークエミュレータ装置は、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、前記トラヒック生成手段が、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、前記仮想ノードが、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、前記パス処理手段が、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、前記仮想ノードが、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信するステップを含む。
本発明の一側面においては、ネットワークエミュレータ装置は、複数のノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、ネットワークコントローラと通信を行うインタフェース手段と、複数の仮想ノードそれぞれと通信し、複数の仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の仮想ノードそれぞれと通信し、複数の仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備えて構成される。そして、所定のタイミングで、仮想ノード間に仮想的に流れるトラヒックに関する情報が、仮想ノードを介してネットワークコントローラに送信され、ネットワークコントローラから送信されてくるパスの変更の要求が、複数の仮想ノードを介して供給される。そして、パスの変更の要求に対する処理が行われ、要求に対する処理結果を示す情報が、複数の仮想ノードを介してネットワークコントローラに送信される。
本発明の一側面によれば、拡張性の優れたネットワークエミュレータ装置を提供することができる。
実際に構築されるネットワークと、エミュレータにより模擬されるネットワークとを示す図である。 本発明を適用したエミュレータの第1の実施の形態の構成例を示すブロック図である。 パスを設定する処理を説明するフローチャートである。 パスを解除する処理を説明するフローチャートである。 ネットワークエミュレータにおいて実行される処理を説明するフローチャートである。 ネットワークエミュレータの実装例を示す図である。 ネットワークエミュレータの他の実装例を示す図である。 ネットワークエミュレータの第2の実施の形態の構成例を示すブロック図である。 ネットワークエミュレータの第3の実施の形態の構成例を示すブロック図である。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
まず、図1を参照して、実際に構築されたネットワークによるネットワークコントローラの試験と、エミュレータにより仮想的に構築されたネットワークによるネットワークコントローラの試験とについて説明する。
図1Aに示すように、ネットワーク11は、ノード12−1乃至12−4が接続されて構成されており、ノード12−1乃至12−4間のパス(Path)の設定および解除がネットワークコントローラ13により制御される。
ノード12−1乃至12−4は、実機のルータであり、ノード12−1乃至12−4間で実際にデータを送受信させることでトラヒックを発生させ、ノード12−1乃至12−4は、その実際のトラヒック量を示すトラヒック情報をネットワークコントローラ13に送信するとともに、ネットワーク11の接続形態を示すトポロジ情報を送信する。そして、ネットワークコントローラ13がトラヒック情報およびトポロジ情報に応じてどのような制御を行うかが監視される。
これに対し、図1Bのネットワークエミュレータ21は、ネットワークコントローラ13を試験するために、ネットワーク11を構成するノード12−1乃至12−4の代わりに、バーチャルノード12−1’乃至12−4’によるテスト環境を提供する。
ネットワークエミュレータ21により模擬されたバーチャルノード12−1’乃至12−4’間では、実際にデータの送受信が行われるのではなく、バーチャルノード12−1’乃至12−4’は、試験環境に応じて生成されたトラヒック情報をネットワークコントローラ13に送信するとともに、バーチャルノード12−1’乃至12−4’により仮想的に構成されるネットワークのトポロジ情報を送信して、ネットワークコントローラ13の挙動が監視される。このように、ネットワークエミュレータ21では、データの送受信が実際に行われないので、現在の通信環境からは想定できないような、実際に発生することがありえないトラヒック情報を送信することができ、ネットワークコントローラ13の予測範囲を超えるような(予測困難な)トラヒックの変動に対して、ネットワークコントローラ13がどのような制御を行うかが監視される。
ます、このようなネットワークを仮想的に構築するネットワークエミュレータ21に要求される条件を提示する。
第1の要求条件として、ネットワークエミュレータ21は、インタフェース機能を備える必要がある。例えば、ネットワークエミュレータ21は、光IP(Internet Protocol)連携サーバプラットホームと接続するルータのインタフェースを模擬する必要がある。また、そのインタフェースとして、Telnet(テルネット:Telecommunication network)やSNMP(Simple Network Management Protocol)をサポートする必要がある。Telnetは、パスの設定および解除のコマンドをサポートし、SNMPコマンドは、トラヒック情報の取得をサポートする。
第2の要求条件として、ネットワークエミュレータ21は、リソースシミュレーション機能を備える必要がある。例えば、ネットワークエミュレータ21は、ネットワークの挙動をシミュレーションにより模擬する必要がある。例えば、光ネットワークではGMPLS(Generalized Multi-Protocol Label Switching)をベースとして、IPネットワークではMPLS(Multi-Protocol Label Switching)をベースとして、それぞれリソース管理やパスの設定および解除などを行っており、ネットワークエミュレータ21は、GMPLS/MPLSの挙動を模擬する必要がある。また、トポロジ情報などのリソースを管理する情報は、OSPF-TE(Open Shortest Path First-Traffic Engineering)により規定されている。例えば、ネットワークエミュレータ21は、パスが設定された場合は、その設定されたパスが使用するリンクの残余帯域を削減し、パスが解除された場合は、パスが使用していたリンクの残余帯域を増加させる。
第3の要求条件として、ネットワークエミュレータ21は、トラヒック情報生成機能を備える必要がある。ネットワークエミュレータ21は、将来の予測困難なトラヒック変動を反映して、ネットワーク上で発生するトラヒックを模擬して、トラヒック情報を生成する機能をサポートする必要がある。
第4の要求条件として、ネットワークエミュレータ21は、拡張性および柔軟性を備える必要がある。ネットワークエミュレータ21は、ネットワーク規模が大きくなっても、ハードウェアの制限に強く依存することない拡張性を有する必要がある。また、ネットワークエミュレータ21は、トポロジの変化、即ち、ノードやリンクの追加または削除に対して、コンフィグレーションを柔軟に変更可能である必要がある。
このような第1乃至第4の要求条件を満たすように、ネットワークエミュレータ21が構成される。
図2は、ネットワークエミュレータの第1の実施の形態の構成例を示すブロック図である。
図2において、ネットワークエミュレータ21は、インタフェースモジュール22、リソースシミュレータ23、トラヒックジェネレータ24、TE(Traffic Engineering)データベース25、およびトラヒックデータベース26を備えて構成されている。インタフェースモジュール22は、N個のバーチャルノード27−1乃至27−Nと、1個のバーチャルノードR28とからなる複数のサブモジュールにより構成されている。なお、インタフェースモジュール22は本発明のインタフェース手段に対応し、リソースシミュレータ23は本発明のパス処理手段に対応し、トラヒックジェネレータ24は本発明のトラヒック生成手段に対応し、バーチャルノード27−1乃至27−Nは本発明の仮想ノードに対応する。
ネットワークエミュレータ21では、インタフェースモジュール22において模擬されるバーチャルノード27−1乃至27−Nによりネットワークが仮想的に構成され、ネットワークコントローラ13は、その仮想的に構成されるネットワークを制御する。
また、インタフェースモジュール22は、ネットワークエミュレータ21で模擬されるネットワークを構成するルータの追加または削除に応じて、バーチャルノード27−1乃至27−Nの個数を柔軟に変化させることができる。即ち、ネットワークエミュレータ21で模擬されるネットワークの規模に応じた個数のバーチャルノードが、インタフェースモジュール22に用意される。
バーチャルノード27−1乃至27−Nは、ネットワークコントローラ13が制御するネットワークに接続されるエッジルータ(ネットワークコントローラ13と通信するためのインタフェースを有するルータ)の機能を仮想的に実現する。また、バーチャルノード27−1乃至27−Nは、CLI/SNTP(Command Line Interface/Simple Network Management Protocol)によりネットワークコントローラ13との通信を行う。なお、バーチャルノード27−1乃至27−Nのそれぞれを区別する必要がない場合、以下、適宜、単にバーチャルノード27と称する。
例えば、ネットワークコントローラ13からバーチャルノード27−1乃至27−Nに対し、パスの設定を要求するパスセットアップリクエストや、パスの解除を要求するパスリリースリクエストが送信される。一方、バーチャルノード27−1乃至27−Nからネットワークコントローラ13に対して、バーチャルノード27−1乃至27−N間で仮想的に発生したとされるトラヒックに応じたトラヒック情報がネットワークコントローラ13に送信される。
バーチャルノードR28は、OSPF(Open Shortest Path First)によりネットワークコントローラ13と通信を行い、ネットワークコントローラ13との間でトポロジ情報およびリソース情報を交換するインタフェースとしての機能を実現する。
リソースシミュレータ23は、ネットワークコントローラ13がバーチャルノード27−1乃至27−Nに対してパスの設定または解除を要求すると、TEデータベース25に格納されているリソース情報を参照して、その要求に対する処理を行う。そして、リソースシミュレータ23は、その処理の結果に従って、TEデータベース25に格納されているトポロジ情報およびリソース情報を更新し、新たなトポロジ情報およびリソース情報をバーチャルノード27−1乃至27−NまたはバーチャルノードR28に供給する。
トラヒックジェネレータ24は、トラヒックデータベース26に格納されているトラヒック生成モデル(後で詳述)を参照し、バーチャルノード27−1乃至27−Nに現在設定されているパスに流れるトラフィックを仮想的に発生させ、そのトラヒック量を示すトラヒック情報を、バーチャルノード27−1乃至27−Nに供給する。これにより、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークにおけるトラヒックの変動が模擬的に発生する。
TEデータベース25は、バーチャルノード27−1乃至27−Nの接続形態を示すトポロジ情報と、バーチャルノード27−1乃至27−Nに設定されているパスの使用帯域および使用可能帯域などのリソースを示すリソース情報を管理する。トラヒックデータベース26は、ネットワークコントローラ13を試験するためにバーチャルノード27−1乃至27−Nに仮想的にトラヒックを発生させるためのモデルであるトラヒック生成モデルを管理する。トラヒック生成モデルには、トラヒックを発生させるタイミング、発生させたトラヒック量を示すトラヒック情報、およびトラヒックの発生の対象となるバーチャルノード27が記述されている。なお、トラヒックデータベース26のトラヒック生成モデルには、現在では想定できないようなトラヒックの変動を発生させるようなトラヒック情報が含まれている。
ここで、ネットワークエミュレータ21の内部では、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いて、バーチャルノード27−1乃至27−Nとリソースシミュレータ23およびトラヒックジェネレータ24との間の通信、バーチャルノードR28とリソースシミュレータ23およびトラヒックジェネレータ24との間の通信、リソースシミュレータ23とトラヒックジェネレータ24との間の通信が行われる。
例えば、バーチャルノード27−1乃至27−Nとリソースシミュレータ23との間の通信では、ネットワークコントローラ13から送信されてきたパスセットアップリクエストまたはパスリリースリクエストや、リクエストに応じて更新されるトポロジ情報などが、TCP/IPを用いて送受信される。また、バーチャルノード27−1乃至27−Nとトラヒックジェネレータ24との間の通信では、トラヒックジェネレータ24からバーチャルノード27−1乃至27−Nに対して、トラヒック情報がTCP/IPを用いて送信される。
また、例えば、バーチャルノードR28とリソースシミュレータ23との間の通信では、リソースシミュレータ23からバーチャルノードR28に対して、ネットワークの挙動に応じて更新されるトポロジ情報およびリソース情報がTCP/IPを用いて送信される。また、リソースシミュレータ23とトラヒックジェネレータ24との間の通信では、リソースシミュレータ23からトラヒックジェネレータ24に対して、現在のトポロジ情報がTCP/IPを用いて送信される。
このように、ネットワークエミュレータ21の内部において、バーチャルノード27−1乃至27−N、リソースシミュレータ23、およびトラヒックジェネレータ24の間の通信、即ち、図2において破線の矢印で接続が示されているブロック間の通信は、TCP/IPにより行われる。
このように、ネットワークエミュレータ21がTCP/IPを用いた通信を行うように設計することで、ネットワークエミュレータ21では、バーチャルノード27−1乃至27−N、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24を、それぞれ異なるコンピュータに実装することが可能となる。また、ネットワークエミュレータ21において仮想的に構成されるネットワークが、分散的に動作する。即ち、ネットワークエミュレータ21は、ネットワーク規模に対して、拡張性を有することになる。
また、このように構成されているネットワークエミュレータ21では、バーチャルノード27−1乃至27−Nが実機のノード(例えば、図1のノード12)と同様の挙動をするので、即ち、ネットワークコントローラ13からみたネットワークのインタフェースが実際のネットワークと同様に構成されているので、ネットワークコントローラ13は、実機のノードを制御するのと同様の処理を行うことができる。従って、ネットワークを実際に構築することなく、ネットワークエミュレータ21により、ネットワークコントローラ13の実験を行うことができる。
以上のようにネットワークエミュレータ21は構成されており、ネットワークエミュレータ21が模擬するネットワークにネットワークコントローラ13を接続させ、ネットワークコントローラ13に対してネットワークの制御を行うように指示をすると、ネットワークコントローラ13は、トラヒック情報およびトポロジ情報に基づいて、バーチャルノード27−1乃至27−N間のパスの設定または解除を制御する。
次に、図3は、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークにパスを設定する処理を説明するフローチャートである。
ステップS11において、ネットワークコントローラ13は、Telnet上のCLIを使用して通信を行い、バーチャルノード27−1乃至27−Nのうちの、パスを設定するバーチャルノード27にログインし、処理はステップS12に進む。
ステップS12において、ネットワークコントローラ13は、ステップS11でログインしたバーチャルノード27に対し、パスの設定を要求するパスセットアップリクエストを送信する。パスセットアップリクエストには、物理ポートアドレス、IPアドレス、必要な帯域幅、必要なルート、スイッチタイプの属性を示す情報が含まれる。バーチャルノード27は、パスセットアップリクエストに含まれる情報を記憶し、ステップS13に進む。
ステップS13において、ステップS12でネットワークコントローラ13から送信されたパスセットアップリクエストを受信したバーチャルノード27は、そのパスセットアップリクエストに含まれる情報の正確性を確認し、アクティベートを行う。そして、バーチャルノード27は、パスセットアップリクエストに含まれている情報を、リソースシミュレータ23に供給し、処理はステップS14に進む。
ステップS14において、リソースシミュレータ23は、ネットワークコントローラ13から要求されたパスを設定できるか否かを判定する。例えば、リソースシミュレータ23は、TEデータベース25に格納されているリソース情報を参照し、設定することが要求されているパスの帯域に、要求されている帯域幅の空きがあれば、パスを設定できると判定し、その帯域幅の空きがなければ、パスを設定できないと判定する。
ステップS14において、リソースシミュレータ23が、パスを設定できると判定した場合、処理はステップS15に進む。リソースシミュレータ23は、TEデータベース25に格納されているリソース情報およびトポロジ情報を、新たに設定するパスに基づいて更新し、仮想的に構成されるネットワークに新たなパスを設定した旨を、バーチャルノード27−1乃至27−Nに通知する。また、リソースシミュレータ23は、更新したリソース情報およびトポロジ情報をバーチャルノードR28に通知する。
一方、ステップS14において、リソースシミュレータ23が、パスを設定できないと判定した場合、処理はステップS16に進み、リソースシミュレータ23は、ステップS13でパスセットアップリクエストの情報を送信してきたバーチャルノード27に対し、パスを設定することができない旨を通知する。
ステップS15またはS16の処理後、処理はステップS17に進み、パスセットアップリクエストに対する結果がネットワークコントローラ13に送信され、処理は終了する。例えば、ステップS15で新たなパスが設定された場合は、バーチャルノード27−1乃至27−Nが、新たなパスの設定が行われたことをネットワークコントローラ13に送信するとともに、バーチャルノードR28が、更新したリソース情報およびトポロジ情報をネットワークコントローラ13に送信する。一方、ステップS16において、パスを設定することができない旨が通知された場合は、その通知を受けたバーチャルノード27が、パスの設定が行われなかったことをネットワークコントローラ13に送信する。
次に、図4は、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークに設定されていたパスを解除する処理を説明するフローチャートである。
ステップS21において、ネットワークコントローラ13は、Telnet上のCLIを使用して通信を行い、バーチャルノード27−1乃至27−Nのうちの、パスを解除するバーチャルノード27にログインし、処理はステップS22に進む。
ステップS22において、ネットワークコントローラ13は、ステップS21でログインしたバーチャルノード27に対し、パスの解除を要求するパスリリースリクエストを送信する。パスリリースリクエストには、ローカルおよびリモートIPアドレスによりパスを確認する情報が含まれている。ステップS22の処理後、処理はステップS23に進む。
ステップS23において、ステップS22でネットワークコントローラ13から送信されたパスリリースリクエストを受信したバーチャルノード27は、パスリリースリクエストに含まれる情報の正確性を確認し、アクティベートを行う。そして、バーチャルノード27は、パスリリースリクエストに含まれている情報を、リソースシミュレータ23に供給し、処理はステップS24に進む。
ステップS24において、リソースシミュレータ23は、パスリリースリクエストにより要求されたパスを解除するように、TEデータベース25に格納されているリソース情報およびトポロジ情報を更新し、処理はステップS25に進む。
ステップS25において、リソースシミュレータ23は、仮想的に構成されていたネットワークに設定されていたパスが解除された旨を、バーチャルノード27−1乃至27−Nに通知する。また、リソースシミュレータ23は、更新したリソース情報およびトポロジ情報をバーチャルノードR28に通知する。
ステップS26において、バーチャルノード27−1乃至27−Nは、パスの解除が行われたことをネットワークコントローラ13に送信するとともに、バーチャルノードR28が、更新したリソース情報およびトポロジ情報をネットワークコントローラ13に送信し、処理は終了する。
以上のように、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークに対するパスの設定および解除が行われる。
次に、図5は、ネットワークエミュレータ21において実行される処理を説明するフローチャートである。
ユーザは、まず、ネットワークエミュレータ21を複数台のコンピュータに実装する場合、実装に必要なコンピュータの台数を決定し、各コンピュータにバーチャルマシンを準備して、コンピュータどうしを通信ケーブルで接続する。なお、ネットワークエミュレータ21の複数台のコンピュータへの実装例については、図6を参照して後述する。
そして、ユーザが、各コンピュータに、リソースシミュレータ23、トラヒックジェネレータ24、バーチャルノード27−1乃至27−N、およびバーチャルノードR28を割り当てると処理が開始され、ステップS31において、ユーザの入力に従って、各種の初期設定が行われる。
例えば、リソースシミュレータ23は、ネットワークコントローラ13の試験を開始する際のバーチャルノード27−1乃至27−Nによるネットワークの構成(ネットワークに接続されるバーチャルノード、それらの間のリンク)を設定して、その構成に基づいたトポロジ情報およびリソース情報をTEデータベース25に格納する。また、トラヒックジェネレータ24は、試験で使用するトラヒック生成モデルを設定(選択)してトラヒックデータベース26に格納する。
ステップS31の処理後、処理はステップS32において、リソースシミュレータ23とバーチャルノード27−1乃至27−NおよびバーチャルノードR28との間でTCP/IPによる接続が確立され、トラヒックジェネレータ24とバーチャルノード27−1乃至27−NおよびバーチャルノードR28との間でTCP/IPによる接続が確立され、リソースシミュレータ23とトラヒックジェネレータ24との間でTCP/IPによる接続が確立され、処理はステップS33に進む。
ステップS33において、ネットワークエミュレータ21のアクティベートが行われ、バーチャルノード27−1乃至27−NおよびバーチャルノードR28は、ネットワークコントローラ13との通信を開始する。例えば、バーチャルノード27−1乃至27−Nは、CLI/SNTPによるネットワークコントローラ13との通信を開始し、バーチャルノードR28は、OSPFによるネットワークコントローラ13と通信を開始する。これにより、ネットワークコントローラ13の試験が開始される。
ステップS33の処理後、処理はステップS34に進み、トラヒックジェネレータ24は、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークに仮想的なトラヒックを発生させるか否かを判定する。例えば、トラヒックジェネレータ24は、トラヒック生成モデルを参照し、トラヒックを生成させるタイミングであれば、トラヒックを発生させると判定し、トラヒックを発生させるタイミングでなければ、トラヒックを発生させないと判定する。
ステップS34において、トラヒックジェネレータ24がトラヒックを発生させると判定した場合、処理はステップS35に進み、トラヒックジェネレータ24は、トラヒック生成モデルを参照し、現在のタイミングに対応付けられているトラヒック情報を、トラヒックの発生の対象となるバーチャルノード27に供給する。なお、トラヒックジェネレータ24は、現在のトポロジ情報でパスが設定されているバーチャルノード27間にトラヒックを生成させる。トラヒック情報が供給されたバーチャルノード27は、そのトラヒック情報をCLI/SNTPによりネットワークコントローラ13に送信する。
ステップS35の処理後、または、ステップS34でトラヒックジェネレータ24がトラヒックを発生させないと判定した場合、処理はステップS36に進み、バーチャルノード27−1乃至27−Nは、ネットワークコントローラ13からリクエストが送信されてきたか否かを判定する。
ステップS36において、バーチャルノード27−1乃至27−Nが、ネットワークコントローラ13からリクエストが送信されていないと判定した場合、処理はステップS34に戻り、以下、同様の処理が行われる。一方、ステップS36において、いずれかのバーチャルノード27が、ネットワークコントローラ13からリクエストが送信されてきたと判定した場合、処理はステップS37に進む。
ステップS37において、ネットワークコントローラ13からリクエストが送信されてきたと判定したバーチャルノード27は、ネットワークコントローラ13から送信されてきたリクエストを受信し、そのリクエストをリソースシミュレータ23に供給して、処理はステップS38に進む。
ステップS38において、リソースシミュレータ23は、ネットワークコントローラ13からのリクエストの内容を判定する。
ステップS38において、リソースシミュレータ23が、ネットワークコントローラ13からのリクエストの内容が、パスセットアップリクエストであると判定した場合、処理はステップS39に進み、リソースシミュレータ23は、パスを設定する処理を行う。即ち、リソースシミュレータ23は、図3のステップS14乃至S16で説明したように、TEデータベース25に格納されているリソース情報を参照してパスを設定できるか否かを判定し、その判定結果に基づいた処理を行う。
一方、ステップS38において、リソースシミュレータ23が、ネットワークコントローラ13からのリクエストの内容が、パスリリースリクエストであると判定した場合、処理はステップS40に進み、リソースシミュレータ23は、パスを解除する処理を行う。即ち、リソースシミュレータ23は、図4のステップS24およびS25で説明したように、TEデータベース25に格納されているリソース情報を更新してパスを解除する処理を行う。
ステップS39またはS40の処理後、処理はステップS41に進み、バーチャルノード27−1乃至27−Nは、ステップS39またはS40での処理結果をネットワークコントローラ13に送信する。例えば、図3のステップS17で説明したように、新たなパスの設定が行われたこと或いはパスの設定が行われなかったこと、または、図4のステップS26で説明したように、パスの解除が行われたことが処理結果としてネットワークコントローラ13に通知される。ステップS41の処理後、処理はステップS34に戻り、以下、同様の処理が行われる。
このように、ネットワークエミュレータ21において仮想的に構成されたネットワークにトラヒックを発生させ、そのトラヒックに応じてネットワークコントローラ13から送信されてくるリクエストに応じた処理(パスの設定または解除)が行われるので、例えば、予測困難なトラヒックの発生に対してネットワークコントローラ13がどのような制御を行うかを試験することができる。また、ネットワークコントローラ13との通信は、インタフェースモジュール22に構成されたバーチャルノード27−1乃至27−NおよびバーチャルノードR28を介して行われるので、ネットワークコントローラ13に対し、実際のネットワークと同様の処理を行わせることができる。
次に、ネットワークエミュレータ21をコンピュータに実装する例について説明する。
例えば、CLI/SNMP/OSPFのインタフェースを有するバーチャルノードの実装において、1台のコンピュータに1つのバーチャルノードを対応付けて実装することができるが、このような1対1の対応による構成では効率が悪いので、VM(Virtual Machine)技術が利用される。VM技術では、複数のバーチャルノード(マシン)を1台のコンピュータに実装することができ、それらの複数のノードを独立に動作させることができる。
1台のコンピュータに実装することが可能なバーチャルノードの個数は、そのコンピュータのCPUのパワーやメモリの容量などにより決定される。ここで、1台のコンピュータに実装することが可能なバーチャルノードの個数をM個とし、ネットワークコントローラ13とのCLI/SNMPのインタフェースを有するバーチャルノード27の個数をN個とすると、N個のバーチャルノード27により構成されるネットワークをエミュレーションするために、N/M個のコンピュータが必要になる。
また、OSPFのインタフェースを有するバーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24は、計算負荷がネットワーク規模に大きく依存しないため、1台のコンピュータに実装される。
従って、ネットワークエミュレータ21は、(N/M+1)個のコンピュータにより実装可能である。
次に、図6は、図2に示したネットワークエミュレータ21の実装例を示す図である。図6の実装例では、40個のバーチャルノード27−1乃至27−40によりネットワークが仮想的に構成されている(N=40)。
図6に示すシステムは、通信ケーブル31を介して4台のコンピュータ32−1乃至32−4が接続されて構成される。コンピュータ32−1乃至32−4は、通信ケーブル31を介して、例えば、100Mbpsの転送速度を有する100BASE-TXなどのイーサネット(Ethernet)の規格に準拠したインタフェースに対応した通信を行う。
コンピュータ32−1乃至32−4は、20個のバーチャルノード27の実装可能な処理能力(M=20)を有しており、コンピュータ32−1にバーチャルノード27−1乃至27−20が実装され、コンピュータ32−2にバーチャルノード27−21乃至27−40が実装される。
コンピュータ32−3には、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24が実装され、その記憶部が、TEデータベース25およびトラヒックデータベース26として用いられる。コンピュータ32−4には、ネットワークコントローラ13が実装される。
図6に示すように、インタフェースモジュール22に設けられるバーチャルノード27−1乃至27−40およびバーチャルノードR28が3台のコンピュータ32−1乃至32−3に分散されて実装され、ネットワークエミュレータ21は、3台のコンピュータ32−1乃至32−3により実現されている。上述したように、ネットワークエミュレータ21を構成する各ブロックは、TCP/IPにより通信を行うように設計されるので、例えば、バーチャルノード27の個数を増加させたい場合には、新たなコンピュータを通信ケーブル31に接続して、必要な個数のバーチャルノード27をセットアップするだけでよく、模擬するネットワーク規模の変更を容易に(柔軟に)行うことができる。即ち、ネットワークエミュレータ21の内部では、汎用性のあるTCP/IPを使用して通信を行っているので、優れた拡張性を実現することができる。なお、ネットワークエミュレータ21では、TCP/IP以外でも汎用性のある通信を採用することで、同様の拡張性を有することができる。
また、例えば、コンピュータ32−1乃至32−4がインタネットを介して接続されるように構成してもよく、コンピュータ32−1乃至32−4がそれぞれ離れた場所に設置されていても、ネットワークエミュレータ21としての機能を実現することができる。
また、複数台のコンピュータにネットワークエミュレータ21を実装する他、高性能なコンピュータを使用したり、バーチャルノード27の個数を少なくすることで、1台のコンピュータにネットワークエミュレータ21を実装してもよい。
即ち、図7は、図2に示したネットワークエミュレータ21の他の実装例を示す図である。図7の実装例では、10個のバーチャルノード27−1乃至27−10によりネットワークが仮想的に構成されている(N=10)。
図7に示すように、通信ケーブル31を介してコンピュータ33−1とコンピュータ33−2とが接続されており、コンピュータ33−1にネットワークエミュレータ21が実装され、コンピュータ33−2にネットワークコントローラ13が実装されている。
コンピュータ33は、図6のコンピュータ32と同様に、20個のバーチャルノード27の実装可能な処理能力(M=20)を有しており、コンピュータ32に実装することが可能なバーチャルノードの個数(M)よりも、仮想的にネットワークを構成するバーチャルノード27の個数(N)が十分に小さいので、コンピュータ33−1に、バーチャルノード27−1乃至27−10、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24を実装することが可能である。
このように1台のコンピュータ33−1にネットワークエミュレータ21が実装されている場合でも、ネットワークエミュレータ21を構成する各ブロックは、TCP/IPにより通信を行うように設計される。例えば、1台のコンピュータ33−1に実装可能な規模のネットワークでネットワークコントローラ13の試験を行った後、さらに大規模なネットワークでの試験に移行するように運用することができる。
次に、図8は、ネットワークエミュレータの第2の実施の形態の構成例を示すブロック図である。
図8では、図2のネットワークエミュレータ21を構成するブロックのうちの、バーチャルノード27−1乃至27−N、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24が示されている。
図8に示すように、バーチャルノード27−1乃至27−Nは、バーチャルノード処理部51−1乃至51−N、バッファ52−1乃至52−Nおよび53−1乃至53−N、タイマ54−1乃至54−N、並びに、遅延処理部55−1乃至55−Nをそれぞれ備えて構成されている。なお、遅延処理部55−1乃至55−Nは、本発明の遅延手段に対応する。
バーチャルノードR28は、バーチャルノード処理部61、バッファ62および63、タイマ64、並びに、遅延処理部65を備えて構成されている。リソースシミュレータ23は、リソースシミュレータ処理部71、並びに、バッファ72−1乃至72−Nおよび73を備えて構成され、トラヒックジェネレータ24は、トラヒックジェネレータ処理部81、並びに、バッファ82−1乃至82−Nおよび83を備えて構成されている。
このように構成されているネットワークエミュレータ21では、各ブロック間で送受信されるデータが、バッファに一時的に蓄積され、蓄積されたデータが逐次処理される。
例えば、リソースシミュレータ23では、リソースシミュレータ処理部71が、バーチャルノード27−1乃至27−NおよびバーチャルノードR28からの処理要求を1つずつ処理する。従って、複数の処理要求が到着した場合、リソースシミュレータ23では、バッファ72−1乃至72−Nおよび73に処理要求を一時的に蓄積させて、リソースシミュレータ処理部71が、逐次処理を行う。例えば、リソースシミュレータ処理部71は、処理要求を到着順に選択して処理を行ったり、各処理を一定時間ずつ分割して順番に実行するラウンドロビン方式により処理を行ったりすることができる。
そして、リソースシミュレータ23では、複数の処理要求が短時間に到着した場合などには、バッファ72−1乃至72−Nおよび73があふれないように、バッファ72−1乃至72−Nおよび73のキュー長が所定の閾値を超えると、バーチャルノード27−1乃至27−NおよびバーチャルノードR28から処理要求が到達しないように、バーチャルノード27−1乃至27−NおよびバーチャルノードR28に対して抑制信号を送信するようなフロー制御を行う。
また、トラヒックジェネレータ24も、リソースシミュレータ23と同様に、バッファ82−1乃至82−Nおよび83を利用して処理を行う。
ところで、実際のネットワークでは、その経路に応じて、ネットワークコントローラ13から各ノードに対しリクエストを送信してから、そのリクエストに対するレスポンスを受信するまでに所定の遅延時間を要する。ところが、ネットワークエミュレータ21を利用したネットワークコントローラ13の実験では、ネットワークコントローラ13とネットワークエミュレータ21との間の経路が短くなり、実際のネットワークでの挙動と異なって、リクエストの送信からレスポンスの受信までの遅延時間が短くなる。
そこで、ネットワークエミュレータ21では、タイマ54−1乃至54−N、遅延処理部55−1乃至55−N、タイマ64、および遅延処理部65により、その遅延時間をエミュレートすることができる。
例えば、バーチャルノード27−1が、リソースシミュレータ23からネットワークコントローラ13にレスポンスを送信するように要求された場合、バーチャルノード処理部51−1は、そのレスポンスを遅延処理部55−1に一時的に格納させて、タイマ54−1に対して時刻の計時を開始させる。そして、予め設定されている遅延時間になると、タイマ54−1が遅延時間が経過したことを遅延処理部55−1に通知し、これに応じて、遅延処理部55−1がレスポンスをネットワークコントローラ13に送信する。
このように、ネットワークエミュレータ21は、実際のネットワークの経路をデータが通過することによる遅延時間をエミュレートすることで、実際のネットワークと同様の挙動をすることができる。
なお、遅延処理部65において発生させる遅延の程度の設定は、即ち、バーチャルノード27からネットワークコントローラ13までの仮想的な距離の設定は、所定の遅延モデルにより決定され、例えば、図5のステップS31の初期設定においてバーチャルノード27−1乃至27−Nに設定される。
次に、図9は、ネットワークエミュレータの第3の実施の形態の構成例を示すブロック図である。
図9のネットワークエミュレータ91は、エミュレータ処理部92、ネットワーク構成設定入力部93、および故障発生部94を備えて構成される。なお、故障発生部94は、本発明の故障発生手段に対応する。
エミュレータ処理部92は、図2のネットワークエミュレータ21と同様に構成されており、ネットワークエミュレータ91においてネットワークを仮想的に構成するバーチャルノード27−1乃至27−Nがネットワークコントローラ13により制御される。
ネットワーク構成設定入力部93には、キーボードやマウスなどからなる入力装置(図示せず)が接続されており、ユーザの操作に応じて入力装置から入力される信号に従って、エミュレータ処理部92におけるネットワーク構成のパラメータを設定する。ネットワーク構成設定入力部93により設定されるパラメータには、OSPF-TEで広告されるOpaque LSA(LINK State Advertisements)の内容(例えば、ルータのIPアドレス、インタフェースのIPアドレス、リンクの帯域)が含まれる。
例えば、エミュレータ処理部92によるネットワークの模擬を開始するときに、ユーザは、ネットワーク構成設定入力部93を介してネットワークの初期設定としてパラメータを入力する。その後、ネットワークコントローラ13による制御に応じて、リソースシミュレータ23およびトラヒックジェネレータ24によるネットワークのエミュレートが行われ、ネットワークコントローラ13の実験が開始される。
また、ネットワークエミュレータ91では、故障発生部94が、所定の故障発生モデル(予めプログラムされたシナリオ)に従って、所定のタイミングで自動的にリンクまたはノードに故障を発生させ、ネットワーク構成設定入力部93を介してエミュレータ処理部92に設定することで、エミュレータ処理部92のネットワークのパラメータを変更させることができる。
例えば、所定のバーチャルノード27に故障が発生したことを示す情報が故障発生部94から出力された場合、インタフェースモジュール22は、その情報により指定されるバーチャルノード27の機能を停止する処理を行う。また、例えば、故障発生部94により所定のリンクに故障が発生したことを示す情報が供給された場合、リソースシミュレータ23は、その情報により指定されるリンクにより接続されていたパスを解除する処理を行う。
このように、ネットワークエミュレータ91では、バーチャルノード27−1乃至27−N、またはバーチャルノード27−1乃至27−N間のリンクにおいて故障が発生した場合におけるネットワークコントローラ13の挙動を実験することができる。なお、リンクまたはノードを擬似的に故障させる設定は、ユーザが、図示しない入力装置を操作してネットワークエミュレータ91に入力してもよい。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 ネットワーク, 12−1乃至12−4 ノード, 12−1’乃至12−4’ バーチャルノード 13 ネットワークコントローラ, 21 ネットワークエミュレータ, 22 インタフェースモジュール, 23 リソースシミュレータ, 24 トラヒックジェネレータ, 25 TEデータベース, 26 トラヒックデータベース, 27 バーチャルノード, 28 バーチャルノードR, 31 通信ケーブル, 32 コンピュータ, 33 コンピュータ, 51 バーチャルノード処理部, 52および53 バッファ, 54 タイマ, 55 遅延処理部, 61 バーチャルノード処理部, 62および63 バッファ, 64 タイマ, 65 遅延処理部, 71 リソースシミュレータ処理部, 72および73 バッファ, 81 トラヒックジェネレータ処理部, 82および83 バッファ, 91 ネットワークエミュレータ, 92 エミュレータ処理部, 93 ネットワーク構成設定入力部, 94 故障発生部

Claims (8)

  1. 複数のノードにより構成されるネットワークを制御するネットワークコントローラに接続されるネットワークエミュレータ装置において、
    複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、
    複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、
    複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段と
    を備え、
    前記トラヒック生成手段は、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、
    前記仮想ノードは、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、
    前記パス処理手段は、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、
    前記仮想ノードは、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する
    ネットワークエミュレータ装置。
  2. 前記パス処理手段は、前記ネットワークコントローラから前記仮想ノードを介して、前記仮想ノード間にパスを設定することが要求されたとき、複数の前記仮想ノードに現在設定されているパスの使用帯域および使用可能帯域のリソースに関するリソース情報に基づいて前記要求に対する処理を行う
    請求項1に記載のネットワークエミュレータ装置。
  3. 前記インタフェース手段に設けられる複数の前記仮想ノードと前記パス処理手段との間の通信、および、前記インタフェース手段に設けられる複数の前記仮想ノードと前記トラヒック生成手段との間の通信には、TCP/IP(Transmission Control Protocol/Internet Protocol)が用いられる
    請求項1に記載のネットワークエミュレータ装置。
  4. 前記インタフェース手段、前記パス処理手段、および前記トラヒック生成手段は、複数のコンピュータに実装される
    請求項1に記載のネットワークエミュレータ装置。
  5. 前記インタフェース手段に設けられる複数の前記仮想ノードは、前記ネットワークコントローラに対して送信するデータを遅延させる遅延手段をそれぞれ有する
    請求項1に記載のネットワークエミュレータ装置。
  6. 所定の故障発生モデルに従ったタイミングで、前記仮想ノード、または前記仮想ノード間のリンクに仮想的に故障を発生させ、故障が発生したことを示す情報を出力する故障発生手段
    をさらに備え、
    前記インタフェース手段は、前記故障が発生したことを示す情報で指定された前記仮想ノードの機能を停止し、
    前記パス処理手段は、前記故障が発生したことを示す情報で指定された前記リンクにより接続されていた前記仮想ノード間のパスを解除する
    請求項1に記載のネットワークエミュレータ装置。
  7. 複数のノードにより構成されるネットワークを制御するネットワークコントローラに接続されるネットワークエミュレータ装置の制御方法において、
    前記ネットワークエミュレータ装置は、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、
    前記トラヒック生成手段が、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、
    前記仮想ノードが、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、
    前記パス処理手段が、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、
    前記仮想ノードが、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する
    ステップを含むネットワークエミュレータ装置の制御方法。
  8. 複数のノードにより構成されるネットワークを制御するネットワークコントローラに接続されるネットワークエミュレータ装置を制御する処理をコンピュータに実行させるプログラムにおいて、
    前記ネットワークエミュレータ装置は、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、
    前記トラヒック生成手段が、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、
    前記仮想ノードが、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、
    前記パス処理手段が、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、
    前記仮想ノードが、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する
    ステップを含むプログラム。
JP2009253643A 2009-11-05 2009-11-05 ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラム Pending JP2011101140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009253643A JP2011101140A (ja) 2009-11-05 2009-11-05 ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009253643A JP2011101140A (ja) 2009-11-05 2009-11-05 ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2011101140A true JP2011101140A (ja) 2011-05-19

Family

ID=44191975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009253643A Pending JP2011101140A (ja) 2009-11-05 2009-11-05 ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2011101140A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020013214A1 (ja) * 2018-07-11 2020-01-16 三菱電機株式会社 ネットワーク制御装置及びネットワーク制御方法
JPWO2021166015A1 (ja) * 2020-02-17 2021-08-26

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006117833A1 (ja) * 2005-04-25 2006-11-09 Fujitsu Limited 監視シミュレーション装置,方法およびそのプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006117833A1 (ja) * 2005-04-25 2006-11-09 Fujitsu Limited 監視シミュレーション装置,方法およびそのプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200800573036; 西川 賀樹: 'プロセスレベルの仮想化を用いた大規模分散システムテストベッド' 先進的計算基盤システムシンポジウム 第2008巻, 20080604, 社団法人情報処理学会 *
CSNJ200910097469; 大木 英司: '光インフラ網上でのネットワーク仮想化に向けたネットワークエミュレータアーキテクチャ' 電子情報通信学会2009年総合大会講演論文集 通信2 , 20090304, 社団法人電子情報通信学会 *
JPN6013043442; 大木 英司: '光インフラ網上でのネットワーク仮想化に向けたネットワークエミュレータアーキテクチャ' 電子情報通信学会2009年総合大会講演論文集 通信2 , 20090304, 社団法人電子情報通信学会 *
JPN6014004891; 西川 賀樹: 'プロセスレベルの仮想化を用いた大規模分散システムテストベッド' 先進的計算基盤システムシンポジウム 第2008巻, 20080604, 社団法人情報処理学会 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020013214A1 (ja) * 2018-07-11 2020-01-16 三菱電機株式会社 ネットワーク制御装置及びネットワーク制御方法
JPWO2020013214A1 (ja) * 2018-07-11 2021-07-15 三菱電機株式会社 ネットワーク制御装置及びネットワーク制御方法
JP7282088B2 (ja) 2018-07-11 2023-05-26 三菱電機株式会社 ネットワーク制御装置及びネットワーク制御方法
JPWO2021166015A1 (ja) * 2020-02-17 2021-08-26
WO2021166015A1 (ja) * 2020-02-17 2021-08-26 日本電信電話株式会社 光通信ネットワーク管理装置
US20230076671A1 (en) * 2020-02-17 2023-03-09 Nippon Telegraph And Telephone Corporation Optical communication network management apparatus
JP7299551B2 (ja) 2020-02-17 2023-06-28 日本電信電話株式会社 光通信ネットワーク管理装置

Similar Documents

Publication Publication Date Title
JP6571090B2 (ja) 協働するネットワークコントローラに基づくマルチドメイン送信元ルート選択転送
WO2011013805A1 (ja) 制御サーバ、サービス提供システムおよび仮想的なインフラストラクチャの提供方法
Wen et al. Optical wavelength division multiplexing (WDM) network simulator (OWns): architecture and performance studies
Yang et al. Performance evaluation of multi-stratum resources integrated resilience for software defined inter-data center interconnect
JP5102689B2 (ja) 仮想ネットワークシステム、仮想ネットワーク構築方法
Christodoulopoulos et al. Performance evaluation of a hybrid optical/electrical interconnect
Chen et al. Deterministic quality of service guarantee for dynamic service chaining in software defined networking
CN103067287B (zh) 在转发和控制分离架构下实现虚拟可编程路由器的方法
Benet et al. OpenStackEmu—A cloud testbed combining network emulation with OpenStack and SDN
Rygielski et al. Modeling and prediction of software-defined networks performance using queueing petri nets
JP5750175B1 (ja) ネットワークシミュレータおよびネットワークシミュレーション方法
Kunz et al. Comparing OpenFlow and NETCONF when interconnecting data centers
Aktas et al. Scheduling and flexible control of bandwidth and in-transit services for end-to-end application workflows
JP2011101140A (ja) ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラム
Muñoz et al. SDN orchestration and virtualization of heterogeneous multi-domain and multi-layer transport networks: The STRAUSS approach
Yang et al. Experimental demonstration of time-aware software defined networking for OpenFlow-based intra-datacenter optical interconnection networks
Ahmed et al. A dynamic bulk provisioning framework for concurrent optimization in PCE-based WDM networks
US11405284B1 (en) Generating network link utilization targets using a packet-loss-versus-link utilization model
Zhao et al. Proactive and hitless vSDN reconfiguration to balance substrate TCAM utilization: From algorithm design to system prototype
JP2015233283A (ja) 相互接続ネットワーク・シミュレータおよび相互接続ネットワークをシミュレーションする方法
Humernbrum et al. Using software-defined networking for real-time internet applications
JP5063726B2 (ja) 仮想ノード装置のコンフィグ制御方法
Perelló et al. Experimenting with real application-specific QoS guarantees in a large-scale RINA demonstrator
Linn et al. Server Load Balancing in Software Defined Networking
Zhao et al. Time-sensitive software-defined networking (Ts-SDN) control architecture for flexi-grid optical networks with data center application

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140206