JP5349678B2 - 通信装置およびアドレス学習方法 - Google Patents

通信装置およびアドレス学習方法 Download PDF

Info

Publication number
JP5349678B2
JP5349678B2 JP2012501579A JP2012501579A JP5349678B2 JP 5349678 B2 JP5349678 B2 JP 5349678B2 JP 2012501579 A JP2012501579 A JP 2012501579A JP 2012501579 A JP2012501579 A JP 2012501579A JP 5349678 B2 JP5349678 B2 JP 5349678B2
Authority
JP
Japan
Prior art keywords
port
entry
database
frame
output
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.)
Active
Application number
JP2012501579A
Other languages
English (en)
Other versions
JPWO2011104847A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2011104847A1 publication Critical patent/JPWO2011104847A1/ja
Application granted granted Critical
Publication of JP5349678B2 publication Critical patent/JP5349678B2/ja
Active 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
    • H04L12/437Ring fault isolation or reconfiguration

Description

本発明は、ネットワークにおいて受信フレームを中継する通信装置、およびアドレス学習方法に関する。
イーサネット(登録商標)フレーム(以下、単に「フレーム」と記載する)の中継装置であるブリッジ装置やスイッチ装置(以降L2スイッチと呼ぶ)では、受信したフレームの送信元MACアドレスと受信したポート、およびその他の情報からなるエントリを蓄積するFDB(Filtering Database)と呼ばれるデータベースを持っている。このFDBは新たにフレームを受信するたびにエントリを追加していく。この動作は、MACアドレス学習(もしくはアドレス学習)と呼ばれる。
FDBは、受信フレームを中継する際に利用するものである。具体的には、フレームを受信したL2スイッチは、受信フレームの宛先MACアドレスを検索キーとしてFDBを検索する。そして、学習済みのMACアドレスであれば、検索キーとしたMACアドレスに対応するポート(出力ポート)が得られる。このポートに受信フレームを転送すれば、転送先の他のL2スイッチも同じ動作を行なうため、最終的に受信フレームは目的のイーサネット(登録商標)ノード(以下、単に「ノード」と記載する)に到達する。一方、FDBにエントリのない宛先MACアドレスを持つ受信フレームは、FDBを検索しても出力ポートの情報が得られない(どのポートに転送すればよいかわからない)ので、フレームを受信したL2スイッチは、受信したポート以外の全てのポートに対して、受信したフレームをブロードキャストする。この動作はフラッディングと呼ばれている。このようなフレーム中継動作は、非特許文献1に記載されている。
IEEE Standard for Local and Metropolitan Area Networks:Media Access Control (MAC) Bridges,IEEE Std 802.1D−2004,p.41〜48
複数のL2スイッチで構成されたネットワークでは、ネットワークのどこかに障害が発生するとフレームの中継経路が変わるため、各L2スイッチが持っているFDBの全エントリを無効化し、変更された中継経路で再度アドレス学習を行い、FDBを再構築する必要があった。このFDB全エントリの無効化は、FDBフラッシュとも呼ばれる。
一方、ネットワークの大規模化が進み、接続されるノード数が増大するのに伴ってFDBのエントリ数も多大になり、その結果、FDBフラッシュに費やす時間が問題視されるようになってきた。具体的には、FDBの全エントリの無効化が終了するまではアドレス学習ができないため、アドレス学習が完了するまでの間、L2スイッチは受信フレームを全てフラッディングしてしまう。すなわち、FDBフラッシュに伴ってネットワークのトラフィックが増加し、運用に支障をきたしかねないという問題があった。
本発明は、上記に鑑みてなされたものであって、ネットワークで障害が検出された後、FDBを再構築するためのアドレス学習を迅速に再開する通信装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ネットワークのノードとして動作する通信装置であって、ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新する状態管理手段と、受信フレームの送信元アドレスおよび受信ポートと、前記状態管理手段で管理されている状態情報とに基づいて、当該送信元アドレスを宛先アドレスとしたフレームを受信した場合の出力ポートを決定するためのデータベースを更新するデータベース更新手段と、受信フレームの宛先アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとして前記データベースを検索することにより、受信フレームの出力ポートを決定する出力先決定手段と、を備えることを特徴とする。
本発明にかかる通信装置は、ネットワークで障害が発生してからFDBの再構築を開始するまでの所要時間を短縮化できる、という効果を奏する。
図1は、実施の形態1の通信システムの構成例を示す図である。 図2は、リングノードの構成例を示す図である。 図3は、ポート状態管理部の内部構成を示す図である。 図4は、出力ポート検索処理部の構成例を示す図である。 図5は、実施の形態1のリングノードにおけるFDB更新手順の一例を示すフローチャートである。 図6は、FDBに登録された情報の一例を示す図である。 図7は、リングネットワークで発生する障害の一例を示す図である。 図8は、実施の形態1のリングノードによるフレーム転送手順を示したフローチャートである。 図9は、障害発生後のFDB学習動作の一例を示す図である。 図10は、障害発生後のFDB学習動作の一例を示す図である。 図11は、実施の形態2のリングノードが管理しているFDBの構成例を示す図である。 図12は、実施の形態2のリングノードが備えるポート状態管理部で管理されている情報の構成例を示す図である。 図13は、実施の形態2のリングノードにおけるFDB更新手順の一例を示すフローチャートである。 図14は、実施の形態2のリングノードによるフレーム転送手順を示したフローチャートである。
以下に、本発明にかかる通信装置およびアドレス学習方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本実施の形態の通信装置に相当するリングノード装置(以下、「リングノード」と記載する)により構成されたリングネットワークを含んだ通信システムの構成例を示す図である。この通信システムは、本実施の形態にかかる複数のリングノード(リングノード100,200,300,400,500,600)により構成されたリングネットワーク1と、リングネットワーク1に接続された複数のノード(ノード10,20,30,40,50,60)を含んでいる。なお、図1においては、各リングノードの入出力ポートも併せて記載しており、リングノード300の入出力ポートをポート301〜303としている。ポート301はリングノード200と接続されたリンクを収容し、ポート302はリングノード400と接続されたリンクを収容し、ポート303はノード30が接続されたリンクを収容している。
リングネットワーク1は、文献「ITU−T勧告G.8032/Y.1344,Ethernet Ring Protection Switching」(以下、「ERP」と記載する)に規定された手法に従って構成したものであり、リングネットワーク1を構成している各リングノードは、このERPに準拠した機能が実装されたL2スイッチである。EPRには、ネットワーク障害切り替え手法についても規定されており、この規定によれば、ネットワークの中継経路の障害切り替えが発生した場合、FDBフラッシュが必要とされる。
また、リングネットワーク1では、リングノード100と600を接続するリンクをRing Protection Linkに設定し、リングノード600がRPL(Ring Protection Link) Ownerと呼ばれるノードに設定されている。リングノード600では、Ring Protection Linkを収容するポートをブロッキングすることで、リングネットワーク1上をフレームがループするのを防止している。
図2は、リングネットワーク1に含まれるリングノードの構成例を示す図である。図2では、一例としてリングノード300の構成例を示しているが、リングネットワーク1に含まれる各リングノードの構成は同一である。なお、上述したとおり、RPL Ownerに設定されているリングノード600においては、Ring Protection Linkを収容するポートがブロッキングされている。
図2に示したように、リングノード300は、複数のポート301,302,303,…と、これらの複数のポートと同数の入出力処理部310と、スイッチング処理部320と、リング管理処理部330と、ポート状態管理部340と、出力ポート検索処理部350とを備える。各ポートには、接続するリンクを区別するために異なる符号を付しているが(図1参照)、これらは全く同じ機能を有している。すなわち、図2では、ポート301とこれに接続された入出力処理部310の内部構成のみを記載しているが、その他のポート302,303,…、およびこれらに接続された入出力処理部310も同様の内部構成となっている。また、ポート301およびこれに接続された入出力処理部310以外のポートおよび入出力処理部については、スイッチング処理部320を除いた他の構成要素(リング管理処理部330など)との間の接続線(信号線)の記載を省略しているが、同様に接続されているものとする。
各ポートは、入力ポートおよび出力ポートにより構成され、たとえばポート301は、入力ポート301−1および出力ポート301−2を備えている。これらの各ポートは、接続するリンクや自ポート(ポート301,302,…)の障害を検出すると、ポート状態管理部340に通知する。なお、ポート301はリングノード200と接続されたリンクを収容し、ポート302はリングノード400と接続されたリンクを収容し、ポート303はノード30が接続されたリンクを収容している(図1参照)。
各入出力処理部310は、入力フレーム処理部311および出力フレーム処理部312をそれぞれ備えており、フレームの多重・分離を行う。
入出力処理部310の入力フレーム処理部311は、受信フレームを解析し、受信フレームがERPに基づくリング管理フレームであればリング管理処理部330へ転送する。また、「ITU−T勧告Y.1731,OAM Functions and Mechanisms for Ethernet based Networks」(以下、「EtherOAM機能」とする)に記載される、隣接リングノードとのリンク管理フレームを受信すると、ポート状態管理部340へ転送する。リング管理フレームおよびリンク管理フレームを転送する場合、そのフレームを受信したポートも併せて通知する。また、一般フレームを受信したときは、受信フレームの宛先MACアドレスを出力ポート検索処理部350に通知して出力ポートの検索を依頼する。そして、出力ポート検索処理部350から出力ポートが通知されると、スイッチング処理部320へ出力ポートを通知するとともに受信フレームを渡して、フレームの転送を依頼する。ここで通知する出力ポートは一つである場合も、複数である場合もある。フラッディングの場合は、複数のポートが通知される。また、入力フレーム処理部311は、フレームを受信したポート、および受信したフレームの送信元MACアドレスを出力ポート検索処理部350に通知し、FDBの更新を依頼する。
入出力処理部310の出力フレーム処理部312は、スイッチング処理部320経由で他の入出力処理部310から転送されてきたフレームと、リング管理処理部330から受け取ったフレームと、ポート状態管理部340から受け取ったフレームとを多重化し、ポート301(出力ポート部)へ転送する。
リング管理処理部330は、ERPに基づくリング管理を行う処理部であり、リング管理フレームの送受信や、障害発生/解除に伴いポート状態管理部340が行うべき動作の指示を行う。自リングノードのポート障害が検出された場合や自リングノードに接続されているリンクでの障害が検出された場合、リング管理フレームとして、障害の内容を通知するための障害通知フレームを生成する。また、他のリングノードから障害発生の通知を受けた場合、および自リングノードで障害発生を検知した場合、ポート状態管理部340に対して、FDBフラッシュを実行するように指示する。
図3は、ポート状態管理部340の内部構成を示す図であり、図示したように、ポート状態管理部340は、ポート状態テーブル341および障害状態番号342を管理している。ポート状態テーブル341には、リングノード300の全ポートの状態が格納されている。障害状態番号342は、リングネットワーク1の状態(障害発生状況)を管理するための情報である。
ポート状態管理部340(状態管理手段に相当)は、各ポートのいずれかからポート障害が通知された場合、ポート状態テーブル341内の該当するポートの状態を更新する(障害発生を記録する)とともに障害状態番号342を更新し、また、障害発生と障害が発生しているポートをリング管理処理部330に通知する。
さらに、ポート状態管理部340は、上記のEtherntOAM機能に基づき、隣接リングノードとのリンク状態を監視し、リンク障害を検出した場合にも、上記のポート障害が通知されてきた場合と同様に、障害発生と、障害発生リンク(障害が発生しているリンク)と接続しているポートとをリング管理処理部330に通知する。
図4は、出力ポート検索処理部350の構成例を示す図である。出力ポート検索処理部350は、FDB制御部351およびFDB352を備えている。FDB制御部351は、入力フレーム処理部311から出力ポートの検索依頼を受けた場合、FDB352を検索して出力ポートを求め、入力フレーム処理部311へ通知する。また、FDB352に該当するFDBエントリがない場合には、入力フレーム処理部311にフラッディングを指示する。また、入力フレーム処理部311からFDBの更新依頼を受けた場合、更新依頼時に通知されたMACフレームなどに基づいて、FDB352のエントリ追加/更新処理を行う。なお、FDB制御部351が、データベース更新手段および出力先決定手段として動作する。
つづいて、本実施の形態のリングネットワーク1を構成している各リングノードがFDBを更新する動作(アドレス学習動作)について説明する。
図5は、本実施の形態のリングノードにおけるFDB更新手順の一例を示すフローチャートである。
(FDBに新規エントリを登録する場合の動作)
まず、FDBに新規エントリを登録する場合のアドレス学習動作について、図面を参照しながら説明する。ここでは、リングノード300が全く何も学習していない状態(FDB352にエントリが全く登録されていない状態)からアドレス学習を行う場合の動作例を説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
たとえば、リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS1)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレス、およびポート状態管理部340の障害状態番号342に記憶されている障害状態番号0を検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS2,ステップS3)。そして、この時点では、FDB352は何も学習していない状態なので、FDB制御部351は、FDBエントリなしと判断し(ステップS3:No)、上記のFDBの更新依頼で通知された情報および現在の障害状態番号に基づいて、FDB352を更新する。具体的には、FDB制御部351は、FDBの更新依頼で通知されたノード50のMACアドレス、および現在の障害状態番号0を検索キーとし、また、この検索キーに対応する出力情報(出力ポート)をFDBの更新依頼で通知されたポート302としたFDBエントリをFDB352に新規登録する(ステップS4)。
また、その他のリングノードから送信されたフレーム(一般フレーム)を受信した場合も同様に上記のステップS1〜S4を実行してFDBの更新(アドレス学習)を行い、図6に示したような、MACアドレスと障害状態番号と出力ポートで構成されたエントリが登録されたFDB352を作り上げる。
(FDBに登録済みのエントリを更新する場合の動作)
次に、FDBに登録済みのエントリを更新する場合のアドレス学習動作について説明する。ここでは、ノード50のMACアドレスの出力ポートがポート301としてFDB352へ登録されている状態において、ノード50が送信したフレームをポート302から受信したときの再学習動作について、図面を参照しながら説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS1)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレス、およびポート状態管理部340の障害状態番号342に記憶されている障害状態番号0を検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS2,ステップS3)。この場合、FDB352には、ノード50のMACアドレスと障害状態番号0を検索キーとしたエントリが存在しているので(ステップS3:Yes)、FDB制御部351は、検索したエントリに登録されている出力ポートと、上記のFDBの更新依頼で通知されたポート302が一致しているかどうか確認する(ステップS5)。確認の結果、一致していないので(ステップS5:No)、ステップS2で検索したエントリの出力ポートを、FDBの更新依頼で通知されたポート302として上書き登録する(ステップS6)。ちなみに、上記の検索したエントリに登録されている出力ポートとFDBの更新依頼で通知されたポートが一致している場合には(ステップS5:Yes)、FDB352を更新せずに処理を終了する。
なお、上記の図5を用いたアドレス学習動作の説明では、説明の簡単化のために、受信したフレームを転送する動作については記載を省略している。実際には、上述したアドレス学習動作に加えて、受信したフレームの宛先MACアドレスを用いた出力ポート検索を行い、検索結果に従ってフレームを転送する処理も実施する。このフレーム転送動作は従来と同様であるため、詳細説明は省略する。これ以降においてアドレス学習動作を説明する場合も同様に、受信フレームの転送動作については説明を省略する。
つづいて、図1に示したリングネットワーク1で障害が発生した場合の各リングノードの動作について説明する。ここでは、一例として、リングノード400と500との間のリンクで障害が発生した場合(図7参照)のリングノード300の動作を説明する。なお、障害発生時において、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
リングノード400は、リングノード500と接続しているリンクの障害を検出すると、リングノード300と接続しているリンクに、障害を検出したことを通知するためのリング管理フレームである障害通知フレームを送信する。リングノード500も同様に、障害を検出すると、リングノード600と接続しているリンクに、障害通知フレームを送信する。なお、リングノード400および500は、障害を検出したリンクを収容しているポートをブロッキングし、リングノード600は、障害通知フレームを受信すると、リングノード100との間のリンクを収容しているポートのブロッキングを解除する(図7参照)。
リングノード300では、リングノード400から障害通知フレームを受信した場合、入出力処理部310およびスイッチング処理部320が、この障害通知フレームをリングノード200と接続しているリンクに転送する。また、この障害通知フレームは、入出力処理部310からリング管理処理部330へ転送される。
リング管理処理部330は、上記転送された障害通知フレームを受け取ると、その内容を確認し、障害通知フレームが送信されてきたリンクを収容しているポートであるポート302を出力ポートとするFDBエントリを無効化する必要があると判断する。そして、ポート状態管理部340と出力ポート検索処理部350にFDBフラッシュ実行を指示する。
FDBフラッシュ実行指示を受けたポート状態管理部340は、障害状態番号342を更新する。ここでは、障害状態番号342を0から1に更新する。
また、FDBフラッシュ実行指示を受けた出力ポート検索処理部350では、FDB制御351が、FDB352が次に学習する空きエントリを、FDB352の先頭に設定する。一般的には、ここでFDBの全エントリを無効化するが、本実施の形態のリングノードでは、FDBの全エントリを無効化する処理は行わない。
FDBエントリを無効化する目的は、障害以前に学習していたフレーム転送先に中継してしまうことによって所望の宛先にフレームを到達させられないことを防ぐため、障害以前のフレーム転送先を忘れることである。しかしながら、上記のとおり、本実施の形態のリングノードでは、障害発生の通知を受けた直後にFDBの全エントリを無効化することはしない。以下に、本実施の形態のリングノードではFDBの全エントリ無効化が不要である理由について、具体例を示して説明する。
ここでは、リングノード300のFDB352が図6に示した状態であり、この状態で、上記のリングノード400と500の間のリンクにおける障害発生通知を受け、その後、ポート301がリングノード500に接続されたノード50宛のフレームを受信した場合の動作、具体的には、フレームを受信した場合に実施する、フレームの出力ポートを検索する動作および検索結果に従ってフレームを送信する動作について、図8に示したフローチャートを用いて説明する。図8は、障害発生通知を受けた後に実施するフレーム転送手順を示したフローチャートである。
上述したとおり、障害発生通知を受けた時点では出力ポート検索処理部350のFDB制御部351はFDB352に登録済みのエントリを変更することはしないので、障害発生通知を受けた直後のFDB352は、図6に示した状態であり、このときFDB制御351は、FDB352が次に学習する空きエントリをFDB352の先頭に設定した状態となっている。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として1が記憶されている(障害発生通知に伴って0から1に更新された)ものとする。
リングノード300は、たとえば、リングノード500に接続されたノード50のMACアドレスが宛先MACアドレスに設定されたフレームをポート301で受信すると(ステップS11)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスと、障害状態番号342に記憶している障害状態番号の値(この場合1となる)とを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS12,S13)。このとき、FDB352では、ノード50のMACアドレスは、障害状態番号値0との組で学習されているが、障害状態番号1との組では学習されていないので、FDB制御部351は、該当エントリなしと判断し(ステップS13:No)、その旨を入出力処理部310へ通知する。該当エントリなしの通知を受けた入出力処理部310は、受信フレームをコピーし、このフレームを受信したポート301以外のポート(ポート302,303,…)に転送(フラッディング)するようにスイッチング処理部320へ依頼し、スイッチング処理部320は、依頼内容に従って、ポート301で受信した上記のフレームをフラッディングする(ステップS14)。なお、FDB制御部351が上記依頼内容に対応するエントリを発見した場合(ステップS13:Yes)、発見したエントリに登録されている出力ポートを入出力処理部310へ通知し、入出力処理部310およびスイッチング処理部320は、通知された出力ポートに受信フレームを転送する(ステップS15)。
このように、障害発生以前の障害状態番号値とMACアドレスを検索キーとしてFDB352に記憶しているため、障害状態番号が更新された後は、更新以前のエントリが無効となる。したがって、障害発生後に全エントリを無効化することなく、無効化したことと同様の効果が得られる。障害状態番号値を更新するだけなので、本実施の形態の通信装置(リングノード装置)では、従来実施していたFDBの全エントリを無効化する処理と比較して、処理時間を大幅に短縮できる。また、従来の処理では、無効化が必要なエントリ数の増加に伴って処理に要する時間も増加するが、本実施の形態の通信装置で適用している上記の手法では、エントリ数が増加しても処理時間が増加することは無い。
また、障害発生後のFDB学習について、図9および図10を用いて説明する。なお、図9および図10は、障害発生後のFDB学習動作の一例を示す図である。
先述の通り、各リングノードでは、障害通知を受けた場合、空きエントリの先頭をFDBの先頭とする。たとえばリングノード300では空きエントリの先頭をFDB352の先頭に設定する。その後、リングノード300で新たに学習されるエントリは、FDB352の先頭から順に、上書きするように追加していく。図9は、障害発生後に新たなエントリが学習されているFDB352の例を示した図である。図9に示した例では、障害発生後、まず初めにノード30の出力ポートが学習されたため、先頭エントリ(エントリ番号1)にノード30に関するエントリが登録されている。そして、まだ学習が進んでいないため、障害状態番号が以前のもの(0のもの)であるノード30のエントリもエントリ番号3に残っている。この次に新たな学習が行われると、このエントリが上書きされることとなる。このように順次アドレス学習が進むと、FDB352は、たとえば図10に示したような状態に更新される。
なお、従来のFDBの全エントリを無効化する処理と同等の効果(障害以前に学習していたフレーム転送先にフレームを中継してしまうのを防止すること)を得るためには、障害通知を受けた場合に、空きエントリの先頭をFDBの先頭とする動作は必須ではない。しかしながら、出力ポートの検索処理時間を考慮すると、空きエントリの先頭をFDBの先頭に設定し、FDBへの登録エントリ数(検索対象となるエントリの数)が必要以上に増大するのを防止することが望ましい。
ただし、空きエントリの先頭をFDBの先頭に設定するのは登録エントリ数の増大防止を実現するための一例に過ぎない。アドレス学習においては、現在の障害状態番号(最新障害状態番号)と異なる障害状態番号(旧障害状態番号)のエントリが存在していればそのエントリに対して新規のエントリを上書き登録するようにし、旧障害状態番号のエントリが存在しない場合に未使用のエントリ(宛先MACアドレスや出力ポートが全く登録されていない領域)へ新規エントリを登録するようにすればよい。すなわち、旧障害状態番号の各エントリに対しては、どのような順番で上書き登録を行ってもよい。
このように、本実施の形態のリングノードは、リングネットワークでの障害発生の通知を受けるごとに、FDB学習を行った時点のネットワーク状態を示す管理番号(障害状態番号)を更新することとし、また、一般フレームの受信に伴ってアドレス学習を行い、FDBを更新する場合(FDBへ新たなエントリを登録する、または登録済みのエントリを変更する場合)には、その時点の障害状態番号と、受信したフレームの送信元MACアドレスとを検索キーとしてエントリへ登録することとした。これにより、出力ポート検索では、MACアドレスおよび障害状態番号が一致している場合に受信フレームの出力ポート(転送先)が特定されるようになり、障害発生前に学習した出力ポートへフレームを転送することがなくなるので、障害発生時には、従来必要であったFDBの全エントリを無効化する処理が不要となる。この結果、リングネットワークで障害が発生してからアドレス学習を再開するまでの所要時間が短縮化される。
実施の形態2.
実施の形態1では、障害発生の通知を受けると、FDBに登録されているすべてのエントリを無効化するリングノードについて説明したが、本実施の形態では、特定の出力ポートを持つFDBエントリのみを無効化するリングノードについて説明する。なお、通信システムの構成は実施の形態1と同様であるものとする(図1参照)。
本実施の形態のリングノードでは、FDBの検索キーは従来どおり宛先MACアドレスのみとし、FDB検索によって出力される情報を障害状態番号と出力ポートとする(図11参照)。図11は、本実施の形態のリングノードが管理しているFDBの構成例を示す図である。障害状態番号は、実施の形態1で示した障害状態番号と同じものである。本実施の形態においても先の実施の形態1と同様に、リングノード300の動作例について説明する。
図12は、本実施の形態のリングノード300が備えるポート状態管理部で管理されている情報の構成例を示す図である。図示したように、リングノード300のポート状態管理部340aは、実施の形態1で示したポート状態管理部340(図3参照)で管理していたポート状態テーブル341および障害状態番号342に加えて、FDBフラッシュ要因ポート番号343を管理している。FDBフラッシュ要因ポート番号343は、障害通知フレームを受信したポートの番号である。
なお、本実施の形態のリングノード300は、ポート状態管理部340a以外の部分は実施の形態1で説明したリングノードと同様である。
ポート状態管理部340aは、リング管理処理部330からFDBフラッシュ実行の指示を受けると、障害状態番号342の値を更新するとともに、FDBフラッシュの実行指示を受けた際に通知されたポートの番号(FDBフラッシュ要因ポート番号)を、FDBフラッシュ要因ポート番号343に格納する。
つづいて、本実施の形態のリングネットワーク1を構成している各リングノードがFDBを更新する動作(アドレス学習動作)について説明する。
図13は、本実施の形態のリングノードにおけるFDB更新手順の一例を示すフローチャートである。
(FDBに新規エントリを登録する場合の動作)
まず、FDBに新規エントリを登録する場合のアドレス学習動作について、図面を参照しながら説明する。ここでは、リングノード300が全く何も学習していない状態(FDB352にエントリが全く登録されていない状態)からアドレス学習を行う場合の動作例を説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
たとえば、リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS21)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレスを検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS22,ステップS23)。そして、この時点では、FDB352は何も学習していない状態なので、FDB制御部351は、FDBエントリなしと判断し(ステップS23:No)、上記のFDBの更新依頼で通知された情報および現在の障害状態番号に基づいて、FDB352を更新する。具体的には、FDB制御部351は、FDBの更新依頼で通知されたノード50のMACアドレスを検索キーとし、また、この検索キーに対応する出力情報(障害状態番号および出力ポート)を、現在の障害状態番号0およびFDBの更新依頼で通知されたポート302としたFDBエントリをFDB352に新規登録する(ステップS24)。
その他のリングノードから送信された一般フレームを受信した場合も同様に上記のステップS21〜S24を実行してFDBを更新する。
(FDBに登録済みのエントリを更新する場合の動作)
次に、FDBに登録済みのエントリを更新する場合のアドレス学習動作について説明する。ここでは、(1)フレームを受信したポートとFDBに登録されているエントリが示すポートが一致していない場合の更新動作、および(2)フレームを受信した時点の障害状態番号とFDBに登録されている障害状態番号が一致していない場合の更新動作、について説明する。
(1)フレームを受信したポートとFDBに登録されているエントリが示すポートが一致していない場合の更新動作
一例として、ノード50のMACアドレスの出力ポートがポート301としてFDB352へ登録されている状態において、ノード50が送信したフレームをポート302から受信したときの再学習動作を説明する。
リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS21)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレスを検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS22,ステップS23)。この場合、FDB352には、ノード50のMACアドレスを検索キーとしたエントリが存在しているので(ステップS23:Yes)、FDB制御部351は、検索したエントリに登録されている出力ポートと、上記のFDBの更新依頼で通知されたポート302が一致しているかどうか確認する(ステップS25)。確認の結果、一致していないので(ステップS25:No)、ステップS22で検索したエントリの出力ポートおよび障害状態番号をそれぞれ、FDBの更新依頼で通知されたポート302および現在の障害状態番号0として、エントリを上書き登録する(ステップS26)。
(2)フレームを受信した時点の障害状態番号とFDBに登録されている障害状態番号が一致していない場合の更新動作
一例として、ノード50のMACアドレスの出力ポートがポート302、これに対応する状態番号が0としてFDB352へ登録されている状態において、ノード50が送信したフレームをポート302から受信したときの再学習動作を説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として1が記憶されているものとする。
リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS21)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレスを検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS22,ステップS23)。この場合、FDB352には、ノード50のMACアドレスを検索キーとしたエントリが存在しているので(ステップS23:Yes)、FDB制御部351は、検索したエントリに登録されている出力ポートと、上記のFDBの更新依頼で通知されたポート302が一致しているかどうか確認する(ステップS25)。ここでは、確認の結果、一致していると判断し(ステップS25:Yes)、さらに、検索したエントリに登録されている障害状態番号が現在の障害状態番号(障害状態番号342に記憶されている障害状態番号)が一致しているかどうか確認する(ステップS27)。そして、確認の結果一致していないので(ステップS27:No)、ステップS22で検索したエントリの出力ポートおよび障害状態番号をそれぞれ、FDBの更新依頼で通知されたポート302および現在の障害状態番号0として、エントリを上書き登録する(ステップS26)。ちなみに、上記の検索したエントリに登録されている障害状態番号および出力ポートと、現在の障害状態番号およびFDBの更新依頼で通知されたポートが一致している場合には(ステップS27:Yes)、FDB352を更新せずに処理を終了する。
つづいて、本実施の形態のリングネットワーク1で障害が発生した場合の各リングノードの動作について説明する。ここでは、先の実施の形態1での説明と同様に、リングノード400と500との間のリンクで障害が発生した場合(図7参照)のリングノード300の動作例について説明する。なお、障害発生時において、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
リングノード400および500は、リンクの障害を検出すると、その旨を示す障害通知フレームを送信する。
その結果、リングノード300は、リングノード400から送信された障害検知フレームを受信する。この場合、リングノード300では、入出力処理部310およびスイッチング処理部320が、この障害通知フレームをリングノード200と接続しているリンクに転送する。また、この障害通知フレームは、入出力処理部310からリング管理処理部330へ転送される。
リング管理処理部330は、上記転送された障害通知フレームを受け取ると、その内容を確認し、障害通知フレームが送信されてきたリンクを収容しているポートであるポート302を出力ポートとするFDBエントリを無効化する必要があると判断する。そして、ポート状態管理部340aと出力ポート検索処理部350に対し、ポート302を通知するとともにFDBフラッシュ実行を指示する。
FDBフラッシュ実行指示を受けたポート状態管理部340は、障害状態番号342を更新する。ここでは、障害状態番号342を0から1に更新する。ポート状態管理部340は、さらに、FDBフラッシュ要因ポート番号343に、通知されてきたポート302の識別情報(ポート番号)を格納する。
つづいて、本実施の形態のリングノードではFDBの全エントリ無効化が不要である理由について、具体例を示して説明する。
ここでは、リングノード300のFDB352が図11に示した状態であり、この状態で、上記のリングノード400と500の間のリンクにおける障害発生通知を受け、その後、ポート303がリングノード500に接続されたノード50宛のフレームを受信した場合に実行する動作(フレーム転送動作)について、図14に示したフローチャートを用いて説明する。図14は、障害発生通知を受けた後に実施するフレーム転送手順を示したフローチャートである。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として1が記憶されている(障害発生通知に伴って0から1に更新された)ものとする。
また、図14に示したフレーム転送手順を、(A)FDB352に受信フレームの宛先MACアドレスに該当するエントリがない場合、(B)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と等しい場合、(C)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と異なる場合、(D)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と等しい場合、に分けて説明する。
(A)FDB352に受信フレームの宛先MACアドレスに該当するエントリがない場合のフレーム転送
リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、該当エントリなしと判断し(ステップS33:No)、その旨を入出力処理部310へ通知する。該当エントリなしの通知を受けた入出力処理部310は、受信フレームをコピーし、このフレームを受信したポート303以外のポートに転送(フラッディング)するようにスイッチング処理部320へ依頼し、スイッチング処理部320は、依頼内容に従って、ポート303で受信した上記のフレームをフラッディングする(ステップS34)。
(B)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と等しい場合のフレーム転送
リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、検索キーに対応するエントリを取得し(ステップS33:Yes)、さらに、エントリに登録されている障害状態番号が最新かどうか確認する。すなわち、登録されている障害状態番号が障害状態番号342に記憶されている障害状態番号と一致しているかどうか確認する(ステップS35)。そして、ここでは、上記取得したエントリの障害状態番号が最新であると判断し(ステップS35:Yes)、FDB制御部351は、このエントリに登録されている出力ポートを入出力処理部310へ通知する。この通知を受けた入出力処理部310は、通知された出力ポートに受信フレームを転送するようにスイッチング処理部320へ依頼し、スイッチング処理部320は受信フレームを転送する(ステップS38)。
(C)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と異なる場合のフレーム転送
これは、出力ポート検索で得られたエントリは障害発生前に学習されているものであるが、障害による経路変更を必要としない宛先のエントリであるときの動作である。
リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、検索キーに対応するエントリを取得し(ステップS33:Yes)、さらに、エントリに登録されている障害状態番号が最新かどうか確認する。すなわち、登録されている障害状態番号が障害状態番号342に記憶されている障害状態番号と一致しているかどうか確認する(ステップS35)。そして、上記取得したエントリの障害状態番号が最新ではないと判断し(ステップS35:No)、さらに、上記取得したエントリに登録されている出力ポート番号がFDBフラッシュ要因ポート番号に該当するかどうか確認する(ステップS36)。すなわち、FDB制御部351は、エントリに登録されている出力ポート番号がポート状態管理340aのFDBフラッシュ要因ポート番号343の値と一致するかどうかを確認し、この場合は一致していないのでFDBフラッシュ要因ポート番号に該当しないと判断し(ステップS36:No)、上記取得したエントリに登録されている障害状態番号をポート状態管理340aの障害状態番号342の値に更新し、更新後のエントリを上書き登録する(ステップS37)。また、FDB制御部351は、このエントリに登録されている出力ポートを入出力処理部310へ通知する。この通知を受けた入出力処理部310は、通知された出力ポートに受信フレームを転送するようにスイッチング処理部320へ依頼し、スイッチング処理部320は受信フレームを転送する(ステップS38)。
(D)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と等しい場合のフレーム転送
これは、出力ポート検索で得られたエントリが障害発生前に学習されているものであり、さらに障害による経路変更を必要とする宛先のエントリであるときの動作である。
リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、検索キーに対応するエントリを取得し(ステップS33:Yes)、さらに、エントリに登録されている障害状態番号が最新かどうか確認する。すなわち、登録されている障害状態番号が障害状態番号342に記憶されている障害状態番号と一致しているかどうか確認する(ステップS35)。そして、上記取得したエントリの障害状態番号が最新ではないと判断し(ステップS35:No)、さらに、上記取得したエントリに登録されている出力ポート番号がFDBフラッシュ要因ポート番号に該当するかどうか確認する(ステップS36)。そして、FDBフラッシュ要因ポート番号に該当すると判断し(ステップS36:Yes)、FDB制御部351は、このエントリを無効化する(ステップS39)。無効化の方法については特に規定しない。エントリの検索キーおよび出力情報をすべて消去してもよいし検索キーのみを消去してもよい。また、無効化したことを示すフラグ(空きエントリを示すフラグ)を用意しておき、このフラグをたてるようにしてもよい。その他、どのような方法で無効化を行ってもよい。エントリの無効化を行った後、FDB制御部351は、該当エントリなし(該当する出力ポート不明)を入出力処理部310へ通知する。該当エントリなしの通知を受けた入出力処理部310は、受信フレームをコピーし、このフレームを受信したポート303以外のポートに転送(フラッディング)するようにスイッチング処理部320へ依頼し、スイッチング処理部320は、依頼内容に従って、ポート302で受信した上記のフレームをフラッディングする(ステップS34)。
このように、本実施の形態のリングノードは、リングネットワークでの障害発生の通知を受けるごとに、FDB学習を行った時点のネットワーク状態を示す管理番号(障害状態番号)を更新し、さらに障害発生を通知してきたフレーム(障害通知フレーム)の受信ポートをFDBフラッシュ要因ポートとして記憶し、また、一般フレームの受信に伴ってアドレス学習を行い、FDBを更新する場合には、受信したフレームの送信元MACアドレスを検索キーとし、その時点の障害状態番号およびフレームの受信ポートを出力情報としてエントリへ登録することとした。そして、フレームを転送する際の出力ポート検索では、検索キーに対応するエントリに登録されている障害状態番号が最新の値ではなく、なおかつこのエントリに登録されている出力ポートがFDBフラッシュ要因ポートに該当する場合に、このエントリを無効化することとした。これにより、従来必要であったFDBの全エントリを無効化する処理を不要とし、真に必要な宛先のFDBエントリのみを無効化することができる。この結果、リングネットワークで障害が発生した場合に、アドレス学習を迅速に再開することができるとともに、障害による経路切り替えに影響されない経路のノードへの無駄なフラッディング動作を不要にすることができる。
なお、本実施の形態では、特定のポートに出力するエントリのみ無効化の対象とする手法について説明したが、ネットワーク障害によっては、全てのエントリの無効化が必要な場合もある。よって、FDBフラッシュ要因ポートとして全ポートを示す特別な値を定義しておき、全てのエントリの無効化が必要な場合には、FDBフラッシュ要因ポート番号343にその値を記憶させるようにしてもよい。
また、実施の形態1および2ではリングネットワークのノードとして動作する通信装置について説明したが、本発明にかかる通信装置は、ネットワークでの障害発生に伴ってそれまでのアドレス学習結果を無効化して新たにアドレス学習を行うように各ノードが動作するネットワークであれば、リング型以外のトポロジーを採用したネットワークにも適用可能である。
以上のように、本発明にかかる通信装置は、ネットワークを構成し、アドレス学習結果に従って受信フレームを転送するノード装置に有用であり、特に、障害発生後のアドレス学習を短時間で再開するノード装置に適している。
1 リングネットワーク
10,20,30,40,50,60 ノード
100,200,300,400,500,600 リングノード
301,302,303 ポート
301−1 入力ポート
301−2 出力ポート
310 入出力処理部
311 入力フレーム処理部
312 出力フレーム処理部
320 スイッチング処理部
330 リング管理処理部
340,340a ポート状態管理部
341 ポート状態テーブル
342 障害状態番号
343 FDBフラッシュ要因ポート番号
350 出力ポート検索処理部
351 FDB制御部
352 FDB

Claims (19)

  1. ネットワークのノードとして動作する通信装置であって、
    ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新する状態管理手段と、
    フレームを受信するごとに、受信フレームの送信元アドレスおよび受信ポートと、前記状態管理手段で管理されている状態情報とに基づいて、当該送信元アドレスを宛先アドレスとしたフレームを受信した場合の出力ポートを決定するためのデータベースを更新する必要があるか否かを判断し、更新が必要と判断した場合に当該データベースを更新するデータベース更新手段と、
    受信フレームの宛先アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとして前記データベースを検索することにより、受信フレームの出力ポートを決定する出力先決定手段と、
    を備えることを特徴とする通信装置。
  2. 前記データベース更新手段は、
    受信フレームの送信元アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとし、かつ当該受信フレームの受信ポートを出力情報としたエントリが前記データベースに存在するか否かを確認し、該当するエントリが存在しない場合に前記データベースを更新する
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記データベース更新手段は、
    受信フレームの送信元アドレスおよびフレームを受信した時点で、前記送信元アドレスおよび前記状態管理手段が管理している状態情報を検索キーとするエントリが存在しない場合、前記送信元アドレスおよび前記状態管理手段が管理している状態情報を検索キーとし、前記受信フレームの受信ポートを出力情報としたエントリを作成して前記データベースへ登録する
    ことを特徴とする請求項1または2に記載の通信装置。
  4. 前記データベース更新手段は、
    前記作成したエントリである新規エントリの検索キーに登録されている状態情報とは異なる状態情報が検索キーに登録されたエントリが前記データベースに存在する場合には、当該エントリに対して前記新規エントリを上書き登録する
    ことを特徴とする請求項3に記載の通信装置。
  5. 前記データベース更新手段は、
    受信フレームの送信元アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとするエントリが前記データベースに登録されているが、その出力情報が前記受信ポートを示していない場合、当該エントリの出力情報が前記受信ポートを示すように、当該エントリを変更する
    ことを特徴とする請求項1〜4のいずれか一つに記載の通信装置。
  6. ネットワークのノードとして動作する通信装置であって、
    ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新し、さらに、障害が発生しているポート、または障害発生を通知するフレームを受信したポートを無効ポートとして記憶する状態管理手段と、
    受信フレームの送信元アドレスおよび受信ポートと、前記状態管理手段で管理されている状態情報とに基づいて、当該送信元アドレスを宛先アドレスとしたフレームを受信した場合の出力ポートを決定するためのデータベースを更新するデータベース更新手段と、
    受信フレームの宛先アドレスを検索キーとして前記データベースを検索し、得られた検索結果と、前記状態管理手段で記憶されている無効ポートとに基づいて、受信フレームの出力ポートを決定する出力先決定手段と、
    を備えることを特徴とする通信装置。
  7. 前記データベース更新手段は、
    前記送信元アドレスを検索キーとし、前記状態情報および前記受信ポートを出力情報としたエントリを作成して前記データベースへ登録する
    ことを特徴とする請求項に記載の通信装置。
  8. 前記データベース更新手段は、
    受信フレームの送信元アドレスを検索キーとするエントリが前記データベースに登録されているが、その出力情報が前記受信ポートとは異なるポートを示している、または当該出力情報が前記状態管理手段で管理されている状態情報とは異なる状態情報を含んでいる場合、当該エントリの出力情報が前記受信ポートを示しなおかつ前記状態管理手段で管理されている状態情報と同一の状態情報を含むように、当該エントリを変更する
    ことを特徴とする請求項またはに記載の通信装置。
  9. 前記出力先決定手段は、
    前記検索結果に含まれる状態情報が前記状態管理手段で管理されている状態情報とは異なり、なおかつ当該検索結果が示す出力ポートが前記状態管理手段で記憶されている無効ポートに該当する場合、当該検索結果に対応する前記データベース内のエントリを無効化する
    ことを特徴とする請求項またはに記載の通信装置。
  10. 前記出力先決定手段は、
    前記検索結果に含まれる状態情報が前記状態管理手段で管理されている状態情報とは異なり、なおかつ当該検索結果が示す出力ポートが前記状態管理手段で記憶されている無効ポートとは異なる場合、当該検索結果に対応するデータベース内のエントリが前記状態管理手段で管理されている状態情報と同一の管理情報を含むように、当該エントリを更新する
    ことを特徴とする請求項またはに記載の通信装置。
  11. 前記出力先決定手段は、
    前記受信フレームの出力先を前記検索結果が示す出力ポートに決定する
    ことを特徴とする請求項10に記載の通信装置。
  12. リングネットワークを構成する
    ことを特徴とする請求項1〜1のいずれか一つに記載の通信装置。
  13. ネットワークのノードとして動作する通信装置が、フレームを受信した場合の出力ポートを決定するためのデータベースを更新する場合に実行するアドレス学習方法であって、
    ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新する状態情報更新ステップと、
    フレームを受信するごとに、受信フレームの送信元アドレスおよび受信ポートと、前記状態情報とに基づいて、前記データベースに新規エントリを登録する必要があるかどうか確認し、必要な場合には、当該送信元アドレスおよび当該状態情報を検索キーとし、当該受信ポートを出力情報としたエントリを作成して前記データベースへ登録するエントリ登録ステップと、
    を含むことを特徴とするアドレス学習方法。
  14. 前記エントリ登録ステップでは、前記作成したエントリである新規エントリに登録されている状態情報とは異なる状態情報が登録されたエントリがデータベースに存在する場合、当該既存エントリに対して前記新規エントリを上書き登録する
    ことを特徴とする請求項1に記載のアドレス学習方法。
  15. 受信フレームの送信元アドレスおよび前記状態情報を検索キーとしたエントリが前記データベースに登録されているかどうか確認し、登録されている場合、さらに、当該エントリの出力情報が前記受信フレームの受信ポートを示しているかどうか確認し、示していなければ、出力情報が前記受信フレームの受信ポートを示すように、当該エントリを変更する登録済みエントリ変更ステップ、
    をさらに含むことを特徴とする請求項1または1に記載のアドレス学習方法。
  16. ネットワークのノードとして動作する通信装置が、フレームを受信した場合の出力ポートを決定するためのデータベースを更新する場合に実行するアドレス学習方法であって、
    ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新し、さらに、障害が発生しているポート、または障害発生を通知するフレームを受信したポートを無効ポートとして記憶する管理情報更新ステップと、
    受信フレームの送信元アドレスおよび受信ポートと、前記状態情報とに基づいて、前記データベースに新規エントリを登録する必要があるかどうか確認し、必要な場合、当該送信元アドレスを検索キーとし、当該状態情報および当該受信ポートを出力情報としたエントリを作成して前記データベースへ登録するエントリ登録ステップと、
    を含むことを特徴とするアドレス学習方法。
  17. 受信フレームの送信元アドレスを検索キーとしたエントリが前記データベースに登録されているが、その出力情報が当該受信フレームの受信ポートとは異なるポートを示している、または当該出力情報が最新の状態情報とは異なる状態情報を含んでいる場合には、当該エントリの出力情報が当該受信ポートを示しなおかつ最新の状態情報と同一の状態情報を含むように、当該エントリを変更するエントリ変更ステップ、
    をさらに含むことを特徴とする請求項1に記載のアドレス学習方法。
  18. 出力ポートを決定するためのデータベース検索を実行し、その結果、受信フレームの宛先アドレスに対応するエントリが前記データベースに登録されているが、その出力情報に含まれる状態情報が最新の状態情報とは異なり、なおかつ当該出力情報が示す出力ポートが前記無効ポートに該当することを検出した場合、当該エントリを無効化するエントリ無効化ステップ、
    をさらに含むことを特徴とする請求項1または1に記載のアドレス学習方法。
  19. 出力ポートを決定するためのデータベース検索を実行し、その結果、受信フレームの宛先アドレスに対応するエントリが前記データベースに登録されているが、その出力情報に含まれる状態情報が最新の状態情報とは異なり、なおかつ当該出力情報が示す出力ポートが前記無効ポートとは異なることを検出した場合、当該エントリの出力情報が最新の状態情報を含むように、当該エントリを変更するエントリ更新ステップ、
    をさらに含むことを特徴とする請求項1、1または1に記載のアドレス学習方法。
