JPWO2006129701A1 - パケットリングネットワークシステム、パケット転送方法、およびノード - Google Patents

パケットリングネットワークシステム、パケット転送方法、およびノード Download PDF

Info

Publication number
JPWO2006129701A1
JPWO2006129701A1 JP2007519029A JP2007519029A JPWO2006129701A1 JP WO2006129701 A1 JPWO2006129701 A1 JP WO2006129701A1 JP 2007519029 A JP2007519029 A JP 2007519029A JP 2007519029 A JP2007519029 A JP 2007519029A JP WO2006129701 A1 JPWO2006129701 A1 JP WO2006129701A1
Authority
JP
Japan
Prior art keywords
packet
node
ringlet
received
client device
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.)
Granted
Application number
JP2007519029A
Other languages
English (en)
Other versions
JP5152642B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007519029A priority Critical patent/JP5152642B2/ja
Publication of JPWO2006129701A1 publication Critical patent/JPWO2006129701A1/ja
Application granted granted Critical
Publication of JP5152642B2 publication Critical patent/JP5152642B2/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • 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

Landscapes

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

Abstract

ノード901,902は同一のアドレスを有する。リングレット910aからTTLが0でないブロードキャストパケットを受信すると、ノード901,902のフォワーディング回路51がそれぞれCopyおよびTransitを行い、各ノードのアドレステーブル60がCopyされたブロードキャストパケットに基づいてアドレスを学習する。2つのノードに共通のアドレスを宛先とするユニキャストパケットをリングレット910aから受信すると、ノード901のフォワーディング回路51はCopyおよびTransitを行い、ノード902のフォワーディング回路51は、Stripを行って、各アドレステーブルが学習を行う。ノード902のフィルタ回路は、リングレット910aからのパケット通過を禁止する。

Description

