JP2017028614A - 中継システムおよびスイッチ装置 - Google Patents

中継システムおよびスイッチ装置 Download PDF

Info

Publication number
JP2017028614A
JP2017028614A JP2015147755A JP2015147755A JP2017028614A JP 2017028614 A JP2017028614 A JP 2017028614A JP 2015147755 A JP2015147755 A JP 2015147755A JP 2015147755 A JP2015147755 A JP 2015147755A JP 2017028614 A JP2017028614 A JP 2017028614A
Authority
JP
Japan
Prior art keywords
fdb
port
management
ring
management table
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
JP2015147755A
Other languages
English (en)
Other versions
JP6541490B2 (ja
Inventor
安多 慎
Shin Yasuda
慎 安多
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.)
Proterial Ltd
Original Assignee
Hitachi Metals Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Metals Ltd filed Critical Hitachi Metals Ltd
Priority to JP2015147755A priority Critical patent/JP6541490B2/ja
Publication of JP2017028614A publication Critical patent/JP2017028614A/ja
Application granted granted Critical
Publication of JP6541490B2 publication Critical patent/JP6541490B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】FDBフラッシュの高速化と共に、FDBフラッシュに伴う誤動作を防止することが可能な中継システムおよびスイッチ装置を提供する。【解決手段】MACアドレスと、リングポートと、面番号を示すFIDとの対応関係を含むエントリを保持するFDBと、リングポート等と、FIDと、どの面番号を含むエントリまでフラッシュが完了しているかを示すFPとの対応関係を保持するID管理テーブルと、ID管理部とを備える。ID管理部は、FDBフラッシュ命令が発行される毎に、ID管理テーブルのFIDを所定の範囲内で巡回するように順次切り換え、FIDを追いかけるようにフラッシュ対象の面番号を定め、そのフラッシュが完了した場合にID管理テーブルのFPを切り換える。この際に、ID管理部は、FPで示されるフラッシュ済みの面番号を追い越さないようにFIDを切り換える。【選択図】図7

Description

