JP6063826B2 - Route confirmation device, route confirmation system, route confirmation method, and program - Google Patents

Route confirmation device, route confirmation system, route confirmation method, and program Download PDF

Info

Publication number
JP6063826B2
JP6063826B2 JP2013131003A JP2013131003A JP6063826B2 JP 6063826 B2 JP6063826 B2 JP 6063826B2 JP 2013131003 A JP2013131003 A JP 2013131003A JP 2013131003 A JP2013131003 A JP 2013131003A JP 6063826 B2 JP6063826 B2 JP 6063826B2
Authority
JP
Japan
Prior art keywords
packet
switch
controller
transfer
route
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.)
Expired - Fee Related
Application number
JP2013131003A
Other languages
Japanese (ja)
Other versions
JP2015005926A (en
Inventor
貴晴 近江
貴晴 近江
奈々 伊藤
奈々 伊藤
紗弓 長谷川
紗弓 長谷川
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.)
NTT Comware Corp
Original Assignee
NTT Comware Corp
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 NTT Comware Corp filed Critical NTT Comware Corp
Priority to JP2013131003A priority Critical patent/JP6063826B2/en
Publication of JP2015005926A publication Critical patent/JP2015005926A/en
Application granted granted Critical
Publication of JP6063826B2 publication Critical patent/JP6063826B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のスイッチを備えるネットワークにおいてパケットが転送される経路を確認する経路確認装置、経路確認システム、経路確認方法、及びプログラムに関する。   The present invention relates to a route confirmation device, a route confirmation system, a route confirmation method, and a program for confirming a route through which a packet is transferred in a network including a plurality of switches.

ネットワークの正常性の確認や故障発生個所の特定のため、2つの機器を接続する経路を確認する技術が用いられている。例えば、ルータによって構成されるネットワークにおいては、IP(Internet Protocol)パケットのヘッダに格納されるTTL(Time To Live)を利用したtracerouteというコマンドにより経路の確認を行うことが一般的である。   In order to confirm the normality of the network and to identify the location where a failure has occurred, a technique for confirming a route connecting two devices is used. For example, in a network constituted by routers, it is common to confirm a route by a command called traceroute using TTL (Time To Live) stored in the header of an IP (Internet Protocol) packet.

ネットワークを構成するルータでは、パケットを転送するたびに、当該パケットのヘッダに格納されるTTLを1つ減算する。そして、ルータは、TTLが0になった時点でパケットの転送を中止し、ICMP(Internet Control Message Protocol)エラー(Time Exceeded)を送信元宛てに送信する。そこで、tracerouteコマンドを実行すると、TTLを1に設定したパケットを送信し、以降、ICMPエラーが帰ってくる度にTTLを1つ増やしたパケットを送信することで、送信元から宛先までに経由するルータのIPアドレスを取得することができる。   Each time a router constituting a network transfers a packet, it subtracts one TTL stored in the header of the packet. Then, when the TTL reaches 0, the router stops forwarding the packet and transmits an ICMP (Internet Control Message Protocol) error (Time Exceeded) to the transmission source. Therefore, when the traceroute command is executed, a packet in which TTL is set to 1 is transmitted, and thereafter, every time an ICMP error is returned, a packet in which TTL is increased by 1 is transmitted, so that the packet is routed from the transmission source to the destination. The IP address of the router can be acquired.

また、近年はネットワーク仮想化技術の1つとして、オープンフロー(商標)と呼ばれる技術の仕様の策定が進められている(非特許文献1を参照)。オープンフローを適用したネットワークは、パケットの転送ルールを決定するオープンフローコントローラと、オープンフローコントローラが決定したルールに従って動作する複数のオープンフロースイッチとを備える。   In recent years, the specification of a technique called OpenFlow (trademark) is being developed as one of network virtualization techniques (see Non-Patent Document 1). The network to which OpenFlow is applied includes an OpenFlow controller that determines a packet transfer rule and a plurality of OpenFlow switches that operate according to the rule determined by the OpenFlow controller.

“OpenFlow Switch Specification”、[online]、The Open Networking Foundation、[2013年2月13日検索]、インターネット<URL:https://www.opennetworking.org/images/stories/downloads/specification/openflow−spec−v1.3.1.pdf>“OpenFlow Specification”, [online], The Open Networking Foundation, [February 13, 2013 search], Internet <URL: https: // www. openworking. org / images / stories / downloads / specification / openflow-spec-v1.3.1. pdf>

しかしながら、オープンフローコントローラは、複数のプロトコルの情報の組み合わせを用いて転送ルールを適用することができる。そのため、tracerouteコマンドなど1つのプロトコルに係る情報のみを用いる方法では、オープンフローを適用したネットワークにおいて経路確認をすることができないおそれがある。
また、オープンフローに限られず、複数の情報の組み合わせなど、任意のルールに従ってパケットの転送を行う複数のスイッチからなるネットワークについても同様に、経路確認をすることができないおそれがある。
本発明の目的は、上述した課題を解決する経路確認装置、経路確認システム、経路確認方法、及びプログラムを提供することにある。
However, the OpenFlow controller can apply a transfer rule using a combination of information of a plurality of protocols. Therefore, in a method using only information related to one protocol such as a traceroute command, there is a possibility that route confirmation cannot be performed in a network to which OpenFlow is applied.
In addition, the route confirmation may not be performed in the same manner for a network including a plurality of switches that transfer packets according to an arbitrary rule, such as a combination of a plurality of information, without being limited to an open flow.
The objective of this invention is providing the route confirmation apparatus, route confirmation system, route confirmation method, and program which solve the subject mentioned above.

本発明の第1の態様は、パケットを受信したときに当該パケットに含まれる転送上限数を1減算し、当該転送上限数が0となった場合にコントローラへ当該パケットを転送する複数のスイッチを備えるネットワークにおいてパケットが転送される経路を確認する経路確認装置であって、所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部と、前記転送上限数を2とするパケットを、前記コントローラから前記スイッチ特定部が特定したスイッチに送出させるコントローラ制御部と、前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定する隣接スイッチ特定部とを備えることを特徴とする経路確認装置である。   In the first aspect of the present invention, when a packet is received, the transfer upper limit number included in the packet is decremented by 1, and a plurality of switches that transfer the packet to the controller when the transfer upper limit number becomes 0 are provided. A route confirmation device for confirming a route through which a packet is transferred in a provided network, and is finally confirmed as a transfer route of the packet among switches provided in a route from a switch at a predetermined start point to a switch at a predetermined end point. A transmission destination specifying unit for specifying the switch, a controller control unit for sending a packet having the transfer upper limit number 2 to the switch specified by the switch specifying unit from the controller, and transmission of the packet transferred to the controller Identify the original switch as the last confirmed switch as the packet forwarding path Further comprising a contact switch specific section is a path verification device according to claim.

また、本発明の第2の態様によれば、本発明の第1の態様において、前記ネットワークにおけるパケットの転送ルールに基づいて、前記始点のスイッチから前記終点のスイッチへ転送される条件を満たすパケットを生成するパケット生成部を備え、前記コントローラ制御部は、前記パケット生成部が生成したパケットを、前記コントローラから前記スイッチ特定部が特定したスイッチに送出させることを特徴としても良い。   According to the second aspect of the present invention, in the first aspect of the present invention, a packet that satisfies a condition that is transferred from the start switch to the end switch based on a packet transfer rule in the network. The controller control unit may send the packet generated by the packet generation unit from the controller to the switch specified by the switch specifying unit.

また、本発明の第3の態様によれば、本発明の第2の態様において、前記パケット生成部は、前記パケットの宛先となる装置が応答しないパケットを生成することを特徴としても良い。   According to the third aspect of the present invention, in the second aspect of the present invention, the packet generation unit may generate a packet to which a device that is the destination of the packet does not respond.

また、本発明の第4の態様によれば、本発明の第1から第3の何れかの態様において、前記コントローラ制御部は、前記コントローラが前記送出先特定部が特定したスイッチから、他の通信装置から転送されたパケットを受信した場合に、前回送信したパケットの前記転送上限数に1を加算した値を前記転送上限数とするパケットを、前記コントローラから前記スイッチを宛先として送出させることを特徴としても良い。   According to a fourth aspect of the present invention, in any one of the first to third aspects of the present invention, the controller control unit is configured to change the controller from the switch identified by the destination identification unit to another When a packet transferred from a communication device is received, a packet having a value obtained by adding 1 to the transfer upper limit number of the previously transmitted packet as the transfer upper limit number is sent from the controller to the switch as a destination. It is good as a feature.

また、本発明の第5の態様は、パケットに含まれる転送上限数が0となった場合に当該パケットをコントローラへ転送する複数のスイッチを備えるネットワークにおいてパケットが転送される経路を確認する経路確認システムであって、前記複数のスイッチを、パケットを受信したときに当該パケットに含まれる転送上限数を1減算するように設定する前記コントローラと、所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部と、前記転送上限数を2とするパケットを、前記コントローラから前記スイッチを宛先として送出させるコントローラ制御部と、前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定する隣接スイッチ特定部とを備えることを特徴とする経路確認システムである。   Further, the fifth aspect of the present invention is a path confirmation for confirming a path for transferring a packet in a network including a plurality of switches that transfer the packet to the controller when the upper limit number of transfer included in the packet becomes 0. A controller configured to set the plurality of switches so as to decrement a transfer upper limit number included in the packet by 1 when the packet is received; a switch from a predetermined start point switch to a predetermined end point switch; Out of the switches provided in the path, the destination identifying unit that identifies the switch last confirmed as the packet forwarding path and the packet having the transfer upper limit number of 2 are sent from the controller to the switch as the destination A controller control unit and a switch of a transmission source of the packet transferred to the controller, Is a path confirmation system characterized in that it comprises a neighbor switch specifying unit that specifies a switch that is confirmed at the end as the transfer path of the serial packet.

また、本発明の第6の態様は、パケットを受信したときに当該パケットに含まれる転送上限数を1減算し、当該転送上限数が0となった場合にコントローラへ当該パケットを転送する複数のスイッチを備えるネットワークにおいてパケットが転送される経路を確認する経路確認方法であって、送出先特定部が、所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定するステップと、前記転送上限数を2とするパケットを、前記コントローラから前記スイッチを宛先として送出させるステップと、隣接スイッチ特定部が、前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定するステップとを有することを特徴とする経路確認方法である。   In addition, the sixth aspect of the present invention provides a plurality of transfer upper limit numbers included in the packet when the packet is received, and when the transfer upper limit number becomes 0, the packet is transferred to the controller. A route confirmation method for confirming a route through which a packet is transferred in a network including a switch, wherein the destination identification unit is the packet among the switches provided in a route from a switch at a predetermined start point to a switch at a predetermined end point. Specifying the last confirmed switch as the transfer path of the packet, sending the packet having the transfer upper limit number 2 to the destination from the controller, and the adjacent switch specifying unit transferring to the controller The switch from which the transmitted packet was sent is the last confirmed switch as the packet forwarding route. A route confirmation method characterized by a step of identifying as.

また、本発明の第7の態様は、パケットを受信したときに当該パケットに含まれる転送上限数を1減算し、当該転送上限数が0となった場合にコントローラへ当該パケットを転送する複数のスイッチを備えるネットワークに接続されるコンピュータを、所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部、前記転送上限数を2とするパケットを、前記コントローラから前記スイッチを宛先として送出させるコントローラ制御部、前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定する隣接スイッチ特定部として機能させるためのプログラムである。   In addition, the seventh aspect of the present invention provides a plurality of transfer upper limit numbers included in the packet when the packet is received, and when the transfer upper limit number becomes 0, the packet is transferred to the controller. Destination identification that identifies a computer that is connected to a network including a switch and that is last confirmed as a transfer path of the packet among switches provided in a path from a switch at a predetermined start point to a switch at a predetermined end point A controller controller for sending a packet having the transfer upper limit number of 2 from the controller to the switch as a destination, and finally confirming a transmission source switch of the packet transferred to the controller as a transfer path of the packet Program for functioning as an adjacent switch specifying unit that specifies as a designated switch It is.

本発明によれば、任意のルールに従ってパケットの転送を行う複数のスイッチからなるネットワークについても経路確認をすることができる。   According to the present invention, it is possible to check the route of a network including a plurality of switches that transfer packets according to an arbitrary rule.

第1の実施形態に係る経路確認システムと経路確認対象のネットワークの一例を示す図である。It is a figure which shows an example of the route confirmation system which concerns on 1st Embodiment, and the network of a route confirmation object. 第1の実施形態に係る経路確認装置の構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the route confirmation apparatus which concerns on 1st Embodiment. 第1の実施形態に係る経路確認装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the route confirmation apparatus which concerns on 1st Embodiment. 経路確認用のパケットの生成方法を示すフローチャートである。It is a flowchart which shows the production | generation method of the packet for a route confirmation. 第1の実施形態の動作例における転送ルールを示す図である。It is a figure which shows the transfer rule in the operation example of 1st Embodiment. 第1の実施形態の動作例において確認結果送信部が送信する経路情報を示す図である。It is a figure which shows the path | route information which a confirmation result transmission part transmits in the operation example of 1st Embodiment. 第3の実施形態に係る経路確認システムと経路確認対象のネットワークの一例を示す図である。It is a figure which shows an example of the route confirmation system which concerns on 3rd Embodiment, and the network of a route confirmation object. 第3の実施形態に係る経路確認装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the route confirmation apparatus which concerns on 3rd Embodiment.

《第1の実施形態》
以下、図面を参照しながら本発明に関連する実施形態について詳しく説明する。
図1は、第1の実施形態に係る経路確認システムと経路確認対象のネットワークの一例を示す図である。
経路確認対象のネットワークは、複数のスイッチ10−1〜10−6(以下、スイッチ10−1〜10−6を総称する場合、スイッチ10という)によって構成される。本実施形態においてネットワークを構成するスイッチ10は、オープンフロースイッチであって、内部に記憶するフローテーブルに従って、パケットの転送を行う。当該フローテーブルが示す転送ルールにより、仮想ネットワークが構築される。また、スイッチ10は、受信パケットをコントローラ100に送信するPacketIn機能を有する。なお、ネットワークを構成するスイッチ10の数は、本実施形態の例に限られない。
<< First Embodiment >>
Hereinafter, embodiments related to the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating an example of a route confirmation system and a route confirmation target network according to the first embodiment.
The network for route confirmation is configured by a plurality of switches 10-1 to 10-6 (hereinafter, the switches 10-1 to 10-6 are collectively referred to as switches 10). In this embodiment, the switch 10 constituting the network is an open flow switch, and transfers packets according to a flow table stored therein. A virtual network is constructed according to the transfer rules indicated by the flow table. Further, the switch 10 has a PacketIn function for transmitting a received packet to the controller 100. Note that the number of switches 10 configuring the network is not limited to the example of the present embodiment.

なお、本明細書において「パケット」とは、IPによる通信で用いられるパケットに限られず、イーサネット(登録商標)による通信で用いられるフレームや、TCP(Transmission Control Protocol)による通信で用いられるセグメントを含む、ヘッダ情報を有するデータを示す。   In this specification, “packet” is not limited to a packet used for communication using IP, but includes a frame used for communication using Ethernet (registered trademark) and a segment used for communication using TCP (Transmission Control Protocol). , Indicates data having header information.

本実施形態に係る経路確認システムは、コントローラ100、経路確認装置200、トポロジ管理装置300を備える。
本実施形態に係るコントローラ100は、オープンフローコントローラであって、ネットワークを構成する各スイッチ10の管理を行う。また、コントローラ100は、パケットを指定したスイッチ10から送信させるPacketOut機能を有する。
経路確認装置200は、管理者から経路確認対象となる始点のスイッチ10及び終点のスイッチ10の入力を受け付け、当該経路の確認処理を実行する。
トポロジ管理装置300は、スイッチ10によって構成される仮想ネットワークのトポロジ情報を記憶する。具体的には、トポロジ管理装置300は、仮想ネットワーク毎に、当該ネットワーク上に設けられるスイッチ10の識別情報、スイッチ10の間の接続情報、仮想ネットワークの転送ルール情報を記憶する。
また、トポロジ管理装置300は、ユーザインタフェースを備えており、経路確認装置200に対する入出力を行う。
The route confirmation system according to the present embodiment includes a controller 100, a route confirmation device 200, and a topology management device 300.
The controller 100 according to the present embodiment is an OpenFlow controller, and manages each switch 10 constituting the network. Further, the controller 100 has a PacketOut function for transmitting a packet from the designated switch 10.
The route confirmation device 200 receives input from the administrator of the start point switch 10 and the end point switch 10 that are subject to route confirmation, and executes a route confirmation process.
The topology management device 300 stores the topology information of the virtual network configured by the switch 10. Specifically, the topology management apparatus 300 stores, for each virtual network, identification information of the switches 10 provided on the network, connection information between the switches 10, and transfer rule information of the virtual network.
The topology management apparatus 300 includes a user interface and performs input / output with respect to the route confirmation apparatus 200.

なお、本実施形態において、コントローラ100と全てのスイッチ10との間、及び各スイッチ10の間は、通信装置を介さずに接続されている。つまり、コントローラ100とスイッチ10との間に存在する通信装置の数は0である。   In the present embodiment, the controller 100 and all the switches 10 and between the switches 10 are connected without a communication device. That is, the number of communication devices existing between the controller 100 and the switch 10 is zero.

次に、経路確認装置200の動作について説明する。
図2は、第1の実施形態に係る経路確認装置200の構成を示す概略ブロック図である。
経路確認装置200は、経路確認要求受信部201、試験管理情報記憶部202、パケット生成部203、送出先特定部204、コントローラ制御部205、隣接スイッチ特定部206、試験結果情報記憶部207、確認結果判定部208、確認結果送信部209を備える。
Next, the operation of the route confirmation device 200 will be described.
FIG. 2 is a schematic block diagram illustrating the configuration of the route confirmation device 200 according to the first embodiment.
The route confirmation device 200 includes a route confirmation request reception unit 201, a test management information storage unit 202, a packet generation unit 203, a transmission destination identification unit 204, a controller control unit 205, an adjacent switch identification unit 206, a test result information storage unit 207, a confirmation. A result determination unit 208 and a confirmation result transmission unit 209 are provided.

経路確認要求受信部201は、トポロジ管理装置300から、確認の対象となる経路における転送ルールと、経路確認の対象となる始点のスイッチ10及び終点のスイッチ10の識別情報を含む経路確認要求の入力を受け付ける。なお、転送ルールには、具体的にはスイッチ10に設定可能なタプルの組み合わせからなる情報が含まれる。   The route confirmation request receiving unit 201 inputs a route confirmation request from the topology management device 300 including the transfer rule in the route to be confirmed and the identification information of the start switch 10 and the end switch 10 to be route confirmed. Accept. Note that the transfer rule specifically includes information including a combination of tuples that can be set in the switch 10.

試験管理情報記憶部202は、経路確認要求の識別情報と、当該経路確認の始点のスイッチ10及び終点のスイッチ10の識別情報とを記憶する。
パケット生成部203は、経路確認要求受信部201が受信した転送ルールに基づいて、経路確認に用いるパケットを生成する。
The test management information storage unit 202 stores the identification information of the route confirmation request and the identification information of the switch 10 at the start point and the end switch 10 of the route confirmation.
The packet generation unit 203 generates a packet used for route confirmation based on the transfer rule received by the route confirmation request reception unit 201.

送出先特定部204は、確認対象となる経路に設けられるスイッチ10のうち、パケットの転送経路として最後に確認されたスイッチ10を、PacketOutによるパケットの送出先として特定する。具体的には、経路確認の開始前は、経路確認要求受信部201が入力を受け付けた、経路の始点のスイッチ10を送出先として特定する。また、経路確認の開始後は、隣接スイッチ特定部206が特定したスイッチ10を送出先として特定する。   The destination identifying unit 204 identifies the switch 10 that is finally confirmed as the packet transfer path among the switches 10 provided in the path to be confirmed, as the packet destination by PacketOut. Specifically, before the start of route confirmation, the route confirmation request receiving unit 201 identifies the switch 10 at the start point of the route, which has received the input, as the transmission destination. Further, after the start of the route confirmation, the switch 10 specified by the adjacent switch specifying unit 206 is specified as the transmission destination.

コントローラ制御部205は、パケット生成部203が生成したパケットをコントローラ100に送信し、コントローラ100に、当該パケットを送出先特定部204が特定したスイッチ10に対してPacketOutにより送出させる。また、コントローラ制御部205は、コントローラ100がスイッチ10からPackeInにより受信したパケットの情報を、コントローラ100から受信する。   The controller control unit 205 transmits the packet generated by the packet generation unit 203 to the controller 100, and causes the controller 100 to transmit the packet to the switch 10 specified by the transmission destination specifying unit 204 using PacketOut. Further, the controller control unit 205 receives, from the controller 100, information on the packet that the controller 100 has received from the switch 10 using PackeIn.

隣接スイッチ特定部206は、コントローラ100から受信したパケットの情報に基づいて、送出先特定部204が特定したスイッチ10に隣接するスイッチ10を特定する。
試験結果情報記憶部207は、経路確認要求の識別情報と、当該経路について確認した区間の順序と、当該区間におけるスイッチ10の識別情報とを記憶する。
確認結果判定部208は、コントローラ100から受信したパケットの情報に基づいて、経路の確認が終了したか否かを判定する。
確認結果送信部209は、確認結果判定部208が、経路の確認が終了したと判定した場合に、試験結果情報記憶部207が記憶する情報に基づいて、経路の確認結果をトポロジ管理装置300に送信する。
The adjacent switch specifying unit 206 specifies the switch 10 adjacent to the switch 10 specified by the transmission destination specifying unit 204 based on the packet information received from the controller 100.
The test result information storage unit 207 stores the identification information of the route confirmation request, the order of the sections confirmed for the route, and the identification information of the switch 10 in the section.
Based on the packet information received from the controller 100, the confirmation result determination unit 208 determines whether or not the route confirmation has been completed.
When the confirmation result determination unit 208 determines that the route confirmation is completed, the confirmation result transmission unit 209 sends the route confirmation result to the topology management apparatus 300 based on the information stored in the test result information storage unit 207. Send.

次に、本実施形態に係る経路確認装置200を用いた経路確認方法について説明する。
まず、管理者は、コントローラ100を介して、受信したパケットのTTLを1減算するよう、各スイッチ10を設定しておく。この設定により、TTLが0になったパケットは、当該減算結果を得たスイッチ10によって、コントローラ100にPacketInにより転送される。なお、本実施形態においてTTLは、転送上限数の一例である。
上記設定が完了すると、管理者は、トポロジ管理装置300に、確認対象となる始点と終点を入力する。例えば、トポロジ管理装置300は、各仮想ネットワークを構成するスイッチ10の一覧をディスプレイに表示し、当該一覧の中から始点と終点の選択を受け付けることができる。
Next, a route confirmation method using the route confirmation device 200 according to the present embodiment will be described.
First, the administrator sets each switch 10 to subtract 1 from the TTL of the received packet via the controller 100. With this setting, a packet whose TTL is 0 is transferred to the controller 100 by PacketIn by the switch 10 that has obtained the subtraction result. In this embodiment, TTL is an example of the upper limit number of transfers.
When the above setting is completed, the administrator inputs the start point and the end point to be confirmed to the topology management apparatus 300. For example, the topology management apparatus 300 can display a list of the switches 10 constituting each virtual network on the display, and can accept selection of a start point and an end point from the list.

トポロジ管理装置300は、仮想ネットワークのトポロジ情報に基づいて、入力を受け付けた始点から終点までの経路が属する仮想ネットワークを特定する。次に、トポロジ管理装置300は、当該仮想ネットワークに関連付けられた転送ルールを特定する。また、トポロジ管理装置300は、入力を受け付けた始点及び終点の識別情報と、確認対象となる仮想ネットワークの転送ルールを含む経路確認要求を、経路確認装置200に送信する。   Based on the topology information of the virtual network, the topology management apparatus 300 identifies the virtual network to which the path from the start point to the end point that received the input belongs. Next, the topology management apparatus 300 specifies a transfer rule associated with the virtual network. In addition, the topology management apparatus 300 transmits a path confirmation request including the identification information of the start point and the end point that received the input and the transfer rule of the virtual network to be confirmed to the path confirmation apparatus 200.

図3は、第1の実施形態に係る経路確認装置200の動作を示すフローチャートである。
経路確認装置200の経路確認要求受信部201は、トポロジ管理装置300から確認要求を受信する(ステップS1)。次に、経路確認要求受信部201は、当該経路確認要求を識別する識別情報を生成する。そして、経路確認要求受信部201は、当該経路確認要求の識別情報と、経路確認要求受信部201が受信した経路確認要求に含まれる始点のスイッチ10及び終点のスイッチ10の識別情報とを、試験管理情報記憶部202に記録する(ステップS2)。次に、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールに基づいて、経路の始点から終点へ転送される条件を満たし、かつパケットの宛先となる装置が応答しないパケットを生成する(ステップS3)。
FIG. 3 is a flowchart showing the operation of the route confirmation device 200 according to the first embodiment.
The route confirmation request receiving unit 201 of the route confirmation device 200 receives the confirmation request from the topology management device 300 (step S1). Next, the route confirmation request receiving unit 201 generates identification information for identifying the route confirmation request. Then, the route confirmation request receiving unit 201 tests the identification information of the route confirmation request and the identification information of the start switch 10 and the end switch 10 included in the route confirmation request received by the route confirmation request receiving unit 201. The information is recorded in the management information storage unit 202 (step S2). Next, the packet generation unit 203 is an apparatus that satisfies the conditions for transfer from the start point to the end point of the route based on the transfer rule included in the route check request received by the route check request receiving unit 201 and is the destination of the packet Generates a packet that does not respond (step S3).

ここで、パケット生成部203によるパケットの生成方法について詳細に説明する。
図4は、経路確認用のパケットの生成方法を示すフローチャートである。
まず、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールにおいて、プロトコルの指定があるか否かを判定する(ステップS101)。パケット生成部203は、転送ルールにおいてプロトコルの指定がないと判定した場合(ステップS101:NO)、UDP(User Datagram Protocol)に従ったパケットを生成する(ステップS102)。このとき、パケット生成部203は、パケットのTTL値として「2」を指定し、パケットのペイロードに、ステップS2で生成した経路確認要求の識別情報を格納させる。
Here, a packet generation method by the packet generation unit 203 will be described in detail.
FIG. 4 is a flowchart showing a method for generating a packet for route confirmation.
First, the packet generation unit 203 determines whether or not there is a protocol designation in the transfer rule included in the route confirmation request received by the route confirmation request receiving unit 201 (step S101). If it is determined that the protocol is not specified in the transfer rule (step S101: NO), the packet generation unit 203 generates a packet according to UDP (User Datagram Protocol) (step S102). At this time, the packet generation unit 203 designates “2” as the TTL value of the packet, and stores the identification information of the route confirmation request generated in step S2 in the payload of the packet.

UDPによれば、パケットの宛先において当該パケットに対する応答を送信する必要がない。これにより、パケットの宛先となる装置において当該パケットがポートスキャンを目的としたものと判定されてしまうことを防ぐことができる。なお、パケット生成部203は、当該パケットの宛先ポート番号として、0番ポートを指定する。これにより、パケットの宛先となる装置において使用されていないポートを宛先にすることができるため、パケットの宛先となる装置に影響を与えないようにすることができる。   According to UDP, it is not necessary to transmit a response to the packet at the destination of the packet. Thus, it is possible to prevent the packet destination device from determining that the packet is intended for port scanning. Note that the packet generation unit 203 designates port 0 as the destination port number of the packet. Accordingly, since a port that is not used in the device that is the destination of the packet can be set as the destination, it is possible to prevent the device that is the destination of the packet from being affected.

そして、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールに従って、ステップS102で生成したUDPパケットの上書きを行う(ステップS103)。例えば、転送ルールにパケットの宛先となる装置のIPアドレスが含まれる場合、UDPパケットの送信先IPアドレスの欄を当該IPアドレスに書き換える。   Then, the packet generator 203 overwrites the UDP packet generated in step S102 according to the transfer rule included in the route confirmation request received by the route confirmation request receiver 201 (step S103). For example, when the IP address of the device that is the destination of the packet is included in the transfer rule, the field of the destination IP address of the UDP packet is rewritten with the IP address.

なお、転送ルールにおいて送信元MACアドレスの指定がない場合、パケットの送信元MACアドレスとして、コントローラ100のMACアドレスを用いる。また、転送ルールにおいて宛先MACアドレスの指定がない場合、パケットの宛先MACアドレスとして、任意のMACアドレスを用いる。また、転送ルールにおいて送信元IPアドレスの指定がない場合、パケットの送信元IPアドレスとして、コントローラ100のIPアドレスを用いる。また、転送ルールにおいて宛先IPアドレスの指定がない場合、パケットの宛先MACアドレスとして、任意のIPアドレス(プライベートアドレス、ブロードキャストアドレス、マルチキャストアドレス、ネットワークアドレスを除く)を用いる。   Note that when the transmission source MAC address is not specified in the transfer rule, the MAC address of the controller 100 is used as the transmission source MAC address of the packet. If the destination MAC address is not specified in the transfer rule, an arbitrary MAC address is used as the destination MAC address of the packet. Further, when the source IP address is not specified in the transfer rule, the IP address of the controller 100 is used as the source IP address of the packet. When the destination IP address is not specified in the transfer rule, an arbitrary IP address (excluding private address, broadcast address, multicast address, and network address) is used as the destination MAC address of the packet.

他方、ステップS101でパケット生成部203が、転送ルールにおいてプロトコルの指定があると判定した場合(ステップS101:YES)、パケット生成部203は、転送ルールにおいて指定されたプロトコルに従ったパケットを生成する(ステップS104)。このとき、パケット生成部203は、パケットのTTL値として「2」を指定し、パケットのペイロードに、ステップS2で生成した経路確認要求の識別情報を格納させる。   On the other hand, when the packet generation unit 203 determines in step S101 that the protocol is specified in the transfer rule (step S101: YES), the packet generation unit 203 generates a packet according to the protocol specified in the transfer rule. (Step S104). At this time, the packet generation unit 203 designates “2” as the TTL value of the packet, and stores the identification information of the route confirmation request generated in step S2 in the payload of the packet.

次に、パケット生成部203は、指定されたプロトコルに応じた判定処理を行う(ステップS105)。ここでは、指定されたプロトコルがTCPまたはUDPである場合と、指定されたプロトコルがICMPである場合の判定処理について説明するが、その他のプロトコルについても判定処理を行う。   Next, the packet generation unit 203 performs determination processing according to the designated protocol (step S105). Here, a description will be given of determination processing when the designated protocol is TCP or UDP and when the designated protocol is ICMP, but determination processing is also performed for other protocols.

指定されたプロトコルがTCPまたはUDPである場合(ステップS105:TCP/UDP)、パケット生成部203は、転送ルールにおいて宛先ポートの指定があるか否かを判定する(ステップS106)。宛先ポートの指定がない場合(ステップS106:NO)、パケット生成部203は、当該パケットの宛先ポート番号として、0番ポートを指定する(ステップS107)。   When the designated protocol is TCP or UDP (step S105: TCP / UDP), the packet generation unit 203 determines whether or not a destination port is designated in the transfer rule (step S106). When the destination port is not specified (step S106: NO), the packet generation unit 203 specifies the 0th port as the destination port number of the packet (step S107).

他方、宛先ポートの指定がある場合(ステップS106:YES)、パケット生成部203は、当該パケットの宛先ポート番号として、指定されたポート番号を指定し、チェックサム値を不正な値に書き換える(ステップS108)。これは、パケットの宛先ポート番号が0番でない場合、パケットの宛先となる装置において当該パケットがリクエストとして処理され得るためである。このように、チェックサムによる整合をとれなくすることで、パケットの宛先となる装置において当該パケットを破棄させ、パケットの宛先となる装置に影響を与えないようにすることができる。   On the other hand, when the destination port is designated (step S106: YES), the packet generation unit 203 designates the designated port number as the destination port number of the packet, and rewrites the checksum value to an incorrect value (step S106). S108). This is because if the destination port number of the packet is not 0, the device that is the destination of the packet can process the packet as a request. In this way, by making it impossible to achieve matching by the checksum, it is possible to discard the packet in the device that is the destination of the packet and not affect the device that is the destination of the packet.

また、指定されたプロトコルがICMPである場合(ステップS105:ICMP)、パケット生成部203は、転送ルールにおいてタイプ(エコー要求、エコー応答、宛先到達不可能通知など)の指定があるか否かを判定する(ステップS109)。タイプの指定がない場合(ステップS109:NO)、パケット生成部203は、当該パケットのタイプとして、「エコー応答」を指定する(ステップS110)。エコー応答のタイプのICMPパケットは、エコー要求リクエストに対するレスポンスとして送信されるものであるため、パケットの宛先となる装置において当該パケットがリクエストを示すものとして扱われず、終点の装置が当該パケットに対して応答することを防ぐことができる。   If the designated protocol is ICMP (step S105: ICMP), the packet generation unit 203 determines whether or not a type (echo request, echo response, destination unreachable notification, etc.) is designated in the transfer rule. Determination is made (step S109). When the type is not specified (step S109: NO), the packet generation unit 203 specifies “echo response” as the type of the packet (step S110). Since an ICMP packet of an echo response type is transmitted as a response to an echo request request, the packet destination device does not handle the packet as indicating the request, and the end device does not respond to the packet. It is possible to prevent responding.

他方、タイプの指定がある場合(ステップS109:YES)、パケット生成部203は、当該パケットのタイプとして、指定されたポート番号を指定し、チェックサム値を不正な値に書き換える(ステップS108)。   On the other hand, if there is a type designation (step S109: YES), the packet generation unit 203 designates the designated port number as the type of the packet, and rewrites the checksum value to an invalid value (step S108).

そして、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールに従って、ステップS103に進み、ステップS107、S108、S110で生成したパケットの上書きを行う。   Then, the packet generation unit 203 proceeds to step S103 according to the transfer rule included in the route confirmation request received by the route confirmation request reception unit 201, and overwrites the packet generated in steps S107, S108, and S110.

上記ステップS101〜ステップS110の処理により、パケット生成部203は、確認対象の仮想ネットワークにおける始点のスイッチ10から終点のスイッチ10へ転送される条件を満たし、かつパケットの宛先となる装置が応答しないパケットを生成することができる。   Through the processing from step S101 to step S110, the packet generation unit 203 satisfies the conditions for transfer from the start switch 10 to the end switch 10 in the confirmation target virtual network, and the packet destination device does not respond. Can be generated.

ステップS3において、パケット生成部203がパケットを生成すると、送出先特定部204は、パケットの転送経路として最後に確認されたスイッチ10を、PacketOutによるパケットの送出先として特定する(ステップS4)。具体的には、送出先特定部204は、既に隣接スイッチ特定部206によるスイッチ10の特定がなされている場合は、隣接スイッチ特定部206が特定したスイッチ10をパケットの送出先として特定する。他方、送出先特定部204は、隣接スイッチ特定部206によるスイッチ10の特定がなされていない場合は、経路確認要求に含まれる始点のスイッチ10をパケットの送出先として特定する。   In step S3, when the packet generation unit 203 generates a packet, the transmission destination specifying unit 204 specifies the switch 10 finally confirmed as the packet transfer path as a packet output destination by PacketOut (step S4). Specifically, when the adjacent switch specifying unit 206 has already specified the switch 10, the transmission destination specifying unit 204 specifies the switch 10 specified by the adjacent switch specifying unit 206 as the packet transmission destination. On the other hand, when the switch 10 is not specified by the adjacent switch specifying unit 206, the transmission destination specifying unit 204 specifies the start switch 10 included in the route confirmation request as the packet transmission destination.

次に、コントローラ制御部205は、コントローラ100に、パケット生成部203が生成したパケットを、送出先特定部204が特定したスイッチ10に対してPacketOutにより送出させる(ステップS5)。これにより、コントローラ100は、TTL値が2を示すパケットを、パケットの転送経路として最後に確認されたスイッチ10に送出する。次に、当該パケットを受信したスイッチ10は、当該パケットのTTL値を1減算する。このとき、TTL値は1となるため、スイッチ10は、転送ルールに従って当該パケットを隣接するスイッチ10に転送する。次に、パケットを受信したスイッチ10は、当該パケットのTTL値を1減算する。このとき、TTL値は0となるため、当該スイッチ10は当該パケットをPacketInによってコントローラ100に転送する。
コントローラ100は、スイッチ10からパケットを受信すると、当該パケットを経路確認装置200に転送する。
Next, the controller control unit 205 causes the controller 100 to transmit the packet generated by the packet generation unit 203 to the switch 10 specified by the transmission destination specifying unit 204 using PacketOut (step S5). As a result, the controller 100 sends out a packet having a TTL value of 2 to the switch 10 that has been finally confirmed as a packet transfer path. Next, the switch 10 receiving the packet subtracts 1 from the TTL value of the packet. At this time, since the TTL value is 1, the switch 10 transfers the packet to the adjacent switch 10 according to the transfer rule. Next, the switch 10 receiving the packet subtracts 1 from the TTL value of the packet. At this time, since the TTL value is 0, the switch 10 transfers the packet to the controller 100 by PacketIn.
When the controller 100 receives a packet from the switch 10, the controller 100 transfers the packet to the route confirmation device 200.

コントローラ制御部205は、ステップS5によりコントローラ100にパケットを送出させると、所定の待機時間の間に、コントローラ100からパケットを受信したか否かを判定する(ステップS6)。コントローラ制御部205は、所定の待機時間を超えてもコントローラ100からパケットを受信できない場合(ステップS6:NO)、パケットのロスが発生したか仮想ネットワークの外部に転送されたと判定する。   When the controller 100 sends a packet to the controller 100 in step S5, the controller control unit 205 determines whether or not a packet is received from the controller 100 during a predetermined standby time (step S6). If the controller control unit 205 cannot receive a packet from the controller 100 even after a predetermined waiting time has elapsed (step S6: NO), the controller control unit 205 determines that a packet loss has occurred or has been transferred to the outside of the virtual network.

他方、コントローラ制御部205は、待機時間の間に、コントローラ100からパケットを受信した場合(ステップS6:YES)、隣接スイッチ特定部206は、当該パケットの送信元のスイッチ10を、パケットの転送経路として最後に確認されたスイッチ10として特定する(ステップS7)。   On the other hand, when the controller control unit 205 receives a packet from the controller 100 during the standby time (step S6: YES), the adjacent switch specifying unit 206 sets the packet transmission path to the switch 10 that is the transmission source of the packet. As the last confirmed switch 10 (step S7).

次に、隣接スイッチ特定部206は、ステップS4で送出先特定部204が特定したスイッチ10とステップS7で隣接スイッチ特定部206が特定したスイッチ10との間の区間を示す経路情報として、経路確認要求の識別情報、区間の順序、当該区間におけるスイッチ10の識別情報を、試験結果情報記憶部207に記録する(ステップS8)。具体的には、隣接スイッチ特定部206は、コントローラ100が受信したパケットのペイロードに含まれる識別情報と、既に当該識別情報に関連付けられた経路情報の区間の順序のうち最も大きい値に1を加算した値と、ステップS4で特定したスイッチ10とステップS7で特定したスイッチ10の識別情報とを試験結果情報記憶部207に記録する。   Next, the adjacent switch specifying unit 206 performs route confirmation as route information indicating a section between the switch 10 specified by the destination specifying unit 204 in step S4 and the switch 10 specified by the adjacent switch specifying unit 206 in step S7. The request identification information, section order, and switch 10 identification information in the section are recorded in the test result information storage unit 207 (step S8). Specifically, the adjacent switch specifying unit 206 adds 1 to the largest value in the order of the identification information included in the payload of the packet received by the controller 100 and the section of the path information already associated with the identification information. The test value information storage unit 207 records the value obtained and the identification information of the switch 10 identified in step S4 and the switch 10 identified in step S7.

次に、確認結果判定部208は、コントローラ100が受信したパケットがPacketInされた理由がTTLInvalidであるか否かを判定する(ステップS9)。確認結果判定部208は、スイッチ10によるPacketInの理由がTTLInvalid以外の理由(例えば、NoMatchEntryやActionControllerなど)であると判定した場合(ステップS9:NO)、仮想ネットワークにおいて転送ルールに基づく転送ができない個所があると判定する。
他方、確認結果判定部208は、スイッチ10によるPacketInの理由がTTLInvalidであると判定した場合(ステップS9:YES)、コントローラ100が受信したパケットのペイロードに含まれる識別情報に関連付けて試験管理情報記憶部202が記憶する終点のスイッチ10が、隣接スイッチ特定部206が特定したスイッチ10と同じであるか否かを判定する(ステップS10)。確認結果判定部208は、隣接スイッチ特定部206が特定したスイッチ10が終点のスイッチ10であると判定した場合(ステップS10:YES)、終点までの経路確認が終了したと判定する。
Next, the confirmation result determination unit 208 determines whether or not the reason why the packet received by the controller 100 is PacketIn is TTL Invalid (step S9). When the confirmation result determination unit 208 determines that the reason of PacketIn by the switch 10 is a reason other than TTL Invalid (for example, NoMatchEntry, ActionController, etc.) (step S9: NO), the transfer cannot be performed based on the transfer rule in the virtual network. Judge that there is.
On the other hand, when the confirmation result determination unit 208 determines that the reason for PacketIn by the switch 10 is TTL Invalid (step S9: YES), the test management information storage is associated with the identification information included in the payload of the packet received by the controller 100. It is determined whether the end switch 10 stored in the unit 202 is the same as the switch 10 specified by the adjacent switch specifying unit 206 (step S10). When it is determined that the switch 10 specified by the adjacent switch specifying unit 206 is the end switch 10 (step S10: YES), the confirmation result determination unit 208 determines that the route check to the end point has been completed.

他方、確認結果判定部208は、隣接スイッチ特定部206が特定したスイッチ10が経路の終点となるスイッチ10でないと判定した場合(ステップS10:NO)、試験結果情報記憶部207が記憶するスイッチ10とステップS7で隣接スイッチ特定部206が特定したスイッチ10とが同じであるか否かを判定する(ステップS11)。確認結果判定部208は、試験結果情報記憶部207が記憶するスイッチ10と隣接スイッチ特定部206が特定したスイッチ10とが異なると判定した場合(ステップS11:NO)、経路の確認が終了していないと判定し、ステップS4に戻り、再度コントローラ100によるPacketOutを試みる。   On the other hand, when the confirmation result determination unit 208 determines that the switch 10 specified by the adjacent switch specification unit 206 is not the switch 10 that is the end point of the route (step S10: NO), the switch 10 stored in the test result information storage unit 207 is stored. And whether or not the switch 10 specified by the adjacent switch specifying unit 206 in step S7 is the same (step S11). When the confirmation result determination unit 208 determines that the switch 10 stored in the test result information storage unit 207 is different from the switch 10 specified by the adjacent switch specification unit 206 (step S11: NO), the confirmation of the route is finished. It is determined that there is not, the process returns to step S4, and the packet out by the controller 100 is tried again.

他方、確認結果判定部208は、試験結果情報記憶部207が記憶するスイッチ10と隣接スイッチ特定部206が特定したスイッチ10とが同じであると判定した場合(ステップS11:YES)、仮想ネットワーク内でパケットがループしていると判定する。   On the other hand, if the confirmation result determination unit 208 determines that the switch 10 stored in the test result information storage unit 207 is the same as the switch 10 specified by the adjacent switch specification unit 206 (step S11: YES), the confirmation result determination unit 208 in the virtual network To determine that the packet is looping.

確認結果判定部208が、ステップS6でパケットのロスが発生したか仮想ネットワークの外部に転送されたと判定した場合、ステップS9において仮想ネットワークにおいて転送ができない個所があると判定した場合、ステップS10で経路の終点までの確認を終了したと判定した場合、またはステップS11で仮想ネットワーク内でパケットがループしていると判定した場合、確認結果送信部209は、試験結果情報記憶部207から、ステップS2で生成した経路確認要求の識別情報に関連付けられた経路情報を読み出す。そして、確認結果送信部209は、当該経路情報と確認を終了した理由とを、トポロジ管理装置300に送信する(ステップS12)。これにより、トポロジ管理装置300は、受信した経路情報を、区間の順序の昇順に並べ、さらに確認を終了した理由をディスプレイに表示することで、管理者に経路の確認結果を提示することができる。   If the confirmation result determination unit 208 determines in step S6 that a packet loss has occurred or has been transferred to the outside of the virtual network, if it is determined in step S9 that there is a portion that cannot be transferred in the virtual network, the route in step S10 When it is determined that the confirmation up to the end point of is completed, or when it is determined in step S11 that the packet is looped in the virtual network, the confirmation result transmission unit 209 receives the test result information from the test result information storage unit 207 in step S2. Read the route information associated with the identification information of the generated route confirmation request. Then, the confirmation result transmission unit 209 transmits the route information and the reason for completing the confirmation to the topology management device 300 (step S12). Accordingly, the topology management apparatus 300 can present the route confirmation result to the administrator by arranging the received route information in ascending order of the section order and further displaying the reason for the completion of the confirmation on the display. .

次に、第1の実施形態に係る経路確認方法の動作について具体的な例を用いて説明する。
例えば、図1に示すネットワークにおいて、IPアドレスが192.168.1.0/24のネットワークに属するPC(Personal Computer)(以下、SrcPCという)から、IPアドレスが192.168.2.0/24のネットワークに属するPC(以下、DstPCという)までの経路の確認を行う場合について説明する。なお、本例においては、SrcPCがスイッチ10−1に接続され、DstPCがスイッチ10−4に接続されているものとして説明する。
Next, the operation of the route confirmation method according to the first embodiment will be described using a specific example.
For example, in the network shown in FIG. 1, the IP address is 192.168.2.0/24 from a PC (Personal Computer) (hereinafter referred to as SrcPC) belonging to the network whose IP address is 192.168.1.0/24. A case where a route to a PC (hereinafter referred to as DstPC) belonging to the network is confirmed will be described. In this example, it is assumed that SrcPC is connected to the switch 10-1 and DstPC is connected to the switch 10-4.

トポロジ管理装置300は、管理者からSrcPCとDstPC間の通信を行うための仮想ネットワークを構成するスイッチ10の中から経路確認を行いたい2つのスイッチ10−1、10−4の入力を受け付ける。これにより、トポロジ管理装置300は、始点となるスイッチ10及び終点となるスイッチ10を特定するとともに、トポロジ情報から当該仮想ネットワークの転送ルールを特定する。   The topology management apparatus 300 receives inputs from the administrator of the two switches 10-1 and 10-4 for which route confirmation is desired from among the switches 10 constituting the virtual network for performing communication between SrcPC and DstPC. Thereby, the topology management apparatus 300 specifies the switch 10 as the start point and the switch 10 as the end point, and specifies the transfer rule of the virtual network from the topology information.

図5は、第1の実施形態の動作例における転送ルールを示す図である。
図5によれば、転送ルールの条件として、始点のIPアドレスが192.168.1.0/24であり、終点のIPアドレスが192.168.2.0/24であり、プロトコルがTCPであることが指定されている。
FIG. 5 is a diagram illustrating a transfer rule in the operation example of the first embodiment.
According to FIG. 5, as the conditions of the transfer rule, the start point IP address is 192.168.1.0/24, the end point IP address is 192.168.2.0/24, and the protocol is TCP. It is specified that there is.

つまり、経路確認装置200の経路確認要求受信部201は、トポロジ管理装置300から転送ルールと、始点となるスイッチ10であるスイッチ10−1、終点となるスイッチ10であるスイッチ10−4の識別情報を含む経路確認要求を受信する。次に、経路確認要求受信部201は、当該経路について、新たな識別情報「要求−1」を生成し、当該識別情報に関連付けて、始点となるスイッチ10であるスイッチ10−1、終点となるスイッチ10であるスイッチ10−4の識別情報を、試験管理情報記憶部202に記録する。   That is, the route confirmation request receiving unit 201 of the route confirmation device 200 receives the transfer rule from the topology management device 300 and the identification information of the switch 10-1 that is the switch 10 that is the start point and the switch 10-4 that is the switch 10 that is the end point. A route confirmation request including is received. Next, the route confirmation request receiving unit 201 generates new identification information “request-1” for the route, and associates with the identification information to be the switch 10-1 that is the start point switch 10-1 and the end point. The identification information of the switch 10-4 that is the switch 10 is recorded in the test management information storage unit 202.

次に、パケット生成部203は、上記転送ルールの条件に基づいて、パケットを生成する。上記転送ルールにおいては、プロトコルとしてTCPが指定されており、ポートの指定はない。従って、パケット生成部203は、送信元のIPアドレスを「192.168.1.0/24」内の任意のアドレスとし、宛先のIPアドレスを「192.168.2.0/24」内の任意のアドレスとし、宛先ポート番号を「0」とし、TTLを「2」とするTCPパケットを生成する。また、当該パケットのペイロードには、識別情報「要求−1」が格納される。なお、パケット生成部203は、パケットサイズ全体が、規定される転送可能なパケットサイズになるようパケットを生成する。イーサネットの最小フレーム長に満たない場合は、パケット生成部203は、TCPのデータ部にパディングを行う。   Next, the packet generation unit 203 generates a packet based on the conditions of the transfer rule. In the transfer rule, TCP is specified as a protocol, and no port is specified. Therefore, the packet generation unit 203 sets the source IP address as an arbitrary address in “192.168.1.0/24” and sets the destination IP address in “192.168.2.0/24”. A TCP packet having an arbitrary address, a destination port number “0”, and a TTL “2” is generated. Further, identification information “request-1” is stored in the payload of the packet. The packet generation unit 203 generates a packet so that the entire packet size becomes a prescribed transferable packet size. When the minimum frame length of Ethernet is not reached, the packet generation unit 203 performs padding on the TCP data portion.

次に、送出先特定部204は、始点となるスイッチ10であるスイッチ10−1をPacketOutの送出先に決定する。コントローラ制御部205の制御により、コントローラ100は、パケット生成部203が生成したパケットをPacketOutによりスイッチ10−1に送出する。PacketOutされたパケットは、スイッチ10−1に設定された転送ルールに従い、TTLが1減算され、転送先であるスイッチ10−2に転送される。当該パケットを受信したスイッチ10−2も同様にTTLを1減算する。ここで、当該パケットのTTLは「0」となるため、スイッチ10−2は当該パケットを、TTLInvalidを理由にコントローラ100にPacketInする。   Next, the destination specifying unit 204 determines the switch 10-1, which is the switch 10 serving as the starting point, as the packet out destination. Under the control of the controller control unit 205, the controller 100 transmits the packet generated by the packet generation unit 203 to the switch 10-1 by PacketOut. The packet that has been packet-out is decremented by 1 in TTL in accordance with the transfer rule set in the switch 10-1, and is transferred to the switch 10-2 that is the transfer destination. Similarly, the switch 10-2 that has received the packet decrements TTL by one. Here, since the TTL of the packet is “0”, the switch 10-2 packet-in the packet to the controller 100 for the reason of TTL Invalid.

コントローラ100がPacketInによりパケットを受信すると、隣接スイッチ特定部206は、当該パケットの送信元であるスイッチ10−2を、パケットの転送経路として最後に確認されたスイッチ10として特定する。これにより、隣接スイッチ特定部206は、識別情報「要求−1」、区間の順序「1」、スイッチ10情報「10−1→10−2」を、試験結果情報記憶部207に記録する。   When the controller 100 receives a packet by PacketIn, the adjacent switch specifying unit 206 specifies the switch 10-2 that is the transmission source of the packet as the switch 10 that is finally confirmed as the packet transfer path. As a result, the adjacent switch specifying unit 206 records the identification information “request-1”, the section order “1”, and the switch 10 information “10-1 → 10-2” in the test result information storage unit 207.

ここで、PacketInの理由がTTLInvalidであり、スイッチ10−2が終点となるスイッチ10でも試験結果情報記憶部207が記憶するスイッチ10でもないことから、確認結果判定部208は、確認を継続すると判定する。   Here, the reason for PacketIn is TTL Invalid, and the switch 10-2 is neither the end switch 10 nor the switch 10 stored in the test result information storage unit 207, so the confirmation result determination unit 208 determines to continue the confirmation. To do.

次に、送出先特定部204は、隣接スイッチ特定部206が特定したスイッチ10−2をPacketOutの送出先に決定する。コントローラ制御部205の制御により、コントローラ100は、パケット生成部203が生成したパケットをPacketOutによりスイッチ10−2に送出する。PacketOutされたパケットは、スイッチ10−2からスイッチ10−3に転送されると、TTLが「0」となるためTTLInvalidを理由にコントローラ100にPacketInされる。   Next, the transmission destination specifying unit 204 determines the switch 10-2 specified by the adjacent switch specifying unit 206 as the packet output destination. Under the control of the controller control unit 205, the controller 100 transmits the packet generated by the packet generation unit 203 to the switch 10-2 by PacketOut. When the packet that has been packet-out is transferred from the switch 10-2 to the switch 10-3, the TTL becomes “0”, so that the packet is packet-in to the controller 100 due to TTL Invalid.

コントローラ100がPacketInによりパケットを受信すると、隣接スイッチ特定部206は、当該パケットの送信元であるスイッチ10−3を、パケットの転送経路として最後に確認されたスイッチ10として特定する。
ここで、PacketInの理由がTTLInvalidであり、スイッチ10−3が終点となるスイッチ10でも試験結果情報記憶部207が記憶するスイッチ10でもないことから、確認結果判定部208は、確認を継続すると判定する。
When the controller 100 receives a packet by PacketIn, the adjacent switch specifying unit 206 specifies the switch 10-3 that is the transmission source of the packet as the switch 10 that is finally confirmed as the packet transfer path.
Here, the reason for PacketIn is TTL Invalid, and the switch 10-3 is neither the end switch 10 nor the switch 10 stored in the test result information storage unit 207. Therefore, the confirmation result determination unit 208 determines to continue the confirmation. To do.

次に、送出先特定部204は、隣接スイッチ特定部206が特定したスイッチ10−3をPacketOutの送出先に決定する。コントローラ制御部205の制御により、コントローラ100は、パケット生成部203が生成したパケットをPacketOutによりスイッチ10−3に送出する。PacketOutされたパケットは、スイッチ10−3からスイッチ10−4に転送されると、TTLが「0」となるためTTLInvalidを理由にコントローラ100にPacketInされる。   Next, the transmission destination specifying unit 204 determines the switch 10-3 specified by the adjacent switch specifying unit 206 as the packet output destination. Under the control of the controller control unit 205, the controller 100 transmits the packet generated by the packet generation unit 203 to the switch 10-3 by PacketOut. When the packet that has been packet-out is transferred from the switch 10-3 to the switch 10-4, the TTL becomes “0”, so that the packet is packet-in to the controller 100 due to TTL Invalid.

コントローラ100がPacketInによりパケットを受信すると、隣接スイッチ特定部206は、当該パケットの送信元であるスイッチ10−4を、パケットの転送経路として最後に確認されたスイッチ10として特定する。
ここで、PacketInの理由がTTLInvalidであり、スイッチ10−4が終点となるスイッチ10であることから、確認結果判定部208は、確認が終了したと判定する。そして、確認結果送信部209は、試験結果情報記憶部207が識別情報「要求−1」に関連付けて記憶する経路情報を、トポロジ管理装置300に送信する。
When the controller 100 receives a packet by PacketIn, the adjacent switch specifying unit 206 specifies the switch 10-4 that is the transmission source of the packet as the switch 10 that is finally confirmed as the packet transfer path.
Here, since the reason for PacketIn is TTL Invalid and the switch 10-4 is the end switch 10, the confirmation result determination unit 208 determines that the confirmation is completed. Then, the confirmation result transmission unit 209 transmits the path information stored in the test result information storage unit 207 in association with the identification information “request-1” to the topology management apparatus 300.

図6は、第1の実施形態の動作例において確認結果送信部209が送信する経路情報を示す図である。
図6に示すように、経路情報を区間の順序ごとに並べると、確認対象の経路においてパケットが、スイッチ10−1、スイッチ10−2、スイッチ10−3、スイッチ10−4の順に経由することがわかる。
FIG. 6 is a diagram illustrating route information transmitted by the confirmation result transmission unit 209 in the operation example of the first embodiment.
As shown in FIG. 6, when the route information is arranged in the order of the sections, packets pass through the switch 10-1, the switch 10-2, the switch 10-3, and the switch 10-4 in the order of the confirmation target route. I understand.

このように、本実施形態によれば、コントローラ100が、TTLが「2」のパケットを、パケットの転送経路として最後に確認されたスイッチ10に送出し、経路確認装置200が、コントローラ100に転送されたパケットの送信元のスイッチ10を、パケットの転送経路として最後に確認されたスイッチ10として特定する。これにより、経路確認装置200は、任意のルールに従ってパケットの転送を行う複数のスイッチ10からなるネットワークについても経路確認をすることができる。   As described above, according to the present embodiment, the controller 100 sends a packet with a TTL of “2” to the switch 10 that has been finally confirmed as a packet transfer route, and the route check device 200 transfers the packet to the controller 100. The switch 10 that is the transmission source of the received packet is identified as the switch 10 that was last confirmed as the packet transfer path. As a result, the route confirmation device 200 can confirm the route for a network including a plurality of switches 10 that transfer packets according to an arbitrary rule.

また、本実施形態によれば、tracerouteなど常に始点からパケットを送信することで経路確認を行う方法と比較して、経由する装置数が少ないため、高速に経路の確認を行うことができる。また、経路確認のためのトラフィック量を小さくすることができる。   In addition, according to the present embodiment, the route can be confirmed at high speed because the number of devices that pass through is small compared to a method of confirming a route by always transmitting a packet from the start point such as traceroute. In addition, the amount of traffic for route confirmation can be reduced.

《第2の実施形態》
第1の実施形態では、経路確認要求受信部201が、始点となるスイッチ10と終点となるスイッチ10の識別情報を含む経路確認要求を受信する場合について説明したが、第2の実施形態に係る経路確認要求受信部201は、終点となるスイッチ10の識別情報を含まない経路確認要求を受信する。
つまり、第2の実施形態では、経路確認要求受信部201は、始点となるスイッチ10と転送ルールを含む経路確認要求を受信する。
<< Second Embodiment >>
In the first embodiment, the case has been described in which the route confirmation request receiving unit 201 receives a route confirmation request including identification information of the switch 10 serving as the start point and the switch 10 serving as the end point. However, according to the second embodiment, The route confirmation request receiving unit 201 receives a route confirmation request that does not include the identification information of the switch 10 that is the end point.
That is, in the second embodiment, the route confirmation request receiving unit 201 receives a route confirmation request including the switch 10 serving as the starting point and the transfer rule.

この場合、確認結果判定部208は、上述したステップS10に係る、隣接スイッチ特定部206が特定したスイッチ10と終点となるスイッチ10が同じであるか否かの判定を行わない。これに代えて、確認結果判定部208は、ステップS6においてパケットが待機時間内に受信できない場合に、パケットが仮想ネットワーク内でロスした、もしくは仮想ネットワークの外に出てしまったと推定し、確認を終了すると判定する。   In this case, the confirmation result determination unit 208 does not determine whether the switch 10 specified by the adjacent switch specification unit 206 and the end switch 10 are the same in step S10 described above. Instead, if the packet cannot be received within the waiting time in step S6, the confirmation result determination unit 208 estimates that the packet has been lost in the virtual network or has gone out of the virtual network. Determine to end.

《第3の実施形態》
図7は、第3の実施形態に係る経路確認システムと経路確認対象のネットワークの一例を示す図である。
経路確認対象のネットワークは、スイッチ10−1〜10−4とルータ20−1とルータ20−2によって構成される。また、本実施形態に係るコントローラ100は、ルータ20−3を介してスイッチ10−1〜10−4と接続される。このように、本実施形態においては、コントローラ100とスイッチ10との間に通信装置が設けられる。ここで、ルータ20−1〜20−3(以下、ルータ20−1〜20−3を総称する場合、ルータ20という)は、通信装置の一例であって良い。つまり、本実施形態に係る経路確認対象のネットワークは、スイッチ10とルータ20とから構成される。なお、ネットワークを構成するスイッチ10及びルータ20の数は、本実施形態の例に限られない。
<< Third Embodiment >>
FIG. 7 is a diagram illustrating an example of a route confirmation system and a route confirmation target network according to the third embodiment.
The route confirmation target network includes switches 10-1 to 10-4, a router 20-1, and a router 20-2. The controller 100 according to the present embodiment is connected to the switches 10-1 to 10-4 via the router 20-3. Thus, in the present embodiment, a communication device is provided between the controller 100 and the switch 10. Here, the routers 20-1 to 20-3 (hereinafter, the routers 20-1 to 20-3 are collectively referred to as the router 20) may be an example of a communication device. That is, the network of the route confirmation target according to the present embodiment includes the switch 10 and the router 20. Note that the number of switches 10 and routers 20 configuring the network is not limited to the example of the present embodiment.

図8は、第3の実施形態に係る経路確認装置200の動作を示すフローチャートである。なお、第1の実施形態と同じ動作をする点については同一の符号を用いて説明する。
経路確認装置200の経路確認要求受信部201は、トポロジ管理装置300から経路確認要求を受信する(ステップS1)。次に、経路確認要求受信部201は、当該経路確認要求を識別する識別情報を生成する。そして、経路確認要求受信部201は、当該経路確認要求の識別情報と、経路確認要求受信部201が受信した経路確認要求に含まれる始点となるスイッチ10及び終点となるスイッチ10の識別情報とを、試験管理情報記憶部202に記録する(ステップS2)。次に、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールに基づいて、経路の始点から終点へ転送される条件を満たし、かつパケットの宛先となる装置が応答しないパケットを生成する(ステップS3)。
FIG. 8 is a flowchart showing the operation of the route confirmation device 200 according to the third embodiment. Note that the same operations as in the first embodiment will be described using the same reference numerals.
The route confirmation request receiving unit 201 of the route confirmation device 200 receives the route confirmation request from the topology management device 300 (step S1). Next, the route confirmation request receiving unit 201 generates identification information for identifying the route confirmation request. Then, the route confirmation request receiving unit 201 receives the identification information of the route confirmation request and the identification information of the switch 10 serving as the start point and the switch 10 serving as the end point included in the route confirmation request received by the route confirmation request receiving unit 201. The information is recorded in the test management information storage unit 202 (step S2). Next, the packet generation unit 203 is an apparatus that satisfies the conditions for transfer from the start point to the end point of the route based on the transfer rule included in the route check request received by the route check request receiving unit 201 and is the destination of the packet Generates a packet that does not respond (step S3).

パケット生成部203がパケットを生成すると、送出先特定部204は、パケットの転送経路として最後に確認されたスイッチ10を、PacketOutによるパケットの送出先として特定する(ステップS4)。次に、コントローラ制御部205は、コントローラ100に、パケット生成部203が生成したパケットを、送出先特定部204が特定したスイッチ10に対してPacketOutにより送出させる(ステップS5)。このとき、パケット生成部203が生成したパケットはPacketOut用のパケットに内包される。そのため、コントローラ100とスイッチ10との間にルータ20が設けられていても、パケット生成部203が生成したパケットは、TTLを減少させずに送出先として特定したスイッチ10まで送り届けられる。   When the packet generation unit 203 generates a packet, the transmission destination specifying unit 204 specifies the switch 10 finally confirmed as the packet transfer path as a packet output destination by PacketOut (step S4). Next, the controller control unit 205 causes the controller 100 to transmit the packet generated by the packet generation unit 203 to the switch 10 specified by the transmission destination specifying unit 204 using PacketOut (step S5). At this time, the packet generated by the packet generation unit 203 is included in the PacketOut packet. Therefore, even if the router 20 is provided between the controller 100 and the switch 10, the packet generated by the packet generation unit 203 is delivered to the switch 10 specified as the transmission destination without reducing the TTL.

次に、コントローラ制御部205は、所定の待機時間の間に、コントローラ100からパケットを受信したか否かを判定する(ステップS6)。コントローラ制御部205は、所定の待機時間を超えてもコントローラ100からパケットを受信できない場合(ステップS6:NO)、パケットのロスが発生したか仮想ネットワークの外部に転送されたと判定する。   Next, the controller control unit 205 determines whether or not a packet is received from the controller 100 during a predetermined standby time (step S6). If the controller control unit 205 cannot receive a packet from the controller 100 even after a predetermined waiting time has elapsed (step S6: NO), the controller control unit 205 determines that a packet loss has occurred or has been transferred to the outside of the virtual network.

他方、コントローラ制御部205は、待機時間の間に、コントローラ100からパケットを受信した場合(ステップS6:YES)、受信したパケットがパケット生成部203が生成したパケットではなく、Time Exceed を示すICMPパケットであるか否かを判定する(ステップS31)。
コントローラ100が、Time Exceedを示すICMPパケットを受信したということは、ステップS5で送出したパケットを受信したスイッチ10が、当該パケットを隣接するルータ20に送信し、当該ルータ20において当該パケットのTTLが0になり、このことを示すICMPパケットがスイッチ10に送られたことを示す。つまり、この場合、コントローラ100は、送出先特定部204が特定したスイッチ10から、他の通信装置から転送されたICMPパケットを受信する。
On the other hand, when the controller control unit 205 receives a packet from the controller 100 during the standby time (step S6: YES), the received packet is not a packet generated by the packet generation unit 203, but an ICMP packet indicating Time Exceed It is determined whether or not (step S31).
The fact that the controller 100 has received an ICMP packet indicating Time Exceed indicates that the switch 10 that has received the packet transmitted in step S5 transmits the packet to the adjacent router 20, and the router 20 determines the TTL of the packet. 0, indicating that an ICMP packet indicating this is sent to the switch 10. That is, in this case, the controller 100 receives an ICMP packet transferred from another communication device from the switch 10 specified by the destination specifying unit 204.

コントローラ制御部205は、コントローラ100が受信したパケットがTime Exceed を示すICMPパケットであると判定した場合(ステップS31:YES)、コントローラ100に前回送信させたパケットのTTLに1を加算した値をTTLとするパケットを生成し(ステップS32)、ステップS5に戻り、コントローラ100に当該パケットを同一のスイッチ10へ送出させる。これにより、前回ICMPパケットを送信したルータ20は、当該パケットを隣接する通信装置に転送するため、当該隣接する通信装置がスイッチ10である場合には、当該スイッチ10からコントローラ100へパケットがPacketInされる。他方、当該隣接する通信装置がルータ20である場合には、当該ルータ20からICMPパケットが送信される。つまり、本実施形態に係る経路確認装置200は、当該コントローラ100がスイッチ10からパケットを受信するまで当該処理を繰り返すことで、スイッチ10とルータ20とが混在するネットワークにおける経路を確認することができる。   When the controller control unit 205 determines that the packet received by the controller 100 is an ICMP packet indicating Time Exceed (step S31: YES), the controller control unit 205 sets a value obtained by adding 1 to the TTL of the packet transmitted to the controller 100 last time. (Step S32), the process returns to step S5, and the controller 100 sends the packet to the same switch 10. As a result, the router 20 that transmitted the ICMP packet last time transfers the packet to the adjacent communication device. When the adjacent communication device is the switch 10, the packet is PacketIn from the switch 10 to the controller 100. The On the other hand, when the adjacent communication device is the router 20, an ICMP packet is transmitted from the router 20. That is, the route confirmation device 200 according to the present embodiment can confirm a route in a network in which the switch 10 and the router 20 are mixed by repeating the processing until the controller 100 receives a packet from the switch 10. .

他方、コントローラ制御部205が、コントローラ100が受信したパケットがパケット生成部203が生成したパケットであると判定した場合(ステップS31:NO)隣接スイッチ特定部206は、当該パケットの送信元のスイッチ10を、パケットの転送経路として最後に確認されたスイッチ10として特定する(ステップS7)。   On the other hand, when the controller control unit 205 determines that the packet received by the controller 100 is a packet generated by the packet generation unit 203 (step S31: NO), the adjacent switch specifying unit 206 determines that the switch 10 of the transmission source of the packet Is identified as the switch 10 last confirmed as a packet transfer path (step S7).

次に、隣接スイッチ特定部206は、ステップS4で送出先特定部204が特定したスイッチ10とステップS7で隣接スイッチ特定部206が特定したスイッチ10との間の区間を示す経路情報として、経路の識別情報、区間の順序、当該区間におけるスイッチ10の識別情報を、試験結果情報記憶部207に記録する(ステップS8)。   Next, the adjacent switch specifying unit 206 uses the route information indicating the section between the switch 10 specified by the destination specifying unit 204 in step S4 and the switch 10 specified by the adjacent switch specifying unit 206 in step S7. The identification information, the order of the sections, and the identification information of the switch 10 in the sections are recorded in the test result information storage unit 207 (step S8).

次に、確認結果判定部208は、コントローラ100が受信したパケットがPacketInされた理由がTTLInvalidであるか否かを判定する(ステップS9)。確認結果判定部208は、スイッチ10によるPacketInの理由がTTLInvalid以外の理由であると判定した場合(ステップS9:NO)、仮想ネットワークにおいて転送ができない個所があると判定する。
他方、確認結果判定部208は、スイッチ10によるPacketInの理由がTTLInvalidであると判定した場合(ステップS9:YES)、コントローラ100が受信したパケットのペイロードに含まれる識別情報に関連付けて試験管理情報記憶部202が記憶する経路の終点となるスイッチ10が、隣接スイッチ特定部206が特定したスイッチ10と同じであるか否かを判定する(ステップS10)。確認結果判定部208は、隣接スイッチ特定部206が特定したスイッチ10が経路の終点となるスイッチ10であると判定した場合(ステップS10:YES)、経路の終点までの確認を終了したと判定する。
Next, the confirmation result determination unit 208 determines whether or not the reason why the packet received by the controller 100 is PacketIn is TTL Invalid (step S9). If the confirmation result determination unit 208 determines that the reason for PacketIn by the switch 10 is a reason other than TTL Invalid (step S9: NO), the confirmation result determination unit 208 determines that there is a portion that cannot be transferred in the virtual network.
On the other hand, when the confirmation result determination unit 208 determines that the reason for PacketIn by the switch 10 is TTL Invalid (step S9: YES), the test management information storage is associated with the identification information included in the payload of the packet received by the controller 100. It is determined whether or not the switch 10 serving as the end point of the path stored in the unit 202 is the same as the switch 10 specified by the adjacent switch specifying unit 206 (step S10). When it is determined that the switch 10 specified by the adjacent switch specifying unit 206 is the switch 10 that is the end point of the route (step S10: YES), the confirmation result determining unit 208 determines that the confirmation up to the end point of the route has been completed. .

他方、確認結果判定部208は、隣接スイッチ特定部206が特定したスイッチ10が経路の終点となるスイッチ10でないと判定した場合(ステップS10:NO)、試験結果情報記憶部207が記憶するスイッチ10とステップS7で隣接スイッチ特定部206が特定したスイッチ10とが同じであるか否かを判定する(ステップS11)。確認結果判定部208は、試験結果情報記憶部207が記憶するスイッチ10と隣接スイッチ特定部206が特定したスイッチ10とが異なると判定した場合(ステップS11:NO)、経路の確認が終了していないと判定し、ステップS4に戻り、再度コントローラ100によるPacketOutを試みる。   On the other hand, when the confirmation result determination unit 208 determines that the switch 10 specified by the adjacent switch specification unit 206 is not the switch 10 that is the end point of the route (step S10: NO), the switch 10 stored in the test result information storage unit 207 is stored. And whether or not the switch 10 specified by the adjacent switch specifying unit 206 in step S7 is the same (step S11). When the confirmation result determination unit 208 determines that the switch 10 stored in the test result information storage unit 207 is different from the switch 10 specified by the adjacent switch specification unit 206 (step S11: NO), the confirmation of the route is finished. It is determined that there is not, the process returns to step S4, and the packet out by the controller 100 is tried again.

他方、確認結果判定部208は、試験結果情報記憶部207に記憶されているスイッチ10と隣接スイッチ特定部206が特定したスイッチ10とが同じであると判定した場合(ステップS11:YES)、仮想ネットワーク内でパケットがループしていると判定する。   On the other hand, when the confirmation result determination unit 208 determines that the switch 10 stored in the test result information storage unit 207 and the switch 10 specified by the adjacent switch specifying unit 206 are the same (step S11: YES), the virtual result It is determined that the packet is looping in the network.

確認結果判定部208が、ステップS6でパケットのロスが発生したか仮想ネットワークの外部に転送されたと判定した場合、ステップS9において仮想ネットワークにおいて転送ができない個所があると判定した場合、ステップS10で経路の終点までの確認を終了したと判定した場合、またはステップS11で仮想ネットワーク内でパケットがループしていると判定した場合、確認結果送信部209は、試験結果情報記憶部207から、ステップS2で生成した経路確認要求の識別情報に関連付けられた経路情報を読み出す。そして、確認結果送信部209は、当該経路情報と確認を終了した理由とを、トポロジ管理装置300に送信する(ステップS12)。   If the confirmation result determination unit 208 determines in step S6 that a packet loss has occurred or has been transferred to the outside of the virtual network, if it is determined in step S9 that there is a portion that cannot be transferred in the virtual network, the route in step S10 When it is determined that the confirmation up to the end point of is completed, or when it is determined in step S11 that the packet is looped in the virtual network, the confirmation result transmission unit 209 receives the test result information from the test result information storage unit 207 in step S2. Read the route information associated with the identification information of the generated route confirmation request. Then, the confirmation result transmission unit 209 transmits the route information and the reason for completing the confirmation to the topology management device 300 (step S12).

このように、本実施形態によれば、コントローラ100は、他の通信装置から転送されたパケットをスイッチ10から受信した場合に、前回送信したパケットのTTLに1を加算した値をTTLとするパケットを、前回送信したスイッチ10に対して送出する。これにより、確認対象となるネットワークにおいてスイッチ10と他の通信装置とが混在する場合にも、適切に経路の確認を行うことができる。   As described above, according to the present embodiment, when the controller 100 receives a packet transferred from another communication device from the switch 10, the packet having the TTL value obtained by adding 1 to the TTL of the packet transmitted last time. Is sent to the previously transmitted switch 10. As a result, even when the switch 10 and other communication devices coexist in the network to be confirmed, the route can be appropriately confirmed.

以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、上述した実施形態では、スイッチ10の例としてオープンフロースイッチを用い、コントローラ100の例としてオープンフローコントローラを用いる場合について説明したが、これに限られない。つまり、コントローラ100が各スイッチ10と接続され、スイッチ10が任意のルールに従ってパケットを転送するものであれば、スイッチ10及びコントローラ100は、オープンフロー以外のプロトコルに従って動作するものであって良い。
As described above, the embodiment has been described in detail with reference to the drawings. However, the specific configuration is not limited to that described above, and various design changes and the like can be made without departing from the scope of the invention. Is possible.
For example, in the above-described embodiment, the case where an OpenFlow switch is used as an example of the switch 10 and an OpenFlow controller is used as an example of the controller 100 is described, but the present invention is not limited to this. That is, as long as the controller 100 is connected to each switch 10 and the switch 10 transfers packets according to an arbitrary rule, the switch 10 and the controller 100 may operate according to protocols other than OpenFlow.

また、上述した実施形態では、1対1の通信形態において経路の確認を行う場合について説明したが、これに限られず、マルチキャスト通信や、ラウンドロビンネットワークについても経路の確認を行うことができる。   In the above-described embodiment, the case of confirming the route in the one-to-one communication mode has been described. However, the present invention is not limited to this, and the route can also be confirmed for multicast communication or a round robin network.

例えば、マルチキャストのように分岐点が含まれる仮想ネットワークにおいては、分岐点に対してPacketOutしたパケットが、複数のスイッチ10からPacketInされることとなる。この場合、経路確認装置200は、PacketInされたパケットの送信元のスイッチ10それぞれに対し、上述したステップS4〜S12の処理を行うことで、マルチキャストのすべての経路について、経路確認を行うことができる。   For example, in a virtual network including a branch point, such as multicast, a packet that is PacketOut to the branch point is PacketIn from a plurality of switches 10. In this case, the route confirmation device 200 can perform route confirmation for all the multicast routes by performing the above-described steps S4 to S12 for each of the switches 10 that have transmitted PacketIn packets. .

また例えば、ラウンドロビンのように、パケットの振分点が含まれる仮想ネットワークにおいては、経路確認装置200は、上述したステップS1〜S12の処理を、振分の周期より十分に多い回数実行することで、ラウンドロビンに係るすべての経路について、経路確認を行うことができる。
なお、トポロジ管理装置300において振分点及び振分の周期が予め分かっている場合、当該振分点に対して、上述したステップS4〜S12の処理を、振分の周期に相当する回数実行することで、効率よく経路確認を行うことができる。
Also, for example, in a virtual network that includes packet distribution points, such as round robin, the route confirmation device 200 performs the processes of steps S1 to S12 described above a number of times sufficiently larger than the period of distribution. Thus, the route confirmation can be performed for all the routes related to the round robin.
When the topology management device 300 knows the distribution point and the distribution cycle in advance, the above-described processing of steps S4 to S12 is executed for the distribution point a number of times corresponding to the distribution cycle. Thus, the route can be confirmed efficiently.

また、上述した実施形態では、経路確認システムがコントローラ100と経路確認装置200とトポロジ管理装置300とを備える場合について説明したが、これに限られない。例えば、コントローラ100と経路確認装置200とが一体に設けられる構成であっても良いし、経路確認装置200とトポロジ管理装置300とが一体に設けられる構成であっても良い。また、経路確認装置200がインタフェースを備える場合、経路確認システムは、トポロジ管理装置300を必ずしも設けなくても良い。   Moreover, although embodiment mentioned above demonstrated the case where a route confirmation system was provided with the controller 100, the route confirmation apparatus 200, and the topology management apparatus 300, it is not restricted to this. For example, a configuration in which the controller 100 and the route confirmation device 200 are provided integrally may be employed, or a configuration in which the route confirmation device 200 and the topology management device 300 are provided integrally may be employed. Further, when the route confirmation device 200 includes an interface, the route confirmation system may not necessarily include the topology management device 300.

なお、上述の経路確認装置200は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等の一時的でない有形の媒体をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。   Note that the route confirmation device 200 described above has a computer system therein. The operation of each processing unit described above is stored in a computer-readable recording medium in the form of a program, and the above processing is performed by the computer reading and executing this program. Here, the computer-readable recording medium refers to a non-temporary tangible medium such as a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, or a semiconductor memory. Alternatively, the computer program may be distributed to the computer via a communication line, and the computer that has received the distribution may execute the program.

また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

10…スイッチ 20…ルータ 100…コントローラ 200…経路確認装置 201…経路確認要求受信部 202…試験管理情報記憶部 203…パケット生成部 204…送出先特定部 205…コントローラ制御部 206…隣接スイッチ特定部 207…試験結果情報記憶部 208…確認結果判定部 209…確認結果送信部 300…トポロジ管理装置   DESCRIPTION OF SYMBOLS 10 ... Switch 20 ... Router 100 ... Controller 200 ... Path | route confirmation apparatus 201 ... Path | route confirmation request | requirement receiving part 202 ... Test management information storage part 203 ... Packet generation part 204 ... Transmission destination specific | specification part 205 ... Controller control part 206 ... Adjacent switch specific | specification part 207 ... Test result information storage unit 208 ... Confirmation result determination unit 209 ... Confirmation result transmission unit 300 ... Topology management device

Claims (7)

パケットを受信したときに当該パケットに含まれる転送上限数を1減算し、当該転送上限数が0となった場合にコントローラへ当該パケットを転送する複数のスイッチを備えるネットワークにおいてパケットが転送される経路を確認する経路確認装置であって、
所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部と、
前記転送上限数を2とするパケットを、前記コントローラから前記スイッチ特定部が特定したスイッチに送出させるコントローラ制御部と、
前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定する隣接スイッチ特定部と
を備えることを特徴とする経路確認装置。
When a packet is received, the transfer upper limit number included in the packet is decremented by 1, and when the transfer upper limit number becomes 0, a path through which the packet is transferred in a network including a plurality of switches that transfer the packet to the controller A route confirmation device for confirming
A destination identifying unit that identifies a switch last confirmed as a transfer path of the packet among switches provided in a path from a switch at a predetermined start point to a switch at a predetermined end point;
A controller control section for sending a packet having the transfer upper limit number of 2 from the controller to the switch specified by the switch specifying section;
A path confirmation apparatus comprising: an adjacent switch identifying unit that identifies a switch that is a transmission source of a packet transferred to the controller as a switch that is finally confirmed as a transfer path of the packet.
前記ネットワークにおけるパケットの転送ルールに基づいて、前記始点のスイッチから前記終点のスイッチへ転送される条件を満たすパケットを生成するパケット生成部を備え、
前記コントローラ制御部は、前記パケット生成部が生成したパケットを、前記コントローラから前記スイッチ特定部が特定したスイッチに送出させる
ことを特徴とする請求項1に記載の経路確認装置。
Based on packet transfer rules in the network, comprising a packet generator that generates a packet that satisfies a condition to be transferred from the start switch to the end switch,
The route confirmation apparatus according to claim 1, wherein the controller control unit causes the packet generated by the packet generation unit to be sent from the controller to the switch specified by the switch specifying unit.
前記パケット生成部は、前記パケットの宛先となる装置が応答しないパケットを生成する
ことを特徴とする請求項2に記載の経路確認装置。
The route confirmation device according to claim 2, wherein the packet generation unit generates a packet to which a device that is a destination of the packet does not respond.
前記コントローラ制御部は、前記コントローラが前記送出先特定部が特定したスイッチから、他の通信装置から転送されたパケットを受信した場合に、前回送信したパケットの前記転送上限数に1を加算した値を前記転送上限数とするパケットを、前記コントローラから前記スイッチを宛先として送出させる
ことを特徴とする請求項1から請求項3の何れか1項に記載の経路確認装置。
The controller control unit is a value obtained by adding 1 to the transfer upper limit number of the previously transmitted packet when the controller receives a packet transferred from another communication device from the switch specified by the destination specifying unit. The route confirmation apparatus according to any one of claims 1 to 3, wherein a packet having the transfer upper limit number as a destination is sent from the controller to the switch.
パケットに含まれる転送上限数が0となった場合に当該パケットをコントローラへ転送する複数のスイッチを備えるネットワークにおいてパケットが転送される経路を確認する経路確認システムであって、
前記複数のスイッチを、パケットを受信したときに当該パケットに含まれる転送上限数を1減算するように設定する前記コントローラと、
所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部と、
前記転送上限数を2とするパケットを、前記コントローラから前記スイッチを宛先として送出させるコントローラ制御部と、
前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定する隣接スイッチ特定部と
を備えることを特徴とする経路確認システム。
A route confirmation system for confirming a route through which a packet is transferred in a network including a plurality of switches that transfer the packet to a controller when the upper limit number of transfer included in the packet becomes 0,
The controller that sets the plurality of switches to subtract 1 from the upper limit of transfer included in the packet when the packet is received;
A destination identifying unit that identifies a switch last confirmed as a transfer path of the packet among switches provided in a path from a switch at a predetermined start point to a switch at a predetermined end point;
A controller that causes the controller to send a packet having the transfer upper limit number of 2 to the switch as a destination;
A path confirmation system comprising: an adjacent switch identification unit that identifies a switch that is a transmission source of a packet transferred to the controller as a switch that is finally confirmed as a transfer path of the packet.
パケットを受信したときに当該パケットに含まれる転送上限数を1減算し、当該転送上限数が0となった場合にコントローラへ当該パケットを転送する複数のスイッチを備えるネットワークにおいてパケットが転送される経路を確認する経路確認方法であって、
送出先特定部が、所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定するステップと、
前記転送上限数を2とするパケットを、前記コントローラから前記スイッチを宛先として送出させるステップと、
隣接スイッチ特定部が、前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定するステップと
を有することを特徴とする経路確認方法。
When a packet is received, the transfer upper limit number included in the packet is decremented by 1, and when the transfer upper limit number becomes 0, a path through which the packet is transferred in a network including a plurality of switches that transfer the packet to the controller A route confirmation method for confirming
A destination identifying unit identifying a switch last confirmed as a transfer path of the packet among switches provided in a path from a switch at a predetermined start point to a switch at a predetermined end point;
Sending a packet having the transfer upper limit number to 2 from the controller to the switch;
A path confirmation method comprising: a neighboring switch identifying unit identifying a switch that is a transmission source of a packet transferred to the controller as a switch that is finally confirmed as a transfer path of the packet.
パケットを受信したときに当該パケットに含まれる転送上限数を1減算し、当該転送上限数が0となった場合にコントローラへ当該パケットを転送する複数のスイッチを備えるネットワークに接続されるコンピュータを、
所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部、
前記転送上限数を2とするパケットを、前記コントローラから前記スイッチを宛先として送出させるコントローラ制御部、
前記コントローラに転送されたパケットの送信元のスイッチを、前記パケットの転送経路として最後に確認されたスイッチとして特定する隣接スイッチ特定部
として機能させるためのプログラム。
When a packet is received, a transfer upper limit number included in the packet is decremented by 1, and when the transfer upper limit number becomes 0, a computer connected to a network including a plurality of switches for transferring the packet to the controller is
A destination identifying unit that identifies a switch last confirmed as a transfer path of the packet among switches provided in a path from a switch at a predetermined start point to a switch at a predetermined end point;
A controller control unit for sending a packet having the transfer upper limit number of 2 from the controller to the switch as a destination;
A program for causing a switch that is a transmission source of a packet transferred to the controller to function as an adjacent switch specifying unit that specifies a switch last confirmed as a transfer path of the packet.
JP2013131003A 2013-06-21 2013-06-21 Route confirmation device, route confirmation system, route confirmation method, and program Expired - Fee Related JP6063826B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013131003A JP6063826B2 (en) 2013-06-21 2013-06-21 Route confirmation device, route confirmation system, route confirmation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013131003A JP6063826B2 (en) 2013-06-21 2013-06-21 Route confirmation device, route confirmation system, route confirmation method, and program

Publications (2)

Publication Number Publication Date
JP2015005926A JP2015005926A (en) 2015-01-08
JP6063826B2 true JP6063826B2 (en) 2017-01-18

Family

ID=52301469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013131003A Expired - Fee Related JP6063826B2 (en) 2013-06-21 2013-06-21 Route confirmation device, route confirmation system, route confirmation method, and program

Country Status (1)

Country Link
JP (1) JP6063826B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259261B (en) 2017-03-31 2020-02-11 新华三技术有限公司 Path detection method and device
CN108259335B (en) 2017-03-31 2020-09-08 新华三技术有限公司 Path detection method and device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331268A (en) * 1998-05-11 1999-11-30 Sumitomo Electric Ind Ltd Packet repeater
EP2518950B1 (en) * 2009-12-25 2018-11-21 Panasonic Intellectual Property Management Co., Ltd. Network location recognition system and terminal location recognition device
ES2595213T3 (en) * 2009-12-28 2016-12-28 Nec Corporation Communications system and topology information generation method
US9191290B2 (en) * 2011-06-20 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for monitoring a data path
JP5991385B2 (en) * 2013-01-21 2016-09-14 日本電気株式会社 Control information management apparatus, control information presentation method, and program

Also Published As

Publication number Publication date
JP2015005926A (en) 2015-01-08

Similar Documents

Publication Publication Date Title
JP5644895B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP5864618B2 (en) MPLS path looping at the transfer level of connectionless MPLS networks
US10044830B2 (en) Information system, control apparatus, method of providing virtual network, and program
JP5994851B2 (en) Transfer device control device, transfer device control method, communication system, and program
EP3059901A1 (en) Network element device configuration and management method, device and network element device
JP5488979B2 (en) Computer system, controller, switch, and communication method
JP2014175924A (en) Transmission system, transmission device, and transmission method
EP3694157B1 (en) Vxlan configuration method, device and system
JP2022533238A (en) Methods, devices, and systems for communication between controllers in the TSN
JP6752141B2 (en) Methods and forwarders for processing packets
JP5861772B2 (en) Network appliance redundancy system, control device, network appliance redundancy method and program
US8971195B2 (en) Querying health of full-meshed forwarding planes
JP6605558B2 (en) Network probe routing
JP2018093358A (en) System, method and program for route search
WO2011118574A1 (en) Communications system, control device, delay measuring method, and program
JPWO2013176262A1 (en) Packet transfer system, control device, packet transfer method and program
JP6063826B2 (en) Route confirmation device, route confirmation system, route confirmation method, and program
JP5991385B2 (en) Control information management apparatus, control information presentation method, and program
JP5747997B2 (en) Control device, communication system, virtual network management method and program
JPWO2014104277A1 (en) Control device, communication system, communication node control method and program
JP7331066B2 (en) Method and apparatus for modular routing of AVB streams
JP2008206028A (en) Function distributed communication equipment, constituent coupling control method and program
JP6134571B2 (en) Communication confirmation device, network system, communication confirmation method, and communication confirmation program
JP5833184B2 (en) Network congestion avoidance system and method
WO2016157836A1 (en) Communication system, communication control method, control device, reception device, transfer device, control method, reception method, and transfer method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6063826

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees