(57)【要約】【課題】フローエントリを変更せずにコアリンクの障害に対応できる通信システムを提供する。【解決手段】通信システム10は、設定されている転送規則に従ってパケットを転送する転送装置201〜転送装置203で構成される通信ネットワークと、転送装置201〜転送装置203と通信可能に接続され転送装置201〜転送装置203を制御する制御装置30とを含む通信システムであって、転送装置201に設定されている転送規則には、転送装置201が受信されたパケットを転送装置201内のポートから他の転送装置へ送信できない時は受信されたパケットを転送規則と共に制御装置30へ転送することが記載されており、制御装置30は、転送装置201から転送された転送規則を用いて転送規則と共に転送されたパケットを他の転送装置へ転送する。【選択図】図１
2017183925.tif 000002
【特許請求の範囲】
【請求項１】
設定されている転送規則に従ってパケットを転送する複数の転送装置で構成される通信ネットワークと、前記転送装置と通信可能に接続され前記転送装置を制御する制御装置とを含む通信システムであって、
前記転送規則には、前記転送装置が受信されたパケットを前記転送装置内のポートから他の転送装置へ送信できない時は前記受信されたパケットを前記転送規則と共に前記制御装置へ転送することが記載されており、
前記制御装置は、前記転送装置から転送された前記転送規則を用いて前記転送規則と共に転送されたパケットを前記他の転送装置へ転送する
ことを特徴とする通信システム。
【請求項２】
制御装置は、転送された転送規則と複数の転送装置で構成される通信ネットワークを示す情報とを用いて前記転送規則と共に転送されたパケットを他の転送装置へ転送する
請求項１記載の通信システム。
【請求項３】
転送規則には、前記転送規則が適用されるパケットの種類が記載されている
請求項１または請求項２記載の通信システム。
【請求項４】
転送装置は、オープンフロースイッチであり、
制御装置は、オープンフローコントローラであり、
転送規則は、前記オープンフロースイッチのフローテーブルに設定されるフローエントリである
請求項１から請求項３のうちのいずれか１項に記載の通信システム。
【請求項５】
フローエントリは、Fast Failover型のグループテーブルに設定されるグループエントリである
請求項４記載の通信システム。
【請求項６】
設定されている転送規則に従ってパケットを転送し通信ネットワークを構成する複数の転送装置と通信可能に接続され前記転送装置を制御する制御装置であって、
前記転送装置が受信されたパケットを前記転送装置内のポートから他の転送装置へ送信できない時は前記受信されたパケットを前記転送規則と共に前記制御装置へ転送することが記載された前記転送規則を前記転送装置に設定し、
前記転送装置から転送された前記転送規則を用いて前記転送規則と共に転送されたパケットを前記他の転送装置へ転送する
ことを特徴とする制御装置。
【請求項７】
転送された転送規則と複数の転送装置で構成される通信ネットワークを示す情報とを用いて前記転送規則と共に転送されたパケットを他の転送装置へ転送する
請求項６記載の制御装置。
【請求項８】
転送規則には、前記転送規則が適用されるパケットの種類が記載されている
請求項６または請求項７記載の制御装置。
【請求項９】
オープンフロースイッチである転送装置を制御し、転送規則として前記オープンフロースイッチのフローテーブルに設定されるフローエントリを設定するオープンフローコントローラである
請求項６から請求項８のうちのいずれか１項に記載の制御装置。
【請求項１０】
フローエントリは、Fast Failover型のグループテーブルに設定されるグループエントリである
請求項９記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムおよび制御装置に関し、特にオープンフロー(OpenFlow)を使用することによってリンク障害が発生しても通信を継続して行うことが可能な通信システムおよび制御装置に関する。
【背景技術】
【０００２】
管理者が設定変更しやすいネットワークを容易に構築できるOpenFlowという技術が提案されている。以下、OpenFlowが用いられたネットワークシステムを、OpenFlowネットワークと称する。
【０００３】
OpenFlowは、ネットワーク機器が有するパケットの転送機能と経路制御機能を、OpenFlowスイッチ（OpenFlow Switch：以下、OFSと称する。）とOpenFlowコントローラ（OpenFlow Controller：以下、OFCと称する。）にそれぞれ移転する。
【０００４】
OFSは、パケットの転送機能のみを有する。OFCは、経路制御機能を有し、複数のOFSのパケット転送処理を制御する。パケットの転送機能と経路制御機能が分離されているため、OpenFlowネットワークに対する外部からの制御が容易になり、柔軟性に富んだネットワークを構築することが可能になる。
【０００５】
OpenFlowでは、MAC(Media Access Control)アドレス、IP(Internet Protocol)アドレス、ポート番号等の組み合わせによって決定される通信が、「フロー」として定義される。OpenFlowネットワークでは、フロー単位で経路制御が実現される。
【０００６】
OFCとOFSは、OFS制御用のTCP(Transmission Control Protocol)コネクションであるOpenFlowチャンネル(OpenFlow Channel)で接続されている。OFCは、OpenFlowプロトコルを用いてOFSと通信する。例えば、OFCは、OpenFlowプロトコルで定義されているメッセージを用いて、OFSにフローエントリを設定する。OFSは、設定されたフローエントリの内容に従って、受信されたパケットを処理する。
【０００７】
上記の通り、OpenFlowネットワークは、データ転送の役割を担う転送部（通信プレーンやデータプレーンともいう。）であるOFSと、OFSを集中管理する制御部（制御プレーンともいう。）であるOFCとで構成される。
【０００８】
OpenFlowに代表されるSDN(Software-Defined Networking)が導入されると、制御プレーンがネットワーク運用を行う。すなわち、SDNが導入されていない場合に比べて手動での作業が少なくなるため、人件費も含まれたネットワーク管理に係る管理コストが削減される。SDNは、例えば企業内ネットワークやデータセンタに導入されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−０６３０２２号公報
【特許文献２】特開２０１５−１１５７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
OpenFlowネットワークにおいて、OFS同士は通信可能に接続されている。本明細書において、OFS間の通信経路をコアリンクと呼ぶ。
【００１１】
コアリンクの障害が発生した時に通信が継続して行われるためには、例えば、OFSに設定されたパケットの転送ルールに相当するフローエントリの書き換えが求められる。OFSに設定されたフローエントリの書き換えには、例えば既存のフローエントリの削除、新規のフローエントリの追加、動作確認等のOFCによるOFSに対する制御処理の実行が求められる。
【００１２】
また、コアリンクが瞬断するような場合等では、コアリンクの切断と回復が短時間に行われるため、OFCがOFSに対して短時間に複数回フローエントリを設定する。短時間に複数回フローエントリが設定されることによって、OpenFlowチャンネルの帯域幅が無駄に消費される可能性がある。すなわち、リンクの瞬断時には、無駄に制御プレーンのリソースが圧迫される恐れがある。
【００１３】
また、コアリンクの障害が発生した時に、障害が発生したコアリンクと直接結ばれていない他のOFSに設定されたフローエントリも変更するような仕様に設定されているOFCも存在する。例えば、断裂したコアリンクが使用されるトラフィックに適用されるフローエントリの書き換えを、断裂したコアリンクに接続されているOFSだけでなく、トラフィックの経路における他のOFSに対しても行うように実装されているOFCも存在する。
【００１４】
他のOFSに設定されたフローエントリも変更される場合、障害が発生したコアリンクと直接結ばれていないOFSがOFCへパケットを転送する可能性がある。フローエントリの変更内容によっては、OpenFlowネットワークの端点に位置するOFS等にパケット転送処理が集中し、OFSの負荷が高まるリスクが生じる場合がある。
【００１５】
障害が発生したコアリンクと直接結ばれていない他のOFSに設定されたフローエントリも変更されると、発生した障害と直接関係しないOFSにまで負荷がかかる可能性がある。また、最終的に障害が発生したコアリンクと無関係のトラフィックにまで影響が及ぶリスクが存在する。
【００１６】
上記のように、OFSに設定されているフローエントリの変更による対応方法には、リソースの無駄な消費や設計内容と異なる通信の発生等を伴うという問題がある。よって、OFSに設定されているフローエントリを変更せずにコアリンクの障害に対応できる方法が求められている。
【００１７】
特許文献１には、制御プレーンとユーザプレーンが分離されたアクセスゲートウェイ装置に最適な冗長化構成が記載されている。特許文献１に記載されている通信システムは、ユーザプレーンの現用系から待機系へ処理の引き継ぎが完了するまでの間制御プレーンの現用系が代理でユーザデータを転送するので、ユーザデータの転送が停止するダウンタイムを短縮できる。
【００１８】
また、特許文献２には、リソースの利用効率を向上させる通信システムが記載されている。特許文献２に記載されているネットワーク装置の監視部は、ネットワーク装置の制御プレーン処理部および複数のユーザプレーン処理部に不具合があるか否かを処理部単位で監視する。
【００１９】
よって、特許文献２に記載されている技術が適用された特許文献１に記載されている通信システムは、コアリンクの障害の発生を検知し、検知した後に制御プレーンが代理でユーザデータを転送することによってコアリンクの障害に対応できる。しかし、特許文献１に記載されている通信システム、および特許文献２に記載されている通信システムでは、パケットの転送に転送ルールを使用すること自体が想定されていない。
【００２０】
そこで、本発明は、フローエントリを変更せずにコアリンクの障害に対応できる通信システムおよび制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明による通信システムは、設定されている転送規則に従ってパケットを転送する複数の転送装置で構成される通信ネットワークと、転送装置と通信可能に接続され転送装置を制御する制御装置とを含む通信システムであって、転送規則には、転送装置が受信されたパケットを転送装置内のポートから他の転送装置へ送信できない時は受信されたパケットを転送規則と共に制御装置へ転送することが記載されており、制御装置は、転送装置から転送された転送規則を用いて転送規則と共に転送されたパケットを他の転送装置へ転送することを特徴とする。
【００２２】
本発明による制御装置は、設定されている転送規則に従ってパケットを転送し通信ネットワークを構成する複数の転送装置と通信可能に接続され転送装置を制御する制御装置であって、転送装置が受信されたパケットを転送装置内のポートから他の転送装置へ送信できない時は受信されたパケットを転送規則と共に制御装置へ転送することが記載された転送規則を転送装置に設定し、転送装置から転送された転送規則を用いて転送規則と共に転送されたパケットを他の転送装置へ転送することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、フローエントリを変更せずにコアリンクの障害に対応できる。
【図面の簡単な説明】
【００２４】
【図１】本発明による通信システムの第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態の通信システム10による転送処理の動作を示すフローチャートである。
【図３】本発明による通信システムの第２の実施形態の構成例を示すブロック図である。
【図４】OFC100がOFS203に設定するフローエントリの例を示す説明図である。
【図５】通信システム10におけるパケット転送処理の例を示す説明図である。
【図６】第２の実施形態の通信システム10による転送処理の動作を示すフローチャートである。
【図７】第２の実施形態の通信システム10による他の転送処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００２５】
実施形態１．
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明による通信システムの第１の実施形態の構成例を示すブロック図である。本発明による通信システム10は、設定されている転送規則に従ってパケットを転送する転送装置201〜転送装置203（例えば、OFS201~OFS205）で構成される通信ネットワークと、転送装置201〜転送装置203と通信可能に接続され転送装置201〜転送装置203を制御する制御装置30（例えば、OFC100）とを含む通信システムであって、転送装置201に設定されている転送規則には、転送装置201が受信されたパケットを転送装置201内のポートから他の転送装置へ送信できない時は受信されたパケットを転送規則と共に制御装置30へ転送することが記載されており、制御装置30は、転送装置201から転送された転送規則を用いて転送規則と共に転送されたパケットを他の転送装置へ転送する。
【００２６】
以下、通信システム10による転送処理を説明する。図２は、第１の実施形態の通信システム10による転送処理の動作を示すフローチャートである。
【００２７】
転送装置201にパケットが流入する（ステップS11）。転送装置201は、転送装置201に設定されている転送規則に従って、転送装置201内の所定のポートが使用可能であるか否かを確認する（ステップS12）。
【００２８】
所定のポートが使用可能である場合（ステップS12におけるYes）、転送装置201は、転送装置201に設定されている転送規則に従って、所定のポートへパケットを転送する（ステップS13）。次いで、パケットは、所定のポートから他の転送装置へ転送される（ステップS15）。パケットが他の転送装置へ転送された後、通信システム10は、転送処理を終了する。
【００２９】
所定のポートが使用不可能である場合（ステップS12におけるNo）、転送装置201は、転送装置201に設定されている転送規則に従って、制御装置30へパケットを転送する。パケットを転送する際、転送装置201は、設定されている転送規則も併せて転送する（ステップS14）。
【００３０】
パケットおよび転送規則を受信した制御装置30は、受信された転送規則を用いてパケットの転送先を特定する。転送先を他の転送装置に特定した後、制御装置30は、パケットを他の転送装置へ転送する（ステップS15）。パケットが他の転送装置へ転送された後、通信システム10は、転送処理を終了する。
【００３１】
そのような構成により、通信システムは、フローエントリを変更せずにコアリンクの障害に対応できる。
【００３２】
また、制御装置30は、転送された転送規則と転送装置201〜転送装置203で構成される通信ネットワークを示す情報（例えば、ネットワークトポロジ）とを用いて転送規則と共に転送されたパケットを他の転送装置へ転送してもよい。
【００３３】
そのような構成により、通信システムは、複雑な通信ネットワークを経由するパケットを確実に転送先のスイッチへ転送できる。
【００３４】
また、転送規則には、転送規則が適用されるパケットの種類が記載されてもよい。
【００３５】
そのような構成により、通信システムは、制御プレーンを代替経路として使用するパケットの種類を限定できる。
【００３６】
また、転送装置201〜転送装置203は、オープンフロースイッチであり、制御装置30は、オープンフローコントローラであり、転送規則は、オープンフロースイッチのフローテーブルに設定されるフローエントリでもよい。
【００３７】
そのような構成により、通信システムは、OpenFlowネットワークに適用される。
【００３８】
また、フローエントリは、Fast Failover型のグループテーブルに設定されるグループエントリでもよい。
【００３９】
そのような構成により、通信システムは、グループエントリに記載されるアクションバケットの内容を予め調整することによって、フローエントリを変更せずにコアリンクの障害に対応できる。
【００４０】
実施形態２．
［構成の説明］
次に、本発明の第２の実施形態を、図面を参照して説明する。図３は、本発明による通信システムの第２の実施形態の構成例を示すブロック図である。図３に示すように、本実施形態の通信システム10は、OFC100と、OFS201~OFS205と、端末300と、端末400とを含む。なお、本実施形態の通信システム10は、OpenFlow version 1.3以降のバージョンのOpenFlowに準拠する。
【００４１】
図３に示すOFC100と各OFSとを結ぶ破線は、OpenFlowチャンネルを意味する。また、OFS同士を結ぶ実線は、コアリンクを意味する。OFS201~OFS205で、図３に示す楕円が表すOpenFlowネットワークが構成されている。
【００４２】
本実施形態のOFC100は、ネットワークトポロジを検出する機能を有する。また、本実施形態のOFC100は、OpenFlow version 1.3のプロトコルに従ってOFSを管理する機能を有する。また、OFC100は、非ループ構成を構築する機能を有する。
【００４３】
端末300および端末400は、OFS201~OFS205で構成されるOpenFlowネットワークを使用してデータ通信を行う。例えば、端末300は、図３に示すOpenFlowネットワークを経由するパケットを端末400に向けて送信する。
【００４４】
本実施形態の通信システム10では、通信プレーンにおけるコアリンクが断裂した時に、制御プレーンが代替経路として使用される。以下、制御プレーンが代替経路として使用されるための設定内容を説明する。
【００４５】
OFC100は、検出されたネットワークトポロジの情報を用いて、OFSにフローエントリを設定する。図４は、OFC100がOFS203に設定するフローエントリの例を示す説明図である。
【００４６】
図４に示すフローエントリは、OFS203に対してブロードキャストパケット、およびマルチキャストパケットを転送させるためのルールに相当する。また、図４に示すフローエントリは、OFS203のFast Failover型のグループテーブルに設定される。すなわち、図４に示すフローエントリは、グループエントリである。
【００４７】
図４に示す最初のエントリは、OFS203のport-1に流入したパケットをOFS203のport-2から出力するルールに相当する。図４に示す最初のエントリのMatchフィールドには、「Inport=1, i/g bit=1」と記載されている。すなわち、最初のエントリは、OFS203のport-1に流入したパケットのうち、i/g(individual address/group address)ビットが１であるパケットに対して適用されるエントリである。
【００４８】
i/gビットが１であるパケットは、例えばブロードキャストパケット、またはマルチキャストパケットである。なお、本実施形態においてブロードキャストパケットとマルチキャストパケットを総称してBCMCパケットという。
【００４９】
図４に示す最初のエントリのActionフィールドには、２つのアクションバケットが記載されている。最初のアクションバケットは、「Bucket { watch_port: port-2, action: port-2 }」と記載されているアクションバケットである。最初のアクションバケットでは、OFS203のport-2が出力先に指定されている。また、watch_portとしてOFS203のport-2が指定されている。
【００５０】
二番目のアクションバケットは、「Bucket { action: toController }」と記載されているアクションバケットである。二番目のアクションバケットでは、コントローラ（すなわち、OFC100）が出力先に指定されている。
【００５１】
なお、Fast Failover型のグループテーブルでは、設定された順にアクションバケットが適用される。すなわち、最初のアクションバケットが適用される状態であれば、最初のアクションバケットに設定されたアクションが実行される。最初のアクションバケットが適用されず二番目のアクションバケットが適用される状態であれば、二番目のアクションバケットに設定されたアクションが実行される。
【００５２】
図４に示す二番目のエントリは、OFS203のport-2に流入したパケットをOFS203のport-1から出力するルールに相当する。すなわち、二番目のエントリは、最初のエントリが適用されるフローと逆方向のフローに適用される。
【００５３】
図４に示す二番目のエントリのMatchフィールドには、「Inport=2, i/g bit=1」と記載されている。すなわち、二番目のエントリは、OFS203のport-2に流入したパケットのうち、i/gビットが１であるパケットに対して適用されるエントリである。
【００５４】
図４に示す二番目のエントリのActionフィールドには、２つのアクションバケットが記載されている。最初のアクションバケットは、「Bucket { watch_port: port-1, action: port-1 }」と記載されているアクションバケットである。最初のアクションバケットでは、OFS203のport-1が出力先に指定されている。また、watch_portとしてOFS203のport-1が指定されている。
【００５５】
二番目のアクションバケットは、「Bucket { action: toController }」と記載されているアクションバケットである。二番目のアクションバケットでは、コントローラ（すなわち、OFC100）が出力先に指定されている。
【００５６】
なお、図４に示すエントリのMatchフィールドにはBCMCパケットを示す内容が記載されているが、Matchフィールドにはユニキャストパケット等の他の種類のパケットを示す内容が記載されてもよい。エントリのMatchフィールドにユニキャストパケットを示す内容が記載された場合、ユニキャスト転送等のOFC100が提供する経路制御方式と転送処理とが組み合わせられて使用される。
【００５７】
以下、図４に示す最初のエントリに従ってパケットが転送される処理を説明する。
【００５８】
まず、OFS203のport-2がリンクアップしている、すなわち通信が可能な状態である通常時の転送処理を説明する。port-2がリンクアップしている場合、図４に示す最初のエントリでwatch_portとして指定されたport-2のlivenessが真である。
【００５９】
port-2のlivenessが真である場合、図４に示す最初のエントリに記載されている２つのアクションバケットのうち、port-2が出力先である最初のアクションバケットが適用される。OFS203は、図４に示す最初のフローエントリに記載されている最初のアクションバケットに従って、port-1に流入したBCMCパケットを、port-2に転送する。
【００６０】
次に、OFS203のport-2がリンクダウンしている、すなわち通信が不可能な状態である障害時の転送処理を説明する。port-2がリンクダウンしている場合、図４に示す最初のエントリでwatch_portとして指定されたport-2のlivenessが偽である。
【００６１】
上記の状況を図５に示す。図５は、通信システム10におけるパケット転送処理の例を示す説明図である。図５に示す矢印Ａは、OFS201からOFS203のport-1へ向かうBCMCパケットのフローを表す。また、図５に示すように、OFS203とOFS205とを結ぶコアリンクにおいて障害が発生している。
【００６２】
port-2のlivenessが偽である場合、図４に示す最初のエントリに記載されている２つのアクションバケットのうち、コントローラ(OFC100)が出力先である二番目のアクションバケットが適用される。図５に示す吹き出し内の最初のエントリに記載されている二番目のアクションバケットに付されている下線は、図５に示す状況では二番目のアクションバケットが適用されることを意味する。
【００６３】
OFS203は、図４に示す最初のフローエントリに記載されている二番目のアクションバケットに従って、port-1に流入したBCMCパケットを、OFC100に転送する。図５に示す矢印Ｂは、OFS203からOFC100へ向かうBCMCパケットのフローを表す。
【００６４】
なお、OpenFlow version 1.3の仕様に従うOFS203は、二番目のアクションバケットに従ってパケットをコントローラへ転送する際、転送の要因であるフローエントリの情報も併せてコントローラに転送する。パケットとフローエントリを受け取ったコントローラであるOFC100は、転送されたパケットがコアリンクの障害が発生したために転送されたパケットであると判断できる。
【００６５】
OFC100は、受信された情報と自身が保持するネットワークトポロジの情報とを照合することによってパケットの転送先のOFSを特定する。次いで、OFC100は、OpenFlowチャンネルを介して転送先のOFSにパケットを転送する。図５に示す矢印Ｃは、OFC100からOFS205へ向かうBCMCパケットのフローを表す。
【００６６】
次に、port-2が復旧した障害復旧後の転送処理を説明する。port-2が再びリンクアップしている場合、図４に示す最初のエントリでwatch_portとして指定されたport-2のlivenessが真である。port-2のlivenessが真である場合、図４に示す最初のエントリに記載されている２つのアクションバケットのうち、port-2が出力先である最初のアクションバケットが適用される。
【００６７】
OFS203は、図４に示す最初のフローエントリに記載されている最初のアクションバケットに従って、port-1に流入したBCMCパケットを、port-2に転送する。すなわち、OFS203は、port-2の復旧を検出した時点で、自動的に障害が発生する前と同様にport-2へパケットを転送する。
【００６８】
通常時の転送処理、障害時の転送処理、および障害復旧後の転送処理のいずれにおいても、各OFSに設定されているフローエントリは変更されていない。すなわち、本実施形態の通信システム10は、フローエントリを変更せずにコアリンクの障害に対応できる。
【００６９】
［動作の説明］
以下、本実施形態の通信システム10の動作を図６〜図７を参照して説明する。
【００７０】
最初に、パケットがOFS203のport-1に流入した時のパケットに対する転送処理を説明する。図６は、第２の実施形態の通信システム10による転送処理の動作を示すフローチャートである。
【００７１】
OFS203のport-1にパケットが流入する（ステップS101）。OFS203は、Fast Failover型のグループテーブルに設定されている最初のグループエントリの内容に従って、port-2がリンクアップしているか否かを確認する（ステップS102）。
【００７２】
port-2がリンクアップしている場合（ステップS102におけるYes）、OFS203は、エントリに記載されている最初のアクションバケットの内容に従って、port-2へパケットを転送する（ステップS103）。次いで、パケットは、port-2からOFS205へ転送される（ステップS105）。パケットがOFS205へ転送された後、通信システム10は、転送処理を終了する。
【００７３】
port-2がリンクアップしていない場合（ステップS102におけるNo）、OFS203は、エントリに記載されている二番目のアクションバケットの内容に従って、コントローラであるOFC100へパケットを転送する。パケットを転送する際、OFS203は、設定されているフローエントリも併せて転送する（ステップS104）。
【００７４】
パケットおよびフローエントリを受信したOFC100は、受信された情報と保持しているネットワークトポロジの情報を用いて、パケットの転送先を特定する。特定した後、OFC100は、OpenFlowチャンネルを介してパケットを転送する。
【００７５】
転送先としてOFS205が特定されるため、OFC100は、OFS205へパケットを転送する（ステップS105）。パケットがOFS205へ転送された後、通信システム10は、転送処理を終了する。
【００７６】
次に、パケットがOFS203のport-2に流入した時のパケットに対する転送処理を説明する。図７は、第２の実施形態の通信システム10による他の転送処理の動作を示すフローチャートである。
【００７７】
OFS203のport-2にパケットが流入する（ステップS201）。OFS203は、Fast Failover型のグループテーブルに設定されている二番目のグループエントリの内容に従って、port-1がリンクアップしているか否かを確認する（ステップS202）。
【００７８】
port-1がリンクアップしている場合（ステップS202におけるYes）、OFS203は、エントリに記載されている最初のアクションバケットの内容に従って、port-1へパケットを転送する（ステップS203）。次いで、パケットは、port-1からOFS201またはOFS202へ転送される（ステップS205）。パケットがOFS201またはOFS202へ転送された後、通信システム10は、転送処理を終了する。
【００７９】
port-1がリンクアップしていない場合（ステップS202におけるNo）、OFS203は、エントリに記載されている二番目のアクションバケットの内容に従って、コントローラであるOFC100へパケットを転送する。パケットを転送する際、OFS203は、設定されているフローエントリも併せて転送する（ステップS204）。
【００８０】
パケットおよびフローエントリを受信したOFC100は、受信された情報と保持しているネットワークトポロジの情報を用いて、パケットの転送先を特定する。特定した後、OFC100は、OpenFlowチャンネルを介してパケットを転送する。
【００８１】
転送先としてOFS201またはOFS202が特定されるため、OFC100は、OFS201またはOFS202へパケットを転送する（ステップS205）。パケットがOFS201またはOFS202へ転送された後、通信システム10は、転送処理を終了する。
【００８２】
［効果の説明］
本実施形態の通信システム10のOFC100は、各OFSのOpenFlow version 1.3に規定されているFast Failover型のグループテーブルに、制御プレーンが代替経路として使用されるためのグループエントリを事前に登録する。グループエントリで制御プレーンが１つの仮想ポートとして扱われているため、制御プレーンが代替経路として使用される。
【００８３】
よって、コアリンクの障害の発生に対応してOFSが自身の判断でパケットをコントローラへ転送した際、制御プレーンが代替経路として使用される。すなわち、通信システム10は、各OFSに設定されているフローエントリを書き換えずにコアリンクの障害に対応できる。
【００８４】
また、本実施形態の通信システム10では、障害が発生したコアリンクを経由するパケットを、障害が発生したコアリンクに直接接続されたOFSが処理する。よって、コアリンクの障害が発生した場合、障害が発生したコアリンクに直接接続されたOFSのみに障害の影響が留まる。
【００８５】
本実施形態では、OpenFlowに代表されるデータプレーンと制御プレーンが分離されたネットワークアーキテクチャにおいて、データプレーンを構成するスイッチ間のリンクが断裂した場合に、制御プレーンが断裂したリンクの代替経路として使用される。よって、スイッチ間のリンクが断裂しても、スイッチに設定されている転送ルールが変更されずに通信が継続して行われる。
【００８６】
OpenFlowネットワークであれば、OFS間のコアリンクの障害が発生した時であっても、OFSに設定されている転送ルールに相当するフローエントリが変更されずに通信が継続して行われる。
【００８７】
なお、本実施形態のOFC100、およびOFS201~OFS205は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。
【００８８】
また、OFC100、およびOFS201~OFS205は、ハードウェア回路によって実現されてもよい。
【００８９】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
【００９０】
（付記１）設定されている転送規則に従ってパケットを転送する複数の転送装置で構成される通信ネットワークと、転送装置と通信可能に接続され転送装置を制御する制御装置とを含む通信システムにおいて実行される通信方法であって、転送規則には、転送装置が受信されたパケットを転送装置内のポートから他の転送装置へ送信できない時は受信されたパケットを転送規則と共に制御装置へ転送することが記載されており、転送装置から転送された転送規則を用いて転送規則と共に転送されたパケットを他の転送装置へ転送することを特徴とする通信方法。
【００９１】
（付記２）設定されている転送規則に従ってパケットを転送し通信ネットワークを構成する複数の転送装置と通信可能に接続され転送装置を制御する制御装置において実行される制御方法であって、転送装置が受信されたパケットを転送装置内のポートから他の転送装置へ送信できない時は受信されたパケットを転送規則と共に制御装置へ転送することが記載された転送規則を転送装置に設定し、転送装置から転送された転送規則を用いて転送規則と共に転送されたパケットを他の転送装置へ転送することを特徴とする制御方法。
【００９２】
（付記３）設定されている転送規則に従ってパケットを転送し通信ネットワークを構成する複数の転送装置と通信可能に接続され転送装置を制御する制御装置において実行される制御プログラムであって、制御装置に、転送装置が受信されたパケットを転送装置内のポートから他の転送装置へ送信できない時は受信されたパケットを転送規則と共に制御装置へ転送することが記載された転送規則を転送装置に設定する設定処理、および転送装置から転送された転送規則を用いて転送規則と共に転送されたパケットを他の転送装置へ転送する転送処理を実行させるための制御プログラム。
【符号の説明】
【００９３】
10  通信システム
201〜203  転送装置
30  制御装置
100  OpenFlowコントローラ(OFC)
201〜205  OpenFlowスイッチ(OFS)
300  端末
400  端末
【図１】
2017183925.tif 000003
【図２】
2017183925.tif 000004
【図３】
2017183925.tif 000005
【図４】
2017183925.tif 000006
【図５】
2017183925.tif 000007
【図６】
2017183925.tif 000008
【図７】
2017183925.tif 000009