(57)【特許請求の範囲】
【請求項１】
パケットを転送するスイッチと、
前記スイッチに対し、アウトオブバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定するアウトオブバンド制御サーバと、
前記スイッチに対し、インバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定するインバンド制御サーバと
を含み、
前記スイッチは、前記アウトオブバンド制御チャンネル及び前記インバンド制御チャンネルのうち、アクティブの制御チャンネルから、スタンバイの制御チャンネルに切り替えることを特徴とする
ネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記アウトオブバンド制御サーバは、
前記スイッチとの間で前記アウトオブバンド制御チャンネルを確立する手段と、
前記スイッチと前記インバンド制御サーバとの間の前記インバンド制御チャンネル用の経路情報を設定する手段と
を具備する
ネットワークシステム。
【請求項３】
請求項１又は２に記載のネットワークシステムであって、
前記スイッチは、
前記アウトオブバンド制御チャンネルと前記インバンド制御チャンネルとの双方の制御チャンネルの障害を監視する手段を更に備え、
前記スイッチは、
障害発生時に、前記アウトオブバンド制御チャンネル及び前記インバンド制御チャンネルのうち、アクティブの制御チャンネルから、スタンバイの制御チャンネルに切り替える
ネットワークシステム。
【請求項４】
請求項１乃至３のいずれか一項に記載のネットワークシステムにおいて、スイッチ、アウトオブバンド制御サーバ、並びにインバンド制御サーバのうち少なくとも１つとして使用される計算機。
【請求項５】
スイッチにより、パケットを転送することと、
アウトオブバンド制御サーバから前記スイッチに対し、アウトオブバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定することと、
インバンド制御サーバから前記スイッチに対し、インバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定することと、
前記スイッチにより、前記アウトオブバンド制御チャンネル及び前記インバンド制御チャンネルのうち、アクティブの制御チャンネルから、スタンバイの制御チャンネルに切り替えることと
を含む
ネットワーク冗長化方法。
【請求項６】
請求項５に記載のネットワーク冗長化方法であって、
前記アウトオブバンド制御サーバにより、前記スイッチとの間で前記アウトオブバンド制御チャンネルを確立することと、
前記アウトオブバンド制御サーバにより、前記スイッチと前記インバンド制御サーバとの間の前記インバンド制御チャンネル用の経路情報を設定することと
を含む
ネットワーク冗長化方法。
【請求項７】
請求項５又は６に記載のネットワーク冗長化方法であって、
前記スイッチにより、前記アウトオブバンド制御チャンネルと前記インバンド制御チャンネルとの双方の制御チャンネルの障害を監視することと、
前記スイッチにより、障害発生時に、前記アウトオブバンド制御チャンネル及び前記インバンド制御チャンネルのうち、アクティブの制御チャンネルから、スタンバイの制御チャンネルに切り替えることと
を更に含む
ネットワーク冗長化方法。
【請求項８】
請求項５乃至７のいずれか一項に記載のネットワーク冗長化方法を、スイッチ、アウトオブバンド制御サーバ、及びインバンド制御サーバの各々として機能する計算機に実行させるためのプログラムを記憶した記憶媒体。
【請求項９】
パケットを転送するスイッチであって、
アウトオブバンド制御サーバとの間で第一の制御メッセージを交換するためのアウトオブバンド制御チャンネルを確立する第一の手段と、
インバンド制御サーバとの間で第二の制御メッセージを交換するためのインバンド制御チャンネルを確立する第二の手段とを含み、
前記第一の手段は、前記アウトオブバンド制御サーバから、前記アウトオブバンド制御チャンネルを介して、前記インバンド制御チャンネルを確立するための制御情報を受信し、
前記第二の手段は、前記制御情報に応じて、前記第二の制御メッセージを特定することを特徴とする
スイッチ。
【請求項１０】
インバンド制御サーバとの間で第一の制御メッセージを交換するためのインバンド制御チャンネルを確立することが可能なスイッチとの間に、第二の制御メッセージを交換するためのアウトオブバンド制御チャンネルを確立する手段を含み、
前記インバンド制御チャンネルを確立し、前記第二の制御メッセージを特定するための制御情報を、前記アウトオブバンド制御チャンネルを介して前記スイッチに送信することを特徴とする
制御サーバ。
【請求項１１】
アウトオブバンド制御サーバとの間で第一の制御メッセージを交換するためのアウトオブバンド制御チャンネルを確立することが可能なスイッチとの間に、第二の制御メッセージを交換するためのインバンド制御チャンネルを確立する手段を含み、
前記アウトオブバンド制御チャンネルを介して、前記第二の制御メッセージを特定するための制御情報を受信した前記スイッチからの要求に応じて、前記インバンド制御チャンネルを確立することを特徴とする
制御サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関し、特にパケットを転送するスイッチと経路情報を決定する制御サーバが分離されたネットワークシステムに関する。
【背景技術】
【０００２】
ネットワークシステムにおける経路制御方式の１つとして、近年、通信機器の制御プロトコルであるオープンフロー（ＯｐｅｎＦｌｏｗ）技術を使用した経路制御方式が研究されている。【０００３】
オープンフロー技術による経路制御が行われるネットワークシステムでは、ＯＦＣ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）等の制御サーバが、経路情報を決定し、決定された経路情報に従って、ＯＦＳ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）等のスイッチのフローテーブルを操作することにより、スイッチの挙動を制御する。【０００４】
フローテーブルとは、所定のマッチ条件（ルール）に適合するパケットに対して行うべき所定の処理（アクション）を定義したフローエントリが登録されるテーブルである。ルールに適合するパケット群（パケット系列）をフローと呼ぶ。フローのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、フローのルールとして使用可能である。【０００５】
オープンフロー技術の詳細については、非特許文献１、２に記載されている。【０００６】
図１及び図２は、オープンフロー技術による経路制御が行われるネットワークシステムの例として、パケットを転送するスイッチと、経路情報を決定する制御サーバにより構成されるネットワークシステムを示す。図１は、当該ネットワークシステムの最小単位の基本構成を示す。図２は、当該ネットワークシステムの具体的な構成例を示す。【０００７】
このネットワークシステムは、制御サーバ１０と、スイッチ２０を含む。【０００８】
制御サーバ１０は、経路情報１１を決定し、制御チャンネルを経由して、スイッチ２０のフローテーブル２１上にフローエントリ２２を登録することができる。【０００９】
スイッチ２０は、フローテーブル２１を持ち、フローエントリ２２を保存する。また、スイッチ２０は、フローテーブル２１に保存されたフローエントリ２２に基づいて、リンクを経由して、受信したパケットを他のスイッチ２０や端末３０に転送する。【００１０】
図３は、フローエントリに登録される情報を示す。
フローエントリ２２は、マッチフィールド５１と、プライオリティ５２と、アクション５３を情報として保持する。【００１１】
マッチフィールド５１は、パケットのヘッダ情報とフローエントリとのマッチング（照合）に使用される情報であり、ヘッダ情報に含まれる送信元（Ｓｏｕｒｃｅ）や宛先（Ｄｅｓｔｉｎａｔｉｏｎ）のＭＡＣアドレスやＩＰアドレス、ＶＬＡＮ  ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  −  ｉｄｅｎｔｉｆｉｅｒ）、並びに、物理ポートやアプリケーションポート等に関する情報を持つ。プライオリティ５２は、フローエントリのマッチング順番を決定するための優先順位に関する情報である。アクション５３は、パケットの処理方法（処理内容）に関する情報であり、特定ポートにパケットを送出することやパケットを廃棄することを規定した情報を持つ。【００１２】
図４は、パケットのヘッダ情報を示す。
パケットは、ＭＡＣヘッダ６１と、ＩＰヘッダ６２と、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ヘッダ６３と、暗号化された制御メッセージ６４をヘッダ情報として保持する。この制御メッセージ６４の例として、オープンフロープロトコルメッセージ（ＯｐｅｎＦｌｏｗ  Ｐｒｏｔｏｃｏｌ  Ｍｅｓｓａｇｅ）の１つであり、コントローラからスイッチのフローテーブルにエントリを登録するための「ＦｌｏｗＭｏｄ」メッセージ等が考えられる。【００１３】
ＭＡＣヘッダ６１は、送信元ＭＡＣアドレス（図４のＳｒｃ  ＭＡＣ）と、宛先ＭＡＣアドレス（図４のＤｓｔ  ＭＡＣ）を持つ。ＩＰヘッダ６２は、送信元ＩＰアドレス（図４のＳｒｃ  ＩＰ）と、宛先ＩＰアドレス（図４のＤｓｔ  ＩＰ）を持つ。ＴＣＰヘッダ６３は、送信元ポート（図４のＳｒｃ  Ｐｏｒｔ）と、宛先ポート（図４のＤｓｔ  Ｐｏｒｔ）を持つ。【００１４】
スイッチ２０は、受信したパケットのパケットヘッダから抽出したヘッダ情報と、フローエントリのマッチフィールド５１とを参照し、これらに含まれる同一項目の情報を照合して一致すれば、当該フローエントリのアクション５３を、そのパケットに対するアクションとして決定する。【００１５】
図５において、各フローテーブル内のフローエントリについては、それぞれのフローエントリのプライオリティによりマッチング順番を決定している。【００１６】
このように、上記のネットワークシステムにおいては、パケット転送手段としてのスイッチと、経路情報決定手段としての制御サーバが分離され、１台の制御サーバが複数のスイッチの経路情報を決定する構成となっており、スイッチと制御サーバは制御チャンネルで接続されている。このような場合、スイッチと制御サーバ間の通信における遅延や障害を回避するため、制御チャンネルは専用線であると望ましいが、制御チャンネルを専用線にするには、スイッチの専用ポートやネットワークの専用リンクを必要とし、可用性や拡張性が制限される。また、その専用線の制御チャンネルが切断された場合に、スイッチが制御情報を受信することができなくなる。【００１７】
関連する技術として、特許文献１（特開２０００−０７８１９４号公報）にネットワークシステムが開示されている。この関連技術では、ネットワークを構成するスイッチは、複数の接続ポートを備えており、これらのポートにネットワークを構成する伝送路、エンドシステム、ネットワークサーバが接続される。【００１８】
また、特許文献２（特開２００３−２７３９０７号公報）に自律システム、通信制御方法、サーバ及びルータが開示されている。この関連技術では、自律システムは、他の自律システムと相互にＢＧＰ（ボーダー・ゲートウェイ・プロトコル）に基づく通信を行う機能を持つ複数のＢＧＰルータと、ＢＧＰルータによるＢＧＰ通信を集中制御する単一のサーバと、ＢＧＰに基づく通信機能を持たないがサーバとＢＧＰルータ間の通信を中継するルータとを含んで構成されている。ＢＧＰルータとルータは、サーバからの指示により自機におけるＩＰパケットの経路情報を変更することが可能である。【００１９】
また、特許文献３（特開２００７−２５１３４４号公報）に無線通信装置及び無線通信方法が開示されている。この関連技術では、制御情報に含まれる上り制御情報が制御チャンネルに誤りが発生することにより取得することができない場合であっても、当該情報がデータチャンネルにインバンドされていることから、そのインバンドされた上り制御情報を用いて上り送信のためのフレームが生成される。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２０００−０７８１９４号公報
【特許文献２】特開２００３−２７３９０７号公報
【特許文献３】特開２００７−２５１３４４号公報
【非特許文献】
【００２１】
【非特許文献１】“Ｔｈｅ  ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｃｏｎｓｏｒｔｉｕｍ”  ＜ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／＞
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．０．０  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０１）  Ｄｅｃｅｍｂｅｒ  ３１，  ２００９”  ＜ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ＞
【発明の概要】
【００２２】
スイッチが、アウトオブバンド制御サーバだけではなく、インバンド制御サーバのような他の制御サーバも接続可能な仕組みを提供し、アウトオブバンド制御サーバとインバンド制御サーバによって、制御チャンネルを冗長化する仕組みを提供する。
【００２３】
本発明のネットワークシステムは、スイッチと、アウトオブバンド制御サーバと、インバンド制御サーバとを含む。スイッチは、パケットを転送する。アウトオブバンド制御サーバは、スイッチに対し、アウトオブバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定する。インバンド制御サーバは、スイッチに対し、インバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定する。更に、アウトオブバンド制御サーバは、スイッチに対し、インバンド制御サーバへ制御メッセージを転送する旨を規定した制御メッセージ用フローエントリを登録する。ここでは、スイッチ、アウトオブバンド制御サーバ、並びにインバンド制御サーバは、計算機であるものとする。
【００２４】
本発明のネットワーク冗長化方法では、スイッチにより、パケットを転送する。また、アウトオブバンド制御サーバからスイッチに対し、アウトオブバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定する。また、インバンド制御サーバからスイッチに対し、インバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定する。更に、アウトオブバンド制御サーバからスイッチに対し、インバンド制御サーバへ制御メッセージを転送する旨を規定した制御メッセージ用フローエントリを登録する。
【００２５】
本発明のプログラムは、スイッチ、アウトオブバンド制御サーバ、並びにインバンド制御サーバの各々として機能する計算機に、上記のネットワーク冗長化方法を実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。
【００２６】
パケットを転送するスイッチと経路情報を決定する制御サーバが分離されたネットワークシステムにおいて、インバンド制御チャンネルによる冗長化を実現する。
【図面の簡単な説明】
【００２７】
【図１】ネットワークシステムの最小単位の基本構成を示す概念図である。
【図２】ネットワークシステムの具体的な構成例を示す概念図である。
【図３】フローエントリに登録される情報の例を示す図である。
【図４】パケットのヘッダ情報の例を示す図である。
【図５】フローエントリのプライオリティによるマッチング順番の例を示す図である。
【図６Ａ】本発明のネットワークシステムの基本構成を示すブロック図である。
【図６Ｂ】本発明のネットワークシステムの基本構成を示すブロック図である。
【図７】スイッチのフローテーブルに登録される制御メッセージ用フローエントリの例を示す図である。
【図８】スイッチ内部の構成の詳細を示すブロック図である。
【図９】スイッチ情報管理部に登録されるスイッチ情報の例を示す図である。
【図１０】制御サーバ情報管理部に登録される制御サーバ情報の例を示す図である。
【図１１】アウトオブバンド制御サーバ側の動作を示すフローチャートである。
【図１２】インバンド制御サーバ側の動作を示すフローチャートである。
【図１３】アウトオブバンド制御チャンネルの確立の際の動作を示すフローチャートである。
【図１４】インバンド制御チャンネルの確立の際の動作をを示すフローチャートである。
【図１５】インバンド制御サーバへのスイッチ情報の登録の際の動作を示すフローチャートである。
【図１６Ａ】アウトオブバンド制御サーバとインバンド制御サーバの切り替えの際の動作を示すフローチャートである。
【図１６Ｂ】アウトオブバンド制御サーバとインバンド制御サーバの切り替えの際の動作を示すフローチャートである。
【図１７】制御メッセージ用フローエントリのマッチングの際の動作を示すフローチャートである。
【図１８】パケット群からの制御メッセージの抽出の際の動作を示すフローチャートである。
【発明を実施するための形態】
【００２８】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
【００２９】
［基本構成］
図６Ａ、図６Ｂに示すように、本発明のネットワークシステムは、アウトオブバンド制御サーバ１００と、スイッチ２００と、インバンド制御サーバ３００を含む。
【００３０】
アウトオブバンド制御サーバ１００は、スイッチ情報管理部１１０と、冗長制御サーバ管理部１２０と、制御チャンネル接続部１３０と、制御メッセージ処理部１４０と、経路情報１５０を備える。
【００３１】
スイッチ２００は、制御サーバ情報管理部２１０と、制御チャンネル接続部２３０と、制御メッセージ処理部２４０と、フローテーブル２６０を備える。
【００３２】
インバンド制御サーバ３００は、スイッチ情報管理部３１０と、冗長制御サーバ管理部３２０と、制御チャンネル接続部３３０と、制御メッセージ処理部３４０と、経路情報３５０を備える。
【００３３】
アウトオブバンド制御サーバ１００、スイッチ２００、並びにインバンド制御サーバ３００は、計算機内外の各装置の制御、データの生成や処理、及びプログラムの実行を行う機能を有する。例えば、アウトオブバンド制御サーバ１００がパケットを転送する経路外にあり、スイッチ２００及びインバンド制御サーバ３００がパケットを転送する経路上にある場合も考えられる。このとき、アウトオブバンド制御サーバ１００は、アウトオブバンド方式で、制御メッセージのみをスイッチに送信し、インバンド制御サーバ３００は、インバンド方式で、制御メッセージとデータとをスイッチに送信するものでも良い。
【００３４】
スイッチ情報管理部１１０、冗長制御サーバ管理部１２０、制御サーバ情報管理部２１０、スイッチ情報管理部３１０、並びに冗長制御サーバ管理部３２０は、パケットを保持する機能を有する。
【００３５】
冗長制御サーバ管理部１２０、制御チャンネル接続部１３０、制御チャンネル接続部２３０、冗長制御サーバ管理部３２０、並びに制御チャンネル接続部３３０は、ネットワークを介して、外部とパケットの送受信を行う機能を有する。
【００３６】
制御メッセージ処理部１４０、制御メッセージ処理部２４０、並びに制御メッセージ処理部３４０は、制御メッセージの生成や処理を行う機能を有する。
【００３７】
［ハードウェアの例示］
アウトオブバンド制御サーバ１００、及びインバンド制御サーバ３００の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。アウトオブバンド制御サーバ１００、及びインバンド制御サーバ３００は、基本的に同じ構成であると望ましい。
【００３８】
スイッチ２００の例として、オープンフロースイッチを想定している。オープンフロースイッチとして使用可能な機器の例として、ルータ、スイッチングハブ等の中継機器や、ゲートウェイ、プロキシ、ファイアウォール並びにロードバランサ等の中継用の計算機等が考えられる。例えば、スイッチ２００は、マルチレイヤスイッチ（ｍｕｌｔｉ−ｌａｙｅｒ  ｓｗｉｔｃｈ）でも良い。マルチレイヤスイッチは、サポートするＯＳＩ参照モデルの層毎に、更に細かく分類されている。主な種別としては、ネットワーク層（第３層）のデータを読むレイヤ３スイッチ、トランスポート層（第４層）のデータを読むレイヤ４スイッチ、アプリケーション層（第７層）のデータを読むレイヤ７スイッチ（アプリケーションスイッチ）がある。
【００３９】
アウトオブバンド制御サーバ１００、スイッチ２００、並びにインバンド制御サーバ３００は、物理マシン上に構築された仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））でも良い。
【００４０】
アウトオブバンド制御サーバ１００、スイッチ２００、並びにインバンド制御サーバ３００、及び制御メッセージ処理部１４０、制御メッセージ処理部２４０、並びに制御メッセージ処理部３４０のデータ処理機能やプログラム実行機能を実現するハードウェアの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））等が考えられる。
【００４１】
スイッチ情報管理部１１０、冗長制御サーバ管理部１２０、制御サーバ情報管理部２１０、スイッチ情報管理部３１０、並びに冗長制御サーバ管理部３２０のデータ保持機能、及び経路情報１５０、フローテーブル２６０、並びに経路情報３５０を保持するデータ保持機能を実現するハードウェアの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）やＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等のリムーバブルディスクや記憶媒体（メディア）等が考えられる。なお、上記のデータ保持機能を実現するハードウェアは、計算機本体に内蔵された記憶装置に限らず、周辺機器（外付けＨＤＤ等）や外部のサーバ（Ｗｅｂサーバやファイルサーバ等）に設置された記憶装置、或いは、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）でも良い。
【００４２】
冗長制御サーバ管理部１２０や冗長制御サーバ管理部３２０、及び、制御チャンネル接続部１３０、制御チャンネル接続部２３０、並びに制御チャンネル接続部３３０の通信機能を実現するハードウェアの例として、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００４３】
但し、実際には、これらの例に限定されない。
【００４４】
［構成の詳細］
アウトオブバンド制御サーバ１００は、スイッチ情報管理部１１０に、アウトオブバンド配下スイッチ情報１１１として、事前に自分が管理しているスイッチの情報（スイッチＩＤ等）を登録する。更に、アウトオブバンド制御サーバ１００は、ネットワーク上にある他の制御サーバの情報を登録する。アウトオブバンド制御サーバ１００は、冗長制御サーバ管理部１２０を利用し、他の制御サーバに、インバンド制御サーバ３００としてサービスを提供することが可能かを問い合わせる。アウトオブバンド制御サーバ１００は、他の制御サーバからサービス提供可能の通知がある場合、その相手（他の制御サーバ）から受信した証明書を利用し、当該他の制御サーバをインバンド制御サーバ３００として、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の暗号化通信経路を確立する。更に、アウトオブバンド制御サーバ１００は、制御メッセージ処理部１４０を利用し、経路情報１５０に基づいて、フローエントリ登録等に関する制御メッセージを生成し、制御チャンネル接続部１３０を経由して、制御メッセージをスイッチ２００に送信する。
【００４５】
スイッチ２００は、主にアウトオブバンド制御サーバの情報２１１から制御メッセージを受信しているため、制御サーバ情報管理部２１０に、少なくともアウトオブバンド制御サーバの情報２１１を登録する。スイッチ２００は、制御チャンネル接続部２３０を利用して、既知のアウトオブバンド制御サーバ１００に接続要求を送信する。スイッチ２００は、アウトオブバンド制御サーバ１００から受信した証明書を基づいて、スイッチ２００とアウトオブバンド制御サーバ１００間の共通鍵（共有鍵）を作成し、暗号化通信経路とアウトオブバンド制御チャンネルを確立する。ここでは、リンクとして使用されるスイッチ２００のデータ転送用のネットワークと、アウトオブバンド制御チャンネルとして使用されるスイッチ２００とアウトオブバンド制御サーバ１００間のネットワークは、別々のネットワークであるものとする。スイッチ２００は、アウトオブバンド制御チャンネルを、制御メッセージ専用の通信経路として利用する。
【００４６】
スイッチ２００とアウトオブバンド制御サーバ１００間にアウトオブバンド制御チャンネルが確立できたら、アウトオブバンド制御サーバ１００から配下のスイッチ２００に対して、インバンド制御サーバ３００の情報２１２を通知し、スイッチ２００のフローテーブル２６０に、インバンド制御サーバ３００へのパケット転送を定義したフローエントリを登録する。このフローエントリは、制御メッセージ用フローエントリ２６１となり、プライオリティが最優先で、スイッチ２００内部のフローテーブルからエージングアウトしないことを設定される。すなわち、アウトオブバンド制御サーバ１００は、配下のスイッチ２００のフローテーブル２６０に、インバンド制御サーバ３００へパケットを転送して経路情報を問い合わせる旨のフローエントリを登録する。インバンド制御サーバ３００がパケット転送経路上にある場合、インバンド制御サーバ３００は、スイッチ２００にとっては、パケットの転送先であり、制御サーバでもある。
【００４７】
スイッチ２００は、受信したパケットのヘッダ情報と、この制御メッセージ用のフローエントリを利用して、他の通信データと混在している制御メッセージのパケットを抽出することで、自分宛の通信か、制御メッセージの中継かを判断する。また、スイッチ２００は、受信したパケットのヘッダ情報と、この制御メッセージ用のフローエントリを、スイッチ２００とインバンド制御サーバ３００との通信用の経路を決定する際にも使用する。
【００４８】
図７は、スイッチ２００のフローテーブル２６０に登録される制御メッセージ用フローエントリ２６１の例を示す。ここでは、制御メッセージ用フローエントリ２６１の例として、フローエントリ４０１〜４０４を示す。フローエントリ４０１は、インバンド制御サーバ３００への接続用のフローエントリである。フローエントリ４０２は、インバンド制御サーバ３００からスイッチ２００宛のフローエントリである。フローエントリ４０３は、インバンド制御サーバ３００からスイッチ２００中継用のフローエントリである。フローエントリ４０４は、インバンド制御サーバ３００用のフローエントリである。
【００４９】
アウトオブバンド制御サーバ１００は、アウトオブバンド制御チャンネルを利用して、制御メッセージ用のフローエントリ４０１〜４０４を配下のスイッチ２００のフローテーブル２６０に登録する。
【００５０】
アウトオブバンド制御サーバ１００は、インバンド制御サーバ３００への接続用のフローエントリ４０１のマッチフィールドに、インバンド制御サーバの宛先ＩＰアドレス（Ｓｒｃ  ＩＰ）と制御メッセージ用のＴＣＰポート（Ｓｒｃ  Ｐｏｒｔ）を記録したものを、配下のスイッチ２００のフローテーブル２６０に登録する。スイッチ２００は、パケットヘッダから抽出した情報を、優先的にフローエントリのマッチフィールドとマッチングさせることで、インバンド制御サーバ３００へのパケットを特定し、そのパケットをインバンド制御サーバ３００へ送信する。逆に、インバンド制御サーバ３００からのパケットを特定する場合には、フローエントリ４０２、４０３のマッチフィールドに、インバンド制御サーバ３００の送信元ＩＰアドレス（Ｓｒｃ  ＩＰ）と送信元の制御メッセージ用のＴＣＰポート（Ｓｒｃ  Ｐｏｒｔ）が記録されるため、スイッチ２００は、混在している通信データのパケットに基づいて、自分宛か、制御メッセージの中継かを判断することができる。
【００５１】
図８は、スイッチ２００内部の構成の詳細を示す。ここでは、特に、スイッチ２００内部のフローテーブル２６０と、制御メッセージ用フローエントリ２６１、データプレーン用フローエントリ２６２の構成を示す。なお、図８で新たに示されたフロー転送部２７０は、制御メッセージのパケットと、他のパケットが混在したデータトラフィックを受信し、フローテーブル２６０内のフローエントリに基づいて、それぞれのパケットを転送する。また、インターフェース２８０は、アウトオブバンド制御チャンネル用の専用ポートと、インバンド制御チャンネル用の汎用ポートを有する。
【００５２】
図８では、アウトオブバンド制御チャンネルを経由する制御メッセージは、インターフェース２８０の専用ポートを経由して、フローテーブル２６０内のフローエントリとマッチングせず、直接に制御チャンネル接続部２３０へ送信される。しかし、インバンド制御チャンネルを経由する制御メッセージは、インターフェース２８０の汎用ポートを経由して、他のパケットと混在してスイッチ２００のフロー転送部２７０に到着する。このとき、スイッチ２００は、高優先の制御メッセージ用フローエントリ２６１を利用して、制御メッセージを特定し、自分宛の制御チャンネル接続部２３０に転送するか、その制御メッセージを中継するかを判断する。
【００５３】
スイッチ２００は、制御サーバ情報管理部２１０にあるインバンド制御サーバ３００の情報（ＩＰアドレス等）と、制御メッセージ処理部２４０を利用して、制御チャンネル接続部２３０を経由して、インバンド制御サーバ３００へ接続を要求する。インバンド制御サーバ３００は、スイッチ２００の認証を行い、許可されたスイッチ２００に対し、証明書を送信する。スイッチ２００は、インバンド制御サーバ３００から受信した証明書から、スイッチ２００とインバンド制御サーバ３００間の共通鍵を作成し、暗号化通信経路とインバンド制御チャンネルを確立する。インバンド制御サーバ３００は、インバンド配下スイッチ情報３１２として、スイッチの情報をスイッチ情報管理部３１０に保存する。
【００５４】
スイッチ２００は、主にアウトオブバンド制御サーバ１００から経路情報に基づくフローエントリ登録等に関する制御メッセージを受信しながら、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００の状態を監視する。スイッチ２００は、アウトオブバンド制御サーバ１００の状態が異常を検出した場合、即時に、インバンド制御サーバ３００へ切り替えることができる。
【００５５】
図９は、スイッチ情報管理部１１０やスイッチ情報管理部３１０に登録されるスイッチ情報の例を示す。ここでは、スイッチ情報管理部１１０に登録されるスイッチ情報として説明する。
スイッチ情報管理部１１０は、アウトオブバンド配下スイッチ情報１１１と、インバンド配下スイッチ情報１１２を持つ。アウトオブバンド配下スイッチ情報１１１は、スイッチＩＤ１１１１、１１１２と、証明書・公開鍵１１１３を含む。インバンド配下スイッチ情報１１２は、スイッチＩＤ１１２１、１１２２と、サーバ・サーバ間の共通鍵１１２３を含む。
【００５６】
図１０は、制御サーバ情報管理部２１０に登録される制御サーバ情報の例を示す。
制御サーバ情報管理部２１０は、アウトオブバンド制御サーバの情報２１１と、インバンド制御サーバの情報２１２を持つ。アウトオブバンド制御サーバの情報２１１は、制御サーバのＭＡＣアドレス２１１１と、制御サーバのＩＰアドレス２１１２と、制御サーバのＴＣＰポート番号２１１３と、サーバ・スイッチ間の共通鍵２１１４を含む。インバンド制御サーバの情報２１２は、制御サーバのＭＡＣアドレス２１２１と、制御サーバのＩＰアドレス２１２２と、制御サーバのＴＣＰポート番号２１２３と、サーバ・スイッチ間の共通鍵２１２４を含む。
【００５７】
次に、図１１〜図１８に示すタイムチャートを使用して、本発明のネットワークシステムにおけるサーバ等の動作を説明する。
【００５８】
［アウトオブバンド制御サーバ側の動作］
図１１は、アウトオブバンド制御サーバ１００側の動作を示す。
【００５９】
（１）ステップＳ１０１
アウトオブバンド制御サーバ１００は、インバンド制御サーバ３００を選択する。
【００６０】
（２）ステップＳ１０２
アウトオブバンド制御サーバ１００は、選択したインバンド制御サーバ３００への接続を要求する。ここでは、アウトオブバンド制御サーバ１００は、選択したインバンド制御サーバ３００に、冗長制御サーバとしてのサービス提供を依頼する。
【００６１】
（３）ステップＳ１０３
アウトオブバンド制御サーバ１００は、インバンド制御サーバ３００から許可の応答があるか確認する。ここでは、アウトオブバンド制御サーバ１００は、インバンド制御サーバ３００から証明書を受信した場合、インバンド制御サーバ３００から許可の応答があったと判断する。
【００６２】
（４）ステップＳ１０４
アウトオブバンド制御サーバ１００は、インバンド制御サーバ３００から許可の応答がなかった場合（ステップＳ１０３でＮｏ）、他のインバンド制御サーバ３００を選択し、改めて、選択したインバンド制御サーバ３００への接続を要求する。
【００６３】
（５）ステップＳ１０５
アウトオブバンド制御サーバ１００は、インバンド制御サーバ３００から許可の応答があった場合（ステップＳ１０３でＹｅｓ）、インバンド制御サーバ３００からの証明書を利用して、共通鍵を作成し、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の暗号化通信経路を確立する。
【００６４】
（６）ステップＳ１０６
アウトオブバンド制御サーバ１００は、インバンド制御サーバ３００に、配下のスイッチの情報（スイッチＩＤ）と、作成した共通鍵を通知する。
【００６５】
（７）ステップＳ１０７
アウトオブバンド制御サーバ１００は、当該インバンド制御サーバ３００の情報を配下のスイッチ２００に通知する。
【００６６】
（８）ステップＳ１０８
アウトオブバンド制御サーバ１００は、スイッチ２００のフローテーブル２６０に、制御メッセージ用フローエントリ２６１を登録する。
【００６７】
［インバンド制御サーバ側の動作］
図１２は、インバンド制御サーバ３００側の動作を示す。
【００６８】
（１）ステップＳ２０１
インバンド制御サーバ３００は、他の制御サーバからインバンド制御サーバ３００としての接続要求を受信する。ここでは、要求元の制御サーバは、アウトオブバンド制御サーバ１００とする。インバンド制御サーバ３００は、アウトオブバンド制御サーバ１００から、冗長制御サーバとしてのサービス提供依頼を受信する。
【００６９】
（２）ステップＳ２０２
インバンド制御サーバ３００は、要求元の制御サーバに対し、インバンド制御サーバ３００として接続許可するかどうかを判断する。
【００７０】
（３）ステップＳ２０３
インバンド制御サーバ３００は、要求元の制御サーバに対し、インバンド制御サーバ３００として接続許可しない場合、要求元の制御サーバに接続拒否を通知する。
【００７１】
（４）ステップＳ２０４
インバンド制御サーバ３００は、要求元の制御サーバに対し、インバンド制御サーバ３００として接続許可する場合、要求元の制御サーバに接続許可を通知し、証明書を送信する。
【００７２】
（５）ステップＳ２０５
インバンド制御サーバ３００は、要求元の制御サーバから共通鍵を受信し、暗号化通信経路とサーバ・サーバ間の通信経路を確立する。ここでは、インバンド制御サーバ３００は、アウトオブバンド制御サーバ１００から、アウトオブバンド制御サーバ１００で作成された共通鍵を受信し、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の暗号化通信経路を確立する。
【００７３】
（６）ステップＳ２０６
また、インバンド制御サーバ３００は、相手の制御サーバから受信したスイッチの情報を保存する。ここでは、インバンド制御サーバ３００は、アウトオブバンド制御サーバ１００から、配下のスイッチ２００を示すスイッチＩＤを受信し、管理する。なお、インバンド制御サーバ３００は、共通鍵とスイッチの情報（スイッチＩＤ）を同じタイミングで受信するようにしても良い。
【００７４】
［アウトオブバンド制御チャンネルの確立］
図１３は、スイッチ２００が既知のアウトオブバンド制御サーバ１００に対して、ＴＣＰセッションを確認し、サーバから受信した証明書を利用して、公開鍵を生成し、暗号化通信経路とアウトオブバンド制御チャンネルを確立する際の動作を示す。
【００７５】
（１）ステップＳ３０１
スイッチ２００は、既知のアウトオブバンド制御サーバ１００に対して、ＴＣＰセッションを確立する。
【００７６】
（２）ステップＳ３０２
スイッチ２００は、アウトオブバンド制御サーバ１００から証明書を受信し、アウトオブバンド制御サーバ１００とスイッチ２００間の共通鍵を作成する。
【００７７】
（３）ステップＳ３０３
スイッチ２００は、アウトオブバンド制御サーバ１００とスイッチ２００間の暗号化通信経路を確立する。
【００７８】
（４）ステップＳ３０４
スイッチ２００は、アウトオブバンド制御サーバ１００に接続要求を送信する。
【００７９】
（５）ステップＳ３０５
スイッチ２００は、アウトオブバンド制御チャンネルを確立することができるか確認する。ここでは、スイッチ２００は、アウトオブバンド制御サーバ１００から、接続許可の応答があれば、アウトオブバンド制御チャンネルを確立することができると判断する。スイッチ２００は、アウトオブバンド制御チャンネルを確立することができない場合、最初からやり直す。
【００８０】
（６）ステップＳ３０６
スイッチ２００は、アウトオブバンド制御チャンネルを確立することができる場合、アウトオブバンド制御サーバ１００とスイッチ２００間のアウトオブバンド制御チャンネルを確立する。
【００８１】
［インバンド制御チャンネルの確立］
図１４は、スイッチ２００がアウトオブバンド制御チャンネルを確立した後、インバンド制御チャンネルを確立する際の動作を示す。
【００８２】
（１）ステップＳ４０１
スイッチ２００は、スイッチ２００とアウトオブバンド制御サーバ間に、アウトオブバンド制御チャンネルを確立する。この手順については、図１３に示す。
【００８３】
（２）ステップＳ４０２
スイッチ２００は、アウトオブバンド制御チャンネルが確立した後、アウトオブバンド制御サーバ１００に、インバンド制御サーバ３００の情報と、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の共通鍵を要求する。
【００８４】
（３）ステップＳ４０３
スイッチ２００は、アウトオブバンド制御サーバ１００から、候補のインバンド制御サーバ３００の情報を受信する。
【００８５】
（４）ステップＳ４０４
スイッチ２００は、その候補のインバンド制御サーバ３００に対し、自分のスイッチＩＤと、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の共通鍵を送信し、インバンド制御サーバ３００に接続要求する。
【００８６】
（５）ステップＳ４０５
スイッチ２００は、インバンド制御サーバ３００への接続が許可されたか確認する。ここでは、スイッチ２００は、インバンド制御サーバ３００から接続許可の応答を受信した場合、インバンド制御サーバ３００への接続が許可されたと判断する。
【００８７】
（６）ステップＳ４０６
スイッチ２００は、インバンド制御サーバ３００から接続許可の応答を受信しなかった場合（ステップＳ４０５でＮｏ）、アウトオブバンド制御サーバ１００に「インバンド制御チャンネル確立不可」の旨を通知し、改めて、他のインバンド制御サーバ３００の情報を要求する。
【００８８】
（７）ステップＳ４０７
スイッチ２００は、インバンド制御サーバ３００から接続許可の応答を受信した場合（ステップＳ４０５でＹｅｓ）、スイッチ２００とインバンド制御サーバ３００間の暗号化通信経路を確立する。ここでは、スイッチ２００は、インバンド制御サーバ３００から、接続許可の応答として証明書を受信し、スイッチ２００とインバンド制御サーバ３００間の共通鍵を作成し、作成された共通鍵により、スイッチ２００とインバンド制御サーバ３００間の暗号化通信経路を確立する。
【００８９】
（８）ステップＳ４０８
スイッチ２００は、スイッチ２００とインバンド制御サーバ３００間のインバンド制御チャンネルを確立する。
【００９０】
［インバンド制御サーバへのスイッチ情報の登録］
図１５は、インバンド制御サーバ３００のスイッチ２００の情報の登録の際の動作を示す。
【００９１】
（１）ステップＳ５０１
インバンド制御サーバ３００は、配下のスイッチ２００からインバンド制御チャンネル確立の要求を受信する。
【００９２】
（２）ステップＳ５０２
インバンド制御サーバ３００は、スイッチ２００から要求を受信した際、スイッチ情報管理部３１０に、スイッチ２００の情報が登録されているか確認する。ここで、以前、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００の間に、スイッチ２００の情報（スイッチＩＤ）を交換しているため、そのスイッチ２００の情報（スイッチＩＤ）と、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の共通鍵を参照して、スイッチ２００の情報（スイッチＩＤ）の登録を受け入れるかを判断する。
【００９３】
（３）ステップＳ５０３
インバンド制御サーバ３００は、スイッチ２００の情報（スイッチＩＤ）が登録されていない場合（ステップＳ５０２でＮｏ）、スイッチ２００に対して、接続拒否を通知する。
【００９４】
（４）ステップＳ５０４
インバンド制御サーバ３００は、スイッチ２００の情報（スイッチＩＤ）が登録されている場合（ステップＳ５０２でＹｅｓ）、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の共通鍵が正しいか確認する。
【００９５】
（５）ステップＳ５０５
インバンド制御サーバ３００は、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の共通鍵が正しくない場合（ステップＳ５０４でＮｏ）、スイッチ２００に対して、接続拒否を通知する。
【００９６】
（６）ステップＳ５０６
インバンド制御サーバ３００は、アウトオブバンド制御サーバ１００とインバンド制御サーバ３００間の共通鍵が正しい場合（ステップＳ５０４でＹｅｓ）、スイッチ２００に対して、接続許可を通知し、証明書を送付する。
【００９７】
（７）ステップＳ５０７
インバンド制御サーバ３００は、証明書の送付に対する応答として、スイッチ２００からスイッチ２００とインバンド制御サーバ３００間の共通鍵を受信し、スイッチ２００とインバンド制御サーバ３００間の共通鍵により、暗号化通信経路を確立する。
【００９８】
（８）ステップＳ５０８
インバンド制御サーバ３００は、スイッチ２００とインバンド制御サーバ３００間のインバンド制御チャンネルを確立する。
【００９９】
［アウトオブバンド制御サーバとインバンド制御サーバの切り替え］
図１６Ａ、図１６Ｂは、スイッチ２００が、アウトオブバンド制御サーバ１００からインバンド制御サーバ３００への切り替え、或いはインバンド制御サーバ３００からアウトオブバンド制御サーバ１００への切り替えを行う際の動作を示す。
【０１００】
（１）ステップＳ６０１
スイッチ２００は、アウトオブバンド制御サーバ１００及びインバンド制御サーバ３００の各々と接続した後、主にアウトオブバンド制御サーバ１００から制御メッセージを受信する。
【０１０１】
（２）ステップＳ６０２
スイッチ２００は、アウトオブバンド制御サーバ１００に対し、定期的に、状態監視用メッセージを送信する。
【０１０２】
（３）ステップＳ６０３
スイッチ２００は、アウトオブバンド制御サーバ１００から状態監視用メッセージに対する応答があるか確認する。スイッチ２００は、アウトオブバンド制御サーバ１００から応答がある場合（ステップＳ６０３でＹｅｓ）、アウトオブバンド制御サーバ１００から状態監視に関する制御メッセージを受信する。
【０１０３】
（４）ステップＳ６０４
スイッチ２００は、アウトオブバンド制御サーバ１００から応答がない場合（ステップＳ６０３でＮｏ）、アウトオブバンド制御サーバ１００が異常状態であると判断し、インバンド制御サーバ３００を選択し、選択したインバンド制御サーバ３００への切り替えを準備する。
【０１０４】
（５）ステップＳ６０５
スイッチ２００は、インバンド制御サーバ３００に対し、切り替え通知を送信し、接続開始を要求し、インバンド制御サーバ３００へ接続する。
【０１０５】
（６）ステップＳ６０６
スイッチ２００は、インバンド制御サーバ３００へ接続した時点で、インバンド制御サーバ３００から制御メッセージを受信することになる。スイッチ２００は、インバンド制御サーバ３００から制御メッセージを受信する。
【０１０６】
（７）ステップＳ６０７
なお、インバンド制御サーバ３００に接続中のスイッチ２００でも、定期的に、アウトオブバンド制御サーバ１００に対し、状態監視用メッセージを送信する。
【０１０７】
（８）ステップＳ６０８
スイッチ２００は、状態監視用メッセージに対し、アウトオブバンド制御サーバ１００から応答があるか確認する。スイッチ２００は、応答の有無により、アウトオブバンド制御サーバ１００の状態を確認し、アウトオブバンド制御サーバ１００が復旧したかを確認する。
【０１０８】
（９）ステップＳ６０９
スイッチ２００は、アウトオブバンド制御サーバ１００から応答があり、復旧したことが確認できた場合（ステップＳ６０８のＹｅｓ）、スイッチ２００は即時にアウトオブバンド制御サーバ１００に切り戻し、アウトオブバンド制御サーバ１００から制御メッセージを受信する。
【０１０９】
（１０）ステップＳ６１０
スイッチ２００は、アウトオブバンド制御サーバ１００から応答がなく、復旧したことが確認できない場合（ステップＳ６０８のＮｏ）、インバンド制御サーバ３００に対し、状態監視用メッセージを送信する。
【０１１０】
（１１）ステップＳ６１１
スイッチ２００は、状態監視用メッセージに対し、インバンド制御サーバ３００から応答があるか確認する。スイッチ２００は、インバンド制御サーバ３００から応答がある場合（ステップＳ６１１でＹｅｓ）、インバンド制御サーバ３００から状態監視に関する制御メッセージを受信する。また、スイッチ２００は、インバンド制御サーバ３００から応答がない場合（ステップＳ６１１でＮｏ）、インバンド制御サーバ３００が異常状態だと判断し、他のインバンド制御サーバ３００を選択し、選択したインバンド制御サーバ３００への切り替えを準備する。
【０１１１】
［制御メッセージ用フローエントリのマッチング］
図１７は、インバンド制御サーバ３００宛に、スイッチ２００上に登録される制御メッセージ用フローエントリのマッチングの仕組みを示す。
【０１１２】
（１）ステップＳ７０１
アウトオブバンド制御サーバ１００は、スイッチ２００に対し、インバンド制御サーバ３００の情報を送信し、インバンド制御サーバ３００へのフローエントリを登録する。その登録されたフローエントリは、制御メッセージ用フローエントリとなる。スイッチ２００は、インバンド制御サーバ３００への制御メッセージを生成し、制御メッセージのパケットを送信する。
【０１１３】
（２）ステップＳ７０２
スイッチ２００は、その制御メッセージのパケットのヘッダから抽出した検索キーを利用し、高優先の制御メッセージ用フローエントリとマッチングを行う。
【０１１４】
（３）ステップＳ７０３
スイッチ２００は、制御メッセージのパケットのヘッダから抽出した検索キーが、高優先の制御メッセージ用フローエントリとマッチするか確認する。
【０１１５】
（４）ステップＳ７０４
スイッチ２００は、マッチした場合（ステップＳ７０３でＹｅｓ）、制御メッセージを、インバンド制御サーバ３００へ送信する。
【０１１６】
（５）ステップＳ７０５
スイッチ２００は、マッチしなかった場合（ステップＳ７０３でＮｏ）、制御メッセージのパケットのヘッダから抽出した検索キーが、他の制御メッセージ用フローエントリとマッチするか確認する。ここでは、スイッチ２００は、制御メッセージのパケットのヘッダから抽出した検索キーを利用し、先にマッチングを行った制御メッセージ用フローエントリの次に高優先の制御メッセージ用フローエントリとマッチングを行う。スイッチ２００は、マッチした場合、制御メッセージを、当該制御メッセージ用フローエントリに対応する制御サーバへ送信する。スイッチ２００は、制御メッセージのパケットのヘッダから抽出した検索キーとマッチする制御メッセージ用フローエントリが存在しない場合、当該制御メッセージのパケットを破棄しても良い。
【０１１７】
［パケット群からの制御メッセージの抽出］
図１８は、スイッチ２００上のフローテーブル上に、パケットと混載している制御メッセージを抽出する制御メッセージ用フローエントリのマッチングの仕組みを示す。
【０１１８】
（１）ステップＳ８０１
スイッチ２００は、パケットを受信する。
【０１１９】
（２）ステップＳ８０２
スイッチ２００は、受信したパケットのヘッダから抽出した検索キーを利用し、高優先の制御メッセージ用フローエントリとマッチングを行う。
【０１２０】
（３）ステップＳ８０３
スイッチ２００は、受信したパケットのヘッダから抽出した検索キーが、高優先の制御メッセージ用フローエントリとマッチするか確認する。
【０１２１】
（４）ステップＳ８０４
スイッチ２００は、マッチしなかった場合（ステップＳ８０３でＮｏ）、受信したパケットのヘッダから抽出した検索キーが、他の制御メッセージ用フローエントリとマッチするか確認する。ここでは、スイッチ２００は、受信したパケットのヘッダから抽出した検索キーを利用し、先にマッチングを行った制御メッセージ用フローエントリの次に高優先の制御メッセージ用フローエントリとマッチングを行う。スイッチ２００は、マッチした場合、制御メッセージを、当該制御メッセージ用フローエントリに対応する制御サーバへ送信する。スイッチ２００は、受信したパケットのヘッダから抽出した検索キーとマッチする制御メッセージ用フローエントリが存在しない場合、当該受信したパケットを破棄しても良い。
【０１２２】
（５）ステップＳ８０５
スイッチ２００は、マッチした場合（ステップＳ８０３でＹｅｓ）、そのパケットが制御メッセージであるものと判断し、宛先が自分宛であるか確認する。
【０１２３】
（６）ステップＳ８０６
スイッチ２００は、宛先が自分宛でない場合（ステップＳ８０５でＮｏ）、宛先に基づいて、他のスイッチへ制御メッセージを中継する。
【０１２４】
（７）ステップＳ８０７
スイッチ２００は、宛先が自分宛である場合（ステップＳ８０５でＹｅｓ）、自分宛の制御メッセージを、自身の制御メッセージ処理部２４０に転送する。
【０１２５】
＜第２実施形態＞
以下に、本発明の第２実施形態について説明する。
スイッチ２００は、制御メッセージ処理のプロトコルにおいて、ＴＣＰの送信先ポート番号、又は送信元ポートが規定される場合（例えば、ＴＣＰポート番号が９９９９）、制御メッセージ検出用フローエントリを用いて、流れているデータトラフィックから制御メッセージを抽出することができる。
【０１２６】
その制御メッセージを自分のアウトオブバンド制御サーバに送信し、アウトオブバンド制御サーバは、制御メッセージのヘッダから、他の制御サーバの送信元ＩＰアドレスを抽出でき、他の制御サーバへの接続試行を行うことができる。
【０１２７】
＜本発明の特徴＞
本発明は、パケットを転送するスイッチと経路を決定する制御サーバにおいて、アウトオブバンド制御サーバとインバンド制御サーバによって、制御チャンネルの冗長化を実現するものである。
【０１２８】
本発明は、スイッチに対し、アウトオブバンド制御サーバから、インバンド制御サーバへ制御メッセージ用フローエントリを登録する仕組みとなっている。
【０１２９】
本発明では、アウトオブバンド制御サーバとインバンド制御サーバの間でスイッチＩＤを交換する。
【０１３０】
また、本発明では、インバンド制御サーバが他のスイッチを登録する。
【０１３１】
更に、本発明では、制御メッセージ用フローエントリを用いて、パケットと混在している制御メッセージを抽出する。
【０１３２】
本発明は、パケット転送手段（スイッチ）と経路情報決定手段（制御サーバ）が分離されたネットワークシステム等で利用することができる。
【０１３３】
本発明においては、スイッチが主のアウトオブバンド制御サーバから制御メッセージを受信しながら、データトラフィックのネットワークを経由し、他の制御サーバをインバンド制御サーバとして利用することができる。
【０１３４】
また、本発明においては、スイッチに対し、アウトオブバンド制御サーバから事前に接続依頼したインバンド制御サーバの情報を登録することで、スイッチは、信頼できる他の制御サーバ（インバンド制御サーバ）へ接続できる。
【０１３５】
また、本発明においては、インバンド制御サーバは、事前に他のアウトオブバンド制御サーバからスイッチＩＤ及びサーバ・サーバ間の共通鍵を受信し、保存することで、スイッチから接続要求されたときに、当該スイッチの認証を行うことができる。
【０１３６】
また、本発明においては、アウトオブバンド制御サーバからスイッチのフローテーブル用に対し、高優先度の制御メッセージ用フローエントリを登録することで、スイッチは、データトラフィックと混在している制御メッセージを抽出することができる。
【０１３７】
また、本発明においては、制御メッセージ用のフローエントリにより、制御メッセージが優先的にマッチングされ、スイッチの制御メッセージ処理部への送信することができ、また、他のスイッチへの優先的に制御メッセージを中継することができる。
【０１３８】
また、本発明においては、スイッチは、監視しているアウトオブバンド制御サーバに障害が発生した場合、一旦、アウトオブバンド制御サーバからインバンド制御サーバへ切り替え、インバンド制御サーバから制御メッセージを受信するが、常時、切り替え前のアウトオブバンド制御サーバを監視することで、アウトオブバンド制御サーバが復旧したとき、即時に切り替え戻すことができる。
【０１３９】
＜まとめ＞
以上のように、本発明は、パケットを転送するスイッチと、経路情報を決定する制御サーバが分離されたネットワークシステムにおいて、スイッチが制御サーバから経路情報に基づくフローエントリ登録等に関する制御メッセージを受信する場合に、アウトオブバンド制御チャンネルとインバンド制御チャンネルによる制御チャンネルの冗長化を実現する構成にしたことを特徴としている。
【０１４０】
図１において、パケットを転送するスイッチと経路を決定する制御サーバを構成するデータプレーンとコントロールプレーンの分離したネットワークシステムを示す。ここで、スイッチと制御サーバ間では、制御メッセージを送受信する制御チャンネルで接続されている。
【０１４１】
図５において、スイッチは経路情報を決定するために、アウトオブバンド制御チャンネルで制御サーバとの接続されることだけではなく、通常のデータ通信用の経路を利用し、ネットワーク経由で、他の制御サーバと接続することができるインバンド制御チャンネルを構築することで、制御チャンネルを冗長する。なお、アウトオブバンド制御チャンネルでは、制御メッセージ専用の通信路を利用する。また、インバンド制御チャンネルでは、通信データと制御メッセージで同じ通信路を共同利用する。
【０１４２】
このようにして、本発明では、スイッチが、アウトオブバンド制御チャンネルとインバンド制御チャンネルにより制御メッセージを送受信するので、制御チャンネルの冗長化を実現することができる。
【０１４３】
図６Ａ、図６Ｂは、パケットを転送するスイッチと経路情報を管理・決定する制御サーバから構成になるネットワークシステムを示す。
【０１４４】
スイッチは、初期設定で主に制御メッセージを受信する制御サーバと接続するためには、データ転送用のネットワークとは別に、アウトオブバンド制御チャンネルで接続され、スイッチにとって、その制御サーバは、アウトオブバンド制御サーバとなる。
【０１４５】
アウトオブバンド制御サーバは、ネットワーク上に存在している既知又は設定される他の制御サーバに制御チャンネルの冗長構成を依頼する。依頼された他の制御サーバは、スイッチにとって、インバンド制御サーバとなる。
【０１４６】
アウトオブバンド制御サーバは、冗長制御サーバ管理部を利用して、アウトオブバンド制御サーバとインバンド制御サーバ間の暗号化通信経路を構築、その経路を通じて、自分が管理しているスイッチの情報を相手のインバンド制御サーバに通知する。
【０１４７】
更に、アウトオブバンド制御サーバは、自分が管理しているスイッチに対し、インバンド制御サーバの情報を通知する。
【０１４８】
スイッチは、アウトオブバンド制御サーバから受信したインバンド制御サーバの情報を基に、インバンド制御サーバに対し、スイッチの登録を依頼する。インバンド制御サーバは、事前にアウトオブバンド制御サーバから受信したスイッチの情報を基に、スイッチの認証を行い、スイッチを登録する。スイッチは、インバンド制御サーバから登録された後、主に制御メッセージを受信するアウトオブバンド制御サーバと共に、インバンド制御サーバの状態を監視する。
【０１４９】
スイッチは、常時監視しているアウトオブバンド制御サーバから応答がない場合、アウトオブバンド制御サーバに異常が発生したこと判断し、アウトオブバンド制御サーバからインバンド制御サーバへ切り替えし、インバンド制御サーバから制御メッセージを受信する。
【０１５０】
このようにして、スイッチは、主に受信したアウトオブバンド制御サーバと他の制御サーバ（インバンド制御サーバ）から冗長された制御チャンネルから制御メッセージを受信することができる。
【０１５１】
＜補足＞
本発明の特徴は、アウトオブバンド制御チャンネルとインバンド制御チャンネルによる冗長構成と、アウトオブバンド制御チャンネルからのインバンド制御チャンネルの接続性の確立と、アウトオブバンド制御チャンネルとインバンド制御チャンネルの選択と、アウトオブバンド制御チャンネルとインバンド制御チャンネルの切り替えの方式にある。
【０１５２】
本発明では、アウトオブバンド制御サーバが、スイッチとアウトオブバンドで制御チャンネルを構成・確立し、スイッチとインバンド制御サーバ間の制御チャンネル用の経路情報（フローテーブル）を設定する。
【０１５３】
そして、スイッチが、インバンド制御サーバとの制御チャンネルを構成・確立し、アウトオブバンド制御サーバとインバンド制御サーバで（双方を用いて）、制御サーバの冗長構成を構築する。また、スイッチが、制御チャンネルの障害を監視して、障害発生時にアクティブ（主系・本番系）の制御チャンネルから、スタンバイ（待機系・予備系）の制御チャンネルに切り替える。
【０１５４】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０１５５】
なお、本出願は、日本出願番号２０１０−０００８１９に基づく優先権を主張するものであり、日本出願番号２０１０−０００８１９における開示内容は引用により本出願に組み込まれる。
【図１】
0005641444.tif 000002
【図２】
0005641444.tif 000003
【図３】
0005641444.tif 000004
【図４】
0005641444.tif 000005
【図５】
0005641444.tif 000006
【図６Ａ】
0005641444.tif 000007
【図６Ｂ】
0005641444.tif 000008
【図７】
0005641444.tif 000009
【図８】
0005641444.tif 000010
【図９】
0005641444.tif 000011
【図１０】
0005641444.tif 000012
【図１１】
0005641444.tif 000013
【図１２】
0005641444.tif 000014
【図１３】
0005641444.tif 000015
【図１４】
0005641444.tif 000016
【図１５】
0005641444.tif 000017
【図１６Ａ】
0005641444.tif 000018
【図１６Ｂ】
0005641444.tif 000019
【図１７】
0005641444.tif 000020
【図１８】
0005641444.tif 000021