(57)【要約】  新規フロー発生時にコントローラにパケットを転送することなく、仮想ネットワーク構成内で定義した任意のポリシー経路制御を実現する。具体的には、仮想ネットワークにおいて、物理スイッチに関連づいた仮想インターフェースと、仮想ノード上でのみ定義される仮想インターフェースの間にリダイレクトされるポリシー経路制御に関して、仮想インターフェースの転送先に関連付けられる物理インターフェースを特定して、物理スイッチ内のポリシーフィルタとしてスイッチ動作を設定する。また、仮想ネットワークにおいてポリシーに基づいてリダイレクト転送する際に、仮想ネットワーク上のポリシーが実際の物理スイッチのポートに対応するルールかどうかの情報に基づいて、静的な設定とするか、端末の検知を契機とする動的な設定とするかを判断し、物理スイッチのスイッチ動作を決定するフローテーブルにポリシーに対応する転送ルールを予め設定する。
2012127886.tif 000002
【特許請求の範囲】
【請求項１】
スイッチと、
所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、前記スイッチのフローテーブルに設定するコントローラと
を含み、
前記コントローラは、
仮想ノードにより形成された仮想ネットワークの構成を管理する手段と、
前記仮想ネットワークの構成及びリダイレクトポリシーを基に、前記所定のパケットの転送経路を決定し、前記転送経路に基づくフローエントリを、前記スイッチのフローテーブルに予め設定し、前記仮想ネットワークのリダイレクトポリシーを物理ネットワークに反映させる手段と
を具備する
ネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記コントローラは、
前記リダイレクトポリシーが前記スイッチの物理インターフェースに対応するルールかどうか判定する手段と、
前記リダイレクトポリシーが前記スイッチのポートに対応するルールである場合、前記スイッチのフローテーブルに、前記リダイレクトポリシーに対応するフローエントリを設定する手段と
前記リダイレクトポリシーが前記スイッチのポートに対応するルールでない場合、端末の検知時に取得した端末の情報を利用して前記スイッチのポートに対応するルールを解決し、前記スイッチのフローテーブルに、前記リダイレクトポリシーに対応するフローエントリを設定する手段と
を更に具備する
ネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記コントローラは、
前記仮想ノードの仮想インターフェース間のリダイレクトポリシーと、前記スイッチの物理インターフェースに関連付けられた仮想インターフェースの情報とを基に、前記仮想ノードの仮想インターフェースの転送先に関連付けられる物理インターフェースを特定する手段と、
前記スイッチ内のポリシーフィルタとして、前記スイッチの物理インターフェースにおける動作が定義されたフローエントリを、前記スイッチのフローテーブルに設定する手段と
を更に具備する
ネットワークシステム。
【請求項４】
仮想ノードにより形成された仮想ネットワークの構成及びリダイレクトポリシーを管理する手段と、
前記仮想ネットワークの構成及びリダイレクトポリシーを基に、所定のパケットの転送経路を決定する手段と、
前記転送経路に基づいて、前記所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、前記スイッチのフローテーブルに予め設定し、前記仮想ネットワークのリダイレクトポリシーを物理ネットワークに反映させる手段と
を具備する
コントローラ。
【請求項５】
請求項４に記載のコントローラであって、
前記リダイレクトポリシーが前記スイッチの物理インターフェースに対応するルールかどうか判定する手段と、
前記リダイレクトポリシーが前記スイッチのポートに対応するルールである場合、前記スイッチのフローテーブルに、前記リダイレクトポリシーに対応するフローエントリを設定する手段と
前記リダイレクトポリシーが前記スイッチのポートに対応するルールでない場合、端末の検知時に取得した端末の情報を利用して前記スイッチのポートに対応するルールを解決し、前記スイッチのフローテーブルに、前記リダイレクトポリシーに対応するフローエントリを設定する手段と
を更に具備する
コントローラ。
【請求項６】
請求項５に記載のコントローラであって、
前記仮想ノードの仮想インターフェース間のリダイレクトポリシーと、前記スイッチの物理インターフェースに関連付けられた仮想インターフェースの情報とを基に、前記仮想ノードの仮想インターフェースの転送先に関連付けられる物理インターフェースを特定する手段と、
前記スイッチ内のポリシーフィルタとして、前記スイッチの物理インターフェースにおける動作が定義されたフローエントリを、前記スイッチのフローテーブルに設定する手段と
を更に具備する
コントローラ。
【請求項７】
計算機により実施されるポリシー経路設定方法であって、
仮想ノードにより形成された仮想ネットワークの構成及びリダイレクトポリシーを管理することと、
前記仮想ネットワークの構成及びリダイレクトポリシーを基に、所定のパケットの転送経路を決定することと、
前記転送経路に基づいて、前記所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、前記スイッチのフローテーブルに予め設定し、前記仮想ネットワークのリダイレクトポリシーを物理ネットワークに反映させることと
を含む
ポリシー経路設定方法。
【請求項８】
仮想ノードにより形成された仮想ネットワークの構成及びリダイレクトポリシーを管理するステップと、
前記仮想ネットワークの構成及びリダイレクトポリシーを基に、所定のパケットの転送経路を決定するステップと、
前記転送経路に基づいて、前記所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、前記スイッチのフローテーブルに予め設定し、前記仮想ネットワークのリダイレクトポリシーを物理ネットワークに反映させるステップと
を計算機に実行させるためのプログラムを格納した
記憶媒体。
【請求項９】
請求項８に記載の記憶媒体であって、
前記リダイレクトポリシーが前記スイッチの物理インターフェースに対応するルールかどうか判定するステップと、
前記リダイレクトポリシーが前記スイッチのポートに対応するルールである場合、前記スイッチのフローテーブルに、前記リダイレクトポリシーに対応するフローエントリを設定するステップと
前記リダイレクトポリシーが前記スイッチのポートに対応するルールでない場合、端末の検知時に取得した端末の情報を利用して前記スイッチのポートに対応するルールを解決し、前記スイッチのフローテーブルに、前記リダイレクトポリシーに対応するフローエントリを設定するステップと
を更に計算機に実行させるためのプログラムを格納した
記憶媒体。
【請求項１０】
請求項９に記載の記憶媒体であって、
前記仮想ノードの仮想インターフェース間のリダイレクトポリシーと、前記スイッチの物理インターフェースに関連付けられた仮想インターフェースの情報とを基に、前記仮想ノードの仮想インターフェースの転送先に関連付けられる物理インターフェースを特定するステップと、
前記スイッチ内のポリシーフィルタとして、前記スイッチの物理インターフェースにおける動作が定義されたフローエントリを、前記スイッチのフローテーブルに設定するステップと
を更に計算機に実行させるためのプログラムを格納した
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関し、特に仮想ネットワークにおけるポリシー経路設定方法に関する。
【背景技術】
【０００２】
データセンター等の大規模で共用利用されるネットワーク環境においては、ネットワークの仮想化が注目されている。システム構成の変更に対して、ネットワーク機器の接続変更を行ってシステムを構築するのではなく、物理スイッチを仮想化管理しておき、システム構成変更に応じて、物理構成は変更せずに、仮想的なネットワークを柔軟に構成できるようになることが期待される。【０００３】
関連する技術として、特許文献１（特開２００７−２１３４６５号公報）には、計算機の制御方法、プログラム及び仮想計算機システムが開示されている。この関連技術では、計算機は、制御プログラムによって複数の論理区画が構築されている。複数の論理区画それぞれに設定された仮想インターフェース（ｉｎｔｅｒｆａｃｅ（Ｉ／Ｆ））は、物理インターフェースを共有する。記憶部には、物理インターフェースと仮想インターフェースとの対応関係を示す管理情報が格納されている。制御部は、前記プログラムを実行する。これにより、仮想インターフェースによって受信された外部装置への通信データを取得し、管理情報を参照して、外部装置への通信に使用する物理インターフェースを選択する。通信経路に障害が発生した場合は、物理インターフェースと仮想インターフェースとの対応関係を変更する。【０００４】
また、特許文献２（特開２０１０−２３３１２６号公報）には、経路選択方法及び経路選択システム並びにそれに用いるルータが開示されている。この経路選択方法では、複数ドメインを跨って仮想ネットワークのオーバーレイネットワークを形成するドメインの端末から他のドメインの端末への経路選択を行う。具体的には、複数のドメインの各々におけるルータにおいて、それぞれ形成された仮想ノードを用いてオーバーレイネットワークを形成する。オーバーレイネットワーク上において、あるドメインのエッジルータ（第一のルータ）から他のドメインのエッジルータ（第二のルータ）までトンネル接続をする。第二のルータにおいて、トンネルを経由して当該トンネルのトラフィック状態を計測して第一のルータへ通知する。第一のルータにおいて、この計測結果と複数ドメインからなるアンダーレイネットワークにより計測されるトラフィック状態とを用いて経路選択を行う。アンダーレイネットワークによる計測結果である、ＢＧＰ（Ｂｒｏａｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）と称されるプロトコルで決定された経路のトラフィック状態（パラメータである利用帯域、遅延、パケットロス率）と、複数オーバーレイネットワーク上のトンネル（仮想リンク）経由で制御された経路のトラフィック状態とを、管理テーブルで管理する。各経路のトラフィック状態の管理テーブルによって、アンダーレイネットワークのＢＧＰで選択されている経路が最適な経路かどうかを判断する。最適な経路ではない場合、そのプレフィックスへのトラフィック状態管理テーブルの中から、最適な経路を選択する。【０００５】
［ＣＵ分離型ネットワークシステムの説明］
なお、ネットワークシステムの制御方式の１つとして、外部の制御装置（コントロールプレーン）からノード装置（ユーザプレーン）を制御するＣＵ（Ｃ：コントロールプレーン／Ｕ：ユーザプレーン）分離型ネットワークシステムが提案されている。【０００６】
ＣＵ分離型ネットワークシステムの一例として、コントローラからスイッチを制御してネットワークシステムの経路制御を行うオープンフロー（ＯｐｅｎＦｌｏｗ）技術を利用したオープンフローネットワークシステムが挙げられる。オープンフロー技術の詳細については、非特許文献１、２に記載されている。なお、オープンフローネットワークシステムは一例に過ぎない。【０００７】
［オープンフローネットワークシステムの説明］
オープンフローネットワークシステムでは、ＯＦＣ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）等のコントローラが、ＯＦＳ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）により接続されている。【０００８】
オープンフローネットワークシステムにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット（ｐａｃｋｅｔ）の受信から出力側エッジスイッチでの送信までのパケットの一連の流れをフロー（Ｆｌｏｗ）と呼ぶ。【０００９】
パケットは、フレーム（ｆｒａｍｅ）と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位（ＰＤＵ：Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）の違いに過ぎない。パケットは、「ＴＣＰ／ＩＰ」（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のＰＤＵである。一方、フレームは、「Ｅｔｈｅｒｎｅｔ」（登録商標）のＰＤＵである。【００１０】
フローテーブルとは、所定のマッチ条件（ルール）に適合するパケット（通信データ）に対して行うべき所定の動作（アクション）を定義したフローエントリ（Ｆｌｏｗ  ｅｎｔｒｙ）が登録されたテーブルである。【００１１】
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部（又は全部）を、正規表現やワイルドカード「＊」等で表現したものを設定することもできる。【００１２】
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報（出力ポート番号等）が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。【００１３】
オープンフローネットワークシステムにおけるスイッチは、フローエントリのルールに適合するパケット群（パケット系列）に対して、フローエントリのアクションを実行する。【００１４】
オープンフローネットワークシステムにおいて、スイッチは、受信パケットに該当するフローエントリがあった場合には、フローエントリに記載されたアクションに従って受信パケットの処理を行い、該当フローエントリがない場合には、オープンフロープロトコルにパケットの受信を通知する。【００１５】
オープンフローネットワークシステムにおいて、物理ノードからのパケット受信をトリガ（ｔｒｉｇｇｅｒ）として、仮想ネットワークの動作を解決して経路制御を実現する場合、入力パケット数が増大した時に、コントローラが高負荷になり、結果としてネットワークの動作が不安定になるという課題がある。【００１６】
また、ファイアウォールやセキュリティ装置のようなネットワークの中間にステルス的に配備されてトラヒック（ｔｒａｆｆｉｃ：ネットワーク上を移動するデジタルデータ）を監視、検査する装置（中間装置）がある。ここでは、このような中間装置をミドルボックス（Ｍｉｄｄｌｅｂｏｘ）と呼ぶ。ミドルボックスは、高機能なために一般的には、高価であり、データセンターのような環境では、より多くのサービスに利用して利用効率を向上させることが望まれる。ネットワークを仮想化することで、物理的な接続関係とは、独立にネットワークを構成することができる。そこで、仮想ネットワークにおいて、ミドルボックスを柔軟に利用可能とするポリシー経路制御を行いつつ、コントローラが高負荷になるという問題を解決する方法が望まれる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００７−２１３４６５号公報
【特許文献２】特開２０１０−２３３１２６号公報
【非特許文献】
【００１８】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎ他７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐ  ｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２２年１０月２２日検索］、＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ＞
【非特許文献２】ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  １．０．０  ＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ＞
【発明の概要】
【００１９】
オープンフローネットワークシステムにおけるスイッチを使った仮想ネットワーク構成を実現しようとした場合、新規フローが大量に発生した時に、或いは、複数のスイッチから同時期に新規フローの問い合わせがあった時に、コントローラの処理が高負荷になり不安定になる可能性があった。
【００２０】
また、スイッチコントローラの負荷を低減する手法において、仮想ネットワーク内のポリシー経路制御を実現することが求められていた。
【００２１】
本発明の目的は、新規フロー発生時にコントローラにパケットを転送することなく、仮想ネットワーク構成内で定義した任意のポリシー経路制御を実現するネットワークシステムを提供することである。
【００２２】
本発明に係るネットワークシステムは、スイッチと、所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、該スイッチのフローテーブルに設定するコントローラとを含む。該コントローラは、仮想ノードにより形成された仮想ネットワークの構成を管理する機能部と、該仮想ネットワークの構成を基に、該所定のパケットの転送経路を決定し、該転送経路に基づくフローエントリを、該スイッチのフローテーブルに予め設定する機能部とを具備する。
【００２３】
本発明に係るコントローラは、仮想ノードにより形成された仮想ネットワークの構成を管理する機能部と、該仮想ネットワークの構成を基に、所定のパケットの転送経路を決定する機能部と、該転送経路に基づいて、該所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、該スイッチのフローテーブルに予め設定する機能部とを具備する。
【００２４】
本発明に係るポリシー経路設定方法は、計算機により実施されるポリシー経路設定方法であって、仮想ノードにより形成された仮想ネットワークの構成を管理することと、該仮想ネットワークの構成を基に、所定のパケットの転送経路を決定することと、該転送経路に基づいて、該所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、該スイッチのフローテーブルに予め設定することとを含む。
【００２５】
本発明に係るプログラムは、仮想ノードにより形成された仮想ネットワークの構成を管理するステップと、該仮想ネットワークの構成を基に、所定のパケットの転送経路を決定するステップと、該転送経路に基づいて、該所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、該スイッチのフローテーブルに予め設定するステップとを計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【００２６】
物理ネットワーク構成に依存しない仮想ネットワークにおいて、ミドルボックスを任意に経由する柔軟な経路制御を、安定したネットワーク動作のもとで実現することが可能になる。
【図面の簡単な説明】
【００２７】
【図１】本発明に係るネットワークシステムのポリシー経路設定の実施例を説明するための図である。
【図２】本発明に係るネットワークシステムのポリシー経路設定における動作を示すフローチャートである。
【図３】本発明に係るネットワークシステムのコントローラの構成例を示すブロック図である。
【発明を実施するための形態】
【００２８】
＜実施形態＞
以下に、本発明の実施形態について添付図面を参照して説明する。
【００２９】
本発明は、ＣＵ分離型ネットワークシステムを対象としている。ここでは、ＣＵ分離型ネットワークシステムの１つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
【００３０】
［２つのフローエントリ登録方式］
オープンフローにおいて、スイッチのフローテーブルにフローエントリを登録する方式は、大きく「Ｐｒｏａｃｔｉｖｅ型」と、「Ｒｅａｃｔｉｖｅ型」の２つの方式に分けられる。
【００３１】
「Ｐｒｏａｃｔｉｖｅ型」では、コントローラが「事前に（データ通信が始まる前に）」所定のパケット群（フロー）の経路（パス）を計算し、スイッチのフローテーブルにフローエントリを登録する。すなわち、ここでいう「Ｐｒｏａｃｔｉｖｅ型」とは、コントローラが自発的に行う「事前のフローエントリ登録」を指す。
【００３２】
「Ｒｅａｃｔｉｖｅ型」では、コントローラが「スイッチから１ｓｔパケット（該当フローエントリがない新規のパケット）についての問い合わせを受けた際に」当該パケット群（フロー）の経路を計算し、スイッチのフローテーブルにフローエントリを登録する。すなわち、ここでいう「Ｒｅａｃｔｉｖｅ型」とは、実際のデータ通信時に、コントローラがスイッチからの問い合わせに応じて行う「リアルタイムのフローエントリ登録」を指す。
【００３３】
オープンフローネットワークでは、基本的に、コントローラがスイッチから１ｓｔパケットについての問い合わせを受けた際に当該受信パケットに関するフローエントリを登録する「Ｒｅａｃｔｉｖｅ型」が中心となっている。
【００３４】
しかし、実際のハードウェア（ＨＷ）では、フローテーブルの処理頻度を軽減し性能の問題を解決するためには、「Ｐｒｏａｃｔｉｖｅ型」が好適であると考えられる。例えば、大量の１ｓｔパケットがコントローラに到着しても処理し切れるようにするためには、「Ｐｒｏａｃｔｉｖｅ型」の方が好適であると考えられる。但し、実際には、完全な「Ｐｒｏａｃｔｉｖｅ型」にするとフローエントリ数が膨大になると考えられるため、一部を「Ｒｅａｃｔｉｖｅ型」にすることにより、フローエントリ数の制約から逃れるといったことも考えられる。
【００３５】
また、「Ｐｒｏａｃｔｉｖｅ型」を用いれば、通信開始前にフローを定義できるため、Ｎｉｍｄａ等のウィルスによる大量フロー発生問題や、不明なパケットによる不正アクセス等が回避可能になると考えられる。
【００３６】
本発明は、オープンフローネットワークにおいて、「Ｐｒｏａｃｔｉｖｅ型」を実現するための具体的な方式の１つである。
【００３７】
［全体構成］
図１に示すように、本発明に係るネットワークシステムは、コントローラ１０と、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ：ｎは台数）と、ルータ３０と、中間装置（ミドルボックス）４０と、端末５０（５０−ｊ、ｊ＝１〜ｍ：ｍは台数）とを含む。
【００３８】
コントローラ１０は、ネットワーク接続状態を示すトポロジ情報等に基づいて経路を計算し、当該経路に関連するスイッチのフローテーブルにフローエントリの登録を行う。
【００３９】
スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、受信したパケットを、自身のフローテーブルに登録されたフローエントリに従って転送する。スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、ネットワークを介して接続されている。
【００４０】
ルータ３０は、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）により形成された内側（内部）のネットワークと、外側（外部）のネットワークとを接続する。
【００４１】
中間装置４０は、ファイアウォール、ロードバランサ（負荷分散装置）、帯域制御装置、セキュリティ監視制御装置等のネットワークの中間に挿入される装置全般を指す。
【００４２】
端末５０（５０−ｊ、ｊ＝１〜ｍ）は、ユーザが利用する入出力装置であり、パケットを生成し、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）のうち、入力側エッジスイッチ（Ｉｎｇｒｅｓｓ）に該当するスイッチに送信する。
【００４３】
コントローラ１０とスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）は、セキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）で接続されている。また、ルータ３０、中間装置４０、及び端末５０（５０−ｊ、ｊ＝１〜ｍ）は、それぞれスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）に接続されている。
【００４４】
［ハードウェアの例示］
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
【００４５】
コントローラ１０及び端末５０（５０−ｊ、ｊ＝１〜ｍ）の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラ１０及び端末５０（５０−ｊ、ｊ＝１〜ｍ）は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）でも良い。他にも、コントローラ１０及び端末５０（５０−ｊ、ｊ＝１〜ｍ）の例として、携帯電話機、スマートフォン、スマートブック、カーナビ（カーナビゲーションシステム）、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット（電子機器）、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）、ＯＡ（Ｏｆｆｉｃｅ  Ａｕｔｏｍａｔｉｏｎ）機器、店頭端末・高機能コピー機、デジタルサイネージ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｇｅ：電子看板）等が考えられる。なお、コントローラ１０及び端末５０（５０−ｊ、ｊ＝１〜ｍ）は、車両や船舶、航空機等の移動体に搭載されていても良い。
【００４６】
スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）、ルータ３０、及び中間装置４０の例として、ネットワークスイッチ（ｎｅｔｗｏｒｋ  ｓｗｉｔｃｈ）、ルータ（ｒｏｕｔｅｒ）、プロキシ（ｐｒｏｘｙ）、ゲートウェイ（ｇａｔｅｗａｙ）、ファイアウォール（ｆｉｒｅｗａｌｌ）、ロードバランサ（ｌｏａｄ  ｂａｌａｎｃｅｒ：負荷分散装置）、帯域制御装置（ｐａｃｋｅｔ  ｓｈａｐｅｒ）、セキュリティ監視制御装置（ＳＣＡＤＡ：Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）、ゲートキーパー（ｇａｔｅｋｅｅｐｅｒ）、基地局（ｂａｓｅ  ｓｔａｔｉｏｎ）、アクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）、通信衛星（ＣＳ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ）、或いは、複数の通信ポートを有する計算機等が考えられる。また、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）は、物理マシン上に構築された仮想マシン（ＶＭ）により実現される仮想スイッチでも良い。
【００４７】
コントローラ１０、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）、ルータ３０、中間装置４０、及び端末５０（５０−ｊ、ｊ＝１〜ｍ）は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークに接続するための通信用インターフェース（ｉｎｔｅｒｆａｃｅ（Ｉ／Ｆ））によって実現される。
【００４８】
上記のプロセッサの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ（ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ）、或いは、専用の機能を有する半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等が考えられる。
【００４９】
上記のメモリの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。
【００５０】
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の１チップ化が進んでいる。したがって、計算機等に搭載される１チップマイコンが、プロセッサ及びメモリを備えている事例が考えられる。
【００５１】
上記の通信用インターフェースの例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。
【００５２】
また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００５３】
但し、実際には、これらの例に限定されない。
【００５４】
［物理ネットワーク］
図１に示した物理ネットワーク（実ネットワーク）について説明する。
【００５５】
ここでは、スイッチの台数を「３台」、端末の台数を「２台」とした場合を例に説明する。但し、実際には、これらの例に限定されない。
【００５６】
ルータ３０のインターフェース「ｅ１」とスイッチ２０−１のインターフェース「ｐ１１」が接続されている。
【００５７】
中間装置４０のインターフェース「Ａ１」とスイッチ２０−１のインターフェース「ｐ１２」が接続されている。
【００５８】
中間装置４０のインターフェース「Ａ２」とスイッチ２０−２のインターフェース「ｐ１３」が接続されている。
【００５９】
端末５０−１のインターフェース「ｅ２」とスイッチ２０−２のインターフェース「ｐ２１」が接続されている。
【００６０】
端末５０−２のインターフェース「ｅ３」とスイッチ２０−２のインターフェース「ｐ２２」が接続されている。
【００６１】
また、コントローラ１０は、内部の構成管理部において、以下に説明する論理ネットワークの構成（仮想構成）を管理する。なお、この構成管理部は、上記のプロセッサと上記のメモリにより実現されるものとする。
【００６２】
［論理ネットワーク］
図１に示した論理ネットワーク（仮想ネットワーク）について説明する。
【００６３】
図１に示した論理ネットワークでは、ルータ、中間装置、端末がそれぞれ仮想ノードとして定義され、仮想ブリッジと接続されて、論理的な仮想ネットワークを構成している。
【００６４】
ここでは、論理ネットワークは、仮想ブリッジ「ｖＢＲ」１２０と、ルータ「Ｒ」１３０と、中間装置「Ｍ１」１４０と、端末「Ｓ１」１５０−１と、端末「Ｓ２」１５０−２を含む。
【００６５】
論理ネットワークのインターフェース（仮想インターフェース）と物理ネットワークのインターフェース（物理インターフェース）は、論理ネットワーク設計時のコンフィグ設定により対応付けられる。
【００６６】
仮想インターフェースと物理インターフェースの対応関係について説明する。
【００６７】
ルータ「Ｒ」１３０の仮想インターフェース「ｖｅ１」は、スイッチ２０−１のインターフェース「ｐ１１」に対応付けられる。
【００６８】
端末「Ｓ１」１５０−１の仮想インターフェース「ｖｅ２」は、スイッチ２０−２のインターフェース「ｐ２１」に対応付けられる。
【００６９】
端末「Ｓ２」１５０−２の仮想インターフェース「ｖｅ３」は、スイッチ２０−２のインターフェース「ｐ２２」に対応付けられる。
【００７０】
中間装置「Ｍ１」１４０の仮想インターフェース「ＶＡ１」は、スイッチ２０−１のインターフェース「ｐ１２」に対応付けられる。
【００７１】
中間装置「Ｍ１」１４０の仮想インターフェース「ＶＡ２」は、スイッチ２０−１のインターフェース「ｐ１３」に対応付けられる。
【００７２】
ここで、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ１」は、中間装置「Ｍ１」１４０の仮想インターフェース「ＶＡ２」と、ルータ「Ｒ」１３０の仮想インターフェース「ｖｅ１」に接続されている。
【００７３】
ここで、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ１」には、リダイレクトポリシー（リダイレクト型のポリシー）として、「ポリシー１」が定義されている。「ポリシー１」には、「条件１」と「条件２」が設定されている。
【００７４】
「条件１」は、送信パケット（出力パケット）を中間装置「Ｍ１」１４０宛に送信するというルールになっている。
【００７５】
「条件２」は、送信パケットを仮想ルータ「Ｒ」１３０宛に送信するというルールになっている。
【００７６】
すなわち、仮想ブリッジ「ｖＢＲ」１２０は、送信パケットが「条件１」に合致した場合、中間装置「Ｍ１」１４０の仮想インターフェース「ＶＡ２」宛に送信する。
【００７７】
また、仮想ブリッジ「ｖＢＲ」１２０は、送信パケットが「条件２」に合致した場合、ルータ「Ｒ」１３０の仮想インターフェース「ｖｅ１」宛に送信する。
【００７８】
更に、中間装置「Ｍ１」１４０の仮想インターフェース「ＶＡ１」は、ルータ「Ｒ」１３０の仮想インターフェース「ｖｅ１」に接続されている。
【００７９】
また、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ２」と端末「Ｓ１」１５０−１の仮想インターフェース「ｖｅ２」が接続されている。
【００８０】
また、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ３」と端末「Ｓ２」１５０−２の仮想インターフェース「ｖｅ３」が接続されている。
【００８１】
図１に示すネットワークにおいて、論理ネットワークで定義されている接続関係や、データの流れを守ったまま、物理ネットワークの接続設定に反映させるため、仮想構成のリダイレクトポリシーを物理ネットワークに反映させる。
【００８２】
［仮想構成のリダイレクトポリシー］
図１の論理ネットワークの動作（期待される動作）について説明する。
【００８３】
端末「Ｓ１」１５０−１、或いは、端末「Ｓ２」１５０−２から、ルータ「Ｒ」１３０の外側に向かって送信されるトラヒック（ｔｒａｆｆｉｃ）は、仮想ブリッジ「ｖＢＲ」１２０に送信された後、仮想インターフェース「ｖｐ１」から出力される。
【００８４】
ここで、仮想インターフェース「ｖｐ１」に対して「ポリシー１」が適用され、「ポリシー１」の条件に従って「条件１」に合致する場合、トラヒックは、仮想インターフェース「ｖｐ１」から中間装置「Ｍ１」１４０へ転送される。
【００８５】
そして、中間装置「Ｍ１」１４０のトラヒック監視、制御、セキュリティ等の機能を適用された後に、ルータ「Ｒ」１３０に出力される。
【００８６】
一方、「条件２」に合致する場合、中間装置「Ｍ１」１４０に送信されずに、そのままルータ「Ｒ」１３０に送信される。
【００８７】
論理ネットワークの動作に従うように、スイッチの転送設定に落とし込むために、任意の端末「Ａ」、端末「Ｂ」があると仮定した場合における、端末「Ａ」→端末「Ｂ」の経路設定について物理展開することが必要である。
【００８８】
端末「Ａ」、端末「Ｂ」は、サーバやクライアントＰＣ等の計算機、セキュリティ装置やロードバランサ等の中間装置、ルータやレイヤ３スイッチ、レイヤ２スイッチ等の中継装置のように、オープンフローネットワークシステムにおけるスイッチのポートに接続される、オープンフローネットワークシステムにおけるスイッチ以外の物理的な装置を指す。
【００８９】
図１の論理ネットワークでは、ルータ「Ｒ」１３０、端末「Ｓ１」１５０−１、端末「Ｓ２」１５０−２が、端末「Ａ」又は端末「Ｂ」となる。したがって、「Ｒ」→「Ｓ１」、「Ｒ」→「Ｓ２」、「Ｓ１」→「Ｓ２」、「Ｓ１」→「Ｒ」、「Ｓ２」→「Ｓ１」、「Ｓ２」→「Ｒ」が、任意の端末「Ａ」と端末「Ｂ」との間の通信（端末「Ａ」→端末「Ｂ」）に相当する。
【００９０】
例えば、図１に示す論理ネットワークにおいて、ルータ「Ｒ」１３０からのＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等のパケットを受信すると、ルータ「Ｒ」１３０のＭＡＣアドレスを知ることができ、また、端末「Ｓ１」１５０−１からＡＲＰ等のパケットを受信すると、端末「Ｓ１」１５０−１のＭＡＣアドレスを知ることができる。
【００９１】
このとき、予め（事前に）「Ｐｒｏａｃｔｉｖｅ型」でルータ「Ｒ」１３０と端末「Ｓ１」１５０−１間にスイッチの転送設定ができれば、オープンフローネットワークシステムにおけるスイッチにおいて、フローの最初のパケットがコントローラ１０に上がってきて（最初のパケットの問い合わせを受けて）、コントローラ１０で経路を解決するという、「Ｒｅａｃｔｉｖｅ型」の受動的な動作を削減することができ、データ転送トラヒックが入力する前に能動的にスイッチ設定を行うことができる。
【００９２】
［ポリシー経路設定］
以上の目的のため、図２を参照し、端末「Ａ」と端末「Ｂ」との間の通信（端末「Ａ」→端末「Ｂ」）の経路設定の動作について説明する。
【００９３】
（１）ステップＳ１０１
まず、コントローラ１０は、仮想ネットワークにおいて、端末「Ａ」と端末「Ｂ」との間の通信（端末「Ａ」→端末「Ｂ」）にリダイレクトポリシーがあるかどうかを判断する。
【００９４】
（２）ステップＳ１０２
このとき、コントローラ１０は、端末「Ａ」と端末「Ｂ」との間の通信（端末「Ａ」→端末「Ｂ」）にリダイレクトポリシーがない場合には、端末「Ａ」から端末「Ｂ」に向かって、端末「Ｂ」の宛先にマッチ（適合）するフローエントリを設定することで、転送フローを事前に設定する。
【００９５】
（３）ステップＳ１０３
また、コントローラ１０は、端末「Ａ」と端末「Ｂ」との間の通信（端末「Ａ」→端末「Ｂ」）にリダイレクトポリシーがある場合には、リダイレクトポリシーが設定されている仮想インターフェースとリダイレクト先の仮想インターフェースについてチェック（確認）する。
【００９６】
（４）ステップＳ１０４
コントローラ１０は、それらの仮想インターフェースが、端末やルータ、中間装置等の物理ポートにマッピングされているかどうかを判断する。すなわち、コントローラ１０は、仮想ネットワーク上のポリシーが実際の物理スイッチのポートに対応するルールかどうか判定する。
【００９７】
（５）ステップＳ１０５
コントローラ１０は、それらの仮想インターフェースが両方とも物理ポートにマッピングされている場合（仮想ネットワーク上のポリシーが実際の物理スイッチのポートに対応するルールである場合）には、その２つの物理ポート間において、フローエントリの設定位置（ポリシー設定を行うインターフェース）を、入力側のインターフェースにマッピングされているスイッチポート（入力物理ポート）とし、リダイレクト先を出力側のインターフェースにマッピングされているスイッチポート（宛先物理ポート）として、フローエントリのマッチ条件をポリシーのマッチ条件（ポリシー条件）とする。すなわち、コントローラ１０は、ポリシー設定を行うインターフェースを「入力物理ポート」、リダイレクト先のインターフェースを「宛先物理ポート」とし、マッチ条件を「ポリシー条件」とする。このとき、コントローラ１０は、端末「Ａ」、端末「Ｂ」のアドレスに関係なく、リダイレクトポリシーに対応するフローエントリをスイッチに設定することが可能である。
【００９８】
（６）ステップＳ１０６
また、コントローラ１０は、それらの仮想インターフェースのいずれか、若しくは、両者が仮想ポートにのみマッピングされている場合（仮想ネットワーク上のポリシーが実際の物理スイッチのポートに対応するルールでない場合）には、フロー設定が可能なように、物理情報を解決する。まず、コントローラ１０は、仮想ネットワークにおいて、宛先が仮想ポートにマッピングされている場合には、その仮想ノードから端末「Ｂ」宛まで辿り、宛先となる物理ポートを得る。例えば、仮想ノードが仮想ブリッジ「ｖＢＲ」１２０で、その先に端末「Ｂ」が接続されている場合には、端末「Ｂ」が接続されているポートが「宛先物理ポート」になる。このとき、コントローラ１０は、仮想ネットワークを辿る際に、端末「Ａ」、端末「Ｂ」のネットワークアドレス情報が必要になるため、ステーション検知（端末の検知）の際に、端末「Ａ」又は端末「Ｂ」がＡＲＰ等のパケットを送出した時にＭＡＣアドレスを学習し、そのＭＡＣアドレスを利用してリダイレクトポリシーに対応するフローエントリをスイッチに設定する。
【００９９】
（７）ステップＳ１０７
次に、コントローラ１０は、リダイレクト元の入力ポートが仮想ポートである場合には、入力物理ポートが得られるまで仮想ネットワークを辿る。例えば、コントローラ１０は、端末「Ａ」から中間装置「Ｍ１」１４０を経由し、仮想ブリッジ「ｖＢＲ」１２０を経由して端末「Ｂ」に接続されている場合には、仮想ブリッジ「ｖＢＲ」１２０から端末「Ａ」に向かって辿り、中間装置「Ｍ１」１４０の物理ポートが得られたら、その物理ポートを「入力物理ポート」とする。
【０１００】
（８）ステップＳ１０８
また、コントローラ１０は、リダイレクト先がＭＡＣアドレスを持たない中間装置「Ｍ１」１４０の場合には、中間装置「Ｍ１」１４０の先に接続される端末「Ｂ」のアドレスが宛先アドレスになるため、仮想ネットワークを辿って「最終的な宛先ＭＡＣアドレス」を取得する。
【０１０１】
（９）ステップＳ１０９
コントローラ１０は、フローエントリの設定位置を中間装置「Ｍ１」１４０の物理ポートとし、リダイレクト先を端末「Ｂ」が接続されているポートとして、フローエントリのマッチ条件をポリシーのマッチ条件と宛先アドレス条件とする。すなわち、コントローラ１０は、ポリシー設定を行うインターフェースを「入力物理ポート」、リダイレクト先のインターフェースを「宛先物理ポート」とし、マッチ条件を「ポリシー条件＋宛先アドレス条件」とする。
【０１０２】
以上のように、コントローラ１０は、ポリシーを設定するスイッチのポート位置、リダイレクト先、フローエントリのマッチ条件となる宛先アドレスを求めることで、仮想ネットワークで定義されたリダイレクト処理を、該当するスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々のフローエントリに設定することができる。
【０１０３】
これにより、フロースイッチのパケット受信ではなく、端末の検知（ＡＲＰ等）や管理システムからの端末の登録等をトリガ（ｔｒｉｇｇｅｒ）にして、仮想ネットワークにて定義された、中間装置へとリダイレクトさせるようなポリシーを事前に設定することができる。
【０１０４】
［フローエントリの設定の例］
次に、図１に示した構成例におけるフローエントリの設定について具体的に説明する。
【０１０５】
ここでは、図１において、端末「Ｓ１」１５０−１からルータ「Ｒ」１３０宛のフロー設定をする場合を考える。
【０１０６】
この経路上では、「ポリシー１」が適用されており、「条件１」の場合には中間装置「Ｍ１」１４０を経由し、「条件２」の場合には中間装置「Ｍ１」１４０を経由せずに、ルータ「Ｒ」１３０に送信される。条件１としては、例えばＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）通信で、ＴＣＰの宛先ポート番号が８０番（ＨＴＴＰ）の時、条件２としては、条件１以外の場合、というように、パケットヘッダフィールドで識別できる条件が定義できる。
【０１０７】
「ポリシー１」が適用されているインターフェースは、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ１」であり、リダイレクト先のインターフェースは、中間装置「Ｍ１」１４０の仮想インターフェース「ＶＡ２」と、ルータ「Ｒ」１３０の出力ポート「ｖｅ１」である。
【０１０８】
これらは、いずれも仮想ポートから物理ポートへの転送になる。
【０１０９】
［中間装置「Ｍ１」を経由する場合］
まず、コントローラ１０は、中間装置「Ｍ１」１４０を経由するポリシーについて求める。
【０１１０】
図２のステップＳ１０６において、宛先ポートとして物理ポートを得る。中間装置「Ｍ１」１４０の仮想インターフェース「ＶＡ２」に対応する物理ポートは、中間装置４０のインターフェース「Ａ２」であるので、リダイレクト先のインターフェースは、中間装置４０のインターフェース「Ａ２」に接続されているスイッチ２０−１のインターフェース「ｐ１３」になる。
【０１１１】
また、ポリシーを設定するポートは、仮想ブリッジ「ｖＢＲ」１２０を介して端末「Ｓ１」１５０−１まで辿ると、端末「Ｓ１」１５０−１の仮想インターフェース「ｖｅ２」である。端末「Ｓ１」１５０−１の仮想インターフェース「ｖｅ２」に対応する物理ポートは、端末５０−１のインターフェース「ｅ２」であるので、ポリシー設定を行うインターフェースは、端末５０−１のインターフェース「ｅ２」に接続されているスイッチ２０−２のインターフェース「ｐ２１」になる。
【０１１２】
更に、ルータ「Ｒ」１３０の出力ポート「ｖｅ１」に対応する物理ポートは、ルータ３０のインターフェース「ｅ１」であるので、この経路での宛先は、ルータ３０のアドレス（「Ｍｒ」と記載）になる。
【０１１３】
そこで、スイッチ２０−２のインターフェース「ｐ２１」において、マッチ条件が「条件１」、宛先が「Ｍｒ」、リダイレクト先がインターフェース「ｐ１３」となるフローエントリを設定すれば良い。
【０１１４】
なお、実際には、スイッチ２０−２のインターフェース「ｐ２１」からスイッチ２０−１のインターフェース「ｐ１３」までは、多段のスイッチ構成になっているため、各スイッチのフロー設定には自由度がある。
【０１１５】
すなわち、宛先が「Ｍｒ」の場合にスイッチ２０−３経由でスイッチ２０−１に転送するフローエントリを設定し、スイッチ２０−３からスイッチ２０−１へ入力するポートにおいて、ポリシー１が「条件１」、宛先が「Ｍｒ」という条件で、インターフェース「ｐ１３」ポートへ転送するフローエントリを設定しても良い。
【０１１６】
更に、中間装置からルータの経路については、リンクの両端が物理ポートにマッピングされるので、入力インターフェース「ｐ１２」から出力インターフェース「ｐ１１」となるフローエントリを設定する。
【０１１７】
［中間装置「Ｍ１」を経由しない場合］
次に、「条件２」で、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ１」から、ルータ「Ｒ」１３０の出力ポート「ｖｅ１」へ転送される場合の設定について説明する。
【０１１８】
ルータ「Ｒ」１３０の出力ポート「ｖｅ１」に対応する物理ポートは、ルータ３０のインターフェース「ｅ１」であるので、リダイレクト先のインターフェースは、ルータ３０のインターフェース「ｅ１」に接続されているスイッチ２０−１のインターフェース「ｐ１１」になる。
【０１１９】
スイッチ２０−１のインターフェース「ｐ１１」に対応する仮想インターフェースは、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ１」であるので、仮想ブリッジ「ｖＢＲ」１２０の仮想インターフェース「ｖｐ１」から論理ネットワークを辿った入力側の物理ポートは、端末「Ｓ１」１５０−１が接続されているインターフェース「ｐ２１」になる。
【０１２０】
また、ルータ「Ｒ」１３０の出力ポート「ｖｅ１」に対応する物理ポートは、ルータ３０のインターフェース「ｅ１」であるので、この経路での宛先は、ルータ３０のアドレスである「Ｍｒ」になる。
【０１２１】
そこで、スイッチ２０−２のインターフェース「ｐ２１」において、ポリシー１が「条件２」、宛先が「Ｍｒ」、リダイレクト先がインターフェース「ｐ１１」となるフローエントリを設定すれば良い。
【０１２２】
これについても、先に説明したように、スイッチ２０−２、スイッチ２０−３、スイッチ２０−１の各々について、フローエントリをどのように設定するかは自由度がある。
【０１２３】
［コントローラの構成］
図３を参照して、コントローラ１０の構成例について説明する。
【０１２４】
コントローラ１０は、構成管理部１１と、経路決定部１２と、フローテーブル設定部１３を備える。
【０１２５】
構成管理部１１は、仮想ノードにより形成された仮想ネットワークの構成及びリダイレクトポリシーを管理する。経路決定部１２は、仮想ネットワークの構成及びリダイレクトポリシーを基に、所定のパケットの転送経路を決定する。フローテーブル設定部１３は、転送経路に基づいて、所定のパケットをフローとして一律に制御するためのルールと動作が定義されたフローエントリを、転送経路上のスイッチのフローテーブルに予め設定し、仮想ネットワークのリダイレクトポリシーを物理ネットワークに反映させる。
【０１２６】
なお、経路決定部１２は、リダイレクトポリシーがスイッチの物理インターフェースに対応するルールかどうか判定する。このとき、リダイレクトポリシーがスイッチのポートに対応するルールである場合、フローテーブル設定部１３は、転送経路上のスイッチのフローテーブルに、リダイレクトポリシーに対応するフローエントリを設定する。反対に、リダイレクトポリシーがスイッチのポートに対応するルールでない場合、経路決定部１２は、端末の検知時に取得した端末の情報を利用してスイッチのポートに対応するルールを解決する。フローテーブル設定部１３は、転送経路上のスイッチのフローテーブルに、リダイレクトポリシーに対応するフローエントリを設定する。
【０１２７】
また、経路決定部１２は、仮想ノードの仮想インターフェース間のリダイレクトポリシーと、スイッチの物理インターフェースに関連付けられた仮想インターフェースの情報とを基に、仮想ノードの仮想インターフェースの転送先に関連付けられる物理インターフェースを特定する。フローテーブル設定部１３は、スイッチ内のポリシーフィルタとして、スイッチの物理インターフェースにおける動作が定義されたフローエントリを、スイッチのフローテーブルに設定する。
【０１２８】
［本発明の特徴］
以上のように、本発明では、仮想ネットワークの構成情報において、物理スイッチに関連付けられた仮想インターフェースと、仮想ノード上でのみ定義される仮想インターフェースの間にリダイレクトされるポリシー経路制御に関して、仮想インターフェースの転送先に関連付けられる物理インターフェースを特定して、物理スイッチ内のポリシーフィルタとしてスイッチ動作を設定することで、新規フロー発生時にコントローラにパケットを転送することなく、仮想ネットワーク構成内で定義した任意のポリシー経路制御を実現する。
【０１２９】
また、本発明では、仮想ネットワークにおいてポリシーに基づいてリダイレクト転送する処理において、仮想ネットワーク上のポリシーが実際の物理スイッチのポートに対応するルールかどうか判定し、物理スイッチのポートに対応するルールである場合、端末の情報を利用せずにポリシーに対応する転送ルールを静的に解決し、ポリシーに対応するフローエントリをフローテーブルに設定する。また、物理スイッチのポートに対応するルールでない場合、端末の検知を契機として、端末の情報を利用して転送ルールを動的に解決すし、ポリシーに対応するフローエントリをフローテーブルに設定する。
【０１３０】
［効果の説明］
本発明により、物理ネットワーク構成に依存しない仮想ネットワークにおいて、ミドルボックス（ファイアウォールやセキュリティ機能等の中間装置）を任意に経由する柔軟な経路制御を、安定したネットワーク動作の下で実現することが可能になる。
【０１３１】
そのため、高価なミドルボックスを仮想化環境において柔軟に利用することができ、マルチテナント環境での利用効率向上が可能になる。
【０１３２】
＜備考＞
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０１３３】
なお、本出願は、日本出願番号２０１１−０６０４０８に基づく優先権を主張するものであり、日本出願番号２０１１−０６０４０８における開示内容は引用により本出願に組み込まれる。
【図１】
2012127886.tif 000003
【図２】
2012127886.tif 000004
【図３】
2012127886.tif 000005
【国際調査報告】
2012127886.tif 000006
2012127886.tif 000007
2012127886.tif 000008
2012127886.tif 000009