以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
《中継システムの概略構成および障害無し時の概略動作》
図1は、本発明の実施の形態1による中継システムにおいて、その構成例および障害無し時の動作例を示す概略図である。図1に示す中継システムは、リングネットワーク10を構成する複数(ここでは4個)の中継装置SWa〜SWdを備える。中継装置SWa〜SWdのそれぞれは、ノードとも呼ばれる。中継装置SWa〜SWdのそれぞれは、2個のリングポートPr[1],Pr[2]と、m個(mは1以上の整数)のユーザポートPu[1]〜Pu[m]と、を備える。この例では、リングネットワーク10を構成する中継装置の数は、4個とするが、これに限らず2個以上であればよい。
リングネットワーク10は、例えば、ITU−T G.8032に規定されたリングプロトコルに基づき制御される。言い換えれば、中継装置SWa〜SWdのそれぞれは、当該リングプロトコルに基づく各種制御機能を備える。中継装置SWa〜SWdのそれぞれは、OSI参照モデルのレイヤ2(L2)の中継処理を行うL2スイッチや、加えて、レイヤ3(L3)の中継処理を行うL3スイッチ等である。ただし、リングネットワーク10上の中継処理は、L2に基づいて行われるため、ここでは、中継装置SWa〜SWdのそれぞれは、L2スイッチである場合を例とする。
2個のリングポートPr[1],Pr[2]は、それぞれ、リングネットワーク10に接続される。言い換えれば、中継装置SWa〜SWdのそれぞれは、リングポートPr[1],Pr[2]を介してリング状に接続され、これによってリングネットワーク10が形成される。図1の例では、中継装置SWa,SWb,SWc,SWdのリングポートPr[1]は、それぞれ、通信回線を介して、隣接する中継装置SWb,SWc,SWd,SWaのリングポートPr[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の一端に位置するリングポートPr[1]を閉塞状態BKに制御し、中継装置SWbは、RPLの他端に位置するリングポートPr[2]を閉塞状態BKに制御する。
閉塞状態BKのリングポートは、フレームの通過を禁止する。リングネットワーク10に障害が無い場合、RPLによって、リングネットワーク10上でのフレームのループ経路が防止される。これによって、中継装置SWaと中継装置SWbとの間では、図1に示すように、中継装置SWd,SWcを介する通信経路12が形成される。ユーザ網11a〜11d間のフレーム転送は、この通信経路12上で行われる。
《中継システムの障害監視方法》
図2は、図1の中継システムにおいて、その障害監視方法の一例を示す概略図である。図2に示すように、中継装置SWa〜SWdは、それぞれ、リングポートPr[1]に対応して監視ポイントMEPa1〜MEPd1を備え、リングポートPr[2]に対応して監視ポイントMEPa2〜MEPd2を備える。
ITU−T G.8032では、中継装置間のリンクの障害有無を監視するため、イーサネット(登録商標)OAMのCC(Continuity Check)機能を用いることが規定されている。イーサネットOAMは、装置間の疎通性を監視するための規格として、「ITU−T Y.1731」や「IEEE802.1ag」等で標準化されている。CC機能では、図2に示すように、MEP(Maintenance End Point)と呼ばれる監視ポイントによって監視区間が設定される。各監視区間の両端のMEPは、疎通性監視フレームであるCCM(Continuity Check Message)フレームを互いに定期的に送受信することで、各監視区間の疎通性を監視する。
図2の例では、中継装置SWaの監視ポイントMEPa1は、他装置(SWb)の監視ポイントMEPb2との間でCCM監視区間15abを設定し、これにより、自装置のリングポートPr[1]と、それに接続される他装置(SWb)のリングポートPr[2]と、の間の疎通性を監視する。その反対に、中継装置SWbの監視ポイントMEPb2も、他装置(SWa)の監視ポイントMEPa1との間でCCM監視区間15abを設定し、これにより、自装置のリングポートPr[2]と、それに接続される他装置(SWa)のリングポートPr[1]と、の間の疎通性を監視する。
これと同様にして、リングネットワーク10上に、順次、CCM監視区間15bc,15cd,15adが設定される。各CCM監視区間(例えば15ab)において、一端の監視ポイント(MEPa1)は、他端の監視ポイント(MEPb2)からのCCMフレームを所定の期間内に受信しない場合、他端の監視ポイント(MEPb2)に対する疎通性をLOC(Loss Of Continuity)状態と判別する。当該所定の期間は、例えば、CCMフレームの送信間隔(代表的には3.3ms)の3.5倍の期間である。
一端の監視ポイント(MEPa1)は、LOC状態を判別した場合、他端の監視ポイント(MEPb2)に向けてCCMフレームを送信する際に、当該CCMフレームに含まれるRDI(Remote Defect Indication)ビットにフラグを立てた状態で送信する。他端の監視ポイント(MEPb2)は、一端の監視ポイント(MEPa1)からRDIビットにフラグが立てられたCCMフレームを受信することで、一端の監視ポイント(MEPa1)に対する疎通性をRDI状態と判別する。中継装置SWa〜SWdのそれぞれは、自装置の監視ポイント(MEP)におけるLOC状態またはRDI状態の有無に基づいて、自装置のリングポートPr[1],Pr[2](それに接続されるリンクを含む)の障害有無を判別する。
《中継システムの障害発生(SF)時の動作》
図3は、図1の中継システムにおいて、障害発生(SF)時の主要な動作シーケンスの一例を示す図である。図3では、まず、障害発生(ステップS102)の前の状態として、オーナーノードである中継装置SWaのリングポートPr[1]、およびネイバーノードである中継装置SWbのリングポートPr[2]は、共に、閉塞状態BKに制御されている。また、中継装置SWa〜SWdは、共に、リングプロトコルに基づくリング状態がアイドル状態となっている。アイドル状態は、概略的には、障害等を代表とする特殊なイベントが特に発生していないことを表す。
この状態では、オーナーノードである中継装置SWaは、リングネットワーク10上に、ITU−T G.8032に規定されるR−APS(NR,RB)フレームを定期的(例えば5s毎)に送信する(ステップS101)。NR(No Request)は、要求無しを表し、RB(RPL Blocked)は、RPLの閉塞を表す。R−APS(NR,RB)フレームは、リングネットワーク10が障害無しであり、これに伴いRPL(すなわち中継装置SWaのリングポートPr[1])を閉塞状態BKに制御していることを他の中継装置SWb〜SWdに通知するフレームとなる。
このような状態で、ステップS102に示すように、中継装置SWcと中継装置SWdとの間のリンクに障害が生じた場合を想定する。この場合、ステップS103bに示すように、中継装置SWcは、図2に示した監視ポイントMEPc1での監視結果に基づき、リングポートPr[1](それに接続されるリンクを含む)の障害発生(ITU−T G.8032でのSF(Signal Fail))を検出する。これに応じて、中継装置SWcは、当該リングポートPr[1]を閉塞状態BKに制御し、リングポートPr[1],Pr[2]からR−APS(SF)フレームを送信し、リング状態をアイドル状態からプロテクション状態に遷移する。
R−APS(SF)フレームは、障害通知フレームとして機能する。プロテクション状態は、概略的には、リングネットワーク10上に障害が発生していることを表す。また、ステップS103aに示すように、中継装置SWdも中継装置SWcの場合と同様の処理を行う。中継装置SWc,SWdによって送信されたR−APS(SF)フレームは、閉塞状態BKのリングポートに到達するまで、各中継装置によって中継される。
ここで、ステップS104aに示すように、オーナーノードである中継装置SWaは、アイドル状態でR−APS(SF)フレームを受信した場合、リングポートPr[1]の閉塞状態BKを解除する(すなわち開放状態OPに変更する)。開放状態OPのリングポートは、フレームの通過を許可する。また、中継装置SWaは、アイドル状態でR−APS(SF)フレームを受信した場合、リング状態をアイドル状態からプロテクション状態に遷移する。また、ステップS104bに示すように、ネイバーノードである中継装置SWbも、中継装置SWaの場合と同様の処理を行う。
このように、各種R−APSフレームは、リングネットワークを制御するための制御フレームとなる。各種R−APSフレームは、図示は省略しているが、実際には、最初に3.3ms毎に3回送信され、その後は5s毎に送信される。また、ステップS104aにおいて、より詳細には、中継装置SWaは、アイドル状態でR−APS(SF)フレームを受信した場合、R−APS(NR,RB)フレームの送信を停止し、FDB(Forwarding DataBase)のフラッシュを行う。このように、各中継装置SWa〜SWdは、より詳細には、各種リング状態と各種イベントとの組合せに応じてFDBのフラッシュや、R−APSフレームの停止等を含めた様々な処理を行うが、本明細書では、簡略化のためこのような処理に関する記載は省略し、主要な処理のみを記載する。
《中継システムの障害復旧(SF解消)時の動作》
図4は、図1の中継システムにおいて、障害復旧(SF解消)時の主要な動作シーケンスの一例を示す図である。図4では、図3に示したように、中継装置SWcと中継装置SWdとの間のリンクに障害が発生した状態で、当該障害が復旧した場合を想定する。まず、障害が発生している状態では、中継装置SWcのリングポートPr[1]および中継装置SWdのリングポートPr[2]は、共に、閉塞状態BKに制御されている。また、中継装置SWa〜SWdは、図3に示したように、共に、リング状態がプロテクション状態となっている。このような状態で、障害が復旧した場合(ステップS201)、以下のような処理が行われる。
ステップS202bに示すように、中継装置SWcは、監視ポイントMEPc1を用いてリングポートPr[1]の障害復旧(ITU−T G.8032でのClear SF)を検出する。そして、中継装置SWcは、リングポートPr[1],Pr[2]からR−APS(NR)フレームを送信し、リング状態をプロテクション状態からペンディング状態に遷移する。R−APS(NR)フレームは、障害復旧フレームとして機能する。ペンディング状態は、概略的には、リングネットワーク10の状態が明確に定まっていないことを表す。また、ステップS202aに示すように、中継装置SWdも中継装置SWcの場合と同様の処理を行う。
ステップS203aに示すように、オーナーノードである中継装置SWaは、プロテクション状態でR−APS(NR)フレームを受信すると、WTR(Wait To Restore)タイマをスタートさせ、リング状態をプロテクション状態からペンディング状態に遷移する。また、ステップS203bに示すように、ネイバーノードである中継装置SWbは、プロテクション状態でR−APS(NR)フレームを受信すると、リング状態をプロテクション状態からペンディング状態に遷移する。
一方、ステップS204に示すように、中継装置SWc,SWdのそれぞれは、図示しないガードタイマの期間で他方からのR−APS(NR)フレームを受信し、当該R−APS(NR)フレームに含まれる優先度の情報に基づいて自装置の閉塞状態BKのリングポートを開放状態OPに変更するか否かを判別する。この例では、このような判別結果に基づき、中継装置SWcのリングポートPr[1]の閉塞状態BKが解除されている。
ステップS205において、中継装置SWaは、ペンディング状態でWTRタイマの期間が満了すると、RPL(すなわちリングポートPr[1])を開放状態OPから閉塞状態BKに変更する。また、中継装置SWaは、リングポートPr[1],Pr[2]からR−APS(NR,RB)フレームを送信し、リング状態をペンディング状態からアイドル状態に遷移する。
ステップS206aにおいて、中継装置SWdは、ペンディング状態でR−APS(NR,RB)フレームを受信すると、リングポートPr[2]の閉塞状態BKを解除し、リング状態をペンディング状態からアイドル状態に遷移する。また、ステップS206bにおいて、中継装置SWcは、ペンディング状態でR−APS(NR,RB)フレームを受信すると、リング状態をペンディング状態からアイドル状態に遷移する。
一方、ステップS206cにおいて、ネイバーノートである中継装置SWbは、ペンディング状態でR−APS(NR,RB)フレームを受信すると、RPL(すなわちリングポートPr[2])を開放状態OPから閉塞状態BKに変更し、リング状態をペンディング状態からアイドル状態に遷移する。このような処理の結果、図1および図3のステップS101に示したような通常の状態に復旧する。
以上のように、例えば、ITU−T G.8032に基づくリングプロトコルの処理は、状態遷移に基づいて行われる。補足説明を行うと、まず、リング状態として、図3および図4に示したアイドル状態、プロテクション状態、ペンディング状態の他に、FS(Forced Switch)状態およびMS(Manual Switch)状態が規定される。そして、このリング状態とイベントの組合せに応じてどのような制御を行い何を出力するかや、次にどのリング状態に遷移するかが規定される。イベントとしては、例えば図3のステップS103aに示したSF検出等のように自装置で直接的に発生するローカルイベントと、図3のステップS104aに示したように、他装置で発生しR−APSフレームを介して他装置から通知されるリモートイベントとがある。
ここで、FS状態とは、概略的には、リングネットワーク10上に、FSコマンドに基づく閉塞ポートが存在することを表す。具体的には、ユーザは、閉塞したいリングポートの情報を含むFSコマンドを所定の中継装置に入力することができる。このローカルイベントに応じて、当該中継装置は、FSコマンドで指定されたリングポートを強制的に閉塞状態BKに制御し、他装置へR−APS(FS)フレームを送信すると共に、FS状態に遷移する。また、R−APS(FS)フレームを受信した他装置は、当該リモートイベントに応じてFS状態に遷移する。
一方、ユーザは、FS状態を解除したい場合には、FSコマンドに基づく閉塞ポートが存在する中継装置にクリアコマンドを入力する。このローカルイベントに応じて、当該中継装置は、図4のステップS202aの場合と同様に、他装置へR−APS(NR)フレームを送信すると共に、ペンディング状態に遷移する。以降、各中継装置は、図4に示したSF解消時の場合とほぼ同様な処理を経てFS状態を解消し、RPLが閉塞された状態となるアイドル状態に戻る。
MS状態とは、FS状態の場合と同様に、概略的には、リングネットワーク10上に、MSコマンドに基づく閉塞ポートが存在することを表す。ただし、MS状態は、FS状態やプロテクション状態よりも優先度が低い。例えば、MS状態で所定のリングポートにSFが検出された場合、リング状態はプロテクション状態に遷移し、MSコマンドに基づく閉塞ポートは開放され、その代わりにSFが検出されたリングポートが閉塞される。一方、FS状態は、最も優先度が高い。例えば、FS状態で所定のリングポートにSFが検出された場合であっても、リング状態はFS状態のままであり、FSコマンドに基づく閉塞ポートも閉塞状態を維持し、SFが検出されたリングポートは閉塞されない。FS状態から他のリング状態への遷移は、前述したようにクリアコマンドが発生した場合のみで行われる。
《中継装置の構成》
図5は、図1の中継システムにおいて、中継装置の主要部の概略構成例を示すブロック図である。図6は、図5における各ラインカードの主要部の概略構成例を示すブロック図である。図5に示す中継装置は、図1に示した中継装置SWa〜SWdの中の少なくとも一つに適用される。
図5に示す中継装置は、1個の筐体内に複数のカードを搭載したシャーシ型の中継装置となっている。当該中継装置は、複数(ここではn枚)のラインカードLC[1]〜LC[n]と、複数(ここでは2枚)の管理カードMC1,MC2と、ファブリック経路部20と、を備える。ラインカードLC[1]〜LC[n]のそれぞれは、装置外部との間でフレームの通信(送信および受信)を行う。ファブリック経路部20は、複数のラインカードLC[1]〜LC[n]間の通信を仲介し、さらに、複数の管理カードMC1,MC2のそれぞれと、複数のラインカードLC[1]〜LC[n]のそれぞれとの間の通信を仲介する。ファブリック経路部20は、具体的には、例えば、メッシュ状の配線で構成される場合や、ファブリックカードで構成される場合等がある。
管理カードMC1,MC2のそれぞれは、図示は省略するが、例えば、装置管理者等からの指示に基づいて、複数のラインカードLC[1]〜LC[n]の各種設定や状態等を管理するような一般的な管理機能を備える。管理カードMC1,MC2のそれぞれは、このような一般的な管理機能に加えて、MC用ERP制御部22と、記憶部23と、ファブリックインタフェース部27とを備える。MC用ERP制御部22は、リング制御部として機能し、記憶部23の情報を用いながら、所定のリングプロトコル(ここでは、ITU−T G.8032)に基づく各種処理を主体的に行う。MC用ERP制御部22は、詳細は後述するが、VIDフィルタ制御要求部25と、R−APS生成部26とを備える。
ファブリックインタフェース部27は、ICCM処理部24を備え、自管理カードとファブリック経路部20との間の通信を仲介する。ICCM処理部24は、複数のラインカードLC[1]〜LC[n]のそれぞれとの間で内部疎通性監視フレーム(以降、ICCMフレームと呼ぶ)の通信を行うことで複数のラインカードのそれぞれとの間の疎通性有無を監視する。さらに、ICCM処理部24は、ICCMフレームを用いてMC用ERP制御部22と複数のラインカードのそれぞれとの間の通信を仲介する。
ここで、複数の管理カードMC1,MC2には、アクティブ状態(ACT)で動作するアクティブカードと、スタンバイ状態(SBY)で動作し、所定の切り換え命令(具体的には、後述するアクティブチェンジ)に応じてアクティブカードに遷移するスタンバイカードと、が含まれる。例えば、管理カードMC1は、アクティブカードであり、管理カードMC2は、スタンバイカードである。また、管理カードMC1,MC2は、互いに通信を行うための通信経路(例えば通信回線)21を備えている。
複数のラインカードLC[1]〜LC[n]は、図1等に示したリングポートPr[1],Pr[2]と、ユーザポートPu[1]〜Pu[m]とを備える。図5の例では、ラインカードLC[1]は、リングポートPr[1]を備え、ラインカードLC[2]は、リングポートPr[2]を備え、ラインカードLC[n]は、ユーザポートPu[1]を備えている。ただし、各ポートをどのラインカードに設けるかは、図5の例に限定されるものではなく、任意に定めることが可能である。
複数のラインカードLC[1]〜LC[n]のそれぞれは、詳細には、図6に示すような構成を備える。図6のラインカードLCは、インタフェース部30と、フレーム処理部31と、FDBと、LC用ERP制御部32と、ファブリックインタフェース部33とを備える。また、ここでは、説明の便宜上、当該ラインカードLCは、リングポートPrおよびユーザポートPuを含めた複数のポートを備えるものとする。
インタフェース部30は、受信ポート識別子付加部34と、フレーム判別部35と、VIDフィルタ36と、OAM処理部37とを備え、主に、複数のポートとの間でフレームの送信および受信を行う。受信ポート識別子付加部34は、複数のポートのいずれかでフレームを受信した場合に、その受信ポートを表す受信ポート識別子を当該フレームに付加する。フレーム判別部35は、例えば、受信したフレームがユーザフレームのフォーマットであるか、R−APSフレームのフォーマットであるかといったように、フレームのフォーマットを判別する。
VIDフィルタ36は、設定された条件に基づいて、フレームの通過可否を制御する。例えば、所定のVLAN識別子VIDを持つフレームを所定のポートで受信した場合に当該フレームを破棄するといった条件や、所定のVLAN識別子VIDを持つフレームを所定のポートから送信する場合に当該フレームを送信せずに破棄するといった条件が設定される。VIDフィルタ36は、当該条件に基づく処理を行う。リングポートの実際の閉塞状態BKや開放状態OPは、VIDフィルタ36によって構築される。
OAM処理部37は、図2に示したようなMEPを備え、装置外部との間でリングポートPrを介して疎通性監視フレーム(具体的にはCCMフレーム)の通信を行うことでリングポートPrの障害有無を監視する。インタフェース部30は、受信したフレームがユーザフレームの場合には、当該フレームをフレーム処理部31へ送信し、受信したフレームがR−APSフレームの場合には、当該フレームをLC用ERP制御部32へ送信する。また、インタフェース部30は、フレームの宛先ポートを表す宛先ポート識別子が付加されたフレームを、フレーム処理部31やLC用ERP制御部32から受信した場合に、当該フレームを当該宛先ポートへ送信する。
FDBは、MAC(Media Access Control)アドレスと、VLAN識別子VIDと、ポートとの対応関係を保持する。また、FDBは、ポートがリングポートの場合には、加えてリングIDを保持する。当該リングIDは、FDBフラッシュの対象となるエントリを定める際のキーとして使用される。フレーム処理部31は、FDB処理部38と、FDB同期部39と、ICCM処理部40とを備える。FDB処理部38は、ポートでユーザフレームを受信した場合に、FDBの学習および検索を行う。具体的には、FDB処理部38は、受信したユーザフレームの送信元MACアドレスを、VLAN識別子VIDと、インタフェース部30で付加された受信ポート識別子(ラインカードの識別子を含む)とに対応付けてFDBに学習する。
また、FDB処理部38は、受信したユーザフレームの宛先MACアドレスおよびVLAN識別子VIDを検索キーとしてFDBを検索し、宛先ポート識別子(ラインカードの識別子を含む)を取得する。FDB処理部38は、宛先ポート識別子が自ラインカードのポート識別子の場合、宛先ポート識別子を付加したユーザフレームをインタフェース部30へ直接送信するか、または、ファブリックインタフェース部33やファブリック経路部20で折り返す形でインタフェース部30へ送信する。一方、FDB処理部38は、宛先ポート識別子が他ラインカードのポート識別子の場合、宛先ポート識別子を付加したユーザフレームをファブリックインタフェース部33を介してファブリック経路部20へ送信する。ファブリック経路部20は、当該ユーザフレームを宛先ポート識別子に基づくラインカードへ送信する。
FDB同期部39は、複数のラインカードLC[1]〜LC[n]間でFDBの保持内容を同期化する機能を備える。具体的には、FDB同期部39は、例えば、自ラインカードのポートでフレームを受信した場合に、受信ポート識別子および当該フレームのヘッダ部分を含む学習用フレームを生成し、ファブリック経路部20を介して他のラインカードへ送信する。他のラインカードのFDB同期部39は、当該学習用フレームに基づいてFDBの学習を行う。
ICCM処理部40は、管理カードMC1,MC2のそれぞれとの間でICCMフレームの通信を行うことで管理カードMC1,MC2のそれぞれとの間の疎通性有無を監視する。さらに、ICCM処理部40は、ICCMフレームを用いてLC用ERP制御部32と管理カードMC1,MC2との間の通信を仲介する。
LC用ERP制御部32は、リング制御部として機能し、MC用ERP制御部22の基で、所定のリングプロトコル(ここでは、ITU−T G.8032)に基づく各種処理を従属的に行う。LC用ERP制御部32は、R−APS中継部41と、ポート管理テーブル42と、ポート制御部43とを備える。R−APS中継部41は、リングポートPrで受信したR−APSフレームを、ファブリックインタフェース部33を介して管理カードMC1,MC2へ中継する。また、R−APS中継部41は、2個のリングポートの一方で受信したR−APSフレームを、2個のリングポートの他方へ中継する。
ポート管理テーブル42は、リングポートの開閉情報と、リングポートが閉塞状態の場合の閉塞要因とを保持する。ポート制御部43は、アクティブカードからの開放命令または閉塞命令に応じてリングポートPrの開閉を制御する。なお、ポート管理テーブル42およびポート制御部43の詳細については後述する。
ファブリックインタフェース部33は、フレーム処理部31から送信されたフレーム(ユーザフレーム、ICCMフレーム、学習用フレーム)や、R−APS中継部41によって中継されたR−APSフレームを、ファブリック経路部20へ送信する。また、ファブリックインタフェース部33は、ファブリック経路部20からのフレームをフレーム処理部31またはLC用ERP制御部32へ送信する。
なお、図5の管理カードMC1,MC2において、MC用ERP制御部22は、プロセッサ(CPU)によるプログラム処理等によって実現され、記憶部23は、RAM等で実現され、ファブリックインタフェース部27は、FPGA(Field Programmable Gate Array)等に実装される。また、図6のラインカードLCにおいて、インタフェース部30およびファブリックインタフェース部33のそれぞれは、ASIC(Application Specific Integrated Circuit)等に実装され、フレーム処理部31やLC用ERP制御部32は、FPGA等に実装される。FDBは、CAM(Content Addressable Memory)等に実装される。ただし、各部の具体的な実装形態は、勿論、これに限定されるものではなく、ハードウェアまたはソフトウェアあるいはその組合せを用いて適宜実装されればよい。
《中継装置の内部疎通性監視動作およびアクティブチェンジ動作》
図7は、図5および図6の中継装置において、ICCM処理部の処理内容の一例を示す説明図である。図7において、ラインカードLC[1]のICCM処理部40は、管理カードMC1用の内部監視ポイントIMEP1l[1]と、管理カードMC2用の内部監視ポイントIMEP1l[2]とを備える。同様に、ラインカードLC[2]のICCM処理部40は、管理カードMC1用の内部監視ポイントIMEP2l[1]と、管理カードMC2用の内部監視ポイントIMEP2l[2]とを備える。
以降同様に、図示は省略するが、各ラインカード(例えばLC[n])のICCM処理部40は、管理カードMC1用の内部監視ポイント(IMEPnl[1])と、管理カードMC2用の内部監視ポイント(IMEPnl[2])とを備える。一方、管理カードMC1のICCM処理部24は、内部監視ポイントIMEP1m[1],IMEP2m[1],…,IMEPnm[1]を備える。管理カードMC2のICCM処理部24は、内部監視ポイントIMEP1m[2],IMEP2m[2],…,IMEPnm[2]を備える。
管理カードMC1の内部監視ポイントIMEP1m[1],IMEP2m[1],…は、それぞれ、複数のラインカードにおける管理カードMC1用の内部監視ポイントIMEP1l[1],IMEP2l[1],…との間で、ICCMフレームICCM1[1],ICCM2[1],…の送受信を行うことによって内部疎通性を監視する。同様に、管理カードMC2の内部監視ポイントIMEP1m[2],IMEP2m[2],…は、それぞれ、複数のラインカードにおける管理カードMC2用の内部監視ポイントIMEP1l[2],IMEP2l[2],…との間で、ICCMフレームICCM1[2],ICCM2[2],…の送受信を行うことによって内部疎通性を監視する。
ICCMフレームは、内部疎通性監視フレームであり、前述した疎通性監視フレームであるCCMフレームと同様なフレームである。すなわち、本実施の形態1では、装置間の疎通性を監視するイーサネットOAMの規格を利用し、これと同様な方式を、装置内部の疎通性の監視に適用する。そして、装置内部の疎通性を監視するための監視用フレームとして、CCMフレームの代わりにICCMフレームを用いる。ICCMフレームを用いて内部疎通性の監視を行う場合、前述したCCMフレームの場合と同様に、LOC状態やRDI状態の有無に基づいて内部の疎通性有無(障害有無)を判別する。
なお、必ずしも限定はされないが、ICCMフレームの送信間隔は、CCMフレームの送信間隔と比較して、同等もしくは短いことが望ましい。本実施の形態1では、例えば、ICCMフレームの送信間隔は1ms等であり、CCMフレームの送信間隔は3.5ms等である。
ここで、図7の例では、管理カードMC1はアクティブ状態ACTで動作しており(すなわちアクティブカードであり)、管理カードMC2はスタンバイ状態SBYで動作している(すなわちスタンバイカードである)。この状態で、例えば、ラインカードLC[1]と管理カードMC1との間の通信経路に障害が発生した場合を想定する。この場合、ラインカードLC[1]および管理カードMC1は、共に、ICCMフレームICCM1[1]のLOC状態またはRDI状態に基づいて当該障害発生を検出することができる。
当該障害発生を検出した場合、例えば、ラインカードLC[1]は、自ラインカードに向けたアクティブチェンジを実行し、以降、管理カードMC1に代わって管理カードMC2をアクティブカードとみなす。また、管理カードMC1は、当該障害発生の検出に応じて、管理カードMC2と、その他のラインカードLC[2],…とにアクティブチェンジを実行する旨を通知する。これに応じて、管理カードMC2は、自身をスタンバイ状態SBYからアクティブ状態ACTに遷移し、その他のラインカードLC[2],…も、ラインカードLC[1]の場合と同様に、自ラインカードに向けたアクティブチェンジを実行する。なお、管理カードMC1は、アクティブチェンジの通知を行ったのち、アクティブ状態ACTからスタンバイ状態SBYに遷移する。
また、例えば、管理カードMC1自体に障害が発生した場合を想定する。この場合、各ラインカードLC[1],LC[2],…は、それぞれ、ICCMフレームICCM1[1],ICCM2[1],…のLOC状態等に基づいて当該障害発生を検出することができる。これに応じて、各ラインカードLC[1],LC[2],…は、それぞれ、自ラインカードに向けたアクティブチェンジを実行し、以降、管理カードMC1に代わって管理カードMC2をアクティブカードとみなす。一方、管理カードMC2も、例えば、通信経路21を用いた管理カードMC1の監視等によって当該障害発生を検出することができる。これに応じて、管理カードMC2は、自身をスタンバイ状態SBYからアクティブ状態ACTに遷移する。
なお、アクティブチェンジは、このような方法を一例として、その他にも様々な方法で実行することができる。さらに、ここでは、障害が有る場合のアクティブチェンジについて説明したが、障害が無い場合でも、例えば、ユーザからのアクティブチェンジコマンドの入力によってアクティブチェンジを行うことも可能である。この場合、例えば、管理カードMC1が当該アクティブチェンジコマンドを受け付け、管理カードMC2と、各ラインカードLC[1],LC[2],…とにアクティブチェンジを実行する旨を通知すればよい。
《中継装置の障害発生検出時のリングプロトコル動作(前提)》
図8は、図5および図6の中継装置において、前提となる障害発生検出時のリングプロトコル動作の一例を示す説明図である。図9は、図8に続く動作例を示す説明図であり、図10は、図9に続く動作例を示す説明図である。図8〜図10には、図3の中継装置SWcを例として、ステップS102,S103bにおける動作例が示されている。また、ここでは、管理カードMC1,MC2のいずれか一方となるアクティブ状態ACTの管理カードMC(アクティブカード)についての動作例を説明する。
図8において、まず、リングポートPr[1]を備えるラインカードLC[1]のOAM処理部37は、リングポートPr[1]の障害発生(例えばLOC状態)を検出する(ステップS102,S102−1)。この場合、ラインカードLC[1]のLC用ERP制御部32は、ICCM処理部40から送信されるICCMフレームICCM1に当該障害情報を格納する(ステップS102−2)。当該障害情報は、例えば、障害発生箇所の識別子(ここでは{LC[1]}/{Pr[1]})等である。なお、本明細書では、例えば、{AA}は「AA」の識別子を表すものとする。
管理カードMCのICCM処理部24は、当該障害情報が格納されたICCMフレームICCM1を受信する(ステップS102−3)。MC用ERP制御部22は、ICCM処理部24で障害情報が格納されたICCMフレームを受信した場合、ITU−T G.8032に基づく障害発生(SF)を検出する(ステップS103b−1)。この場合、図9に示すように、MC用ERP制御部22は、記憶部23に予め設定されたリング管理テーブル45を参照し、障害発生箇所が属するリングネットワークと、当該リングネットワークに接続されるリングポートとを認識する。
図9の例では、リング管理テーブル45は、リングネットワーク毎に割り当てられるリングIDと、各リングIDに属するVLAN識別子VIDおよびリングポートIDと、各リングポートID毎の開閉情報とを保持する。ここでは、VLAN識別子VID=1のリングポートID(具体的にはラインカードID/ポートID){LC[1]}/{Pr[1]}および{LC[2]}/{Pr[2]}が、リングID=1のリングネットワークに属しており、リングポートPr[1],Pr[2]は共に開放状態OPとなっている。MC用ERP制御部22は、障害情報(ここでは{LC[1]}/{Pr[1]})を用いて当該リング管理テーブル45を参照することで、どのリングネットワーク(リングID)に障害が発生したかを認識することができる。
なお、図1等の例では、中継システムは、1個のリングネットワーク10を備えるが、複数のリングネットワークを備える場合、リング管理テーブル45には、各リングネットワーク毎のリングIDと、当該リングIDに属するVLAN識別子VIDおよびリングポートIDとが設定される。例えば、リング管理テーブル45には、リングID=2、VLAN識別子VID=2、リングポートID=“{LC[1]}/{Pr[1]}および{LC[2]}/{Pr[2]}”等が設定される。
MC用ERP制御部22のVIDフィルタ制御要求部25は、受信した障害情報({LC[1]}/{Pr[1]})に基づき、当該障害箇所のリングポートPr[1]およびVLAN識別子VIDを閉塞状態BKに制御するためのVID制御命令(閉塞命令)を発行する(ステップS103b−2)。また、VIDフィルタ制御要求部25は、当該閉塞命令の発行と共に、リング管理テーブル45のリングポートPr[1]の開閉情報を、開放状態OPから閉塞状態BKに変更する。そして、MC用ERP制御部22は、ICCM処理部24から送信される、ラインカードLC[1]に向けたICCMフレームICCM1に、当該VID制御命令(閉塞命令)を格納する(ステップS103b−2)。
また、MC用ERP制御部22は、実際には、当該閉塞命令に加えて、FDBフラッシュの実行命令を発行し(ステップS103b−2)、当該実行命令を、各ICCMフレームICCM1,ICCM2,…に格納する(ステップS103b−3)。この際に、MC用ERP制御部22は、リング管理テーブル45に基づき、FDBフラッシュの対象となるリングID(すなわち障害発生を検出したリングID)を定め、当該リングIDをFDBフラッシュの実行命令の中で指定する。
ラインカードLC[1]のICCM処理部40は、閉塞命令およびFDBフラッシュの実行命令が格納されたICCMフレームICCM1を受信する(ステップS103b−3)。ラインカードLC[1]のLC用ERP制御部32(具体的にはポート制御部43)は、当該ICCMフレームICCM1に含まれる閉塞命令に応じてVIDフィルタ36を制御し、対象となるリングポート(ここではPr[1])およびVLAN識別子VIDを、実際に閉塞状態BKに制御する(ステップS103b−4)。また、当該LC用ERP制御部32は、ICCMフレームICCM1に含まれるFDBフラッシュの実行命令に応じて、指定されたリングIDを含むFDBのエントリをフラッシュする。その他のラインカードLC[2],…も同様に、FDBフラッシュの実行命令を実行する。
さらに、図10に示されるように、MC用ERP制御部22のR−APS生成部26は、前述した閉塞命令の実行に応じて、R−APS(SF)フレームの生成を行う(ステップS103b−5)。具体的には、R−APS生成部26は、リング管理テーブル45に基づき、所定のリングIDおよび所定のVLAN識別子VIDを含む2個のR−APS(SF)フレームを生成する。R−APS生成部26は、生成した2個のR−APS(SF)フレームにそれぞれ宛先ポート識別子(ここでは{LC[1]}/{Pr[1]}および{LC[2]}/{Pr[2]})を付加し、ファブリックインタフェース部27を介してファブリック経路部20へ送信する。
また、MC用ERP制御部22は、自装置のリング状態をアイドル状態からプロテクション状態に遷移する(ステップS103b−6)。一方、ラインカードLC[1],LC[2]のR−APS中継部41は、それぞれ、R−APS(SF)フレームを受信し、それをインタフェース部30を介して宛先のリングポートPr[1],Pr[2]へ送信する。
《中継装置のR−APS(SF)受信時のリングプロトコル動作(前提)》
図11は、図5および図6の中継装置において、前提となるR−APS(SF)フレーム受信時のリングプロトコル動作の一例を示す説明図である。図11には、図3の中継装置SWaを例として、ステップS104aにおける動作例が示されている。また、図8〜図10の場合と同様に、アクティブカードについての動作例を説明する。
図11において、ラインカードLC[2]のLC用ERP制御部32のR−APS中継部41は、リングポートPr[2]で受信したR−APS(SF)フレームをインタフェース部30を介して受信する(ステップS104a−1)。当該R−APS中継部41は、当該受信したフレームを、ファブリック経路部20を介してリングポートPr[1]へ中継する(ステップS104a−2)。
また、当該R−APS中継部41は、例えば、受信したR−APS(SF)フレームが自装置で受信すべきフレームであるか否かを判別し、自装置で受信すべきフレームである場合、当該フレームを管理カードMCへ送信する(ステップS104a−3)。具体的には、R−APS中継部41は、例えば、図11に示したリング管理テーブル45と同様の情報を保持しており、自装置で受信すべきか否かを、受信したR−APSフレームとリングポートとでVLAN識別子VIDが一致するか否かで判別する。
管理カードMCのMC用ERP制御部22は、当該R−APS(SF)フレームを受信する。MC用ERP制御部22のVID制御要求部25は、受信したR−APS(SF)フレームのリングIDを参照することでSFの対象となるリングネットワークを認識する。この例では、MC用ERP制御部22は、当該リングネットワークの中のオーナーノードに属しているため、VID制御要求部25は、RPL(すなわちVLAN識別子VID=1およびリングポートPr[1])を開放状態OPに制御するためのVID制御命令(開放命令)を発行する(ステップS104a−4)。
また、MC用ERP制御部22は、実際には、当該開放命令に加えて、FDBフラッシュの実行命令を発行する(ステップS104a−4)。MC用ERP制御部22は、ICCM処理部24から送信される、ラインカードLC[1]に向けたICCMフレームICCM1に、当該開放命令およびFDBフラッシュの実行命令を格納する(ステップS104a−5)。さらに、MC用ERP制御部22は、自装置のリング状態をアイドル状態からプロテクション状態に遷移する(ステップS104a−6)。
なお、図示は省略されているが、MC用ERP制御部22は、図9の場合と同様に、他のラインカードLC[2],…に向けてはFDBフラッシュの実行命令を発行する。そして、各ラインカードLC[1],LC[2],…のLC用ERP制御部32は、図示は省略されているが、図9の場合と同様に、MC用ERP制御部22からのVID制御命令やFDBフラッシュの実行命令に応じた処理を行う。
以上のように、図5および図6の中継装置では、アクティブカードのMC用ERP制御部22が、リングプロトコル動作を主体的に行う方式となっている。その代表例として、アクティブカードは、リングプロトコルに基づくイベントに応じてリングポートの開放または閉塞を定め、ラインカードへリングポートの開放命令または閉塞命令を発行する。一方、ラインカードのLC用ERP制御部32は、単に、MC用ERP制御部22からの命令を実行することで、リングプロトコル動作を従属的に行う。
《中継装置(比較例)の冗長方式およびその問題点》
図22は、本発明の比較例として検討した中継装置において、冗長方式に関する主要部の構成例およびリングプロトコル動作の一例を示す概略図である。図22の中継装置では、ラインカードLCのICCM処理部40およびR−APS中継部41が、それぞれ、MC選択部55’,56’を備える。
MC選択部55’は、LC用ERP制御部32からの各種情報(例えば、図8のステップS102−2における障害発生箇所)を、ICCMフレームICCM1[1],ICCM1[2]を介して両方の管理カードMC1,MC2へ送信する。一方、MC選択部55’は、両方の管理カードMC1,MC2からICCMフレームICCM1[1],ICCM1[2]を介して各種命令(例えば図9のステップS103b−3におけるVID制御命令等)を受信した場合、アクティブカード(ここでは管理カードMC1)からの命令を選択してLC用ERP制御部32に伝達する。
同様に、MC選択部56’は、リングポートPrでR−APSフレームを受信した場合、それを両方の管理カードMC1,MC2へ送信する。一方、MC選択部56’は、両方の管理カードMC1,MC2からR−APSフレームを受信した場合、アクティブカード(管理カードMC1)からのR−APSフレームを選択して、リングポートPrへ送信する。
このように、図22の冗長方式は、例えば、特許文献1の方式を応用して、両方の管理カードMC1,MC2に同じ入力を与えることで同じ動作を行わせ、両方の管理カードMC1,MC2からの同じ出力に対してアクティブカード側の出力を選択する方式となっている。例えば、図22の状態で、図7で説明したようなアクティブチェンジが発生した場合、MC選択部55’,56’は、共に、両方の管理カードMC1,MC2からの命令等の受信時に管理カードMC2を選択する。
このような冗長方式は、両方の管理カードMC1,MC2が、入出力を含めて常に同じタイミングでリングプロトコル動作を行う場合には、有益な方式となる。ただし、現実的には、両方の管理カードMC1,MC2間で所定のタイムラグが生じる場合があり、そうすると、例えば、図23に示すような問題が生じる恐れがある。
図23は、図22の中継装置において、アクティブチェンジ発生時に問題となり得るリングプロトコル動作の一例を示すシーケンス図である。図23では、まず、管理カードMC1はアクティブカード(ACT)であり、管理カードMC2はスタンバイカード(SBY)となっている。また、管理カードMC1,MC2は、共に、リングプロトコルに基づくリング状態をアイドル状態と認識している(ステップS700’)。この状態で、ラインカードLCによってリングポートのLOC状態(障害)が検出された場合を想定する(ステップS701)。
ラインカードLCは、管理カードMC1,MC2の両方に、リングポートがLOC状態である旨を通知する。ここで、管理カードMC1,MC2は、より詳細には、リングポートのLOC状態が検出されただけでなく、当該LOC状態が所定の期間(ホールドオフ期間と呼ばれる)継続した場合にリングネットワークの障害発生(SF)を検出する。ここで、管理カードMC1,MC2では、当該LOC状態の受信時にタイミング誤差Δt1が生じる場合があり、ホールドオフタイマを開始するタイミングにもズレが生じる恐れがある(ステップS702a,S702b)。
その後、管理カードMC1,MC2は、当該ホールオフ期間thが満了するタイミングの近辺で、ラインカードLCからリングポートがCCM状態(すなわち障害無し)である旨の通知を受信している。ただし、前述したLOC状態の受信時のタイミング誤差Δt1や、または、当該CCM状態の受信時のタイミング誤差Δt2や、あるいは、ホールオフ期間thのタイマ誤差Δt3等によって、管理カードMC1,MC2とで、障害発生(SF)の検出結果が異なる場合が生じ得る。
ここでは、管理カードMC1は、障害発生(SF)を検出し、これに応じて、対象のリングポートの閉塞命令の発行や、R−APS(SF)フレームの生成および送信や、リング状態のアイドル状態からプロテクション状態への遷移を行う(ステップS704a)。ラインカードLCは、アクティブカードからの閉塞命令を受信したため、対象のリングポートを実際に閉塞状態BKに制御する(ステップS705’)。また、ラインカードLCは、当該R−APS(SF)フレームをリングネットワークへ送信し、これに応じて、リングネットワーク内のRPLは開放される。
一方、管理カードMC2は、管理カードMC1と異なり、障害発生(SF)を検出していない(ステップS704b)。このような状態で、中継装置に、アクティブチェンジが発生している(ステップS706)。そうすると、管理カードMC2は、アクティブカードとなるが、リング状態を、アクティブチェンジの発生前のプロテクション状態と異なりアイドル状態と認識している(ステップS707’)。その結果、管理カードMC2は、場合によっては、ステップS705’での閉塞状態BKのリングポートに対して、開放命令を発行する恐れがある(ステップS708’)。ラインカードLCが、当該アクティブカードからの開放命令に基づいてリングポートを閉塞状態BKから開放状態OPに変更すると、リングネットワークにループ経路が生じることになる(ステップS709’)。
以上のような動作を代表に、図22の冗長方式では、アクティブチェンジの前後で、リングプロトコル動作に不整合が生じる恐れがある。その結果、ループ経路の発生といった問題が生じる恐れがある。また、ループ経路が生じない場合であっても、例えば、ある中継装置と、その他の中継装置とで認識しているリング状態が異なるような状況が生じると、リングネットワークの閉塞ポートの切り換えを正常に実行できなくなるといった別の問題が生じる恐れがある。そこで、以下に示す本実施の形態1の方式を用いることが有益となる。
《中継装置(本実施の形態1)の冗長方式》
図12は、図5の中継装置において、アクティブカードとなる管理カード内のMC用ERP制御部が実行する主要な処理内容の一例を示すフロー図である。図13は、図12の一部の処理内容を説明する補足図である。図12において、アクティブカードのMC用ERP制御部22は、リングネットワーク上にリングプロトコルに基づくイベントが発生したか否かを判別する(ステップS501)。リングプロトコルに基づくイベントとは、図3および図4で説明したローカルイベントやリモートイベントである。
ローカルイベントの場合、例えば、図8のSF検出の場合のように、ICCMフレームを介して通知される場合や、前述したFSコマンド等のように、MC用ERP制御部22に対して装置外部から直接的に入力される場合等がある。一方、リモートイベントの場合、図11のR−APS(SF)フレームのように、R−APSフレームを介して他の中継装置から通知される。
MC用ERP制御部22は、イベントが発生していない場合、処理を終了する。一方、イベントが発生した場合、MC用ERP制御部22は、リングプロトコルに基づきリングポートPrの制御が必要か否かを判別し、制御が必要な場合にはリングポートの開放または閉塞を定める(ステップS502)。この際の判別条件ならびに開放/閉塞の選択は、中継装置の役割(オーナーノードかネイバーノードかその他のノードか)や、ローカルイベント/リモートイベントの種類等に応じて適宜変わり得る。ここで、MC用ERP制御部22は、開放状態OPへ制御が必要な場合(言い換えれば閉塞状態BKへの制御が不要な場合)(ステップ503)、対象のリングポートPrを有するラインカードLCへ、当該リングポートPrの開放命令を発行する(ステップS505)。
一方、MC用ERP制御部22は、閉塞状態BKへの制御が必要な場合(ステップ503)、対象のリングポートPrを有するラインカードLCへ、閉塞命令を発行し、これに加えて、当該閉塞命令の基となるイベントを表す閉塞要因を通知する(ステップS504)。具体的には、例えば、図8および図9に示したように、開放状態OPのリングポートPrで障害(SF)が検出され、これに応じて、MC用ERP制御部22が開放状態OPのリングポートPrを閉塞状態BKに変更するような場合が挙げられる。あるいは、障害(SF)に伴い閉塞状態BKとなっているリングポートPrを対象にFSコマンドが発行され、これに応じて、MC用ERP制御部22が閉塞状態BKのリングポートPrを別の要因(FS)で閉塞状態BKに制御するような場合が挙げられる。ここでは、一例として、図8および図9に示したような場合を想定する。
この場合、MC用ERP制御部22は、図13に示すように、VIDフィルタ制御要求部25からのVID制御命令に、図9の場合と同様のリングポートPr[1]の閉塞命令に加えて、その閉塞要因となるSFを含ませる。そして、MC用ERP制御部22は、図9の場合と同様に、ラインカードLC[1]に向けたICCMフレームICCM1に当該VID制御命令を格納する(ステップS504−1)。
一方、図13に示すように、当該アクティブカードからのVID制御命令を受信したLC用ERP制御部32(具体的にはポート制御部43)は、図9の場合と同様に、VID制御命令に含まれる開放命令または閉塞命令(ここでは閉塞命令)に応じて、VIDフィルタ36に所定の設定を行う。これによって、ポート制御部43は、リングポートPr[1]の実際の開閉を制御する(ここでは閉塞状態BKに制御する)(ステップS504−2)。
これに加えて、LC用ERP制御部32は、当該リングポートPr[1](およびVLAN識別子VID=1)の実際の開閉情報(ここでは閉塞状態BK)と、VID制御命令に含まれる当該リングポートPr[1]の閉塞要因(ここではSF)とをポート管理テーブル42に登録する(ステップS504−3)。なお、図12のステップS505の処理によって、図13に示すように、ラインカードLC[2]のLC用ERP制御部32のポート管理テーブル42には、リングポートPr[2](およびVLAN識別子VID=1)が開放状態OPであることが登録されている。
ここで、図12のステップS504における閉塞要因は、ITU−T G.8032の場合、FS(Forced Switch)、SF(Signal Fail)、MS(Manual Switch)、RB(RPL Blocked)の中から定められる。ただし、本実施の形態1の方式は、必ずしも、ITU−T G.8032に限らず、他のリングプロトコルであっても適用可能である。一般的に、リングプロトコルでは、閉塞要因として、SFのように、リングポートに障害が発生したことを表す要因と、RBのように、リングポートがデフォルト時のリングネットワークの閉塞ポートであることを表す要因とが含まれている。
図12において、MC用ERP制御部22は、ステップS504またはS505の処理ののち、リングプロトコルに基づく所定の処理(例えば、R−APSフレームの送信や、FDBのフラッシュや、リング状態の遷移等)を実行する(ステップS506)。また、MC用ERP制御部22は、ステップS502において、リングポートPrの制御が不要な場合も、ステップS506の処理を実行する。
図14は、図5の中継装置において、スタンバイカードとなる管理カード内のMC用ERP制御部が実行する主要な処理内容の一例を示すフロー図である。図15は、図14の一部の処理内容を説明する補足図である。図14において、スタンバイカードのMC用ERP制御部22は、リング状態をペンディング待機状態に定めた状態で待機する(ステップS601)。ペンディング待機状態とは、ITU−T G.8032に基づくペンディング状態に遷移する前の状態として、本実施の形態1で新たに設けられた状態である。
この状態で、MC用ERP制御部22は、アクティブチェンジ(所定の切り換え命令)が発生するのを待つ(ステップS602)。アクティブチェンジが発生した場合、MC用ERP制御部22は、アクティブチェンジに応じてアクティブカードに遷移し(ステップS603)、リング状態をペンディング待機状態からペンディング状態に遷移する(ステップS604)。そして、MC用ERP制御部22は、リングポートPrを有する各ラインカードからポート管理テーブル42の保持情報を取得する(ステップS605)。
ここで、アクティブカードおよびスタンバイカードの記憶部23は、予め共通の情報として、図9に示したようなリング管理テーブル45を保持している。ポート管理テーブル42の保持情報を取得したMC用ERP制御部22は、ポート管理テーブル42に含まれる各リングポートの実際の開閉情報に基づいて、リング管理テーブル45の開閉情報を更新する。
次いで、MC用ERP制御部22は、ポート管理テーブル42の保持情報の中に閉塞要因(言い換えれば閉塞状態BKのリングポートPr)が含まれるか否かを判別する(ステップS606)。閉塞要因が含まれない場合、MC用ERP制御部22は、アクティブカードとして、リングプロトコルに基づく所定の処理を行う(ステップS608)。一方、閉塞要因が含まれる場合、MC用ERP制御部22は、閉塞要因に応じたリング状態に遷移する(ステップS607)。
ステップS607において、MC用ERP制御部22は、具体的には、ステップS604でリング状態をペンディング状態に定めた状態で、例えば、閉塞要因に応じた強制イベントを内部で生成することでペンディング状態から閉塞要因に応じたリング状態に遷移する。この際には、例えば、図15に示すような強制イベントを用いることができる。図15において、MC用ERP制御部22は、取得した閉塞要因がFSの場合にはFSコマンドを生成し、SFの場合にはローカルSFを生成し、MSの場合にはMSコマンドを生成し、RBの場合にはクリアコマンドを生成する。
MC用ERP制御部22のリング状態は、FSコマンドに応じてFS状態に遷移し、ローカルSFに応じてプロテクション状態に遷移し、MSコマンドに応じてMS状態に遷移し、クリアコマンドに応じてアイドル状態に遷移する。MC用ERP制御部22は、このようにして、リング状態を正しい状態に復旧させたのち、ステップS608において、リングプロトコルに基づく所定の処理を行う。
図16は、図5および図6の中継装置において、冗長方式に関する主要部の構成例およびリングプロトコル動作の一例を示す概略図である。図16の中継装置では、ラインカードLCのICCM処理部40およびR−APS中継部41が、それぞれ、図22の場合と異なる動作を行うMC選択部(管理カード選択部)55,56を備える。
MC選択部55は、LC用ERP制御部32からの各種情報をICCMフレームICCM1[1]を介してアクティブカード(ここでは管理カードMC1)へ送信し、図22の場合と異なり、スタンバイカード(ここでは管理カードMC2)へは送信しない。また、MC選択部55は、両方の管理カードMC1,MC2からICCMフレームICCM1[1],ICCM1[2]を受信した場合、アクティブカード側からのICCMフレームICCM1[1]に含まれる各種命令を選択して、LC用ERP制御部32に伝達する。なお、図7で述べたように、各カード間の疎通性を監視するため、IMEP間でのICCMフレームの通信は、各種命令の有無に関わらず定期的に行われる。
同様に、MC選択部56は、リングポートPrでR−APSフレームを受信した場合、当該R−APSフレームをアクティブカード(ここでは管理カードMC1)へ送信し、図22の場合と異なり、スタンバイカード(ここでは管理カードMC2)へは送信しない。また、MC選択部56は、仮に両方の管理カードMC1,MC2からR−APSフレームを受信した場合、アクティブカード(管理カードMC1)からのR−APSフレームを選択して、リングポートPrへ送信する。この際に、図14に示したように、スタンバイカードはペンディング待機状態であるため、図22の場合と異なり、実際にはR−APSフレームの送信を行わない。
なお、図5および図6の中継装置は、必ずしも図16の構成および動作を備える必要はなく、場合によっては図22の構成および動作を備えてもよい。この場合であっても、リングプロトコル動作上の問題は特に生じない。例えば、スタンバイカードは、ペンディング待機状態でR−APSフレームを受信しても特に何も行わない。このように、スタンバイカードへのR−APSフレームの送信は、不必要であるため、ファブリック経路部20の通信量を削減する観点からは、図16の構成および動作を用いる方が望ましい。
《アクティブチェンジ時のリングプロトコル動作》
図17は、図5、図6および図16の中継装置において、アクティブチェンジ発生時のリングプロトコル動作の一例を示すシーケンス図である。図17は、前述した図23の問題を解決したシーケンスとなっている。ここでは、図23との相違点に着目して説明を行う。まず、スタンバイカード(SBY)となる管理カードMC2は、リング状態がペンディング待機状態で待機している(ステップ700)。この状態で、図23の場合と同様に、LOC状態が検出され(ステップS701)、アクティブカード(ACT)となる管理カードMC1は、ホールオフ期間(ステップS702)を経てSFを検出している(ステップS704)。
ここで、管理カードMC1は、当該SFの検出に応じて、ラインカードLCに向けて、対象のリングポートの閉塞命令を発行し、これに加えて図23の場合と異なり、その閉塞要因(ここではSF)を通知する(ステップS704)。また、管理カードMC1は、R−APS(SF)フレームを送信し、リング状態をプロテクション状態に遷移する(ステップS704)。一方、ラインカードLCは、閉塞命令に応じてリングポートを閉塞状態BKに制御し(ステップS705)、加えて、図13に示したようにポート管理テーブル42の登録を行う。この状態で、アクティブチェンジが発生している(ステップS706)。
スタンバイカード(SBY)であった管理カードMC2は、アクティブチェンジに応じて、アクティブカード(ACT)に遷移し、リング状態をペンディング待機状態からペンディング状態に遷移する(ステップS707b)。一方、アクティブカード(ACT)であった管理カードMC1は、アクティブチェンジに応じて、スタンバイカード(SBY)に遷移し、リング状態をプロテクション状態からペンディング待機状態に遷移する(ステップS707a)。
アクティブカード(ACT)に遷移した管理カードMC2は、リングポートを有するラインカードLCからポート管理テーブル42の保持情報を取得する(ステップS708,S709)。ポート管理テーブル42の保持情報の中には、各リングポートの開閉状態と、閉塞状態のリングポートに関する閉塞要因とが含まれている。ここでは、管理カードMC2は、ラインカードLCから所定のリングポートが閉塞状態BKである旨と、その閉塞要因がSFである旨の情報を取得する(ステップS709)。
管理カードMC2は、当該取得した閉塞要因(SF)に応じたリング状態(ここではプロテクション状態)に遷移する(ステップS710)。具体的には、管理カードMC2は、図15に示したように、内部で当該リングポートを対象とするローカルSFを生成することで、プロテクション状態に遷移する。プロテクション状態に遷移した管理カードMC2は、ラインカードLCに向けて、対象のリングポートの閉塞命令の発行と閉塞要因(SF)の通知とを行う(ステップS711)。また、当該管理カードMC2は、R−APS(SF)フレームの生成および送信を行う(ステップS712)。
なお、この例では、さらに、当該ステップS711,S712が実行される近辺のタイミングで、ラインカードLCは、リングポートのCCM状態を検出し、その情報をアクティブカードである管理カードMC2に送信している(ステップS713)。管理カードMC2は、当該情報に応じてクリアSFを検出し(ステップS714)、以降、図示は省略するが、図4に示したような障害復旧の処理が行われる。
このように、図17のシーケンスでは、アクティブチェンジの前後でリングネットワーク上の各中継装置は、共に、リング状態をプロテクション状態と認識することができ、図23の場合のように、リングプロトコル動作に不整合は生じない。その結果、図23の場合と異なり、リングネットワークのループ経路を防止することが可能になる。
図18は、図5、図6および図16の中継装置において、アクティブチェンジ発生時の他のリングプロトコル動作の一例を示すシーケンス図である。図18では、中継装置がオーナーノードである場合を例とする。図18のステップS900において、アクティブカード(ACT)となる管理カードMC1は、アイドル状態であり、スタンバイカード(SBY)となる管理カードMC2は、ペンディング待機状態である。また、ラインカードLCは、RPLのリングポートを閉塞状態BKに制御しており、閉塞要因としてRBを保持している。この状態で、アクティブチェンジが発生している(ステップS901)。
スタンバイカード(SBY)であった管理カードMC2は、アクティブチェンジに応じて、アクティブカード(ACT)に遷移し、リング状態をペンディング待機状態からペンディング状態に遷移する(ステップS902b)。一方、アクティブカード(ACT)であった管理カードMC1は、アクティブチェンジに応じて、スタンバイカード(SBY)に遷移し、リング状態をアイドル状態からペンディング待機状態に遷移する(ステップS902a)。
アクティブカード(ACT)となった管理カードMC2は、リングポートを有するラインカードLCからポート管理テーブル42の保持情報を取得する(ステップS903,S904)。ここでは、管理カードMC2は、ラインカードLCからRPLのリングポートが閉塞状態BKである旨と、その閉塞要因がRBである旨とを取得する(ステップS904)。管理カードMC2は、当該取得した閉塞要因(RB)に応じたリング状態(ここではアイドル状態)に遷移する(ステップS905)。具体的には、管理カードMC2は、図15に示したように、内部でクリアコマンドを生成することで、アイドル状態に遷移する。
アイドル状態に遷移した管理カードMC2は、ラインカードLCに向けて、RPLのリングポートの閉塞命令の発行と閉塞要因(RB)の通知とを行う(ステップS906)。また、当該管理カードMC2は、R−APS(NR,RB)フレームの生成および送信を行う(ステップS907)。このように、図18のシーケンスでは、アクティブチェンジの前後でリングプロトコル動作に不整合は生じない。
《本実施の形態1の主要な効果》
以上、本実施の形態1の中継装置および中継システムを用いることで、代表的には、アクティブチェンジの前後でリングプロトコル動作に不整合が生じず、耐障害性の向上が実現可能になる。具体的に説明すると、まず、アクティブチェンジの前後でリングプロトコル動作に不整合が生じないようにするためには、新たにアクティブカードとなった管理カードが、アクティブチェンジが生じた時点での、各リングポートの実際の開閉情報と、リングプロトコルに基づくリング状態とを認識できればよい。当該各リングポートの実際の開閉情報は、リングポートの開閉を実際に制御するラインカードに保持されている。したがって、新たにアクティブカードとなった管理カードは、当該開閉情報をラインカードから取得することができる。
一方、アクティブチェンジが生じた時点でのリング状態は、アクティブチェンジによって新たにスタンバイカードとなった管理カードが保持している。ただし、例えば、管理カードの障害発生に応じてアクティブチェンジが生じた場合等を考慮すると、新たにアクティブカードとなった管理カードが、新たにスタンバイカードとなった管理カード(すなわち障害が発生している管理カード)から当該リング状態を正しく取得するようなことは困難となる恐れがある。
こうした中、本発明者等が検討した結果、新たにアクティブカードとなった管理カードは、必ずしもリング状態そのものが無くても、これまでに説明したように、各リングポートの実際の開閉情報と、閉塞状態である場合の閉塞要因とが分かれば、正しいリング状態に復帰できることが判明した。この閉塞要因は、ラインカードに、各リングポートの実際の開閉情報と共に保持させることができる。すなわち、前述したように、管理カードがラインカードに向けてリングポートの閉塞命令を発行する際に、併せて閉塞要因も通知し、ラインカードに保持させればよい。
これにより、新たにアクティブカードとなった管理カードは、リングポートを有する各ラインカードから各リングポートの実際の開閉情報と閉塞要因とを取得することで、不整合が生じないリングプロトコル動作を実行することができる。その結果、耐障害性の向上が図れる。また、新たにアクティブカードとなった管理カードは、単にリングポートを有する各ラインカードから必要な情報を取得すればよいため、特に複雑な処理を必要とせず、リングプロトコル動作の引き継ぎを効率的に行うことが可能となる。
(実施の形態2)
《中継装置(比較例)の問題点》
図19は、本発明の比較例として検討した中継装置において、アクティブチェンジ発生時のリングプロトコル動作の一例を示すシーケンス図である。例えば、図7で述べたように、管理カードMC1,MC2のそれぞれは、ラインカードLCとの間でICCMフレームの通信を定期的に行う。ここで、図9等で述べたVID制御命令は、例えば、命令に変更等が生じた場合のみで割り込み方式によってICCMフレームに格納することが可能であるが、命令の変更有無に関わらず、当該定期的に送信されるICCMフレームに常に格納することも可能である。
この場合、ラインカードLCは、仮に、ある瞬間で何らかの原因によってICCMフレームを受信できない状況(すなわち命令の未受信)が生じても、定期的に送信される次のICCMフレームによって命令を受信することができる。ただし、この場合、図19に示すような問題が生じる恐れがある。
図19では、まず、ステップS1000において、アクティブカードとなる管理カードMC1は、アイドル状態でラインカードLCに向けてICCMフレームICCM11を送信し、スタンバイカードとなる管理カードMC2は、ペンディング待機状態でラインカードLCに向けてICCMフレームICCM21を送信する。ICCMフレームICCM11には、開放命令が格納され、ICCMフレーム21にも開放命令が格納される。すなわち、ペンディング待機状態の場合、ディフォルト設定として、開放命令を発行するものとする。一方、ラインカードLCは、図16に示したように、アクティブカードとなる管理カードMC1からの命令を選択する。
その後、ラインカードLCは、LOC状態を検出し(ステップS1001)、これに応じて、管理カードMC1は、SFの検出と、ラインカードLCに向けた閉塞命令および閉塞要因(SF)の送信(すなわちICCMフレームICCM12の送信)と、R−APS(SF)フレームの送信とを行う(ステップS1002)。これに応じて、ラインカードLCは、対象のリングポートを閉塞状態BKに制御し、また、閉塞要因(SF)を保持する(ステップS1003)。一方、当該ICCMフレームICCM12の送信タイミングと同等のタイミングで、管理カードMC2も、ラインカードLCに向けてICCMフレームICCM22を送信する。ただし、ラインカードLCは、スタンバイカードからのICCMフレームICCM22に含まれる命令(ここでは開放命令)を無視する。
この状態でアクティブチェンジが発生している(ステップS1004)。新たにアクティブカードとなった管理カードMC2は、ペンディング状態に遷移し(ステップS1005)、実施の形態1で述べたように、ラインカードLCからポート管理テーブル42の保持情報を取得する(ステップS1007)。ただし、ここでは、管理カードMC2は、当該ポート管理テーブル42の保持情報の取得が完了する前に、ラインカードLCに向けてICCMフレームICCM23を送信している。すなわち、ICCMフレームは、ICCM処理部24によって、MC用ERP制御部22とは独立したタイミングで送信されるため、このような状況が生じる恐れがある。
ICCMフレームICCM23には、ポート管理テーブル42の保持情報が反映されていないため、依然として開放命令が格納されている。一方、ラインカードLCは、アクティブカードとなる管理カードMC2から開放命令を受信したため、当該命令に応じて、リングポートを閉塞状態BKから開放状態OPに制御する(ステップS1006’)。その結果、リングネットワークにループ経路が生じ得る。そこで、以下に示す本実施の形態2の方式を用いることが有益となる。
《LC用ERP制御部の処理》
図20は、本発明の実施の形態2による中継装置において、図6のLC用ERP制御部が実行する主要な処理内容の一例を示すフロー図である。図20において、LC用ERP制御部32は、アクティブチェンジが発生するのを待つ(ステップS1101)。LC用ERP制御部32(具体的はポート制御部43)は、アクティブチェンジが発生した場合、これに応じて、リングポートの閉塞から開放への制御を禁止する制御保留状態に遷移する(ステップS1102)。そして、ポート制御部43は、新たにアクティブカードとなった管理カードから保留解除命令が発行されるまで制御保留状態を維持し(ステップS1102,S1103)、保留解除命令を受信すると、制御保留状態を解除する(ステップS1104)。
《中継装置(本実施の形態2)のアクティブチェンジ時のリングプロトコル動作》
図21は、本発明の実施の形態2による中継装置において、アクティブチェンジ発生時のリングプロトコル動作の一例を示すシーケンス図である。図21に示すシーケンスは、ステップS1004でアクティブチェンジが発生するまでは、図19に示したシーケンスと同様である。アクティブチェンジに応じて新たにアクティブカードとなった管理カードMC2は、ペンディング状態に遷移し(ステップS1005a)、図19の場合と同様に、ラインカードLCに向けて開放命令が格納されたICCMフレームICCM23を送信する(ステップS1006)。
一方、ラインカードLCは、図19の場合と異なり、アクティブチェンジに応じて制御保留状態に遷移する(ステップS1005b)。ラインカードLCは、ステップS1006で開放命令が格納されたICCMフレームICCM23を受信するが、制御保留状態であるため、リングポートの閉塞状態BKを維持する。また、管理カードMC2は、ICCMフレームICCM23を送信したのち、ラインカードLCからポート管理テーブル42の保持情報を取得する(ステップS1007,S1008)。ここでは、管理カードMC2は、ラインカードLCから所定のリングポートが閉塞状態BKである旨と、その閉塞要因がSFである旨とを取得する(ステップS1008)。
管理カードMC2は、当該取得した閉塞要因(SF)に応じてプロテクション状態に遷移する(ステップS1009)。そして、管理カードMC2は、当該取得したポート管理テーブル42の保持情報に基づき、各リングポートの開閉情報を認識し、かつ閉塞時には閉塞要因に応じたリング状態に遷移した段階で、ラインカードLCに向けて保留解除命令を発行する(ステップS1010)。当該保留解除命令は、例えば、ICCMフレームに格納することが可能である。ラインカードLCは、当該保留解除命令に応じて、制御保留状態を解除する(ステップS1011)。
なお、ステップS1009でプロテクション状態に遷移した管理カードMC2は、プロテクション状態に遷移したのちに、最初に送信するICCMフレームICCM24の中に、閉塞命令および閉塞要因(SF)を格納する。図21では、保留解除命令とICCMフレームICCM24とを分けているが、当該保留解除命令は、当該ICCMフレームICCM24に併せて格納することも可能である。
このように、制御保留状態を設けることで、新たにアクティブカードとなった管理カードが各リングポートの開閉状態や、リングプロトコルに基づくリング状態を正しく認識する前に、リングポートが閉塞状態BKから開放状態OPに変更されることを禁止することができる。これによって、リングネットワークで特に問題を引き起こすループ経路の発生をより確実に防止することができる。
一方、ラインカードLCは、制御保留状態であっても、開放状態OPから閉塞状態BKへの変更に関しては、ループ経路の発生要因とはならないため許可する。したがって、例えば、新たにアクティブカードとなった管理カードが、保留解除命令を発行する前にSFを検出したような場合には、ラインカードLCに向けてリングポートの閉塞命令を発行し、当該ラインカードLCは、当該閉塞命令を許可することになる。その結果、障害発生時には、対象のリングポートを早期に閉塞することが可能になる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
例えば、ここでは、中継システムのリングプロトコルとして、ITU−T G.8032に規定されたリングプロトコルを用いる場合を例としたが、必ずしもこれに限定されるものではなく、他のリングプロトコルを用いる場合であっても、同様に適用して同様の効果が得られる場合がある。