(57)【特許請求の範囲】
【請求項１】
複数の通信ノードが接続され、データを転送する機能を有するリング型ネットワークにおいて、前記複数の通信ノードの中の１つがマスタノードとして指定され、前記マスタノードはブロッキングポートを提供すると共に前記リング型ネットワークにおいて障害が発生したときにそのブロッキングポートを開放するものであり、前記リング型ネットワークにおいて通信パスを提供する方法であって、
前記リング型ネットワーク内でのコネクションを特定するコネクション情報に対応づけて、各通信ノードにデータの転送情報を設定して、第１の通信パスを提供し、
前記リング型ネットワークにおいて障害が発生したときに、その障害の発生位置を前記複数の通信ノードに通知し、
前記障害の発生位置に応じて、各通信ノードにおいて前記転送情報を更新するか否かを判定し、
１または複数の通信ノードにおいて前記障害の発生位置に応じて前記転送情報を更新して、前記第１の通信パスと同じ開始ノードおよび終端ノードを有する第２の通信パスを提供し、
各通信ノードは、入力データに付与されているコネクション情報に対応する転送情報に従って、前記第１または第２の通信パスを利用して前記入力データを転送する
ことを特徴とする通信パス提供方法。
【請求項２】
請求項１に記載の通信パス提供方法であって、
各通信ノードは、前記リング型ネットワークにおいて上流側に隣接する通信ノードと接続するための第１のポート、および前記リング型ネットワークにおいて下流側に隣接する通信ノードと接続するための第２のポートを備え、
前記コネクション情報は、前記リング型ネットワークの開始ノードおよび終端ノードを指定し、
前記開始ノードとして指定された第１の通信ノードに設定される転送情報は、前記リング型ネットワークへ流入するデータを前記第１のポートへ出力する指示を含み、
前記終端ノードとして指定された第２の通信ノードに設定される転送情報は、前記第２のポートを介して受信するデータを前記リング型ネットワークの外へ流出させる指示を含み、
前記第１の通信ノードと前記第２の通信ノードとの間の前記第１の通信パス上で障害が発生したときに、
前記第１の通信ノードの転送情報は、前記リング型ネットワークへ流入するデータを前記第２のポートへ出力する指示に更新され、
前記第２の通信ノードの転送情報は、前記第１のポートを介して受信するデータを前記リング型ネットワークの外へ流出させる指示に更新される
ことを特徴とする通信パス提供方法。
【請求項３】
請求項２に記載の通信パス提供方法であって、
前記第１の通信パス上で障害が発生したときに、前記第１の通信ノードと前記第２の通信ノードとの間の前記第２の通信パス上の各通信ノードに、第１のポートを介して受信したデータを第２のポートに出力する指示を表す転送情報を設定する
ことを特徴とする通信パス提供方法。
【請求項４】
請求項２または３に記載の通信パス提供方法であって、
前記第１の通信ノードは、前記リング型ネットワークへ流入するデータに、前記コネクション情報を付与する
ことを特徴とする通信パス提供方法。
【請求項５】
請求項１に記載の通信パス提供方法であって、
前記リング型ネットワークに流入するデータには仮想ＬＡＮを識別する仮想ＬＡＮ識別子が付与されており、
各通信ノードには、前記仮想ＬＡＮ識別子に対応づけて、前記コネクション情報およびデータの転送情報が設定され、
各通信ノードは、入力データに付与されている仮想ＬＡＮ識別子に対応するコネクション情報および転送情報に従って、入力データを転送する
ことを特徴とする通信パス提供方法。
【請求項６】
請求項１〜５のいずれか１つに記載の通信パス提供方法であって、
前記マスタノードのブロッキングポートは、障害の発生位置を通知する障害通知を通過させる
ことを特徴とする通信パス提供方法。
【請求項７】
請求項１〜６のいずれか１つに記載の通信パス提供方法であって、
前記リング型ネットワークは、第１のリング型ネットワークの一部のリンクおよび第２のリング型ネットワークの一部のリンクが共用されるマルチリングネットワークであり、
前記コネクション情報は、前記共用されるリンクについては、前記第１または第２のリング型ネットワークのいずれか一方に属するリンクとして、コネクションを特定する
ことを特徴とする通信パス提供方法。
【請求項８】
複数の通信ノードが接続され、データを転送する機能を有するリング型ネットワークにおいて、前記複数の通信ノードの中の１つがマスタノードとして指定され、前記マスタノードはブロッキングポートを提供すると共に前記リング型ネットワークにおいて障害が発生したときにそのブロッキングポートを開放するものであり、前記各通信ノードに設けられる通信装置であって、
前記リング型ネットワーク内でのコネクションを特定するコネクション情報に対応づけて、前記リング型ネットワークの開始ノードから終端ノードへ第１の通信パスを介してデータの転送するための転送情報を格納する転送情報格納部と、
前記リング型ネットワークにおける障害の発生位置に応じて前記転送情報を更新して、前記開始ノードから前記終端ノードへの第２の通信パスを提供する更新部と、
入力データに付与されているコネクション情報に対応する転送情報に従って、前記第１または第２の通信パスを利用して前記入力データを転送する転送部、
を有する通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リング型ネットワークにおいて使用される通信装置およびリング型ネットワークにおいて通信パスを提供する方法に係わる。
【背景技術】
【０００２】
ネットワーク構成の一形態としてリング型ネットワークが実用化されている。リング型ネットワークにおいては、伝送路のケーブル（例えば、光ファイバケーブル）を効率的に配線することができる。また、リング型ネットワークを利用してEthernet（登録商標）のパケットを伝送するシステムが普及してきている。
【０００３】
Ethernet伝送技術を利用するリング型ネットワークにおいては、パケットの伝送経路がループになり得る。このため、リング型ネットワークでは、いわゆるループ現象（パケットがネットワークを回り続け、ネットワークトラフィックを圧迫する状態）が問題となる。
【０００４】
この問題は、例えば、ブロッキングポートを提供する構成により解決される。図１に示す例では、リング型ネットワークは通信ノード＃ａ〜＃ｆを備え、通信ノード＃ａがマスタノードとして定義されている。マスタノードは、ループを抑止するために、ブロッキングポートを設定する。図１（ａ）に示す例では、通信ノード＃ａは、通信ノード＃ａ、＃ｂ間のパケットを終端する。
【０００５】
また、通信ネットワークは、一般に、障害から自動的に復旧する機能を有していることが好ましい。そして、リング型ネットワークにおいても、復旧機能が提案されている。例えば、図１（ａ）に示すように、通信ノード＃ｄ、＃ｅ間で障害が発生したものとする。この場合、通信ノード＃ｄ、＃ｅは、それぞれ、マスタノード（ここでは、通信ノード＃ａ）に対して障害通知を送信する。そうすると、通信ノード＃ａは、ブロッキングポートを開放する。これにより、通信ノード＃ａ、＃ｂ間でのパケットの伝送が可能になり、各通信ノードはそれぞれ所望の通信ノードにパケットを送信することができる。このとき、通信ノード＃ｄ、＃ｅは、ブロッキングポートを設定してもよい。
【０００６】
通信ノード＃ｄ、＃ｅ間の障害が回復すると、図１（ｂ）に示すように、通信ノード＃ｄ、＃ｅは、それぞれマスタノードに対して回復通知を送信する。そうすると、通信ノード＃ａは、再びブロッキングポートを設定する。また、通信ノード＃ｄ、＃ｅは、それぞれマスタノードからの指示に応じて、ブロッキングポートを開放する。なお、この障害復旧手順は、例えば、ＩＴＵ−Ｔ勧告Ｇ．８０３２により提案されている。
【０００７】
さらに、近年、上述のようなリング型ネットワークを利用してコネクション通信を提供する方式が提案されている。例えば、図２に示すように、送信局１０１から受信局１０２へデータを送る場合には、通信ノード＃ｆ、＃ｅ、＃ｄ、＃ｃを経由するパスが設定される。
【０００８】
関連する技術として、リング状パケットネットワークにおいて、障害発生時または障害復旧時の輻輳を回避して、通信断時間を抑えるパケット中継装置が提案されている。（例えば、特許文献１）
また、他の関連する技術として、複数のリング型ネットワークを備えるシステムにおいて、リング間ブリッジノードに障害が発生したときに、そのノードを経由するフレームのプロテクションを行う構成が提案されている。（例えば、特許文献２）
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２７０１６９号公報
【特許文献２】特開２００３−２２９８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来の技術では、リング型ネットワークにおいて、リング上に接続性を確保するパスを設定した運用に問題があり、適切なまたは効率的な冗長構成は実現されていなかった。すなわち、図１に示すような従来のリング型ネットワークにおいては、ブロッキングポートが存在するため、予め代替パスを適用する運用はできなかった。すなわち、冗長構成が十分に提供できないという課題が存在する。
【００１１】
本発明の課題は、リング型ネットワークにおいて、適切なまたは効率的な冗長構成を提供することである。
【課題を解決するための手段】
【００１２】
本発明の１つの態様の通信パス提供方法は、複数の通信ノードが接続され、データを転送する機能を有するリング型ネットワークであって、前記複数の通信ノードの中の１つがマスタノードとして指定され、前記マスタノードはブロッキングポートを提供すると共に前記リング型ネットワークにおいて障害が発生したときにそのブロッキングポートを開放するリング型ネットワークにおいて使用され、前記リング型ネットワーク内でのコネクションを特定するコネクション情報に対応づけて、各通信ノードにデータの転送情報を設定して、第１の通信パスを提供し、前記リング型ネットワークにおいて障害が発生したときに、その障害の発生位置を前記複数の通信ノードに通知し、前記障害の発生位置に応じて、各通信ノードにおいて前記転送情報を更新するか否かを判定し、１または複数の通信ノードにおいて前記障害の発生位置に応じて前記転送情報を更新して、前記第１の通信パスと同じ開始ノードおよび終端ノードを有する第２の通信パスを提供し、各通信ノードは、入力データに付与されているコネクション情報に対応する転送情報に従って、前記第１または第２の通信パスを利用して前記入力データを転送する。
【００１３】
本発明の１つの態様の通信装置は、リング型ネットワークの各通信ノードに設けられ、前記リング型ネットワーク内でのコネクションを特定するコネクション情報に対応づけて、前記リング型ネットワークの開始ノードから終端ノードへ第１の通信パスを介してデータの転送するための転送情報を格納する転送情報格納部と、前記第１の通信パス上で障害が発生したことを表す通知を受信したときに、当該通信装置の位置に応じて前記転送情報を更新して、前記開始ノードから前記終端ノードへの第２の通信パスを提供する更新部と、入力データに付与されているコネクション情報に対応する転送情報に従って、前記第１または第２の通信パスを利用して前記入力データを転送する転送部、を有する。
【発明の効果】
【００１４】
本発明の１つの態様によれば、リング型ネットワークにおいて、適切なまたは効率的な冗長構成を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】リング型ネットワークにおける障害復旧について説明する図である。
【図２】リング型ネットワークを利用してコネクション通信を提供する方式を説明する図である。
【図３】実施形態のリング型ネットワークの構成を示す図である。
【図４】通信ノードの設定について説明する図である。
【図５】パケットの構成およびラベルについて説明する図である。
【図６】実施形態の通信ノードの構成を示す図である。
【図７】障害発生時の動作を説明する図（その１）である。
【図８】障害発生時の動作を説明する図（その２）である。
【図９】障害位置と冗長パスの関係を説明する図である。
【図１０】障害発生時の動作を詳細に説明する図である。
【図１１】障害発生時の各通信ノードの動作を示すフローチャートである。
【図１２】障害回復時の動作を説明する図である。
【図１３】障害回復時の各通信ノードの動作を示すフローチャートである。
【図１４】ラベルを使用しない構成の実施例である。
【図１５】障害を通知する他の方法を説明する図である。
【図１６】マルチリング構成を示す図である。
【発明を実施するための形態】
【００１６】
図３は、実施形態のリング型ネットワークの構成を示す図である。なお、以下に説明する実施例では、特に限定されるものではないが、例えば、ＩＴＵ−Ｔ勧告Ｇ．８０３２に従って伝送システムが実現されるものとする。
【００１７】
リング型ネットワークは、図３（ａ）に示すように、通信ノード＃１〜＃６を備え、通信ノード＃１がマスタノードとして定義されている。各通信ノードに付与されている識別番号（＃１〜＃６）は、この実施例では、マスタノードを基準として時計回りでカウントしたときのホップ数を表す。例えば、通信ノード＃２は、通信ノード＃１を基準として、時計回りの経路上で第１番目のノードであり、通信ノード＃３は、通信ノード＃１を基準として、時計回りの経路上で第２番目のノードである。したがって、各通信ノードは、各通信ノードに付与されている識別番号（＃１〜＃６）に基づいて、各通信ノードの位置を認識することができる。なお、特に図示しないが、このリング型ネットワークは、各通信ノードを管理するネットワーク管理システムを備えている。そして、ネットワーク管理システムは、識別番号（＃１〜＃６）を利用して各通信ノードの位置を管理している。
【００１８】
なお、マスタノードは、各通信ノードに識別番号を付与するための制御パケットを送信する。この制御パケットには、例えば、マスタノードによりＴＴＬ（Time-to Live）が設定される。この場合、各通信ノードは、それぞれ受信した制御パケットのＴＴＬ値を記憶すると共に、１だけ減算して次の通信ノードへ転送する。そして、各通信ノードは、記憶したＴＴＬ値を利用して識別番号を認識する。
【００１９】
各通信ノード間は、それぞれ、通信ケーブルにより接続されている。通信ケーブルは、光ファイバケーブルであってもよいし、メタルケーブルであってもよい。また、このリング型ネットワークは、双方向伝送システムであり、時計回り及び反時計回りにデータを伝送することができる。
【００２０】
マスタノード（ここでは、通信ノード＃１）は、リング型ネットワーク上にループが形成されることを抑止するために、ブロッキングポートを設定する。図３に示す例では、通信ノード＃１は、通信ノード＃１、＃２間のパケットを終端する。
【００２１】
このリング型ネットワークは、コネクション通信を提供することができる。図３（ｂ）に示す例では、送信局１０１から受信局１０２へデータを送信するためのコネクションが設定されている。すなわち、送信局１０１から送信されたパケットは、通信ノード＃５においてリング型ネットワークにアドされ、反時計回りで伝送された後、通信ノード＃２でドロップされる。このとき、このパケットは、リング型ネットワーク上では、通信ノード＃４、＃３を介して伝送される。なお、この場合、通信ノード＃５は、リング内コネクションの開始ノードとして動作し、通信ノード＃２は、リング内コネクションの終端ノードとして動作する。
【００２２】
このコネクションを介して伝送される各パケットには、上述のリング内コネクションを定義するコネクション情報が付与されている。コネクション情報は、この実施例では、アドノードを指定する情報（ここでは、＃５）、及びドロップノードを指定する情報（ここでは、＃２）を含んでいる。また、コネクション情報は、例えば、ラベル（或いは、タグ）として、各パケットに付与される。そして、各通信ノードは、ラベルを参照することにより、パケットを転送する。なお、各パケットには、必ずしもアドノード及びドロップノードを直接的に指定するラベル（または、タグ）が付与されている必要はない。
【００２３】
図４は、通信ノードの設定について説明する図である。ここでは、リング型ネットワークを利用して仮想ＬＡＮが構築されるものとする。この仮想ＬＡＮでは、送信局から送信されるパケットが、通信ノード＃５においてアドされ、さらに通信ノード＃２においてドロップされ、受信局へ導かれるものとする。この仮想ＬＡＮは、ネットワーク管理システム（ＮＭＳ）１により設定される「パスＩＤ＝Ｘ」により識別される。なお、以下では、この仮想ＬＡＮを実現するために、リング型ネットワークにおいて設定される通信ノード＃５から通信ノード＃２へ至る通信パスのことを「パスＸ」と呼ぶことがある。
【００２４】
通信ノード＃１は、マスタノードであり、ブロッキングポートを提供する。すなわち、上記コネクションを実現するために、通信ノード＃５から通信ノード＃６、＃１を介して通信ノード＃２へ至る通信パスは、禁止される。したがって、ネットワーク管理システム１は、上記コネクションを実現するために、通信ノード＃５から通信ノード＃４、＃３を介して通信ノード＃２へ至る通信パスを提供する。以下では、この通信パスのことを「パスＸ１」と呼ぶことがある。
【００２５】
ネットワーク管理システム１は、パスＸ１を実現するために、各通信ノードに対して下記の基本パス情報を設定する。
通信ノード＃１：なし
通信ノード＃２：パスＸのパケットをドロップする（Drop path X）
通信ノード＃３：パスＸのパケットを通過させる（Through X）
通信ノード＃４：パスＸのパケットを通過させる（Through X）
通信ノード＃５：パスＸのパケットをアドする（Add path X）
通信ノード＃６：なし
【００２６】
また、ネットワーク管理システム１は、パスＸ１を実現するために、各通信ノードに対して下記のラベル情報を設定する。
通信ノード＃１：なし
通信ノード＃２：パスＸのパケットに「５→２」を付与（Pop label “5→2”）
通信ノード＃３：「５→２」が付与されているパケットを通過（Through “5→2”）
通信ノード＃４：「５→２」が付与されているパケットを通過（Through “5→2”）
通信ノード＃５：パスＸのパケットから「５→２」を削除（Push label “5→2”）
通信ノード＃６：なし
なお、「５→２」は、リング型ネットワークにおいて各パケットに付与されて使用されるラベル（または、タグ）である。そして、「５→２」は、通信ノード＃５、＃２がそれぞれアドノード、ドロップノードであることを表している。
【００２７】
各通信ノードは、ネットワーク管理システム１から基本パス情報およびラベル情報が与えられると、ラベル情報に対して転送情報を生成して記憶する。なお、この実施例では、各通信ノードは、通信ポートＴ、Ｗ、Ｅを備えているものとする。通信ポートＴは、リング型ネットワークとその外部のネットワークとを接続するための入出力ポートである。通信ポートＷ、Ｅは、リング型ネットワーク内で隣接する通信ノードと接続するための入出力ポートである。通信ポートＷおよびＥは、それぞれ、データの流れが時計回りである場合において、上流側および下流側に隣接する通信ノードと接続する。
【００２８】
アドノードである通信ノード＃５においては、ラベル「５→２」に対して転送情報「Ｔ→Ｗ」が設定される。「Ｔ→Ｗ」は、通信ポートＴから入力されたパケットを、通信ポートＷへ導く処理を意味する。一方、ドロップノードである通信ノード＃２においては、ラベル「５→２」に対して転送情報「Ｅ→Ｔ」が設定される。「Ｅ→Ｔ」は、通信ポートＥから入力されたパケットを、通信ポートＴへ導く処理を意味する。
【００２９】
通信ノード＃５、＃２間の通信パスＸ１上に設けられている通信ノード＃４、＃３においては、ラベル「５→２」に対して転送情報「Ｅ→Ｗ」が設定される。「Ｅ→Ｗ」は、通信ポートＥから入力されたパケットを、通信ポートＷへ導く処理を意味する。また、通信ノード＃１、＃６においては、ラベル「５→２」に対して転送情報「None」が設定される。「None」は、パケットを廃棄する処理を意味する。
【００３０】
なお、各通信ノードにおいて、ラベル情報に対してそれぞれリング状態（通常、障害、その他）が設定される。このリング状態は、例えば、障害通知または回復通信などに応じて更新される。
【００３１】
図５は、パケットの構成およびラベル情報について説明する図である。パケットの構成は、特に限定されるものではないが、例えば、図５（ａ）に示すＩＥＥＥ８０２．１ａｈ（ＰＢＢ：Provider Bridge Backbone）又は図５（ｂ）に示すＭＰＬＳ（RFC3031）を採用することができる。
【００３２】
実施形態のリング型ネットワークにおいてＩＥＥＥ８０２．１ａｈが採用される場合、ラベル情報は、「I-SID」を利用して実現される。「I-SID」は、サービスインスタンス識別子である。この場合、「I-SID」は、８ビットのリング識別子（Ring ID）、８ビットの宛先ノード識別子（Destination Node ID）、８ビットの送信元ノード識別子（Source Node ID）を有する。なお、「TPID」は、タグプロトコル識別子であり、例えばイーサネット（登録商標）では「81-00（１６進表示）」である。「(B)-SA」および「(B)-DA」は、それぞれ、バックボーンの送信元アドレスおよび宛先アドレスを表す。「B-VID」は、バックボーンの仮想ＬＡＮを識別する。仮想ＬＡＮを識別する情報（上述の例では、「パスＩＤ＝Ｘ」）は、例えば、パケットの本体部に書き込まれる。
【００３３】
実施形態のリング型ネットワークにおいてＭＰＬＳが採用される場合、ラベル情報は、「LABEL」を利用して実現される。「LABEL」は、４ビットのリング識別子（Ring ID）、８ビットの宛先ノード識別子（Destination Node ID）、８ビットの送信元ノード識別子（Source Node ID）を有する。なお、仮想ＬＡＮを識別する情報（上述の例では、「パスＩＤ＝Ｘ」）は、例えば、パケットの本体部に書き込まれる。
【００３４】
図４に戻る。上記構成のリング型ネットワークにおいて、例えば、図５（ａ）または図５（ｂ）に示すパケットが通信ノード＃５にアドされるものとする。このとき、このパケットの本体部には「パスＩＤ＝Ｘ」が書き込まれているものとする。ただし、ラベル情報は設定されていない。
【００３５】
通信ノード＃５は、通信ポートＴを介して上述のパケットを受信すると、ネットワーク管理システム１により与えられたラベル情報を参照する。この実施例では、通信ノード＃５には「Push label “5→2”」が設定されている。したがって、通信ノード＃５は、受信パケットにラベル「５→２」を付与する。このとき、図５（ａ）または図５（ｂ）に示すフォーマットにおいては、送信元モード識別子および宛先ノード識別子として、それぞれ「＃５」及び「＃２」が書き込まれる。そして、通信ノード＃５は、ラベル「５→２」に対応する転送情報を参照し、通信ポートＷを介してこのパケットを出力する。したがって、このパケットは、通信ノード＃４へ送信される。
【００３６】
通信ノード＃４は、通信ポートＥを介して上記パケットを受信すると、そのパケットに付与されているラベルを参照する。そして、通信ノード＃４は、そのラベルに対応する転送情報を参照し、通信ポートＷを介してこのパケットを出力する。通信ノード＃３の動作は、通信ノード＃４と同じである。したがって、上記パケットは、通信ノード＃２へ転送される。
【００３７】
通信ノード＃２は、通信ポートＥを介して上記パケットを受信すると、そのパケットに付与されているラベルを参照する。通信ノード＃２には「Pop label “5→2”」が設定されている。したがって、通信ノード＃２は、そのパケットのラベル「５→２」を削除する。さらに、通信ノード＃２は、ラベル「５→２」に対応する転送情報を参照し、通信ポートＴを介してこのパケットを出力する。したがって、このパケットは、仮想ＬＡＮの受信局へ転送される。
このように、実施形態のリング型ネットワークでは、各通信ノードは、パケットに付与されるラベル情報に従って、そのパケットを転送する。
【００３８】
図６は、実施形態の通信ノードの構成を示す図である。各通信ノードは、上述したように、通信ポートＴ、Ｗ、Ｅを備えている。なお、図６は、通信ノードのすべての要素を示すものではなく、一部の要素は省略されている。
【００３９】
ＶＬＡＮ分離部１１は、通信ポートを介して受信したパケット（すなわち、リング型ネットワークに流入するパケット）から、仮想ＬＡＮを識別する情報を抽出する。上述の実施例では、例えば「パスＩＤ＝Ｘ」が抽出される。ラベルテーブル１２は、仮想ＬＡＮを識別する情報と、リング型ネットワーク内で使用されるラベル情報との対応関係が登録されている。この対応関係は、上述したように、例えば、ネットワーク管理システム１により与えられる。そして、ＶＬＡＮ分離部１１により抽出された識別情報でラベルテーブル１２が参照される。
【００４０】
ラベル付与部１３は、ラベルテーブル１２から得られるラベル情報を、受信パケットに付与する。ラベル情報は、上述したように、アドノードおよびドロップノードを識別する識別子を含んでいる。
【００４１】
フォワーディングテーブル１４は、パケットを転送するための転送情報を格納する。転送情報は、上述したように、例えば、ネットワーク管理システム１により与えられる。ラベル切り替え処理部１５は、他の通信ノードからの通知（障害通知、回復通知など）に応じて、或いは自発的に、フォワーディングテーブル１４を更新する。また、ラベル切り替え処理部１５は、受信パケットのラベルに基づいてフォワーディングテーブル１４を参照し、その結果に従ってスイッチ１６を制御する。
【００４２】
スイッチ１６は、ラベル切り替え処理部１５の制御に従って、受信パケットを指定された通信ポートに導く。すなわち、スイッチ１６は、通信ポートＴを介して受信したパケットを通信ポートＷまたはＥへ導き、通信ポートＷを介して受信したパケットを通信ポートＴまたはＥへ導き、通信ポートＥを介して受信したパケットを通信ポートＷまたはＴへ導く。
【００４３】
制御信号処理部１７は、通信ポートＷ、Ｅを介して受信したパケットから制御信号を抽出し、ラベル切り替え処理部１５およびリングプロテクション制御部２０に転送する。制御信号は、この実施例では、例えば、他の通信ノードから送信される障害通知および回復通知などである。タイプ識別部１８は、例えば、イーサタイプ等を識別する。ラベル付与トラフィック抽出部１９は、タイプ識別部１８により識別されたイーサタイプに応じて、ラベルが付与されているトラフィックを抽出する。
【００４４】
リングプロテクション制御部２０は、制御信号抽出部１７により抽出された制御信号に応じて、リングプロテクションを制御する。リングプロテクション処理部２１は、リングプロテクション制御部２０の制御に従って、リングプロテクションを実行する。リングプロテクションは、予め決められた特定のメッセージ以外のパケットを終端（あるいは、拒否または廃棄）する。なお、リングプロテクションは、通常時は、マスタノードにより提供される。ただし、障害発生時には、他の通信ノードがリングプロテクションを提供することもある。制御信号多重部２２は、ラベル切り替え処理部１５の指示に応じて、通信ポートＷ、Ｅを介して制御信号を送信する。このとき、制御信号は、例えば、通常トラフィックに多重化される。多重化方式は、特に限定されるものではないが、例えば時間分割多重である。
【００４５】
設定装置２３は、ネットワーク管理システム１との間で必要な情報を送受信し、ラベルテーブル１２、フォワーディングテーブル１４を設定する。なお、図６には示していないが、各通信ノードは、通信ポートＴを介して出力されるパケットからラベルを除去する機能を備えている。
【００４６】
図７および図８は、障害発生時の動作を説明する図である。図７および図８に示す例では、通信ノード＃５、＃２間に、反時計回りの通信パス（すなわち、通信ノード＃４、＃３を介してパケットを転送するパスＸ１）が設定されているものとする。
【００４７】
図７では、通信ノード＃３、＃４間で障害が発生したものとする。ここで、各通信ノードは、それぞれ、隣接する通信ノードとの間で発生した障害を検出する機能を備えているものとする。例えば、各通信ノードは、定期的に、隣接する通信ノードに対して障害監視メッセージを送信する。この場合、障害監視メッセージを受信した通信ノードは、障害監視応答メッセージを返送する。したがって、各通信ノードは、所定時間内に障害監視応答メッセージを受信できなければ、障害が発生したことを検出する。
【００４８】
通信ノード＃３、＃４間で発生した障害は、通信ノード＃３、＃４により検出される。そうすると、通信ノード＃３、＃４は、それぞれ、障害通知を生成して送信する。障害通知は、例えば、制御信号多重部２２により生成される。通信ノード＃３は、障害が発生していない側の通信ポートを介して、マスタノードへ障害通知を送信する。すなわち、通信ノード＃３から送信される障害通知は、通信ノード＃２を介して通信ノード＃１へ転送される。同様に、通信ノード＃４も、障害が発生していない側の通信ポートを介して、マスタノードへ障害通知を送信する。すなわち、通信ノード＃４から送信される障害通知は、通信ノード＃５、＃６を介して通信ノード＃１へ転送される。
【００４９】
上記障害通知は、障害が発生した位置を表す情報を含んでいる。障害位置は、例えば、障害を検出した通信ノードのアドレスにより表される。この場合、通信ノード＃３から送信される障害通知は「＃３」を含み、通信ノード＃４から送信される障害通知は「＃４」を含む。そうすると、各通信ノードは、障害位置を検出することができる。なお、障害通知は、例えば、Ｇ．８０３２により規定されるフォーマットを使用することができる。
【００５０】
障害位置は、他の方法により表されてもよい。例えば、障害通知は、ＴＴＬにより実現されるようにしてもよい。この場合、障害を検出した通信ノードは、初期値として所定のＴＴＬ値（例えば、２５５）を含む障害通知を生成して送信する。ＴＴＬ値は、各通信ノードを通過するごとに「１」ずつデクリメントされる。したがって、障害通知を受信した通信ノードは、ＴＴＬ値に応じて障害位置を検出することができる。
【００５１】
各通信ノードは、障害通知を受信すると、必要に応じて、冗長パスを提供するための動作を実行する。まず、マスタノードである通信ノード＃１は、リングプロテクションを開放する。また、図７に示す例では、パスＸ１上で障害が発生している。したがって、アドノードである通信ノード＃５は、ラベル「５→２」が付与されているパケットを時計回りに転送する。また、通信ノード＃６、＃１は、ラベル「５→２」が付与されているパケットをフォワードする。更に、ドロップノードである通信ノード＃２は、ラベル「５→２」が付与されているパケットを受信すると、通信ポートＴを介してそのパケットを受信局へ転送する。
【００５２】
各通信ノードが上記切替え処理を実行することにより、ラベル「５→２」に対して、通信ノード＃５から通信ノード＃６、＃１を介して通信ノード＃２へ至る通信パス（以下、パスＸ２）が提供される。すなわち、図７に示す障害発生時には、ラベル「５→２」が付与されているパケットは、パスＸ２を介して転送される。このように、実施形態のリング型ネットワークによれば、ラベル毎に（或いは、コネクション毎に）冗長構成を提供することができる。
【００５３】
図８に示す例では、通信ノード＃５、＃６間で障害が発生している。この場合、通信ノード＃５、＃６は、それぞれ、障害通知を生成して送信する。これにより、各通信ノードは、障害位置を認識する。
【００５４】
しかしながら、図８に示す例では、障害位置は、通信ノード＃５、＃６間であって、ラベル「５→２」に対して設定されているパスＸ１上ではない。したがって、各通信ノードは、ラベル「５→２」に対しては、冗長構成を提供するための処理を実行しない。すなわち、図８に示す障害が発生しても、各通信ノードは、通信パスを切り替えるための動作を行わない。
【００５５】
このように、実施形態のリング型ネットワークにおいては、リング上で障害が発生したときに、ラベル毎（或いは、コネクション毎に）に、冗長構成を提供するか否かが判定される。例えば、図９に示すように、ラベル「５→２」により識別されるパスＸ１、およびラベル「４→１」により識別されるパスＹ１が設定されているものとする。そして、通信ノード＃３、＃４間で障害が発生したものとする。この場合、パスＸ１に対しては、冗長パスＸ２が提供される。しかし、パスＹ１に対して冗長パスは提供されない。
【００５６】
図１０は、障害発生時の動作を詳細に説明する図である。ここでは、図７と同様の障害が発生したときの動作を説明する。すなわち、通信ノード＃３、＃４間で障害が発生し、通信ノード＃３、＃４から障害通知が送信されたものとする。
【００５７】
この場合、アドノードである通信ノード＃５では、ラベル「５→２」に対応する転送情報が、「Ｔ→Ｗ」から「Ｔ→Ｅ」に更新される。一方、ドロップノードである通信ノード＃２では、ラベル「５→２」に対応する転送情報が、「Ｅ→Ｔ」から「Ｗ→Ｔ」に更新される。また、パスＸ１上に位置する通信ノード＃３、＃４では、ラベル「５→２」に対応する転送情報が、「Ｅ→Ｗ」から「None」に更新される。さらに、通信ノード＃６、＃１では、ラベル「５→２」に対応する転送情報が、「None」から「Ｗ→Ｅ」に更新される。
【００５８】
この結果、「パスＩＤ＝Ｘ」が付与されているパケットを受信すると、通信ノード＃５は、そのパケットにラベル「５→２」を付与すると共に、更新された転送情報に基づいてそのパケットを通信ノード＃６へ転送する。そうすると、通信ノード＃６、＃１は、それぞれそのパケットをフォワードする。そして、通信ノード＃２は、そのパケットをリング型ネットワークの外に接続されている受信局に転送する。
【００５９】
図１１は、障害発生時の各通信ノードの動作を示すフローチャートである。ここでは、リング型ネットワーク上で障害が発生し、その障害を検出した通信ノードから障害通知が送信された後の動作を説明する。
【００６０】
ステップＳ１において、通信ノードは、障害通知を受信する。ステップＳ２は、マスタノードにより実行される。すなわち、マスタノードである通信ノードは、障害通知を受信すると、ブロッキングポートを開放する。これにより、リングプロテクションが開放される。ステップＳ３において、ラベル切り替え処理部１５は、受信した障害通知に基づいて障害位置を検出する。ステップＳ４において、ラベル切り替え処理部１５は、ラベルテーブル１２（および、フォワーディングテーブル１４）を参照し、各ラベル（或いは、各コネクション）について、ステップＳ５〜Ｓ１１の処理を実行する。
【００６１】
ステップＳ５において、ラベル切り替え処理部１５は、ラベル情報により識別される通信パス上で障害が発生しているのか否かを判定する。ここで、各通信ノードは、マスタノードの位置を認識しているものとする。したがって、ラベル切り替え処理部１５は、障害位置およびマスタノードの位置に基づいて、ラベル情報により識別される通信パス上で障害が発生しているのか否かを判定することができる。例えば、図７または図１０に示す例においては、通信ノード＃１がマスタノードである。そうすると、通信ノード＃５から通信ノード＃２へ至るリング内コネクションは、通信ノード＃１を通過することができないので、通信ノード＃５から通信ノード＃４、＃３を経由して通信ノード＃２へ至るように通信パスが形成される。すなわち、この場合、通信ノード＃５、＃４間、または通信ノード＃４、＃３間、または通信ノード＃３、＃２間で障害が発生すると、「リング内パス上で障害が発生」と判定される。リング内パス上で障害が発生している場合には、ステップＳ６に進む。
【００６２】
ステップＳ６において、通信ノードがリング内パスのアドノード（Ingress Node）またはドロップノード（Egress Node）であるか否かがチェックされる。なお、各リング内パスのアドノードおよびドロップノードを表す情報は、上述したように、例えば、ネットワーク管理システム１から各通信ノードに与えられる。通信ノードがアドノードまたはドロップノードであれば、ステップＳ７に進む。
【００６３】
ステップＳ７において、通信ノードがアドノードであれば、ラベル切り替え処理部１５は、リング上への出力ポートを切り替える。例えば、図１０に示す例では、通信ノード＃５において、ラベル「５→２」に対応する転送情報が、「Ｔ→Ｗ」から「Ｔ→Ｅ」に更新されている。通信ノードがドロップノードであれば、ラベル切り替え処理部１５は、リングからの入力ポートを切り替える。例えば、図１０に示す例では、ラベル「５→２」に対応する転送情報が、「Ｅ→Ｔ」から「Ｗ→Ｔ」に更新されている。
【００６４】
通信ノードがアドノードまたはドロップノードのいずれでもない場合は、ステップＳ８に進む。通信ノードがリング内パス上に位置しているか否かがチェックされる。そして、通信ノードがリング内パス上に位置している場合は、ステップＳ９において、ラベル切り替え処理部１５は、転送情報を無効化する。例えば、図１０に示す例では、ラベル「５→２」に対応する転送情報が、「Ｅ→Ｗ」から「None」に更新されている。これに対して、通信ノードがリング内パス上に位置していない場合は、ステップＳ１０において、ラベル切り替え処理部１５は、転送情報を有効化する。たとえば、図１０に示す例では、ラベル「５→２」に対応する転送情報が、「None」から「Ｗ→Ｅ」に更新されている。
【００６５】
なお、障害位置がリング内パス上でない場合（ステップＳ５：Ｎｏ）は、ステップＳ１１に進む。この場合、各通信ノードは、転送情報を更新しない。すなわち、障害発生前のパスが維持される。
【００６６】
このように、実施形態のリング型ネットワークにおいては、リング上で障害発生がすると、コネクション毎に、冗長パスを提供するか否かが決定される。すなわち、リング上で障害が発生した場合であっても、常に冗長パスが提供されるわけではなく、各コネクションを実現するための通信パスの経路と障害位置との関係に応じて、冗長パスが提供されるか否かが決定される。したがって、実施形態のパス提供方法によれば、無駄なパス切替えを抑制することができる。
【００６７】
図１２は、障害回復時の動作を説明する図である。ここでは、図１０に示す障害に起因して冗長パスが提供されている状況において、リング型ネットワークがその障害から回復したものとする。
【００６８】
通信ノード＃３、＃４間の障害が取り除かれ、リング型ネットワークが通常状態に回復すると、通信ノード＃３、＃４は、その回復を検出する。そうすると、通信ノード＃３、＃４は、回復通知を作成して送信する。このとき、通信ノード＃３は、回復通知を通信ノード＃２へ送信し、通信ノード＃４は、回復通知を通信ノード＃５へ送信する。各通信ノードは、順次、回復通知をフォワードする。これにより、各通信ノードは、リング型ネットワークの復旧を検出する。
【００６９】
各通信ノードは、回復通知を受信すると、障害発生時の動作と逆の動作を実行する。すなわち、アドノードである通信ノード＃５は、ラベル「５→２」に対応する転送情報を、「Ｔ→Ｅ」から「Ｔ→Ｗ」に更新する。ドロップノードである通信ノード＃２は、ラベル「５→２」に対応する転送情報を、「Ｗ→Ｔ」から「Ｅ→Ｔ」に更新する。通信ノード＃６、＃１は、ラベル「５→２」に対応する転送情報を、「Ｗ→Ｅ」から「None」に更新する。通信ノード＃４、＃３は、ラベル「５→２」に対応する転送情報を、「None」から「Ｅ→Ｗ」に更新する。
【００７０】
上述のようにして各通信ノードの転送情報が更新されると、リング型ネットワークは、障害が発生する前の通信パスを提供する。すなわち、通信ノード＃５は、仮想ＬＡＮ識別子「パスＩＤ＝Ｘ」が付与されているパケットを受信すると、そのパケットにラベル「５→２」を付与すると共に、更新された転送情報に従ってそのパケットを通信ノード＃４へ送信する。そうすると、このパケットは、通信ノード＃４、＃３を介して通信ノード＃２へ転送され、さらに通信ノード＃２から受信局へ転送される。
【００７１】
図１３は、障害回復時の各通信ノードの動作を示すフローチャートである。ここでは、リング型ネットワークの状態が回復し、その回復を検出した通信ノードから回復通知が送信された後の動作を説明する。
【００７２】
ステップＳ２１において、各通信ノードは、回復通知を受信する。ステップＳ２２において、ラベル切り替え処理部１５は、ラベルテーブル１２およびフォワーディングテーブル１４を参照する。ここで、ラベルテーブル１２およびフォワーディングテーブル１４には、転送情報の更新履歴が記録されているものとする。すなわち、ラベル切り替え処理部１５は、ラベルテーブル１２およびフォワーディングテーブル１４を参照することによって、障害が発生する前の転送情報を認識することができる。
【００７３】
ステップＳ２３において、ラベル切り替え処理部１５は、障害発生時に経路を変更したか否かをチェックする。すなわち、障害発生時に転送情報が更新されたか否かがチェックされる。そして、障害発生時に転送情報が更新された場合には、ステップＳ２４〜Ｓ２６が実行され、そうでない場合には、転送情報を更新することなく処理を終了する（ステップＳ２７）。
【００７４】
ステップＳ２４〜Ｓ２６は、図１１に示すステップＳ６〜Ｓ１０によるテーブル更新を元に戻す処理に相当する。すなわち、アドノードにおいては、ラベル切り替え処理部１５は、リング上への出力ポートを切り替える。また、ドロップノードにおいては、ラベル切り替え処理部１５は、リングからの入力ポートを切り替える。さらに、他の通信ノードにおいては、ラベル切り替え処理部１５は、「有効（パケットを受信フォワードする）」と「無効（受信パケットを廃棄する）」とを切り替える。
【００７５】
なお、上述の実施例では、アドノードにおいて各パケットにラベル（または、タグ）が付与され、リング型ネットワーク内ではそのラベルを利用してパケットが転送される。しかし、本発明は、この構成に限定されるものではない。すなわち、本発明に係るリング型ネットワークは、例えば、リング外の送信局と受信局との間のコネクションを識別する識別情報（例えば、仮想ＬＡＮ識別子）とリング内パスとの対応関係が定義されれば、各パケットにラベル（または、タグ）が付与されなくてもよい。
【００７６】
図１４に示す例では、リング型ネットワークを利用して２つのコネクションＡ、Ｂが確立されている。コネクションＡは、通信ノード＃５から通信ノード＃４、＃３を介して通信ノード＃２へ至る反時計回りの通信パスを利用して実現される。また、コネクションＢは、通信ノード＃４から通信ノード＃５を介して通信ノード＃６へ至る時計回りの通信パスを利用して実現される。そして、各通信ノードには、各コネクション識別子（或いは、仮想ＬＡＮ識別子）に対して、リング内パスを表すパス情報（或いは、パスＩＤ）、およびパケットのフォワード方向を表す転送情報が記録されている。なお、これらの情報は、例えば、ネットワーク管理システム１により配布され、障害通知または回復通知により更新される。
【００７７】
上記構成のリング型ネットワークにおいて、コネクション識別子が付与されているパケットが流入すると、各通信ノードは、そのコネクション識別子に対応するパス情報および転送情報を参照し、その参照結果に応じてパケットを転送または廃棄する。また、障害が発生すると、その障害により切断されるパスに対してのみ冗長パスが提供される。図１４に示す例では、通信ノード＃３、＃４間で障害が発生している。この場合、コネクションＡを実現するための通信パスが、「＃５→＃４→＃３→＃２」から「＃５→＃６→＃１→＃２」に切り替えられている。一方、コネクションＡを実現するための通信パスは、変わらない。
【００７８】
また、上述の実施例では、障害を検出した通信ノードから送信される障害通知は、マスタノードにより終端される。しかし、本発明は、この構成に限定されるものではなく、マスタノードが障害通知を終端しない構成にも適用可能である。例えば、図１５に示す例では、通信ノード＃４により生成される障害通知は、反時計回りに送信され、通信ノード＃５にまで転送されている。同様に、通信ノード＃５により生成される障害通知は、時計回りに送信され、通信ノード＃４にまで転送されている。
【００７９】
この構成では、各通信ノードは、２つの障害通知を受信することになる。この場合、各通信ノードは、例えば、１つ目の障害通知に従って図１１に示すフローチャートの処理を実行し、２つ目の障害通知を無視するようにしてもよい。或いは、各通信ノードは、２つの障害通知を受信した時点で図１１に示すフローチャートの処理を実行するようにしてもよい。
【００８０】
さらに、上述の実施例では、１つのリング型ネットワーク上に通信パスが提供されているが、本発明は、複数のリング型ネットワークが接続されたマルチリング構成にも適用可能である。図１６に示す例では、２つのリング＃１、＃２が互いに接続されている。
【００８１】
リング＃１は通信ノード＃１〜＃６を備え、リング＃２も通信ノード＃１〜＃６を備えている、ただし、リング＃１の通信ノード＃２、＃３は、それぞれ、リング＃２の通信ノード＃３、＃２としても動作する。すなわち、このマルチリングネットワークは、リング＃１、＃２の一部のリンクが共用された構成である。
【００８２】
上記構成のマルチリングネットワークにおいては、各リングに対して優先度が設定される。ここでは、リング＃２の優先度よりもリング＃１の優先度の方が高いものとする。この場合、共有されている通信ノード（または、リンク）については、優先度の高いリング＃１に対して設定される転送情報を利用してパケットは転送される。
【００８３】
リング＃１の通信ノード＃５に接続される送信局から、リング＃２の通信ノード＃５に接続される受信局へデータを送信するコネクションＹを設定するものとする。ここで、各リング＃１、＃２において、それぞれ通信ノード＃１がマスタノードであるものとする。そうすると、コネクションＹは、図１６に示すように、リング＃１の通信ノード＃５、＃４、＃３、＃２、および、リング＃２の通信ノード＃４、＃５を経由する通信パスによって実現される。
【００８４】
ここで、通信パスは、図１６に示すフローチャートのステップＳ３１〜Ｓ３４により設定される。すなわち、ステップＳ３１では、通信パスが複数のリングを利用するか否かがチェックされる。通信パスが１つのリングのみを利用する場合には、図４に示す情報が設定される。
【００８５】
通信パスが複数のリングを利用する場合は、ステップＳ３２において、通信パスが共有リンクを通過するか否かがチェックされる。通信パスが共有リンクを通過する場合は、ステップＳ３３において、その共有リンクについて、優先度の高いリングに属する通信ノードに対して転送情報が設定される。そして、ステップＳ３４において、パス分割が行われる。すなわち、リング毎に、コネクションに対応する情報が設定される。
【００８６】
上記構成のマルチリングネットワークにおいて、コネクションＹのパケットがリング＃１の通信ノード＃５に到着したものとする。この場合、リング＃１の通信ノード＃５は、そのパケットにラベル「５→２」を付与し、通信ノード＃４へ送信する。そうすると、このパケットは、通信ノード＃４、＃３を介して、リング＃１の通信ノード＃２へ転送される。リング＃１の通信ノード＃２は、ラベル「５→２」を除去した後、このパケットをリング＃２の通信ノード＃３に渡す。なお、リング＃１の通信ノード＃２およびリング＃２の通信ノード＃３は、１台の通信ノード装置により実現されてもよい。
【００８７】
リング＃２の通信ノード＃３は、アドノードとして動作する。すなわち、リング＃２の通信ノード＃３は、受け取ったパケットにラベル「３→５」を付与し、リング＃２の通信ノード＃４へ送信する。そうすると、このパケットは、リング＃２の通信ノード＃５へ転送される。リング＃２の通信ノード＃５は、ラベル「３→５」を除去した後、そのパケットを受信局へ転送する。
【００８８】
上記マルチリングネットワークにおいて障害が発生したときは、リング毎に冗長パスが提供される。例えば、リング＃２の通信ノード＃４、＃５間で障害が発生したときは、まず、リング＃２のマスタノードがブロッキングポートを開放する。また、リング＃２の通信ノード＃３は、リング＃１から受信したパケットを、リング＃２上で反時計回りに転送する。そうすると、このパケットは、リング＃２の通信ノード＃２、＃１、＃６を経由して通信ノート＃５へ転送される。すなわち、リング＃２において冗長パスが提供される。このとき、リング＃１の構成は変化しない。
【００８９】
＜本発明の実施形態による効果＞
以上説明したように、実施形態のリング型ネットワークにおいては、リング上で障害発生がすると、コネクション毎に、冗長パスを提供するか否かが決定される。すなわち、リング上で障害が発生した場合であっても、常に冗長パスが提供されるわけではなく、各コネクションを実現するための通信パスの経路と障害位置との関係に応じて、冗長パスが提供されるか否かが決定される。したがって、実施形態のパス提供方法によれば、無駄なパス切替えを抑制することができる。
【００９０】
また、実施形態のパス提供方法によれば、プロテクション方式が採用されているリング型ネットワークにおいて、既存のプロテクション方式との互換性を維持しながら、フロー方式（ｍｐ２ｍｐ等）及び仮想ＬＡＮ等のコネクション方式（ｐ２ｐ等）の双方のパケット／フレームに対して冗長構成を提供することができる。さらに、既存のEthernetリングプロテクションが適用されるネットワーク環境で仮想ＬＡＮパスおよびＰＢＢ−ＴＥの提供または共存が可能になる。さらに、冗長構成を提供するための切替え時間が長くなることもないので、既存技術と同等の信頼性を確保できる。
【符号の説明】
【００９１】
１  ネットワーク管理システム
１１  ＶＬＡＮ分離部
１２  ラベルテーブル
１３  ラベル付与部
１４  フォワーディングテーブル
１５  ラベル切り替え処理部
１６  スイッチ
１７  制御信号処理部
１８  タイプ識別部
１９  ラベル付与トラフィック抽出部
２０  リングプロテクション制御部
２１  リングプロテクション処理部
２２  制御信号多重部
２３  設定装置
【図１】
0005434318.tif 000002
【図２】
0005434318.tif 000003
【図３】
0005434318.tif 000004
【図４】
0005434318.tif 000005
【図５】
0005434318.tif 000006
【図６】
0005434318.tif 000007
【図７】
0005434318.tif 000008
【図８】
0005434318.tif 000009
【図９】
0005434318.tif 000010
【図１０】
0005434318.tif 000011
【図１１】
0005434318.tif 000012
【図１２】
0005434318.tif 000013
【図１３】
0005434318.tif 000014
【図１４】
0005434318.tif 000015
【図１５】
0005434318.tif 000016
【図１６】
0005434318.tif 000017