本発明は、パケットリングネットワークシステム、パケット転送方法、ノード、およびノード用プログラムに関し、特に、ノードを冗長化したパケットリングネットワークシステムと、そのようなパケットリングネットワークシステムに適用可能なパケット転送方法、ノード、ノード用プログラムに関する。
パケットリングネットワークとしてIEEE802.17で標準化されているRPR(Resilient Packet Ring )が挙げられる。RPRは、リング状の伝送媒体へのアクセスを提供するMAC層プロトコルであり、キャリアクラスの高速障害回復、ネットワーク帯域の有効活用化および最短経路転送を提供することが可能である。
図14は、RPRのネットワーク構成例を示す説明図である。図14に示すように、RPRネットワークに含まれるパケットリングは、互いに逆方向にパケットを転送する2つのリングレット(ringlet)1101,1102を有する。また、パケットリングでは、複数のノードがリング状に接続される。図14では、4つのノード1103a,1103b,1103c,1103dがパケットリングに接続されている場合を示している。パケットリング上の各ノードには、それぞれRPR MACアドレスが付与されている。ネットワークが構築されるとノード間で制御パケットのやり取りが行われ、それぞれのノードは、各ノード間のホップ数などの情報を収集し、ネットワークのトポロジ情報を獲得する。
なお、ノードとは、通信ネットワーク内に設けられ、通信ネットワークを介して通信を行う装置である。パケットリングに設けられたノードは、パケットリング内の他のノードや自身と接続されるクライアント装置(ユーザ端末)と通信を行う装置である。
また、パケットリング上の各ノードには、ユーザ端末が接続される場合もある。図14に示す例では、ノード1103aにユーザ端末1104aが接続され、ノード1103bにユーザ端末1104bが接続されている場合を示している。
以下の説明では、RPRで転送されるRPRパケットのうち、データパケットをRPRデータパケットと記す場合がある。同様に、RPRパケットのうち、制御用に用いられるパケットをRPR制御パケットあるいは制御パケットと記す場合がある。
IEEE802.17で標準化されているRPRデータパケットについて説明する。図15は、RPRフォーマットを示す説明図である。ユーザ端末がノードにパケットを送信する場合、ユーザデータパケット211を送信する。ユーザデータパケット211は、そのユーザデータパケットの送信先のユーザ端末のMACアドレス(MAC DA)212、そのユーザデータパケットの送信元ユーザ端末のMACアドレス(MAC SA)213、送信データ214、およびFCS(Frame Check Sequence)215を含んでいる。ノードは、ユーザ端末からユーザデータパケットを受信した場合、そのユーザデータパケットをカプセル化してRPRデータパケット221を生成し、RPRデータパケット221をノード間で送受信する。ユーザデータパケット211はカプセル化され、PRRデータパケット221では、データ226として格納される。また、RPRパケット221は、送信先ノードのMACアドレス(RPR MAC SA)225、送信元ノードのMACアドレス(RPR MAC DA)224、Base Controlフィールド223、TTL(Time To Live)フィールド222、FCS227を含む。Base Controlフィールド223には、転送に用いるリングレットを指定する情報や、制御パケット等のパケットの種類を識別する識別情報が含まれる。TTLフィールド222は、パケットが永久にリングを周回することを防ぐために利用される。RPRデータパケットフォーマットの詳細については、非特許文献1に記載されている。
続いて、リング上の各ノードにおけるRPRデータパケットの送信、受信及び転送動作について説明する。
まず、ユニキャストデータパケット(ユニキャスト送信されるRPRデータパケット)の場合について説明する。各ノードは、リング上で転送されるRPRデータパケットを受信し、そのRPRデータパケットのRPR MAC DAが自ノードのRPR MACアドレスと一致した場合、そのRPRデータパケットをリング上から削除する。また、受信したRPRデータパケットのRPR MAC DAが自ノードのRPR MACアドレスと異なる場合、TTLをデクリメントした後、そのRPRデータパケットを、受信したリングレットと同一のリングレットに再び送出する。送信元ノードは、自らが送信したユニキャストデータパケットを受信した場合、そのユニキャストデータパケットをリング上から削除する。また、各ノードは、TTLが0となった時点で、そのRPRデータパケットをリング上から削除する。
また、ブロードキャストデータパケット(ブロードキャスト送信されるRPRデータパケット)の場合、各ノードは、受信したブロードキャストデータパケットのTTLをデクリメントした後に次のノードに転送する。ブロードキャストデータパケットの送信元ノードは、自らが送信したブロードキャストデータパケットを受信した場合、そのブロードキャストデータパケットをリング上から削除する。また、各ノードは、TTLが0となった時点で、そのRPRパケットをリング上から削除する。
IEEE802.17で標準化されているRPR制御パケット(制御パケット)について説明する。RPRネットワークに属するすべてのノードにおいてトポロジ・ディスカバリ機能、プロテクション機能、OAM(Operation,Administration and Maintenance)機能などの自律的な動作を可能とするために、それぞれのRPRノードが制御パケットをデータパス経由で送受信する。IEEE802.17では、各種機能(例えば、上記に例示した機能)について、それぞれ個別に制御パケットを定義している。ノード間における制御パケットの転送は、既に示したRPRデータパケットの転送と同様に行われる。
次に、図14に示すRPRネットワークにおいて、ノード1103aに接続されているユーザ端末1104aからノード1103bに接続されているユーザ端末1104bへデータを送信する動作について説明する。各ノードは、受信したRPRデータパケットにおいてカプセル化されている送信元ユーザ端末のMAC SA213(図15参照。)と送信元RPR MAC SA225(図15参照。)を対応付けて学習し、ユーザ端末のMACアドレスを検索キーとするRPR MACアドレスのデータベースすなわちFDB(Forwarding Data Base)を保持している。ユーザ端末1104aがリングにデータ(ユーザデータパケット)を送信すると、ノード1103aは、そのユーザデータパケットを受信する。ノード1103aは、受信したユーザデータパケットにおけるMAC DA212(図15参照)を検索キーとしてFDBを検索し、その結果をRPR MAC DA224(送信先ノードのMACアドレス。図15参照。)とする。また、ノード1103aは、自身のMACアドレスをRPR MAC SA225(送信元ノードのMACアドレス。図15参照。)とする。そして、ユーザ端末1104aから受信したユーザデータパケットをカプセル化する。さらに、ノード1103aは、トポロジデータベースを検索して、送信元ノードから送信先ノードへ最短経路を提供するリングレットの選択およびTTL値の設定を行い、RPRデータパケットをリングに送出する。
また、FDBを検索した結果、送信先となるユーザ端末のMACアドレスと、そのMACアドレスに対応するRPR MACアドレスとの対応付けが未学習であった場合、ノード1103aはフラッディング(Flooding)を行う。フラッディングにより送信されるRPRデータパケットのRPR MAC DAにはブロードキャストアドレスが設定され、そのRPRデータパケットは、リング上の全てのノードで受信される。また、フラッディングの結果、ユーザ端末1104aが送信したユーザデータパケットが送信先ユーザ端末1104bに受信される。そして、ユーザ端末1104bがユーザ端末1104aに返信を行う。返信時には、ユーザ端末1104bがユーザデータパケットの送信元となり、ユーザ端末1104aが送信先となる。また、ノード1103bがRPRパケットの送信元となる。ユーザ端末1104bからの返信が行われると、ノード1103aにおいてユーザ端末1104bのMACアドレスとノード1103bのRPR MACアドレスとの対応が学習される。従って、再度、ユーザ端末1104aがユーザ端末1104bにユーザデータパケットを送信する場合、ノード1103aは、ユーザデータパケットに含まれるMAC DA212をキーにして、ノード1103bのRPR MACアドレスを検索し、その検索結果をRPR MAC DA224として、ユニキャスト転送を行えるようになる。
次に、図16を参照してRPRのプロテクション動作について説明する。IEEE802.17では、障害発生時のプロテクション動作としてステアリングモードとラップモードが規定されている。ステアリングモードは必須機能として規定され、ラップモードは選択機能として規定されている。ステアリングモードおよびラップモードは、例えば特許文献1でも紹介されている。
図16(a)は、通常時のネットワーク動作を示している。図16(a)では、ノード303aからノード303bにリングレット301上でパケット転送されている状態を示している。
図16(b)は、ステアリングモードの動作を示す。図16(b)に示すように障害点304が発生した場合、リング内の全てのノードは障害点304の位置情報を得る。すなわち、障害点304となったリンクに接続するノード303c,303dが、障害点304の位置情報を他の全てのノードに通知する。この結果、各ノードは障害点304の位置を認識する。そして、ユニキャストパケットを送信する場合、送信元ノードは、RPRパケットの送信先ノードとの間に障害点304を含まないリングレットを選択してユニキャストパケットを送出する。例えば、ノード303aがノード303bにユニキャストパケットを送信する場合、障害点304の位置を認識することにより、ユニキャストパケットを送信するリングレットをリングレット301からリングレット302に変更し、ノード303bにパケットを転送する。また、ブロードキャストパケットを送信する場合には、双方のリングレット301,302を選択して、各リングレット301,302にブロードキャストパケットを送出する。この結果、リング内の各ノードにブロードキャストパケットが送信される。
図16(c)は、ラップモードの動作を示す。ラップモードでは、送信元ノードは、通常時と同じリングレットを選択してRPRパケットを送出する。例えば、ノード303aがノード303bにRPRパケットを送信する場合、通常時(図16(a)参照。)と同様にリングレット301を選択してRPRパケットを送信する。障害点304となったリンクに接続していて障害を検知したノード303cは、RPRパケットを受信した場合、そのパケットが送られてきたリングレット301とは異なるリングレット302を選択し、そのリングレット302を用いてRPRパケットを転送する。すなわち、ノード303cは、障害点304が存在しない側にRPRパケットを転送する。このパケットは、リングレット302上を転送され、障害点304となったリンクに接続していて障害を検知したノード303dまで転送される。ノード303dも、パケットが送られてきたリングレットとは異なるリングレットを選択し、そのリングレットを用いてRPRパケットを転送する。この結果、送信先ノード303bは、RPRパケットを受信する。また、ブロードキャストパケットをリングにフラッディングする方法として、送信元ノードが任意の片方のリングレットに送出する方法と、送信元ノードが双方のリングレットにブロードキャストパケットを送出し、多重転送を防ぐために予めリング上に設定された到達点まで転送する方法(双方向フラッディング)がある。なお、多重転送を防ぐために予めリング上に設定されたパケットの到達点をクリーブポイント(cleave point)という。双方向フラッディングの場合、リング内のノード数が偶数であるか奇数であるかによって、パケットがすべてのノードに転送され、かつ2重到着が起きないようTTLの計算方法を変える。
ここではリンクに障害が発生する場合を例にして説明したが、ノードに障害が発生した場合のプロテクション動作も、リンクに障害が発生した場合の動作と同様である。
上記に示したIEEE802.17に規定されるプロテクション動作は、リングネットワーク内のスパン障害(リンク障害)における高速障害回復、およびノード障害におけるそのノード以外のノード間通信の高速障害回復を可能にする。しかし、各RPRノード配下に接続されるクライアント装置との接続(すなわち、ノードとクライアント装置間のリンク)に障害が発生したときの障害回復動作については、規定されていない。図14に例示するような構成の場合、ノードとクライアント装置間のリンクに障害が発生した場合、ノードとクライアント装置(ユーザ端末)間の通信を行えなくなる。
また、特許文献2には、リングLANの故障回復方式が記載されている。特許文献2に記載のリングLANの故障回復方式では、制御用ノードを二重化している。そして、二重化した制御用ノードの一方を現用系とし、他方を予備系とし、現用系制御用ノードおよび予備系制御用ノードのアドレスを同一としている。
既に説明したように、図14に例示するようなリングネットワーク構成の場合、ノードとクライアント装置(ユーザ端末)間のリンクに障害が発生した場合、ノードとクライアント装置間の通信を行えなくなる。そこで、特許文献2に記載された技術をRPRに適用することが考えられる。すなわち、ノードを二重化して一方を現用系、もう一方を予備系とし、現用系ノードおよび予備系ノードをそれぞれ個別にリンクにより同一のクライアント装置と接続させることが考えられる。しかし、この場合には、以下のような問題が生じる。
正常時には、クライアント装置と現用系ノードが通信を行うが、クライアント装置と予備系ノードとの間では通信が行われない。従って、正常時に予備系ノードのトラヒック処理能力を利用できず、リソースの利用効率が悪いという問題がある。
また、正常時にクライアント装置と現用系ノードが通信を行っている間では、現用系ノードは、受信したRPRデータパケットにおいてカプセル化されている送信元ユーザ端末のMAC SAと送信元RPR MAC SAを対応付けて学習し、FDBに記憶させる。このとき、予備系ノードが同様の学習を行っていないとすると、現用系ノードとクライアント装置間のリンクに障害が発生して、現用系ノードから予備系ノードに切り替えたときに、安定したパケットトラヒックを高速に回復することが困難になるという問題がある。予備系ノードが現用系ノードと同様の学習を行っていない場合、予備系ノードは、RPR MAC DAを検索できず、クライアント端末からのユーザデータパケットをカプセル化したRPRパケットをブロードキャスト送信しなければならない。予備系ノードが、クライアント装置のMACアドレスとノードのRPR MACアドレスとの対応関係を十分に学習するまでは、このようなブロードキャスト送信が行われる。また、このようにブロードキャスト送信が行われると、通信量が増大し、リングネットワークのリング容量を圧迫してしまう。その結果、現用系ノードから予備系ノードに切り替えたときに、安定したパケットトラヒックを高速に回復することが困難となる。
また、RPRのプロテクション動作としては、既に説明したステアリングモードやラップモードがある。しかし、これらのプロテクション動作は、そもそもノードとクライアント装置(ユーザ端末)間の障害時の動作ではなく、リングネットワーク内のノード同士を接続させるリンクや、リングネットワーク内のノード自身に障害が発生した場合におけるプロテクション動作である。
また、ステアリングモードやラップモードは、障害回復を可能とする動作であるが、パケットリングネットワーク全体に影響を及ぼす。例えば、ステアリングモードの場合には、パケットリングネットワークに属する全てのノードに対して、障害発生箇所を通過せずに宛先にRPRパケットを送信可能なリングレットを選択するように、制御パケットで通知を行わなければならない。そして、各ノードは、トポロジ情報のアップデート処理等にCPUリソースを消費しなければならない。また、ステアリングモードでは、パケットを送信可能なリングレットが1つに限定されてしまうノードが発生してしまい、パケットリングの帯域利用効率が著しく低下してしまう。また、ラップモードに移行した場合には、リング帯域が半減したり、ラップモード中にリング内に存在するパケット到着順序厳守モード(Strictモード)のパケットは全て廃棄されるという問題が生じる。このように、ステアリングモードやラップモードでは、パケットの喪失、パケット流量変動などの擾乱による通信品質低下が生じる。ノードとクライアント装置(ユーザ端末)間のリンクに障害が発生した場合、パケットリングネットワーク全体に影響を及ぼすことなく、障害回復を実現できることが好ましい。
また、リングネットワークの利用者によっては、高い通信の信頼度を要求しない場合もある。そのような場合には、ノードを二重化せずに、図14に例示するようなネットワーク構成で利用者の要求が満たされることになる。1台のクライアント装置(ユーザ端末)を1つのノードに接続させる場合(図14参照。)と、1台のクライアント装置を二重化した2つのノードに接続させる場合とで、ノードの構成を共通化できることが好ましい。例えば、リングネットワーク導入当初は、高い信頼度が要求されなかったが、その後、トラヒックが増加し、高い信頼度が要求されるようになり、ノードを二重化するようにネットワーク構成を変更するとする。このとき、1台のクライアント装置を1つのノードに接続させる場合と、1台のクライアント装置を二重化した2つのノードに接続させる場合とで、ノードの構成を共通化できないとすると、ネットワーク構成の変更にかかるコストが増加してしまう。また、1台のクライアント装置を1つのノードに接続させる場合のノードと、1台のクライアント装置を二重化した2つのノードに接続させる場合のノードとを、それぞれ個別に設計して用意しておく必要が生じるため、開発効率および棚卸管理効率が悪くなる。従って、ノードの構成を共通化できるようにすることが好ましい。
そこで、本発明は、ノードとクライアント装置(ユーザ端末)間のリンクに障害が発生したときに高速に障害回復を行えるようにすることを目的とする。また、正常時におけるリソースの利用効率を向上させることを目的とする。また、ノードとクライアント装置(ユーザ端末)間のリンクに障害が発生したときに、パケットリングネットワーク全体に影響を及ぼすことなく障害回復できるようにすることを目的とする。また、1台のクライアント装置を1つのノードに接続させる場合と、1台のクライアント装置を二重化した2つのノードに接続させる場合とで、ノードの構成を共通化することを目的とする。
本発明によるパケットリングネットワークシステムは、互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムであって、同一のアドレスを有する2つのノードを組み合わせたノードの組である仮想冗長化ノードと、同一の仮想冗長化ノードに含まれる2つのノードにそれぞれリンクを介して接続されるクライアント装置とを備え、クライアント装置は、2つのノードにパケットを振り分けて送信することを特徴とする。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが、各リングレットに対応して、対応するリングレットからパケットを受信する受信部を2つ備え、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を記憶するアドレス記憶部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備えた構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる2つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、先にパケットを受信する受信部が、TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値減算を行わずに、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、後にパケットを受信する受信部が、TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値を1減算し、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出す構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる2つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、先にパケットを受信する受信部が、TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値減算を行わずに、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、後にパケットを受信する受信部が、TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値を1減算し、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出す構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが備える各記憶部が、同一ノード内の受信部が受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶する構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが備えるフィルタ部が、一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、同一の仮想冗長化ノードに含まれる2つのノードのうち、他方のリングレットから先にパケットを受信するノードが備えるフィルタ部が、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止する構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、クライアント装置が、同一の仮想冗長化ノードに含まれる2つのノードとの間のリンクの一方に障害が発生した場合、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可する構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが、他方のリングレットにパケットを多重して送信する多重化部と、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、同一の仮想冗長化ノードに含まれる2つのノードのうち、他方のリングレットから先にパケットを受信するノードが、一のリングレットにパケットを多重して送信する多重化部と、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、同一の仮想冗長化ノードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいて生成されたパケットが一のリングレットに送信すべきパケットである場合には他方のノードの多重化部にパケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが他方のリングレットに出力すべきパケットである場合には自ノードの多重化部にパケットを出力する出力先切替部を備え、同一の仮想冗長化ノードに含まれる2つのノードのうち、他方のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいて生成されたパケットが他方のリングレットに送信すべきパケットである場合には他方のノードの多重化部にパケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが一のリングレットに出力すべきパケットである場合には自ノードの多重化部にパケットを出力する出力先切替部を備えた構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが、一のリングレットにパケットを多重して送信する第1の多重化部と、他方のリングレットにパケットを多重して送信する第2の多重化部と、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、クライアント装置から受信したパケットに基づいて生成されたパケットが一のリングレットに送信すべきパケットである場合には自ノード内の第1の多重化部にパケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが他方のリングレットに送信すべきパケットである場合には自ノード内の第2の多重化部にパケットを出力する出力先切替部を備えた構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが、仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、パケットをそのまま次のノードに送信するパケット転送部を備えた構成であってもよい。
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードのパケット転送部が、仮想冗長化ノードに含まれる他のノードから、他のノードで生成されたブロードキャストパケットを受信した場合に、ブロードキャストパケットをそのまま次のノードに送信する構成であってもよい。
また、本発明におけるパケット転送方法は、互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続され、同一のアドレスを有する2つのノードを組み合わせたノードの組である仮想冗長化ノードを備えたパケットリングネットワークシステムに適用されるパケット転送方法であって、同一の仮想冗長化ノードに含まれる2つのノードにそれぞれリンクを介して接続されるクライアント装置が、2つのノードにパケットを振り分けて送信することを特徴とする。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する2つのノードのうち、先にパケットを受信するノードが、TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値減算を行わずに、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、後にパケットを受信するノードが、TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値を1減算し、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する2つのノードのうち、先にパケットを受信するノードが、TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値減算を行わずに、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、後にパケットを受信するノードが、TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値を1減算し、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化モードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが、クライアント装置にパケットを送信するクライアント装置向け送信部への、一のリングレットから転送されてきたパケットの出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、同一の仮想冗長化モードに含まれる2つのノードのうち、他方のリングレットから先にパケットを受信するノードが、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、一のリングレットから転送されてきたパケットのクライアント装置送信部への出力を禁止してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる2つのノードとクライアント装置とを接続するリンクの一方に障害が発生した場合に、クライアント装置が、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、クライアント装置との間のリンクに障害が発生していない方のノードが、どちらのリングレットから転送されてきたパケットであってもクライアント装置向け送信部への出力を許可してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、生成したパケットが一のリングレットに送信すべきパケットである場合には、他方のノードにパケットを出力して、当該他方のノードにパケットを送信させ、生成したパケットが他方のリングレットに送信すべきパケットである場合には、パケットを自ノードから送信し、同一の仮想冗長化ノードに含まれる2つのノードのうち、他方のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、生成したパケットが他方のリングレットに送信すべきパケットである場合には、他方のノードにパケットを出力して、当該他方のノードにパケットを送信させ、生成したパケットが一のリングレットに送信すべきパケットである場合には、パケットを自ノードから送信してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、生成したパケットが一のリングレットに送信すべきパケットである場合であっても、他方のリングレットに送信すべきパケットであっても、生成したパケットを自ノードから送信してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、パケットをそのまま次のノードに送信してもよい。
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、仮想冗長化ノードに含まれる他のノードから、他のノードで生成されたブロードキャストパケットを受信した場合に、ブロードキャストパケットをそのまま次のノードに送信してもよい。
また、本発明によるノードは、互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第1使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第2使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第3使用態様で使用されるノードにおいて、一のリングレットからパケットを受信する第1受信部と、他方のリングレットからパケットを受信する第2受信部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、第1受信部または第2受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、第1受信部が、第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第2受信部が、第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、フィルタ部が、第1使用態様の場合、第1受信部と第2受信部の双方が受信したパケットのクライアント装置向け送信部への出力を許可し、第2使用態様の場合、第1受信部が受信したパケットのクライアント装置向け送信部への出力を許可し、第2受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、第3使用態様の場合、第1受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、第2受信部が受信したパケットのクライアント装置向け送信部への出力を許可することを特徴とする。
上記本発明によるノードにおいて、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第1多重化部と、少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第2多重化部と、パケット生成部によって生成されたパケットを、自ノードまたは他のノードの第1多重化部または第2多重化部に出力する出力先切替部とを備え、出力先切替部は、第1使用態様の場合、パケット生成部に生成されたパケットを、送信すべきリングレットに応じて、自ノードの内の第1多重化部または第2多重化部に出力し、第2使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、パケットを他のノードが備える第1多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、パケットを自ノードが備える第2多重化部に出力し、第3使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、パケットを自ノードが備える第1多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、パケットを他のノードが備える第2多重化部に出力する構成であってもよい。
上記本発明によるノードにおいて、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第1多重化部と、少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第2多重化部と、パケット生成部によって生成されたパケットを、送信すべきリングレットに応じて自ノード内の自ノードの内の第1多重化部または第2多重化部に出力する出力先切替部とを備え、第1受信部が、第3使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、パケットをそのまま次のノードに送信し、第2受信部が、第2使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、パケットをそのまま次のノードに送信する構成であってもよい。
また、本発明によるノード用プログラムは、互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第1使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第2使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第3使用態様で使用されるノードが備えるコンピュータに、一のリングレットからパケットを受信する第1受信処理であって、第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出す第1受信処理、他方のリングレットからパケットを受信する第2受信処理であって、第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成する第2受信処理、第1使用態様の場合、第1受信処理と第2受信処理の双方で受信したパケットを排除せず、第2使用態様の場合、第1受信処理で受信したパケットを排除せず、第2受信部で受信したパケットを排除し、第3使用態様の場合、第2受信処理で受信したパケットを排除せず、第1受信処理で受信したパケットを排除するフィルタ処理、およびフィルタ処理で排除されなかったパケットをクライアント装置に送信するクライアント装置向け送信処理を実行させることを特徴とする。
本発明では、クライアント装置が、同一の仮想冗長化ノードに含まれる2つのノードにパケットを振り分けて送信する。従って、同一の仮想冗長化ノードに含まれる2つのノードは、いずれも、クライアント装置からのパケットの転送に寄与することになる。よって、2つのノードの一方が待機するのみとなる状態がなく、リソース(仮想冗長化ノードに含まれる2つのノード)の利用効率が向上する。
また、同一の仮想冗長化ノードに含まれる個々のノードが備える各記憶部を設けることで、同一ノード内の受信部が受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶するようにすることができる。従って、同一の仮想冗長化ノードに含まれる個々のノードが、それぞれアドレスの対応関係を学習して記憶することになる。よって、一方のノードとクライアント装置間のリンクに障害が発生した場合であっても、他方のノードは、アドレスの対応関係を記憶している状態になっていて、新たに対応関係を学習し直す必要がない。その結果、1つのノードとクライアント装置間のリンクに障害が発生したとしても、高速に障害回復を実現できる。
また、クライアント装置が、同一の仮想冗長化ノードに含まれる2つのノードとの間のリンクの一方に障害が発生した場合、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可する。従って、1つのノードとクライアント装置間のリンクに障害が発生したとしても、クライアント装置からノードへのパケット送信は、障害が発生していない方のリンクによって接続されるノードに対して行われる。また、同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可するので、リンク障害未発生時に、他のノードが行っていたクライアント装置へのパケット送信は、リンク障害が発生していない方のノードによって行われ、リンク障害が発生していない方のノードがクライアント装置に対するパケット送信を担うことになる。その結果、パケットリングネットワーク全体に影響を及ぼすことなく、クライアント装置から仮想冗長化ノードへのパケット送信および仮想冗長化ノードからクライアント装置へのパケット送信を維持することができる。
また、本発明によるノードは、一のリングレットからパケットを受信する第1受信部と、他方のリングレットからパケットを受信する第2受信部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、第1受信部または第2受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、第1受信部、第2受信部、およびフィルタ部は、自ノードのみで単独のノードとして配置される第1使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第2使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第3使用態様に応じた動作を行う。よって、1台のクライアント装置を1つのノードに接続させる場合であっても、1台のクライアント装置を二重化した2つのノードに接続させる場合であっても、本発明によるノードを使用することができる。すなわち、1台のクライアント装置を1つのノードに接続させる場合と、1台のクライアント装置を二重化した2つのノードに接続させる場合とで、ノードの構成を共通化することができる。
本発明によれば、クライアント装置が、同一の仮想冗長化ノードに含まれる2つのノードにパケットを振り分けて送信する。従って、リソースの利用効率を向上させることができる。
本発明によるノードは、一のリングレットからパケットを受信する第1受信部と、他方のリングレットからパケットを受信する第2受信部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、第1受信部または第2受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、第1受信部、第2受信部、およびフィルタ部は、自ノードのみで単独のノードとして配置される第1使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第2使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第3使用態様に応じた動作を行う。従って、1台のクライアント装置を1つのノードに接続させる場合と、1台のクライアント装置を二重化した2つのノードに接続させる場合とで、ノードの構成を共通化することができる。
本発明によるパケットリングネットワークシステムの例を示す説明図である 。 1つのクライアント装置が1つのノードに接続されるパケットリングネットワークシステムの例を示す説明図である。 ノードの構成例を示す説明図である。 ノードを2つ組み合わせた仮想冗長化ノードを示す説明図である。 各ノードのフォワーディング回路の動作を示す説明図である。 態様1におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。 態様2におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。 態様3におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。 態様4におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。 リンク障害発生時におけるクライアント装置の動作を示すフローチャートである。 2つのノードのうちクライアント装置との間のリンクに障害が発生していない方のノードの動作を示すフローチャートである。 本発明の第2の実施の形態におけるノードの構成例を示す説明図である。 ノードを2つ組み合わせた仮想冗長化ノードを示す説明図である。 RPRのネットワーク構成例を示す説明図である。 RPRフォーマットを示す説明図である。 RPRのプロテクション動作を示す説明図である。 コンピュータの一構成例を示すブロック図である。
符号の説明
51,52 フォワーディング回路
53,54,55 多重化回路
56 リングレット選択回路
57 トポロジ管理回路
58,59 Add切替スイッチ
60 アドレステーブル
61 パケット変換回路
62 フィルタ回路
63 制御パケット処理回路
64 TTL設定回路
100 冗長化ノードシステム制御回路
903 仮想冗長化ノード
904 クライアント装置
以下、本発明を実施するための最良の形態を図面を参照して説明する。
実施の形態1.
図1は、本発明によるパケットリングネットワークシステムの例を示す説明図である。本発明によるパケットリングネットワークシステムは、リング(ノードがリング状に接続されたパケットリング)を備える。そして、パケットリングネットワークシステムは、2つのRPRノード(以下、単にノードと記す。)901,902を組み合わせ、その2つノード901,902を冗長に備える。そして、その2つのノードの組み合わせ903が仮想的に1つのノードとしての役割を果たす。図1では、2つのノードの組を4組示しているが、パケットリングネットワークシステムが備えるノードの組は4組に限定されるわけではない。以下、2つのノードの組み合わせを仮想冗長化ノードと記す。仮想冗長化ノードに含まれる2つのノードは、隣り合うように配置される。パケットリングネットワークシステムが備える各仮想冗長化ノードは、いずれも同様の動作をする。また、クライアント装置は、仮想冗長化ノードと接続される場合、その仮想冗長化ノードに含まれる2つのノードそれぞれとリンクにより接続される。例えば、図1に示すクライアント装置(ユーザ端末)904は、仮想冗長化ノード903に含まれるノード901,902それぞれと接続される。また、パケットリングネットワークシステムが備える各ノードは、互いに反対方向にパケットを転送するリングレット(ringlet)910a,910bによって接続される。
なお、ここでは、リングレット910aは、時計回りにRPRパケットを転送し、リングレット910bは、反時計回りにRPRパケットを転送するものとする。また、説明を簡単にするために、仮想冗長化ノード903に含まれる2つのノードのうち、時計回りに転送されるパケットを先に受信する方のノードを便宜上、西側ノード(West Node)と呼び、時計回りに転送されるパケットを西側ノードから受信するノードを東側ノード(East Node)と呼ぶことにする。
仮想冗長化ノード903に含まれる2つのノードには、同一のRPR MACアドレスが設定される。
また、仮想冗長化ノード903に含まれるノードと同様に構成されるノードを冗長化せずに、1つのクライアント装置が1つのノードに接続されるパケットリングネットワークシステムを設けてもよい。このようなパケットリングネットワークシステムの例を図2に示す。図2に示すパケットリングネットワークシステムでは、クライアント装置は1つのノードと接続される。例えば、図2に示すクライアント装置904は、ノード101と接続される。各ノードは、互いに反対方向にパケットを転送するリングレット910a,910bによって接続される。
1台のクライアント装置を1つのノードに接続させる場合のノード101と、1台のクライアント装置を二重化した2つのノードに接続させる場合のノード901,902の構成はいずれも同一である。このノードの構成については後述する。ノード101,901,903は、異なる符号を付して示されているが、いずれも同一の構成である。ただし、クライアント装置との接続態様によって、各ノードの設定は異なる。そして、構成が同一のノードであっても、設定により異なる動作を行う。図2に示すような冗長に配置されていないノード101(仮想冗長化ノードに含まれないノード)に対する設定を、冗長化非対応モードの設定と記すことにする。また、図1に示すような仮想冗長化ノードに含まれるノード901,902に対する設定を、冗長化対応モードの設定と記すことにする。また、仮想冗長化ノードに含まれるノード901,902に対して、冗長化対応モードの設定を行う場合、西側ノードであるか東側ノードであるかに応じて、それぞれ異なる設定を行う。
また、個々のノードに対する冗長化非対応モードの設定、あるいは西側ノード用の冗長化対応モードの設定、東側ノード用の冗長化対応モードの設定は、例えば、上位プロビジョニング設定により行えばよい。すなわち、設定対象となるノードに接続されるパーソナルコンピュータ等の情報処理装置(図示せず。)を予め設けておき、その情報処理装置(本例では、パーソナルコンピュータとする。)がノードに対して、各種設定を行う。
また、リングネットワークシステムの構成が変更された場合には、その変更に応じて、パーソナルコンピュータが、ノードの設定を変更する。例えば、図2に示すノード101の隣りに新たにノードを設けて、仮想冗長化ノードとする場合には、パーソナルコンピュータがオペレータの操作に従い、ノード101および新たに追加されたノード(図示せず。)の設定を、冗長化対応モードの設定に切り替える。また、仮に、図1に示すノード901,902の一方を廃棄する場合には、パーソナルコンピュータがオペレータの操作に従い、廃棄されずに残った方のノードを、冗長化非対応モードに切り替える。
図3は、ノードの構成例を示す説明図である。以下、図3を参照して、ノードの構成および冗長化非対応モードに設定された場合の各構成部の処理を説明する。図3では、ノードをノード101と記す。
ノード101は、フォワーディング回路51,52と、多重化回路53〜55と、リングレット選択回路56と、トポロジ管理回路57と、Add切替スイッチ(多重化回路切替スイッチ)58,59と、アドレステーブル60と、パケット変換回路61と、フィルタ回路62と、制御パケット処理回路63と、TTL設定回路64とを備える。
ノード101は、リングレット910aに応じたフォワーディング回路51および多重化回路53を備え、同様に、リングレット910bに応じたフォワーディング回路52および多重化回路54を備える。フォワーディング回路51は、ポート72aによりリングレット910aに接続され、多重化回路53は、ポート73aによりリングレット910aに接続される。また、フォワーディング回路52は、ポート73bによりリングレット910bに接続され、多重化回路54は、ポート72bによりリングレット910bに接続される。
また、クライアントポート71a,71bは、クライアント装置904(図3において図示せず。)と接続される。
冗長化非対応モード設定のとき、制御パケット処理回路63は、制御パケットを転送するリングレットに応じた多重化回路(多重化回路53,54のいずれかまたは両方)に制御パケットを出力する。また、制御パケット処理回路63は、フォワーディング回路51,52から制御パケットを入力された場合、その制御パケットの種類に応じた処理を実行する。
フォワーディング回路51,52は、転送されてきたRPRパケットのRPR MAC DAを参照する。そして、そのRPR MAC DAが、自ノード(図3に示す例ではノード101)のRPR MACアドレスと一致しているならば、そのRPRパケットをリングから取り出す。そして、フォワーディング回路51,52は、そのRPRパケットがデータパケットならば多重化回路55に出力し、制御パケットならば制御パケット処理回路63に出力する。なお、本実施形態では、クライアント装置または制御パケット処理回路63に出力することを目的として、リングレットから転送されてきたパケットをリング内から取り出す(削除する)ことを“Strip”と記す。ただし、後述するように、冗長化対応モードの場合には、Strip(ストリップ)されたRPRパケットであっても、クライアント装置に転送されない場合がある。なお、自ノードのRPR MACアドレスは、例えば、フォワーディング回路51,52が記憶していてもよい。また、ノードが備える記憶装置(図示せず。)が自ノードのRPR MACアドレスを記憶していてもよい。
また、転送されてきたRPRパケットがブロードキャストパケットである場合、フォワーディング回路51,52は、ブロードキャストパケットをクライアント装置に転送するとともに、リングレットにも転送する。なお、リングレットから転送されてきたパケットをそのリングレットに転送することを“Transit”と記す。また、本実施形態では、リングレットから転送されてきたパケットをそのリングレットに転送しつつ、クライアント装置または制御パケット処理回路63に出力することを目的として、そのパケットと同一のパケットを生成することを“Copy”と記す。ただし、後述するように、冗長化対応モードの場合には、Copy(コピイ)されたRPRパケットであっても、クライアント装置に転送されない場合がある。フォワーディング回路51,53は、転送されてきたRPRパケットがブロードキャストパケットである場合、Transit(トランスミット)を行うとともに、RPRパケットをCopyする。そして、CopyしたRPRパケットがデータパケットならば多重化回路55に出力し、制御パケットならば制御パケット処理回路63に出力する。
フォワーディング回路51,52は、転送されてきたRPRパケットが上記の何れにも当てはまらない場合、転送されてきたパケットを同一リングレットに送信する(Transit)。
多重化回路55は、各リングレット(各フォワーディング回路51,52)からクライアント装置に転送されるパケットを多重して、フィルタ回路62およびアドレステーブル60に出力する。
フィルタ回路62は、多重化回路55からパケットを受け取り、そのパケットをパケット変換回路61に出力するか否かを決定する。ただし、本設定(冗長化非対応モード)では、フィルタ回路62は、多重化回路55から送られてくるパケットの通過を許可し、パケット変換回路61に出力する。
アドレステーブル60は、クライアント装置のMACアドレスと、リング内のノードのRPR MACアドレスとを対応付けて記憶する。アドレステーブル60は、FDBとして機能する。アドレステーブル60は、多重化回路55から受け取ったRPRパケットにおけるRPR MAC SA(送信元となるリング内のノードのアドレス)と、そのRPRパケット内にカプセル化されているユーザデータパケットのMAC SAとの対応関係を学習し、記憶する。なお、RPRパケット内にカプセル化されているユーザデータパケットのMAC SAは、そのユーザデータパケットを送信したクライアント装置(図3において図示せず。)のMACアドレスである。
パケット変換回路61は、フィルタ回路62等を介して、各リングレット(各フォワーディング回路51,52)からクライアント装置に転送されるパケットを受け取る。パケット変換回路61は、RPRパケットの状態のパケットを受け取り、そのRPRパケットからユーザデータパケットを取り出す(すなわち、デカプセル化を行う)。パケット変換回路61は、そのユーザデータパケットをクライアントポート71bから出力し、クライアント装置に転送する。
また、パケット変換回路61は、クライアントポート71aを介して、クライアント装置904(図2参照。図3において図示せず。)からユーザデータパケットを受け取る。このとき、パケット変換回路61は、アドレステーブル60を参照して、受け取ったユーザデータパケットにおけるMAC DAに対応するRPR MACアドレスを検索する。エントリがあれば(すなわち、検索に成功すれば)、パケット変換回路61は、検索したRPR MACアドレスをRPR MAC DAとして、ユーザデータパケットをカプセ
ル化する。
また、エントリがなければ(すなわち、検索に失敗したならば)、ブロードキャストアドレスをRPR MAC DAとして、ユーザデータパケットをカプセル化する。この場合、カプセル化されるユーザデータパケットのMAC DAはブロードキャストアドレスではないが、そのユーザデータパケットをカプセル化したRPRパケットのRPR MAC DAは、ブロードキャストアドレスとなる。このようなRPRパケットを、 Unknownユニキャストパケットと呼ぶ。パケット変換回路61は、RPR MAC DAを設定してカプセル化したパケットをリングレット選択回路56に出力する。
リングレット選択回路56は、パケット変換回路61から送られてきたパケットがユニキャストパケット(Unknownユニキャストパケットは除く。)である場合、トポロジ管理回路57を参照して、最短経路で宛先ノードへ到達可能なリングレットを選択してパケットを出力する。また、リングレット選択回路56は、パケット変換回路61から送られてきたパケットがブロードキャストパケットである場合、予め定められた転送方法(片方向フラッディングもしくは双方向フラッディング)に従ってリングレットを選択する。リングレット選択回路56は、選択したリングレットをRPRパケットに設定し、RPRパケットをTTL設定回路64に出力する。
トポロジ管理回路57は、自ノードを含むリングにおいて時計回り方向に並ぶ各ノードのRPR MACアドレスと、反時計回り方向に並ぶ各ノードのRPR MACアドレスを記憶し、管理する。
TTL設定回路64は、リングレット選択回路56から送られてきたパケットにTTL値を設定する。このとき、TTL設定回路64は、トポロジ管理回路57を参照し、ユニキャストパケットの場合は、自ノードから宛先ノードまでのホップ数をTTL値として設定する。ブロードキャストパケットの場合は、リング内でパケットの重複到着および不到着が生じないようにTTL値を設定する。TTL設定回路64は、TTL値を設定したパケットを、リングレット選択回路56によって選択されたリングレットに対応する多重化回路(多重化回路53または多重化回路54)に出力する。リングレット選択回路56によって双方のリングレットが選択されていた場合には、TTL設定回路64は、多重化回路53と多重化回路54の双方にパケットを出力する。
なお、TTL設定回路64は、2つのノードを組み合わせた仮想冗長化ノードについては、1つのノードとみなしてホップ数をカウントする。
また、TTL設定回路64は、Add切替スイッチ58を介して多重化回路54にパケットを出力し、Add切替スイッチ59を介して多重化回路53にパケットを出力する。Add切替スイッチ58は、冗長化非対応モード設定の場合、TTL設定回路64からのパケットを多重化回路54に出力する。同様に、Add切替スイッチ59は、冗長化非対応モード設定の場合、TTL設定回路64からのパケットを多重化回路53に出力する。
多重化回路53は、クライアントからのパケット(Add切替スイッチ59からのパケット)と、リングからのパケット(フォワーディング回路51が出力したパケット)を多重化して、リングレット910aに送信する。同様に、多重化回路54は、クライアントからのパケット(Add切替スイッチ58からのパケット)と、リングからのパケット(フォワーディング回路52が出力したパケット)を多重化して、リングレット910bに送信する。
ノード間ADDインタフェース81a、81b、82a、82bは、RPRノード冗長化非対応モード時にはパケット転送に寄与しない。
以上のような各構成部の動作により、冗長化非対応モードに設定されたノード101は、IEEE802.17に準拠した動作を行う。
図4は、図3に示す構成のノードを2つ組み合わせた仮想冗長化ノードを示す説明図である。図3と同様の構成部は、図3と同一の符号を付す。ただし、仮想冗長化ノードに含まれる各ノードは、冗長化対応モードに設定されるので、図3を用いて説明した動作と異なる動作を行う構成部が存在する。図3を用いて説明した動作と同一の動作については説明を省略する。また、図4では、仮想冗長化ノードに含まれる2つのノードをノード901,902と記す。図4に示す例において、ノード901は、西側ノードであり、上位プロビジョニングにより(例えば、図示していないパーソナルコンピュータにより)、西側ノード用の冗長化対応モードの設定が行われる。ノード902は、東側ノードであり、上位プロビジョニングにより東側ノード用の冗長化対応モードの設定が行われる。また、既に説明したように、同一の仮想冗長化ノード903に含まれる2つのノードには、同一のRPRノードID(RPR MACアドレス)が与えられる。
なお、以下の説明において、西側ノード901の構成要素であることを示す場合に、符号の後に“W”を付す場合がある。同様に、東側ノード902の構成要素であることを示す場合に、符号の後に“E”を付す場合がある。
図4に示す仮想冗長化ノードでは、西側ノード901のポート73a,73bと、東側ノード902のポート72a,72bとがそれぞれ接続される。また、西側ノード901のノード間ADDインタフェース82bと、東側ノード902のノード間ADDインタフェース81bとが接続され、西側ノード901のAdd切替スイッチ59Wから、東側ノード902の多重化回路53Eにパケットを送信できるよう接続されている。同様に、東側ノード902のノード間ADDインタフェース82aと、西側ノード901のノード間ADDインタフェース81aとが接続され、東側ノード902のAdd切替スイッチ58Eから、西側ノード901の多重化回路54Wにパケットを送信できるように接続されている。ノード間ADDインタフェース81a、81b、82a、82bは、仮想冗長化ノードにおいて、一方のノードのAdd切替スイッチと、他方のノードの多重化回路とを接続させるためのインタフェースである。
仮想冗長化ノードでは、冗長化ノードシステム制御回路100を備える。冗長化ノードシステム制御回路100は、各ノード901,902の制御パケット処理回路63と接続される。
クライアント装置904(図4において図示せず。図1参照。)は、ノード901、902それぞれのクライアントポート71a,71bと接続され、リングに対して冗長接続する。このとき、リンク・アグリゲーションなどを適用して、パケットのループを防止する。
まず、クライアント装置904とノード901,902とを接続させる各リンクに障害が発生していない場合(正常時の場合)について説明する。
正常時に、クライアント装置904は、ユーザデータパケットを送信する度に、予め定められた規則に応じてユーザデータパケットを送信するノードを決定し、決定したノードに対してユーザデータパケットを送信する。この規則は、クライアント装置904がノード901,902のいずれか一方にのみユーザデータパケットを送信することがないように定められる。従って、クライアント装置904は、ノード901,902の双方にユーザデータパケットを振り分けて送信することになる。よって、リソースの利用効率を高めることができる。なお、正常時に、クライアント装置904がノード901,902のいずれか一方に対してのみユーザデータパケットを送信してもよいが、この場合、他方のノードは、クライアント装置904からユーザデータパケットを受信することがないため、リソースの利用効率を高められない。よって、クライアント装置904は、ユーザデータパケットを送信する度に、規則に応じてユーザデータパケットを送信するノードを決定することが好ましい。
冗長化対応モードの設定が行われた場合、一方のリングレットから先にRPRパケットを受信するノードのAdd切替スイッチのうち、そのリングレットに転送すべきRPRパケットをTTL設定回路64から入力されるAdd切替スイッチは、TTL設定回路64からのRPRパケットを、そのリングレットにパケット送信を行う他のノードの多重化回路に出力する。従って、西側ノード用の冗長化対応モードの設定が行われたAdd切替スイッチ59Wは、リングレット910aに転送すべきRPRパケットをTTL設定回路64Wから入力された場合、そのRPRパケットを、ノード902の多重化回路53Eに出力する。同様に、東側ノード用の冗長化対応モードの設定が行われたAdd切替スイッチ58Eは、リングレット910bに転送すべきRPRパケットをTTL設定回路64Eから入力された場合、そのRPRパケットを、ノード901の多重化回路54Wに出力する。この結果、一方のリングレットから先にRPRパケットを受信するノードの多重化回路のうち、そのリングレットからのパケットを受信する多重化回路(多重化回路53W,54E)は、Add切替スイッチからRPRパケットを受け取ることがなくなる。
また、冗長化対応モードの設定が行われた場合、一方のリングレットから先にRPRパケットを受信するノードのAdd切替スイッチのうち、他方のリングレットに転送すべきRPRパケットをTTL設定回路64から入力されるAdd切替スイッチは、TTL設定回路64からのRPRパケットを、その他方のリングレットにパケット送信を行う同一ノード内の多重化回路に出力する。従って、西側ノード用の冗長化対応モードの設定が行われたAdd切替スイッチ58Wは、リングレット910bに転送すべきRPRパケットをTTL設定回路64Wから入力された場合、そのRPRパケットを、自ノード内の多重化回路54Wに出力する。同様に、東側ノード用の冗長化対応モードの設定が行われたAdd切替スイッチ59Eは、リングレット910aに転送すべきRPRパケットをTTL設定回路64Eから入力された場合、そのRPRパケットを、自ノード内の多重化回路53Eに出力する。
また、冗長化対応モードの設定が行われた場合、一方のリングレットから先にRPRパケットを受信するノードの多重化回路のうち、他方のリングレットにパケット送信を行う多重化回路は、自ノード内のフォワーディング回路からTransitされるRPRパケットやクライアント装置からのユーザデータパケットに基づいて生成されたRPRパケットだけでなく、同一の仮想冗長化ノードに属する他方のノードから出力されたRPRパケットも多重する。従って、西側ノード用の冗長化対応モードの設定が行われた多重化回路54Wは、フォワーディング回路52WからのRPRパケット、Add切替スイッチ58WからのRPRパケットだけでなく、ノード902のAdd切替スイッチ58EからのRPRパケットも多重する。同様に、東側ノード用の冗長化対応モードの設定が行われた多重化回路53Eは、フォワーディング回路51EからのRPRパケット、Add切替スイッチ59EからのRPRパケットだけでなく、ノード901のAdd切替スイッチ59WからのRPRパケットも多重する。
よって、クライアント装置から転送されたユーザデータパケットに基づいて生成されたRPRパケットのうち、リングレット910aに転送するRPRパケットは、全て多重化回路53Eで多重される。クライアント装置から転送されたユーザデータパケットに基づいて生成されたRPRパケットのうち、リングレット910bに転送するRPRパケットは、全て多重化回路54Wで多重される。このように、クライアント装置からのパケットを多重する多重化回路を多重化回路53E,54Wに局所化することにより、リングレットに転送するパケットとして多重(Add)されるパケットの公平性を保つことができる。仮に、リングレット910aに対応する多重化回路53W,53Eの双方で、クライアント装置からのパケットの多重を行うとする。この場合、多重化回路53Eで多重を行う前に、多重化回路53Wでの多重が行われることになる。そして、多重化回路53Wでの多重により、転送可能な容量を超えてしまった場合には、多重化回路53Eは、クライアント装置からのパケットを多重できなくなる。すなわち、多重化回路53Wでの多重が優先的に行われ、多重化回路53Eがパケットの多重を行えなくなる場合が生じ、パケット多重の公平性が保てなくなる。クライアント装置からのパケットを多重する多重化回路を局所化することにより、このような問題が解決される。クライアント装置からのパケットを多重する多重化回路53E,54Wは、例えば、クライアント装置からのパケットを多重する際、パケットを参照して優先度の高いパケットから多重すればよい。
また、ノード901,902のRPR MACアドレスは同一であるので、多重化回路53Wによって多重(Add)されたクライアント装置からのパケットをフォワーディング回路51Eが受信した場合、フォワーディング回路51Eは、そのパケットを自ノードが送信したパケットであると判定して、廃棄してしまうことになる。クライアント装置からのパケットを多重する多重化回路を多重化回路53E,54Wに局所化することにより、このような問題も解決できる。
また、冗長化対応モードの設定が行われた場合、フィルタ回路は、自ノードが西側ノードであるか東側ノードであるか、また、入力されたRPRパケットがどちらのリングレットからDropされたかに応じて、そのRPRパケットの通過を許可するか否かを決定する。具体的には、フィルタ回路は、自ノードが先にRPRパケットを受信することになるリングレットからDrop(StripあるいはCopy)されたRPRパケットについては通過を許可し、もう一方のリングレットからDropされたRPRパケットは通過を許可しない。従って、西側ノード用の冗長化対応モードの設定が行われたフィルタ回路62Wは、リングレット910aからStripあるいはCopyされたRPRパケットについては通過を許可し、パケット変換回路61Wに出力する。また、フィルタ回路62Wは、リングレット910bからStripあるいはCopyされたRPRパケットについては通過を許可せず、パケット変換回路61Wへの出力を禁止する。同様に、東側ノード用の冗長化対応モードの設定が行われたフィルタ回路62Eは、リングレット910bからStripあるいはCopyされたRPRパケットについては通過を許可し、パケット変換回路61Eに出力する。また、フィルタ回路62Eは、リングレット910aからStripあるいはCopyされたRPRパケットについては通過を許可せず、パケット変換回路61Eへの出力を禁止する。
また、冗長化対応モードの設定が行われた場合、各フォワーディング回路51W,52W,51E,52Eは、自ノードが西側ノードであるか東側ノードであるかや、転送されてきたパケットの属性(例えば、データパケットであるか、制御パケットであるか、ユニキャストパケットであるか、ブロードキャストパケットであるか)に応じた動作を行う。
図5は、各ノードのフォワーディング回路の動作を示す説明図である。また、図6〜図9は、各態様に応じたフォワーディング回路の動作を示すフローチャートである。以下、図5〜図9を参照して、冗長化対応モード設定時のフォワーディング回路の動作について説明する。
図5では、ノードとして、「リングレットからRPRパケットを先に受信するノード」および「もう一方のノード」を示している。以下の説明では、「リングレットからRPRパケットを先に受信するノード」を、リングレット910aから先にRPRパケットを受信する西側ノード901とし、「もう一方のノード」を東側ノード902とした場合を例に説明する。ただし、「リングレットからRPRパケットを先に受信するノード」を、リングレット910bから先にRPRパケットを受信する東側ノード902とし、「もう一方のノード」を西側ノード901とした場合であっても、動作の主体がフォワーディング回路51W,51Eからフォワーディング回路52E,52Wに入れ替わる点を除けば同様である。
図5に示す「態様1」は、リングレット910aから西側ノード901に対して、宛先アドレスが自ノードアドレスと一致しないユニキャストパケットが転送される態様である。ここで、自ノードアドレスとは、ノード901,902に共通のRPR MACアドレスである。また、図6は、態様1におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。フォワーディング回路51Wは、宛先アドレスが自ノードアドレスと一致しないユニキャストパケットをリングレット910aから受信すると、そのユニキャストパケットのTTL値の減算を行わず、転送されてきたパケットを同一リングレット910aに送信(Transit)する(ステップS11)。また、フォワーディング回路51Wは、受信したユニキャストパケットのTTL値が0の場合でも、TTL値を0のまま、同一リングレット910aに送信(Transit)する(ステップS11)。すると、フォワーディング回路51Eは、西側ノード901からユニキャストパケットを受信する。フォワーディング回路51Eは、西側ノード901から受信したユニキャストパケットのTTL値を1減算し、そのユニキャストパケットを同一リングレット910aに送信(Transit)する(ステップS12)。ただし、フォワーディング回路51Eは、ステップS12において、受信したユニキャストパケットのTTL値が0である場合には、Transitを行わずに、そのユニキャストパケットを廃棄する。
図5に示す「態様2」は、リングレット910aから西側ノード901に対して、TTL値が0でないブロードキャストパケットが転送される態様である。また、図7は、態様2におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。フォワーディング回路51Wは、TTL値が0でないブロードキャストパケットをリングレット910aから受信すると、そのブロードキャストパケットのTTL値の減算を行わずに、そのブロードキャストパケットを、転送されてきたリングレット910aに送信(Transit)するとともに、そのパケットと同一パケットを生成(Copy)する(ステップS21)。すると、フォワーディング回路51Eは、西側ノード901からブロードキャストパケットを受信する。フォワーディング回路51Eは、西側ノード901から受信したブロードキャストパケットのTTL値を1減算し、Transit処理およびCopy処理を行う(ステップS22)。すなわち、受信したブロードキャストパケットを、転送されてきたリングレット910aに送信するとともに、そのパケットと同一パケットを生成する。
なお、態様2において、ステップS21,S22でCopyされたブロードキャストパケットは、データパケットであれば、それぞれフィルタ回路62W,62Eに入力されることになる。この場合、フィルタ回路62Wはパケットの通過を許可するが、フィルタ回路63Eはパケットの通過を禁止する。よって、ブロードキャストパケットからデカプセル化されるユーザデータパケットは、西側ノード901からのみクライアント装置に送信される。よって、クライアント装置における同一パケットの二重到着が防止される。また、ステップS21,S22でCopyされたブロードキャストパケットは、制御パケットであれば、それぞれ制御パケット処理回路63W,63Eに入力される。制御パケット処理回路63W,63Eは、入力された制御パケットの種類に応じた処理を実行する。
図5に示す「態様3」は、リングレット910aから西側ノード901に対して、TTL値が0のブロードキャスト制御パケット(ブロードキャスト送信される制御パケット)が転送される態様である。また、図8は、態様3におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。
フォワーディング回路51Wは、TTL値が0であるブロードキャスト制御パケットをリングレット910aから受信すると、そのブロードキャスト制御パケットを、転送されてきたリングレット910aに送信(Transit)する(ステップS31)。フォワーディング回路51Eは、このブロードキャスト制御パケット(TTL値は0)を受信すると、受信したパケットを廃棄する(ステップS32)。
図5に示す「態様4」は、リングレット910aから西側ノード901に対して、宛先アドレスが自ノードアドレスと一致するユニキャスト制御パケット(ユニキャスト送信される制御パケット)が転送される態様である。また、図9は、態様4におけるフォワーディング回路51W,51Eの動作を示すフローチャートである。フォワーディング回路51Wは、宛先アドレスが自ノードアドレスと一致するユニキャスト制御パケットをリングレット910aから受信すると、そのユニキャスト制御パケットを、転送されてきたリングレット910aに送信(Transit)するとともに、そのパケットと同一パケットを生成(Copy)する(ステップS41)。ただし、TTL値が0であった場合には、フォワーディング回路51Wは、Copy処理は行わずにTransit処理を行う。すなわち、TTL値が0のパケットと同一パケットの生成を行わずに、受信したユニキャスト制御パケットを、転送されてきたリングレット910aに送信する。フォワーディング回路51Eは、西側ノード901から、ユニキャスト制御パケットを受信する。フォワーディング回路51Eは、西側ノード901から受信したユニキャスト制御パケットをリングレット910aから取り出す(Strip,ステップS42)。ただし、TTL値が0であった場合には、フォワーディング回路51Eは、Strip処理を行わずに、受信したユニキャスト制御パケットを廃棄する。
なお、態様4において、ステップS41でCopyされたユニキャスト制御パケットは、フォワーディング回路51Wから制御パケット処理回路63Wに出力され、制御パケット処理回路63Wが制御パケットの種類に応じた処理を実行する。同様に、ステップS42でStripされたユニキャスト制御パケットは、フォワーディング回路51Eから制御パケット処理回路63Eに出力され、制御パケット処理回路63Eが制御パケットの種類に応じた処理を実行する。
図5に示す「態様5」は、リングレット910aから西側ノード901に対して、TTL値が0のブロードキャストデータパケットが転送される態様である。態様5におけるフォワーディング回路51W,51Eの動作は、図8に示す動作と同様である。すなわち、フォワーディング回路51Wは、TTL値が0であるブロードキャストデータパケットをリングレット910aから受信すると、そのブロードキャストデータパケットを、転送されてきたリングレット910aに送信(Transit)する。フォワーディング回路51Eは、このブロードキャストデータパケット(TTL値は0)を受信すると、受信したパケットを廃棄する。
図5に示す「態様6」は、リングレット910aから西側ノード901に対して、宛先アドレスが自ノードアドレスと一致するユニキャストデータパケットが転送される態様である。態様6におけるフォワーディング回路51W,51Eの動作は、図9に示す動作と同様である。すなわち、フォワーディング回路51Wは、宛先アドレスが自ノードアドレスと一致するユニキャストデータパケットをリングレット910aから受信すると、そのユニキャストデータパケットを、転送されてきたリングレット910aに送信(Transit)するとともに、そのパケットと同一パケットを生成(Copy)する。ただし、TTL値が0であった場合には、フォワーディング回路51Wは、Copy処理は行わずにTransit処理を行う。すなわち、TTL値が0のパケットと同一パケットの生成を行わずに、受信したユニキャストデータパケットを、転送されてきたリングレット910aに送信する。フォワーディング回路51Eは、西側ノード901から、ユニキャストデータパケットを受信する。フォワーディング回路51Eは、西側ノード901から受信したユニキャストデータパケットをリングレット910aから取り出す(Strip)。ただし、TTL値が0であった場合には、フォワーディング回路51Eは、Strip処理を行わずに、受信したユニキャストデータパケットを廃棄する。
なお、態様6において、フォワーディング回路51WがCopyしたユニキャストデータパケットはフィルタ回路62Wに入力され、フィルタ回路62Wはそのパケットの通過を許可する。また、フォワーディング回路51EがStripしたユニキャストデータパケットはフィルタ回路62Eに入力され、フィルタ回路62Eはそのパケットの通過を禁止する。従って、ユニキャストデータパケットからデカプセル化されるユーザデータパケットは、西側ノード901からのみクライアント装置に送信される。よって、クライアント装置における同一パケットの二重到着が防止される。
また、冗長化対応モード設定時における制御パケット処理装置63について説明する。上述の態様2および態様4で説明したように、フォワーディング回路(上記の例ではフォワーディング回路51W,51E)は、CopyまたはStripしたパケットが制御パケットである場合には、その制御パケットを自ノード内の制御パケット処理回路63に出力する。制御パケット処理回路63は、入力された制御パケットの種類に応じた処理(情報解析等)を実行する。制御パケット処理回路63は、制御パケットの種類に応じて、例えば、トポロジディスカバリ、プロテクション、OAM(Operation、Administration and Maintenance)等を行う。これらの処理は、各ノード901,902において独立に行われる。ただし、仮想冗長化ノード103として制御パケットによる連携した処理が必要な場合は、冗長化ノードシステム制御回路100が連携処理を行い、制御パケット処理回路63により制御パケットの送受信動作を行う。
また、冗長化対応モード設定時において、制御パケット処理装置63は、ユニキャスト制御パケットを送信する場合、自ノードに先にRPRパケットを転送することになるリングレットとは反対側のリングレットに対応する多重化回路にのみユニキャスト制御パケットを出力する。例えば、制御パケット処理回路63Wは、リングレット910bに対応する多重化回路54Wにのみユニキャスト制御パケットを出力する。また、制御パケット処理回路63Eは、リングレット910aに対応する多重化回路53Eにのみユニキャスト制御パケットを出力する。冗長化ノードシステム制御回路100は、ユニキャスト制御パケットの送信タイミングになったと判定した場合や、情報処理装置(図示せず。)を介してオペレータからユニキャスト制御パケットの送信指示を受けた場合には、そのユニキャスト制御パケットを送信すべきリングレットに応じたノードの制御パケット処理回路63にユニキャスト制御パケットの送信を行わせる。
また、冗長化ノードシステム100は、仮想冗長化ノード内の一方の制御パケット処理回路63の処理結果を、他方の制御パケット処理回路63に通知する処理を行ってもよい。
以上の説明では、クライアント装置904とノード901,902とを接続させる各リンクに障害が発生していない場合(正常時の場合)について述べた。冗長化対応モード設定時であって、クライアント装置904とノード901,902とを接続させる各リンクの一方に障害が発生した場合、障害が発生したリンクに接続されるノードの各構成部の動作は変わらない。障害が発生していないリンクに接続されるノードでは、フィルタ回路62の動作が、正常時の動作から切り替わる。フィルタ回路62は、自ノードと対になる他のノードとクライアント装置間のリンクに障害が発生した旨の通知を受けた場合、RPRパケットがどちらのリングレットからDrop(StripやCopy)されたパケットであっても、通過を許可する。
また、クライアント装置は、仮想冗長化ノードに含まれる2つのノード901,902のうち、障害が発生していない方のリンクに接続されたノードにのみユーザデータパケットを送信する。
次に、図4を参照して、各種属性(データパケットであるか、制御パケットであるか、ユニキャストパケットであるか、ブロードキャストパケットであるか)を有するRPRパケットの転送動作について説明する。その他の転送動作については、IEEE802.17に準拠する。
なお、冗長化非対応モードに設定されたノード101(図2参照。)の動作は、IEEE802.17に規定されている動作であり、当業者にとって既知の内容であるため、説明を省略する。
以下の説明では、まず、クライアント装置904とノード901,902とを接続させる各リンクに障害が発生していない場合について説明する。
図4に示すノード901,902はそれぞれ、例えば、起動時に上位のマネジメントシステム等により、西側ノード用の冗長化対応モードの設定、東側ノード用の冗長化対応モードの設定が行われる。あるいは、既に説明したように、パーソナルコンピュータ等の情報処理装置が、ノード901,902に、西側ノード用の冗長化対応モードの設定、東側ノード用の冗長化対応モードの設定を行ってもよい。
ブロードキャストデータパケットの転送動作は、以下のようになる。
クライアント装置904(図4において図示せず。図1参照。)は、規則に応じてユーザデータパケットを送信するノードを決定し、決定したノードに対してユーザデータパケットを送信する。従って、ノード901,902は、いずれもクライアント装置からユーザデータパケットを受信することがある。
ノード901,902のいずれか一方のパケット変換回路61が、RPR MAC DAとしてブロードキャストアドレスを設定して、ユーザデータパケットをカプセル化してブロードキャストデータパケットを生成したとする。なお、パケット変換回路61は、例えば、ユーザデータパケットのMAC DAがブロードキャストアドレスであったり、ユーザデータパケットのMAC DAに対応するRPR MACアドレスの検索に失敗した場合に、ブロードキャストデータパケットを生成する。
リングレット選択回路56は、パケット変換回路61によって生成されたブロードキャストデータパケットを送信すべきリングレットを決定し、そのリングレットの情報をブロードキャストデータパケットに付加する(具体的には、図15に示すBase Controlフィールドのサブフィールドである“ri”に付加する)。続いて、TTL設定回路64がTTL値を設定し、リングレット910aに送信すべきブロードキャストデータパケットは多重化回路53Eに出力し、リングレット910bに送信すべきブロードキャストデータパケットは、多重化回路54Wに出力する。具体的には、TTL設定回路64Wがブロードキャストデータパケットを出力する場合、TTL設定回路64Wは、リングレット910aに送信すべきブロードキャストデータパケットを、Add切替スイッチ59Wを介して多重化回路53Eに出力する。そして、TTL設定回路64Wは、リングレット910bに送信すべきブロードキャストデータパケットを、Add切替スイッチ58Wを介して多重化回路54Wに出力する。また、TTL設定回路64Eがブロードキャストデータパケットを出力する場合、TTL設定回路64Eは、リングレット910aに送信すべきブロードキャストデータパケットを、Add切替スイッチ59Eを介して多重化回路53Eに出力する。そして、TTL設定回路64Eは、リングレット910bに送信すべきブロードキャストデータパケットを、Add切替スイッチ58Eを介して多重化回路54Wに出力する。多重化回路53Eは、入力されたブロードキャストパケットを多重し、リングレット910aに出力する。同様に、多重化回路54Wは、入力されたブロードキャストパケットを多重し、リングレット910bに出力する。
また、仮想冗長化ノード903(図1参照。)以外の仮想冗長化ノードからリングレット910aに送出されたブロードキャストデータパケットが、仮想冗長化ノード903に転送されてきたとする。この場合、図4に示すフォワーディング回路51Wがリングレット910aからブロードキャストデータパケットを受信する。以降の動作は、TTL値が0であるか否かによって異なる。
TTL値が0ではないブロードキャストデータパケットを受信した場合、フォワーディング回路51Wは、TTL減算を行わずに、そのブロードキャストデータパケットを、転送されてきたリングレット910aに送信する(Transit)。また、フォワーディング回路51Wは、そのデータパケットと同一のパケットを生成する(Copy)。この処理は、図7に示すステップS21に相当する。フォワーディング回路51Wは、Copyしたパケットを多重化回路55Wに出力する。多重化回路55Wは、フォワーディング回路51WによってCopyされたブロードキャストデータパケットと、リングレット910bからCopy等されたパケットとを多重し、フィルタ回路62Wおよびアドレステーブル60Wに出力する。フィルタ回路62Wは、リングレット910aからCopyされたパケットの通過を許可するので、フォワーディング回路51WがCopyしたブロードキャストデータパケットは、パケット変換回路61Wに出力される。このとき、フィルタ回路62Wは、ブロードキャストデータパケットのBase Controlフィールドのサブフィールドである“ri(Ringlet Identifier)”を参照して、ブロードキャストデータパケットがリングレット910aからCopyされたことを判定すればよい。パケット変換回路61Wは、そのブロードキャストパケットをデカプセル化し、クライアント装置904(図4において図示せず。図1参照。)に出力する。また、アドレステーブル60Wは、ブロードキャストデータパケットを参照してRPR MAC SAと、ユーザデータパケットのMAC SAとの対応関係を学習し、その対応関係を登録する。
また、フォワーディング回路51Wによってリングレット910aに送信されたブロードキャストデータパケットは、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、受信したブロードキャストデータパケットのTTL値を1減算し、そのブロードキャストデータパケットを、転送されてきたリングレット910aに送信する(Transit)。また、フォワーディング回路51Eは、そのデータパケットと同一のパケットを生成する(Copy)。この処理は、図7に示すステップS22に相当する。フォワーディング回路51Eは、Copyしたパケットを多重化回路55Eに出力する。多重化回路55Eは、フォワーディング回路51EによってCopyされたブロードキャストデータパケットと、リングレット910bからCopyやStripされたパケットとを多重し、フィルタ回路62Eおよびアドレステーブル60Eに出力する。フィルタ回路62Eは、リングレット910aからCopyされたパケットの通過を禁止するので、フォワーディング回路51EがCopyしたブロードキャストデータパケットは、パケット変換回路61Eに出力されない。よって、パケット変換回路61Eからクライアント装置904にユーザデータパケットは送信されない。なお、フィルタ回路62Eも、Base Controlフィールドのサブフィールドである“ri”を参照して、ブロードキャストデータパケットがリングレット910aからCopyされたことを判定すればよい。アドレステーブル60Eは、ブロードキャストデータパケットを参照してRPR MAC SAと、ユーザデータパケットのMAC SAとの対応関係を学習し、その対応関係を登録する。従って、アドレステーブル60W,60Eは、同様の学習内容を記憶する。フォワーディング回路51Eによってリングレット910aに送信されたブロードキャストデータパケットは、TTL値が0になるまで、あるいは、“Source Strip”により廃棄されるまで、リング内を順次転送される。“Source Strip”とは、送信元アドレス(RPR MAC SA)を自身のアドレスとするノードにおいてパケットが廃棄されることを意味する。本実施の形態では、“Source Strip”動作は、冗長化対応モード時であっても、冗長化非対応モード時であっても有効である。
なお、上述のようにクライアント装置には、ノード901,902の一方(上記の例ではノード901)のみがユーザデータパケットを送信するので、クライアント装置にユーザデータパケットが二重到着することはない。
TTL値が0であるブロードキャストデータパケットを受信した場合、フォワーディング回路51Wは、TTL値が0であっても、そのブロードキャストデータパケットを、転送されてきたリングレット910aに送信(Transit)する。この処理は、図8に示すステップS31と同様の処理である。フォワーディング回路51Wによってリングレット910aに送信されたブロードキャストデータパケット(TTL値は0)は、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、このブロードキャストパケットを廃棄する。この処理は、図8に示すステップS32と同様の処理である。
ここでは、リングレット910aに送出されたブロードキャストデータパケットが、仮想冗長化ノード903に転送されてきた場合を例に説明した。リングレット910bに送出されたブロードキャストデータパケットが、仮想冗長化ノード903に転送されてきた場合の動作は、フォワーディング回路52Eが最初にブロードキャストデータパケットを受信して処理を行っていく点を除けば、上記の動作と同様である。
ユニキャストデータパケットの転送動作は、以下のようになる。
ノード901,902のいずれか一方のパケット変換回路61が、ユーザデータパケットをカプセル化してユニキャストデータパケットを生成したとする。リングレット選択回路56は、パケット変換回路61によって生成されたユニキャストデータパケットを送信すべきリングレットを決定し、そのリングレットの情報をユニキャストデータパケットの“ri”に付加する。続いて、TTL設定回路64がTTL値を設定し、リングレット910aに送信すべきユニキャストデータパケットは多重化回路53Eに出力し、リングレット910bに送信すべきユニキャストデータパケットは、多重化回路54Wに出力する。TTL設定回路64から多重化回路53Eまたは多重化回路54Wへのユニキャストパケットの出力態様は、ブロードキャストデータパケットの場合と同様であるので、詳細な説明は省略する。
また、仮想冗長化ノード903(図1参照。)以外の仮想冗長化ノードからリングレット910aに送出されたユニキャストデータパケットが、仮想冗長化ノード903に転送されてきたとする。この場合、図4に示すフォワーディング回路51Wがリングレット910aからユニキャストデータパケットを受信する。以降の動作は、ユニキャストデータパケットのRPR MAC DA(宛先アドレス)と、仮想冗長化ノード903に含まれる各ノードのRPR MACアドレスとが一致しているか否かによって異なる。
フォワーディング回路51Wが、RPR MAC DAが自ノードのRPR MACアドレスと一致しているユニキャストデータパケットを受信したとする。この場合、フォワーディング回路51Wは、ユニキャストデータパケットのRPR MAC DAと、自ノードのRPR MACアドレスとが一致していることを確認し、そのユニキャストデータパケットを、転送されてきたリングレット910aに送信する(Transit)。また、フォワーディング回路51Wは、そのユニキャストデータパケットと同一のパケットを生成する(Copy)。ただし、TTL値が0であった場合には、フォワーディング回路51Wは、Copy処理は行わずにTransit処理を行う。すなわち、TTL値が0のパケットと同一パケットの生成を行わずに、受信したユニキャストデータパケットを、転送されてきたリングレット910aに送信する。この処理は、図9に示すステップS41の処理と同様である。フォワーディング回路51Wは、Copyしたパケットを多重化回路55Wに出力する。多重化回路55Wは、フォワーディング回路51WによってCopyされたユニキャストデータパケットと、リングレット910bからCopy等されたパケットとを多重し、フィルタ回路62Wおよびアドレステーブル60Wに出力する。フィルタ回路62Wは、リングレット910aからCopyされたパケットの通過を許可するので、フォワーディング回路51WがCopyしたユニキャストデータパケットは、パケット変換回路61Wに出力される。このとき、フィルタ回路62Wは、ユニキャストデータパケットの“ri”を参照して、ユニキャストデータパケットがリングレット910aからCopyされたことを判定すればよい。パケット変換回路61Wは、そのユニキャストパケットをデカプセル化し、クライアント装置904(図4において図示せず。図1参照。)に出力する。また、アドレステーブル60Wは、ユニキャストデータパケットを参照してRPR MAC SAと、ユーザデータパケットのMAC SAとの対応関係を学習し、その対応関係を登録する。
また、フォワーディング回路51Wによってリングレット910aに送信されたユニキャストデータパケットは、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、受信したユニキャストデータパケットのRPR MAC DAと、自ノードのRPR MACアドレスとが一致していることを確認し、そのユニキャストデータパケットをリングレット910aから取り出す(Strip)。ただし、TTL値が0であった場合には、フォワーディング回路51Eは、Strip処理を行わずに、受信したユニキャストデータパケットを廃棄する。この処理は、図9に示すステップS42と同様の処理である。フォワーディング回路51Eは、Stripしたパケットを多重化回路55Eに出力する。多重化回路55Eは、フォワーディング回路51EによってCopyされたユニキャストデータパケットと、リングレット910bからCopyやStripされたパケットとを多重し、フィルタ回路62Eおよびアドレステーブル60Eに出力する。フィルタ回路62Eは、リングレット910aからStripされたパケットの通過を禁止するので、フォワーディング回路51EがStripしたユニキャストデータパケットは、パケット変換回路61Eに出力されない。よって、パケット変換回路61Eからクライアント装置904にユーザデータパケットは送信されない。なお、フィルタ回路62Eも、“ri”を参照して、ユニキャストデータパケットがリングレット910aからStripされたことを判定すればよい。アドレステーブル60Eは、ユニキャストデータパケットを参照してRPR MAC SAと、ユーザデータパケットのMAC SAとの対応関係を学習し、その対応関係を登録する。従って、アドレステーブル60W,60Eは、同様の学習内容を記憶する。
なお、上述のようにクライアント装置には、ノード901,902の一方(上記の例ではノード901)のみがユーザデータパケットを送信するので、クライアント装置にユーザデータパケットが二重到着することはない。
フォワーディング回路51Wが、RPR MAC DAが自ノードのRPR MACアドレスと異なるユニキャストデータパケットを受信したとする。この場合、フォワーディング回路51Wは、ユニキャストデータパケットのRPR MAC DAと、自ノードのRPR MACアドレスとが異なることを確認し、そのユニキャストデータパケットを、転送されてきたリングレット910aに送信する(Transit)。このとき、フォワーディング回路51Wは、ユニキャストデータパケットのTTL値の減算を行わずに送信する。この処理は、図6に示すステップS11に相当する。また、フォワーディング回路51Wは、受信したユニキャストデータパケットのTTL値が0であっても、廃棄は行わずに、同様のTransit処理を行う。フォワーディング回路51Wによってリングレット910aに送信されたユニキャストデータパケットは、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、ユニキャストデータパケットのRPR MAC DAと、自ノードのRPR MACアドレスとが異なることを確認し、そのユニキャストデータパケットのTTL値を1減算する。そして、フォワーディング回路51Eは、そのユニキャストデータパケットを、転送されてきたリングレット910aに送信する(Transit)。ただし、フォワーディング回路51Eは、受信したユニキャストデータパケットのTTL値が0である場合には、そのユニキャストパケットを廃棄する。この処理は、図6に示すステップS12に相当する。
ここでは、リングレット910aに送出されたユニキャストデータパケットが、仮想冗長化ノード903に転送されてきた場合を例に説明した。リングレット910bに送出されたユニキャストデータパケットが、仮想冗長化ノード903に転送されてきた場合の動作は、フォワーディング回路52Eが最初にユニキャストデータパケットを受信して処理を行っていく点を除けば、上記の動作と同様である。
また、以上に示したように、一方のノードのアドレステーブルがRPR MAC SAと、ユーザデータパケットのMAC SAとの対応関係を学習する場合、他方のノードのアドレステーブルも同様の対応関係を学習する。
ブロードキャスト制御パケットの転送動作は、以下のようになる。
冗長化対応モードに設定された制御パケット処理回路63は、ブロードキャスト制御パケットを出力する場合、自ノード内の多重化回路53,54の双方に出力する。また、制御パケット処理回路63は、そのブロードキャスト制御パケットにおけるRPR MAC SAとして、自ノードのRPR MACアドレスを設定する。制御パケット処理回路63からブロードキャスト制御パケットを入力された多重化回路53,54は、それぞれブロードキャスト制御パケットをリングレット910a,910bに送信する。仮想冗長化ノード内の2つノード901,902には同一のRPR MACアドレスが割り当てられているため、多重化回路53Wがリングレット910aに送信したブロードキャスト制御パケットは、フォワーディング回路51Eによって廃棄(Source Strip)される。同様に、多重化回路54Eがリングレット910bに送信したブロードキャスト制御パケットは、フォワーディング回路52Wによって廃棄(Source Strip)される。従って、制御パケット処理回路63Wが生成したブロードキャスト制御パケットは、リングレット910bによって、他の仮想冗長化ノードに転送される。同様に、制御パケット63Eが生成したブロードキャスト制御パケットは、リングレット910aによって、他の仮想冗長化ノードに転送される。
また、仮想冗長化ノード903(図1参照。)以外の仮想冗長化ノードからリングレット910aに送出されたブロードキャスト制御パケットが、仮想冗長化ノード903に転送されてきたとする。この場合、図4に示すフォワーディング回路51Wがリングレット910aからブロードキャストデータパケットを受信する。以降の動作は、TTL値が0であるか否かによって異なる。
TTL値が0ではないブロードキャスト制御パケットを受信した場合、フォワーディング回路51Wは、TTL減算を行わずに、そのブロードキャスト制御パケットを、転送されたきたリングレット910aに送信する(Transit)。また、フォワーディング回路51Wは、その制御パケットと同一のパケットを生成する(Copy)。この処理は、図7に示すステップS21に相当する。フォワーディング回路51Wは、Copyしたブロードキャスト制御パケットを制御パケット処理回路63Wに出力する。制御パケット処理回路63Wは、その制御パケットの種別に応じた処理を行う。
また、フォワーディング回路51Wによってリングレット910aに送信されたブロードキャスト制御パケットは、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、受信したブロードキャスト制御パケットのTTL値を1減算し、そのブロードキャスト制御パケットを、転送されてきたリングレット910aに送信する(Transit)。また、フォワーディング回路51Eは、その制御パケットと同一のパケットを生成する(Copy)。この処理は、図7に示すステップS22に相当する。
フォワーディング回路51Eは、Copyしたブロードキャスト制御パケットを制御パケット処理回路63Eに出力する。制御パケット処理回路63Eは、その制御パケットの種別に応じた処理を行う。フォワーディング回路51Eによってリングレット910aに送信されたブロードキャスト制御パケットは、TTL値が0になるまで、あるいは、“Source Strip”により廃棄されるまで、リング内を順次転送される。
TTL値が0であるブロードキャスト制御パケットを受信した場合、フォワーディング回路51Wは、TTL値が0であっても、そのブロードキャスト制御パケットを、転送されてきたリングレット910aに送信(Transit)する。この処理は、図8に示すステップS31に相当する。フォワーディング回路51Wによってリングレット910aに送信されたブロードキャスト制御パケット(TTL値は0)は、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、このブロードキャストパケットを廃棄する。この処理は、図8に示すステップS32に相当する。
ここでは、リングレット910aに送出されたブロードキャスト制御パケットが、仮想冗長化ノード903に転送されてきた場合を例に説明した。リングレット910bに送出されたブロードキャスト制御パケットが、仮想冗長化ノード903に転送されてきた場合の動作は、フォワーディング回路52Eが最初にブロードキャスト制御パケットを受信して処理を行っていく点を除けば、上記の動作と同様である。
ユニキャスト制御パケットの転送動作は、以下のようになる。
既に説明したように、冗長化対応モード設定時では、制御パケット処理回路63Wは、リングレット910bに対応する多重化回路54Wにのみユニキャスト制御パケットを出力する。また、制御パケット処理回路63Wは、リングレット910bに対応する多重化回路54Wにのみユニキャスト制御パケットを出力する。従って、仮想冗長化ノード903がリングレット910aにユニキャスト制御パケットを送信する場合には、制御パケット処理回路63Eが多重化回路53Eにユニキャスト制御パケットを出力し、多重化回路53Eがユニキャスト制御パケットを多重してリングレット910aに送信する。また、仮想冗長化ノード903がリングレット910bにユニキャスト制御パケットを送信する場合には、制御パケット処理回路63Wが多重化回路54Wにユニキャスト制御パケットを出力し、多重化回路54Wがユニキャスト制御パケットを多重してリングレット910bに送信する。
また、仮想冗長化ノード903(図1参照。)以外の仮想冗長化ノードからリングレット910aに送出されたユニキャスト制御パケットが、仮想冗長化ノード903に転送されてきたとする。この場合、図4に示すフォワーディング回路51Wがリングレット910aからユニキャスト制御パケットを受信する。以降の動作は、ユニキャスト制御パケットのRPR MAC DAと、仮想冗長化ノード903に含まれる各ノードのRPR MACアドレスとが一致しているか否かによって異なる。
フォワーディング回路51Wが、RPR MAC DAが自ノードのRPR MACアドレスと一致しているユニキャスト制御パケットを受信したとする。この場合、フォワーディング回路51Wは、ユニキャスト制御パケットのRPR MAC DAと、自ノードのRPR MACアドレスとが一致していることを確認し、そのユニキャスト制御パケットを、転送されてきたリングレット910aに送信する(Transit)。また、フォワーディング回路51Wは、そのユニキャスト制御パケットと同一のパケットを生成する(Copy)。ただし、TTL値が0であった場合には、フォワーディング回路51Wは、Copy処理は行わずにTransit処理を行う。すなわち、TTL値が0のパケットと同一パケットの生成を行わずに、受信したユニキャスト制御パケットを、転送されてきたリングレット910aに送信する。この処理は、図9に示すステップS41に相当する。フォワーディング回路51Wは、Copyした制御パケットを制御パケット処理回路63Wに出力する。制御パケット処理回路63Wは、その制御パケットの種別に応じた処理を行う。
また、フォワーディング回路51Wによってリングレット910aに送信されたユニキャスト制御パケットは、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、受信したユニキャスト制御パケットのRPR MAC DAと、自ノードのRPR MACアドレスとが一致していることを確認し、そのユニキャスト制御パケットをリングレット910aから取り出す(Strip)。ただし、TTL値が0であった場合には、フォワーディング回路51Eは、Strip処理を行わずに、受信したユニキャスト制御パケットを廃棄する。この処理は、図9に示すステップS42に相当する。フォワーディング回路51Eは、Stripした制御パケットを制御パケット処理回路63Eに出力する。制御パケット処理回路63Eは、その制御パケットの種別に応じた処理を行う。
フォワーディング回路51Wが、RPR MAC DAが自ノードのRPR MACアドレスと異なるユニキャスト制御パケットを受信したとする。この場合、フォワーディング回路51Wは、ユニキャスト制御パケットのRPR MAC DAと、自ノードのRPR MACアドレスとが異なることを確認し、そのユニキャスト制御パケットを、転送されてきたリングレット910aに送信する(Transit)。このとき、フォワーディング回路51Wは、ユニキャスト制御パケットのTTL値の減算を行わずに送信する。この処理は、図6に示すステップS11に相当する。また、フォワーディング回路51Wは、受信したユニキャスト制御パケットのTTL値が0であっても、廃棄は行わずに、同様のTransit処理を行う。フォワーディング回路51Wによってリングレット910aに送信されたユニキャスト制御パケットは、フォワーディング回路51Eによって受信される。フォワーディング回路51Eは、ユニキャスト制御パケットのRPR MAC DAと、自ノードのRPR MACアドレスとが異なることを確認し、そのユニキャスト制御パケットのTTL値を1減算する。そして、フォワーディング回路51Eは、そのユニキャスト制御パケットを、転送されてきたリングレット910aに送信する(Transit)。ただし、フォワーディング回路51Eは、受信したユニキャスト制御パケットのTTL値が0である場合には、そのユニキャストパケットを廃棄する。この処理は、図6に示すステップS12に相当する。
ここでは、リングレット910aに送出されたユニキャスト制御パケットが、仮想冗長化ノード903に転送されてきた場合を例に説明した。リングレット910bに送出されたユニキャスト制御パケットが、仮想冗長化ノード903に転送されてきた場合の動作は、フォワーディング回路52Eが最初にユニキャスト制御パケットを受信して処理を行っていく点を除けば、上記の動作と同様である。
なお、仮想冗長化ノード903に属する各ノード901,902の各制御パケット処理回路63W,63Eは、ブロードキャスト制御パケットやユニキャスト制御パケットを冗長化ノードシステム制御回路100の指示に従って出力する。冗長化ノードシステム制御回路100は、ブロードキャスト制御パケットやユニキャスト制御パケットを送信すべきリングレットに基づいて、制御パケット処理回路63W,63Eの一方あるいは両方を選択し、選択した制御パケット処理回路にブロードキャスト制御パケットやユニキャスト制御パケットを出力させる。また、制御パケット処理回路63W,63Eは、冗長化ノードシステム制御回路100に従い、IEEE802.17で規定されている全ての種類の制御パケットを出力する。このように、制御パケット処理回路63W,63Eが制御パケットを出力することにより、仮想的かつ巨視的に、冗長化ノード903を、各種制御パケットをリングに出力する1つのノードとして捉えることができる。
次に、仮想冗長化ノードに含まれる2つのノードのいずれか一方と、クライアント装置との間のリンクに障害が起こった場合の動作について説明する。以下の説明では、西側ノード901とクライアント装置間のリンクに障害が発生したものとして説明するが、東側ノード902とクライアント装置間のリンクに障害が発生した場合も同様である。
クライアントとの間のリンクに障害が発生したノード(本例では西側ノード901)は、リンク障害を検出しても、リンク障害検出前と同一の動作を継続する。
図10は、リンク障害発生時におけるクライアント装置の動作を示すフローチャートである。また、図11は、2つのノードのうちクライアント装置との間のリンクに障害が発生していない方のノード(本例では東側ノード)の動作を示すフローチャートである。
クライアント装置は、一方のノード(西側ノード901)との間のリンクに障害が発生したことを検出する(ステップS61)。すると、クライアント装置は、ユーザデータパケットを送信するときに、障害が発生していないリンクによって接続されるノード(本例では東側ノード902)にのみユーザデータパケットを送信する(ステップS62)。
また、クライアント装置との間のリンクに障害が発生していない方のノード(東側ノード902)は、他のノードとクライアント装置との間のリンクに障害が発生した旨の通知を受ける(ステップS71)。例えば、各ノード901,902とクライアント装置間の各リンクにおける障害発生を検出する障害検出装置(図示せず。)を設けておき、その障害検出装置が、リンク障害を検出した場合に、障害の発生していないリンクによってクライアント装置と接続されているノードにリンク障害の発生を通知すればよい。なお、障害が発生したリンクによって接続されるノードおよびクライアント装置は、それぞれ自身がリンク障害を検出することができる。
ステップS71において通知を受けたノードは、自ノードのフィルタ回路62がどちらのリングレットからのパケットであっても通過を許可するように、自ノードのフィルタ回路62の動作を切り替える(ステップS72)。例えば、東側ノード902は、ステップS71の通知を受けた場合、フィルタ回路62Eがどちらのリングレットからのパケットであっても通過を許可するように、フィルタ回路62Eの動作を切り替える。フィルタ回路62E以外の各構成要素の動作は、リンク障害が発生していない時(正常時)と同一である。
クライアント装置は、西側ノード901との間のリンクに障害が発生すると、東側ノード902に対してのみユーザデータパケットを送信する。東側ノード902は、このユーザデータパケットに対し正常時と同様の動作を行い、リングに送出する。すなわち、パケット変換回路61Eがカプセル化を行ってRPRパケットを生成し、リングレット選択回路56Eは、RPRパケットを送信するリングレットを決定する。そして、TTL設定回路64Eは、TTLを設定し、決定されたリングレットに応じた多重化回路にRPRパケットを出力する。すなわち、リングレット910aに送信する場合には、TTL設定回路64Eは、Add切替スイッチ59Eを介して多重化回路53EにRPRパケットを出力する。また、リングレット910bに送信する場合には、TTL設定回路64Eは、Add切替スイッチ58Eを介して多重化回路54WにRPRパケットを出力する。多重化回路53E,54Wは、TTL設定回路64Eから入力されたRPRパケットを多重し、リングレットに送信する。従って、クライアント装置が東側ノード902のみにユーザデータパケットを送信したとしても、仮想冗長化ノードは、リングレット910aにもリングレット910bにもRPRパケットを送信することができる。
仮想冗長化ノード903(図1参照。)以外の仮想冗長化ノードから送信されたRPRパケットを仮想冗長化ノード903に属するノード901,902が受信する場合の動作のうち、リンク障害未発生時と異なるのは、以下の場合である。すなわち、仮想冗長化ノード903からクライアント装置にユーザデータパケットを送信する必要がある場合である。具体的には、TTL値が0でないブロードキャストデータパケットを受信した場合と、自ノードのRPR MACアドレスと一致するRPR MAC DAを有するユニキャストデータパケットを受信した場合である。他のRPRパケットを受信した場合の動作は、リンク障害未発生時と同様である。
また、TTL値が0でないブロードキャストデータパケットを受信した場合や、自ノードのRPR MACアドレスと一致するRPR MAC DAを有するユニキャストデータパケットを受信した場合であっても、各フォワーディング回路51W,52W,51E,52Eの動作は、西側ノード901とクライアント装置904(図1参照。)との間のリンクに障害が発生していない場合と同様である。従って、TTL値が0でないブロードキャストデータパケットを受信した場合や、自ノードのRPR MACアドレスと一致するRPR MAC DAを有するユニキャストデータパケットを受信した場合、各フォワーディング回路51W,52W,51E,52Eは、既に説明したリンク障害未発生時と同様に、受信したRPRパケットと同一のパケットを生成して出力する処理(Copy)または受信したRPRパケットをリングから取り出す処理(Strip)を行う。なお、既に説明したように、自ノードのRPR MACアドレスと一致するRPR MAC DAを有するユニキャストデータパケットであっても、TTL値が0の場合、Copy処理やStrip処理は行われない。
リンクに障害が発生した西側ノード901のフォワーディング回路51Wやフォワーディング回路52Wは、Copy処理またはStrip処理を行ったRPRパケットを、多重化回路55Wを介して、アドレステーブル60Wおよびフィルタ回路62Wに出力する。アドレステーブル60Wおよびフィルタ回路62Wは、リンク障害未発生時と同様に動作する。フィルタ回路62Wは、リングレット910aからのRPRパケットをパケット変換回路61Wに出力する。そして、パケット変換回路61Wは、そのRPRパケットをデカプセル化してユーザデータパケットをクライアント装置に出力しようとするが、リンクに障害が生じているので、ユーザデータパケットはクライアント装置には到達しない。すなわち、リンク障害未発生時であれば、リングレット910aから送られてくるパケットをクライアント装置に送信可能であるが、そのようなパケットをクライアント装置に送信できなくなる。
一方、リンクに障害が発生していない東側ノード902のフォワーディング回路51Eやフォワーディング回路52Eは、Copy処理またはStrip処理を行ったRPRパケットを、多重化回路55Eを介して、アドレステーブル60Eおよびフィルタ回路62Eに出力する。アドレステーブル60Eは、リンク障害未発生時と同様に動作する。ただし、フィルタ回路62Eは、西側ノード901のリンク障害の通知を受けたことにより、どちらのリングレット910a,910bからCopyまたはStripされたRPRパケットであっても通過を許可するように動作切替が行われている(図11に示すステップS72参照。)。従って、フィルタ回路62Eは、リングレット910aから送られてくるRPRパケットであっても、リングレット910bから送られてくるRPRパケットであっても、パケット変換回路61Eに出力する。パケット変換回路61Eは、フィルタ回路62Eから入力されるRPRパケットをデカプセル化し、ユーザデータパケットをクライアント装置に送信する。このように、各リングレット910a、910bから転送されてくるパケットは、東側ノード902によってクライアント装置に送信される。
よって、リンク障害未発生時において西側ノード901がクライアント装置に送信していたパケットは、リンク障害発生後は東側ノード902によってクライアント装置に送信され、一方のノード901のリンクに障害が発生したとしても、他方のノードからクライアント装置にユーザデータパケットを送信できる。
また、既に説明したように、リンクに障害が発生していないとき、アドレステーブル60W,60Eは、同様の学習内容を記憶する。従って、クライアント装置が、ノード901,902の双方にユーザデータパケットを振り分けて送信する状態から、リンク障害の発生していない方のノードにのみユーザデータパケットを送信する状態に切り替わったとしても、リンク障害の発生していない方のノードのアドレステーブルは、既に学習内容を記憶していてRPR MAC DAの検索に失敗することが少ない。また、リンク障害発生時では、一方のフィルタ回路の動作を切り替えるだけでよい。従って、高速に障害回復を行うことができる。
また、クライアント装置がリンク障害の生じていない方のノードにユーザデータを送信することによって、仮想冗長化ノード903からいずれのリングレットに対してもRPRノード送信をすることができる。また、リンク障害が生じていない方のノードのフィルタ回路の動作を切り替えることで、他の仮想冗長化ノードから転送されてくるRPRパケット内のユーザデータパケットをクライアント装置に送信することができる。よって、リング内の他のノードの動作に影響を与えることななく、障害回復を行うことができる。
また、本実施の形態におけるノードは、例えば、上位プロビジョニング設定により、フォワーディング回路51,52、多重化回路53,54、Add切替スイッチ58,59、フィルタ回路62の動作を切り替える。よって、クライアント装置が1つのノードにのみ接続される場合であっても、クライアント装置が冗長化された2つのノードに接続される場合であっても、ノードの構成を共通化することができる。その結果、ノードの開発効率および棚卸管理効率を向上させることができる。
第1の実施の形態において、受信部は、フォワーディング回路51,52によって実現される。アドレス記憶部は、アドレステーブル60によって実現される。クライアント装置向け送信部は、パケット変換回路61によって実現される。フィルタは、フィルタ回路62によって実現される。多重化部は、53E,54Wによって実現される。パケット生成部は、パケット変換回路61によって実現される。出力先切替部は、TTL設定回路64、Add切替スイッチ58,59によって実現される。第1受信部は、フォワーディング回路51によって実現される。第2受信部は、フォワーディング回路52によって実現される。第1多重化部は、多重化回路53によって実現される。第2多重化部は、多重化回路54によって実現される。
実施の形態2.
図12は、本発明の第2の実施の形態におけるノードの構成例を示す説明図である。図3に示す構成部と同様の構成部については、図3と同一の符号を付し詳細な説明を省略する。第二の実施の形態におけるノードは、Add切替スイッチ58,59(図3参照。)を備えていない点で、第1の実施の形態と異なる。冗長化非対応モードに設定された場合の各構成部(フォワーディング回路51,52、多重化回路53〜55、リングレット選択回路56、トポロジ管理回路57、アドレステーブル60、パケット変換回路61、フィルタ回路62、制御パケット処理回路63、およびTTL設定回路64)の動作は、第1の実施の形態における冗長化非対応モード設定時と同様である。冗長化非対応モード設定時のノードの動作は、IEEE802.17に準拠した動作であるので説明を省略する。
図13は、図12に示す構成のノードを2つ組み合わせた仮想冗長化ノードを示す説明図である。図12や図4に示す構成部と同様の構成部については、図12や図4と同一の符号を付して、詳細な説明を省略する。仮想冗長化ノードとして使用されるノード901,902は、冗長化対応モードに設定される。また、第1の実施の形態と同様に、同一の仮想冗長化ノードに含まれる2つのノードには、同一のRPRノードID(RPR MACアドレス)が与えられる。ノードに対する冗長化非対応モードまたは冗長化対応モードの設定は、第1の実施の形態と同様に、例えば上位プロビジョニング設定によって行われる。
以下、冗長化対応モードに設定されたときの動作について、第1の実施の形態と異なる点について説明する。
各ノード901,902のTTL設定回路64は、リングレット選択回路56から入力されたRPRパケットを、リングレット選択回路56によって選択されたリングレットに対応する自ノード内の多重化回路に出力する。すなわち、各ノードのTTL設定回路64は、リングレット910aが選択されたときには、自ノード内の多重化回路53にRPRパケットを出力し、リングレット910bが選択されたときには、自ノード内の多重化回路54にRPRパケットを出力する。また、リングレット910a、910bが両方とも選択されたとき(例えば、ブロードキャストデータパケット送信時)には、自ノード内の多重化回路53,54それぞれにRPRパケットを出力する。
また、各ノード901,902の制御パケット処理回路63は、制御パケットの送信リングレットに対応する自ノード内の多重化回路に制御パケットを出力する、すなわち、各ノードの制御パケット処理回路63は、制御パケットをリングレット910aから送出する場合には、その制御パケットを自ノード内の多重化回路53に出力し、制御パケットをリングレット910bから送出する場合には、その制御パケットを自ノード内の多重化回路54に出力する。また、制御パケットをリングレット910a,910bの双方から送出するとき(例えば、ブロードキャスト制御パケット送信時)には、自ノード内の多重化回路53,54それぞれにRPRパケットを出力する。
冗長化ノードシステム制御回路100は、他の仮想冗長化ノードに制御パケットの重複到着が生じないように、制御パケット処理回路63W,63Eを制御する。例えば、制御パケット処理回路63Wに各リングレット910a,910bへの制御パケットのブロードキャスト送信を行わせる場合には、他方の制御パケット処理回路63Eにはその制御パケットの出力を行わせないように制御する。
なお、各ノード901,902の多重化回路53,54は、それぞれ入力されたRPRパケットを多重し、対応するリングレットに送信する。この動作は、冗長化非対応モード時の動作と同様である。
自身が属する仮想冗長化ノード以外の仮想冗長化ノードから転送されてくるRPRパケットを受信した場合、各ノード901,902の各フォワーディング回路51,52は、第1の実施の形態と同様に動作する。ただし、第1の実施の形態では、自身が属する仮想冗長化ノード内の他のノードからRPRパケットを受信するフォワーディング回路(具体的にはフォワーディング回路51E,52W)が、その仮想冗長化ノード内の他のノードで生成されリングレットに多重されて送信されたRPRパケットを受信することはなかった。しかし、第2の実施の形態では、そのようなRPRパケットも受信することになる。自身が属する仮想冗長化ノード内の他のノードからRPRパケットを受信するフォワーディング回路(フォワーディング回路51E,52W)は、第1の実施の形態と同様の動作を行うとともに、仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたRPRパケットに対して、以下の処理を行う。
自身が属する仮想冗長化ノード内の他のノードからRPRパケットを受信するフォワーディング回路は、その仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたRPRパケットに対して“Source Strip”を禁止する。すなわち、自身が属する仮想冗長化ノード内の他のノードで生成され送信されてきたRPRパケットを、そのパケットが転送されてきたリングレットにそのまま送信する。
ノード901,902には、同一のRPR MACアドレスが割り当てられているので、西側ノード901で生成されたRPRパケットのRPR MAC SAは、東側ノード902のRPR MACアドレスに一致する。一般的には、各ノードは、自ノードのRPR MACアドレスをRPR MAC SAとするRPRパケットを受信した場合には、そのRPRパケットを廃棄する(Source Strip)。しかし、本実施の形態では、フォワーディング回路51Eは、自身が属する仮想冗長化ノード内の他のノード901で生成され多重化回路53Wでリングレット910aに多重されたRPRパケットを受信した場合、廃棄(Source Strip)を行わずに、そのRPRパケットを、転送されてきたリングレット910aにそのまま送信する。同様に、本実施の形態では、フォワーディング回路52Wは、自身が属する仮想冗長化ノード内の他のノード902で生成され多重化経路54Eでリングレット910bに多重されたRPRパケットを受信した場合、廃棄(Source Strip)を行わずに、そのRPRパケットを、転送されてきたリングレット910aにそのまま送信する。
また、第1の実施の形態では、自身が属する仮想冗長化ノード内の他のノードからRPRパケットを受信するフォワーディング回路(具体的にはフォワーディング回路51E,52W)が、その仮想冗長化ノード内の他のノードで生成されリングレットに多重されて送信されたブロードキャストパケットを受信することはなかった。しかし、第2の実施の形態では、そのようなブロードキャストパケットも受信することになる。自身が属する仮想冗長化ノード内の他のノードからRPRパケットを受信するフォワーディング回路(フォワーディング回路51E,52W)は、第1の実施の形態と同様の動作を行うとともに、仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたブロードキャストパケット(ブロードキャストデータパケットおよびブロードキャスト制御パケットの双方)に対して、以下の処理を行う。
自身が属する仮想冗長化ノード内の他のノードからRPRパケットを受信するフォワーディング回路は、その仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたブロードキャストパケットに対して、Transit処理のみを行う。すなわち、自身が属する仮想冗長化ノード内の他のノードで生成され送信されてきたブロードキャストパケットを、そのブロードキャストパケットが転送されてきたリングレットにそのまま送信する。従って、フォワーディング回路51Eは、自身が属する仮想冗長化ノード内の他のノード901で生成され多重化回路53Wでリングレット910aに多重されたブロードキャストパケットを受信した場合、そのブロードキャストパケットをリングレット910aにそのまま送信する。また、フォワーディング回路52Wは、自身が属する仮想冗長化ノード内の他のノード902で生成されて多重化回路54Eでリングレット910bに多重されたブロードキャストパケットを受信した場合、そのブロードキャストパケットをそのままリングレット910bに送信する。
冗長化対応モード設定時における他の動作は、第1の実施の形態と同様である。
次に、冗長化非対応モード設定時において、一方のノードが同一の仮想冗長化ノードにRPRパケットを出力するときの動作について説明する。ここでは、西側ノード901がRPRパケットを生成して東側ノード902に送信する場合を例に説明するが、東側ノード902がRPRパケットを生成して西側ノード901に送信する場合も同様である。
西側ノード901のパケット変換回路61Wが、クライアント装置(図13において図示せず。)からユーザデータパケットを受信し、ユーザデータパケットのMAC DAに対応するRPR MACアドレスを検索する。ここでは、検索に成功するものとする。パケット変換回路61Wは、検索したRPR MACアドレスをRPR MAC DAとし、また、ノード901,902に共通のRPR MACアドレスをRPR MAC SAとしてRPRパケットを生成する。パケット変換回路61Wは、そのRPRパケットをリングレット選択回路56Wに出力する。リングレット選択回路56Wは、RPR MAC DAを参照してリングレットを選択する。ここでは、リングレット910aを選択したものとする。リングレット選択回路56Wは、選択したリングレットの情報を“ri(Ringlet Identifier)”に付加し、RPRパケットをTTL設定回路64Wに出力する。TTL設定回路64Wは、TTL値をRPRパケットに設定する。また、リングレット選択回路56Wによってリングレット910aが選択されているので、TTL設定回路64Wは、RPRパケットを多重化回路53Wに出力する。多重化回路53Wは、そのRPRパケットを多重し、リングレット910aに送信する。
東側ノード902のフォワーディング回路51Eは、このRPRパケットを受信する。このRPRパケットにおけるRPR MAC SAは、東側ノードのRPR MACアドレスと同一であるが、フォワーディング回路51Eは、そのRPRパケットをそのままリングレット910aに送信する。この結果、西側ノードで生成されたRPRパケットは、東側ノード902で廃棄されずに、次のノードに転送される。
また、パケット変換回路61WがRPR MACアドレスの検索に失敗したとする。この場合、パケット変換回路61Wは、ブロードキャストアドレスをRPR MAC DAとし、また、ノード901,902に共通のRPR MACアドレスをRPR MAC SAとしてブロードキャストパケットを生成する。パケット変換回路61Wは、そのブロードキャストパケットをリングレット選択回路56Wに出力する。リングレット選択回路56Wは、RPR MAC DAを参照してリングレットを選択する。ここでは、リングレット910a,910bの両方を選択したものとする。リングレット選択回路56Wは、“ri”にリングレット910aの情報を付加したブロードキャストパケットを多重化回路53Wに出力し、“ri”にリングレット910bの情報を付加したブロードキャストパケットを多重化回路54Wに出力する。多重化回路53Wは、TTL設定回路64Wから出力されたブロードキャストパケットを多重してリングレット910aに送信する。また、多重化回路54Wは、TTL設定回路64Wから出力されたブロードキャストパケットを多重してリングレット910bに送信する。
東側ノード902のフォワーディング回路51Eは、多重化回路53Wから送信されたブロードキャストパケットを受信すると、そのブロードキャストパケットをそのままリングレット910aに送信する。この結果、西側ノードで生成されたブロードキャストパケットは、東側ノード902を通過して、次のノードに転送される。
ここでは、西側ノード901がユーザデータパケットをカプセル化したブロードキャストパケットを生成して、東側ノード902に送信する場合を示した。西側ノード901の制御パケット処理回路63Wがブロードキャスト制御パケットを生成して、東側ノード902に送信する場合であっても、同様である。
また、以上の説明では、西側ノード901から東側ノード902にRPRパケットを送信する場合を説明したが、東側ノード902から西側ノード901にRPRを送信する場合も同様である。
なお、他の仮想冗長化ノードから転送されてくるRPRパケットを受信した場合の各ノード901,902の動作は、第1の実施の形態と同様であるので、説明を省略する。
次に、仮想冗長化ノードに含まれる2つのノードのいずれか一方と、クライアント装置との間のリンクに障害が起こった場合の動作について説明する。以下の説明では、西側ノード901とクライアント装置間のリンクに障害が発生したものとして説明するが、東側ノード902とクライアント装置間のリンクに障害が発生した場合も同様である。
クライアントとの間のリンクに障害が発生したノード(本例では西側ノード901)は、リンク障害を検出しても、リンク障害検出前と同一の動作を継続する。
リンク障害を検出したクライアント装置は、第1の実施の形態と同様に動作する。すなわち、クライアント装置は、一方のノードとの間のリンクに障害が発生したことを検出すると、障害が発生していないリンクによって接続されるノードにのみユーザデータパケットを送信する(図10に示すステップS61,S62参照。)。
クライアント装置との間のリンクに障害が発生していない方のノードの動作も第1の実施の形態と同様である。すなわち、他のノードとクライアント装置との間のリンクに障害が発生した旨の通知を受け、自ノードのフィルタ回路62がどちらのリングレットからのパケットであっても通過を許可するように、自ノードのフィルタ回路62の動作を切り替える(図11に示すステップS71,S72参照。)。従って、本例では、フィルタ回路62Eがどちらのリングレットからのパケットであっても通過を許可するように、フィルタ回路62Eの動作を切り替える。フィルタ回路62E以外の各構成要素の動作は、リンク障害が発生していない時(正常時)と同一である。
クライアント装置は、西側ノード901との間のリンクに障害が発生すると、東側ノード902に対してのみユーザデータパケットを送信する。東側ノード902は、このユーザデータパケットに対し正常時と同様の動作を行い、リングに送出する。すなわち、パケット変換回路61Eがカプセル化を行ってRPRパケットを生成し、リングレット選択回路56Eは、RPRパケットを送信するリングレットを決定する。そして、TTL設定回路64Eは、TTLを設定し、決定されたリングレットに応じた多重化回路にRPRパケットを出力する。多重化回路53E,54Eは、TTL設定回路64Eから入力されたRPRパケットを多重し、リングレットに送信する。すでに説明したように、このノード902で生成されたRPRパケットを、同一の仮想冗長化ノード内の他のノード901が受信しても、ノード901はノード902からのRPRパケットをそのまま通過させる。従って、クライアント装置が東側ノード902のみにユーザデータパケットを送信したとしても、仮想冗長化ノードは、リングレット910aにもリングレット910bにもRPRパケットを送信することができる。
また、一方のノードのリンクにおける障害発生時に、他の仮想冗長化ノードから送信されたRPRパケットを受信した場合のノード901,902の動作は、第1の実施の形態におけるリンク障害発生時の動作と同様である。従って、リンク障害未発生時において西側ノード901がクライアント装置に送信していたパケットは、リンク障害発生後は東側ノードによってクライアント装置に送信され、一方のノード901のリンクに障害が発生したとしても、他方のノードからクライアント装置にユーザデータパケットを送信できる。
また、第2の実施の形態においても、リンクに障害が発生していないとき、アドレステーブル60W,60Eは、同様の学習内容を記憶する。従って、第1の実施の形態と同様に、一方のノードとクライアント装置間のリンクに障害が発生したとしても、高速に障害回復を行うことができる。
また、第2の実施の形態においても、クライアント装置がリンク障害の生じていない方のノードにユーザデータを送信することによって、仮想冗長化ノードからいずれのリングレットに対してもRPRノード送信をすることができる。また、リンク障害が生じていない方のノードのフィルタ回路の動作を切り替えることで、他の仮想冗長化ノードから転送されてくるRPRパケット内のユーザデータパケットをクライアント装置に送信することができる。よって、リング内の他のノードの動作に影響を与えることななく、障害回復を行うことができる。
また、第2の実施の形態においても、第1の実施の形態と同様に、例えば、上位プロビジョニング設定により、フォワーディング回路51,52、多重化回路53,54、フィルタ回路62の動作を切り替える。よって、クライアント装置が1つのノードにのみ接続される場合であっても、クライアント装置が冗長化された2つのノードに接続される場合であっても、ノードの構成を共通化することができる。その結果、ノードの開発効率および棚卸管理効率を向上させることができる。
第2の実施の形態において、受信部は、フォワーディング回路51,52によって実現される。アドレス記憶部は、アドレステーブル60によって実現される。クライアント装置向け送信部は、パケット変換回路61によって実現される。フィルタ部は、フィルタ回路62によって実現される。多重化部は、53,54によって実現される。パケット生成部は、パケット変換回路61によって実現される。出力先切替部は、TTL設定回路64によって実現される。第1受信部は、フォワーディング回路51によって実現される。第2受信部は、フォワーディング回路52によって実現される。第1多重化部は、多重化回路53によって実現される。第2多重化部は、多重化回路54によって実現される。
また、上記の各実施の形態では、ノードが、フォワーディング回路51,52等の各回路を備える構成として説明したが、ノードが、コンピュータを備え、そのコンピュータが、プログラムに従って、図13や図12(又は図4や図3)に示す各回路と同様の動作をする構成であってもよい。プログラムは、予めノードが備える記憶装置に記憶させておけばよい。
上記コンピュータ上で動作するプログラムは、コンピュータのハードディスク等のディスク装置(記憶装置)に記憶され、このプログラムを実行することでノードとしての各機能を実現する。プログラムは磁気ディスク、光ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータのハードディスク等のディスク装置にインストールすることができる。図17はコンピュータの一構成例を示すブロック図である。図17に示すように、プログラムをハードディスク等のディスク装置2001に記憶させ、DRAM等のメモリ2002にCPUの演算処理に必要な情報(例えば、アドレステーブル60の情報)を記憶させ、CPU2004によりプログラムが実行されノードの機能が実現される。CRT (Cathode-Ray Tube)やLCD(Liquid Crystal display)からなる表示装置(図ではLCDとして示されている)2003は情報処理状況等を表示するものである。2005はデータバス等のバスを示す。
本発明はその精神または本質的な特徴から逸脱することなく、他の種々の形で実施することができる。そのため、前述した各実施形態は単なる例示にすぎず、限定的に解釈されるべきではない。本発明の範囲は特許請求の範囲によって示すものであって、明細書の記載にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更はすべて本発明の範囲内のものである。