JP2012501579A 2010-02-25 2010-02-25 通信装置およびアドレス学習方法 Active JP5349678B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/052978 WO2011104847A1 (ja) 2010-02-25 2010-02-25 通信装置およびアドレス学習方法

Publications (2)

Publication Number Publication Date
JPWO2011104847A1 JPWO2011104847A1 (ja) 2013-06-17
JP5349678B2 true JP5349678B2 (ja) 2013-11-20

Family

ID=44506294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012501579A Active JP5349678B2 (ja) 2010-02-25 2010-02-25 通信装置およびアドレス学習方法

Country Status (6)

Country Link
US (1) US8655909B2 (ja)
EP (1) EP2541842B1 (ja)
JP (1) JP5349678B2 (ja)
CN (1) CN102771092B (ja)
TW (1) TWI449376B (ja)
WO (1) WO2011104847A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102347881A (zh) * 2011-09-30 2012-02-08 华为技术有限公司 以太环网故障倒换时恢复单播转发业务流的方法及装置
JP5776617B2 (ja) * 2012-04-16 2015-09-09 日立金属株式会社 シャーシ型スイッチ
US9338060B2 (en) 2012-09-05 2016-05-10 Brocade Communications Systems, Inc. Multiple ring identification and configuration protocol
US9148346B2 (en) 2012-09-05 2015-09-29 Brocade Communications Systems, Inc. Multiple ring identification and configuration protocol
US9444641B2 (en) * 2012-09-05 2016-09-13 Brocade Communications Systems, Inc. MAC flush optimizations for ethernet rings
JP2016100621A (ja) * 2014-11-18 2016-05-30 富士通株式会社 伝送装置、伝送システム及び伝送方法
CN106161078B (zh) * 2015-04-27 2019-06-21 华为技术有限公司 一种以太网环保护倒换方法及节点
CN106817288B (zh) 2015-11-30 2019-06-14 华为技术有限公司 一种数据中心网络系统及信号传输系统
JP6922442B2 (ja) * 2017-06-02 2021-08-18 富士通株式会社 伝送システム、伝送装置及びループ防止方法
JP6667742B2 (ja) * 2018-03-30 2020-03-18 三菱電機株式会社 転送装置、転送方法および転送プログラム
JP7046756B2 (ja) * 2018-08-01 2022-04-04 株式会社日立製作所 ネットワーク中継装置、ネットワーク中継方法、及びネットワーク中継プログラム
EP4084421A4 (en) * 2020-03-13 2023-02-01 Mitsubishi Electric Corporation RELAY DEVICE, RELAY SYSTEM, RELAY METHOD AND RELAY PROGRAM

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305537A (ja) * 2001-04-05 2002-10-18 Nec Eng Ltd Atm交換機
JP2009010720A (ja) * 2007-06-28 2009-01-15 Fujitsu Ltd 経路切替方法及び装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0221360B1 (en) * 1985-11-04 1992-12-30 International Business Machines Corporation Digital data message transmission networks and the establishing of communication paths therein
JP2708976B2 (ja) 1991-06-06 1998-02-04 株式会社日立製作所 学習テーブル管理方式
US20030110344A1 (en) * 1996-09-18 2003-06-12 Andre Szczepanek Communications systems, apparatus and methods
US6625157B2 (en) * 1999-05-20 2003-09-23 Advanced Micro Devices, Inc. Apparatus and method in a network switch port for transferring data between buffer memory and transmit and receive state machines according to a prescribed interface protocol
US6829651B1 (en) * 2000-04-11 2004-12-07 International Business Machines Corporation Local MAC address learning in layer 2 frame forwarding
US7240040B2 (en) * 2001-09-12 2007-07-03 Safenet, Inc. Method of generating of DFA state machine that groups transitions into classes in order to conserve memory
US6766482B1 (en) * 2001-10-31 2004-07-20 Extreme Networks Ethernet automatic protection switching
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US20040109408A1 (en) * 2002-12-06 2004-06-10 Packetlight Networks, Ltd. Fast protection for TDM and data services
TW200518526A (en) * 2003-11-17 2005-06-01 Nec Corp Communication system and communication method
TWI240548B (en) * 2004-02-04 2005-09-21 Chunghwa Telecom Co Ltd Incoming-call automatic distribution system with network repairing guided by automatic voice test service
JP4370999B2 (ja) * 2004-07-30 2009-11-25 日本電気株式会社 ネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法
JP4687176B2 (ja) * 2005-03-22 2011-05-25 富士通株式会社 パケット中継装置
JP4360336B2 (ja) 2005-03-25 2009-11-11 日立電線株式会社 リン銅ろうクラッド材の製造方法
EP1727313A1 (en) * 2005-05-25 2006-11-29 Siemens Aktiengesellschaft Ring network and method for automatic protection switching
JP4836008B2 (ja) * 2006-01-06 2011-12-14 日本電気株式会社 通信システム、通信方法、ノード、およびノード用プログラム
WO2007086539A1 (ja) 2006-01-25 2007-08-02 Nec Corporation ネットワークノード、フレーム転送プログラム及びフレーム転送方法
CN101438538B (zh) * 2006-05-09 2012-01-11 日本电气株式会社 通信系统、节点、终端、通信方法
US7593400B2 (en) * 2006-05-19 2009-09-22 Corrigent Systems Ltd. MAC address learning in a distributed bridge
JP4428380B2 (ja) 2006-12-13 2010-03-10 日本電気株式会社 ネットワークノードおよびネットワークノード用プログラム
KR20080089285A (ko) * 2007-03-30 2008-10-06 한국전자통신연구원 이더넷 링 네트워크에서의 보호 절체 방법
WO2008120931A1 (en) * 2007-03-30 2008-10-09 Electronics And Telecommunications Research Institute Method for protection switching in ethernet ring network
US7788206B2 (en) * 2007-04-30 2010-08-31 Lsi Corporation State machine compression using multi-character state transition instructions
US20080317030A1 (en) * 2007-06-22 2008-12-25 Icu Research And Industrial Cooperation Group Method of creating address forwarding table in ethernet ring network
JP4895972B2 (ja) * 2007-10-22 2012-03-14 アラクサラネットワークス株式会社 リングプロトコル高速切替方法およびその装置
CN101534233A (zh) * 2008-03-12 2009-09-16 中兴通讯股份有限公司 一种以太环网节点地址表更新方法
JP4922972B2 (ja) * 2008-03-13 2012-04-25 株式会社日立製作所 通信システム
WO2011027361A2 (en) * 2009-09-07 2011-03-10 Tejas Networks Limited A method and system for ring protection switching
US8565069B2 (en) * 2010-11-23 2013-10-22 Force10 Networks, Inc. Method of shrinking a data loss window in a packet network device
US9356799B2 (en) * 2011-06-28 2016-05-31 Broadcom Corporation Ethernet ring protection without MAC table flushing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305537A (ja) * 2001-04-05 2002-10-18 Nec Eng Ltd Atm交換機
JP2009010720A (ja) * 2007-06-28 2009-01-15 Fujitsu Ltd 経路切替方法及び装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200700174004; 奥智行・赤羽真一: 'リングトポロジにおける障害対策プロトコル' 電子情報通信学会技術研究報告 IN2006-117 Vol.106 No.420, 20061207, pp.19-24, 社団法人電子情報通信学会 *
JPN6013016591; 奥智行・赤羽真一: 'リングトポロジにおける障害対策プロトコル' 電子情報通信学会技術研究報告 IN2006-117 Vol.106 No.420, 20061207, pp.19-24, 社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
US20120317138A1 (en) 2012-12-13
EP2541842B1 (en) 2018-05-23
US8655909B2 (en) 2014-02-18
TW201206117A (en) 2012-02-01
EP2541842A1 (en) 2013-01-02
TWI449376B (zh) 2014-08-11
CN102771092B (zh) 2015-02-11
JPWO2011104847A1 (ja) 2013-06-17
CN102771092A (zh) 2012-11-07
EP2541842A4 (en) 2017-01-25
WO2011104847A1 (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
JP5349678B2 (ja) 通信装置およびアドレス学習方法
US7636299B2 (en) Packet repeater
JP4682887B2 (ja) 故障復旧方法およびノードならびにネットワーク
JP5955461B2 (ja) 通信システム、通信装置およびプロテクション方法
JP2011053918A (ja) ネットワークシステム、ネットワーク中継装置、それらの制御方法
US8401008B2 (en) Network node, frame transfer program and frame transfer method
JP2008244907A (ja) 通信装置、通信システム及びそれに用いるlag管理テーブル管理方法
US8243741B2 (en) Frame switching device and address learning method
JP2011091464A (ja) ネットワーク構成の想定のための装置、システム
US8611255B2 (en) Technology for flushing and relearning MAC addresses in telecommunication networks
US20140301403A1 (en) Node device and method for path switching control in a ring network
JP2007251817A (ja) リングノード装置及びリングノード冗長方法
EP2171937B1 (en) Protection mechanisms for a communications network
EP2323318B1 (en) Method and device for providing service for the duplicate mac address users
Canini et al. Renaissance: A self-stabilizing distributed SDN control plane using in-band communications
JP2015170984A (ja) 中継システムおよび中継装置
JP6553437B2 (ja) 中継システムおよびスイッチ装置
CN110798391A (zh) 网络中继装置、网络中继方法、以及网络中继程序
JP3541337B2 (ja) ネットワーク管理システム及びネットワーク構成情報管理方法
JP5752645B2 (ja) マルチキャスト転送システムおよびマルチキャスト経路切替方法
JP2020077899A (ja) 中継システムおよび中継装置
JP7112353B2 (ja) 通信装置
JP3546328B2 (ja) 通信ネットワークのためのルータ
WO2019156188A1 (ja) 通信事業者ネットワーク装置、ネットワークシステム、及びプログラム
JP2017041823A (ja) 中継システムおよびスイッチ装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130820

R150 Certificate of patent or registration of utility model

Ref document number: 5349678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250