(57)【要約】      （修正有）【課題】経路構築可能なプロトコルで制御されるクラスタにおいて、マネジメントネットワークに障害が発生しても継続して動作可能と転送システムを提供する。【解決手段】経路構築可能なプロトコルに従ってパケットの転送制御を行う転送装置であって、マネジメント部から経路構築情報を受信し、当該経路構築情報に従ってパケットを転送する転送部と、データプレーンを介して受信した経路構築情報を前記転送部に受信させるブリッジ部とを備え、経路構築情報の通信をデータ通信用ポート経由でも実現し、マネジメントネットワークに障害が発生しても継続して動作可能とする。【選択図】図１１
2019041368.tif 000002
【特許請求の範囲】
【請求項１】
経路構築可能なプロトコルに従ってパケットの転送制御を行う転送装置であって、
マネジメント部から経路構築情報を受信し、当該経路構築情報に従ってパケットを転送する転送部と、
データプレーンを介して受信した経路構築情報を前記転送部に受信させるブリッジ部と、
を備えることを特徴とする転送装置。
【請求項２】
前記ブリッジ部は、外部の転送装置との間でデータプレーンを介して送受信するマネジメント情報を前記マネジメント部に対して透過させる、
ことを特徴とする請求項１に記載の転送装置。
【請求項３】
前記ブリッジ部は、データプレーンを介して送受信するマネジメント情報を前記マネジメント部に対して透過させる、
ことを特徴とする請求項１に記載の転送装置。
【請求項４】
前記ブリッジ部は、前記マネジメント部から前記転送部へ送信されるマネジメント情報に対して前記転送部がマネジメントプレーン用のヘッダを削除する場合、予めダミーのヘッダを付与し、
前記転送部から前記マネジメント部へ送信されるマネジメント情報に対して前記転送部がマネジメントプレーン用のヘッダを付与する場合、付与されたヘッダを削除する、
ことを特徴とする請求項３に記載の転送装置。
【請求項５】
前記マネジメント部は、当該転送装置内に配備される、
ことを特徴とする請求項１に記載の転送装置。
【請求項６】
経路構築可能なプロトコルに従ってパケットの転送制御を行う転送装置であって、
パケットを転送する転送部と、
外部コントローラから前記転送部への転送制御指示を受信するポートと、
前記外部コントローラとの切断を判定したならば、自身が備える前記転送部を制御するコントローラと、
を備えることを特徴とする転送装置。
【請求項７】
前記コントローラは、前記外部コントローラの切断を判定した際に、他の転送装置のコントローラと連携して、自律的に前記転送部を制御する、
ことを特徴とする請求項６に記載の転送装置。
【請求項８】
前記コントローラは、前記外部コントローラの切断を判定した際に、他の転送装置のコントローラと連携して、前記外部コントローラによる転送制御を分散処理する、
ことを特徴とする請求項６に記載の転送装置。
【請求項９】
前記コントローラは、データプレーンを介して前記他の転送装置のコントローラと連携する、
ことを特徴とする請求項８に記載の転送装置。
【請求項１０】
前記コントローラは、データプレーンを介して前記他の転送装置のコントローラから転送先経路情報の書き込みを受ける、
ことを特徴とする請求項８に記載の転送装置。
【請求項１１】
経路構築可能なプロトコルに従ってパケットの転送制御を行う転送システムであって、
マネジメント部から経路構築情報を受信し、当該経路構築情報に従ってパケットを転送する転送部と、
データプレーンを介して受信した経路構築情報を前記転送部に受信させるブリッジ部と、
を備える転送装置と、
マネジメント部を備えるマネジメント装置と、
を具えることを特徴とする転送システム。
【請求項１２】
経路構築可能なプロトコルに従ってパケットの転送制御を行う転送システムは、複数の転送装置、外部コントローラ、マネジメントスイッチを含んで構成され、
前記外部コントローラは、前記マネジメントスイッチを介して前記複数の転送装置に接続され、
前記転送装置は、
パケットを転送する転送部と、
前記外部コントローラから前記転送部への転送制御指示を受信するポートと、
前記外部コントローラとの切断を判定したならば、自身が備える前記転送部を制御するコントローラと、
を備えることを特徴とする転送システム。
【請求項１３】
経路構築可能なプロトコルに従ってパケットの転送制御を行う転送部は、マネジメント部から受信した経路構築情報に従ってパケットを転送し、
ブリッジ部は、データプレーンを介して受信した経路構築情報を前記転送部に受信させる、
ことを特徴とする転送制御方法。
【請求項１４】
経路構築可能なプロトコルに準拠したパケットの転送制御方法であって、
外部コントローラから転送制御指示を受信すると、当該転送制御指示に従ってパケットを転送し、
前記外部コントローラとの切断を判定したならば、自律的にパケットを転送する、
ことを特徴とする転送制御方法。
【請求項１５】
コンピュータを、
経路構築可能なプロトコルの転送先経路情報を受信してパケットを転送する転送手段、
データプレーンを介して受信した経路構築情報を前記転送手段に受信させるブリッジ手段、
として機能させるための転送制御プログラム。
【請求項１６】
コンピュータを、
パケットを転送する転送手段、
外部コントローラから経路構築可能なプロトコルに準拠した転送制御指示を受信する受信手段、
前記外部コントローラとの切断を判定したならば、自身が備える前記転送手段を制御する制御手段、
として機能させるための転送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを構成する複数の物理装置（転送装置）の管理機能に係る予備系実装方式により耐障害性を向上させる技術に関する。本発明は、ネットワークを構成する複数の物理装置群（スイッチクラスタ）を束ねて論理ノードとして制御することによる、１物理装置との置き換え時の既存ネットワーク設計への影響を低減させる技術に関する。また本発明は、ネットワークを構成する複数の物理装置群（スイッチクラスタ）を束ねて論理ノードとして制御することによる、１物理装置との置き換え時の外部へ影響する総経路情報や総経路計算負荷を低減させる技術に関する。
【背景技術】
【０００２】
転送装置が転送先を決定する方式には、各転送装置が自律的に他の転送装置とやり取りして決定する従来の方式のほかに、複数の転送装置を１台のコントローラで集中管理しコントローラの指示で決定する方式が存在する。特に集中管理型のOpenFlow技術の場合は、各転送装置の転送先をＭＡＣ（Media Access Control）アドレスやＩＰ（Internet Protocol）アドレスなどのマッチフィールドを条件としたフローエントリにて判断する。全てのエントリは、複数台の転送装置を束ねて制御するコントローラの指示により作成される。
【０００３】
OpenFlow技術によれば、転送装置ごとの条件を細かく設定することで、従来のＩＰネットワークで用いられてきたルーティングプロトコルの制限に左右されない経路指示が可能となる。OpenFlow技術の採用により、ネットワークリソースの効率的利用、ネットワーク内に配置されたアプリケーションによる機能追加、広域網のネットワーク設計の簡素化が期待されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Distributed Operation”,ONOS-Wiki,[online],[平成２９年８月８日検索],インターネット<URL:https://wiki.onosproject.org/display/ONOS/Distributed+Operation>
【非特許文献２】“OpenDaylight Controller:MD-SAL:Architecture:Clustering”,[online],[平成２９年８月８日検索],インターネット<URL:https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Architecture:Clustering>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の複数の装置を束ねて外部から一つの論理的なノードとして見せる方式としてOSPF（Open Shortest Path First）やBGP（Border Gateway Protocol）等のルーティング機能を用いたアドレス集約方法がある。しかし、そのようなアドレス集約方法は、VPN（Virtual Private Network）経路の適切な配布などが困難になるという制限を受ける。
【０００６】
一方、OpenFlow技術に代表される経路構築可能なプロトコルを用いると複数装置の制御部を一つのコントローラで制御することから完全論理ノード化が可能である。OpenFlow技術を用いた論理ノードは、VPN経路に対してもコントローラの制御機能の拡張により柔軟な対応が可能となる。しかし、OpenFlow技術を用いた論理ノードは、各転送装置（スイッチ）がコントローラに依存している。コントローラと各転送装置を接続するマネジメントネットワークが切断されたならば、各転送装置は、パケットの適切な転送が困難となる。また転送装置単体では、新たに追加または削除された経路に対応できない。
【０００７】
そのため、従来のルーティングプロトコルにおけるアドレス集約等の方式ではなくOpenFlow技術を用いた集中制御型の構成を基本とし、その集中制御型の課題と考えられるコントローラと転送装置間の接続に冗長性を持たせることが重要であるといえる。
非特許文献１，２に記載のオープンソースソフトウェア等では、複数台のサーバにコントローラを展開し相互に連携・同期しつつ、何れかのサーバに障害が発生しても他のサーバで引き継げるような分散的処理機能が採用されている。
【０００８】
しかし、転送装置には、コントローラと接続するためのマネジメントポートを１つだけ備えているものが多い。そのため、複数の転送装置をまとめてコントローラと接続するためには、マネジメントスイッチを挟むのが一般的である。そのため、コントローラを複数台に増やしたとしても、マネジメントスイッチに障害が発生した場合、全ての転送装置はコントローラから切り離されてしまい、障害がネットワーク全体に広がる。つまりマネジメントスイッチが単一障害点となる問題がある。
【０００９】
マネジメントネットワークの障害、特にマネジメントスイッチの単一障害点における障害でネットワーク全体が止まってしまう問題を回避する手段として、２通りの方式が考えられる。
【００１０】
第１の方式は、経路構築情報を転送装置に送信する経路を、マネジメントポート経由ではなくデータ通信用ポート経由で実現する方式である．転送装置を組合せて構成したネットワークにおいて、データ通信経路による装置間の疎通が維持されている限り、同じ経路を用いた集中制御型同様の直接的な経路構築を実現することが可能となる。
第２の方式は、マネジメントスイッチにより実現されてきたマネジメントネットワークに依存した経路構築機能間の経路情報の交換通信を、データ通信用ポート経由で行えるよう拡張する方式である。第１の方式と同様、転送装置を組合せて構成したネットワークにおいて、データプレーンによる装置間の疎通が維持されている限り、同じ経路を用いた集中制御型と同様に経路情報を交換することが可能となる。
【００１１】
第１，第２の方式は、マネジメントポートと同じＯＳ上でデータ通信用ポートが制御できることで実現が可能となる。しかし、データ通信用ポート制御を可能とするドライバは、マネジメントポートと同じＯＳ上では動作しない。
【００１２】
そこで、本発明は、経路構築可能なプロトコルで制御されるクラスタにおいて、マネジメントネットワークに障害が発生しても継続して動作可能とすることを課題とする。
【課題を解決するための手段】
【００１３】
請求項１に記載の発明では、経路構築可能なプロトコルに従ってパケットの転送制御を行う転送装置であって、マネジメント部から経路構築情報を受信し、当該経路構築情報に従ってパケットを転送する転送部と、データプレーンを介して受信した経路構築情報を前記転送部に受信させるブリッジ部と、を備えることを特徴とする転送装置とした。
【００１４】
これにより、経路構築情報の通信をデータ通信用ポート経由でも実現し、マネジメントネットワークに障害が発生しても継続して動作可能とすることができる。
【００１５】
請求項２に記載の発明では、前記ブリッジ部は、外部の転送装置との間でデータプレーンを介して送受信するマネジメント情報を前記マネジメント部に対して透過させる、ことを特徴とする請求項１に記載の転送装置とした。
【００１６】
これにより、マネジメント情報の通信をデータ通信用ポート経由でも実現することができる。
【００１７】
請求項３に記載の発明では、前記ブリッジ部は、データプレーンを介して送受信するマネジメント情報を前記マネジメント部に対して透過させる、ことを特徴とする請求項１に記載の転送装置とした。
【００１８】
これにより、マネジメント情報の通信をデータ通信用ポート経由でも実現することができる。
【００１９】
請求項４に記載の発明では、前記ブリッジ部は、前記マネジメント部から前記転送部へ送信されるマネジメント情報に対して前記転送部がマネジメントプレーン用のヘッダを削除する場合、予めダミーのヘッダを付与し、前記転送部から前記マネジメント部へ送信されるマネジメント情報に対して前記転送部がマネジメントプレーン用のヘッダを付与する場合、付与されたヘッダを削除する、ことを特徴とする請求項３に記載の転送装置とした。
【００２０】
これにより、マネジメント情報の通信をデータ通信用ポート経由でも実現することができる。
【００２１】
請求項５に記載の発明では、前記マネジメント部は、当該転送装置内に配備される、ことを特徴とする請求項１に記載の転送装置とした。
【００２２】
これにより、クラスタの構成を単純化して故障率を下げることができる。
【００２３】
請求項６に記載の発明では、経路構築可能なプロトコルに従ってパケットの転送制御を行う転送装置であって、パケットを転送する転送部と、外部コントローラから前記転送部への転送制御指示を受信するポートと、前記外部コントローラとの切断を判定したならば、自身が備える前記転送部を制御するコントローラと、を備えることを特徴とする転送装置とした。
【００２４】
このようにすることで、経路構築可能なプロトコルで制御されるクラスタは、マネジメントネットワークに障害が発生しても継続して動作が可能である。
【００２５】
請求項７に記載の発明では、前記コントローラは、前記外部コントローラの切断を判定した際に、他の転送装置のコントローラと連携して、自律的に前記転送部を制御する、ことを特徴とする請求項６に記載の転送装置とした。
【００２６】
このようにすることで、オペレータが切り替えることなく、自律的に故障を検知して予備系コントローラに切り替えることができる。
【００２７】
請求項８に記載の発明では、前記コントローラは、前記外部コントローラの切断を判定した際に、他の転送装置のコントローラと連携して、前記外部コントローラによる転送制御を分散処理する、ことを特徴とする請求項６に記載の転送装置とした。
【００２８】
このようにすることで、故障前と故障後の両方で他のコントローラと連携しているので、外部から単一のノードに見せることができる。
【００２９】
請求項９に記載の発明では、前記コントローラは、データプレーンを介して前記他の転送装置のコントローラと連携する、ことを特徴とする請求項８に記載の転送装置とした。
【００３０】
このようにすることで、コントロールプレーン上に形成されたマネジメントネットワークを自律的にデータプレーンに切り替えて、転送装置による転送動作を継続することができる。
【００３１】
請求項１０に記載の発明では、前記コントローラは、データプレーンを介して前記他の転送装置のコントローラから転送先経路情報の書き込みを受ける、ことを特徴とする請求項８に記載の転送装置とした。
【００３２】
このようにすることで、コントロールプレーン上のマネジメントネットワークに故障が発生したときであっても、動作を継続することができる。
【００３３】
請求項１１に記載の発明では、経路構築可能なプロトコルに従ってパケットの転送制御を行う転送システムであって、マネジメント部から経路構築情報を受信し、当該経路構築情報に従ってパケットを転送する転送部と、データプレーンを介して受信した経路構築情報を前記転送部に受信させるブリッジ部と、を備える転送装置と、マネジメント部を備えるマネジメント装置と、を具えることを特徴とする転送システムとした。
【００３４】
これにより、経路構築情報の通信をデータ通信用ポート経由でも実現し、マネジメントネットワークに障害が発生しても継続して動作可能とすることができる。
【００３５】
請求項１２に記載の発明では、経路構築可能なプロトコルに従ってパケットの転送制御を行うクラスタは、複数の転送装置、外部コントローラ、マネジメントスイッチを含んで構成され、前記外部コントローラは、前記マネジメントスイッチを介して前記複数の転送装置に接続され、前記転送装置は、パケットを転送する転送部と、前記外部コントローラから前記転送部への転送制御指示を受信するポートと、前記外部コントローラとの切断を判定したならば、自身が備える前記転送部を制御するコントローラと、を備えることを特徴とするクラスタとした。
【００３６】
このようにすることで、経路構築可能なプロトコルで制御されるクラスタは、マネジメントネットワークに障害が発生しても継続して動作が可能である。
【００３７】
請求項１３に記載の発明では、経路構築可能なプロトコルに従ってパケットの転送制御を行う転送部は、マネジメント部から経路構築情報を受信し、当該経路構築情報に従ってパケットを転送し、ブリッジ部は、データプレーンを介して受信した経路構築情報を前記転送部に受信させる、ことを特徴とする転送方法とした。
【００３８】
これにより、経路構築情報の通信をデータ通信用ポート経由でも実現し、マネジメントネットワークに障害が発生しても継続して動作可能とすることができる。
【００３９】
請求項１４に記載の発明では、経路構築可能なプロトコルに準拠したパケットの転送制御方法であって、外部コントローラから転送制御指示を受信すると、当該転送制御指示に従ってパケットを転送し、前記外部コントローラとの切断を判定したならば、自律的にパケットを転送する、ことを特徴とする転送制御方法とした。
【００４０】
このようにすることで、マネジメントネットワークに障害が発生しても継続して動作が可能である。
【００４１】
請求項１５に記載の発明では、コンピュータを、経路構築可能なプロトコルの経路構築情報を受信してパケットを転送する転送手段、データプレーンを介して受信した経路構築情報を前記転送手段に受信させるブリッジ手段、として機能させるためのプログラムとした。
【００４２】
これにより、経路構築情報の通信をデータ通信用ポート経由でも実現し、マネジメントネットワークに障害が発生しても継続して動作可能とすることができる。
【００４３】
請求項１６に記載の発明では、コンピュータを、パケットを転送する転送手段、外部コントローラから経路構築可能なプロトコルに準拠した転送制御指示を受信する受信手段、前記外部コントローラとの切断を判定したならば、自身が備える前記転送手段を制御する制御手段、として機能させるための転送制御プログラムとした。
【００４４】
このようにすることで、経路構築可能なプロトコルによる転送制御プログラムは、マネジメントネットワークに障害が発生しても継続して動作が可能である。
【発明の効果】
【００４５】
本発明によれば、経路構築可能なプロトコルで制御されるクラスタにおいて、マネジメントネットワークに障害が発生しても継続して動作可能となる。
【図面の簡単な説明】
【００４６】
【図１】第１の実施形態における通常時のクラスタを示す図である。
【図２】スイッチの構成図である。
【図３】マネジメントスイッチに障害が発生したときの影響を示す図である。
【図４】障害発生後のフローを示す図である。
【図５】第２の実施形態における通常時のクラスタを示す図である。
【図６】マネジメントスイッチに障害が発生したときの影響を示す図である。
【図７】障害発生後のフローを示す図である。
【図８】第３の実施形態におけるクラスタを示す図である。
【図９】第４の実施形態における転送装置の階層構造を比較例のクラスタと照合させた図である。
【図１０】転送装置間に転送される情報を示す図である。
【図１１】転送装置の階層図である。
【図１２】第４の実施形態の転送装置間を転送される情報を示す図である。
【図１３】第４の実施形態の転送装置に対応する比較例のクラスタを示す図である。
【図１４】第４の実施形態の第１変形例の転送装置間を転送される情報を示す図である。
【図１５】第４の実施形態の第１変形例の転送装置に対応する比較例のクラスタを示す図である。
【図１６】第４の実施形態の第１変形例の転送装置間を転送される情報を示す図である。
【図１７】比較例のクラスタを流れるパケットを示す図である。
【図１８】第４の実施形態のクラスタを流れるパケットを示す図である。
【図１９】ブリッジ部に関する変形例の階層構造を示す図である。
【図２０】ブリッジ部に関する変形例の詳細を示す図である。
【図２１】ブリッジ部の階層構造を示す図である。
【図２２】ブリッジ部に関する詳細を示す図である。
【図２３】比較例のクラスタの構成を示す図である。
【図２４】マネジメントスイッチに障害が発生したときの影響を示す図である。
【発明を実施するための形態】
【００４７】
以降、比較例と本発明を実施するための形態を、各図を参照して詳細に説明する。
《比較例》
本発明が対象とするOpenFlow技術を用いたネットワークにおいて、比較例の構成の一例を図２３に示す。
比較例のクラスタ１Ｃは、スイッチ４ａ〜４ｅと、マネジメントスイッチ３と、OpenFlowコントローラ２ａ，２ｂの集合である。以下、各スイッチ４ａ〜４ｅを特に区別しないときには、単にスイッチ４と記載する。各OpenFlowコントローラ２ａ，２ｂを特に区別しないときには、単にOpenFlowコントローラ２と記載する。
【００４８】
スイッチ４ａ〜４ｅは、データプレーン６に接続されて、パケットを転送する転送装置である。データプレーン６は、各スイッチ４ａ〜４ｅを接続してパケットを流すプレーンである。各スイッチ４ａ〜４ｅは、マネジメントポートとコントロールプレーン５を介して上位に位置するOpenFlowコントローラ２ａ，２ｂと接続されている。
【００４９】
全てのスイッチ４ａ〜４ｅはマネジメントポートを保持している。通常、各スイッチ４は、マネジメントポートを１つしか備えていない。そのため，マネジメントポートが一つしかないスイッチ４を用いる場合、マネジメントポートに接続されるコントロールプレーン５は、マネジメントスイッチ３上で集約されて、OpenFlowコントローラ２ａ、２ｂに接続される。マネジメントスイッチ３は、OpenFlowコントローラ２ａ，２ｂとスイッチ４ａ〜４ｅとを中継するスイッチである。コントロールプレーン５は、OpenFlowコントローラ２ａ，２ｂの転送指示をスイッチ４ａ〜４ｅに伝えるものである。
【００５０】
各スイッチ４ａ〜４ｅは、Spine（幹）とLeaf（枝）の役割を担うFabric構成で接続されている。つまり、スイッチ４ａ，４ｄ，４ｅは、Leaf（枝）の役割を担っており、スイッチ４ｂ，４ｃにデータプレーン６を介して接続される。スイッチ４ｂ，４ｃは、Spine（幹）の役割を担っており、各スイッチ４ａ，４ｄ，４ｅにデータプレーン６を介して接続される。更にスイッチ４ａ，４ｅは、外部に接続される。
【００５１】
OpenFlowコントローラ２ａ，２ｂは、マネジメントネットワーク７を介して相互に接続される。OpenFlowコントローラ２ａ，２ｂは、OpenFlowプロトコルによってスイッチ４ａ〜４ｅのパケット転送を制御するものである。マネジメントネットワーク７は、OpenFlowコントローラ２ａ，２ｂとマネジメントスイッチ３との間の接続のことをいう。マネジメントネットワーク７により、OpenFlowコントローラ２ａ，２ｂは相互に連携することができる。
【００５２】
なお、各スイッチ４ａ〜４ｅは、他の接続構成でもよい。比較例のクラスタ１Ｃは、OpenFlowコントローラ２ａ，２ｂの２台で冗長構成が組まれているが、外部のOpenFlowコントローラ２のサーバ数は２台に限定せず何台でもよい。
比較例のクラスタ１Ｃにおけるネットワーク機器の台数は一例であり、この数より多くても少なくてもよい。クラスタ１Ｃにおけるネットワーク機器は、外部とLeafスイッチで接続されていればよく、スイッチ４ａ、４ｅ以外のLeafスイッチで外部と接続されてもよい。
【００５３】
図２４は、比較例におけるマネジメントスイッチ３に障害が発生したときの影響を示す図である。
比較例のクラスタ１Ｃは、マネジメントスイッチ３の障害により、転送装置であるスイッチ４ａ〜４ｅは全てOpenFlowコントローラ２ａ，２ｂと切断される。これによりクラスタ１Ｃは、外部から送信されたパケットの適切な転送が困難となる。更にデータプレーン６の障害等など、二重故障への対応も不可能となる。
【００５４】
《実施形態の概要》
そこで、マネジメントネットワークの障害、特にマネジメントスイッチの単一障害点における障害でネットワーク全体が止まってしまう問題を回避するため、各転送装置内へ予備系統のコントローラを埋め込む実施形態を提案する。
【００５５】
第１、第２の実施形態では、通常時に転送装置外のサーバへ展開されたコントローラを親とした集中的管理を行う。障害発生時には予備系に切り替え、コントローラ間の相互連携をすることで適切な転送を維持する。更にデータプレーンにおける二重障害が発生したとしても予備系コントローラ間の連携により、新しい経路を指定しなおすことが可能となる。
【００５６】
《第１の実施形態》
第１の実施形態では、マネジメントネットワーク７の障害発生時に予備系コントローラでルーティングプロトコル機能を始動し、切り替わり時に自律分散的動作をさせる。障害発生後は従来のＩＰネットワークと同様に自律分散的に各装置が動作するため、継続して運用が可能となる。現在、ＯＳＳ（Open-source software）で公開されているOpenFlowコントローラのなかには、従来のＩＰ技術を用いた外部ネットワークとの接続を考慮したルーティングプロトコル機能を備えたものがあり、実装的なハードルは低い。しかし、障害前は１つのコントローラが制御を担うため外部ネットワークからは一つの論理ノードとして見えていたものが、自律分散的動作により物理装置単位のノードとして外部から見えてしまうという副作用も生じる。
【００５７】
図１は、第１の実施形態における通常時のクラスタ１の構成を示す図である。
クラスタ１は、スイッチ４ａ〜４ｅとマネジメントスイッチ３と、OpenFlowコントローラ２ａ，２ｂの集合である。
【００５８】
スイッチ４ａ〜４ｅは、データプレーン６に接続されてパケットを転送する転送装置である。データプレーン６は、各スイッチ４ａ〜４ｅを接続してパケットを流すプレーンである。各スイッチ４ａ〜４ｅは、それぞれ予備系コントローラ４１ａ〜４１ｅを備えている。なお、図面において予備系コントローラ４１ａ〜４１ｅは、単に「コントローラ」と記載されている。通常時においてスイッチ４ａ〜４ｅは、マネジメントポート４５（図２参照）とコントロールプレーン５を介して上位に位置するOpenFlowコントローラ２ａ，２ｂと接続されている。
【００５９】
全てのスイッチ４ａ〜４ｅが保持しているマネジメントポート４５（図２参照）に接続されるコントロールプレーン５は、マネジメントスイッチ３上で集約され、OpenFlowコントローラ２ａ，２ｂに接続される。マネジメントスイッチ３は、OpenFlowコントローラ２ａ，２ｂとスイッチ４ａ〜４ｅとを中継するスイッチである。コントロールプレーン５は、OpenFlowコントローラ２ａ，２ｂの転送指示をスイッチ４ａ〜４ｅに伝えるものである。ここではOpenFlowコントローラ２ｂ上にルーティングソフトウェア２１が動作している。ルーティングソフトウェア２１は、OpenFlowコントローラ２ｂにルーティングを行わせるためのアプリケーションプログラムである。なお、OpenFlowコントローラ２ａ上には、ルーティングソフトウェア２１が動作していない。
【００６０】
各スイッチ４ａ〜４ｅは、Spine（幹）とLeaf（枝）の役割を担うFabric構成で接続されている。つまり、スイッチ４ａ，４ｄ，４ｅは、Leaf（枝）の役割を担っており、スイッチ４ｂ，４ｃにデータプレーン６を介して接続される。スイッチ４ｂ，４ｃは、Spine（幹）の役割を担っており、各スイッチ４ａ，４ｄ，４ｅにデータプレーン６を介して接続される。更にスイッチ４ａ，４ｅは、外部に接続される。
【００６１】
OpenFlowコントローラ２ａ，２ｂは、マネジメントネットワーク７とマネジメントスイッチ３を介して相互に接続される。OpenFlowコントローラ２ａ，２ｂは、OpenFlowプロトコルによってスイッチ４ａ〜４ｅのパケット転送を制御するものである。マネジメントネットワーク７は、OpenFlowコントローラ２ａ，２ｂとマネジメントスイッチ３との間の接続のことをいう。マネジメントネットワーク７により、OpenFlowコントローラ２ａ，２ｂは相互に連携することができる。
【００６２】
比較例のクラスタ１Ｃと同様に第１の実施形態のクラスタ１のネットワーク構成、コントローラ数、ネットワーク機器数は、図１に示した構成に限らない。また、第１の実施形態では、全てのスイッチ４ａ〜４ｅに予備系コントローラ４１ａ〜４１ｅを埋め込んでいる。しかし、各スイッチ４を制御できる配置であれば、どのスイッチ４に予備系コントローラ４１を埋め込む構成でも構わない。クラスタ１におけるネットワーク機器は、外部とLeafスイッチで接続されていればよく、スイッチ４ａ、４ｅ以外のLeafスイッチで外部と接続されてもよい。
【００６３】
図１の通常時に置いては、比較例と同様に外部に設置したOpenFlowコントローラ２ａ，２ｂから各スイッチ４ａ〜４ｅを集中制御する構成となる。
【００６４】
図２は、スイッチ４の構成図である。
スイッチ４は、OpenFlowプロトコルに従ってパケットの転送制御を行う転送装置である。スイッチ４は、転送部４４、マネジメントポート４５、予備系コントローラ４１を備えている。
転送部４４は、データプレーン６に接続されており、パケットを転送する。
マネジメントポート４５は、コントロールプレーン５に接続されており、外部のOpenFlowコントローラ２から転送部４４への転送制御指示を受信する。
予備系コントローラ４１は、通常時は動作しておらず、マネジメントポート４５から受信した転送制御指示を転送部４４に中継する。予備系コントローラ４１は、外部のOpenFlowコントローラ２との切断を判定したならば、障害が発生したと判定して転送部４４の制御を自身に切り替える。予備系コントローラ４１と転送部４４の動作は、後記する図４で詳細に説明する。
なお、スイッチ４は、破線で示したように、マネジメントポート４５から受信した転送制御指示を、転送部４４に直接送信する構成としてもよい。
【００６５】
図３は、マネジメントスイッチ３に障害が発生したときの影響を示す図である。
マネジメントスイッチ３の障害により全てのスイッチ４ａ〜４ｅと外部に設置したOpenFlowコントローラ２ａ，２ｂの接続が失われる。図３では、マネジメントスイッチ３の障害を破線で示している。更に破線で示したコントロールプレーン５とマネジメントネットワーク７により、これらの接続が失われたことを示している。そのときは、スイッチ４ａ〜４ｅの内部に埋め込んだ予備系コントローラ４１ａ〜４１ｅが、各スイッチ４ａ〜４ｅへ指示を出すことで、クラスタ１が動作可能となる。
【００６６】
第１の実施形態では、スイッチ４ａ〜４ｅに埋め込んだ予備系コントローラ４１ａ〜４１ｅの一つ一つがルーティングプロトコルでクラスタ１の外部と通信することで、自律分散的に経路情報をやり取りする。図３では、予備系コントローラ４１ａ〜４１ｅ上に、それぞれルーティングソフトウェア４２ａ〜４２ｅが動作している。ルーティングソフトウェア４２ａ〜４２ｅは、自装置であるスイッチ４ａ〜４ｅにルーティングを行わせるためのアプリケーションプログラムである。
スイッチ４に埋め込んだ予備系コントローラ４１は、外部に設置した障害前のOpenFlowコントローラ２ａ，２ｂと、自身の転送部４４との間で障害を判定した時点で自律的にルーティングプロトコルを動作させる。これにより、第１の実施形態のスイッチ４ａ〜４ｅは、障害発生後も適切なパケット転送が可能となる。この方式では従来のＩＰネットワークと同様の動作となり信頼性を担保することが可能となる。
【００６７】
第１の実施形態における障害発生後のフローを図４に示す。当初、クラスタ１は、単一の論理ノードとして外部から見えている。
【００６８】
マネジメントネットワーク７に障害が発生すると（ステップＳ１０）、スイッチ４の転送部４４と予備系コントローラ４１の両方が、OpenFlowコントローラ２ａ，２ｂと切断されたと判定する（ステップＳ１１，Ｓ１２）。スイッチ４の転送部４４は、当該装置内の予備系コントローラ４１に接続する（ステップＳ１３）。予備系コントローラ４１は、転送部４４の制御を自身である予備系コントローラ４１に切り替える（ステップＳ１４）。
【００６９】
予備系コントローラ４１は、ルーティング機能を始動し（ステップＳ１５）、ルーティングパケットの取得用エントリの書き込みを指示する（ステップＳ１６）。スイッチ４の転送部４４は、ルータ化するポートのエントリを書き込む（ステップＳ１７）。これにより、予備系コントローラ４１が管理するスイッチ４の必要なポートにおいてルーティング動作ができるようになる。
【００７０】
スイッチ４の転送部４４は、ルーティングパケットを取得する（ステップＳ１８）。予備系コントローラ４１は、周囲の装置との関連を認識してエントリの書き込みを転送部４４に指示する（ステップＳ１９）。転送部４４は、パケット転送先エントリを書き込む（ステップＳ２０）。ステップＳ１８〜Ｓ２０の動作が収束した後、予備系による安定動作となる（ステップＳ２１）。つまり予備系コントローラ４１は、外部のOpenFlowコントローラ２の切断を判定した際に、他のスイッチ４の予備系コントローラ４１と連携して、自律的に転送部４４を制御する。
【００７１】
第１の実施形態のクラスタ１は、障害発生前において、外部から単一の論理ノードとして見えている。クラスタ１は、障害が発生してルーティングプロトコルで外部と通信し始めた後、外部からは各スイッチ４が各物理ノードに分裂して見えるようになる。
なお、スイッチ４がマネジメントネットワーク障害の復旧を検出した場合は、制御を外部のOpenFlowコントローラ２ａ，２ｂに切り替え、通常状態に戻してもよい。
また、あるスイッチ４だけに障害が発生し、外部のOpenFlowコントローラ２ａ，２ｂと通信ができなくなった場合は、障害の発生したスイッチ４のみルーティング機能を開始してもよい。更に障害が発生したことを外部のOpenFlowコントローラ２ａ，２ｂが検出して、クラスタ１の他の全てのスイッチ４にルーティング機能を開始するように指示してもよい。
【００７２】
《第２の実施形態》
第２の実施形態では、分散処理基盤を備えたコントローラを予備系として各転送装置内へ埋め込む。従来の技術で紹介したように、OpenFlowコントローラには冗長性、拡張性の向上のために複数台のサーバへ展開し互いに連携して動作する機能を実装したものがある。
【００７３】
比較例において、コントローラ同士の連携はマネジメントネットワーク上で行われる。しかし、第２の実施形態では、マネジメントネットワークの障害に耐えられるよう、障害時はデータプレーンを用いて転送装置上のコントローラが連携する。マネジメントネットワークに障害が発生しても従来の集中制御が可能であり、新しく追加・削除される経路の対応も可能である。コントローラ間の連携は常にマネジメントネットワークを介して行われるのが前提の実装となっているので、データプレーンで連携を行い、データプレーンにおける実際のデータ転送への影響を意識する必要がある。
【００７４】
図５は、第２の実施形態における通常時のクラスタ１Ａの構成を示す図である。
クラスタ１Ａは、スイッチ４ａ〜４ｅとマネジメントスイッチ３と、OpenFlowコントローラ２ａ，２ｂの集合である。
【００７５】
スイッチ４ａ〜４ｅは、データプレーン６に接続されて、パケットを転送するものである。データプレーン６は、各スイッチ４ａ〜４ｅを接続してパケットを流すプレーンである。各スイッチ４ａ〜４ｅは、それぞれ予備系コントローラ４１ａ〜４１ｅを備えている。通常時においてスイッチ４ａ〜４ｅは、マネジメントポート４５（図２参照）とコントロールプレーン５を介して上位に位置するOpenFlowコントローラ２ａ，２ｂと接続されている。
【００７６】
OpenFlowコントローラ２ｂには、ルーティングソフトウェア２１が動作している。このルーティングソフトウェア２１は、自装置であるスイッチ４にルーティングを行わせるためのアプリケーションプログラムである。全てのスイッチ４ａ〜４ｅが保持しているマネジメントポート４５（図２参照）に接続されるコントロールプレーン５は、マネジメントスイッチ３上で集約され、OpenFlowコントローラ２ａ，２ｂに接続される。マネジメントスイッチ３は、OpenFlowコントローラ２ａ，２ｂとスイッチ４ａ〜４ｅとを中継するスイッチである。コントロールプレーン５は、OpenFlowコントローラ２ａ，２ｂの転送指示をスイッチ４ａ〜４ｅに伝えるものである。
【００７７】
各スイッチ４ａ〜４ｅは、Spine（幹）とLeaf（枝）の役割を担うFabric構成で接続されている。つまり、スイッチ４ａ，４ｄ，４ｅは、Leaf（枝）の役割を担っており、スイッチ４ｂ，４ｃにデータプレーン６を介して接続される。スイッチ４ｂ，４ｃは、Spine（幹）の役割を担っており、各スイッチ４ａ，４ｄ，４ｅにデータプレーン６を介して接続される。更にスイッチ４ａ，４ｅは、外部に接続される。
【００７８】
OpenFlowコントローラ２ａ，２ｂと予備系コントローラ４１ａ〜４１ｅは、マネジメントネットワーク７とマネジメントスイッチ３を介して相互に接続される。OpenFlowコントローラ２ａ，２ｂは、OpenFlowプロトコルによってスイッチ４ａ〜４ｅのパケット転送を制御するものである。マネジメントネットワーク７により、OpenFlowコントローラ２ａ，２ｂと予備系コントローラ４１ａ〜４１ｅは相互に連携することができる。
【００７９】
第２の実施形態のクラスタ１Ａは、比較例のクラスタ１Ｃと同様にネットワーク構成、コントローラ数、ネットワーク機器数は、図５に示した構成に限らない。また、第２の実施形態では、全てのスイッチ４ａ〜４ｅに予備系コントローラ４１ａ〜４１ｅを埋め込んでいる。しかし、クラスタ１Ａは、各スイッチ４を制御できる配置であれば、どのスイッチ４に予備系コントローラ４１を埋め込む構成でも構わない。クラスタ１Ａにおけるネットワーク機器は、外部とLeafスイッチで接続されていればよく、スイッチ４ａ、４ｅ以外のLeafスイッチで外部と接続されてもよい。
【００８０】
図５の通常時に置いては、比較例と同様に外部に設置したOpenFlowコントローラ２ｂから各スイッチ４ａ〜４ｅを集中制御する構成となる。
【００８１】
図６は、マネジメントスイッチ３に障害が発生したときの影響を示す図である。
マネジメントスイッチ３の障害により全てのスイッチ４ａ〜４ｅと外部に設置したOpenFlowコントローラ２ａ，２ｂの接続が失われる。図６では、コントロールプレーン５を破線で示すことにより、接続が失われていることを示している。これにより、予備系コントローラ４１ａ〜４１ｅとOpenFlowコントローラ２ａ，２ｂとの接続も失われる。図６では、破線で示したマネジメントネットワーク７により接続が失われたことを示している。
このとき、スイッチ４ａ〜４ｅの内部に埋め込んだ予備系コントローラ４１ａ〜４１ｅが、自律的に障害を検知して自身に転送部４４の制御を切り替え、各スイッチ４ａ〜４ｅへ指示を出すことで、クラスタ１Ａが動作可能となる。
【００８２】
更に予備系コントローラ４１ａ〜４１ｅは、データプレーン６上にマネジメントネットワーク７を新たに構成して相互に連携させている。更にスイッチ４ａにルーティングソフトウェア４２ａを実行させ、スイッチ４ｅにルーティングソフトウェア４２ｅを実行させている。これにより、外部から受信したパケットを適切かつ迅速にルーティングさせることができる。
【００８３】
第２の実施形態では、初期は図５におけるマネジメントネットワーク７側でコントローラを連携させ、障害時にデータプレーン６上にマネジメントネットワーク７を構成して、コントローラを連携させている。
【００８４】
第２の実施形態は、もともと分散的に処理する基盤を有しているコントローラを転送装置の外部と内部に配置し、マネジメントネットワークに障害が発生した場合にデータプレーンを通してコントローラ間で通信を行い、各スイッチに指示を出している。
【００８５】
第２の実施形態において、マネジメントネットワークが通信不可となっても、データプレーン上にマネジメントネットワークを構成するので、残りパケットを適切に転送することが可能となる。また統一的に管理された複数の装置上にあるコントローラ群で各装置を制御するため、外部から見ても常に１つの論理ノードとして管理することが可能となる。
【００８６】
図７は、障害発生後のフローを示す図である。
障害発生前と障害発生後の両方において、クラスタ１Ａは、単一の論理ノードとして外部から見えている。
マネジメントネットワーク７に障害が発生すると（ステップＳ３０）、スイッチ４の転送部４４と予備系コントローラ４１の両方が、外部のOpenFlowコントローラ２ａ，２ｂと切断されたと判定する（ステップＳ３１，Ｓ３２）。スイッチ４の転送部４４は、当該装置内の予備系コントローラ４１に接続する（ステップＳ３３）。予備系コントローラ４１は、転送部４４の制御を自身である予備系コントローラ４１に切り替える（ステップＳ３４）。
【００８７】
予備系コントローラ４１は、他の予備系コントローラ４１との間の接続用の通信経路をデータプレーン６で行えるよう、各予備系コントローラ４１と各スイッチ４の転送部４４を設定する（ステップＳ３５）。全ての予備系コントローラ４１の接続が完了すると（ステップＳ３６）、予備系による安定動作となる（ステップＳ３７）。
【００８８】
つまり予備系コントローラ４１は、外部のOpenFlowコントローラ２の切断を判定した際に、他のスイッチ４の予備系コントローラ４１と連携して、外部のOpenFlowコントローラ２による転送制御を分散処理する。
予備系コントローラ４１は、データプレーン６を介して他のスイッチ４の予備系コントローラ４１と連携し、データプレーン６を介して他のスイッチ４の予備系コントローラ４１から転送先経路情報の書き込みを受ける。
【００８９】
第２の実施形態では、障害前後でどちらも集中的に管理されたコントローラ群から指示を受ける。そのため、クラスタ１Ａは、一貫して外部から単一の論理ノードとして認識される。
なお、図５の通常状態において、例えばOpenFlowコントローラ２ａ，２ｂに障害が発生してスイッチ４とOpenFlowコントローラ２ａ，２ｂとの接続が切断された場合、予備系コントローラ４１ａ〜４１ｅはコントロールプレーン５上にマネジメントネットワーク７を構成して、マネジメントスイッチ３を介してスイッチ４が相互に連携するようにしてもよい。
また、第１の実施形態と同様、スイッチ４がマネジメントネットワーク障害の復旧を検出した場合、スイッチ４は、制御を外部のOpenFlowコントローラ２ａ，２ｂに切り替えて通常状態に戻してもよい。
更に、あるスイッチ４だけに障害が発生し、外部のOpenFlowコントローラ２ａ，２ｂと通信ができなくなった場合は、障害の発生したスイッチ４のみルーティング機能を開始してもよい。更に障害が発生したことを外部のOpenFlowコントローラ２ａ，２ｂが検出して、クラスタ１Ａの他の全てのスイッチ４に予備系コントローラ４１に切り替えるように指示してもよい。
【００９０】
《第３の実施形態》
第３の実施形態として、図８の構成を示す。
クラスタ１Ｂは、スイッチ４ａ〜４ｅの集合である。各スイッチ４ａ〜４ｃ、４ｅは、それぞれコントローラ４３ａ〜４３ｃ，４３ｅを備えている。但しスイッチ４ｄは、OpenFlowコントローラを備えていない。以下、各コントローラ４３ａ〜４３ｃ，４３ｅを特に区別しないときには、単にコントローラ４３と記載する。
【００９１】
通常時においてスイッチ４ａ〜４ｃ，４ｅは、自装置内の各コントローラ４３ａ〜４３ｃ，４３ｅによって制御されている。各コントローラ４３ａ〜４３ｃ，４３ｅは、データプレーン６上にマネジメントネットワーク７を構成している。更にスイッチ４ａ，４ｅ上には、ルーティングソフトウェア４２ａ，４２ｅがそれぞれ動作している。
なお、スイッチ４ｄは、マネジメントネットワーク７を介し、他のコントローラ４３から転送テーブルが設定される例を示している。
【００９２】
第１，第２の実施形態では、マネジメントネットワーク７の障害後に予備系動作に切り替わる。これに対して第３の実施形態のクラスタ１Ｂは、コントロールプレーン５を破線で示したように上位コントローラ８とは接続されておらず、当初からコントローラ４３ａ〜４３ｃ，４３ｅがデータプレーン６上で連携可能なマネジメントネットワーク７が構成されている。
【００９３】
第３の実施形態では、初めから集中制御基盤の分散配備を行い、データプレーン６上に構成されたマネジメントネットワーク７によって制御を行う。第３の実施形態では、初めから単一障害点を回避することが可能であり、かつ常に外部ネットワークから単一の論理ノードとして認識される。更に、コントロールプレーン５が不要なので、容易かつ廉価にクラスタ１Ｂを構成することが可能である。
【００９４】
《第４の実施形態》
複数のスイッチ（転送装置）とコントローラ（サーバ）の集合がクラスタである。各スイッチは、それぞれが保持しているマネジメントプレーン用ＡＳＩＣ上にあるマネジメントポートを介してデータプレーン用ＡＳＩＣ制御ドライバとＳＤＮコントローラを接続している。これらの通信は、各スイッチのマネジメントポートとＳＤＮコントローラの間に接続されたマネジメントスイッチを経由している。このマネジメントスイッチは、単一障害点となる。
【００９５】
この第４の実施形態は、従来の集中制御型の時におけるマネジメントポート経由による経路構築情報の通信を、データ通信用ポート経由で実現するものである。これにより、単一障害点となるマネジメントスイッチは不要となる。そのため、第４の実施形態では、データ通信用ポートの制御インタフェースを介して経路構築情報を通信する構成となっている。以下、図９から図２２を参照して、第４の実施形態を説明する。
【００９６】
図９は、第４の実施形態における転送装置４０の階層構造を比較例のクラスタと照合させた図である。図９では、第４の実施形態の転送装置４０の階層構造が左側に示され、比較例のクラスタが右側に示されている。この転送装置４０は、第１〜第３の実施形態のスイッチ４に対応する。
【００９７】
転送装置４０の最上位のルーティング層は、ルーティング制御部として機能するためのルーティングソフトウェア４２である。転送装置４０の第２番目のクラスタ制御層は、クラスタ制御部として動作するＳＤＮ（Software Defined Network）コントローラ４３０である。このＳＤＮコントローラ４３０は、クラスタリングインタフェース４３１とデバイス制御インタフェース４３２を含んで構成される。このＳＤＮコントローラ４３０は、データプレーン用ＡＳＩＣ４０５に転送先経路情報を与えるものである。
【００９８】
最上位のルーティング層のルーティングソフトウェア４２は、他装置のルーティング層との間で、クラスタ間制御インタフェースルーティングプロトコルを用いた通信を行う。本実施形態のルーティングソフトウェア４２は、比較例のルーティングソフトウェア４２に対応する。
第２番目のクラスタ制御層のＳＤＮコントローラ４３０は、他装置のクラスタ制御層との間で、クラスタ内制御インタフェースルーティングプロトコルを用いた経路情報の交換通信を行う。ここで交換される経路情報は、ＳＤＮコントローラ４３０が送受信するマネジメント情報である。ＳＤＮコントローラ４３０は更に、経路構築情報を転送機能部に送信し、転送機能部にパケット転送先テーブルを構築する。
実施形態のＳＤＮコントローラ４３０は、比較例のコントローラ４３に対応する。転送機能部は、後記するデータプレーン用ＡＳＩＣ４０５に相当する。
【００９９】
転送装置４０は更に、ＡＳＩＣインタフェース（Application Specific Integrated Circuit InterFace）制御層と、スイッチＯＳ層と、インタフェース層で構成される。これらは比較例のコントローラ４３に接続されたコントロールプレーン５と、マネジメントポート４５でコントロールプレーン５に接続されたスイッチ４ａ，４ｂに対応する。
【０１００】
ＡＳＩＣインタフェース制御層は、ＯＳ標準ドライバ４０３およびデータプレーン用ＡＳＩＣ制御ドライバ４０４を含んでいる。ＯＳ標準ドライバ４０３は、後記するインタフェース層のマネジメントプレーン用ＡＳＩＣ４０１を制御するものである。データプレーン用ＡＳＩＣ制御ドライバ４０４は、後記するデータプレーン用ＡＳＩＣ４０５を制御するものである。
スイッチＯＳ層は、スイッチＯＳ４０２を含んでいる。このスイッチＯＳ４０２は、この転送装置４０上のハードウェア資源を管理する基本ソフトウェアである。インタフェース層は、データプレーン用ＡＳＩＣ４０５およびマネジメントプレーン用ＡＳＩＣ４０１を含んでいる。マネジメントプレーン用ＡＳＩＣ４０１は、マネジメント通信のパケットを送受信するインタフェースである。データプレーン用ＡＳＩＣ４０５は、ルーティングソフトウェア４２によって構築された経路を具現化するインタフェースである。このデータプレーン用ＡＳＩＣ４０５とデータプレーン用ＡＳＩＣ制御ドライバ４０４は、構築された経路によりパケットを転送する転送部として機能する。
【０１０１】
本実施形態のＳＤＮコントローラ４３０は、マネジメントプレーン用ＡＳＩＣ４０１とスイッチＯＳ４０２を介してＯＳ標準ドライバ４０３と通信する。ＯＳ標準ドライバ４０３は、自装置または他装置のＳＤＮコントローラ４３０からの指示に基づき、データプレーン用ＡＳＩＣ４０５を制御する。これにより、本実施形態の転送装置４０は、比較例のクラスタと同様な処理を実現可能である。
【０１０２】
図１０は、クラスタ１Ｄ内の或る装置に接続する経路構築機能から、データ通信用ポートを介して、クラスタ１Ｄ内の他の装置の経路を構築する方式を示す図である。
このクラスタ１Ｄは、転送装置４０ａ〜４０ｄを含んでいる。転送装置４０ａは、ルーティングソフトウェア４２ａとＳＤＮコントローラ４３０ａを含んでいる。転送装置４０ｂは、ＳＤＮコントローラ４３０ｂを含んでいる。
【０１０３】
クラスタ１Ｄは、Leaf-Spineの２ｘ２のＣｌｏｓトポロジで構成されている。転送装置４０ａは、転送装置４０ｃ，４０ｄとデータプレーンで接続されている。転送装置４０ｂは、転送装置４０ｃ，４０ｄとデータプレーンで接続されている。ＳＤＮコントローラ４３０ａは、内部的にマネジメントポートを介した通信制御を行うと共に、転送装置４０ｃ，４０ｄとの間でデータプレーンを介した通信制御を行う。ＳＤＮコントローラ４３０ｂは、内部的にマネジメントポートを介した通信制御を行う。
【０１０４】
ＳＤＮコントローラ４３０ａ，４３０ｂは、内部的にマネジメントポートを介した経路構築情報の通信を行う。ＳＤＮコントローラ４３０ａは、データプレーンを介し、転送装置４０ｃ，４０ｄに対して経路構築情報の通信を行う。図１０では、この経路構築情報の通信を、ハッチングを付与した矢印で示している。
【０１０５】
更にＳＤＮコントローラ４３０ａ，４３０ｂは、データプレーンを介してクラスタ間制御インタフェースルーティングプロトコルを用いた経路情報の交換通信を行う。よって論理的には、クラスタ制御層の間で相互に通信が行われることになる。図１０では、この通信を白抜き矢印で示している。図１０の方式によれば、マネジメントポートに依存した論理ノードの構成を回避することが可能となる。
なお、装置構成トポロジはこれに限られない。クラスタを構成する装置の台数はこれより多くても少なくてもよい。また、経路構築機能はクラスタ内に何台でもよい。
【０１０６】
以下の図１１、図１２、図１４に、図１０の構成を実現するための構成例を示す。図１１に記載の転送装置４０は、ルーティングソフトウェア４２とＳＤＮコントローラ４３０を内部に配備している。図１２、図１４に記載の転送装置４０ａは、ルーティングソフトウェア４２ａとＳＤＮコントローラ４３０ａを内部に配備している。なお、これに限られず、転送装置４０，４０ａは、必要に応じてルーティングソフトウェアやＳＤＮコントローラを外部に配備し、各インタフェース間を接続し構成してもよい。図１１、図１２、図１４の各経路構築情報の通信や経路情報の交換通信は全て、データプレーン用ＡＳＩＣ４０５のポート経由で通信しているものとする。
【０１０７】
図１１は、転送装置４０の構成図である。
比較例のクラスタでは、マネジメントスイッチを介して、経路構築装置が各スイッチと通信していた。これに対して、第４の実施形態の転送装置４０内には、経路構築部として機能するＳＤＮコントローラ４３０と、スイッチとして機能するデータプレーン用ＡＳＩＣ４０５とが配備され、両者が通信可能に接続されている。ＳＤＮコントローラ４３０は、デバイス制御インタフェース４３２を含んで構成される。この転送装置４０には、ルーティングソフトウェア４２が直接配備されている。
なお、ルーティングソフトウェア４２はクラスタ内に１つあればよいため、転送装置４０には、ＳＤＮコントローラ４３０のみが配備されていてもよい。
【０１０８】
転送装置４０は更に、仮想ＡＳＩＣ４０７（仮想スイッチ）と、ブリッジ４０８およびブリッジ制御部４０９を含んで構成されるブリッジ部４１０が配備されている。なお、図１１では、仮想ＡＳＩＣ４０７を“ｖＡＳＩＣ”と記載し、ブリッジ４０８を“Ｂｒｉｄｇｅ”と記載し、ブリッジ制御部４０９を“Ｂｒｉｄｇｅ−ｃｔｌ”と記載し、ている。
ブリッジ４０８には、仮想インタフェース４０６が配備されている。図１１では、仮想インタフェース４０６を“ｖＩＦ”と記載している。このブリッジ部４１０は、データプレーンを介して受信した経路構築情報を仮想ＡＳＩＣ４０７のマネジメントポート（不図示）に透過させることにより、仮想ＡＳＩＣ４０７に経路構築情報を受信させる。
【０１０９】
転送装置４０は、図１０と同様なデータプレーン用ＡＳＩＣ制御ドライバ４０４と、スイッチＯＳ４０２と、マネジメントプレーン用ＡＳＩＣ４０１（不図示）と、マネジメントポート４５が配備されている。マネジメントポート４５は、マネジメントプレーン用ＡＳＩＣ４０１（不図示）が備えるポートであり、マネジメントネットワークとの間のインタフェースとして機能する。なお、図１１では、マネジメントポート４５のことを、Mgmt IF（ManaGeMenT Interface）と記載している。
【０１１０】
仮想ＡＳＩＣ４０７は、マネジメントプレーン用ＡＳＩＣ４０１を仮想化したものである。転送装置４０において、上位のＳＤＮコントローラ４３０は、仮想ＡＳＩＣ４０７に経路を構築する。ブリッジ制御部４０９は、仮想ＡＳＩＣ４０７に構築された経路をデータプレーン用ＡＳＩＣ４０５に同期させる。
【０１１１】
仮想インタフェース４０６は、他の転送装置４０との間で、マネジメントに係る通信を仮想的に実現するためのインタフェースである。ブリッジ４０８は、仮想インタフェース４０６が送受信した経路構築情報などのマネジメント情報を、データプレーンを介して通信させるものである。ブリッジ４０８は、データプレーン用ＡＳＩＣ４０５のインタフェースに接続して通信の統合と分離を行わせるものである。
【０１１２】
ＳＤＮコントローラ４３０は、仮想ＡＳＩＣ４０７に対して経路構築情報を通信する。この通信を実線矢印で図示する。
ブリッジ制御部４０９は、ブリッジ４０８を制御して、マネジメント通信とデータ通信の統合と分離とを行う。この通信を図１１の実線矢印で示す。ブリッジ制御部４０９は、仮想ＡＳＩＣ４０７に構築された経路情報を、ブリッジ４０８によりデータプレーン用ＡＳＩＣ制御ドライバ４０４に同期させる。この通信を図１１の破線矢印で示す。データプレーン用ＡＳＩＣ制御ドライバ４０４は、データプレーン用ＡＳＩＣ４０５に経路情報を構築させる。
スイッチＯＳ４０２は、データプレーン用ＡＳＩＣ制御ドライバ４０４とデータプレーン用ＡＳＩＣ４０５との間の情報を仲介する。マネジメントネットワークとのインタフェースとして機能するマネジメントポート４５は、ここでは動作していないため、説明を省略する。
【０１１３】
図１２は、第４の実施形態の転送装置４０ａ，４０ｂの間に転送される情報を示す図である。
図１２の転送装置４０ａは、経路構築部として機能するＳＤＮコントローラ４３０ａを有している。このＳＤＮコントローラ４３０ａは、転送制御機能を持つ転送装置４０ａからクラスタ内の別の転送装置４０ｂの経路を直接制御する。
【０１１４】
ブリッジ部４１０は、ブリッジ４０８上に構成した仮想インタフェース４０６からデータプレーン用ＡＳＩＣ４０５のデータ通信用ポートまでをブリッジする。これにより仮想インタフェース４０６に送信されたデータは、その送信先ポートを指定しつつ、各装置間を接続するデータプレーンに流れる。仮想インタフェース４０６は、ＯＳ上で直接に認識可能である。
なお、データプレーンに流すデータは、他の転送装置４０上にある仮想ＡＳＩＣ４０７に対する経路構築情報（図１２）が含まれる。データプレーンに流すデータは更に、他の転送装置４０上にあるＳＤＮコントローラ４３０のクラスタリングインタフェース４３１との間で経路情報を交換するための情報（図１４）が含まれる。
ＳＤＮコントローラ４３０ａは、仮想ＡＳＩＣ４０７に経路を構築する。ブリッジ制御部４０９は、仮想ＡＳＩＣ４０７に構築された経路をデータプレーン用ＡＳＩＣ４０５に同期させる。
【０１１５】
転送装置４０ａには、ルーティングソフトウェア４２ａとＳＤＮコントローラ４３０ａとが直接配備されている。しかし、ルーティングソフトウェアやＳＤＮコントローラはクラスタ内に１つあればよい。そのため、外部にルーティングソフトウェアやＳＤＮコントローラが配備される場合には、転送装置４０ａには、ルーティングソフトウェア４２ａやＳＤＮコントローラ４３０ａが配備されていなくてもよい。外部にルーティングソフトウェアが配備される場合には、転送装置４０ａには、ルーティングソフトウェア４２ａが配備されておらず、ＳＤＮコントローラ４３０ａのみが配備されていてもよい。
【０１１６】
転送装置４０ｂの内部には経路構築機能が配備されていない。転送装置４０ｂは、転送装置４０ａのＳＤＮコントローラ４３０ａから制御されて、仮想ＡＳＩＣ４０７に経路が構築される。その後、ブリッジ制御部４０９が仮想ＡＳＩＣ４０７に構築された経路をデータプレーン用ＡＳＩＣ４０５に同期させる。
【０１１７】
すなわち、ＳＤＮコントローラ４３０ａは、自機の仮想インタフェース４０６とデータプレーン用ＡＳＩＣ４０５を介して、経路構築情報のパケットを送信する。このパケットは、データプレーンを介して転送装置４０ｂに到着する。転送装置４０ｂのブリッジ制御部４０９は、仮想インタフェース４０６を介して、自機の仮想ＡＳＩＣ４０７に経路構築情報を中継する。これにより、転送装置４０ｂの仮想ＡＳＩＣ４０７には、経路が構築される。ブリッジ制御部４０９は、構築された経路情報をブリッジ４０８によりデータプレーン用ＡＳＩＣ制御ドライバ４０４に引き渡す。これによりデータプレーン用ＡＳＩＣ４０５は、経路を構築することができる。
【０１１８】
転送装置４０ｂの仮想ＡＳＩＣ４０７が、ＳＤＮコントローラ４３０ａの経路構築情報に対して応答する場合、応答パケットの経路は逆となる。
【０１１９】
転送装置４０ａ，４０ｂは、仮想ＡＳＩＣ４０７と、仮想インタフェース４０６を含むブリッジ４０８と、ブリッジ制御部４０９と、データプレーン用ＡＳＩＣ制御ドライバ４０４と、スイッチＯＳ４０２と、マネジメントポート４５とを含んでいる。
【０１２０】
図１３は、第４の実施形態の転送装置４０ａ，４０ｂを含んだクラスタ１Ｅを示す図である。
クラスタ１Ｅは、転送装置４０ａ〜４０ｃを含んでいる。転送装置４０ａには、転送装置４０ｂ，４０ｃがデータプレーンを介して接続されている。
転送装置４０ａは、コントローラ４３ａとルーティングソフトウェア４２ａを含んでいる。このコントローラ４３ａが転送装置４０ａ〜４０ｃを制御することで、ルーティングが行われる。
【０１２１】
図１４は、第４の実施形態の第１変形例の転送装置間を転送される情報を示す図である。
図１４に転送制御機能を実現するＳＤＮコントローラ４３０を持つ装置同士で経路情報の交換通信を行い、クラスタ内で図１４の構成において転送制御機能の冗長化を行う際の構成図を示す。
【０１２２】
転送装置４０ａは、図１２と基本的な動作は同様であり、経路情報交換通信のパケットが仮想インタフェース４０６からデータプレーン用ＡＳＩＣ４０５のデータ通信用ポートに流れる。
【０１２３】
転送装置４０ａには、ルーティングソフトウェア４２ａとＳＤＮコントローラ４３０ａが直接配備されている。しかし、ルーティングソフトウェアやＳＤＮコントローラはクラスタ内に１つあればよい。そのため、外部にルーティングソフトウェアやＳＤＮコントローラが配備される場合には、転送装置４０ａには、ルーティングソフトウェア４２ａやＳＤＮコントローラ４３０ａが配備されていなくてもよい。外部にルーティングソフトウェアが配備される場合には、転送装置４０ａには、ルーティングソフトウェア４２ａが配備されておらず、ＳＤＮコントローラ４３０ａのみが配備されていてもよい。また、転送装置４０ｂは、ルーティングソフトウェアやＳＤＮコントローラが配備されていない。
【０１２４】
ＳＤＮコントローラ４３０ａ，４３０ｂは、クラスタリングインタフェース４３１と、デバイス制御インタフェース４３２とを含んでいる。このクラスタリングインタフェース４３１により、機能間の変換を行い、ＳＤＮコントローラ４３０ａ，４３０ｂの間の通信を実現している。
【０１２５】
転送装置４０ａにおいて、ＳＤＮコントローラ４３０ａは、デバイス制御インタフェース４３２を介して自機の仮想ＡＳＩＣ４０７に対して経路構築情報を通信する。ＳＤＮコントローラ４３０ａは更に、仮想インタフェース４０６とデータプレーンを介して、転送装置４０ｂのＳＤＮコントローラ４３０ｂに対してクラスタ内制御インタフェースルーティングプロトコルを用いた経路情報の交換通信を行う。
【０１２６】
転送装置４０ｂにおいて、ブリッジ部４１０は、転送装置４０ａとの間でデータプレーンを介して送受信するマネジメント情報をＳＤＮコントローラ４３０ｂに対して透過させる。そしてＳＤＮコントローラ４３０ｂは、クラスタリングインタフェース４３１によりＳＤＮコントローラ４３０ａが送信したパケットを受信する。これにより、ＳＤＮコントローラ４３０ｂは、自機がどのような経路を構築すべきかを知ることができる。
【０１２７】
なお、このブリッジ部４１０は、転送部からＳＤＮコントローラ４３０ｂへ送信されるマネジメント情報に対し、この転送部がマネジメントプレーン用のヘッダを付与する場合、付与されたヘッダを削除する。これにより、マネジメント情報のパケットに、マネジメントプレーン用のヘッダが二重に付与される事態を回避できる。
【０１２８】
ブリッジ部４１０は、ＳＤＮコントローラ４３０ｂから転送部へ送信されるマネジメント情報に対し、この転送部がマネジメントプレーン用のヘッダを削除する場合、予めダミーのヘッダを付与する。これにより、マネジメント情報のパケットから、マネジメントプレーン用のヘッダが削除される事態を回避できる。
【０１２９】
図１５は、第４の実施形態の第１変形例の転送装置４０ａ，４０ｂを含むクラスタ１Ｆを示す図である。クラスタ１Ｆは、内部の経路構築機能間の経路情報交換通信だけで構成される。
図１５の実現に必要な構成は、全て図１４の構成のみでクラスタ１Ｅを構成した場合と同じであるため、図１５の提案に包含される。
クラスタ１Ｆは、転送装置４０ａ〜４０ｃを含んでいる。転送装置４０ａには、転送装置４０ｂ，４０ｃがデータプレーンを介して接続されている。
転送装置４０ａは、コントローラ４３ａとルーティングソフトウェア４２ａを含んでいる。転送装置４０ｂは、コントローラ４３ｂを含んでいる。このコントローラ４３ａは、転送装置４０ａ，４０ｃを制御すると共に、コントローラ４３ｂとの間で経路情報を交換して転送装置４０ｂを制御している。
【０１３０】
《第４実施形態の第２変形例》
従来の集中制御方式において、マネジメントプレーン側のマネジメントポートはＯＳ上で直接制御可能である。しかし、データプレーン側のデータ通信用ポートを直接にＯＳ上で制御する方法は無い。データ通信用ポートから入ってきたパケットは、マネジメントプレーン側では全てOpenFlowプロトコルのように集中制御を実現するための入力ポート情報などを付加したヘッダが付いてパケットが転送される。
【０１３１】
本提案内容は、転送装置のマネジメントプレーン側に存在し、ＯＳ上で動作するコントローラから直接に外部の転送装置を制御するためのものである。第１提案内容は、本来はマネジメントプレーン上で接続される通信をデータプレーン側へ受け渡す機能（以下、ブリッジ機能）を実現し、このブリッジ機能を用いて外部の装置を制御することである。
【０１３２】
図１６は、第４の実施形態の第１変形例の転送装置４０ａ〜４０ｄ間を転送される情報を示す図である。
このクラスタ１Ｇは、転送装置４０ａ〜４０ｄを含んでいる。転送装置４０ａは、ルーティングソフトウェア４２ａとＳＤＮコントローラ４３０ａを含んでいる。転送装置４０ｂ〜４０ｄは、それぞれＳＤＮコントローラ４３０ｂ〜４３０ｄを含んでいる。
【０１３３】
クラスタ１Ｇにおいて転送装置４０ａは、転送装置４０ｃ，４０ｄとデータプレーンで接続されている。転送装置４０ｂは、転送装置４０ｃ，４０ｄとデータプレーンで接続されている。ＳＤＮコントローラ４３０ａは、内部的にマネジメントポートを介した通信制御を行う。図１６では、この通信を、ハッチングを付した矢印で示している。
ＳＤＮコントローラ４３０ａは、他装置のＳＤＮコントローラ４３０ｂ〜４３０ｄとの間でデータプレーンを介した通信制御を行う。図１６では、この通信を白抜きの矢印で示している。
ＳＤＮコントローラ４３０ｂ〜４３０ｄは、内部的にマネジメントポートを介した通信制御を行う。図１６では、この通信を、ハッチングを付した矢印で示している。
【０１３４】
ＳＤＮコントローラ４３０ａ，４３０ｂは、内部的にマネジメントポートを介し、かつ外部的にデータプレーンを介してクラスタ間制御インタフェースルーティングプロトコルを用いた経路情報の交換通信を行う。よって論理的には、クラスタ制御層で相互に通信が行われることになる。
【０１３５】
図１７は、比較例のクラスタ１Ｈを流れるパケットを示す図である。
【０１３６】
比較例のクラスタ１Ｈは、クラスタ制御装置８ａ，８ｂと、転送装置４０ａ〜４０ｃを含んでいる。各転送装置４０ａ〜４０ｃは、それぞれマネジメントポート４５を備えている。転送装置４０ａは更に、データプレーン用ポート４６を備えている。比較例の転送装置４０ａ〜４０ｃは、第４の実施形態の転送装置４０とは異なり、仮想ＡＳＩＣ４０７、仮想インタフェース４０６を含むブリッジ４０８、ブリッジ制御部４０９を含んでいない。
【０１３７】
クラスタ制御装置８ａ，８ｂは、ルーティングソフトウェア４２の機能とＳＤＮコントローラの機能を含んで構成される。クラスタ制御装置８ａ，８ｂは、マネジメントプレーンを介してクラスタ内制御の為のパケットを送受信する。クラスタ制御装置８ａは更に、転送装置４０ａのデータプレーン用ポート４６とマネジメントポート４５を介して、OpenFlowヘッダを備えたパケットを送受信する。これによりクラスタ制御装置８ａは、ルーティングソフトウェア４２からのパケットをマネジメントプレーンから受信できなくなった場合でも、データプレーンを介して受信することができる。
【０１３８】
クラスタ制御装置８ａは、マネジメントプレーンを介して転送装置４０ａ〜４０ｃに対し、OpenFlowヘッダを備えたパケットを送信する。転送装置４０ａ〜４０ｃは、このパケットをマネジメントポート４５を介して受信することで、データプレーンの経路を構築できる。
【０１３９】
図１８は、第４の実施形態のクラスタ１Ｊを流れるパケットを示す図である。
このクラスタ１Ｊは、転送装置４０ａ〜４０ｃを含んでいる。転送装置４０ａは、ルーティングソフトウェア４２ａと、ＳＤＮコントローラ４３０ａとを含み、更にデータプレーン側にデータプレーン用ポート４６を備えている。転送装置４０ａは更に、データプレーン側からマネジメントプレーン側にパケットを通過させる出入口ポート４６１を備えている。
転送装置４０ｂは、ＳＤＮコントローラ４３０ｂを含み、データプレーン側にデータプレーン用ポート４６を備え、データプレーン側からマネジメントプレーン側にパケットを通過させる出入口ポート４６１を備えている。この出入口ポート４６１は、図１１などに示したブリッジ４０８と仮想インタフェース４０６に相当する。
転送装置４０ｃは、データプレーン側にデータプレーン用ポート４６を備え、データプレーン側からマネジメントプレーン側にパケットを通過させる出入口ポート４６１を備えている。
【０１４０】
ＳＤＮコントローラ４３０ａは、データプレーン用ポート４６からOpenFlowヘッダが付与されたパケットを受信し、データプレーン用ポート４６を介して自装置関連の制御通信を行う。ＳＤＮコントローラ４３０ａは、転送装置４０ｃの制御のため、出入口ポート４６１を介してOpenFlowヘッダが付与されたパケットを送信する。このパケットは、出入口ポート４６１を介して転送装置４０ｃによって受信され、データプレーン用ポート４６の制御に用いられる。
ＳＤＮコントローラ４３０ａは、他のＳＤＮコントローラ４３０ｂとの制御のため、出入口ポート４６１を介してOpenFlowヘッダが付与されていないパケットを送信する。このパケットは、出入口ポート４６１を介して転送装置４０ｂによって受信され、ＳＤＮコントローラ４３０ｂによって受信される。ＳＤＮコントローラ４３０ｂは更に、ＳＤＮコントローラ４３０ａとの制御通信を、データプレーン用ポート４６を介して送信する。このようにすることで、マネジメントプレーンを有さないクラスタ１Ｊにおいても、ＳＤＮコントローラ間の経路情報の交換通信を行うことができる。
【０１４１】
装置内でのブリッジ機能の配備について、２通りの提案を行う。
図１９は、ブリッジ部に関する変形例の階層構造を示す図である。
この変形例において、ブリッジ部９０Ａは、外部の装置を制御するため、マネジメントプレーン側にあるＯＳからデータプレーン上へ接続する通信のみをブリッジする。
ＲＩＢ（Routing Information Base）構築部９２は、BGPを通じて得られるルーティング情報から、パケットが到達するまでの経路を構築するものである。
【０１４２】
ＦＩＢ（Forwarding Information Base）構築部９１は、経路構築情報の送信９３により転送部９にパケット転送先テーブルを構築するものである。転送部９は、ＦＩＢ構築部９１の経路構築情報によって構築された転送先テーブルに従い、データパケットを転送する。ブリッジ部９０Ａは、ＦＩＢ構築部９１が外部の装置を制御する経路構築情報の通信９４ａや経路情報の交換通信９４ｂを橋渡しする。
経路構築情報の送信９３は、自装置の転送部９にフロー情報を書き込む通信である。経路構築情報の通信９４ａは、他装置の転送部９にフロー情報を書き込む通信である。経路情報の交換通信９４ｂは、他装置上または他の計算処理部にあるＦＩＢ構築部９１と情報を同期するための通信である。これら経路構築情報の通信９４ａや経路情報の交換通信９４ｂを総括して、外部装置制御通信４０と呼ぶ。経路構築情報の送信９３を、自装置制御通信と呼ぶ。
図２０は、ブリッジ部に関する変形例の詳細を示す図である。
ＳＤＮコントローラ４３０は、図１９に示したＦＩＢ構築部９１に相当する。転送部９は、データプレーン用ＡＳＩＣ制御ドライバ４０４と、データプレーン用ＡＳＩＣ４０５に相当する。またブリッジ部９０Ａは、仮想スイッチとして機能するブリッジ４０８とOpenFlowコントローラとして機能するブリッジ制御部４０９を含んで構成される。ここで、ＦＩＢ構築部９１に相当するＳＤＮコントローラ４３０は、ブリッジ部９０Ａを介さず、自身の転送部９との経路構築情報を通信している。
【０１４３】
図２１は、ブリッジ部の階層構造を示す図である。
ここでは外部の装置を制御する通信に加え、自装置を制御する経路構築情報の送信９３も一度全てブリッジ部９０で受信し、再度、自装置の転送部９３に対して経路構築情報の送信９３を送り出す方式である。それ以外の構成と動作は、図１９に示した方式と同様である。
【０１４４】
図２２は、ブリッジ部に関する詳細を示す図である。
図２２の構成は、図２０の構成に対して仮想ＡＳＩＣ４０７が追加で配備されている。この仮想ＡＳＩＣ４０７により、自装置への経路構築情報を受信して、構築した経路をデータプレーン用ＡＳＩＣ４０５に反映可能となる。この仮想ＡＳＩＣ４０７は、データプレーン用ＡＳＩＣ４０５と同じ数のポートを持っている。データプレーン用ＡＳＩＣ４０５のポートと仮想ＡＳＩＣ４０７のポートをマッピングすることで、仮想ＡＳＩＣ４０７に経路を構築できる。
【０１４５】
その後、OpenFlowコントローラとして機能するブリッジ制御部４０９は、仮想ＡＳＩＣ４０７に構築された経路をデータプレーン用ＡＳＩＣ４０５へ同期すると、経路構築が完了する。また、外部装置を制御するための直接にＯＳ上とデータプレーン用ＡＳＩＣ４０５のポートをアクセスする通信に関しては、ブリッジ制御部４０９で宛先を確認し、仮想ＡＳＩＣ４０７へ繋がらないブリッジ４０８上のポートへ出力することで、通信を可能とする。
【０１４６】
《発明のポイント》
コントローラによる集中管理により複数台の転送装置をまとめて制御する技術において、障害時に備えた予備系コントローラを各転送装置内へ配置することで系全体の信頼性を向上させている。この予備系コントローラは、マネジメントネットワーク障害時に自律分散的に動作できる。
第１〜第３の実施形態は、それぞれ障害時の外部ネットワークへの影響や内部での計算処理の負荷の掛かり方等で違いがあると考えられる。そして第４の実施形態によって、転送装置の内部構成を詳細に説明している。この第４の実施形態は、制御部分を保持しているＯＳが管理しないハードウェアを擬似的に管理できるよう、仮想ハードウェア（仮想ＡＳＩＣ４０７）を内包し、仮想ハードウェアと物理ハードウェアの同期を取っている。
データ通信用ポートを制御するためのインタフェースが公開されている場合、汎用的な機能に特化した転送装置群で組み上げたスイッチクラスタで実現させることが可能である。また、特定の経路構築機能（ＳＤＮコントローラ相当）へ機能開発を行うわけではなく、標準的なプロトコルによる経路制御を可能とする他の経路構築機能も柔軟に適用可能である。
【０１４７】
《上記実施形態の効果》
既存のプロトコルに左右されない柔軟な経路の指示が可能なOpenFlow技術で、単一障害点となってしまうマネジメントプレーンの問題点に対処するため、予備系コントローラを設けて耐障害性と信頼性を改善した。これにより、OpenFlow技術の適用可能性を広げることができる。
更に、集中的管理を行うOpenFlow技術を分散的に配置するハイブリッドな構成を提案した。このハイブリッド構成のネットワークは、ネットワークの規模に合わせて柔軟に構成可能であり、かつ高い信頼性が期待できる。
【０１４８】
大手ベンダにより専用開発されていない汎用的な転送機能を保持する転送装置で、従来の専用開発装置と同等のスイッチング容量を持ち、論理ノードとした転送制御機能を持つスイッチクラスタを構成可能となる。そのため、汎用的な転送機能を持つ転送装置の適用用途の拡大と、従来専用開発装置を用いて構築されてきたネットワーク事業者の装置選択肢の拡大が期待される。
【０１４９】
《変形例》
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能であり、例えば、次の（ａ）〜（ｅ）のようなものがある。
【０１５０】
（ａ）  上記実施形態のクラスタのネットワーク構成、コントローラ数、ネットワーク機器数は、例示した構成に限らない。
（ｂ）  第１、第２の実施形態では、全てのスイッチ４ａ〜４ｅに予備系コントローラ４１ａ〜４１ｅを埋め込んでいる。しかし、各スイッチ４を制御できる配置であれば、どこに配備する構成でも構わない。
（ｃ）  第３実施形態において、コントローラ４３を省略する転送装置はスイッチ４ｄに限定されず、スイッチ４ａ〜４ｅのうち何れであってもよい。
（ｄ）  OpenFlowに限らず、同様に経路構築可能なプロトコルを対象としてもよい。
（ｅ）  制御プログラムを実行することにより、ルーティングソフトウェアの機能とＳＤＮコントローラの機能を実現する情報処理装置（コンピュータ）は、転送装置（スイッチ）の内部或いは外部に構成されてもよい。
【符号の説明】
【０１５１】
１，１Ａ〜１Ｃ  クラスタ
２ａ，２ｂ  OpenFlowコントローラ  （外部コントローラ）
２１  ルーティングソフトウェア
３  マネジメントスイッチ
４  スイッチ  （転送装置）
４０  転送装置
４００  出入口ポート
４０１  マネジメントプレーン用ＡＳＩＣ
４０２  スイッチＯＳ
４０３  ＯＳ標準ドライバ
４０４  データプレーン用ＡＳＩＣ制御ドライバ
４０５  データプレーン用ＡＳＩＣ
４０６  仮想インタフェース
４０７  仮想ＡＳＩＣ
４０８  ブリッジ
４０９  ブリッジ制御部
４１０  ブリッジ部
４１  予備系コントローラ  （コントローラ）
４２ａ〜４２ｅ  ルーティングソフトウェア  （ルーティング制御部）
４３ａ、４３ｅ  コントローラ
４３０  ＳＤＮコントローラ  （クラスタ制御部、マネジメント部）
４４  転送部
４５  マネジメントポート  （ポート）
５  コントロールプレーン
６  データプレーン
７  マネジメントネットワーク
８  上位コントローラ
【図１】
2019041368.tif 000003
【図２】
2019041368.tif 000004
【図３】
2019041368.tif 000005
【図４】
2019041368.tif 000006
【図５】
2019041368.tif 000007
【図６】
2019041368.tif 000008
【図７】
2019041368.tif 000009
【図８】
2019041368.tif 000010
【図９】
2019041368.tif 000011
【図１０】
2019041368.tif 000012
【図１１】
2019041368.tif 000013
【図１２】
2019041368.tif 000014
【図１３】
2019041368.tif 000015
【図１４】
2019041368.tif 000016
【図１５】
2019041368.tif 000017
【図１６】
2019041368.tif 000018
【図１７】
2019041368.tif 000019
【図１８】
2019041368.tif 000020
【図１９】
2019041368.tif 000021
【図２０】
2019041368.tif 000022
【図２１】
2019041368.tif 000023
【図２２】
2019041368.tif 000024
【図２３】
2019041368.tif 000025
【図２４】
2019041368.tif 000026