本発明は、中継システムおよびスイッチ装置に関し、例えば、リングプロトコルを用いる中継システムおよびスイッチ装置に関する。
例えば、特許文献1には、ポート識別子、端末識別子およびFDB_IDの対応関係を格納するFDB(Forwarding DataBase)と、FDB_IDをポート識別子に対応付けて格納するFDB_IDテーブルとを備えるネットワーク中継機器が示されている。FDB_IDテーブルのFDB_IDは、FDBの消去指示が生じた場合に、例えば「0」から「1」に書き換えられる。
特開2010−263395号公報
例えば、リングネットワークを構成するスイッチ装置は、一般的に、障害発生または障害回復に応じてFDBフラッシュ(FDB消去)を実行する。FDBフラッシュに際し、スイッチ装置は、通常、各FDBエントリ(以降、エントリと略す場合有り)がフラッシュ対象(すなわちフラッシュ対象のリングポートを含むエントリ)であるか否かを判別しながら処理を進めていく。このため、FDBフラッシュの実行時間は、比較的長くなる恐れがある。FDBフラッシュの実行中は、通常、受信したフレームに対して、FDBの学習や検索を行うことができない。
そこで、特許文献1に示されるように、FDB_IDを用いて、仮想的にFDBを複数面設けるような方式が知られている。例えば、FDBを仮想的に2面設けた場合で、FDBフラッシュが生じた場合、FDBを第1面(例えばFDB_ID=0)から第2面(FDB_ID=1)に切り換えることで、第2面のFDBを即座に使用することができる。また、第2面のFDBを使用しながら、それと並行して第1面のFDBのフラッシュを行うことができる。
一方、第2面のFDBを使用している状態で、再び、FDBフラッシュが生じた場合、例えば、FDBを第2面から第1面に切り換えることで、第1面のFDBを即座に使用することができる。しかし、この切り換えが発生した時点で、第1面のFDBのフラッシュが実行中であり、フラッシュ未完のエントリが残存している場合、当該エントリは、本来無効なエントリであるにも関わらず、有効なエントリとして誤認識される恐れがある。
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、FDBフラッシュの高速化と共に、FDBフラッシュに伴う誤動作を防止することが可能な中継システムおよびスイッチ装置を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
本実施の形態による中継システムは、リングネットワークを構成する複数のスイッチ装置を備える。複数のスイッチ装置の少なくとも一つは、リングポートと、FDBと、ID管理テーブルと、リング制御部と、ID管理部と、中継処理部とを有する。リングポートは、リングネットワークに接続される。FDBは、MACアドレスと、リングポートと、面番号を示す第1IDとの対応関係を含むエントリを保持する。ID管理テーブルは、リングポートまたは当該リングポートが属するリングネットワークIDと、第1IDと、どの面番号を含むエントリまでフラッシュが完了しているかを示す第2IDとの対応関係を保持する。リング制御部は、リングネットワークを制御し、所定のリングプロトコルに基づきFDBフラッシュ命令を発行する。ID管理部は、FDBフラッシュ命令が発行される毎に、ID管理テーブルの第1IDを所定の範囲内で巡回するように順次切り換え、第1IDを追いかけるようにフラッシュ対象の面番号を定め、当該面番号を含むエントリのフラッシュが完了した場合にID管理テーブルの第2IDを切り換える。中継処理部は、リングポートでフレームを受信した場合に、学習処理と検索処理とを実行する。学習処理において、中継処理部は、リングポートまたはリングネットワークIDに対応する第1IDをID管理テーブルから取得し、当該第1IDを、当該リングポートおよび当該フレームの送信元MACアドレスと共にFDBに学習する。検索処理において、中継処理部は、FDBの検索結果に基づき、受信したフレームの宛先ポートがリングポートの場合で、当該リングポートまたはリングネットワークIDに対応する第1IDがFDBとID管理テーブルとで一致する場合に宛先ヒットとし、不一致の場合に宛先ミスヒットとする。ここで、ID管理部は、第2IDで示されるフラッシュ済みの面番号を追い越さないように第1IDを切り換える。
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、FDBフラッシュの高速化と共に、FDBフラッシュに伴う誤動作を防止することが可能になる。
本発明の実施の形態1による中継システムにおいて、その構成例および障害無し時の動作例を示す概略図である。 図1の中継システムにおいて、障害監視方法の一例と、障害検出時の概略的な動作例を示す説明図である。 (a)は、図1の中継システムにおいて、障害復旧時の概略動作例を示す説明図であり、(b)は、(a)に続く概略動作例を示す説明図である。 図1の中継システムにおいて、スイッチ装置の主要部の概略構成例を示すブロック図である。 図4におけるFDBの構造例を示す概略図である。 図4のスイッチ装置において、FDBID管理テーブルの構造例を示す概略図である。 図4のスイッチ装置において、FDBID管理部の概略的な動作例を示す説明図である。 図4のスイッチ装置において、FDBID管理部内のFID管理部の処理内容の一例を示すフロー図である。 (a)および(b)は、図4のスイッチ装置において、FDBID管理部内のFP管理部の処理内容の一例を示すフロー図である。 図4のスイッチ装置において、FDBID管理部内のFIH管理部の処理内容の一例を示すフロー図である。 図4のスイッチ装置において、中継処理部の処理内容の一例を示すフロー図である。 図11において、FDBの学習処理の処理内容の一例を示すフロー図である。 図11において、FDBの検索処理の処理内容の一例を示すフロー図である。 本発明の実施の形態2によるスイッチ装置において、主要部の概略構成例を示すブロック図である。 図14のスイッチ装置において、管理カードのFID管理部の概略動作例を示す説明図である。 図14のスイッチ装置において、管理カードのFP管理部の概略動作例を示す説明図である。 図14におけるFDBIDテーブルの構造例を示す概略図である。 本発明の実施の形態3によるスイッチ装置において、管理カードのFID管理部の概略動作例を示す説明図である。 (a)は、本発明の実施の形態4によるスイッチ装置において、主要部の概略構成例を示すブロック図であり、(b)は、(a)のスイッチ装置を適用した中継システムの構成例を示す概略図である。 (a)は、図19(a)におけるインスタンス管理テーブルの構造例を示す概略図であり、(b)は、図19(a)におけるFDBID管理テーブルの構造例を示す概略図である。 (a)は、本発明の比較例として検討したスイッチ装置において、FDBID管理テーブルの構造例を示す概略図であり、(b)は、本発明の比較例として検討したスイッチ装置において、FDBID管理部が行うテーブル管理処理の一例を示すフロー図である。 本発明の比較例として検討したスイッチ装置において、FDBID管理部が行うFDBフラッシュ処理の一例を示すフロー図である。 (a)は、本発明の比較例として検討したスイッチ装置において、FDBフラッシュが生じた場合の動作例を示す説明図であり、(b)は、(a)に続いてフレームを受信した場合の動作例を示す説明図である。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
《中継システムの概略構成および障害無し時の概略動作》
図1は、本発明の実施の形態1による中継システムにおいて、その構成例および障害無し時の動作例を示す概略図である。図1に示す中継システムは、リングネットワーク10を構成する複数(ここでは4個)のスイッチ装置SWa〜SWdを備える。スイッチ装置SWa〜SWdのそれぞれは、ノードとも呼ばれる。スイッチ装置SWa〜SWdのそれぞれは、複数(ここでは4個)のリングポートPr[1a],Pr[1b],Pr[2a],Pr[2b]と、m個(mは1以上の整数)のユーザポートPu[1]〜Pu[m]と、を備える。
スイッチ装置SWa〜SWdのそれぞれは、リングポートPr[1a],Pr[1b]にLAG(Link Aggregation Group)(ここではLAG[1])を設定し、リングポートPr[2a],Pr[2b]にLAG(ここではLAG[2])を設定する。LAG(例えばLAG[1])が設定されたリングポート(Pr[1a],Pr[1b])は、論理的に1個のポートとして機能する。本明細書では、LAGが設定される複数のポートを総称してLAGポートと呼ぶ。LAG[1]ポートは、リングポートPr[1a],Pr[1b]を表し、LAG[2]ポートは、リングポートPr[2a],Pr[2b]を表す。
また、本明細書では、便宜上、リングポートとユーザポートとを区別するため、リングポートはLAGポートで構成され、ユーザポートはLAGが設定されない一般ポートで構成されるものとする。すなわち、LAG[1]ポートおよびLAG[2]ポートは、リングポートと同義語であるものとする。実際上、リングポートは、冗長性や負荷分散の観点から、LAGポートで構成されることが望ましい。ただし、各実施の形態において、リングポートは、必ずしもLAGポートに限定されるものではなく、一般ポートであってもよい。また、図1の例では、リングネットワーク10を構成するスイッチ装置の数は、4個とするが、これに限らず2個以上であればよい。
リングネットワーク10は、例えば、ITU−T G.8032に規定されたリングプロトコル(ERP(Ethernet(登録商標) Ring Protection)とも呼ばれる)に基づき制御される。言い換えれば、スイッチ装置SWa〜SWdのそれぞれは、当該リングプロトコルに基づく各種制御機能を備える。スイッチ装置SWa〜SWdのそれぞれは、OSI参照モデルのレイヤ2(L2)の中継処理を行うL2スイッチや、加えて、レイヤ3(L3)の中継処理を行うL3スイッチ等である。ただし、リングネットワーク10上の中継処理は、L2に基づいて行われるため、ここでは、スイッチ装置SWa〜SWdのそれぞれは、L2スイッチである場合を例とする。
リングポートであるLAG[1]ポートおよびLAG[2]ポートは、それぞれ、リングネットワーク10に接続される。言い換えれば、スイッチ装置SWa〜SWdのそれぞれは、リングポートを介してリング状に接続され、これによってリングネットワーク10が形成される。図1の例では、スイッチ装置SWa,SWb,SWc,SWdのLAG[1]ポートは、それぞれ、通信回線を介して、隣接するスイッチ装置SWb,SWc,SWd,SWaのLAG[2]ポートに接続される。
ユーザポートPu[1]〜Pu[m]は、所定のユーザ網に接続される。図1の例では、スイッチ装置SWa〜SWdのユーザポートPu[1]〜Pu[m]は、それぞれ、ユーザ網11a〜11dに接続される。ユーザ網11a〜11dのそれぞれの中には、スイッチ装置や各種情報処理装置(サーバ装置や端末装置等)などが適宜配置される。
ここで、ITU−T G.8032に基づき、スイッチ装置SWaは、オーナーノードに設定され、スイッチ装置SWbは、ネイバーノードに設定される。オーナーノードとネイバーノードとの間のリンクは、RPL(Ring Protection Link)と呼ばれる。リングネットワーク10上に障害が無い場合、スイッチ装置SWaは、RPLの一端に位置するLAG[1]ポートを閉塞状態BKに制御し、スイッチ装置SWbは、RPLの他端に位置するLAG[2]ポートを閉塞状態BKに制御する。閉塞状態BKに制御されたリングポートは、フレームの通過を禁止する。
リングネットワーク10に障害が無い場合、RPLによって、リングネットワーク10上での通信経路のループが防止される。これにより、図1に示すように、例えば、スイッチ装置SWaとスイッチ装置SWbとの間で、スイッチ装置SWd,SWcを介する通信経路12が形成される。ユーザ網11a〜11d間のフレーム転送は、この通信経路12上で行われる。
《中継システムの障害監視方法および障害検出時の概略動作》
図2は、図1の中継システムにおいて、障害監視方法の一例と、障害検出時の概略的な動作例を示す説明図である。図2に示すように、スイッチ装置SWa〜SWdは、それぞれ、LAG[1]ポートに対応して監視ポイントMEPa1〜MEPd1を備え、LAG[2]ポートに対応して監視ポイントMEPa2〜MEPd2を備える。
ITU−T G.8032では、スイッチ装置間のリンクの障害有無を監視するため、イーサネット(登録商標)OAMのCC(Continuity Check)機能を用いることが規定されている。CC機能では、図2に示すように、MEP(Maintenance End Point)と呼ばれる監視ポイントによって監視区間が設定される。各監視区間の両端のMEPは、疎通性監視フレームであるCCM(Continuity Check Message)フレームを互いに定期的に送受信することで、各監視区間の疎通性を監視する。
図2の例では、スイッチ装置SWaの監視ポイントMEPa1は、他装置(SWb)の監視ポイントMEPb2との間でCCM監視区間15abを設定し、これにより、自装置のLAG[1]ポートと、それに接続される他装置(SWb)のLAG[2]ポートと、の間の疎通性を監視する。その反対に、スイッチ装置SWbの監視ポイントMEPb2も、他装置(SWa)の監視ポイントMEPa1との間でCCM監視区間15abを設定し、自装置のLAG[2]ポートと、それに接続される他装置(SWa)のLAG[1]ポートと、の間の疎通性を監視する。これと同様にして、リングネットワーク10上に、順次、CCM監視区間15bc,15cd,15adが設定される。
図2では、スイッチ装置SWcの監視ポイントMEPc1とスイッチ装置SWdの監視ポイントMEPd2との間の監視区間15cdに障害が発生した場合(ステップS101)の概略的な動作例が示されている。この場合、当該障害は、監視ポイントMEPc1,MEPd2によってそれぞれ検出される。スイッチ装置SWcは、監視ポイントMEPc1を用いてLAG[1]ポート(それに接続される通信回線(リンク)を含む)の障害を検出した場合、当該LAG[1]ポートを閉塞状態BKに制御し、FDBフラッシュを実行する(ステップS102)。
詳細は後述するが、FDBフラッシュが実行された場合、FDB(Forwarding DataBase)において、当該FDBフラッシュの対象となるリングポート(ここではLAG[1]ポートおよびLAG[2]ポート)を含んだエントリがフラッシュされる。また、スイッチ装置SWcは、LAG[1]ポートの障害検出に応じて、リングネットワーク10上にR−APS(SF)フレームを送信する(ステップS103)。R−APSフレームは、イーサネットOAMに基づく制御フレームの一種である。SFは、信号故障(Signal Fail)を表し、R−APS(SF)フレームは、障害通知フレームとして機能する。
同様に、スイッチ装置SWdは、監視ポイントMEPd2を用いてLAG[2]ポートの障害を検出した場合、当該LAG[2]ポートを閉塞状態BKに制御し、FDBフラッシュを実行する(ステップS102)。また、スイッチ装置SWdは、当該障害検出に応じて、リングネットワーク10上にR−APS(SF)フレームを送信する(ステップS103)。
オーナーノードであるスイッチ装置SWaは、R−APS(SF)フレームを受信した場合、LAG[1]ポートを、図1に示した閉塞状態BKから開放状態に変更し、FDBフラッシュを実行する(ステップS104)。同様に、ネイバーノードであるスイッチ装置SWbも、R−APS(SF)フレームを受信した場合、LAG[2]ポートを、図1に示した閉塞状態BKから開放状態に変更し、FDBフラッシュを実行する(ステップS104)。開放状態のリングポートは、フレームの通過を許可する。
なお、実際には、各スイッチ装置のそれぞれは、リングポート(LAG[1]ポートおよびLAG[2]ポート)のそれぞれで、閉塞状態BKのリングポートの位置を表す閉塞ポート情報を管理している。そして、各スイッチ装置のそれぞれは、LAG[1]ポートで管理している閉塞ポート情報に変更が生じた場合にFDBフラッシュを実行し、LAG[2]ポートで管理している閉塞ポート情報に変更が生じた場合にFDBフラッシュを実行する。
具体的には、図2のステップS103において、スイッチ装置SWcからのR−APS(SF)フレームは、閉塞ポート情報として、スイッチ装置SWcのLAG[1]ポートを表す識別子を含む。同様に、スイッチ装置SWdからのR−APS(SF)フレームは、スイッチ装置SWdのLAG[2]ポートを表す識別子を含む。この場合、例えば、スイッチ装置SWaは、LAG[1]ポートで新たな閉塞ポート情報(SWcのLAG[1]ポートの識別子)を受信し、これに応じてFDBフラッシュを実行する。さらに、スイッチ装置SWaは、LAG[2]ポートでも新たな閉塞ポート情報(SWdのLAG[2]ポートの識別子)を受信し、これに応じてFDBフラッシュを実行する。このように、スイッチ装置のそれぞれは、実際には、1箇所の障害発生に応じて複数回のFDBフラッシュを実行する場合がある。
《中継システムの障害復旧時の動作》
図3(a)は、図1の中継システムにおいて、障害復旧時の概略動作例を示す説明図であり、図3(b)は、図3(a)に続く概略動作例を示す説明図である。図3(a)では、図2に示したように、スイッチ装置SWcとスイッチ装置SWdとの間のリンクに障害が発生した場合で、当該障害が復旧した場合を想定する。まず、障害が発生している状態では、スイッチ装置SWcのLAG[1]ポートおよびスイッチ装置SWdのLAG[2]ポートは、共に、閉塞状態BKに制御されている。
この状態で、スイッチ装置SWcは、監視ポイントMEPc1を用いてLAG[1]ポートの障害復旧を検出し(ステップS201)、LAG[2]ポートから定期的にR−APS(NR)フレームを送信する(ステップS202)。NRは、要求無し(No Request)を表し、R−APS(NR)フレームは、障害復旧通知フレームとして機能する。同様に、スイッチ装置SWdは、監視ポイントMEPd2を用いてLAG[2]ポートの障害復旧を検出し(ステップS201)、LAG[1]ポートから定期的にR−APS(NR)フレームを送信する(ステップS202)。
オーナーノードであるスイッチ装置SWaは、R−APS(NR)フレームを受信すると、所定の期間(WTR(Wait To Restore)タイマの期間)を経過後にLAG[1]ポートを開放状態から閉塞状態BKに変更し、FDBフラッシュを実行する(ステップS203)。また、スイッチ装置SWaは、図3(b)に示すように、LAG[1]ポートおよびLAG[2]ポートからR−APS(NR,RB)フレームを送信する(ステップS204)。RBは、PRLの閉塞(RPL Blocked)を表し、R−APS(NR,RB)フレームは、障害切り戻しフレームとして機能する。
ネイバーノードであるスイッチ装置SWbは、R−APS(NR,RB)フレームを受信した場合、LAG[2]ポートを開放状態から閉塞状態BKに変更し、FDBフラッシュを実行する(ステップS205)。一方、スイッチ装置SWcは、R−APS(NR,RB)フレームを受信した場合、LAG[1]ポートを閉塞状態BKから開放状態に変更し、FDBフラッシュを実行する(ステップS205)。同様に、スイッチ装置SWdは、R−APS(NR,RB)フレームを受信した場合、LAG[2]ポートを閉塞状態BKから開放状態に変更し、FDBフラッシュを実行する(ステップS205)。また、スイッチ装置SWc,SWdは、R−APS(NR,RB)フレームを受信した場合、R−APS(NR)フレームの送信を停止する。
《スイッチ装置の構成および動作》
図4は、図1の中継システムにおいて、スイッチ装置の主要部の概略構成例を示すブロック図である。図5は、図4におけるFDBの構造例を示す概略図である。図4に示すスイッチ装置SWは、図1に示したスイッチ装置SWa〜SWdの中の少なくとも一つに適用される。
図4に示すスイッチ装置SWは、複数(ここでは2個)のリングポートPr[1a],Pr[1b]で構成されるLAG[1]ポートと、複数(ここでは2個)のリングポートPr[2a],Pr[2b]で構成されるLAG[2]ポートと、複数のユーザポートPu[1]〜Pu[m]と、各種処理部等とを備える。LAG[1]ポートおよびLAG[2]ポートは、通信回線(例えばイーサネット回線)を介してリングネットワーク10に接続される。複数のユーザポートPu[1]〜Pu[m]は、所定のユーザ網(11a〜11dのいずれか)に接続される。以下、各種処理部等に関して説明する。
インタフェース部20は、複数のポート(LAG[1]ポート、LAG[2]ポート、ユーザポートPu[1]〜Pu[m])のいずれかでフレームを受信した際に、フレームに受信したポートのポート識別子(受信ポート識別子と呼ぶ)を付加し、それを中継処理部21またはERP制御部24へ送信する。また、インタフェース部20は、中継処理部21またはERP制御部24からのフレームを、宛先ポート識別子に基づき、複数のポートのいずれかへ送信する。
FDBは、図5に示すように、MACアドレスと、VLAN(Virtual LAN)識別子(VID)と、ユーザポートとの対応関係を含むエントリを保持する。例えば、図5の1番目のエントリは、ユーザ網11aに含まれる端末のMACアドレス「MAa」と、VID「1」と、ユーザポートPu[1]のポート識別子(ポートID){Pu[1]}との対応関係を含んでいる。なお、本明細書では、例えば、{AA}は「AA」の識別子(ID)を表すものとする。
さらに、FDBは、MACアドレスと、VIDと、リングポート(LAGポート)と、FID(第1ID)との対応関係を含むエントリを保持する。例えば、図5の2番目のエントリは、ユーザ網11bに含まれる端末のMACアドレス「MAb」と、VID「1」と、LAG[2]ポート(リングポート)のLAG識別子(LAGID){LAG[2]}と、FID(第1ID)「0x2」との対応関係を含んでいる。このように、FDBは、リングポート(LAGポート)を含むエントリの場合には、FIDを保持する。FID(第1ID)は、詳細は後述するが、概念的には、FDBの面番号を示す。
ERP制御部(リング制御部)24は、OAM処理部31を含み、ITU−T G.8032に規定されたリングプロトコルに基づきリングネットワーク10を制御する。OAM処理部31は、図2に示した監視ポイント(MEP)を備え、イーサネットOAMに基づく疎通性の監視を行う。ERP制御部24は、例えば、図2および図3(a)および図3(b)に示したように、OAM処理部31を用いた障害有無の監視や、各種R−APSフレームの送信または受信や、LAGポート(リングポート)の開放状態/閉塞状態BKの制御等を行う。
ERP制御部24は、図4の例では、インタフェース部20内のVIDフィルタ25に対して、VIDに応じたフレームの中継可否を適宜設定することで、LAGポート(リングポート)の制御を行う。また、ERP制御部24は、図2および図3(a)および図3(b)に示したように、リングプロトコルに基づきFDBフラッシュが必要となる場合には、FDBID管理部23に対してFDBフラッシュ命令を発行する。例えば、図2のステップS104において、スイッチ装置SWaのERP制御部24は、LAG[2]ポートでR−APS(SF)フレームを受信した場合、当該LAG[2]ポートが属する各リングポート(ここではLAG[1]ポートおよびLAG[2]ポート)をフラッシュ対象としてFDBフラッシュ命令を発行する。
FDBID管理部(ID管理部)23は、FID管理部27、FIH管理部28、FP管理部29およびフラッシュ実行部30を備え、FDBID管理テーブル(ID管理テーブル)22で保持される各種ID等を管理する。中継処理部21は、LAG管理部26を備え、FDBID管理テーブル(ID管理テーブル)22を用いて、FDBの学習処理およびFDBの検索処理を行う。LAG管理部26は、LAG[1]ポートとそのメンバポート(リングポートPr[1a],Pr[1b])との対応関係、およびLAG[2]ポートとそのメンバポート(リングポートPr[2a],Pr[2b])との対応関係を管理する。
例えば、インタフェース部20は、リングポートPr[1a]でフレームを受信した場合、当該フレームに受信ポート識別子としてポート識別子{Pr[1a]}を付加する。LAG管理部26は、受信ポート識別子がLAGポートのメンバポートに該当するため、受信ポート識別子をポート識別子{Pr[1a]}からLAGID{LAG[1]}に置き換える。中継処理部21は、当該フレームの送信元MACアドレスをLAGID{LAG[1]}に対応付けてFDBに学習する。
また、LAG管理部26は、例えば、FDBの検索処理によって得られた宛先ポート識別子がLAGID{LAG[2]}であった場合、そのメンバポート(Pr[2a],Pr[2b])のいずれかを所定の分散規則に基づき選択し、宛先ポート識別子を、当該選択したポート識別子({Pr[2a]}または{Pr[2b]})に置き換える。中継処理部21は、当該宛先ポート識別子を付加したフレームをインタフェース部20へ送信し、インタフェース部20は、当該宛先ポート識別子に基づくポートに当該フレームを中継する。
《比較例となるFDBID管理テーブルおよびFDBID管理部の詳細》
図21(a)は、本発明の比較例として検討したスイッチ装置において、FDBID管理テーブルの構造例を示す概略図であり、図21(b)は、本発明の比較例として検討したスイッチ装置において、FDBID管理部が行うテーブル管理処理の一例を示すフロー図である。図22は、本発明の比較例として検討したスイッチ装置において、FDBID管理部が行うFDBフラッシュ処理の一例を示すフロー図である。
図21(a)に示すFDBID管理テーブル22’は、LAGIDと、FID(第1ID)との対応関係を保持する。FID(第1ID)は、この例では、2ビットとなっており、「0x」を16進表記として「0x0」〜「0x3」の中のいずれかの値が設定される。FDBID管理部は、図21(b)のようにして、当該FDBID管理テーブル22’を管理する。
図21(b)において、FDBID管理部は、LAGID{LAG[j]}のFDBフラッシュ命令を受信したか否かを判別する(ステップS801)。FDBフラッシュ命令は、前述したように、図4のERP制御部24から発行される。FDBID管理部は、FDBフラッシュ命令を受信した場合、FDBID管理テーブル22’で当該LAGID{LAG[j]}のFIDを1つ切り換える(ステップS802)。ここでは、FIDは、インクリメント方式で切り換えられ、最大値(max)を超える際には最小値(min)へ戻るように切り換えられるものとする。ただし、特にインクリメント方式に限定されず、例えばデクリメント方式等を用いてもよい。
また、このような処理と並行して、FDBID管理部は、図22に示すように、FDBID管理テーブル22’で、LAGID{LAG[j]}のFIDの切り換えが発生したか否かを判別する(ステップS901)。FIDの切り換えが発生した場合、FDBID管理部は、LAGID{LAG[j]}およびFID(t−1)を含むFDBエントリをフラッシュする(ステップS902)。ここで、FID(t−1)は、1つ切り換え前のFIDを表し、例えば、ステップS901でFIDが「0x2」から「0x3」に切り換えられた場合、FID(t−1)は「0x2」となる。
このように、FDBID管理部は、FDBフラッシュ命令が発行される毎に、FDBID管理テーブル22’のFID(言い換えれば面番号)を所定の範囲内で巡回するように順次切り換える。また、これと並行して、FDBID管理部は、FIDを追いかけるように(ただし追い付かないように)フラッシュ対象のFID(面番号)を定め、当該面番号を含むFDBエントリをフラッシュする。
《比較例となるスイッチ装置のフレーム中継処理》
図23(a)は、本発明の比較例として検討したスイッチ装置において、FDBフラッシュが生じた場合の動作例を示す説明図であり、図23(b)は、図23(a)に続いてフレームを受信した場合の動作例を示す説明図である。まず、図23(a)では、例えば、図2のスイッチ装置SWaが、FDBID管理テーブル22’にLAGID{LAG[1]},{LAG[2]}とFID「0x2」との対応関係を保持している状態で、ステップS104のようにFDBフラッシュを実行する場合を想定している。
この場合、スイッチ装置SWaのFDBID管理部は、図23(a)に示すように、FDBフラッシュ命令に応じて、FDBID管理テーブル22’のLAGID{LAG[1]},{LAG[2]}に対応するFIDを「0x2」から「0x3」に切り換える。これに応じて、FDBID管理部は、LAGID{LAG[1]},{LAG[2]}およびFID「0x2」(すなわち旧面番号)を含むFDBエントリのフラッシュを開始する。
ここで、仮にFIDが設けられない場合、スイッチ装置SWaは、LAGID{LAG[1]},{LAG[2]}を含むFDBエントリのフラッシュが完了するまで、FDBの学習処理および検索処理を行うことができない。一方、FDBフラッシュは、例えば、各エントリ毎にフラッシュ対象(すなわちLAG[1]ポート、LAG[2]ポート)か否かを順次判別しながら行われるため、ある程度の時間を要する。そこで、以下に示すような処理を実行することで、このようなFDBフラッシュに要する時間を実質的に隠蔽することができる。
図23(b)では、例えば、図2のスイッチ装置SWaが、FDBフラッシュが未完の状態で、LAG[2]ポートでユーザフレームを受信した場合の動作例が示されている。当該ユーザフレームは、例えば、送信元MACアドレスSAがMACアドレスMAdであり、宛先MACアドレスDAがMACアドレスMAbである。MACアドレスMAdは、図1のユーザ網11d内の端末のMACアドレスであり、MACアドレスMAbは、図1のユーザ網11b内の端末のMACアドレスである。すなわち、当該ユーザフレームは、スイッチ装置SWdからスイッチ装置SWbへ転送されるべきフレームとなる。
スイッチ装置SWaの中継処理部は、当該ユーザフレームをLAG[2]ポートで受信した場合に、FDBID管理テーブル22’からFID「0x3」を取得する。中継処理部は、当該ユーザフレームの送信元MACアドレスSA「MAd」を、所定のVID(ここでは「1」)および受信ポート識別子であるLAGID{LAG[2]}に加え、取得したFID「0x3」に対応付けてFDBに学習する。なお、中継処理部は、仮に当該FIDを含めて同一のエントリが既に学習済みの場合には、通常通り、エージングタイマ(図示せず)の更新を行う。
また、中継処理部は、当該ユーザフレームの宛先MACアドレスDA「MAb」およびVID「1」を検索キーとしてFDBを検索し、LAGID{LAG[2]}およびFID(便宜上、FID[1]とする)「0x2」を取得する。さらに、中継処理部は、FDBID管理テーブル22’から、当該LAGID{LAG[2]}に対応するFID(便宜上、FID[2]とする)「0x3」を取得する。ここで、LAGID{LAG[2]}に対応するFIDは、FID[1](「0x2」)とFID[2](「0x3」)とで不一致となる。この場合、中継処理部は、宛先ミスヒットとし、当該ユーザフレームをフラッディングする。一方、中継処理部は、FIDが一致する場合には、宛先ヒットとする。
以上のように、面番号となるFID(第1ID)を設けることで、FDBフラッシュに要する時間を実質的に隠蔽することができ、FDBフラッシュの高速化が実現可能になる。具体的には、図23(a)および図23(b)から判るように、FIDを設けることで、仮想的に、複数面(FIDが2ビットの場合には4面)のFDBを設けることが可能になる。その結果、スイッチ装置は、FDBフラッシュが必要となった場合、FDB面を切り換えることで実質的にFDBフラッシュを完了したことになり、即座に、学習処理および検索処理を実行できるようになる。また、スイッチ装置は、FDB面の切り換えと並行して、学習処理および検索処理に影響を与えることなく、旧面番号のFDB面を適宜フラッシュすることができる。
《比較例となるスイッチ装置の問題点》
図23(a)および図23(b)等に示した方式は、前述した特許文献1の方式と異なり、FIDのビット数を増やし、FDBフラッシュが生じた場合に、FIDをインクリメントさせながら巡回させる方式を用いている。これにより、例えば、図23(a)に示したFID=「0x2」の状態からFDBフラッシュが3連続で生じた場合であっても、特に問題は生じない。すなわち、この場合、FDBID管理テーブル22’のFIDは「0x1」となるため、当該FIDを用いて学習処理および検索処理を行うことができ、これと並行して、FIDが「0x2」および「0x3」ならびに「0x0」であるFDBエントリを順にフラッシュすることができる。
しかしながら、例えば、図23(a)に示したFID=0x2の状態からFDBフラッシュが4連続で生じ、かつ、FID=「0x2」のFDBエントリのフラッシュが未完の場合には問題が生じ得る。すなわち、この場合、FDBID管理テーブル22’のFIDは「0x2」となり、当該FIDを用いて学習処理および検索処理が行われる。そうすると、図23(a)に示されるような、FID=「0x2」で残存している各FDBエントリは、本来無効なエントリであるにも関わらず、有効なエントリとみなされる恐れがある。
このように、FDBフラッシュの発生頻度の増加に伴い、FIDが、一巡したのちFDBフラッシュを実行中のFIDに追い付いてしまう場合に問題が生じ得る。言い換えると、FIDが一巡するのに要する時間が、FDBフラッシュに要する時間と比較して短い場合に問題が生じ得る。ここで、図2で述べたように、FDBフラッシュは、1箇所の障害発生に応じて複数回生じる場合がある。さらに、図1のリングネットワーク10は、実際には、多数のスイッチ装置で構成され、これに応じて多くのリンクで障害が発生する恐れがある。そして、その各リンクで障害発生または障害回復が生じる毎に、FDBフラッシュが生じる。このような場合、短期間でFDBフラッシュが多発する状況が発生し得る。
そこで、例えば、FIDのビット数を更に増やすことで対策することが考えられる。ただし、FIDのビット数を増やすと、FDBのビット数も増やす必要がある。FDBは、通常、ハードウェアによって構成され、使用可能なビット数は、ハードウェアに依存して制限される場合が多い。その結果、FIDのビット数の拡張による対策では、前述した問題を十分に解決できない恐れがある。
《FDBID管理テーブルの詳細》
図6は、図4のスイッチ装置において、FDBID管理テーブルの構造例を示す概略図である。図6に示すFDBID管理テーブル(ID管理テーブル)22は、リングポートと、FID(第1ID)と、FP(第2ID)と、FIH(フラッシュ命令保持フラグ)と、の対応関係を保持する。すなわち、FDBID管理テーブル22は、図21(a)のFDBID管理テーブル22’と比較して、FPおよびFIHが追加された構造になっている。
詳細は後述するが、FP(第2ID)は、どのFID(言い換えれば面番号)を含むエントリまでフラッシュが完了しているかを示し、FIH(フラッシュ命令保持フラグ)は、FDBフラッシュ命令の保持の有無を示す。例えば、図6のLAGID{LAG[1]}では、FIDは「0x2」であり、FPは「0x1」であり、FIHは「0」である。これは、FDBで現在使用しているFID(面番号)が「0x2」であり、FP(すなわちFID=「0x1」)のエントリまでフラッシュが完了しており、FDBフラッシュ命令を保持していない状態を表す。
なお、本実施の形態1では、FPは、FDBフラッシュを完了した最新のFID(面番号)を表すこととするが、必ずしもこれに限定されず、どの面番号を含むエントリまでフラッシュが完了しているかを直接的または間接的に示すものであればよい。例えば、FPは、FDBフラッシュを完了した最新の面番号の代わりに、次にFDBフラッシュの対象となる面番号等であってもよい。この場合、FPは、「0x2」となり、間接的に、FID=「0x1」のエントリまでFDBフラッシュが完了していることが判る。
また、図6のFDBID管理テーブル22では、LAGID{LAG[1]},{LAG[2]}に加えて、LAGID{LAG[i]},{LAG[i+1]}が示される。例えば、図1のスイッチ装置SWa〜SWdが複数のリングネットワーク10を構成するような場合、その中の一つのリングに接続されるリングポートがLAG[1]ポートおよびLAG[2]ポートとなり、他の一つのリングに接続されるリングポートがLAG[i]ポートおよびLAG[i+1]ポートとなる。
LAG[i]ポートおよびLAG[i+1]ポートは、LAG[1]ポートおよびLAG[2]ポートとは別のリングネットワーク10に属するため、FID,FP,FIHもLAG[1]ポートおよびLAG[2]ポートとは独立して管理される。図6のLAGID{LAG[i]}では、FIDは「0x1」であり、FPは「0x1」であり、FIHは「1」である。これは、FID=「0x1」のエントリまでフラッシュが完了しており、それと同じエントリを使用している状態でFDBフラッシュ命令が発行され、当該FDBフラッシュ命令を保持した状態を表す。
《FDBID管理部の概略動作》
図7は、図4のスイッチ装置において、FDBID管理部の概略的な動作例を示す説明図である。FDBID管理部23は、例えば、次のようにしてFDBID管理テーブル22におけるFID,FP,FIHを管理する。まず、図7の状態ST10では、FID=「0x0」、FP=「0x3」、FIH=「0」となっており、「FID=FP+1」となっている。このように、FPがFIDの一つ切り換え前のFID(すなわちFID(t−1))となっている状態は、フラッシュ対象のエントリが存在しない初期状態となる。初期状態では、FDBID管理部23は、FDBフラッシュ命令に応じてFIDを切り換えるが、FPの切り換えに関しては、FIDの切り換えが行われない限り行わない。
状態ST10において、FDBフラッシュ命令が1回発行された場合、FDBID管理部23は、FDBフラッシュ命令に応じてFIDを1つ切り換える。その結果、状態ST11のように、FID=「0x1」、FP=「0x3」、FIH=「0」となる。この状態ST11は、FDBID管理部23によってFIDの切り換えもFPの切り換えも行われる通常状態となる。ここで、図示は省略されているが、FDBID管理部23は、FIDの「0x0」から「0x1」への切り換えに応じて、FID=「0x0」のエントリのフラッシュを開始する。その後、FDBID管理部23は、当該フラッシュが完了すると、FPを「0x0」に切り換える。
状態ST11において、FID=「0x0」のエントリのフラッシュが未完の状態で、更に、FDBフラッシュ命令が2回発行された場合、FDBID管理部23は、当該FDBフラッシュ命令に応じてFIDを2つ切り換える。その結果、状態ST12のように、FID=「0x3」、FP=「0x3」、FIH=「0」となり、「FID=FP」となる。このように、FID(第1ID)(ここでは「0x3」)がFP(第2ID)で示されるフラッシュ済みの面番号(ここでは「0x3」)に追い付いた状態は、フラッシュ待ち状態となる。
フラッシュ待ち状態では、FDBID管理部23は、フラッシュ対象のFID(面番号)を順に切り換えながら当該面番号を含むエントリを順にフラッシュすると共に、その完了に応じてFPを順に切り換える。ただし、FDBID管理部23は、FIDの切り換えに関しては、FDBフラッシュ命令が発行された場合であっても、FPの切り換えが行われない限り行わない。
状態ST12において、FID=「0x0」のエントリのフラッシュが未完の状態で、更に、FDBフラッシュ命令が1回発行された場合、状態ST13となる。状態ST13では、前述したようにFIDの切り換えは行われず、FID=「0x3」、FP=「0x3」となる。ただし、FDBID管理部23は、FDBフラッシュ命令に応じて、FIDを切り換えない代わりに、FIH(フラッシュ命令保持フラグ)をフラグ有(「1」)に定める。
状態ST13は、本来実行されるべきFDBフラッシュ命令(すなわちFIDの切り換え)を実行できていない状態である。したがって、本実施の形態1では、詳細は後述するが、図4の中継処理部21は、この状態ST13で受信したフレームをフラッディングによって中継する。なお、状態ST13において、更に、FDBフラッシュ命令が発行された場合、FDBID管理部23は、状態ST13を維持する。すなわち、FDBID管理部23は、状態ST13において、複数回のFDBフラッシュ命令が発行された場合であっても、当該複数回のFDBフラッシュ命令を1回のFDBフラッシュ命令に集約する。
状態ST13において、FDBID管理部23は、FID=「0x0」のエントリのフラッシュが完了した場合、状態ST14のように、FPを「0x3」から「0x0」に切り換える(言い換えれば巡回させる)。このように、FDBID管理部23は、FIH(フラッシュ命令保持フラグ)がフラグ有の状態でFPを切り換えた場合、状態ST15のように、FPの切り換えに応じてFIDを「0x3」から「0x0」に切り換えたのち、FIHをフラグ無(すなわち「0」)に定める。
なお、図示は省略されているが、FDBID管理部23は、状態ST15において、FID=「0x1」のエントリのフラッシュを開始している。仮に、その後にFDBフラッシュ命令が発行されない状態で、FID=「0x1」を含めて順に3FID分のエントリのフラッシュが完了すると、前述した状態ST10となる。
以上のように、FDBID管理部(ID管理部)23は、FDBフラッシュ命令が発行される毎に、FDBID管理テーブル(ID管理テーブル)22のFID(第1ID)を所定の範囲内で巡回するように順次切り換える。これと並行して、FDBID管理部23は、FIDを追いかけるように(ただし追い付かないように)フラッシュ対象の面番号を定め、当該面番号を含むエントリのフラッシュが完了した場合にFDBID管理テーブル22のFP(第2ID)を切り換える。ただし、FDBID管理部23は、状態ST12,ST13に示したように、FPで示されるフラッシュ済みの面番号を追い越さないようにFIDを切り換える。
これにより、図23(a)および図23(b)の場合と同様に、FDBフラッシュの高速化が実現できることに加えて、図23(a)および図23(b)の場合と異なり、FDBフラッシュの発生頻度の増加に伴い、本来無効なエントリが有効なエントリとみなされるような誤動作を防止することが可能になる。さらに、FIH(フラッシュ命令保持フラグ)を設けることで、状態ST13〜状態ST15に示したように、FDBフラッシュ命令(すなわちFIDの切り換え)を実行できない状況で、当該命令の退避が可能になる。そして、当該命令を実行できる状況になった時点で、即座に当該命令の実行が可能になり、また、当該命令を実行できない状況では、フレームのフラッディングによって、フレームの損失等を防止することができる。
《FDBID管理部の詳細動作》
図8は、図4のスイッチ装置において、FDBID管理部内のFID管理部の処理内容の一例を示すフロー図である。図8において、FID管理部27は、まず、LAGID{LAG[j]}のFDBフラッシュ命令を受信したか否かを判別する(ステップS301)。LAGID{LAG[j]}のFDBフラッシュ命令は、前述したように、図4のERP制御部24によって発行される。当該FDBフラッシュ命令を受信した場合、FID管理部27は、FDBID管理テーブル22で、LAGID{LAG[j]}に対応するFID(第1ID)およびFP(第2ID)を参照する(ステップS302)。
次いで、FID管理部27は、FIDとFPとが不一致の場合、FDBID管理テーブル22で、LAGID{LAG[j]}に対応するFIDを1つ切り換える(ステップS303,S304)。なお、前述したようにインクリメント方式を用いた場合、FIDは、最大値(max)を超える際には最小値(min)へ戻るように(すなわち巡回するように)切り換えられる。一方、FID管理部27は、FIDとFPとが一致する場合(すなわち、図7の状態ST12,ST13のようにFIDがFPに追い付いている場合)、FDBID管理テーブル22で、LAGID{LAG[j]}に対応するFIH(フラッシュ命令保持フラグ)をフラグ有に定める(ステップS303,S305)。
図9(a)および図9(b)は、図4のスイッチ装置において、FDBID管理部内のFP管理部の処理内容の一例を示すフロー図である。図9(a)において、FP管理部29は、FID管理部27で、LAGID{LAG[j]}のFIDの切り換えが発生したか否かを判別する(ステップS401)。FIDの切り換えが発生した場合、FP管理部29は、LAGID{LAG[j]}およびFID(t−1)(すなわち1つ切り換え前のFID)のFDBエントリを対象とするフラッシュの実行要求を命令キューに格納する(ステップS402)。すなわち、FP管理部29は、FIDの切り換えが生じる毎に、その切り換え前のFIDを対象としたフラッシュの実行要求を、順次、命令キュー(例えばFIFO(First In First Out)型)に格納していく。
また、図9(b)において、FP管理部29は、命令キューにフラッシュの実行要求が格納されているか否かを判別する(ステップS501)。実行要求が格納されている場合、命令キューからLAGID{LAG[j]}およびFID(t−1)を含む実行要求を取得し、それを図4のフラッシュ実行部30に送信する(ステップS502)。フラッシュ実行部30は、当該実行要求に応じて、FDBの中からLAGID{LAG[j]}およびFID(t−1)を含むエントリを抽出し、当該エントリのフラッシュを実行する。フラッシュ実行部30は、当該フラッシュの実行を完了すると完了通知を送信する。
FP管理部29は、ステップS502の後、フラッシュ実行部30からの完了通知を待つ(ステップ503)。FP管理部29は、当該完了通知を受信した場合、FDBID管理テーブル22で、LAGID{LAG[j]}に対応するFPをFID(t−1)に切り換える(すなわちFPを一つ切り換える)(ステップS504)。その後、FP管理部29は、ステップS501に戻り、命令キューが空になるまで同様の処理を繰り返す。その結果、FP管理部29は、FIDを追いかけるように(ただし追い付かないように)フラッシュ対象の面番号を定め、当該面番号を含むエントリのフラッシュが完了した場合にFPを切り換える。
図10は、図4のスイッチ装置において、FDBID管理部内のFIH管理部の処理内容の一例を示すフロー図である。FIH管理部28は、図7の状態ST14,ST15に示したような処理を行う。図10において、FIH管理部28は、FP管理部29で、LAGID{LAG[j]}に対応するFPの切り換えが生じたか否かを判別する(ステップS601)。
FPの切り換えが生じた場合、FIH管理部28は、FDBID管理テーブル22で、LAGID{LAG[j]}に対応するFIHがフラグ有になっているか否かを判別する(ステップS602)。FIHがフラグ有の場合、FIH管理部28は、FDBID管理テーブル22で、LAGID{LAG[j]}に対応するFIDを一つ切り換える(ステップS603)。また、FIH管理部28は、FDBID管理テーブル22で、LAGID{LAG[j]}に対応するFIHをフラグ無に定める(ステップS604)。
《中継処理部の詳細動作》
図11は、図4のスイッチ装置において、中継処理部の処理内容の一例を示すフロー図である。図12は、図11において、FDBの学習処理の処理内容の一例を示すフロー図である。図13は、図11において、FDBの検索処理の処理内容の一例を示すフロー図である。中継処理部21は、図11に示すように、ユーザフレームを受信した場合に(ステップS701)、FDBの学習処理(ステップS702)とFDBの検索処理(ステップS703)とを実行する。
FDBの学習処理(ステップS702)において、中継処理部21は、図12に示すように、まず、リングポートでフレームを受信したか否かを判別する(ステップS7021)。言い換えれば、中継処理部21は、受信ポート識別子がLAGID{LAG[j]}か否かを判別する。受信ポート識別子がLAGID{LAG[j]}の場合、中継処理部21は、FDBID管理テーブル22から、LAGID{LAG[j]}に対応するFIDおよびFIHを取得する(ステップS7022)。
次いで、中継処理部21は、取得したFIHがフラグ無かフラグ有かを判別する(ステップS7023)。フラグ無の場合、中継処理部21は、フレームの送信元MACアドレスを、受信ポート識別子、VIDおよびFIDに対応付けてFDBに学習する(ステップS7024)。すなわち、中継処理部21は、FID(第1ID)を、リングポートおよび送信元MACアドレスと共にFDBに学習する。
一方、中継処理部21は、ステップS7023でFIH(フラッシュ命令保持フラグ)がフラグ有の場合には、FDBの学習を行わず、処理を終了する。また、中継処理部21は、ステップS7021で受信ポートがリングポートではないポート(例えばユーザポート)の場合、フレームの送信元MACアドレスを、受信ポート識別子およびVIDに対応付けてFDBに学習する(ステップS7025)。
図11のFDBの検索処理(ステップS703)において、中継処理部21は、図13に示すように、まず、受信したフレームの宛先MACアドレスおよびVIDを検索キーとしてFDBを検索し(ステップS7031)、FDBの検索結果がヒットかミスヒットかを判別する(ステップS7032)。ヒットの場合、中継処理部21は、宛先ポート(宛先ポート識別子)がリングポート(LAGID{LAG[k]})か否かを判別する(ステップS7033)。
宛先ポート識別子がLAGID{LAG[k]}の場合、中継処理部21は、FDBからLAGID{LAG[k]}に対応するFID(FID[1]とする)を取得する(ステップS7034)。なお、当該FID[1]は、実際には、例えば、ステップS7031でのFDBの検索処理の際に取得される。また、中継処理部21は、FDBID管理テーブル22からLAGID{LAG[k]}に対応するFID(FID[2]とする)およびFIHを取得する(ステップS7035)。続いて、中継処理部21は、取得したFIHがフラグ無かフラグ有かを判別する(ステップS7036)。FIHがフラグ無の場合、中継処理部21は、FID[1]とFID[2]とが一致するか否かを判別する(ステップS7037)。
ステップS7037で、FID[1]とFID[2]とが一致する場合、中継処理部21は、宛先ヒットとし、宛先ポート識別子(すなわちLAGID{LAG[k]})に対応するリングポート(具体的にはLAGID{LAG[k]}のメンバポートのいずれか)にフレームを中継する(ステップS7038)。一方、FID[1]とFID[2]とが不一致の場合、中継処理部21は、宛先ミスヒットとし、フレームをフラッディングする(ステップS7039)。具体的には、中継処理部21は、当該フレームと同一のVIDが割り当てられ、かつ受信ポートを除くポートに当該フレームを中継する。
また、中継処理部21は、ステップS7032でFDBの検索結果がミスヒットの場合と、ステップS7036でFIH(フラッシュ命令保持フラグ)がフラグ有の場合も、宛先ミスヒットとしてステップS7039へ移行し、フレームをフラッディングする。さらに、中継処理部21は、ステップS7033で、宛先ポートがリングポートではないポート(例えばユーザポート)である場合、ステップS7038へ移行し、当該宛先ポートにフレームを中継する。
このように、中継処理部21は、図23(b)の場合と同様に、FDBの検索結果に基づき、受信したフレームの宛先ポートがリングポートの場合で、当該リングポートに対応するFID(第1ID)がFDBとFDBID管理テーブル22とで一致する場合に宛先ヒットとし、不一致の場合に宛先ミスヒットとしている。これに加えて、中継処理部21は、図23(b)の場合と異なり、受信したフレームの宛先ポートがリングポートの場合で、当該リングポートに対応するFIH(フラッシュ命令保持フラグ)がフラグ有の場合にも、宛先ミスヒットとし、当該フレームをフラッディングしている。これにより、図7でも述べたように、FDBフラッシュ命令(すなわちFIDの切り換え)を実行できない状況でも、フレームの損失等を防止することができる。
以上、本実施の形態1の中継システムおよびスイッチ装置を用いることで、代表的には、FDBフラッシュの高速化と共に、FDBフラッシュに伴う誤動作を防止することが可能になる。
(実施の形態2)
《スイッチ装置の構成(応用例[1])》
図14は、本発明の実施の形態2によるスイッチ装置において、主要部の概略構成例を示すブロック図である。図17は、図14におけるFDBIDテーブルの構造例を示す概略図である。図14に示すスイッチ装置は、シャーシ型のスイッチ装置となっており、図1のスイッチ装置SWa〜SWdの少なくとも一つに適用することができる。当該スイッチ装置は、複数のラインカードLC[1]〜LC[n]と、管理カードMCと、ファブリック経路部35と、を備える。ファブリック経路部35は、複数のラインカードLC[1]〜LC[n]間の通信および複数のラインカードLC[1]〜LC[n]と管理カードMCとの間の通信を仲介する。ファブリック経路部35は、具体的には、例えば、メッシュ状の配線で構成される場合や、ファブリックカードで構成される場合等がある。
複数のラインカードLC[1]〜LC[n]のそれぞれは、単数または複数のポートと、インタフェース部20と、ERP制御部24bと、中継処理部36と、FDBと、FDBIDテーブル37と、FDBID管理部23bと、ファブリックインタフェース部38と、を有する。ファブリックインタフェース部38は、ERP制御部24b、中継処理部36、およびFDBID管理部23bと、ファブリック経路部35との間の通信を仲介する。
図14の例では、ラインカードLC[1]は、LAG[1]ポートのメンバポートであるリングポートPr[1a],Pr[1b]を備え、ラインカードLC[n]は、LAG[2]ポートのメンバポートであるリングポートPr[2a],Pr[2b]を備える。ただし、勿論、これに限定されず、リングポートPr[1a],Pr[1b],Pr[2a],Pr[2b]のそれぞれは、ラインカードLC[1]〜LC[n]のいずれかに適宜設けられればよい。例えば、リングポートPr[1b]は、リングポートPr[1a]とは異なるラインカードに設けられてもよい。また、図示は省略されているが、ラインカードLC[1]〜LC[n]のいずれかは、図4に示したユーザポートPu[1]〜Pu[m]を適宜備える。
インタフェース部20およびFDBは、図4の場合と同様である。FDBIDテーブル(IDテーブル)37は、図17に示すように、リングポートと、FID(第1ID)と、FIH(フラッシュ命令保持フラグ)との対応関係を保持する。すなわち、FDBIDテーブル37は、図6に示したFDBID管理テーブル22からFPを省略したような構造となっている。
また、図17のFDBIDテーブル37は、ここでは、4ビットのFIDを備える。これに応じて、各ラインカードLC[1]〜LC[n]のFDBも、4ビットのFIDを備える。ただし、FIDのビット数は、特にこれに限定されず、1ビット以上であればよく、望ましくは2ビット以上であればよい。なお、実施の形態1で述べたように、FIDのビット数は、FDBのハードウェア構成等に依存して上限が定められる。FDBID管理部23bは、詳細は後述するが、図4の場合と同様のフラッシュ実行部30を備え、FDBIDテーブル37を管理する。
中継処理部36は、図4の場合と同様のLAG管理部26を備え、図11〜図13に示したようなFDBの学習処理および検索処理を行う。ただし、中継処理部36は、FDBID管理テーブル(ID管理テーブル)22の代わりにFDBIDテーブル(IDテーブル)37を用いてFDBの学習処理および検索処理を実行する。さらに、中継処理部36は、図4の場合と異なり、FDB同期部39を備える。
FDB同期部39は、複数のラインカードLC[1]〜LC[n]間でFDBの保持内容を同期化する機能を備える。具体的には、FDB同期部39は、例えば、自ラインカードのポートでフレームを受信した場合に、受信ポート識別子および当該フレームのヘッダ部分を含む学習用フレームを生成し、ファブリック経路部35を介して他のラインカードへ送信する。他のラインカードのFDB同期部39は、当該学習用フレームに基づいてFDBの学習を行う。
管理カードMCは、FDBID管理テーブル(ID管理テーブル)22、FDBID管理部(ID管理部)23a、およびERP制御部24aを備える。FDBID管理テーブル22は、図6の場合と同様の構造を備える。FDBID管理部23aは、図4の場合と同様のFID管理部27、FIH管理部28およびFP管理部29を備え、FDBID管理テーブル22を管理する。
このように、図14のスイッチ装置は、概略的には、図4に示したFDBID管理部23が、複数のラインカードLC[1]〜LC[n]のFDBID管理部23bと、管理カードMCのFDBID管理部23aとに分割されたような構成となっている。さらに、図14のスイッチ装置は、図4に示したERP制御部24も、複数のラインカードLC[1]〜LC[n]のERP制御部24bと、管理カードMCのERP制御部24aとに分割されたような構成となっている。
なお、インタフェース部20およびファブリックインタフェース部38のそれぞれは、例えば、ASIC(Application Specific Integrated Circuit)等に実装される。ERP制御部24a,24bは、プロセッサ(CPU)によるプログラム処理等によって実現される。FDBID管理部23a,23bは、プロセッサ(CPU)によるプログラム処理で実現されるか、場合によっては、FPGA(Field Programmable Gate Array)等に実装される。FDBID管理テーブル22およびFDBIDテーブル37は、RAM等に実装され、FDBは、CAM(Content Addressable Memory)等に実装される。中継処理部36は、例えば、FPGA(Field Programmable Gate Array)等に実装される。ただし、各部の具体的な実装形態は、勿論、これに限定されるものではなく、ハードウェアまたはソフトウェアあるいはその組合せを用いて適宜実装されればよい。
ここで、図14の構成の前提となる検討事項として、複数のラインカードLC[1]〜LC[n]は、FID、FPおよびFIHを同時に更新する(言い換えれば同期する)ことが望まれる。複数のラインカードで同期ズレが生じると、様々な問題が生じる恐れがある。代表的には、複数のラインカードのそれぞれが、一時的に、他のラインカードでは無効となっているFDBエントリを有効とみなしてしまうこと等が起こり得る。
同期を実現するためには、特に、FPの同期に工夫が必要となる。すなわち、FDBエントリのフラッシュ(すなわち、図9(a)等に示したフラッシュの実行要求)を実際に実行するのは、FDBを備える各ラインカードである。各ラインカードのそれぞれは、図9(b)に示したように、フラッシュの実行要求が蓄積されている限り、任意のタイミングでFDBエントリのフラッシュを開始することができ、その所要時間(言い換えれば実行要求の完了通知を送信するタイミング)も他のラインカードとは異なり得る。このように各ラインカード毎にタイミングが異なり得る状態で、FPを同期化する工夫が必要となる。
このような同期の実現方式として、例えば、複数のラインカードLC[1]〜LC[n]間で相互に通信を行う方式が考えられる。この場合、複数のラインカードのそれぞれは、他のラインカードにおけるFDBエントリのフラッシュの進行状態を監視しながらFPを定め、さらに、この定めたFPを前提としてFIDやFIHを定め、定めたFP,FID,FIHを同期する必要がある。例えば、FIDは、FPを追い越さないように定められ、FIHは、FID=FPの状態を前提としてフラグ有に定められる。このような処理を複数のラインカードのそれぞれが行うと、通信を含めた各種処理が複雑化する恐れがある。そこで、図14では、管理カードMCがFID,FP,FIHを集中管理することで、同期を実現する。
《スイッチ装置の概略動作(応用例[1])》
図15は、図14のスイッチ装置において、管理カードのFID管理部の概略動作例を示す説明図である。管理カードMCのFID管理部27は、図8に示したような処理を実行する。図15には、図8に示した各処理の中から、ステップS301の処理と、ステップS304,S305の処理の具体例が示されている。図15において、まず、ラインカードLC[1]は、LAG[1]ポートでR−APS(SF)フレームを受信する。ラインカードLC[1]のERP制御部24bは、受信したR−APS(SF)フレームが自身宛てか否かを判別し、自身宛ての場合には、当該R−APS(SF)フレームをファブリック経路部35を介して管理カードMCのERP制御部24aに向けて送信する(ステップS300)。
管理カードMCのERP制御部24aは、当該R−APS(SF)フレームを受信し、その内容を解釈した結果、FID管理部27に向けてLAG[1]ポートおよびLAG[2]ポートのFDBフラッシュ命令を送信する(ステップS301)。FID管理部27は、当該FDBフラッシュ命令を受信し(ステップS301)、図8のステップS302,S303の処理を経て、ステップS304またはステップS305の処理を行う。ステップS304において、FID管理部27は、FDBID管理テーブル(ID管理テーブル)22のFID(第1ID)を切り換える。この際に、FID管理部27は、併せて、複数のラインカードLC[1]〜LC[n]のそれぞれに向けてFIDの切り換えを指示する。
複数のラインカードLC[1]〜LC[n]のそれぞれのFDBID管理部23bは、当該管理カードMCからのFIDの切り換え指示を受信し、その指示通りにFDBIDテーブル37のFIDを切り換える。その結果、管理カードMCのFDBID管理テーブル22および複数のラインカードのFDBIDテーブル37において、FIDの同期が行われる。また、ステップS305におけるFIHの同期も、当該FIDの場合と同様にして行われる。
図16は、図14のスイッチ装置において、管理カードのFP管理部の概略動作例を示す説明図である。管理カードMCのFP管理部29は、図9(a)および図9(b)に示したように、FDBID管理テーブル(ID管理テーブル)22のFP(第2ID)を切り換える処理を実行する。図16には、図9(b)に示した各処理の中から、ステップS502の処理と、ステップS503の処理の具体例が示されている。
図16のステップS502において、管理カードMCのFP管理部29は、FPの切り換えに際し、まず、複数のラインカードLC[1]〜LC[n]のそれぞれに向けてFDBエントリのフラッシュの実行要求を発行する。複数のラインカードLC[1]〜LC[n]のそれぞれのFDBID管理部23bは、当該実行要求を受信し、フラッシュ実行部30を用いて当該実行要求に基づくFDBエントリのフラッシュを実行する。複数のラインカードのそれぞれのFDBID管理部23bは、実行要求に基づくフラッシュを完了すると、フラッシュの完了通知を管理カードMCへ送信する。
一方、管理カードMCのFP管理部29は、ステップS502において実行要求を発行したのち、ステップS503において、当該実行要求に基づくフラッシュの完了通知を複数のラインカードLC[1]〜LC[n]のそれぞれから受信するまで待つ。そして、FP管理部29は、複数のラインカードLC[1]〜LC[n]のそれぞれから完了通知を受信した場合に、ステップS504において、FPの切り換えを行う。
なお、図示は省略するが、管理カードMCのFIH管理部28の処理に関しても、図15の場合と同様にして行われる。すなわち、FIH管理部28は、図10のステップS603においてFDBID管理テーブル22のFIDを切り換えた場合や、ステップS604においてFDBID管理テーブル22のFIHをフラグ無に定めた場合、その旨を複数の複数のラインカードLC[1]〜LC[n]のそれぞれに向けて指示する。複数のラインカードのそれぞれは、当該指示に応じて、FDBIDテーブル37を更新する。
以上、本実施の形態2のスイッチ装置を用いることで、シャーシ型の構成を用いた効率的な仕組みで実施の形態1で述べたような各種効果を得ることが可能になる。すなわち、管理カードMCがFID,FP,FIHを集中管理することで、複数のラインカードLC[1]〜LC[n]間でのFID,FP,FIHの同期を容易に実現することが可能になる。
(実施の形態3)
《スイッチ装置の概略動作(応用例[2])》
図18は、本発明の実施の形態3によるスイッチ装置において、管理カードのFID管理部の概略動作例を示す説明図である。本実施の形態3のスイッチ装置は、FIH(フラッシュ命令保持フラグ)のフラグ有がFID(第1ID)の予約値(ここでは「0xF」)を用いて定められることを除いて、実施の形態2のスイッチ装置と同様である。
図18において、管理カードMCのFID管理部27は、図8のステップS305に示したように、FDBID管理テーブル(ID管理テーブル)22のFIH(フラッシュ命令保持フラグ)をフラグ有に定める。この際に、FID管理部27は、複数のラインカード(ここでは代表的にLC[n]を図示)のそれぞれに向けてFDBIDテーブル(IDテーブル)37のFID(第1ID)を予約値(「0xF」)に定めるように指示する。これに応じて、複数のラインカードのそれぞれのFDBID管理部23bは、FDBIDテーブル37の所定のLAGID(ここでは{LAG[i]},{LAG[i+1]})に対応するFIDを「0xF」に定める。
また、これに伴い、FID管理部27は、図8のステップS304において、FDBID管理テーブル22のFID(第1ID)を、所定の範囲内で予約値を除いた範囲(ここでは「0x0」〜「0xE」)を巡回するように順次切り換え、切り換え後の値を複数のラインカードに指示する。同様に、FIH管理部28も、図10のステップS603において、FDBID管理テーブル22のFIDを、予約値を除いた範囲を巡回するように順次切り換え、切り換え後の値を複数のラインカードに指示する。
ただし、FIH管理部28は、図10のステップS604において、FDBID管理テーブル22のFIHをフラグ無に定めた場合、実施の形態2の場合と異なり、複数のラインカードへの指示は行わない。この複数のラインカードへの指示は、ステップS603の処理を行うことで、結果的に行われることになる。なお、複数のラインカードの中継処理部36は、図11〜図13に示した中継処理に際し、FIHがフラグ有かフラグ無かをFIDが予約値(「0xF」)であるか否かで判別する。
以上、本実施の形態3のスイッチ装置を用いることで、実施の形態2で述べた各種効果に加えて、さらに、管理カードMCと複数のラインカードLC[1]〜LC[n]との間の通信を簡素化することが可能になる。すなわち、実施の形態2の方式の場合、例えば、管理カードと複数のラインカードとの間の通信で使用する制御フレームには、予め、FIDの格納領域とFIHの格納領域とを設ける必要がある。一方、実施の形態3の方式を用いた場合、このFIHの格納領域を削除することが可能になる。なお、予約値は、勿論、「0xF」に限らず、他の値であってもよい。
(実施の形態4)
《スイッチ装置の概略動作(変形例[1])》
図19(a)は、本発明の実施の形態4によるスイッチ装置において、主要部の概略構成例を示すブロック図であり、図19(b)は、図19(a)のスイッチ装置を適用した中継システムの構成例を示す概略図である。図20(a)は、図19(a)におけるインスタンス管理テーブルの構造例を示す概略図であり、図20(b)は、図19(a)におけるFDBID管理テーブルの構造例を示す概略図である。
図19(a)に示すスイッチ装置SWは、図4に示した構成例と比較して、リングポートPr[3a],Pr[3b]およびインスタンス管理テーブル40が追加される点と、これに伴いFDBID管理テーブルの保持内容が異なる点と、が異なっている。リングポートPr[3a],Pr[3b]は、LAG[3]ポートを構成する。
例えば、ITU−T G.8032に規定されたリングプロトコルでは、図19(b)に示されるように、2個のリングネットワークA,B(10a,10b)で共有リンクを共有するような中継システムが用いられる場合がある。ここでは、リングネットワークA(10a)は、スイッチ装置SWa→SWb→SWc→SWdで構成され、リングネットワークB(10b)は、スイッチ装置SWa→SWb→SWe→SWfで構成される。そして、スイッチ装置SWaとスイッチ装置SWbとの間のリンクが共有リンクとなる。
スイッチ装置SWaのLAG[1]ポート、LAG[2]ポート、LAG[3]ポートは、それぞれ、スイッチ装置SWb,SWd,SWfに接続される。リングネットワークA(10a)には、VLAN識別子VID「1」が割り当てられ、リングネットワークB(10b)には、VLAN識別子VID「2」が割り当てられる。
このような構成において、例えば、スイッチ装置SWaのインスタンス管理テーブル40は、予めユーザ設定に基づき、図20(a)に示すように、LAGIDとVLAN識別子VIDとの組合せをインスタンスIDに対応付けて保持する。例えば、{LAG[2]}とVID「1」との組合せと、{LAG[1]}とVID「1」との組合せは、共にインスタンスID「10」に対応付けられる。また、{LAG[1]}とVID「2」との組合せと、{LAG[3]}とVID「2」との組合せは、共にインスタンスID「11」に対応付けられる。
このように、インスタンスIDは、各リングポート(LAGポート)がVLAN識別子VIDとの組合せによって属するリングネットワークIDを表す。インスタンスID「10」は、図19(b)のリングネットワークA(10a)のリングネットワークIDを表し、インスタンスID「11」は、図19(b)のリングネットワークB(10b)のリングネットワークIDを表す。これに応じて、スイッチ装置SWaのFDBID管理テーブル22は、図20(b)に示すように、図6におけるLAGIDの代わりに、インスタンスIDを保持する。これにより、FDBID管理部23は、FID等を、LAGID単位ではなくインスタンスID単位で管理する。
例えば、スイッチ装置SWaのERP制御部24は、LAG[2]ポートの障害を検出した場合や、VID「1」を含むR−APS(SF)フレームをLAG[1]ポートまたはLAG[2]ポートで受信した場合、インスタンス管理テーブル40に基づき、インスタンスID「10」を対象とするFDBフラッシュ命令を送信する。これに応じて、スイッチ装置SWaのFID管理部27は、FDBID管理テーブル22におけるインスタンスID「10」のFIDを更新する。
別の例として、スイッチ装置SWaのERP制御部24は、LAG[1]ポートの障害を検出した場合、インスタンス管理テーブル40に基づき、インスタンスID「10」「11」を対象とするFDBフラッシュ命令を送信する。これに応じて、スイッチ装置SWaのFID管理部27は、FDBID管理テーブル22におけるインスタンスID「10」のFIDと、インスタンスID「11」のFIDとを更新する。
また、スイッチ装置SWaの中継処理部21は、FDBの学習処理(図12のステップS7022)に際し、受信ポート識別子(すなわちLAGID)とVLAN識別子VIDからインスタンス管理テーブル40に基づきインスタンスIDを取得し、さらに、FDBID管理テーブル22に基づき、当該インスタンスIDに対応するFID等を取得する。一方、当該中継処理部21は、FDBの検索処理(図13のステップS7035)に際し、宛先ポート識別子(すなわちLAGID)とVLAN識別子VIDからインスタンス管理テーブル40に基づきインスタンスIDを取得し、さらに、FDBID管理テーブル22に基づき、当該インスタンスIDに対応するFID等を取得する。
以上、本実施の形態4のスイッチ装置および中継システムを用いることで、前述した各実施の形態で述べた効果を、マルチリング構成においても得ることが可能になる。なお、本実施の形態4のスイッチ装置を実施の形態2の構成例に適用した場合、図17のFDBIDテーブル(IDテーブル)37は、図20(b)のFDBID管理テーブル22の場合と同様に、LAGIDの代わりにインスタンスIDを保持する。また、図20(a)のインスタンス管理テーブル40は、例えば、図14における各ラインカードLC[1]〜LC[n]と管理カードMCにそれぞれ設けられる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
例えば、ここでは、中継システムのリングプロトコルとして、ITU−T G.8032に規定されたリングプロトコルを用いる場合を例としたが、勿論、他のリングプロトコルを用いる場合であっても同様に適用して同様の効果が得られる。
10,10a,10b リングネットワーク
11a〜11d ユーザ網
12 通信経路
15ab,15bc,15cd,15ad CCM監視区間
20 インタフェース部
21,36 中継処理部
22,22’ FDBID管理テーブル
23,23a,23b FDBID管理部
24,24a,24b ERP制御部
25 VIDフィルタ
26 LAG管理部
27 FID管理部
28 FIH管理部
29 FP管理部
30 フラッシュ実行部
31 OAM処理部
35 ファブリック経路部
37 FDBIDテーブル
38 ファブリックインタフェース部
39 FDB同期部
40 インスタンス管理テーブル
BK 閉塞状態
LC[1]〜LC[n] ラインカード
MC 管理カード
MEPa1〜MEPd1,MEPa2〜MEPd2 監視ポイント
Pr[1a],Pr[1b],Pr[2a],Pr[2b],Pr[3a],Pr[3b] リングポート
Pu[1]〜Pu[m] ユーザポート
SW,SWa〜SWf スイッチ装置

