(57)【要約】【課題】冗長ノード装置100zで他のネットワーク200_1と接続されたリングネットワーク200_1を構成するノード装置100，100zにおいて、複数の冗長ノード装置100z_1，100z_2が同時に現用系として動作することを可能にすること、冗長ノード装置100zの障害発生/復旧時に伴う現用系冗長ノード装置数の増減に対応した、冗長ノード装置のパケット処理の負荷分散処理を可能にすること、RPRに対応可能なノード冗長方式を可能にする。【解決手段】トポロジテーブルが冗長ノード装置100zの冗長情報を含み、送信部が自装置のトポロジ情報及び該冗長情報を送出し、トポロジテーブル作成部が冗長ノード装置100zから受信した冗長情報及びトポロジ情報と、他のノード装置100から受信したトポロジ情報と、に基づきトポロジテーブルを作成し、パケット配信部がトポロジテーブルに基づきリングネットワーク200上に受信したパケットを配信する。【選択図】      図１
2006129071.tif 000002
【特許請求の範囲】
【請求項１】
複数の現用系冗長ノード装置で他のネットワークと接続されたリングネットワークを構成する非冗長ノード装置であって、
トポロジテーブルと、
自装置のトポロジ情報を送出する送信部と、
該自装置のトポロジ情報と、非冗長ノード装置から受信したトポロジ情報並びに該冗長ノード装置から受信したトポロジ情報及び冗長情報とに基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
該トポロジテーブルに基づき、受信したパケットを該リングネットワーク上に配信するパケット配信部と、
を備えたことを特徴とする非冗長ノード装置。
【請求項２】
リングネットワークを構成すると共に他のネットワークと接続された冗長ノード装置であって、
トポロジテーブルと、
自装置のトポロジ情報及び冗長情報を送出する送信部と、
該自装置のトポロジ情報及び該冗長情報と、非冗長ノード装置から受信したトポロジ情報並びに冗長ノード装置から受信したトポロジ情報及び冗長情報に基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
該トポロジテーブルに基づき該リングネットワーク上に受信したパケットを配信するパケット配信部と、
を備えたことを特徴とする冗長ノード装置。
【請求項３】
請求項２において、
該パケット配信部は、自ノード装置が現用系であるとき、該トポロジテーブルに示された現用系の冗長ノード装置の数、パケットの宛先アドレス、及び予め設定された演算に基づき、フォワーディングパケットを決定することを特徴とした冗長ノード装置。
【請求項４】
請求項１又は２において、
該パケット配信部が、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までのホップ数を求め、このホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、この冗長ノード装置の内で最遠端の冗長ノード装置までのホップ数を求め、このホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することを特徴とするノード装置。
【請求項５】
請求項１又は２において、
該トポロジテーブルに該複数の冗長ノード装置の共通アドレスを登録し、
該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することを特徴としたノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード装置に関し、特に、他のネットワークと接続されたリングネットワークを構成するノード装置に関する。
【０００２】
近年、Ethernet(登録商標)やIP(Internet Protocol)パケットを主体としたインターネットのトラフィックの増加、ADSL(Asynchronous Digital Subscriber Line)ユーザの急増、VoIP(Voice over IP)技術の台頭が顕著になって来ている。これにより、従来のSONET/SDH(Synchronous Optical NETwork/Synchronous Digital Hierarchy)装置を用いたリングネットワークに代えて、パケットをリング上で直接処理し、パケットの帯域管理や統計的多重効果を引き出すことが可能なパケットリングネットワーク(以下、単にリングと称することがある。)が注目されている。このようなパケットリングネットワークにおいては、他のネットワークと接続されるとき、この他のネットワークと複数のノード装置(以下、このノード装置を冗長ノード装置と称する。)で接続することが、ネットワークの信頼性を高めるために必要である。
【背景技術】
【０００３】
図19は、バックボーンネットワーク210、リング型ネットワーク200a、及びツリー型ネットワーク220で構成されたネットワークを示している。バックボーンネットワーク210は、ノード装置100z_11〜100z_14，100_15，100_16で構成され、リング型ネットワーク200aは、ノード装置100z_21，100z_22，100_23〜100_27で構成され、ツリー型ネットワーク220は、ノード装置100z_31，100z_32，100_33〜100_37で構成されている。そして、バックボーンネットワーク210の冗長ノード装置100z_11及び100z_12、並びに冗長ノード装置100z_13及び100z_14(符号100zで総称することがある。また、冗長ノード装置以外のノード装置を、符号100で総称し非冗長ノード装置と称することがある。)が、それぞれ、リング型ネットワーク200aの冗長ノード装置100z_22及び100z_21、並びにツリー型ネットワーク220の冗長ノード装置100z_32及び100z_31に接続されることにより、バックボーンネットワーク210は、リング型ネットワーク200a及びツリー型ネットワーク220に接続されている。
【０００４】
冗長ノード装置を追加して冗長構成のネットワークを構築する場合、ツリー型ネットワーク520やメッシュ型ネットワーク(図示せず。)では、各非冗長ノード装置100と追加冗長ノード装置100z間を新たに接続するために多数のファイバが必要であるが、リング型ネットワーク500，510では、隣接するノード装置間を接続するためのファイバのみでよい利点がある。
【０００５】
また、一般的に、Ethernetのようなパケット系のツリー型ネットワーク520やメッシュ型ネットワークでノード冗長方式を実現する場合、スパニング・ツリー・プロトコル(STP：Spanning Tree Protocol)が使用される。このSTPでは、回線障害又はノード装置障害発生時の迂回ルートへの切替には、１分に近い時間を要する。最近では、STPを改良した高速スパニング・ツリー・プロトコル(RSTP：Rapid Spanning Tree Protocol)が検討されているが、このRSTPにおいても、数秒の切替時間を必要とする。
【０００６】
このSTP方式等によるノード冗長では、通信事業者等の要求、すなわち、50ms以内の切替時間を満足することができず、信頼性の高いノード冗長方式を提供するできなかった。
【０００７】
一方、リング型ネットワークで使用するリングプロトコルとして、リング上でパケットを直接処理することで、統計多重効果や帯域再利用効果をもたらし、且つ50ms以下の高速切替で障害復旧機能(プロテクション機能)を実現するRPR(Resilient Packet Ring)プロトコルがある。このパケットリングのRPRは、IEEE802.17RPRとして標準化作業が進められている。この標準化に伴い、特に、メトロエリアで注目されているパケットリングネットワークの需要は、益々増大するものと予想される。なお、RPRは、近年のパケットリングを称し、従来のトークンリングやFDDIリングと区別している。
【０００８】
後述する本発明に係るノード装置及び冗長ノード装置は、RPRに適用可能であるので、ここで、RPRにおける基本的なネットワーク、トポロジテーブル、及びパケットの構成例を図20及び図21を参照して以下に説明しておく。
【０００９】
図20(1)は、一般的なRPRリングネットワークの構成例を示している。このネットワークは、RPRに対応したノード装置100a_11〜100a_16(符号100aで総称することがある。)をこの順に外回り及び内回りリングで接続された双方向二重リングネットワーク(以下、単にリングと称することがある。)である。なお、同図(1)では、RPRネットワークワーク200aは、他のネットワークに接続されておらず、したがって、冗長ノード装置100zに相当するノード装置は配置されていない。
【００１０】
同図(2)は、ノード装置100a_11が保持しているリングトポロジテーブル70aの構成例を示している。このテーブル70aは、ノード装置アドレス71、イーストホップ数74、ウエストホップ数75、イースト経路選択76、及びウエスト経路選択77で構成されている。ノード装置アドレス71には、各ノード装置100aのアドレスが登録されている(同図(2)では、符号と同一のアドレスが登録されている。)。イーストホップ数74には、他のノード装置100aの位置を自装置を起点としてイースト側に向かったホップ数が登録されている。例えば、ノード装置100a_13は、ノード装置100a_11からイースト側に向かって、ホップ数＝“2”の位置にあることを示している。ウエストホップ数75には、ウエスト側に向かったホップ数が登録されている。例えば、ノード装置100a_13は、ノード装置100a_11からウエスト側に向かって、ホップ数＝“4”の位置にあることを示している。
【００１１】
イースト経路選択76及びウエスト経路選択77は、ノード装置100aが、他のノード装置100a宛のパケットを送出する場合、イースト側又はウエスト側のいずれから、又は双方から送出するかを示しており、パケットは“ON”が設定された側から送出される。例えば、ノード装置100a_13宛のパケットは、イースト経路選択＝“ON”、ウエスト経路選択＝“OFF”であるので、イースト側の外回りリングから送出される。これによれば、パケットはホップ数＝“2”でノード装置100a_13に到達し、ウエスト側の内回りリングから送出された場合より、“4”−“2”＝“2”だけ少ないホップ数で到達する。
【００１２】
なお、イースト経路選択76及びウエスト経路選択77の“ON”及び“OFF”は、経路(リンク)やノード装置の障害によって変化するリングトポロジによって変更される。すなわち、経路選択76，77の“ON”及び“OFF”は、その時点においてパケットを配信するために最適な経路を選択するように決定される。
【００１３】
なお、他のノード装置100aのトポロジテーブルもテーブル70aと同様であるが、イーストホップ数74、ウエストホップ数75、イースト経路選択76、及びウエスト経路選択77に設定された値のみが異なる。
【００１４】
図21は、一般的なRPRパケット700のフォーマットを示しており、このパケット700は、生存時間(TTL：Time To Live)710、Base_Ring_Control720、宛先アドレス730、送信元アドレス740、TTL_Base750、Ex_Ring_Control760、Header_CRC770、プロトコルデータ単位(PDU)780、及びFCS790で構成されている。これらのフィールドの詳細は、RPRの基本的な公知事項なのでここでは説明を省略する。
【００１５】
なお、RPR自体には、プロテクション機能が実装されており、RPRは、回線障害やノード装置障害等の発生時に、RPRレイヤ(MAC副レイヤ)上でプロテクションメッセージを転送することにより、リング上の各ノード装置に障害を通知することが可能である。
【００１６】
また、RPRの二重リング構成は、回線障害等の発生時には、パケットを送信するリングを切り替えることにより、迂回ルートへの高速切替も可能である。
【００１７】
PRPの特徴を、上述したものも含めて纏めて以下に示す(非特許文献１参照。)。
【００１８】
(1)双方向二重リングネットワークをサポートしている。
【００１９】
(2)MAC(Media Access Control)レイヤ(レイヤ２)をサポートしている。
【００２０】
(3)使用帯域の有効利用率が高い。
【００２１】
(4)Plug & Playである。
【００２２】
(5)障害切替時間が50ms以下である。
【非特許文献１】IEEE802.17ドラフトV2.1
【発明の開示】
【発明が解決しようとする課題】
【００２３】
しかしながら、IEEE802.17 RPRにおいては、リング上に現用系ノード装置、予備系ノード装置を配置可能とするノード冗長方式に関する機能は規定しておらず、今後もIEEE802.17RPRのプロトコル自体のノード冗長機能が追加される予定は無い。また、IEEE802.17 RPRのベースとなったIETFのRFC2892(The CiscoSRP(Spatial Reuse Protocol) MAC Layer Protocol)においては、帯域を有効利用可能で且つリングの冗長化可能であるが、リングネットワークにおけるノード冗長方式は何も規定していない。
【００２４】
したがって、本発明は、冗長ノード装置で他のネットワークと接続されたリングネットワークを構成する該冗長ノード装置及び非冗長ノード装置において、複数の冗長ノード装置が同時に現用系として動作することを可能にすること、また、冗長ノード装置の障害発生/復旧時に伴う現用系冗長ノード装置数の増減に対応した、冗長ノード装置のパケット処理の負荷分散処理を可能にすること、また、RPRに対応可能なノード冗長方式を可能にすることを課題とする。
【課題を解決するための手段】
【００２５】
上記の課題を解決するために本発明に係る非冗長ノード装置は、複数の現用系冗長ノード装置で他のネットワークと接続されたリングネットワークを構成する非冗長ノード装置であって、トポロジテーブルと、自装置のトポロジ情報を送出する送信部と、該自装置のトポロジ情報と、非冗長ノード装置から受信したトポロジ情報並びに該冗長ノード装置から受信したトポロジ情報及び冗長情報とに基づき該トポロジテーブルを作成するトポロジテーブル作成部と、該トポロジテーブルに基づき、受信したパケットを該リングネットワーク上に配信するパケット配信部とを備えたことを特徴としている。
【００２６】
また、上記の課題を解決するために本発明に係る冗長ノード装置は、リングネットワークを構成すると共に他のネットワークと接続された冗長ノード装置であって、トポロジテーブルと、自装置のトポロジ情報及び冗長情報を送出する送信部と、該自装置のトポロジ情報及び該冗長情報と、非冗長ノード装置から受信したトポロジ情報並びに冗長ノード装置から受信したトポロジ情報及び冗長情報に基づき該トポロジテーブルを作成するトポロジテーブル作成部と、該トポロジテーブルに基づき該リングネットワーク上に受信したパケットを配信するパケット配信部とを備えたことを特徴としている。
【００２７】
まず、冗長ノード装置及び非冗長ノード装置の定義を以下に説明する。
【００２８】
(1)冗長ノード装置：自装置が属するリングネットワークと他のネットワークを冗長構成(複数のノード装置)で接続するノード装置であり、符号が“100z”で始まり、この符号“100z”で総称されることがある。
【００２９】
(2)非冗長ノード装置：自装置が属するリングネットワークのみに接続され、他のネットワークと接続されていないノード装置であり、符号が“100”で始まり、この符号“100”で総称される。単に、ノード装置100と称することがある。
【００３０】
なお、冗長ノード装置及び非冗長ノード装置を“ノード装置”と総称することがある。この場合、“ノード装置100z，100”と称することがある。
【００３１】
図１は、本発明に係る冗長ノード装置100z及び非冗長ノード装置100を含むネットワークを示しており、同図(1)には、２つのリングネットワーク(以下、単にリングと称することがある。)200_1及び200_2が示されている。リング200_1は、内回りリング200i及び外回りリング200jでリング状に接続された冗長ノード装置100z_11，100z_12、非冗長ノード装置100_13〜100_16で構成され、リング200_2は、内回りリング200i及び外回りリング200jでリング状に接続された冗長ノード装置100z_21，100z_22，非冗長ノード装置100_23〜100_26(以下、符号100で総称することがある。)で構成されている。
【００３２】
冗長ノード装置100z_11及び100z_12を、それぞれ、冗長ノード装置100z_21及び100z_22と、冗長リンク300z_1及び300z_2で接続することで、リング200_1はリング200_2に接続されている。
【００３３】
すなわち、リングネットワーク200_1は、本発明に係る非冗長ノード装置100_13〜100_16及び本発明の冗長ノード装置100z_11，100z_12で構成され、冗長ノード装置100z_11，100z_12で他のリングネットワーク200_2で接続されている。この冗長ノード装置100z_11，100z_12は、共に現用系の冗長ノード装置である。なお、本発明においては、他のネットワーク200_2は、リングネットワークに限定されず、一般的なネットワークであってもよい。また、リングネットワーク200_1は、双方向リングに限定されず、片方向リングであってもよい。
【００３４】
リング200_1を構成するノード装置100z，100は、トポロジテーブル、送信部、トポロジテーブル作成部、及びパケット配信部(共に図示せず。)を備えている。ノード装置100の送信部は、自装置のトポロジ情報を送出し、冗長ノード装置100zの送信部は、さらに、自装置の冗長情報(例えば、自装置が冗長ノードであることを示す情報)を送出する。
【００３５】
トポロジテーブル作成部は、他のノード装置100z，100から受信したトポロジ情報及び冗長情報に基づきトポロジテーブルを作成する。なお、トポロジテーブルには、自装置のトポロジ情報、及び自装置が冗長ノード装置であるとき、自装置の冗長情報が含まれている。パケット配信部は、トポロジテーブルに基づきリングネットワーク上に受信したパケットを配信する。
【００３６】
このように、複数の冗長ノード装置の冗長情報を含めたトポロジテーブルに基づきパケットを配信することにより、複数の冗長ノード装置を同時に現用系として動作させることが可能になる。すなわち、同図(1)に示したように、ノード装置100_15から送出された、例えば、ノード装置100_25宛のパケットは、現用系の冗長ノード装置100z_11でフォワーディングされて、冗長リンク300z_1経由でノード装置100_25に到達し、ノード装置100_24宛のパケットは、現用系の冗長ノード装置100z_12でフォワーディングされて、冗長リンク300z_2経由でノード装置100_24に到達するようにすることが可能になる。
【００３７】
また、本発明においては、該冗長情報に基づき、該複数の現用系冗長ノード装置が動作するモードの他に、特定の冗長ノード装置のみを現用系とする動作モードを選択可能にするための制御部を、さらに備えることができる。
【００３８】
同図(2)は、同図(1)と同様のリングネットワーク200_1及び200_2が示されている。このリング200_1及び200_2が同図(1)と異なる点は、冗長ノード装置100z_11のみを現用系とし、冗長ノード装置100z_12を予備系とするモードで動作していることである。例えば、ノード装置100_15から送出されたノード装置100_25宛のパケットは、現用系の冗長ノード装置100z_11でフォワーディングされて、冗長リンク300z_1経由でノード装置100_25に到達するが、予備系の冗長ノード装置100z_12でブロッキングされて、冗長リンク300z_2経由ではノード装置100_25に到達しない。
【００３９】
このように、複数の冗長ノード装置をモード切替えし、その中の特定の冗長ノード装置のみを現用系として使用することも可能になる。
【００４０】
また、本発明においては、該パケット配信部は、自ノード装置が現用系であるとき、該トポロジテーブルに示された現用系の冗長ノード装置の数、パケットの宛先アドレス、及び予め設定された演算に基づき、フォワーディングパケットを決定することができる。
【００４１】
すなわち、自ノード装置が現用系であるとき、パケット配信部は、トポロジテーブルから現用系の冗長ノード装置の数を知り、受信したパケットの宛先アドレス、及び予め設定された演算、例えばハッシュ演算に基づき、受信したパケットをフォーワーディングするか否かを決定する。これにより、複数の現用系冗長ノード装置間でパケットの負荷分散が可能になる。
【００４２】
また、本発明においては、該パケット配信部は、該トポロジテーブルに基き該リングネットワーク上のノード装置数を知り、該冗長ノード装置宛のパケットの生存時間（TTL）に、該ノード装置数以上の値を格納し、受信したパケットの送信元アドレスと自装置のアドレスが同じとき、該パケットを削除することができる。
【００４３】
これにより、リング上を不要なパケットが周回することがなくなる。なお、ノード装置数は、冗長ノード装置数を含めた数である。
【００４４】
また、本発明においては、該パケット配信部が、該トポロジテーブルに基き該リングネットワーク上のノード装置数を知り、該冗長ノード装置宛のパケットの生存時間に該ノード装置数を格納して配信することができる。
【００４５】
これにより、パケットの生存時間(TTL)は、該パケットを送出したノード装置で“0”になり削除され、リング上を不要なパケットが周回することがなくなる。
【００４６】
また、本発明においては、該パケット配信部は、該トポロジテーブルに基きイーストリング（内回りリング）又はウエストリング（外回りリング）において自ノード装置を起点として最遠端にある冗長ノード装置までのホップ数を求め、該ホップ数を冗長ノード装置宛てのパケットの生存時間に格納して、最遠端を示すリング側にパケットを送出することができる。
【００４７】
これにより、パケットの生存時間(TTL)は、該最遠端の冗長ノード装置で“0”になり、該パケットは削除され、リング上を不要なパケットが周回することがなくなる。
【００４８】
また、本発明においては、該パケット配信部は、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までのホップ数を求め、このホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、この冗長ノード装置の内で最遠端の冗長ノード装置までのホップ数を求め、このホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することができる。
【００４９】
これにより、それぞれ、イーストリング及びウエストリングの最遠端の冗長ノード装置でパケットの生存時間(TTL)は“0”になり、該パケットは削除され、イースト及びウエスト双方のリングが使用されると共に、不要なパケットが周回することがなくなる。
【００５０】
なお、各ノード装置は、独自に上記のパケット配信方式のいずれかを、使用帯域を最も改善するように選択することができる。
【００５１】
また、本発明においては、該トポロジテーブルに該複数の冗長ノード装置の共通アドレスを登録し、該パケット配信部は、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することができる。
【００５２】
これにより、各ノード装置は、現用系冗長ノード装置経由のパケットを共通アドレス宛てで配信することが可能になり、各ノード装置は、送出したパケットが経由する現用系の冗長ノード装置を指定する必要がなくなる。
【００５３】
また、本発明においては、該トポロジテーブル作成部は、それぞれ、該トポロジテーブルに複数のネットワークに対応した異なる複数の共通アドレスを登録し、該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することができる。
【００５４】
これにより、該リングネットワークに複数のネットワークを複数の冗長ノード装置を介して接続することが可能になる。
【００５５】
また、本発明においては、該トポロジテーブル作成部は、複数のネットワークを該異なる複数の共通アドレスを１つの該冗長ノード装置に対応付けて登録することができる。
【００５６】
これにより、１つの冗長ノード装置で該リングネットワークを複数のネットワークに接続することが可能になる。
【００５７】
また、本発明においては、該冗長情報に冗長グループ情報を含ませることができる。
【００５８】
すなわち、２つ以上のネットワークにそれぞれ冗長ノード装置を配してリングネットワークを接続する場合、これを接続する複数の冗長ノード装置を、その接続するネットワークに対応付けてグループ化する。冗長ノード装置は、自装置が属するグループを冗長グループ情報として冗長情報に含めることが可能である。これによって、２つ以上のネットワークを自装置が属するリングネットワークに接続することが可能になる。
【００５９】
また、本発明においては、該パケット配信部が、送信管理テーブルにパケットの送信元アドレス情報を自ノード装置の動作状態（現用系であるか予備系であるか）に拘らず登録し、該登録情報を参照して冗長ノード装置切替後のパケットの配信を行うことができる。
【００６０】
一般的に、パケット配信部は、パケットの送信元アドレス情報を管理する送信管理テーブル(例えば、MACテーブル、図示せず。)を備えている。冗長ノード装置において、パケット配信部は、自ノード装置がパケット配信を行わない状態(例えば、予備状態)においても、送信管理テーブルにパケットの送信元アドレス情報を登録する。パケット配信部は、送信管理テーブルの該送信元アドレス情報に基き、自ノード装置が予備系から現用系に切替わった後のパケットの配信を最新の送信状態管理テーブルに基いて行うことが可能になる。これにより、パケット配信部は、送信元アドレス情報未登録に起因するフラッディングを回避することが可能になる。
【００６１】
また、本発明においては、該パケット配信部が、自装置の送信管理テーブルを、同一冗長グループの他の冗長ノード装置の送信管理テーブルと同期を取ることができる。
【００６２】
すなわち、パケット配信部は、同一冗長グループ(同一のネットワークに接続する冗長ノード装置のグループ)の他の冗長ノード装置の送信管理テーブルの登録情報(送信元アドレス情報)に自装置の送信管理テーブルの登録情報を同期させる。すなわち、他の冗長ノード装置の送信管理テーブルの登録情報に対応した自装置の登録情報を自装置の送信管理テーブルに格納する。これによっても、パケット配信部は、送信元アドレス情報未登録に起因するフラッディングを回避することが可能になる。
【００６３】
また、本発明においては、該パケット配信部が、他の冗長ノード装置から受信したパケットの受信リング又は生存時間が変化したときから、予め設定された時間経過後まで該冗長ノード装置から受信したパケットを廃棄することができる。
【００６４】
これにより、冗長ノード装置切替後に発生するパケット二重受信及びパケット受信順序逆転を防止することが可能になる。
【００６５】
また、本発明においては、該パケット配信部が、他の冗長ノード装置から受信したパケットの受信リング又は生存時間が変化を検出したとき、該冗長ノード装置切替が発生したことを示すパケットをリング上にブロードキャストし、他のノード装置から該ブロードキャストパケットを受信したときから、予め設定された時間経過後まで該冗長ノード装置から受信したパケットを廃棄するができる。
【００６６】
これによっても、冗長ノード装置切替後に発生するパケット二重受信及びパケット受信順序逆転を防止することが可能になる。
【００６７】
また、本発明においては、該パケット配信部が、他の冗長ノード装置の状態変化を検出したときから、予め設定された時間経過後まで、該他の冗長ノード装置からの受信パケットを送信しないことができる。
【００６８】
これによっても、冗長ノード装置切替後に発生するパケット二重受信及びパケット受信順序逆転を防止することが可能になる。
【００６９】
また、本発明においては、冗長状態を指定する状態切替コマンドに基き、自装置の冗長状態を切り替える制御部をさらに備えることができる。
【００７０】
これにより、冗長ノード装置の冗長状態(現用状態、予備状態等)を強制的に切替えることが可能になる。
【００７１】
また、本発明においては、該冗長情報に、これを送出した冗長ノード装置の冗長状態を含み、該冗長状態を受信した該トポロジテーブル作成部が、該冗長ノード装置の該冗長状態を該トポロジテーブルに登録するができる。
【００７２】
トポロジテーブルを参照することにより、オペレータは、冗長ノード装置の冗長状態(現用状態、予備状態態等)を知ることが可能になる。
【００７３】
また、本発明においては、該リングネットワークがRPRリングネットワークであり、該送信部及び該パケット配信部をRPRに対応させることが可能である。
【００７４】
これにより、ノード冗長機能とともに、RPRの50ms以内の高速切替機能を実現するが可能になる。
【００７５】
また、本発明においては、該パケット配信部が、受信したRPRパケットのTLL_BASE及びTTLフィールドの設定値を用いてパケットの送信元の冗長ノード装置を特定することが可能である。
【００７６】
受信したパケットの送信元が冗長ノード装置である場合、パケットの送信元アドレス740(図21参照。)には共通アドレスが格納されているため、どの冗長ノード装置から送信されたパケットか判断できない。そこで、パケット配信部は、受信したRPRパケット700のTLL_BASE750(＝TTLの初期値)及びTTL710のフィールド(図21参照。)に設定された数値を用いて、送信元冗長ノード装置から自装置までのホップ数＝“TLL_BASE”−“TTL”を求め、このホップ数及びトポロジテーブルに基づき送信元ノード装置を特定する。
【００７７】
また、本発明においては、該パケット配信部は、送信元が予備系の冗長ノード装置である受信パケットを廃棄すると共に、このパケット受信を示す警告を表示することができる。
【００７８】
これにより、本来、パケットを送出しない予備系の冗長ノード装置が送出したパケットを廃棄することが可能になる。
【００７９】
また、本発明においては、該パケット配信部が、OAMパケットの送信元アドレスに自装置の個別アドレスを与えることができる。
【００８０】
すなわち、OAMパケットが、例えば、特定ノード装置までの到達経路の正常性の確認を行うパケットである場合、パケット配信部は、OAMパケットの送信元アドレスに自装置のアドレス情報として、共通アドレスではなく個別アドレスを与える。これにより、パケット配信部は明確な経路情報をパケット送信元に返すことが可能になる。
【００８１】
また、本発明においては、該パケット配信部は、受信パケットを、その属性情報及び自装置の優先度に基づきフォーワーディングするか否かを決定してもよい。
複数の現用系冗長ノード装置が受信パケットを負荷分散する場合、ハッシュ演算を用いる代わりに、受信パケットの属性、例えば、アドレス情報、プロトコル識別情報等と複数の冗長ノード装置間の優先度に基づき決定する。これにより、複数の冗長ノード装置が同一のパケットを送信することを防ぐことが可能になる。
【００８２】
さらに、本発明は、該送信部が、RPRパケットの制御パケットにTLV形式で該冗長情報を格納して該リングネットワーク上にブロードキャストすることができる。
【００８３】
これにより、将来の機能拡張が可能になる。
【発明の効果】
【００８４】
以上説明したように、本発明に係るノード装置によれば、複数の冗長ノード装置が同時に現用系として動作することが可能になる。また、冗長ノード装置の障害発生/復旧時に伴う現用系冗長ノード装置数の増減に対応した、冗長ノード装置のパケット処理の負荷分散処理が可能になる。また、切替時間が高速な汎用性の高いRPRノード冗長機能を実装することが可能になり、ファイバ等のネットワークリソースを効率的に使用したリングネットワークの信頼性及び性能が向上する。
【発明を実施するための最良の形態】
【００８５】
冗長ノード装置の構成実施例
図２は、本発明の冗長ノード装置100z(図1(1)に示したリング200_1において、ノード装置100_13〜100_16を除く冗長ノード装置)の構成実施例を示している。この冗長ノード装置は、LANカード20及びRPRカード30、並びにこのカード20，30を制御する制御部10を備えている。LANカード20は、冗長リンク300zを経由して他のネットワーク200_2(図1(1)参照。)に接続するためのカードであり、RPRカード30は、後述するノード装置(非冗長)100と共にリング状に接続されてRPRリングネットワーク200_1を構成する(図1(1)参照。)。
【００８６】
RPRカード30は、物理インタフェース40_1，40_2、RPR・MAC部50、及びリングトポロジテーブル70を備えている。物理インタフェース40_1は、外回りリングからの受信パケット及び内回りリングへの送信パケットをRPR・MAC部50にインタフェースする。
【００８７】
同様に、物理インタフェース40_2は、内回りリングからの受信パケット及び外回りリングへの送信パケットをRPR・MAC部50にインタフェースする。
【００８８】
RPR・MAC部50は、メッセージ送信部60及びパケット配信部61を備え、制御部10は、リングトポロジテーブル作成部11を備えている。
【００８９】
非冗長ノード装置の構成実施例
図３は、本発明の非冗長ノード装置(以下、単にノード装置と称することがある。)100(図２に示した冗長ノード装置100z以外のノード装置）の構成実施例を示している。このノード装置100が、冗長ノード装置100zと異なる点は、冗長リンク300zが無く、RPRカード30の構成は、冗長ノード装置100zのRPRカード30の構成と同じである。
【００９０】
図２及び図３で示した冗長ノード装置100z及びノード装置100には、以下のパラメータ(1)〜(7)を初期設定として入力することが可能である。
【００９１】
(1)冗長ノードイネーブル/ディスエーブル：リング上の全てのノード装置及び冗長ノード装置に設定されるパラメータであり、自ノード装置が、冗長ノード装置であるか否かを示す。
【００９２】
(2)優先度：冗長ノードイネーブル/ディスエーブルパラメータが“イネーブル”に設定された冗長ノード装置のみに設定されるパラメータであり、現用系/予備系を決定するためのノード装置優先度。
【００９３】
(3)個別アドレス：リング上の全てのノード装置に設定されるパラメータである。リング上で自ノード装置を示す個別アドレスであり、リング上の他のノード装置のアドレス値と重複してはならない。
【００９４】
(4)共通アドレス：冗長ノード装置のみに設定されるパラメータであり、リング上で冗長ノード装置の共通アドレスであり、リング上の個別アドレス値と重複してはならない。
【００９５】
(5)送信タイマ値：冗長ノード装置のみに設定されるパラメータであり、キープアライブパケット700xの送出間隔タイマ値。
【００９６】
(6)受信タイムアウト値：冗長ノード装置のみに設定されるパラメータであり、メイト系（同一外部ネットワークに対する冗長リンクを持つ、自冗長ノード装置ではない冗長ノード装置）からのキープアライブパケット700xの受信タイムアウトを検出するためのタイムアウト値。
【００９７】
(7)冗長タイプ：冗長ノード装置のみに設定されるパラメータであり、自装置の状態タイプが負荷分散タイプ又は非負荷分散タイプのいずれであるかを示す。
【００９８】
ここで、負荷分散タイプは、リング上の同一冗長グループ(共通アドレスが同じグループ)内において、複数の冗長ノード装置100zが同時に現用系になることを許容する動作モードを示し、非負荷分散タイプは、同時に１つの現用系冗長ノード装置100zのみが許容される動作モードを示している。
【００９９】
上記のパラメータ(1)〜(7)は、ネットワーク構成を意識したオペレータやネットワーク監視装置等により各ノード装置に初期設定される。
【０１００】
ここで、ノード装置100及び冗長ノード装置100zの動作実施例を説明する前に、まず、冗長ノード装置100z_11及び100z_12(図1(1)参照。)が送出するキープアライブパケット700xのフォーマット、並びに各冗長ノード装置100zの状態遷移を、以下に説明する。
【０１０１】
図４は、冗長ノード装置100zから送出されるキープアライブパケット(メッセージ)700xの構成例を示している。このパケット700xとして、RPRパケット種別の内の制御パケット(特に、この制御パケットの内のOAMメッセージ)を使用している。この制御パケットをキープアライブパケット700xとして使用することにより、パケット700xの終端処理が簡易になると共に、パケット700xのリング200_1外への流出を防ぐことが可能になる。なお、本発明のキープアライブパケット700xは、RPR制御パケットに限定されるものでない。
【０１０２】
パケット700xが、図21に示したRPRパケット700と異なる点は、Control_Type771及びControl_Version772が追加され、PDU780に、１バイトのタイプ781、１バイトの長さ782、１バイトの優先度783、６バイトの共通アドレス784、４ビットの冗長状態785、及び４ビットの冗長タイプ786のフィールドが設定されていることである。
【０１０３】
Control_Version772＝“0x00”及びControl_Type771＝“0x03”の格納で、パケット700xが、現在バージョンのOAMメッセージであることを示す。タイプ781は、PDU780に収容するデータ種別を示し、長さ782は、タイプ781及び長さ782フィールを含めたPDU780部分のデータ長を示す。これにより、パケット700xに収容するキープアライブ情報を変更した場合においても、新たにタイプ値を定義することにより、機能拡張が可能になる。また、機能拡張に伴い、キープアライブ情報のデータ長に変更が生じた場合においても、長さ782フィールドに新たなデータ長を指定することにより対応可能である。
【０１０４】
冗長状態785は、冗長ノード装置100zの現在の状態を示すものであり、初期状態、現用状態、及び予備状態がある(次に述べる状態遷移参照。)。
キープアライブパケット700xの宛先アドレス730にはブロードキャストアドレスを設定する。これによりリング上の全てのノード装置がこのパケット700xを受信することになる。また、送信元アドレス740には、キープアライブパケット700xを送信する送信元ノード装置の個別アドレスを設定する。
TTL710にはMAX値の255を格納し、パケットタイプ771にはコントロールパケットを指定する。
【０１０５】
冗長ノード装置100zは、“送信タイマ値”で設定された時間間隔毎に、キープアライブパケット700xを送出し、自装置の現在の冗長状態、冗長タイプ、優先度、及び共通アドレスを、メイト系の冗長ノード装置(共に他の同一ネットワークに接続する冗長ノード装置)100zを含む、リング上の全ノード装置100，100zに通知する。他のノード装置100，100zは、キープアライブパケット700xを受信して、送信側装置の現在の冗長状態、冗長タイプ、優先度、及び共通アドレスを知る。
また、メイト系の冗長ノード装置は、“送信タイマ値”よりも大きな周期でキープアライブパケット受信タイムアウト監視を行う。このタイムアウト値は、受信タイムアウト値のパラメータに従う。これは、キープアライブパケット700xがビットエラー等によるパケット廃棄処理により、リング上から消失する可能性は十分にあるため、この受信タイムアウト値は1〜2パケットのパケットロス発生を予想して、送信タイマよりもある程度大きな値を設定しておく必要があるからである。
【０１０６】
メイト系の冗長ノード装置100zは、キープアライブメッセージ700xを“受信タイムアウト値”で設定された時間経過しても受信しなかった場合(キープアライブメッセージタイムアウト)、送信側の冗長ノード装置100zに障害が発生したものとみなす。なお、冗長ノード装置100zは、例えば、自装置の障害を検出して冗長状態＝“予備系”になった場合、“送信タイマ値”の時間間隔によらず直ちに、キープアライブパケット700xを送出することも可能である。これにより、冗長ノード装置切替を高速で行うことが可能になる。
【０１０７】
図５は、冗長ノード装置100zの状態遷移を示している。同図(1)には、冗長ノード装置100zが取り得る状態、すなわち、冗長ノード装置100zが、負荷分散タイプで動作するときの初期状態ST10、現用状態ST11、及び予備状態ST12と、非負荷分散タイプで動作するときの初期状態ST20、現用状態ST21、及び予備状態ST22が示されている。負荷分散タイプの状態ST10，ST11，及びST12と、非負荷分散タイプの状態ST20，ST21，及びST22は、それぞれ、同じであるが、その遷移条件が異なっている。冗長ノード装置100zの各状態における動作を以下に説明する。
【０１０８】
(1)初期状態ST10，ST20：冗長ノード装置100zは、冗長パスとリングパスをブロッキング状態とし、他に冗長ノード装置100zに、「自装置の冗長状態785」＝“初期状態”を示すキープアライブメッセージ700x(図４参照。)を送信する。
【０１０９】
(2)現用状態ST11，ST21：冗長ノード装置100zは、冗長パスとリングパスをフォワーディング状態とし、他に冗長ノード装置100zに、「自装置の冗長状態785」＝“現用状態”を示すキープアライブメッセージ700xを送信する。
【０１１０】
(3)予備状態ST12，ST22：冗長ノード装置100zは、冗長パスとリングパスをブロッキング状態とし、他に冗長ノード装置100zに、「自装置の冗長状態785」＝“予備状態”を示すキープアライブメッセージ700xを送信する。
【０１１１】
同図(2)は、冗長ノード装置100zが、負荷分散タイプで動作している場合の状態遷移を示している。まず、動作立ち上げ時又はリセット時、冗長ノード装置100zの状態は、初期状態ST10に設定される。冗長ノード装置100zの状態は、初期状態ST10のときで、且つ自装置の障害検出802又は自装置が正常状態801であるとき、それぞれ、予備状態ST12又は現用状態ST11に遷移する。また、冗長ノード装置100zの状態は、予備状態ST12のときで、自装置が正常状態801であるとき、現用状態ST11に遷移する。冗長ノード装置100zの状態は、現用状態ST11のときで、自装置の障害検出802をしたとき、予備状態ST12に遷移する。
【０１１２】
同図(3)は、冗長ノード装置100zが、非負荷分散タイプで動作している場合の状態遷移を示している。この状態遷移条件は、同図(1)に示した基本的な遷移条件と同じであるが、さらに、この基本条件に他の条件(1)〜(3)（すなわち、条件(1)メイト系の冗長ノード装置の状態、条件(2)メイト系間と優先度、及び条件(3)キープアライブメッセージのタイムアウト検出806）が追加されている。
【０１１３】
この新たな遷移条件を纏めると以下のようになる。
【０１１４】
(1)初期状態ST20から現用状態ST21への遷移条件：基本条件801、且つ『キープアライブメッセージタイムアウト検出806、又は「メイト系初期状態MST20」、且つ「自装置の優先度メイト系より“大”」、又はメイト系予備状態MST22』
(2)初期状態ST20から予備状態ST22への遷移条件：基本条件802、又は「メイト系の冗長ノード装置＝“初期条件”、且つ自装置の優先度がメイト系より“小”」、又はメイト系が現用状態MST11
(3)現用状態ST21から初期状態ST20への新たな遷移条件：「メイト系の冗長ノード装置＝“現用状態”
(4)現用状態ST21から予備状態ST22への追加遷移条件：基本条件802、且つ「メイト系の冗長ノード装置が正常状態801」
(5)予備状態ST22から現用状態211への追加遷移条件：基本条件801、且つ「キープアライブメッセージタイムアウト検出806、又はメイト系予備状態MST20」
基本的なネットワーク構成例及びリングトポロジテーブルの構成例
図6(1)は、本発明のノード装置100及び冗長ノード装置100zで構成された基本的なリングネットワーク200_1を示している。同図(1)では、ノード装置100_11，100_12、冗長ノード装置100z_13、ノード装置100_14、冗長ノード装置100z_15、ノード装置100_16が、この順に接続されてリング200_1を構成している。このリング200_1は、冗長ノード装置100z_13及び冗長リンク300z_1、並びに冗長ノード装置100z_15及び冗長リンク300z_2経由で他のネットワーク200_2に接続されている。
【０１１５】
同図(2)は、各ノード装置100，100zが保持しているリングトポロジテーブル70tの構成例を示している。同図(2)では、特に、ノード装置100_11が保持するリングトポロジテーブル70tを示している。このテーブル70tが、図20(2)で示した従来のリングトポロジテーブル70aと異なる点は、冗長ノード装置イネーブル72及び冗長タイプ73が追加され、さらに、ノード装置アドレス71には、冗長ノード装置100z_13，100z_15の共通アドレス＝“100z1”が登録されていることである。これらの情報は、ノード冗長に関する情報であり、キープアライブメッセージ700x(図４参照。)で各ノード装置100，100zに伝送される。
【０１１６】
冗長ノード装置イネーブル72には、ノード装置が冗長ノード装置である場合、“ON”が設定され、冗長ノード装置でない(非冗長ノード装置である)場合、“OFF”が設定されている。冗長タイプ73には、冗長ノード装置100zの動作タイプが負荷分散タイプである場合、“1”が設定され、非負荷分散タイプの場合、“0”が設定される。また、ノード装置アドレス71＝“共通アドレス100z1”のイーストホップ数74及びウエストホップ数75には、最大ホップ数＝“6”が設定され、イースト経路を選択してイースト経路選択76＝“ON”に設定されている。他のノード装置100又は冗長ノード装置100zが保持するテーブル70tも、同図(2)のテーブル70tと同様であり、ホップ数74，75、経路選択76，77の設定値のみが異なるだけである。
【０１１７】
動作実施例(1)
図７は、本発明のノード装置100，100zの動作実施例(1)を示しており、この実施例(1)は、図６に示した基本的なリングネットワーク構成及びリングトポロジテーブル70tにおける動作例を示している。図7(1)では、図6(1)に示したネットワーク200_2をより詳細に示しており、ネットワーク200_2は、冗長ノード装置100z_21、ノード装置100_22，100_23、及び冗長ノード装置100z_24を、この順にリング状に接続したリングネットワークである。ノード装置100_23には、クライアント400_1が接続されている。
【０１１８】
図7(2)のリングトポロジテーブル70uは、ノード装置100_11が保持するテーブルであり、図6(2)のテーブル70tと同じである。
【０１１９】
図７では、ノード装置100z_13及び100z_15が、冗長ノード装置(イネーブル72＝“ON”)であり、その共通アドレス＝“100z1”であり、冗長タイプ73＝“１(負荷分散タイプ)”で動作する。また、冗長ノード装置100z_13及び100z_15の優先度は、それぞれ、“5”及び“3”(同図(1)参照。)である。他のノード装置100_11，100_12，100_14，100_16は、非冗長ノード装置(イネーブル72＝“0”)であり、共通アドレス、冗長タイプ、及び優先度は設定されていない(図示せず。)。
【０１２０】
各ノード装置100，100zが共に正常状態であれば、電源投入又はリセット後のトポロジメッセージをリング上にブロードキャストし、トポロジメッセージを受信した各ノード装置は、リングトポロジテーブル70uの構築を開始する。
リングトポロジテーブル70uは、各ノード装置100，100zがリング上に配信するトポロジメッセージにより構築される。すなわち、各ノード装置100，100zは、リングトポロジテーブル構築用にトポロジメッセージをリング上へ定期的にブロードキャスト送信する。トポロジメッセージには、RPRパケット700の送信元アドレスを自ノード装置の個別アドレスとし、RPRパケットの宛先アドレスにブロードキャストアドレスを格納し、RPRパケットのTTLにMAX値（＝255）を格納し、リング上へブロードキャスト送信する。
【０１２１】
トポロジメッセージはリング上へブロードキャスト転送されるため、リング上の全ノード装置100，100zに受信される。トポロジメッセージを受信したノード装置100，100zは、送信元アドレスが自ノード装置の個別アドレスと一致せず、TTL値を1減算後、TTL値≠0であれば、そのトポロジメッセージを再度リング上へ送信する。またトポロジメッセージを受信した各ノード装置100，100zは、TTLの初期値＝255であることから、そのパケットのTTL値をチェックすることで、そのパケットの送信元アドレスを示すノードとのホップ数を算出することが可能となる。リング上の各ノード装置は、リング上の他ノード装置が送信するトポロジメッセージを全て受信し、そのノード装置との距離（ホップ数）を算出し、リングトポロジテーブルの構築を行う。
【０１２２】
図7(2)のリングトポロジテーブル70uの各項目を以下に説明する。
ノード装置アドレス71には、リング上に存在する各リングノード装置100，100zのリングノードアドレスが格納される。このノードアドレスは、各ノード装置100，100zが送信するトポロジメッセージの送信元アドレス740から取り出される。本リンクトポロジテーブル70u構成例では、ノード装置100_11, 100_12, 100z_13, 100_14, 100z_15, 100_16のアドレスが格納されている。
イーストホップ数74、ウエストホップ数75には自ノード装置（ここでは、ノード装置100_11）を基準とし、対象ノード装置100，100zまでのホップ数が格納される。これはトポロジメッセージのTTLより算出される。
【０１２３】
イースト経路選択76及びウエスト経路選択77は、それぞれそのリングノード装置宛のパケットをイースト/ウエストどちらの経路へ送信すべきか設定するものである。
ここでは、各リングノード装置100，100zへのイーストホップ数、ウエストホップ数を基準に最短経路を選択するように設定しており、“ON”が選択“OFF”が非選択である。
各ノード装置100，100zは、トポロジメッセージを定期的に送受信し、このリングトポロジテーブル70uを管理・維持を行うことで、常にリング上はトポロジ状態を把握し、最短経路等のポリシーに従ってパケット転送を行うことが可能となる。  
【０１２４】
冗長ノード装置100zは、さらに、図5(2)に示した負荷分散タイプの状態遷移動作を開始する。すなわち、冗長ノード装置100z_13，100z_15は、電源投入又はリセット後、初期状態ST10になる。このときの冗長リンク300z_1及び300z_2はブロッキング状態である。そして、冗長ノード装置100z_13，100z_15は、キープアライブメッセージ700x(図４参照。)の送信を開始し、このキープアライブメッセージ700xを受信した各ノード装置100及び冗長ノード装置100zは、テーブル70uの共通アドレス＝“100z1”、送信元アドレスに対応する冗長ノード装置イネーブル72、冗長タイプ73を登録し、共通アドレス＝“100z1”に対応するイーストホップ数74＝“6”、ウエストホップ数75＝“6”に設定する。
【０１２５】
冗長ノード装置100z_13，100z_15は、共に正常状態である場合、それぞれ、図5(2)の状態遷移に従って現用状態(現用系)に遷移し、冗長リンク300z_1，300z_2をフォワーディング状態にする。また、冗長ノード装置100z_13，100z_15は、それぞれ、自装置の障害を検出した場合、予備状態に遷移し、冗長リンク300z_1，300z_2をブロッキング状態にする。なお、冗長ノード装置100z_13，100z_15は、初期状態及び予備状態におけるブロッキング状態においても、トポロジメッセージ及びキープアライブメッセージ等の制御パケットの送受信は停止しないものとする。
【０１２６】
冗長ノード装置100z_13は、自装置の状態＝“現用状態”であり、他（メイト系）の冗長ノード装置100z_15から受信したキープアライブメッセージ700xの冗長状態785＝“現用状態”である場合、リング200_1上に現用系の冗長ノード装置が自ノード装置を含めて複数(この場合は２つ)存在すると認識し、負荷分散タイプのフォーワーディング処理を行う。また、冗長ノード装置100z_13は、自装置の状態＝“現用状態”であり、他の冗長ノード装置100z_15から受信したキープアライブメッセージ700xの冗長状態785＝“予備状態”である場合、リング200_1上に存在する現用系の冗長ノード装置は自装置のみと認識して、現用系冗長ノード装置数＝“1”の負荷分散タイプのフォワーディング処理を行う。この場合、冗長ノード装置100z_13のフォワーディング結果は、非負荷分散タイプと同様のフォーワーディング処理になる。また、冗長ノード装置100z_15も同様に、フォワーディング処理を選択する。
【０１２７】
以下に負荷分散タイプのフォワーディング処理について説明する。
現用状態ST11の冗長ノード装置100z_13及び100z_15は、それぞれ、冗長リンク300z_1及び300z_2から受信したパケットをリング200_1にフォワーディングし、リング200_1から受信したパケットを冗長リンク300z_1及び300z_2にフォワーディングするが、フォワーディングするか否かは、例えばパケットのアドレス領域により決定する。すなわち、冗長ノード装置100z_13及び100z_15は、受信したパケットのアドレス領域をハッシュ演算し、この演算結果に基づき、パケットをフォワーディングするか否かを決定する。
【０１２８】
なお、本実施例では受信したパケットのアドレス領域をハッシュ演算しているが、複数の冗長ノード装置が受信した同一のパケットをフォワーディングする冗長ノード装置が1台になる処理であれば良く、受信パケットのアドレス領域以外を対象として演算してもかまわない。
また、ハッシュ演算の演算方法も問わない。例えば、パケットのアドレス領域を予め設定された演算子で除算し、この余り値を参照して、パケットをフォワーディングするか否かを判断しても良い。
【０１２９】
すなわち、各冗長ノード装置100zは、各冗長ノード装置100zから受信したキープアライブメッセージ700xに基づき、リング200_1上の現用状態の冗長ノード装置数＝N(図7では、N=2)、及び優先順位(優先度から決定する。)を認識することが可能である。そこで、各現用状態の冗長ノード装置100zは、Nに対して、余り値が最大“N-1(同図では、＝“1”)”となる演算子を選択し、受信パケットのアドレス領域のハッシュ演算を行い、余り値を求める。この余り値が、複数の現用系冗長ノード装置のそれぞれに重複しないように割り当てた余り値、例えば自身の優先順位に一致したときに、パケットをフォワーディングし、不一致であれば、パケットフォワーディングしない。
【０１３０】
このパケットは余り値と優先順位が一致する、メイト系冗長ノード装置によりフォワーディングされる。例えば、図7のリング200_1では、冗長ノード装置100z_13，100z_15の優先順位を、それぞれ、その優先度＝“5”，“3”から、“0”，“1”とする。そして、余り値＝“最大1”となる演算子、すなわち、余り値が0又は1となる演算子を選択し、アドレス領域の演算結果＝“0”であるパケットを、冗長ノード装置100z_13がフォワーディングし、冗長ノード装置100z_15はフォワーディングしない。逆に、演算結果＝“1”であるパケットは、冗長ノード装置100z_15がフォワーディングし、冗長ノード装置100z_13はフォワーディングしない。これにより、同一パケットが重複してフォワーディングされることはなく、パケットフォワーディングの負荷分散が出来る。
【０１３１】
冗長ノード装置100zに障害が発生した場合、その冗長ノード装置100zは、自装置の状態を予備状態ST12に移行、キープアライブメッセージ700xで自装置が予備状態(予備系)であること、すなわち、障害が発生したことを他（メイト系）の冗長ノード装置100zに通知する。キープアライブメッセージ700xを受信した他（メイト系）の現用状態(現用系)の冗長ノード装置100zは、現用状態の冗長ノード装置100z数の変更を認識し、新たにハッシュ演算の演算子及び優先順位を決定し、この演算子及び優先順位に基づき、パケットをフォワーディングするか否かを決定する。
【０１３２】
なお、本実施例のように、冗長ノード装置が2台であるとき、例えば、冗長ノード装置100z_13に障害が発生した場合、冗長ノード装置100z_15のみが現用状態であるため、冗長ノード装置100z_15は、冗長リンク300z_1から受信した総てのパケットをフォワーディングすればよく、ハッシュ演算する必要はない。
【０１３３】
これは前述の非負荷分散タイプのフォワーディング処理に相当する。また、冗長ノード装置100z_13及び100z_15は、それぞれ、冗長リンク300z_1，300z_2から受信したパケットをリング200_1にフォワーディングするとき、RPRパケット(図21参照。)のヘッダの送信元アドレス740に、自装置の個別アドレスではなく、冗長ノード装置用の共通アドレス＝“100z1”を設定する。冗長ノード装置100z_13及び100z_15からRPRパケットを受信した各ノード装置100，100zは、通常動作で、RPRパケットに格納されているクライアント400_1のMACアドレスと、RPRパケットヘッダの送信元アドレス740を自装置のMACテーブルに登録する。これによれば、各ノード装置100，100zは、冗長ノード装置100z_13及び100z_15が冗長ノード装置であることや、パケットが冗長ノード装置100z_13又は100z_15のいずれから送信されたものどうかを意識する必要はなくなる。
【０１３４】
次に、図7(1)においてノード装置100_11がクライアント400_1宛のパケットを外部（図3における非冗長リンク400z）から受信した場合の動作を以下に説明する。ここで、ノード装置100_11は、ハッシュ演算の結果で選択された例えば冗長ノード装置100z_13を経由して、クライアント400_1から既にパケットを受信しており、MACテーブルにはクライアント400_1のMACアドレスと冗長ノード装置100z_13の共通アドレスが転送すべきノード装置のアドレスとして登録されているものとする。
【０１３５】
ノード装置100_11は、自装置内のMACテーブルをMACアドレス400_1で検索し、MACアドレスが既に学習済みであるので、MACアドレス＝“400_1”及びこれに対応する送信先ノード装置のアドレスとして共通アドレス＝“100z1”が読み出される。この共通アドレス＝“100z1”でリングトポロジテーブル70uを参照して、イースト経路選択76＝“ON”、ウエスト経路選択77＝“OFF”を読み出す。そして、ノード装置100_11は、RPRヘッダの宛先アドレス730＝“100z1”、送信元アドレス740＝“100_11”、TTL710＝“255(最大値)”とするRPRパケット700(図21参照。)をイースト方向へ送出する。
【０１３６】
このRPRパケット700を受信した各ノード装置100，100zは、RPRパケット700の宛先アドレス730＝“100z1”が共通アドレスを含む自ノード装置のアドレスと一致したときはパケットを取り込むとともに次ノード装置にスルーする。一致しなければ、このRPRパケット700をスルーする。すなわち、ウエスト側から受信したパケットをイースト側に転送する。このとき、各ノード装置100，100zは、パケット700のTTL710値を１だけ減算する。この結果、RPRパケット700は、冗長ノード装置100z_13及び100z_15で取り込まれると共に、最終的にこのRPRパケット700を送出したノード装置100_11に戻ってくる。ノード装置100_11は、送信元が自装置であるRPRパケット700をリング200_1上から削除する。
【０１３７】
なお、ノード装置100_11は、リングトポロジテーブル70uにおける共通アドレス＝“100z1”のイーストホップ数74(＝ウエストホップ数75）＝“6”を、RPRパケット700のTTL710に設定してもよい。これによれば、ノード装置100_11は、TTL710値＝“0”のパケット700を削除する処理だけを実施すればよく、送信元アドレスと自ノード装置アドレスを比較する処理が不要である。
【０１３８】
一方、パケット700を受信した冗長ノード装置100z_13，100z_15は、それぞれ、RPRパケット700のアドレス領域のハッシュ演算を行い、パケット700を冗長リンク300z_1及び300z_2にフォワーディングする否かの判断を行い、いずれか一方によってフォワーディングされる。この結果、ノード装置100_11が受信したクライアント400_1宛のパケットは、冗長リンク300z_1、ノード装置100_22，100_23を経由してクライアント400_1に到達する。
【０１３９】
上述した動作によれば、非冗長ノード装置100_11，100_12，100_14，及び100_16は、リング200_1上の冗長ノード装置100zの冗長タイプ、冗長状態を意識する必要がない。またノード装置100は、冗長ノード装置100zの状態が遷移した後においても、MACテーブルで学習された共通アドレス100z1を用いてパケット700を送出すればよい。このパケット700を受信した冗長ノード装置100z_13，100z_15は、単に、ハッシュ演算結果に基づき、フォワーディング又はブロックキングすればよい。
【０１４０】
動作実施例(2)
図８は、本発明の動作実施例(2)を示しており、この実施例(2)では、冗長ノード装置100z_13に障害が発生し、その状態が“予備状態”に遷移した場合を示している。
【０１４１】
実施例(1)と同様に、ノード装置100_11は、クライアント400_1から既にパケットを受信しMACテーブルにはクライアント400_1と冗長ノード装置100z_13の共通アドレスが登録されているものとする。
【０１４２】
ノード装置100_11は、クライアント400_1宛のパケット(宛先アドレス730＝“100z1：共通アドレス”)700をイースト方向にする。このパケット700は、冗長ノード装置100z_13及び100z_15で受信され、冗長ノード装置100z_13でブロッキングされが、冗長ノード装置100z_15でフォワーディングされて、冗長リンク300z_2、冗長ノード装置100z_24、及びノード装置100_23経由でクライアント400_1に送信される。
【０１４３】
動作実施例(1)及び(2)で述べたように、本発明のノード装置100及び冗長ノード装置100zによれば、リング200上に同時に複数の現用状態(現用系)の冗長ノード装置100zを配置することが可能になり、複数の冗長ノード装置100zでのパケットの負荷分散処理が可能になり、パケットの処理能力が向上する。また、冗長ノード装置100z間で、互いに冗長状態を通知し合うことにより、リング200上の現用状態の冗長ノード装置100zを的確に把握することが可能になり、高速で確実なダイナミック負荷分散処理が可能になる。
【０１４４】
動作実施例(3)
図９は、本発明の動作実施例(3)を示している。実施例(1)及び(2)では、ノード装置100_11から送出されたRPRパケット700は、リング200_1上を１回転してノード装置100_11に戻って来た時点で、削除された。しかしながら、パケット700は、共通アドレスの冗長ノード装置100z_13及び100z_15に送信されればよく、さらに、ノード装置100_16に送信し、ノード装置100_11まで戻す必要はない。冗長ノード装置100z_15−ノード装置100_16−ノード装置100_11間のリングの使用帯域が悪化する。この区間の使用帯域を、本実施例(3)は改善するものである。
【０１４５】
同図(1)はネットワーク例を示しており、このネットワークは、実施例(1)のネットワーク例と同様である。同図(2)は、ノード装置100_11のリングトポロジテーブル70yを示しており、このテーブル70yが実施例(1)のテーブル70tと異なる点は、共通アドレス＝“100z1”のイーストホップ数74及びウエストホップ数75の値が異なっていることである。すなわち、イーストホップ数74及びウエストホップ数75の値は、それぞれ、ノード装置100_11からイースト方向に最遠端の冗長ノード装置100z_15までのホップ数＝“4”、及びウエスト方向に最遠端の冗長ノード装置100z_13までのホップ数＝“4”であり(網掛け部参照。)、また、同図では、イースト経路選択76及びウエスト経路選択77のホップ数が同じなので、いずれの経路を選択してもよいが、一応イースト経路選択76＝“ON”、ウエスト経路選択77＝“OFF”が設定されている。
【０１４６】
ノード装置100_11は、RPRパケット700を送出するとき、パケットのTTL710の値を、イースト経路選択76＝“ON”であるイーストホップ数74＝“4”に設定する。これによれば、イースト方向から送出されたパケット700は、冗長ノード装置100z_5で削除され、冗長ノード装置100z_15−ノード装置100_16−ノード装置100_11間に送信されない。これにより、不必要なパケット送信が無くなり、リングの使用帯域の改善が可能になる。
【０１４７】
動作実施例(4)
図10は、本発明の実施例(4)を示している。実施例(3)では、冗長ノード装置100z宛のパケットの送出方向が一方向(イースト方向)に固定されていたが、この実施例(4)では、ノード装置100_11がパケットを両方向に送信することを可能として、リング200_1の使用帯域の改善を図っている。
【０１４８】
同図(1)に示したネットワークは、実施例(3)のネットワークと同じである。同図(2)のリングトポロジテーブル70wが、実施例(3)のリングトポロジテーブル70vと異なる点は、共通アドレス＝“100z1”のイーストホップ数74、ウエストホップ数75、イースト経路選択76、及びウエスト経路選択77の設定が異なっていることである。すなわち、イーストホップ数74及びウエストホップ数75には、それぞれ、イースト方向及びウエスト方向から冗長ノード装置100z_13及び100Z_15までのホップ数＝“2”及び“2”を設定し、イースト経路選択76及びウエスト経路選択77は、共に“ON”とする。
【０１４９】
なお、この例では、冗長ノード装置数＝“2”の場合であり、冗長ノード装置数が“3”以上の場合は、冗長ノード装置を、イースト方向からのパケットを受信する冗長ノード装置と、ウエスト方向からのパケットを受信する冗長ノード装置との２つのグループに分け、各グループの中で最遠端の冗長ノード装置までのホップ数を、それぞれ、イーストホップ数74及びウエストホップ数75の値とする。
【０１５０】
このように設定した場合、ノード装置100_11は、RPRパケット700をコピーして、イースト方向に、TTL710の値＝“2(＝イーストホップ数74)”のRPRパケット700_1(図示せず。)を送出し、ウエスト方向に、TTL710の値＝“2(＝ウエストホップ数75)”のRPRパケット700_2(図示せず。)を送出する。
【０１５１】
RPRパケット700_1，700_2は、それぞれ、冗長ノード装置100z_13及び100z_15に到達するが、冗長ノード装置100z_13及び100z_15でスルーされないため、冗長ノード装置100z_13−ノード装置100_14−冗長ノード装置100z_15間のリング上には配信されない。これにより、リング200_1の使用帯域の改善が可能になる。
【０１５２】
なお、各ノード装置100，100zは、リング200_1の構成や、トポロジメッセージで収集したリング状態に基き、使用帯域の改善するために最適になるように、実施例(2)〜実施例(4)に示したトポロジテーブルの設定を選択することも可能である。すなわち、リング200_1上のノード装置数、冗長ノード装置の配置位置、及び各ノード装置を基点とする各冗長ノード装置までのホップ数により、実施例(2)〜(4)の方式のいずれかを用いた方がリング200_1における帯域使用効率が向上するかは、送信側のノード装置毎に異なる。そこで、各ノード装置は、帯域使用効率を向上させるため実施例(2)〜(4)の方式のいずれかを選択する。
【０１５３】
例えば、実施例(1)において、ノード装置100_12は、実施例(3)の方式を用いて、TTL＝“3”のパケットをイースト経路で送出した方が、リング200_1上の使用効率は良い。一方、ノード装置100_14は、実施例(4)の方式を用いて、TTL＝“1”のパケットをイースト経路及びウエスト経路の双方向に送出した方が、リング200_1上の使用効率は良い。
【０１５４】
動作実施例(5)
図11は、本発明の実施例(5)を示している。実施例(1)〜(4)では、冗長ノード装置100zでリング200_1に接続されるネットワークは１つであったが、本実施例(5)では、複数の冗長グループ(メイト系冗長ノード装置のグループ)を実装することで、複数のネットワークを接続することが可能である。
【０１５５】
同図(1)では、リング200_1は、リング状に接続されたノード装置100_10〜100_12，冗長ノード装置100z_13，100z_14、ノード装置100_15〜100_17、冗長ノード装置100z_18，100z_19で構成されている。この内の冗長ノード装置100z_13及び100z_14、並びに冗長ノード装置100z_18及び100z_19は、それぞれ、冗長リンク300z_1〜300z_4で、リング200_2の冗長ノード装置100z_21及び100z_22、並びにリング200_3の冗長ノード装置100z_31及び100z_32に接続されている。これにより、リング200_1は、リング200_2及び300_3が接続されている。
【０１５６】
同図(2)は、ノード装置100_11が保持するリングトポロジテーブル70xを示しており、このテーブル70xが、動作実施例(3)で示したテーブル70vと異なる点は、冗長ノード装置グループID(識別子)78(網掛け部分参照。)が追加されたことと、ノード装置アドレス71に共通アドレス＝“100z2”(網掛け部分参照。)が追加されていることである。すなわち、同図(2)には、冗長ノード装置100z_13，100z_14及び冗長ノード装置100z_18，100z_19のグループID78として、それぞれ、“1”及び“2”が設定され、冗長ノード装置100z_13，100z_14及び冗長ノード装置100z_18，100z_19の共通アドレスとして、それぞれ、“100z1”及び“100z2”が設定されている。
【０１５７】
そして、共通アドレス100z1のイースト経路選択76及びウエスト経路選択77には、実施例(3)と同様に、最遠端の冗長ノード装置までのイーストホップ数74＝“3”及びウエストホップ数＝“8”の内の短い“イースト”方向を選択して、“ON”，“OFF”が設定されている。同様に、共通アドレス100z2のイースト経路選択76及びウエスト経路選択77には、“OFF”，“ON”が設定されている。
【０１５８】
また、キープアライブパケット700xのPDU780(図４参照。)には、新たに冗長ノード装置グループID(図示せず。)を追加する。このグループIDは、他のパラメータと同様に、ノード装置100zの立ち上がり時やリセット時に設定される。これにより、各ノード装置100，100zは、冗長ノード装置100zの属するグループを認識することが可能になる。なお、パケット700xの共通アドレス784がグループ毎に異なることをため、共通アドレス784に基き冗長グループを認識することも可能であり、この場合、キープアライブパケット700xにグループIDは必要ない。ここでは、信頼性の高いトポロジテーブルを作成するため、キープアライブパケット700xにグループIDフィールドを追加する。
【０１５９】
これにより、リング200_1に、複数のネットワーク(同図では、リング200_2、200_3)を、ネットワーク毎に複数の冗長ノード装置で接続することが可能になる。
【０１６０】
動作実施例(6)
図12は、本発明の動作実施例(6)を示している。この実施例(6)では、１つの冗長ノード装置100zが複数の冗長グループに属することを可能にする。すなわち、１つの冗長ノード装置100zを経由して複数のネットワークに接続することを可能にする。
【０１６１】
同図(1)に示したリングネットワーク例が、図11(1)に示した実施例(5)のネットワーク例と異なる点は、図11(1)の冗長ノード装置100z_18が非冗長ノード装置100_18となり、冗長ノード装置100z_18の代わりに冗長ノード装置100z_14が、リンク300z_3でリング200_3の冗長ノード装置100z_31に接続されていることである。すなわち、冗長ノード装置100z_14は、リング200_1をリング200_2，200_3に接続している。
【０１６２】
また、同図(2)に示したノード装置100_11が保持するリングトポロジテーブル70yが、実施例(5)のテーブル70xと異なる点は、冗長ノード装置アドレス71＝“100z_14”の冗長ノード装置グループID78＝“1”及び“2”(網掛け部分参照。)が設定されていることと、冗長ノード装置アドレス71＝“100z_18”)、冗長ノード装置アドレス71＝“100z_18”が“100_18”に変更され、この冗長ノード装置アドレス71＝“100_18”の冗長ノード装置イネーブル72＝“OFF”及び冗長タイプ73＝“0”(網掛け部分参照。)に設定されていることである。すなわち、冗長ノード装置100z_13及び100z_14が、グループID＝“1”として配置にされ、冗長ノード装置100z_14及び冗長ノード装置100z_19が、グループID＝“2”として配置にされている。
【０１６３】
同図(1)において、冗長ノード装置100z_14には、冗長グループID＝“1”及び“2”の両方に属しているので、下記の設定情報(1)及び設定情報(2)が個別に設定されている。
【０１６４】
設定情報(1)：冗長グループID＝“1”、共通アドレス＝“100z1”、優先度＝“3”、及び冗長タイプ＝“負荷分散タイプ”
設定情報(2)：冗長グループID＝“2”、共通アドレス＝“100z2”、優先度＝“5”、及び冗長タイプ＝“負荷分散タイプ”
なお、冗長ノード装置100z_14は、冗長グループID＝“1”と冗長グループID＝“2”において、それぞれ、独自に現用系及び予備系として動作することが可能である。
【０１６５】
また、本動作実施例(6)では、キープアライブパケット700xのPDU780(図４参照。)には、複数の冗長グループに関する情報を格納することを可能にする。冗長ノード装置100z_14は、冗長グループID＝“1”及び“2”両方に関する情報を格納したキープアライブパケット700xにリング200_1上にブロードキャスト配信する。これにより、各ノード装置100，100zは、図12(2)と同様のリングトポロジテーブル70yを作成することが可能になる。
【０１６６】
動作実施例(7)
図13は、本発明の動作実施例(7)を示している。この実施例(7)では、図10に示した動作実施例(4)と同様の実施例であるが、特に、リング200_1上のノード装置100_11に接続されたクライアント400_1とリング200_2上のノード装置100_21に接続されたクライアント400_2間のパケット送受信動作を示している。
【０１６７】
同図(1)において、ノード装置100_15，100_11，100_12、及び冗長ノード装置100z_13，100z_14がこの順に接続されてリング200_1を構成している。ノード装置100_25，100_21，100_22、及び冗長ノード装置100z_23，100z_24がこの順に接続されてリング200_2を構成している。冗長ノード装置100z_13及び100z_14が、それぞれ、冗長リンク300_1，300_2で冗長ノード装置100z_23，100z_24に接続されることにより、リング200_1とリング200_2が接続されている。ここで、冗長ノード装置100z_13，100z_14の共通アドレス＝“100z1”であり、冗長ノード装置100z_23，100z_24の共通アドレス＝“100z2”に設定されている。
【０１６８】
このネットワーク構成で、クライアント400_1からクライアント400_2へのパケット送信動作を以下に説明する。
【０１６９】
ステップS100：クライアント400_1から送出されたパケットは、ノード装置100_11でフラッディングされて、ノード装置100_12経由で冗長ノード装置100z_13に送信される。この冗長ノード装置100z_13は、クライアント400_1のMACアドレス＝“400_1”とノード装置100_11のアドレス＝“100_11”とをセットで学習する。さらに、冗長ノード装置100z_11は、ハッシュ演算の結果に基き、パケットを冗長リンク300z_1に送出する。
【０１７０】
ステップS101：冗長ノード装置100z_23は、冗長リンク300z_1からパケットを受信し、MACアドレス＝“400_1”と冗長リンク300z_1をセットで学習する。さらに、冗長ノード装置100z_23は、パケットをリング200_2に送出する。
【０１７１】
ステップS102：ノード装置100_21は、パケットを受信し、MACアドレス＝“400_1”と冗長ノード装置100z_23の共通アドレス＝“100z2”をセットで学習する。さらに、ノード装置100_21は、パケットを宛先のクライアント400_2に送信する。
【０１７２】
同図(2)は、同図(1)のネットワークにおいて、クライアント400_2が、クライアント400_1宛てのパケットを送出した場合を示している。この送信動作を以下に説明する。
【０１７３】
ステップS110：ノード装置100_21は、クライアント400_2から受信したパケットを学習した共通アドレス＝“100z2”でイースト及びウエスト双方向に送出する。冗長ノード装置100z_24は、ハッシュ演算の結果、パケットを廃棄する。
【０１７４】
ステップS111：冗長ノード装置100z_23は、ハッシュ演算の結果により、受信したパケットを学習した冗長リンク300z_1に送出する。
【０１７５】
ステップS112：冗長ノード装置100z_13は、受信したパケットを学習したノード装置100_11に送信し、ノード装置100_11は、パケットをクライアント400_1に送信する。
【０１７６】
これにより、パケットは、クライアント400_2からクライアント400_1に送信されたことになる。
【０１７７】
同図(3)は、同図(2)において、冗長ノード装置100z_23が、例えば、障害が発生し、現用系から予備系に切り替わった場合を示している。このとき、クライアント400_2が、クライアント400_1宛てのパケットを送出した場合の送信動作を以下に説明する。
【０１７８】
ステップS120，S121：ノード装置100_21は、上記のステップS110と同様に、パケットを共通アドレス＝“100z2”宛てに双方向に送出する。予備系の冗長ノード装置100z_23は、受信したパケットを廃棄する。
【０１７９】
ステップS122：冗長ノード装置100z_24は、受信した未学習であるが、共通アドレスで受信したパケットをリング200_2へはフラッディングせず、冗長リンク300z_2に送出する。
【０１８０】
ステップS123，S124：冗長ノード装置100z_14は、受信したパケットの宛先MACアドレス＝“400_1”が未学習なので、パケットをリング200_1にフラッディングする。これにより、パケットは、ノード装置100_11，100_19及び100_12で受信され、ノード装置100_11，100_19では取り込まれず、ノード装置100_11経由でクライアント400_1に送信される。このようにリング200_1では、パケットのフラッディングが発生しリングの使用帯域利用率が悪くなる。このフラッディングを回避する方式を次の動作実施例(8)で説明する。
【０１８１】
動作実施例(8)
図14は、本発明の動作実施例(8)を示しており、この実施例(8)では、実施例(7)で示した冗長ノード装置の切り替わり時に発生するフラッディングを回避する動作を示している。以下に、この動作を説明する。
【０１８２】
同図(1)は、クライアント400_1が、クライアント400_2宛てのパケットを送出した場合を示している。
【０１８３】
ステップS200〜S202；実施例(7)のステップS100〜S102と同様に、クライアント400_1が送出したパケットは、冗長ノード装置100z_13，100z_23、及びノード装置100_21で学習されて、クライアント400_2に到着する。
【０１８４】
ステップS203：一方、冗長ノード装置100z_14は、ハッシュ演算後、ノード装置100_11から受信したパケットを廃棄せずにクライアント400_1のMACアドレス＝“400_1”とノード装置100_11のアドレス＝“100_11”とをセットで学習する。さらに、ノード装置100z_14は、冗長リンク200_2にパケットを送出する。
【０１８５】
ステップS204：パケットを受信した冗長ノード装置100z_24は、MACアドレス＝“400_1”と冗長リンク400z_2をセットで学習した後、パケットを廃棄する。
【０１８６】
同図(2)は、冗長ノード装置100z_23が予備系に切り替わった後、クライアント400_2が、クライアント400_1宛てのパケットを送出した場合を示している。
【０１８７】
ステップS210，S213：ノード装置100_21は、クライアント400_2からパケットを学習した共通アドレス＝“100z_2”に送出する。
【０１８８】
ステップS211：冗長ノード装置100z_24は、学習した冗長リンク300z_2にパケットを送出し、パケットをリング200_2上にフラッディングしない。
【０１８９】
ステップS212：冗長ノード装置100z_14は、学習したノード装置100_11にパケットを転送し、パケットをリング200_1上にフラッディングしない。
【０１９０】
これにより、図13(3)の実施例(7)に示したステップS123のフラッディングは発生せずリング200_1の使用帯域利用率を悪くすることがなくなる。
【０１９１】
ステップS213：一方、予備系の冗長ノード装置100z_23は、受信したパケットに基き、クライアント400_2のMACアドレス＝“400_2”とノード装置100_21のアドレス＝“100_21”をセットで学習した後、パケットを廃棄せずに冗長リンク300z_1に送出する。
【０１９２】
ステップS214：冗長ノード装置100z_13は、パケットを受信し、MACアドレス＝“400_2”と“冗長リンク300z_1”をセットで学習した後、パケットを廃棄する。
【０１９３】
これらのステップS213，S214は、それぞれ、上記のステップS203，S204に相当する。このように、予備系冗長ノード装置100zもパケットを学習することにより、現用系切り替え後に、パケット未学習に起因するフラッディングによる負荷増加を回避することが可能になる。
【０１９４】
動作実施例(9)
図15は、本発明の動作実施例(9)を示している。実施例(8)では、予備系ルートやハッシュ演算結果によりパケット受信が不要となった冗長ルートにおいても、パケット取り込みやパケット送信を行うことで、自律的にMACテーブルの学習を行わせた。本実施例(9)では、予備系冗長ノード装置100zやパケット受信が不要になった冗長ノード装置100zでは、パケットを廃棄し、自律的な学習は行わない。その代わりに該冗長ノード装置100zは、現用系の冗長ノード装置100zやハッシュ演算結果によりパケット受信した冗長ノード装置100zとの間で、該冗長ノード装置が学習したMACテーブルの内容を受信する。これにより、パケット受信しない冗長ノード装置100zのMACテーブルの内容とパケット受信した冗長ノード装置100zのMACテーブルの内容の同期を取る。この動作を以下に説明する。
【０１９５】
同図(1)には、実施例(8)で示したネットワークと同じネットワークが示されている。このネットワークにおいては、冗長ノード装置100z_13及び100z_23は現用系であり、冗長ノード装置100z_14及び100z_24は予備系である。
【０１９６】
ステップS300〜S301：クライアント400_1は、クライアント400_2宛てのパケットを送出する。このパケットは、動作実施例(8)のステップS100〜S102と同様に、冗長ノード装置100z_13，100z_23、及びノード装置100_21経由でクライアント400_2に送信される。各冗長ノード装置100z_13，100z_23、及びノード装置100_21は、MACテーブルに経路を学習する。
【０１９７】
ステップS303：一方、予備系の冗長ノード装置100z_14は、ノード装置100_11から受信したパケットを廃棄する。
【０１９８】
ステップS304：予備系の冗長ノード装置100z_14及び100z_24は、それぞれ、現用系の冗長ノード装置100z_13及び100z_23が学習したMACテーブルの内容を複写する。なお、このとき、冗長ノード装置100z_24は、MACテーブルの冗長リンク300z_1を冗長リンク300z_2に変換する。
【０１９９】
同図(2)は、冗長ノード装置100z_13及び100z_23が現用系から予備系に切り替わり、冗長ノード装置100z_14及び100z_24が予備系から現用系に切り替わった後のネットワークが示されている。この状態で、クライアント400_2がクライアント400_1宛てパケットを送出した場合のパケット送信動作を以下に説明する。
【０２００】
ステップS310：ノード装置100_21は、クライアント400_2から受信したパケットを共通アドレス＝“100z2”宛てで双方向に送出する。
【０２０１】
ステップS311：冗長ノード装置100z_24は、複写したMACテーブルを参照して、受信したパケットを冗長リンク300z_2に送出する。
【０２０２】
ステップS312：冗長ノード装置100z_14は、複写したMACテーブルを参照して、受信したパケットをノード装置100_11に送信する。これにより、パケットは、クライアント400_1の送信されることになる。
【０２０３】
ステップS313，S314：冗長ノード装置100z_23，100z_13は、それぞれ、実施例(8)のステップS203及びS204と同様の動作を実行しMACテーブルに経路を学習する。
【０２０４】
動作実施例(10)
図16は、本発明の動作実施例(10)を示している。冗長ノード装置100z切替前後で、パケット送信ルートが異なるため、受信側では、パケットの二重受信やパケット受信順序逆転の問題が発生する。本実施例(10)では、一定時間パケットを受信しないことによりこれを回避する。
【０２０５】
この動作例を以下に説明する。同図(1)には、実施例(9)で示したネットワークと同様にリング200_1及び200_2が冗長ノード装置で接続されたネットワークが示されている。このネットワークと実施例(9)のネットワークが異なる点は、ノード装置100_11とノード装置100_15の間にノード装置100_16が挿入され、ノード装置100_21とノード装置100_25の間にノード装置100_26が挿入されていることである。
【０２０６】
まず、同図(1)において、クライアント400_2からクライアント400_1宛てのパケットが送信された場合を以下に説明する。
【０２０７】
ステップS400：ノード装置100_21からウエスト方向に送出されたパケット700(図示せず。)は、ノード装置100_22，冗長ノード装置100z_23，冗長リンク300z_1、冗長ノード装置100z_13，ノード装置100_12，100_11経由でクライアント400_1に送信される。
【０２０８】
ステップS401：ノード装置100_21からイースト方向に送出されたパケット700は、ノード装置100_26，100_25経由で冗長ノード装置100z_24に送信され、この冗長ノード装置100z_24でハッシュ演算結果により、廃棄される。
【０２０９】
ここで、同図(2)に示すように、冗長ノード装置100z_23，100z_13が、予備系に切り替わった場合、クライアント400_2からクライアント400_1宛てのパケットのルートを以下に説明する。
【０２１０】
ステップS410：ノード装置100_21からイースト方向に送出されたパケット(図示せず。)は、ノード装置100_26，100_25，冗長ノード装置100z_24，冗長リンク300z_2、冗長ノード装置100z_14，ノード装置100_15，100_16，100_11経由でクライアント400_1に送信される。
【０２１１】
ステップS411：ノード装置100_21からウエスト方向に送出されたパケット700は、ノード装置100_22経由で予備系の冗長ノード装置100z_23に送信され、この冗長ノード装置100z_23で廃棄される。
【０２１２】
このように、切替後のノード装置数が多い場合、ノード装置数が少ない場合と比較して、パケットの転送遅延が発生する。例えば、同図(1)において、ウエスト方向に送出されパケット700_1が、冗長リンク300z_1通過後に、同図(2)のようにルートが切り替わった時、イースト方向に送出されたパケット700_2が冗長ノード装置100z_24に到達していない場合がある。この場合、クライアント400_1は、旧ルート及び新ルートから同じパケット700_1，700_2を二重受信することになる。
【０２１３】
本動作実施例(10)では、各ノード装置100．100zにタイマを設ける。各ノード装置100，100zは、受信したRPRパケットの送信元MACアドレスが冗長ノード装置用の共通アドレスである場合、その送信元リング経路とTTL値をチェックする。そして、ノード装置100．100zは、同じ共通アドレスのパケットのTTL値が変化した場合、冗長ノード装置の切替が発生したと判断し、タイマを起動し、このタイマのタイムアップまで当該共通アドレスのパケットを廃棄する。このように、切り替え直後にパケット受信の保護時間を設けることにより、冗長ノード装置切替時におけるパケット二重受信を防止することが可能になる。
【０２１４】
また、本動作実施例(10)では、各ノード装置100．100zにタイマを設ける。冗長ノード装置が、現用状態の冗長ノード装置100zが障害発生等で予備状態に切り替わったことを検出し、切替わった冗長ノード装置の共通アドレスを含む制御パケットをリング上にブロードキャストする。そして、この制御パケットを受信した各ノード装置は、自装置のタイマを起動し、タイムアップまでの間、制御パケットが示す共通アドレスを送信元アドレスとする受信パケットを廃棄する。これにより、冗長ノード装置切替後にパケットの二重受信とパケットの順序逆転を防止することが可能になる。
【０２１５】
さらに、本動作実施例(10)では、冗長ノード装置100zにタイマを設ける。冗長ノード装
置は、他の現用状態の冗長ノード装置100zが障害発生等で予備状態に切り替わったことを検出したとき、自装置のタイマを起動し、このタイマのタイムアップまでの間、状態が変化した冗長ノード装置の共通アドレスを送信元アドレスとする受信パケットを廃棄する。これによっても、冗長ノード装置切替後のパケットの二重受信とパケットの順序逆転を防止することが可能になる。
【０２１６】
動作実施例(11)
図17は、本発明の動作実施例(11)を示している。この実施例(11)では、冗長ノード装置100zの状態を強制的に切り替える機能を新たに設ける。試験時、評価時、又はネットワーク運用時において、例えば、制御部10に対して外部から強制的に状態切替コマンドを投入して冗長ノード装置の状態を「現用状態ST11→予備状態ST12」又は「予備状態ST12→現用状態ST11」に強制的に切り替えることを可能にする。
【０２１７】
同図(1)には、冗長ノード装置100zの状態を示しており、この状態は図5(1)に示した状態同じである。
【０２１８】
同図(2)は、負荷分散タイプにおける状態遷移を示しており、この状態遷移が、図5(2)に示した状態遷移と異なる点は、現用状態ST11→予備状態ST12、及び予備状態ST12→現用状態ST11の遷移条件が図5(2)に示した基本的条件に、さらに切り替え条件が追加されていることである。
【０２１９】
すなわち、「現用状態ST11→予備状態ST12」の遷移条件は、現用状態強制切替解除810のときのみで、且つ自ノード装置障害検出802(基本条件)又は予備状態強制切替807のとき遷移する。
【０２２０】
「予備状態ST12→現用状態ST11」の遷移条件は、現用状態強制切替808のとき、又は自ノード装置正常状態801(基本条件)で且つ予備状態強制切替807のとき、遷移する。
【０２２１】
これにより、状態切替コマンド811を制御部10に投入することにより、強制的に冗長ノード装置の状態を切り替えることが可能になり、RPRノード冗長切替等の試験や評価を効率的に進めることが可能になる。
【０２２２】
動作実施例(12)
図18は、本発明の動作実施例(12)を示している。この実施例(12)では、オペレータが必要に応じて、冗長ノード装置100zの“識別(グループID)”、“現在の状態”等を把握することを可能している。
【０２２３】
同図(1)は、ネットワーク例を示しており、このネットワーク例は、図11(1)に示した実施例(5)のネットワーク例と同じである。
【０２２４】
同図(2)は、ノード装置100_11のリングトポロジテーブル70zを示している。このテーブル70zが、図11(2)に示した実施例(5)のテーブル70xと異なる点は、冗長状態79(網掛け部分)が追加されていることである。冗長ノード装置100z_13，100z_14，100z_18，及び100z_19の冗長状態79には、それぞれ“現用”、“予備”、“現用”、及び“予備”が登録されている。
【０２２５】
各冗長ノード装置100zは、自装置の状態を冗長状態785(図４参照)に設定したキープアライブメッセージ700xを送出する。各ノード装置100，100zおいて、リングトポロジテーブル作成部11は、受信したキープアライブメッセージ700xの冗長状態785をテーブル70zの冗長状態79に反映させる。
【０２２６】
各ノード装置100，100zには、トポロジテーブル70z読出機能(図示せず。)を有している。オペレータは、必要に応じて、このリングトポロジテーブル70zの読み出して冗長ノード装置100zの“識別(グループID)”、“現在の状態”等を把握することが可能になり、冗長ノード装置100zの誤った設定及び冗長ノード装置100zの状態等を監視して、その異常状態を知ることが可能になる。
【０２２７】
動作実施例(13)
通常、受信パケットの統計情報収集において、パケット送信ノード装置単位で受信パケットの統計を収集する場合があり、この場合、RPRパケット700の送信元アドレス740に基づきパケット送信元ノード装置を特定する。本発明のパケットでは、冗長ノード装置の送信元アドレスとして共通アドレスを用いており、この送信元冗長ノード装置が特定できない。
【０２２８】
本実施例(13)では、受信RPRパケットの送信元冗長ノード装置を特定する。図21に示したように、RPRパケット700には、TLL_BASE750及びTTL710のフィールドがあり、
TTL_Base750は“TTLの初期値”を保持しており、TTL710は、ノード装置を通過する毎に“１”だけ減算される。そこで、送信元冗長ノード装置から自装置までのホップ数＝“TTL_Base”−“TTL”を求め、このホップ数とリングトポロジテーブルに基づき送信元ノード装置を特定する。
【０２２９】
これにより、「共通アドレス、送信元ノード装置」単位で受信パケット数の統計情報の集計及び表示を行えば、本来パケット送信すべきでない予備系の冗長ノード装置からの受信パケット数を知ることが可能になり、冗長ノード装置を配置したリングネットワークの監視機能が向上する。
【０２３０】
動作実施例(14)
この実施例(14)では、パケット配信部は、動作実施例(12)で示したリングトポロジテーブル70zの冗長状態785表示機能と、動作実施例(13)で示した受信パケットの送信元冗長ノード装置100zを特定する機能とを用いて、送信元が予備系の冗長ノード装置100zである受信パケットを特定する。そして、パケット配信部は、統計情報集計後、当該パケットを廃棄する。
【０２３１】
これにより、RPRパケットに、標準のRPRパケットフォーマットを用いて(すなわち、送信元＝“現用系の冗長ノード装置”又は“予備系の冗長ノード装置”を区別するフィールド、送信元の冗長ノード装置のアドレスフィールドを追加することなく)、送信元が予備系の冗長ノード装置である受信パケットを廃棄することが可能になる。
【０２３２】
本来、予備系の冗長ノード装置は、リング上にパケットを送出しないが、障害発生時にパケットを送出する可能性がある。また、冗長ノード装置は、発生頻度は少ないが、現用系(現用状態)から予備系(予備状態)に遷移した後、パケットを送出し続ける可能性がある。このような場合においても、受信側のノード装置が、強制的にパケットを廃棄することにより、冗長ノード装置を配置したリングネットワークの信頼性を、さらに高めることができる。
【０２３３】
動作実施例(15)
この実施例(15)では、特定ノード装置までの経路情報チェックや、経路の正常性を調べるOAMパケット等を受信した場合、冗長ノード装置は、自装置の個別アドレスをOAMパケットに与える。これを、図13で説明する。
【０２３４】
クライアント400_1からクライアント400_2へトレース・ルート等のコマンドを発行時に、このコマンド要求に対応するパケットに対して、冗長ノード装置100z_13及び100z_23は、それぞれ、共通アドレス＝“100z1”，“100z2”ではなく、個別アドレス＝“100z_13”，“100z_23”を返答する(与える)。これにより、冗長ノード装置100z_13及び100z_23は、明確な経路情報を返すことが可能になる。
【０２３５】
動作実施例(16)
この実施例(16)では、冗長ノード装置のパケット配信部は、ハッシュ演算の結果によらず、複数の現用系の冗長ノード装置の内で、自装置が受信する特定のパケットを決定する。一般的にパケット配信部は、パケットの属性(アドレス情報、プロトコル識別情報等)を参照する機能と、特定の属性を備えたパケットを取り込むか否か決定するフィルタリング機能とを備えている。
【０２３６】
本実施例(16)では、パケット配信部は複数の現用系の冗長ノード装置が同一のパケットを取り込まないようにするための排他制御機能として、冗長ノード装置の優先度を用いる。すなわち、パケット配信部は、リング上に複数の同一冗長グループの冗長ノード装置が存在する場合、フィルタリング結果により選択されパケットを、例えば、自装置の優先度が一番高い場合受信する。これにより、複数の冗長ノード装置が同一のパケットを受信してフォワーディングすることを防ぐことが可能になる。
【０２３７】
（付記１）
複数の現用系冗長ノード装置で他のネットワークと接続されたリングネットワークを構成する非冗長ノード装置であって、
トポロジテーブルと、
自装置のトポロジ情報を送出する送信部と、
該自装置のトポロジ情報と、非冗長ノード装置から受信したトポロジ情報並びに該冗長ノード装置から受信したトポロジ情報及び冗長情報とに基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
該トポロジテーブルに基づき、受信したパケットを該リングネットワーク上に配信するパケット配信部と、
を備えたことを特徴とする非冗長ノード装置。
（付記２）
リングネットワークを構成すると共に他のネットワークと接続された冗長ノード装置であって、
トポロジテーブルと、
自装置のトポロジ情報及び冗長情報を送出する送信部と、
該自装置のトポロジ情報及び該冗長情報と、非冗長ノード装置から受信したトポロジ情報並びに冗長ノード装置から受信したトポロジ情報及び冗長情報に基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
該トポロジテーブルに基づき該リングネットワーク上に受信したパケットを配信するパケット配信部と、
を備えたことを特徴とする冗長ノード装置。
（付記３）上記の付記２において、
該冗長情報に基づき、該複数の現用系冗長ノード装置が動作するモードの他に、特定の冗長ノード装置のみを現用系とする動作モードを選択可能にするための制御部を、さらに備えたことを特徴とする冗長ノード装置。
（付記４）上記の付記２において、
該パケット配信部は、自ノード装置が現用系であるとき、該トポロジテーブルに示された現用系の冗長ノード装置の数、パケットの宛先アドレス、及び予め設定された演算に基づき、フォワーディングパケットを決定することを特徴とした冗長ノード装置。
（付記５）上記の付記１又は２において、
該パケット配信部が、該トポロジテーブルに基き該リングネットワーク上のノード装置数を知り、該冗長ノード装置宛のパケットの生存時間に、該ノード装置数以上の値を格納し、受信したパケットの送信元アドレスと自装置のアドレスが同じとき、該パケットを削除することを特徴とするノード装置。
（付記６）上記の付記１又は２において、
該パケット配信部が、該トポロジテーブルに基き該リングネットワーク上のノード装置数を知り、該冗長ノード装置宛のパケットの生存時間に該ノード装置数を格納して配信することを特徴とするノード装置。
（付記７）上記の付記１又は２において、
該パケット配信部が、該トポロジテーブルに基きイーストリング又はウエストリングにおいて自ノード装置を起点として最遠端にある冗長ノード装置までのホップ数を求め、該ホップ数を冗長ノード装置宛てのパケットの生存時間に格納して、最遠端を示すリング側にパケットを送出することを特徴とするノード装置。
（付記８）上記の付記１又は２において、
該パケット配信部が、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までのホップ数を求め、このホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、この冗長ノード装置の内で最遠端の冗長ノード装置までのホップ数を求め、このホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することを特徴とするノード装置。
（付記９）上記の付記１又は２において、
該トポロジテーブルに該複数の冗長ノード装置の共通アドレスを登録し、
該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することを特徴としたノード装置。
（付記１０）上記の付記９において、
該トポロジテーブル作成部が、それぞれ、該トポロジテーブルに複数のネットワークに対応した異なる複数の共通アドレスを登録し、
該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することを特徴としたノード装置。
（付記１１）上記の付記１０において、
該トポロジテーブル作成部が、複数のネットワークを該異なる複数の共通アドレスを１つの該冗長ノード装置に対応付けて登録することを特徴としたノード装置。
（付記１２）上記の付記１又は２において、
該冗長情報に冗長グループ情報が含むことを特徴とするノード装置。
（付記１３）上記の付記２において、
該パケット配信部が、送信管理テーブルにパケットの送信元アドレス情報を自ノード装置の動作状態に拘らず登録し、該登録情報を参照して冗長ノード装置切替後のパケットの配信を行うことを特徴とした冗長ノード装置。
（付記１４）上記の付記２において、
該パケット配信部が、自装置の送信管理テーブルを、同一冗長グループの他の冗長ノード装置の送信管理テーブルと同期を取ることを特徴とした冗長ノード装置。
（付記１５）上記の付記１又は２おいて、
該パケット配信部が、他の冗長ノード装置から受信したパケットの受信リング又は生存時間が変化したときから、予め設定された時間経過後まで該冗長ノード装置から受信したパケットを廃棄することを特徴としたノード装置。
（付記１６）上記の付記１又は２において、
該パケット配信部が、他の冗長ノード装置から受信したパケットの受信リング又は生存時間が変化を検出したとき、該冗長ノード装置切替が発生したことを示すパケットをリング上にブロードキャストし、他のノード装置から該ブロードキャストパケットを受信したときから、予め設定された時間経過後まで該冗長ノード装置から受信したパケットを廃棄することを特徴としたノード装置。
（付記１７）上記の付記２において、
該パケット配信部が、他の冗長ノード装置の状態変化を検出したときから、予め設定された時間経過後まで、該他の冗長ノード装置からの受信パケットを送信しないことを特徴としたノード装置。
（付記１８）上記の付記２において、
冗長状態を指定する状態切替コマンドに基き、自装置の冗長状態を切り替える制御部をさらに備えたことを特徴とした冗長ノード装置。
（付記１９）上記の付記１又は２において、
該冗長情報に、これを送出した冗長ノード装置の冗長状態を含み、該冗長状態を受信した該トポロジテーブル作成部が、該冗長ノード装置の該冗長状態を該トポロジテーブルに登録することを特徴とした冗長ノード装置。
（付記２０）上記の付記１又は２において、
該リングネットワークがRPRリングネットワークであり、該送信部及び該パケット配信部がRPRに対応していることを特徴としたノード装置。
（付記２１）上記の付記２０において、
該パケット配信部が、受信したRPRパケットのTLL_BASE及びTTLフィールドの設定値を用いてパケットの送信元の冗長ノード装置を特定することを特徴とするノード装置。
（付記２２）上記の付記１又は２において、
該パケット配信部は、送信元が予備系の冗長ノード装置である受信パケットを廃棄すると共に、このパケット受信を示す警告を表示することを特徴としたノード装置。
（付記２３）上記の付記２において、
該パケット配信部が、OAMパケットの送信元アドレスに自装置の個別アドレスを与えることを特徴とした冗長ノード装置。
（付記２４）上記の付記２において、
該パケット配信部は、受信パケットを、その属性情報及び自装置の優先度に基づきフォーワーディングするか否かを決定することを特徴とした冗長ノード装置。
【０２３８】
（付記２５）上記の付記２０において、
該送信部が、RPRパケットの制御パケットにTLV形式で該冗長情報を格納して該リングネットワーク上にブロードキャストすることを特徴とした冗長ノード装置。
【図面の簡単な説明】
【０２３９】
【図１】本発明に係るノード装置の原理を示したブロック図である。
【図２】本発明に係る冗長ノード装置の構成実施例を示したブロック図である。
【図３】本発明に係る非冗長ノード装置の構成実施例を示したブロック図である。
【図４】本発明におけるキープアライブパケットの構成例を示した図である。
【図５】本発明に係る冗長ノード装置における状態遷移例を示した図である。
【図６】本発明に係る非冗長ノード装置及び冗長ノード装置で構成された基本的なリングネットワーク例、及びリングトポロジテーブル例を示した図である。
【図７】本発明に係るノード装置の動作実施例(1)を示した図である。
【図８】本発明に係るノード装置の動作実施例(2)を示した図である。
【図９】本発明に係るノード装置の動作実施例(3)を示した図である。
【図１０】本発明に係るノード装置の動作実施例(4)を示した図である。
【図１１】本発明に係るノード装置の動作実施例(5)を示した図である。
【図１２】本発明に係るノード装置の動作実施例(6)を示した図である。
【図１３】本発明に係るノード装置の動作実施例(7)を示した図である。
【図１４】本発明に係るノード装置の動作実施例(8)を示した図である。
【図１５】本発明に係るノード装置の動作実施例(9)を示した図である。
【図１６】本発明に係るノード装置の動作実施例(10)を示した図である。
【図１７】本発明に係る冗長ノード装置の動作実施例(11)を示した図である。
【図１８】本発明に係るノード装置の動作実施例(12)を示したである。
【図１９】一般的なネットワ-クにおけるノード装置冗長構成を示したブロック図である。
【図２０】従来のノード装置で構成されたリングネットワーク及びリングトポロジテーブルを示した図である。
【図２１】一般的なRPRパケットのフォーマットを示した図である。
【符号の説明】
【０２４０】
100，100_10〜100_19，100_21〜100_27，100_33〜100_37，100a_11〜100a_16  ノード装置
100z，100z_11〜100z_15，100z_18，100z_19，100z_21〜100z_24，100z_31，100z_32  冗長ノード装置
100z1，100z2  共通アドレス                1，2  冗長グループ識別子(ID)
10  制御部                           11  リングトポロジテーブル作成部
20  LANカード                        30  RPRカード
40_1，40_2  物理インタフェース       50  RPR・MAC部
60  メッセージ送信部                 61  パケット配信部
70，70a，70t〜70z  リングトポロジテーブル
71  ノード装置アドレス               72  冗長ノード装置イネーブル
73  冗長タイプ                       74  イーストホップ数
75  ウエストホップ数                 76  イースト経路選択
77  ウエスト経路選択
78  冗長ノード装置グループ識別子(ID) 79  冗長状態
200a，200_1〜200_3  リング、リングネットワーク、
210  バックボーンネットワーク        220  ツリー型ネットワーク
200i  内回りリング                   200j  外回りリング
300z，300z_1〜300z_4  冗長リンク     400_1，400_2  クライアント
700，700x  RPRパケット、キープアライブパケット(メッセージ)
710  生存時間(TTL)                   720  Base_Ring_Control
730  宛先アドレス                    740  送信元アドレス
750  TTL_Base                        760  Ex_Ring_Control
770  Header_CRC                      771  Control_Type
772  Control_Version                 780  プロトコルデータ単位(PDU)
781  タイプ(Type)                    782  長さ(Length)
783  優先度                          784  共通アドレス
785  冗長状態                        786  冗長タイプ
790  FCS
ST10，ST20  初期状態                 ST11，ST21  現用状態
ST12，ST22  予備状態                 MST10  メイト系初期状態
MST11  メイト系現用状態              MST12  メイト系予備状態
800  立ち上げ/リセット               801  自ノード装置正常状態
802  自ノード装置障害検出            803  メイト系正常状態
804  自ノード装置優先度小            805  自ノード装置優先度大
806  キープアライブ・タイムアウト検出 807  予備状態強制切替
808  現用状態強制切替                809  予備状態強制切替解除
810  現用状態強制切替解除            811  状態切替コマンド
図中、同一符号は同一又は相当部分を示す。
【図１】
2006129071.tif 000003
【図２】
2006129071.tif 000004
【図３】
2006129071.tif 000005
【図４】
2006129071.tif 000006
【図５】
2006129071.tif 000007
【図６】
2006129071.tif 000008
【図７】
2006129071.tif 000009
【図８】
2006129071.tif 000010
【図９】
2006129071.tif 000011
【図１０】
2006129071.tif 000012
【図１１】
2006129071.tif 000013
【図１２】
2006129071.tif 000014
【図１３】
2006129071.tif 000015
【図１４】
2006129071.tif 000016
【図１５】
2006129071.tif 000017
【図１６】
2006129071.tif 000018
【図１７】
2006129071.tif 000019
【図１８】
2006129071.tif 000020
【図１９】
2006129071.tif 000021
【図２０】
2006129071.tif 000022
【図２１】
2006129071.tif 000023