(57)【要約】  オープンフロー等のフロースイッチにおいて、コントローラの負荷を上昇させずに、きめ細かいフローの監視を行う。具体的には、スイッチは、サンプリング手段で抽出したパケット情報を含む制御メッセージをコントローラに送信する。コントローラは、受信したメッセージを解析して、それらが流量の大きいトラヒックである場合には、スイッチのフローエントリを設定することでサンプリング対象から外す。サンプリング対象のトラヒックを絞り込んでゆくことで、コントローラは微細なトラヒックを選択的に抽出することが可能で、該当フローを選択的に異常検知装置等にスイッチすることが可能になる。
2012127894.tif 000002
【特許請求の範囲】
【請求項１】
スイッチと、
パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、前記スイッチのフローテーブルに設定するコントローラと
を含み、
前記スイッチは、前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知し、
前記コントローラは、前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む
ネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記コントローラは、
サンプリング処理を行うフローに関するフローエントリと、サンプリング処理を行わないフローに関するフローエントリと、いずれのフローにも該当しない通常のパケットに関するデフォルトエントリとを、前記フローテーブルに設定する手段
を具備し、
前記スイッチは、
前記フローテーブルの設定に従い、受信パケットを、サンプリング処理を行うフローに該当するパケットと、サンプリング処理を行わないフローに該当するパケットと、いずれのフローにも該当しない通常のパケットとに分類する手段と、
前記サンプリング処理を行うフローに該当するパケットの情報を前記コントローラに通知する手段と、
前記サンプリング処理を行うフローに該当するパケット及び前記サンプリング処理を行わないフローに該当するパケットのヘッダ情報を変換する手段と、
パケットを出力する手段と
を具備する
ネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記コントローラは、
前記スイッチから通知されたパケットの情報を基に、前記サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、前記サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、前記フローテーブルに設定し、前記サンプリング処理の対象外とするフローに該当するパケットを、前記サンプリング処理を行うフローに該当するパケットから除外する手段
を更に具備する
ネットワークシステム。
【請求項４】
パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する手段と、
前記スイッチから、前記フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信する手段と、
前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む手段と
を具備する
コントローラ。
【請求項５】
コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定する手段と、
前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断する手段と、
前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知する手段と
を具備する
スイッチ。
【請求項６】
コントローラから、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定することと、
前記スイッチにおいて、前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知することと、
前記コントローラにおいて、前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込むことと
を含む
スイッチ方法。
【請求項７】
請求項６に記載のスイッチ方法であって、
前記コントローラにおいて、サンプリング処理を行うフローに関するフローエントリと、サンプリング処理を行わないフローに関するフローエントリと、いずれのフローにも該当しない通常のパケットに関するデフォルトエントリとを、前記フローテーブルに設定することと、
前記スイッチにおいて、
前記フローテーブルの設定に従い、受信パケットを、サンプリング処理を行うフローに該当するパケットと、サンプリング処理を行わないフローに該当するパケットと、いずれのフローにも該当しない通常のパケットとに分類することと、
前記サンプリング処理を行うフローに該当するパケットの情報を前記コントローラに通知することと、
前記サンプリング処理を行うフローに該当するパケット及び前記サンプリング処理を行わないフローに該当するパケットのヘッダ情報を変換することと、
パケットを出力することと
を含む
スイッチ方法。
【請求項８】
請求項７に記載のスイッチ方法であって、
前記コントローラにおいて、前記スイッチから通知されたパケットの情報を基に、前記サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、前記サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、前記フローテーブルに設定し、前記サンプリング処理の対象外とするフローに該当するパケットを、前記サンプリング処理を行うフローに該当するパケットから除外すること
を更に含む
スイッチ方法。
【請求項９】
パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定するステップと、
前記スイッチから、前記フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信するステップと、
前記サンプリング結果に応じて、前記フローテーブルを更新し、サンプリング処理を行うパケットを絞り込むステップと
をコントローラに実行させるためのプログラムを格納した
記憶媒体。
【請求項１０】
コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定するステップと、
前記フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断するステップと、
前記受信パケットに対するサンプリング処理を行った場合、前記コントローラにサンプリング結果を通知するステップと
をスイッチに実行させるためのプログラムを格納した
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関し、特にパケットサンプリングを行うネットワークシステムに関する。
【背景技術】
【０００２】
インターネット等で用いられるパケットスイッチ（以下、スイッチ）等のスイッチングノードにより形成されるネットワークでは、種々のトラヒック（ｔｒａｆｆｉｃ）がパケット多重で転送され、異常な振る舞いのトラヒックが混入することで、様々な異常が発生する可能性がある。【０００３】
このようなパケットネットワークにおいて、同様のサービスに関するトラヒックを集約したフロー（Ｆｌｏｗ）を定義し、フロー単位でスイッチを定義することで、きめ細かいトラヒック制御を行う方式が提案されている。【０００４】
このようなトラヒック制御方式の一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー（ＯｐｅｎＦｌｏｗ）技術を利用したオープンフローネットワークシステムが挙げられる。オープンフロー技術の詳細については、非特許文献１に記載されている。【０００５】
なお、オープンフローネットワークシステムは、外部の制御装置（コントロールプレーン）からノード装置（ユーザプレーン）を制御するＣＵ（Ｃ：コントロールプレーン／Ｕ：ユーザプレーン）分離型ネットワークシステムの一例に過ぎない。【０００６】
［オープンフローネットワークシステムの説明］
オープンフローネットワークシステムでは、ＯＦＣ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）等のコントローラが、ＯＦＳ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）により接続されている。【０００７】
オープンフローネットワークシステムにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット（ｐａｃｋｅｔ）の受信から出力側エッジスイッチでの送信までのパケットの一連の流れを定義し、この定義に適合するパケット群（パケット系列）をフロー（Ｆｌｏｗ）と呼ぶ。【０００８】
パケットは、フレーム（ｆｒａｍｅ）と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位（ＰＤＵ：Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）の違いに過ぎない。パケットは、「ＴＣＰ／ＩＰ」（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のＰＤＵである。一方、フレームは、「Ｅｔｈｅｒｎｅｔ」（登録商標）のＰＤＵである。【０００９】
フローテーブルとは、所定のマッチ条件（ルール）に適合するパケット（通信データ）に対して行うべき所定の動作（アクション）を定義したフローエントリ（Ｆｌｏｗ  ｅｎｔｒｙ）が登録されたテーブルである。【００１０】
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、フローエントリのルールとして使用可能である。【００１１】
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報（出力ポート番号等）が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。【００１２】
オープンフローネットワークシステムにおけるスイッチは、フローエントリのルールに適合するパケット群に対して、フローエントリのアクションを実行する。【００１３】
オープンフローネットワークシステムにおけるスイッチでは、フロー単位にきめ細かいスイッチ処理が可能であり、フロー単位のトラヒック制御や、トラヒック監視が可能である。しかし、オープンフローのようなパケット処理を行うデータ転送処理部と制御処理部が論理的に分離したアーキテクチャにおいて、きめ細かいフローに対する制御を行うと、制御対象が増大し、制御の処理負荷が増大するという課題がある。【００１４】
一方で、フローの粒度（細分化の単位）を大きくすることで、制御部の処理負荷を下げることが可能であるが、フローの粒度の単位でしか統計がとれず、スイッチにフロー設定されて高速転送されているパケットの詳細を監視することができない。【００１５】
トラヒック監視技術の一例として、パケットサンプリング（ｐａｃｋｅｔ  ｓａｍｐｌｉｎｇ）技術が知られている。例えば、「ｓＦｌｏｗ」や「ＮｅｔＦｌｏｗ」等が知られている。パケットサンプリングによるトラヒック監視では、通過するパケットを一定の確率でサンプリングしてパケットの流れを監視し、オリジナルのトラヒック量を発生確率に応じて推測することで、全体のトラヒック監視を行う。【００１６】
パケットサンプリングでは、確率処理するために、トラヒック量で大きな比率を占めるトラヒックの監視には向いているが、微小なトラヒックの監視には向いていない。【００１７】
本方式の改良方式として、特許文献１（特開２００９−７７１３６号公報）に、トラヒック情報提供装置、トラヒック情報取得装置、トラヒック情報収集システム、トラヒック情報提供プログラム、トラヒック情報取得プログラム及びトラヒック情報収集方法が開示されている。【００１８】
特許文献１では、異なるサンプリングレートでの監視を組み合わせることで、所望のトラヒックを監視することを提案している。【００１９】
しかし、パケットサンプリングによるトラヒック情報収集だけでは、やはりトラヒックの制御はできない。そのため、スイッチによるトラヒック制御と組み合わせる方式が望まれる。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２００９−７７１３６号公報
【非特許文献】
【００２１】
【非特許文献１】“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、  Ｍａｒｃｈ  １４，  ２００８、  Ｎｉｃｋ  ＭｃＫｅｏｗｎ他７名、  インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ）
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  １．０．０”、  Ｄｅｃｅｍｂｅｒ  ３１，  ２００９、  インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ）
【発明の概要】
【００２２】
オープンフロー等のフロースイッチにおいて、コントローラの負荷を上昇させずに、きめ細かいフローの監視を行う方式が求められる。
【００２３】
本発明に係るネットワークシステムは、スイッチと、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、該スイッチのフローテーブルに設定するコントローラとを含む。該スイッチは、該フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、該受信パケットに対するサンプリング処理を行った場合、該コントローラにサンプリング結果を通知する。該コントローラは、該サンプリング結果に応じて、該フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む。
【００２４】
本発明に係るコントローラは、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する装置と、該スイッチから、該フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信する装置と、該サンプリング結果に応じて、該フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む装置と
を具備する。
【００２５】
本発明に係るスイッチは、コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定する装置と、該フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断する装置と、該受信パケットに対するサンプリング処理を行った場合、該コントローラにサンプリング結果を通知する装置とを具備する。
【００２６】
本発明に係るスイッチ方法では、コントローラから、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する。また、該スイッチにおいて、該フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断し、該受信パケットに対するサンプリング処理を行った場合、該コントローラにサンプリング結果を通知する。また、該コントローラにおいて、該サンプリング結果に応じて、該フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む。
【００２７】
本発明に係るプログラムは、上記のスイッチ方法における処理を、コントローラやスイッチに実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【００２８】
オープンフロー等のフロースイッチにおいて、帯域の大きなトラヒックに埋もれて解析が困難なフローを選択的に解析することが可能になる。
【図面の簡単な説明】
【００２９】
【図１】本発明に係るネットワークシステムの構成例を示すブロック図である。
【図２】本発明に係るネットワークシステムの実施例を説明するための図である。
【図３】本発明に係るスイッチの基本動作について説明するためのフローチャートである。
【図４Ａ】初期フローとして１つのフローが設定されている状態を示す図である。
【図４Ｂ】初期フローとサンプリングなしフローとが設定されている状態を示す図である。
【図５】ＦＬ０と、ＦＬ１、ＦＬ２、ＦＬ３のトラヒック量の分布の例を示す図である。
【発明を実施するための形態】
【００３０】
＜実施形態＞
以下に、本発明の実施形態について添付図面を参照して説明する。
【００３１】
本発明は、ＣＵ分離型ネットワークシステムを対象としている。ここでは、ＣＵ分離型ネットワークシステムの１つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
【００３２】
［システム構成］
図１に示すように、本発明に係るネットワークシステムは、スイッチ１０と、コントローラ２０を含む。
【００３３】
スイッチ１０は、フローテーブルに基づいてスイッチ処理を行うオープンフロースイッチ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）である。
【００３４】
コントローラ２０は、フローテーブルを設定してスイッチ１０の挙動を制御するオープンフローコントローラ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）である。例えば、コントローラ２０は、オープンフローコントローラとしての機能を実現するためのソフトウェアを実行しているサーバ装置である。
【００３５】
スイッチ１０とコントローラ２０は、制御回線を介して接続されている。制御回線は、オープンフロープロトコルに準拠した制御メッセージを送受信する際に利用される。
【００３６】
［スイッチの構成］
スイッチ１０は、受信部１１と、スイッチ処理部１２と、フローテーブル１３と、サンプリング処理部１４と、アクション実行部１５と、送信部１６と、制御処理部１７を備える。
【００３７】
受信部１１は、受信回線を介して、外部からのパケットを受信する。受信回線は、受信部１１が有するインタフェース数（入力ポート数）だけ存在する。なお、入力ポートは、受信ポートを示す。受信部１１は、受信回線でパケットを受信すると、受信パケットをスイッチ処理部１２に渡す。
【００３８】
スイッチ処理部１２は、受信パケットをバッファに格納するとともに、受信パケットのヘッダフィールドの値を抽出して、抽出したヘッダフィールドの値を基に、フローテーブル１３の検索キーを作成する。スイッチ処理部１２は、作成した検索キーを用いて、フローテーブル１３の検索を行う。該検索キーがフローテーブル１３のいずれかのフローエントリにヒット（該当）した場合は、そのフローエントリのアクションに従い、受信パケットをサンプリング処理部１４、アクション実行部１５、送信部１６、又は制御処理部１７のいずれかに送る。フローエントリのアクションとしては、出力ポートの指定、出力パケットヘッダの書き換え、制御回線への出力、パケット破棄等がある。なお、出力ポートは、送信ポートを示す。
【００３９】
ここでは、スイッチ処理部１２は、フローテーブル１３のフローエントリのアクションでサンプリング指示ありの旨が指定されている場合、受信パケットをサンプリング処理部１４に渡す。すなわち、受信パケットに対して、サンプリング処理を行う。また、フローテーブル１３のフローエントリのアクションでサンプリング指示なしの旨が指定されている場合、受信パケットをアクション実行部１５に渡す。すなわち、受信パケットに対して、サンプリング処理を行わずに、決定されたアクションを実行する。更に、スイッチ処理部１２は、フローテーブル１３に該当するフローがない場合、受信パケットを送信部１６に渡す。すなわち、受信パケットを、いずれのフローにも該当しない通常のパケットとして出力する。
【００４０】
フローテーブル１３には、フローエントリとして、フロー（Ｆｌｏｗ）を示すパケットのヘッダフィールドの値とアクションの組が設定されている。ここでは、パケットのヘッダフィールドの値が、フローエントリのルールとなる。なお、フローテーブル１３は、フローエントリのルールとして、フローを示すパケットのヘッダフィールドの値の一部（又は全部）を、正規表現やワイルドカード「＊」等で表現したものを設定することができる。
【００４１】
サンプリング処理部１４は、指定されたサンプリングレートでパケットをサンプリングする。例えば、サンプリング処理部１４は、一定の間隔（一定時間毎、一定パケット数毎）で、パケットを採取し、統計解析を行う。その後、該パケットをアクション実行部１５に渡す。このとき、サンプリング処理部１４は、該パケットと共に、サンプリング結果をアクション実行部１５に渡しても良い。
【００４２】
アクション実行部１５は、パケットに対して、決定されたアクションを実行する。例えば、アクション実行部１５は、パケットに対して、アクションとして、ヘッダの書き換え、所定の送信回線への送信、又は該パケットの破棄を行う。このとき、アクション実行部１５は、自主的に、パケットのヘッダフィールドを抽出し、抽出したヘッダフィールドを基に、フローテーブル１３を検索して、受信パケットに対するアクションを決定し、決定されたアクションを実行しても良い。また、アクション実行部１５は、サンプリング処理部１４からパケットと共にサンプリング結果を受け取った場合、サンプリング結果に応じて、パケットに対するアクションを変更しても良い。
【００４３】
送信部１６は、送信回線を介して、パケットを外部に送信する。送信回線は、送信部１６が有するインタフェース数（出力ポート数）だけ存在する。なお、送信部１６の出力ポートの１つは、制御回線を介して、コントローラ２０と接続されていても良い。この場合、コントローラ２０側には、送信部１６の出力ポートに対応する入力ポートが存在する。すなわち、送信部１６は、出力パケットを送信回線や制御回線に出力する。
【００４４】
制御処理部１７は、スイッチ全体の動作を制御する。また、制御処理部１７は、コントローラ２０と制御メッセージの送受信を行い、コントローラ２０からの制御メッセージに従って、フローテーブル１３の設定を行う。
【００４５】
［コントローラの構成］
コントローラ２０は、制御処理部２１を備える。
【００４６】
制御処理部２１は、コントローラ全体の動作を制御する。また、制御処理部２１は、スイッチ１０と制御メッセージの送受信を行い、制御メッセージを用いて、スイッチ１０のフローテーブル１３の設定を行う。例えば、フロー更新（Ｆｌｏｗ  Ｍｏｄ）メッセージ等の制御メッセージを用いて、スイッチ１０のフローテーブル１３に対するフローエントリの登録・更新を行う。すなわち、制御処理部２１は、スイッチ１０の制御に関する処理を行う。
【００４７】
制御処理部２１は、スイッチ１０から制御回線を介してパケットの情報や、パケットの問い合わせ等の制御メッセージを受け取り、該パケットの転送の許否を判定し、該パケットの転送を許可する場合、スイッチ１０の転送処理内容を決定し、スイッチ１０の制御処理部１７を介して、フローテーブル１３の設定を行う。
【００４８】
［２つのフローエントリ登録方式］
オープンフローネットワークシステムでは、スイッチのフローテーブルにフローエントリを登録する方式は、大きく「Ｐｒｏａｃｔｉｖｅ型」と、「Ｒｅａｃｔｉｖｅ型」の２つの方式に分けられる。
【００４９】
「Ｐｒｏａｃｔｉｖｅ型」では、コントローラが「事前に（データ通信が始まる前に）」所定のパケット群（フロー）の経路（パス）を計算し、スイッチのフローテーブルにフローエントリを登録する。すなわち、ここでいう「Ｐｒｏａｃｔｉｖｅ型」とは、コントローラが自発的に行う「事前のフローエントリ登録」を指す。
【００５０】
「Ｒｅａｃｔｉｖｅ型」では、コントローラが「スイッチから１ｓｔパケット（該当フローエントリがない新規のパケット）についての問い合わせを受けた際に」当該パケット群（フロー）の経路を計算し、スイッチのフローテーブルにフローエントリを登録する。すなわち、ここでいう「Ｒｅａｃｔｉｖｅ型」とは、実際のデータ通信時に、コントローラがスイッチからの問い合わせに応じて行う「リアルタイムのフローエントリ登録」を指す。
【００５１】
本発明では、「Ｐｒｏａｃｔｉｖｅ型」と、「Ｒｅａｃｔｉｖｅ型」のいずれの方式を用いても良い。
【００５２】
「Ｐｒｏａｃｔｉｖｅ型」を採用した場合、コントローラ２０の制御処理部２１は、事前に（データ通信が始まる前に）、スイッチ１０への到着が予想される所定のパケットについて、該パケットを特定するためのヘッダフィールドの値と、該パケットに対するアクションを決定し、制御メッセージを用いて、スイッチ１０のフローテーブル１３の設定を行う。
【００５３】
「Ｒｅａｃｔｉｖｅ型」を採用した場合、コントローラ２０の制御処理部２１は、スイッチ１０からパケットの問い合わせを受けた際に、該パケットを特定するためのヘッダフィールドの値と、該パケットに対するアクションを決定し、制御メッセージを用いて、スイッチ１０のフローテーブル１３の設定を行う。
【００５４】
［ハードウェアの例示］
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
【００５５】
スイッチ１０の例として、ネットワークスイッチ（ｎｅｔｗｏｒｋ  ｓｗｉｔｃｈ）、ルータ（ｒｏｕｔｅｒ）、プロキシ（ｐｒｏｘｙ）、ゲートウェイ（ｇａｔｅｗａｙ）、ファイアウォール（ｆｉｒｅｗａｌｌ）、ロードバランサ（ｌｏａｄ  ｂａｌａｎｃｅｒ：負荷分散装置）、帯域制御装置（ｐａｃｋｅｔ  ｓｈａｐｅｒ）、セキュリティ監視制御装置（ＳＣＡＤＡ：Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）、ゲートキーパー（ｇａｔｅｋｅｅｐｅｒ）、基地局（ｂａｓｅ  ｓｔａｔｉｏｎ）、アクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）、通信衛星（ＣＳ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ）、或いは、複数の通信ポートを有する計算機等が考えられる。また、スイッチ１０は、物理マシン上に構築された仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）により実現される仮想スイッチでも良い。
【００５６】
コントローラ２０の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラ２０は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（ＶＭ）でも良い。
【００５７】
スイッチ１０及びコントローラ２０は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークに接続するための通信用インタフェース（Ｉ／Ｆ：ｉｎｔｅｒｆａｃｅ）によって実現される。
【００５８】
上記のプロセッサの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ（ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ）、或いは、専用の機能を有する半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等が考えられる。
【００５９】
上記のメモリの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。
【００６０】
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の１チップ化が進んでいる。したがって、計算機等に搭載される１チップマイコンが、プロセッサ及びメモリを備えている事例が考えられる。
【００６１】
上記の通信用インタフェースの例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。
【００６２】
また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００６３】
受信部１１及び送信部１６の例として、上記の通信用インタフェースを想定している。
【００６４】
スイッチ処理部１２、サンプリング処理部１４、アクション実行部１５、制御処理部１７、及び制御処理部２１の例として、上記のプロセッサを想定している。なお、スイッチ処理部１２、サンプリング処理部１４、アクション実行部１５、制御処理部１７、及び制御処理部２１は、上記のプロセッサと上記のメモリの組合せでも良い。特に、制御処理部１７及び制御処理部２１は、上記のプロセッサと上記のメモリと上記の通信用インタフェースの組合せでも良い。また、スイッチ処理部１２、サンプリング処理部１４、アクション実行部１５、制御処理部１７、及び制御処理部２１は、モジュール（ｍｏｄｕｌｅ）、コンポーネント（ｃｏｍｐｏｎｅｎｔ）、或いは専用デバイス、又はこれらの起動（呼出）プログラムでも良い。
【００６５】
フローテーブル１３を格納する記憶領域の例として、上記のメモリを想定している。
【００６６】
但し、実際には、これらの例に限定されない。
【００６７】
［基本概念］
図２を参照して、スイッチとコントローラ、及びフローの関係と、スイッチに複数のフローエントリが設定されている時の動作の概念について説明する。
【００６８】
図２では、本発明に係るネットワークシステムは、スイッチ１０（１０−ｉ、ｉ＝１〜ｎ：ｎは台数）と、コントローラ２０を含む。
【００６９】
スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、上記で説明したスイッチ１０と同じである。コントローラ２０は、上記で説明したコントローラ２０と同じである。
【００７０】
スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、コントローラ２０と制御回線を介して接続され、コントローラ２０からのフローテーブル設定指示（制御メッセージ）に従ってフローテーブル１３を設定する。
【００７１】
各スイッチ１０は、受信回線から受信したパケットのヘッダフィールドの値の組合せを検索キーに用いて、フローテーブル１３の検索を行い、ヒットしたフローエントリがあれば、そのフローに分類して、該フローエントリで指定されるアクションを実行する。
【００７２】
ここでは、スイッチ１０−１は、受信回線から受信したパケットについて、ＦＬ０〜ＦＬ３に分類する。なお、ＦＬは、フロー（Ｆｌｏｗ）を示す。該フロー（ＦＬ０〜ＦＬ３）には、アクションにおいて、サンプリング指示ありの旨（サンプリング処理）と、所定の出力ポート（出力アクション）が指定されている。
【００７３】
スイッチ１０−１は、これらのＦＬ０〜ＦＬ３のうち、ＦＬ０に対して、サンプリング処理を適用し、１／Ｎの確率で、パケットサンプリング対象にマッチ（適合）したパケットの情報（サンプルパケット情報）を、制御回線を経由してコントローラ２０に転送する。すなわち、スイッチ１０−１は、ＦＬ０のパケットをＮ個に１個の割合で採取し、採取したパケットの情報を、制御回線を経由してコントローラ２０に転送する。なお、スイッチ１０−１は、採取したパケットの情報として、採取したパケットをコピー（複写）したパケット（サンプルパケット）を、制御回線を経由してコントローラ２０に転送しても良い。
【００７４】
また、スイッチ１０−１は、ＦＬ０〜ＦＬ３のそれぞれに対して、ＦＬ０の出力アクションと同様のアクションをそれぞれ適用し、指定された出力ポートにパケットを出力し、該出力ポートから送信回線に送出する。
【００７５】
スイッチ１０−１以外の他のスイッチ１０も、以上と同様な処理を行い、ＦＬ０に相当するフロー（パケットサンプリング対象にマッチしたパケット）については、該パケットの情報を、制御回線を経由してコントローラ２０に転送し、ＦＬ１〜ＦＬ３に相当するフロー（パケットサンプリング対象にマッチしないパケット）については、該パケットを出力ポートから送信回線に送出する。
【００７６】
ここでは、ＦＬ１〜ＦＬ３のフローは、ＦＬ０のフロー集合に含まれるフロー群である。すなわち、ＦＬ０〜ＦＬ３は、いずれもＦＬ０のフロー集合に属するパケットを示す。
【００７７】
［スイッチの基本動作］
図３のフローチャートを用いて、スイッチの基本動作について説明する。
【００７８】
（１）ステップＳ１０１
スイッチ１０は、パケットを受信すると、受信パケットのヘッダフィールドの値を抽出して、フロー検索のための検索キーを作成する。
【００７９】
（２）ステップＳ１０２
スイッチ１０は、検索キーを用いて、フローテーブル１３を検索する。
【００８０】
（３）ステップＳ１０３
スイッチ１０は、フローテーブル１３のいずれかのフローエントリに検索キーがヒットした場合（ステップＳ１０２でＹｅｓ）、ヒットしたフローエントリのアクションにおいて指定されるサンプリング指示の有無を確認する。
【００８１】
（４）ステップＳ１０４
スイッチ１０は、サンプリング指示ありの場合（ステップＳ１０３でＹｅｓ）、該フローに対し、指定されたサンプリングレート（１／Ｎ）でサンプリング処理を行う。すなわち、スイッチ１０は、該フローのパケットをカウントし、Ｎ個に１個のパケットをサンプリングする。
【００８２】
（５）ステップＳ１０５
スイッチ１０は、該パケットが、パケットサンプリング対象にマッチするか確認する。すなわち、スイッチ１０は、該パケットが、Ｎ個に１個のパケットであるか確認する。
【００８３】
（６）ステップＳ１０６
スイッチ１０は、該パケットが、パケットサンプリング対象にマッチした場合は、第１の指定アクションを実行する。例えば、第１の指定アクションとして、コントローラ２０宛のパケット転送が指示されている場合、スイッチ１０は、該当フローのうち、１／Ｎの確率でコントローラ２０宛にパケットの情報を転送する。コントローラ２０は、パケットの情報を解析し、流量の大きいトラヒックである場合には、スイッチ１０のフローエントリ１３の設定の更新（フローエントリの追加・更新）を行い、サンプリング対象から不要なトラヒックを除外する。これにより、コントローラ２０は、サンプリング対象のトラヒックを絞り込み、トラヒックを選択的に抽出する。
【００８４】
（７）ステップＳ１０７
スイッチ１０は、該パケットが、パケットサンプリング対象にマッチしない場合、第２の指定アクションを実行する。例えば、第２の指定アクションとして、あるポートへの出力が指示されている場合、スイッチ１０は、該当フローを、そのポートへ出力し、送信回線に送出する。
【００８５】
（８）ステップＳ１０８
スイッチ１０は、サンプリング指示なしの場合（ステップＳ１０３でＮｏ）、指定アクションに従って転送する。
【００８６】
（９）ステップＳ１０９
また、スイッチ１０は、フローテーブル１３のいずれのフローエントリにも検索キーがヒットしなかった場合（ステップＳ１０２でＮｏ）、予め決められたデフォルトエントリのアクション（デフォルトアクション）に従い、パケットを転送する。
【００８７】
なお、デフォルトエントリとは、不特定多数のパケット（全てのパケットでも可）を対象とした初期設定のフローエントリである。フローを示すパケットのヘッダフィールドの値の一部（又は全部）を、正規表現やワイルドカード「＊」等で表現することで、不特定多数のパケット（又は全てのパケット）を対象とすることができる。デフォルトエントリの優先順位は低く、他にヒットしたフローエントリがあれば、他にヒットしたフローエントリの方が優先される。すなわち、デフォルトエントリは、他にヒットするフローエントリが存在しない場合のみヒットするフローエントリである。デフォルトエントリにヒットしたパケットは、いずれのフローにも該当しない通常のパケットである。
【００８８】
例えば、デフォルトアクションとして、コントローラ２０宛のパケット転送が指示されている場合、スイッチ１０は、フローテーブル１３にヒットせず転送処理の不明なパケットを、コントローラ２０宛に転送する。コントローラ２０は、パケットに対する処理を行い、必要に応じて、スイッチ１０のフローテーブル１３を設定するという処理を行う（「Ｒｅａｃｔｉｖｅ型」）。
【００８９】
或いは、デフォルトアクションとして、あるポートへの出力が指示されている場合、スイッチ１０は、パケットを、そのポートへ出力し、送信回線に送出する（「Ｐｒｏａｃｔｉｖｅ型」）。
【００９０】
［初期フローのみ］
図４Ａを参照して、初期フローとして１つのフローが設定されている状態について説明する。
【００９１】
フローテーブル１３には、ＦＬ０に対応するフローエントリが設定されている。ＦＬ０に対応するフローエントリでは、「アクション１」として、「サンプリングレート（１／Ｎ）でパケットサンプリング対象にマッチした時にはコントローラ２０宛へ転送し、マッチしない時には出力先１に出力する」と定義している。更に、出力する際に、「アクション２」として「ヘッダ更新を行う」と定義している。
【００９２】
したがって、スイッチ処理部１２は、受信したパケットがＦＬ０に対応するフローエントリにヒットすると、サンプリングレート（１／Ｎ）でパケットサンプリング対象にマッチした時にはコントローラ２０宛へ転送し、マッチしない時には出力先１に出力する。更に、出力する際に、「アクション２」として「ヘッダ更新」を行う。
【００９３】
ＦＬ０は、あるネットワークアドレスグループの集合を表している。例えば、「ＩＰＳＡ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ：送信元ＩＰアドレス）＝１０．０．０．０／８」等のネットワークからのフローの集合が、ＦＬ０に対応するフローエントリにヒットし、更に複数のフロー集合に分割できるようにすることを想定している。
【００９４】
［初期フロー＋サンプリングなしフロー］
図４Ｂを参照して、ＦＬ０からサンプリングにてコントローラ２０に送られたパケットの情報に基づいて、ＦＬ１としてサンプリング対象から除外したフローをフローテーブル１３に設定した状態について説明する。
【００９５】
ＦＬ１は、フローテーブル１３において、ＦＬ０のフローエントリよりも優先度大のフローエントリに設定されている。受信したパケットは、ＦＬ０とＦＬ１の両方に含まれる場合でも、ＦＬ１に対応するフローエントリにヒットする。ＦＬ１に対応するフローエントリでは、「アクション１」として、「出力先１に出力する」と定義している。更に、出力する際に、「アクション２」として「ヘッダ更新を行う」と定義している。
【００９６】
したがって、スイッチ処理部１２は、受信したパケットがＦＬ１に対応するフローエントリにヒットすると、サンプル処理を行わずに全て出力先１に出力する。更に、出力する際に、「アクション２」として「ヘッダ更新」を行う。
【００９７】
このようにすることで、元々ＦＬ０に含まれていたパケットのうち、パケットサンプリング対象にマッチしやすい、帯域の大きなフローについてはＦＬ１としてサンプリング対象から除外することができる。
【００９８】
同様に、サンプリングによりコントローラ２０に送られたパケットをサンプリング対象でないフローであるＦＬ２、ＦＬ３に設定することで、ＦＬ０のフローエントリにヒットするトラヒックは、比較的トラヒック量の少ない集合になり、そのトラヒックをコントローラ２０や分析装置で分析することにより、微細な（細分化された）フローのチェックが可能になる。
【００９９】
すなわち、ＦＬ０のフローエントリにヒットするパケットのうち、最初からサンプリング対象にしないパケットを除外するために、ＦＬ１〜ＦＬ３のフローエントリを利用している。具体的には、「ＦＬ０のフローエントリにヒットするパケット」から「ＦＬ１〜ＦＬ３のフローエントリにヒットするパケット」を除外した残りのパケットに対して、サンプリングを実施する。
【０１００】
したがって、フローエントリのルールとして、ＦＬ１〜ＦＬ３のフローエントリのルールは、ＦＬ０のフローエントリのルールよりも、フローを示すパケットのヘッダフィールドの値が限定的である。
【０１０１】
例えば、ＦＬ０のフローエントリのルールを「ＩＰＳＡ＝１０．０．０．＊／８」とした場合、ＦＬ１のフローエントリのルールを「ＩＰＳＡ＝１０．０．０．１／８」、ＦＬ２のフローエントリのルールを「ＩＰＳＡ＝１０．０．０．２／８」、ＦＬ３のフローエントリのルールを「ＩＰＳＡ＝１０．０．０．３／８」とすることで、「ＦＬ０のフローエントリにヒットするパケット」から「ＦＬ１〜ＦＬ３のフローエントリにヒットするパケット」を除外することができる。
【０１０２】
ここでは、フローエントリの優先度の大小関係は、「デフォルトエントリ＜ＦＬ０＜ＦＬ１〜ＦＬ３」である。「ＦＬ１〜ＦＬ３」の優先度の大小関係については設定次第である。
【０１０３】
［トラヒック量の分布］
図５を参照して、ＦＬ０と、ＦＬ１、ＦＬ２、ＦＬ３のトラヒック量の分布の例について説明する。
【０１０４】
ＦＬ０のフロー集合におけるヘッダの組合せを横軸にとり、それぞれのトラヒック量を縦軸にとった場合に、図５の曲線で示すようなトラヒック量の分布があるとする。
【０１０５】
このとき、スイッチ１０は、ＦＬ０のサンプリングによりコントローラ２０にパケットを送信する。その結果として、コントローラ２０は、ＦＬ１、ＦＬ２、ＦＬ３のようなフローエントリをスイッチ１０のフローテーブル１３に設定する。これにより、ＦＬ０のフロー集合のうち、ＦＬ１、ＦＬ２、ＦＬ３に含まれない範囲がＦＬ０の対象となる。
【０１０６】
これら（ＦＬ０、ＦＬ１、ＦＬ２、ＦＬ３）のトラヒックを解析することで、帯域の大きなトラヒックに埋もれて解析が困難なフローを選択的に解析することが可能になる。
【０１０７】
スイッチ１０は、パケット転送処理として、フローに対する一致（フローエントリにヒットした場合）と、パケットサンプリングによる一致（パケットサンプリングにマッチした場合）によって、宛先を変更する。
【０１０８】
特に、スイッチ１０は、パケットサンプリングにより一致したパケットについては、コントローラ２０に対して、該当一致パケットを転送する。
【０１０９】
コントローラ２０は、スイッチ１０でのサンプリングで得られたフロー情報に基づいて、スイッチ１０のフローテーブル１３のフローエントリを設定して、サンプリング対象から除外することで、サンプリングの対象を、より微細なフローのトラヒックに限定する。
【０１１０】
＜まとめ＞
以上のように、本発明では、スイッチは、サンプリング処理で抽出したパケットの情報を含む制御メッセージをコントローラに送信する。コントローラは、受信したメッセージを解析して、それらが流量の大きいトラヒックである場合には、スイッチのフローエントリを設定することで、サンプリング対象から不要なトラヒックを除外する。サンプリング対象のトラヒックを絞り込んでゆくことで、コントローラは、微細なトラヒックを選択的に抽出することが可能で、該当フローを選択的に異常検知装置等にスイッチする（異常検知装置等に転送先を切り替える）ことが可能になる。
【０１１１】
＜付記＞
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
【０１１２】
（付記１）
パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する装置と、
スイッチから、フローテーブルの設定に従って受信パケットに対するサンプリング処理を行った際のサンプリング結果を受信する装置と、
サンプリング結果に応じて、フローテーブルを更新し、サンプリング処理を行うパケットを絞り込む装置と
を具備する
コントローラ。
【０１１３】
（付記２）
付記１に記載のコントローラであって、
サンプリング処理を行うフローに関するフローエントリと、サンプリング処理を行わないフローに関するフローエントリと、いずれのフローにも該当しない通常のパケットに関するデフォルトエントリとを、フローテーブルに設定する装置
を更に具備する
コントローラ。
【０１１４】
（付記３）
付記２に記載のコントローラであって、
スイッチから通知されたパケットの情報を基に、サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、フローテーブルに設定し、サンプリング処理の対象外とするフローに該当するパケットを、サンプリング処理を行うフローに該当するパケットから除外する装置
を更に具備する
コントローラ。
【０１１５】
（付記４）
コントローラからの制御に応じて、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定する装置と、
フローテーブルの設定に従い、受信パケットに対するサンプリング処理を行うか否か判断する装置と、
受信パケットに対するサンプリング処理を行った場合、コントローラにサンプリング結果を通知する装置と
を具備する
スイッチ。
【０１１６】
（付記５）
付記４に記載のスイッチであって、
フローテーブルの設定に従い、受信パケットを、サンプリング処理を行うフローに該当するパケットと、サンプリング処理を行わないフローに該当するパケットと、いずれのフローにも該当しない通常のパケットとに分類する装置と、
サンプリング処理を行うフローに該当するパケットの情報をコントローラに通知する装置と、
サンプリング処理を行うフローに該当するパケット及びサンプリング処理を行わないフローに該当するパケットのヘッダ情報を変換する装置と、
パケットを出力する装置と
を更に具備する
スイッチ。
【０１１７】
（付記６）
付記５に記載のスイッチであって、
パケットの情報に基づくコントローラからの制御に応じて、サンプリング処理を行うフローに関するフローエントリよりも高い優先度で、サンプリング処理を行うフローのうち新たにサンプリング処理の対象外とするフローに関するフローエントリを、フローテーブルに設定する装置と、
フローテーブルの設定に従い、サンプリング処理の対象外とするフローに該当するパケットを、サンプリング処理を行うフローに該当するパケットから除外する装置と
を更に具備する
スイッチ。
【０１１８】
＜備考＞
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０１１９】
なお、本出願は、日本出願番号２０１１−０６０３８９に基づく優先権を主張するものであり、日本出願番号２０１１−０６０３８９における開示内容は引用により本出願に組み込まれる。
【図１】
2012127894.tif 000003
【図２】
2012127894.tif 000004
【図３】
2012127894.tif 000005
【図４Ａ】
2012127894.tif 000006
【図４Ｂ】
2012127894.tif 000007
【図５】
2012127894.tif 000008
【国際調査報告】
2012127894.tif 000009
2012127894.tif 000010