(57)【要約】      （修正有）【課題】転送装置内に設定されているフローエントリー情報を収集できるネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラムを提供する。【解決手段】転送装置内のフローテーブル２０２は、パケットのマッチ条件に応じた処理が記載されたアクションフィールドを持つテーブルを有する。マッチ条件とその処理で転送ルール２０４が構成され、転送ルールごとにＩＤが付与される。転送装置が試験パケットを送信するとき、転送ルールのＩＤをメタデータに書き込むように変更することで、転送装置内のフローテーブルに設定されているフローエントリー情報を収集することができる。収集したフローエントリー情報とフロー検査装置１００が保管しているフローエントリー情報とを比較することで設定作成や設定検証、障害発生時の障害箇所特定等が可能になる。【選択図】図１
2016152470.tif 000002
【特許請求の範囲】
【請求項１】
仮想ネットワークを構成する少なくとも１台の転送装置と、前記仮想ネットワークの正常性を検証するフロー検査装置と、を備えるネットワーク検証システムであって、
前記転送装置は、
パケットのマッチ条件、前記マッチ条件に合致した場合に実施するアクションを記した転送ルール、及び前記転送ルールの情報である転送ルールＩＤが設定されたフローテーブルを有し、
前記フロー検査装置は、
前記転送装置の前記フローテーブルに設定されている前記転送ルール及び前記転送ルールＩＤを保管するフロー情報管理部と、
所望の前記マッチ条件に合致するヘッダー情報を持つ試験パケットを生成し、前記転送装置へ送信する試験パケット生成部と、
前記転送装置からの試験結果を受信する試験結果受信部と、
前記試験パケットを送信する前に、前記転送装置の前記フローテーブルに設定されている前記転送ルールを、
受信したパケットが前記試験パケットであるか否かを判断する試験パケット判定機能
、
前記試験パケットのマッチ条件に
合致する前記転送ルールの前記転送ルールＩＤをメタデータに書き込むフロー情報格納
処理機能、及び
受信したパケットが前記試験パケットである場合に前記メタデータに書き込まれてい
る前記転送ルールＩＤを前記試験パケットとともに前記試験結果として前記試験結果受
信部へ送信し、さらに前記転送ルールに他の転送装置への転送又は廃棄が設定されてい
る場合は前記試験パケットを転送又は廃棄する転送先判定機能、
を有するルールへ変換するフローテーブル変換部と、
前記試験結果受信部が受信した前記試験結果の前記試験パケットの識別情報に基づいて前記フロー情報管理部から前記所望のマッチ条件に対する前記転送ルールを検出し、該転送ルールと前記試験結果受信部が受信した前記試験結果の前記転送ルールとを比較して前記仮想ネットワークの正常性を検証する試験結果判定部と、
を有することを特徴とするネットワーク検証システム。
【請求項２】
前記試験パケット生成部は、
ユーザパケットに用いられる前記転送ルールのマッチ条件と異なるプロトコルで前記試験パケットをカプセル化することを特徴とする請求項１に記載のネットワーク検証システム。
【請求項３】
前記試験パケット判定機能は、
受信したパケットが前記試験パケットである場合に試験パケット判定フラグとして前記メタデータ内の特定の１ビットに記録し、
前記転送先判定機能は、
前記メタデータの前記試験パケット判定フラグで処理するパケットが試験パケットであることを認識する
ことを特徴とする請求項１又は２に記載のネットワーク検証システム。
【請求項４】
前記フロー情報格納処理機能は、前記メタデータを各テーブル用の区画に区切り、各テーブルでの前記転送ルールＩＤをそれぞれの前記区画に記載することを特徴とする請求項１から３のいずれかに記載のネットワーク検証システム。
【請求項５】
少なくとも１台の転送装置で構成された仮想ネットワークの正常性を検証するネットワーク検証方法であって、
前記転送装置のフローテーブルに、パケットのマッチ条件、前記マッチ条件に合致した場合に実施するアクションを記した転送ルール、及び前記転送ルールの情報である転送ルールＩＤを設定するフローテーブル設定手順と、
前記転送装置の前記フローテーブルに設定されている前記転送ルール及び前記転送ルールＩＤをフロー情報管理部に保管するフロー情報管理手順と、
所望の前記マッチ条件に合致するヘッダー情報を持つ試験パケットを生成し、前記転送装置へ送信する試験パケット生成手順と、
前記試験パケットを送信する前に、前記転送装置の前記フローテーブルに設定されている前記転送ルールを、
受信したパケットが前記試験パケットであるか否かを判断する試験パケット判定機能
、
前記試験パケットのマッチ条件に合致する前記転送ルールの前記転送ルールＩＤをメ
タデータに書き込むフロー情報格納処理機能、及び
受信したパケットが前記試験パケットである場合に前記メタデータに書き込まれてい
る前記転送ルールＩＤを前記試験パケットとともに試験結果として送信し、さらに前記
転送ルールに他の転送装置への転送又は廃棄が設定されている場合は前記試験パケット
を転送又は廃棄する転送先判定機能、
を有するルールへ変換するフローテーブル変換手順と、
前記転送装置からの前記試験結果を受信し、前記試験結果の前記試験パケットの識別情報に基づいて前記フロー情報管理部から前記所望のマッチ条件に対する前記転送ルールを検出し、該転送ルールと受信した前記試験結果の前記転送ルールとを比較して前記仮想ネットワークの正常性を検証する試験結果判定手順と、
を行うことを特徴とするネットワーク検証方法。
【請求項６】
パケットのマッチ条件、前記マッチ条件に合致したアクションを記した転送ルール、及び前記転送ルールの情報である転送ルールＩＤが設定されたフローテーブルを有する、少なくとも１台の転送装置で構成される仮想ネットワークの正常性を検証するフロー検査装置であって、
前記転送装置の前記フローテーブルに設定されている前記転送ルール及び前記転送ルールＩＤを保管するフロー情報管理部と、
所望の前記マッチ条件に合致するヘッダー情報を持つ試験パケットを生成し、前記転送装置へ送信する試験パケット生成部と、
前記転送装置からの試験結果を受信する試験結果受信部と、
前記試験パケットを送信する前に、前記転送装置の前記フローテーブルに設定されている前記転送ルールを、
受信したパケットが前記試験パケットであるか否かを判断する試験パケット判定機能
、
前記試験パケットのマッチ条件に合致する前記転送ルールの前記転送ルールＩＤをメ
タデータに書き込むフロー情報格納処理機能、及び
受信したパケットが前記試験パケットである場合に前記メタデータに書き込まれてい
る前記転送ルールＩＤを前記試験パケットとともに前記試験結果として前記試験結果受
信部へ送信し、さらに前記転送ルールに他の転送装置への転送又は廃棄が設定されてい
る場合は前記試験パケットを転送又は廃棄する転送先判定機能、
を有するルールへ変換するフローテーブル変換部と、
前記試験結果受信部が受信した前記試験結果の前記試験パケットの識別情報に基づいて前記フロー情報管理部から前記所望のマッチ条件に対する前記転送ルールを検出し、該転送ルールと前記試験結果受信部が受信した前記試験結果の前記転送ルールとを比較して前記仮想ネットワークの正常性を検証する試験結果判定部と、
を有することを特徴とするフロー検査装置。
【請求項７】
コンピュータを請求項６に記載のフロー検査装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットのヘッダ情報、入力ポート、出力ポート及び出力ヘッダ情報の組み合わせで転送規則が決定されるフローベースのネットワークにおける、転送装置の動作及び転送装置に設定された転送ルールを検査するネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラムに関する。
【背景技術】
【０００２】
ＳＤＮ（Ｓｏｆｔｗａｒｅ−Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ）を実現するための代表的なプロトコルの１つにＯｐｅｎＦｌｏｗがある。ＯｐｅｎＦｌｏｗはデータ転送制御機能部をデータ転送機能部と分離し、その間に統一的でオープンなインタフェースを規定する事により、データ転送機能の柔軟な制御を実現する。ＯｐｅｎＦｌｏｗは通信をエンドツーエンドの“フロー”として捉え、フロー単位で経路制御を行う。
【０００３】
ＯｐｅｎＦｌｏｗはＯＳＩ参照モデルで規定された各レイヤの宛先アドレスに従ってパケット転送を行うのではなく、複数のレイヤに跨がる情報の組み合わせで構成されたマッチ条件に一致したヘッダ情報を持つパケットに対して、指定したアクションを実施し転送を行う。このマッチ条件とアクションの組み合わせを“フローエントリ”と呼ぶ。フローエントリには、マッチフィールド、とアクションフィールドに加えて、カウンタと呼ばれるフロー毎の統計情報が付加される。
【０００４】
上記ＯｐｅｎＦｌｏｗに代表されるフローベースのパケット処理を行うＳＤＮノードにより構成されたネットワークの正常性を検査するためには、検査したいフローエントリにマッチするヘッダ情報を持つ試験パケットを送信して、相手先ＳＤＮノードへの到着確認、経由したＳＤＮノード情報の取得、各ＳＤＮノード内でマッチしたフローエントリ情報の取得を行う必要がある。なお、以下の説明では、「ＳＤＮノード」を「転送装置」と記載することがある。
【０００５】
従来、ネットワーク装置の動作や各装置間の到達性を確認し、ネットワークの正常性を検査するために、Ｅｔｈｅｒｎｅｔ（登録商標）  ＯＡＭやＩＣＭＰプロトコルを利用したｐｉｎｇやｔｒａｃｅｒｏｕｔｅ等が用いられてきた。しかし、ＳＤＮノードにより形成された仮想ネットワーク内でＥｔｈｅｒｎｅｔ（登録商標）  ＯＡＭやｐｉｎｇ、ｔｒａｃｅｒｏｕｔｅ等を利用したとしても、各ツールと同じマッチ条件を持つ特定のフローエントリを検査する事しかできず、マッチ条件に異なる条件（異なるＩＰプロトコル番号等）が含まれるフローエントリの正常性を検査する事はできない。
【０００６】
従来の研究では、仮想ネットワーク上を流れるユーザパケットを疑似した試験パケットとＯｐｅｎＦｌｏｗコントローラのような制御装置への問い合わせ処理（Ｐａｃｋｅｔ−Ｉｎ）を活用する事により、上記課題に対応する方法が提案されている（例えば、非特許文献１、２を参照。）。
【０００７】
非特許文献１では、試験パケットのＴＴＬ減算処理及びＴＴＬ  ＩｎｖａｌｉｄによるＰａｃｋｅｔ−Ｉｎを活用する事により、指定したＳＤＮノード間の疎通確認と経路情報の取得を可能とする手法を提案している。
【０００８】
非特許文献１ではまず、試験パケットとしてＵＤＰパケット（他のＬ４プロトコルがＯｐｅｎＦｌｏｗスイッチのフローテーブル内で使用されている場合はそれを利用する）を生成し、検査対象フローエントリにマッチするヘッダ情報を設定する。この時、マッチ条件に用いられていないヘッダフィールドに試験パケットを識別するための値を格納する。ＴＴＬ領域には２（経路確認の場合は、宛先までのホップ数）を、ペイロード部には検査したい経路情報（送信元ＳＤＮノードや宛先ＳＤＮノードを識別可能な情報）を格納し、Ｐａｃｋｅｔ−Ｏｕｔする。これにより、任意のパケットの到達性と経路情報を取得する事が可能となる。
【０００９】
非特許文献２では、各ＳＤＮノードにタグ付けを行う事により試験パケットとユーザパケットを区別して処理する事を可能とし、指定したＳＤＮノード間の疎通確認と経路情報の取得を実現している。ＳＤＮノードのタグ付けには、隣接ＳＤＮノードが同一のタグを持たないようグラフ彩色アルゴリズムを活用する。制御装置から検査したいＳＤＮノードに試験パケットを送信する際には、試験パケットのヘッダフィールドに、Ｐａｃｋｅｔ−Ｏｕｔ先のＳＤＮノードを示すタグを挿入する。この時、ＳＤＮノードを示すタグは各フローエントリのマッチ条件に利用されていないヘッダフィールド（ＶＬＡＮ  ｐｒｉｏｒｉｔｙ  ｂｉｔ等）に格納される。Ｐａｃｋｅｔ−Ｏｕｔにより試験パケットを受け取ったＳＤＮノードは、パケットがマッチするフローエントリに従って試験パケットを処理する。次に試験パケットを受け取った隣接ＳＤＮノードでは、「自身のタグと異なるタグが格納されているパケットの場合はＰａｃｋｅｔ−Ｉｎを行う」というフローエントリ（これは事前に設定しておく）に基づきＰａｃｋｅｔ−Ｉｎを実施する。このような一連の動作により、任意のパケットの到達情報と経路情報を、制御装置を介して取得する事が可能となる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】大塚純一、近江貴晴、大山誠治、長谷川紗弓、山田洋一、“ＯｐｅｎＦｌｏｗ環境における仮想ネットワーク毎の疎通・経路確認方式の検討”、電子情報通信学会信学技報ＩＣＭ２０１３−６４、ｐｐ．７５−８０、２０１４．
【００１１】
【非特許文献２】Ｋ．Ａｇａｒｗａｌ，Ｅ．Ｒｏｚｎｅｒ，Ｃ．Ｄｉｘｏｎ，ａｎｄ  Ｊ．Ｃａｒｔｅｒ，“ＳＤＮ  ｔｒａｃｅｒｏｕｔｅ：  Ｔｒａｃｉｎｇ  ＳＤＮ  Ｆｏｒｗａｒｄｉｎｇ  ｗｉｔｈｏｕｔ  Ｃｈａｎｇｉｎｇ  Ｎｅｔｗｏｒｋ  Ｂｅｈａｖｉｏｒ”，ＡＣＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｈｏｔ  Ｔｏｐｉｃｓ  ｉｎ  Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ（ＨｏｔＳＤＮ’１４），ｐｐ．１４５−１５０，２０１４．
【発明の概要】
【発明が解決しようとする課題】
【００１２】
非特許文献１や非特許文献２では、試験パケットを実ネットワークに送信する事により、任意のヘッダ情報をもつパケットのＳＤＮノード間の疎通確認と経路情報の取得を実現している。しかし、仮想ネットワークを管理するためには、先に述べた通り、これらの情報に加えて各ＳＤＮノード内でパケットがマッチしたフローエントリ情報を取得する事が必要となる。これは、主に設定作成や設定検証、障害発生時の障害箇所特定等に用いられる。
【００１３】
そこで、本発明は、上記課題を解決すべく、転送装置内に設定されているフローエントリ情報を収集できるネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明に係るネットワーク検証システムは、所望の転送ルールにマッチするヘッダー情報を持つ試験パケットを転送装置へ送信するとともに、転送装置に対して試験パケットを処理する際に当該転送ルールに合致したフローエントリーの情報を収集させ、処理された試験パケットを回収して分析することとした。
【００１５】
具体的には、本発明に係るネットワーク検証システムは、仮想ネットワークを構成する少なくとも１台の転送装置と、前記仮想ネットワークの正常性を検証するフロー検査装置と、を備えるネットワーク検証システムであって、
前記転送装置は、
パケットのマッチ条件、前記マッチ条件に合致した場合に実施するアクションを記した転送ルール、及び前記転送ルールの情報である転送ルールＩＤが設定されたフローテーブルを有し、
前記フロー検査装置は、
前記転送装置の前記フローテーブルに設定されている前記転送ルール及び前記転送ルールＩＤを保管するフロー情報管理部と、
所望の前記マッチ条件に合致するヘッダー情報を持つ試験パケットを生成し、前記転送装置へ送信する試験パケット生成部と、
前記転送装置からの試験結果を受信する試験結果受信部と、
前記試験パケットを送信する前に、前記転送装置の前記フローテーブルに設定されている前記転送ルールを、
受信したパケットが前記試験パケットであるか否かを判断する試験パケット判定機能
、
前記試験パケットのマッチ条件に合致する前記転送ルールの前記転送ルールＩＤをメ
タデータに書き込むフロー情報格納処理機能、及び
受信したパケットが前記試験パケットである場合に前記メタデータに書き込まれてい
る前記転送ルールＩＤを前記試験パケットとともに前記試験結果として前記試験結果受
信部へ送信し、さらに前記転送ルールに他の転送装置への転送又は廃棄が設定されてい
る場合は前記試験パケットを転送又は廃棄する転送先判定機能、
を有するルールへ変換するフローテーブル変換部と、
前記試験結果受信部が受信した前記試験結果の前記試験パケットの識別情報に基づいて前記フロー情報管理部から前記所望のマッチ条件に対する前記転送ルールを検出し、該転送ルールと前記試験結果受信部が受信した前記試験結果の前記転送ルールとを比較して前記仮想ネットワークの正常性を検証する試験結果判定部と、
を有することを特徴とする。
【００１６】
本発明に係るネットワーク検証方法は、少なくとも１台の転送装置で構成された仮想ネットワークの正常性を検証するネットワーク検証方法であって、
前記転送装置のフローテーブルに、パケットのマッチ条件、前記マッチ条件に合致した場合に実施するアクションを記した転送ルール、及び前記転送ルールの情報である転送ルールＩＤを設定するフローテーブル設定手順と、
前記転送装置の前記フローテーブルに設定されている前記転送ルール及び前記転送ルールＩＤをフロー情報管理部に保管するフロー情報管理手順と、
所望の前記マッチ条件に合致するヘッダー情報を持つ試験パケットを生成し、前記転送装置へ送信する試験パケット生成手順と、
前記試験パケットを送信する前に、前記転送装置の前記フローテーブルに設定されている前記転送ルールを、
受信したパケットが前記試験パケットであるか否かを判断する試験パケット判定機能
、
前記試験パケットのマッチ条件に合致する前記転送ルールの前記転送ルールＩＤをメ
タデータに書き込むフロー情報格納処理機能、及び
受信したパケットが前記試験パケットである場合に前記メタデータに書き込まれてい
る前記転送ルールＩＤを前記試験パケットとともに試験結果として送信し、さらに前記
転送ルールに他の転送装置への転送又は廃棄が設定されている場合は前記試験パケット
を転送又は廃棄する転送先判定機能、
を有するルールへ変換するフローテーブル変換手順と、
前記転送装置からの前記試験結果を受信し、前記試験結果の前記試験パケットの識別情報に基づいて前記フロー情報管理部から前記所望のマッチ条件に対する前記転送ルールを検出し、該転送ルールと受信した前記試験結果の前記転送ルールとを比較して前記仮想ネットワークの正常性を検証する試験結果判定手順と、
を行うことを特徴とする。
【００１７】
本発明に係るフロー検査装置は、パケットのマッチ条件、前記マッチ条件に合致した場合に実施するアクションを記した転送ルール、及び前記転送ルールの情報である転送ルールＩＤが設定されたフローテーブルを有する、少なくとも１台の転送装置で構成される仮想ネットワークの正常性を検証するフロー検査装置であって、
前記転送装置の前記フローテーブルに設定されている前記転送ルール及び前記転送ルールＩＤを保管するフロー情報管理部と、
所望の前記マッチ条件に合致するヘッダー情報を持つ試験パケットを生成し、前記転送装置へ送信する試験パケット生成部と、
前記転送装置からの試験結果を受信する試験結果受信部と、
前記試験パケットを送信する前に、前記転送装置の前記フローテーブルに設定されている前記転送ルールを、
受信したパケットが前記試験パケットであるか否かを判断する試験パケット判定機能
、
前記試験パケットのマッチ条件に合致する前記転送ルールの前記転送ルールＩＤをメ
タデータに書き込むフロー情報格納処理機能、及び
受信したパケットが前記試験パケットである場合に前記メタデータに書き込まれてい
る前記転送ルールＩＤを前記試験パケットとともに前記試験結果として前記試験結果受
信部へ送信し、さらに前記転送ルールに他の転送装置への転送又は廃棄が設定されてい
る場合は前記試験パケットを転送又は廃棄する転送先判定機能、
を有するルールへ変換するフローテーブル変換部と、
前記試験結果受信部が受信した前記試験結果の前記試験パケットの識別情報に基づいて前記フロー情報管理部から前記所望のマッチ条件に対する前記転送ルールを検出し、該転送ルールと前記試験結果受信部が受信した前記試験結果の前記転送ルールとを比較して前記仮想ネットワークの正常性を検証する試験結果判定部と、
を有することを特徴とする。
【００１８】
現在のＯｐｅｎＦｌｏｗの枠組みでは、転送ルールを識別するためのＩＤ等を各転送ルールに付与する機能がない。このため、本発明はすべての転送ルールのアクション部分を利用し、転送ルールＩＤを各転送ルールに設定することとしている。
【００１９】
試験パケットを送信する前に、転送装置内のフローテーブルに設定されているフローエントリー情報としてそのＩＤをメタデータに書き込むように変更しておく。そして、試験パケットを当該転送装置に処理させることで、転送装置内のフローテーブルに設定されているフローエントリー情報を収集することができる。収集したフローエントリー情報とフロー検査装置が保管しているフローエントリー情報とを比較することで設定作成や設定検証、障害発生時の障害箇所特定等が可能になる。
【００２０】
本発明に係るプログラムは、コンピュータを前記フロー検査装置として機能させる。本発明に係るフロー検査装置はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００２１】
従って、本発明は、転送装置内に設定されているフローエントリー情報を収集できるネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラムを提供することができる。
【００２２】
さらに、ＳＤＮノードをネットワークサービスに適用していくためには、様々なユーザトラヒックがネットワーク内に流れている状況下において特定の試験パケットの流れを追跡し、前記情報を取得できる必要がある。
【００２３】
そこで、本発明に係るネットワーク検証システムが備えるフロー検査装置の前記試験パケット生成部は、ユーザパケットに用いられる前記転送ルールのマッチ条件と異なるプロトコルで前記試験パケットをカプセル化することを特徴とする。転送装置は、パケットのヘッダー情報がマッチ条件と一致するかどうかを確認することでユーザパケットか試験パケットかを判断することができる。
【００２４】
さらに、本発明に係るネットワーク検証システムが備えるフロー検査装置の前記試験パケット判定機能は、受信したパケットが前記試験パケットである場合に試験パケット判定フラグとして前記メタデータ内の特定の１ビットに記録し、前記転送先判定機能は、前記メタデータの前記試験パケット判定フラグで処理するパケットが試験パケットであることを認識することを特徴とする。
【００２５】
転送装置のフローテーブルが作業内容が記載されたテーブルを複数持つマルチテーブルである場合もある。この場合、本発明に係るネットワーク検証システムが備えるフロー検査装置の前記フロー情報格納処理機能は、前記メタデータを各テーブル用の区画に区切り、各テーブルでの前記転送ルールＩＤをそれぞれの前記区画に記載することを特徴とする。
【発明の効果】
【００２６】
本発明は、転送装置内に設定されているフローエントリー情報を収集できるネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明に係るネットワーク検証システムの構成を説明する図である。
【図２】本発明に係るネットワーク検証システムの構成を説明する図である。
【図３】本発明に係るネットワーク検証システムの構成を説明する図である。
【図４】本発明に係るネットワーク検証システムの構成を説明する図である。
【図５】本発明に係るネットワーク検証システムの構成を説明する図である。
【図６】本発明に係るネットワーク検証方法を説明するフローチャートである。
【図７】本発明に係るネットワーク検証システムの動作を説明する図である。
【図８】本発明に係るネットワーク検証システムの動作を説明する図である。
【図９】本発明に係るネットワーク検証システムの動作を説明する図である。
【図１０】本発明に係るネットワーク検証システムの動作を説明する図である。
【図１１】本発明に係るネットワーク検証システムの動作を説明する図である。
【図１２】本発明に係るネットワーク検証システムの動作を説明する図である。
【図１３】本発明に係るネットワーク検証システムの動作を説明する図である。
【図１４】本発明に係るネットワーク検証システムで使用するメタデータを説明する図である。
【図１５】本発明に係るネットワーク検証システムで使用するメタデータを説明する図である。
【図１６】本発明に係るフロー検査装置が転送装置のフローテーブルを変換する手法を説明する図である。
【発明を実施するための形態】
【００２８】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施形態であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００２９】
本発明は、試験パケットが各ＳＤＮノード内でマッチしたフローエントリ（以下、転送ルールとする）の情報を取得するネットワーク検証システムである。本ネットワーク検証システムは、仮想ネットワークを構成する少なくとも１台の転送装置と、前記仮想ネットワークの正常性を検証するフロー検査装置と、を備えるネットワーク検証システムであって、
前記転送装置は、
パケットのマッチ条件、前記マッチ条件に合致した場合に実施するアクションを記した転送ルール、及び前記転送ルールの情報である転送ルールＩＤが設定されたフローテーブルを有し、
前記フロー検査装置は、
前記転送装置の前記フローテーブルに設定されている前記転送ルール及び前記転送ルールＩＤを保管するフロー情報管理部と、
所望の前記マッチ条件に合致するヘッダー情報を持つ試験パケットを生成し、前記転送装置へ送信する試験パケット生成部と、
前記転送装置からの試験結果を受信する試験結果受信部と、
前記試験パケットを送信する前に、前記転送装置の前記フローテーブルに設定されている前記転送ルールを、
受信したパケットが前記試験パケットであるか否かを判断する試験パケット判定機能
、
前記試験パケットのマッチ条件に
合致する前記転送ルールの前記転送ルールＩＤをメタデータに書き込むフロー情報格納
処理機能、及び
受信したパケットが前記試験パケットである場合に前記メタデータに書き込まれてい
る前記転送ルールＩＤを前記試験パケットとともに前記試験結果として前記試験結果受
信部へ送信し、さらに前記転送ルールに他の転送装置への転送又は廃棄が設定されてい
る場合は前記試験パケットを転送又は廃棄する転送先判定機能、
を有するルールへ変換するフローテーブル変換部と、
前記試験結果受信部が受信した前記試験結果の前記試験パケットの識別情報に基づいて前記フロー情報管理部から前記所望のマッチ条件に対する前記転送ルールを検出し、該転送ルールと前記試験結果受信部が受信した前記試験結果の前記転送ルールとを比較して前記仮想ネットワークの正常性を検証する試験結果判定部と、
を有することを特徴とする。
【００３０】
フロー検査装置は、主に転送装置内のフローテーブルの管理とユーザパケットを疑似した試験パケットの生成及び送信、試験結果の受信と判定を行う機能部である。フローテーブル変換部は、転送装置内のフローテーブルに試験パケットの判別機能と、試験パケットがマッチした転送ルール情報の取得機能を埋め込むために、フローテーブル内の転送ルールに変更を行う機能部である。試験パケットの判別は、転送用ルール群の前後にテストパケット識別用のフローテーブルをそれぞれ１つずつ用意する事で実現する。試験パケットがマッチした転送ルール情報の取得は、各転送ルールのアクションフィールドの変更と、ＳＤＮノード内において各パケットの処理情報を格納可能なメタデータを利用する事により実現する。
【００３１】
図１から図５は、このようなネットワーク検証システムを実現する構成を説明する図である。
【００３２】
図１に示した機能接続構成３０１では、フロー検査装置１００内部に制御装置１を設け、試験パケットの送信と試験結果の受信に制御装置１を利用する。これは、ＯｐｅｎＦｌｏｗのＰａｃｋｅｔ−ＩｎとＰａｃｋｅｔ−Ｏｕｔの機能を利用する事により、実現可能である。
【００３３】
図２に示した機能接続構成３０２では、制御装置１とフローテーブル変換部２をフロー検査装置１００から切り離し、試験パケット送信部１０５と試験結果受信部１０４を設ける事により、フロー検査装置１００が試験パケットの送信と試験結果の受信を担う。また、フローテーブル変換部２を制御装置１の上段に設置し、制御装置から転送装置に投入される転送ルール（フローテーブル）に対して、事前に変更を加える。そのため、本発明の試験機能が導入された状態のフローテーブル２０２が制御装置１より転送装置２００に設定される。
【００３４】
図３に示した機能接続構成３０３では、フローテーブル変換部２を制御装置１の下段に設置し、制御装置１から送信されたフローテーブルへの設定内容をフローテーブル変換部２で受信し、本発明を適用する変換を行った後、転送装置２００へ設定する。フローテーブル変換部２が制御装置１と転送装置２００の間に入る場合には、転送装置２００はフローテーブル変換部を制御装置と見なす仕組みが必要となり、さらに、制御装置１も、フローテーブル変換部２を転送装置２００と見なして設定情報等を送信する事が求められる。
【００３５】
図４に示した機能接続構成３０４及び図５に示した機能接続構成３０５では、試験パケット生成装置２５０を新たに設け、試験パケット生成部１０２と試験パケット送信部１０５をフロー検査装置１００と切り離す。
【００３６】
以下に、それぞれの機能接続構成のネットワーク検証システムについて説明する。
【００３７】
（実施形態１）
本実施形態のネットワーク検証システムは図１の機能接続構成３０１である。
フロー検査装置１００は、試験結果判定部１０１、試験パケット生成部１０２、フロー情報管理部１０３、試験結果受信部１０４、フローテーブル変換部２、及び制御装置１を備える。
【００３８】
試験結果判定部１０１は、受信した試験結果のペイロードに付加されている試験パケット識別情報から、試験パケットと試験結果の対応付けを行う。試験結果判定部１０１は、フロー情報管理部１０３に保存されている転送ルール群から試験結果に記された転送ルールＩＤに一致する転送ルールを呼び出す。
【００３９】
試験パケット生成部１０２は、フロー情報管理部１０３から得た検査対象転送装置２００のフローテーブルの情報を元に試験したい転送ルールにマッチするヘッダ情報を持つ試験パケットを生成する。ＳＤＮノード内で試験パケットをユーザパケットと区別して処理するために、試験パケット生成部１０２は、試験パケットは全ての転送装置２００内でマッチ条件に用いられていないプロトコルを用いてカプセル化し、試験パケットを一意に識別するための識別情報を付加する。
【００４０】
フロー情報管理部１０３は、各転送装置２００に設定されている転送ルールと、転送ルールＩＤの対応付けと、試験パケットに付加する試験パケット識別子を保存する。
【００４１】
フローテーブル変換部２は、制御装置１から転送装置２００内のフローテーブル２０２に設定予定の転送ルールを試験パケット判定部２０３、フロー情報格納処理部２０４、転送先判定部２０５の３つの要素で構成されるように変換を行い、制御装置１へ送信する。
【００４２】
制御装置１は、転送装置２００のフローテーブル２０２への転送ルールの設定や、試験パケットの送信及び試験結果の受信、転送装置２００との制御情報のやり取りを行う。
【００４３】
試験結果受信部１０４は、試験結果（転送装置２００内でマッチした転送ルールのＩＤ）を試験対象の転送装置２００から、制御装置１を介して受信する。
【００４４】
転送装置２００（ＳＤＮノード）は、受信部２０１、フローテーブル２０２、及び送信部２０６を備える。
【００４５】
受信部２０１は、他の転送装置からのパケット及びフロー検査装置１００からの試験パケットと制御情報を受信する。
【００４６】
送信部２０６は、他の転送装置へのパケット及びフロー検査装置１００への試験パケットとメタデータの情報を送信する。
【００４７】
フローテーブル２０２は、パケットのマッチ条件に応じた処理が記載されたアクションフィールドを持つテーブルを有する。マッチ条件とその処理で転送ルールが構成され、転送ルールごとにＩＤが付与される。また、テーブルは１つでもよいし、テーブルが複数存在するマルチテーブルであってもよい。フローテーブル２０２は、フロー検査装置１００からの制御信号に基づき転送ルールを、試験パケット判定部２０３、フロー情報格納処理部２０４、及び転送先判定部２０５に変換する。図１６は、フロー検査装置１００からの制御信号に基づき転送ルールを変更した例である。図１６（Ａ）は転送ルール変更前の状態である。フローテーブルにはテーブルは１つだけ存在し、処理内容“ｓｒｃ＿ｍａｃ＝０１：２３：４５：６７：８９：ＡＢ，，  ａｃｔｉｏｎｓ＝ｏｕｔｐｕｔ：２”が記載される。図１６（Ｂ）は転送ルール変更後の状態である。フローテーブルにはテーブルが３つ（ｔａｂｌｅ＿ｉｄ＝０、ｔａｂｌｅ＿ｉｄ＝１、及びｔａｂｌｅ＿ｉｄ＝２）形成される。
【００４８】
ｔａｂｌｅ＿ｉｄ＝０のテーブルが試験パケット判定部２０３に相当する。ｔａｂｌｅ＿ｉｄ＝０のテーブルには、受信パケットが試験パケット（ｍｐｌｓ＿ｌａｂｅｌ＝１００）ならば記載データ“０ｘ８０００００”のメタデータを作成し、メタデータの特定ビットに試験パケットを識別するフラグを書き込み、カプセル化を解除（ｐｏｐ＿ｍｐｌｓ）する命令がある。試験パケットは、この処理を経ることで次のテーブルへ移行した時には他のユーザパケットと同じ状態となっており同じ転送ルールで処理されることになる。
ｔａｂｌｅ＿ｉｄ＝１のテーブルがフロー情報格納処理部２０４に相当する。ｔａｂｌｅ＿ｉｄ＝１のテーブルには、パケット種別に関わらずメタデータにこの転送ルールのＩＤ“０ｘ０００００１”を記載し、処理内容（ｏｕｔｐｕｔ：２）をスタックに保存（ｗｒｉｔｅ＿ａｃｔｉｏｓ  ｏｕｔｐｕｔ：２）する命令がある。
ｔａｂｌｅ＿ｉｄ＝２のテーブルが転送先判定部２０５に相当する。ｔａｂｌｅ＿ｉｄ＝２のテーブルには、メタデータの内容を確認（前記フラグの確認）してパケットが試験パケットであるか否かを判断し、試験パケットであるならばメタデータの内容を含めて試験パケットをカプセル化し（“ｐｕｓｈ＿ｍｐｌｓ”）、フロー検査装置へ転送（“ｏｕｔｐｕｔ：３”）するとともにスタックされた通常処理（ｏｕｔｐｕｔ：２）を行う命令（ａｐｐｌｙ−ａｃｔｉｏｎｓ）がある。また、パケットがユーザパケットであるならば、指定された転送ルールを実行する命令（ａｐｐｌｙ＿ａｃｔｉｏｎｓ）もある。
【００４９】
試験パケット判定部２０３は、転送装置２００で受信したパケットが試験パケットであるかどうかを判定する。試験パケットであればカプセル化されているため、カプセル化を解除し、ユーザパケットと同じ状態にする。更に、試験パケット判定部２０３は、転送装置２００内で各パケットの処理情報を格納可能なメタデータ内の１ビットを試験パケット判定フラグとして利用し、試験パケット処理中である事を記録する（値を１に設定する）。図１４は、メタデータ内の１ビットを試験パケット判定フラグとして利用する例を示した図である。
【００５０】
フロー情報格納処理部２０４は、事前に制御装置１からの設定によって転送ルールのアクションフィールドに変更を加えておき、試験パケットがマッチした転送ルールのＩＤをメタデータに格納する。
【００５１】
転送先判定部２０５は、全てのパケットは転送（または破棄）処理が実施される前に必ず転送先判定部を通過する。転送先判定部２０５は、メタデータの試験パケット判定フラグを参照し、現在処理しているパケットが試験パケットであるかどうかを判断する。試験パケットの場合、転送先判定部２０５は、再度カプセル化し、マッチした転送ルールのＩＤが格納されたメタデータの情報と共にフロー検査装置１００に向けて送信する。更に、転送先判定部２０５は、次の転送装置２００に向けて同じ試験パケットを送信する。一方、ユーザパケットの場合、転送先判定部２０５は、アクションフィールドに記された通りに転送（または破棄）処理を実施する。
【００５２】
次に、図１のネットワーク検証システムの動作を説明する。図６は、転送装置のフローテーブル２０２が設定された後のパケット処理を説明したフローチャートである。また、図７から図１３に試験パケットの流れを説明する図を示す。図７から図１３は、機能接続構成３０１において監視区間である転送装置２００−１から転送装置２００−３に向けて試験パケットを送信する場合を説明した図である。
【００５３】
まず始めに、転送装置２００に転送ルールを設定する前に、フロー検査装置１００のフローテーブル変換部２は、転送装置２００のフローテーブル２０２に設定予定の転送ルールを試験パケット判定部２０３、フロー情報格納処理部２０４、及び転送先判定部２０５で構成される形に変換し、制御装置１を介して各転送装置に設定しておく。
【００５４】
次に、ネットワーク管理者からの要求を契機に、フロー情報管理部１０３が持つ管理情報を元に試験パケット生成部１０２で試験パケットが生成され、制御装置１から最初の宛先である転送装置２００に送信される（図７）。この時、試験パケットのヘッダ部分には、試験したい転送ルール群にマッチするヘッダ情報が格納される。更に、試験パケットは全てのＳＤＮノードのフローテーブル２０２内でマッチ条件に用いられていないプロトコルを利用してカプセル化される。これは、試験パケットとユーザパケットを区別して認識しつつ、同じ転送ルールにマッチさせるためである。
【００５５】
転送装置２００で受信された試験パケットは、まず、試験パケット判定部２０３で処理が行われる（図８）。試験パケット判定部２０３では、受信したパケットが指定したプロトコルでカプセル化されているかどうかを判断し、カプセル化されていれば試験パケットと見なす。試験パケットの場合は、カプセル化を解除し、転送装置２００内で各パケットの処理情報を格納可能なメタデータ内に設けた試験パケット判定フラグを１に設定する。ここで、メタデータは転送装置２００の内部でのみ利用可能であり、その値はパケットに直接格納する事はできない。
【００５６】
次に、試験パケットはフロー情報格納処理部２０４で処理される。フロー情報格納処理部２０４には転送ルールが格納されており、試験パケットはユーザパケットと同様に転送ルールに沿って処理される。フロー情報格納処理部２０４では、試験パケットがマッチした転送ルールのＩＤを取得するために、事前に各転送ルールのアクションフィールドに変更を加え、メタデータに転送ルールＩＤを書き込むアクションを追加しておく。このアクションはフローテーブル変換部２からの指示で追加される。転送ルールが複数テーブルに及ぶ場合は、メタデータを分割しマスク処理する事により全てのテーブルでマッチした転送ルールの情報を格納する。図１５は、転送用ルールがマルチテーブルでありメタデータをテーブルの合計数に区切って、各区画をテーブル毎に割り当てた例を説明する図である。
【００５７】
最後に、試験パケットは転送先判定部２０５で処理される。転送先判定部２０５はメタデータ内の試験パケット判定フラグを参照し、値が１であるかどうかを確認する。試験パケット判定フラグが１の場合は試験パケットであるとして、転送先判定部２０５はマッチした転送ルールのＩＤを格納したメタデータと処理された試験パケットをフロー検査装置１００へ送信する。さらに、転送先判定部２０５は再び試験パケットをカプセル化して、アクション（転送または破棄）を実行する。試験パケット判定フラグが０の場合は、ユーザパケットであるとして、転送先判定部２０５は何も処理せずアクション（転送又は廃棄）を実行する。
【００５８】
試験パケットとメタデータを取得した制御装置１は試験結果受信部１０４にこれらを送信する。試験結果受信部１０４はさらに試験結果判定部１０１に受信した試験結果を送信し、受信した試験結果のペイロードに付加されている試験パケット識別情報から試験パケットと試験結果の対応付けを行い、メタデータ内の転送ルールＩＤから転送ルールを導き出す。そして、試験結果受信部１０４で試験結果を受け取った後, 試験結果判定部１０１で監視区間の正常性を判断する。例えば、試験結果判定部１０１は、試験パケットの識別情報に基づいてフロー情報管理部１０３から当該試験パケットのマッチ条件に対する転送ルールのＩＤを検出し、該転送ルールと試験パケットとともに受信した転送ルールのＩＤとを比較する。そして、両者が同じＩＤであれば監視区間は正常であると判断し、互いに異なるＩＤであれば監視区間の異常（設定異常や障害発生等）と判断する。
【００５９】
図１６に記載した転送ルールに基づいて本ネットワーク検証システムの動作を具体的に説明する。
（１）フロー検査装置１００から「ｍｐｌｓラベルが１００番で、かつｍａｃアドレス０１：２３：４５：６７：８９：ＡＢ」という試験パケットを送信する。
（２）前述のように、転送装置２００には、試験パケット判定部２０３、フロー情報格納処理部２０４、及び転送先判定部２０５として「ｍａｃアドレス０１：２３：４５：６７：８９：ＡＢからのパケットはメタデータに転送ルールＩＤ（０ｘ０００００１）を記録し、“２”へ出力するアクションをスタックに保存（ｗｒｉｔｅ＿ａｃｔｉｏｎｓ  ｏｕｔｐｕｔ：２）し、ｔａｂｌｅ＿ｉｄ＝２へ遷移（ｇｏｔｏ＿ｔａｂｌｅ：２）」という転送ルールがあらかじめ設定されている。このため、試験パケット判定部２０３（ｔａｂｌｅ＿ｉｄ＝０）で試験パケットと判定されたパケットは、ｔａｂｌｅ＿ｉｄ＝１でメタデータに転送ルールＩＤ（０ｘ０００００１）を記載し、ｔａｂｌｅ＿ｉｄ＝２で試験パケットをフロー検査装置へ返送（ｏｕｔｐｕｔ：３）し、スタックされたアクション「“２”へ転送（ｏｕｔｐｕｔ：２）」を実行する。
（３）フロー検査装置１００では返送されてきた試験パケットに付属する転送ルールＩＤに基づいてフロー情報管理部１０３が保管する転送ルールを検出し、投入した試験パケットのペイロード部分に事前に格納しておいた試験パケット識別情報に基づいて送信した試験パケット情報を取得し、試験パケットがマッチすべき転送ルール群（フロー情報管理部１０３で保持）と、実際にマッチした転送ルール群が同一であるかを比較する。
【００６０】
（実施形態２）
本実施形態のネットワーク検証システムは図２の機能接続構成３０２である。
機能接続構成３０２は、図１の機能接続構成３０１と異なり、フローテーブル変換部２、及び制御装置１がフロー検査装置１００の外部に配置される。
【００６１】
制御装置１は、転送装置２００のフローテーブル２０２への転送ルールの設定を行う。
【００６２】
フローテーブル変換部２は、フローテーブル２０２に設定予定の転送ルールを試験パケット判定部２０３、フロー情報格納処理部２０４、転送先判定部２０５の３つの要素で構成されるように変換し、制御装置１へ送信する。
【００６３】
フロー検査装置１００は、試験結果判定部１０１、試験パケット生成部１０２、フロー情報管理部１０３、試験結果受信部１０４、及び試験パケット送信部１０５を備える。
【００６４】
試験結果判定部１０１は、受信した試験結果のペイロードに付加されている試験パケット識別情報から、試験パケットと試験結果の対応付けを行う。試験結果判定部１０１は、フロー情報管理部１０３に保存されている転送ルール群から試験結果に記された転送ルールＩＤに一致する転送ルールを呼び出す。
【００６５】
試験パケット生成部１０２は、フロー情報管理部１０３から得た検査対象転送装置２００のフローテーブル２０２を元に試験したい転送ルールにマッチするヘッダ情報を持つ試験パケットを生成する。転送装置２００で試験パケットをユーザパケットと区別して処理するために、試験パケット生成部１０２では、試験パケットは全ての転送装置２００内でマッチ条件に用いられていないプロトコルを用いてカプセル化し、試験パケットを一意に識別するための識別情報を付加する。
【００６６】
フロー情報管理部１０３は、各転送装置２００に設定されている転送ルールと、転送ルールＩＤの対応付けと、試験パケットに付加する試験パケット識別子を保存する。
【００６７】
試験パケット送信部１０５は、試験パケット生成部１０２で生成された試験パケットを試験対象の転送装置２００へ送信する。
【００６８】
試験結果受信部１０４は、試験結果（転送装置２００内でマッチした転送ルールのＩＤを含む試験パケット）を試験対象の転送装置２００から受信する。
【００６９】
転送装置２００（ＳＤＮノード）は、実施形態１で説明した転送装置２００と同じである。
【００７０】
次に、図２のネットワーク検証システムの動作を説明する。転送装置のフローテーブル２０２が設定された後のパケット処理は、実施形態１で説明した図６のフローチャートと同じである。また、試験パケットの流れも実施形態１で説明した図７から図１３の説明とほぼ同じである。
【００７１】
まず始めに、転送装置２００に転送ルールを設定する前に、フローテーブル変換部２は、転送装置２００のフローテーブル２０２に設定予定の転送ルールを試験パケット判定部２０３、フロー情報格納処理部２０４、転送先判定部２０５により構成される形に変換し、制御装置１を介して各転送装置２００に設定しておく。
【００７２】
次に、ネットワーク管理者からの要求を契機に、フロー情報管理部１０３における管理情報を元に試験パケット生成部１０２で試験パケットが生成され、試験パケット送信部１０５から最初の宛先である転送装置２００に送信される（図７参照）。この時、試験パケットのヘッダ部分には、試験したい転送ルール群にマッチするヘッダ情報が格納される。更に、試験パケットは全ての転送装置２００のフローテーブル２０２内でマッチ条件に用いられていないプロトコルを利用してカプセル化される。これは、試験パケットとユーザパケットを区別して認識しつつ、同じ転送ルールにマッチさせるためである。
【００７３】
転送装置２００で受信された試験パケットは、まず、試験パケット判定部２０３で処理が行われる（図８参照。）。試験パケット判定部２０３では、受信したパケットが指定したプロトコルでカプセル化されているかどうかを判断し、カプセル化されていれば試験パケットと見なす。試験パケットの場合は、カプセル化を解除し、転送装置２００内で各パケットの処理情報を格納可能なメタデータ内に設けた試験パケット判定フラグを１に設定する。
【００７４】
次に、試験パケットはフロー情報格納処理部２０４で処理される。フロー情報格納処理部２０４には転送ルールが格納されており、試験パケットはユーザパケットと同様に転送ルールに沿って処理される。フロー情報格納処理部２０４では、試験パケットがマッチした転送ルールのＩＤを取得するために、事前に各転送ルールのアクションフィールドに変更を加え、メタデータに転送ルールＩＤを書き込むアクションを追加しておく。このアクションはフローテーブル変換部２からの指示で追加される。転送ルールが複数テーブルに及ぶ場合は、メタデータを分割しマスク処理する事により、全てのテーブルでマッチした転送ルールの情報を格納する。
【００７５】
最後に、試験パケットは転送先判定部２０５で処理される。転送先判定部２０５はメタデータ内の試験パケット判定フラグを参照し、値が１であるかどうかを確認する。試験パケット判定フラグが１の場合は試験パケットであるとして、転送先判定部２０５はメタデータに格納されたマッチした転送ルールのＩＤを試験パケットの空きヘッダフィールドへ格納し、フロー検査装置１００へ向けて送信する。さらに、転送先判定部２０５は再び試験パケットをカプセル化し、アクション（転送または破棄）を実行する。試験パケット判定フラグが０の場合はユーザパケットであるとして、転送先判定部２０５は何も処理せずアクション（転送又は廃棄）を実行する。
【００７６】
試験結果は試験結果受信部１０４で取得され、試験結果判定部１０１に送信される。試験結果判定部１０１では、受信した試験結果のペイロードに付加されている試験パケット識別情報から試験パケットと試験結果の対応付けを行い、メタデータ内の転送ルールＩＤから転送ルールを導き出す。そして、試験結果受信部１０４は実施形態１で説明したような手法例で監視区間の正常性を判断する。
【００７７】
（実施形態３）
本実施形態のネットワーク検証システムは図３の機能接続構成３０３である。
機能接続構成３０３は、図１の機能接続構成３０１と異なり、フローテーブル変換部２、及び制御装置１がフロー検査装置１００の外部に配置される。
【００７８】
制御装置１は、転送装置２００のフローテーブル２０２への転送ルールの設定や、転送装置２００との制御情報のやり取りを行う。
【００７９】
フローテーブル変換部２は、制御装置１から転送装置２００内のフローテーブルに設定予定の転送ルールを受け取り、転送ルールが試験パケット判定部２０３、フロー情報格納処理部２０４、転送先判定部２０５の３つの要素で構成されるよう変換を行い、転送装置２００へ送信する。
【００８０】
フロー検査装置１００の構成は図２で説明した機能接続構成３０２と同じである。
【００８１】
転送装置２００（ＳＤＮノード）は、実施形態１で説明した転送装置２００と同じである。
【００８２】
次に、図３のネットワーク検証システムの動作を説明する。転送装置のフローテーブル２０２が設定された後のパケット処理は、実施形態１で説明した図６のフローチャートと同じである。また、試験パケットの流れも実施形態１で説明した図７から図１３の説明とほぼ同じである。
【００８３】
転送装置２００に転送ルールを設定する際に、制御装置１から送信されるフローテーブルの設定情報をフローテーブル変換部２が取得する。フローテーブル変換部２はフローテーブル２０２に設定予定の転送ルールを試験パケット判定部２０３、フロー情報格納部２０４、及び転送先判定部２０５により構成される形に変換した後、各転送装置２００に送信する。
【００８４】
フロー検査装置１００での試験パケット生成、転送装置での処理、及び試験結果の判断については、図２の機能接続構成２０２での説明と同じである。
【００８５】
（実施形態４）
本実施形態のネットワーク検証システムは図４の機能接続構成３０４である。
機能接続構成３０４は、図２の機能接続構成３０２と異なり、試験パケット生成部１０２と試験パケット送信部１０５がフロー検査装置１００の外部に配置される。
【００８６】
制御装置１及びフローテーブル変換部２は、図２の機能接続構成３０２の説明と同じである。
【００８７】
フロー検査装置１００は、試験結果判定部１０１、フロー情報管理部１０３、及び試験結果受信部１０４を有する。
【００８８】
試験結果判定部１０１は、受信した試験結果のペイロードに付加されている試験パケット識別情報から、試験パケットと試験結果の対応付けを行う。試験結果判定部１０１は、フロー情報管理部１０３に保存されている転送ルール群から試験結果に記された転送ルールのＩＤに一致する転送ルールを呼び出す。
【００８９】
フロー情報管理部１０３は、各転送装置２００に設定されている転送ルールと、転送ルールＩＤの対応付けと、試験パケットに付加する試験パケット識別子を保存する。
【００９０】
試験結果受信部１０４は、試験結果（転送装置２００内でマッチした転送ルールのＩＤ）を試験対象の転送装置２００から受信する。
【００９１】
試験パケット生成装置２５０は、試験パケット生成部１０２及び試験パケット送信部１０５を有する。
【００９２】
試験パケット生成部１０２は、フロー情報管理部１０３から得た検査対象転送装置２００のフローテーブル２０２を元に試験したい転送ルールにマッチするヘッダ情報を持つ試験パケットを生成する。転送装置２００で試験パケットをユーザパケットと区別して処理するために、試験パケット生成部１０２は、試験パケットは全ての転送装置２００内でマッチ条件に用いられていないプロトコルを用いてカプセル化し、試験パケットを一意に識別するための識別情報を付加する。
【００９３】
試験パケット送信部１０５は、試験パケット生成部１０２で生成された試験パケットを試験対象の転送装置２００へ送信する。
【００９４】
転送装置２００（ＳＤＮノード）は、実施形態１で説明した転送装置２００と同じである。
【００９５】
次に、図４のネットワーク検証システムの動作を説明する。転送装置２００のフローテーブル２０２が設定された後のパケット処理は、実施形態１で説明した図６のフローチャートと同じである。また、試験パケットの流れも実施形態１で説明した図７から図１３の説明とほぼ同じである。
【００９６】
制御装置１及びフローテーブル変換部２による転送ルールの変換は図２の機能接続構成３０２での説明と同じである。
【００９７】
次に、ネットワーク管理者からの要求を契機に、フロー情報管理部１０３から取得した管理情報を元に試験パケット生成装置２５０の試験パケット生成部１０２で試験パケットが生成され、試験パケット送信部１０５から最初の宛先である転送装置２００に送信される（図７参照）。この時、試験パケットのヘッダ部分には、試験したい転送ルール群にマッチするヘッダ情報が格納される。更に、試験パケットは全てのＳＤＮノードのフローテーブル２０２内でマッチ条件に用いられていないプロトコルを利用してカプセル化される。これは、試験パケットとユーザパケットを区別して認識しつつ、同じ転送ルールにマッチさせるためである。
【００９８】
転送装置での処理、及び試験結果の判断については、図２の機能接続構成３０２での説明と同じである。
【００９９】
（実施形態５）
本実施形態のネットワーク検証システムは図５の機能接続構成３０５である。
機能接続構成３０５は、図４の機能接続構成３０４と異なり、フローテーブル変換部２と制御装置１の接続が逆に配置される。
【０１００】
制御装置１及びフローテーブル変換部２は、図３の機能接続構成３０３の説明と同じである。また、フロー検査装置１００及び試験パケット生成装置２５０は、図４の機能接続構成３０４の説明と同じである。
【０１０１】
転送装置２００（ＳＤＮノード）は、実施形態１で説明した転送装置２００と同じである。
【０１０２】
次に、図５のネットワーク検証システムの動作を説明する。転送装置２００のフローテーブル２０２が設定された後のパケット処理は、実施形態１で説明した図６のフローチャートと同じである。また、試験パケットの流れも実施形態１で説明した図７から図１３の説明とほぼ同じである。
【０１０３】
転送装置２００に転送ルールを設定する手法及び転送ルールを変換する手法は図３の機能接続構成３０３と同じである。
【０１０４】
（他の実施形態）
図１のフロー検査装置１００、図２〜図３のフロー検査装置１００、制御装置１、及びフローテーブル変換部２、図４〜図５のフロー検査装置１００、制御装置１、フローテーブル変換部２、及び試験パケット生成装置２５０は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【０１０５】
（発明によって生じる効果）
本発明では、各ＳＤＮノード内で試験パケットがマッチした転送ルールを、カウンタ値を利用せずに取得するための手法を提案した。これは、既存手法では実現されていない機能である。本発明により、ネットワーク管理者はユーザパケットとは区別して、試験パケットの流れを詳細に把握する事ができるようになるため、従来に比べて仮想ネットワーク内の正常性をより細かく検証する事が可能となる。更に、障害が発生した際には、本発明を用いて各ＳＤＮノードにおける試験パケットの処理を順に追う事により、障害発生箇所の特定を従来よりも迅速に行う事が可能となる。
【０１０６】
（発明のポイント）
転送装置に転送ルールが設定される前に、各転送ルールが試験パケット判定部、フロー情報格納処理部、転送先判定部の３つの要素から構成されるよう、変更を行う（図１６）。
【０１０７】
試験パケットをユーザパケットと区別して識別するために、試験パケットは転送用ルールのマッチ条件に用いられていないプロトコルでカプセル化する。
【０１０８】
転送ルールを一意に識別するために、新たに転送ルールＩＤを定義する。
【０１０９】
試験パケットがマッチした転送ルールの情報（転送ルールＩＤ）を得るために、転送用フローエントリのアクションフィールドに転送ルールＩＤをメタデータに格納するアクションを追加する。
【０１１０】
ＳＤＮノード内部で試験パケットを識別し、ユーザパケットとは異なる処理を行うために、転送用ルールが格納されたテーブルの前後に試験パケット制御用テーブルを１つずつ設ける（マルチテーブルの仕組みを活用する）。
【０１１１】
転送用ルール群の前段に設置したテーブル（試験パケット判定部）では、試験パケットのカプセル化を解除し、ＳＤＮノード内部で利用可能なメタデータの特定ビット（試験パケット判定フラグ）に試験パケット処理中である事を示すために１をセットする（図１４）。
【０１１２】
転送用ルールがマルチテーブルの場合は、メタデータをテーブルの合計数に区切って、各区画をテーブル毎に割り当てる（図１５）。
【０１１３】
転送用ルール群の後段に設置したテーブル（転送先判定部）では、メタデータ内の試験パケット判定フラグを参照する事により処理中のパケットが試験パケットであるかどうかを識別する。試験パケットであれば再度カプセル化してアクションを実行し、更に、メタデータ内に保存してある転送ルールＩＤをフロー検査装置へ送信する。試験パケットでなければ、ユーザパケットと見なしてアクションを実行し、転送（または破棄）する。
【０１１４】
転送用ルール群に記述されているアクションのうち、パケットの転送（フラッディング等も含む）や破棄に関するものは、後段に設けた転送先判定部での判定処理の後に必ず実行される。
【符号の説明】
【０１１５】
１：制御装置
２：フローテーブル変換部
１００：フロー検査装置
１０１：試験結果判定部
１０２：試験パケット生成部
１０３：フロー情報管理部
１０４：試験結果受信部
１０５：試験パケット送信部
２００：転送装置
２０１：受信部
２０２：フローテーブル
２０３：試験パケット判定部
２０４：フロー情報格納処理部
２０５：転送先判定部
２０６：送信部
２５０：試験パケット生成装置
３０１〜３０５：機能接続構成
【図１】
2016152470.tif 000003
【図２】
2016152470.tif 000004
【図３】
2016152470.tif 000005
【図４】
2016152470.tif 000006
【図５】
2016152470.tif 000007
【図６】
2016152470.tif 000008
【図７】
2016152470.tif 000009
【図８】
2016152470.tif 000010
【図９】
2016152470.tif 000011
【図１０】
2016152470.tif 000012
【図１１】
2016152470.tif 000013
【図１２】
2016152470.tif 000014
【図１３】
2016152470.tif 000015
【図１４】
2016152470.tif 000016
【図１５】
2016152470.tif 000017
【図１６】
2016152470.tif 000018