JP2017028629A - Verification device and verification method - Google Patents

Verification device and verification method Download PDF

Info

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
Application number
JP2015148017A
Other languages
Japanese (ja)
Inventor
秀樹 光延
Hideki Mitsunobe
秀樹 光延
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015148017A priority Critical patent/JP2017028629A/en
Publication of JP2017028629A publication Critical patent/JP2017028629A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a verification device capable of detecting a setting error of a node with a small number of packets and a verification method.SOLUTION: A detector 52 detects a node whose route information representing an output destination of an input packet out of a plurality of nodes constituting a network is updated. An extraction part 53 extracts a communication route passing through the detected node from the route information before and after update of the plurality of nodes. A verification part 54 verifies reachability of a test packet sent to the extracted communication route.SELECTED DRAWING: Figure 4

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.

特開2006−40196号公報JP 2006-40196 A 特開2007−241865号公報JP 2007-241865 A

しかし、論理的に破綻がないことが確認されたネットワークの設計情報から変換された設定情報を各ノードに書き込んでも、ネットワークに設計通りの通信経路や帯域を確保できない場合がある。例えば、ノードでは、レジスタ情報を生成するファームウェアに問題があるなどの理由により、ハードウェアに設定するレジスタがずれて設計通りの通信経路や帯域を確保できない場合がある。   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.

図1は、ネットワークの設計の流れを模式的に示した図である。FIG. 1 is a diagram schematically showing the flow of network design. 図2は、論理設計の結果をネットワークに適用する流れを模式的に示した図である。FIG. 2 is a diagram schematically showing the flow of applying the result of logic design to the network. 図3は、システムの全体の概略構成の一例を示す図である。FIG. 3 is a diagram illustrating an example of a schematic configuration of the entire system. 図4は、検証装置の機能的な構成の一例を示す図である。FIG. 4 is a diagram illustrating an example of a functional configuration of the verification apparatus. 図5は、各ノードの経路テーブルのデータ構成の一例を示す図である。FIG. 5 is a diagram illustrating an example of a data configuration of a route table of each node. 図6は、各ノードの経路テーブルの変更の一例を示す図である。FIG. 6 is a diagram illustrating an example of changing the route table of each node. 図7は、論理設計において通信経路を変更する流れの一例を示す図である。FIG. 7 is a diagram illustrating an example of a flow for changing the communication path in the logical design. 図8は、通信経路に異常が発生している場合の一例を説明する図である。FIG. 8 is a diagram for explaining an example when an abnormality has occurred in the communication path. 図9は、本実施例に係る検証装置によりテストパケットが流れる通信経路の一例を示す図である。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. 図10は、従来のテストパケットが流れる通信経路の一例を示す図である。FIG. 10 is a diagram illustrating an example of a communication path through which a conventional test packet flows. 図11は、従来のテストパケットが流れる通信経路の一例を示す図である。FIG. 11 is a diagram illustrating an example of a communication path through which a conventional test packet flows. 図12は、通信経路の検証の全体的な流れを概略的に示したタイミングチャートである。FIG. 12 is a timing chart schematically showing the overall flow of communication path verification. 図13は、検証処理の手順の一例を示すフローチャートである。FIG. 13 is a flowchart illustrating an example of the procedure of the verification process. 図14は、各ノードの経路テーブルのデータ構成の一例を示す図である。FIG. 14 is a diagram illustrating an example of a data configuration of a route table of each node. 図15は、検証プログラムを実行するコンピュータを示す図である。FIG. 15 is a diagram illustrating a computer that executes a verification program.

以下に、本発明に係る検証装置および検証方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   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 controller 10 is provided. The SDN controller 10 is a device that performs various settings for an actual network. The SDN controller 10 is, for example, a computer such as a personal computer or a server computer in which software for the SDN controller is installed.

SDNコントローラ10には、論理的に破綻がないことが確認された設計情報が入力される。SDNコントローラ10は、設計情報に基づき、各ノードの経路テーブルに通信経路を設定する。例えば、SDNコントローラ10は、設計情報から、ノードごとに、各ノードの経路テーブルに通信経路の追加、削除を行うエントリ情報を生成し、各ノードの設定保持用のメモリ11Aにエントリ情報を格納する。   The SDN controller 10 receives design information that has been confirmed to have no logical failure. The SDN controller 10 sets a communication path in the path table of each node based on the design information. For example, the SDN controller 10 generates entry information for adding / deleting a communication path from / to the path table of each node from the design information, and stores the entry information in the memory 11A for setting holding of each node. .

ノードでは、メモリ11Aに書き込まれたエントリ情報に基づき、内部のハードウェアのレジスタ情報を生成し、内部設定が行なわれる。例えば、ノードでは、ファームウェアによってエントリ情報からレジスタ情報が生成され、内部のCAM(Content Addressable Memory:連想メモリ)11Bに記憶された経路テーブルにルーティングの設定の追加や削除が行われる。ノードは、経路テーブルに従い、パケットをルーティングする。しかし、ノードでは、ファームウェアやハードウェアに問題があるなどの理由によりレジスタがずれ、CAM11Bの異なる領域に対してデータの登録や削除が行われる場合がある。このようにCAM11Bの異なる領域に対してデータの登録や削除が行われた場合、異なる領域のデータに対応する経路に影響が及ぶ。これにより、例えば、論理設計を変更していない他の通信経路に影響が及ぶ場合がある。   In the node, based on the entry information written in the memory 11A, internal hardware register information is generated and internal setting is performed. For example, in the node, register information is generated from the entry information by the firmware, and a routing setting is added to or deleted from a route table stored in an internal CAM (Content Addressable Memory) 11B. The node routes the packet according to the route table. However, in the node, the register may be shifted due to a problem in firmware or hardware, and data registration or deletion may be performed for different areas of the CAM 11B. As described above, when data is registered or deleted in different areas of the CAM 11B, the path corresponding to the data in the different areas is affected. Thereby, for example, other communication paths that have not changed the logical design may be affected.

そこで、ネットワークにテストパケットを流して、ネットワークに論理設計どおりの通信経路や帯域を確保できているかを検証する。   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 system 20 according to the present embodiment will be described. The system 20 is a system that applies SDN and centrally controls the nodes constituting the actual network 21 by software. FIG. 3 is a diagram illustrating an example of a schematic configuration of the entire system. In the example of FIG. 3, the network 21 includes nodes A to I. Node C is connected to node E by port 0. Node D is connected to node E by port 0. Node E is connected to node C by port 1, connected to node D by port 2, and connected to node F by port 0. Node F is connected to node E through port 2, connected to node A through port 0, and connected to node B through port 1. Node G is connected to node H by port 0. Node H is connected to node G by port 1 and to node I by port 0. Node A, node B, node C, node D, node G, and node I are edge nodes that communicate with the outside. Node E, node F, and node H are relay nodes that relay data from edge nodes.

また、ネットワーク21は、複数のテストパケット送受信装置22と、検証装置23とを有する。ネットワーク21のエッジノードには、それぞれテストパケット送受信装置22が接続されている。各テストパケット送受信装置22は、検証装置23に接続されている。   The network 21 includes a plurality of test packet transmission / reception devices 22 and a verification device 23. A test packet transmitting / receiving device 22 is connected to each edge node of the network 21. Each test packet transmitting / receiving device 22 is connected to a verification device 23.

テストパケット送受信装置22は、ネットワーク21との間でテストパケットの送受信を行う装置である。例えば、テストパケット送受信装置22は、検証装置23からの指示に応じて、それぞれエッジノードに対して、それぞれテストパケットの送信を行う。また、テストパケット送受信装置22は、検証装置23からの指示に応じて、それぞれエッジノードから受信されたテストパケットの受信結果を検証装置23に通知する。なお、本実施例では、エッジノードにテストパケット送受信装置22を接続しているが、エッジノードが検証装置23からの指示によりテストパケットを送受信する機能を有し、テストパケット送受信装置22として機能してもよい。   The test packet transmission / reception device 22 is a device that transmits / receives test packets to / from the network 21. For example, the test packet transmission / reception device 22 transmits a test packet to each edge node in response to an instruction from the verification device 23. Further, the test packet transmitting / receiving apparatus 22 notifies the verification apparatus 23 of the reception result of the test packet received from each edge node in response to an instruction from the verification apparatus 23. In this embodiment, the test packet transmission / reception device 22 is connected to the edge node. However, the edge node has a function of transmitting / receiving a test packet according to an instruction from the verification device 23, and functions as the test packet transmission / reception device 22. May be.

検証装置23は、ネットワーク21の検証を行う装置である。検証装置23は、例えば、パーソナルコンピュータやサーバコンピュータなどのコンピュータなどである。検証装置23には、論理的に破綻がないことが確認された設計情報が入力される。検証装置23は、設計情報に基づき、テストパケット送受信装置22を制御して、ネットワーク21にテストパケットを流して、ネットワーク21に論理設計どおりの通信経路を確保できているかを検証する。   The verification device 23 is a device that verifies the network 21. The verification device 23 is, for example, a computer such as a personal computer or a server computer. Design information that has been confirmed to have no logical failure is input to the verification device 23. Based on the design information, the verification device 23 controls the test packet transmission / reception device 22 to flow the test packet to the network 21 and verifies whether the communication path according to the logical design can be secured in the network 21.

[検証装置の構成]
次に、本実施例に係る検証装置23の構成について説明する。図4は、検証装置の機能的な構成の一例を示す図である。図4に示すように、検証装置23は、通信I/F(インタフェース)部30と、入力部31と、表示部32と、記憶部33と、制御部34とを有する。なお、検証装置23は、上記の機器以外の他の機器を有してもよい。
[Configuration of verification device]
Next, the configuration of the verification device 23 according to the present embodiment will be described. FIG. 4 is a diagram illustrating an example of a functional configuration of the verification apparatus. As illustrated in FIG. 4, the verification device 23 includes a communication I / F (interface) unit 30, an input unit 31, a display unit 32, a storage unit 33, and a control unit 34. Note that the verification device 23 may include devices other than the above devices.

通信I/F部30は、他の装置との間で通信制御を行うインタフェースである。通信I/F部30としては、LANカードなどのネットワークインタフェースカードを採用できる。   The communication I / F unit 30 is an interface that controls communication with other devices. As the communication I / F unit 30, a network interface card such as a LAN card can be employed.

通信I/F部30は、不図示のネットワークを介して他の装置と各種情報を送受信する。例えば、通信I/F部30は、論理的に破綻がないことが確認された設計情報や各ノードの経路テーブルを受信する。なお、設計情報は、SDNコントローラ10から受信してもよく、論理設計を行った装置から受信してもよい。また、設計情報は、入力部31から入力されてもよい。各ノードの経路テーブルは、SDNコントローラ10から受信してもよく、各ノードから受信してもよく、論理設計を行った装置から受信してもよい。また、各ノードの経路テーブルは、入力部31から入力されてもよい。   The communication I / F unit 30 transmits / receives various information to / from other devices via a network (not shown). For example, the communication I / F unit 30 receives design information that has been confirmed to have no logical failure and a route table of each node. The design information may be received from the SDN controller 10 or may be received from an apparatus that has performed logic design. The design information may be input from the input unit 31. The route table of each node may be received from the SDN controller 10, may be received from each node, or may be received from an apparatus that has performed logic design. Further, the route table of each node may be input from the input unit 31.

入力部31は、各種の情報を入力する入力デバイスである。入力部31としては、マウスやキーボードなどの操作の入力を受け付ける入力デバイスが挙げられる。入力部31は、各種の情報の入力を受け付ける。例えば、入力部31は、検証に関する各種の操作入力を受け付ける。入力部31は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部34に入力する。   The input unit 31 is an input device that inputs various types of information. Examples of the input unit 31 include an input device that receives an input of an operation such as a mouse or a keyboard. The input unit 31 receives input of various types of information. For example, the input unit 31 receives various operation inputs related to verification. The input unit 31 receives an operation input from the user and inputs operation information indicating the received operation content to the control unit 34.

表示部32は、各種情報を表示する表示デバイスである。表示部32としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。表示部32は、各種情報を表示する。例えば、表示部32は、各種の操作画面や検証結果を示した画面など、検証に関する各種の画面を表示する。   The display unit 32 is a display device that displays various types of information. Examples of the display unit 32 include display devices such as an LCD (Liquid Crystal Display) and a CRT (Cathode Ray Tube). The display unit 32 displays various information. For example, the display unit 32 displays various screens related to verification, such as various operation screens and screens showing verification results.

記憶部33は、各種のデータを記憶する記憶デバイスである。例えば、記憶部33は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部33は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。   The storage unit 33 is a storage device that stores various data. For example, the storage unit 33 is a storage device such as a hard disk, an SSD (Solid State Drive), or an optical disk. Note that the storage unit 33 may be a semiconductor memory that can rewrite data, such as a random access memory (RAM), a flash memory, and a non-volatile static random access memory (NVSRAM).

記憶部33は、制御部34で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部33は、後述する各種の処理を実行するプログラムを含む各種のプログラムを記憶する。さらに、記憶部33は、制御部34で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部33は、変更前経路情報41と、変更後経路情報42と、テスト経路情報43とを記憶する。   The storage unit 33 stores an OS (Operating System) executed by the control unit 34 and various programs. For example, the storage unit 33 stores various programs including programs that execute various processes described later. Furthermore, the storage unit 33 stores various data used in the program executed by the control unit 34. For example, the storage unit 33 stores pre-change route information 41, post-change route information 42, and test route information 43.

変更前経路情報41は、変更前のネットワーク21の通信経路に関する情報を記憶したデータである。例えば、変更前経路情報41には、ネットワーク21を構成する各ノードの変更前の経路テーブルが記憶されている。   The pre-change route information 41 is data storing information related to the communication route of the network 21 before the change. For example, the pre-change route information 41 stores a pre-change route table of each node constituting the network 21.

図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 pre-change route information 41 stores a route table 60 of the node C, the node D, the node E, the node F, the node G, and the node H.

変更後経路情報42は、変更されたネットワーク21の通信経路に関する情報を記憶したデータである。例えば、変更後経路情報42には、論理的に破綻がないことが確認された設計情報が記憶される。なお、変更後経路情報42には、経路テーブル60が変更されたノードの変更後の経路テーブル60を記憶してもよく、通信経路の追加、削除を行うエントリ情報を記憶してもよい。   The post-change route information 42 is data storing information related to the changed communication route of the network 21. For example, the post-change route information 42 stores design information that has been confirmed to have no logical failure. The changed route information 42 may store the changed route table 60 of the node whose route table 60 has been changed, or may store entry information for adding or deleting a communication route.

テスト経路情報43は、テストを行う通信経路に関する情報を記憶したデータである。   The test path information 43 is data that stores information related to a communication path to be tested.

図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 control unit 34 is a device that controls the verification device 23. As the control unit 34, an electronic circuit such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) and an FPGA (Field Programmable Gate Array) can be employed. The control unit 34 has an internal memory for storing programs defining various processing procedures and control data, and executes various processes using these. The control unit 34 functions as various processing units by operating various programs. For example, the control unit 34 includes a reception unit 50, an acquisition unit 51, a detection unit 52, an extraction unit 53, a verification unit 54, and an output unit 55.

受付部50は、各種の受け付けを行う。例えば、受付部50は、各種の操作指示を受け付ける。例えば、受付部50は、検証に関する操作画面を表示部32に表示させて、入力部31から、検証開始などの操作指示を受け付ける。なお、本実施例では、入力部31から検証開始などの操作指示を受けるものとするが、他の装置に操作画面を表示させ、他の装置から遠隔で操作指示を受けてもよい。また、受付部50は、論理的に破綻がないことが確認された設計情報を取得したことを検証開始の受け付けとしてもよい。   The reception unit 50 performs various types of reception. For example, the reception unit 50 receives various operation instructions. For example, the reception unit 50 displays an operation screen related to verification on the display unit 32 and receives an operation instruction such as verification start from the input unit 31. In the present embodiment, an operation instruction such as verification start is received from the input unit 31, but an operation screen may be displayed on another device and the operation instruction may be received remotely from another device. In addition, the reception unit 50 may receive the start of verification that the design information that has been confirmed to have no logical failure has been acquired.

取得部51は、各種の取得を行う。例えば、取得部51は、ネットワーク21の通信経路に関する情報を取得する。例えば、取得部51は、通信経路に関する情報として、各ノードの経路テーブル60を取得する。各ノードの経路テーブル60は、SDNコントローラ10から取得してもよく、各ノードから取得してもよい。また、各ノードの経路テーブル60は、一定期間ごとのタイミングなど周期的なタイミングで取得してもよく、指示されたタイミングで取得してもよい。また、各ノードの経路テーブル60は、SDNコントローラ10や各ノードが自立的に送信してもよく、取得部51が各ノードに対して送信を要求し、SDNコントローラ10や各ノードが要求に応じて送信してもよい。また、各ノードの経路テーブル60は、入力部31からの入力により取得してもよい。取得部51は、各ノードの経路テーブル60を変更前経路情報41として、記憶部33に格納する。   The acquisition unit 51 performs various acquisitions. For example, the acquisition unit 51 acquires information regarding the communication path of the network 21. For example, the acquisition unit 51 acquires the route table 60 of each node as information on the communication route. The route table 60 of each node may be acquired from the SDN controller 10 or may be acquired from each node. Further, the route table 60 of each node may be acquired at a periodic timing such as a timing for every predetermined period, or may be acquired at an instructed timing. The route table 60 of each node may be transmitted independently by the SDN controller 10 or each node. The acquisition unit 51 requests transmission to each node, and the SDN controller 10 or each node responds to the request. May be transmitted. Further, the route table 60 of each node may be acquired by input from the input unit 31. The acquisition unit 51 stores the route table 60 of each node in the storage unit 33 as the pre-change route information 41.

また、例えば、取得部51は、変更されたネットワーク21の通信経路に関する情報を取得する。例えば、取得部51は、論理的に破綻がないことが確認された設計情報を取得する。この設計情報は、論理設計を行った装置から取得してもよく、SDNコントローラ10から取得してもよい。また、設計情報は、入力部31からの入力により取得してもよい。取得部51は、論理的に破綻がないことが確認された設計情報を変更後経路情報42として、記憶部33に格納する。   For example, the acquisition unit 51 acquires information regarding the communication path of the changed network 21. For example, the acquisition unit 51 acquires design information that has been confirmed to have no logical failure. This design information may be acquired from a device that has performed logical design, or may be acquired from the SDN controller 10. Further, the design information may be acquired by input from the input unit 31. The acquisition unit 51 stores the design information that has been confirmed to have no logical failure in the storage unit 33 as the changed route information 42.

検出部52は、各種の検出を行う。例えば、検出部52は、ネットワーク21を構成する複数のノードのうち、入力したパケットの出力先を示す経路情報が更新されたノードを検出する。例えば、検出部52は、取得部51により設計情報が取得されると、設計情報から経路情報が更新されたノードを検出する。例えば、検出部52は、設計情報で通信経路の追加、削除が指定されたノードを、経路情報が更新されたノードと検出する。これにより、設計情報が変更されてノードに対して設定情報の書き込みが行われると、検出部52により、経路情報が更新されたノードが検出される。   The detection unit 52 performs various types of detection. For example, the detection unit 52 detects a node in which path information indicating an output destination of an input packet is updated among a plurality of nodes configuring the network 21. For example, when the design information is acquired by the acquisition unit 51, the detection unit 52 detects a node whose path information is updated from the design information. For example, the detection unit 52 detects a node for which addition / deletion of a communication path is specified by design information as a node whose path information has been updated. Thereby, when the design information is changed and the setting information is written to the node, the detection unit 52 detects the node whose path information is updated.

抽出部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 extraction unit 53 performs various extractions. For example, the extraction unit 53 extracts a communication route that passes through the node whose route information is updated. For example, the extraction unit 53 identifies the communication route based on the pre-change route table 60 of each node stored in the post-change route information 42 and the pre-change route information 41. For example, the extraction unit 53 extracts the destination of the packet from the route table 60 for each edge node, and when a packet in which the extracted destination is set is input from the edge node, the extraction unit 53 reaches another edge node. The node to be transferred to is obtained using the route table 60 before the change of each node. For example, in the case of FIG. 5, in node C, the destination “A” is extracted. When a packet in which the destination “A” is set is input to the node C, the communication path is specified when the packet is transferred in the order of node C → node E → node F → node A. In node D, the destination “B” is extracted. When a packet in which the destination “B” is set is input to the node D, the communication path is specified when the packet is transferred in the order of node D → node E → node F → node B. Further, in the node G, the destination “I” is extracted. When a packet in which the destination “I” is set is input to the node G, the communication path is specified when the packet is transferred from the node G → the node H → the node I. The extraction unit 53 extracts a communication path including the node in which the path table 60 has been changed, based on the design information acquired by the acquisition unit 51 among the specified communication paths. FIG. 6 is a diagram illustrating an example of changing the route table of each node. The example of FIG. 6 shows an example in which the communication path of node C → node E → node F → node A is deleted. For example, when deleting the communication path of node C → node E → node F → node A, the record of the table number 1 in the path table 60 is deleted in the nodes C, E, and F. In the case of FIG. 6, the extraction unit 53 includes the communication path of the deleted node C → node E → node F → node A and the communication path of node D → node E → node F → node B passing through the nodes E and F. To extract.

ここで、論理設計において通信経路を変更する流れの一例を説明する。図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 network 21 will be described as an example.

論理設計では、各ノード間のどのポート同士を接続するかどうかのルーティングの情報を生成する。例えば、論理設計では、宛先アドレスと出力ポートをペアにした情報の形で設計情報を生成して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 SDN controller 10. The node updates internal information based on the setting information converted from the design information. For this reason, the state inside the node cannot be known only by design information.

論理設計では、デマンドの入力による通信経路の追加と削除は、段階的に行なわれる。例えば、デマンドによりノード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 port 0, node E outputs a packet addressed to A to port 0, and node F outputs a packet addressed to A to port 1. The communication path to be performed is shown. Further, for example, when a route from node D to node B is added due to demand, communication routes of node D, node E, node F, and node B are added as shown in the second time. For example, in the second design information, node D outputs a packet addressed to B to port 0, node E outputs a packet addressed to B to port 0, and node F outputs a packet addressed to B to port 2. The communication path to be performed is shown. Also, for example, when deleting a route from node C to node A due to demand, the communication routes of node C, node E, node F, and node A are deleted from the second time as shown in the third time. For example, in the change from the first time to the second time, the route table 60 is changed in the node D and the node E. Therefore, the extraction unit 53 extracts the communication paths of the nodes C, E, and F along with the communication paths of the added nodes D, E, and F. Further, in the change from the second time to the third time, the route table 60 is changed in the node D and the node E. For this reason, the extraction unit 53 extracts the communication paths of the node D, the node E, and the node F together with the communication paths of the deleted nodes C, E, and F.

検証部54は、各種の検証を行う。例えば、検証部54は、抽出部53により抽出された通信経路に流されたテストパケットの到達性を検証する。例えば、検証部54は、抽出部53により抽出された通信経路ごとに、通信経路の上流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定したテストパケットの送信を指示する。そして、検証部54は、抽出部53により抽出された通信経路ごとに、通信経路の下流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定されたテストパケットが受信されたか否かの問い合わせを行う。   The verification unit 54 performs various verifications. For example, the verification unit 54 verifies the reachability of the test packet that is flowed on the communication path extracted by the extraction unit 53. For example, for each communication path extracted by the extraction unit 53, the verification unit 54 sets a destination corresponding to the communication path for the test packet transmitting / receiving apparatus 22 connected to the upstream edge node of the communication path. Instructs packet transmission. Then, the verification unit 54 sets the destination corresponding to the communication path for the test packet transmitting / receiving apparatus 22 connected to the edge node on the downstream side of the communication path for each communication path extracted by the extraction unit 53. An inquiry is made as to whether a test packet has been received.

テストパケット送受信装置22は、検証装置23からの問い合わせに応じて、テストパケットの受信結果を検証装置23に通知する。   In response to the inquiry from the verification device 23, the test packet transmission / reception device 22 notifies the verification device 23 of the reception result of the test packet.

検証部54は、抽出部53により抽出された通信経路ごとに、テストパケット送受信装置22からのパケットの受信結果の通知に応じて、通信経路が正当であるか検証する。例えば、検証部54は、追加された通信経路で、テストパケットの受信が通知された場合、通信経路が正当であると判定する。一方、検証部54は、追加された通信経路で、テストパケットの受信が通知されない場合、通信経路に異常が発生していると判定する。また、検証部54は、削除された通信経路で、テストパケットの受信が通知されない場合、通信経路が正当であると判定する。一方、検証部54は、削除された通信経路で、テストパケットの受信が通知された場合、通信経路に異常が発生していると判定する。また、検証部54は、経路情報が更新されたノードを通る、設定が変更されてない既存の通信経路で、テストパケットの受信が通知された場合、通信経路が正当であると判定する。一方、検証部54は、経路情報が更新されたノードを通る既存の通信経路で、テストパケットの受信が通知されない場合、通信経路に異常が発生していると判定する。   For each communication path extracted by the extraction unit 53, the verification unit 54 verifies whether the communication path is valid according to the notification of the packet reception result from the test packet transmitting / receiving apparatus 22. For example, the verification unit 54 determines that the communication path is valid when the reception of the test packet is notified through the added communication path. On the other hand, when the reception of the test packet is not notified on the added communication path, the verification unit 54 determines that an abnormality has occurred in the communication path. The verification unit 54 determines that the communication path is valid when the received communication path is not notified of the reception of the test packet. On the other hand, when the reception of the test packet is notified on the deleted communication path, the verification unit 54 determines that an abnormality has occurred in the communication path. The verification unit 54 determines that the communication path is valid when the reception of the test packet is notified through the existing communication path that passes through the node whose path information is updated and the setting is not changed. On the other hand, the verification unit 54 determines that an abnormality has occurred in the communication path when the reception of the test packet is not notified in the existing communication path passing through the node whose path information is updated.

出力部55は、各種の出力を行う。例えば、出力部55は、検証部54の検証の結果の情報をSDNコントローラ10に出力して検証の結果を通知する。また、例えば、出力部55は、検証部54の検証の結果を表示部32に出力する。   The output unit 55 performs various outputs. For example, the output unit 55 outputs the verification result information of the verification unit 54 to the SDN controller 10 and notifies the verification result. For example, the output unit 55 outputs the verification result of the verification unit 54 to the display unit 32.

ここで、通信経路に異常が発生している場合の一例を説明する。図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 network 21. In the example of FIG. 8, there are communication paths of node C, node E, node F, and node A, and communication paths of node D, node E, node F, and node B. Node C, node E, and node F are logically designed. The communication path of node A is deleted. In this case, the contents of the node C, the node E, the node F, and the node A change, but in the following, for the sake of simplifying the description, rewriting of the route information of the node E will be mainly described.

例えば、経路設計では、論理設計の結果として、削除された通信経路に関する差分情報が設計情報として生成される。例えば、ノード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 controller 10 is notified as design information of difference information that deletes an entry that outputs a packet of the destination A from the node C to the port 0 and deletes an entry that outputs the packet of the destination A from the node E to the port 0. (FIG. 8 (1)).

SDNコントローラ10は、設計情報から、ノードごとに、各ノードの経路テーブル60に通信経路の追加、削除を行うエントリ情報を生成し、各ノードにエントリ情報を格納する。各ノードでは、エントリ情報に基づき、内部のハードウェアのレジスタ情報を生成し、内部設定が行なわれる。例えば、ノードAでは、テーブル番号1の宛先ノード「A」、出力ポート「0」のレコードが削除される。一方、ノードEでは、ファームウェアに問題があるなどの理由により、ハードウェア内部で誤った書き換えが発生し、テーブル番号2の宛先ノード「B」、出力ポート「0」のレコードが削除される(図8(2))。   For each node, the SDN controller 10 generates entry information for adding or deleting a communication path in the path table 60 of each node, and stores the entry information in each node. At each node, internal hardware register information is generated based on the entry information, and internal settings are made. For example, in the node A, the record of the destination node “A” and the output port “0” of the table number 1 is deleted. On the other hand, in node E, an erroneous rewrite occurs in the hardware due to a firmware problem or the like, and the record of destination node “B” and output port “0” in table number 2 is deleted (FIG. 5). 8 (2)).

検証装置23は、エントリ情報を取得し、エントリ情報から経路情報が更新されたノードEを検出する(図8(3))。そして、検証装置23は、経路情報が更新されたノードを通る通信経路を抽出する(図8(4))。図8の例では、検証装置23は、削除されたノードC、ノードE、ノードF、ノードAの通信経路と、既存のノードD、ノードE、ノードF、ノードBの通信経路を抽出する。   The verification device 23 acquires the entry information and detects the node E whose path information is updated from the entry information ((3) in FIG. 8). And the verification apparatus 23 extracts the communication path | route which passes along the node by which path | route information was updated ((4) of FIG. 8). In the example of FIG. 8, the verification device 23 extracts the deleted communication paths of the nodes C, E, F, and A and the existing communication paths of the nodes D, E, F, and B.

検証装置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 verification device 23 instructs the test packet transmitting / receiving device 22 connected to the node C to transmit the test packet, and causes the test packet to be transmitted to the communication paths of the deleted nodes C, E, F, and A. Further, the verification device 23 instructs the test packet transmission / reception device 22 connected to the node D to transmit the test packet, and transmits the test packet to the existing communication paths of the node D, the node E, the node F, and the node B ( FIG. 8 (5)). In the case of FIG. 8, in the communication paths of the deleted node C, node E, node F, and node A, the entry is deleted at node C, so the test packet does not reach the downstream edge node. Further, in the existing communication paths of the node D, the node E, the node F, and the node B, since the entry is deleted at the node E, the test packet does not reach the downstream edge node.

検証装置23は、通信経路ごとに、テストパケットの到達の有無から通信経路が正当であるか検証する。図8の場合、ノードC、ノードE、ノードF、ノードAの通信経路は、削除されているため、テストパケットが到達しないことは正当と判定される。一方、ノードD、ノードE、ノードF、ノードBの通信経路は、論理設計では変更されていないため、テストパケットが到達しないことは異常と判定される。検証装置23は、ノードD、ノードE、ノードF、ノードBの通信経路に問題が発生していることを出力する。   The verification device 23 verifies whether the communication path is valid for each communication path based on whether or not the test packet has arrived. In the case of FIG. 8, since the communication paths of the node C, the node E, the node F, and the node A are deleted, it is determined that the test packet does not reach it. On the other hand, since the communication paths of the node D, the node E, the node F, and the node B are not changed in the logical design, it is determined that the test packet does not reach is abnormal. The verification device 23 outputs that a problem has occurred in the communication paths of the node D, the node E, the node F, and the node B.

図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 verification apparatus 23 according to the present embodiment, a test packet is sent to the communication paths of the nodes C, E, F, and A and the communication paths of the nodes D, E, F, and B. Verification is performed. Therefore, it can be detected that a problem has occurred in the communication paths of the existing nodes D, E, F, and B.

図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 verification apparatus 23 according to the present embodiment uses only test packets to verify only communication paths that may be affected, node setting errors can be detected with fewer packets.

[処理の流れ]
最初に、本実施例に係るシステム20が通信経路の検証を行う全体的な流れについて説明する。図12は、通信経路の検証の全体的な流れを概略的に示したタイミングチャートである。
[Process flow]
First, the overall flow in which the system 20 according to the present embodiment verifies the communication path will be described. FIG. 12 is a timing chart schematically showing the overall flow of communication path verification.

検証装置23は、ネットワーク21の通信経路に関する情報を取得する(S10)。   The verification device 23 acquires information related to the communication path of the network 21 (S10).

SDNコントローラ10は、論理的に破綻がないことが確認された設計情報が入力されると(S11)、設計情報に基づいて、各ノードにエントリ情報を格納して、通信経路を設定する(S12)。SDNコントローラ10は、設定が完了すると、設計情報を検証装置23に入力し、通信経路の検証を依頼する(S13)。   When design information that has been confirmed to have no logical failure is input (S11), the SDN controller 10 stores entry information in each node and sets a communication path based on the design information (S12). ). When the setting is completed, the SDN controller 10 inputs design information to the verification device 23 and requests verification of the communication path (S13).

検証装置23は、通信経路に関する情報と設計情報から、経路情報が更新されたノードを検出し、検出したノードを通る通信経路を抽出する。検証装置23は、抽出された通信経路ごとに、通信経路の上流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定したテストパケットの送信を指示する(S14)。通信経路の下流側のエッジノードは、テストパケットが受信されたか否かを通知する(S15)。検証装置23は、抽出された通信経路ごとに、テストパケット送受信装置22からのパケットの受信結果の通知に応じて、通信経路が正当であるか検証し、検証結果をSDNコントローラ10に出力する(S16)。   The verification device 23 detects the node whose path information is updated from the information on the communication path and the design information, and extracts the communication path passing through the detected node. For each extracted communication path, the verification apparatus 23 instructs the test packet transmitting / receiving apparatus 22 connected to the edge node on the upstream side of the communication path to transmit a test packet in which a destination corresponding to the communication path is set. (S14). The edge node on the downstream side of the communication path notifies whether or not a test packet has been received (S15). For each extracted communication path, the verification apparatus 23 verifies whether the communication path is valid according to the notification of the reception result of the packet from the test packet transmitting / receiving apparatus 22 and outputs the verification result to the SDN controller 10 ( S16).

本実施例に係るシステム20では、通信経路の追加や削除が行われるごとに、上述のS10〜S16が行われる。   In the system 20 according to the present embodiment, the above-described S10 to S16 are performed every time a communication path is added or deleted.

次に、実施例1に係る検証装置23が通信経路を検証する検証処理の流れについて説明する。図13は、検証処理の手順の一例を示すフローチャートである。この検証処理は、所定のタイミング、例えば、設計情報が入力したタイミングや、入力部31から検証開始の操作指示を受け付けたタイミングで実行される。   Next, a verification process flow in which the verification apparatus 23 according to the first embodiment verifies the communication path will be described. FIG. 13 is a flowchart illustrating an example of the procedure of the verification process. This verification process is executed at a predetermined timing, for example, when the design information is input or when a verification start operation instruction is received from the input unit 31.

図13に示すように、検出部52は、設計情報から経路情報が更新されたノードを検出する(S50)。抽出部53は、経路情報が更新されたノードを通る通信経路を抽出する(S51)。   As illustrated in FIG. 13, the detection unit 52 detects a node whose path information is updated from the design information (S50). The extraction unit 53 extracts a communication route passing through the node whose route information is updated (S51).

検証部54は、抽出された通信経路ごとに、通信経路の上流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定したテストパケットの送信を指示する(S52)。検証部54は、抽出された通信経路ごとに、通信経路の下流側のエッジノードに接続されたテストパケット送受信装置22に対して、通信経路に対応した宛先を設定されたテストパケットが受信されたか否かの問い合わせを行う(S53)。検証部54は、抽出された通信経路ごとに、テストパケット送受信装置22からのパケットの受信結果の通知に応じて、通信経路が正当であるか検証する(S54)。   For each extracted communication path, the verification unit 54 instructs the test packet transmitting / receiving apparatus 22 connected to the edge node on the upstream side of the communication path to transmit a test packet in which a destination corresponding to the communication path is set. (S52). For each extracted communication path, the verification unit 54 has received a test packet in which a destination corresponding to the communication path is set for the test packet transmitting / receiving apparatus 22 connected to the edge node on the downstream side of the communication path. An inquiry about whether or not is made (S53). For each extracted communication path, the verification unit 54 verifies whether the communication path is valid according to the notification of the packet reception result from the test packet transmitting / receiving apparatus 22 (S54).

出力部55は、検証結果をSDNコントローラ10に出力し(S55)、処理を終了する。   The output unit 55 outputs the verification result to the SDN controller 10 (S55), and ends the process.

[効果]
上述してきたように、本実施例に係る検証装置23は、ネットワーク21を構成する複数のノードのうち、入力したパケットの出力先を示す経路情報が更新されたノードを検出する。検証装置23は、検出されたノードを通る通信経路を、複数のノードの更新前後の経路情報から抽出する。検証装置23は、抽出された通信経路に流されたテストパケットの到達性を検証する。これにより、検証装置23は、少ないパケットでノードの設定ミスを検出できる。
[effect]
As described above, the verification device 23 according to the present embodiment detects a node in which path information indicating an output destination of an input packet is updated among a plurality of nodes configuring the network 21. The verification device 23 extracts a communication path passing through the detected node from path information before and after updating of the plurality of nodes. The verification device 23 verifies the reachability of the test packet that has been sent to the extracted communication path. As a result, the verification device 23 can detect a node setting error with a small number of packets.

また、本実施例に係る検証装置23は、複数のノードに対して設定情報の書き込みが行われると、経路情報が更新されたノードを検出する。これにより、検証装置23は、設定情報の書き込みが行われると、検証を行ってノードの設定ミスを検出できる。   In addition, when the setting information is written to a plurality of nodes, the verification device 23 according to the present embodiment detects a node whose path information has been updated. Thus, when the setting information is written, the verification device 23 can perform verification and detect a node setting error.

さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。   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 verification device 23, the extraction unit 53 extracts the communication band of the communication path along with the communication path. The verification unit 54 may further verify whether the extracted communication band is allocated to the extracted communication path of the network 21. For example, the verification unit 54 instructs the test packet transmitter / receiver 22 connected to the edge node on the upstream side of the communication path for each extracted communication path to transmit the test packet with the data amount of the communication band to be secured. To do. In response to an instruction from the verification device 23, the test packet transmitting / receiving device 22 transmits a test packet to the communication path with a data amount of the communication band to be secured. For each extracted communication path, the verification unit 54 determines whether or not a test packet is received with a data amount of a communication band to be secured to the test packet transmitting / receiving apparatus 22 connected to the edge node on the downstream side of the communication path. Make an inquiry. In response to the inquiry from the verification device 23, the test packet transmission / reception device 22 notifies the verification device 23 of the reception result indicating whether or not the test packet having the data amount of the communication band to be secured has been received. The verification unit 54 verifies whether the communication bandwidth to be secured can be secured for each communication path in accordance with the notification of the reception result from the test packet transmitting / receiving apparatus 22 for each extracted communication path. Thereby, the verification apparatus 23 can verify whether the communication band to ensure can be ensured for every communication path.

また、上記の実施例では、変更前経路情報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 pre-change route information 41 has been described. However, the disclosed device is not limited thereto. The pre-change route information 41 may have any data configuration as long as it is information indicating the communication route before the change of the network 21. For example, the pre-change route information 41 may be information indicating a communication route as shown in FIG.

また、上記の実施例では、変更後経路情報42として、設計情報を記憶する場合について説明したが、開示の装置はこれに限定されない。変更後経路情報42も、ネットワーク21の変更後の通信経路を示す情報であれば、何れのデータ構成であってもよい。例えば、変更後経路情報42は、変更後の各ノードの経路テーブル60であってもよく、図6に示すような通信経路を示す情報であってもよい。   In the above embodiment, the case where the design information is stored as the changed route information 42 has been described. However, the disclosed apparatus is not limited to this. The post-change route information 42 may be any data configuration as long as it is information indicating the communication route after the change of the network 21. For example, the changed route information 42 may be the route table 60 of each node after the change, or may be information indicating a communication route as shown in FIG.

また、上記の実施例では、検出部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 detection unit 52 has been described for detecting a node whose path information is updated from the design information. However, the disclosed apparatus is not limited thereto. For example, the detection unit 52 may detect a node in which route information is updated from a change in the route table 60 of each node. In this case, the acquisition unit 51 acquires entry information for adding or deleting a communication route from the route table 60 of each node, and stores the entry information in the storage unit 33 as the changed route information 42. This entry information may be acquired from the SDN controller 10. For example, the acquisition unit 51 may monitor the entry information written to each node by the SDN controller 10 and acquire the entry information written from the SDN controller 10 to each node. Further, the entry information may be acquired by input from the input unit 31. The entry information may be acquired from the node. For example, the node in which the entry information is written may be configured to transmit the written entry information to the verification device 23, and the acquisition unit 51 may acquire the entry information from the node. When the acquisition unit 51 acquires entry information, the detection unit 52 detects a node whose path information is updated from the entry information. For example, the detection unit 52 detects a node in which entry information is written as a node in which route information is updated. For example, the detection unit 52 updates the route information by monitoring the writing of the setting information to a plurality of nodes, periodically reading the route information from the plurality of nodes, or notifying from the node in which the route information is updated. Detected nodes. Thereby, when the setting information is written to the node, the detection unit 52 detects the node whose path information is updated.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部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 reception unit 50, the acquisition unit 51, the detection unit 52, the extraction unit 53, the verification unit 54, and the output unit 55 may be appropriately integrated. Further, the processing of each processing unit may be appropriately separated into a plurality of processing units. Further, all or any part of each processing function performed in each processing unit can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic. .

[検証プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図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 bus 400.

HDD320には上記の受付部50、取得部51、検出部52、抽出部53、検証部54および出力部55と同様の機能を発揮する検証プログラム320aが予め記憶される。なお、検証プログラム320aについては、適宜分離しても良い。   The HDD 320 stores in advance a verification program 320a that performs the same functions as the reception unit 50, the acquisition unit 51, the detection unit 52, the extraction unit 53, the verification unit 54, and the output unit 55. Note that the verification program 320a may be separated as appropriate.

また、HDD320は、各種情報を記憶する。例えば、HDD320は、OSや分析に用いる各種データを記憶する。   The HDD 320 stores various information. For example, the HDD 320 stores various data used for the OS and analysis.

そして、CPU310が、検証プログラム320aをHDD320から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、検証プログラム320aは、受付部50、取得部51、検出部52、抽出部53、検証部54および出力部55と同様の動作を実行する。   Then, the CPU 310 reads out and executes the verification program 320a from the HDD 320, thereby executing the same operation as each processing unit of the embodiment. That is, the verification program 320a performs the same operations as the reception unit 50, the acquisition unit 51, the detection unit 52, the extraction unit 53, the verification unit 54, and the output unit 55.

なお、上記した検証プログラム320aは、必ずしも最初からHDD320に記憶させることを要しない。   Note that the verification program 320a described above does not necessarily need to be stored in the HDD 320 from the beginning.

例えば、コンピュータ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 SYMBOLS 10 SDN controller 20 System 21 Network 22 Test packet transmission / reception apparatus 23 Verification apparatus 31 Input part 32 Display part 33 Storage part 34 Control part 41 Pre-change path information 42 Post-change path information 43 Test path information 50 Reception part 51 Acquisition part 52 Detection part 53 Extraction Unit 54 Verification Unit 55 Output Unit 60 Route Table

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.
JP2015148017A 2015-07-27 2015-07-27 Verification device and verification method Pending JP2017028629A (en)

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)

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

Cited By (1)

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