JP6467316B2 - Flow inspection apparatus, transfer apparatus, and flow inspection method - Google Patents
Flow inspection apparatus, transfer apparatus, and flow inspection method Download PDFInfo
- Publication number
- JP6467316B2 JP6467316B2 JP2015158553A JP2015158553A JP6467316B2 JP 6467316 B2 JP6467316 B2 JP 6467316B2 JP 2015158553 A JP2015158553 A JP 2015158553A JP 2015158553 A JP2015158553 A JP 2015158553A JP 6467316 B2 JP6467316 B2 JP 6467316B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- flow
- packet
- test packet
- transfer device
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、パケットのヘッダ情報、入力ポート、出力ポート及び出力ヘッダ情報の組み合わせで転送規則が決定されるフローベースのネットワークにおける、転送装置の動作及び転送装置に設定された転送ルールを検査するネットワーク検査システム、ネットワーク検査方法、フロー検査装置、及びプログラムに関する。 The present invention relates to a network that checks the operation of a transfer device and the transfer rule set in the transfer device in a flow-based network in which a transfer rule is determined by a combination of packet header information, input port, output port, and output header information. The present invention relates to an inspection system, a network inspection method, a flow inspection apparatus, and a program.
1.1背景
ソフトウェアによるネットワーク制御を実現するSDNの代表的な技術の1つにOpenFlowがある。OpenFlowはネットワーク装置をデータ転送制御機能部とデータ転送機能部の2つのコンポーネントに分離し、その間にオープンなインタフェースであるOpenFlowプロトコルを規定する事により、データ転送機能部の柔軟な制御を可能とする。
1.1 Background OpenFlow is one of the typical technologies of SDN that realizes network control by software. OpenFlow separates the network device into two components, a data transfer control function unit and a data transfer function unit, and by defining an OpenFlow protocol that is an open interface between them, enables flexible control of the data transfer function unit .
OpenFlowは、関連技術におけるOSI参照モデルで規定されたレイヤ毎の転送制御とは異なり、レイヤ1からレイヤ4までの複数のレイヤを表す任意のアドレスやポート番号等の40種類以上の情報の組み合わせにより表現される“フロー”単位で転送制御を行う。
OpenFlow is different from the transfer control for each layer defined in the OSI reference model in the related technology, and is based on a combination of 40 or more types of information such as arbitrary addresses and port numbers representing a plurality of layers from
OpenFlowのデータ転送機能部(データプレーン)では、マッチ条件に一致したヘッダ情報を持つパケットに対して指定したアクションを実施し、転送を行う。このマッチ条件とアクションの組み合わせで表される転送ルールを“フローエントリ”と呼ぶ。フローエントリには、マッチフィールドとアクションフィールドに加えて、カウンタと呼ばれるフロー毎の統計情報が付加される。 The OpenFlow data transfer function unit (data plane) performs a specified action on a packet having header information that matches the matching condition, and transfers the packet. A transfer rule represented by a combination of this match condition and action is called a “flow entry”. In addition to the match field and action field, statistical information for each flow called a counter is added to the flow entry.
上記OpenFlowに代表されるフローベースのパケット処理を行う転送装置により構成されたネットワークの正常性を検査するためには、検査対象の通信(フロー)を通過可能なヘッダ情報を持つパケットを送信し、宛先への試験パケット送信成否、経由したノードの情報、各転送装置内にて転送処理に用いられたフローエントリ情報の3つの情報を取得する必要がある。 In order to check the normality of a network configured by a transfer device that performs flow-based packet processing typified by the above OpenFlow, a packet having header information that can pass the communication (flow) to be checked is transmitted. It is necessary to acquire three pieces of information: success or failure of transmission of a test packet to a destination, information on a node that has passed through, and flow entry information used for transfer processing in each transfer device.
関連技術におけるネットワークサービスでは、Ethernet(Ethernetは登録商標) OAMやBFD、ICMPを利用したpingやtraceroute等のようにレイヤ及びプロトコル毎に確立されたツールを活用して正常性を検証している。しかし、フローベースのネットワークにおいてレイヤ毎に確立されたツールを利用しても、十分な検証を行う事が出来ない。 In network services in related technologies, normality is verified using tools established for each layer and protocol such as Ethernet (registered trademark) OAM, BFD, ICMP, ping, traceroute, and the like. However, even if a tool established for each layer is used in a flow-based network, sufficient verification cannot be performed.
例えば、ある区間でICMPパケットの疎通が確認できたとしても、送信されたICMPパケットは、経由する各データプレーン内部では、ICMPパケット転送用のフローエントリにより処理され、宛先に到達する。よって、既存ツールを用いても、サービスを構成するフローの導通性を検証する事はできずサービスの正常性は保証されない。 For example, even if the communication of the ICMP packet can be confirmed in a certain section, the transmitted ICMP packet is processed by the flow entry for transferring the ICMP packet inside each passing data plane and reaches the destination. Therefore, even if an existing tool is used, the continuity of the flow constituting the service cannot be verified, and the normality of the service is not guaranteed.
1.2関連技術
関連技術では、前述した問題を解決するために、OpenFlowを適用したネットワークにおいて、ネットワーク上を流れるユーザパケットを疑似した試験パケットとOpenFlowコントローラのような転送制御装置への問い合わせ処理(Packet−In)を活用する事により、上記課題に対応する方法を以下に示すように提案している。
1.2 Related Technology In the related technology, in order to solve the above-described problem, in a network to which OpenFlow is applied, a test packet that simulates a user packet that flows on the network and an inquiry process to a transfer control device such as an OpenFlow controller ( By utilizing Packet-In), a method for dealing with the above problems is proposed as follows.
第1の関連技術では、試験パケットのTTL(Time To Live)減算処理及びTTL Invalidにより発生するPacket−Inを活用する事により、指定した転送装置間の疎通確認と経路情報の取得を可能とする手法を提案している。 In the first related technology, by using TTL (Time To Live) subtraction processing of a test packet and Packet-In generated by TTL Invalid, it is possible to check communication between designated transfer devices and acquire route information. A method is proposed.
まず、試験パケットとしてUDPパケット(他のL4プロトコルがOpenFlowスイッチのフローテーブル内で使用されている場合はそれを利用する)を生成し、検査対象フローエントリにマッチするヘッダ情報を設定する。この時、マッチ条件に用いられていないヘッダフィールドに試験パケットを識別するための値を格納する。 First, a UDP packet (if another L4 protocol is used in the OpenFlow switch flow table is used) is generated as a test packet, and header information that matches the inspection target flow entry is set. At this time, a value for identifying the test packet is stored in a header field that is not used in the match condition.
TTL領域には2(経路確認の場合は、宛先までのホップ数)を、ペイロード部には検査したい経路情報(送信元転送装置や宛先転送装置を識別可能な情報)を格納し、Packet−Outする。これにより、任意のパケットの到達性と経路情報を取得する事が可能となる。 In the TTL area, 2 (the number of hops to the destination in the case of route confirmation) is stored, and in the payload portion, the route information (information that can identify the source transfer device and the destination transfer device) to be inspected is stored, and Packet-Out To do. Thereby, reachability and route information of an arbitrary packet can be acquired.
第2の関連技術では、各転送装置に予めタグ付けを行い、このタグを利用して試験パケットとユーザパケットを区別して処理する事を可能とし、指定した転送装置間の疎通確認と経路情報の取得を実現している。転送装置へのタグ付けには、隣接転送装置が同一のタグを持たないようグラフ彩色アルゴリズムを活用する。 In the second related technology, each transfer device is pre-tagged, and it is possible to distinguish and process the test packet and the user packet by using this tag. Acquired. For tagging transfer devices, a graph coloring algorithm is utilized so that adjacent transfer devices do not have the same tag.
制御装置12から検査したい転送装置に試験パケットを送信する際には、試験パケットのヘッダフィールドに、Packet−Out先の転送装置を示すタグを挿入する。この時、転送装置を示すタグは各フローエントリのマッチ条件に利用されていないヘッダフィールド(VLAN priority bit 等)に格納される。Packet−Outにより試験パケットを受け取った転送装置は、パケットがマッチするフローエントリに従って試験パケットを処理する。
When the test packet is transmitted from the
次に試験パケットを受け取った隣接転送装置では、「自身のタグと異なるタグが格納されているパケットの場合はPacket−Inを行う」というフローエントリ(これは事前に設定しておく)に基づきPacket−Inを実施する。このような一連の処理により、任意のパケットの到達情報と経路情報を、制御装置12を介して取得する事が可能となる。
Next, in the adjacent transfer device that has received the test packet, the packet is based on a flow entry (this is set in advance) for a packet in which a tag different from its own tag is stored. Perform In. With such a series of processing, it is possible to obtain arrival information and route information of an arbitrary packet via the
第1や2の関連技術では、サービス利用者から送信されるユーザパケットを模擬したヘッダ情報を持つ試験パケットを生成し、検証したいフローの先頭転送装置に向けて送信する事により、転送装置間の疎通確認と経路情報(経由したノードの情報)の取得を実現している。 In the first and second related technologies, a test packet having header information simulating a user packet transmitted from a service user is generated and transmitted to the first transfer device of the flow to be verified. Realizes communication confirmation and acquisition of route information (routed node information).
しかし、フローベースのネットワークを管理するためには、先に述べた通りフロー単位の検証が必要となるため、これらの情報に加えて各転送装置内でパケットがマッチしたフローエントリ情報を取得する必要がある。この情報は、主に設定作成時のデバッグや設定検証、障害発生時の障害箇所特定等に用いられる。 However, in order to manage a flow-based network, verification for each flow is necessary as described above, and in addition to this information, it is necessary to acquire flow entry information that matches the packet in each transfer device. There is. This information is mainly used for debugging at the time of setting creation, setting verification, identification of a failure location when a failure occurs, and the like.
さらに、転送装置をネットワークサービスに適用するためには、サービス開始後のような様々なユーザトラヒックがネットワーク内に流れている状況下においても試験が実施可能である事が望ましい。そのため、他のパケットが流れている状態であっても試験パケットが識別可能であり、他のパケットの動作に影響を与えずに、宛先への試験パケット送信成否、経由したノードの情報、各転送装置内にて転送処理に用いられたフローエントリ情報の3つの情報を取得する必要がある。 Furthermore, in order to apply the transfer apparatus to the network service, it is desirable that the test can be performed even in a situation where various user traffic flows in the network such as after the service starts. Therefore, even when other packets are flowing, the test packet can be identified, and without affecting the operation of other packets, the success or failure of sending the test packet to the destination, the information of the node that passed, and each transfer It is necessary to acquire three pieces of flow entry information used for transfer processing in the apparatus.
前記課題を解決するために、本発明は、パケットのヘッダ情報、入力ポート、出力ポート及び出力ヘッダ情報の組み合わせで転送規則が決定されるフローベースのネットワークにおいて、転送装置の動作及び転送装置に設定された転送ルールを検査することで、任意のパケットの到達情報と経路情報を取得し、また、障害発生時の障害原因を迅速に特定することを目的とする。 In order to solve the above-mentioned problems, the present invention provides a transfer device operation and a transfer device setting in a flow-based network in which a transfer rule is determined by a combination of packet header information, input port, output port, and output header information. The purpose is to obtain arrival information and route information of an arbitrary packet by checking the transferred transfer rule, and to quickly identify the cause of the failure when the failure occurs.
上記目的を達成するため、本発明では、オペレータから送信される試験要求に基づき、試験対象フローにマッチする試験パケット群を生成し、試験対象フローの先頭スイッチに対してパケットを送信する事により、試験パケット処理に用いられたフローテーブル及びフローエントリ情報の取得を行う。 In order to achieve the above object, in the present invention, based on a test request transmitted from an operator, a test packet group that matches the test target flow is generated, and the packet is transmitted to the head switch of the test target flow. The flow table and flow entry information used for the test packet processing are acquired.
具体的には、本発明に係るフロー検査装置は、
試験パケットを転送装置に転送することで前記転送装置におけるパケット処理を行い、検査対象パケットの到達性を検査するフロー検査装置であって、
試験パケット及び前記試験パケットの識別情報を保持する試験情報管理部と、
前記転送装置のフローテーブルに設定予定のフローエントリ情報を取得し保持するフロー情報管理部と、
オペレータからの試験要求を受信する試験要求受信部と、
前記試験要求受信部で受信した前記試験要求に応じて前記フロー情報管理部が管理する前記フローエントリ情報に基づき試験パケットを生成し、前記転送装置に送信する試験パケット生成部と、
前記転送装置が有する複数のフローテーブルのうち前記試験パケットの識別情報に対応するフローテーブルを前記転送装置で試験処理し、当該試験処理の試験結果を受信する試験結果受信部と、
前記試験結果のペイロードに付加されている試験パケットの識別情報に基づき、前記試験パケット生成部が送信した試験パケットと、前記試験結果が有するフローエントリ情報に応じたフローテーブルとを比較する試験結果判定部と、
前記試験結果判定部で比較した比較結果をオペレータに通知する試験結果通知部と、を備える。
Specifically, the flow inspection apparatus according to the present invention is:
A flow inspection device that performs packet processing in the transfer device by transferring a test packet to the transfer device, and checks the reachability of the inspection target packet,
A test information management unit for holding a test packet and identification information of the test packet;
A flow information management unit that acquires and holds flow entry information to be set in the flow table of the transfer device;
A test request receiver for receiving a test request from an operator;
A test packet generation unit that generates a test packet based on the flow entry information managed by the flow information management unit in response to the test request received by the test request reception unit, and transmits the test packet to the transfer device;
A test result receiving unit that performs a test process on the flow table corresponding to the identification information of the test packet among a plurality of flow tables included in the transfer apparatus, and receives a test result of the test process;
Based on the identification information of the test packet added to the payload of the test result, the test result determination comparing the test packet transmitted by the test packet generator with the flow table corresponding to the flow entry information included in the test result And
A test result notifying unit for notifying an operator of the comparison result compared by the test result determining unit.
本発明に係るフロー検査装置では、
試験対象の通信経路を構成するフローエントリが格納されたフローテーブル単位で検査対象パケットの到達性の検査を繰り返してもよい。
In the flow inspection apparatus according to the present invention,
The reachability check of the inspection target packet may be repeated for each flow table in which the flow entries constituting the communication path to be tested are stored.
本発明に係るフロー検査装置では、前記試験パケット生成部が、前記試験パケットに、検査すべきフローテーブルを指定する試験テーブルIDを付加してもよい。 In the flow inspection apparatus according to the present invention, the test packet generation unit may add a test table ID for designating a flow table to be inspected to the test packet.
本発明に係る転送装置は、前記フロー検査装置が生成した前記試験パケットを受信して転送処理を行う転送装置であって、The transfer apparatus according to the present invention is a transfer apparatus that receives the test packet generated by the flow inspection apparatus and performs a transfer process,
前記試験パケットを受信する受信部と、 A receiving unit for receiving the test packet;
前記受信部が受信した前記試験パケットに対して、次段のフローテーブルにおいて、前段で処理したフローエントリが検査対象のフローテーブルと一致するか判定する試験テーブル判定部と、を備える。 A test table determination unit that determines whether the flow entry processed in the previous stage matches the flow table to be inspected in the next-stage flow table for the test packet received by the reception unit;
具体的には、本発明に係るフロー検査方法は、
試験パケットを転送装置に転送することで前記転送装置におけるパケット処理を行い、検査対象パケットの到達性を検査するフロー検査方法であって、
試験パケット及び前記試験パケットの識別情報を保持する試験情報管理手順と、
前記転送装置のフローテーブルに設定予定のフローエントリ情報を取得し保持するフロー情報管理手順と、
オペレータからの試験要求を受信する試験要求受信手順と、
前記試験要求受信手順で受信した前記試験要求に応じて前記フロー情報管理手順が管理する前記フローエントリ情報に基づき試験パケットを生成し、前記転送装置に送信する試験パケット生成手順と、
前記転送装置が有する複数のフローテーブルのうち前記試験パケットの識別情報に対応するフローテーブルを前記転送装置で試験処理し、当該試験処理の試験結果を受信する試験結果受信手順と、
前記試験結果のペイロードに付加されている試験パケットの識別情報に基づき、前記試験パケット生成手順が送信した試験パケットと、前記試験結果が有するフローエントリ情報に応じたフローテーブルとを比較する試験結果判定手順と、
前記試験結果判定手順で比較した比較結果をオペレータに通知する試験結果通知手順と、を行う。
Specifically, the flow inspection method according to the present invention is:
A flow inspection method for performing packet processing in the transfer device by transferring a test packet to the transfer device, and checking reachability of the inspection target packet,
Test information management procedure for holding test packets and identification information of the test packets;
A flow information management procedure for acquiring and holding flow entry information to be set in the flow table of the transfer device;
A test request receiving procedure for receiving a test request from an operator;
Generating a test packet based on the flow entry information managed by the flow information management procedure in response to the test request received in the test request receiving procedure, and transmitting the test packet to the transfer device;
A test result receiving procedure for performing a test process on the flow table corresponding to the identification information of the test packet among a plurality of flow tables included in the transfer apparatus, and receiving a test result of the test process;
Based on the identification information of the test packet added to the payload of the test result, the test result determination comparing the test packet transmitted by the test packet generation procedure with the flow table corresponding to the flow entry information included in the test result Procedure and
And a test result notification procedure for notifying an operator of the comparison result compared in the test result determination procedure.
なお、上記各発明は、可能な限り組み合わせることができる。 The above inventions can be combined as much as possible.
本発明によれば、パケットのヘッダ情報、入力ポート、出力ポート及び出力ヘッダ情報の組み合わせで転送規則が決定されるフローベースのネットワークにおいて、転送装置の動作及び転送装置に設定された転送ルールを検査することで、任意のパケットの到達情報と経路情報を取得し、また、障害発生時の障害原因を迅速に特定することができる。 According to the present invention, in a flow-based network in which a transfer rule is determined by a combination of packet header information, input port, output port, and output header information, the operation of the transfer device and the transfer rule set in the transfer device are inspected. By doing so, arrival information and route information of an arbitrary packet can be acquired, and the cause of the failure when the failure occurs can be quickly identified.
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, this invention is not limited to embodiment shown below. These embodiments are merely examples, and the present invention can be implemented in various modifications and improvements based on the knowledge of those skilled in the art. In the present specification and drawings, the same reference numerals denote the same components.
2.本実施形態に係る具体的な説明
2.1本実施形態に係る概要
本実施形態に係るフロー検査装置は、図1に示すように試験情報管理部10と、フロー情報管理部16と、試験要求受信部9と、試験パケット生成部15と、試験結果受信部13と、試験結果判定部14と、試験結果通知部8と、を備える。また、本実施形態に係るフロー検査方法は、試験情報管理手順と、フロー情報管理手順と、試験要求受信手順と、と、試験パケット生成手順と、試験結果受信手順と、試験結果判定手順と、試験結果通知手順と、を行う。
2. 2. Specific Description According to this Embodiment 2.1 Outline According to this Embodiment As shown in FIG. 1, the flow inspection apparatus according to this embodiment includes a test
宛先への試験パケット送信成否と経由したノード情報に加えて、試験パケットが各転送装置18内でマッチしたフローエントリ情報を取得し、フロー単位の動作の正常性(指定したパケットが意図したノードの意図したフローテーブル22内のフローエントリにより処理され、宛先に到達したか)を検査するために、オペレータから送信される試験要求に基づき、試験対象フローにマッチする試験パケット群を生成し、試験対象フローの先頭スイッチに対してパケットを送信する事により、試験パケット処理に用いられたフローテーブル22および、フローエントリ情報の取得を可能とする新たな検証機構を提案する。
In addition to the node information through the success / failure of transmission of the test packet to the destination, flow entry information in which the test packet is matched in each
本機構は、主にフロー検査装置11、フローテーブル変換部17(装置)、フローベース制御を行う転送装置18と転送装置18を制御する制御装置12(制御装置12は転送装置18と同一筐体でも可)から構成される。フロー検査装置11では、制御装置12から送信された転送ルール情報の管理や、オペレータからの試験要求を契機とした試験パケットの生成、試験結果の判定を行う。
This mechanism mainly includes a
フローテーブル変換部17では、転送装置18のフローテーブル22内に試験パケット識別のための試験パケット判別処理部と、マッチした転送ルール情報を取得するためのフロー情報格納処理部26を設けるために、設定予定の転送ルール群に変換を行う。(フローテーブル変換部17は転送装置18の外(フロー検査装置11内等)に実現する方法と、内部に実装する方法の2通り考えられる。)転送装置18はフローベースの転送処理を実施し、また、制御装置12は、複数の転送装置18に対するフローエントリの設定や、その他様々な制御情報のやり取りを行う。
In the flow
本発明は、オペレータから発せられる試験区間と、フロー(ip_dst=192.168.1.0/24や、VLAN=100等)情報から構成される試験要求を契機に、フロー検査装置において試験パケットが生成される。 In the present invention, a test packet is received in a flow inspection apparatus in response to a test request made up of a test section issued by an operator and flow (ip_dst = 192.168.1.0 / 24, VLAN = 100, etc.) information. Generated.
OpenFlowでは、マルチテーブルと呼ばれるパイプライン処理機構が導入されており、各転送装置18内では複数のフローテーブル22により構成されるパケット処理が行われるため、各転送装置18の動作の正常性を検証するためには、フローテーブル22毎に処理に用いられたフローエントリ情報を取得する必要がある。
In OpenFlow, a pipeline processing mechanism called a multi-table is introduced, and packet processing composed of a plurality of flow tables 22 is performed in each
本発明では、図1のように、マルチテーブルのようなパイプライン処理機構に対応するために、検査するテーブル毎に試験パケットを生成する。フロー検査装置11で生成される試験パケットには、試験テーブルIDが付加され、1つの試験パケットで検査すべきフローテーブル22を指定する。試験パケットは指定されたフローテーブル22内のフローエントリにより処理され、次のフローテーブル22に試験パケットが到達すると、試験結果をフロー検査装置11に送信する。
In the present invention, as shown in FIG. 1, a test packet is generated for each table to be checked in order to cope with a pipeline processing mechanism such as a multi-table. A test table ID is added to the test packet generated by the
フロー検査装置11は試験結果を受信すると、試験結果を元に検査の進行状況を判断し、次のフローテーブル22を検査するための試験テーブルIDを付加して、先ほどと同一のヘッダ情報を持つ試験パケットを再度フローの先端転送装置18に送信する。
Upon receiving the test result, the
これをフローの終点(もしくは、オペレータが指定した試験区間の終点)転送装置に到達するまで繰り返す事により、生成した試験パケットのフローテーブル22毎の処理を追う事が可能となり、宛先への到達性や経路情報、各転送装置18内にて転送処理に用いられたフローエントリ情報を得る事ができる。更に、これらに加え、試験パケットが検査するフローテーブル毎に送信されるため、障害発生時の障害原因を迅速に特定する事が可能となる。
By repeating this until the end of the flow (or the end of the test section designated by the operator) reaches the transfer device, it is possible to follow the processing for each flow table 22 of the generated test packet, and reachability to the destination And route information, and flow entry information used for transfer processing in each
2.2本実施形態に係るフロー検査装置の構成
本実施形態に係る検査機構は図1に示す通り、主に、フロー検査装置11、制御装置12、転送装置18及びフローテーブル変換17として機能するフローテーブル変換装置から構成される。本発明を実現する構成が複数考えられる。
2.2 Configuration of Flow Inspection Device According to this Embodiment As shown in FIG. 1, the inspection mechanism according to this embodiment mainly functions as a
(1)試験機能の導入について
1)設定予定のフローテーブル22(フローエントリ)を転送装置18外部のフローテーブル変換部17にて変換し、試験機能を導入する方法
2)転送装置18内に設けたフローテーブル変換部17にて設定予定のフローテーブル22(フローエントリ)を変換し、試験機能を導入する方法
(1) Regarding the introduction of the test function 1) A method of introducing the test function by converting the flow table 22 (flow entry) to be set by the flow
(2)試験パケット/試験テーブルの識別方法について
1)ネットワーク内の全てのフローに衝突しない空ヘッダ領域に試験パケット識別子、試験テーブル識別子を格納
2)カプセル化を行い、アウター内に試験パケット識別子および試験テーブル識別子(試験テーブルID)を格納。試験パケットを受信した転送装置18は、試験パケット判定部23において試験パケットかどうかを判定し、試験パケットで「2」あれば試験パケットのカプセル化を解除し、転送装置18が保持するメタデータ内に試験テーブル識別子を格納
(3)マッチしたフローエントリ情報の取得方法について
1)メタデータを活用
「4−1」をとる場合は、設定予定のフローテーブルID:Nに1つフローテーブル22を追加し、そこでテーブルNの試験テーブルIDを確認する。「4−2」「4−3」、の形態をとる場合は、試験テーブル判定部35において、試験結果を送信する前にメタデータに記録された情報を試験パケットの空ヘッダフィールドに格納する必要がある
(2) Test packet / test table identification method 1) Store test packet identifier and test table identifier in empty header area that does not collide with all flows in network 2) Encapsulate test packet identifier and test packet identifier in outer Stores test table identifier (test table ID). The
2.3試験パケットのヘッダフィールドを活用
(4)試験パケット/結果の送受信方法について
1)送信受信共に制御装置12を介する
2)送信は制御装置12、受信はフロー検査装置11が行う。
3)送信受信共にフロー検査装置11が行う。
(5)「1−1」におけるフローテーブル22の変換方法について
1)制御装置12から送信されたフローテーブル設定情報を受け取り、変換を行う。
2)制御装置12の上位で、アプリケーション自体を変換が行う。
以下に各機能の詳細を示す。
2.3 Utilization of header field of test packet (4) Test packet / result transmission / reception method 1) Both transmission and reception are via
3) The
(5) About the conversion method of the flow table 22 in “1-1” 1) The flow table setting information transmitted from the
2) The application itself is converted at the upper level of the
Details of each function are shown below.
(制御装置)
複数の転送装置18を制御する。転送装置18および、外部からのフローエントリ設定要求に基づき、各転送装置18のフローテーブル22に対してフローエントリの記録や削除を行う。
(転送装置)
ネットワークを介して受信部33からパケットを受信し、フローテーブル22内のフローエントリに記述されている入力パケット情報及び、制御方法に従って転送パケットを生成し、フローエントリ内の制御方法に従って送信部34より次段の通信装置に送信する装置。
(受信部)
ネットワークを通してパケットを受信する。
(送信部)
パケットの処理方法が定義されるフローテーブル22に基づいてパケットを送信する。
(フローテーブル)
フロー毎の処理内容を定めたフローエントリを格納する。パイプライン処理が可能。各フローテーブル22には識別子が付与されている。
(フロー情報格納処理部)
試験パケットがマッチするフローエントリに従って処理される。
(Control device)
A plurality of
(Transfer device)
The packet is received from the receiving
(Receiver)
Receive packets over the network.
(Transmitter)
The packet is transmitted based on the flow table 22 in which the packet processing method is defined.
(Flow table)
Stores a flow entry that defines the processing content for each flow. Pipeline processing is possible. Each flow table 22 is given an identifier.
(Flow information storage processing part)
The test packet is processed according to the matching flow entry.
各フローエントリにはフローIDと呼ばれる識別子が付与されており、試験パケットがマッチしたフローエントリのフローIDをメタデータ(もしくは空ヘッダフィールド)に格納する処理が行われる。複数テーブルを遷移するようなフローを検査する場合、メタデータ(もしくは空ヘッダフィールド)に格納されるフローIDはテーブル毎に上書きされる。 Each flow entry is given an identifier called a flow ID, and a process of storing the flow ID of the flow entry matching the test packet in metadata (or an empty header field) is performed. When inspecting a flow that transits a plurality of tables, the flow ID stored in the metadata (or the empty header field) is overwritten for each table.
(試験テーブル判定部)
検査対象のフローエントリが格納されているフローテーブル22の次段のフローテーブル22に設置(「2−2」をとる場合は、転送装置18に設定可能なテーブルの最大値のテーブルIDを持つテーブルを新たに1つ設け、そこにも設置)。メタデータ(もしくは試験パケットのヘッダフィールド)に試験パケット識別子と前段のフローテーブルID+1の試験テーブルIDが格納されている場合は、メタデータと転送装置18で処理された試験パケットをフロー検査装置11(又は制御装置12)にむけて試験結果として送信。格納されていない場合は、各パケットがマッチするフローエントリに従って処理される。
(試験パケット判定部(「2−2」の場合に必要))
最小のフローテーブルIDと、最大のフローテーブルIDに設置。最小のフローテーブルIDのテーブルでは、受信した試験パケットのヘッダ情報を確認して試験パケットであるかどうかを判別し、試験パケットであればカプセル化を解除し、メタデータの特定ビットに試験テーブルIDを格納する処理を実施する。最大のフローテーブルIDのフローテーブル22では、試験パケットであれば再度カプセル化を行い、転送処理(アクション)を実行。
(フローエントリ)
フロー毎の処理内容を定めたもの。
(Test table determination unit)
Installed in the next flow table 22 of the flow table 22 in which the flow entries to be inspected are stored (when “2-2” is taken, the table having the table ID of the maximum value of the table that can be set in the transfer device 18) A new one is also installed there). When the test packet identifier and the test table ID of the previous flow table ID + 1 are stored in the metadata (or the header field of the test packet), the test packet processed by the metadata and the
(Test packet determination unit (required for "2-2"))
Installed in minimum flow table ID and maximum flow table ID. In the table of the minimum flow table ID, the header information of the received test packet is confirmed to determine whether it is a test packet, and if it is a test packet, the encapsulation is released and the test table ID is added to a specific bit of metadata. Implement the process to store. In the flow table 22 of the maximum flow table ID, if it is a test packet, it is encapsulated again and a transfer process (action) is executed.
(Flow entry)
Defines processing details for each flow.
以下に本実施形態に係るフロー検査装置11の構成部の具体的な説明する。
(試験情報管理部)
図2に示すように、試験情報管理部10内で保存されるテーブルにおいて、送信時の試験パケットと、試験結果の対応付けのために各試験パケットのペイロードに試験IDを格納する。この試験IDと送信時の試験パケットの状態を合わせて管理する。
(フロー情報管理部)
図3に示すように、フロー情報管理部16内の保持されるテーブルにおいて、制御装置12を介して転送装置18のフローテーブル22に設定される予定のフローエントリの情報を取得し管理する。各フローエントリには、フローエントリを一意に識別可能なフローIDが付与されるため、合わせて管理する。これを元に各フローを構成するフローエントリを抽出し、試験区間及びフロー情報と合わせて管理する。
(試験パケット生成部)
フロー情報管理部16で管理されるネットワーク内の各転送装置18のフローテーブル情報を元に、オペレータから受け取った試験要求に合わせた試験パケットを生成する。生成された試験パケットは、オペレータによって指定された試験区間と、フロー情報を満たす。試験パケットのペイロードには試験情報管理部10で管理される試験IDが付与される。
Hereinafter, specific components of the
(Test Information Management Department)
As shown in FIG. 2, in the table stored in the test
(Flow Information Management Department)
As shown in FIG. 3, in a table held in the flow
(Test packet generator)
Based on the flow table information of each
試験パケットは、サービス利用者に影響を与えないために、ユーザから送信されるユーザパケットと区別して処理される必要がある。そのため、試験パケットには、受信パケットの中から試験パケットを識別するための識別子が格納される。識別子として、全ての転送装置18内でマッチ条件に用いられていないヘッダフィールドに識別情報を格納するか「4−1」、全ての転送装置内でマッチ条件に用いられていないプロトコルでカプセル化し、これを識別子とみなす「4−2」方法の2通りの方法が考えられる。
The test packet needs to be processed separately from the user packet transmitted from the user so as not to affect the service user. Therefore, an identifier for identifying the test packet from the received packets is stored in the test packet. As an identifier, identification information is stored in a header field that is not used as a match condition in all
本実施形態では、1つの試験パケットでフローを構成する1つのフローテーブル22のみを試験する事から、識別子の中には、送信する試験パケットで検査するフローテーブル22のID(フローテーブルID)も合わせて付加される。 In this embodiment, since only one flow table 22 that constitutes a flow with one test packet is tested, the identifier (flow table ID) of the flow table 22 to be inspected with the transmitted test packet is also included in the identifier. It is added together.
フロー検査装置11内で試験結果として受信した試験パケットが、検査区間の終点転送装置18に到達していない場合は、次段の検査フローテーブルIDをセットした試験パケットを再びフローの先頭転送装置18宛に送信する。これを終点転送装置18に到達するまで繰り返す。
If the test packet received as a test result in the
(試験結果判定部)
受信した試験結果のペイロードに付加されている試験パケット識別情報(試験ID)を元に試験情報管理部10から、送信時の試験パケットを呼び出し、受信したフローIDを元にフロー情報管理部16からマッチしたフローエントリ及びフローテーブル22を呼び出す。送信時の試験パケットと、マッチしたフローエントリ(フローテーブル22)および処理後の試験パケットのヘッダ情報をフロー情報管理部16に格納された経由フローエントリ情報等と比較し、その結果を試験結果通知部8へ渡す。
(Test result judgment part)
A test packet at the time of transmission is called from the test
(試験要求受信部)
オペレータからの試験要求を受信する。試験情報管理部10に試験要求を保存する。
(試験結果通知部)
試験結果判定部14から受け取った試験結果をオペレータにむけて通知(表示)する。
(Test request receiver)
Receive a test request from an operator. The test request is stored in the test
(Test result notification section)
The test result received from the test
(フローテーブル変換装置)
各転送装置18のフローテーブル22に対して、フロー情報格納処理部26、試験テーブル判定部35、試験パケット判定部23の3つの要素で構成されるように変換を行い、転送装置18(「5−2」の場合は制御装置12)に送信する。
(Flow table conversion device)
The flow table 22 of each
2.4本実施形態に係る動作の一例
・「1−1」の場合、各転送装置18のフローテーブル22にフローエントリを設定する際に、フローテーブル変換部17において設定予定のフローエントリを変換し、フローテーブル22にフロー情報格納処理部26、試験テーブル判定部35、試験パケット判定部23の3つの要素で構成されるよう変換を行う。
・各転送装置18のフローテーブル22に設定予定のフローエントリを、フロー情報管理部16に格納する。この時、各フローエントリにはフローIDが割り当てられ、各フローテーブル22にはテーブルIDが割り当てられる。
・オペレータからの試験要求(試験区間、フロー情報(ip_dst=192.168.1.0/24や、VLAN=100等)等の情報)を試験要求受信部9で受信し、これを契機に、試験パケット生成部15から、フロー情報管理部16の管理情報を元に試験対象のフローを通過可能なヘッダ情報を持つ試験パケットを生成する。
・試験パケットは、転送装置18内でサービス利用者から送信されるユーザパケットと区別して処理するために、全ての転送装置18内でマッチ条件に用いられていないヘッダフィールドに試験パケット識別子を格納するか(「2−1」)、全ての転送装置18内でマッチ条件に用いられていないプロトコルでカプセル化する(「2−2」)。
・試験要求及び送信時の試験パケットのヘッダ情報と試験結果を結びつけるために、試験パケットのペイロードに試験IDを付加する。試験パケットと、試験IDの対応付けは、試験情報管理部10で保持される。
・生成した試験パケットは、「4−1」「4−2」、の場合は制御装置12、「4−3」の場合はフロー検査装置11から検査するフローの先頭転送装置18(試験区間の先頭スイッチ)にむけて送信する。
・転送装置18で受信した試験パケットは、「2−2」の場合は、まず試験パケット判定部23で処理される。試験パケット判定部23では、受信したパケットが試験パケットであるか否かを判定する。試験パケットであれば、全ての転送装置18のフローテーブル22に設定されたフローエントリに衝突しないプロトコルでカプセル化されている。この時、試験パケット判定部23では、カプセル化を解除し、試験パケットに格納されている試験テーブルIDを全てのフローエントリに利用していないヘッダフィールドに格納する。
・次に、試験パケットに格納されている試験テーブルIDから、現在処理中のテーブルにおいて、試験結果送信対象の試験パケットであるかどうかを判定する。これは、前段の転送装置18のフローテーブル22のテーブルIDに対応する試験テーブルIDが格納された試験パケットを受信した場合に、制御装置12(「5−2,3」の場合はフロー検査装置11)に試験結果を通知するフローエントリを、最大プライオリティ値を持たせて予め追加しておく事により実現する。
・上記フローエントリにマッチしなかった場合は、試験パケットはフロー情報格納処理部26で処理される。フロー情報格納処理部26では、基本的にユーザパケットと同様にヘッダ情報がマッチするフローエントリにより処理される。フローエントリには、事前にフローID格納処理を追加しておいたため、これに従い、メタデータ(「3−2」の場合は試験パケットの空ヘッダフィールド)にマッチしたフローエントリに対応するフローIDが格納される。
・メタデータへのフローID(「3−2」の場合は試験パケットの空ヘッダフィールド)格納後は、マッチしたフローエントリのアクションフィールドに従って処理が実施される。
・次のフローテーブル22に遷移した場合は、再度最高プライオリティ値に設定された試験テーブルIDを確認するフローエントリにマッチするかどうか確認処理が実施される。マッチした場合はメタデータ(「3−2」の場合は試験パケットの空ヘッダフィールド)に格納したフローIDと試験パケットを、制御装置12(「4−2,3」の場合はフロー検査装置11)にむけて送信する。この時,フローIDの格納にメタデータを利用(「3−1」)し、かつ制御装置12を介さずにフロー検査装置11に対して試験結果を送信する場合(「4−2,3」)は、試験結果を送信する前に、メタデータの内容を試験パケットの空ヘッダフィールドに格納する処理を行う。
・試験テーブルIDが転送装置18内部のどの試験テーブル判定部35内部のフローエントリにもマッチしなかった場合は、試験パケットがマッチするフローエントリに従ってネクストホップの転送装置18に転送される必要があるが、カプセル化により試験パケットをユーザパケットと区別する方法をとる場合(「2−2」)は、転送装置18に設定可能なテーブルの最大値のテーブルIDに設けた試験パケット判定部23において、転送処理の前に、試験パケットであればカプセル化を行う処理を実施する。
・制御装置12を介してフロー検査装置11が受信した試験パケット(「4−2,3」の場合は、フロー検査装置11内の試験結果受信部13にて試験結果を取得)は、試験パケットのペイロードに付加されている試験パケット識別情報(試験ID)を元に試験情報管理部10から、送信時の試験パケットを呼び出し、受信したフローIDを元にフロー情報管理部16からマッチしたフローエントリ及びフローテーブル22を呼び出す。
・送信時の試験パケットと、マッチしたフローエントリ(フローテーブル22)および処理後の試験パケットのヘッダ情報をフロー情報管理部16に格納された経由フローエントリ情報等と比較し、その結果を試験結果通知部8へ渡す。
・オペレータからの試験要求により指定された試験区間の終点転送装置18にたどり着くまで試験パケットに格納する試験テーブルIDに1を加え、試験区間の先頭転送装置18にむけて送信する。
なお、図4では、「2−2」「3−1」「4−1」における本実施形態に係る転送ルール(フロールール)の変換を示す。本実施形態に係るフロー検査方法のフローチャートを図5〜8を用いて以下に説明する。
2.4 Example of Operation According to the Present Embodiment In the case of “1-1”, when setting a flow entry in the flow table 22 of each
The flow entry scheduled to be set in the flow table 22 of each
Test request from the operator (information such as test section, flow information (ip_dst = 192.168.1.0 / 24, VLAN = 100, etc.)) is received by the test
Test packet identifiers are stored in header fields that are not used in match conditions in all
A test ID is added to the payload of the test packet to link the test request and the header information of the test packet at the time of transmission with the test result. The test
The generated test packet is a
The test packet received by the
Next, it is determined from the test table ID stored in the test packet whether the test packet is a test result transmission target in the table currently being processed. This is because when the test packet storing the test table ID corresponding to the table ID of the flow table 22 of the
If the flow entry does not match, the test packet is processed by the flow information
After storing the flow ID in the metadata (in the case of “3-2”, the empty header field of the test packet), processing is performed according to the action field of the matched flow entry.
When transitioning to the next flow table 22, confirmation processing is performed as to whether or not the flow entry confirms the test table ID set to the highest priority value again. If there is a match, the flow ID and the test packet stored in the metadata (in the case of “3-2”, the empty header field of the test packet), the control device 12 (in the case of “4-2, 3”, the flow inspection device 11 ) At this time, when metadata is used for storing the flow ID (“3-1”) and the test result is transmitted to the
If the test table ID does not match any flow entry in any test
The test packet received by the
The test packet at the time of transmission, the matched flow entry (flow table 22), and the header information of the processed test packet are compared with the via flow entry information stored in the flow
Add 1 to the test table ID stored in the test packet until reaching the end
Note that FIG. 4 illustrates conversion of transfer rules (flow rules) according to the present embodiment in “2-2”, “3-1”, and “4-1”. A flowchart of the flow inspection method according to the present embodiment will be described below with reference to FIGS.
図5は、試験フローを示すフローチャートである。試験要求(ステップS101)に基づき、試験パケット生成部15で試験パケットの生成を行う(ステップS102)。試験情報管理部10に試験IDと生成した試験パケットを格納する(ステップS103)。試験対象フローの先頭スイッチに試験パケット送信する(ステップS104)。試験結果受信部13が試験結果を受信する(ステップS105)。
FIG. 5 is a flowchart showing a test flow. Based on the test request (step S101), the
試験IDから送信時の試験パケットの呼び出しを行う(ステップS106)。フロー情報管理部16からフローIDに対応するフローエントリを呼び出す(ステップS107)。送信時の試験パケット、処理後の試験パケット、マッチしたフローエントリを元に正常性を試験結果判定部14が評価する(ステップS108)。試験区間を満たす全ての試験テーブルIDを格納した試験パケットを送信したか判定を行い(ステップS109)、送信が完了していない場合ステップS104からステップS108を繰り返し、送信が完了した場合試験終了とする(ステップS111)。
A test packet at the time of transmission is called from the test ID (step S106). A flow entry corresponding to the flow ID is called from the flow information management unit 16 (step S107). The test
図6は、「2−2」「3−1」「4−2,3」における転送装置18内部処理を示すフローチャートである。入力されデータ(ステップS201)が試験パケットの場合(ステップS202)、当該試験パケットをカプセル化解除しメタデータに試験テーブルIDを格納する(ステップS203)。次に、試験テーブルID=Table_ID−1である場合(ステップS204)、解除した試験パケットを再カプセル化し(ステップS209)、フロー検査装置11に試験結果を送信する(ステップS211)。
FIG. 6 is a flowchart showing internal processing of the
また、試験テーブルID=Table_ID−1でない場合(ステップS204)、フローエントリに従ってマッチ処理し(ステップS205)、メタデータにマッチしたフローIDを書き込む(ステップS206)。フローIDをメタデータに書き込んだのちにInstructionを実行する(ステップS207)。action=goto_table=N ?を満たす場合、ステップS204からステップS208を繰り返す。 If the test table ID is not Table_ID-1 (step S204), the matching process is performed according to the flow entry (step S205), and the flow ID that matches the metadata is written (step S206). After the flow ID is written in the metadata, Instruction is executed (step S207). action = goto_table = N? If the condition is satisfied, step S204 to step S208 are repeated.
action=goto_table=N?を満たさない場合、試験パケットの空ヘッダフィールドにメタデータの中身を格納し(ステップS212)、試験パケットの再カプセル化を行い(ステップS213)、アクションを実行する(ステップS214)。 action = goto_table = N? If not, the contents of the metadata are stored in the empty header field of the test packet (step S212), the test packet is reencapsulated (step S213), and the action is executed (step S214).
図7は、「2−1」「3−2」「4−1,2,3」における転送装置18内部処理を示すフローチャートである。入力されデータ(ステップS301)が試験テーブルID=Table_ID−1である場合(ステップS302)、フロー検査装置11に試験結果を送信する(ステップS304)。
FIG. 7 is a flowchart showing internal processing of the
また、試験テーブルID=Table_ID−1でない場合(ステップS302)、フローエントリに従ってマッチ処理し(ステップS303)、マッチしたフローIDをパケットの空ヘッダフィールドに書き込むとともにInstructionを実行する(ステップS305及び306)。action=goto_table=N?を満たす場合、ステップS302からステップS307を繰り返す。action=goto_table=N?を満たさない場合、アクションを実行する(ステップS308)。 If the test table ID is not Table_ID-1 (step S302), the matching process is performed according to the flow entry (step S303), the matched flow ID is written in the empty header field of the packet, and the instruction is executed (steps S305 and S306). . action = goto_table = N? If the condition is satisfied, step S302 to step S307 are repeated. action = goto_table = N? If not, an action is executed (step S308).
図8は、「2−1」「3−1」「4−1」における転送装置18内部処理を示すフローチャートである。入力されデータ(ステップS401)が試験テーブルID=Table_ID−1である場合(ステップS402)、フロー検査装置11に試験結果を送信する(ステップS404)。
FIG. 8 is a flowchart showing internal processing of the
また、試験テーブルID=Table_ID−1でない場合(ステップS402)、フローエントリに従ってマッチ処理し(ステップS403)、メタデータにマッチしたフローIDを書き込む(ステップS405)。フローIDをメタデータに書き込むとともにInstructionを実行する(ステップS406)。action=goto_table=N ?を満たす場合、ステップS402からステップS407を繰り返す。 If the test table ID is not Table_ID-1 (step S402), the matching process is performed according to the flow entry (step S403), and the flow ID that matches the metadata is written (step S405). The flow ID is written in the metadata and the instruction is executed (step S406). action = goto_table = N? If the condition is satisfied, Steps S402 to S407 are repeated.
action=goto_table=N?を満たさない場合、Instructionを実行し(ステップS408)、アクションを実行する(ステップS409)。その際、goto_table=N+1となる処理を行い、試験テーブルID=Table_ID−1を満たす場合フロー検査装置11に試験結果を送信し(ステップS413)、試験テーブルID=Table_ID−1を満たさない場合データを破棄する(ステップS414)。 action = goto_table = N? If not, Instruction is executed (step S408) and an action is executed (step S409). At that time, the process of “goto_table = N + 1” is performed, and when the test table ID = Table_ID−1 is satisfied, the test result is transmitted to the flow inspection apparatus 11 (step S413), and the data when the test table ID = Table_ID−1 is not satisfied. Discard (step S414).
ここで、メタデータの内容は直接他の転送装置18に転送する事ができないため、図7の構成の場合はtable=Nの次にtable=N+1を設け、試験テーブルIDの判定を実施する方法をとる。なお、図9は「2−1」におけるフロー検査装置11の構成例を示し、図10は「2−2」におけるフロー検査装置11の構成例を示す。ここで、フローテーブル変換部17に関しては、転送装置18内部に構築してもよい。
Here, since the content of the metadata cannot be transferred directly to another
2.5発明によって生じる効果
本実施形態では、関連技術では得る事のできなかった各転送装置18内で試験パケットがマッチしフローエントリ情報をパイプライン処理の仕組みを活用する事により、取得する方法を提案した。本発明により、オペレータはユーザパケットが流れている状況下においても、特定のパケットの流れを把握する事ができるようになるため、関連技術に比べてネットワーク機器内の詳細処理状況を詳細に検証する事が可能となる。更に、本発明を用いて各転送装置18における試験パケットの処理をテーブル毎にマッチしたフローエントリ単位で追う事により、障害発生箇所の特定を関連技術よりも迅速に行う事が可能となる。
2.5 Effects of the Invention In the present embodiment, a method for acquiring a flow entry information by utilizing a pipeline processing mechanism when a test packet matches in each
また、検査対象のフローを構成するフローテーブル22毎に試験パケットを生成し、試験を行う事により、メタデータや試験パケットの空ヘッダフィールドに,全ての試験結果を格納する場合に比べて、検査可能なフローエントリ数が増大する。また、“テーブル毎に試験を逐次実行する”という方法に関しては、OpenFlowのようなフローベースのネットワークに留まらず、パイプライン処理を実施するネットワーク機器であれば、適用が可能であると考える。 In addition, a test packet is generated for each flow table 22 that constitutes a flow to be inspected, and the test is performed, so that all test results are stored in the empty header field of metadata or test packet. The number of possible flow entries increases. Further, regarding the method of “sequentially executing a test for each table”, it can be applied to any network device that performs pipeline processing, not limited to a flow-based network such as OpenFlow.
2.6本実施形態に係るフロー検査装置及び転送装置における各機能
本願発明に係る諸機能を以下に示す。
・試験対象のフローを構成するフローエントリが格納されたフローテーブル単位で試験を逐次実行する(1つのパケットで試験結果を取得するのではなく、複数のパケットで試験結果を取得する)。
・転送処理の後、次段のフローテーブル22において、前段で処理したフローエントリが検査対象のフローテーブル22のものであったかどうかを判定する。
・試験テーブルIDを導入し、送信した試験パケットで試験するフローテーブル22を転送装置18内で識別する。
・各転送装置18に設定予定のフローエントリを取得し、それを元に試験要求に対応する試験パケットを生成する。
・制御装置12から転送装置18に設定されるフローエントリを事前に変換し、試験機能を転送装置18に持たせる。
・試験機能を導入しても、ユーザパケットの転送処理には影響を与えない。
・試験機能を導入しても、元のフローエントリに影響を与えない(試験機能導入前と導入後のユーザパケットに対する処理は必ず等価)。
・試験パケットとユーザパケットを区別するために、カプセル化を利用する。
・カプセル化を利用しない場合は、他の全てのフローエントリのマッチ条件に用いられていないヘッダフィールドに識別子を格納する。
・フローエントリを一意に識別するために、フローIDを定義する。
・試験を一意に識別するために、試験IDを定義する。
・マッチしたフローエントリ情報を取得するために、各フローエントリのアクションフィールドに、フローIDをメタデータ(またはパケットの空ヘッダフィールド)に格納するアクションを追加する。
・送信時の試験パケットのヘッダ情報、処理後の試験パケットのヘッダ情報、マッチしたフローエントリ情報の3つの情報から正常性を判断する。
2.6 Functions in the flow inspection apparatus and transfer apparatus according to the present embodiment Various functions according to the present invention will be described below.
Tests are sequentially executed in units of flow tables in which the flow entries constituting the test target flow are stored (the test results are acquired with a plurality of packets instead of acquiring the test results with one packet).
After the transfer process, it is determined in the next-stage flow table 22 whether the flow entry processed in the previous stage is in the flow table 22 to be inspected.
A test table ID is introduced, and the flow table 22 to be tested with the transmitted test packet is identified in the
A flow entry scheduled to be set in each
A flow entry set in the
-Even if the test function is introduced, it does not affect the transfer processing of user packets.
-Even if the test function is introduced, the original flow entry is not affected (the process for user packets before and after the introduction of the test function is always equivalent).
• Use encapsulation to distinguish between test packets and user packets.
-When encapsulation is not used, the identifier is stored in a header field that is not used as a match condition for all other flow entries.
Define a flow ID to uniquely identify the flow entry.
Define a test ID to uniquely identify the test.
In order to obtain matched flow entry information, an action for storing the flow ID in metadata (or an empty header field of a packet) is added to the action field of each flow entry.
Normality is determined from three types of information: header information of the test packet at the time of transmission, header information of the test packet after processing, and matched flow entry information.
本発明は情報通信産業に適用することができる。 The present invention can be applied to the information communication industry.
8:試験結果通知部
9:試験要求受信部
10:試験情報管理部
11:フロー検査装置
12:制御装置
13:試験結果受信部
14:試験結果判定部
15:試験パケット生成部
16:フロー情報管理部
17:フローテーブル変換部
18:転送装置
19:Application
22:フローテーブル
23:試験パケット判定部
26:フロー情報格納処理部
33:受信部
34:送信部
35:試験テーブル判定部
8: Test result notification unit 9: Test request reception unit 10: Test information management unit 11: Flow inspection device 12: Control device 13: Test result reception unit 14: Test result determination unit 15: Test packet generation unit 16: Flow information management Unit 17: Flow table conversion unit 18: Transfer device 19: Application
22: Flow table 23: Test packet determination unit 26: Flow information storage processing unit 33: Reception unit 34: Transmission unit 35: Test table determination unit
Claims (5)
検査対象パケットの到達性を検査するフロー検査装置であって、
試験パケット及び前記試験パケットの識別情報を保持する試験情報管理部と、
前記転送装置のフローテーブルに設定予定のフローエントリ情報を取得し保持するフロー情報管理部と、
オペレータからの試験要求を受信する試験要求受信部と、
前記試験要求受信部で受信した前記試験要求に応じて前記フロー情報管理部が管理する前記フローエントリ情報に基づき試験パケットを生成し、前記転送装置に送信する試験パケット生成部と、
前記転送装置が有する複数のフローテーブルのうち前記試験パケットの識別情報に対応するフローテーブルを前記転送装置で試験処理し、当該試験処理の試験結果を受信する試験結果受信部と、
前記試験結果のペイロードに付加されている試験パケットの識別情報に基づき、前記試験パケット生成部が送信した試験パケットと、前記試験結果が有するフローエントリ情報に応じたフローテーブルとを比較する試験結果判定部と、
前記試験結果判定部で比較した比較結果をオペレータに通知する試験結果通知部と、
を備えることを特徴とするフロー検査装置。 Perform packet processing in the transfer device by transferring the test packet to the transfer device,
A flow inspection apparatus for inspecting the reachability of a packet to be inspected,
A test information management unit for holding a test packet and identification information of the test packet;
A flow information management unit that acquires and holds flow entry information to be set in the flow table of the transfer device;
A test request receiver for receiving a test request from an operator;
A test packet generation unit that generates a test packet based on the flow entry information managed by the flow information management unit in response to the test request received by the test request reception unit, and transmits the test packet to the transfer device;
A test result receiving unit that performs a test process on the flow table corresponding to the identification information of the test packet among a plurality of flow tables included in the transfer apparatus, and receives a test result of the test process;
Based on the identification information of the test packet added to the payload of the test result, the test result determination comparing the test packet transmitted by the test packet generator with the flow table corresponding to the flow entry information included in the test result And
A test result notifying unit for notifying an operator of the comparison result compared in the test result determining unit;
A flow inspection apparatus comprising:
ことを特徴とする請求項1又は2に記載のフロー検査装置。 It said test packet generating unit is configured to test packet, the flow test apparatus according to claim 1 or 2, characterized in that the addition of the test table ID to specify the flow table to be examined.
前記試験パケットを受信する受信部と、
前記受信部が受信した前記試験パケットに対して、次段のフローテーブルにおいて、前段で処理したフローエントリが検査対象のフローテーブルと一致するか判定する試験テーブル判定部と、
を備えることを特徴とする転送装置。 A transfer device that receives the test packet generated by the flow inspection device according to claim 1 and performs transfer processing,
A receiving unit for receiving the test packet ;
A test table determination unit that determines whether the flow entry processed in the previous stage matches the flow table to be inspected in the next-stage flow table for the test packet received by the reception unit ;
Transfer apparatus comprising: a.
検査対象パケットの到達性を検査するフロー検査方法であって、
試験パケット及び前記試験パケットの識別情報を保持する試験情報管理手順と、
前記転送装置のフローテーブルに設定予定のフローエントリ情報を取得し保持するフロー情報管理手順と、
オペレータからの試験要求を受信する試験要求受信手順と、
前記試験要求受信手順で受信した前記試験要求に応じて前記フロー情報管理手順が管理する前記フローエントリ情報に基づき試験パケットを生成し、前記転送装置に送信する試験パケット生成手順と、
前記転送装置が有する複数のフローテーブルのうち前記試験パケットの識別情報に対応するフローテーブルを前記転送装置で試験処理し、当該試験処理の試験結果を受信する試験結果受信手順と、
前記試験結果のペイロードに付加されている試験パケットの識別情報に基づき、前記試験パケット生成手順が送信した試験パケットと、前記試験結果が有するフローエントリ情報に応じたフローテーブルとを比較する試験結果判定手順と、
前記試験結果判定手順で比較した比較結果をオペレータに通知する試験結果通知手順と、
を行うことを特徴とするフロー検査方法。 Perform packet processing in the transfer device by transferring the test packet to the transfer device,
A flow inspection method for inspecting the reachability of a packet to be inspected,
Test information management procedure for holding test packets and identification information of the test packets;
A flow information management procedure for acquiring and holding flow entry information to be set in the flow table of the transfer device;
A test request receiving procedure for receiving a test request from an operator;
Generating a test packet based on the flow entry information managed by the flow information management procedure in response to the test request received in the test request receiving procedure, and transmitting the test packet to the transfer device;
A test result receiving procedure for performing a test process on the flow table corresponding to the identification information of the test packet among a plurality of flow tables included in the transfer apparatus, and receiving a test result of the test process;
Based on the identification information of the test packet added to the payload of the test result, the test result determination comparing the test packet transmitted by the test packet generation procedure with the flow table corresponding to the flow entry information included in the test result Procedure and
A test result notification procedure for notifying an operator of the comparison result compared in the test result determination procedure;
The flow inspection method characterized by performing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015158553A JP6467316B2 (en) | 2015-08-10 | 2015-08-10 | Flow inspection apparatus, transfer apparatus, and flow inspection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015158553A JP6467316B2 (en) | 2015-08-10 | 2015-08-10 | Flow inspection apparatus, transfer apparatus, and flow inspection method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017038239A JP2017038239A (en) | 2017-02-16 |
JP6467316B2 true JP6467316B2 (en) | 2019-02-13 |
Family
ID=58047974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015158553A Active JP6467316B2 (en) | 2015-08-10 | 2015-08-10 | Flow inspection apparatus, transfer apparatus, and flow inspection method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6467316B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021182689A (en) | 2020-05-19 | 2021-11-25 | 富士通株式会社 | Switch identification method and switch identification program |
CN115208781A (en) * | 2021-03-24 | 2022-10-18 | 华为技术有限公司 | Transmission method, device and system for detection message |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8964569B2 (en) * | 2011-07-04 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Generic monitoring packet handling mechanism for OpenFlow 1.1 |
US8964563B2 (en) * | 2011-07-08 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Controller driven OAM for OpenFlow |
JP6101573B2 (en) * | 2013-06-03 | 2017-03-22 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Packet transfer apparatus, inspection method, and program |
-
2015
- 2015-08-10 JP JP2015158553A patent/JP6467316B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017038239A (en) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10484206B2 (en) | Path detection method in VxLAN, controller, and network device | |
US7889748B1 (en) | Mapping a port on a packet switch appliance | |
CN112866075B (en) | In-band network telemetering method, system and related device for Overlay network | |
CN106233673B (en) | Device and method for network service insertion | |
CN105122748B (en) | Realize the sensitive method and system collected of dialogue of link aggregation group | |
CN106487719A (en) | The system and method making network function externalizing via packet relaying | |
EP3355534A1 (en) | Tracing network packets at a managed forwarding element | |
US10355971B2 (en) | System and method for data path validation and verification | |
CN105939297B (en) | A kind of TCP message recombination method and device | |
JP2007259069A (en) | Switch apparatus | |
CN105794158B (en) | For handling the method and system of Internet Protocol packet | |
CN106789625A (en) | A kind of loop detecting method and device | |
US10623278B2 (en) | Reactive mechanism for in-situ operation, administration, and maintenance traffic | |
CN105743687B (en) | Method and device for judging node fault | |
CN104639390B (en) | The test method and device of system | |
US20140156867A1 (en) | Offload processing interface | |
JP2018093358A (en) | System, method and program for route search | |
JP6467316B2 (en) | Flow inspection apparatus, transfer apparatus, and flow inspection method | |
WO2018232910A1 (en) | Method and system for determining data transmission routes between internet of things devices | |
JP2014236388A (en) | Packet transfer device, inspection control device, inspection method, inspection control method and program | |
WO2022222479A1 (en) | Network detection method and apparatus, and device and storage medium | |
JP6247239B2 (en) | Network verification system, network verification method, flow inspection apparatus, and program | |
JP5402304B2 (en) | Diagnostic program, diagnostic device, and diagnostic method | |
JP6467277B2 (en) | Network inspection system, flow inspection apparatus, transfer apparatus, network inspection method, flow inspection method, and flow inspection program | |
CN107241236A (en) | Forwarding information storehouse list item detection method, detection device and the network equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180912 |
|
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: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6467316 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |