(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお実施の形態を説明するための全図において同一部には原則として同一符号を付しその繰り返しの説明は省略する。
【0015】
本実施の形態の中継装置は、
図4,
図5等に示すように、複数の管理カード10からPCI express(登録商標)による第1の通信網40を介して複数のスイッチファブリックカード20を制御する構成において、スイッチファブリックカード20内に、エラー制御機能に対応したSoC23等を設ける。スイッチファブリックカード20内のPCIeSW21は、管理カード10とスイッチファブリックカード20との間の第1の通信網40における障害や、PCIeSW21の内部の異常の場合、エラー信号401を出力する。SoC23は、エラー信号401を入力した場合、ログ情報を記録し、停止信号402を出力する。SWLSI22は、停止信号402を入力した場合、当該スイッチファブリックカード20を異常の状態と認識し、複数のラインカード30との間の制御フレーム通信を停止する。これにより、当該スイッチファブリックカード20と複数のラインカード30との間のデータ転送が停止される。
【0016】
[通信システム]
図1は、一実施の形態の中継装置1を含む通信システムの構成例を示す。
図1の通信システムにおいて、中継装置1は、広域通信網であるネットワーク3と、他の中継装置2とに接続される。他の中継装置2は、本実施の形態の中継装置1と同じ種類の装置でもよいし、他の種類の装置でもよい。他の中継装置2は、更に他の中継装置2やユーザの端末4に接続される。
図1の中継装置1と2つの他の中継装置2とはリング型の接続である。
【0017】
中継装置1は、OSIに基づくレイヤ2の中継処理を行うL2スイッチ等に該当する。中継装置1は、複数の管理カード10、複数のスイッチファブリックカード20、及び複数のラインカード30を備える。管理カード10、スイッチファブリックカード20、及びラインカード30の各カードは、多重化による冗長の構成である。
【0018】
複数の管理カード10と複数のスイッチファブリックカード20とは、PCI expressによる第1の通信網40で接続される。なおPCI expressをPCIeと略す。管理カード10は、第1の通信網40のパスを介して制御用のパケットを送受信することにより、複数のスイッチファブリックカード20を制御し、状態を管理する。また管理カード10は、中継装置1の運用保守管理のためのユーザインタフェースを提供し、各カードの設定や確認を含め、中継装置1全体の管理を可能とする。本実施の形態では、冗長構成の2枚の管理カード10をPCIeのネットワークにおけるホストとした所謂マルチホストシステムを構成する。
【0019】
複数のスイッチファブリックカード20と複数のラインカード30とは、イーサネットによる第2の通信網50で接続される。スイッチファブリックカード20は、第2の通信網50のパスを用いて、複数のラインカード30との間でのデータ転送のスイッチを行う。スイッチファブリックカード20は、例えば第1のラインカード30からデータフレームを受信し、当該データフレームの宛先に対応した第2のラインカード30へ当該データフレームを転送する。
【0020】
ラインカード30は、当該ラインカード30毎に対応する外部インタフェース60により外部機器と接続される。ラインカード30は、外部インタフェース60及び複数のスイッチファブリックカード20との間でデータ転送を行う。ラインカード30は、送信元のMACアドレスと受信ポートとの対応関係の情報を格納するテーブルを保持する。ラインカード30は、例えば外部機器からのデータフレームを受信し、スイッチファブリックカード20へ転送する。またラインカード30は、スイッチファブリックカード20から転送されたデータフレームを受信し、外部機器へ向けて送信する。
【0021】
外部インタフェース60は、例えばイーサネット等の通信規格に対応したインタフェースである。ネットワーク3は、例えばイーサネットに対応したコアスイッチ網等の広域通信網である。
図1の例では、第1のラインカード30であるLC1は、ネットワーク3が接続され、第2のラインカード30であるLC2は、他の中継装置2であるXが接続され、第3のラインカード30であるLC3は、他の中継装置2であるYが接続されている。
【0022】
なお、個別のカードの識別情報として、各管理カード10をMC1,MC2で示す。同様に、各スイッチファブリックカード20をFC1,FC2で示す。各ラインカード30をLC1,LC2,LC3で示す。
【0023】
[シャーシ型の中継装置]
図2は、一実施の形態のシャーシ型の中継装置1におけるカードの着脱による接続の構成を示す。中継装置1は、筐体内に配線基板201を有する。配線基板201は複数のスロット202を有する。ユーザによる着脱の操作に基づいて、複数の各々のスロット202に対し、複数の各々のカードである、管理カード10、スイッチファブリックカード20、及びラインカード30が、物理的及び電気的に接続される。各カードは、ケーブルを接続するポート203を有する。
【0024】
[複数のカードの構成例]
図3は、一実施の形態のシャーシ型の中継装置1における複数のカードの接続の構成例を示す。
図3の中継装置1は、2枚の管理カード10、3枚のスイッチファブリックカード、及び10枚のラインカード30が接続される。各管理カード10と各スイッチファブリックカード20との間は、第1の通信網40のパス41で接続される。各スイッチファブリックカード20と各ラインカード30との間は、第2の通信網50のパス51で接続される。
【0025】
各カードの冗長の構成において、各カードは、現用と予備の状態が設定されてもよい。例えば、2枚の管理カード10は、少なくとも一方の管理カード10、例えばMC1が、現用の状態として動作し、3枚のスイッチファブリックカード20の状態を制御及び管理する。他方のMC2は、予備の状態として動作する。MC1が障害の場合は、MC2が現用の状態に切り替えられる。なおその場合、2枚の管理カード10の間は所定の通信網例えばイーサネットで接続され、互いに状態の監視による障害の検出が行われる。
【0026】
また、3枚のスイッチファブリックカード20は、少なくとも1枚のスイッチファブリックカード20が、現用の状態として動作する。例えばFC1及びFC2は現用の状態として、FC3は予備の状態として動作する。管理カード10からの制御に基づいて、必要に応じて、予備のFC3は、現用の状態へ切り替えられる。
【0027】
また、10枚のラインカード30は、それぞれ、現用の状態として動作する。例えば、5枚のラインカード30であるLC1〜LC5は、スイッチファブリックカード20であるFC1との間でデータ転送を行い、他の5枚のラインカード30であるLC6〜LC10は、スイッチファブリックカード20であるFC2との間でデータ転送を行う。各カードの枚数及び現用と予備の状態の制御は、上記例に限らず可能である。
【0028】
[中継装置の機能ブロック構成]
図4は、一実施の形態の中継装置1の機能ブロック構成を示す。
図4の中継装置1は、2枚の管理カード10、2枚のスイッチファブリックカード、及び3枚のラインカード30が接続された構成例である。以下の説明ではこの構成例を用いる。
【0029】
管理カード10は、CPU11、及びRC12を備える。CPU11とRC12とが接続される。CPU11は、プロセッサであり、管理カード10自身の制御処理と、PCIeによる第1の通信網40を通じた複数のスイッチファブリックカード20に対する制御処理とを行う。
【0030】
RC12は、PCIeによる第1の通信網40におけるPCIeバスによるパス41に接続される。RC12は、PCIeのネットワークの構成要素であるRoot Complexであり、ツリー型のネットワークのルートに位置する通信部である。パス41は、PCIeバス上の制御プレーンを含み、制御用のパケットが送受信される。RC12は、CPU11からの制御情報を格納したパケットをパス41で送信する処理、及びスイッチファブリックカード20のPCIeSW21からのパケットをパス41で受信する処理を行う。
【0031】
スイッチファブリックカード20は、PCIeSW21、SWLSI22、及びSoC23を備える。PCIeSW21とSWLSI22との間は、PCIeに対応した制御用のパス26で接続される。第1の通信網40は、RC12とPCIeSW21とSWLSI22とを接続するPCIeのネットワークであり、パス26を含む。パス26は、PCIeバス上の制御プレーンを含み、制御用のパケットが送受信される。
【0032】
PCIeSW21は、PCIeのネットワークの構成要素であるPCI express Switchであり、RC22とEnd PointであるSWLSI22との間でPCIeのパケットを中継する機能を有する接続部である。PCIeSW21は、複数のポートとして、後述のPT1,PT2を含む。
【0033】
SWLSI22は、当該スイッチファブリックカード20と複数のラインカード30との間でのデータ転送のスイッチを行うSwitch LSIによるスイッチ部である。SWLSI22は、PCIeのネットワークの構成要素として、End Pointであり、ツリー型のネットワークの終端部である。SWLSI22は、複数のポートとして、後述のSP1〜SP3を含む。
【0034】
PCIeSW21とSoC23との間は、ハードウェア線であるエラー信号線24で接続される。SoC23とSWLSI22との間は、ハードウェア線である停止信号線25で接続される。
【0035】
SoC23は、1つの半導体チップ上に特定の機能が集積された回路であるSystem-on-a-Chipであり、特有のエラー制御機能が実装されたエラー制御部である。エラー制御機能は、PCIeによる第1の通信網40における障害やスイッチファブリックカード20の内部の異常等をエラーとして検出して、中継装置1の内部管理機能上、当該スイッチファブリックカード20を異常の状態として制御する機能である。またSoC23は、エラーの発生の履歴を含むログ情報を記録する機能を含む。
【0036】
ラインカード30は、CPU31、及びTMLSI32を備える。CPU31は、ラインカード30自身の制御処理を行うプロセッサである。TMLSI32は、外部インタフェース60、及び複数のスイッチファブリックカード20との第2の通信網50のパス51に対するデータ転送の処理を行うLSIによる転送部である。
【0037】
TMLSI32は、複数のポートを含む。複数のポートは、第2の通信網50側のパス51に接続されるポートであるF1,F2と、外部インタフェース60側のパス61に接続されるポートであるP1〜Pnとを含む。
【0038】
第2の通信網50のパス51は、イーサネットのバス上に構成されるフレームパスである。1本のパス51は、複数のレーンを含む。例えば、1本のパス51は、12本のレーンで構成される。1本のレーンは、12Gbpsの帯域を持つ。即ち1本のパス51は、100Gbpsのデータ転送が十分に可能な帯域を持つ。各パス51及び各レーンは、イーサネットのフレームとしてデータフレーム及び制御フレームが送受信される。制御フレームは、制御情報によるフレームである。
【0039】
外部インタフェース60のパス61は、例えばイーサネットによるパスである。1枚のラインカード30が外部インタフェース60から受け取るデータ量が例えば最大100Gbpsの場合、1本のパス61は、100Gbpsのデータ転送が可能な帯域を持つ。
【0040】
中継装置1内の第2の通信網50におけるスイッチファブリックカード20とラインカード30との間のデータ転送は、冗長構成及び帯域の設計により、高い転送性能及び信頼性が確保される。帯域の設計としては、現用の状態の1枚のスイッチファブリックカード20で100Gbpsの転送を十分に賄うことができる帯域が確保される。
【0041】
[スイッチファブリックカードの機能ブロック構成]
図5は、中継装置1のスイッチファブリックカード20の機能ブロック構成を示す。PCIeSW21は、複数のポート211として、PT1,PT2,PT3を含む。PT1は、管理カード10であるMC1とのパス41に接続される。PT2は、MC2とのパス41に接続される。PT3は、SWLSI22とのパス26に接続される。これらの各ポート間は接続され、制御用のパケットが転送される。
【0042】
PCIeSW21は、エラー制御機能の構成要素であるエラー検出部212を含む。エラー検出部212は、SWLSI22とのパス26を含むPCIeによる第1の通信網40における断線等の障害、及びPCIeSW21の内部の回路における故障等の異常を、エラーとして検出する。エラー検出部212は、エラーを検出した時、エラー信号線24へエラー信号401を出力する。エラー信号401は、本実施の形態の特有の制御信号であり、上記PCIeの第1の通信網40及びPCIeSW21における致命的なエラーの発生を表す信号である。
【0043】
具体的に、エラー検出部212は、第1の通信網40のパス41及びSWLSI22とのパス26におけるPCIeバスの断線や不良等を、当該パスに接続されるPCIeのポート211におけるリンクダウンの検出の仕組み、ポート211のデータのCRC等の仕組みにより、障害として検出する。CRCは巡回冗長検査である。またエラー検出部212は、PCIeSW21の内部の回路の故障等の異常を、PCIeSW21の内部のバッファメモリ等のデータのECC等の仕組みにより、障害として検出する。ECCは誤り訂正符号を用いた誤り検出である。
【0044】
SWLSI22は、複数のポート221として、SP0,SP1,SP2,SP3を含む。SP0は、PCIeSW21とのパス26に接続される。SP1〜SP3は、それぞれ、対応するラインカード30とのパス51に接続される。
【0045】
SWLSI22は、制御通信部222を有する。制御通信部222は、通常時、後述の
図6に示す制御フレーム通信として、複数のラインカード30との複数のポート221及び対応するパス51を用いて、定常的に制御フレーム411を送信する処理を行う。また制御通信部222は、後述の
図7に示す制御フレーム通信として、複数の各々のラインカード30からの制御フレーム412を、複数のポート221及び対応するパス51を用いて受信する。
【0046】
SoC23は、エラー信号入力部231、ログ記録部232、及び停止信号出力部233を有する。エラー信号入力部231は、エラー信号線24、ログ記録部232及び停止信号出力部23に対して接続される。エラー信号入力部231は、PCIeSW21のエラー検出部212からのエラー信号401を入力及び受信した場合、ログ記録部232及び停止信号出力部233に対し、当該エラー信号401を出力する。
【0047】
ログ記録部232は、例えば不揮発性メモリやレジスタを含み、当該エラー信号401を含むログ情報を記録し保持する。ログ記録部232に保持されたエラー信号401を含むログ情報は、外部入出力インタフェースを介して参照可能である。例えば中継装置1の運用保守管理を行うユーザは、中継装置1の不具合時、即ちスイッチファブリックカード20の異常等の時に、管理カード10により提供されるユーザインタフェースを介して、上記エラー信号401を含むログ情報を参照する。ユーザは、ログ情報の内容を見ることにより、当該スイッチファブリックカード20の異常等の状況を確認でき、スイッチファブリックカード20の交換等の保守対応ができる。
【0048】
停止信号出力部233は、エラー信号入力部231からのエラー信号401を入力した場合、停止信号402を停止信号線25へ出力する。停止信号402は、本実施の形態の特有の制御信号であり、SWLSI22に対して当該スイッチファブリックカード20を異常の状態として認識させ、制御フレーム通信の停止を指示する信号である。
【0049】
SWLSI22は、停止信号線25からの停止信号402を制御通信部222に入力する。制御通信部222は、停止信号402を入力及び受信した場合、制御フレーム通信を停止する。即ち、制御通信部222は、複数のラインカード30に対するポート221からの制御フレーム411の送信を停止する。
【0050】
[FC−LC間の正常性確認の方式(1)]
図6,
図7は、本実施の形態の中継装置1におけるスイッチファブリックカード20とラインカード30との間の接続の正常性の確認の方式として制御フレーム通信を示す。この制御フレーム通信は、スイッチファブリックカード20とラインカード30との間の接続の正常性を確認する方式の1つである。この制御フレーム通信は、スイッチファブリックカード20とラインカード30との間で、双方向で、互いに、定常的に制御フレームを送受信する。本実施の形態の中継装置1は、双方向での制御フレーム通信を行う機能を備える。なおこの制御フレーム通信は、ハードウェアの回路のレベル、即ちSWLSI22やTMLSI32のレベルで自動的に実行される。
【0051】
図6は、スイッチファブリックカード20からラインカード30への方向での制御フレーム通信を示す。スイッチファブリックカード20のSWLSI22は、制御通信部222により、ポート221からパス51上に、データフレームの送信の間に混ぜて、一定時間間隔で、制御フレーム411を送信し続ける。相手であるラインカード30は、パス51に接続されるポートから、制御フレーム411を一定時間間隔で受信する。
【0052】
ラインカード30は、相手であるスイッチファブリックカード20からの制御フレーム411が自身に到達しているかどうかにより、当該スイッチファブリックカード20及びパス51における接続の正常性を含む状態を判断及び確認する。ラインカード30は、制御フレーム411を一定時間間隔で受信している場合、相手のスイッチファブリックカード20及びパス51における接続の正常の状態と判断する。ラインカード30は、制御フレーム411を一定時間経過しても受信できない場合、相手のスイッチファブリックカード20及びパス51における接続の異常の状態と判断する。
【0053】
制御フレーム通信による接続の正常性の確認の結果、正常と判断されたパス51及びそのレーンは、データ転送に使用され、異常と判断されたパス51及びそのレーンは、データ転送に使用されない。ラインカード30は、異常と判断したスイッチファブリックカード20とのパス51に接続されるポートを、以降のデータ転送で使用しないようにする。言い換えると、当該ポートは、一時的に転送先の候補から外される。またラインカード30は、一旦異常と判断したスイッチファブリックカード20とのパス51が、正常に戻ったと判断した場合、当該パス51に接続されるポートを、再度、データ転送に使用するようにする。言い換えると、当該ポートは、転送先の候補として追加される。
【0054】
図6で、複数のパス51として、例えばp1〜p6を示す。p1〜p3は、スイッチファブリックカード20であるFC1と、各ラインカード30であるLC1〜LC3との間のパス51である。p4〜p6は、同様に、FC2とLC1〜LC3との間のパス51である。
【0055】
通常時、SWLSI22とTMLSI32との間では、正常な状態における各パス51の各レーンにおいて、データフレーム及び制御フレームが送受信される。例えば、FC1のSWLSI22の制御通信部222は、各ポート221からp1〜p3の各パス51の各レーンに、f1〜f3で示す制御フレーム411を、一定時間間隔で送出する。
【0056】
一方、各ラインカード30であるLC1〜LC3のTMLSI32は、上記パス51に接続されるポートから制御フレーム411を受信する。例えばLC1のTMLSI32は、p1のパス51からのf1の制御フレーム411を受信できない場合、FC1及びp1のパス51が異常であると判断する。なお上記接続の正常性の判断、ならびに転送に使用するかどうかの制御は、パス単位及びレーン単位で同様に可能である。また制御例としては、ある1レーンが異常の場合、当該レーンを含む1本のパス51の単位で異常とし、当該パス51の単位で転送が停止される。
【0057】
[FC−LC間の正常性確認の方式(2)]
図7は、ラインカード30からスイッチファブリックカード20への方向での制御フレーム通信を示す。ラインカード30のTMLSI32は、ポートからパス51上に、データフレームの送信の間に混ぜて、一定時間間隔で、制御フレーム412を送信し続ける。相手であるスイッチファブリックカード20は、パス51に接続されるポート221から、制御フレーム412を一定時間間隔で受信する。
【0058】
スイッチファブリックカード20のSWSLI22の制御通信部222は、相手であるラインカード30からの制御フレーム412が自身に到達しているかどうかにより、当該ラインカード30及びパス51における接続の正常性を含む状態を判断及び確認する。スイッチファブリックカード20は、制御フレーム412を一定時間間隔で受信している場合、相手のラインカード30及びパス51における接続の正常の状態と判断する。スイッチファブリックカード20は、制御フレーム412を一定時間経過しても受信できない場合、相手のラインカード30及びパス51における接続の異常の状態と判断する。
【0059】
制御フレーム通信による接続の正常性の確認の結果、正常と判断されたパス51及びそのレーンは、データ転送に使用され、異常と判断されたパス51及びそのレーンは、データ転送に使用されない。スイッチファブリックカード20は、異常と判断したラインカード30とのパス51に接続されるポート221を、以降のデータ転送で使用しないようにする。またスイッチファブリックカード20は、一旦異常と判断したラインカード30とのパス51が、正常に戻ったと判断した場合、当該パス51に接続されるポート221を、再度、データ転送に使用するようにする。
【0060】
図7で、例えば、ラインカード30であるLC1のTMLSI32は、各ポートからp1及びp4の各パス51の各レーンに、g1及びg2で示す制御フレーム412を、一定時間間隔で送出する。一方、各スイッチファブリックカード20であるFC1及びFC2のSWLSI22は、上記パス51に接続されるポート221から制御フレーム412を受信する。例えばFC1のSWLSI22の制御通信部222は、p1のパス51からのg1の制御フレーム412を受信できない場合、LC1及びp1のパス51が異常であると判断し、以降のデータ転送で使用しないようにする。
【0061】
なお、
図7のラインカード30からの方向の制御フレーム通信の機能は、スイッチファブリックカード20のSoC23による停止の制御はされない。よって、変形例の中継装置として、
図6のスイッチファブリックカード20からの方向の制御フレーム通信の機能のみを備える形態としてもよい。ただし
図7の方向の制御フレーム通信の機能は、データ転送の経路の選択及び切り替えのためには具備している方が好ましい。
【0062】
[FC−LC間の経路の切り替え(1)]
図6,
図7を用いて、第2の通信網50におけるスイッチファブリックカード20とラインカード30との間の接続の異常時におけるデータ転送の経路の選択及び切り替えに関する例を説明する。
【0063】
図6中に、スイッチファブリックカード20からの方向の制御フレーム通信に対応した、接続の異常時の経路の切り替えの例を示す。600で示す実線の矢印は、正常時における送信元の装置からの宛先の端末4であるAへの伝送の経路の例を示す。600で示す経路は、順に、図示しない送信元の装置から、
図1のネットワーク3、中継装置1、他の中継装置2であるX,Yを経由して、宛先の端末4であるAへ至る経路である。この経路は、中継装置1内部のデータ転送の経路としては、順に、LC1,p1,FC1,p2,LC2を通る。
【0064】
LC1は、送信元の装置からの宛先がAであるフレームをネットワーク3から受信する。LC1は、例えば転送先をFC1として、そのパス51であるp1のポートから当該フレームを送信する。FC1は、p1のポートからフレームを受信し、例えば転送先をLC2として、そのパス51であるp2のポートから当該フレームを送信する。LC2は、p2のポートからフレームを受信し、他の中継装置2であるXへ送信する。当該フレームは、XからYへ送信され、Yから宛先の端末4であるAへ送信される。
【0065】
601は、例えばFC1とLC1との間のp1における、断線等による障害の発生を示す。この場合、前述のスイッチファブリックカード20からの方向の制御フレーム通信において、FC1からLC1への制御フレーム411であるf1が到達しない。よって、LC1は、FC1及びp1を異常と判断し、p1をデータ転送に使用しないようにする。即ち、LC1は、p1以外のパス51、例えばFC2とのp4及び対応するポートを使用するように、転送先を変更する。602は、当該使用するパス51を含む経路の切り替えを示す。これにより、切り替え後の中継装置1内の経路は、順に、LC1,p4,FC2,p5,LC2を通る。
【0066】
[FC−LC間の経路の切り替え(2)]
図7中に、ラインカード30からの方向の制御フレーム通信に対応した、接続の異常時の経路の切り替えの例を示す。正常時の経路は同じ600とする。
【0067】
701は、例えばFC1とLC2との間のp2における、断線等による障害の発生を示す。この場合、前述のラインカード30からの方向の制御フレーム通信において、LC2からFC1への制御フレーム412であるg3が到達しない。よって、FC1は、LC2及びp2を異常と判断し、p2をデータ転送に使用しないようにする。即ち、FC1は、p2以外のパス51、例えばLC3とのp3及び対応するポートを使用するように、転送先を変更する。702は、当該使用するパス51を含む経路の切り替えを示す。これにより、切り替え後の中継装置1内の経路は、順に、LC1,p1,FC2,p3,LC3を通る。切り替え後の装置間の経路は、中継装置1から、他の中継装置2であるYを経由して、宛先の端末4であるAへ至る。
【0068】
上記601や701の例のような、中継装置1内の経路の切り替えに関して、管理カード10は、第1の通信網40のパス41を用いてスイッチファブリックカード20のSWLSI22に対する制御を行う。
図6,
図7で、通常時、第1の通信網40におけるパス41であるc1〜c4が正常の状態である。例えば管理カード10であるMC1は、c1を用いてFC1のSWLSI22に対する制御を行い、c2を用いてFC2のSWLSI22に対する制御を行う。同様に、MC2は、c3を用いてFC1のSWLSI22に対する制御を行い、c4を用いてFC2のSWLSI22に対する制御を行う。
【0069】
例えばMC1のCPU11は、c1の制御プレーンを用いて、制御用のパケットをFC1のPCIeSW21へ送信する。PCIeSW21は、当該制御用のパケットを、パス26を通じてSWLSI22へ送信する。SWLSI22は、当該制御用のパケットに従い、当該スイッチファブリックカード20の状態や、データ転送の経路の設定等が制御される。
【0070】
上記例のように、中継装置1内のデータ転送の経路の選択及び切り替え等を含む制御に関して、第2の通信網50での制御フレーム通信による正常性確認や、第1の通信網40での制御用の通信が行われる。
【0071】
SWLSI22に設定される経路情報、即ち中継装置1内のフレームの転送の経路は、管理カード10のCPU11からのSWLSI22に対する制御により設定される。例えば中継装置1と外部装置との接続に変更があった場合、当該制御により、自動的に、SWLSI22の経路情報が、他の経路へ切り替わるように更新される。
【0072】
上記SWLSI22の経路情報の更新が必要な際、第1の通信網40の障害がある場合、CPU11からのSWLSI22への制御の通信ができないので、SWLSI22の経路情報の更新を正しく行うことができない。よって、誤った経路でフレームの転送がされる可能性がある。この状態は望ましくないので、高い可用性を実現するため、本実施の形態の中継装置1は、エラー制御機能により、上記障害の場合でも、SWLSI22に対する制御を実現し、経路の切り替え等を可能とする。
【0073】
[エラー制御機能が無い場合の構成]
図8は、一実施の形態の中継装置1bとして、エラー制御機能が無い場合の構成、及び当該構成における第1の通信網40の障害時における課題について示す。
図8の中継装置1bの構成は、
図4等の中継装置1の構成に比べ、スイッチファブリックカード20においてSoC23等によるエラー制御機能を備えない点が異なる。
【0074】
中継装置1bの構成では、特許文献1のような先行技術例の中継装置の構成に比べ、管理カード10等の冗長構成により、可用性が高くなる。2枚の管理カード10のCPU11から、PCIeによる第1の通信網40を介してスイッチファブリックカード20を制御する。一方の管理カード10が異常の場合にも、他方の正常な管理カード10によりスイッチファブリックカード20の制御を継続することができる。
【0075】
なおスイッチファブリックカード20は、小型化やコストの点で不利になることからCPUを搭載せず、管理カード10に搭載されるCPU11から制御される。
【0076】
しかし、この中継装置1bの構成では、第1の通信網40における管理カード10とスイッチファブリックカード20との間の障害の場合、管理カード10のCPU11からのスイッチファブリックカード20のSWLSI22に対する制御の通信ができない。
【0077】
上記障害の例として、91は、第1の通信網40のパス41のうち、MC1とFC1とのパス41であるc1における断線等を示す。92は、MC2とFC1とのパス41であるc3における断線等を示す。93は、FC1の内部のPCIeSW21とSWLSI22との間のパス26の断線等を示す。94は、FC1のPCIeSW21の内部の回路の故障等の異常を示す。
【0078】
91,93,94のいずれかの障害の場合、MC1は、c1の制御プレーンを用いたFC1のSWLSI22への制御ができない。同様に、92,93,94のいずれかの障害の場合、MC2は、c3の制御プレーンを用いたFC1のSWLSI22への制御ができない。
【0079】
上記障害の場合、当該スイッチファブリックカード20であるFC1としては異常の状態と言えるので、中継装置1bは、高い可用性の実現のために、内部管理機能上、当該FC1を異常の状態として管理及び制御したい。しかし、中継装置1bは、上記のようにCPU11からのSWLSI22に対する制御ができない状態なので、当該FC1を異常の状態としてラインカード30とのデータ転送を停止させることができない。
【0080】
また上記のようなPCIeによる第1の通信網40のパス41における障害の場合、管理カード10のCPU11は、その処理方法によっては、SWLSI22からの応答を待ち続けることになり、スタック等のエラーになる場合がある。
【0081】
[エラー制御機能]
図9は、前述のエラー制御機能を備える一実施の形態の中継装置1の構成における、第1の通信網40の障害時のスイッチファブリックカード20の制御について示す。
図4,
図10等に示す中継装置1は、
図8の構成から更に工夫して、SoC23等によるエラー制御機能を備えた構成である。これにより、中継装置1は、
図8の91〜94の例のような障害の場合でも、当該スイッチファブリックカード20を異常の状態としてラインカード30とのデータ転送を停止させることができる。
【0082】
図9で、管理カード10とスイッチファブリックカード20との間のPCIeによる第1の通信網40において、例えば91,93,94のいずれかの障害が発生したとする。これにより、管理カード10であるMC1のCPU11からのスイッチファブリックカード20であるFC1のSWLSI22に対する制御ができない状態になる。なおここではMC1が現用の状態、MC2が予備の状態を例にする。MC1が予備の状態でMC2が現用の状態の場合や、MC1とMC2の両方が現用の状態の場合も、91〜94の障害の状況に応じて同様にFC1のSWLSI22に対する制御ができない状態になる。
【0083】
上記障害のように、いずれの管理カード10からもスイッチファブリックカード20のSWLSI22を制御できない状況の場合において、本実施の形態の中継装置1は、以下のように動作する。当該FC1のPCIeSW21は、エラー検出部212により、当該障害、例えば91を検出し、自動的にエラー信号線24へエラー信号401を出力する。SoC23は、エラー信号401を入力し、前述のようにログ情報を記録すると共に、停止信号線25へ停止信号402を出力する。SWLSI22は、停止信号402を入力し、当該FC1の異常の状態を認識し、制御通信部222による制御フレーム411の送信を停止させる。
【0084】
1001は、FC1のSWLSI22からの各ラインカード30であるLC1〜LC3とのパス51であるp1〜p3における制御フレーム411であるf1〜f3の送信の停止を示す。これにより、各ラインカード30であるLC1〜LC3は、TMLSI32に制御フレーム411が到達しないので、当該FC1及び対応するパス51を異常と判断し、当該パス51に対応するポートをデータ転送に使用しないようにする。例えばLC1は、
図6の例のように、中継装置1内の経路を、転送先としてFC1ではなくFC2を使用する経路へ切り替える。
【0085】
上記の結果、中継装置1は、当該障害に対応したスイッチファブリックカード20であるFC1を、内部管理機能上、異常の状態として管理し、当該FC1のデータ転送のスイッチの動作、及び各ラインカード30とのデータ転送の動作を停止させることができる。また上記制御は、FC1等のカードの電源ないし電気的接続をオフする技術ではないので、転送データの損失は発生しない。上記例は、FC1側の障害の場合であるが、FC2側の障害の場合も、同様の制御が実現できる。
【0086】
上記のように、本実施の形態の中継装置1は、管理カード10とスイッチファブリックカード20との間の制御用の通信ができない障害の場合にも、PCIeSW21からSoC23へハードウェアのレベルでエラー信号401を発生する。そしてエラー信号401に基づいてSoC23からSWLSI22へ停止信号402を発生する。これによりSWLSI22の制御フレーム通信が停止される。その結果、当該スイッチファブリックカード20とラインカード30とのデータ転送が停止される。中継装置1は、管理カード10による制御ができない状況でも、内部管理機能として、当該スイッチファブリックカード20を異常の状態として管理及び制御できる。
【0087】
[障害検出及びエラー信号の出力の仕組み]
中継装置1のスイッチファブリックカード20における上記障害の検出及びエラー信号401の出力の仕組みについて補足する。PCIeSW21、特にエラー検出部212は、PCIeのパス41の障害を検出する機能を持つ。91〜94の例のような障害の発生時、エラー検出部212による検出により、ハードウェア線であるエラー信号線24は、アサートの状態になる。即ち、エラー信号401が出力された状態になる。なおPCIeにおいて、信号線が有効、例えば電圧レベルがHighの状態をアサート、無効、例えば電圧レベルがLowの状態をディアサートまたはネゲートという。同様に停止信号線25のアサートにより停止信号402が出力された状態になる。これにより自動的にSWLSI22の制御フレーム通信が停止される。
【0088】
91,92の例のように、PCIeバスによるパス41である信号線の断線の場合の障害検出については以下である。PCIeSW21は、管理カード10のCPU11に接続されるRC12と、スイッチファブリックカード20のSWLSI22とをリンク、即ち相互接続する。PCIeでは、やり取りするパケットが無い状態であっても、リンク状態を維持するためにパケット及びシンボルを送受信し続ける。
図9で、1002は、RC12とPCIeSW22との間のPCIeバスによるパス41の制御プレーンで送受信されるパケット及びシンボルを示す。
【0089】
PCIeでは、ポートにおいて、正常なパケットまたはシンボルを受信している時は、「リンクアップ」状態となり、そうでない時は「リンクダウン」状態となる。PCIeでは、パケットの正常性については、CRCにより監視する。この結果から、パス41上のパケットの正常または異常を判断でき、即ちパス41における障害を検出できる。パス26の障害についても同様に検出可能である。
【0090】
PCIeSW22は、異常なパケットまたはシンボルを受信した場合、もしくは「リンクダウン」状態に遷移した場合に、ハードウェア線で通知する機能を備える。これにより、PCIeSW22は、パス41である信号線の障害ないし異常を検出できる。パス41である信号線は、コネクタを含む信号伝送路である。
【0091】
PCIeSW21のエラー検出部212は、上記パス41及びポートのリンクダウン状態への遷移、もしくはパケットのCRCエラーによりパス41の障害を検出し、自動的にエラー信号線24をアサートの状態としてエラー信号401を出力する。
【0092】
94の例のように、PCIeSW21の内部の回路の異常の場合の障害検出については以下である。PCIeSW21は、内部のバッファ等のデータの健全性を、ECCにより確認及び保障する。PCIeSW21は、修正不可能なECCのエラーが起こった時、ハードウェア線で通知する機能を備える。これにより、PCIeSW21は、デバイスの故障等の内部の異常を検出できる。
【0093】
PCIeSW21のエラー検出部212は、PCIeSW21の内部のバッファ等のデータの健全性をECCにより確認し、修正不可能なECCのエラーの発生時には、自動的にエラー信号線24をアサートの状態としてエラー信号401を出力する。
【0094】
またPCIeSW21の内部の回路で配線のショート等の電気的な異常が起こった場合にも、PCIeのデバイスの仕様として、異常通知用のハードウェア線がアサートの状態になる。これにより、当該配線のショート等の異常の検出が同様に可能である。なお上記PCIeSW21の内部の異常は、致命的なエラーであり、PCIeSW21は、自律的に動作を停止し、手動によるリセットがかかるまでは復旧しない。
【0095】
[復旧手段]
上記第1の通信網40におけるパス41の障害や、スイッチファブリックカード20の内部の回路の故障等の障害の場合、エンドユーザにより中継装置1の全体のリセットもしくは電源の再投入が行われても当該障害が解消しない場合は、致命的なエラーである。そのため、本実施の形態の中継装置1では、このエラーの場合、復旧の手段としては、エンドユーザによる復旧ではなく、サポート即ち運用保守管理を行うユーザにより、対応が行われる。運用保守管理を行うユーザは、スイッチファブリックカード20のSoC23に蓄積されたログ情報を参照することにより、当該障害の箇所や種類を含むエラーの状態を確認する。そしてユーザは、当該障害の箇所に該当するPCIeのケーブルや、スイッチファブリックカード20のPCIeSW21等を交換する。
【0096】
[分散機能]
第2の通信網50におけるスイッチファブリックカード20とラインカード30との間のフレームのデータ転送の分散処理を行う場合について説明する。中継装置1は、各カードの冗長構成による高信頼性と共に、当該フレームのデータ転送の分散処理を行う機能を有する。例えば
図6の2枚のスイッチファブリックカード20と3枚のラインカード30との間で、転送対象の複数のデータフレームについて、転送先としてFC1,FC2の両方を用いて分散される。即ち現用の状態が設定されたFC1,FC2が分散先となる。
【0097】
例えば600のデータ転送で、LC1からLC2へ複数のデータフレームを転送する際、FC1とのパス51であるp1,p2を通る経路、FC2とのパス51であるp4,p5を通る経路が分散先として可能である。なお各フレームの分散先のスイッチファブリックカード20を決める方式は、各種が可能である。例えばフレームの送信元や宛先のMACアドレスを用いる方式、フレームのハッシュ値を用いる方式等がある。
【0098】
上記分散機能が使用される場合も、本実施の形態のエラー制御機能による制御は有効に働く。例えば上記FC1及びFC2を分散先としたデータ転送が行われている時に、第1の通信網40の91等の例の障害が発生した場合、エラー信号401に基づいた停止信号402により、例えばFC1のSWLSI22の制御フレーム通信が停止される。これにより、当該FC1を分散先としてデータ転送を行っていたラインカード30は、当該FC1を異常の状態として認識し、当該FC1及びパス51を分散先から除外する。即ち当該ラインカード30は、転送先をFC2のみとして縮退し、データ転送を継続する。
【0099】
[PCIeSW構成例]
図10は、中継装置1の接続部であるPCIeSW21の内部のより詳しい構成例を示す。PCIeSW21は、ポート211として、ホストである管理カード10と接続される上流側の2つのPCIeポートであるPT1,PT2と、SWLSI22と接続される下流側の1つのPCIeポートであるPT3とを有する。PT1は第1のホストであるMC1とのパス41に接続され、PT2は第2のホストであるMC2とのパス41に接続される。PT3は、SWLSI22とのパス26に接続される。
【0100】
またPCIeSW21は、SWブロック214、内部RAM215、内部ロジック216、外部制御用インタフェース部217、及び汎用信号出力インタフェース部218を有する。SWブロック214は、上流及び下流のポート211間でのPCIeのパケットの転送を行う。内部RAM215は、PCIeSW21の内部のデータやプログラムを格納する。内部ロジック216は、PCIeSW21の内部の処理のロジックである。
【0101】
外部制御用インタフェース部217は、PCIeSW21の外部のCPUとの間の入出力のインタフェース部である。汎用信号出力インタフェース部218は、PCIeSW21の外部に汎用信号を出力するインタフェース部である。本実施の形態では、汎用信号出力インタフェース部218から、エラー信号線24により、汎用信号の1つとしてエラー信号401を、SoC23へ出力する。
【0102】
ポート211は、CRC対象部1101である。即ち、ポート211は、CRCにより、異常の有無が検査される。ポート211及び対応するパス41やパス26のデータ転送に異常がある場合、CRCの値により誤りとして検出できる。CRCに基づいてポート211及び対応するパス41やパス26の異常が検出された場合、汎用信号出力インタフェース部218を通じて、エラー信号401が出力される。
【0103】
SWブロック214、内部RAM215、及び内部ロジック216は、ECC対象部1102である。即ち、これらの部位は、データの誤り、即ち回路の故障等の異常が発生した場合、ECCにより誤りとして検出される。ECCに基づいてこれらの部位の異常が検出された場合、汎用信号出力インタフェース部218を通じて、エラー信号401が出力される。
【0104】
前述のエラー検出部212は、
図10の構成では、CRC及びECCの仕組みや汎用信号出力インタフェース部218等で実現されている。
【0105】
[SWLSI構成例]
図11は、中継装置1のスイッチ部であるSWLSI22の内部のより詳しい構成例を示す。SWLSI22は、ポート221として、PCIeSW21とのパス26に接続されるPCIeポートであるSP0と、ラインカード30側のパス51に接続される通信ポート部224の複数のポートであるSP1,SP2,SP3等とを有する。またSWLSI22は、データフレームSWブロック225、ルーティングプロセッサ226、制御フレームSWブロック227、外部制御用コントローラ228、及び汎用信号入力インタフェース部229を有する。
【0106】
データフレームSWブロック225は、ポート221間でのデータフレームの転送を行う。データフレームはユーザデータを含むフレームである。ルーティングプロセッサ226は、データフレーム及び制御フレームの転送の経路を制御する処理を行う。制御フレームSWブロック227は、ポート221間での制御フレームの転送を行う。制御フレームは制御情報を含むフレームである。制御フレームSWブロック227は、前述の制御フレーム411を通信ポート部214のポート211から送信する機能、及び当該ポート211から制御フレーム412を受信する機能を有する。
【0107】
外部制御用コントローラ228は、PCIeSW21側のポート221であるSP0と接続され、管理カード10からのPCIeの制御用のパケットの受信に従い、SWLSI22の制御処理を行う。汎用信号入力インタフェース部229は、SWLSI22の外部から汎用信号を入力するインタフェース部である。本実施の形態では、汎用信号入力インタフェース部229は、汎用信号の1つとして、SoC23から停止信号線25により停止信号402を入力する。
【0108】
前述の制御通信部222等の機構は、
図11の構成では、汎用信号入力インタフェース部229及び制御フレームSWブロック227等で実現されている。
【0109】
[SoC構成例]
図12は、中継装置1のエラー制御部であるSoC23の内部のより詳しい構成例を示す。SoC23は、障害情報監視インタフェース部234、内部ロジック235、内部レジスタ236、外部制御用インタフェース部237、汎用信号出力インタフェース部238、及びその他信号出力インタフェース部239を有する。
【0110】
障害情報監視インタフェース部234は、電源監視部234a、クロック監視部234b、温度監視部234c、デバイス異常監視部234d、及びその他監視部234eを含む。障害情報監視インタフェース部234は、各監視部を用いて外部の障害情報を入力及び監視して外部の障害を検出するインタフェース部である。電源監視部234aは、電源の異常を監視及び検出する。クロック監視部234bは、クロックの異常を監視及び検出する。温度監視部234cは、温度の異常を監視及び検出する。デバイス異常監視部234dは、デバイスの異常を監視及び検出する。その他監視部234eは、その他の種類の異常を監視及び検出する。
【0111】
本実施の形態では、デバイス異常監視部234dは、PCIeSW21からのエラー信号線24によりエラー信号401を入力し、これにより、PCIeSW21の内部の回路の異常や、ポート211及びパス41の異常を検出する。
【0112】
障害情報監視インタフェース部234は、各監視部により異常ないし障害を検出した場合、検出した障害情報を内部ロジック235へ与える。内部ロジック235は、障害情報を内部レジスタ236に記録し、汎用信号出力インタフェース部238やその他制御信号インタフェース部239へ障害情報を与える。汎用信号出力インタフェース部238は、PCIeSW21の障害の場合、停止信号線25により停止信号402をSWLSI22へ出力する。
【0113】
外部制御用インタフェース部237は、SoC23の外部のCPUとの間の入出力のインタフェース部である。外部制御用インタフェース部237は、外部のCPUからのアクセスにより、内部レジスタ236に記録された障害情報を読み出す。汎用信号出力インタフェース部238は、SoC23の外部に汎用信号を出力するインタフェース部である。本実施の形態では、汎用信号出力インタフェース部238から、停止信号線25により、汎用信号の1つとして停止信号402を、SWLSI22へ出力する。
【0114】
前述の
図5のエラー信号入力部231は、
図12の構成では、障害情報監視インタフェース部234により実現されている。ログ記録部232は、内部ロジック235及び内部レジスタ236等により実現されている。停止信号出力部233は、汎用信号出力インタフェース部238等により実現されている。
【0115】
SoC23は、以下のような機能も有する。SoC23は、電源、クロック、温度等の状態の監視が可能である。SoC23は、監視に基づいて、これらの状態が異常の場合、つまりスイッチファブリックカード20の主機能であるパケットの転送が正常に動作しない可能性がある場合、停止信号402をSWLSI22へ出力し、一時的に制御フレームの通信を止めることができる。
【0116】
[効果等]
以上説明したように、本実施の形態の中継装置1によれば、管理カード10とスイッチファブリックカード20との間の障害等の場合にも、当該スイッチファブリックカード20を異常の状態として制御でき、高い可用性を実現できる。特にCPU11とSWLSI22との間で障害により制御用の通信ができない場合にも、当該スイッチファブリックカード20によるラインカード30とのデータ転送を停止させることができる。
【0117】
また本実施の形態の中継装置1は、上記障害発生時にスイッチファブリックカード20の電源をオフする技術ではないので、電源オフによる転送データの損失も無い。
【0118】
[他の実施の形態]
図13は、他の実施の形態の中継装置1cにおけるスイッチファブリックカード20の構成を示す。この中継装置1cの構成は、前述の中継装置1の構成に対し、SoC23等の要素及び機能を、PCIeSW21及びSWLSI22の内部に統合した構成である。PCIeSW21は、
図5の構成と同様であり、エラー検出部212により、第1の通信網40の障害をエラーとして検出し、制御信号としてエラー信号401をエラー信号線24へ出力する。エラー信号線24は、SWLSI22内に設けられたエラー信号入力部231に接続される。
【0119】
SWLSI22は、
図5の構成要素に加え、エラー信号入力部231、及びログ記録部232を備える。エラー信号入力部231は、ログ記録部232及び制御通信部222に接続される。エラー信号入力部231は、エラー信号401を入力した場合、当該エラー信号401を、ログ記録部223及び制御通信部222へ出力する。ログ記録部232は、前述と同様に、エラー信号401を含むログ情報を記録する。本実施の形態では、停止信号402が省略されている。
【0120】
制御通信部222は、エラー信号401を入力した場合、当該スイッチファブリックカード20の異常の状態を認識し、停止信号として解釈し、前述と同様に、ポート221からの制御フレーム411の送信を停止する。
【0121】
他の実施の形態として、エラー検出部212は、PCIeSW21の外部に設けられてもよい。また、ログ記録部232は、他の位置、例えばPCIeSW21の内部、スイッチファブリックカード20の外部等に設けられてもよい。
【0122】
他の実施の形態として、スイッチファブリックカード20とラインカード30との間の接続の正常性の確認の方式は、
図6等の制御フレーム通信の例に限らず、他の方式を適用してもよい。この場合、SWLSI22の制御通信部222は、適用する他の方式による通信を行う。例えば、SWLSI22は、ポートから所定の制御信号を送信し、TMLSI32からの応答の制御信号を待つ。SWLSI22は、応答の制御信号を受信した場合、相手のラインカード30及びパス51を正常と判断し、受信できない場合、異常と判断する。前述のエラー時には、エラー信号402に基づく停止信号402がSWLSI22へ入力される。SWLSI22は、自身のスイッチファブリックカード20、例えばFC1を異常の状態と認識し、上記適用する方式に応じた制御用の通信として、例えば当該スイッチファブリックカード20の異常の状態を伝える所定の制御信号を、各ラインカード30へ送信する。各ラインカード30のTMLSI32は、上記制御信号を受信すると、相手のスイッチファブリックカード20の異常の状態を認識し、当該スイッチファブリックカード20とのパス51によるデータ転送を停止する。
【0123】
他の実施の形態として、管理カード10を単一とした構成も可能である。この構成の場合、単一の管理カード10とあるスイッチファブリックカード20とのパス41が障害の場合、前述のエラー信号401が発生し、当該スイッチファブリックカード20と各ラインカード30とのデータ転送が停止される。
【0124】
以上、本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。