Claims (16)

  1. リングネットワークを構成する複数のスイッチ装置を備える中継システムであって、
    前記複数のスイッチ装置の少なくとも一つは、
    前記リングネットワークに接続されるリングポートと、
    MACアドレスと、前記リングポートと、面番号を示す第1IDと、の対応関係を含むエントリを保持するFDBと、
    前記リングポートまたは当該リングポートが属するリングネットワークIDと、前記第1IDと、どの面番号を含む前記エントリまでフラッシュが完了しているかを示す第2IDと、の対応関係を保持するID管理テーブルと、
    前記リングネットワークを制御し、所定のリングプロトコルに基づきFDBフラッシュ命令を発行するリング制御部と、
    前記FDBフラッシュ命令が発行される毎に、前記ID管理テーブルの前記第1IDを所定の範囲内で巡回するように順次切り換え、前記第1IDを追いかけるようにフラッシュ対象の面番号を定め、当該面番号を含む前記エントリのフラッシュが完了した場合に前記ID管理テーブルの前記第2IDを切り換えるID管理部と、
    前記リングポートでフレームを受信した場合に、当該リングポートまたは前記リングネットワークIDに対応する前記第1IDを前記ID管理テーブルから取得し、当該第1IDを、当該リングポートおよび当該フレームの送信元MACアドレスと共に前記FDBに学習する学習処理と、前記FDBの検索結果に基づき、受信したフレームの宛先ポートが前記リングポートの場合で、当該リングポートまたは前記リングネットワークIDに対応する前記第1IDが前記FDBと前記ID管理テーブルとで一致する場合に宛先ヒットとし、不一致の場合に宛先ミスヒットとする検索処理と、を実行する中継処理部と、
    を有し、
    前記ID管理部は、前記第2IDで示されるフラッシュ済みの面番号を追い越さないように前記第1IDを切り換える、
    中継システム。
  2. 請求項1記載の中継システムにおいて、
    前記ID管理テーブルは、さらに、前記リングポートまたは前記リングネットワークID、前記第1IDおよび前記第2IDに対応付けられるフラッシュ命令保持フラグを有し、
    前記ID管理部は、前記第1IDが前記第2IDで示されるフラッシュ済みの面番号に追い付いている状態で前記FDBフラッシュ命令が発行された場合に、前記フラッシュ命令保持フラグをフラグ有に定める、
    中継システム。
  3. 請求項2記載の中継システムにおいて、
    前記ID管理部は、前記フラッシュ命令保持フラグがフラグ有の状態で前記第2IDを切り換えた場合、前記第2IDの切り換えに応じて前記第1IDを切り換えたのち前記フラッシュ命令保持フラグをフラグ無に定める、
    中継システム。
  4. 請求項2または3記載の中継システムにおいて、
    前記中継処理部は、受信したフレームの前記宛先ポートが前記リングポートの場合で、当該リングポートまたは前記リングネットワークIDに対応する前記フラッシュ命令保持フラグが前記フラグ有の場合に、当該フレームをフラッディングする、
    中継システム。
  5. 請求項2または3記載の中継システムにおいて、
    前記中継処理部は、前記リングポートでフレームを受信した場合に、当該リングポートまたは前記リングネットワークIDに対応する前記フラッシュ命令保持フラグを前記ID管理テーブルから取得し、当該フラッシュ命令保持フラグが前記フラグ有の場合には、当該フレームに基づく前記FDBの学習を行わない、
    中継システム。
  6. 請求項1記載の中継システムにおいて、
    前記複数のスイッチ装置の少なくとも一つは、
    それぞれ、前記FDBおよび前記中継処理部を備える複数のラインカードと、
    前記ID管理テーブルおよび前記ID管理部を備える管理カードと、
    前記複数のラインカード間の通信および前記複数のラインカードと前記管理カードとの間の通信を仲介するファブリック経路部と、
    を有し、
    前記複数のラインカードの少なくとも一つは、前記リングポートを有し、
    前記複数のラインカードのそれぞれは、さらに、前記リングポートまたは前記リングネットワークIDと前記第1IDとの対応関係を保持するIDテーブルを有し、
    前記管理カードの前記ID管理部は、前記ID管理テーブルの前記第1IDを切り換える際には、前記複数のラインカードのそれぞれに向けて前記IDテーブルの前記第1IDの切り換えを指示し、前記ID管理テーブルの前記第2IDを切り換える際には、前記複数のラインカードのそれぞれに向けて前記エントリのフラッシュの実行要求を発行し、当該実行要求に基づくフラッシュの完了通知を前記複数のラインカードのそれぞれから受信した場合に前記第2IDを切り換え、
    前記複数のラインカードの前記中継処理部は、前記ID管理テーブルの代わりに前記IDテーブルを用いて前記学習処理および前記検索処理を実行する、
    中継システム。
  7. 請求項6記載の中継システムにおいて、
    前記ID管理テーブルおよび前記IDテーブルのそれぞれは、さらに、前記リングポートまたは前記リングネットワークIDに対応付けられるフラッシュ命令保持フラグを有し、
    前記管理カードの前記ID管理部は、前記第1IDが前記第2IDで示されるフラッシュ済みの面番号に追い付いている状態で前記FDBフラッシュ命令が発行された場合に、前記ID管理テーブルの前記フラッシュ命令保持フラグをフラグ有に定め、前記複数のラインカードのそれぞれに向けて前記IDテーブルの前記フラッシュ命令保持フラグを前記フラグ有に定めるように指示する、
    中継システム。
  8. 請求項7記載の中継システムにおいて、
    前記IDテーブルにおける前記フラッシュ命令保持フラグのフラグ有は、前記第1IDの予約値を用いて定められ、
    前記管理カードの前記ID管理部は、前記第1IDを、前記所定の範囲内で前記予約値を除いた範囲を巡回するように順次切り換え、前記ID管理テーブルの前記フラッシュ命令保持フラグを前記フラグ有に定める際には、前記複数のラインカードのそれぞれに向けて前記IDテーブルの前記第1IDを前記予約値に定めるように指示する、
    中継システム。
  9. リングネットワークを構成するスイッチ装置であって、
    前記リングネットワークに接続されるリングポートと、
    MACアドレスと、前記リングポートと、面番号を示す第1IDと、の対応関係を含むエントリを保持するFDBと、
    前記リングポートまたは当該リングポートが属するリングネットワークIDと、前記第1IDと、どの面番号を含む前記エントリまでフラッシュが完了しているかを示す第2IDと、の対応関係を保持するID管理テーブルと、
    前記リングネットワークを制御し、所定のリングプロトコルに基づきFDBフラッシュ命令を発行するリング制御部と、
    前記FDBフラッシュ命令が発行される毎に、前記ID管理テーブルの前記第1IDを所定の範囲内で巡回するように順次切り換え、前記第1IDを追いかけるようにフラッシュ対象の面番号を定め、当該面番号を含む前記エントリのフラッシュが完了した場合に前記ID管理テーブルの前記第2IDを切り換えるID管理部と、
    前記リングポートでフレームを受信した場合に、当該リングポートまたは前記リングネットワークIDに対応する前記第1IDを前記ID管理テーブルから取得し、当該第1IDを、当該リングポートおよび当該フレームの送信元MACアドレスと共に前記FDBに学習する学習処理と、前記FDBの検索結果に基づき、受信したフレームの宛先ポートが前記リングポートの場合で、当該リングポートまたは前記リングネットワークIDに対応する前記第1IDが前記FDBと前記ID管理テーブルとで一致する場合に宛先ヒットとし、不一致の場合に宛先ミスヒットとする検索処理と、を実行する中継処理部と、
    を有し、
    前記ID管理部は、前記第2IDで示されるフラッシュ済みの面番号を追い越さないように前記第1IDを切り換える、
    スイッチ装置。
  10. 請求項9記載のスイッチ装置において、
    前記ID管理テーブルは、さらに、前記リングポートまたは前記リングネットワークID、前記第1IDおよび前記第2IDに対応付けられるフラッシュ命令保持フラグを有し、
    前記ID管理部は、前記第1IDが前記第2IDで示されるフラッシュ済みの面番号に追い付いている状態で前記FDBフラッシュ命令が発行された場合に、前記フラッシュ命令保持フラグをフラグ有に定める、
    スイッチ装置。
  11. 請求項10記載のスイッチ装置において、
    前記ID管理部は、前記フラッシュ命令保持フラグがフラグ有の状態で前記第2IDを切り換えた場合、前記第2IDの切り換えに応じて前記第1IDを切り換えたのち前記フラッシュ命令保持フラグをフラグ無に定める、
    スイッチ装置。
  12. 請求項10または11記載のスイッチ装置において、
    前記中継処理部は、受信したフレームの前記宛先ポートが前記リングポートの場合で、当該リングポートまたは前記リングネットワークIDに対応する前記フラッシュ命令保持フラグが前記フラグ有の場合に、当該フレームをフラッディングする、
    スイッチ装置。
  13. 請求項10または11記載のスイッチ装置において、
    前記中継処理部は、前記リングポートでフレームを受信した場合に、当該リングポートまたは前記リングネットワークIDに対応する前記フラッシュ命令保持フラグを前記ID管理テーブルから取得し、当該フラッシュ命令保持フラグが前記フラグ有の場合には、当該フレームに基づく前記FDBの学習を行わない、
    スイッチ装置。
  14. 請求項9記載のスイッチ装置において、
    それぞれ、前記FDBおよび前記中継処理部を備える複数のラインカードと、
    前記ID管理テーブルおよび前記ID管理部を備える管理カードと、
    前記複数のラインカード間の通信および前記複数のラインカードと前記管理カードとの間の通信を仲介するファブリック経路部と、
    を有し、
    前記複数のラインカードの少なくとも一つは、前記リングポートを有し、
    前記複数のラインカードのそれぞれは、さらに、前記リングポートまたは前記リングネットワークIDと前記第1IDとの対応関係を保持するIDテーブルを有し、
    前記管理カードの前記ID管理部は、前記ID管理テーブルの前記第1IDを切り換える際には、前記複数のラインカードのそれぞれに向けて前記IDテーブルの前記第1IDの切り換えを指示し、前記ID管理テーブルの前記第2IDを切り換える際には、前記複数のラインカードのそれぞれに向けて前記エントリのフラッシュの実行要求を発行し、当該実行要求に基づくフラッシュの完了通知を前記複数のラインカードのそれぞれから受信した場合に前記第2IDを切り換え、
    前記複数のラインカードの前記中継処理部は、前記ID管理テーブルの代わりに前記IDテーブルを用いて前記学習処理および前記検索処理を実行する、
    スイッチ装置。
  15. 請求項14記載のスイッチ装置において、
    前記ID管理テーブルおよび前記IDテーブルのそれぞれは、さらに、前記リングポートまたは前記リングネットワークIDに対応付けられるフラッシュ命令保持フラグを有し、
    前記管理カードの前記ID管理部は、前記第1IDが前記第2IDで示されるフラッシュ済みの面番号に追い付いている状態で前記FDBフラッシュ命令が発行された場合に、前記ID管理テーブルの前記フラッシュ命令保持フラグをフラグ有に定め、前記複数のラインカードのそれぞれに向けて前記IDテーブルの前記フラッシュ命令保持フラグを前記フラグ有に定めるように指示する、
    スイッチ装置。
  16. 請求項15記載のスイッチ装置において、
    前記IDテーブルにおける前記フラッシュ命令保持フラグのフラグ有は、前記第1IDの予約値を用いて定められ、
    前記管理カードの前記ID管理部は、前記第1IDを、前記所定の範囲内で前記予約値を除いた範囲を巡回するように順次切り換え、前記ID管理テーブルの前記フラッシュ命令保持フラグを前記フラグ有に定める際には、前記複数のラインカードのそれぞれに向けて前記IDテーブルの前記第1IDを前記予約値に定めるように指示する、
    スイッチ装置。
JP2015147755A 2015-07-27 2015-07-27 中継システムおよびスイッチ装置 Expired - Fee Related JP6541490B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015147755A JP6541490B2 (ja) 2015-07-27 2015-07-27 中継システムおよびスイッチ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015147755A JP6541490B2 (ja) 2015-07-27 2015-07-27 中継システムおよびスイッチ装置

Publications (2)

Publication Number Publication Date
JP2017028614A true JP2017028614A (ja) 2017-02-02
JP6541490B2 JP6541490B2 (ja) 2019-07-10

Family

ID=57946772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015147755A Expired - Fee Related JP6541490B2 (ja) 2015-07-27 2015-07-27 中継システムおよびスイッチ装置

Country Status (1)

Country Link
JP (1) JP6541490B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020141177A (ja) * 2019-02-26 2020-09-03 アラクサラネットワークス株式会社 通信装置
CN115280727A (zh) * 2020-03-13 2022-11-01 三菱电机株式会社 中继装置、中继系统、中继方法以及中继程序

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020141177A (ja) * 2019-02-26 2020-09-03 アラクサラネットワークス株式会社 通信装置
JP7112353B2 (ja) 2019-02-26 2022-08-03 アラクサラネットワークス株式会社 通信装置
CN115280727A (zh) * 2020-03-13 2022-11-01 三菱电机株式会社 中继装置、中继系统、中继方法以及中继程序
CN115280727B (zh) * 2020-03-13 2024-02-09 三菱电机株式会社 中继装置、中继系统以及中继方法

Also Published As

Publication number Publication date
JP6541490B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
US10686749B2 (en) Packet sending method and network device
KR101099822B1 (ko) 액티브 라우팅 컴포넌트 장애 처리 방법 및 장치
CN107078951A (zh) 从虚拟端口信道对等体故障恢复
JP4628945B2 (ja) レイヤ2ネットワーク
EP2891286A1 (en) System and method for supporting discovery and routing degraded fat-trees in a middleware machine environment
US20110292833A1 (en) Port table flushing in ethernet networks
JP5692553B2 (ja) リング型ネットワークにおけるノード装置およびその経路切替制御方法
JP2009105690A (ja) レイヤ2冗長プロトコル相互接続装置
KR20150051107A (ko) 신속한 경로 설정 및 장애 복구 방법
US9960993B2 (en) Packet network linear protection systems and methods in a dual home or multi-home configuration
US20100284416A1 (en) Network relay device and ring network
CN114244736A (zh) 一种基于堆叠环境的多主检测方法、设备及介质
CN101461196A (zh) 在本地节点运行中断期间不间断的网络控制消息生成
JP6541490B2 (ja) 中継システムおよびスイッチ装置
US9692636B2 (en) Relay system and relay device
WO2014117499A1 (zh) 组播恢复方法和装置及包括该组播恢复装置的中继设备
US12034566B2 (en) Method and system to selectively flush filtering databases in a major ring of an ethernet ring protection switching network
CN108282406B (zh) 一种数据传输方法、堆叠设备及堆叠系统
CN108199986B (zh) 一种数据传输方法、堆叠设备及堆叠系统
US9634937B2 (en) Relay system and relay device
JP2011223172A (ja) リング型ネットワークシステム、通信装置および障害検出方法
CN105897578B (zh) 一种快速自愈的变电站环网协议实现方法
CN104579736A (zh) 一种环路数据传输方法及节点设备
JP6359914B2 (ja) 中継システムおよび中継装置
US11070303B2 (en) Management message loop detection in precision time protocol

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180530

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190513

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190611

R150 Certificate of patent or registration of utility model

Ref document number: 6541490

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees