JP2017028629A - Verification device and verification method - Google Patents
Verification device and verification method Download PDFInfo
- Publication number
- JP2017028629A JP2017028629A JP2015148017A JP2015148017A JP2017028629A JP 2017028629 A JP2017028629 A JP 2017028629A JP 2015148017 A JP2015148017 A JP 2015148017A JP 2015148017 A JP2015148017 A JP 2015148017A JP 2017028629 A JP2017028629 A JP 2017028629A
- Authority
- JP
- Japan
- Prior art keywords
- node
- verification
- information
- communication path
- unit
- 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 verification apparatus and a verification method.
近年、ネットワークの通信経路を制御する技術として、SDN(Software defined networking)が知られている。SDNは、ネットワークを構成するネットワーク機器などのノードをソフトウェアによって集中的に制御し、ネットワークの構造や構成、設定などを柔軟に、動的に変更可能とする。このようなネットワークを制御する技術を用いて、複数のノードで構成された大規模なネットワークを論理的に分割し、分割した領域を貸し出すネットワークサービスが想定される。例えば、企業の複数の拠点が仮想的なネットワークで結ばれており、拠点間の帯域(デマンド)を指定してネットワークを貸し出すネットワークサービスが想定される。このようにネットワークを制御する場合、ネットワークの通信経路や帯域を論理的に設計する論理設計が行われる。そして、論理設計の結果に破綻がないことの論理的な検証が行われる。検証の結果、論理的に破綻がないことが確認されたネットワークの設計情報が、各ノードの設定情報に変換され、設定情報が各ノードに書き込まれる。ノードでは、書き込まれた設定情報を基に、内部のハードウェアのレジスタ情報を生成して、内部設定が行なわれる。 In recent years, SDN (Software defined networking) is known as a technique for controlling a communication path of a network. The SDN centrally controls nodes such as network devices constituting the network by software, and enables the network structure, configuration, settings, and the like to be flexibly and dynamically changed. A network service in which a large-scale network composed of a plurality of nodes is logically divided using such a network control technology and a divided area is lent is assumed. For example, a network service in which a plurality of bases of a company are connected by a virtual network, and a network is leased by specifying a bandwidth (demand) between the bases is assumed. In the case of controlling the network in this way, logical design for logically designing the communication path and bandwidth of the network is performed. Then, a logical verification is made that there is no failure in the result of the logical design. As a result of the verification, the network design information that has been logically confirmed to have no failure is converted into the setting information of each node, and the setting information is written into each node. In the node, internal setting is performed by generating internal hardware register information based on the written setting information.
しかし、論理的に破綻がないことが確認されたネットワークの設計情報から変換された設定情報を各ノードに書き込んでも、ネットワークに設計通りの通信経路や帯域を確保できない場合がある。例えば、ノードでは、レジスタ情報を生成するファームウェアに問題があるなどの理由により、ハードウェアに設定するレジスタがずれて設計通りの通信経路や帯域を確保できない場合がある。 However, even if setting information converted from network design information that has been confirmed to have no logical failure is written to each node, a communication path and bandwidth as designed may not be secured in the network. For example, in a node, there is a case where a register set in hardware is shifted and a designed communication path and bandwidth cannot be secured due to a problem in firmware that generates register information.
このような場合に対応するため、ネットワークにテストパケットを流して、ネットワークに論理設計どおりの通信経路や帯域を確保できているかを検証する検証手法が考えられる。例えば、論理設計で変化のあった通信経路にのみテストパケットを流す検証手法が考えられる。しかし、ノードでハードウェアに設定するレジスタがずれた場合、他の通信経路の設定が変更されてしまい、論理設計に変更がない通信経路に影響が及ぶ場合がある。このため、論理設計で変化のあった通信経路にのみテストパケットを流すのみでは、ノードの設定ミスの検出漏れが生じる可能性がある。また、例えば、論理的な設計の内容にかかわらず、ネットワークの全ての始点・終点間の全ての通信経路にテストパケットを流す検証手法が考えられる。しかし、全ての通信経路にテストパケットを流す場合、テストパケットのパケット数が多くなり、検証に時間がかかる。 In order to cope with such a case, a verification method is conceivable in which a test packet is sent to the network to verify whether a communication path and a band according to the logical design can be secured in the network. For example, a verification method that allows test packets to flow only through communication paths that have changed in the logical design is conceivable. However, if a register set in hardware at a node is shifted, settings of other communication paths are changed, which may affect a communication path that does not change the logical design. For this reason, if a test packet is only sent through a communication path that has changed in logical design, there is a possibility that a node setting error may be missed. In addition, for example, a verification method can be considered in which test packets are sent to all communication paths between all start points and end points of a network regardless of logical design contents. However, when test packets are sent to all communication paths, the number of test packets increases and verification takes time.
一つの側面では、少ないパケットでノードの設定ミスを検出できる検証装置および検証方法を提供することを目的とする。 An object of one aspect is to provide a verification device and a verification method that can detect a node setting error with a small number of packets.
第1の案では、検証装置は、検出部と、抽出部と、検証部と、を有する。検出部は、ネットワークを構成する複数のノードのうち、入力したパケットの出力先を示す経路情報が更新されたノードを検出する。抽出部は、検出部により検出されたノードを通る通信経路を、複数のノードの更新前後の経路情報から抽出する。検証部は、抽出部により抽出された通信経路に流されたテストパケットの到達性を検証する。 In the first proposal, the verification apparatus includes a detection unit, an extraction unit, and a verification unit. The detection unit detects a node in which path information indicating an output destination of the input packet is updated among a plurality of nodes constituting the network. The extraction unit extracts a communication path passing through the node detected by the detection unit from path information before and after updating of the plurality of nodes. The verification unit verifies the reachability of the test packet that is flowed on the communication path extracted by the extraction unit.
本発明の一の実施態様によれば、少ないパケットでノードの設定ミスを検出できるという効果を奏する。 According to one embodiment of the present invention, it is possible to detect a node setting error with a small number of packets.
以下に、本発明に係る検証装置および検証方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Embodiments of a verification apparatus and a verification method according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. Each embodiment can be appropriately combined within a range in which processing contents are not contradictory.
[ネットワークの論理設計および論理検証]
最初に、ネットワークの論理設計および論理検証について説明する。近年、ネットワークは、ネットワークを構成するルータやスイッチなどのネットワーク機器をソフトウェアによって集中的に制御することが可能とされている。このようにネットワークの制御に関する技術として、SDNがある。SDNは、ネットワークを構成するネットワーク機器などパケットを中継する装置をノードとし、ノードをソフトウェアによって集中的に制御し、ネットワークの構造や構成、設定などを柔軟に、動的に変更可能とする。
[Logical design and verification of network]
First, network logic design and logic verification will be described. In recent years, it has become possible for networks to centrally control network devices such as routers and switches constituting the network by software. Thus, there is SDN as a technique related to network control. The SDN uses a device that relays packets, such as a network device constituting a network, as a node, and centrally controls the node by software, so that the structure, configuration, setting, and the like of the network can be flexibly and dynamically changed.
SDNでは、ネットワークを利用する網利用者がソフトウェアによってネットワークを変更することが可能となる。図1は、ネットワークの設計の流れを模式的に示した図である。図1では、ノードA〜Fで構成されたネットワークの論理設計を行う場合を例に説明する。網利用者は、ネットワークに対するデマンドを入力する。例えば、網利用者は、ネットワークに対する通信経路および帯域の割当てを求めたデマンドを入力する。図1の例では、デマンドとして、通信経路の送信元および送信先に対応させて、通信経路で確保する帯域がマトリクス状に示されている。デマンドの「Src」の項目は、通信経路の送信元を記憶する領域である。デマンドの「Dst」の項目は、通信経路の宛先を記憶する領域である。図1の例では、送信元および宛先として、ネットワークで末端のノードとなるノードA、ノードB、ノードCが設定され、それぞれのノードのアドレスも設定されている。例えば、送信元および宛先には、「ノードA:IP_a」、「ノードB:IP_b」および「ノードC:IP_c」が設定されている。デマンドの送信元と宛先に対応する領域には、確保する帯域を示す数値が設定されている。図1の例では、送信元「ノードA:IP_a」と宛先「ノードB:IP_b」との間で「100」Mbpsの帯域を追加で確保することを示す。また、図1の例では、送信元「ノードA:IP_a」と宛先「ノードC:IP_c」との間で「50」Mbpsの帯域を追加で確保することを示す。また、図1の例では、送信元「ノードB:IP_b」と宛先「ノードC:IP_c」との間の帯域が「100」Mbpsの通信経路を削除することを示す。 In SDN, a network user who uses a network can change the network by software. FIG. 1 is a diagram schematically showing the flow of network design. In FIG. 1, a case where a logical design of a network composed of nodes A to F is performed will be described as an example. The network user inputs a demand for the network. For example, the network user inputs a demand for requesting allocation of a communication path and a bandwidth to the network. In the example of FIG. 1, the bandwidth secured in the communication path is shown in a matrix as the demand corresponding to the transmission source and the transmission destination of the communication path. The item “Src” of demand is an area for storing the transmission source of the communication path. The item “Dst” of demand is an area for storing the destination of the communication path. In the example of FIG. 1, Node A, Node B, and Node C, which are end nodes in the network, are set as the source and destination, and the addresses of the respective nodes are also set. For example, “node A: IP_a”, “node B: IP_b”, and “node C: IP_c” are set in the transmission source and the destination. In the areas corresponding to the demand transmission source and destination, a numerical value indicating the bandwidth to be secured is set. The example of FIG. 1 indicates that a band of “100” Mbps is additionally secured between the transmission source “Node A: IP_a” and the destination “Node B: IP_b”. Further, the example of FIG. 1 indicates that a bandwidth of “50” Mbps is additionally secured between the transmission source “node A: IP_a” and the destination “node C: IP_c”. Further, the example of FIG. 1 indicates that a communication path having a bandwidth of “100” Mbps between the transmission source “Node B: IP_b” and the destination “Node C: IP_c” is deleted.
論理設計では、デマンドに従い、経路設計が行われる。例えば、論理設計では、実際のネットワークを構成する各ノードに対して、デマンドの通信経路および帯域に応じて経路設計が行われる。図1の例では、「A−D−B;100(追加)」として、ノードA、ノードD、ノードBの経路で100Mbpsの通信経路を追加で確保することを示す。また、図1の例では、「A−D−F−E−C;50(追加)」として、ノードA、ノードD、ノードF、ノードE、ノードCの経路で50Mbpsの通信経路を追加で確保することを示す。また、図1の例では、「B−E−C;100(削除)」として、ノードB、ノードE、ノードCの経路で100Mbpsの通信経路を削除することを示す。 In logical design, route design is performed according to demand. For example, in the logical design, a path design is performed for each node constituting an actual network according to a demand communication path and a bandwidth. In the example of FIG. 1, “A-D-B; 100 (addition)” indicates that a communication path of 100 Mbps is additionally secured in the paths of node A, node D, and node B. In the example of FIG. 1, a communication path of 50 Mbps is added as the path of node A, node D, node F, node E, and node C as “A-D-F-E-C; 50 (addition)”. Indicates securing. In the example of FIG. 1, “B-E-C; 100 (deletion)” indicates that the communication path of 100 Mbps is deleted in the paths of the node B, the node E, and the node C.
ネットワークの論理設計では、経路設計に従い、ネットワークの設計情報が生成される。例えば、論理設計では、設計情報として、実際のネットワークを構成するノードごとに、経路テーブルが生成される。そして、論理設計では、設計情報から、各ノードに設定する設定情報が生成される。例えば、論理設計では、設定情報として、経路テーブルのエントリ情報を生成する。 In the network logical design, network design information is generated according to the path design. For example, in logical design, a route table is generated as design information for each node constituting an actual network. In the logical design, setting information to be set for each node is generated from the design information. For example, in logical design, route table entry information is generated as setting information.
このように、網利用者によってネットワークを変更可能とした場合、ネットワークを提供する網提供者がネットワークを全て一元管理していた場合に比べて、ネットワークの動作に不整合や想定外の事象が起きる可能性が高くなる。例えば、ネットワークでパケットが転送先に転送されなくなる場合や帯域を確保できない場合がある。そこで、生成された経路テーブルを実際のネットワークに適用する前に、生成された経路テーブルの妥当性の論理的な検証をソフトウェア上で行う。例えば、生成された各ノードの経路テーブルが、元のデマンドを満たすか、ミスを含まないかなど、論理設計の結果に破綻がないことの論理的な検証が行われる。検証の結果、論理的に破綻がないことが確認された経路テーブルを実際のネットワークに適用することで、実際のネットワークの動作に不整合や想定外の事象が起きることを抑制している。 In this way, when the network can be changed by the network user, inconsistencies and unexpected events occur in the network operation compared to the case where the network provider that provides the network manages all the networks in a unified manner. The possibility increases. For example, there are cases where a packet is not transferred to a transfer destination in the network, or a bandwidth cannot be secured. Therefore, before applying the generated route table to an actual network, logical verification of the validity of the generated route table is performed on software. For example, logical verification is made that there is no failure in the result of the logical design, such as whether the generated route table of each node satisfies the original demand or does not include a mistake. As a result of the verification, a route table that has been confirmed to have no logical failure is applied to the actual network, thereby suppressing inconsistencies and unexpected events in the actual network operation.
[ネットワークへの適用]
次に、論理設計の結果をネットワークに適用する流れについて説明する。図2は、論理設計の結果をネットワークに適用する流れを模式的に示した図である。SDNでは、SDNコントローラ10が設けられる。SDNコントローラ10は、実際のネットワークに対して各種の設定を行う装置である。SDNコントローラ10は、例えば、SDNコントローラ用のソフトウェアがインストールされたパーソナルコンピュータやサーバコンピュータなどのコンピュータなどである。
[Apply to network]
Next, the flow of applying the logical design result to the network will be described. FIG. 2 is a diagram schematically showing the flow of applying the result of logic design to the network. In the SDN, an
SDNコントローラ10には、論理的に破綻がないことが確認された設計情報が入力される。SDNコントローラ10は、設計情報に基づき、各ノードの経路テーブルに通信経路を設定する。例えば、SDNコントローラ10は、設計情報から、ノードごとに、各ノードの経路テーブルに通信経路の追加、削除を行うエントリ情報を生成し、各ノードの設定保持用のメモリ11Aにエントリ情報を格納する。
The
ノードでは、メモリ11Aに書き込まれたエントリ情報に基づき、内部のハードウェアのレジスタ情報を生成し、内部設定が行なわれる。例えば、ノードでは、ファームウェアによってエントリ情報からレジスタ情報が生成され、内部のCAM(Content Addressable Memory:連想メモリ)11Bに記憶された経路テーブルにルーティングの設定の追加や削除が行われる。ノードは、経路テーブルに従い、パケットをルーティングする。しかし、ノードでは、ファームウェアやハードウェアに問題があるなどの理由によりレジスタがずれ、CAM11Bの異なる領域に対してデータの登録や削除が行われる場合がある。このようにCAM11Bの異なる領域に対してデータの登録や削除が行われた場合、異なる領域のデータに対応する経路に影響が及ぶ。これにより、例えば、論理設計を変更していない他の通信経路に影響が及ぶ場合がある。
In the node, based on the entry information written in the
そこで、ネットワークにテストパケットを流して、ネットワークに論理設計どおりの通信経路や帯域を確保できているかを検証する。 Therefore, a test packet is sent to the network, and it is verified whether a communication path and a bandwidth as per the logical design can be secured in the network.
[システム構成]
次に、本実施例に係るシステム20について説明する。システム20は、SDNを適用して、実際のネットワーク21を構成するノードをソフトウェアによって集中的に制御するシステムである。図3は、システムの全体の概略構成の一例を示す図である。図3の例では、ネットワーク21は、ノードA〜ノードIを有する。ノードCは、ポート0によりノードEに接続されている。ノードDは、ポート0によりノードEに接続されている。ノードEは、ポート1によりノードCに接続され、ポート2によりノードDに接続され、ポート0によりノードFに接続されている。ノードFは、ポート2によりノードEに接続され、ポート0によりノードAに接続され、ポート1によりノードBに接続されている。ノードGは、ポート0によりノードHに接続されている。ノードHは、ポート1によりノードGに接続され、ポート0によりノードIに接続されている。ノードA、ノードB、ノードC、ノードD、ノードGおよびノードIは、外部と通信を行うエッジノードである。ノードE、ノードFおよびノードHは、エッジノードからのデータを中継する中継ノードである。
[System configuration]
Next, the
また、ネットワーク21は、複数のテストパケット送受信装置22と、検証装置23とを有する。ネットワーク21のエッジノードには、それぞれテストパケット送受信装置22が接続されている。各テストパケット送受信装置22は、検証装置23に接続されている。
The
テストパケット送受信装置22は、ネットワーク21との間でテストパケットの送受信を行う装置である。例えば、テストパケット送受信装置22は、検証装置23からの指示に応じて、それぞれエッジノードに対して、それぞれテストパケットの送信を行う。また、テストパケット送受信装置22は、検証装置23からの指示に応じて、それぞれエッジノードから受信されたテストパケットの受信結果を検証装置23に通知する。なお、本実施例では、エッジノードにテストパケット送受信装置22を接続しているが、エッジノードが検証装置23からの指示によりテストパケットを送受信する機能を有し、テストパケット送受信装置22として機能してもよい。
The test packet transmission /
検証装置23は、ネットワーク21の検証を行う装置である。検証装置23は、例えば、パーソナルコンピュータやサーバコンピュータなどのコンピュータなどである。検証装置23には、論理的に破綻がないことが確認された設計情報が入力される。検証装置23は、設計情報に基づき、テストパケット送受信装置22を制御して、ネットワーク21にテストパケットを流して、ネットワーク21に論理設計どおりの通信経路を確保できているかを検証する。
The
[検証装置の構成]
次に、本実施例に係る検証装置23の構成について説明する。図4は、検証装置の機能的な構成の一例を示す図である。図4に示すように、検証装置23は、通信I/F(インタフェース)部30と、入力部31と、表示部32と、記憶部33と、制御部34とを有する。なお、検証装置23は、上記の機器以外の他の機器を有してもよい。
[Configuration of verification device]
Next, the configuration of the
通信I/F部30は、他の装置との間で通信制御を行うインタフェースである。通信I/F部30としては、LANカードなどのネットワークインタフェースカードを採用できる。
The communication I /
通信I/F部30は、不図示のネットワークを介して他の装置と各種情報を送受信する。例えば、通信I/F部30は、論理的に破綻がないことが確認された設計情報や各ノードの経路テーブルを受信する。なお、設計情報は、SDNコントローラ10から受信してもよく、論理設計を行った装置から受信してもよい。また、設計情報は、入力部31から入力されてもよい。各ノードの経路テーブルは、SDNコントローラ10から受信してもよく、各ノードから受信してもよく、論理設計を行った装置から受信してもよい。また、各ノードの経路テーブルは、入力部31から入力されてもよい。
The communication I /
入力部31は、各種の情報を入力する入力デバイスである。入力部31としては、マウスやキーボードなどの操作の入力を受け付ける入力デバイスが挙げられる。入力部31は、各種の情報の入力を受け付ける。例えば、入力部31は、検証に関する各種の操作入力を受け付ける。入力部31は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部34に入力する。
The
表示部32は、各種情報を表示する表示デバイスである。表示部32としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。表示部32は、各種情報を表示する。例えば、表示部32は、各種の操作画面や検証結果を示した画面など、検証に関する各種の画面を表示する。
The
記憶部33は、各種のデータを記憶する記憶デバイスである。例えば、記憶部33は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部33は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。
The
記憶部33は、制御部34で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部33は、後述する各種の処理を実行するプログラムを含む各種のプログラムを記憶する。さらに、記憶部33は、制御部34で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部33は、変更前経路情報41と、変更後経路情報42と、テスト経路情報43とを記憶する。
The
変更前経路情報41は、変更前のネットワーク21の通信経路に関する情報を記憶したデータである。例えば、変更前経路情報41には、ネットワーク21を構成する各ノードの変更前の経路テーブルが記憶されている。
The
図5は、各ノードの経路テーブルのデータ構成の一例を示す図である。経路テーブル60は、各ノードのパケットを転送する経路を定義したエントリ情報を記憶したデータである。例えば、経路テーブル60には、エントリ情報ごとに、パケットの宛先に応じた出力先が記憶されている。 FIG. 5 is a diagram illustrating an example of a data configuration of a route table of each node. The route table 60 is data in which entry information defining a route for transferring a packet of each node is stored. For example, the routing table 60 stores an output destination corresponding to the destination of the packet for each entry information.
図5には、各ノードに対応づけて経路テーブル60が示されている。なお、本実施例では、説明を簡易化するため、経路テーブル60には、エントリ情報として宛先に応じた出力先のみを示している。図5には、ノードC、ノードD、ノードE、ノードF、ノードGおよびノードHの経路テーブル60が示されている。 FIG. 5 shows a route table 60 in association with each node. In the present embodiment, only the output destination corresponding to the destination is shown as the entry information in the route table 60 in order to simplify the description. FIG. 5 shows a route table 60 for nodes C, D, E, F, G and H.
経路テーブル60は、「テーブル番号」、「宛先ノード」、「出力ポート」の各項目を有する。テーブル番号の項目は、経路テーブル60に登録されたレコードを識別する識別情報を記憶する領域である。経路テーブル60のレコードには、登録された順番に識別番号が付与される。テーブル番号の項目には、レコードに付与された識別番号が格納される。宛先ノードの項目は、パケットの宛先を記憶する領域である。出力ポートの項目は、パケットの宛先に対応する出力先を記憶する領域である。経路テーブル60は、それぞれのレコードがエントリ情報に対応する。例えば、ノードEのテーブル番号「1」は、宛先ノードが「A」のパケットの出力ポートが「0」であることを示す。また、ノードEのテーブル番号「2」は、宛先ノードが「B」のパケットの出力ポートが「0」であることを示す。 The route table 60 includes items of “table number”, “destination node”, and “output port”. The table number item is an area for storing identification information for identifying a record registered in the route table 60. Identification numbers are assigned to records in the route table 60 in the registered order. In the table number field, an identification number assigned to the record is stored. The item of destination node is an area for storing the destination of the packet. The output port item is an area for storing an output destination corresponding to the destination of the packet. In the route table 60, each record corresponds to entry information. For example, the table number “1” of the node E indicates that the output port of the packet whose destination node is “A” is “0”. Further, the table number “2” of the node E indicates that the output port of the packet whose destination node is “B” is “0”.
図4に戻り、例えば、変更前経路情報41には、ノードC、ノードD、ノードE、ノードF、ノードGおよびノードHの経路テーブル60が記憶されている。
Returning to FIG. 4, for example, the
変更後経路情報42は、変更されたネットワーク21の通信経路に関する情報を記憶したデータである。例えば、変更後経路情報42には、論理的に破綻がないことが確認された設計情報が記憶される。なお、変更後経路情報42には、経路テーブル60が変更されたノードの変更後の経路テーブル60を記憶してもよく、通信経路の追加、削除を行うエントリ情報を記憶してもよい。
The
テスト経路情報43は、テストを行う通信経路に関する情報を記憶したデータである。
The
図4に戻り、制御部34は、検証装置23を制御するデバイスである。制御部34としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部34は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部34は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部34は、受付部50と、取得部51と、検出部52と、抽出部53と、検証部54と、出力部55とを有する。
Returning to FIG. 4, the
受付部50は、各種の受け付けを行う。例えば、受付部50は、各種の操作指示を受け付ける。例えば、受付部50は、検証に関する操作画面を表示部32に表示させて、入力部31から、検証開始などの操作指示を受け付ける。なお、本実施例では、入力部31から検証開始などの操作指示を受けるものとするが、他の装置に操作画面を表示させ、他の装置から遠隔で操作指示を受けてもよい。また、受付部50は、論理的に破綻がないことが確認された設計情報を取得したことを検証開始の受け付けとしてもよい。
The
取得部51は、各種の取得を行う。例えば、取得部51は、ネットワーク21の通信経路に関する情報を取得する。例えば、取得部51は、通信経路に関する情報として、各ノードの経路テーブル60を取得する。各ノードの経路テーブル60は、SDNコントローラ10から取得してもよく、各ノードから取得してもよい。また、各ノードの経路テーブル60は、一定期間ごとのタイミングなど周期的なタイミングで取得してもよく、指示されたタイミングで取得してもよい。また、各ノードの経路テーブル60は、SDNコントローラ10や各ノードが自立的に送信してもよく、取得部51が各ノードに対して送信を要求し、SDNコントローラ10や各ノードが要求に応じて送信してもよい。また、各ノードの経路テーブル60は、入力部31からの入力により取得してもよい。取得部51は、各ノードの経路テーブル60を変更前経路情報41として、記憶部33に格納する。
The
また、例えば、取得部51は、変更されたネットワーク21の通信経路に関する情報を取得する。例えば、取得部51は、論理的に破綻がないことが確認された設計情報を取得する。この設計情報は、論理設計を行った装置から取得してもよく、SDNコントローラ10から取得してもよい。また、設計情報は、入力部31からの入力により取得してもよい。取得部51は、論理的に破綻がないことが確認された設計情報を変更後経路情報42として、記憶部33に格納する。
For example, the
検出部52は、各種の検出を行う。例えば、検出部52は、ネットワーク21を構成する複数のノードのうち、入力したパケットの出力先を示す経路情報が更新されたノードを検出する。例えば、検出部52は、取得部51により設計情報が取得されると、設計情報から経路情報が更新されたノードを検出する。例えば、検出部52は、設計情報で通信経路の追加、削除が指定されたノードを、経路情報が更新されたノードと検出する。これにより、設計情報が変更されてノードに対して設定情報の書き込みが行われると、検出部52により、経路情報が更新されたノードが検出される。
The
抽出部53は、各種の抽出を行う。例えば、抽出部53は、経路情報が更新されたノードを通る通信経路を抽出する。例えば、抽出部53は、変更後経路情報42と変更前経路情報41に記憶された各ノードの変更前の経路テーブル60に基づいて、通信経路を特定する。例えば、抽出部53は、エッジノードごとに、経路テーブル60から、パケットの宛先を抽出し、抽出された宛先が設定されたパケットが当該エッジノードから入力した場合に、他のエッジノードに至るまでに転送されるノードを各ノードの変更前の経路テーブル60を用いて求める。例えば、図5の場合、ノードCでは、宛先「A」が抽出される。宛先「A」が設定されたパケットは、ノードCに入力した場合、ノードC→ノードE→ノードF→ノードAと転送されると通信経路が特定される。また、ノードDでは、宛先「B」が抽出される。宛先「B」が設定されたパケットは、ノードDに入力した場合、ノードD→ノードE→ノードF→ノードBと転送されると通信経路が特定される。また、ノードGでは、宛先「I」が抽出される。宛先「I」が設定されたパケットは、ノードGに入力した場合、ノードG→ノードH→ノードIと転送されると通信経路が特定される。抽出部53は、特定した通信経路のうち、取得部51により取得した設計情報により、経路テーブル60が変更されたノードを含んだ通信経路を抽出する。図6は、各ノードの経路テーブルの変更の一例を示す図である。図6の例は、ノードC→ノードE→ノードF→ノードAの通信経路を削除する場合の例を示している。例えば、ノードC→ノードE→ノードF→ノードAの通信経路を削除する場合、ノードC、ノードE、ノードFでは、経路テーブル60のテーブル番号1のレコードが削除される。図6の場合、抽出部53は、削除されたノードC→ノードE→ノードF→ノードAの通信経路と共に、ノードE、ノードFを通るノードD→ノードE→ノードF→ノードBの通信経路を抽出する。
The
ここで、論理設計において通信経路を変更する流れの一例を説明する。図7は、論理設計において通信経路を変更する流れの一例を示す図である。図7の例では、説明を簡略化するため、ネットワーク21のノードA〜F部分について論理設計を行う場合を例に説明する。
Here, an example of a flow for changing the communication path in the logical design will be described. FIG. 7 is a diagram illustrating an example of a flow for changing the communication path in the logical design. In the example of FIG. 7, in order to simplify the description, a case where logical design is performed on the nodes A to F of the
論理設計では、各ノード間のどのポート同士を接続するかどうかのルーティングの情報を生成する。例えば、論理設計では、宛先アドレスと出力ポートをペアにした情報の形で設計情報を生成してSDNコントローラ10に通知する。ノードでは、設計情報から変換された設定情報に基づき、内部の情報を更新する。このため、設計情報だけでは、ノード内部の状態を知ることはできない。
In the logical design, routing information indicating which ports between the nodes are connected to each other is generated. For example, in the logical design, design information is generated in the form of information in which the destination address and the output port are paired and notified to the
論理設計では、デマンドの入力による通信経路の追加と削除は、段階的に行なわれる。例えば、デマンドによりノードC→ノードAの経路を追加する場合、一回目に示すように、ノードC、ノードE、ノードF、ノードAの通信経路を生成する。例えば、一回目の設計情報には、ノードCがA宛てのパケットをポート0へ出力し、ノードEがA宛てのパケットをポート0へ出力し、ノードFがA宛てのパケットをポート1へ出力する通信経路が示されている。また、例えば、デマンドによりノードD→ノードBの経路を追加する場合、二回目に示すように、ノードD、ノードE、ノードF、ノードBの通信経路を追加する。例えば、二回目の設計情報には、ノードDがB宛てのパケットをポート0へ出力し、ノードEがB宛てのパケットをポート0へ出力し、ノードFがB宛てのパケットをポート2へ出力する通信経路が示されている。また、例えば、デマンドによりノードC→ノードAへ経路を削除する場合、三回目に示すように、二回目からノードC、ノードE、ノードF、ノードAの通信経路を削除する。例えば、一回目から二回目への変更では、ノードD、ノードEで経路テーブル60が変更される。このため、抽出部53は、追加されたノードD、ノードE、ノードFの通信経路と共に、ノードC、ノードE、ノードFの通信経路も抽出する。また、二回目から三回目への変更では、ノードD、ノードEで経路テーブル60が変更される。このため、抽出部53は、削除されたノードC、ノードE、ノードFの通信経路と共に、ノードD、ノードE、ノードFの通信経路も抽出する。
In the logical design, addition and deletion of communication paths by demand input are performed in stages. For example, when a route from node C to node A is added due to demand, communication routes of node C, node E, node F, and node A are generated as shown for the first time. For example, in the first design information, node C outputs a packet addressed to A to
検証部54は、各種の検証を行う。例えば、検証部54は、抽出部53により抽出された通信経路に流されたテストパケットの到達性を検証する。例えば、検証部54は、抽出部53により抽出された通信経路ごとに、通信経路の上流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定したテストパケットの送信を指示する。そして、検証部54は、抽出部53により抽出された通信経路ごとに、通信経路の下流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定されたテストパケットが受信されたか否かの問い合わせを行う。
The
テストパケット送受信装置22は、検証装置23からの問い合わせに応じて、テストパケットの受信結果を検証装置23に通知する。
In response to the inquiry from the
検証部54は、抽出部53により抽出された通信経路ごとに、テストパケット送受信装置22からのパケットの受信結果の通知に応じて、通信経路が正当であるか検証する。例えば、検証部54は、追加された通信経路で、テストパケットの受信が通知された場合、通信経路が正当であると判定する。一方、検証部54は、追加された通信経路で、テストパケットの受信が通知されない場合、通信経路に異常が発生していると判定する。また、検証部54は、削除された通信経路で、テストパケットの受信が通知されない場合、通信経路が正当であると判定する。一方、検証部54は、削除された通信経路で、テストパケットの受信が通知された場合、通信経路に異常が発生していると判定する。また、検証部54は、経路情報が更新されたノードを通る、設定が変更されてない既存の通信経路で、テストパケットの受信が通知された場合、通信経路が正当であると判定する。一方、検証部54は、経路情報が更新されたノードを通る既存の通信経路で、テストパケットの受信が通知されない場合、通信経路に異常が発生していると判定する。
For each communication path extracted by the
出力部55は、各種の出力を行う。例えば、出力部55は、検証部54の検証の結果の情報をSDNコントローラ10に出力して検証の結果を通知する。また、例えば、出力部55は、検証部54の検証の結果を表示部32に出力する。
The
ここで、通信経路に異常が発生している場合の一例を説明する。図8は、通信経路に異常が発生している場合の一例を説明する図である。図8の例では、説明を簡略化するため、ネットワーク21のノードA〜F部分を用いて説明する。図8の例では、ノードC、ノードE、ノードF、ノードAの通信経路と、ノードD、ノードE、ノードF、ノードBの通信経路があり、論理設計でノードC、ノードE、ノードF、ノードAの通信経路を削除している。この場合、ノードC、ノードE、ノードF、ノードAの内容が変化するが、以下では、説明を簡略化するため、主にノードEの経路情報の書き換えについて説明する。
Here, an example when an abnormality has occurred in the communication path will be described. FIG. 8 is a diagram for explaining an example when an abnormality has occurred in the communication path. In the example of FIG. 8, in order to simplify the description, description will be made using the nodes A to F of the
例えば、経路設計では、論理設計の結果として、削除された通信経路に関する差分情報が設計情報として生成される。例えば、ノードCから宛先Aのパケットをポート0へ出力するエントリを削除し、ノードEから宛先Aのパケットをポート0へ出力するエントリを削除する差分情報が設計情報として、SDNコントローラ10に通知される(図8(1))。
For example, in route design, as a result of logical design, difference information regarding the deleted communication route is generated as design information. For example, the
SDNコントローラ10は、設計情報から、ノードごとに、各ノードの経路テーブル60に通信経路の追加、削除を行うエントリ情報を生成し、各ノードにエントリ情報を格納する。各ノードでは、エントリ情報に基づき、内部のハードウェアのレジスタ情報を生成し、内部設定が行なわれる。例えば、ノードAでは、テーブル番号1の宛先ノード「A」、出力ポート「0」のレコードが削除される。一方、ノードEでは、ファームウェアに問題があるなどの理由により、ハードウェア内部で誤った書き換えが発生し、テーブル番号2の宛先ノード「B」、出力ポート「0」のレコードが削除される(図8(2))。
For each node, the
検証装置23は、エントリ情報を取得し、エントリ情報から経路情報が更新されたノードEを検出する(図8(3))。そして、検証装置23は、経路情報が更新されたノードを通る通信経路を抽出する(図8(4))。図8の例では、検証装置23は、削除されたノードC、ノードE、ノードF、ノードAの通信経路と、既存のノードD、ノードE、ノードF、ノードBの通信経路を抽出する。
The
検証装置23は、ノードCに接続されたテストパケット送受信装置22にテストパケットの送信を指示し、削除されたノードC、ノードE、ノードF、ノードAの通信経路にテストパケットを送信させる。また、検証装置23は、ノードDに接続されたテストパケット送受信装置22にテストパケットの送信を指示し、既存のノードD、ノードE、ノードF、ノードBの通信経路にテストパケットを送信させる(図8(5))。図8の場合、削除されたノードC、ノードE、ノードF、ノードAの通信経路では、ノードCでエントリーが削除されたため、テストパケットが下流側のエッジノードに到達しない。また、既存のノードD、ノードE、ノードF、ノードBの通信経路では、ノードEでエントリーが削除されたため、テストパケットが下流側のエッジノードに到達しない。
The
検証装置23は、通信経路ごとに、テストパケットの到達の有無から通信経路が正当であるか検証する。図8の場合、ノードC、ノードE、ノードF、ノードAの通信経路は、削除されているため、テストパケットが到達しないことは正当と判定される。一方、ノードD、ノードE、ノードF、ノードBの通信経路は、論理設計では変更されていないため、テストパケットが到達しないことは異常と判定される。検証装置23は、ノードD、ノードE、ノードF、ノードBの通信経路に問題が発生していることを出力する。
The
図9は、本実施例に係る検証装置によりテストパケットが流れる通信経路の一例を示す図である。図9の例では、ノードC、ノードE、ノードF、ノードAの通信経路を削除した際に、ノードEでファームウェアに問題があるなどの理由によって、既存のノードD、ノードE、ノードF、ノードBの通信経路に問題が発生しているものとする。 FIG. 9 is a diagram illustrating an example of a communication path through which a test packet flows by the verification apparatus according to the present embodiment. In the example of FIG. 9, when the communication paths of the node C, the node E, the node F, and the node A are deleted, the existing node D, the node E, the node F, It is assumed that a problem has occurred in the communication path of Node B.
本実施例に係る検証装置23によれば、ノードC、ノードE、ノードF、ノードAの通信経路と、ノードD、ノードE、ノードF、ノードBの通信経路に対してテストパケットを流して検証が行われる。よって、既存のノードD、ノードE、ノードF、ノードBの通信経路に問題が発生していることを検出できる。
According to the
図10および図11は、従来のテストパケットが流れる通信経路の一例を示す図である。図10の例は、削除されたノードC、ノードE、ノードF、ノードAのみテストパケットを流して検証を行った場合を示している。図10の例では、既存のノードD、ノードE、ノードF、ノードBの通信経路に問題が発生していることを検出できない。 10 and 11 are diagrams showing an example of a communication path through which a conventional test packet flows. The example of FIG. 10 shows a case where only the deleted node C, node E, node F, and node A are verified by sending test packets. In the example of FIG. 10, it cannot be detected that a problem has occurred in the communication paths of the existing nodes D, E, F, and B.
図11の例は、全ての通信経路にテストパケットを流して検証を行った場合を示している。図11の例では、既存のノードD、ノードE、ノードF、ノードBの通信経路に問題が発生していることを検出できる。しかし、全ての通信経路にテストパケットを流すため、検証に時間がかかる。例えば、携帯電話会社のキャリアネットワークなど大規模なネットワークは、多数のノードにより構成され、通信経路も多数となる。このため、全ての通信経路にテストパケットを流した場合、パケット数が多くなって検証に時間がかかり、ノードの設定ミスの検出を効率的に行えない。一方、本実施例に係る検証装置23は、影響が発生する可能性がある通信経路のみテストパケットで検証を行うため、少ないパケットでノードの設定ミスを検出できる。
The example of FIG. 11 illustrates a case where verification is performed by flowing test packets through all communication paths. In the example of FIG. 11, it can be detected that a problem has occurred in the communication paths of the existing nodes D, E, F, and B. However, since test packets are sent to all communication paths, verification takes time. For example, a large-scale network such as a carrier network of a mobile phone company is composed of a large number of nodes and a large number of communication paths. For this reason, when test packets are made to flow through all communication paths, the number of packets increases and verification takes time, and detection of a node setting error cannot be performed efficiently. On the other hand, since the
[処理の流れ]
最初に、本実施例に係るシステム20が通信経路の検証を行う全体的な流れについて説明する。図12は、通信経路の検証の全体的な流れを概略的に示したタイミングチャートである。
[Process flow]
First, the overall flow in which the
検証装置23は、ネットワーク21の通信経路に関する情報を取得する(S10)。
The
SDNコントローラ10は、論理的に破綻がないことが確認された設計情報が入力されると(S11)、設計情報に基づいて、各ノードにエントリ情報を格納して、通信経路を設定する(S12)。SDNコントローラ10は、設定が完了すると、設計情報を検証装置23に入力し、通信経路の検証を依頼する(S13)。
When design information that has been confirmed to have no logical failure is input (S11), the
検証装置23は、通信経路に関する情報と設計情報から、経路情報が更新されたノードを検出し、検出したノードを通る通信経路を抽出する。検証装置23は、抽出された通信経路ごとに、通信経路の上流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定したテストパケットの送信を指示する(S14)。通信経路の下流側のエッジノードは、テストパケットが受信されたか否かを通知する(S15)。検証装置23は、抽出された通信経路ごとに、テストパケット送受信装置22からのパケットの受信結果の通知に応じて、通信経路が正当であるか検証し、検証結果をSDNコントローラ10に出力する(S16)。
The
本実施例に係るシステム20では、通信経路の追加や削除が行われるごとに、上述のS10〜S16が行われる。
In the
次に、実施例1に係る検証装置23が通信経路を検証する検証処理の流れについて説明する。図13は、検証処理の手順の一例を示すフローチャートである。この検証処理は、所定のタイミング、例えば、設計情報が入力したタイミングや、入力部31から検証開始の操作指示を受け付けたタイミングで実行される。
Next, a verification process flow in which the
図13に示すように、検出部52は、設計情報から経路情報が更新されたノードを検出する(S50)。抽出部53は、経路情報が更新されたノードを通る通信経路を抽出する(S51)。
As illustrated in FIG. 13, the
検証部54は、抽出された通信経路ごとに、通信経路の上流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定したテストパケットの送信を指示する(S52)。検証部54は、抽出された通信経路ごとに、通信経路の下流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定されたテストパケットが受信されたか否かの問い合わせを行う(S53)。検証部54は、抽出された通信経路ごとに、テストパケット送受信装置22からのパケットの受信結果の通知に応じて、通信経路が正当であるか検証する(S54)。
For each extracted communication path, the
出力部55は、検証結果をSDNコントローラ10に出力し(S55)、処理を終了する。
The
[効果]
上述してきたように、本実施例に係る検証装置23は、ネットワーク21を構成する複数のノードのうち、入力したパケットの出力先を示す経路情報が更新されたノードを検出する。検証装置23は、検出されたノードを通る通信経路を、複数のノードの更新前後の経路情報から抽出する。検証装置23は、抽出された通信経路に流されたテストパケットの到達性を検証する。これにより、検証装置23は、少ないパケットでノードの設定ミスを検出できる。
[effect]
As described above, the
また、本実施例に係る検証装置23は、複数のノードに対して設定情報の書き込みが行われると、経路情報が更新されたノードを検出する。これにより、検証装置23は、設定情報の書き込みが行われると、検証を行ってノードの設定ミスを検出できる。
In addition, when the setting information is written to a plurality of nodes, the
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。 Although the embodiments related to the disclosed apparatus have been described so far, the disclosed technology may be implemented in various different forms other than the above-described embodiments. Therefore, another embodiment included in the present invention will be described below.
例えば、上記の実施例では、通信経路を検証する場合について説明したが、開示の装置はこれに限定されない。例えば、通信経路と共に確保する帯域が指定されている場合、通信経路ごとに帯域が確保できるかも検証してもよい。例えば、各ノードの経路テーブル60には、パケットの出力先ごとに、確保する通信帯域を記憶されているものとする。図14は、各ノードの経路テーブルのデータ構成の一例を示す図である。各ノードの経路テーブル60には、エントリ情報ごとに、パケットの宛先に応じた出力先と、確保する通信帯域が記憶されている。検証装置23では、抽出部53が、通信経路と共に当該通信経路の通信帯域を抽出する。検証部54は、ネットワーク21の抽出された通信経路に抽出された通信帯域が割当てられているかをさらに検証してもよい。例えば、検証部54は、抽出された通信経路ごとに、通信経路の上流側のエッジノードに接続されたテストパケット送受信装置22に対して、確保する通信帯域のデータ量でテストパケットの送信を指示する。テストパケット送受信装置22は、検証装置23からの指示に応じて、確保する通信帯域のデータ量でテストパケットを通信経路に送信する。検証部54は、抽出された通信経路ごとに、通信経路の下流側のエッジノードに接続されたテストパケット送受信装置22に対して、確保する通信帯域のデータ量でテストパケットが受信されたか否かの問い合わせを行う。テストパケット送受信装置22は、検証装置23からの問い合わせに応じて、確保する通信帯域のデータ量のテストパケットを受信できたか否かの受信結果を検証装置23に通知する。検証部54は、抽出された通信経路ごとに、テストパケット送受信装置22からの受信結果の通知に応じて、通信経路ごとに、確保する通信帯域が確保できるかを検証する。これにより、検証装置23は、通信経路ごとに、確保する通信帯域が確保できるかを検証できる。
For example, in the above-described embodiments, the case where the communication path is verified has been described, but the disclosed apparatus is not limited to this. For example, when a band to be secured together with a communication path is designated, it may be verified whether a band can be secured for each communication path. For example, it is assumed that a communication bandwidth to be secured is stored in the route table 60 of each node for each output destination of a packet. FIG. 14 is a diagram illustrating an example of a data configuration of a route table of each node. The path table 60 of each node stores, for each entry information, an output destination corresponding to the packet destination and a communication bandwidth to be secured. In the
また、上記の実施例では、変更前経路情報41として、各ノードの経路テーブル60を記憶する場合について説明したが、開示の装置はこれに限定されない。変更前経路情報41は、ネットワーク21の変更前の通信経路を示す情報であれば、何れのデータ構成であってもよい。例えば、変更前経路情報41は、図6に示すような通信経路を示す情報であってもよい。
In the above-described embodiment, the case where the route table 60 of each node is stored as the
また、上記の実施例では、変更後経路情報42として、設計情報を記憶する場合について説明したが、開示の装置はこれに限定されない。変更後経路情報42も、ネットワーク21の変更後の通信経路を示す情報であれば、何れのデータ構成であってもよい。例えば、変更後経路情報42は、変更後の各ノードの経路テーブル60であってもよく、図6に示すような通信経路を示す情報であってもよい。
In the above embodiment, the case where the design information is stored as the changed
また、上記の実施例では、検出部52は、設計情報から経路情報が更新されたノードを検出する場合について説明したが、開示の装置はこれに限定されない。例えば、検出部52は、各ノードの経路テーブル60の変化から経路情報が更新されたノードを検出してもよい。この場合、取得部51は、各ノードの経路テーブル60に通信経路の追加、削除を行うエントリ情報を取得し、エントリ情報を変更後経路情報42として、記憶部33に格納する。このエントリ情報は、SDNコントローラ10から取得してもよい。例えば、取得部51は、SDNコントローラ10による各ノードへのエントリ情報の書き込みを監視し、SDNコントローラ10から各ノードへ書き込まれたエントリ情報を取得してもよい。また、エントリ情報は、入力部31からの入力により取得してもよい。また、エントリ情報は、ノードから取得してもよい。例えば、エントリ情報が書き込まれたノードが、書き込まれたエントリ情報を検証装置23へ送信するように構成して、取得部51は、ノードからエントリ情報を取得してもよい。検出部52は、取得部51によりエントリ情報が取得されると、エントリ情報から経路情報が更新されたノードを検出する。例えば、検出部52は、エントリ情報が書き込まれたノードを、経路情報が更新されたノードと検出する。例えば、検出部52は、複数のノードに対する設定情報の書き込みの監視、複数のノードからの経路情報の周期的な読み出し、経路情報が更新されたノードからの通知の何れかにより、経路情報が更新されたノードを検出する。これにより、ノードに対して設定情報の書き込みが行われると、検出部52により、経路情報が更新されたノードが検出される。
In the above-described embodiment, the
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部50、取得部51、検出部52、抽出部53、検証部54および出力部55の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific state of distribution / integration of each device is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the processing units such as the
[検証プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図15は、検証プログラムを実行するコンピュータを示す図である。
[Verification program]
The various processes described in the above embodiments can also be realized by executing a program prepared in advance on a computer system such as a personal computer or a workstation. Therefore, in the following, an example of a computer system that executes a program having the same function as in the above embodiment will be described. FIG. 15 is a diagram illustrating a computer that executes a verification program.
図15に示すように、コンピュータ300は、CPU(Central Processing Unit)310、HDD(Hard Disk Drive)320、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。
As shown in FIG. 15, the computer 300 includes a CPU (Central Processing Unit) 310, an HDD (Hard Disk Drive) 320, and a RAM (Random Access Memory) 340. These units 300 to 340 are connected via a
HDD320には上記の受付部50、取得部51、検出部52、抽出部53、検証部54および出力部55と同様の機能を発揮する検証プログラム320aが予め記憶される。なお、検証プログラム320aについては、適宜分離しても良い。
The
また、HDD320は、各種情報を記憶する。例えば、HDD320は、OSや分析に用いる各種データを記憶する。
The
そして、CPU310が、検証プログラム320aをHDD320から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、検証プログラム320aは、受付部50、取得部51、検出部52、抽出部53、検証部54および出力部55と同様の動作を実行する。
Then, the CPU 310 reads out and executes the verification program 320a from the
なお、上記した検証プログラム320aは、必ずしも最初からHDD320に記憶させることを要しない。
Note that the verification program 320a described above does not necessarily need to be stored in the
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。 For example, the program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into the computer 300. Then, the computer 300 may read and execute the program from these.
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。 Furthermore, the program is stored in “another computer (or server)” connected to the computer 300 via a public line, the Internet, a LAN, a WAN, or the like. Then, the computer 300 may read and execute the program from these.
10 SDNコントローラ
20 システム
21 ネットワーク
22 テストパケット送受信装置
23 検証装置
31 入力部
32 表示部
33 記憶部
34 制御部
41 変更前経路情報
42 変更後経路情報
43 テスト経路情報
50 受付部
51 取得部
52 検出部
53 抽出部
54 検証部
55 出力部
60 経路テーブル
DESCRIPTION OF
Claims (5)
前記検出部により検出されたノードを通る通信経路を、前記複数のノードの更新前後の前記経路情報から抽出する抽出部と、
前記抽出部により抽出された通信経路に流されたテストパケットの到達性を検証する検証部と、
を有することを特徴とする検証装置。 A detecting unit for detecting a node in which path information indicating an output destination of an input packet is updated among a plurality of nodes constituting the network;
An extraction unit that extracts a communication path passing through the node detected by the detection unit from the path information before and after the update of the plurality of nodes;
A verification unit that verifies the reachability of the test packet that has been flown through the communication path extracted by the extraction unit;
The verification apparatus characterized by having.
ことを特徴とする請求項1に記載の検証装置。 The verification device according to claim 1, wherein when the setting information is written to the plurality of nodes, the detection unit detects a node in which the path information is updated.
ことを特徴とする請求項1または2に記載の検証装置。 The detection unit is configured to monitor the path by writing setting information to the plurality of nodes, periodically reading the path information from the plurality of nodes, or notifying from the node in which the path information is updated. The verification apparatus according to claim 1, wherein a node whose information is updated is detected.
前記抽出部は、前記通信経路と共に当該通信経路の通信帯域を抽出し、
前記検証部は、前記ネットワークの抽出された通信経路に抽出された通信帯域が割当てられているかをさらに検証する
ことを特徴とする請求項1または2に記載の検証装置。 The path information stores a communication bandwidth to be secured for each output destination of a packet,
The extraction unit extracts a communication band of the communication path together with the communication path,
The verification device according to claim 1, wherein the verification unit further verifies whether the extracted communication band is allocated to the extracted communication path of the network.
検出されたノードを通る通信経路を、前記複数のノードの更新前後の前記経路情報から抽出し、
抽出された通信経路に流されたテストパケットの到達性を検証する
処理をコンピュータが実行することを特徴とする検証方法。 Among the plurality of nodes constituting the network, a node whose route information indicating the output destination of the input packet is updated is detected,
Extracting a communication path through the detected node from the path information before and after updating the plurality of nodes;
A verification method characterized in that a computer executes a process of verifying the reachability of a test packet that has been sent to an extracted communication path.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015148017A JP2017028629A (en) | 2015-07-27 | 2015-07-27 | Verification device and verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015148017A JP2017028629A (en) | 2015-07-27 | 2015-07-27 | Verification device and verification method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017028629A true JP2017028629A (en) | 2017-02-02 |
Family
ID=57946200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015148017A Pending JP2017028629A (en) | 2015-07-27 | 2015-07-27 | Verification device and verification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017028629A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024095635A1 (en) * | 2022-11-01 | 2024-05-10 | トヨタ自動車株式会社 | Sdn network system, sdn controller, and control method for sdn network system |
-
2015
- 2015-07-27 JP JP2015148017A patent/JP2017028629A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024095635A1 (en) * | 2022-11-01 | 2024-05-10 | トヨタ自動車株式会社 | Sdn network system, sdn controller, and control method for sdn network system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876699B2 (en) | Verifying service status | |
US11882202B2 (en) | Intent based network data path tracing and instant diagnostics | |
US10374872B2 (en) | Configuring system resources for different reference architectures | |
US12010004B2 (en) | Network management with topology dependency and path generation | |
US10360205B2 (en) | Cooperative MKEY locking for managing infiniband networks | |
EP3249529B1 (en) | Method and system for tracking network device information in a network switch | |
US10764214B1 (en) | Error source identification in cut-through networks | |
JP2017130963A (en) | Network device and communication method | |
WO2017038089A1 (en) | Virtual network monitoring system, virtual network monitoring method, and recording medium | |
US9917747B2 (en) | Problem detection in a distributed digital network through distributed packet analysis | |
US9015830B2 (en) | Verification apparatus and verification method | |
JP2015526022A (en) | Deterministic network failure detection | |
JP2018006792A (en) | Control device, test method, test program and communication system | |
JP6114214B2 (en) | Network device and communication method | |
US11303505B2 (en) | Aggregated control-plane tables | |
JP2017028629A (en) | Verification device and verification method | |
EP3861445B1 (en) | Method and apparatus for secure and verifiable composite service execution and fault management on blockchain | |
US10757093B1 (en) | Identification of runtime credential requirements | |
CN112291379A (en) | Non-transitory computer-readable recording medium, verification method, and verification apparatus | |
JP6601198B2 (en) | Relay device, setting method, setting program, and information processing system | |
US12001856B2 (en) | Configuration validation in a disaggregated network OS environment | |
US20160043899A1 (en) | Management computer, management method, and non-transitory recording medium | |
US20240281265A1 (en) | Configuration validation in a disaggregated network os environment | |
US20240106855A1 (en) | Security telemetry from non-enterprise providers to shutdown compromised software defined wide area network sites | |
Rivera et al. | Providing a high level abstraction for SDN networks in GENI |