Claims (25)

  1. 互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムであって、
    同一のアドレスを有する2つのノードを組み合わせたノードの組である仮想冗長化ノードと、
    同一の仮想冗長化ノードに含まれる2つのノードにそれぞれリンクを介して接続されるクライアント装置とを備え、
    前記クライアント装置は、前記2つのノードにパケットを振り分けて送信することを特徴とするパケットリングネットワークシステム。
  2. 同一の仮想冗長化ノードに含まれる個々のノードは、
    各リングレットに対応して、対応するリングレットからパケットを受信する受信部を2つ備え、
    各クライアント装置のアドレスと、前記各クライアント装置に接続されるノードのアドレスとの対応関係を記憶するアドレス記憶部と、
    クライアント装置にパケットを送信するクライアント装置向け送信部と、
    前記受信部が受信したパケットの前記クライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備えた請求項1に記載のパケットリングネットワークシステム。
  3. 同一の仮想冗長化ノードに含まれる2つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、
    先にパケットを受信する受信部は、
    TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値減算を行わずに、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、前記ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、
    後にパケットを受信する受信部は、
    TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値を1減算し、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出す請求項2に記載のパケットリングネットワークシステム。
  4. 同一の仮想冗長化ノードに含まれる2つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、
    先にパケットを受信する受信部は、
    TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値減算を行わずに、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、前記ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、
    後にパケットを受信する受信部は、
    TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値を1減算し、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出す請求項2または請求項3に記載のパケットリングネットワークシステム。
  5. 同一の仮想冗長化ノードに含まれる個々のノードが備える各記憶部は、同一ノード内の受信部が受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、前記各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶する請求項4に記載のパケットリングネットワークシステム。
  6. 同一の仮想冗長化ノードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが備えるフィルタ部は、
    前記一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、
    同一の仮想冗長化ノードに含まれる2つのノードのうち、他方のリングレットから先にパケットを受信するノードが備えるフィルタ部は、
    前記他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、前記一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止する請求項2から請求項5のうちのいずれか1項に記載のパケットリングネットワークシステム。
  7. クライアント装置は、同一の仮想冗長化ノードに含まれる2つのノードとの間のリンクの一方に障害が発生した場合、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、
    同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可する請求項6に記載のパケットリングネットワークシステム。
  8. 同一の仮想冗長化ノードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードは、他方のリングレットにパケットを多重して送信する多重化部と、
    クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、
    同一の仮想冗長化ノードに含まれる2つのノードのうち、前記他方のリングレットから先にパケットを受信するノードは、前記一のリングレットにパケットを多重して送信する多重化部と、
    クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、
    同一の仮想冗長化ノードに含まれる2つのノードのうち、前記一のリングレットから先にパケットを受信するノードは、
    クライアント装置から受信したパケットに基づいて生成されたパケットが前記一のリングレットに送信すべきパケットである場合には他方のノードの多重化部に前記パケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが前記他方のリングレットに出力すべきパケットである場合には自ノードの多重化部に前記パケットを出力する出力先切替部を備え、
    同一の仮想冗長化ノードに含まれる2つのノードのうち、前記他方のリングレットから先にパケットを受信するノードは、
    クライアント装置から受信したパケットに基づいて生成されたパケットが前記他方のリングレットに送信すべきパケットである場合には他方のノードの多重化部に前記パケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが前記一のリングレットに出力すべきパケットである場合には自ノードの多重化部に前記パケットを出力する出力先切替部を備えた請求項1から請求項7のうちのいずれか1項に記載のパケットリングネットワークシステム。
  9. 同一の仮想冗長化ノードに含まれる個々のノードは、
    一のリングレットにパケットを多重して送信する第1の多重化部と、
    他方のリングレットにパケットを多重して送信する第2の多重化部と、
    クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、
    クライアント装置から受信したパケットに基づいて生成されたパケットが前記一のリングレットに送信すべきパケットである場合には自ノード内の第1の多重化部に前記パケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが前記他方のリングレットに送信すべきパケットである場合には自ノード内の第2の多重化部に前記パケットを出力する出力先切替部を備えた請求項1から請求項7のうちのいずれか1項に記載のパケットリングネットワークシステム。
  10. 同一の仮想冗長化ノードに含まれる個々のノードは、
    前記仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、前記パケットをそのまま次のノードに送信するパケット転送部を備えた請求項9に記載のパケットリングネットワークシステム。
  11. 同一の仮想冗長化ノードに含まれる個々のノードのパケット転送部は、
    前記仮想冗長化ノードに含まれる他のノードから、前記他のノードで生成されたブロードキャストパケットを受信した場合に、前記ブロードキャストパケットをそのまま次のノードに送信する請求項10に記載のパケットリングネットワークシステム。
  12. 互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続され、同一のアドレスを有する2つのノードを組み合わせたノードの組である仮想冗長化ノードを備えたパケットリングネットワークシステムに適用されるパケット転送方法であって、
    同一の仮想冗長化ノードに含まれる2つのノードにそれぞれリンクを介して接続されるクライアント装置が、前記2つのノードにパケットを振り分けて送信することを特徴とするパケット転送方法。
  13. 同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する2つのノードのうち、
    先にパケットを受信するノードが、
    TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値減算を行わずに、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、前記ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、
    後にパケットを受信するノードが、
    TTL値が0でないブロードキャスト制御パケットを受信した場合、TTL値を1減算し、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出す請求項12に記載のパケット転送方法。
  14. 同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する2つのノードのうち、
    先にパケットを受信するノードが、
    TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値減算を行わずに、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、前記ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、
    後にパケットを受信するノードが、
    TTL値が0でないブロードキャストデータパケットを受信した場合、TTL値を1減算し、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
    自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出す請求項12または請求項13に記載のパケット転送方法。
  15. 同一の仮想冗長化ノードに含まれる個々のノードが、
    受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、前記各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶する請求項14に記載のパケット転送方法。
  16. 同一の仮想冗長化モードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが、
    クライアント装置にパケットを送信するクライアント装置向け送信部への、前記一のリングレットから転送されてきたパケットの出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、
    同一の仮想冗長化モードに含まれる2つのノードのうち、他方のリングレットから先にパケットを受信するノードが、
    前記他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、前記一のリングレットから転送されてきたパケットのクライアント装置送信部への出力を禁止する請求項12から請求項15のうちのいずれか1項に記載のパケット転送方法。
  17. 同一の仮想冗長化ノードに含まれる2つのノードとクライアント装置とを接続するリンクの一方に障害が発生した場合に、
    クライアント装置が、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、
    クライアント装置との間のリンクに障害が発生していない方のノードが、どちらのリングレットから転送されてきたパケットであってもクライアント装置向け送信部への出力を許可する請求項16に記載のパケット転送方法。
  18. 同一の仮想冗長化ノードに含まれる2つのノードのうち、一のリングレットから先にパケットを受信するノードが、
    クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、
    生成したパケットが前記一のリングレットに送信すべきパケットである場合には、他方のノードに前記パケットを出力して、当該他方のノードに前記パケットを送信させ、
    生成したパケットが他方のリングレットに送信すべきパケットである場合には、前記パケットを自ノードから送信し、
    同一の仮想冗長化ノードに含まれる2つのノードのうち、前記他方のリングレットから先にパケットを受信するノードが、
    クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、
    生成したパケットが前記他方のリングレットに送信すべきパケットである場合には、他方のノードに前記パケットを出力して、当該他方のノードに前記パケットを送信させ、
    生成したパケットが前記一のリングレットに送信すべきパケットである場合には、前記パケットを自ノードから送信する請求項12から請求項17のうちのいずれか1項に記載のパケット転送方法。
  19. 同一の仮想冗長化ノードに含まれる個々のノードが、
    クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、
    生成したパケットが一のリングレットに送信すべきパケットである場合であっても、他方のリングレットに送信すべきパケットであっても、前記生成したパケットを自ノードから送信する請求項12から請求項17のうちのいずれか1項に記載のパケット転送方法。
  20. 同一の仮想冗長化ノードに含まれる個々のノードが、
    前記仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、前記パケットをそのまま次のノードに送信する請求項19に記載のパケット転送方法。
  21. 同一の仮想冗長化ノードに含まれる個々のノードが、
    前記仮想冗長化ノードに含まれる他のノードから、前記他のノードで生成されたブロードキャストパケットを受信した場合に、前記ブロードキャストパケットをそのまま次のノードに送信する請求項19または請求項20に記載のパケット転送方法。
  22. 互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第1使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードよりも先に受信するように配置される第2使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードの次に受信するように配置される第3使用態様で使用されるノードにおいて、
    一のリングレットからパケットを受信する第1受信部と、
    他方のリングレットからパケットを受信する第2受信部と、
    クライアント装置にパケットを送信するクライアント装置向け送信部と、
    第1受信部または第2受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、
    第1受信部は、
    第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、
    第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、
    第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、
    第2受信部は、
    第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、 第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、
    第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、
    フィルタ部は、
    第1使用態様の場合、第1受信部と第2受信部の双方が受信したパケットのクライアント装置向け送信部への出力を許可し、
    第2使用態様の場合、第1受信部が受信したパケットのクライアント装置向け送信部への出力を許可し、第2受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、
    第3使用態様の場合、第1受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、第2受信部が受信したパケットのクライアント装置向け送信部への出力を許可することを特徴とするノード。
  23. クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、
    少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第1多重化部と、
    少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第2多重化部と、
    パケット生成部によって生成されたパケットを、自ノードまたは他のノードの第1多重化部または第2多重化部に出力する出力先切替部とを備え、
    出力先切替部は、
    第1使用態様の場合、パケット生成部に生成されたパケットを、送信すべきリングレットに応じて、自ノードの内の第1多重化部または第2多重化部に出力し、
    第2使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、前記パケットを他のノードが備える第1多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、前記パケットを自ノードが備える第2多重化部に出力し、
    第3使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、前記パケットを自ノードが備える第1多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、前記パケットを他のノードが備える第2多重化部に出力する請求項22に記載のノード。
  24. クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、
    少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第1多重化部と、
    少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第2多重化部と、
    パケット生成部によって生成されたパケットを、送信すべきリングレットに応じて自ノード内の自ノードの内の第1多重化部または第2多重化部に出力する出力先切替部とを備え、
    第1受信部は、
    第3使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、前記パケットをそのまま次のノードに送信し、
    第2受信部は、
    第2使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、前記パケットをそのまま次のノードに送信する請求項22に記載のノード。
  25. 互いに反対方向にパケットを転送する2つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第1使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードよりも先に受信するように配置される第2使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードの次に受信するように配置される第3使用態様で使用されるノードが備えるコンピュータに、
    一のリングレットからパケットを受信する第1受信処理であって、第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出す第1受信処理、
    他方のリングレットからパケットを受信する第2受信処理であって、第1使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第2使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値を1減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第3使用態様の場合、TTL値が0でないブロードキャストパケットを受信したときに、TTL値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成する第2受信処理、
    第1使用態様の場合、第1受信処理と第2受信処理の双方で受信したパケットを排除せず、第2使用態様の場合、第1受信処理で受信したパケットを排除せず、第2受信部で受信したパケットを排除し、第3使用態様の場合、第2受信処理で受信したパケットを排除せず、第1受信処理で受信したパケットを排除するフィルタ処理、および フィルタ処理で排除されなかったパケットをクライアント装置に送信するクライアント装置向け送信処理を実行させるためのノード用プログラム。
JP2007519029A 2005-05-31 2006-05-31 パケットリングネットワークシステム、パケット転送方法、およびノード Expired - Fee Related JP5152642B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007519029A JP5152642B2 (ja) 2005-05-31 2006-05-31 パケットリングネットワークシステム、パケット転送方法、およびノード

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005158777 2005-05-31
JP2005158777 2005-05-31
JP2007519029A JP5152642B2 (ja) 2005-05-31 2006-05-31 パケットリングネットワークシステム、パケット転送方法、およびノード
PCT/JP2006/310866 WO2006129701A1 (ja) 2005-05-31 2006-05-31 パケットリングネットワークシステム、パケット転送方法、およびノード

Publications (2)

Publication Number Publication Date
JPWO2006129701A1 true JPWO2006129701A1 (ja) 2009-01-08
JP5152642B2 JP5152642B2 (ja) 2013-02-27

Family

ID=37481630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007519029A Expired - Fee Related JP5152642B2 (ja) 2005-05-31 2006-05-31 パケットリングネットワークシステム、パケット転送方法、およびノード

Country Status (5)

Country Link
US (2) US7920576B2 (ja)
EP (1) EP1890434B1 (ja)
JP (1) JP5152642B2 (ja)
CN (1) CN101189837B (ja)
WO (1) WO2006129701A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4705492B2 (ja) * 2006-03-17 2011-06-22 富士通株式会社 リングノード装置及びリングノード冗長方法
JP4790591B2 (ja) * 2006-12-27 2011-10-12 富士通株式会社 リングノード装置
JP4798083B2 (ja) * 2007-07-04 2011-10-19 日本電気株式会社 通信システム、冗長化ノードおよび冗長化ノード用プログラム
CN101252500B (zh) * 2008-04-16 2012-08-08 杭州华三通信技术有限公司 任意拓扑相交环网的实现方法、节点和相交环网
US8605573B2 (en) * 2008-06-26 2013-12-10 Shore Microsystems Inc. Autolearning network link protection device
EP2148473A1 (en) 2008-07-22 2010-01-27 ABB Research Ltd Switching nodes for high availability networks
JP5573188B2 (ja) * 2010-01-20 2014-08-20 富士通株式会社 通信システム、及び制御方法
WO2012032754A1 (ja) * 2010-09-08 2012-03-15 パナソニック株式会社 コンテンツ送信装置及びネットワークノード
JP5668072B2 (ja) * 2010-09-15 2015-02-12 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 無線通信装置およびハイブリッド自動再送要求送信方法
CN103178975B (zh) * 2011-12-21 2018-03-13 中兴通讯股份有限公司 一种环网保护时抑制业务报文风暴的方法及系统
DE102012000188B4 (de) * 2012-01-09 2015-05-28 Siemens Aktiengesellschaft Verfahren zum Betreiben eines Kommunikationsnetzwerkes und Netzwerkanordnung
CN102750307B (zh) * 2012-03-13 2017-12-29 新奥特(北京)视频技术有限公司 一种比赛数据转发控制方法
EP2929452A4 (en) 2012-12-04 2016-07-13 Plexxi Inc METHOD AND DEVICE FOR CONNECTIVITY CONTROL IN A DATA CENTER NETWORK
US9699070B2 (en) * 2013-10-04 2017-07-04 Nicira, Inc. Database protocol for exchanging forwarding state with hardware switches
KR101631651B1 (ko) * 2013-12-04 2016-06-20 주식회사 쏠리드 링 토폴로지 방식의 광중계기
US9942058B2 (en) 2015-04-17 2018-04-10 Nicira, Inc. Managing tunnel endpoints for facilitating creation of logical networks
JP6464932B2 (ja) * 2015-06-05 2019-02-06 株式会社デンソー 中継装置
US9967182B2 (en) 2015-07-31 2018-05-08 Nicira, Inc. Enabling hardware switches to perform logical routing functionalities
US10313186B2 (en) 2015-08-31 2019-06-04 Nicira, Inc. Scalable controller for hardware VTEPS
US9948577B2 (en) 2015-09-30 2018-04-17 Nicira, Inc. IP aliases in logical networks with hardware switches
US9979593B2 (en) 2015-09-30 2018-05-22 Nicira, Inc. Logical L3 processing for L2 hardware switches
US10250553B2 (en) 2015-11-03 2019-04-02 Nicira, Inc. ARP offloading for managed hardware forwarding elements
US10182035B2 (en) 2016-06-29 2019-01-15 Nicira, Inc. Implementing logical network security on a hardware switch
US11102108B2 (en) * 2017-08-31 2021-08-24 Oracle International Corporation System and method for a multicast send duplication instead of replication in a high performance computing environment
CN109561023B (zh) * 2017-09-27 2022-03-11 华为技术有限公司 传输组播报文的方法、装置和系统
US10855583B2 (en) * 2018-07-31 2020-12-01 Hewlett Packard Enterprise Development Lp Supporting BFD packets in a virtualized switch environment
US20210306442A1 (en) * 2020-01-06 2021-09-30 John Rankin Adding or removing members from confederate rings
DE102020110753A1 (de) * 2020-04-21 2021-10-21 Turck Holding Gmbh Bus-Koppler für ein Netzwerk und Verfahren zum Betreiben eines Bus-Kopplers
US11258711B2 (en) * 2020-06-04 2022-02-22 Vmware, Inc. Split-brain prevention in a high availability system during workload migration
FR3131151B1 (fr) * 2021-12-21 2024-05-10 Latelec Système pour la transmission de données entre dispositifs clients, procédé de mise en œuvre d’un tel système
DE102022124703A1 (de) * 2022-09-26 2024-03-28 Phoenix Contact Gmbh & Co. Kg Verfahren zum Betreiben eines Netzwerkes umfassend wenigstens ein erstes, ein zweites und ein drittes Netzwerkgerät

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01161947A (ja) * 1987-12-18 1989-06-26 Hitachi Ltd 多重ブリツジ方式
JPH04100446A (ja) 1990-08-20 1992-04-02 Toshiba Corp リングlanの故障回復方式
JPH05130116A (ja) 1991-10-31 1993-05-25 Nec Corp 計算機方式
JPH0695986A (ja) * 1992-06-19 1994-04-08 Westinghouse Electric Corp <We> リアルタイムデータ・イメージングネットワークシステム及びその操作方法
US5841989A (en) * 1996-04-08 1998-11-24 Apple Computer, Inc. System and method for efficiently routing data packets in a computer interconnect
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
JP3415429B2 (ja) 1998-03-12 2003-06-09 株式会社東芝 インバータ装置
JPH11266275A (ja) * 1998-03-16 1999-09-28 Toshiba Corp 通信システムの冗長化方式
US6556547B1 (en) * 1998-12-15 2003-04-29 Nortel Networks Limited Method and apparatus providing for router redundancy of non internet protocols using the virtual router redundancy protocol
US6714549B1 (en) * 1998-12-23 2004-03-30 Worldcom, Inc. High resiliency network infrastructure
US6856627B2 (en) * 1999-01-15 2005-02-15 Cisco Technology, Inc. Method for routing information over a network
US6981034B2 (en) * 1999-06-30 2005-12-27 Nortel Networks Limited Decentralized management architecture for a modular communication system
JPWO2002045352A1 (ja) * 2000-11-30 2004-04-08 富士通株式会社 ネットワーク監視制御システム
US6956816B1 (en) * 2001-02-15 2005-10-18 Extreme Networks Fault tolerant automatic protection switching for distributed routers
US7142504B1 (en) * 2001-04-25 2006-11-28 Cisco Technology, Inc. Fault tolerant network traffic management
JP2003018171A (ja) 2001-07-05 2003-01-17 Toshiba Corp 通信システム
US7227838B1 (en) * 2001-12-14 2007-06-05 Cisco Technology, Inc. Enhanced internal router redundancy
GB2383507B (en) * 2001-12-22 2004-04-28 3Com Corp Cascade system for network units
JP2003258822A (ja) 2002-02-27 2003-09-12 Nec Corp パケットリングネットワーク及びそれに用いるパケットリングネットワーク間の接続方法
AU2002313444A1 (en) * 2002-07-17 2004-02-02 Wuhan Fiberhome Networks Co., Ltd. Multiple service ring with capabilities of transmitting and switching data, video and voice
US7778162B2 (en) * 2002-11-06 2010-08-17 Wuhan Fiberhome Networks Co. Ltd. Multiple service ring of N-ringlet structure based on multiple FE, GE and 10GE
JP4052956B2 (ja) 2003-02-07 2008-02-27 富士通株式会社 Rprネットワークシステム,ステーションノード,ブリッジノード及びrprカード
WO2004073262A1 (ja) 2003-02-12 2004-08-26 Fujitsu Limited Rpr装置
US7339887B2 (en) * 2003-05-06 2008-03-04 Overture Networks, Inc. Multipoint protected switching ring
JP4175965B2 (ja) 2003-07-07 2008-11-05 三菱電機株式会社 リングネットワークおよびリングネットワークにおける通信方法
WO2005015851A1 (ja) * 2003-08-06 2005-02-17 Fujitsu Limited ノード,rprインタフェースカードおよび光ネットワークシステム
US7774506B2 (en) * 2003-08-19 2010-08-10 Cisco Technology, Inc. Systems and methods for alleviating client over-subscription in ring networks
JP2005130049A (ja) * 2003-10-21 2005-05-19 Fujitsu Ltd ノード
US7974223B2 (en) * 2004-11-19 2011-07-05 Corrigent Systems Ltd. Virtual private LAN service over ring networks
JP4526423B2 (ja) * 2005-03-17 2010-08-18 富士通株式会社 リング間接続方法及び装置
WO2006099786A1 (fr) * 2005-03-25 2006-09-28 Hangzhou H3C Technologies Co., Ltd. Procédé de mise en œuvre d’un processus en anneau, d'un processus hors anneau et de transfert de données dans un réseau annulaire de données en paquets à résilience et dispositif en réseau idoine
US7852754B2 (en) * 2006-03-17 2010-12-14 Tellabs San Jose, Inc. Method and apparatus for managing faults in a ring network

Also Published As

Publication number Publication date
EP1890434A1 (en) 2008-02-20
US20100014527A1 (en) 2010-01-21
EP1890434B1 (en) 2019-07-24
US7920576B2 (en) 2011-04-05
EP1890434A4 (en) 2014-11-19
US20110158086A1 (en) 2011-06-30
CN101189837A (zh) 2008-05-28
CN101189837B (zh) 2015-05-06
WO2006129701A1 (ja) 2006-12-07
JP5152642B2 (ja) 2013-02-27

Similar Documents

Publication Publication Date Title
JP5152642B2 (ja) パケットリングネットワークシステム、パケット転送方法、およびノード
JP4743201B2 (ja) パケットリングネットワークシステム、パケットリング間の接続方法、およびリング間接続ノード
JP4836008B2 (ja) 通信システム、通信方法、ノード、およびノード用プログラム
JP5061748B2 (ja) パケットリングネットワークシステム、パケット転送方法
JP4747118B2 (ja) ルータ、通信保証方法および通信保証プログラム
JP5158369B2 (ja) 通信システム、ノード、端末、通信方法、およびプログラム
JP4790591B2 (ja) リングノード装置
CN111740899A (zh) 一种arp请求报文转发方法、跨设备链路聚合组及网络设备
JP4935681B2 (ja) パケットリングネットワークシステム、パケット転送方法、冗長化ノード、およびパケット転送プログラム
US20100303081A1 (en) Communication system and method for forwarding a packet among a plurality of edge routers
JP2011130155A (ja) スイッチングハブ、ラインカード、及びフレーム中継方法
JP5029612B2 (ja) パケットリングネットワークシステム、パケット転送方法およびインタリンクノード
CN107682261B (zh) 流量转发方法及装置
JP2007251817A (ja) リングノード装置及びリングノード冗長方法
CN108833272A (zh) 一种路由管理方法和装置
US20090103554A1 (en) Data transfer device for ring protocol high speed switching and method for the same
JP4883317B2 (ja) 通信システム、ノード、端末、プログラム及び通信方法
JP2007243288A (ja) 通信システム、ノード、通信方法、およびノード用プログラム
JP5497697B2 (ja) 通信システム
JP2010200269A (ja) 通信装置、パケット送受信装置、通信方法、及びプログラム
JP2005260708A (ja) 冗長経路を有するリングネットワークシステムとそのシステムに使用される転送装置
JP2012004651A (ja) 転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20101013

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120904

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120912

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: 20121109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121122

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

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5152642

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees