JP2011101140A - Network emulator device, method of controlling the same, and program - Google Patents

Network emulator device, method of controlling the same, and program 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
Japanese (ja)
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/en
Publication of JP2011101140A publication Critical patent/JP2011101140A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a network emulator device excellent in extensibility. <P>SOLUTION: An interface module 22 includes virtual nodes 27-1 to 27-N, and a traffic generator 24 transmits information about traffic virtually flowing through the virtual nodes 27-1 to 27-N through the virtual nodes 27-1 to 27-N to a network controller 13 in predetermined timing. The virtual nodes 27-1 to 27-N receive the request of path change transmitted from the network controller 13 and supply it to a resource simulator 23. The resource simulator 23 performs processing to the request of the path change, and transmits information indicating a processing result for the request through the virtual nodes 27-1 to 27-N to the network controller 13. This invention is applicable to a network emulator which tests the network controller, for instance. <P>COPYRIGHT: (C)2011,JPO&INPIT

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 Document 1 collects topology information and traffic information, and calculates the path route of the path based on these information and an optimal network control policy or algorithm, and Release. Non-patent documents 2 to 4 disclose an optimal network control policy or algorithm.

また、このようなネットワーク制御装置を開発する際には、ネットワーク規模に応じた複数の実機のルータを接続して構成されるネットワークを使用し、そのネットワークの構成およびトラヒックに応じてネットワーク制御装置がどのような挙動をするかが監視される。そして、最適な通信環境を実現するように、ネットワーク制御装置に対して各種の設定が行われる。   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 Document 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.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.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.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.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月.Eiji Oki, Takashi Miyamura, Hiroshi Shiomoto, “Network Emulator Architecture for Network Virtualization on Optical Infrastructure Networks” Proceedings of the IEICE General Conference, vol. 2009, B-12-8, Communication , March 2009.

ところで、ネットワークエミュレータを利用してネットワーク制御装置の試験を行う際には、ネットワーク制御装置による制御の対象となるネットワーク規模に応じて、ネットワークエミュレータにより模擬されるネットワークの規模を変更する必要がある。しかしながら、上述のネットワークエミュレータでは、その具体的な構成までは開示されておらず、ネットワーク規模に応じてネットワークエミュレータにより模擬されるネットワークの規模を容易に変更することができるような、拡張性の優れたネットワークエミュレータが求められている。   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.

実際に構築されるネットワークと、エミュレータにより模擬されるネットワークとを示す図である。It is a figure which shows the network actually constructed | assembled and the network simulated by an emulator. 本発明を適用したエミュレータの第1の実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 1st Embodiment of the emulator to which this invention is applied. パスを設定する処理を説明するフローチャートである。It is a flowchart explaining the process which sets a path | pass. パスを解除する処理を説明するフローチャートである。It is a flowchart explaining the process which cancels | releases a path | pass. ネットワークエミュレータにおいて実行される処理を説明するフローチャートである。It is a flowchart explaining the process performed in a network emulator. ネットワークエミュレータの実装例を示す図である。It is a figure which shows the example of mounting of a network emulator. ネットワークエミュレータの他の実装例を示す図である。It is a figure which shows the other example of mounting of a network emulator. ネットワークエミュレータの第2の実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 2nd Embodiment of a network emulator. ネットワークエミュレータの第3の実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 3rd Embodiment of a network emulator.

以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。   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 network 11 is configured by connecting nodes 12-1 to 12-4, and setting and canceling a path between the nodes 12-1 to 12-4 is performed by the network controller 13. Controlled by

ノード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 network controller 13 and topology information indicating the connection form of the network 11 is transmitted. Then, what kind of control the network controller 13 performs according to traffic information and topology information is monitored.

これに対し、図1Bのネットワークエミュレータ21は、ネットワークコントローラ13を試験するために、ネットワーク11を構成するノード12−1乃至12−4の代わりに、バーチャルノード12−1’乃至12−4’によるテスト環境を提供する。   In contrast, the network emulator 21 of FIG. 1B uses virtual nodes 12-1 ′ to 12-4 ′ instead of the nodes 12-1 to 12-4 configuring the network 11 in order to test the network controller 13. Provide a test environment.

ネットワークエミュレータ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 network emulator 21, but the virtual nodes 12-1 ′ to 12-4 ′ are in accordance with the test environment. The traffic information generated in this manner is transmitted to the network controller 13 and the topology information of the network virtually constituted by the virtual nodes 12-1 ′ to 12-4 ′ is transmitted to monitor the behavior of the network controller 13. The In this way, since the network emulator 21 does not actually transmit or receive data, it can transmit traffic information that cannot actually occur and cannot be assumed from the current communication environment. It is monitored what kind of control the network controller 13 performs for traffic fluctuations that are beyond the prediction range (which is difficult to predict).

ます、このようなネットワークを仮想的に構築するネットワークエミュレータ21に要求される条件を提示する。   First, the required conditions are presented to the network emulator 21 that virtually constructs such a network.

第1の要求条件として、ネットワークエミュレータ21は、インタフェース機能を備える必要がある。例えば、ネットワークエミュレータ21は、光IP(Internet Protocol)連携サーバプラットホームと接続するルータのインタフェースを模擬する必要がある。また、そのインタフェースとして、Telnet(テルネット:Telecommunication network)やSNMP(Simple Network Management Protocol)をサポートする必要がある。Telnetは、パスの設定および解除のコマンドをサポートし、SNMPコマンドは、トラヒック情報の取得をサポートする。   As a first requirement, the network emulator 21 needs to have an interface function. For example, the network emulator 21 needs to simulate an interface of a router connected to an optical IP (Internet Protocol) cooperation server platform. As the interface, it is necessary to support Telnet (Telecommunication network) and SNMP (Simple Network Management Protocol). Telnet supports path setup and release commands, and SNMP commands support the acquisition of traffic information.

第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 network emulator 21 needs to have a resource simulation function. For example, the network emulator 21 needs to simulate the behavior of the network by simulation. For example, network management is based on GMPLS (Generalized Multi-Protocol Label Switching) for optical networks and multi-protocol label switching (MPLS) for IP networks. No. 21 needs to simulate the behavior of GMPLS / MPLS. Information for managing resources such as topology information is defined by OSPF-TE (Open Shortest Path First-Traffic Engineering). For example, the network emulator 21 reduces the remaining bandwidth of the link used by the set path when the path is set, and reduces the remaining bandwidth of the link used by the path when the path is released. increase.

第3の要求条件として、ネットワークエミュレータ21は、トラヒック情報生成機能を備える必要がある。ネットワークエミュレータ21は、将来の予測困難なトラヒック変動を反映して、ネットワーク上で発生するトラヒックを模擬して、トラヒック情報を生成する機能をサポートする必要がある。   As a third requirement, the network emulator 21 needs to have a traffic information generation function. The network emulator 21 needs to support a function of generating traffic information by simulating traffic generated on the network, reflecting future traffic fluctuations that are difficult to predict.

第4の要求条件として、ネットワークエミュレータ21は、拡張性および柔軟性を備える必要がある。ネットワークエミュレータ21は、ネットワーク規模が大きくなっても、ハードウェアの制限に強く依存することない拡張性を有する必要がある。また、ネットワークエミュレータ21は、トポロジの変化、即ち、ノードやリンクの追加または削除に対して、コンフィグレーションを柔軟に変更可能である必要がある。   As a fourth requirement, the network emulator 21 needs to have expandability and flexibility. The network emulator 21 needs to have extensibility that does not strongly depend on hardware limitations even when the network scale increases. In addition, the network emulator 21 needs to be able to change the configuration flexibly in response to a topology change, that is, addition or deletion of a node or a link.

このような第1乃至第4の要求条件を満たすように、ネットワークエミュレータ21が構成される。   The network emulator 21 is configured to satisfy the first to fourth requirements.

図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 network emulator 21 includes an interface module 22, a resource simulator 23, a traffic generator 24, a TE (Traffic Engineering) database 25, and a traffic database 26. The interface module 22 includes a plurality of submodules including N virtual nodes 27-1 to 27-N and one virtual node R28. The interface module 22 corresponds to the interface means of the present invention, the resource simulator 23 corresponds to the path processing means of the present invention, the traffic generator 24 corresponds to the traffic generation means of the present invention, and the virtual nodes 27-1 to 27 -N corresponds to the virtual node of the present invention.

ネットワークエミュレータ21では、インタフェースモジュール22において模擬されるバーチャルノード27−1乃至27−Nによりネットワークが仮想的に構成され、ネットワークコントローラ13は、その仮想的に構成されるネットワークを制御する。   In the network emulator 21, a network is virtually configured by virtual nodes 27-1 to 27 -N simulated in the interface module 22, and the network controller 13 controls the virtually configured network.

また、インタフェースモジュール22は、ネットワークエミュレータ21で模擬されるネットワークを構成するルータの追加または削除に応じて、バーチャルノード27−1乃至27−Nの個数を柔軟に変化させることができる。即ち、ネットワークエミュレータ21で模擬されるネットワークの規模に応じた個数のバーチャルノードが、インタフェースモジュール22に用意される。   Further, the interface module 22 can flexibly change the number of virtual nodes 27-1 to 27 -N in accordance with the addition or deletion of a router constituting the network simulated by the network emulator 21. That is, a number of virtual nodes corresponding to the scale of the network simulated by the network emulator 21 are prepared in the interface module 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と称する。   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 network controller 13. Further, the virtual nodes 27-1 to 27-N communicate with the network controller 13 by CLI / SNTP (Command Line Interface / Simple Network Management Protocol). In addition, when it is not necessary to distinguish each of the virtual nodes 27-1 to 27-N, hereinafter, they are simply referred to as virtual nodes 27 as appropriate.

例えば、ネットワークコントローラ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 network controller 13 to the virtual nodes 27-1 to 27 -N. On the other hand, traffic information corresponding to traffic virtually generated between the virtual nodes 27-1 to 27 -N is transmitted from the virtual nodes 27-1 to 27 -N to the network controller 13 to the network controller 13. Is done.

バーチャルノードR28は、OSPF(Open Shortest Path First)によりネットワークコントローラ13と通信を行い、ネットワークコントローラ13との間でトポロジ情報およびリソース情報を交換するインタフェースとしての機能を実現する。   The virtual node R28 communicates with the network controller 13 by OSPF (Open Shortest Path First), and realizes a function as an interface for exchanging topology information and resource information with the network controller 13.

リソースシミュレータ23は、ネットワークコントローラ13がバーチャルノード27−1乃至27−Nに対してパスの設定または解除を要求すると、TEデータベース25に格納されているリソース情報を参照して、その要求に対する処理を行う。そして、リソースシミュレータ23は、その処理の結果に従って、TEデータベース25に格納されているトポロジ情報およびリソース情報を更新し、新たなトポロジ情報およびリソース情報をバーチャルノード27−1乃至27−NまたはバーチャルノードR28に供給する。   When the network controller 13 requests the virtual nodes 27-1 to 27-N to set or release a path, the resource simulator 23 refers to the resource information stored in the TE database 25 and performs processing for the request. Do. Then, the resource simulator 23 updates the topology information and resource information stored in the TE database 25 according to the result of the processing, and updates the new topology information and resource information to the virtual nodes 27-1 to 27-N or the virtual node. To R28.

トラヒックジェネレータ24は、トラヒックデータベース26に格納されているトラヒック生成モデル(後で詳述)を参照し、バーチャルノード27−1乃至27−Nに現在設定されているパスに流れるトラフィックを仮想的に発生させ、そのトラヒック量を示すトラヒック情報を、バーチャルノード27−1乃至27−Nに供給する。これにより、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークにおけるトラヒックの変動が模擬的に発生する。   The traffic generator 24 virtually generates traffic flowing in the paths currently set in the virtual nodes 27-1 to 27 -N with reference to a traffic generation model (detailed later) stored in the traffic database 26. Traffic information indicating the traffic volume is supplied to the virtual nodes 27-1 to 27-N. As a result, traffic fluctuations in a network virtually constituted by the virtual nodes 27-1 to 27-N are simulated.

