(57)【要約】 【課題】集中制御型のネットワークにおいて、通信ノードが制御装置からの指示を待たずに経路の切り替えをなしうる構成の提供。【解決手段】通信システムは、制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と、状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するリンク状態判定部と、前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える経路切替部と、を備えた通信ノードと、を含む。【選択図】図１
2015012531.tif 000002
【特許請求の範囲】
【請求項１】
制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、
前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と、
所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するリンク状態判定部と、
前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える経路切替部と、を備えた通信ノードと、を含む通信システム。
【請求項２】
前記制御装置は、前記第１の経路上の複数のリンクについて、各リンクを経由しない第２の経路をそれぞれ計算し、前記各経路に沿ってパケットを転送するための制御情報を設定し、
前記通信ノードは、前記複数のリンクの状態をそれぞれ判定し、前記判定結果に基づいて、前記複数の第２の経路の中から、切り替え対象の第２の経路を選択する請求項１の通信システム。
【請求項３】
前記リンク状態判定部は、前記特定のリンクで接続された２つの通信ノードから所定の状態監視パケットに対する応答が得られたか否かにより、前記特定のリンクに障害が発生したか否かを判定し、
前記経路切替部は、前記リンク状態判定部の判定結果に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える請求項１又は２の通信システム。
【請求項４】
前記経路切替部は、前記第１の経路から前記第２の経路への通信経路の切替に代えて、該当する通信へのヘッダ書換え、パケット破棄のいずれかを実行する請求項１から３いずれか一の通信システム。
【請求項５】
前記リンク状態判定部は、前記所定の状態監視パケットを送出することで、前記第１の経路の前記特定のリンクのパフォーマンスを測定し、
前記経路切替部は、前記第１の経路上の前記特定のパフォーマンスが低下していると判定した場合、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える請求項１から３いずれか一の通信システム。
【請求項６】
前記制御装置は、前記通信ノードに対し、前記第２の経路に沿ってパケットを転送するための制御情報の設定に代えて、前記第１の経路に沿ってパケットを転送するための制御情報の書き換え内容を送信し、
前記通信ノードは、前記制御情報の書き換え内容に従って制御情報を書き換えることで、経路の切り替えを実行する請求項１から３いずれか一の通信システム。
【請求項７】
制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と、接続され、
所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するリンク状態判定部と、
前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える経路切替部と、を備えた通信ノード。
【請求項８】
前記制御装置から、前記第１の経路上の複数のリンクについて、各リンクを経由しない第２の経路に沿ってパケットを転送するための制御情報の設定を受け、
前記複数のリンクの状態をそれぞれ判定し、前記判定結果に基づいて、前記複数の第２の経路の中から、切り替え対象の第２の経路を選択する請求項７の通信ノード。
【請求項９】
前記リンク状態判定部は、前記特定のリンクで接続された２つの通信ノードから所定の状態監視パケットに対する応答が得られたか否かにより、前記特定のリンクに障害が発生したか否かを判定し、
前記経路切替部は、前記リンク状態判定部の判定結果に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える請求項７又は８の通信ノード。
【請求項１０】
制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と接続された通信ノードが、
所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するステップと、
前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替えるステップと、を含む通信経路切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信ノード、通信経路切替方法及びプログラムに関し、特に、通信ノードに対しパケットの通信経路を指示する制御装置を有する通信システム、通信ノード、通信経路切替方法及びプログラムに関する。
【背景技術】
【０００２】
通信ネットワークシステムにおいて、ネットワークを制御する制御プレーンと、実際にデータを転送するデータプレーンとを分離した集中制御型のネットワークが注目されている。集中制御型のネットワークでは、制御プレーンを担うネットワーク制御装置と、ネットワーク制御装置からの制御指示に従い動作する通信ノードとが用いられる。このような集中制御型のネットワークとしては、非特許文献１、２のオープンフローが知られている。
【０００３】
オープンフローでは、前記ネットワーク制御装置と通信ノードとして、オープンフローコントローラ（以下、「コントローラ」）と、コントローラから設定されたデータ中継動作ポリシー（フローエントリ）に従い動作するオープンフロースイッチ（以下、「スイッチ」）とを用いる。両者は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）又はＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）コネクション（セキュアチャネル）を介して接続される。このオープンフローでは、端点から端点へのデータ通信を「フロー」として扱い、コントローラが、経路上のスイッチに対して、経路に沿ってパケットを転送させるデータ中継動作ポリシー（フローエントリ）を設定することで、フロー単位での経路制御を実施する。
【０００４】
特許文献１には、上記オープンフローに代表される集中制御型のネットワークにおいて、ネットワークの障害又は輻輳時に、コントローラの指示を待たずに、高速に経路を切り替える機能を備えた通信装置（上記オープンフロースイッチに相当）が開示されている。具体的には、この通信装置は、自身が接続するリンクの障害を検知するポートリンク情報管理部を備え、リンクに障害が発生した場合に、該当するリンクを通過するフローを処理するためのフローエントリを代替フローエントリに切り替えることで経路の切替を実現している（請求項３、００２８、００３６−００３８）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−４９６７４号公報
【非特許文献】
【０００６】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年５月１０日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年５月１０日検索］、インターネット〈URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明によって与えられたものである。特許文献１の段落０００６−０００８に記載されているように、集中制御型のネットワークにおいては、経路障害や輻輳が発生すると、その都度、ネットワーク制御装置が代替経路の計算と、フローエントリの再設定を行わなければならないという問題点がある。また、経路障害や輻輳が同時に複数の箇所で発生すると、ネットワーク制御装置の負荷が増大し、また、ネットワークの帯域を圧迫してしまう。
【０００８】
この点、特許文献１では、通信装置に、自身が接続するリンクの障害を検知するポートリンク情報管理部と、代替処理記憶部や処理規則（フローエントリ）の削除等を行う経路制御部を持たせることで、制御装置を介さない経路の切り替えを実現している。しかしながら、同構成では、通信装置に直接接続されていないリンクの状態を把握できないため、同機能が備えられていない通信装置間のリンク障害等に対応できないという問題点がある。なお、本明細書中で、「リンク」とは、ネットワーク上で、隣接するノードの間の接続を意味する。
【０００９】
本発明は、上記した集中制御型のネットワークにおいて、通信ノードが制御装置からの指示を待たずに経路の切り替えをなしうる別の構成、とりわけ、通信ノードから見て離れた位置にあるリンクの障害や輻輳に対応できるようにした通信システム、通信ノード、通信経路切替方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の視点によれば、制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と、所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するリンク状態判定部と、前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える経路切替部と、を備えた通信ノードと、を含む通信システムが提供される。
【００１１】
第２の視点によれば、制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と、接続され、所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するリンク状態判定部と、前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える経路切替部と、を備えた通信ノードが提供される。
【００１２】
第３の視点によれば、制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と接続された通信ノードが、所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するステップと、前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替えるステップと、を含む通信経路切替方法が提供される。本方法は、前記制御装置から設定された制御情報に従って動作する通信ノードという、特定の機械に結びつけられている。
【００１３】
第４の視点によれば、制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部と、を備える制御装置と接続された通信ノードに搭載されたコンピュータに、所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定する処理と、前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、集中制御型のネットワークにおいて、通信ノードが制御装置からの指示を待たずに経路の切り替えをなしうる構成、とりわけ、通信ノードから見て離れた位置にあるリンクの障害や輻輳に応じて経路の切替等をなしうる構成が提供される。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態の制御装置によって計算された経路の例を示す図である。
【図４】本発明の第１の実施形態の制御装置による制御情報（フローエントリ）の設定動作を説明するための図である。
【図５】本発明の第１の実施形態の制御装置によって設定される制御情報（フローエントリ）の一例を示す図である。
【図６】本発明の第１の実施形態の通信ノードの詳細構成を示すブロック図である。
【図７】本発明の第１の実施形態の通信ノードによるパケット転送動作を示す図である。
【図８】本発明の第１の実施形態の通信ノードによる状態監視パケットの送信動作を説明するための図である。
【図９】本発明の第１の実施形態の通信ノードによるリンク障害の検出原理を説明するための図である。
【図１０】本発明の第１の実施形態の通信ノードによるリンク障害の検出後のパケット転送動作を示す図である。
【図１１】本発明の第２の実施形態の制御装置から通信ノードに送信される制御情報（フローエントリ）とその書き換え指示の一例を示す図である。
【図１２】本発明の第３の実施形態の制御装置によって計算された経路の例を示す図である。
【図１３】本発明の第３の実施形態の制御装置によって設定される制御情報（フローエントリ）の一例を示す図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
本発明は、その一実施形態において、図１に示すように、通信ノードに対し受信パケットの転送先を指示する制御情報を設定する制御装置１００と、この制御装置１００から設定された前記制御情報に基づいて受信パケットを転送する通信ノード３００Ａ、３００Ｄ、３００Ｅとを含む通信システムにより実現できる。より具体的には、前記制御装置１００は、制御対象ネットワークの任意の２点間の通信を実現する第１の経路と、前記第１の経路の代替経路であって前記第１の経路の特定のリンクを経由しない第２の経路とを計算する経路計算部１０２と、前記第１の経路及び前記第２の経路上の通信ノードに、前記各経路に沿ってパケットを転送するための制御情報を設定する通信ノード制御部１０１と、を備える。前記通信ノード３００Ａ、３００Ｄ、３００Ｅは、所定の状態監視パケットを送出することで前記第１の経路上の前記特定のリンクの状態を判定するリンク状態判定部３０２と、前記特定のリンクの状態に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える経路切替部３０１と、を備える。
【００１８】
以上のように構成することで、通信ノードは、状態監視パケットを送出し、自身から見て離れた位置にある特定のリンクの障害や輻輳を検出すると、通信経路を代替経路に切り替える。このように、制御装置の負荷を増大させたり、ネットワークの帯域を圧迫することなく、経路の切り替えが実現される。
【００１９】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、図中実線で示すデータチャネルで互いに接続された複数の通信ノード３００Ａ〜３００Ｅ（以下、通信ノードを特に区別しない場合、「通信ノード３００」と記す。）と、図中破線で示す制御チャネルを介してこれら通信ノード３００を制御する制御装置１００とを含む構成が示されている。
【００２０】
以下、本実施形態では、通信ノード３００Ａと通信ノード３００Ｂ間、通信ノード３００Ｂと通信ノード３００Ｃ間、通信ノード３００Ｂと通信ノード３００Ｄ間、通信ノード３００Ｃと通信ノード３００Ｄ間及び通信ノード３００Ｄと通信ノード３００Ｅ間のリンクは、高速な回線によって構成された高速リンク５００〜５０２、５０４、５０６であるものとする。通信ノード３００Ａと通信ノード３００Ｃ間、通信ノード３００Ｃと通信ノード３００Ｅ間のリンクは、高速リンク５００〜５０２、５０４、５０６よりも低速な回線によって構成された低速リンク５０３、５０５であるものとする。
【００２１】
また、本実施形態では、通信ノード３００Ａと通信ノード３００Ｅにそれぞれ端末又はその他のネットワーク（外部ネットワーク）４００、４０１が接続されているものとする。
【００２２】
制御装置１００は、図１に示すように、通信ノード３００に対する制御情報（フローエントリ）の生成、設定等を行う通信ノード制御部１０１と、経路計算部１０２とを備える。経路計算部１０２は、通信ノード３００の接続関係を参照して、任意の通信ノード３００に接続する端末又はその他のネットワーク（外部ネットワーク）間の通信を実現する経路を計算する。本実施形態では、経路計算部１０２は、端末又はその他のネットワーク（外部ネットワーク）４００、４０１間の通常時の経路（第１の経路）と、第１の経路上の高速リンク５０６を経由しない代替経路（第２の経路）を計算する。
【００２３】
図３は、制御装置１００によって計算された２つの経路の例を示す図である。端末又はその他のネットワーク（外部ネットワーク）４００、４０１間の通常時の経路（第１の経路）は、高速リンク５００、高速リンク５０１、高速リンク５０６を経由する図中太矢線で示す経路である。一方、代替経路（第２の経路）は、第１の経路上の高速リンク５０６を経由せず、低速リンク５０３、低速リンク５０５を経由する点線の矢線で示す経路である。なお、以下の実施形態では、端末又はその他のネットワーク（外部ネットワーク）４００から端末又はその他のネットワーク（外部ネットワーク）４０１へ向かう経路を設定する例を説明するが、同時に両方向の経路に沿ったパケット転送を行わせる制御情報（フローエントリ）を設定してもよい。
【００２４】
制御装置１００の通信ノード制御部１０１は、上記のような経路上の通信ノードに設定する制御情報（フローエントリ）を作成して、各通信ノードに設定する（図４参照）。制御情報（フローエントリ）の設定メッセージとしては、例えば、非特許文献２のＦｌｏｗ  Ｍｏｄメッセージを用いることができる。
【００２５】
図５は、本発明の第１の実施形態の制御装置によって通信ノード３００Ａに設定される制御情報（フローエントリ）の一例を示す図である。図５のエントリ＃１の制御情報（フローエントリ）は、図３の通常時の経路（第１の経路）に沿ったパケット転送を指示するものであり、受信パケットに適用する動作（アクション）として、通信ノード３００Ｂへの転送が設定されている。図５のエントリ＃２の制御情報（フローエントリ）は、図３の代替経路（第２の経路）に沿ったパケット転送を指示するものであり、受信パケットに適用する動作（アクション）として、通信ノード３００Ｃへの転送が設定されている。なお、各制御情報（フローエントリ）には、優先度を設定可能となっており、受信パケットに適合する制御情報（フローエントリ）が２以上ある場合、優先度の高い（図５の例では値が小さいほど優先度が高いものとする）、制御情報（フローエントリ）が適用される。このため、図５に示す制御情報（フローエントリ）が設定された通信ノード３００Ａは、送信元が端末又はその他のネットワーク（外部ネットワーク）４００、宛先が端末又はその他のネットワーク（外部ネットワーク）４０１であるパケットを受信した場合、図５のエントリ＃１の制御情報（フローエントリ）を適用する。また、切替条件フィールドには、エントリ＃１の制御情報（フローエントリ）と、エントリ＃２の制御情報（フローエントリ）との優先度を書き換えて経路を切り替える条件が設定されている。
【００２６】
以上のような制御装置１００は、非特許文献１、２のオープンフローコントローラに図３に例示したような代替経路を含む複数の経路の計算機能と、図５に示すこれら経路に応じた切替条件付きの制御情報（フローエントリ）の生成及び設定機能を追加することで実現できる。なお、図５に示す切替条件は、オペレータが手動で設定してもよい。また、図５に示す優先度フィールドを設けるのではなく、優先度順に、制御情報（フローエントリ）を格納するようにしてもよい。
【００２７】
続いて、通信ノード３００の構成について説明する。図６は、本発明の第１の実施形態の通信ノードの詳細構成を示すブロック図である。図６を参照すると、制御メッセージ送受信部３１１と、フローテーブル３０３と、パケット処理部３１０と、リンク状態判定部３０２とを備えた構成が示されている。
【００２８】
制御メッセージ送受信部３１１は、例えば、非特許文献２のオープンフロープロトコルを用いて制御装置１００と制御メッセージを授受する。制御メッセージ送受信部３１１は、制御装置１００からの指示に従い、フローテーブル３０３への制御情報（フローエントリ）の追加、変更、削除等の操作を行う。
【００２９】
フローテーブル３０３は、図５に示した制御情報（フローエントリ）を格納するためのテーブルである。なお、図５においては省略されているが、個々の制御情報（フローエントリ）には、フロー統計情報を持たせることもできる。また、図５に示すような単一のテーブルではなく、非特許文献２に記載されているような複数のテーブルに、制御情報（フローエントリ）を格納し、順次参照していく構成も採用可能である。
【００３０】
パケット処理部３１０は、端末又はその他のネットワーク（外部ネットワーク）４００、４０１又は他の通信ノード３００からパケットを受信すると、フローテーブル３０３から受信パケットに適合するマッチ条件を持つエントリで最も優先度の高いものを探し出し、受信パケットに、そのエントリに設定されている処理内容（指定ポートからの転送、ヘッダ書換え、パケット破棄等）を実行する。
【００３１】
また、本実施形態のパケット処理部３１０は、経路切替部３０１を備えている。経路切替部３０１は、リンク状態判定部３０２から通信ノード３００によって構成される経路上のリンクの障害や輻輳の通知を受けると、フローテーブル３０３の切替条件フィールドを参照し、該当するリンクを使用している制御情報（フローエントリ）の優先度を書き換える動作を行うことで経路の切替を実施する。
【００３２】
リンク状態判定部３０２は、通信ノード３００間の各リンク（一部のリンクだけを対象としてもよい。）の状態を把握するための状態監視パケットを送出し、状態監視パケットの宛先からの応答に基づいて、通信ノード３００間の各リンクの状態を把握する（図８、図９参照）。リンク状態判定部３０２は、状態監視パケットにより特定のリンクの障害や輻輳が検出された場合、経路切替部３０１に障害や輻輳が検出されたリンク情報を通知する。なお、リンク状態判定部３０２による障害や輻輳の検出の仕組みとしては、Ｅｔｈｅｒｎｅｔ  ＯＡＭ（Ｏｐｅｒａｔｉｏｎ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）と呼ばれるＩＥＥＥ８０２．３ａｈ、ＩＥＥＥ８０２．１ａｇ、ＩＴＵ−Ｔ  Ｙ．１７３１等の規格に定められた各種のプロトコルを用いることができる。とりわけ、ＩＴＵ−Ｔ  Ｙ．１７３１を用いれば、スループットやフレーム遅延を測定できるため各リンクのパフォーマンスや輻輳の程度を把握することができる。
【００３３】
なお、上記した通信ノード３００は、非特許文献１、２のオープンフロースイッチに、経路切替部３０１とリンク状態判定部３０２とを追加することでも実現できる。また、図６に示した通信ノード３００の各部（処理手段）は、通信ノード３００に搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３４】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、図３のように経路が計算され、経路上の通信ノード３００に、図５に示すような制御情報（フローエントリ）が設定されているものとする。また、初期状態においては、障害や輻輳は発生していないため、端末又はその他のネットワーク（外部ネットワーク）４００から端末又はその他のネットワーク（外部ネットワーク）４０１へのパケットが、図７に示すように、高速リンクを介して、通信ノード３００Ａ、通信ノード３００Ｂ、通信ノード３００Ｄ、通信ノード３００Ｅの順で転送されているものとする。
【００３５】
上記パケット転送処理とは独立して、通信ノード３００のリンク状態判定部３０２は、所定のタイミングで、前記経路上のリンクの状態を監視するための状態監視パケットを送出する。
【００３６】
図８は、リンク状態判定部３０２による状態監視パケットの送信動作を説明するための図である。例えば、高速リンク５０６の状態を把握したい場合、リンク状態判定部３０２は、図８に示すように、高速リンク５０６の両端にある通信ノード３００Ｄと、通信ノード３００Ｅに対して、所定の受信応答を求める状態監視パケットを送信する。このとき経路は、必ずしも、図３に示した経路と一致している必要は無いが、通信ノード３００Ｅ宛のパケットの経路は、通信ノード３００Ｄ経由で送信する必要がある。
【００３７】
ここで例えば、図９に示すように、高速リンク５０６で障害が発生している場合、通信ノード３００Ｄからの受信応答は、通信ノード３００Ａのリンク状態判定部３０２に到達するが、通信ノード３００Ｅからの受信応答は通信ノード３００Ａのリンク状態判定部３０２に到達しないことになる。通信ノード３００Ａのリンク状態判定部３０２は、このような結果を用いて、高速リンク５０６で障害が発生していることを検出し、経路切替部３０１に高速リンク５０６で障害が発生したことを通知する。
【００３８】
通信ノード３００Ａの経路切替部３０１は、リンク状態判定部３０２から高速リンク５０６の障害通知を受けると、フローテーブル３０３の切替条件フィールドを参照し、例えば、図５のエントリ＃２を見つけて、切替前の経路に当たるエントリ＃１の優先度よりも、代替経路にあたるエントリ＃２の優先度が高くなるようエントリの書き換えを実施する。このようにすることで、以後、通信ノード３００Ａは、送信元が端末又はその他のネットワーク（外部ネットワーク）４００、宛先が端末又はその他のネットワーク（外部ネットワーク）４０１であるパケットを受信した場合、図５のエントリ＃２の制御情報（フローエントリ）を適用し、通信ノード３００Ｃに転送する。この結果、送信元が端末又はその他のネットワーク（外部ネットワーク）４００、宛先が端末又はその他のネットワーク（外部ネットワーク）４０１であるパケットは、図１０の通信ノード３００Ａ、通信ノード３００Ｃ、通信ノード３００Ｅを経由する経路で転送されることになる。
【００３９】
なお、制御の一貫性を保つため、前記制御情報（フローエントリ）の内容変更を行った場合、通信ノード３００Ａが、制御装置１００に対し、その変更内容を通知することが望ましい。
【００４０】
以上のように本実施形態によれば、ある通信ノードに、直接接続されていないリンクの障害や複数を検出させ、自律的に経路の切替等を実施させることが可能となる。また、本実施形態の説明から明らかなように、経路切替部３０１とリンク状態判定部３０２とをすべての通信ノードに搭載する必要はない。例えば、通信ノード３００Ａが、高速リンク５００〜５０２、５０４、５０６の状態を監視することで、各リンクの障害発生時に経路を切り替えることができる。もちろん、複数の通信ノードに経路切替部３０１とリンク状態判定部３０２を搭載し、複数の通信ノードで監視対象のリンクを分担するようにしてもよい。
【００４１】
なお、上記した実施形態では、制御情報（フローエントリ）の優先度を書き換えることで経路を切り替える方法を例示したが、経路を切り替える方法としてはその他の種々の方法を採用することができる。例えば、経路切替部３０１に図５のエントリ＃１の制御情報（フローエントリ）を削除させることでも同様に経路を切り替えることができる。
【００４２】
また、経路の切替後においてもリンク状態判定部３０２に、各リンクの状態の監視を継続させ、例えば高速リンク５０６が復旧したと判断した場合に、経路を元に戻すよう、制御情報（フローエントリ）を書き換える処理を行わせてもよい。もちろん、復旧については、制御装置１００が、元の経路や再計算した経路に沿ったパケット転送を行わせる制御情報（フローエントリ）を再設定するようにしてもよい。
【００４３】
［第２の実施形態］
続いて、制御装置１００が代替経路用の制御情報（フローエントリ）を送るのではなく、制御情報（フローエントリ）の書き換えを指示することで経路を切り替える第２の実施形態について説明する。以下、本発明の第２の実施形態は第１の実施形態とほぼ共通するので、その相違点を中心に説明する。
【００４４】
図１１は、本発明の第２の実施形態の制御装置１００から通信ノードに送信される制御情報（フローエントリ）とその書き換え指示の一例を示す図である。図１１の上段は、フローテーブル３０３に保持されるエントリの例である。図５に示す制御情報（フローエントリ）と異なるのは、切替条件フィールドが設けられていない点と、代替経路用のエントリ＃２が設定されていない点である。図１１の下段のテーブルは、制御装置１００から指示される制御情報（フローエントリ）の書き換え指示内容を格納した書き換え指示テーブル（第２のテーブル）である。
【００４５】
本実施形態の通信ノード３００Ａの経路切替部３０１は、リンク状態判定部３０２から高速リンク５０６の障害通知を受けると、図１１の下段のテーブル（第２のテーブル）を参照し、障害通知を受けたリンクを切替条件に持つエントリを検索する。例えば、高速リンク５０６の障害通知を受けた場合、図１１の下段のテーブルに示すエントリに従い、そのアクションフィールドの内容に従って、フローテーブルの＃１のエントリのアクションフィールドを書き換える。このように、フローテーブル３０３に代替経路用の制御情報（フローエントリ）を設定しておくのではなく、フローテーブル３０３の書き換え指示を行うことでも経路の切替を実現することができる。また、フローテーブル３０３の＃１のエントリのアクションフィールドの書き換えに代えて、フローテーブル３０３に代替経路に沿ったパケット転送を行わせる新規エントリを追加するように指示してもよい。
【００４６】
以上のような第２の実施形態によれば、第１の実施形態と同様の効果に加えて、フローテーブル３０３のエントリを節約できるという利点がある。
【００４７】
［第３の実施形態］
また、上記した実施形態では、制御装置１００が２つの経路を計算する例を挙げて説明したが、本発明はその第３の実施形態において、制御装置１００が、経路上の各リンクの位置等に応じて、２つ以上の代替経路を計算する構成とすることもできる。
【００４８】
図１２は、本発明の第３の実施形態の制御装置によって計算された経路の例を示す図である。図１２の例では、図３に示した２つの経路のほかに、リンク５００の障害時に適用する通信ノード３００Ａ、通信ノード３００Ｃ、通信ノード３００Ｄ、通信ノード３００Ｅを経由する経路と、リンク５０１／５０６の障害時に適用する通信ノード３００Ａ、通信ノード３００Ｂ、通信ノード３００Ｃ、通信ノード３００Ｅを経由する経路と、が計算されている。第３の実施形態の制御装置１００は、これら経路上の通信ノード３００に、これらの経路に沿ったパケット転送を行わせる制御情報（フローエントリ）を生成し、適宜優先度を付与した上で設定する。
【００４９】
図１３は、本発明の第３の実施形態の制御装置１００によって通信ノード３００Ａに設定される制御情報（フローエントリ）の一例を示す図である。図５に示した制御情報（フローエントリ）と異なるのは、高速リンク５０６の障害時には、経路の切替を行わずに、エントリ＃１が適用されて該当パケットは通信ノード３００Ｂに転送されている点である。そして、通信ノード３００Ｂの経路切替部３０１が経路を切り替えることで、該当パケットは通信ノード３００Ｃに送信される（リンク５０１／５０６障害時の代替経路参照）。同様に、リンク５００に障害が発生した場合、該当パケットは通信ノード３００Ａ、通信ノード３００Ｃ、通信ノード３００Ｄ、通信ノード３００Ｅの順に転送される（リンク５００障害時の代替経路参照）。このように、本発明は、２以上の通信ノードが、リンクの状態をそれぞれ判定し、前記判定結果に基づいて、複数の第２の経路の中から、切り替え対象の第２の経路を選択する構成とすることもできる。この結果、図１３に示すように、極力高速リンクを使う経路を選択するように設計することができる。
【００５０】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５１】
例えば、上記した各実施形態では、障害検出時に、経路の切替を行うものとして説明したが、経路の切替に代えて、ヘッダ書換え、パケット破棄を行わせることができる。例えば、通信ポリシーやユーザのロール情報等を参照して、ヘッダにＱｏＳ情報や優先度情報を書き込んで転送することもできる。また同様に、重要性の低いフローについては、低速リンクの利用も認めず、破棄してしまうこともできる。
【００５２】
例えば、上記した各実施形態では、主としてリンク状態判定部３０２がリンク障害を検出した際の動作を説明したが、その他リンクの状態（パフォーマンスの低下等）に応じ、経路の切替等を行わせることもできる。
【００５３】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態の通信システムにおいて、
前記制御装置は、前記第１の経路上の複数のリンクについて、各リンクを経由しない第２の経路をそれぞれ計算し、前記各経路に沿ってパケットを転送するための制御情報を設定し、
前記通信ノードは、前記複数のリンクの状態をそれぞれ判定し、前記判定結果に基づいて、前記複数の第２の経路の中から、切り替え対象の第２の経路を選択する通信システム。
［第３の形態］
第１又は第２の形態の通信システムにおいて、
前記リンク状態判定部は、前記特定のリンクで接続された２つの通信ノードから所定の状態監視パケットに対する応答が得られたか否かにより、前記特定のリンクに障害が発生したか否かを判定し、
前記経路切替部は、前記リンク状態判定部の判定結果に基づいて、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える通信システム。
［第４の形態］
第１から第３いずれか一の形態の通信システムにおいて、
前記経路切替部は、前記第１の経路から前記第２の経路への通信経路の切替に代えて、該当する通信へのヘッダ書換え、パケット破棄のいずれかを実行する通信システム。
［第５の形態］
第１から第３いずれか一の形態の通信システムにおいて、
前記リンク状態判定部は、前記状態監視パケットを送出することで、前記第１の経路の前記特定のリンクのパフォーマンスを測定し、
前記経路切替部は、前記第１の経路上の前記特定のパフォーマンスが低下していると判定した場合、前記任意の２点間の通信の通信経路を前記第１の経路から前記第２の経路に切り替える通信システム。
［第６の形態］
第１から第３いずれか一の形態の通信システムにおいて、
前記制御装置は、前記通信ノードに対し、前記第２の経路に沿ってパケットを転送するための制御情報の設定に代えて、前記第１の経路に沿ってパケットを転送するための制御情報の書き換え内容を送信し、
前記通信ノードは、前記制御情報の書き換え内容に従って制御情報を書き換えることで、経路の切り替えを実行する通信システム。
［第７の形態］
（上記第２の視点による通信ノード参照）
［第８の形態］
（上記第３の視点による通信経路切替方法参照）
［第９の形態］
（上記第４の視点によるプログラム参照）
なお、上記第７〜第９の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【００５４】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５５】
１００  制御装置
１０１  通信ノード制御部
１０２  経路計算部
３００、３００Ａ〜３００Ｅ  通信ノード
３０１  経路切替部
３０２  リンク状態判定部
３０３  フローテーブル
３１０  パケット処理部
３１１  制御メッセージ送受信部
４００、４０１  端末又はその他のネットワーク（外部ネットワーク）
５００〜５０２、５０４、５０６  高速リンク
５０３、５０５  低速リンク
【図１】
2015012531.tif 000003
【図２】
2015012531.tif 000004
【図３】
2015012531.tif 000005
【図４】
2015012531.tif 000006
【図５】
2015012531.tif 000007
【図６】
2015012531.tif 000008
【図７】
2015012531.tif 000009
【図８】
2015012531.tif 000010
【図９】
2015012531.tif 000011
【図１０】
2015012531.tif 000012
【図１１】
2015012531.tif 000013
【図１２】
2015012531.tif 000014
【図１３】
2015012531.tif 000015