以下に、本発明に係る通信システムおよびリングノード装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1に係る通信システムの構成を示す図である。通信システム10は、RPRを用いてフレームの中継を行なうリング型ネットワークを用いたシステムであり、2つのリングネットワーク(RPRネットワーク)1,2と、このリングネットワーク1とリングネットワーク2とを接続するエスケープパス(所定のパス)3とを有している。
リングネットワーク1は、双方向二重リング(内側リングと外側リング)を構成しており、リングA上に5つのノード装置(リングノード装置)11A〜15Aを備えている。リングネットワーク1では、各ノード装置11A〜15Aが時計回りの方向にノード装置15A、ノード装置14A、ノード装置13A、ノード装置12A、ノード装置11Aの順番で外側リングに接続されている。また、各ノード装置11A〜15Aが反時計回りの方向にノード装置11A、ノード装置12A、ノード装置13A、ノード装置14A、ノード装置15Aの順番で内側リングに接続されている。
また、リングネットワーク2は、双方向二重リング(内側リングと外側リング)を構成しており、リングB上に5つのノード装置(リングノード装置)21B〜25Bを備えている。リングネットワーク2では、各ノード装置21B〜25Bが時計回りの方向にノード装置21B、ノード装置22B、ノード装置23B、ノード装置24B、ノード装置25Bの順番で外側リングに接続されている。また、各ノード装置21B〜25Bが反時計回りの方向にノード装置25B、ノード装置24B、ノード装置23B、ノード装置22B、ノード装置21Bの順番で内側リングに接続されている。
そして、ノード装置11Aとノード装置21Bとが1本のエスケープパス3によって接続されて1組のペアノードを構成し、ノード装置12Aとノード装置22Bとが1本のエスケープパス3によって接続されて1組のペアノードを構成している。また、ノード装置13Aとノード装置23Bとが1本のエスケープパス3によって接続されて1組のペアノードを構成し、ノード装置14Aとノード装置24Bとが1本のエスケープパス3によって接続されて1組のペアノードを構成し、ノード装置15Aとノード装置25Bとが1本のエスケープパス3によって接続されて1組のペアノードを構成している。これにより、リングネットワーク1の各ノード装置11A〜15Aと、リングネットワーク2の各ノード装置21B〜25Bとは、それぞれエスケープパス3を介して相互に接続されている。
各ノード装置11A〜15A,21B〜25Bには、1〜複数の端末(PCなどの端末装置)が接続されている。図1では、ノード装置21Bに端末31が接続され、ノード装置25Bに端末32が接続されている場合を示している。なお、図1では、ノード装置11A〜15A,22B〜24Bに接続されている端末の図示を省略している。
ここで、リングネットワーク1とリングネットワーク2とが、エスケープパス3によって接続されることなく、それぞれが独立して動作する場合のリングネットワーク1,2の動作について説明する。以下では、リングネットワーク1,2の単独動作として、RPRを用いたトポロジマップ作成方法、リング障害検出方法、プロテクション方法について説明する。なお、リングネットワーク1内のノード装置11A〜15Aと、リングネットワーク2内のノード装置21B〜25Bと、はそれぞれ同様の動作を行なうので、ここではリングネットワーク1内のノード装置11A〜15Aの動作について説明する。
(1)トポロジマップ作成方法
リングネットワーク1では、各ノード装置11A〜15Aがそれぞれ何れの順番でリングA内に接続されているか(ノード順序)を把握し、このノード順序に基づいて各ノード装置11A〜15Aがリングネットワーク1のトポロジマップを作成する。
具体的には、各ノード装置11A〜15Aが、TP(Topology and Protection)フレームと呼ばれるRPR制御フレームをリングネットワーク1の双方向に所定の周期で送信する。TPフレームには、初期値が255であり中継する毎に1ずつ減算されるTTL(Time To Alive)が付加されており、TPフレームを送信したノード装置(送信元装置)以外のノード装置では、TPフレームのTTLを減算して隣のノード装置に中継する。そして、最終的にはTPフレームを送信したノード装置が自らTPフレームを廃棄することによってTPフレームを終端させる。各ノード装置11A〜15Aでは、TPフレームを受信することによって、自ノード装置からみたTPフレームの送信元装置の位置(ノード装置の中継数)を、ノード装置毎に把握してトポロジマップを作成する。
(2)リング障害検出方法
各ノード装置11A〜15Aは、TPフレームをリングネットワーク内で送受信する際に、直上流ノード(上流方向の隣接ノード装置)から送られてくるKeep Alive用フレームの不達や自ノード受信障害によって、直上流ノードから自ノード装置のまでのリンク間での障害を検出する。
各ノード装置11A〜15Aでは、Keep Alive用フレームの送信元が直上流のノード装置であるか否かを(1)で作成したトポロジマップに基づいて判断する。この直上流のノード装置との間のリンク状態に関する情報は、TPフレームに載せて送出される。これにより、直下流のノード装置(下流方向の隣接ノード装置)を含む全受信ノード装置は、TPフレームの送信元装置の受信リンク状態を把握し、リングA上の何れのリンクが障害状態にあるのかをマップ化(リンク障害情報を作成)する。
(3)プロテクション方法
各ノード装置11A〜15Aは、リンク障害を検出すると、RPRデータフレームの送出方向の切替を行なう。具体的には、各ノード装置11A〜15Aは、(1)で作成したトポロジマップと(2)で作成したリンク障害情報に基づいて、宛先ノードに到達するまでにノード中継数が少なく、リング障害が発生していないリング(内回りまたは外回り)を選択してRPRデータフレームを送出する。
RPRでは、障害迂回時間を最大50ミリ秒とする規定がある。このため、各ノード装置11A〜15Aが備えるプロテクション機能(後述のプロテクション部54)は、障害情報から障害発生箇所を検出しRPRデータフレームの送出方向の切替までの動作を、障害迂回時間が50ミリ秒以内となるよう高速に実行する。
RPRでは、データリンク層のメディアアクセス副層の仕様を規定しており、RPRは例えばパケット通信用のEthernet(登録商標)や同期通信用のSDH(Synchronous Digital Hierarchy:同期ディジタルハイアラーキ)などの何れの規格においても適用可能であり、物理層を限定しない特徴を持っている。
しかしながら、リングネットワーク1とリングネットワーク2とが、独立して動作する場合には、複数の障害が発生した場合に新たな通信経路を確保できない場合がある。このため、本実施の形態では、図1に示したように通信システム10のリングネットワーク1とリングネットワーク2とをエスケープパス3によって接続している。さらに、通信システム10では、STPを用いることなく仮想アドレスを用いて通信経路の回復を行なう。以下、通信システム10によるRPRを用いたトポロジマップ作成方法、リング障害検出方法、プロテクション方法について説明する。
まず、実施の形態1に係るノード装置11A〜15A,21B〜25Bの構成について説明する。なお、ノード装置11A〜15A,21B〜25Bは同様の構成を有するので、ここではノード装置11Aの構成について説明する。
図2は、実施の形態1に係るノード装置の構成を示す図である。ノード装置11Aは、集線SW部51、RPRインタフェース送信部52x、RPRインタフェース受信部52y、プロテクション部54、トポロジ管理部55、外側リング送信部56x、外側リング受信部56y、内側リング送信部58x、内側リング受信部58y、外側リングDrop判定部57、内側リングDrop判定部61、フィルタリング部62を有している。
なお、ここでの外側リング送信部56x、外側リング受信部56y、内側リング送信部58x、内側リング受信部58yが特許請求の範囲に記載のRPR送受信部に対応し、ここでの集線SW部51が特許請求の範囲に記載のカプセル化送受信部に対応している。以下の説明ではRPRデータフレームやRPR制御フレームを、RPRフレームという場合がある。
外側リング受信部56yは、外側リングからRPRフレームを受信するとともに、受信したRPRフレームにエラーがあるか否かをチェックする。外側リング受信部56yは、受信したRPRフレームを外側リングDrop判定部57に送る。
内側リング受信部58yは、内側リングからRPRフレームを受信するとともに、受信したRPRフレームにエラーがあるか否かをチェックする。内側リング受信部58yは、受信したRPRフレームを内側リングDrop判定部61に送る。
外側リングDrop判定部57は、外側リング受信部56yが受信したRPRフレームを中継するかDropするかをRPRフレームのTTLに基づいて判定する。外側リングDrop判定部57は、中継すると判断したRPRフレームを、TTLをマイナス1して外側リング送信部56xへ送り、Dropすると判断したRPRフレームをRPRインタフェース受信部52yへ送る。
内側リングDrop判定部61は、内側リング受信部58yが受信したRPRフレームを中継するかDropするかをRPRフレームのTTLに基づいて判定する。内側リングDrop判定部61は、中継すると判断したRPRフレームを、TTLをマイナス1して内側リング送信部58xへ送り、Dropすると判断したRPRフレームをRPRインタフェース受信部52yへ送る。
外側リング送信部56xは、外側リングへAddするRPRフレームと外側リングでTransitさせる受信フレームの両トラヒックをスケジューリングする。外側リング送信部56xは、外側リングDrop判定部57が自系リング(リングノード装置)に中継すると判断したRPRフレームや、RPRインタフェース送信部52xから送られてくるRPRフレームを、外側リング(ノード装置15A)へ送信する。
内側リング送信部58xは、内側リングへAddするRPRフレームと内側リングでTransitさせる受信フレームの両トラヒックをスケジューリングする。内側リング送信部58xは、内側リングDrop判定部61が自系リングに中継すると判断したRPRフレームや、RPRインタフェース送信部52xから送られてくるRPRフレームを、内側リング(ノード装置12A)へ送信する。
集線SW部51は、ノード装置11Aに接続している端末との間でパス72を介してMACフレームの送受信を行う。また、集線SW部51は、エスケープパス3を介して接続するリングネットワーク2のノード装置21Aとの間で、MACフレームの送受信を行う。集線SW部51は、端末やノード装置21Aとの間で送受信するMACフレームのスイッチングを行う。集線SW部51は、ノード装置21Bとの間でMACフレームを送受信する際には、リングB用(他系リング側)のエスケープパスポートを用いてMACフレームを送受信する。
RPRインタフェース送信部52xは、集線SW部51、プロテクション部54、トポロジ管理部55、外側リング送信部56x、内側リング送信部58xに接続している。RPRインタフェース送信部52xは、集線SW部51に到着したMACフレームにRPRヘッダを付与してRPRデータフレームまたはRPR制御フレームを生成する。また、RPRインタフェース送信部52xは、トポロジ管理部55で管理している他系リング(他RPRネットワーク)のトポロジ情報(後述のTTLテーブルや仮想TTLテーブルを作成するためのトポロジに関する情報)を、RPR制御フレームに付与してRPR制御フレームを生成する。
RPRインタフェース送信部52xは、生成したRPRデータフレームやRPR制御フレームの転送先(内側リングまたは外側リングの何れか一方または両方)を選択する機能を有している。RPRインタフェース送信部52xは、トポロジ管理部55が管理しているトポロジ情報やプロテクション部54からの障害情報に基づいて、RPRフレームをAddするリングを選択する。
また、RPRインタフェース送信部52xは、集線SW部51から送られてくるMACフレームが他系リングからエスケープパス3を通ってきたフレームであるか否かを判別し、他系リングからのフレームである場合にはカプセル化されたフレーム内からRPRフレームを抽出する。さらに、RPRインタフェース送信部52xは、抽出したRPRフレームがRPRデータフレームの場合には、RPRフレームのリングID(送信先となる内側リングと外側リングを識別する送信先情報)に基づいて、RPRフレームをAddするリング(内側リングまたは外側リング)を選択する。
RPRインタフェース送信部52xは、RPRフレームを内側リングへAddする場合には、RPRフレームを内側リング送信部58xへ送り、RPRフレームを外側リングへAddする場合には、RPRフレームを外側リング送信部56xへ送る。RPRインタフェース送信部52xは、抽出したRPRフレームが他系リングのトポロジ情報を含んだRPR制御フレームの場合には、このRPR制御フレームをトポロジ管理部55に受け渡す。
RPRインタフェース受信部52yは、フィルタリング部62、プロテクション部54、トポロジ管理部55、外側Drop判定部57、内側リングDrop判定部61に接続している。RPRインタフェース受信部52yは、内側リングまたは外側リングから受信したRPRフレームがRPRデータフレームであるかRPR制御フレームであるかを判別し、判別結果に従って各機能モジュールに対する各種情報の通知を行なう。
RPRインタフェース受信部52yは、内側リングまたは外側リングから受信したRPRフレームにMACフレームが含まれている場合には、RPRフレームからMACフレームを抽出し、抽出したMACフレームをフィルタリング部62に受け渡す。また、RPRインタフェース受信部52yは、RPRフレームがエスケープパス3へ転送するフレームであると判断した場合に、RRPフレームをMACカプセル化してフィルタリング部62に受け渡す。
トポロジ管理部55は、外側リングDrop判定部57、内側リングDrop判定部61に接続されている。トポロジ管理部55は、内側リング受信部58yや外側リング受信部56yが自系リング内のノード装置12A〜15Aから受信したTPフレームに基づいて、自系リングのトポロジ情報を作成し記憶しておく。また、トポロジ管理部55は、集線SW部51がエスケープパス3を介してノード装置21Bから受信した他系リングのトポロジ情報を記憶しておく。
トポロジ管理部55は、自系リング上での多重障害の発生によって通信経路が分断された場合に、障害箇所手前のエスケープパス3を通り、他系リングの通信経路(リングネットワーク2)を使用してフレーム中継を引き継げるよう、他系リングのトポロジ情報を自系リングのトポロジ情報に追加して管理する機能を有している。本実施の形態のトポロジ管理部55は、各ノード装置11A〜15Aを識別するための実アドレスを用いて作成された自系リングのトポロジ情報と、ペアノードの組を識別する仮想アドレスを用いて作成されたトポロジ情報と、を記憶している。仮想アドレスは、通信システム10内で複数の障害が発生して新たな通信経路を設定する際に用いるアドレスである。
トポロジ管理部55は、実アドレスを用いて作成された自系リングのトポロジ情報を用いて自系リングのトポロジマップを作成するとともに、仮想アドレスを用いて作成された通信システム10のトポロジ情報を用いて通信システム10のトポロジマップを作成する。トポロジ管理部55は、プロテクション部54から通知されるリングA上の障害状況に基づいて、自系リング上で宛先となるノード装置11A〜15AまでのHOP数を所定の情報テーブル(TTLテーブル、仮想TTLテーブル)に登録し記憶する。TTLテーブル、仮想TTLテーブルは、それぞれトポロジ情報およびTPフレームに基づいて作成される、トポロジマップを作成するための情報テーブルである。
プロテクション部54は、トポロジ管理部55のTTLテーブルや仮想TTLテーブルに基づいて、通信システム10内の障害状況を把握し、その障害情報をトポロジ管理部55に通知する。
フィルタリング部62は、RPRインタフェース受信部52yから送られてくるMACフレームが、エスケープパス3に転送されるMACフレームの場合に、MACフレーム内に付加されている送信(転送)の優先度に関する優先度情報をチェックする。フィルタリング部62は、優先度情報が高優先(所定値以上)のMACフレームのみ集線SW51側に通し、優先度情報が低優先のMACフレームを廃棄する。
図3は、各ノード装置に設定される実アドレスを説明するための図である。図3内において、各ノード装置11A〜15A,21B〜25B内に示されている数値は、ノード装置を識別するための実アドレスであり、各ノード装置で重複することなく設定されている。
ノード装置11A、ノード装置12A、ノード装置13A、ノード装置14A、ノード装置15Aは、実アドレスがそれぞれ「101」、「102」、「103」、「104」、「105」である。
また、ノード装置21B、ノード装置22B、ノード装置23B、ノード装置24B、ノード装置25Bは、実アドレスがそれぞれ「201」、「202」、「203」、「204」、「205」である。
本実施の形態では、リングネットワーク1の時計回り方向をWest−spanとし、反時計回り方向をEast−spanとする。また、リングネットワーク1の反時計回り方向をWest−spanとし、時計回り方向をWest−spanとする。
つぎに、通信システム10内での仮想アドレスを用いたリング間接続情報の通知処理および取得処理について説明する。図4は、各ノード装置に設定される実アドレスと仮想アドレスを説明するための図である。図4内において、各ノード装置11A〜15A,21B〜25B内に示されている上段の数値は実アドレスであり、下段の数値は仮想アドレスである。
通信システム10では、エスケープパス3で接続されたペアノードに同一の仮想アドレスを設定しておく。ノード装置11Aとノード装置21Bは、仮想アドレスが「001」であり、ノード装置12Aとノード装置22Bは、仮想アドレスが「002」である。また、ノード装置13Aとノード装置23Bは、仮想アドレスが「003」であり、ノード装置14Aとノード装置24Bは、仮想アドレスが「004」であり、ノード装置15Aとノード装置25Bは、仮想アドレスが「005」である。
本実施の形態の各ノード装置11A〜15A,21B〜25Bは、それぞれトポロジマップを作成するための情報としてTTLテーブルを管理するとともに、仮想トポロジマップを作成するための情報として仮想TTLテーブルを管理している。図4では、各ノード装置が管理しているTTLテーブルや仮想TTLテーブルの一例として、ノード装置13AのTTLテーブルおよび仮想TTLテーブル、ノード装置23BのTTLテーブルおよび仮想TTLテーブルを示している。なお、図4では、TTLテーブルおよび仮想TTLテーブルをまとめて記載しているが、TTLテーブルと仮想TTLテーブルとは、別々のテーブルであってもよい。
TTLテーブルは、TTLの値(HOP数)と、West方向(West−in)のノード装置に設定されている実アドレスおよび仮想アドレスと、East方向(East−in)のノード装置に設定されている実アドレスおよび仮想アドレスと、がそれぞれ対応付けられた情報テーブルである。
ノード装置13AのTTLテーブルでは、TTLが「0」となるWest−inのノード装置は、実アドレスが「103」であり仮想アドレスが「003」である。また、TTLが「1」〜「4」となるWest−inのノード装置は、それぞれ実アドレスが「102」、「101」、「105」、「104」であり、それぞれ仮想アドレスが「002」、「001」、「005」、「004」である。
同様に、ノード装置13AのTTLテーブルにおいて、TTLが「0」〜「4」となるEast−inのノード装置は、それぞれ実アドレスが「103」、「104」、「105」、「101」、「102」であり、それぞれ仮想アドレスが「003」、「004」、「005」、「001」、「002」である。
また、ノード装置23BのTTLテーブルでは、TTLが「0」〜「4」となるWest−inのノード装置は、それぞれ実アドレスが「203」、「202」、「201」、「205」、「204」であり、それぞれ仮想アドレスが「003」、「002」、「001」、「005」、「004」である。
同様に、ノード装置23BのTTLテーブルにおいて、TTLが「0」〜「4」となるEast−inのノード装置は、それぞれ実アドレスが「203」、「204」、「205」、「201」、「202」であり、それぞれ仮想アドレスが「003」、「004」、「005」、「001」、「002」である。
本実施の形態では、多重障害発生時にもリングA,Bの全体のトポロジを把握するために、エスケープパス3の両端に接続されている2台のペアノードを1台分の仮想アドレスで模擬した仮想トポロジマップを各ノード装置11A〜15A,21B〜25Bで生成する。
ここで、各ノード装置11A〜15A,21B〜25Bによる仮想トポロジマップの生成処理について説明する。各ノード装置11A〜15A,21B〜25Bは、RPRインタフェースに割り当てられた実アドレスとともに仮想アドレスを予めトポロジ管理部55で保持しておく。通信システム10では、ペアノードで同じ仮想アドレスを有するよう、各トポロジ管理部55を設定しておく。
各ノード装置11A〜15A,21B〜25Bは、RPR制御フレームの1つであるATD(Attribute Discovery)フレームのATT_SECONDARY_MACSタイプのフレームを定期的に内側リングと外側リングに送信する。このATT_SECONDARY_MACSタイプのフレームは、トポロジ管理部55で生成される。ATT_SECONDARY_MACSタイプのフレームは、外側リングDrop判定部57と外側リング送信部56xを介して外側リングに送信され、内側リングDrop判定部61と内側リング送信部58xを介して内側リングに送信される。これにより、ノード装置11A〜15Aは、リングA上に自ノード装置の仮想アドレスをセカンダリアドレスとして広告し、ノード装置21B〜25Bは、リングB上に自ノード装置の仮想アドレスをセカンダリアドレスとして広告する。
各ノード装置11A〜15A,21B〜25Bは、外側リング受信部56yと内側リング受信部58yによって他ノード装置からの仮想アドレス(RPR制御フレーム)を受信する。この仮想アドレスは、それぞれ外側リングDrop判定部57、内側リングDrop判定部61を介してRPRインタフェース受信部52yに送られる。RPRインタフェース受信部52yは、仮想アドレスをトポロジ管理部55に送る。
各ノード装置11A〜15A,21B〜25Bのトポロジ管理部55では、他ノード装置から受信した仮想アドレスを用いて仮想TTLテーブル(トポロジ情報)を生成する。この仮想TTLテーブルは、TTLの値が降順となる仮想アドレスを用いたノードリストでありSpan別に生成される。仮想TTLテーブルは、図4に示したTTLテーブルのうち、仮想アドレスで構成される部分の情報テーブルであり、TTLの値と、West−inのノード装置に設定されている仮想アドレスと、East−inのノード装置に設定されている仮想アドレスと、がそれぞれ対応付けられた情報テーブルである。
ノード装置11A〜15A,21B〜25Bは、それぞれペアノードとの間で仮想TTLテーブルの交換(相互通知)を行なう。各ノード装置11A〜15A,21B〜25Bのトポロジ管理部55は、作成した仮想TTLテーブルを、RPRフレームとしてRPRインタフェース受信部52yへ送る。具体的には、RPRインタフェース受信部52yは、RPRフレームとして作成した仮想TTLテーブルをカプセル化して集線SW部51へ送り、集線SW部51はカプセル化されたRPRフレームをエスケープパス3を介してペアノードへ送る。
ペアノードとなっている各ノード装置11A〜15A,21B〜25Bは、カプセル化されたRPRフレームを集線SW部51によって受信する。このカプセル化されたRPRフレームはRPRインタフェース送信部52xに送られ、RPRインタフェース送信部52xでRPRフレームが抽出される。そして、抽出されたRPRフレームは、トポロジ管理部55に送られる。
トポロジ管理部55は、RPRフレームからペアノードの仮想TTLテーブルを抽出する。トポロジ管理部55は、自系リングの仮想TTLテーブルと、ペアノードから受信した仮想TTLテーブルとを合成して、新たな仮想TTLテーブル(システム内トポロジ情報)を生成し、この新たな仮想TTLテーブルに基づいて仮想トポロジマップを生成する。仮想トポロジマップでは、宛先アドレス(リング上の他ノード装置のアドレス)に対する自ノード装置からのHOP数が登録されており、宛先アドレスとHOP数の登録順序がTTLテーブルとは逆になっている。
各ノード装置11A〜15A,21B〜25Bが仮想トポロジマップを生成する際には、以下の処理を実行する。すなわち、トポロジ管理部55は、RPRフレームを自系リング内にAddする際には、宛先アドレスをキーとして仮想トポロジマップを検索し、仮想トポロジマップから取得したHOP数をTTLの初期値とする。このTTLが設定されたRPRフレームは、外側リングDrop判定部57と外側リング送信部56xを介して外側リングに送信され、内側リングDrop判定部61と内側リング送信部58xを介して内側リングに送信される。
各ノード装置11A〜15A,21B〜25Bは、外側リング受信部56yまたは内側リング受信部58yによって他ノード装置からのRPR制御フレームを受信する。このRPR制御フレームは、それぞれ外側リングDrop判定部57または内側リングDrop判定部61を介してRPRインタフェース受信部52yに送られる。そして、RPRインタフェース受信部52yは、RPRフレームをトポロジ管理部55に送る。
トポロジ管理部55では、他系のノード装置から通知された仮想TTLテーブルから取得した情報(TTLに対する仮想アドレス)がある場合、当該情報にマーキングをしておく。
プロテクション部54は、トポロジ管理部55の仮想TTLテーブルに基づいて、自ノード装置のリング障害を検出する。具体的には、プロテクション部54は、仮想TTLテーブルにおいて、両Spanで共通の仮想ノード装置が存在しない場合は、最終TTL値の小さい(近い)側のSpanの最終エントリ(仮想ノードテーブルの最下段に登録されているノード装置)の先で障害が発生しているものと判断する。
つぎに、多重障害の発生によって宛先ノードまでの通信経路が分断された場合の通信システム10の動作について説明する。通信システム10では、多重障害の発生によって宛先ノードまでの通信経路が分断された場合に、分断から先のトポロジ情報を他系リングを経由して取得するため、以下に示す方法を用いる。
すなわち、各ノード装置11A〜15A,21B〜25Bのトポロジ管理部55は、自らが保持している仮想TTLテーブルをATT_ORG_SPECIFICタイプのATDフレーム内に設定し、さらにこのATDフレームをRPRインタフェース受信部52yでカプセル化してエスケープパス3に転送する。このATDフレームのエスケープパス3への送信は、所定の周期で行なわれる。自系リングのトポロジが障害などによって変更され、TTLテーブルを再生成する際には、即座にATT_ORG_SPECIFICタイプのATDフレームをエスケープパス3からペアノードへ送信する。
図5および図6は、通信システムで多重障害が発生した場合の各ノード装置の動作を説明するための図である。図5に示したTTLテーブルは、多重障害が発生した際(直後)のTTLテーブルおよび仮想TTLテーブルであり、図6に示したTTLテーブルは、多重障害の発生後に、他系リングから取得した仮想アドレスを用いて作成された新たな仮想TTLテーブルである。ここでは、多重障害の一例として、障害の発生箇所が、リングA内のノード装置11Aとノード装置12Aの間、リングA内のノード装置13Aとノード装置14Aの間、リングB内のノード装置21Bとノード装置22Bの間、リングB内のノード装置24Bとノード装置25Bの間である場合について説明する。まず、図5を参照しながら、多重障害の発生直後(仮想TTLテーブルの相互通知前)のTTLテーブルおよび仮想TTLテーブルについて説明する。
(ノード装置11A)
この場合、ノード装置11AのTTLテーブルでは、TTLが「0」、「1」、「2」となるWest−inのノード装置は、それぞれ実アドレスが「101」、「105」、「104」である。また、ノード装置11AのTTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、実アドレスが「101」である。
また、ノード装置11Aの仮想TTLテーブルでは、TTLが「0」、「1」、「2」となるWest−inのノード装置は、それぞれ仮想アドレスが「001」、「005」、「004」である。また、ノード装置11Aの仮想TTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、仮想アドレスが「001」である。
(ノード装置13A)
また、ノード装置13AのTTLテーブルでは、TTLが「0」、「1」となるWest−inのノード装置は、それぞれ実アドレスが「103」、「102」である。また、ノード装置13AのTTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、実アドレスが「103」である。
また、ノード装置13Aの仮想TTLテーブルでは、TTLが「0」、「1」となるWest−inのノード装置は、それぞれ仮想アドレスが「003」、「002」である。また、ノード装置13Aの仮想TTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、仮想アドレスが「003」である。
(ノード装置14A)
また、ノード装置14AのTTLテーブルでは、TTLが「0」となるWest−inのノード装置は、実アドレスが「104」である。また、ノード装置14AのTTLテーブルにおいて、TTLが「0」、「1」、「2」となるEast−inのノード装置は、それぞれ実アドレスが「104」、「105」、「101」である。
また、ノード装置14Aの仮想TTLテーブルでは、TTLが「0」となるWest−inのノード装置は、仮想アドレスが「004」である。また、ノード装置14Aの仮想TTLテーブルにおいて、TTLが「0」、「1」、「2」となるEast−inのノード装置は、それぞれ仮想アドレスが「004」、「005」、「001」である。
(ノード装置21B)
ノード装置21BのTTLテーブルでは、TTLが「0」、「1」となるWest−inのノード装置は、それぞれ実アドレスが「201」、「205」である。また、ノード装置21BのTTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、実アドレスが「201」である。
また、ノード装置21Bの仮想TTLテーブルでは、TTLが「0」、「1」となるWest−inのノード装置は、それぞれ仮想アドレスが「001」、「005」である。また、ノード装置21Bの仮想TTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、仮想アドレスが「001」である。
(ノード装置23B)
また、ノード装置23BのTTLテーブルでは、TTLが「0」、「1」となるWest−inのノード装置は、それぞれ実アドレスが「203」、「202」である。また、ノード装置23BのTTLテーブルにおいて、TTLが「0」、「1」となるEast−inのノード装置は、それぞれ実アドレスが「203」、「204」である。
また、ノード装置23Bの仮想TTLテーブルでは、TTLが「0」、「1」となるWest−inのノード装置は、それぞれ仮想アドレスが「003」、「002」である。また、ノード装置23Bの仮想TTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、それぞれ仮想アドレスが「003」、「004」である。
(ノード装置24B)
また、ノード装置24BのTTLテーブルでは、TTLが「0」、「1」、「2」となるWest−inのノード装置は、それぞれ実アドレスが「204」、「203」、「202」である。また、ノード装置24BのTTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、実アドレスが「204」である。
また、ノード装置24Bの仮想TTLテーブルでは、TTLが「0」、「1」、「2」となるWest−inのノード装置は、それぞれ仮想アドレスが「004」、「003」、「002」である。また、ノード装置24Bの仮想TTLテーブルにおいて、TTLが「0」となるEast−inのノード装置は、仮想アドレスが「004」である。
つぎに、図6を参照しながら多重障害の発生後に、仮想TTLテーブルの相互通知によって作成される新たな仮想TTLテーブルについて説明する。各ノード装置11A〜15A,21B〜25Bは、ペアノードから通知されるペアノードの仮想TTLテーブルを取得することによって、仮想TTLテーブルおよび仮想トポロジマップを生成する。具体的には、各ノード装置11A〜15A,21B〜25Bは、自系リング内で送受信されるTPフレームによって正常な範囲(通信障害の起きていない範囲)で、各ノード装置の位置情報を把握している。
例えば、ノード装置11Aは、ペアノードであるノード装置21Bから受信する仮想TTLテーブル(第2のトポロジ情報)を自ノード装置の保有する仮想TTLテーブル(第1のトポロジ情報)に反映する。ここでのノード装置11Aでは、自身が保持している仮想TTLテーブル内にノード装置21Bから受信した仮想TTLテーブルの内容を有しているので、仮想TTLテーブルの更新を行なわない。
また、ノード装置24Bは、ペアノードであるノード装置14Aから受信する仮想TTLテーブルを自ノード装置の保有する仮想TTLテーブルに反映する。ノード装置24Bの仮想TTLテーブルは、East方向の上流に存在し、かつTTLが「1」と「2」に対応する仮想アドレスを有していない。一方、ノード装置14Aから受信する仮想TTLテーブルは、East方向の上流に存在し、かつTTLが「1」と「2」に対応する仮想アドレスを有している。したがって、ノード装置24Bの仮想TTLテーブルへは、TTLが「1」と「2」に対応する仮想アドレスとして「005」、「001」をEast−inに追加する。
また、ノード装置24Bは、ノード装置14Aから受信した仮想TTLテーブルをリングB内に中継する。具体的には、ノード装置24Bは、ノード装置14Aからカプセル化されたフレームとして送られてくる仮想TTLテーブルを集線SW部51によって受信する。集線SW部51は、フレームをRPRインタフェース送信部52xへ送る。RPRインタフェース送信部52xは、カプセル化されたフレーム内からRPRフレームを抽出する。そして、RPRインタフェース送信部52xは、抽出したRPRフレームのリングIDに基づいて、RPRフレームをAddするリングを選択する。そして、RPRインタフェース送信部52xは、選択したリングに応じて、内側リング送信部58xや外側リング送信部56xへRPRフレームを転送する。内側リング送信部58xや外側リング送信部56xは、ノード装置14Aから受信した仮想TTLテーブルをRPRフレームとして、内側リングや外側リングへ送信する。
ここでは、リングB内のノード装置24Bとノード装置25Bの間に障害が発生しているので、ノード装置24Bからノード装置23Bへ内側リングを介して仮想TTLテーブル(RPRフレーム)が送られる。ノード装置23Bは、集線SW部51によってノード装置24Bからの仮想TTLテーブルを受信し、受信した仮想TTLテーブルを自ノード装置の保有する仮想TTLテーブルに反映する。このとき、ノード装置24Bでは、自系のリングから仮想TTLテーブルを受信しているので、受信した仮想TTLテーブルの各TTLの値に1を加算して自ノード装置の保有する仮想TTLテーブルに反映する。これにより、ノード装置24Bが自ノード装置の仮想TTLテーブルに反映させるノード装置23Bからの仮想TTLテーブル(反映に用いる仮想TTLテーブル)は、TTLが「1」、「2」、「3」となるEast−inのノード装置は、それぞれ仮想アドレスが「004」、「005」、「001」となる。
ノード装置23Bの仮想TTLテーブルは、East方向の上流に存在し、かつTTLが「2」と「3」に対応する仮想アドレスを有していない。一方、反映に用いる仮想TTLテーブルは、East方向の上流に存在し、かつTTLが「2」と「3」に対応する仮想アドレスを有している。したがって、ノード装置24Bの仮想TTLテーブルへは、TTLが「2」と「3」に対応する仮想アドレスとして「005」、「001」をEast−inに追加する。なお、仮想TTLテーブル内に既に仮想アドレスが登録されているTTLに対しては、新たな仮想アドレスの上書きを行なわない。
また、ノード装置13Aは、ペアノードであるノード装置23Bから受信する仮想TTLテーブルを自ノード装置の保有する仮想TTLテーブルに反映する。ノード装置13Aの仮想TTLテーブルは、East方向の上流に存在し、かつTTLが「1」、「2」、「3」に対応する仮想アドレスを有していない。一方、ノード装置23Bから受信する仮想TTLテーブルは、East方向の上流に存在し、かつTTLが「1」、「2」、「3」に対応する仮想アドレスを有している。したがって、ノード装置13Aの仮想TTLテーブルへは、TTLが「1」、「2」、「3」に対応する仮想アドレスとして「004」、「005」、「001」をEast−inに追加する。
そして、ノード装置13Aのトポロジ管理部55は、新たに作成した仮想TTLテーブルに基づいて、仮想トポロジマップを生成する。これにより、ノード装置13Aのトポロジ管理部55は、リングAが図7に示すトポロジであると認識する。
図7のトポロジは、仮想アドレスが「101」、「102」、「103」、「104」、「105」の各ノード装置が反時計回りの方向で順番に接続されるとともに、仮想アドレスが「101」と「102」のノード装置の間で通信障害が発生している場合のトポロジを示している。
このとき、トポロジ管理部55は、ペアノードの仮想TTLテーブルから取得した仮想アドレス「001」、「004」、「005」を、新たに追加した仮想アドレスとしてマーキングをしておく。プロテクション部54は、新たに作成したTTLテーブル内の両Spanで共通の仮想ノードが存在しない場合、最終TTLの小さい側(最下段のTTLの値が小さい方)のSpan(West−in側)の最終エントリの先(ノード装置12AのWest側)で障害が発生しているものとみなして、RPRプロテクション動作を行う。
つぎに、各ノード装置11A〜15A,21B〜25Bによるデータフレームの送信処理、データフレームの中継処理の動作について説明する。なお、本実施の形態では、レイヤ2ネットワークを対象としており、リング内のデータフレーム伝送ではRPRのFloodingを前提としているが、RPRのSpatial Reuse動作を行う場合でも同様な動作となる。
各ノード装置11A〜15A,21B〜25Bのプロテクション部54は、データフレームのAdd時には、自らが保持している仮想トポロジマップを確認して、障害箇所(Cleave Point)を挟む両ノード装置を宛先ノードに指定する。そして、プロテクション部54は、宛先ノードまでのHOP数をTTLの初期値としてデータフレームのRPRヘッダに設定し、このデータフレームを内側リング送信部58xと外側リング送信部56xから両Spanへ送信させる。
また、各ノード装置11A〜15A,21B〜25Bは、データフレームの中継時には、上流側のノード装置からのデータフレームを外側リング受信部56y、内側リング受信部58yによって受信する。このデータフレームは、それぞれ外側リングDrop判定部57、内側リングDrop判定部61へ送られる。外側リングDrop判定部57、内側リングDrop判定部61は、RPRヘッダのTTLを1つ減算し、外側リング送信部56x、内側リング送信部58xから下流側のノード装置に中継する。
これにより、リングA,Bでは、それぞれデータフレームの中継時に、各ノード装置11A〜15A,21B〜25BでRPRヘッダのTTLが減算されていき、TTLが最小値となる宛先ノードまで中継されることとなる。
このとき、各ノード装置11A〜15A,21B〜25Bの外側リングDrop判定部57、内側リングDrop判定部61では、データフレームの中継を行なう際に、TTLの値が中継方向の自系リングの到達可能範囲よりも大きければ、受信したデータフレームをRPRインタフェース受信部52yへ送る。RPRインタフェース受信部52yでは、このデータフレームをカプセル化し、MACフレームとして集線SW部51を介してエスケープパス3へ転送する。
受け側(他系リング)のノード装置では、エスケープパス3を介して送られてくるMACフレームを、集線SW部51で受信し、RPRインタフェース送信部52xへ送る。RPRインタフェース送信部52xは、MACフレームが他系リングからエスケープパス3を通ってきたフレームであると判断し、カプセル化されたフレーム内からRPRフレームを抽出する。このとき、データフレーム全体がカプセル化されているので、RPRインタフェース送信部52xでは、データフレームのRPRヘッダのリングIDフィールドを確認する。そして、RPRインタフェース送信部52xは、RPRフレームのリングIDに対応するリング(外側または内側リング)を選択する。
RPRインタフェース送信部52xは、選択したリングに応じて外側リング送信部56xまたは内側リング送信部58xへ、抽出したRPRフレームを送る。外側リング送信部56xは、このRPRフレームを外側リングの下流側に位置するノード装置に転送する。また、内側リング送信部58xは、RPRフレームを内側リングの下流側に位置するノード装置に転送する。
また、各ノード装置11A〜15A,21B〜25Bは、データフレームの中継を行なう際に、TTLの値が所定値以下であれば、このデータフレームをそのまま自系リングに中継する。
具体的には、外側リングDrop判定部57は、データフレームの中継を行なう際に、TTLの値が中継方向の自系リングの到達可能範囲のノード装置数よりも小さいまたは等しければ、このデータフレームを外側リング送信部56xを介して外側リングの下流側に位置するノード装置に中継する。
また、内側リングDrop判定部61は、データフレームの中継を行なう際に、TTLの値が中継方向の自系リングの到達可能範囲のノード装置数よりも小さいまたは等しければ、このデータフレームを内側リング送信部58xを介して内側リングの下流側に位置するノード装置に中継する。
なお、本実施の形態では、リングネットワーク1,2がそれぞれ5つずつのノード装置を有している場合について説明したが、リングネットワーク1,2は、少なくとも2組のペアノードを構成できるよう、少なくとも2つずつのノード装置を有していればよい。
また、本実施の形態では、通信システム10が2つのリングネットワーク1,2を有している場合について説明したが、通信システム10が3つ以上のリングネットワークを有する構成としてもよい。
このように実施の形態1によれば、リングAとリングBの間を接続するエスケープパス3を用いて、リングA,B間でトポロジ情報を相互に交換するので、各ノード装置11A〜15A,21B〜25Bでは、自系リングのトポロジ情報と他系リングのトポロジ情報を統合したトポロジ情報を生成できる。そして、通信システム10では、多重障害が発生した場合に、統合したトポロジ情報に基づいて、通信経路の切り替えを迅速に行なうことができる。したがって、多重障害が発生した場合であっても、通信経路の回復時間の短縮化を図ることができ、新たな通信経路の確保を容易かつ迅速に行なうことが可能となる。
また、フレーム振分け部81が、転送の優先度に応じて所定のMACフレームのみを他系のリングに転送しているので、エスケープパス3の帯域を圧迫することなくリングネットワーク1,2間でMACフレームの送受信を行うことが可能となる。
また、エスケープパス3の両端に接続されている2台のペアノードを1台分の仮想アドレスで模擬した仮想トポロジマップを各ノード装置11A〜15A,21B〜25Bで生成しているので、多重障害発生時にもリングA,Bの全体のトポロジを把握することが可能となる。
実施の形態2.
つぎに、図8を用いてこの発明の実施の形態2について説明する。実施の形態1の通信システム10では、ペアノードを接続するエスケープパス3が1本であり、エスケープパス3の利用帯域が不足する場合を想定して、各ノード装置11A〜15A,21B〜25Bが高優先度のフレームのみエスケープパス3へ通過させる機能(フィルタリング部62)を有していた。
しかしながら、内側・外側の両リングからエスケープパス3に転送するフレームは、最大でRPR伝送帯域+カプセル化におけるオーバヘッド分の帯域がエスケープパス3を通る可能性がある。
このため、本実施の形態では、エスケープパス3の帯域を増大させるために、複数回線のエスケープパス3によって、各ペアノードを接続しておく。すなわち、実施の形態1の通信システム10では、ノード装置11A〜15Aと21B〜25Bとの間のエスケープパス3がそれぞれ1本ずつのエスケープパス3で接続されていたが、本実施の形態の通信システム10では、ノード装置11A〜15Aと21B〜25Bとの間のエスケープパス3がそれぞれ複数本ずつのエスケープパス3で接続されている。また、本実施の形態の各ノード装置11A〜15A,21B〜25Bは、エスケープパス3へフレームを転送する際に、何れのエスケープパス3へフレームを転送するかを振り分ける手段(後述のフレーム振分け部81)を有している。
まず、実施の形態2に係るノード装置11A〜15A,21B〜25Bの構成について説明する。なお、ノード装置11A〜15A,21B〜25Bは同様の構成を有するので、ここではノード装置11Aの構成について説明する。
図8は、実施の形態2に係るノード装置の構成を示す図である。図8の各構成要素のうち図2に示す実施の形態1のノード装置11Aと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。実施の形態2に係るノード装置11Aは、実施の形態1に係るノード装置11Aと比べて、フィルタリング部62の代わりにフレーム振分け部81を有している。
フレーム振分け部81は、実施の形態1のノード装置11AでRPRインタフェース受信部52yが行なっていたエスケープパス3へフレームを転送する場合のカプセル化処理を行なう。さらに、本実施の形態のフレーム振分け部81は、エスケープパス3に転送するフレームに対して、エスケープパス3の本数分のリンクアグリゲーションを実行する。
このように実施の形態2によれば、各ペアノードが複数本のエスケープパス3によって接続され、フレーム振分け部81がリンクアグリゲーションを実行するので、ペアノード間の通信帯域を拡大することができる。