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 PDFInfo
- 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
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.
しかしながら、オープンフローコントローラは、複数のプロトコルの情報の組み合わせを用いて転送ルールを適用することができる。そのため、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
また、本発明の第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
また、本発明の第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の実施形態》
以下、図面を参照しながら本発明に関連する実施形態について詳しく説明する。
図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
なお、本明細書において「パケット」とは、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
The
The
The
The
なお、本実施形態において、コントローラ100と全てのスイッチ10との間、及び各スイッチ10の間は、通信装置を介さずに接続されている。つまり、コントローラ100とスイッチ10との間に存在する通信装置の数は0である。
In the present embodiment, the
次に、経路確認装置200の動作について説明する。
図2は、第1の実施形態に係る経路確認装置200の構成を示す概略ブロック図である。
経路確認装置200は、経路確認要求受信部201、試験管理情報記憶部202、パケット生成部203、送出先特定部204、コントローラ制御部205、隣接スイッチ特定部206、試験結果情報記憶部207、確認結果判定部208、確認結果送信部209を備える。
Next, the operation of the
FIG. 2 is a schematic block diagram illustrating the configuration of the
The
経路確認要求受信部201は、トポロジ管理装置300から、確認の対象となる経路における転送ルールと、経路確認の対象となる始点のスイッチ10及び終点のスイッチ10の識別情報を含む経路確認要求の入力を受け付ける。なお、転送ルールには、具体的にはスイッチ10に設定可能なタプルの組み合わせからなる情報が含まれる。
The route confirmation
試験管理情報記憶部202は、経路確認要求の識別情報と、当該経路確認の始点のスイッチ10及び終点のスイッチ10の識別情報とを記憶する。
パケット生成部203は、経路確認要求受信部201が受信した転送ルールに基づいて、経路確認に用いるパケットを生成する。
The test management
The
送出先特定部204は、確認対象となる経路に設けられるスイッチ10のうち、パケットの転送経路として最後に確認されたスイッチ10を、PacketOutによるパケットの送出先として特定する。具体的には、経路確認の開始前は、経路確認要求受信部201が入力を受け付けた、経路の始点のスイッチ10を送出先として特定する。また、経路確認の開始後は、隣接スイッチ特定部206が特定したスイッチ10を送出先として特定する。
The
コントローラ制御部205は、パケット生成部203が生成したパケットをコントローラ100に送信し、コントローラ100に、当該パケットを送出先特定部204が特定したスイッチ10に対してPacketOutにより送出させる。また、コントローラ制御部205は、コントローラ100がスイッチ10からPackeInにより受信したパケットの情報を、コントローラ100から受信する。
The
隣接スイッチ特定部206は、コントローラ100から受信したパケットの情報に基づいて、送出先特定部204が特定したスイッチ10に隣接するスイッチ10を特定する。
試験結果情報記憶部207は、経路確認要求の識別情報と、当該経路について確認した区間の順序と、当該区間におけるスイッチ10の識別情報とを記憶する。
確認結果判定部208は、コントローラ100から受信したパケットの情報に基づいて、経路の確認が終了したか否かを判定する。
確認結果送信部209は、確認結果判定部208が、経路の確認が終了したと判定した場合に、試験結果情報記憶部207が記憶する情報に基づいて、経路の確認結果をトポロジ管理装置300に送信する。
The adjacent
The test result
Based on the packet information received from the
When the confirmation
次に、本実施形態に係る経路確認装置200を用いた経路確認方法について説明する。
まず、管理者は、コントローラ100を介して、受信したパケットのTTLを1減算するよう、各スイッチ10を設定しておく。この設定により、TTLが0になったパケットは、当該減算結果を得たスイッチ10によって、コントローラ100にPacketInにより転送される。なお、本実施形態においてTTLは、転送上限数の一例である。
上記設定が完了すると、管理者は、トポロジ管理装置300に、確認対象となる始点と終点を入力する。例えば、トポロジ管理装置300は、各仮想ネットワークを構成するスイッチ10の一覧をディスプレイに表示し、当該一覧の中から始点と終点の選択を受け付けることができる。
Next, a route confirmation method using the
First, the administrator sets each switch 10 to subtract 1 from the TTL of the received packet via the
When the above setting is completed, the administrator inputs the start point and the end point to be confirmed to the
トポロジ管理装置300は、仮想ネットワークのトポロジ情報に基づいて、入力を受け付けた始点から終点までの経路が属する仮想ネットワークを特定する。次に、トポロジ管理装置300は、当該仮想ネットワークに関連付けられた転送ルールを特定する。また、トポロジ管理装置300は、入力を受け付けた始点及び終点の識別情報と、確認対象となる仮想ネットワークの転送ルールを含む経路確認要求を、経路確認装置200に送信する。
Based on the topology information of the virtual network, the
図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
The route confirmation
ここで、パケット生成部203によるパケットの生成方法について詳細に説明する。
図4は、経路確認用のパケットの生成方法を示すフローチャートである。
まず、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールにおいて、プロトコルの指定があるか否かを判定する(ステップS101)。パケット生成部203は、転送ルールにおいてプロトコルの指定がないと判定した場合(ステップS101:NO)、UDP(User Datagram Protocol)に従ったパケットを生成する(ステップS102)。このとき、パケット生成部203は、パケットのTTL値として「2」を指定し、パケットのペイロードに、ステップS2で生成した経路確認要求の識別情報を格納させる。
Here, a packet generation method by the
FIG. 4 is a flowchart showing a method for generating a packet for route confirmation.
First, the
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
そして、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールに従って、ステップS102で生成したUDPパケットの上書きを行う(ステップS103)。例えば、転送ルールにパケットの宛先となる装置のIPアドレスが含まれる場合、UDPパケットの送信先IPアドレスの欄を当該IPアドレスに書き換える。
Then, the
なお、転送ルールにおいて送信元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
他方、ステップS101でパケット生成部203が、転送ルールにおいてプロトコルの指定があると判定した場合(ステップS101:YES)、パケット生成部203は、転送ルールにおいて指定されたプロトコルに従ったパケットを生成する(ステップS104)。このとき、パケット生成部203は、パケットのTTL値として「2」を指定し、パケットのペイロードに、ステップS2で生成した経路確認要求の識別情報を格納させる。
On the other hand, when the
次に、パケット生成部203は、指定されたプロトコルに応じた判定処理を行う(ステップS105)。ここでは、指定されたプロトコルがTCPまたはUDPである場合と、指定されたプロトコルがICMPである場合の判定処理について説明するが、その他のプロトコルについても判定処理を行う。
Next, the
指定されたプロトコルが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
他方、宛先ポートの指定がある場合(ステップS106:YES)、パケット生成部203は、当該パケットの宛先ポート番号として、指定されたポート番号を指定し、チェックサム値を不正な値に書き換える(ステップS108)。これは、パケットの宛先ポート番号が0番でない場合、パケットの宛先となる装置において当該パケットがリクエストとして処理され得るためである。このように、チェックサムによる整合をとれなくすることで、パケットの宛先となる装置において当該パケットを破棄させ、パケットの宛先となる装置に影響を与えないようにすることができる。
On the other hand, when the destination port is designated (step S106: YES), the
また、指定されたプロトコルがICMPである場合(ステップS105:ICMP)、パケット生成部203は、転送ルールにおいてタイプ(エコー要求、エコー応答、宛先到達不可能通知など)の指定があるか否かを判定する(ステップS109)。タイプの指定がない場合(ステップS109:NO)、パケット生成部203は、当該パケットのタイプとして、「エコー応答」を指定する(ステップS110)。エコー応答のタイプのICMPパケットは、エコー要求リクエストに対するレスポンスとして送信されるものであるため、パケットの宛先となる装置において当該パケットがリクエストを示すものとして扱われず、終点の装置が当該パケットに対して応答することを防ぐことができる。
If the designated protocol is ICMP (step S105: ICMP), the
他方、タイプの指定がある場合(ステップS109:YES)、パケット生成部203は、当該パケットのタイプとして、指定されたポート番号を指定し、チェックサム値を不正な値に書き換える(ステップS108)。
On the other hand, if there is a type designation (step S109: YES), the
そして、パケット生成部203は、経路確認要求受信部201が受信した経路確認要求に含まれる転送ルールに従って、ステップS103に進み、ステップS107、S108、S110で生成したパケットの上書きを行う。
Then, the
上記ステップS101〜ステップS110の処理により、パケット生成部203は、確認対象の仮想ネットワークにおける始点のスイッチ10から終点のスイッチ10へ転送される条件を満たし、かつパケットの宛先となる装置が応答しないパケットを生成することができる。
Through the processing from step S101 to step S110, the
ステップS3において、パケット生成部203がパケットを生成すると、送出先特定部204は、パケットの転送経路として最後に確認されたスイッチ10を、PacketOutによるパケットの送出先として特定する(ステップS4)。具体的には、送出先特定部204は、既に隣接スイッチ特定部206によるスイッチ10の特定がなされている場合は、隣接スイッチ特定部206が特定したスイッチ10をパケットの送出先として特定する。他方、送出先特定部204は、隣接スイッチ特定部206によるスイッチ10の特定がなされていない場合は、経路確認要求に含まれる始点のスイッチ10をパケットの送出先として特定する。
In step S3, when the
次に、コントローラ制御部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
When the
コントローラ制御部205は、ステップS5によりコントローラ100にパケットを送出させると、所定の待機時間の間に、コントローラ100からパケットを受信したか否かを判定する(ステップS6)。コントローラ制御部205は、所定の待機時間を超えてもコントローラ100からパケットを受信できない場合(ステップS6:NO)、パケットのロスが発生したか仮想ネットワークの外部に転送されたと判定する。
When the
他方、コントローラ制御部205は、待機時間の間に、コントローラ100からパケットを受信した場合(ステップS6:YES)、隣接スイッチ特定部206は、当該パケットの送信元のスイッチ10を、パケットの転送経路として最後に確認されたスイッチ10として特定する(ステップS7)。
On the other hand, when the
次に、隣接スイッチ特定部206は、ステップS4で送出先特定部204が特定したスイッチ10とステップS7で隣接スイッチ特定部206が特定したスイッチ10との間の区間を示す経路情報として、経路確認要求の識別情報、区間の順序、当該区間におけるスイッチ10の識別情報を、試験結果情報記憶部207に記録する(ステップS8)。具体的には、隣接スイッチ特定部206は、コントローラ100が受信したパケットのペイロードに含まれる識別情報と、既に当該識別情報に関連付けられた経路情報の区間の順序のうち最も大きい値に1を加算した値と、ステップS4で特定したスイッチ10とステップS7で特定したスイッチ10の識別情報とを試験結果情報記憶部207に記録する。
Next, the adjacent
次に、確認結果判定部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
On the other hand, when the confirmation
他方、確認結果判定部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
他方、確認結果判定部208は、試験結果情報記憶部207が記憶するスイッチ10と隣接スイッチ特定部206が特定したスイッチ10とが同じであると判定した場合(ステップS11:YES)、仮想ネットワーク内でパケットがループしていると判定する。
On the other hand, if the confirmation
確認結果判定部208が、ステップS6でパケットのロスが発生したか仮想ネットワークの外部に転送されたと判定した場合、ステップS9において仮想ネットワークにおいて転送ができない個所があると判定した場合、ステップS10で経路の終点までの確認を終了したと判定した場合、またはステップS11で仮想ネットワーク内でパケットがループしていると判定した場合、確認結果送信部209は、試験結果情報記憶部207から、ステップS2で生成した経路確認要求の識別情報に関連付けられた経路情報を読み出す。そして、確認結果送信部209は、当該経路情報と確認を終了した理由とを、トポロジ管理装置300に送信する(ステップS12)。これにより、トポロジ管理装置300は、受信した経路情報を、区間の順序の昇順に並べ、さらに確認を終了した理由をディスプレイに表示することで、管理者に経路の確認結果を提示することができる。
If the confirmation
次に、第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
図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
次に、パケット生成部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
次に、送出先特定部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
コントローラ100がPacketInによりパケットを受信すると、隣接スイッチ特定部206は、当該パケットの送信元であるスイッチ10−2を、パケットの転送経路として最後に確認されたスイッチ10として特定する。これにより、隣接スイッチ特定部206は、識別情報「要求−1」、区間の順序「1」、スイッチ10情報「10−1→10−2」を、試験結果情報記憶部207に記録する。
When the
ここで、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
次に、送出先特定部204は、隣接スイッチ特定部206が特定したスイッチ10−2をPacketOutの送出先に決定する。コントローラ制御部205の制御により、コントローラ100は、パケット生成部203が生成したパケットをPacketOutによりスイッチ10−2に送出する。PacketOutされたパケットは、スイッチ10−2からスイッチ10−3に転送されると、TTLが「0」となるためTTLInvalidを理由にコントローラ100にPacketInされる。
Next, the transmission
コントローラ100がPacketInによりパケットを受信すると、隣接スイッチ特定部206は、当該パケットの送信元であるスイッチ10−3を、パケットの転送経路として最後に確認されたスイッチ10として特定する。
ここで、PacketInの理由がTTLInvalidであり、スイッチ10−3が終点となるスイッチ10でも試験結果情報記憶部207が記憶するスイッチ10でもないことから、確認結果判定部208は、確認を継続すると判定する。
When the
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
次に、送出先特定部204は、隣接スイッチ特定部206が特定したスイッチ10−3をPacketOutの送出先に決定する。コントローラ制御部205の制御により、コントローラ100は、パケット生成部203が生成したパケットをPacketOutによりスイッチ10−3に送出する。PacketOutされたパケットは、スイッチ10−3からスイッチ10−4に転送されると、TTLが「0」となるためTTLInvalidを理由にコントローラ100にPacketInされる。
Next, the transmission
コントローラ100がPacketInによりパケットを受信すると、隣接スイッチ特定部206は、当該パケットの送信元であるスイッチ10−4を、パケットの転送経路として最後に確認されたスイッチ10として特定する。
ここで、PacketInの理由がTTLInvalidであり、スイッチ10−4が終点となるスイッチ10であることから、確認結果判定部208は、確認が終了したと判定する。そして、確認結果送信部209は、試験結果情報記憶部207が識別情報「要求−1」に関連付けて記憶する経路情報を、トポロジ管理装置300に送信する。
When the
Here, since the reason for PacketIn is TTL Invalid and the switch 10-4 is the end switch 10, the confirmation
図6は、第1の実施形態の動作例において確認結果送信部209が送信する経路情報を示す図である。
図6に示すように、経路情報を区間の順序ごとに並べると、確認対象の経路においてパケットが、スイッチ10−1、スイッチ10−2、スイッチ10−3、スイッチ10−4の順に経由することがわかる。
FIG. 6 is a diagram illustrating route information transmitted by the confirmation
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
また、本実施形態によれば、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
That is, in the second embodiment, the route confirmation
この場合、確認結果判定部208は、上述したステップS10に係る、隣接スイッチ特定部206が特定したスイッチ10と終点となるスイッチ10が同じであるか否かの判定を行わない。これに代えて、確認結果判定部208は、ステップS6においてパケットが待機時間内に受信できない場合に、パケットが仮想ネットワーク内でロスした、もしくは仮想ネットワークの外に出てしまったと推定し、確認を終了すると判定する。
In this case, the confirmation
《第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
図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
The route confirmation
パケット生成部203がパケットを生成すると、送出先特定部204は、パケットの転送経路として最後に確認されたスイッチ10を、PacketOutによるパケットの送出先として特定する(ステップS4)。次に、コントローラ制御部205は、コントローラ100に、パケット生成部203が生成したパケットを、送出先特定部204が特定したスイッチ10に対してPacketOutにより送出させる(ステップS5)。このとき、パケット生成部203が生成したパケットはPacketOut用のパケットに内包される。そのため、コントローラ100とスイッチ10との間にルータ20が設けられていても、パケット生成部203が生成したパケットは、TTLを減少させずに送出先として特定したスイッチ10まで送り届けられる。
When the
次に、コントローラ制御部205は、所定の待機時間の間に、コントローラ100からパケットを受信したか否かを判定する(ステップS6)。コントローラ制御部205は、所定の待機時間を超えてもコントローラ100からパケットを受信できない場合(ステップS6:NO)、パケットのロスが発生したか仮想ネットワークの外部に転送されたと判定する。
Next, the
他方、コントローラ制御部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
The fact that the
コントローラ制御部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
他方、コントローラ制御部205が、コントローラ100が受信したパケットがパケット生成部203が生成したパケットであると判定した場合(ステップS31:NO)隣接スイッチ特定部206は、当該パケットの送信元のスイッチ10を、パケットの転送経路として最後に確認されたスイッチ10として特定する(ステップS7)。
On the other hand, when the
次に、隣接スイッチ特定部206は、ステップS4で送出先特定部204が特定したスイッチ10とステップS7で隣接スイッチ特定部206が特定したスイッチ10との間の区間を示す経路情報として、経路の識別情報、区間の順序、当該区間におけるスイッチ10の識別情報を、試験結果情報記憶部207に記録する(ステップS8)。
Next, the adjacent
次に、確認結果判定部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
On the other hand, when the confirmation
他方、確認結果判定部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
他方、確認結果判定部208は、試験結果情報記憶部207に記憶されているスイッチ10と隣接スイッチ特定部206が特定したスイッチ10とが同じであると判定した場合(ステップS11:YES)、仮想ネットワーク内でパケットがループしていると判定する。
On the other hand, when the confirmation
確認結果判定部208が、ステップS6でパケットのロスが発生したか仮想ネットワークの外部に転送されたと判定した場合、ステップS9において仮想ネットワークにおいて転送ができない個所があると判定した場合、ステップS10で経路の終点までの確認を終了したと判定した場合、またはステップS11で仮想ネットワーク内でパケットがループしていると判定した場合、確認結果送信部209は、試験結果情報記憶部207から、ステップS2で生成した経路確認要求の識別情報に関連付けられた経路情報を読み出す。そして、確認結果送信部209は、当該経路情報と確認を終了した理由とを、トポロジ管理装置300に送信する(ステップS12)。
If the confirmation
このように、本実施形態によれば、コントローラ100は、他の通信装置から転送されたパケットをスイッチ10から受信した場合に、前回送信したパケットのTTLに1を加算した値をTTLとするパケットを、前回送信したスイッチ10に対して送出する。これにより、確認対象となるネットワークにおいてスイッチ10と他の通信装置とが混在する場合にも、適切に経路の確認を行うことができる。
As described above, according to the present embodiment, when the
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、上述した実施形態では、スイッチ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
また、上述した実施形態では、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
また例えば、ラウンドロビンのように、パケットの振分点が含まれる仮想ネットワークにおいては、経路確認装置200は、上述したステップS1〜S12の処理を、振分の周期より十分に多い回数実行することで、ラウンドロビンに係るすべての経路について、経路確認を行うことができる。
なお、トポロジ管理装置300において振分点及び振分の周期が予め分かっている場合、当該振分点に対して、上述したステップS4〜S12の処理を、振分の周期に相当する回数実行することで、効率よく経路確認を行うことができる。
Also, for example, in a virtual network that includes packet distribution points, such as round robin, the
When the
また、上述した実施形態では、経路確認システムがコントローラ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
なお、上述の経路確認装置200は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等の一時的でない有形の媒体をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
Note that the
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 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 ...
Claims (7)
所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部と、
前記転送上限数を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から請求項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.
前記複数のスイッチを、パケットを受信したときに当該パケットに含まれる転送上限数を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.
送出先特定部が、所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定するステップと、
前記転送上限数を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.
所定の始点のスイッチから所定の終点のスイッチまでの経路に設けられるスイッチのうち、前記パケットの転送経路として最後に確認されたスイッチを特定する送出先特定部、
前記転送上限数を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.
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)
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)
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 |
-
2013
- 2013-06-21 JP JP2013131003A patent/JP6063826B2/en not_active Expired - Fee Related
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 |