パケットを転送するスイッチと、前記スイッチに対し、アウトオブバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定するアウトオブバンド制御サーバと、前記スイッチに対し、インバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定するインバンド制御サーバとを含むネットワークシステム。請求項1に記載のネットワークシステムであって、前記アウトオブバンド制御サーバは、前記スイッチとの間で前記アウトオブバンド制御チャンネルを確立する手段と、前記スイッチと前記インバンド制御サーバとの間の前記インバンド制御チャンネル用の経路情報を設定する手段とを具備するネットワークシステム。請求項1又は2に記載のネットワークシステムであって、前記スイッチは、前記インバンド制御サーバとの間で前記インバンド制御チャンネルを確立する手段と、前記アウトオブバンド制御サーバと前記インバンド制御サーバとの双方を用いて、制御サーバの冗長構成を構築する手段とを具備するネットワークシステム。請求項1乃至3のいずれか一項に記載のネットワークシステムであって、前記スイッチは、前記アウトオブバンド制御チャンネルと前記インバンド制御チャンネルとの双方の制御チャンネルの障害を監視する手段と、障害発生時に、前記アウトオブバンド制御チャンネル及び前記インバンド制御チャンネルのうち、アクティブの制御チャンネルから、スタンバイの制御チャンネルに切り替える手段とを更に具備するネットワークシステム。請求項1乃至4のいずれか一項に記載のネットワークシステムにおいて、スイッチ、アウトオブバンド制御サーバ、並びにインバンド制御サーバのうち少なくとも1つとして使用される計算機。スイッチにより、パケットを転送することと、アウトオブバンド制御サーバから前記スイッチに対し、アウトオブバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定することと、インバンド制御サーバから前記スイッチに対し、インバンド制御チャンネルを経由して制御メッセージを送信し、経路情報を決定することとを含むネットワーク冗長化方法。請求項6に記載のネットワーク冗長化方法であって、前記アウトオブバンド制御サーバにより、前記スイッチとの間で前記アウトオブバンド制御チャンネルを確立することと、前記アウトオブバンド制御サーバにより、前記スイッチと前記インバンド制御サーバとの間の前記インバンド制御チャンネル用の経路情報を設定することとを含むネットワーク冗長化方法。請求項6又は7に記載のネットワーク冗長化方法であって、前記スイッチにより、前記インバンド制御サーバとの間で前記インバンド制御チャンネルを確立することと、前記スイッチにより、前記アウトオブバンド制御サーバと前記インバンド制御サーバとの双方を用いて、制御サーバの冗長構成を構築することとを含むネットワーク冗長化方法。請求項6乃至8のいずれか一項に記載のネットワーク冗長化方法であって、前記スイッチにより、前記アウトオブバンド制御チャンネルと前記インバンド制御チャンネルとの双方の制御チャンネルの障害を監視することと、前記スイッチにより、障害発生時に、前記アウトオブバンド制御チャンネル及び前記インバンド制御チャンネルのうち、アクティブの制御チャンネルから、スタンバイの制御チャンネルに切り替えることとを更に含むネットワーク冗長化方法。請求項6乃至9のいずれか一項に記載のネットワーク冗長化方法を、スイッチ、アウトオブバンド制御サーバ、及びインバンド制御サーバの各々として機能する計算機に実行させるためのプログラムを記憶した記憶媒体。<第1実施形態>以下に、本発明の第1実施形態について添付図面を参照して説明する。[基本構成]図6A、図6Bに示すように、本発明のネットワークシステムは、アウトオブバンド制御サーバ100と、スイッチ200と、インバンド制御サーバ300を含む。アウトオブバンド制御サーバ100は、スイッチ情報管理部110と、冗長制御サーバ管理部120と、制御チャンネル接続部130と、制御メッセージ処理部140と、経路情報150を備える。スイッチ200は、制御サーバ情報管理部210と、制御チャンネル接続部230と、制御メッセージ処理部240と、フローテーブル260を備える。インバンド制御サーバ300は、スイッチ情報管理部310と、冗長制御サーバ管理部320と、制御チャンネル接続部330と、制御メッセージ処理部340と、経路情報350を備える。アウトオブバンド制御サーバ100、スイッチ200、並びにインバンド制御サーバ300は、計算機内外の各装置の制御、データの生成や処理、及びプログラムの実行を行う機能を有する。例えば、アウトオブバンド制御サーバ100がパケットを転送する経路外にあり、スイッチ200及びインバンド制御サーバ300がパケットを転送する経路上にある場合も考えられる。このとき、アウトオブバンド制御サーバ100は、アウトオブバンド方式で、制御メッセージのみをスイッチに送信し、インバンド制御サーバ300は、インバンド方式で、制御メッセージとデータとをスイッチに送信するものでも良い。スイッチ情報管理部110、冗長制御サーバ管理部120、制御サーバ情報管理部210、スイッチ情報管理部310、並びに冗長制御サーバ管理部320は、パケットを保持する機能を有する。冗長制御サーバ管理部120、制御チャンネル接続部130、制御チャンネル接続部230、冗長制御サーバ管理部320、並びに制御チャンネル接続部330は、ネットワークを介して、外部とパケットの送受信を行う機能を有する。制御メッセージ処理部140、制御メッセージ処理部240、並びに制御メッセージ処理部340は、制御メッセージの生成や処理を行う機能を有する。[ハードウェアの例示]アウトオブバンド制御サーバ100、及びインバンド制御サーバ300の例として、PCパソコン、アプライアンスappliance、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。アウトオブバンド制御サーバ100、及びインバンド制御サーバ300は、基本的に同じ構成であると望ましい。スイッチ200の例として、オープンフロースイッチを想定している。オープンフロースイッチとして使用可能な機器の例として、ルータ、スイッチングハブ等の中継機器や、ゲートウェイ、プロキシ、ファイアウォール並びにロードバランサ等の中継用の計算機等が考えられる。例えば、スイッチ200は、マルチレイヤスイッチmulti-layerswitchでも良い。マルチレイヤスイッチは、サポートするOSI参照モデルの層毎に、更に細かく分類されている。主な種別としては、ネットワーク層第3層のデータを読むレイヤ3スイッチ、トランスポート層第4層のデータを読むレイヤ4スイッチ、アプリケーション層第7層のデータを読むレイヤ7スイッチアプリケーションスイッチがある。アウトオブバンド制御サーバ100、スイッチ200、並びにインバンド制御サーバ300は、物理マシン上に構築された仮想マシンVirtualMachineVMでも良い。アウトオブバンド制御サーバ100、スイッチ200、並びにインバンド制御サーバ300、及び制御メッセージ処理部140、制御メッセージ処理部240、並びに制御メッセージ処理部340のデータ処理機能やプログラム実行機能を実現するハードウェアの例として、CPUCentralProcessingUnit、マイクロプロセッサmicroprocessor、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路IntegratedCircuitIC等が考えられる。スイッチ情報管理部110、冗長制御サーバ管理部120、制御サーバ情報管理部210、スイッチ情報管理部310、並びに冗長制御サーバ管理部320のデータ保持機能、及び経路情報150、フローテーブル260、並びに経路情報350を保持するデータ保持機能を実現するハードウェアの例として、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectricallyErasableandProgrammableReadOnlyMemoryやフラッシュメモリ等の半導体記憶装置、HDDHardDiskDriveやSSDSolidStateDrive等の補助記憶装置、又は、DVDDigitalVersatileDiskやSDメモリカードSecureDigitalmemorycard等のリムーバブルディスクや記憶媒体メディア等が考えられる。なお、上記のデータ保持機能を実現するハードウェアは、計算機本体に内蔵された記憶装置に限らず、周辺機器外付けHDD等や外部のサーバWebサーバやファイルサーバ等に設置された記憶装置、或いは、DASDirectAttachedStorage、FC-SANFibreChannel-StorageAreaNetwork、NASNetworkAttachedStorage、IP-SANIP-StorageAreaNetworkでも良い。冗長制御サーバ管理部120や冗長制御サーバ管理部320、及び、制御チャンネル接続部130、制御チャンネル接続部230、並びに制御チャンネル接続部330の通信機能を実現するハードウェアの例として、NICNetworkInterfaceCard等のネットワークアダプタや、アンテナ等の通信装置、接続口コネクタ等の通信ポート等が考えられる。また、ネットワークの例として、インターネット、LANLocalAreaNetwork、無線LANWirelessLAN、WANWideAreaNetwork、バックボーンBackbone、ケーブルテレビCATV回線、固定電話網、携帯電話網、WiMAXIEEE802.16a、3G3rdGeneration、専用線leaseline、IrDAInfraredDataAssociation、Bluetooth登録商標、シリアル通信回線、データバス等が考えられる。但し、実際には、これらの例に限定されない。[構成の詳細]アウトオブバンド制御サーバ100は、スイッチ情報管理部110に、アウトオブバンド配下スイッチ情報111として、事前に自分が管理しているスイッチの情報スイッチID等を登録する。更に、アウトオブバンド制御サーバ100は、ネットワーク上にある他の制御サーバの情報を登録する。アウトオブバンド制御サーバ100は、冗長制御サーバ管理部120を利用し、他の制御サーバに、インバンド制御サーバ300としてサービスを提供することが可能かを問い合わせる。アウトオブバンド制御サーバ100は、他の制御サーバからサービス提供可能の通知がある場合、その相手他の制御サーバから受信した証明書を利用し、当該他の制御サーバをインバンド制御サーバ300として、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の暗号化通信経路を確立する。更に、アウトオブバンド制御サーバ100は、制御メッセージ処理部140を利用し、経路情報150に基づいて、フローエントリ登録等に関する制御メッセージを生成し、制御チャンネル接続部130を経由して、制御メッセージをスイッチ200に送信する。スイッチ200は、主にアウトオブバンド制御サーバの情報211から制御メッセージを受信しているため、制御サーバ情報管理部210に、少なくともアウトオブバンド制御サーバの情報211を登録する。スイッチ200は、制御チャンネル接続部230を利用して、既知のアウトオブバンド制御サーバ100に接続要求を送信する。スイッチ200は、アウトオブバンド制御サーバ100から受信した証明書を基づいて、スイッチ200とアウトオブバンド制御サーバ100間の共通鍵共有鍵を作成し、暗号化通信経路とアウトオブバンド制御チャンネルを確立する。ここでは、リンクとして使用されるスイッチ200のデータ転送用のネットワークと、アウトオブバンド制御チャンネルとして使用されるスイッチ200とアウトオブバンド制御サーバ100間のネットワークは、別々のネットワークであるものとする。スイッチ200は、アウトオブバンド制御チャンネルを、制御メッセージ専用の通信経路として利用する。スイッチ200とアウトオブバンド制御サーバ100間にアウトオブバンド制御チャンネルが確立できたら、アウトオブバンド制御サーバ100から配下のスイッチ200に対して、インバンド制御サーバ300の情報212を通知し、スイッチ200のフローテーブル260に、インバンド制御サーバ300へのパケット転送を定義したフローエントリを登録する。このフローエントリは、制御メッセージ用フローエントリ261となり、プライオリティが最優先で、スイッチ200内部のフローテーブルからエージングアウトしないことを設定される。すなわち、アウトオブバンド制御サーバ100は、配下のスイッチ200のフローテーブル260に、インバンド制御サーバ300へパケットを転送して経路情報を問い合わせる旨のフローエントリを登録する。インバンド制御サーバ300がパケット転送経路上にある場合、インバンド制御サーバ300は、スイッチ200にとっては、パケットの転送先であり、制御サーバでもある。スイッチ200は、受信したパケットのヘッダ情報と、この制御メッセージ用のフローエントリを利用して、他の通信データと混在している制御メッセージのパケットを抽出することで、自分宛の通信か、制御メッセージの中継かを判断する。また、スイッチ200は、受信したパケットのヘッダ情報と、この制御メッセージ用のフローエントリを、スイッチ200とインバンド制御サーバ300との通信用の経路を決定する際にも使用する。図7は、スイッチ200のフローテーブル260に登録される制御メッセージ用フローエントリ261の例を示す。ここでは、制御メッセージ用フローエントリ261の例として、フローエントリ401~404を示す。フローエントリ401は、インバンド制御サーバ300への接続用のフローエントリである。フローエントリ402は、インバンド制御サーバ300からスイッチ200宛のフローエントリである。フローエントリ403は、インバンド制御サーバ300からスイッチ200中継用のフローエントリである。フローエントリ404は、インバンド制御サーバ300用のフローエントリである。アウトオブバンド制御サーバ100は、アウトオブバンド制御チャンネルを利用して、制御メッセージ用のフローエントリ401~404を配下のスイッチ200のフローテーブル260に登録する。アウトオブバンド制御サーバ100は、インバンド制御サーバ300への接続用のフローエントリ401のマッチフィールドに、インバンド制御サーバの宛先IPアドレスSrcIPと制御メッセージ用のTCPポートSrcPortを記録したものを、配下のスイッチ200のフローテーブル260に登録する。スイッチ200は、パケットヘッダから抽出した情報を、優先的にフローエントリのマッチフィールドとマッチングさせることで、インバンド制御サーバ300へのパケットを特定し、そのパケットをインバンド制御サーバ300へ送信する。逆に、インバンド制御サーバ300からのパケットを特定する場合には、フローエントリ402、403のマッチフィールドに、インバンド制御サーバ300の送信元IPアドレスSrcIPと送信元の制御メッセージ用のTCPポートSrcPortが記録されるため、スイッチ200は、混在している通信データのパケットに基づいて、自分宛か、制御メッセージの中継かを判断することができる。図8は、スイッチ200内部の構成の詳細を示す。ここでは、特に、スイッチ200内部のフローテーブル260と、制御メッセージ用フローエントリ261、データプレーン用フローエントリ262の構成を示す。なお、図8で新たに示されたフロー転送部270は、制御メッセージのパケットと、他のパケットが混在したデータトラフィックを受信し、フローテーブル260内のフローエントリに基づいて、それぞれのパケットを転送する。また、インターフェース280は、アウトオブバンド制御チャンネル用の専用ポートと、インバンド制御チャンネル用の汎用ポートを有する。図8では、アウトオブバンド制御チャンネルを経由する制御メッセージは、インターフェース280の専用ポートを経由して、フローテーブル260内のフローエントリとマッチングせず、直接に制御チャンネル接続部230へ送信される。しかし、インバンド制御チャンネルを経由する制御メッセージは、インターフェース280の汎用ポートを経由して、他のパケットと混在してスイッチ200のフロー転送部270に到着する。このとき、スイッチ200は、高優先の制御メッセージ用フローエントリ261を利用して、制御メッセージを特定し、自分宛の制御チャンネル接続部230に転送するか、その制御メッセージを中継するかを判断する。スイッチ200は、制御サーバ情報管理部210にあるインバンド制御サーバ300の情報IPアドレス等と、制御メッセージ処理部240を利用して、制御チャンネル接続部230を経由して、インバンド制御サーバ300へ接続を要求する。インバンド制御サーバ300は、スイッチ200の認証を行い、許可されたスイッチ200に対し、証明書を送信する。スイッチ200は、インバンド制御サーバ300から受信した証明書から、スイッチ200とインバンド制御サーバ300間の共通鍵を作成し、暗号化通信経路とインバンド制御チャンネルを確立する。インバンド制御サーバ300は、インバンド配下スイッチ情報312として、スイッチの情報をスイッチ情報管理部310に保存する。スイッチ200は、主にアウトオブバンド制御サーバ100から経路情報に基づくフローエントリ登録等に関する制御メッセージを受信しながら、アウトオブバンド制御サーバ100とインバンド制御サーバ300の状態を監視する。スイッチ200は、アウトオブバンド制御サーバ100の状態が異常を検出した場合、即時に、インバンド制御サーバ300へ切り替えることができる。図9は、スイッチ情報管理部110やスイッチ情報管理部310に登録されるスイッチ情報の例を示す。ここでは、スイッチ情報管理部110に登録されるスイッチ情報として説明する。スイッチ情報管理部110は、アウトオブバンド配下スイッチ情報111と、インバンド配下スイッチ情報112を持つ。アウトオブバンド配下スイッチ情報111は、スイッチID1111、1112と、証明書公開鍵1113を含む。インバンド配下スイッチ情報112は、スイッチID1121、1122と、サーバサーバ間の共通鍵1123を含む。図10は、制御サーバ情報管理部210に登録される制御サーバ情報の例を示す。制御サーバ情報管理部210は、アウトオブバンド制御サーバの情報211と、インバンド制御サーバの情報212を持つ。アウトオブバンド制御サーバの情報211は、制御サーバのMACアドレス2111と、制御サーバのIPアドレス2112と、制御サーバのTCPポート番号2113と、サーバスイッチ間の共通鍵2114を含む。インバンド制御サーバの情報212は、制御サーバのMACアドレス2121と、制御サーバのIPアドレス2122と、制御サーバのTCPポート番号2123と、サーバスイッチ間の共通鍵2124を含む。次に、図11~図18に示すタイムチャートを使用して、本発明のネットワークシステムにおけるサーバ等の動作を説明する。[アウトオブバンド制御サーバ側の動作]図11は、アウトオブバンド制御サーバ100側の動作を示す。1ステップS101アウトオブバンド制御サーバ100は、インバンド制御サーバ300を選択する。2ステップS102アウトオブバンド制御サーバ100は、選択したインバンド制御サーバ300への接続を要求する。ここでは、アウトオブバンド制御サーバ100は、選択したインバンド制御サーバ300に、冗長制御サーバとしてのサービス提供を依頼する。3ステップS103アウトオブバンド制御サーバ100は、インバンド制御サーバ300から許可の応答があるか確認する。ここでは、アウトオブバンド制御サーバ100は、インバンド制御サーバ300から証明書を受信した場合、インバンド制御サーバ300から許可の応答があったと判断する。4ステップS104アウトオブバンド制御サーバ100は、インバンド制御サーバ300から許可の応答がなかった場合ステップS103でNo、他のインバンド制御サーバ300を選択し、改めて、選択したインバンド制御サーバ300への接続を要求する。5ステップS105アウトオブバンド制御サーバ100は、インバンド制御サーバ300から許可の応答があった場合ステップS103でYes、インバンド制御サーバ300からの証明書を利用して、共通鍵を作成し、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の暗号化通信経路を確立する。6ステップS106アウトオブバンド制御サーバ100は、インバンド制御サーバ300に、配下のスイッチの情報スイッチIDと、作成した共通鍵を通知する。7ステップS107アウトオブバンド制御サーバ100は、当該インバンド制御サーバ300の情報を配下のスイッチ200に通知する。8ステップS108アウトオブバンド制御サーバ100は、スイッチ200のフローテーブル260に、制御メッセージ用フローエントリ261を登録する。[インバンド制御サーバ側の動作]図12は、インバンド制御サーバ300側の動作を示す。1ステップS201インバンド制御サーバ300は、他の制御サーバからインバンド制御サーバ300としての接続要求を受信する。ここでは、要求元の制御サーバは、アウトオブバンド制御サーバ100とする。インバンド制御サーバ300は、アウトオブバンド制御サーバ100から、冗長制御サーバとしてのサービス提供依頼を受信する。2ステップS202インバンド制御サーバ300は、要求元の制御サーバに対し、インバンド制御サーバ300として接続許可するかどうかを判断する。3ステップS203インバンド制御サーバ300は、要求元の制御サーバに対し、インバンド制御サーバ300として接続許可しない場合、要求元の制御サーバに接続拒否を通知する。4ステップS204インバンド制御サーバ300は、要求元の制御サーバに対し、インバンド制御サーバ300として接続許可する場合、要求元の制御サーバに接続許可を通知し、証明書を送信する。5ステップS205インバンド制御サーバ300は、要求元の制御サーバから共通鍵を受信し、暗号化通信経路とサーバサーバ間の通信経路を確立する。ここでは、インバンド制御サーバ300は、アウトオブバンド制御サーバ100から、アウトオブバンド制御サーバ100で作成された共通鍵を受信し、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の暗号化通信経路を確立する。6ステップS206また、インバンド制御サーバ300は、相手の制御サーバから受信したスイッチの情報を保存する。ここでは、インバンド制御サーバ300は、アウトオブバンド制御サーバ100から、配下のスイッチ200を示すスイッチIDを受信し、管理する。なお、インバンド制御サーバ300は、共通鍵とスイッチの情報スイッチIDを同じタイミングで受信するようにしても良い。[アウトオブバンド制御チャンネルの確立]図13は、スイッチ200が既知のアウトオブバンド制御サーバ100に対して、TCPセッションを確認し、サーバから受信した証明書を利用して、公開鍵を生成し、暗号化通信経路とアウトオブバンド制御チャンネルを確立する際の動作を示す。1ステップS301スイッチ200は、既知のアウトオブバンド制御サーバ100に対して、TCPセッションを確立する。2ステップS302スイッチ200は、アウトオブバンド制御サーバ100から証明書を受信し、アウトオブバンド制御サーバ100とスイッチ200間の共通鍵を作成する。3ステップS303スイッチ200は、アウトオブバンド制御サーバ100とスイッチ200間の暗号化通信経路を確立する。4ステップS304スイッチ200は、アウトオブバンド制御サーバ100に接続要求を送信する。5ステップS305スイッチ200は、アウトオブバンド制御チャンネルを確立することができるか確認する。ここでは、スイッチ200は、アウトオブバンド制御サーバ100から、接続許可の応答があれば、アウトオブバンド制御チャンネルを確立することができると判断する。スイッチ200は、アウトオブバンド制御チャンネルを確立することができない場合、最初からやり直す。6ステップS306スイッチ200は、アウトオブバンド制御チャンネルを確立することができる場合、アウトオブバンド制御サーバ100とスイッチ200間のアウトオブバンド制御チャンネルを確立する。[インバンド制御チャンネルの確立]図14は、スイッチ200がアウトオブバンド制御チャンネルを確立した後、インバンド制御チャンネルを確立する際の動作を示す。1ステップS401スイッチ200は、スイッチ200とアウトオブバンド制御サーバ間に、アウトオブバンド制御チャンネルを確立する。この手順については、図13に示す。2ステップS402スイッチ200は、アウトオブバンド制御チャンネルが確立した後、アウトオブバンド制御サーバ100に、インバンド制御サーバ300の情報と、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の共通鍵を要求する。3ステップS403スイッチ200は、アウトオブバンド制御サーバ100から、候補のインバンド制御サーバ300の情報を受信する。4ステップS404スイッチ200は、その候補のインバンド制御サーバ300に対し、自分のスイッチIDと、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の共通鍵を送信し、インバンド制御サーバ300に接続要求する。5ステップS405スイッチ200は、インバンド制御サーバ300への接続が許可されたか確認する。ここでは、スイッチ200は、インバンド制御サーバ300から接続許可の応答を受信した場合、インバンド制御サーバ300への接続が許可されたと判断する。6ステップS406スイッチ200は、インバンド制御サーバ300から接続許可の応答を受信しなかった場合ステップS405でNo、アウトオブバンド制御サーバ100にインバンド制御チャンネル確立不可の旨を通知し、改めて、他のインバンド制御サーバ300の情報を要求する。7ステップS407スイッチ200は、インバンド制御サーバ300から接続許可の応答を受信した場合ステップS405でYes、スイッチ200とインバンド制御サーバ300間の暗号化通信経路を確立する。ここでは、スイッチ200は、インバンド制御サーバ300から、接続許可の応答として証明書を受信し、スイッチ200とインバンド制御サーバ300間の共通鍵を作成し、作成された共通鍵により、スイッチ200とインバンド制御サーバ300間の暗号化通信経路を確立する。8ステップS408スイッチ200は、スイッチ200とインバンド制御サーバ300間のインバンド制御チャンネルを確立する。[インバンド制御サーバへのスイッチ情報の登録]図15は、インバンド制御サーバ300のスイッチ200の情報の登録の際の動作を示す。1ステップS501インバンド制御サーバ300は、配下のスイッチ200からインバンド制御チャンネル確立の要求を受信する。2ステップS502インバンド制御サーバ300は、スイッチ200から要求を受信した際、スイッチ情報管理部310に、スイッチ200の情報が登録されているか確認する。ここで、以前、アウトオブバンド制御サーバ100とインバンド制御サーバ300の間に、スイッチ200の情報スイッチIDを交換しているため、そのスイッチ200の情報スイッチIDと、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の共通鍵を参照して、スイッチ200の情報スイッチIDの登録を受け入れるかを判断する。3ステップS503インバンド制御サーバ300は、スイッチ200の情報スイッチIDが登録されていない場合ステップS502でNo、スイッチ200に対して、接続拒否を通知する。4ステップS504インバンド制御サーバ300は、スイッチ200の情報スイッチIDが登録されている場合ステップS502でYes、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の共通鍵が正しいか確認する。5ステップS505インバンド制御サーバ300は、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の共通鍵が正しくない場合ステップS504でNo、スイッチ200に対して、接続拒否を通知する。6ステップS506インバンド制御サーバ300は、アウトオブバンド制御サーバ100とインバンド制御サーバ300間の共通鍵が正しい場合ステップS504でYes、スイッチ200に対して、接続許可を通知し、証明書を送付する。7ステップS507インバンド制御サーバ300は、証明書の送付に対する応答として、スイッチ200からスイッチ200とインバンド制御サーバ300間の共通鍵を受信し、スイッチ200とインバンド制御サーバ300間の共通鍵により、暗号化通信経路を確立する。8ステップS508インバンド制御サーバ300は、スイッチ200とインバンド制御サーバ300間のインバンド制御チャンネルを確立する。[アウトオブバンド制御サーバとインバンド制御サーバの切り替え]図16A、図16Bは、スイッチ200が、アウトオブバンド制御サーバ100からインバンド制御サーバ300への切り替え、或いはインバンド制御サーバ300からアウトオブバンド制御サーバ100への切り替えを行う際の動作を示す。1ステップS601スイッチ200は、アウトオブバンド制御サーバ100及びインバンド制御サーバ300の各々と接続した後、主にアウトオブバンド制御サーバ100から制御メッセージを受信する。2ステップS602スイッチ200は、アウトオブバンド制御サーバ100に対し、定期的に、状態監視用メッセージを送信する。3ステップS603スイッチ200は、アウトオブバンド制御サーバ100から状態監視用メッセージに対する応答があるか確認する。スイッチ200は、アウトオブバンド制御サーバ100から応答がある場合ステップS603でYes、アウトオブバンド制御サーバ100から状態監視に関する制御メッセージを受信する。4ステップS604スイッチ200は、アウトオブバンド制御サーバ100から応答がない場合ステップS603でNo、アウトオブバンド制御サーバ100が異常状態であると判断し、インバンド制御サーバ300を選択し、選択したインバンド制御サーバ300への切り替えを準備する。5ステップS605スイッチ200は、インバンド制御サーバ300に対し、切り替え通知を送信し、接続開始を要求し、インバンド制御サーバ300へ接続する。6ステップS606スイッチ200は、インバンド制御サーバ300へ接続した時点で、インバンド制御サーバ300から制御メッセージを受信することになる。スイッチ200は、インバンド制御サーバ300から制御メッセージを受信する。7ステップS607なお、インバンド制御サーバ300に接続中のスイッチ200でも、定期的に、アウトオブバンド制御サーバ100に対し、状態監視用メッセージを送信する。8ステップS608スイッチ200は、状態監視用メッセージに対し、アウトオブバンド制御サーバ100から応答があるか確認する。スイッチ200は、応答の有無により、アウトオブバンド制御サーバ100の状態を確認し、アウトオブバンド制御サーバ100が復旧したかを確認する。9ステップS609スイッチ200は、アウトオブバンド制御サーバ100から応答があり、復旧したことが確認できた場合ステップS608のYes、スイッチ200は即時にアウトオブバンド制御サーバ100に切り戻し、アウトオブバンド制御サーバ100から制御メッセージを受信する。10ステップS610スイッチ200は、アウトオブバンド制御サーバ100から応答がなく、復旧したことが確認できない場合ステップS608のNo、インバンド制御サーバ300に対し、状態監視用メッセージを送信する。11ステップS611スイッチ200は、状態監視用メッセージに対し、インバンド制御サーバ300から応答があるか確認する。スイッチ200は、インバンド制御サーバ300から応答がある場合ステップS611でYes、インバンド制御サーバ300から状態監視に関する制御メッセージを受信する。また、スイッチ200は、インバンド制御サーバ300から応答がない場合ステップS611でNo、インバンド制御サーバ300が異常状態だと判断し、他のインバンド制御サーバ300を選択し、選択したインバンド制御サーバ300への切り替えを準備する。[制御メッセージ用フローエントリのマッチング]図17は、インバンド制御サーバ300宛に、スイッチ200上に登録される制御メッセージ用フローエントリのマッチングの仕組みを示す。1ステップS701アウトオブバンド制御サーバ100は、スイッチ200に対し、インバンド制御サーバ300の情報を送信し、インバンド制御サーバ300へのフローエントリを登録する。その登録されたフローエントリは、制御メッセージ用フローエントリとなる。スイッチ200は、インバンド制御サーバ300への制御メッセージを生成し、制御メッセージのパケットを送信する。2ステップS702スイッチ200は、その制御メッセージのパケットのヘッダから抽出した検索キーを利用し、高優先の制御メッセージ用フローエントリとマッチングを行う。3ステップS703スイッチ200は、制御メッセージのパケットのヘッダから抽出した検索キーが、高優先の制御メッセージ用フローエントリとマッチするか確認する。4ステップS704スイッチ200は、マッチした場合ステップS703でYes、制御メッセージを、インバンド制御サーバ300へ送信する。5ステップS705スイッチ200は、マッチしなかった場合ステップS703でNo、制御メッセージのパケットのヘッダから抽出した検索キーが、他の制御メッセージ用フローエントリとマッチするか確認する。ここでは、スイッチ200は、制御メッセージのパケットのヘッダから抽出した検索キーを利用し、先にマッチングを行った制御メッセージ用フローエントリの次に高優先の制御メッセージ用フローエントリとマッチングを行う。スイッチ200は、マッチした場合、制御メッセージを、当該制御メッセージ用フローエントリに対応する制御サーバへ送信する。スイッチ200は、制御メッセージのパケットのヘッダから抽出した検索キーとマッチする制御メッセージ用フローエントリが存在しない場合、当該制御メッセージのパケットを破棄しても良い。[パケット群からの制御メッセージの抽出]図18は、スイッチ200上のフローテーブル上に、パケットと混載している制御メッセージを抽出する制御メッセージ用フローエントリのマッチングの仕組みを示す。1ステップS801スイッチ200は、パケットを受信する。2ステップS802スイッチ200は、受信したパケットのヘッダから抽出した検索キーを利用し、高優先の制御メッセージ用フローエントリとマッチングを行う。3ステップS803スイッチ200は、受信したパケットのヘッダから抽出した検索キーが、高優先の制御メッセージ用フローエントリとマッチするか確認する。4ステップS804スイッチ200は、マッチしなかった場合ステップS803でNo、受信したパケットのヘッダから抽出した検索キーが、他の制御メッセージ用フローエントリとマッチするか確認する。ここでは、スイッチ200は、受信したパケットのヘッダから抽出した検索キーを利用し、先にマッチングを行った制御メッセージ用フローエントリの次に高優先の制御メッセージ用フローエントリとマッチングを行う。スイッチ200は、マッチした場合、制御メッセージを、当該制御メッセージ用フローエントリに対応する制御サーバへ送信する。スイッチ200は、受信したパケットのヘッダから抽出した検索キーとマッチする制御メッセージ用フローエントリが存在しない場合、当該受信したパケットを破棄しても良い。5ステップS805スイッチ200は、マッチした場合ステップS803でYes、そのパケットが制御メッセージであるものと判断し、宛先が自分宛であるか確認する。6ステップS806スイッチ200は、宛先が自分宛でない場合ステップS805でNo、宛先に基づいて、他のスイッチへ制御メッセージを中継する。7ステップS807スイッチ200は、宛先が自分宛である場合ステップS805でYes、自分宛の制御メッセージを、自身の制御メッセージ処理部240に転送する。<第2実施形態>以下に、本発明の第2実施形態について説明する。スイッチ200は、制御メッセージ処理のプロトコルにおいて、TCPの送信先ポート番号、又は送信元ポートが規定される場合例えば、TCPポート番号が9999、制御メッセージ検出用フローエントリを用いて、流れているデータトラフィックから制御メッセージを抽出することができる。その制御メッセージを自分のアウトオブバンド制御サーバに送信し、アウトオブバンド制御サーバは、制御メッセージのヘッダから、他の制御サーバの送信元IPアドレスを抽出でき、他の制御サーバへの接続試行を行うことができる。<本発明の特徴>本発明は、パケットを転送するスイッチと経路を決定する制御サーバにおいて、アウトオブバンド制御サーバとインバンド制御サーバによって、制御チャンネルの冗長化を実現するものである。本発明は、スイッチに対し、アウトオブバンド制御サーバから、インバンド制御サーバへ制御メッセージ用フローエントリを登録する仕組みとなっている。本発明では、アウトオブバンド制御サーバとインバンド制御サーバの間でスイッチIDを交換する。また、本発明では、インバンド制御サーバが他のスイッチを登録する。更に、本発明では、制御メッセージ用フローエントリを用いて、パケットと混在している制御メッセージを抽出する。本発明は、パケット転送手段スイッチと経路情報決定手段制御サーバが分離されたネットワークシステム等で利用することができる。本発明においては、スイッチが主のアウトオブバンド制御サーバから制御メッセージを受信しながら、データトラフィックのネットワークを経由し、他の制御サーバをインバンド制御サーバとして利用することができる。また、本発明においては、スイッチに対し、アウトオブバンド制御サーバから事前に接続依頼したインバンド制御サーバの情報を登録することで、スイッチは、信頼できる他の制御サーバインバンド制御サーバへ接続できる。また、本発明においては、インバンド制御サーバは、事前に他のアウトオブバンド制御サーバからスイッチID及びサーバサーバ間の共通鍵を受信し、保存することで、スイッチから接続要求されたときに、当該スイッチの認証を行うことができる。また、本発明においては、アウトオブバンド制御サーバからスイッチのフローテーブル用に対し、高優先度の制御メッセージ用フローエントリを登録することで、スイッチは、データトラフィックと混在している制御メッセージを抽出することができる。また、本発明においては、制御メッセージ用のフローエントリにより、制御メッセージが優先的にマッチングされ、スイッチの制御メッセージ処理部への送信することができ、また、他のスイッチへの優先的に制御メッセージを中継することができる。また、本発明においては、スイッチは、監視しているアウトオブバンド制御サーバに障害が発生した場合、一旦、アウトオブバンド制御サーバからインバンド制御サーバへ切り替え、インバンド制御サーバから制御メッセージを受信するが、常時、切り替え前のアウトオブバンド制御サーバを監視することで、アウトオブバンド制御サーバが復旧したとき、即時に切り替え戻すことができる。<まとめ>以上のように、本発明は、パケットを転送するスイッチと、経路情報を決定する制御サーバが分離されたネットワークシステムにおいて、スイッチが制御サーバから経路情報に基づくフローエントリ登録等に関する制御メッセージを受信する場合に、アウトオブバンド制御チャンネルとインバンド制御チャンネルによる制御チャンネルの冗長化を実現する構成にしたことを特徴としている。図1において、パケットを転送するスイッチと経路を決定する制御サーバを構成するデータプレーンとコントロールプレーンの分離したネットワークシステムを示す。ここで、スイッチと制御サーバ間では、制御メッセージを送受信する制御チャンネルで接続されている。図5において、スイッチは経路情報を決定するために、アウトオブバンド制御チャンネルで制御サーバとの接続されることだけではなく、通常のデータ通信用の経路を利用し、ネットワーク経由で、他の制御サーバと接続することができるインバンド制御チャンネルを構築することで、制御チャンネルを冗長する。なお、アウトオブバンド制御チャンネルでは、制御メッセージ専用の通信路を利用する。また、インバンド制御チャンネルでは、通信データと制御メッセージで同じ通信路を共同利用する。このようにして、本発明では、スイッチが、アウトオブバンド制御チャンネルとインバンド制御チャンネルにより制御メッセージを送受信するので、制御チャンネルの冗長化を実現することができる。図6A、図6Bは、パケットを転送するスイッチと経路情報を管理決定する制御サーバから構成になるネットワークシステムを示す。スイッチは、初期設定で主に制御メッセージを受信する制御サーバと接続するためには、データ転送用のネットワークとは別に、アウトオブバンド制御チャンネルで接続され、スイッチにとって、その制御サーバは、アウトオブバンド制御サーバとなる。アウトオブバンド制御サーバは、ネットワーク上に存在している既知又は設定される他の制御サーバに制御チャンネルの冗長構成を依頼する。依頼された他の制御サーバは、スイッチにとって、インバンド制御サーバとなる。アウトオブバンド制御サーバは、冗長制御サーバ管理部を利用して、アウトオブバンド制御サーバとインバンド制御サーバ間の暗号化通信経路を構築、その経路を通じて、自分が管理しているスイッチの情報を相手のインバンド制御サーバに通知する。更に、アウトオブバンド制御サーバは、自分が管理しているスイッチに対し、インバンド制御サーバの情報を通知する。スイッチは、アウトオブバンド制御サーバから受信したインバンド制御サーバの情報を基に、インバンド制御サーバに対し、スイッチの登録を依頼する。インバンド制御サーバは、事前にアウトオブバンド制御サーバから受信したスイッチの情報を基に、スイッチの認証を行い、スイッチを登録する。スイッチは、インバンド制御サーバから登録された後、主に制御メッセージを受信するアウトオブバンド制御サーバと共に、インバンド制御サーバの状態を監視する。スイッチは、常時監視しているアウトオブバンド制御サーバから応答がない場合、アウトオブバンド制御サーバに異常が発生したこと判断し、アウトオブバンド制御サーバからインバンド制御サーバへ切り替えし、インバンド制御サーバから制御メッセージを受信する。このようにして、スイッチは、主に受信したアウトオブバンド制御サーバと他の制御サーバインバンド制御サーバから冗長された制御チャンネルから制御メッセージを受信することができる。<補足>本発明の特徴は、アウトオブバンド制御チャンネルとインバンド制御チャンネルによる冗長構成と、アウトオブバンド制御チャンネルからのインバンド制御チャンネルの接続性の確立と、アウトオブバンド制御チャンネルとインバンド制御チャンネルの選択と、アウトオブバンド制御チャンネルとインバンド制御チャンネルの切り替えの方式にある。本発明では、アウトオブバンド制御サーバが、スイッチとアウトオブバンドで制御チャンネルを構成確立し、スイッチとインバンド制御サーバ間の制御チャンネル用の経路情報フローテーブルを設定する。そして、スイッチが、インバンド制御サーバとの制御チャンネルを構成確立し、アウトオブバンド制御サーバとインバンド制御サーバで双方を用いて、制御サーバの冗長構成を構築する。また、スイッチが、制御チャンネルの障害を監視して、障害発生時にアクティブ主系本番系の制御チャンネルから、スタンバイ待機系予備系の制御チャンネルに切り替える。以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。なお、本出願は、日本出願番号2010-000819に基づく優先権を主張するものであり、日本出願番号2010-000819における開示内容は引用により本出願に組み込まれる。