TEデータベース25は、バーチャルノード27−1乃至27−Nの接続形態を示すトポロジ情報と、バーチャルノード27−1乃至27−Nに設定されているパスの使用帯域および使用可能帯域などのリソースを示すリソース情報を管理する。トラヒックデータベース26は、ネットワークコントローラ13を試験するためにバーチャルノード27−1乃至27−Nに仮想的にトラヒックを発生させるためのモデルであるトラヒック生成モデルを管理する。トラヒック生成モデルには、トラヒックを発生させるタイミング、発生させたトラヒック量を示すトラヒック情報、およびトラヒックの発生の対象となるバーチャルノード27が記述されている。なお、トラヒックデータベース26のトラヒック生成モデルには、現在では想定できないようなトラヒックの変動を発生させるようなトラヒック情報が含まれている。   The TE database 25 indicates topology information indicating the connection form of the virtual nodes 27-1 to 27 -N, and resources such as used bandwidth and usable bandwidth of paths set in the virtual nodes 27-1 to 27 -N. Manage resource information. The traffic database 26 manages a traffic generation model that is a model for virtually generating traffic in the virtual nodes 27-1 to 27 -N in order to test the network controller 13. The traffic generation model describes the timing at which traffic is generated, traffic information indicating the amount of traffic generated, and the virtual node 27 that is the target of the traffic generation. It should be noted that the traffic generation model of the traffic database 26 includes traffic information that causes traffic fluctuations that cannot be assumed at present.

ここで、ネットワークエミュレータ21の内部では、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いて、バーチャルノード27−1乃至27−Nとリソースシミュレータ23およびトラヒックジェネレータ24との間の通信、バーチャルノードR28とリソースシミュレータ23およびトラヒックジェネレータ24との間の通信、リソースシミュレータ23とトラヒックジェネレータ24との間の通信が行われる。   Here, in the network emulator 21, communication between the virtual nodes 27-1 to 27 -N, the resource simulator 23, and the traffic generator 24 using the TCP / IP (Transmission Control Protocol / Internet Protocol), the virtual node Communication between R28, the resource simulator 23, and the traffic generator 24, and communication between the resource simulator 23 and the traffic generator 24 are performed.

例えば、バーチャルノード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 resource simulator 23, a path setup request or path release request transmitted from the network controller 13, topology information updated in response to the request, and the like. Are sent and received using TCP / IP. In the communication between the virtual nodes 27-1 to 27-N and the traffic generator 24, traffic information is transmitted from the traffic generator 24 to the virtual nodes 27-1 to 27-N using TCP / IP. 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 resource simulator 23, topology information and resource information updated according to the behavior of the network from the resource simulator 23 to the virtual node R28 are transmitted using TCP / IP. Sent. In communication between the resource simulator 23 and the traffic generator 24, the current topology information is transmitted from the resource simulator 23 to the traffic generator 24 using TCP / IP.

このように、ネットワークエミュレータ21の内部において、バーチャルノード27−1乃至27−N、リソースシミュレータ23、およびトラヒックジェネレータ24の間の通信、即ち、図2において破線の矢印で接続が示されているブロック間の通信は、TCP/IPにより行われる。   As described above, communication between the virtual nodes 27-1 to 27 -N, the resource simulator 23, and the traffic generator 24 inside the network emulator 21, that is, blocks whose connections are indicated by broken-line arrows in FIG. 2. Communication between them is performed by TCP / IP.

このように、ネットワークエミュレータ21がTCP/IPを用いた通信を行うように設計することで、ネットワークエミュレータ21では、バーチャルノード27−1乃至27−N、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24を、それぞれ異なるコンピュータに実装することが可能となる。また、ネットワークエミュレータ21において仮想的に構成されるネットワークが、分散的に動作する。即ち、ネットワークエミュレータ21は、ネットワーク規模に対して、拡張性を有することになる。   In this way, the network emulator 21 is designed to perform communication using TCP / IP, so that in the network emulator 21, the virtual nodes 27-1 to 27 -N, the virtual node R 28, the resource simulator 23, and the traffic generator 24 can be mounted on different computers. In addition, a network configured virtually in the network emulator 21 operates in a distributed manner. That is, the network emulator 21 has expandability with respect to the network scale.

また、このように構成されているネットワークエミュレータ21では、バーチャルノード27−1乃至27−Nが実機のノード(例えば、図1のノード12)と同様の挙動をするので、即ち、ネットワークコントローラ13からみたネットワークのインタフェースが実際のネットワークと同様に構成されているので、ネットワークコントローラ13は、実機のノードを制御するのと同様の処理を行うことができる。従って、ネットワークを実際に構築することなく、ネットワークエミュレータ21により、ネットワークコントローラ13の実験を行うことができる。   Further, in the network emulator 21 configured in this way, the virtual nodes 27-1 to 27-N behave in the same manner as the actual nodes (for example, the node 12 in FIG. 1), that is, from the network controller 13. Since the interface of the seen network is configured in the same manner as the actual network, the network controller 13 can perform the same processing as controlling the node of the actual machine. Therefore, the network controller 13 can be tested by the network emulator 21 without actually constructing the network.

以上のようにネットワークエミュレータ21は構成されており、ネットワークエミュレータ21が模擬するネットワークにネットワークコントローラ13を接続させ、ネットワークコントローラ13に対してネットワークの制御を行うように指示をすると、ネットワークコントローラ13は、トラヒック情報およびトポロジ情報に基づいて、バーチャルノード27−1乃至27−N間のパスの設定または解除を制御する。   As described above, the network emulator 21 is configured. When the network controller 13 is connected to the network simulated by the network emulator 21 and the network controller 13 is instructed to control the network, the network controller 13 Based on the traffic information and the topology information, the setting or cancellation of the path between the virtual nodes 27-1 to 27-N is controlled.

次に、図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 network controller 13 communicates using the CLI on Telnet, logs in to the virtual node 27 that sets the path among the virtual nodes 27-1 to 27-N, and the process proceeds to step S12. move on.

ステップS12において、ネットワークコントローラ13は、ステップS11でログインしたバーチャルノード27に対し、パスの設定を要求するパスセットアップリクエストを送信する。パスセットアップリクエストには、物理ポートアドレス、IPアドレス、必要な帯域幅、必要なルート、スイッチタイプの属性を示す情報が含まれる。バーチャルノード27は、パスセットアップリクエストに含まれる情報を記憶し、ステップS13に進む。   In step S12, the network controller 13 transmits a path setup request for requesting path setting to the virtual node 27 logged in in step S11. The path setup request includes information indicating physical port address, IP address, necessary bandwidth, necessary route, and switch type attribute. The virtual node 27 stores the information included in the path setup request and proceeds to step S13.

ステップS13において、ステップS12でネットワークコントローラ13から送信されたパスセットアップリクエストを受信したバーチャルノード27は、そのパスセットアップリクエストに含まれる情報の正確性を確認し、アクティベートを行う。そして、バーチャルノード27は、パスセットアップリクエストに含まれている情報を、リソースシミュレータ23に供給し、処理はステップS14に進む。   In step S13, the virtual node 27 that has received the path setup request transmitted from the network controller 13 in step S12 confirms the accuracy of the information included in the path setup request and activates it. Then, the virtual node 27 supplies the information included in the path setup request to the resource simulator 23, and the process proceeds to step S14.

ステップS14において、リソースシミュレータ23は、ネットワークコントローラ13から要求されたパスを設定できるか否かを判定する。例えば、リソースシミュレータ23は、TEデータベース25に格納されているリソース情報を参照し、設定することが要求されているパスの帯域に、要求されている帯域幅の空きがあれば、パスを設定できると判定し、その帯域幅の空きがなければ、パスを設定できないと判定する。   In step S <b> 14, the resource simulator 23 determines whether the path requested from the network controller 13 can be set. For example, the resource simulator 23 refers to the resource information stored in the TE database 25, and can set a path if the bandwidth of the path requested to be set is free of the requested bandwidth. If there is no available bandwidth, it is determined that a path cannot be set.

ステップS14において、リソースシミュレータ23が、パスを設定できると判定した場合、処理はステップS15に進む。リソースシミュレータ23は、TEデータベース25に格納されているリソース情報およびトポロジ情報を、新たに設定するパスに基づいて更新し、仮想的に構成されるネットワークに新たなパスを設定した旨を、バーチャルノード27−1乃至27−Nに通知する。また、リソースシミュレータ23は、更新したリソース情報およびトポロジ情報をバーチャルノードR28に通知する。   If the resource simulator 23 determines in step S14 that a path can be set, the process proceeds to step S15. The resource simulator 23 updates the resource information and topology information stored in the TE database 25 based on the newly set path, and indicates that a new path has been set for the virtually configured network. 27-1 to 27-N. Further, the resource simulator 23 notifies the updated resource information and topology information to the virtual node R28.

一方、ステップS14において、リソースシミュレータ23が、パスを設定できないと判定した場合、処理はステップS16に進み、リソースシミュレータ23は、ステップS13でパスセットアップリクエストの情報を送信してきたバーチャルノード27に対し、パスを設定することができない旨を通知する。   On the other hand, when the resource simulator 23 determines in step S14 that the path cannot be set, the process proceeds to step S16, and the resource simulator 23 transmits the path setup request information in step S13 to the virtual node 27 that has transmitted the information. Notify that the path cannot be set.

ステップ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 network controller 13, and the process ends. For example, when a new path is set in step S15, the virtual nodes 27-1 to 27-N transmit to the network controller 13 that the new path has been set, and the virtual node R28 The updated resource information and topology information are transmitted to the network controller 13. On the other hand, when it is notified in step S16 that the path cannot be set, the virtual node 27 that has received the notification transmits to the network controller 13 that the path has not been set.

次に、図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 network controller 13 communicates using the CLI on Telnet, and logs in to the virtual node 27 that releases the path among the virtual nodes 27-1 to 27-N, and the processing proceeds to step S22. move on.

ステップS22において、ネットワークコントローラ13は、ステップS21でログインしたバーチャルノード27に対し、パスの解除を要求するパスリリースリクエストを送信する。パスリリースリクエストには、ローカルおよびリモートIPアドレスによりパスを確認する情報が含まれている。ステップS22の処理後、処理はステップS23に進む。   In step S22, the network controller 13 transmits a path release request for requesting cancellation of the path to the virtual node 27 logged in in step S21. The path release request includes information for confirming the path based on the local and remote IP addresses. After the process of step S22, the process proceeds to step S23.

ステップS23において、ステップS22でネットワークコントローラ13から送信されたパスリリースリクエストを受信したバーチャルノード27は、パスリリースリクエストに含まれる情報の正確性を確認し、アクティベートを行う。そして、バーチャルノード27は、パスリリースリクエストに含まれている情報を、リソースシミュレータ23に供給し、処理はステップS24に進む。   In step S23, the virtual node 27 that has received the path release request transmitted from the network controller 13 in step S22 confirms the accuracy of the information included in the path release request and activates it. Then, the virtual node 27 supplies the information included in the path release request to the resource simulator 23, and the process proceeds to step S24.

ステップS24において、リソースシミュレータ23は、パスリリースリクエストにより要求されたパスを解除するように、TEデータベース25に格納されているリソース情報およびトポロジ情報を更新し、処理はステップS25に進む。   In step S24, the resource simulator 23 updates the resource information and topology information stored in the TE database 25 so as to release the path requested by the path release request, and the process proceeds to step S25.

ステップS25において、リソースシミュレータ23は、仮想的に構成されていたネットワークに設定されていたパスが解除された旨を、バーチャルノード27−1乃至27−Nに通知する。また、リソースシミュレータ23は、更新したリソース情報およびトポロジ情報をバーチャルノードR28に通知する。   In step S25, the resource simulator 23 notifies the virtual nodes 27-1 to 27-N that the path set in the virtually configured network has been released. Further, the resource simulator 23 notifies the updated resource information and topology information to the virtual node R28.

ステップS26において、バーチャルノード27−1乃至27−Nは、パスの解除が行われたことをネットワークコントローラ13に送信するとともに、バーチャルノードR28が、更新したリソース情報およびトポロジ情報をネットワークコントローラ13に送信し、処理は終了する。   In step S26, the virtual nodes 27-1 to 27-N transmit to the network controller 13 that the path has been released, and the virtual node R28 transmits the updated resource information and topology information to the network controller 13. Then, the process ends.

以上のように、バーチャルノード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 network emulator 21.

ユーザは、まず、ネットワークエミュレータ21を複数台のコンピュータに実装する場合、実装に必要なコンピュータの台数を決定し、各コンピュータにバーチャルマシンを準備して、コンピュータどうしを通信ケーブルで接続する。なお、ネットワークエミュレータ21の複数台のコンピュータへの実装例については、図6を参照して後述する。   First, when the network emulator 21 is mounted on a plurality of computers, the user determines the number of computers necessary for the mounting, prepares a virtual machine for each computer, and connects the computers with a communication cable. An example of mounting the network emulator 21 on a plurality of computers will be described later with reference to FIG.

そして、ユーザが、各コンピュータに、リソースシミュレータ23、トラヒックジェネレータ24、バーチャルノード27−1乃至27−N、およびバーチャルノードR28を割り当てると処理が開始され、ステップS31において、ユーザの入力に従って、各種の初期設定が行われる。   Then, when the user assigns the resource simulator 23, the traffic generator 24, the virtual nodes 27-1 to 27-N, and the virtual node R28 to each computer, the process is started. Initial settings are made.

例えば、リソースシミュレータ23は、ネットワークコントローラ13の試験を開始する際のバーチャルノード27−1乃至27−Nによるネットワークの構成(ネットワークに接続されるバーチャルノード、それらの間のリンク)を設定して、その構成に基づいたトポロジ情報およびリソース情報をTEデータベース25に格納する。また、トラヒックジェネレータ24は、試験で使用するトラヒック生成モデルを設定(選択)してトラヒックデータベース26に格納する。   For example, the resource simulator 23 sets the network configuration (virtual nodes connected to the network, links between them) by the virtual nodes 27-1 to 27-N when starting the test of the network controller 13, Topology information and resource information based on the configuration are stored in the TE database 25. The traffic generator 24 sets (selects) a traffic generation model used in the test and stores it in the traffic database 26.

ステップ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 resource simulator 23, the virtual nodes 27-1 to 27-N and the virtual node R28, and the traffic generator 24 and the virtual node 27- A connection by TCP / IP is established between 1 to 27-N and the virtual node R28, a connection by TCP / IP is established between the resource simulator 23 and the traffic generator 24, and the process proceeds to step S33.

ステップ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 network emulator 21 is activated, and the virtual nodes 27-1 to 27 -N and the virtual node R <b> 28 start communication with the network controller 13. For example, the virtual nodes 27-1 to 27 -N start communication with the network controller 13 using CLI / SNTP, and the virtual node R 28 starts communication with the network controller 13 using OSPF. Thereby, the test of the network controller 13 is started.

ステップS33の処理後、処理はステップS34に進み、トラヒックジェネレータ24は、バーチャルノード27−1乃至27−Nにより仮想的に構成されるネットワークに仮想的なトラヒックを発生させるか否かを判定する。例えば、トラヒックジェネレータ24は、トラヒック生成モデルを参照し、トラヒックを生成させるタイミングであれば、トラヒックを発生させると判定し、トラヒックを発生させるタイミングでなければ、トラヒックを発生させないと判定する。   After the process of step S33, the process proceeds to step S34, and the traffic generator 24 determines whether or not virtual traffic is generated in a network virtually constituted by the virtual nodes 27-1 to 27-N. For example, the traffic generator 24 refers to the traffic generation model, determines that the traffic is generated if it is a timing for generating the traffic, and determines that the traffic is not generated if it is not the timing for generating the traffic.

ステップS34において、トラヒックジェネレータ24がトラヒックを発生させると判定した場合、処理はステップS35に進み、トラヒックジェネレータ24は、トラヒック生成モデルを参照し、現在のタイミングに対応付けられているトラヒック情報を、トラヒックの発生の対象となるバーチャルノード27に供給する。なお、トラヒックジェネレータ24は、現在のトポロジ情報でパスが設定されているバーチャルノード27間にトラヒックを生成させる。トラヒック情報が供給されたバーチャルノード27は、そのトラヒック情報をCLI/SNTPによりネットワークコントローラ13に送信する。   If it is determined in step S34 that the traffic generator 24 generates traffic, the process proceeds to step S35, and the traffic generator 24 refers to the traffic generation model and uses the traffic information associated with the current timing as traffic. Is supplied to the virtual node 27 that is the target of the occurrence of. The traffic generator 24 generates traffic between the virtual nodes 27 for which paths are set with the current topology information. The virtual node 27 supplied with the traffic information transmits the traffic information to the network controller 13 by CLI / SNTP.

ステップS35の処理後、または、ステップS34でトラヒックジェネレータ24がトラヒックを発生させないと判定した場合、処理はステップS36に進み、バーチャルノード27−1乃至27−Nは、ネットワークコントローラ13からリクエストが送信されてきたか否かを判定する。   After step S35, or when it is determined in step S34 that the traffic generator 24 does not generate traffic, the process proceeds to step S36, and the virtual nodes 27-1 to 27-N receive requests from the network controller 13. It is determined whether it has come.

ステップ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 network controller 13, the process returns to step S34, and the same process is performed thereafter. On the other hand, if any of the virtual nodes 27 determines in step S36 that a request has been transmitted from the network controller 13, the process proceeds to step S37.

ステップS37において、ネットワークコントローラ13からリクエストが送信されてきたと判定したバーチャルノード27は、ネットワークコントローラ13から送信されてきたリクエストを受信し、そのリクエストをリソースシミュレータ23に供給して、処理はステップS38に進む。   In step S37, the virtual node 27 having determined that the request has been transmitted from the network controller 13 receives the request transmitted from the network controller 13, supplies the request to the resource simulator 23, and the process proceeds to step S38. move on.

ステップS38において、リソースシミュレータ23は、ネットワークコントローラ13からのリクエストの内容を判定する。   In step S38, the resource simulator 23 determines the content of the request from the network controller 13.

ステップS38において、リソースシミュレータ23が、ネットワークコントローラ13からのリクエストの内容が、パスセットアップリクエストであると判定した場合、処理はステップS39に進み、リソースシミュレータ23は、パスを設定する処理を行う。即ち、リソースシミュレータ23は、図3のステップS14乃至S16で説明したように、TEデータベース25に格納されているリソース情報を参照してパスを設定できるか否かを判定し、その判定結果に基づいた処理を行う。   In step S38, when the resource simulator 23 determines that the content of the request from the network controller 13 is a path setup request, the process proceeds to step S39, and the resource simulator 23 performs a process of setting a path. That is, the resource simulator 23 determines whether or not a path can be set by referring to the resource information stored in the TE database 25 as described in steps S14 to S16 in FIG. 3, and based on the determination result. Process.

一方、ステップS38において、リソースシミュレータ23が、ネットワークコントローラ13からのリクエストの内容が、パスリリースリクエストであると判定した場合、処理はステップS40に進み、リソースシミュレータ23は、パスを解除する処理を行う。即ち、リソースシミュレータ23は、図4のステップS24およびS25で説明したように、TEデータベース25に格納されているリソース情報を更新してパスを解除する処理を行う。   On the other hand, when the resource simulator 23 determines in step S38 that the content of the request from the network controller 13 is a path release request, the process proceeds to step S40, and the resource simulator 23 performs a process for releasing the path. . That is, the resource simulator 23 performs processing for releasing the path by updating the resource information stored in the TE database 25 as described in steps S24 and S25 of FIG.

ステップ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 network controller 13. For example, as described in step S17 in FIG. 3, a new path has been set or a path has not been set, or the path is released as described in step S26 in FIG. The network controller 13 is notified as a processing result. After the process of step S41, the process returns to step S34, and the same process is performed thereafter.

このように、ネットワークエミュレータ21において仮想的に構成されたネットワークにトラヒックを発生させ、そのトラヒックに応じてネットワークコントローラ13から送信されてくるリクエストに応じた処理(パスの設定または解除)が行われるので、例えば、予測困難なトラヒックの発生に対してネットワークコントローラ13がどのような制御を行うかを試験することができる。また、ネットワークコントローラ13との通信は、インタフェースモジュール22に構成されたバーチャルノード27−1乃至27−NおよびバーチャルノードR28を介して行われるので、ネットワークコントローラ13に対し、実際のネットワークと同様の処理を行わせることができる。   As described above, the network emulator 21 generates traffic in the virtually configured network, and processing (path setting or cancellation) corresponding to the request transmitted from the network controller 13 is performed according to the traffic. For example, it is possible to test what control the network controller 13 performs for the occurrence of traffic that is difficult to predict. Further, since communication with the network controller 13 is performed via the virtual nodes 27-1 to 27 -N and the virtual node R 28 configured in the interface module 22, the network controller 13 is processed similarly to the actual network. Can be performed.

次に、ネットワークエミュレータ21をコンピュータに実装する例について説明する。   Next, an example in which the network emulator 21 is mounted on a computer will be described.

例えば、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 virtual nodes 27 having a CLI / SNMP interface with the network controller 13 is N, N virtual nodes are provided. In order to emulate the network constituted by the nodes 27, N / M computers are required.

また、OSPFのインタフェースを有するバーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24は、計算負荷がネットワーク規模に大きく依存しないため、1台のコンピュータに実装される。   Further, the virtual node R28, the resource simulator 23, and the traffic generator 24 having an OSPF interface are mounted on one computer because the calculation load does not greatly depend on the network scale.

従って、ネットワークエミュレータ21は、(N/M+1)個のコンピュータにより実装可能である。   Accordingly, the network emulator 21 can be implemented by (N / M + 1) computers.

次に、図6は、図2に示したネットワークエミュレータ21の実装例を示す図である。図6の実装例では、40個のバーチャルノード27−1乃至27−40によりネットワークが仮想的に構成されている(N=40)。   Next, FIG. 6 is a diagram showing an implementation example of the network emulator 21 shown in FIG. In the implementation example of FIG. 6, a network is virtually configured by 40 virtual nodes 27-1 to 27-40 (N = 40).

図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 communication cable 31. The computers 32-1 to 32-4 perform communication corresponding to an interface conforming to an Ethernet standard such as 100BASE-TX having a transfer rate of 100 Mbps via the communication cable 31.

コンピュータ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 virtual nodes 27, and the virtual nodes 27-1 to 27-20 are mounted on the computer 32-1. The virtual nodes 27-21 to 27-40 are mounted on the computer 32-2.

コンピュータ32−3には、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24が実装され、その記憶部が、TEデータベース25およびトラヒックデータベース26として用いられる。コンピュータ32−4には、ネットワークコントローラ13が実装される。   A virtual node R28, a resource simulator 23, and a traffic generator 24 are mounted on the computer 32-3, and the storage unit is used as the TE database 25 and the traffic database 26. The network controller 13 is mounted on the computer 32-4.

図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 interface module 22 are distributed and mounted on three computers 32-1 to 32-3. This is realized by three computers 32-1 to 32-3. As described above, each block constituting the network emulator 21 is designed to perform communication by TCP / IP. For example, when the number of virtual nodes 27 is to be increased, a new computer is connected to the communication cable. It is only necessary to set up the required number of virtual nodes 27 by connecting to the network 31, and the network scale to be simulated can be easily (flexibly) changed. That is, since communication is performed using the general-purpose TCP / IP inside the network emulator 21, excellent expandability can be realized. Note that the network emulator 21 can have the same expandability by adopting general-purpose communication other than TCP / IP.

また、例えば、コンピュータ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 network emulator 21 on a plurality of computers, the network emulator 21 may be mounted on a single computer by using a high-performance computer or reducing the number of virtual nodes 27.

即ち、図7は、図2に示したネットワークエミュレータ21の他の実装例を示す図である。図7の実装例では、10個のバーチャルノード27−1乃至27−10によりネットワークが仮想的に構成されている(N=10)。   That is, FIG. 7 is a diagram showing another implementation example of the network emulator 21 shown in FIG. In the implementation example of FIG. 7, a network is virtually configured by ten virtual nodes 27-1 to 27-10 (N = 10).

図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 communication cable 31, the network emulator 21 is mounted on the computer 33-1, and the network controller 13 is connected to the computer 33-2. Has been implemented.

コンピュータ33は、図6のコンピュータ32と同様に、20個のバーチャルノード27の実装可能な処理能力(M=20)を有しており、コンピュータ32に実装することが可能なバーチャルノードの個数(M)よりも、仮想的にネットワークを構成するバーチャルノード27の個数(N)が十分に小さいので、コンピュータ33−1に、バーチャルノード27−1乃至27−10、バーチャルノードR28、リソースシミュレータ23、およびトラヒックジェネレータ24を実装することが可能である。   Similar to the computer 32 in FIG. 6, the computer 33 has a processing capability (M = 20) that can be mounted on the 20 virtual nodes 27, and the number of virtual nodes that can be mounted on the computer 32 ( Since the number (N) of virtual nodes 27 that virtually configure the network is sufficiently smaller than M), the virtual nodes 27-1 to 27-10, virtual node R28, resource simulator 23, And a traffic generator 24 can be implemented.

このように1台のコンピュータ33−1にネットワークエミュレータ21が実装されている場合でも、ネットワークエミュレータ21を構成する各ブロックは、TCP/IPにより通信を行うように設計される。例えば、1台のコンピュータ33−1に実装可能な規模のネットワークでネットワークコントローラ13の試験を行った後、さらに大規模なネットワークでの試験に移行するように運用することができる。   Thus, even when the network emulator 21 is mounted on one computer 33-1, each block constituting the network emulator 21 is designed to perform communication by TCP / IP. For example, after the network controller 13 is tested on a network of a scale that can be mounted on one computer 33-1, it can be operated so as to shift to a test on a larger network.

次に、図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 resource simulator 23, and a traffic generator 24 among the blocks constituting the network emulator 21 of FIG.

図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 timer 54-. 1 to 54-N and delay processing units 55-1 to 55-N, respectively. The delay processing units 55-1 to 55-N correspond to the delay unit of the present invention.

バーチャルノード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 node processing unit 61, buffers 62 and 63, a timer 64, and a delay processing unit 65. The resource simulator 23 includes a resource simulator processing unit 71 and buffers 72-1 to 72-N and 73, and the traffic generator 24 includes a traffic generator processing unit 81 and buffers 82-1 to 82-N. And 83.

このように構成されているネットワークエミュレータ21では、各ブロック間で送受信されるデータが、バッファに一時的に蓄積され、蓄積されたデータが逐次処理される。   In the network emulator 21 configured as described above, data transmitted and received between each block is temporarily accumulated in a buffer, and the accumulated data is sequentially processed.

例えば、リソースシミュレータ23では、リソースシミュレータ処理部71が、バーチャルノード27−1乃至27−NおよびバーチャルノードR28からの処理要求を1つずつ処理する。従って、複数の処理要求が到着した場合、リソースシミュレータ23では、バッファ72−1乃至72−Nおよび73に処理要求を一時的に蓄積させて、リソースシミュレータ処理部71が、逐次処理を行う。例えば、リソースシミュレータ処理部71は、処理要求を到着順に選択して処理を行ったり、各処理を一定時間ずつ分割して順番に実行するラウンドロビン方式により処理を行ったりすることができる。   For example, in the resource simulator 23, the resource simulator processing unit 71 processes the processing requests from the virtual nodes 27-1 to 27-N and the virtual node R28 one by one. Therefore, when a plurality of processing requests arrive, the resource simulator 23 temporarily stores the processing requests in the buffers 72-1 to 72-N and 73, and the resource simulator processing unit 71 performs sequential processing. For example, the resource simulator processing unit 71 can perform processing by selecting processing requests in the order of arrival, or can perform processing by a round robin method in which each processing is divided into predetermined time intervals and executed in order.

そして、リソースシミュレータ23では、複数の処理要求が短時間に到着した場合などには、バッファ72−1乃至72−Nおよび73があふれないように、バッファ72−1乃至72−Nおよび73のキュー長が所定の閾値を超えると、バーチャルノード27−1乃至27−NおよびバーチャルノードR28から処理要求が到達しないように、バーチャルノード27−1乃至27−NおよびバーチャルノードR28に対して抑制信号を送信するようなフロー制御を行う。   In the resource simulator 23, when a plurality of processing requests arrive in a short time, the queues of the buffers 72-1 to 72-N and 73 are prevented so that the buffers 72-1 to 72-N and 73 do not overflow. When the length exceeds a predetermined threshold, a suppression signal is sent to the virtual nodes 27-1 to 27-N and the virtual node R28 so that processing requests do not reach from the virtual nodes 27-1 to 27-N and the virtual node R28. Perform flow control like sending.

また、トラヒックジェネレータ24も、リソースシミュレータ23と同様に、バッファ82−1乃至82−Nおよび83を利用して処理を行う。   The traffic generator 24 also performs processing using the buffers 82-1 to 82-N and 83, similarly to the resource simulator 23.

ところで、実際のネットワークでは、その経路に応じて、ネットワークコントローラ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 network controller 13 to each node according to the route. However, in the experiment of the network controller 13 using the network emulator 21, the path between the network controller 13 and the network emulator 21 is shortened, and unlike the behavior in the actual network, the process from the transmission of the request to the reception of the response. Delay time is shortened.

そこで、ネットワークエミュレータ21では、タイマ54−1乃至54−N、遅延処理部55−1乃至55−N、タイマ64、および遅延処理部65により、その遅延時間をエミュレートすることができる。   Therefore, in the network emulator 21, the delay time can be emulated by the timers 54-1 to 54-N, the delay processing units 55-1 to 55-N, the timer 64, and the delay processing unit 65.

例えば、バーチャルノード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 resource simulator 23 to the network controller 13, the virtual node processing unit 51-1 temporarily sends the response to the delay processing unit 55-1. The timer 54-1 is made to store the time. When the preset delay time is reached, the timer 54-1 notifies the delay processing unit 55-1 that the delay time has elapsed, and in response to this, the delay processing unit 55-1 sends a response to the network controller. 13 to send.

このように、ネットワークエミュレータ21は、実際のネットワークの経路をデータが通過することによる遅延時間をエミュレートすることで、実際のネットワークと同様の挙動をすることができる。   As described above, the network emulator 21 can behave in the same manner as the actual network by emulating the delay time caused by the data passing through the actual network path.

なお、遅延処理部65において発生させる遅延の程度の設定は、即ち、バーチャルノード27からネットワークコントローラ13までの仮想的な距離の設定は、所定の遅延モデルにより決定され、例えば、図5のステップS31の初期設定においてバーチャルノード27−1乃至27−Nに設定される。   The setting of the degree of delay generated in the delay processing unit 65, that is, the setting of the virtual distance from the virtual node 27 to the network controller 13 is determined by a predetermined delay model, for example, step S31 in FIG. In the initial setting, virtual nodes 27-1 to 27-N are set.

次に、図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 network emulator 91 of FIG. 9 includes an emulator processing unit 92, a network configuration setting input unit 93, and a failure generation unit 94. The failure generation unit 94 corresponds to the failure generation means of the present invention.

エミュレータ処理部92は、図2のネットワークエミュレータ21と同様に構成されており、ネットワークエミュレータ91においてネットワークを仮想的に構成するバーチャルノード27−1乃至27−Nがネットワークコントローラ13により制御される。   The emulator processing unit 92 is configured in the same manner as the network emulator 21 of FIG. 2, and the virtual nodes 27-1 to 27 -N that virtually configure the network in the network emulator 91 are controlled by the network controller 13.

ネットワーク構成設定入力部93には、キーボードやマウスなどからなる入力装置(図示せず)が接続されており、ユーザの操作に応じて入力装置から入力される信号に従って、エミュレータ処理部92におけるネットワーク構成のパラメータを設定する。ネットワーク構成設定入力部93により設定されるパラメータには、OSPF-TEで広告されるOpaque LSA(LINK State Advertisements)の内容(例えば、ルータのIPアドレス、インタフェースのIPアドレス、リンクの帯域)が含まれる。   The network configuration setting input unit 93 is connected to an input device (not shown) such as a keyboard and a mouse, and the network configuration in the emulator processing unit 92 according to a signal input from the input device according to a user operation. Set the parameters. The parameters set by the network configuration setting input unit 93 include the contents of Opaque LSA (LINK State Advertisements) advertised by OSPF-TE (for example, router IP address, interface IP address, link bandwidth). .

例えば、エミュレータ処理部92によるネットワークの模擬を開始するときに、ユーザは、ネットワーク構成設定入力部93を介してネットワークの初期設定としてパラメータを入力する。その後、ネットワークコントローラ13による制御に応じて、リソースシミュレータ23およびトラヒックジェネレータ24によるネットワークのエミュレートが行われ、ネットワークコントローラ13の実験が開始される。   For example, when network simulation is started by the emulator processing unit 92, the user inputs parameters as network initial settings via the network configuration setting input unit 93. Thereafter, network emulation is performed by the resource simulator 23 and the traffic generator 24 in accordance with the control by the network controller 13, and the experiment of the network controller 13 is started.

また、ネットワークエミュレータ91では、故障発生部94が、所定の故障発生モデル(予めプログラムされたシナリオ)に従って、所定のタイミングで自動的にリンクまたはノードに故障を発生させ、ネットワーク構成設定入力部93を介してエミュレータ処理部92に設定することで、エミュレータ処理部92のネットワークのパラメータを変更させることができる。   In the network emulator 91, the failure generation unit 94 automatically generates a failure in the link or node at a predetermined timing according to a predetermined failure generation model (pre-programmed scenario), and the network configuration setting input unit 93 is By setting in the emulator processing unit 92 via the network, the network parameters of the emulator processing unit 92 can be changed.

例えば、所定のバーチャルノード27に故障が発生したことを示す情報が故障発生部94から出力された場合、インタフェースモジュール22は、その情報により指定されるバーチャルノード27の機能を停止する処理を行う。また、例えば、故障発生部94により所定のリンクに故障が発生したことを示す情報が供給された場合、リソースシミュレータ23は、その情報により指定されるリンクにより接続されていたパスを解除する処理を行う。   For example, when information indicating that a failure has occurred in a predetermined virtual node 27 is output from the failure generation unit 94, the interface module 22 performs a process of stopping the function of the virtual node 27 specified by the information. Further, for example, when information indicating that a failure has occurred in a predetermined link is supplied by the failure generation unit 94, the resource simulator 23 performs a process of releasing the path connected by the link specified by the information. Do.

このように、ネットワークエミュレータ91では、バーチャルノード27−1乃至27−N、またはバーチャルノード27−1乃至27−N間のリンクにおいて故障が発生した場合におけるネットワークコントローラ13の挙動を実験することができる。なお、リンクまたはノードを擬似的に故障させる設定は、ユーザが、図示しない入力装置を操作してネットワークエミュレータ91に入力してもよい。   As described above, the network emulator 91 can test the behavior of the network controller 13 when a failure occurs in the link between the virtual nodes 27-1 to 27 -N or the virtual nodes 27-1 to 27 -N. . Note that the setting for causing a pseudo failure of a link or node may be input to the network emulator 91 by a user operating an input device (not shown).

なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。   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 ′ virtual node 13 network controller, 21 network emulator, 22 interface module, 23 resource simulator, 24 traffic generator, 25 TE database, 26 traffic database 27 virtual nodes, 28 virtual nodes R, 31 communication cables, 32 computers, 33 computers, 51 virtual node processing units, 52 and 53 buffers, 54 timers, 55 delay processing units, 61 virtual node processing units, 62 and 63 buffers, 64 timers, 65 delay processing units, 71 resource simulator processing units, 72 and 73 buffers, 81 Traffic generator processing unit, 82 and 83 buffer, 91 network emulator, 92 emulator processing unit, 93 network configuration setting input unit, 94 fault generation unit

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.
前記インタフェース手段に設けられる複数の前記仮想ノードと前記パス処理手段との間の通信、および、前記インタフェース手段に設けられる複数の前記仮想ノードと前記トラヒック生成手段との間の通信には、TCP/IP(Transmission Control Protocol/Internet Protocol)が用いられる
請求項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.
JP2009253643A 2009-11-05 2009-11-05 Network emulator device, method of controlling the same, and program Pending JP2011101140A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020013214A1 (en) * 2018-07-11 2020-01-16 三菱電機株式会社 Network control device and network control method
JPWO2021166015A1 (en) * 2020-02-17 2021-08-26

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006117833A1 (en) * 2005-04-25 2006-11-09 Fujitsu Limited Monitoring simulating device, method, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* 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 (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
JPWO2021166015A1 (en) * 2020-02-17 2021-08-26
WO2021166015A1 (en) * 2020-02-17 2021-08-26 日本電信電話株式会社 Optical communication network management device
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

Similar Documents

Publication Publication Date Title
Khattak et al. Performance evaluation of OpenDaylight SDN controller
JP6571090B2 (en) Multi-domain source route selective forwarding based on cooperating network controllers
Hammadi et al. A survey on architectures and energy efficiency in data center networks
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
CN103067287B (en) Forwarding and realizing under control separation architecture the method for virtual programmable router
Bhole et al. Distributed hierarchical control plane of software defined networking
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 (en) Network simulator and network simulation method
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
Ahmed et al. A dynamic bulk provisioning framework for concurrent optimization in PCE-based WDM networks
Perelló et al. Experimenting with real application-specific QoS guarantees in a large-scale RINA demonstrator
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 (en) Interconnection network simulator and method for simulating interconnection network
Humernbrum et al. Using software-defined networking for real-time internet applications
JP5063726B2 (en) Configuration control method for virtual node device
Linn et al. Server Load Balancing in Software Defined Networking
Yoo et al. Building a QoS Testing Framework for Simulating Real-World Network Topologies in a Software-defined Networking Environment

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