(57)【要約】  スイッチからの制御情報の送信要求に応じる制御装置の負荷を低減する。制御装置は、マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部と、配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを蓄積する送信要求蓄積部と、前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件が広い制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い制御情報を応答する要求処理部と、を備える。
2014042141.tif 000002
【特許請求の範囲】
【請求項１】
マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部と、
配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを蓄積する送信要求蓄積部と、
前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件の広い制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い制御情報を応答する要求処理部と、
を備えることを特徴とする制御装置。
【請求項２】
前記制御装置は、複数の送信要求蓄積部を有し、
前記各送信要求蓄積部は、１台もしくは２台以上の対応付けられたスイッチからの送信要求を蓄積し、
前記要求処理部は、各送信要求蓄積部毎に、未処理の制御情報の送信要求を選択して、制御情報を応答する請求項１の制御装置。
【請求項３】
前記要求処理部は、送信要求蓄積部毎に予め指定された数の制御情報の送信要求を処理した後、次の送信要求処理部を選択する請求項２の制御装置。
【請求項４】
マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部と、
配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを蓄積する送信要求蓄積部と、
前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件が広い制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い制御情報を応答する要求処理部と、
を備えることを特徴とする制御装置と、
前記制御装置に対して、前記制御情報の送信要求を送信するスイッチと、を含む通信システム。
【請求項５】
マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部を備えた制御装置が、
配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを送信要求蓄積部に蓄積するステップと、
前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件の広い制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い制御情報を応答するステップと、
を含む通信方法。
【請求項６】
マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部を備えた制御装置を構成するコンピュータに、
配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを送信要求蓄積部に蓄積する処理と、
前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件の広い制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い制御情報を応答する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−１９９２８１号（２０１２年  ９月１１日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信システム、通信方法及びプログラムに関し、特に、配下のスイッチ群を制御する制御装置、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「４．３  Ｍａｔｃｈ  Ｆｉｅｌｄｓ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年６月２１日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年６月２１日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は、本発明によって与えられたものである。上述したように、オープンフロースイッチに代表されるスイッチは、受信パケットに適合する制御情報（上記「エントリ」に相当）を保持していない場合に、制御情報の送信要求を送信する。また、デフォルトでは未知のパケットを破棄する動作を行ない、特定の特徴を持つパケットのみ、制御情報の送信要求の送信を行わせるエントリを設定する場合もある。【０００６】
このため、特定のスイッチが、大量のパケットを受信した場合、コントローラに対し、制御情報の送信要求が大量に送信されてしまうということが起こりうる。この結果、コントローラの負荷が増大し、他のスイッチからの制御情報の送信要求への応答が遅れるなどの問題が生ずる可能性がある。【０００７】
本発明は、上記したコントローラに代表されるスイッチからの制御情報の送信要求に応じる制御装置の負荷を低減できる制御装置、通信システム、通信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の視点によれば、マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部と、配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを蓄積する送信要求蓄積部と、前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い（緩い）制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件が広い（緩い）制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い（緩い）制御情報を応答する要求処理部と、を備える制御装置が提供される。【０００９】
第２の視点によれば、マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部と、配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを蓄積する送信要求蓄積部と、前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い（緩い）制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件が広い（緩い）制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い（緩い）制御情報を応答する要求処理部と、を備える制御装置と、前記制御装置に対して、前記制御情報の送信要求を送信するスイッチと、を含む通信システムが提供される。【００１０】
第３の視点によれば、マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部を備えた制御装置が、配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを送信要求蓄積部に蓄積するステップと、前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い（緩い）制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件が広い（緩い）制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い（緩い）制御情報を応答するステップと、を含む通信方法が提供される。本方法は、配下のスイッチを制御する制御装置という、特定の機械に結びつけられている。【００１１】
第４の視点によれば、マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部を備えた制御装置を構成するコンピュータに、配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを送信要求蓄積部に蓄積する処理と、前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い（緩い）制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件が広い（緩い）制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い（緩い）制御情報を応答する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１２】
本発明によれば、スイッチからの制御情報の送信要求に応じる制御装置の負荷を低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態を説明するための図である。
【図２】本発明の第１の実施形態の構成を示す図である。
【図３】本発明の第１の実施形態の動作を示す図である。
【図４】図３の続図である。
【図５】本発明の第１の実施形態の比較例を説明するための図である。
【図６】図５の続図である。
【図７】マッチ条件として複数のフィールドが用いられている場合の比較処理を説明するための図である。
【図８】本発明の第２の実施形態の構成を示す図である。
【図９】本発明の第２の実施形態の制御装置の動作例を表した流れ図である。
【図１０】本発明の第２の実施形態の動作を説明するための図である。
【図１１】本発明の別の実施形態を説明するための図である。
【発明を実施するための形態】
【００１４】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１５】
本発明は、その一実施形態において、図８に示すように、スイッチ（図８の１０）を制御する制御装置（図８の２０Ａ）により実現できる。より具体的には、この制御装置（図８の２０Ａ）は、マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部（図８の２１）と、配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求のうち未処理のものを蓄積する送信要求蓄積部（図８の２３）と、前記制御情報管理部に管理されている制御情報のうち、マッチ条件が広い（緩い）制御情報を選択し、前記送信要求蓄積部に蓄積されている未処理の制御情報の送信要求のうち、前記マッチ条件と照合するフィールドの値が前記マッチ条件の広い（緩い）制御情報に適合する、未処理の制御情報の送信要求を選択し、前記未処理の制御情報の送信要求の送信元のスイッチに対し、前記マッチ条件が広い制御情報に応答する要求処理部（図８の２２Ａ）とを含んで構成される。
【００１６】
この制御装置（図８の２０Ａ）は、例えば図１０に示すように、制御情報管理部（図８の２１）から最も広い（緩い）マッチ条件（ｘ．ｘ．ｘ．ｘ／１６  ａｌｌｏｗ）を持つフローエントリを選択する。次に、送信要求蓄積部２３から、このフローエントリのマッチ条件（ｘ．ｘ．ｘ．ｘ／１６  ａｌｌｏｗ）に適合するＰａｃｋｅｔ−Ｉｎメッセージを検索する。この結果、例えば、図１０の送信元ＩＰアドレス（ｓｒｃＩＰ＝ｘ．ｘ．ｘ．ｘ）の制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）の処理が先に行われる。
【００１７】
本発明は、別の一実施形態において、図１に示すように、スイッチ１０を制御する制御装置２０により実現できる。より具体的には、この制御装置２０は、マッチ条件を含み、該マッチ条件に適合するパケットの処理を行わせるための制御情報を管理する制御情報管理部（図１の２１）と、配下のスイッチから当該スイッチが受信したパケットを処理するための制御情報の送信要求を受けた場合、前記制御情報管理部に管理されている制御情報のマッチ条件と、前記スイッチが受信したパケットの前記マッチ条件と照合するフィールドとを照合し、両者が一致する制御情報のうち、前記マッチ条件が広くなる方の制御情報を選択して、前記スイッチに応答する要求処理部（図１の２２）とを含んで構成される。
【００１８】
例えば、図１に示すように、送信元ＩＰアドレスを１０．５６．０．１とするパケットについて、制御情報の送信要求を受けた場合、制御装置２０は、制御情報管理部（図１の２１）に管理されている２つの制御情報のマッチ条件と照合する。図１の例では、マッチ条件ｓｒｃＩＰ＝１０．５６．０．１／３２の制御情報、マッチ条件ｓｒｃＩＰ＝１０．５６．０．ｘ／２４の制御情報の双方が受信パケットの送信元ＩＰアドレスとマッチするが、制御装置２０は、マッチ条件が広くなる方、即ち、プレフィックス長の短いｓｒｃＩＰ＝１０．５６．０．ｘ／２４の制御情報を選択して、スイッチ１０に応答する。なお、上記の例では、プレフィックスによってマッチ条件が広くなる制御情報を選択したが、プレフィックスではなく、マスクやレンジをもとに、広くなる制御情報を選択してもよい。
【００１９】
このように、マッチ条件が広くなる方の制御情報を応答することによって、当該制御情報が設定されたスイッチ１０において、他のパケットを受信した場合、前記制御情報にマッチする可能性が高くなるため、制御情報の送信要求が発行される可能性も低くなる。結果として、制御装置２０の負荷を低減することが可能となる。また、副次的効果として、スイッチ１０においても制御装置２０への問い合わせが不要となるため、スイッチ１０側の負荷も低減することが可能となる。
【００２０】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の構成を示す図である。図２を参照すると、制御情報管理部２１と、要求処理部２２とを備えた制御装置２０と、制御装置２０によって制御されるスイッチ群１０−１〜１０−３と、スイッチ群１０−１〜１０−３によって構成されるネットワークに接続する端末３１、３２と、が示されている。
【００２１】
スイッチ群１０−１〜１０−３は、非特許文献１、２のオープンフロースイッチ相当のスイッチであり、受信パケットに適合するマッチ条件を持つフローエントリを保持していない場合や、受信パケットに適合するマッチ条件を持つフローエントリが制御装置２０への通知を指示している場合、制御装置２０に対して、フローエントリの送信を要求するメッセージ（以下、「Ｐａｃｋｅｔ−Ｉｎメッセージ」）を送信する。
【００２２】
制御装置２０の制御情報管理部２１には、端末ユーザのアクセスポリシ等に基づいて予め生成されたフローエントリが格納されている。制御情報管理部２１におけるフローエントリは、マッチ条件が広いものが先頭に来るようにソートされた状態で格納されている。このようにすることで、Ｐａｃｋｅｔ−Ｉｎメッセージにて要求されたパケットに対するフローエントリの検索が高速化される。本実施形態では、マッチ条件として用いる送信元ＩＰアドレスの条件が広いエントリが上位に位置するようにソートされているものとする。具体的には、図２に示すように、送信元ＩＰアドレス（ｓｒｃＩＰ）が１９２．１６８．１．ｘ／２４に合致するパケットを次ホップ（指定ポート）に転送するフローエントリの次に、送信元ＩＰアドレス（ｓｒｃＩＰ）が１９２．１６８．１．１／３２に合致するパケットを次ホップ（指定ポート）に転送するフローエントリが格納されているものとする。
【００２３】
制御装置２０の要求処理部２２は、スイッチ１０−１〜１０−３からＰａｃｋｅｔ−Ｉｎメッセージを受信すると、制御情報管理部２１から、Ｐａｃｋｅｔ−Ｉｎメッセージにて指示されたパケットと適合するマッチ条件を持つフローエントリを検索する。そして、制御装置２０の要求処理部２２は、スイッチ１０−１に対して、前記検索の結果得られたフローエントリを送信する。なお、本実施形態では、このときに、制御装置２０の要求処理部２２は、スイッチ１０−２、１０−３に対し、同一のマッチ条件を持ちそれぞれ次のスイッチにパケットの転送を指示するフローエントリを送信する。
【００２４】
なお、上記のような制御装置は、非特許文献１、２のオープンフローコントローラに、制御情報管理部２１と、要求処理部２２とに相当する機能を追加することでも実現できる。
【００２５】
また、図２に示した制御装置２０の要求処理部２２は、制御装置２０を構成するコンピュータに、そのハードウェアを用いて、上記した要求処理部２２におけるフローエントリの検索処理及び送信処理を実行させるコンピュータプログラムにより実現することもできる。
【００２６】
また、本実施形態では、ネットワークの端部に位置するスイッチ１０−１に２台の端末３１、３２が接続されているものとする。また、端末３１のＩＰアドレスは、１９２．１６８．１．１、端末３２のＩＰアドレスは、１９２．１６８．１．２であるものとして説明する。
【００２７】
続いて、本実施形態の動作について、図面を参照して詳細に説明する。図３は、端末３１が通信を開始し、最初のパケットが送信された後、後続パケットを処理するためのフローエントリが経路上のスイッチ１０−１〜１０−３に設定されるまでの動作を表した図である。
【００２８】
図３を参照すると、まず端末３１が、任意の宛先に宛てて、自身のＩＰアドレス１９２．１６８．１．１を送信元ＩＰアドレスとしたパケット（宛先ＩＰアドレス等は任意）を送信する（図３の（１））。
【００２９】
スイッチ１０−１は、ＩＰアドレス１９２．１６８．１．１を送信元ＩＰアドレスとしたパケットを受信すると、このパケットに適合するマッチ条件を持つフローエントリを検索する。しかしながら、この時点では、フローエントリは設定されていない。そこで、スイッチ１０−１は、制御装置２０に対して、前記パケットまたは前記パケットから抽出したパケット情報を含んだＰａｃｋｅｔ−Ｉｎメッセージを送信する（図３の（２））。
【００３０】
Ｐａｃｋｅｔ−Ｉｎメッセージを受信すると、制御装置２０の要求処理部２２は、制御情報管理部２１から、Ｐａｃｋｅｔ−Ｉｎメッセージにて指示されたパケットと適合するマッチ条件を持つフローエントリを検索する。本実施形態では、フローエントリは予めマッチ条件の広いエントリが上位に位置するようにソートされているので、１９２．１６８．１．ｘ／２４に合致するパケットを次ホップ（指定ポート）に転送するフローエントリがスイッチに転送するフローエントリとなる。
【００３１】
そして、制御装置２０は、スイッチ１０−１に対して、前記検索の結果得られた送信元ＩＰアドレスが＝１９２．１６８．１．ｘ／２４をマッチ条件とするフローエントリを送信する。また、制御装置２０は、スイッチ１０−２、１０−３に対して、同一のマッチ条件を持ちそれぞれ次のスイッチにパケットの転送を指示するフローエントリを送信する（図３の（３））。
【００３２】
以上のように、より広いマッチ条件を持つフローエントリが設定されると、例えば、図４に示すように、端末３２が新たに通信を開始し、パケットを送信した場合（図４の（４）、送信元ＩＰアドレスが１９２．１６８．１．２であるパケットは、図３の（３）にて設定されたフローエントリにて処理されるので、制御装置２０に対してＰａｃｋｅｔ−Ｉｎメッセージを送信することなく、転送される（図４（５））。
【００３３】
図５は、本実施形態のようにマッチ条件の広いフローエントリではなく、ロンゲストマッチで選択したフローエントリを設定した場合の動作（参考例）を説明するための図である。図５に示すように、ロンゲストマッチでフローエントリを選択した場合、送信元ＩＰアドレス（ｓｒｃＩＰ）が１９２．１６８．１．ｘ／２４に合致するパケットを次ホップ（指定ポート）に転送するフローエントリではなく、送信元ＩＰアドレス（ｓｒｃＩＰ）が１９２．１６８．１．１／３２に合致するパケットを次ホップ（指定ポート）に転送するフローエントリが設定されることになる（図５の（１）〜（３’））。
【００３４】
そして、先の第１の実施形態と同様に端末３２が新たに通信を開始し、送信元ＩＰアドレスが１９２．１６８．１．２であるパケットを送信した場合、スイッチ１０−１は、既存のフローエントリにマッチしないパケットを受信したので、制御装置２０に対し、端末３２からのパケットを処理するためのフローエントリの設定を要求するＰａｃｋｅｔ−Ｉｎメッセージを送信する。そして、制御装置２０は、スイッチ１０−１に、１９２．１６８．１．ｘ／２４に合致するパケットを次ホップ（指定ポート）に転送するフローエントリをスイッチ１０−１〜１０−３に送信する（図６の（４）〜（６））。
【００３５】
以上のように、本実施形態によれば、スイッチからのＰａｃｋｅｔ−Ｉｎメッセージに応じる制御装置の負荷を低減することが可能となる。その理由は、複数のフローエントリのうち、マッチ条件が広い方のフローエントリを先に設定するように構成したことにある。
【００３６】
なお、上記実施形態では、制御情報として、パケットを転送するためのフローエントリを送信する動作を示したが、スイッチにパケットを破棄させるフローエントリを送信してもよい。
【００３７】
また、上記した実施形態では、マッチ条件として送信元ＩＰアドレスのみを用いる例を挙げて説明したが、複数のフィールドをマッチ条件として用いることも可能である。図７は、ＩＰアドレスとポート番号をマッチ条件とした場合のフローエントリの比較処理を説明するための図である。ＩＰアドレスとポート番号のいずれもパターン数が多い程、広いマッチ条件が設定されているものとする。この場合、ＩＰアドレスのパターン数とポート番号のパターン数を乗じた値をマッチ条件の広さと看做すことができる。従って、ＩＰアドレスのパターン数とポート番号のパターン数を乗じた値（比較値）が大きい方のマッチ条件を持つフローエントリを選択すればよい。例えば、図７の例では、ＩＰアドレスのパターン数とポート番号のパターン数を乗じた値（比較値）が大きいマッチ条件Ｂを選択することになる。また、これは、マッチ条件の各フィールドの長さ（プレフィックス長等）の積が短い方を選択する操作と同等である。
【００３８】
また、マッチ条件として、下位のプロトコル（レイヤ）の条件のみが指定された場合、上位のプロトコル（レイヤ）の条件はａｎｙ（ワイルドカード）とみなして、比較値を計算してもよい。例えば、イーサネット（登録商標）フレームのプロトコル（レイヤ）でＩＰｖ４の指定のみが指定されている場合、その上位であるＩＰアドレスとＴＣＰ／ＵＤＰの条件をａｎｙとして、ＩＰソースアドレス（２＾３２通り）、ＩＰデスティネーションアドレス（２＾３２通り）、ＴＣＰ／ＵＤＰソースポート（２＾１６通り）、ＴＣＰ／ＵＤＰデスティネーションポート（２＾１６通り）のパターンがある。この場合、比較値は２＾９６乗として扱うことができる。
【００３９】
また、上記の例では、制御装置２０は、Ｐａｃｋｅｔ−Ｉｎに対応して広くマッチする制御情報を送信したが、能動的に制御情報を送る場合においても、制御情報をソートして、広くマッチするフローエントリから優先してスイッチ１０へ送信してもよい。
【００４０】
［第２の実施形態］
続いて、上記第１の実施形態の制御装置２０に変更を加えた本発明の第２の実施形態について図面を参照して詳細に説明する。図８は、本発明の第２の実施形態の構成を示す図である。図２に示した第１の実施形態との相違点は、制御装置に、未処理のＰａｃｋｅｔ−Ｉｎメッセージを蓄積する送信要求蓄積部２３が追加され、要求処理部２２Ａに前記送信要求蓄積部２３に蓄積された未処理のＰａｃｋｅｔ−Ｉｎメッセージを処理する機能が追加されている点である。その他の構成は第１の実施形態と同様であるので、以下、その相違点を中心に説明する。
【００４１】
送信要求蓄積部２３には、例えば、要求処理部２２ＡがあるＰａｃｋｅｔ−Ｉｎメッセージを処理している間に他のスイッチからＰａｃｋｅｔ−Ｉｎメッセージを受信した場合など、処理待ちとなるＰａｃｋｅｔ−Ｉｎメッセージが蓄積される。
【００４２】
要求処理部２２Ａは、送信要求蓄積部２３に未処理のＰａｃｋｅｔ−Ｉｎメッセージが蓄積されている場合、送信要求蓄積部２３から、未処理のＰａｃｋｅｔ−Ｉｎメッセージを取り出して、上述の第１の実施形態と同様に、より広いマッチ条件を持つフローエントリを検索して、Ｐａｃｋｅｔ−Ｉｎメッセージの送信元のスイッチ及びその他経路上のスイッチに送信する。
【００４３】
さらに、要求処理部２２Ａは、送信要求蓄積部２３に、２以上の未処理のＰａｃｋｅｔ−Ｉｎメッセージが蓄積されている場合、次のような動作を行う。
【００４４】
図９は、上記２以上の未処理のＰａｃｋｅｔ−Ｉｎメッセージが蓄積されている場合の動作を説明するための図である。まず、要求処理部２２Ａは、制御情報管理部２１から最も広いマッチ条件を持つフローエントリを選択し（ステップＳ１０１）、送信要求蓄積部２３から、前記マッチ条件に適合するパケットのＰａｃｋｅｔ−Ｉｎメッセージを検索する（ステップＳ１０２）。そして、要求処理部２２Ａは、前記検索の結果、見つかったＰａｃｋｅｔ−Ｉｎメッセージを先に処理する（具体的には、前記選択したフローエントリを送信元スイッチに送信する（ステップＳ１０３））。そして、以上の処理を未処理のＰａｃｋｅｔ−Ｉｎメッセージが無くなるまで繰り返す。
【００４５】
図１０は、上記ステップＳ１０１〜Ｓ１０３の動作を具体的に説明するための図である。例えば、ステップＳ１０１において、制御情報管理部２１から最も広いマッチ条件（ｘ．ｘ．ｘ．ｘ／１６  ａｌｌｏｗ）を持つフローエントリが選択される。そして次のステップＳ１０２において、送信要求蓄積部２３から、前記フローエントリのマッチ条件（ｘ．ｘ．ｘ．ｘ／１６  ａｌｌｏｗ）に適合するＰａｃｋｅｔ−Ｉｎメッセージの検索が行われる。この結果、例えば、図１０の送信元ＩＰアドレス（ｓｒｃＩＰ＝ｘ．ｘ．ｘ．ｘ）のＰａｃｋｅｔ−Ｉｎメッセージの処理が先に行われる。
【００４６】
このように、未処理のＰａｃｋｅｔ−Ｉｎメッセージが滞留している場合、最も広いマッチ条件を設定できるＰａｃｋｅｔ−Ｉｎメッセージから先に処理することにより、以降のＰａｃｋｅｔ−Ｉｎメッセージの発生を抑えることが可能となる。
【００４７】
以上、本発明の各実施形態を説明したが、本発明は、上記した各実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたネットワーク構成や、第１、第２のスイッチの数はあくまで一例であり、その数に制約は無い。
【００４８】
また、上記した第２の実施形態では、制御装置２０の要求処理部２２Ａがより広いマッチ条件を設定できるフローエントリを選択するものとして説明したが、この機能を省略してもよい。この場合、未処理のＰａｃｋｅｔ−Ｉｎメッセージが複数ある場合に、より広いマッチ条件を設定できるＰａｃｋｅｔ−Ｉｎメッセージを先に処理することにより、Ｐａｃｋｅｔ−Ｉｎメッセージの発生を抑えることに特化した構成が実現される。
【００４９】
また、上記した説明では、送信要求蓄積部２３は、１つだけであったが、複数あってもよい。例えば、図１１に示すように、１つの制御装置２０Ｂが、複数のスイッチ１０−１〜１０−Ｎと接続している場合に、制御装置２０Ｂはそれぞれのスイッチ用に、送信要求蓄積部２３−１〜２３-Ｎを設けてもよい。
【００５０】
図１１の構成の場合、各スイッチ１０−１〜１０−ＮからのＰａｃｋｅｔ−Ｉｎメッセージは、各スイッチに対応した送信要求蓄積部２３−１〜２３−Ｎにそれぞれ蓄積される。要求処理部２２Ａは、生成要求処理部ごとに、上記第２の実施形態と同様に、最も広いマッチ条件に適合するＰａｃｋｅｔ−Ｉｎメッセージを優先的に処理する。また、送信要求蓄積部２３−１〜２３−Ｎ間の優先順位としては、送信要求蓄積部２３−１のＰａｃｋｅｔ−ＩｎメッセージをＸ個処理したら、次は送信要求蓄積部２３−２のＰａｃｋｅｔ−ＩｎメッセージをＸ個処理するというようにラウンドロビン方式等を採用してもよい。なお、Ｘは事前に決められた値であり、例えば設定ファイル等で指定される。また、送信要求蓄積部が空の場合や、Ｘ個の処理を行う前に空になった場合は、次の送信要求蓄積部の処理に移ってもよい。
【００５１】
図１１に示した構成によれば、以下の効果が奏出される。図８に示した構成のように送信要求蓄積部２３が１つだけの場合には、単純に最も広いマッチ条件に適合するか否かにより処理順序が決まるため、広いマッチ条件に適合するＰａｃｋｅｔ−Ｉｎメッセージを送信する特定のスイッチの要求だけが優先して処理される可能性がある。例えば、特定のスイッチに、たまたま広いマッチ条件にマッチするパケットが連続して到達した場合、そのスイッチからのＰａｃｋｅｔ−Ｉｎメッセージの処理が優先されるため、他のスイッチのＰａｃｋｅｔ−Ｉｎメッセージの処理が遅延する可能性がある。しかしながら、図１１に示す構成及び動作によれば、送信要求蓄積部がスイッチ毎に分かれており、予め定めた順序で処理が行われるため、特定のスイッチのＰａｃｋｅｔ−Ｉｎメッセージのみが処理されることを防止することができる。
【００５２】
また、上記した説明では、１回の生成要求の処理数Ｘは、各送信要求蓄積部２３−１から２３−Ｎで同じであったが、送信要求蓄積部毎に変えてもよい。この動作の場合は、例えば、基幹スイッチの送信要求の処理数を多くするなどの優先度をつけることが出来る。その他、各スイッチの位置やパケットの受信頻度などを考慮して各送信要求蓄積部に優先順位を設定してもよい。
【００５３】
なお、図１１の例では、スイッチ１０−１〜１０−Ｎと送信要求蓄積部２３−１〜２３−Ｎは１対１の関係であったが、複数のスイッチの生成要求を１つの送信要求蓄積部に蓄積させてもよい。
【００５４】
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５５】
１０、１０−１〜１０−Ｎ  スイッチ（群）
２０、２０Ａ、２０Ｂ  制御装置
２１  制御情報管理部
２２、２２Ａ  要求処理部
２３、２３−１〜２３−Ｎ  送信要求蓄積部
３１、３２  端末
【図１】
2014042141.tif 000003
【図２】
2014042141.tif 000004
【図３】
2014042141.tif 000005
【図４】
2014042141.tif 000006
【図５】
2014042141.tif 000007
【図６】
2014042141.tif 000008
【図７】
2014042141.tif 000009
【図８】
2014042141.tif 000010
【図９】
2014042141.tif 000011
【図１０】
2014042141.tif 000012
【図１１】
2014042141.tif 000013
【国際調査報告】
2014042141.tif 000014
2014042141.tif 000015
2014042141.tif 000016