JP2011101140A - Network emulator device, method of controlling the same, and program - Google Patents
Network emulator device, method of controlling the same, and program Download PDFInfo
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラムに関し、特に、拡張性の優れたネットワークエミュレータ装置、ネットワークエミュレータ装置の制御方法、およびプログラムに関する。 The present invention relates to a network emulator device, a control method for a network emulator device, and a program, and more particularly to a network emulator device with excellent extensibility, a control method for a network emulator device, and a program.
従来、複数のルータが接続されて構成されるネットワークにおいて、ネットワークコントローラが、各ルータ間のトラヒック需要を予測し、最適な通信環境となるように各ルータ間のパスの設定を行っている。 Conventionally, in a network configured by connecting a plurality of routers, a network controller predicts traffic demand between the routers and sets a path between the routers so as to obtain an optimum communication environment.
ところで、近年、様々な種類のアプリケーションが出現しており、例えば、高精細テレビジョンや、ビデオストリーミング、高速データ通信などのように、大容量かつ高品質な通信を要求するアプリケーションによりネットワーク資源が占有されてしまい、ネットワークコントローラが、トラヒック需要を予測することが困難になってきている。 By the way, in recent years, various types of applications have appeared, and network resources are occupied by applications that require high-capacity and high-quality communication such as high-definition television, video streaming, and high-speed data communication. As a result, it has become difficult for the network controller to predict traffic demand.
ネットワークを介して様々なサービスを提供する必要があり、ネットワークコントローラは、カスタマの要求に応じて、ネットワークをダイナミックかつ効率的に使用できるように、ネットワークを制御する必要がある。 Various services need to be provided through the network, and the network controller needs to control the network so that the network can be used dynamically and efficiently in accordance with customer requirements.
例えば、非特許文献1で開示されているネットワーク制御装置は、トポロジ情報およびトラヒック情報を収集し、これらの情報と、最適なネットワーク制御ポリシーまたはアルゴリズムとに基づいて、パスの経路計算、設定、および解除を行う。最適なネットワーク制御ポリシーまたはアルゴリズムについては、非特許文献2乃至4に開示されている。
For example, the network control device disclosed in Non-Patent
また、このようなネットワーク制御装置を開発する際には、ネットワーク規模に応じた複数の実機のルータを接続して構成されるネットワークを使用し、そのネットワークの構成およびトラヒックに応じてネットワーク制御装置がどのような挙動をするかが監視される。そして、最適な通信環境を実現するように、ネットワーク制御装置に対して各種の設定が行われる。 Further, when developing such a network control device, a network configured by connecting a plurality of routers according to the network scale is used, and the network control device is configured according to the network configuration and traffic. The behavior is monitored. Various settings are made to the network control device so as to realize an optimum communication environment.
ところで、ネットワーク制御装置を運用するための試験を実施する際に、実機のルータを接続して大規模なネットワークを構成することは、多大なコストが必要になる。また、現在の通信環境からは想定できない程のトラヒックの変動に対しても正常に制御することができるようなネットワーク制御装置を開発するには、そのような予測困難なトラヒックをネットワークに反映させる必要があるが、実機のルータを接続して構成されるネットワークで、そのようなトラヒック変動を発生させることは困難である。 By the way, when carrying out a test for operating a network control device, it is necessary to connect an actual router to form a large-scale network, which requires a great deal of cost. In addition, in order to develop a network control device that can normally control traffic fluctuations that cannot be expected from the current communication environment, it is necessary to reflect such unpredictable traffic in the network. However, it is difficult to generate such traffic fluctuations in a network configured by connecting real routers.
そこで、本願出願人らは、非特許文献5において、ネットワーク制御装置を運用するための試験において使用されるネットワークエミュレータに関する提案を行っている。
Therefore, the applicants of the present application have proposed a network emulator used in a test for operating a network control device in Non-Patent
ところで、ネットワークエミュレータを利用してネットワーク制御装置の試験を行う際には、ネットワーク制御装置による制御の対象となるネットワーク規模に応じて、ネットワークエミュレータにより模擬されるネットワークの規模を変更する必要がある。しかしながら、上述のネットワークエミュレータでは、その具体的な構成までは開示されておらず、ネットワーク規模に応じてネットワークエミュレータにより模擬されるネットワークの規模を容易に変更することができるような、拡張性の優れたネットワークエミュレータが求められている。 By the way, when testing a network control apparatus using a network emulator, it is necessary to change the scale of the network simulated by the network emulator according to the network scale to be controlled by the network control apparatus. However, the above-described network emulator does not disclose the specific configuration, and has excellent extensibility so that the network scale simulated by the network emulator can be easily changed according to the network scale. A network emulator is needed.
本発明は、このような状況に鑑みてなされたものであり、拡張性の優れたネットワークエミュレータを提供することができるようにするものである。 The present invention has been made in view of such a situation, and is intended to provide a network emulator having excellent extensibility.
本発明の一側面のネットワークエミュレータ装置は、複数のノードにより構成されるネットワークを制御するネットワークコントローラに接続されるネットワークエミュレータ装置であって、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、前記トラヒック生成手段は、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、前記仮想ノードは、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、前記パス処理手段は、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、前記仮想ノードは、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する。 A network emulator device according to one aspect of the present invention is a network emulator device connected to a network controller that controls a network configured by a plurality of nodes, and is configured virtually corresponding to each of the plurality of nodes. A plurality of virtual nodes are provided, interface means for communicating with the network controller, and processing corresponding to a request for changing a path that communicates with each of the plurality of virtual nodes and virtually connects the plurality of virtual nodes. Path processing means that performs communication with each of the plurality of virtual nodes, and traffic generation means that virtually generates traffic flowing between the plurality of virtual nodes, the traffic generation means at a predetermined timing, Information about traffic that flows virtually between the virtual nodes To the virtual node, the virtual node transmits information on the traffic supplied from the traffic generation means to the network controller, and receives the path change request transmitted from the network controller. The path change request is supplied to the path processing means, and the path processing means performs processing for the path change request, and supplies information indicating a processing result for the request to the plurality of virtual nodes. The virtual node transmits information indicating the processing result supplied from the traffic generation means to the network controller.
本発明の一側面の制御方法またはプログラムは、複数のノードにより構成されるネットワークを制御するネットワークコントローラに接続されるネットワークエミュレータ装置の制御方法、または、そのネットワークエミュレータ装置を制御する処理をコンピュータに実行させるプログラムであって、前記ネットワークエミュレータ装置は、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、前記トラヒック生成手段が、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、前記仮想ノードが、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、前記パス処理手段が、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、前記仮想ノードが、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信するステップを含む。 A control method or program according to one aspect of the present invention executes a method for controlling a network emulator device connected to a network controller that controls a network configured by a plurality of nodes, or a computer that executes processing for controlling the network emulator device. The network emulator device includes a plurality of virtual nodes configured virtually corresponding to each of the plurality of nodes, interface means for communicating with the network controller, and a plurality of the virtual nodes. A path processing unit that communicates with each of the nodes and performs processing in response to a request for changing a path that virtually connects the plurality of virtual nodes; and communicates with each of the plurality of virtual nodes and between the plurality of virtual nodes Virtually generate traffic flowing through Traffic generation means for supplying the virtual node with information on traffic that virtually flows between the virtual nodes at a predetermined timing, and the virtual node supplies the traffic from the traffic generation means. Information regarding the traffic to be transmitted to the network controller, receiving the path change request transmitted from the network controller, supplying the path change request to the path processing means, and the path processing Means for processing the path change request, supplying information indicating a processing result for the request to the plurality of virtual nodes, and the virtual node indicating the processing result supplied from the traffic generation means; Transmitting information to the network controller.
本発明の一側面においては、ネットワークエミュレータ装置は、複数のノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、ネットワークコントローラと通信を行うインタフェース手段と、複数の仮想ノードそれぞれと通信し、複数の仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の仮想ノードそれぞれと通信し、複数の仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備えて構成される。そして、所定のタイミングで、仮想ノード間に仮想的に流れるトラヒックに関する情報が、仮想ノードを介してネットワークコントローラに送信され、ネットワークコントローラから送信されてくるパスの変更の要求が、複数の仮想ノードを介して供給される。そして、パスの変更の要求に対する処理が行われ、要求に対する処理結果を示す情報が、複数の仮想ノードを介してネットワークコントローラに送信される。 In one aspect of the present invention, a network emulator device includes a plurality of virtual nodes configured virtually corresponding to each of the plurality of nodes, an interface unit that communicates with the network controller, and each of the plurality of virtual nodes And a path processing means for performing processing in response to a request for changing a path for virtually connecting a plurality of virtual nodes, and communicating with each of the plurality of virtual nodes to virtualize traffic flowing between the plurality of virtual nodes. Traffic generating means for generating automatically. Then, at a predetermined timing, information related to traffic virtually flowing between the virtual nodes is transmitted to the network controller via the virtual nodes, and a path change request transmitted from the network controller is transmitted to the plurality of virtual nodes. Supplied through. Then, a process for a path change request is performed, and information indicating a processing result for the request is transmitted to the network controller via a plurality of virtual nodes.
本発明の一側面によれば、拡張性の優れたネットワークエミュレータ装置を提供することができる。 According to one aspect of the present invention, it is possible to provide a network emulator device with excellent expandability.
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.
まず、図1を参照して、実際に構築されたネットワークによるネットワークコントローラの試験と、エミュレータにより仮想的に構築されたネットワークによるネットワークコントローラの試験とについて説明する。 First, with reference to FIG. 1, a description will be given of a network controller test by a network actually constructed and a network controller test by a network virtually constructed by an emulator.
図1Aに示すように、ネットワーク11は、ノード12−1乃至12−4が接続されて構成されており、ノード12−1乃至12−4間のパス(Path)の設定および解除がネットワークコントローラ13により制御される。
As shown in FIG. 1A, the
ノード12−1乃至12−4は、実機のルータであり、ノード12−1乃至12−4間で実際にデータを送受信させることでトラヒックを発生させ、ノード12−1乃至12−4は、その実際のトラヒック量を示すトラヒック情報をネットワークコントローラ13に送信するとともに、ネットワーク11の接続形態を示すトポロジ情報を送信する。そして、ネットワークコントローラ13がトラヒック情報およびトポロジ情報に応じてどのような制御を行うかが監視される。
The nodes 12-1 to 12-4 are actual routers, which generate traffic by actually transmitting and receiving data between the nodes 12-1 to 12-4. The nodes 12-1 to 12-4 Traffic information indicating the actual traffic volume is transmitted to the
これに対し、図1Bのネットワークエミュレータ21は、ネットワークコントローラ13を試験するために、ネットワーク11を構成するノード12−1乃至12−4の代わりに、バーチャルノード12−1’乃至12−4’によるテスト環境を提供する。
In contrast, the
ネットワークエミュレータ21により模擬されたバーチャルノード12−1’乃至12−4’間では、実際にデータの送受信が行われるのではなく、バーチャルノード12−1’乃至12−4’は、試験環境に応じて生成されたトラヒック情報をネットワークコントローラ13に送信するとともに、バーチャルノード12−1’乃至12−4’により仮想的に構成されるネットワークのトポロジ情報を送信して、ネットワークコントローラ13の挙動が監視される。このように、ネットワークエミュレータ21では、データの送受信が実際に行われないので、現在の通信環境からは想定できないような、実際に発生することがありえないトラヒック情報を送信することができ、ネットワークコントローラ13の予測範囲を超えるような(予測困難な)トラヒックの変動に対して、ネットワークコントローラ13がどのような制御を行うかが監視される。
Data is not actually transmitted / received between the virtual nodes 12-1 ′ to 12-4 ′ simulated by the
ます、このようなネットワークを仮想的に構築するネットワークエミュレータ21に要求される条件を提示する。
First, the required conditions are presented to the
第1の要求条件として、ネットワークエミュレータ21は、インタフェース機能を備える必要がある。例えば、ネットワークエミュレータ21は、光IP(Internet Protocol)連携サーバプラットホームと接続するルータのインタフェースを模擬する必要がある。また、そのインタフェースとして、Telnet(テルネット:Telecommunication network)やSNMP(Simple Network Management Protocol)をサポートする必要がある。Telnetは、パスの設定および解除のコマンドをサポートし、SNMPコマンドは、トラヒック情報の取得をサポートする。
As a first requirement, the
第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は、パスが設定された場合は、その設定されたパスが使用するリンクの残余帯域を削減し、パスが解除された場合は、パスが使用していたリンクの残余帯域を増加させる。
As a second requirement, the
第3の要求条件として、ネットワークエミュレータ21は、トラヒック情報生成機能を備える必要がある。ネットワークエミュレータ21は、将来の予測困難なトラヒック変動を反映して、ネットワーク上で発生するトラヒックを模擬して、トラヒック情報を生成する機能をサポートする必要がある。
As a third requirement, the
第4の要求条件として、ネットワークエミュレータ21は、拡張性および柔軟性を備える必要がある。ネットワークエミュレータ21は、ネットワーク規模が大きくなっても、ハードウェアの制限に強く依存することない拡張性を有する必要がある。また、ネットワークエミュレータ21は、トポロジの変化、即ち、ノードやリンクの追加または削除に対して、コンフィグレーションを柔軟に変更可能である必要がある。
As a fourth requirement, the
このような第1乃至第4の要求条件を満たすように、ネットワークエミュレータ21が構成される。
The
図2は、ネットワークエミュレータの第1の実施の形態の構成例を示すブロック図である。 FIG. 2 is a block diagram showing a configuration example of the first embodiment of the network emulator.
図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は本発明の仮想ノードに対応する。
2, the
ネットワークエミュレータ21では、インタフェースモジュール22において模擬されるバーチャルノード27−1乃至27−Nによりネットワークが仮想的に構成され、ネットワークコントローラ13は、その仮想的に構成されるネットワークを制御する。
In the
また、インタフェースモジュール22は、ネットワークエミュレータ21で模擬されるネットワークを構成するルータの追加または削除に応じて、バーチャルノード27−1乃至27−Nの個数を柔軟に変化させることができる。即ち、ネットワークエミュレータ21で模擬されるネットワークの規模に応じた個数のバーチャルノードが、インタフェースモジュール22に用意される。
Further, the
バーチャルノード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と称する。
The virtual nodes 27-1 to 27 -N virtually realize the function of an edge router (router having an interface for communicating with the network controller 13) connected to the network controlled by the
例えば、ネットワークコントローラ13からバーチャルノード27−1乃至27−Nに対し、パスの設定を要求するパスセットアップリクエストや、パスの解除を要求するパスリリースリクエストが送信される。一方、バーチャルノード27−1乃至27−Nからネットワークコントローラ13に対して、バーチャルノード27−1乃至27−N間で仮想的に発生したとされるトラヒックに応じたトラヒック情報がネットワークコントローラ13に送信される。
For example, a path setup request for requesting path setting and a path release request for requesting path cancellation are transmitted from the
バーチャルノードR28は、OSPF(Open Shortest Path First)によりネットワークコントローラ13と通信を行い、ネットワークコントローラ13との間でトポロジ情報およびリソース情報を交換するインタフェースとしての機能を実現する。
The virtual node R28 communicates with the
リソースシミュレータ23は、ネットワークコントローラ13がバーチャルノード27−1乃至27−Nに対してパスの設定または解除を要求すると、TEデータベース25に格納されているリソース情報を参照して、その要求に対する処理を行う。そして、リソースシミュレータ23は、その処理の結果に従って、TEデータベース25に格納されているトポロジ情報およびリソース情報を更新し、新たなトポロジ情報およびリソース情報をバーチャルノード27−1乃至27−NまたはバーチャルノードR28に供給する。
When the
トラヒックジェネレータ24は、トラヒックデータベース26に格納されているトラヒック生成モデル(後で詳述)を参照し、バーチャルノード27−1乃至27−Nに現在設定されているパスに流れるトラフィックを仮想的に発生させ、そのトラヒック量を示すトラヒック情報を、バーチャルノード27−1乃至27−Nに供給する。これにより、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークにおけるトラヒックの変動が模擬的に発生する。
The
TEデータベース25は、バーチャルノード27−1乃至27−Nの接続形態を示すトポロジ情報と、バーチャルノード27−1乃至27−Nに設定されているパスの使用帯域および使用可能帯域などのリソースを示すリソース情報を管理する。トラヒックデータベース26は、ネットワークコントローラ13を試験するためにバーチャルノード27−1乃至27−Nに仮想的にトラヒックを発生させるためのモデルであるトラヒック生成モデルを管理する。トラヒック生成モデルには、トラヒックを発生させるタイミング、発生させたトラヒック量を示すトラヒック情報、およびトラヒックの発生の対象となるバーチャルノード27が記述されている。なお、トラヒックデータベース26のトラヒック生成モデルには、現在では想定できないようなトラヒックの変動を発生させるようなトラヒック情報が含まれている。
The
ここで、ネットワークエミュレータ21の内部では、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いて、バーチャルノード27−1乃至27−Nとリソースシミュレータ23およびトラヒックジェネレータ24との間の通信、バーチャルノードR28とリソースシミュレータ23およびトラヒックジェネレータ24との間の通信、リソースシミュレータ23とトラヒックジェネレータ24との間の通信が行われる。
Here, in the
例えば、バーチャルノード27−1乃至27−Nとリソースシミュレータ23との間の通信では、ネットワークコントローラ13から送信されてきたパスセットアップリクエストまたはパスリリースリクエストや、リクエストに応じて更新されるトポロジ情報などが、TCP/IPを用いて送受信される。また、バーチャルノード27−1乃至27−Nとトラヒックジェネレータ24との間の通信では、トラヒックジェネレータ24からバーチャルノード27−1乃至27−Nに対して、トラヒック情報がTCP/IPを用いて送信される。
For example, in communication between the virtual nodes 27-1 to 27-N and the
また、例えば、バーチャルノードR28とリソースシミュレータ23との間の通信では、リソースシミュレータ23からバーチャルノードR28に対して、ネットワークの挙動に応じて更新されるトポロジ情報およびリソース情報がTCP/IPを用いて送信される。また、リソースシミュレータ23とトラヒックジェネレータ24との間の通信では、リソースシミュレータ23からトラヒックジェネレータ24に対して、現在のトポロジ情報がTCP/IPを用いて送信される。
Further, for example, in communication between the virtual node R28 and the
このように、ネットワークエミュレータ21の内部において、バーチャルノード27−1乃至27−N、リソースシミュレータ23、およびトラヒックジェネレータ24の間の通信、即ち、図2において破線の矢印で接続が示されているブロック間の通信は、TCP/IPにより行われる。
As described above, communication between the virtual nodes 27-1 to 27 -N, the
このように、ネットワークエミュレータ21がTCP/IPを用いた通信を行うように設計することで、ネットワークエミュレータ21では、バーチャルノード27−1乃至27−N、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24を、それぞれ異なるコンピュータに実装することが可能となる。また、ネットワークエミュレータ21において仮想的に構成されるネットワークが、分散的に動作する。即ち、ネットワークエミュレータ21は、ネットワーク規模に対して、拡張性を有することになる。
In this way, the
また、このように構成されているネットワークエミュレータ21では、バーチャルノード27−1乃至27−Nが実機のノード(例えば、図1のノード12)と同様の挙動をするので、即ち、ネットワークコントローラ13からみたネットワークのインタフェースが実際のネットワークと同様に構成されているので、ネットワークコントローラ13は、実機のノードを制御するのと同様の処理を行うことができる。従って、ネットワークを実際に構築することなく、ネットワークエミュレータ21により、ネットワークコントローラ13の実験を行うことができる。
Further, in the
以上のようにネットワークエミュレータ21は構成されており、ネットワークエミュレータ21が模擬するネットワークにネットワークコントローラ13を接続させ、ネットワークコントローラ13に対してネットワークの制御を行うように指示をすると、ネットワークコントローラ13は、トラヒック情報およびトポロジ情報に基づいて、バーチャルノード27−1乃至27−N間のパスの設定または解除を制御する。
As described above, the
次に、図3は、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークにパスを設定する処理を説明するフローチャートである。 Next, FIG. 3 is a flowchart for explaining processing for setting a path in a network virtually constituted by the virtual nodes 27-1 to 27-N.
ステップS11において、ネットワークコントローラ13は、Telnet上のCLIを使用して通信を行い、バーチャルノード27−1乃至27−Nのうちの、パスを設定するバーチャルノード27にログインし、処理はステップS12に進む。
In step S11, the
ステップS12において、ネットワークコントローラ13は、ステップS11でログインしたバーチャルノード27に対し、パスの設定を要求するパスセットアップリクエストを送信する。パスセットアップリクエストには、物理ポートアドレス、IPアドレス、必要な帯域幅、必要なルート、スイッチタイプの属性を示す情報が含まれる。バーチャルノード27は、パスセットアップリクエストに含まれる情報を記憶し、ステップS13に進む。
In step S12, the
ステップS13において、ステップS12でネットワークコントローラ13から送信されたパスセットアップリクエストを受信したバーチャルノード27は、そのパスセットアップリクエストに含まれる情報の正確性を確認し、アクティベートを行う。そして、バーチャルノード27は、パスセットアップリクエストに含まれている情報を、リソースシミュレータ23に供給し、処理はステップS14に進む。
In step S13, the
ステップS14において、リソースシミュレータ23は、ネットワークコントローラ13から要求されたパスを設定できるか否かを判定する。例えば、リソースシミュレータ23は、TEデータベース25に格納されているリソース情報を参照し、設定することが要求されているパスの帯域に、要求されている帯域幅の空きがあれば、パスを設定できると判定し、その帯域幅の空きがなければ、パスを設定できないと判定する。
In step S <b> 14, the
ステップS14において、リソースシミュレータ23が、パスを設定できると判定した場合、処理はステップS15に進む。リソースシミュレータ23は、TEデータベース25に格納されているリソース情報およびトポロジ情報を、新たに設定するパスに基づいて更新し、仮想的に構成されるネットワークに新たなパスを設定した旨を、バーチャルノード27−1乃至27−Nに通知する。また、リソースシミュレータ23は、更新したリソース情報およびトポロジ情報をバーチャルノードR28に通知する。
If the
一方、ステップS14において、リソースシミュレータ23が、パスを設定できないと判定した場合、処理はステップS16に進み、リソースシミュレータ23は、ステップS13でパスセットアップリクエストの情報を送信してきたバーチャルノード27に対し、パスを設定することができない旨を通知する。
On the other hand, when the
ステップS15またはS16の処理後、処理はステップS17に進み、パスセットアップリクエストに対する結果がネットワークコントローラ13に送信され、処理は終了する。例えば、ステップS15で新たなパスが設定された場合は、バーチャルノード27−1乃至27−Nが、新たなパスの設定が行われたことをネットワークコントローラ13に送信するとともに、バーチャルノードR28が、更新したリソース情報およびトポロジ情報をネットワークコントローラ13に送信する。一方、ステップS16において、パスを設定することができない旨が通知された場合は、その通知を受けたバーチャルノード27が、パスの設定が行われなかったことをネットワークコントローラ13に送信する。
After the process of step S15 or S16, the process proceeds to step S17, the result for the path setup request is transmitted to the
次に、図4は、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークに設定されていたパスを解除する処理を説明するフローチャートである。 Next, FIG. 4 is a flowchart for explaining processing for canceling a path set in a network virtually constituted by the virtual nodes 27-1 to 27-N.
ステップS21において、ネットワークコントローラ13は、Telnet上のCLIを使用して通信を行い、バーチャルノード27−1乃至27−Nのうちの、パスを解除するバーチャルノード27にログインし、処理はステップS22に進む。
In step S21, the
ステップS22において、ネットワークコントローラ13は、ステップS21でログインしたバーチャルノード27に対し、パスの解除を要求するパスリリースリクエストを送信する。パスリリースリクエストには、ローカルおよびリモートIPアドレスによりパスを確認する情報が含まれている。ステップS22の処理後、処理はステップS23に進む。
In step S22, the
ステップS23において、ステップS22でネットワークコントローラ13から送信されたパスリリースリクエストを受信したバーチャルノード27は、パスリリースリクエストに含まれる情報の正確性を確認し、アクティベートを行う。そして、バーチャルノード27は、パスリリースリクエストに含まれている情報を、リソースシミュレータ23に供給し、処理はステップS24に進む。
In step S23, the
ステップS24において、リソースシミュレータ23は、パスリリースリクエストにより要求されたパスを解除するように、TEデータベース25に格納されているリソース情報およびトポロジ情報を更新し、処理はステップS25に進む。
In step S24, the
ステップS25において、リソースシミュレータ23は、仮想的に構成されていたネットワークに設定されていたパスが解除された旨を、バーチャルノード27−1乃至27−Nに通知する。また、リソースシミュレータ23は、更新したリソース情報およびトポロジ情報をバーチャルノードR28に通知する。
In step S25, the
ステップS26において、バーチャルノード27−1乃至27−Nは、パスの解除が行われたことをネットワークコントローラ13に送信するとともに、バーチャルノードR28が、更新したリソース情報およびトポロジ情報をネットワークコントローラ13に送信し、処理は終了する。
In step S26, the virtual nodes 27-1 to 27-N transmit to the
以上のように、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークに対するパスの設定および解除が行われる。 As described above, path setting and cancellation for a network virtually constituted by the virtual nodes 27-1 to 27-N are performed.
次に、図5は、ネットワークエミュレータ21において実行される処理を説明するフローチャートである。
Next, FIG. 5 is a flowchart for explaining processing executed in the
ユーザは、まず、ネットワークエミュレータ21を複数台のコンピュータに実装する場合、実装に必要なコンピュータの台数を決定し、各コンピュータにバーチャルマシンを準備して、コンピュータどうしを通信ケーブルで接続する。なお、ネットワークエミュレータ21の複数台のコンピュータへの実装例については、図6を参照して後述する。
First, when the
そして、ユーザが、各コンピュータに、リソースシミュレータ23、トラヒックジェネレータ24、バーチャルノード27−1乃至27−N、およびバーチャルノードR28を割り当てると処理が開始され、ステップS31において、ユーザの入力に従って、各種の初期設定が行われる。
Then, when the user assigns the
例えば、リソースシミュレータ23は、ネットワークコントローラ13の試験を開始する際のバーチャルノード27−1乃至27−Nによるネットワークの構成(ネットワークに接続されるバーチャルノード、それらの間のリンク)を設定して、その構成に基づいたトポロジ情報およびリソース情報をTEデータベース25に格納する。また、トラヒックジェネレータ24は、試験で使用するトラヒック生成モデルを設定(選択)してトラヒックデータベース26に格納する。
For example, the
ステップS31の処理後、処理はステップS32において、リソースシミュレータ23とバーチャルノード27−1乃至27−NおよびバーチャルノードR28との間でTCP/IPによる接続が確立され、トラヒックジェネレータ24とバーチャルノード27−1乃至27−NおよびバーチャルノードR28との間でTCP/IPによる接続が確立され、リソースシミュレータ23とトラヒックジェネレータ24との間でTCP/IPによる接続が確立され、処理はステップS33に進む。
After step S31, in step S32, the TCP / IP connection is established between the
ステップS33において、ネットワークエミュレータ21のアクティベートが行われ、バーチャルノード27−1乃至27−NおよびバーチャルノードR28は、ネットワークコントローラ13との通信を開始する。例えば、バーチャルノード27−1乃至27−Nは、CLI/SNTPによるネットワークコントローラ13との通信を開始し、バーチャルノードR28は、OSPFによるネットワークコントローラ13と通信を開始する。これにより、ネットワークコントローラ13の試験が開始される。
In step S <b> 33, the
ステップS33の処理後、処理はステップS34に進み、トラヒックジェネレータ24は、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークに仮想的なトラヒックを発生させるか否かを判定する。例えば、トラヒックジェネレータ24は、トラヒック生成モデルを参照し、トラヒックを生成させるタイミングであれば、トラヒックを発生させると判定し、トラヒックを発生させるタイミングでなければ、トラヒックを発生させないと判定する。
After the process of step S33, the process proceeds to step S34, and the
ステップS34において、トラヒックジェネレータ24がトラヒックを発生させると判定した場合、処理はステップS35に進み、トラヒックジェネレータ24は、トラヒック生成モデルを参照し、現在のタイミングに対応付けられているトラヒック情報を、トラヒックの発生の対象となるバーチャルノード27に供給する。なお、トラヒックジェネレータ24は、現在のトポロジ情報でパスが設定されているバーチャルノード27間にトラヒックを生成させる。トラヒック情報が供給されたバーチャルノード27は、そのトラヒック情報をCLI/SNTPによりネットワークコントローラ13に送信する。
If it is determined in step S34 that the
ステップS35の処理後、または、ステップS34でトラヒックジェネレータ24がトラヒックを発生させないと判定した場合、処理はステップS36に進み、バーチャルノード27−1乃至27−Nは、ネットワークコントローラ13からリクエストが送信されてきたか否かを判定する。
After step S35, or when it is determined in step S34 that the
ステップS36において、バーチャルノード27−1乃至27−Nが、ネットワークコントローラ13からリクエストが送信されていないと判定した場合、処理はステップS34に戻り、以下、同様の処理が行われる。一方、ステップS36において、いずれかのバーチャルノード27が、ネットワークコントローラ13からリクエストが送信されてきたと判定した場合、処理はステップS37に進む。
In step S36, when the virtual nodes 27-1 to 27-N determine that the request is not transmitted from the
ステップS37において、ネットワークコントローラ13からリクエストが送信されてきたと判定したバーチャルノード27は、ネットワークコントローラ13から送信されてきたリクエストを受信し、そのリクエストをリソースシミュレータ23に供給して、処理はステップS38に進む。
In step S37, the
ステップS38において、リソースシミュレータ23は、ネットワークコントローラ13からのリクエストの内容を判定する。
In step S38, the
ステップS38において、リソースシミュレータ23が、ネットワークコントローラ13からのリクエストの内容が、パスセットアップリクエストであると判定した場合、処理はステップS39に進み、リソースシミュレータ23は、パスを設定する処理を行う。即ち、リソースシミュレータ23は、図3のステップS14乃至S16で説明したように、TEデータベース25に格納されているリソース情報を参照してパスを設定できるか否かを判定し、その判定結果に基づいた処理を行う。
In step S38, when the
一方、ステップS38において、リソースシミュレータ23が、ネットワークコントローラ13からのリクエストの内容が、パスリリースリクエストであると判定した場合、処理はステップS40に進み、リソースシミュレータ23は、パスを解除する処理を行う。即ち、リソースシミュレータ23は、図4のステップS24およびS25で説明したように、TEデータベース25に格納されているリソース情報を更新してパスを解除する処理を行う。
On the other hand, when the
ステップS39またはS40の処理後、処理はステップS41に進み、バーチャルノード27−1乃至27−Nは、ステップS39またはS40での処理結果をネットワークコントローラ13に送信する。例えば、図3のステップS17で説明したように、新たなパスの設定が行われたこと或いはパスの設定が行われなかったこと、または、図4のステップS26で説明したように、パスの解除が行われたことが処理結果としてネットワークコントローラ13に通知される。ステップS41の処理後、処理はステップS34に戻り、以下、同様の処理が行われる。
After the process of step S39 or S40, the process proceeds to step S41, and the virtual nodes 27-1 to 27-N transmit the process result of step S39 or S40 to the
このように、ネットワークエミュレータ21において仮想的に構成されたネットワークにトラヒックを発生させ、そのトラヒックに応じてネットワークコントローラ13から送信されてくるリクエストに応じた処理(パスの設定または解除)が行われるので、例えば、予測困難なトラヒックの発生に対してネットワークコントローラ13がどのような制御を行うかを試験することができる。また、ネットワークコントローラ13との通信は、インタフェースモジュール22に構成されたバーチャルノード27−1乃至27−NおよびバーチャルノードR28を介して行われるので、ネットワークコントローラ13に対し、実際のネットワークと同様の処理を行わせることができる。
As described above, the
次に、ネットワークエミュレータ21をコンピュータに実装する例について説明する。
Next, an example in which the
例えば、CLI/SNMP/OSPFのインタフェースを有するバーチャルノードの実装において、1台のコンピュータに1つのバーチャルノードを対応付けて実装することができるが、このような1対1の対応による構成では効率が悪いので、VM(Virtual Machine)技術が利用される。VM技術では、複数のバーチャルノード(マシン)を1台のコンピュータに実装することができ、それらの複数のノードを独立に動作させることができる。 For example, in the implementation of a virtual node having a CLI / SNMP / OSPF interface, it is possible to implement one virtual node in association with one computer, but such a one-to-one correspondence configuration is efficient. Since it is bad, VM (Virtual Machine) technology is used. In the VM technology, a plurality of virtual nodes (machines) can be mounted on one computer, and the plurality of nodes can be operated independently.
1台のコンピュータに実装することが可能なバーチャルノードの個数は、そのコンピュータのCPUのパワーやメモリの容量などにより決定される。ここで、1台のコンピュータに実装することが可能なバーチャルノードの個数をM個とし、ネットワークコントローラ13とのCLI/SNMPのインタフェースを有するバーチャルノード27の個数をN個とすると、N個のバーチャルノード27により構成されるネットワークをエミュレーションするために、N/M個のコンピュータが必要になる。
The number of virtual nodes that can be mounted on one computer is determined by the CPU power and memory capacity of the computer. Here, assuming that the number of virtual nodes that can be mounted on one computer is M, and the number of
また、OSPFのインタフェースを有するバーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24は、計算負荷がネットワーク規模に大きく依存しないため、1台のコンピュータに実装される。
Further, the virtual node R28, the
従って、ネットワークエミュレータ21は、(N/M+1)個のコンピュータにより実装可能である。
Accordingly, the
次に、図6は、図2に示したネットワークエミュレータ21の実装例を示す図である。図6の実装例では、40個のバーチャルノード27−1乃至27−40によりネットワークが仮想的に構成されている(N=40)。
Next, FIG. 6 is a diagram showing an implementation example of the
図6に示すシステムは、通信ケーブル31を介して4台のコンピュータ32−1乃至32−4が接続されて構成される。コンピュータ32−1乃至32−4は、通信ケーブル31を介して、例えば、100Mbpsの転送速度を有する100BASE-TXなどのイーサネット(Ethernet)の規格に準拠したインタフェースに対応した通信を行う。
The system shown in FIG. 6 is configured by connecting four computers 32-1 to 32-4 via a
コンピュータ32−1乃至32−4は、20個のバーチャルノード27の実装可能な処理能力(M=20)を有しており、コンピュータ32−1にバーチャルノード27−1乃至27−20が実装され、コンピュータ32−2にバーチャルノード27−21乃至27−40が実装される。
The computers 32-1 to 32-4 have a processing capability (M = 20) that can implement 20
コンピュータ32−3には、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24が実装され、その記憶部が、TEデータベース25およびトラヒックデータベース26として用いられる。コンピュータ32−4には、ネットワークコントローラ13が実装される。
A virtual node R28, a
図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以外でも汎用性のある通信を採用することで、同様の拡張性を有することができる。
As shown in FIG. 6, virtual nodes 27-1 to 27-40 and virtual node R28 provided in the
また、例えば、コンピュータ32−1乃至32−4がインタネットを介して接続されるように構成してもよく、コンピュータ32−1乃至32−4がそれぞれ離れた場所に設置されていても、ネットワークエミュレータ21としての機能を実現することができる。 Further, for example, the computers 32-1 to 32-4 may be configured to be connected via the Internet, and even if the computers 32-1 to 32-4 are installed at separate locations, a network emulator may be used. The function as 21 can be realized.
また、複数台のコンピュータにネットワークエミュレータ21を実装する他、高性能なコンピュータを使用したり、バーチャルノード27の個数を少なくすることで、1台のコンピュータにネットワークエミュレータ21を実装してもよい。
In addition to mounting the
即ち、図7は、図2に示したネットワークエミュレータ21の他の実装例を示す図である。図7の実装例では、10個のバーチャルノード27−1乃至27−10によりネットワークが仮想的に構成されている(N=10)。
That is, FIG. 7 is a diagram showing another implementation example of the
図7に示すように、通信ケーブル31を介してコンピュータ33−1とコンピュータ33−2とが接続されており、コンピュータ33−1にネットワークエミュレータ21が実装され、コンピュータ33−2にネットワークコントローラ13が実装されている。
As shown in FIG. 7, a computer 33-1 and a computer 33-2 are connected via a
コンピュータ33は、図6のコンピュータ32と同様に、20個のバーチャルノード27の実装可能な処理能力(M=20)を有しており、コンピュータ32に実装することが可能なバーチャルノードの個数(M)よりも、仮想的にネットワークを構成するバーチャルノード27の個数(N)が十分に小さいので、コンピュータ33−1に、バーチャルノード27−1乃至27−10、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24を実装することが可能である。
Similar to the
このように1台のコンピュータ33−1にネットワークエミュレータ21が実装されている場合でも、ネットワークエミュレータ21を構成する各ブロックは、TCP/IPにより通信を行うように設計される。例えば、1台のコンピュータ33−1に実装可能な規模のネットワークでネットワークコントローラ13の試験を行った後、さらに大規模なネットワークでの試験に移行するように運用することができる。
Thus, even when the
次に、図8は、ネットワークエミュレータの第2の実施の形態の構成例を示すブロック図である。 Next, FIG. 8 is a block diagram showing a configuration example of the second embodiment of the network emulator.
図8では、図2のネットワークエミュレータ21を構成するブロックのうちの、バーチャルノード27−1乃至27−N、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24が示されている。
FIG. 8 shows virtual nodes 27-1 to 27-N, a virtual node R28, a
図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は、本発明の遅延手段に対応する。
As shown in FIG. 8, the virtual nodes 27-1 to 27-N include virtual node processing units 51-1 to 51-N, buffers 52-1 to 52-N and 53-1 to 53-N, and a
バーチャルノードR28は、バーチャルノード処理部61、バッファ62および63、タイマ64、並びに、遅延処理部65を備えて構成されている。リソースシミュレータ23は、リソースシミュレータ処理部71、並びに、バッファ72−1乃至72−Nおよび73を備えて構成され、トラヒックジェネレータ24は、トラヒックジェネレータ処理部81、並びに、バッファ82−1乃至82−Nおよび83を備えて構成されている。
The virtual node R28 includes a virtual
このように構成されているネットワークエミュレータ21では、各ブロック間で送受信されるデータが、バッファに一時的に蓄積され、蓄積されたデータが逐次処理される。
In the
例えば、リソースシミュレータ23では、リソースシミュレータ処理部71が、バーチャルノード27−1乃至27−NおよびバーチャルノードR28からの処理要求を1つずつ処理する。従って、複数の処理要求が到着した場合、リソースシミュレータ23では、バッファ72−1乃至72−Nおよび73に処理要求を一時的に蓄積させて、リソースシミュレータ処理部71が、逐次処理を行う。例えば、リソースシミュレータ処理部71は、処理要求を到着順に選択して処理を行ったり、各処理を一定時間ずつ分割して順番に実行するラウンドロビン方式により処理を行ったりすることができる。
For example, in the
そして、リソースシミュレータ23では、複数の処理要求が短時間に到着した場合などには、バッファ72−1乃至72−Nおよび73があふれないように、バッファ72−1乃至72−Nおよび73のキュー長が所定の閾値を超えると、バーチャルノード27−1乃至27−NおよびバーチャルノードR28から処理要求が到達しないように、バーチャルノード27−1乃至27−NおよびバーチャルノードR28に対して抑制信号を送信するようなフロー制御を行う。
In the
また、トラヒックジェネレータ24も、リソースシミュレータ23と同様に、バッファ82−1乃至82−Nおよび83を利用して処理を行う。
The
ところで、実際のネットワークでは、その経路に応じて、ネットワークコントローラ13から各ノードに対しリクエストを送信してから、そのリクエストに対するレスポンスを受信するまでに所定の遅延時間を要する。ところが、ネットワークエミュレータ21を利用したネットワークコントローラ13の実験では、ネットワークコントローラ13とネットワークエミュレータ21との間の経路が短くなり、実際のネットワークでの挙動と異なって、リクエストの送信からレスポンスの受信までの遅延時間が短くなる。
Incidentally, in an actual network, a predetermined delay time is required until a response to the request is received after a request is transmitted from the
そこで、ネットワークエミュレータ21では、タイマ54−1乃至54−N、遅延処理部55−1乃至55−N、タイマ64、および遅延処理部65により、その遅延時間をエミュレートすることができる。
Therefore, in the
例えば、バーチャルノード27−1が、リソースシミュレータ23からネットワークコントローラ13にレスポンスを送信するように要求された場合、バーチャルノード処理部51−1は、そのレスポンスを遅延処理部55−1に一時的に格納させて、タイマ54−1に対して時刻の計時を開始させる。そして、予め設定されている遅延時間になると、タイマ54−1が遅延時間が経過したことを遅延処理部55−1に通知し、これに応じて、遅延処理部55−1がレスポンスをネットワークコントローラ13に送信する。
For example, when the virtual node 27-1 is requested to send a response from the
このように、ネットワークエミュレータ21は、実際のネットワークの経路をデータが通過することによる遅延時間をエミュレートすることで、実際のネットワークと同様の挙動をすることができる。
As described above, the
なお、遅延処理部65において発生させる遅延の程度の設定は、即ち、バーチャルノード27からネットワークコントローラ13までの仮想的な距離の設定は、所定の遅延モデルにより決定され、例えば、図5のステップS31の初期設定においてバーチャルノード27−1乃至27−Nに設定される。
The setting of the degree of delay generated in the
次に、図9は、ネットワークエミュレータの第3の実施の形態の構成例を示すブロック図である。 Next, FIG. 9 is a block diagram showing a configuration example of the third embodiment of the network emulator.
図9のネットワークエミュレータ91は、エミュレータ処理部92、ネットワーク構成設定入力部93、および故障発生部94を備えて構成される。なお、故障発生部94は、本発明の故障発生手段に対応する。
The
エミュレータ処理部92は、図2のネットワークエミュレータ21と同様に構成されており、ネットワークエミュレータ91においてネットワークを仮想的に構成するバーチャルノード27−1乃至27−Nがネットワークコントローラ13により制御される。
The
ネットワーク構成設定入力部93には、キーボードやマウスなどからなる入力装置(図示せず)が接続されており、ユーザの操作に応じて入力装置から入力される信号に従って、エミュレータ処理部92におけるネットワーク構成のパラメータを設定する。ネットワーク構成設定入力部93により設定されるパラメータには、OSPF-TEで広告されるOpaque LSA(LINK State Advertisements)の内容(例えば、ルータのIPアドレス、インタフェースのIPアドレス、リンクの帯域)が含まれる。
The network configuration setting
例えば、エミュレータ処理部92によるネットワークの模擬を開始するときに、ユーザは、ネットワーク構成設定入力部93を介してネットワークの初期設定としてパラメータを入力する。その後、ネットワークコントローラ13による制御に応じて、リソースシミュレータ23およびトラヒックジェネレータ24によるネットワークのエミュレートが行われ、ネットワークコントローラ13の実験が開始される。
For example, when network simulation is started by the
また、ネットワークエミュレータ91では、故障発生部94が、所定の故障発生モデル(予めプログラムされたシナリオ)に従って、所定のタイミングで自動的にリンクまたはノードに故障を発生させ、ネットワーク構成設定入力部93を介してエミュレータ処理部92に設定することで、エミュレータ処理部92のネットワークのパラメータを変更させることができる。
In the
例えば、所定のバーチャルノード27に故障が発生したことを示す情報が故障発生部94から出力された場合、インタフェースモジュール22は、その情報により指定されるバーチャルノード27の機能を停止する処理を行う。また、例えば、故障発生部94により所定のリンクに故障が発生したことを示す情報が供給された場合、リソースシミュレータ23は、その情報により指定されるリンクにより接続されていたパスを解除する処理を行う。
For example, when information indicating that a failure has occurred in a predetermined
このように、ネットワークエミュレータ91では、バーチャルノード27−1乃至27−N、またはバーチャルノード27−1乃至27−N間のリンクにおいて故障が発生した場合におけるネットワークコントローラ13の挙動を実験することができる。なお、リンクまたはノードを擬似的に故障させる設定は、ユーザが、図示しない入力装置を操作してネットワークエミュレータ91に入力してもよい。
As described above, the
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
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 故障発生部
11 network, 12-1 to 12-4 node, 12-1 ′ to 12-4 ′
Claims (8)
複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、
複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、
複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段と
を備え、
前記トラヒック生成手段は、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、
前記仮想ノードは、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、
前記パス処理手段は、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、
前記仮想ノードは、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する
ネットワークエミュレータ装置。 In a network emulator device connected to a network controller that controls a network composed of a plurality of nodes,
A plurality of virtual nodes configured virtually corresponding to each of the plurality of nodes, interface means for communicating with the network controller;
Path processing means that communicates with each of the plurality of virtual nodes and performs processing in response to a request for changing a path that virtually connects the plurality of virtual nodes;
Traffic generating means for communicating with each of the plurality of virtual nodes and virtually generating traffic flowing between the plurality of virtual nodes;
The traffic generation means supplies the virtual node with information related to traffic that virtually flows between the virtual nodes at a predetermined timing,
The virtual node transmits information on the traffic supplied from the traffic generation means to the network controller, receives the path change request transmitted from the network controller, and sends the path change request. Supplying to the path processing means,
The path processing means performs processing for the path change request, supplies information indicating a processing result for the request to the plurality of virtual nodes,
The network emulator device, wherein the virtual node transmits information indicating the processing result supplied from the traffic generation unit to the network controller.
請求項1に記載のネットワークエミュレータ装置。 When the path processing unit is requested by the network controller to set a path between the virtual nodes via the virtual node, the bandwidth used and the usage of the path currently set in the plurality of virtual nodes The network emulator device according to claim 1, wherein processing for the request is performed based on resource information related to a resource in a possible bandwidth.
請求項1に記載のネットワークエミュレータ装置。 For communication between the plurality of virtual nodes provided in the interface means and the path processing means, and between the plurality of virtual nodes provided in the interface means and the traffic generation means, TCP / The network emulator device according to claim 1, wherein IP (Transmission Control Protocol / Internet Protocol) is used.
請求項1に記載のネットワークエミュレータ装置。 The network emulator device according to claim 1, wherein the interface unit, the path processing unit, and the traffic generation unit are mounted on a plurality of computers.
請求項1に記載のネットワークエミュレータ装置。 The network emulator apparatus according to claim 1, wherein each of the plurality of virtual nodes provided in the interface unit includes a delay unit that delays data to be transmitted to the network controller.
をさらに備え、
前記インタフェース手段は、前記故障が発生したことを示す情報で指定された前記仮想ノードの機能を停止し、
前記パス処理手段は、前記故障が発生したことを示す情報で指定された前記リンクにより接続されていた前記仮想ノード間のパスを解除する
請求項1に記載のネットワークエミュレータ装置。 A failure generation means for virtually generating a failure in the virtual node or a link between the virtual nodes at a timing according to a predetermined failure occurrence model, and outputting information indicating that the failure has occurred;
The interface means stops the function of the virtual node specified by the information indicating that the failure has occurred;
The network emulator apparatus according to claim 1, wherein the path processing unit cancels a path between the virtual nodes connected by the link specified by information indicating that the failure has occurred.
前記ネットワークエミュレータ装置は、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、
前記トラヒック生成手段が、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、
前記仮想ノードが、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、
前記パス処理手段が、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、
前記仮想ノードが、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する
ステップを含むネットワークエミュレータ装置の制御方法。 In a method for controlling a network emulator device connected to a network controller that controls a network constituted by a plurality of nodes,
The network emulator device includes a plurality of virtual nodes configured virtually corresponding to each of the plurality of nodes, interface means for communicating with the network controller, and communicates with each of the plurality of virtual nodes, A path processing means for performing a process in response to a request for changing a path for virtually connecting the plurality of virtual nodes; Traffic generating means for generating
The traffic generation means supplies the virtual node with information related to traffic that virtually flows between the virtual nodes at a predetermined timing,
The virtual node transmits information on the traffic supplied from the traffic generation means to the network controller, receives the path change request transmitted from the network controller, and sends the path change request. Supplying to the path processing means,
The path processing means performs processing for the path change request, and supplies information indicating a processing result for the request to the plurality of virtual nodes;
A method for controlling a network emulator device, comprising: a step in which the virtual node transmits information indicating the processing result supplied from the traffic generation means to the network controller.
前記ネットワークエミュレータ装置は、複数の前記ノードそれぞれに対応して仮想的に構成される複数の仮想ノードが設けられ、前記ネットワークコントローラと通信を行うインタフェース手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間を仮想的に接続するパスの変更の要求に応じた処理を行うパス処理手段と、複数の前記仮想ノードそれぞれと通信し、複数の前記仮想ノード間に流れるトラヒックを仮想的に発生させるトラヒック生成手段とを備え、
前記トラヒック生成手段が、所定のタイミングで、前記仮想ノード間に仮想的に流れるトラヒックに関する情報を前記仮想ノードに供給し、
前記仮想ノードが、前記トラヒック生成手段から供給される前記トラヒックに関する情報を前記ネットワークコントローラに送信し、前記ネットワークコントローラから送信されてくる前記パスの変更の要求を受信して前記パスの変更の要求を前記パス処理手段に供給し、
前記パス処理手段が、前記パスの変更の要求に対する処理を行い、前記要求に対する処理結果を示す情報を複数の前記仮想ノードに供給し、
前記仮想ノードが、前記トラヒック生成手段から供給される前記処理結果を示す情報を前記ネットワークコントローラに送信する
ステップを含むプログラム。 In a program for causing a computer to execute processing for controlling a network emulator device connected to a network controller that controls a network constituted by a plurality of nodes,
The network emulator device includes a plurality of virtual nodes configured virtually corresponding to each of the plurality of nodes, interface means for communicating with the network controller, and communicates with each of the plurality of virtual nodes, A path processing means for performing a process in response to a request for changing a path for virtually connecting the plurality of virtual nodes; Traffic generating means for generating
The traffic generation means supplies the virtual node with information related to traffic that virtually flows between the virtual nodes at a predetermined timing,
The virtual node transmits information on the traffic supplied from the traffic generation means to the network controller, receives the path change request transmitted from the network controller, and sends the path change request. Supplying to the path processing means,
The path processing means performs processing for the path change request, and supplies information indicating a processing result for the request to the plurality of virtual nodes;
The virtual node includes a step of transmitting information indicating the processing result supplied from the traffic generation means to the network controller.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009253643A JP2011101140A (en) | 2009-11-05 | 2009-11-05 | Network emulator device, method of controlling the same, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009253643A JP2011101140A (en) | 2009-11-05 | 2009-11-05 | Network emulator device, method of controlling the same, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011101140A true JP2011101140A (en) | 2011-05-19 |
Family
ID=44191975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009253643A Pending JP2011101140A (en) | 2009-11-05 | 2009-11-05 | Network emulator device, method of controlling the same, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011101140A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020013214A1 (en) * | 2018-07-11 | 2020-01-16 | 三菱電機株式会社 | Network control device and network control method |
WO2021166015A1 (en) * | 2020-02-17 | 2021-08-26 | 日本電信電話株式会社 | Optical communication network management device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117833A1 (en) * | 2005-04-25 | 2006-11-09 | Fujitsu Limited | Monitoring simulating device, method, and program |
-
2009
- 2009-11-05 JP JP2009253643A patent/JP2011101140A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117833A1 (en) * | 2005-04-25 | 2006-11-09 | Fujitsu Limited | Monitoring simulating device, method, and program |
Non-Patent Citations (4)
Title |
---|
CSNG200800573036; 西川 賀樹: 'プロセスレベルの仮想化を用いた大規模分散システムテストベッド' 先進的計算基盤システムシンポジウム 第2008巻, 20080604, 社団法人情報処理学会 * |
CSNJ200910097469; 大木 英司: '光インフラ網上でのネットワーク仮想化に向けたネットワークエミュレータアーキテクチャ' 電子情報通信学会2009年総合大会講演論文集 通信2 , 20090304, 社団法人電子情報通信学会 * |
JPN6013043442; 大木 英司: '光インフラ網上でのネットワーク仮想化に向けたネットワークエミュレータアーキテクチャ' 電子情報通信学会2009年総合大会講演論文集 通信2 , 20090304, 社団法人電子情報通信学会 * |
JPN6014004891; 西川 賀樹: 'プロセスレベルの仮想化を用いた大規模分散システムテストベッド' 先進的計算基盤システムシンポジウム 第2008巻, 20080604, 社団法人情報処理学会 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020013214A1 (en) * | 2018-07-11 | 2020-01-16 | 三菱電機株式会社 | Network control device and network control method |
JPWO2020013214A1 (en) * | 2018-07-11 | 2021-07-15 | 三菱電機株式会社 | Network control device and network control method |
JP7282088B2 (en) | 2018-07-11 | 2023-05-26 | 三菱電機株式会社 | Network control device and network control method |
WO2021166015A1 (en) * | 2020-02-17 | 2021-08-26 | 日本電信電話株式会社 | Optical communication network management device |
JPWO2021166015A1 (en) * | 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 (en) | 2020-02-17 | 2023-06-28 | 日本電信電話株式会社 | Optical communication network management device |
US12034484B2 (en) * | 2020-02-17 | 2024-07-09 | Nippon Telegraph And Telephone Corporation | Optical communication network management apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6571090B2 (en) | Multi-domain source route selective forwarding based on cooperating network controllers | |
WO2011013805A1 (en) | Control server, service-providing system, and method of providing a virtual infrastructure | |
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 (en) | Virtual network system and virtual network construction method | |
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 (en) | Forwarding and realizing under control separation architecture the method for virtual programmable router | |
Benet et al. | OpenStackEmu—A cloud testbed combining network emulation with OpenStack and SDN | |
Bhole et al. | Distributed hierarchical control plane of software defined networking | |
Rygielski et al. | Modeling and prediction of software-defined networks performance using queueing petri nets | |
Kunz et al. | Comparing OpenFlow and NETCONF when interconnecting data centers | |
JP5750175B1 (en) | Network simulator and network simulation method | |
Aktas et al. | Scheduling and flexible control of bandwidth and in-transit services for end-to-end application workflows | |
JP2011101140A (en) | Network emulator device, method of controlling the same, and program | |
Yang et al. | Experimental demonstration of time-aware software defined networking for OpenFlow-based intra-datacenter optical interconnection networks | |
Muñoz et al. | SDN orchestration and virtualization of heterogeneous multi-domain and multi-layer transport networks: The STRAUSS approach | |
Zhao et al. | Proactive and hitless vSDN reconfiguration to balance substrate TCAM utilization: From algorithm design to system prototype | |
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 | |
JP2015233283A (en) | Interconnection network simulator and method for simulating interconnection network | |
Humernbrum et al. | Using software-defined networking for real-time internet applications | |
Perelló et al. | Experimenting with real application-specific QoS guarantees in a large-scale RINA demonstrator | |
JP2011211466A (en) | Configuration control method of virtual node device | |
Linn et al. | Server Load Balancing in Software Defined Networking |
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 |