JP4459018B2 - ノード装置 - Google Patents

ノード装置 Download PDF

Info

Publication number
JP4459018B2
JP4459018B2 JP2004314580A JP2004314580A JP4459018B2 JP 4459018 B2 JP4459018 B2 JP 4459018B2 JP 2004314580 A JP2004314580 A JP 2004314580A JP 2004314580 A JP2004314580 A JP 2004314580A JP 4459018 B2 JP4459018 B2 JP 4459018B2
Authority
JP
Japan
Prior art keywords
node device
packet
redundant
redundant node
ring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004314580A
Other languages
English (en)
Other versions
JP2006129071A (ja
Inventor
康之 三森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004314580A priority Critical patent/JP4459018B2/ja
Priority to US11/045,063 priority patent/US7619987B2/en
Publication of JP2006129071A publication Critical patent/JP2006129071A/ja
Application granted granted Critical
Publication of JP4459018B2 publication Critical patent/JP4459018B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4637Interconnected ring systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ノード装置に関し、特に、他のネットワークと接続されたリングネットワークを構成するノード装置に関する。
近年、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では、回線障害又はノード装置障害発生時の迂回ルートへの切替には、1分に近い時間を要する。最近では、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参照。)。
(1)双方向二重リングネットワークをサポートしている。
(2)MAC(Media Access Control)レイヤ(レイヤ2)をサポートしている。
(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のホップ数を求め、該第1のホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、各リングから該パケットを配信する各冗長ノード装置の内で最遠端の冗長ノード装置までの第2のホップ数を求め、該第2のホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することを特徴としている。
また、上記の課題を解決するために本発明に係る冗長ノード装置は、リングネットワークを構成すると共に他のネットワークと接続された冗長ノード装置であって、トポロジテーブルと、自装置のトポロジ情報及び冗長情報を送出する送信部と、該自装置のトポロジ情報及び該冗長情報と、別の非冗長ノード装置から受信したトポロジ情報並びに冗長ノード装置から受信したトポロジ情報及び冗長情報に基づき該トポロジテーブルを作成するトポロジテーブル作成部と、該トポロジテーブルに基づき該リングネットワーク上に受信したパケットを配信するパケット配信部とを備え、該パケット配信部が、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までの第1のホップ数を求め、該第1のホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、各リングから該パケットを配信する各冗長ノード装置の内で最遠端の冗長ノード装置までの第2のホップ数を求め、該第2のホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することを特徴としている。
まず、冗長ノード装置及び非冗長ノード装置の定義を以下に説明する。
(1)冗長ノード装置:自装置が属するリングネットワークと他のネットワークを冗長構成(複数のノード装置)で接続するノード装置であり、符号が“100z”で始まり、この符号“100z”で総称されることがある。
(2)非冗長ノード装置:自装置が属するリングネットワークのみに接続され、他のネットワークと接続されていないノード装置であり、符号が“100”で始まり、この符号“100”で総称される。単に、ノード装置100と称することがある。
なお、冗長ノード装置及び非冗長ノード装置を“ノード装置”と総称することがある。この場合、“ノード装置100z,100”と称することがある。
図1は、本発明に係る冗長ノード装置100z及び非冗長ノード装置100を含むネットワークを示しており、同図(1)には、2つのリングネットワーク(以下、単にリングと称することがある。)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”になり、該パケットは削除され、リング上を不要なパケットが周回することがなくなる。
そして、本発明においては、該パケット配信部、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までの第1のホップ数を求め、該第1のホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、各リングから該パケットを配信する各冗長ノード装置の内で最遠端の冗長ノード装置までの第2のホップ数を求め、該第2のホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することにより、それぞれ、イーストリング及びウエストリングの最遠端の冗長ノード装置でパケットの生存時間(TTL)は“0”になり、該パケットは削除され、イースト及びウエスト双方のリングが使用されると共に、不要なパケットが周回することがなくなる。
なお、各ノード装置は、独自に上記のパケット配信方式のいずれかを、使用帯域を最も改善するように選択することができる。
また、本発明においては、該トポロジテーブルに該複数の冗長ノード装置の共通アドレスを登録し、該パケット配信部は、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することができる。
これにより、各ノード装置は、現用系冗長ノード装置経由のパケットを共通アドレス宛てで配信することが可能になり、各ノード装置は、送出したパケットが経由する現用系の冗長ノード装置を指定する必要がなくなる。
また、本発明においては、該トポロジテーブル作成部は、それぞれ、該トポロジテーブルに複数のネットワークに対応した異なる複数の共通アドレスを登録し、該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することができる。
これにより、該リングネットワークに複数のネットワークを複数の冗長ノード装置を介して接続することが可能になる。
また、本発明においては、該トポロジテーブル作成部は、複数のネットワークを該異なる複数の共通アドレスを1つの該冗長ノード装置に対応付けて登録することができる。
これにより、1つの冗長ノード装置で該リングネットワークを複数のネットワークに接続することが可能になる。
また、本発明においては、該冗長情報に冗長グループ情報を含ませることができる。
すなわち、2つ以上のネットワークにそれぞれ冗長ノード装置を配してリングネットワークを接続する場合、これを接続する複数の冗長ノード装置を、その接続するネットワークに対応付けてグループ化する。冗長ノード装置は、自装置が属するグループを冗長グループ情報として冗長情報に含めることが可能である。これによって、2つ以上のネットワークを自装置が属するリングネットワークに接続することが可能になる。
また、本発明においては、該パケット配信部が、送信管理テーブルにパケットの送信元アドレス情報を自ノード装置の動作状態(現用系であるか予備系であるか)に拘らず登録し、該登録情報を参照して冗長ノード装置切替後のパケットの配信を行うことができる。
一般的に、パケット配信部は、パケットの送信元アドレス情報を管理する送信管理テーブル(例えば、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ノード冗長機能を実装することが可能になり、ファイバ等のネットワークリソースを効率的に使用したリングネットワークの信頼性及び性能が向上する。
冗長ノード装置の構成実施例
図2は、本発明の冗長ノード装置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を備えている。
非冗長ノード装置の構成実施例
図3は、本発明の非冗長ノード装置(以下、単にノード装置と称することがある。)100(図2に示した冗長ノード装置100z以外のノード装置)の構成実施例を示している。このノード装置100が、冗長ノード装置100zと異なる点は、冗長リンク300zが無く、RPRカード30の構成は、冗長ノード装置100zのRPRカード30の構成と同じである。
図2及び図3で示した冗長ノード装置100z及びノード装置100には、以下のパラメータ(1)〜(7)を初期設定として入力することが可能である。
(1)冗長ノードイネーブル/ディスエーブル:リング上の全てのノード装置及び冗長ノード装置に設定されるパラメータであり、自ノード装置が、冗長ノード装置であるか否かを示す。
(2)優先度:冗長ノードイネーブル/ディスエーブルパラメータが“イネーブル”に設定された冗長ノード装置のみに設定されるパラメータであり、現用系/予備系を決定するためのノード装置優先度。
(3)個別アドレス:リング上の全てのノード装置に設定されるパラメータである。リング上で自ノード装置を示す個別アドレスであり、リング上の他のノード装置のアドレス値と重複してはならない。
(4)共通アドレス:冗長ノード装置のみに設定されるパラメータであり、リング上で冗長ノード装置の共通アドレスであり、リング上の個別アドレス値と重複してはならない。
(5)送信タイマ値:冗長ノード装置のみに設定されるパラメータであり、キープアライブパケット700xの送出間隔タイマ値。
(6)受信タイムアウト値:冗長ノード装置のみに設定されるパラメータであり、メイト系(同一外部ネットワークに対する冗長リンクを持つ、自冗長ノード装置ではない冗長ノード装置)からのキープアライブパケット700xの受信タイムアウトを検出するためのタイムアウト値。
(7)冗長タイプ:冗長ノード装置のみに設定されるパラメータであり、自装置の状態タイプが負荷分散タイプ又は非負荷分散タイプのいずれであるかを示す。
ここで、負荷分散タイプは、リング上の同一冗長グループ(共通アドレスが同じグループ)内において、複数の冗長ノード装置100zが同時に現用系になることを許容する動作モードを示し、非負荷分散タイプは、同時に1つの現用系冗長ノード装置100zのみが許容される動作モードを示している。
上記のパラメータ(1)〜(7)は、ネットワーク構成を意識したオペレータやネットワーク監視装置等により各ノード装置に初期設定される。
ここで、ノード装置100及び冗長ノード装置100zの動作実施例を説明する前に、まず、冗長ノード装置100z_11及び100z_12(図1(1)参照。)が送出するキープアライブパケット700xのフォーマット、並びに各冗長ノード装置100zの状態遷移を、以下に説明する。
図4は、冗長ノード装置100zから送出されるキープアライブパケット(メッセージ)700xの構成例を示している。このパケット700xとして、RPRパケット種別の内の制御パケット(特に、この制御パケットの内のOAMメッセージ)を使用している。この制御パケットをキープアライブパケット700xとして使用することにより、パケット700xの終端処理が簡易になると共に、パケット700xのリング200_1外への流出を防ぐことが可能になる。なお、本発明のキープアライブパケット700xは、RPR制御パケットに限定されるものでない。
パケット700xが、図21に示したRPRパケット700と異なる点は、Control_Type771及びControl_Version772が追加され、PDU780に、1バイトのタイプ781、1バイトの長さ782、1バイトの優先度783、6バイトの共通アドレス784、4ビットの冗長状態785、及び4ビットの冗長タイプ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を送出することも可能である。これにより、冗長ノード装置切替を高速で行うことが可能になる。
図5は、冗長ノード装置100zの状態遷移を示している。同図(1)には、冗長ノード装置100zが取り得る状態、すなわち、冗長ノード装置100zが、負荷分散タイプで動作するときの初期状態ST10、現用状態ST11、及び予備状態ST12と、非負荷分散タイプで動作するときの初期状態ST20、現用状態ST21、及び予備状態ST22が示されている。負荷分散タイプの状態ST10,ST11,及びST12と、非負荷分散タイプの状態ST20,ST21,及びST22は、それぞれ、同じであるが、その遷移条件が異なっている。冗長ノード装置100zの各状態における動作を以下に説明する。
(1)初期状態ST10,ST20:冗長ノード装置100zは、冗長パスとリングパスをブロッキング状態とし、他に冗長ノード装置100zに、「自装置の冗長状態785」=“初期状態”を示すキープアライブメッセージ700x(図4参照。)を送信する。
(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(図4参照。)で各ノード装置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)
図7は、本発明のノード装置100,100zの動作実施例(1)を示しており、この実施例(1)は、図6に示した基本的なリングネットワーク構成及びリングトポロジテーブル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と同じである。
図7では、ノード装置100z_13及び100z_15が、冗長ノード装置(イネーブル72=“ON”)であり、その共通アドレス=“100z1”であり、冗長タイプ73=“1(負荷分散タイプ)”で動作する。また、冗長ノード装置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(図4参照。)の送信を開始し、このキープアライブメッセージ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上に現用系の冗長ノード装置が自ノード装置を含めて複数(この場合は2つ)存在すると認識し、負荷分散タイプのフォーワーディング処理を行う。また、冗長ノード装置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値を1だけ減算する。この結果、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)
図8は、本発明の動作実施例(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)
図9は、本発明の動作実施例(3)を示している。実施例(1)及び(2)では、ノード装置100_11から送出されたRPRパケット700は、リング200_1上を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”以上の場合は、冗長ノード装置を、イースト方向からのパケットを受信する冗長ノード装置と、ウエスト方向からのパケットを受信する冗長ノード装置との2つのグループに分け、各グループの中で最遠端の冗長ノード装置までのホップ数を、それぞれ、イーストホップ数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に接続されるネットワークは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(図4参照。)には、新たに冗長ノード装置グループID(図示せず。)を追加する。このグループIDは、他のパラメータと同様に、ノード装置100zの立ち上がり時やリセット時に設定される。これにより、各ノード装置100,100zは、冗長ノード装置100zの属するグループを認識することが可能になる。なお、パケット700xの共通アドレス784がグループ毎に異なることをため、共通アドレス784に基き冗長グループを認識することも可能であり、この場合、キープアライブパケット700xにグループIDは必要ない。ここでは、信頼性の高いトポロジテーブルを作成するため、キープアライブパケット700xにグループIDフィールドを追加する。
これにより、リング200_1に、複数のネットワーク(同図では、リング200_2、200_3)を、ネットワーク毎に複数の冗長ノード装置で接続することが可能になる。
動作実施例(6)
図12は、本発明の動作実施例(6)を示している。この実施例(6)では、1つの冗長ノード装置100zが複数の冗長グループに属することを可能にする。すなわち、1つの冗長ノード装置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(図4参照。)には、複数の冗長グループに関する情報を格納することを可能にする。冗長ノード装置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(図4参照)に設定したキープアライブメッセージ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は、ノード装置を通過する毎に“1”だけ減算される。そこで、送信元冗長ノード装置から自装置までのホップ数=“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)では、パケット配信部は複数の現用系の冗長ノード装置が同一のパケットを取り込まないようにするための排他制御機能として、冗長ノード装置の優先度を用いる。すなわち、パケット配信部は、リング上に複数の同一冗長グループの冗長ノード装置が存在する場合、フィルタリング結果により選択されパケットを、例えば、自装置の優先度が一番高い場合受信する。これにより、複数の冗長ノード装置が同一のパケットを受信してフォワーディングすることを防ぐことが可能になる。
(付記1)
複数の現用系冗長ノード装置で他のネットワークと接続されたリングネットワークを構成する非冗長ノード装置であって、
トポロジテーブルと、
自装置のトポロジ情報を送出する送信部と、
該自装置のトポロジ情報と、非冗長ノード装置から受信したトポロジ情報並びに該冗長ノード装置から受信したトポロジ情報及び冗長情報とに基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
該トポロジテーブルに基づき、受信したパケットを該リングネットワーク上に配信するパケット配信部と、
を備えたことを特徴とする非冗長ノード装置。
(付記2)
リングネットワークを構成すると共に他のネットワークと接続された冗長ノード装置であって、
トポロジテーブルと、
自装置のトポロジ情報及び冗長情報を送出する送信部と、
該自装置のトポロジ情報及び該冗長情報と、非冗長ノード装置から受信したトポロジ情報並びに冗長ノード装置から受信したトポロジ情報及び冗長情報に基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
該トポロジテーブルに基づき該リングネットワーク上に受信したパケットを配信するパケット配信部と、
を備えたことを特徴とする冗長ノード装置。
(付記3)上記の付記2において、
該冗長情報に基づき、該複数の現用系冗長ノード装置が動作するモードの他に、特定の冗長ノード装置のみを現用系とする動作モードを選択可能にするための制御部を、さらに備えたことを特徴とする冗長ノード装置。
(付記4)上記の付記2において、
該パケット配信部は、自ノード装置が現用系であるとき、該トポロジテーブルに示された現用系の冗長ノード装置の数、パケットの宛先アドレス、及び予め設定された演算に基づき、フォワーディングパケットを決定することを特徴とした冗長ノード装置。
(付記5)上記の付記1又は2において、
該パケット配信部が、該トポロジテーブルに基き該リングネットワーク上のノード装置数を知り、該冗長ノード装置宛のパケットの生存時間に、該ノード装置数以上の値を格納し、受信したパケットの送信元アドレスと自装置のアドレスが同じとき、該パケットを削除することを特徴とするノード装置。
(付記6)上記の付記1又は2において、
該パケット配信部が、該トポロジテーブルに基き該リングネットワーク上のノード装置数を知り、該冗長ノード装置宛のパケットの生存時間に該ノード装置数を格納して配信することを特徴とするノード装置。
(付記7)上記の付記1又は2において、
該パケット配信部が、該トポロジテーブルに基きイーストリング又はウエストリングにおいて自ノード装置を起点として最遠端にある冗長ノード装置までのホップ数を求め、該ホップ数を冗長ノード装置宛てのパケットの生存時間に格納して、最遠端を示すリング側にパケットを送出することを特徴とするノード装置。
(付記8)上記の付記1又は2において、
該パケット配信部が、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までのホップ数を求め、このホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、この冗長ノード装置の内で最遠端の冗長ノード装置までのホップ数を求め、このホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することを特徴とするノード装置。
(付記9)上記の付記1又は2において、
該トポロジテーブルに該複数の冗長ノード装置の共通アドレスを登録し、
該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することを特徴としたノード装置。
(付記10)上記の付記9において、
該トポロジテーブル作成部が、それぞれ、該トポロジテーブルに複数のネットワークに対応した異なる複数の共通アドレスを登録し、
該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することを特徴としたノード装置。
(付記11)上記の付記10において、
該トポロジテーブル作成部が、複数のネットワークを該異なる複数の共通アドレスを1つの該冗長ノード装置に対応付けて登録することを特徴としたノード装置。
(付記12)上記の付記1又は2において、
該冗長情報に冗長グループ情報が含むことを特徴とするノード装置。
(付記13)上記の付記2において、
該パケット配信部が、送信管理テーブルにパケットの送信元アドレス情報を自ノード装置の動作状態に拘らず登録し、該登録情報を参照して冗長ノード装置切替後のパケットの配信を行うことを特徴とした冗長ノード装置。
(付記14)上記の付記2において、
該パケット配信部が、自装置の送信管理テーブルを、同一冗長グループの他の冗長ノード装置の送信管理テーブルと同期を取ることを特徴とした冗長ノード装置。
(付記15)上記の付記1又は2おいて、
該パケット配信部が、他の冗長ノード装置から受信したパケットの受信リング又は生存時間が変化したときから、予め設定された時間経過後まで該冗長ノード装置から受信したパケットを廃棄することを特徴としたノード装置。
(付記16)上記の付記1又は2において、
該パケット配信部が、他の冗長ノード装置から受信したパケットの受信リング又は生存時間が変化を検出したとき、該冗長ノード装置切替が発生したことを示すパケットをリング上にブロードキャストし、他のノード装置から該ブロードキャストパケットを受信したときから、予め設定された時間経過後まで該冗長ノード装置から受信したパケットを廃棄することを特徴としたノード装置。
(付記17)上記の付記2において、
該パケット配信部が、他の冗長ノード装置の状態変化を検出したときから、予め設定された時間経過後まで、該他の冗長ノード装置からの受信パケットを送信しないことを特徴としたノード装置。
(付記18)上記の付記2において、
冗長状態を指定する状態切替コマンドに基き、自装置の冗長状態を切り替える制御部をさらに備えたことを特徴とした冗長ノード装置。
(付記19)上記の付記1又は2において、
該冗長情報に、これを送出した冗長ノード装置の冗長状態を含み、該冗長状態を受信した該トポロジテーブル作成部が、該冗長ノード装置の該冗長状態を該トポロジテーブルに登録することを特徴とした冗長ノード装置。
(付記20)上記の付記1又は2において、
該リングネットワークがRPRリングネットワークであり、該送信部及び該パケット配信部がRPRに対応していることを特徴としたノード装置。
(付記21)上記の付記20において、
該パケット配信部が、受信したRPRパケットのTLL_BASE及びTTLフィールドの設定値を用いてパケットの送信元の冗長ノード装置を特定することを特徴とするノード装置。
(付記22)上記の付記1又は2において、
該パケット配信部は、送信元が予備系の冗長ノード装置である受信パケットを廃棄すると共に、このパケット受信を示す警告を表示することを特徴としたノード装置。
(付記23)上記の付記2において、
該パケット配信部が、OAMパケットの送信元アドレスに自装置の個別アドレスを与えることを特徴とした冗長ノード装置。
(付記24)上記の付記2において、
該パケット配信部は、受信パケットを、その属性情報及び自装置の優先度に基づきフォーワーディングするか否かを決定することを特徴とした冗長ノード装置。
(付記25)上記の付記20において、
該送信部が、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 状態切替コマンド
図中、同一符号は同一又は相当部分を示す。


Claims (7)

  1. 複数の現用系冗長ノード装置で他のネットワークと接続されたリングネットワークを構成する非冗長ノード装置であって、
    トポロジテーブルと、
    自装置のトポロジ情報を送出する送信部と、
    該自装置のトポロジ情報と、別の非冗長ノード装置から受信したトポロジ情報並びに該冗長ノード装置から受信したトポロジ情報及び冗長情報とに基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
    該トポロジテーブルに基づき、受信したパケットを該リングネットワーク上に配信するパケット配信部と、
    を備え、該パケット配信部が、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までの第1のホップ数を求め、該第1のホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、各リングから該パケットを配信する各冗長ノード装置の内で最遠端の冗長ノード装置までの第2のホップ数を求め、該第2のホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することを特徴とする非冗長ノード装置。
  2. リングネットワークを構成すると共に他のネットワークと接続された冗長ノード装置であって、
    トポロジテーブルと、
    自装置のトポロジ情報及び冗長情報を送出する送信部と、
    該自装置のトポロジ情報及び該冗長情報と、別の非冗長ノード装置から受信したトポロジ情報並びに冗長ノード装置から受信したトポロジ情報及び冗長情報に基づき該トポロジテーブルを作成するトポロジテーブル作成部と、
    該トポロジテーブルに基づき該リングネットワーク上に受信したパケットを配信するパケット配信部と、
    を備え、該パケット配信部が、該トポロジテーブルに基きイーストリング及びウエストリングにおいて、それぞれ、自ノード装置を起点として各冗長ノード装置までの第1のホップ数を求め、該第1のホップ数に基き、イーストリング又はウエストリングから該パケットを配信する冗長ノード装置を各リング上の使用帯域が最適になるように決定し、各リングから該パケットを配信する各冗長ノード装置の内で最遠端の冗長ノード装置までの第2のホップ数を求め、該第2のホップ数を生存時間に格納したパケットを、イーストリング側及びウエストリング側に送出することを特徴とする冗長ノード装置。
  3. 請求項2において、
    該パケット配信部は、自ノード装置が現用系であるとき、該トポロジテーブルに示された現用系の冗長ノード装置の数、パケットの宛先アドレス、及び予め設定された演算に基づき、フォワーディングパケットを決定することを特徴とした冗長ノード装置。
  4. 請求項1又は2において、
    該トポロジテーブルに該複数の冗長ノード装置の共通アドレスを登録し、
    該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することを特徴としたノード装置。
  5. 請求項1又は2において、
    該パケット配信部が、該トポロジテーブルに基き該リングネットワーク上のノード装置数を知り、該冗長ノード装置宛のパケットの生存時間に該ノード装置数を格納して配信することを特徴とするノード装置。
  6. 請求項4において、
    該トポロジテーブル作成部が、それぞれ、該トポロジテーブルに複数のネットワークに対応した異なる複数の共通アドレスを登録し、
    該パケット配信部が、該共通アドレスを用いた該冗長ノード装置宛てのパケットを送出することを特徴としたノード装置。
  7. 請求項6において、
    該トポロジテーブル作成部が、複数のネットワークを該異なる複数の共通アドレスを1つの該冗長ノード装置に対応付けて登録することを特徴としたノード装置。
JP2004314580A 2004-10-28 2004-10-28 ノード装置 Expired - Fee Related JP4459018B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004314580A JP4459018B2 (ja) 2004-10-28 2004-10-28 ノード装置
US11/045,063 US7619987B2 (en) 2004-10-28 2005-01-31 Node device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004314580A JP4459018B2 (ja) 2004-10-28 2004-10-28 ノード装置

Publications (2)

Publication Number Publication Date
JP2006129071A JP2006129071A (ja) 2006-05-18
JP4459018B2 true JP4459018B2 (ja) 2010-04-28

Family

ID=36261726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004314580A Expired - Fee Related JP4459018B2 (ja) 2004-10-28 2004-10-28 ノード装置

Country Status (2)

Country Link
US (1) US7619987B2 (ja)
JP (1) JP4459018B2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005027427A1 (ja) * 2003-09-10 2005-03-24 Fujitsu Limited ノード冗長方法、インタフェースカード、インタフェースデバイス、ノード装置およびパケットリングネットワークシステム
CN1697417B (zh) * 2004-05-10 2011-04-20 华为技术有限公司 一种基于rpr媒质接入控制的信号传输方法和装置
JP4526423B2 (ja) * 2005-03-17 2010-08-18 富士通株式会社 リング間接続方法及び装置
CN101189838B (zh) 2005-03-31 2014-09-10 日本电气株式会社 环形网络***、故障恢复方法和节点
US8155126B1 (en) * 2005-06-03 2012-04-10 At&T Intellectual Property Ii, L.P. Method and apparatus for inferring network paths
CN1941730A (zh) * 2005-09-26 2007-04-04 华为技术有限公司 实现rpr桥冗余保护的方法
CN100488169C (zh) * 2005-11-11 2009-05-13 华为技术有限公司 一种桥接网络中的数据处理方法及一种桥接网络
US7609618B1 (en) * 2005-12-15 2009-10-27 Cisco Technology, Inc. Dynamically controlling HSRP preemption dependent on stateful NAT convergence
JP4836008B2 (ja) * 2006-01-06 2011-12-14 日本電気株式会社 通信システム、通信方法、ノード、およびノード用プログラム
JP4935681B2 (ja) * 2006-01-11 2012-05-23 日本電気株式会社 パケットリングネットワークシステム、パケット転送方法、冗長化ノード、およびパケット転送プログラム
EP2053780B1 (en) * 2006-07-28 2014-10-08 ZTE Corporation A distributed master and standby managing method and system based on the network element
US8265073B2 (en) * 2006-10-10 2012-09-11 Comcast Cable Holdings, Llc. Method and system which enables subscribers to select videos from websites for on-demand delivery to subscriber televisions via a television network
US8184650B2 (en) * 2007-03-02 2012-05-22 Siemens Aktiengesellschaft Filtering of redundant frames in a network node
WO2008107883A2 (en) * 2007-03-08 2008-09-12 Corrigent Systems Ltd. Prevention of frame duplication in interconnected ring networks
ATE434316T1 (de) 2007-04-13 2009-07-15 Alcatel Lucent Telekommunikationsnetz mit verbindungsschutz
US7920560B2 (en) * 2007-06-12 2011-04-05 Hewlett-Packard Development Company, L.P. Method for detecting topology of computer systems
JP5061748B2 (ja) 2007-06-21 2012-10-31 日本電気株式会社 パケットリングネットワークシステム、パケット転送方法
JP2009016905A (ja) 2007-06-29 2009-01-22 Fujitsu Ltd パケットネットワークシステム
US20090016384A1 (en) * 2007-07-12 2009-01-15 Tellabs Operations, Inc. Method and apparatus for distributing synchronization status messages over a Resilient Packet Ring (RPR)
JP5012485B2 (ja) * 2007-12-19 2012-08-29 富士通株式会社 冗長方法及びスイッチ装置
US7668117B2 (en) * 2008-01-25 2010-02-23 Intelliserv, Inc. Topology maintenance and discovery facility for downhole networks
US7668118B2 (en) * 2008-01-25 2010-02-23 Intelliserv, Inc. Directional topology discovery for downhole networks
US8392610B2 (en) * 2008-01-30 2013-03-05 International Business Machines Corporation Method, apparatus and system to dynamically manage logical path resources
JP2009188673A (ja) * 2008-02-05 2009-08-20 Fujitsu Ltd 伝送装置およびパス設定方法
US7975166B2 (en) 2008-03-05 2011-07-05 Alcatel Lucent System, method and computer readable medium for providing redundancy in a media delivery system
CN101677267B (zh) * 2008-09-17 2013-03-27 中兴通讯股份有限公司 一种跨环转发协议帧的方法及以太网多环中的共享节点
JP5370017B2 (ja) * 2009-06-15 2013-12-18 富士通株式会社 中継システム及び中継方法
JP5434318B2 (ja) * 2009-07-09 2014-03-05 富士通株式会社 通信装置および通信パス提供方法
US8634289B2 (en) * 2009-12-31 2014-01-21 Alcatel Lucent Efficient protection scheme for MPLS multicast
ES2411081T3 (es) * 2010-07-30 2013-07-04 Siemens Aktiengesellschaft Prevención de bucles de transmisión en una red en anillo redundante
JP5454947B2 (ja) * 2011-02-18 2014-03-26 株式会社東芝 ネットワークシステムおよびマスター伝送装置
CN102301662B (zh) * 2011-06-27 2013-10-02 华为技术有限公司 媒体访问控制mac地址保护方法和交换机
US8908675B2 (en) 2012-01-13 2014-12-09 Honeywell International Inc. Virtual pairing for consistent data broadcast
US8949983B2 (en) 2012-02-21 2015-02-03 Honeywell International Inc. System and method for integrity reconstitution
JP5812934B2 (ja) * 2012-05-15 2015-11-17 三菱電機株式会社 通信システムおよび通信制御方法
JP5912923B2 (ja) * 2012-06-29 2016-04-27 アズビル株式会社 リング/スター型イーサネットシステム、リング/スター型スイッチ、およびフレーム転送制御方法
FR3002393B1 (fr) * 2013-02-15 2016-06-24 Thales Sa Architecture de transmission d'informations notamment pour application a l'avionique embarquee
FR3002394B1 (fr) 2013-02-15 2015-03-27 Thales Sa Architecture de transmission d'informations a pont notamment pour application a l'avionique embarquee
US9124507B1 (en) * 2014-04-10 2015-09-01 Level 3 Communications, Llc Proxy of routing protocols to redundant controllers
EP2882169B1 (en) * 2014-08-19 2017-10-04 ABB Schweiz AG Redundant content bridging between substation communication networks
WO2016201694A1 (en) * 2015-06-19 2016-12-22 Honeywell International Inc. Method, device and system for communicating in a ring network
CN107171883B (zh) 2016-03-08 2020-04-28 华为技术有限公司 检测转发表的方法、装置和设备
WO2017210208A1 (en) 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Keepalive technique in a network device
US10564662B2 (en) * 2017-06-12 2020-02-18 GM Global Technology Operations LLC Systems and methods for determining pedal actuator states
JP6466630B1 (ja) 2018-04-27 2019-02-06 三菱電機株式会社 監視装置、ネットワークシステム、トポロジ管理方法および監視プログラム
CN110932882B (zh) * 2019-10-21 2022-11-25 国网上海市电力公司 一种hsr冗余网络***网络故障定位方法
US11483209B2 (en) * 2019-11-19 2022-10-25 Advanced Micro Devices, Inc. Forward progress mechanisms for a communications network having multiple nodes
CN113079090A (zh) * 2020-01-06 2021-07-06 华为技术有限公司 一种流量传输的方法、节点和***
US11985055B1 (en) * 2021-09-13 2024-05-14 Amazon Technologies, Inc. Determining hop count distribution in a network

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01101047A (ja) 1987-10-14 1989-04-19 Fujitsu Ltd 回線負荷分散方式
JPH03169139A (ja) * 1989-11-29 1991-07-22 Hitachi Ltd ネツトワーク構成制御方式
JP3064398B2 (ja) * 1990-11-16 2000-07-12 株式会社日立製作所 ネットワーク構成制御方式
US6065052A (en) * 1996-07-01 2000-05-16 Sun Microsystems, Inc. System for maintaining strongly sequentially ordered packet flow in a ring network system with busy and failed nodes
US5864677A (en) * 1996-07-01 1999-01-26 Sun Microsystems, Inc. System for preserving sequential ordering and supporting nonidempotent commands in a ring network with busy nodes
US6952396B1 (en) * 1999-09-27 2005-10-04 Nortel Networks Limited Enhanced dual counter rotating ring network control system
US6654341B1 (en) * 1999-10-19 2003-11-25 Ciena Corporation Virtual line switching ring
JP3790097B2 (ja) * 2000-12-04 2006-06-28 富士通株式会社 リングネットワークの局認識方法
JP3689007B2 (ja) * 2001-02-06 2005-08-31 三菱電機株式会社 ネットワークシステムおよびネットワーク接続装置
JP3614118B2 (ja) * 2001-05-23 2005-01-26 日本電気株式会社 リングシステムのノード装置及びそれを用いたマルチスパニングツリー構築システム並びにその方法
JP3606229B2 (ja) * 2001-05-30 2005-01-05 日本電気株式会社 プロテクション方式、レイヤ2機能ブロック、ノードおよびリングネットワーク
JP2003143169A (ja) * 2001-11-01 2003-05-16 Nec Corp ルーティングブリッジシステム、ノード、接続ノード、及びルーティングプログラム
JP3937855B2 (ja) * 2002-02-06 2007-06-27 日本電気株式会社 マルチリング制御方法およびそれを用いるノード並びに制御プログラム
US7292535B2 (en) * 2002-05-23 2007-11-06 Chiaro Networks Ltd Highly-available OSPF routing protocol
FI20021287A0 (fi) * 2002-06-28 2002-06-28 Nokia Corp Kuormituksen jako tietoliikennejärjestelmässä
US7046621B2 (en) * 2002-07-10 2006-05-16 I/O Controls Corporation Redundant multi-fiber optical ring network
JP4056864B2 (ja) 2002-11-26 2008-03-05 富士通株式会社 中継装置
US20040103179A1 (en) * 2002-11-26 2004-05-27 Alcatel Canada Inc. Topology management of dual ring network
WO2004064335A1 (ja) * 2003-01-15 2004-07-29 Fujitsu Limited リング型ネットワークでのマルチキャスト通信における帯域有効利用方法
JP4257509B2 (ja) * 2003-06-27 2009-04-22 日本電気株式会社 ネットワークシステム、ノード装置、冗長構築方法、および冗長構築プログラム
WO2005027427A1 (ja) * 2003-09-10 2005-03-24 Fujitsu Limited ノード冗長方法、インタフェースカード、インタフェースデバイス、ノード装置およびパケットリングネットワークシステム
US8009556B2 (en) * 2003-10-17 2011-08-30 Ip Infusion, Inc. System and method for providing redundant routing capabilities for a network node
JP2005184666A (ja) * 2003-12-22 2005-07-07 Mitsubishi Electric Corp リング型ネットワーク装置、リング型ネットワークの冗長化方法およびリング型ネットワークのノード装置
CN1859381A (zh) * 2005-10-08 2006-11-08 华为技术有限公司 一种在弹性分组环上实现虚拟路由冗余协议的方法及***

Also Published As

Publication number Publication date
US20060092856A1 (en) 2006-05-04
US7619987B2 (en) 2009-11-17
JP2006129071A (ja) 2006-05-18

Similar Documents

Publication Publication Date Title
JP4459018B2 (ja) ノード装置
US7724644B2 (en) Node redundancy method, interface card, interface device, node device, and packet ring network system
JP4836008B2 (ja) 通信システム、通信方法、ノード、およびノード用プログラム
JP4743201B2 (ja) パケットリングネットワークシステム、パケットリング間の接続方法、およびリング間接続ノード
US8325611B2 (en) Scaling OAM for point-to-point trunking
US7599315B2 (en) Topology discovery in a dual ring network
JP4526423B2 (ja) リング間接続方法及び装置
JP4790591B2 (ja) リングノード装置
US20080222447A1 (en) Prevention of frame duplication in interconnected ring networks
WO2006039865A1 (fr) Procede permettant de mettre en oeuvre une decouverte automatique de structure de topologie dans le reseau boucle mpls
JP2006270169A (ja) パケット中継装置
JP2009005053A (ja) パケットリングネットワークシステム、パケット転送方法
US8243741B2 (en) Frame switching device and address learning method
JPWO2007129699A1 (ja) 通信システム、ノード、端末、通信方法、およびプログラム
US20080316919A1 (en) Trunk interface in resilient packet ring, method and apparatus for realizing the trunk interface
US20080304480A1 (en) Method for Determining the Forwarding Direction of Ethernet Frames
JP4637021B2 (ja) 伝送装置、伝送路リング間接続方法および伝送路リング間接続プログラム
EP2068500B1 (en) Method and system for flooding and multicast routing in an ad-hoc network
JP2009044562A (ja) マルチリングrprノード装置
JP4299658B2 (ja) ネットワーク制御システム及び制御方法
JP2007243288A (ja) 通信システム、ノード、通信方法、およびノード用プログラム
EP2117199B1 (en) Transmission method, system and router based on the border gateway protocol
JP5004051B2 (ja) フラッディングリレーパケット方式を使用したメッシュ型ネットワーク網及びそのネットワーク網に用いられるノード
JP2005184666A (ja) リング型ネットワーク装置、リング型ネットワークの冗長化方法およびリング型ネットワークのノード装置
JP2012175425A (ja) 中継装置および中継方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100209

R150 Certificate of patent or registration of utility model

Ref document number: 4459018

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees