(58)【調査した分野】(Int.Cl.,DB名)
それぞれ、ブリッジ用ポートと、装置跨ぎのLAGが設定されるMCLAG用ポートと、を含む複数のポートを有し、前記ブリッジ用ポートを介して互いに通信回線で接続される第1スイッチ装置および第2スイッチ装置を備える中継システムであって、
前記第1スイッチ装置または前記第2スイッチ装置は、前記複数のポートとして、装置跨ぎのLAGが設定されない第1ポートを有し、
前記第1スイッチ装置および前記第2スイッチ装置のそれぞれは、
前記ポートを表すポート識別子または前記MCLAG用ポートに対応付けられるMCLAG識別子と、MACアドレスと、の対応関係を保持するアドレステーブルと、
前記ポートでフレームを受信した場合に、当該フレームを前記アドレステーブルに基づいて中継する中継処理部と、
前記MCLAG用ポートでフレームを受信した場合に、当該フレームの送信元MACアドレスと、前記MCLAG識別子と、を含むMCLAG学習用フレームを生成し、前記第1ポートでフレームを受信した場合に、当該フレームの送信元MACアドレスを含むMCLAG学習用フレームを生成し、当該生成したMCLAG学習用フレームを前記ブリッジ用ポートから、前記第1スイッチ装置および前記第2スイッチ装置の中の自装置でないスイッチ装置であるピア装置へ送信するMCLAG学習用フレーム送信部と、
前記ブリッジ用ポートで前記ピア装置からの前記MCLAG学習用フレームを受信した場合で、当該MCLAG学習用フレームが前記MCLAG識別子と送信元MACアドレスとを含む場合に、当該MCLAG識別子と当該送信元MACアドレスとの第1対応関係をアドレステーブルに学習し、当該MCLAG学習用フレームが送信元MACアドレスを含み前記MCLAG識別子を含まない場合に、前記ブリッジ用ポートのポート識別子と当該送信元MACアドレスとの第2対応関係をアドレステーブルに学習するMCLAG学習用フレーム受信部と、
を有する、
中継システム。
ブリッジ用ポートと、装置跨ぎのLAGが設定されるMCLAG用ポートと、装置跨ぎのLAGが設定されない第1ポートと、を含む複数のポートを有し、前記ブリッジ用ポートが他のスイッチ装置のブリッジ用ポートに接続されるスイッチ装置であって、
前記ポートを表すポート識別子または前記MCLAG用ポートに対応付けられるMCLAG識別子と、MACアドレスと、の対応関係を保持するアドレステーブルと、
前記ポートでフレームを受信した場合に、当該フレームを前記アドレステーブルに基づいて中継する中継処理部と、
前記MCLAG用ポートでフレームを受信した場合に、当該フレームの送信元MACアドレスと、前記MCLAG識別子と、を含むMCLAG学習用フレームを生成し、前記第1ポートでフレームを受信した場合に、当該フレームの送信元MACアドレスを含むMCLAG学習用フレームを生成し、当該生成したMCLAG学習用フレームを前記ブリッジ用ポートから前記他のスイッチ装置へ送信するMCLAG学習用フレーム送信部と、
前記ブリッジ用ポートで前記他のスイッチ装置からの前記MCLAG学習用フレームを受信した場合で、当該MCLAG学習用フレームが前記MCLAG識別子と送信元MACアドレスとを含む場合に、当該MCLAG識別子と当該送信元MACアドレスとの第1対応関係をアドレステーブルに学習し、当該MCLAG学習用フレームが送信元MACアドレスを含み前記MCLAG識別子を含まない場合に、前記ブリッジ用ポートのポート識別子と当該送信元MACアドレスとの第2対応関係をアドレステーブルに学習するMCLAG学習用フレーム受信部と、
を有する、
スイッチ装置。
【発明を実施するための形態】
【0014】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【0015】
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0016】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0017】
(実施の形態1)
《中継システムの概略》
図1は、本発明の実施の形態1による中継システムにおいて、その構成例を示す概略図である。
図1に示す中継システムは、2台のスイッチ装置(第1および第2スイッチ装置)SW1,SW2で構成されるMCLAGスイッチMCLAGSWと、複数(ここでは4台)の通信装置10[1]〜10[4]と、を備える。スイッチ装置SW1,SW2のそれぞれは、レイヤ2(L2)の中継処理を行うL2スイッチやレイヤ3(L3)の中継処理を行うL3スイッチ等である。本実施の形態は、L2スイッチを用いる場合を例とする。
【0018】
スイッチ装置(第1および第2スイッチ装置)SW1,SW2のそれぞれは、ブリッジ用ポートPbと、複数(ここでは2個)のMCLAG用ポートPm1,Pm2と、一般ポート(第1ポート)P1と、を含む複数のポートを有する。MCLAG用ポートPm1,Pm2のそれぞれには、装置跨ぎのLAGが設定され、一般ポート(第1ポート)P1には、装置跨ぎのLAGが設定されない。一般ポートP1には、装置を跨がない通常のLAGが設定されていてもよい。スイッチ装置SW1,SW2は、ブリッジ用ポートPbを介して互いに通信回線12で接続される。通信回線12は、イーサネット(登録商標)回線で構成される場合や、専用回線で構成される場合がある。
【0019】
4台の通信装置10[1]〜10[4]のそれぞれは、例えば、サーバ装置等の情報処理装置や、L2スイッチ等のスイッチ装置などである。ここでは、通信装置10[1],10[2]は、ポートPu1,Pu2を有し、通信装置10[3],10[4]は、ポートPu1を有する。スイッチ装置SW1,SW2の各MCLAG用ポートPm1は、それぞれ、通信回線11を介して通信装置10[1]のポートPu1,Pu2に接続される。当該ポートPu1はスイッチ装置SW1側に接続され、当該ポートPu2はスイッチ装置SW2側に接続される。
【0020】
同様に、スイッチ装置SW1,SW2の各MCLAG用ポートPm2は、それぞれ、通信回線11を介して通信装置10[2]のポートPu1,Pu2に接続される。当該ポートPu1はスイッチ装置SW1側に接続され、当該ポートPu2はスイッチ装置SW2側に接続される。また、スイッチ装置SW1の一般ポートP1は、通信回線11を介して通信装置10[3]のポートPu1に接続され、スイッチ装置SW2の一般ポートP1は、通信回線11を介して通信装置10[4]のポートPu1に接続される。通信回線11は、例えば、イーサネット回線で構成される。
【0021】
ここで、スイッチ装置SW1,SW2のそれぞれは、自装置のMCLAG用ポートと、ピア装置のMCLAG用ポートとに共通のLAG(すなわちMCLAG)を設定する。例えば、スイッチ装置SW1は、自装置(SW1)のMCLAG用ポートPm1と、ピア装置(SW2)のMCLAG用ポートPm1とに共通のMCLAG1を設定し、スイッチ装置SW2も、自装置(SW2)のMCLAG用ポートPm1と、ピア装置(SW1)のMCLAG用ポートPm1とに共通のMCLAG1を設定する。同様にして、スイッチ装置SW1,SW2は、互いのMCLAG用ポートPm2に共通のMCLAG2を設定する。
【0022】
一方、通信装置10[1]は、ポートPu1,Pu2にMCLAG1を設定し、通信装置10[2]は、ポートPu1,Pu2にMCLAG2を設定する。なお、ここでは、通信装置10[1],10[2]のそれぞれは、ポートPu1,Pu2にMCLAGを設定することとしたが、実際には、通常のLAGを設定すればよく、特に、MCLAGとLAGとを区別して取り扱う必要はない。すなわち、通信装置10[1],10[2]のポートPu1,Pu2は、LAG用ポートであればよい。
【0023】
このような構成において、
図1では、MCLAGスイッチMCLAGSWの動作方式の一例として、MCLAG毎に、そのメンバポートとなるMCLAG用ポートに対して、アクティブACTまたはスタンバイSBYを設定する方式が示されている。この例では、MCLAG1において、スイッチ装置SW1のMCLAG用ポートPm1はアクティブACTに設定され、スイッチ装置SW2のMCLAG用ポートPm1はスタンバイSBYに設定される。同様に、MCLAG2においても、スイッチ装置SW1のMCLAG用ポートPm2はアクティブACTに設定され、スイッチ装置SW2のMCLAG用ポートPm2はスタンバイSBYに設定される。
【0024】
障害無しの場合、アクティブACTに設定されたMCLAG用ポートは、送信および受信共に許可する送受信許可状態FWに制御される。一方、スタンバイSBYに設定されたMCLAG用ポートは、送信を禁止し受信を許可する送信禁止状態TBKに制御される。その結果、例えば、MCLAGスイッチMCLAGSWから通信装置10[1]に向けたフレームは、常に、スイッチ装置SW1のMCLAG用ポートPm1から送信される。一方、その逆方向のフレームは、通信装置10[1]のポート(LAG用ポート)Pu1,Pu2の両方から送信される。
【0025】
ここで、例えば、スイッチ装置SW1のMCLAG用ポートPm1に障害が発生した場合には、MCLAGスイッチMCLAGSWにおいて、障害時の切り換え動作が行われる。具体的には、MCLAG1において、スイッチ装置SW2のMCLAG用ポートPm1は送受信許可状態FWに制御され、スイッチ装置SW1のMCLAG用ポートPm1は、例えば、送信および受信共に禁止する送受信禁止状態等に制御される。
【0026】
なお、MCLAGスイッチMCLAGSWの動作方式は、このような方式に限定されるものではなく、様々な方式を用いることができる。例えば、2台のスイッチ装置にこのような優劣関係を設定せずに、MCLAG1を宛先とするフレームをスイッチ装置SW1が受信した場合には、スイッチ装置SW1が送信し、スイッチ装置SW2が受信した場合には、スイッチ装置SW2が送信するような方式が挙げられる。当該方式では、例えば、スイッチ装置SW1のMCLAG用ポートPm1に障害が発生した場合、スイッチ装置SW1は、受信したフレームをスイッチ装置SW2に中継し、スイッチ装置SW2のMCLAG用ポートPm1を介してMCLAG1に送信する。また、他の動作方式として、例えば、分散ID等に基づいて、フレームを送信するMCLAG用ポートを2台のスイッチ装置SW1,SW2に均等に振り分けるような方式も考えられる。
【0027】
また、
図1では、スイッチ装置SW1,SW2の主要部の概略的な構成例が示されている。ここでは、スイッチ装置SW1,SW2のそれぞれは、フレームの処理を行うフレーム処理部13と、アドレステーブルFDBと、MCLAGテーブル14と、を有する。MCLAGテーブル14は、MCLAG用ポート(例えばPm1)を、MCLAG識別子(例えば{MCLAG1})に対応付けて保持する。{MCLAG1}は、MCLAG1の識別子(ID)を表し、以降、本明細書では、{AA}は、「AA」の識別子を表すものとする。
【0028】
アドレステーブルFDBは、ポートを表すポート識別子またはMCLAG用ポートに対応付けられるMCLAG識別子と、MACアドレスと、の対応関係を保持する。フレーム処理部13は、MCLAG学習用フレーム送信部15aと、MCLAG学習用フレーム受信部15bと、中継処理部16と、を備える。中継処理部16は、ポートでフレームを受信した場合に、当該フレームをアドレステーブルFDBに基づいて中継する。MCLAG学習用フレーム送信部15aおよびMCLAG学習用フレーム受信部15bは、詳細は後述するが、スイッチ装置SW1,SW2間でアドレステーブルFDBの同期を行うための各種処理を行う。
【0029】
《中継システム(前提)の概略動作およびその問題点》
図16は、本発明の前提として検討した中継システムにおいて、
図1のMCLAG学習用フレーム送信部およびMCLAG学習用フレーム受信部を備えない場合の動作例を示す概略図である。
図17は、本発明の前提として検討した中継システムにおいて、
図16とは異なる動作例を示す概略図である。
図16および
図17では、通信装置10[1]〜10[4]は、それぞれ、MACアドレスMA1〜MA4を有するものとする。
【0030】
図16では、通信装置10[1]と通信装置10[2]との間のフレームの転送経路の一例が示されている。通信装置10[1],10[2]のそれぞれは、ユーザフレームを送信する際に、所定の分散規則に基づき、ポート(LAG用ポート)Pu1,Pu2のいずれか一方を選択する。この例では、通信装置10[1]は、ポートPu2を選択し、通信装置10[2]は、ポートPu1を選択している。
【0031】
通信装置10[2]は、選択したポートPu1から、送信元MACアドレスMA2および宛先MACアドレスMA1を含むユーザフレームUF21を送信する。スイッチ装置SW1は、ユーザフレームUF21を受信し、送信元MACアドレスMA2をアドレステーブルFDBに学習する。また、スイッチ装置SW1は、アドレステーブルFDBを検索し、宛先MACアドレスMA1に対応する宛先ポートの識別子(以下、宛先ポート識別子と呼ぶ)として、MCLAG識別子{MCLAG1}を取得する。ここでは、MCLAG1のメンバポートの中で、スイッチ装置SW1のMCLAG用ポートPm1が送受信許可状態FWに制御されるため、スイッチ装置SW1は、当該ユーザフレームUF21を当該MCLAG用ポートPm1に中継する。
【0032】
一方、通信装置10[1]は、選択したポートPu2から、送信元MACアドレスMA1および宛先MACアドレスMA2を含むユーザフレームUF12を送信する。スイッチ装置SW2は、ユーザフレームUF12を受信し、送信元MACアドレスMA1をアドレステーブルFDBに学習する。また、スイッチ装置SW2は、宛先MACアドレスMA2に対応する宛先ポート識別子をアドレステーブルFDBから検索する。しかしながら、
図16の例では、スイッチ装置SW2は、通信装置10[2]からのユーザフレームを受信していないため、当該アドレステーブルFDBは、MACアドレスMA2を学習していない。
【0033】
その結果、スイッチ装置SW2は、
図16に示すように、ユーザフレームUF12をフラッディングする。ここで、スイッチ装置SW2は、MCLAGスイッチMCLAGSWの機能の一つとして、MCLAG用ポートで受信したユーザフレームをブリッジ用ポートPbに中継する際に、当該ユーザフレームに、フレームの受信ポートの識別子(以下、受信ポート識別子と呼ぶ)を付加することができる。
図16の例では、スイッチ装置SW2は、ユーザフレームUF12をブリッジ用ポートPbにフラッディングする際に、当該ユーザフレームUF12に、受信ポート識別子(SP)であるMCLAG識別子{MCLAG1}を付加する。
【0034】
スイッチ装置SW1は、このMCLAG識別子{MCLAG1}を付加されたユーザフレームUF12を受信し、ユーザフレームUF12の送信元MACアドレスMA1を、当該MCLAG識別子{MCLAG1}に対応付けてアドレステーブルFDBに学習する。その結果、スイッチ装置SW1は、MACアドレスMA1を学習することができるため、前述したように、ユーザフレームUF21をユニキャストで中継することができる。
【0035】
また、スイッチ装置SW1は、前述したように、ユーザフレームUF21に基づきMACアドレスMA2を学習しているため、ユーザフレームUF12もユニキャストで中継することができる。ここでは、MCLAG2のメンバポートの中で、スイッチ装置SW1のMCLAG用ポートPm2が送受信許可状態FWに制御されるため、スイッチ装置SW1は、当該ユーザフレームUF12を当該MCLAG用ポートPm2に中継する。
【0036】
一方、
図17では、通信装置10[1]と通信装置10[3]との間のフレームの転送経路の一例が示されている。この例では、通信装置10[1]は、ユーザフレームUF13を送信する際に、
図16の場合と同様に、所定の分散規則に基づいてポートPu2を選択している。
【0037】
通信装置10[3]は、ポートPu1から、送信元MACアドレスMA3および宛先MACアドレスMA1を含むユーザフレームUF31を送信する。スイッチ装置SW1は、ユーザフレームUF31を受信し、送信元MACアドレスMA3をアドレステーブルFDBに学習する。また、スイッチ装置SW1は、アドレステーブルFDBを検索し、宛先MACアドレスMA1に対応する宛先ポート識別子として、MCLAG識別子{MCLAG1}を取得する。そして、スイッチ装置SW1は、
図16の場合と同様に、ユーザフレームUF31を、送受信許可状態FWに制御されるMCLAG用ポートPm1に中継する。
【0038】
一方、通信装置10[1]は、選択したポートPu2から、送信元MACアドレスMA1および宛先MACアドレスMA3を含むユーザフレームUF13を送信する。スイッチ装置SW2は、ユーザフレームUF13を受信し、送信元MACアドレスMA1をアドレステーブルFDBに学習する。また、スイッチ装置SW2は、宛先MACアドレスMA3に対応する宛先ポート識別子をアドレステーブルFDBから検索する。しかしながら、
図16の例では、スイッチ装置SW2は、通信装置10[3]からのユーザフレームを受信していないため、当該アドレステーブルFDBは、MACアドレスMA3を学習していない。
【0039】
その結果、スイッチ装置SW2は、
図16の場合と同様に、ユーザフレームUF13をフラッディングする。その結果、スイッチ装置SW1は、
図16の場合と同様に、MACアドレスMA1を学習することができるため、前述したように、ユーザフレームUF31をユニキャストで中継することができる。また、スイッチ装置SW1は、前述したように、ユーザフレームUF31に基づきMACアドレスMA3を学習しているため、ユーザフレームUF13を、一般ポートP1にユニキャストで中継することができる。
【0040】
図16および
図17の例に示されるように、スイッチ装置SW1とスイッチ装置SW2とで、アドレステーブルFDBの同期が行われない場合、フラッディングが発生し得る。スイッチ装置SW2は、
図16の例では、ユーザフレームUF12を受信する毎にフラッディングを行い、
図17の例では、ユーザフレームUF13を受信する毎にフラッディングを行う。その結果、通信の輻輳が生じ得る。
【0041】
なお、このようなフラッディングは、
図16および
図17の例に限らず、2個の通信装置の一方から他方に向けてフレームの転送する際に経由するスイッチ装置と、その逆方向でフレームを転送する際に経由するスイッチ装置とが完全に一致しない場合に生じ得る。また、フラッディングは、MCLAG用ポート間の中継に限らず、MCLAG用ポートと一般ポートとの間の中継でも発生し得る。すなわち、一方にMCLAG用ポートが含まれることで、経由するスイッチ装置の選択肢が2通り存在することになるため、フラッディングが発生する恐れがある。
【0042】
そこで、スイッチ装置SW1とスイッチ装置SW2との間で、MCLAG用ポートの先に存在するMACアドレスに限らず、一般ポートの先に存在するMACアドレスに関しても、アドレステーブルFDBの同期を行うことが求められる。例えば、
図17の例では、スイッチ装置SW1が一般ポートP1の先に存在するMACアドレスMA3を学習した段階で、スイッチ装置SW2も、当該MACアドレスMA3を学習することが求められる。
【0043】
このようなアドレステーブルFDBの同期を行う方式として、特許文献1および特許文献2に示されるように、アドレステーブルFDBを完全に同期する方式が考えられる。当該方式は、概略的には、2台のスイッチ装置SW1,SW2を1台のMCLAGスイッチMCLAGSWとみなし、この1台のMCLAGスイッチMCLAGSWが持つ全てのポートと、MACアドレスとの対応関係を、2台のスイッチ装置SW1,SW2が共有するような方式である。例えば、
図17の例では、スイッチ装置SW1,SW2は、共に、スイッチ装置SW1の一般ポートP1と、MACアドレスMA3と、の対応関係をアドレステーブルFDBに保持する。
【0044】
しかしながら、このような方式を用いた場合、例えば、スイッチ装置SW1は、スイッチ装置SW2が持つ全ての一般ポートを予め認識しておく必要があり、スイッチ装置SW2も、スイッチ装置SW1が持つ全ての一般ポートを予め認識しておく必要がある。この場合、各スイッチ装置は、自装置のみならず、ピア装置の一般ポートも管理する必要があるため、一般ポートの数が増大するほど管理の複雑化を招く恐れがある。
【0045】
《中継システム(実施の形態)の概略動作》
図2は、
図1の中継システムにおいて、その動作例を示す概略図である。
図3は、
図1の中継システムにおいて、
図2と異なる動作例を示す概略図である。
図2では、
図16の場合と同様に、通信装置10[1]と通信装置10[2]との間のフレームの転送が行われている。
図3では、
図17の場合と同様に、通信装置10[1]と通信装置10[3]との間のフレームの転送が行われている。以下、
図16および
図17と重複する部分に関する説明は省略し、主に
図16および
図17と異なる部分に着目して説明する。
【0046】
図2において、通信装置10[2]は、通信装置10[1]に向けてユーザフレームUF21を送信する。スイッチ装置SW1は、当該ユーザフレームUF21をMCLAG用ポートPm2で受信し、ユーザフレームUF21の送信元MACアドレスMA2を、MCLAG用ポートPm2のMCLAG識別子{MCLAG2}に対応付けて、アドレステーブルFDBに学習する。この際に、より詳細には、スイッチ装置SW1は、ポートVLAN(Virtual Local Area Network)やタグVLAN等によって定められるVLAN識別子(VID)もアドレステーブルFDBに学習する。本実施の形態では、便宜上、アドレステーブルFDBには、全て同一のVLAN識別子(VID)「xxx」が学習されるものとし、以降、VLAN識別子(VID)の学習に関する説明は省略する。
【0047】
ここで、スイッチ装置SW1は、MCLAG学習用フレーム送信部15aを用いてMCLAG学習用フレームMF1を生成する。具体的には、MCLAG学習用フレーム送信部15aは、MCLAG用ポートPm2でフレーム(ユーザフレームUF21)を受信した場合に、当該フレームの送信元MACアドレスSAと、受信ポート識別子SPと、を含むMCLAG学習用フレームMF1を生成する。ここでは、送信元MACアドレスSAはMACアドレスMA2であり、受信ポート識別子SPはMCLAG識別子{MCLAG2}である。そして、MCLAG学習用フレーム送信部15aは、当該生成したMCLAG学習用フレームMF1をブリッジ用ポートPbからピア装置(SW2)へ送信する。
【0048】
一方、スイッチ装置SW2において、MCLAG学習用フレーム受信部15bは、ブリッジ用ポートPbでピア装置(SW1)からのMCLAG学習用フレームMF1を受信した場合に、当該MCLAG学習用フレームMF1がMCLAG識別子を含むか否かを判別する。ここでは、MCLAG学習用フレームMF1は、MCLAG識別子{MCLAG2}と送信元MACアドレスMA2とを含んでいる。この場合、MCLAG学習用フレーム受信部15bは、当該MCLAG識別子{MCLAG2}と当該送信元MACアドレスMA2との第1対応関係をアドレステーブルFDBに学習する。
【0049】
また、通信装置10[1]は、通信装置10[2]に向けてユーザフレームUF12を送信する。スイッチ装置SW2は、当該ユーザフレームUF12をMCLAG用ポートPm1で受信し、ユーザフレームUF12の送信元MACアドレスMA1を、MCLAG用ポートPm1のMCLAG識別子{MCLAG1}に対応付けて、アドレステーブルFDBに学習する。
【0050】
ここで、スイッチ装置SW2は、MCLAG学習用フレーム送信部15aを用いてMCLAG学習用フレームMF2を生成する。具体的には、MCLAG学習用フレーム送信部15aは、MCLAG用ポートPm1でフレーム(ユーザフレームUF12)を受信した場合に、MCLAG学習用フレームMF1の場合と同様に、当該フレームの送信元MACアドレスMA1と、MCLAG識別子{MCLAG1}と、を含むMCLAG学習用フレームMF2を生成する。そして、MCLAG学習用フレーム送信部15aは、当該生成したMCLAG学習用フレームMF2をブリッジ用ポートPbからピア装置(SW1)へ送信する。
【0051】
一方、スイッチ装置SW1において、MCLAG学習用フレーム受信部15bは、ブリッジ用ポートPbでピア装置(SW2)からのMCLAG学習用フレームMF2を受信した場合に、当該MCLAG学習用フレームMF2がMCLAG識別子を含むか否かを判別する。ここでは、MCLAG学習用フレームMF2は、MCLAG識別子{MCLAG1}と送信元MACアドレスMA1とを含んでいる。この場合、MCLAG学習用フレーム受信部15bは、当該MCLAG識別子{MCLAG1}と当該送信元MACアドレスMA1との第1対応関係をアドレステーブルFDBに学習する。
【0052】
このようなMCLAG学習用フレームMF1,MF2を用いた処理を行った結果、スイッチ装置SW1,SW2は、
図16の場合と異なり、共に、MACアドレスMA1とMACアドレスMA2を自装置のアドレステーブルFDBに学習することができる。スイッチ装置SW1は、自装置のアドレステーブルFDBに基づいて、ユーザフレームUF21の宛先MACアドレスMA1に対応する宛先ポート識別子(ここではMCLAG識別子{MCLAG1})を取得する。その結果、スイッチ装置SW1は、
図16の場合と同様に、ユーザフレームUF21をMCLAG用ポートPm1に中継する。
【0053】
一方、スイッチ装置SW2は、自装置のアドレステーブルFDBに基づいて、ユーザフレームUF12の宛先MACアドレスMA2に対応する宛先ポート識別子(ここではMCLAG識別子{MCLAG2})を取得する。スイッチ装置SW2は、MCLAG2のメンバポートとなる自装置のMCLAG用ポートPm2が送信禁止状態TBKに制御されているため、ユーザフレームUF12をブリッジ用ポートPbに中継する。
【0054】
スイッチ装置SW1は、ユーザフレームUF12をブリッジ用ポートPbで受信する。そして、スイッチ装置SW1は、自装置のアドレステーブルFDBに基づいて、ユーザフレームUF12の宛先MACアドレスMA2に対応する宛先ポート識別子(ここではMCLAG識別子{MCLAG2})を取得する。スイッチ装置SW1は、MCLAG2のメンバポートとなる自装置のMCLAG用ポートPm2が送受信許可状態FWに制御されているため、ユーザフレームUF12をMCLAG用ポートPm2に中継する。
【0055】
なお、スイッチ装置SW1は、ユーザフレームUF12をブリッジ用ポートPbで受信した際に、
図16の場合と同様に、当該ユーザフレームUF12に付加されるMCLAG識別子{MCLAG1}を用いてアドレステーブルFDBの学習を行う。ここで、スイッチ装置SW1は、MCLAG学習用フレームMF2によっても、同一の対応関係を学習することができる。したがって、場合によっては、MCLAG識別子が付加されたユーザフレームUF12に基づくアドレステーブルFDBの学習は不要となる。ただし、一般的には、ユーザフレームUF12を受信した場合にアドレステーブルFDBの学習を行うことが原則であり、この際の学習漏れを防止するため、ユーザフレームUF12によってもアドレステーブルFDBの学習を行うことが望ましい。
【0056】
次に、
図3において、通信装置10[3]は、通信装置10[1]に向けてユーザフレームUF31を送信する。スイッチ装置SW1は、当該ユーザフレームUF31を一般ポートP1で受信し、ユーザフレームUF31の送信元MACアドレスMA3を、一般ポートP1のポート識別子{P1}に対応付けて、アドレステーブルFDBに学習する。
【0057】
ここで、スイッチ装置SW1は、MCLAG学習用フレーム送信部15aを用いてMCLAG学習用フレームMF3を生成する。具体的には、MCLAG学習用フレーム送信部15aは、一般ポート(第1ポート)P1でフレーム(ユーザフレームUF31)を受信した場合に、当該フレームの送信元MACアドレスSAを含むMCLAG学習用フレームMF3を生成する。ここでは、送信元MACアドレスSAはMACアドレスMA3である。
【0058】
また、このように一般ポートP1でフレームを受信した際には、
図2の場合と異なり、MCLAG学習用フレームMF3は、受信ポート識別子SPを含まない(例えば空データ等)か、あるいは受信ポート識別子SPとして予め定めた所定の固定値(ここでは{zzz})を含む。そして、MCLAG学習用フレーム送信部15aは、当該生成したMCLAG学習用フレームMF3をブリッジ用ポートPbからピア装置(SW2)へ送信する。
【0059】
一方、スイッチ装置SW2において、MCLAG学習用フレーム受信部15bは、ブリッジ用ポートPbでピア装置(SW1)からのMCLAG学習用フレームMF3を受信した場合に、当該MCLAG学習用フレームMF3がMCLAG識別子を含むか否かを判別する。ここでは、MCLAG学習用フレームMF3は、送信元MACアドレスMA3を含みMCLAG識別子を含まない。この場合、MCLAG学習用フレーム受信部15bは、ブリッジ用ポートPbのポート識別子{Pb}と当該送信元MACアドレスMA3との第2対応関係をアドレステーブルFDBに学習する。
【0060】
また、通信装置10[1]は、通信装置10[3]に向けてユーザフレームUF13を送信する。スイッチ装置SW2は、当該ユーザフレームUF13をMCLAG用ポートPm1で受信し、ユーザフレームUF13の送信元MACアドレスMA1を、MCLAG用ポートPm1のMCLAG識別子{MCLAG1}に対応付けて、アドレステーブルFDBに学習する。
【0061】
ここで、スイッチ装置SW2は、MCLAG学習用フレーム送信部15aを用いてMCLAG学習用フレームMF4を生成する。具体的には、MCLAG学習用フレーム送信部15aは、MCLAG用ポートPm1でフレーム(ユーザフレームUF13)を受信した場合に、MCLAG学習用フレームMF2の場合と同様に、当該フレームの送信元MACアドレスMA1と、MCLAG識別子{MCLAG1}と、を含むMCLAG学習用フレームMF4を生成する。そして、MCLAG学習用フレーム送信部15aは、当該生成したMCLAG学習用フレームMF4をブリッジ用ポートPbからピア装置(SW1)へ送信する。
【0062】
一方、スイッチ装置SW1において、MCLAG学習用フレーム受信部15bは、ブリッジ用ポートPbでピア装置(SW2)からのMCLAG学習用フレームMF4を受信した場合に、当該MCLAG学習用フレームMF4がMCLAG識別子を含むか否かを判別する。ここでは、MCLAG学習用フレームMF4は、MCLAG識別子{MCLAG1}と送信元MACアドレスMA1とを含んでいる。この場合、MCLAG学習用フレーム受信部15bは、当該MCLAG識別子{MCLAG1}と当該送信元MACアドレスMA1との第1対応関係をアドレステーブルFDBに学習する。
【0063】
このようなMCLAG学習用フレームMF3,MF4を用いた処理を行った結果、スイッチ装置SW1,SW2は、
図17の場合と異なり、共に、MACアドレスMA1とMACアドレスMA3を自装置のアドレステーブルFDBに学習することができる。スイッチ装置SW1は、自装置のアドレステーブルFDBに基づいて、ユーザフレームUF31の宛先MACアドレスMA1に対応する宛先ポート識別子(ここではMCLAG識別子{MCLAG1})を取得する。その結果、スイッチ装置SW1は、
図17の場合と同様に、ユーザフレームUF31をMCLAG用ポートPm1に中継する。
【0064】
一方、スイッチ装置SW2は、自装置のアドレステーブルFDBに基づいて、ユーザフレームUF13の宛先MACアドレスMA3に対応する宛先ポート識別子(ここではポート識別子{Pb})を取得する。これに基づき、スイッチ装置SW2は、ユーザフレームUF13をブリッジ用ポートPbに中継する。スイッチ装置SW1は、ユーザフレームUF13をブリッジ用ポートPbで受信する。そして、スイッチ装置SW1は、自装置のアドレステーブルFDBに基づいて、ユーザフレームUF13の宛先MACアドレスMA3に対応する宛先ポート識別子(ここではポート識別子{P1})を取得する。これに基づき、スイッチ装置SW1は、ユーザフレームUF13を一般ポートP1に中継する。
【0065】
《MCLAG学習用フレームの構造》
図4は、
図2および
図3の中継システムにおいて、MCLAG学習用フレームの構造例を示す概略図である。
図4に示すMCLAG学習用フレームMFは、例えば、宛先MACアドレスおよび送信元MACアドレスを含むヘッダ20と、フレーム識別子21と、受信ポート識別子SPと、送信元MACアドレスSAと、VLAN識別子VIDと、を含んでいる。
【0066】
受信ポート識別子SP、送信元MACアドレスSAおよびVLAN識別子VIDは、MCLAG用ポートまたは一般ポートで受信したユーザフレームに基づく情報である。例えば、
図2のMCLAG学習用フレームMF1の場合、受信ポート識別子SPは{MCLAG2}、送信元MACアドレスSAはMA2、VLAN識別子VIDは「xxx」である。また、
図3のMCLAG学習用フレームMF3の場合、受信ポート識別子SPは{zzz}、送信元MACアドレスSAはMA3、VLAN識別子VIDは「xxx」である。
【0067】
フレーム識別子21は、MCLAG学習用フレームMFであることを表す所定の識別子である。ヘッダ20には、MCLAG学習用フレームMFの宛先MACアドレスおよび送信元MACアドレスが含まれる。例えば、
図2のMCLAG学習用フレームMF1の場合、宛先MACアドレスはスイッチ装置SW2のMACアドレスであり、送信元MACアドレスはスイッチ装置SW1のMACアドレスである。
【0068】
スイッチ装置SW1,SW2は、ブリッジ用ポートPbでフレームを受信した場合に、このヘッダ20やフレーム識別子21によってMCLAG学習用フレームMFであることを認識する。なお、MCLAG学習用フレームMFの構造は、特に
図4に限定されるものではなく、MCLAG学習用フレームMFであることを認識できる情報と、受信ポート識別子SP、送信元MACアドレスSAおよびVLAN識別子VIDとが、含まれていればよい。
【0069】
《本実施の形態1の主要な効果》
以上のように、本実施の形態1の中継システムは、ピア装置の一般ポートの先に存在するMACアドレスをブリッジ用ポートPbに対応付けて学習する方式を用いている。これにより、スイッチ装置SW1,SW2のそれぞれは、ピア装置の一般ポートを管理せずとも、アドレステーブルFDBの同期(すなわち、学習しているMACアドレスの同期)を行うことができる。その結果、代表的には、管理の容易化等が実現可能になる。また、このアドレステーブルFDBの同期によって、
図16および
図17に示したようなフラッディングに伴う通信の輻輳を防止できる。
【0070】
(実施の形態2)
《中継システム(変形例)の概略動作》
図5は、本発明の実施の形態2による中継システムにおいて、
図1の中継システムの動作例を示す概略図である。
図6は、
図1の中継システムにおいて、
図5と異なる動作例を示す概略図である。
図5に示す動作例は、
図2に示した動作例と比較して、MCLAG学習用フレームMF2が削除されたものとなっている。
図6に示す動作例は、
図3に示した動作例と比較して、MCLAG学習用フレームMF4が削除されたものとなっている。
【0071】
図2の動作例の場合、ユーザフレームUF12はブリッジ用ポートPbに中継されるため、スイッチ装置SW1は、ユーザフレームUF12とMCLAG学習用フレームMF2との両方でアドレステーブルFDBの学習を行うことができる。同様に、
図3の動作例の場合、ユーザフレームUF13はブリッジ用ポートPbに中継されるため、スイッチ装置SW1は、ユーザフレームUF13とMCLAG学習用フレームMF4との両方でアドレステーブルFDBの学習を行うことができる。
【0072】
ただし、ブリッジ用ポートPb間では、前述したようなユーザフレームの通信に加えて、図示は省略するが、2台のスイッチ装置SW1,SW2で障害情報の共有や互いの生存確認等を行うための制御フレームの通信が行われる。このように、ブリッジ用ポートPb間では、通常、多くの通信が行われるため、通信帯域の増大をできるだけ抑制することが望まれる。
【0073】
そこで、
図5の動作例では、
図2のようなMCLAG学習用フレームMF2の生成および送信を行わずに、スイッチ装置SW1は、ユーザフレームUF12でアドレステーブルFDBの学習を行う。同様に、
図6の動作例では、
図3のようなMCLAG学習用フレームMF4の生成および送信を行わずに、スイッチ装置SW1は、ユーザフレームUF13でアドレステーブルFDBの学習を行う。これにより、スイッチ装置SW1,SW2間で、ブリッジ用ポートPb間での通信帯域の増大を抑制しつつ、アドレステーブルFDBの同期を行うことが可能になる。
【0074】
《スイッチ装置(変形例)の概略動作》
図7は、
図5および
図6の中継システムにおいて、MCLAGスイッチを構成する各スイッチ装置の概略的な動作例を示すフロー図である。スイッチ装置SW1,SW2のそれぞれ(具体的にはMCLAG学習用フレーム送信部15a)は、
図7に示すように、概略的には、MCLAG用ポートまたは一般ポート(第1ポート)でフレームを受信した場合で、当該フレームの宛先のポートがブリッジ用ポートPbでない場合に、MCLAG学習用フレームMFの生成および送信を行う。
【0075】
具体的には、まず、スイッチ装置SW1,SW2のそれぞれ(具体的には中継処理部16)は、MCLAG用ポートまたは一般ポートでフレーム(具体的にはユーザフレーム)を受信した場合(ステップS101)、アドレステーブルFDBの学習を行う(ステップS102)。次いで、中継処理部16は、アドレステーブルFDBを検索し、宛先ポート識別子を取得する(ステップS103)。
【0076】
ここで、中継処理部16は、宛先ポートがブリッジ用ポートPbであるか否かを判別する(ステップS104)。宛先ポートがブリッジ用ポートPbである場合とは、
図5(および
図2)のスイッチ装置SW2の場合のように、ユーザフレームUF12の宛先ポート識別子がMCLAG識別子{MCLAG2}となり、MCLAGスイッチMCLAGSWの所定の動作方式に基づき宛先ポートがブリッジ用ポートPbになる場合である。または、
図6(および
図3)のスイッチ装置SW2の場合のように、ユーザフレームUF13の宛先ポート識別子がブリッジ用ポートのポート識別子{Pb}となる場合である。あるいは、アドレステーブルFDBのミスヒットに伴いフラッディングが生じた場合である。
【0077】
ステップS104において、宛先ポートがブリッジ用ポートPbである場合、中継処理部16は、受信ポートがMCLAG用ポートの場合には、受信ポート識別子SPとしてMCLAG識別子を付加する(ステップS105)。例えば、
図5(および
図2)のスイッチ装置SW2の場合には、ユーザフレームUF12にMCLAG識別子{MCLAG1}が付加され、
図6(および
図3)のスイッチ装置SW2の場合には、ユーザフレームUF13にMCLAG識別子{MCLAG1}が付加される。その後、中継処理部16は、当該受信ポート識別子SPを付加したユーザフレームを宛先ポート(ここではブリッジ用ポートPb)に中継する(ステップS106)。
【0078】
一方、ステップS104において、宛先ポートがブリッジ用ポートPbでない場合、MCLAG学習用フレーム送信部15aは、MCLAG学習用フレームMFを生成し、ブリッジ用ポートPbから送信する(ステップS107)。例えば、
図5(および
図2)のスイッチ装置SW1の場合には、MCLAG学習用フレームMF1の生成および送信が行われ、
図6(および
図3)のスイッチ装置SW1の場合には、MCLAG学習用フレームMF3の生成および送信が行われる。その後、中継処理部16は、ユーザフレームを宛先ポートに中継する(ステップS106)。例えば、
図5(および
図2)のスイッチ装置SW1の中継処理部16は、ユーザフレームUF21をMCLAG用ポートPm1に中継する。
【0079】
以上、本実施の形態2の中継システムを用いることで、実施の形態1の場合と同様の効果に加えて、さらに、ブリッジ用ポートPb間での通信帯域の増大を抑制することが可能になる。
【0080】
なお、ここでは、宛先ポートがブリッジ用ポートPbでない場合に、MCLAG学習用フレームMFの生成を行ったが、この条件に加えて、またはこの条件の代わりに、受信ポートおよび宛先ポートのいずれか一方がMCLAG用ポートである場合に、MCLAG学習用フレームMFの生成を行ってもよい。言い換えれば、MCLAG学習用フレーム送信部15aは、受信ポートおよび宛先ポートの両方がMCLAG用ポートでない場合、MCLAG学習用フレームMFを生成しなくてもよい。例えば、
図5のスイッチ装置SW2は、スイッチ装置SW1が一般ポートP1と一般ポート(P2とする)との間でユーザフレームを中継した際に学習されるMACアドレスに関しては必ずしも知る必要はない。
【0081】
(実施の形態3)
本実施の形態3では、前述した実施の形態1のスイッチ装置SW1,SW2を例として、その詳細な構成例および動作例を説明する。ただし、各スイッチ装置SW1,SW2が
図7に示したような動作を行うことで、実施の形態2のスイッチ装置SW1,SW2に対しても同様な構成例および動作例が適用可能である。
【0082】
《スイッチ装置の構成》
図8は、本発明の実施の形態3によるスイッチ装置において、その構成例を示す概略図である。
図8に示すスイッチ装置SWは、ここでは、1個の筐体内に複数のカードを搭載したシャーシ型のスイッチ装置となっている。実施の形態1および実施の形態2のスイッチ装置SW1,SW2は、ボックス型の構成であってもよいが、例えば、通信事業者によって管理され、多数のユーザ網を収容するキャリア網等に適用される場合には、シャーシ型の構成であることが望まれる。
【0083】
図8のスイッチ装置SWは、複数(ここではn枚)のラインカードLC[1]〜LC[n]と、管理カードMCと、ファブリック経路部25と、を備える。ラインカードLC[1]〜LC[n]のそれぞれは、装置外部との間でフレームの通信(送信および受信)を行う。ファブリック経路部25は、複数のラインカードLC[1]〜LC[n]間でフレームを中継する。また、ファブリック経路部25は、ここでは、複数のラインカードLC[1]〜LC[n]と、管理カードMCと、の間でもフレームを中継する。管理カードMCは、例えばn枚のラインカードLC[1]〜LC[n]等を管理する。管理カードMCは、実際には、可用性の向上のため複数枚設けられる。
【0084】
ラインカードLC[1]〜LC[n]のそれぞれは、単数または複数の外部ポートと、ファブリック用端子FPと、管理カード用端子MPと、を有する。
図8の例では、ラインカードLC[1]は一般ポートP1を有し、ラインカードLC[2]はMCLAG用ポートPm2を有し、ラインカードLC[3]はMCLAG用ポートPm1を有し、ラインカードLC[n]はブリッジ用ポートPbを有する。ただし、ポートとラインカードとの対応関係は、任意に定めることが可能である。
【0085】
管理カード用端子MPは、管理用の通信回線26を介して管理カードMCに接続される。ファブリック用端子FPは、ファブリック経路部25に接続され、ファブリック経路部25を介して他のラインカード(および管理カード)のファブリック用端子FPに接続される。ここで、ファブリック経路部25は、例えば、スイッチング機能を備えたファブリックカードで構成される場合や、各カードを着脱するためのスロットが実装された配線基板(バックプレーン)で構成される場合がある。
【0086】
ファブリックカードで構成される場合、ファブリック用端子FPは、ファブリックカードに接続され、ファブリックカードによるスイッチングを介して他のラインカードのファブリック用端子FPに接続される。バックプレーンで構成される場合、ファブリック用端子FPは、複数の端子で構成され、この複数の端子が、それぞれ、バックプレーン上に設けられたフルメッシュ型の通信回線を介して、他のラインカード(および管理カード)の対応する端子に接続される。
【0087】
図9は、
図8のスイッチ装置において、ラインカードの構成例を示すブロック図である。
図10(a)は、
図9におけるMCLAGテーブルの構造例を示す概略図であり、
図10(b)は、
図9におけるアドレステーブルの構造例を示す概略図である。
図10(a)および
図10(b)では、
図2および
図3のスイッチ装置SW1に
図8の構成例を適用した場合の保持内容の一例が示される。また、
図9では、説明の便宜上、一枚のラインカードLC上に、MCLAG用ポートPm1,Pm2、一般ポートP1、およびブリッジ用ポートPbを含む複数のポートが搭載されるものとする。
【0088】
図9において、外部インタフェース部30は、複数のポートのいずれかでフレームを受信した際に、受信したラインカードおよび外部ポートを示す受信ポート識別子を付加し、それをフレーム処理部13またはプロセッサ部CPUに送信する。また、外部インタフェース部30は、フレーム処理部13またはプロセッサ部CPUからのフレームを、宛先ポート識別子に基づき複数のポートのいずれかに送信する。
【0089】
外部インタフェース部30は、障害検出部33を備える。障害検出部33は、ハードウェアによって複数のポート毎の障害有無(リンクダウン有無)を検出する。障害検出部33は、例えば、受信した光信号レベルを監視し、光信号レベルの不足といった異常状態が所定の期間継続する場合にリンクダウン有りを検出する。あるいは、障害検出部33は、受信した信号から、アイドル状態で生成されるリンクパルス信号の有無や非アイドル状態でのデータ信号の有無を監視し、リンクパルス信号およびデータ信号が共に無しといった異常状態が所定の期間継続する場合にリンクダウン有りを検出する。
【0090】
内部インタフェース部32は、フレーム処理部13またはプロセッサ部CPUと、ファブリック用端子FPと、の間のフレームの通信を制御する。MCLAGテーブル14は、
図10(a)に示すように、MCLAG用ポートを、MCLAG識別子に対応付けて保持する。また、当該MCLAGテーブル14は、この例では、自装置のMCLAG用ポートの制御状態も保持する。
図10(a)では、例えば、ラインカードLC[3]のMCLAG用ポートPm1を表すポート識別子{LC[3]}/{Pm1}は、MCLAG識別子{MCLAG1}に対応付けられ、送受信許可状態FWに制御されている。
【0091】
アドレステーブルFDBは、
図10(b)に示すように、ポートを表すポート識別子またはMCLAG用ポートに対応付けられるMCLAG識別子と、MACアドレスおよびVLAN識別子(VID)と、の対応関係を保持する。
図10(b)では、例えば、MACアドレスMA1は、VLAN識別子「xxx」およびMCLAG識別子{MCLAG1}に対応付けて保持される。また、MACアドレスMA3は、VLAN識別子「xxx」、およびラインカードLC[1]の一般ポートP1を表すポート識別子{LC[1]}/{P1}に対応付けて保持される。また、MACアドレスMA4は、VLAN識別子「xxx」および{LC[n]}/{Pb}に対応付けて保持される。
【0092】
プロセッサ部CPUは、図示しない記憶部に保持されるプログラムを実行することで構成される制御フレーム処理部36およびポート制御部37を備える。プロセッサ部CPUは、管理カード用端子MPを介して管理カードMCと通信を行うことができる。制御フレーム処理部36は、各種制御フレームの生成および送信を行う。制御フレームの一つとして、例えば、ピア装置との間でブリッジ用ポートPbを介して定期的に送信および受信を行うためのMCLAG用の制御フレームが挙げられる。MCLAG用の制御フレームの送信および受信によって、MCLAG用ポートに関する障害情報の共有や、互いのスイッチ装置の生存確認等が行われる。
【0093】
また、制御フレームの一つとして、例えば、イーサネットOAM(Operations, Administration, and Maintenance)等の制御フレームが含まれていてもよい。イーサネットOAMでは、例えば、CCM(Continuity Check Message)等と呼ばれる制御フレーム(試験フレーム)の定期的な送信および受信によって、装置外部との間の疎通性を監視することができる。これによって、例えば、各MCLAG用ポートPm1,Pm2や一般ポートP1の障害有無を検出することができる。
【0094】
ポート制御部37は、障害検出部33からの障害情報や、加えて、制御フレーム処理部36からの障害情報と、予め定められたアクティブACT/スタンバイSBYの設定情報と、に基づいて、MCLAGテーブル14における各MCLAG用ポートの制御状態を定める。具体的には、ポート制御部37は、自装置のMCLAG用ポートが障害有りの場合には、当該MCLAG用ポートを送受信禁止状態等に制御する。また、ポート制御部37は、自装置のMCLAG用ポートが障害無しの場合で、アクティブACTに設定される場合には、当該MCLAG用ポートを送受信許可状態FWに制御する。
【0095】
さらに、ポート制御部37は、自装置のMCLAG用ポートが障害無しの場合で、スタンバイSBYに設定される場合には、アクティブACT側のMCLAG用ポートの障害有無に応じて自装置のMCLAG用ポートを制御する。すなわち、ポート制御部37は、アクティブACT側のMCLAG用ポートが障害無しの場合には、自装置のMCLAG用ポートを送信禁止状態TBKに制御し、アクティブACT側のMCLAG用ポートが障害有りの場合には、自装置のMCLAG用ポートを送受信許可状態FWに制御する。アクティブACT側のMCLAG用ポートの障害有無の情報は、制御フレーム処理部36で受信したMCLAG用の制御フレームによって得られる。
【0096】
フレーム処理部13は、中継処理部16と、MCLAG学習用フレーム処理部15と、LC学習用フレーム処理部35と、を備える。中継処理部16は、
図2および
図3等で説明したように、ポートでフレームを受信した場合に、当該フレームをアドレステーブルFDBに基づいて中継する。具体的には、中継処理部16は、ポートでユーザフレームを受信した場合に、当該ユーザフレームの送信元MACアドレスを、VLAN識別子と、当該ユーザフレームに付加される受信ポート識別子とに対応付けてアドレステーブルFDBに学習する。
【0097】
また、中継処理部16は、当該ユーザフレームの宛先MACアドレスおよびVLAN識別子を検索キーとしてアドレステーブルFDBを検索し、宛先ポート識別子を取得する。ここで、中継処理部16は、宛先ポート識別子がMCLAG識別子である場合、MCLAGテーブル14に基づいて、当該MCLAG識別子のメンバポートとなる自装置のMCLAG用ポートの制御状態を判別する。
【0098】
中継処理部16は、例えば、自装置のMCLAG用ポートの制御状態が送受信許可状態FWの場合には、当該MCLAG用ポートを表す宛先ポート識別子を付加したユーザフレームを当該MCLAG用ポートに中継する。一方、中継処理部16は、当該制御状態が送信禁止状態TBKの場合には、宛先ポート識別子としてポート識別子{Pb}を付加したユーザフレームをブリッジ用ポートPbに中継する。なお、この際に、中継処理部16は、受信ポート識別子がMCLAG識別子の場合には、ユーザフレームに当該受信ポート識別子を付加する。
【0099】
中継処理部16からのユーザフレームは、外部インタフェース部30を介して、宛先ポート識別子に基づくポートから送信される。この際に、
図8から判るように、実際には、当該外部インタフェース部30(すなわち宛先ポート識別子が表すポート)は、他のラインカードが有する場合がある。この場合、中継処理部16は、ユーザフレームを内部インタフェース部32およびファブリック経路部25を介して当該他のラインカードに中継する。この際に、ファブリック経路部25は、ユーザフレームを、宛先ポート識別子に基づくラインカードに中継する。
【0100】
MCLAG学習用フレーム処理部15は、MCLAG学習用フレーム送信部15aおよびMCLAG学習用フレーム受信部15bを備える。MCLAG学習用フレーム送信部15aおよびMCLAG学習用フレーム受信部15bは、実施の形態1(または実施の形態2)で述べたような各種動作を行う。
【0101】
LC学習用フレーム処理部35は、LC学習用フレーム送信部35aおよびLC学習用フレーム受信部35bを備え、各ラインカードLC[1]〜LC[n]間でアドレステーブルFDBの同期を行うために設けられる。すなわち、
図8および
図9のスイッチ装置SWは、ポートでフレームを受信したラインカードが、自ラインカードのアドレステーブルFDBに基づいて自ラインカードまたは他ラインカードの宛先ポートを決定する仕組みを備えている。したがって、不要なフラッディングを防止するため、各ラインカードLC[1]〜LC[n]間でもアドレステーブルFDBの同期を行うことが望まれる。
【0102】
《MCLAG学習用フレーム処理部およびLC学習用フレーム処理部の動作》
図11は、
図8および
図9のスイッチ装置において、ユーザフレームを受信した場合の概略的な動作例を示す説明図である。
図12は、
図8および
図9のスイッチ装置において、MCLAG学習用フレームを受信した場合の概略的な動作例を示す説明図である。
図11には、
図2のスイッチ装置SW1に
図8および
図9のスイッチ装置を適用した場合を例として、スイッチ装置SW1がMCLAG用ポートPm2でユーザフレームUF21を受信した場合の動作例が示されている。
図12には、
図2のスイッチ装置SW2に
図8および
図9のスイッチ装置を適用した場合と例として、スイッチ装置SW2がブリッジ用ポートPbでMCLAG学習用フレームMF1を受信した場合の動作例が示されている。
【0103】
まず、
図11において、ラインカードLC[2]の中継処理部16は、MCLAG用ポートPm2でユーザフレームUF21を受信した場合、アドレステーブルFDBの学習および検索を行う。この検索結果により、中継処理部16は、宛先ポート識別子としてMCLAG識別子{MCLAG1}を取得し、さらに、
図10(a)のMCLAGテーブル14に基づき、{MCLAG1}に対応する実際の宛先ポート識別子DPとして、ポート識別子{LC[3]}/{Pm1}を取得する。
【0104】
中継処理部16は、ユーザフレームUF21に、宛先ポート識別子DP({LC[3]}/{Pm1})と、受信ポート識別子SPとなるMCLAG識別子{MCLAG2}とを付加し、それを、ファブリック経路部25に向けて送信する。ファブリック経路部25は、当該宛先ポート識別子DPに基づき、ユーザフレームUF21をラインカードLC[3]に中継する。ラインカードLC[3]の外部インタフェース部30は、当該宛先ポート識別子DP({LC[3]}/{Pm1})に基づき、ユーザフレームUF21をMCLAG用ポートPm1から送信する。
【0105】
また、ラインカードLC[2]のMCLAG学習用フレーム処理部15(具体的にはMCLAG学習用フレーム送信部15a)は、自ラインカードのポートでフレームを受信した場合で、当該フレームがMCLAG学習用フレームでない場合に、
図2に示したMCLAG学習用フレームMF1の生成および送信を行う。MCLAG学習用フレームMF1には、ユーザフレームUF21の送信元MACアドレスSAとなるMACアドレスMA2と、受信ポート識別子SPとなるMCLAG識別子{MCLAG2}と、が含まれ、さらに、MCLAG学習用フレームMF1の宛先ポート識別子DPとなるポート識別子{LC[n]}/{Pb}が付加されている。
【0106】
MCLAG学習用フレーム送信部15aは、当該宛先ポート識別子DP(ポート識別子{LC[n]}/{Pb})を付加したMCLAG学習用フレームMF1をファブリック経路部25に向けて送信する。ファブリック経路部25は、当該宛先ポート識別子DPに基づき、MCLAG学習用フレームMF1を、ラインカードLC[n]に中継する。ラインカードLC[n]の外部インタフェース部30は、当該宛先ポート識別子DPに基づき、MCLAG学習用フレームMF1をブリッジ用ポートPbから送信する。
【0107】
また、ラインカードLC[2]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム送信部35a)は、自ラインカードのポートでフレームを受信した場合で、当該フレームがMCLAG学習用フレームでない場合に、当該フレームの送信元MACアドレスSAと、受信ポート識別子SPと、の第3対応関係を含むLC学習用フレームを生成する。受信ポート識別子SPは、フレームを受信したポートのポート識別子または受信したポートに対応付けられるMCLAG識別子である。
【0108】
図11の例では、LC学習用フレーム送信部35aは、ユーザフレームUF21の送信元MACアドレスSAとなるMACアドレスMA2と、受信ポート識別子SPとなるMCLAG識別子{MCLAG2}とを含んだLC学習用フレームを生成する。そして、LC学習用フレーム送信部35aは、当該生成したLC学習用フレームを自ラインカードを除く他のラインカードにそれぞれ送信する。この際に、LC学習用フレーム送信部35aは、他のラインカードのそれぞれに向けたLC学習用フレームに、さらに宛先カード識別子DCを含ませて送信する。
【0109】
図11の例では、ラインカードLC[2]のLC学習用フレーム送信部35aは、ラインカードLC[3]に向けて、宛先カード識別子DCとなるカード識別子{LC[3]}を含んだLC学習用フレームLF23を送信する。また、LC学習用フレーム送信部35aは、ラインカードLC[n]に向けて、宛先カード識別子DCとなるカード識別子{LC[n]}を含んだLC学習用フレームLF2nを送信する。なお、
図11では省略されているが、LC学習用フレーム送信部35aは、詳細には、その他のラインカードLC[1],LC[4]〜LC[n−1]に対しても同様にLC学習用フレームをそれぞれ送信する。この詳細な動作は、後述する
図12〜
図14においても同様である。
【0110】
LC学習用フレームLF23,LF2nは、それぞれ、ファブリック経路部25を介して、ラインカードLC[3],LC[n]に中継される。ラインカードLC[3],LC[n]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム受信部35b)は、それぞれ、LC学習用フレームLF23,LF2nを受信した場合に、当該LC学習用フレームに含まれる前述した第3対応関係を自ラインカードのアドレステーブルFDBに学習する。すなわち、LC学習用フレーム受信部35bは、第3対応関係となる送信元MACアドレスSA(ここではMA2)および受信ポート識別子SP(ここでは{MCLAG2})をアドレステーブルFDBに学習する。
【0111】
次に、
図12において、ラインカードLC[n]のMCLAG学習用フレーム処理部15(具体的にはMCLAG学習用フレーム受信部15b)は、ブリッジ用ポートPbでピア装置からのMCLAG学習用フレームMF1を受信した場合、当該MCLAG学習用フレームMF1に基づきアドレステーブルFDBの学習を行う。この際には、
図2で述べたように、MCLAG学習用フレーム受信部15bは、当該MCLAG学習用フレームMF1がMCLAG識別子を含む場合には第1対応関係を学習し、MCLAG識別子を含まない場合には第2対応関係を学習する。
【0112】
図12の例では、MCLAG学習用フレームMF1は、受信ポート識別子SPとしてMCLAG識別子{MCLAG2}を含み、送信元MACアドレスSAとしてMACアドレスMA2を含んでいる。そこで、MCLAG学習用フレーム受信部15bは、MCLAG識別子{MCLAG2}とMACアドレスMA2との第1対応関係をアドレステーブルFDBに学習する。
【0113】
また、ラインカードLC[n]のMCLAG学習用フレーム処理部15(具体的にはMCLAG学習用フレーム送信部15a)は、自ラインカードのポートでフレームを受信した場合で、当該フレームがMCLAG学習用フレームでない場合に、MCLAG学習用フレームの生成および送信を行う。ここでは、受信したフレームはMCLAG学習用フレームMF1であるため、MCLAG学習用フレーム送信部15aは、当該MCLAG学習用フレームMF1を終端する。これにより、MCLAG学習用フレームの増殖を防止できる。
【0114】
一方、ラインカードLC[n]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム送信部35a)は、ブリッジ用ポートPbでピア装置からのMCLAG学習用フレームMF1を受信した場合に、前述したMCLAG学習用フレーム受信部15bでの第1対応関係または第2対応関係を含むLC学習用フレームを生成する。
図12の例では、LC学習用フレーム送信部35aは、MCLAG識別子{MCLAG2}とMACアドレスMA2との第1対応関係を含むLC学習用フレームを生成する。
【0115】
そして、LC学習用フレーム送信部35aは、
図11の場合と同様に、当該生成したLC学習用フレームを自ラインカードを除く他のラインカードに送信する。
図12の例では、LC学習用フレーム送信部35aは、ラインカードLC[2]に向けて、第1対応関係に加えて宛先カード識別子DCとなるカード識別子{LC[2]}を含んだLC学習用フレームLFn2を送信する。また、LC学習用フレーム送信部35aは、ラインカードLC[3]に向けて、第1対応関係に加えて宛先カード識別子DCとなるカード識別子{LC[3]}を含んだLC学習用フレームLFn3を送信する。
【0116】
LC学習用フレームLFn2,LFn3は、それぞれ、ファブリック経路部25を介して、ラインカードLC[2],LC[3]に中継される。ラインカードLC[2],LC[3]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム受信部35b)は、それぞれ、LC学習用フレームLFn2,LFn3を受信した場合に、当該LC学習用フレームに含まれる第1対応関係または第2対応関係(ここでは第1対応関係)を自ラインカードのアドレステーブルFDBに学習する。すなわち、LC学習用フレーム受信部35bは、第1対応関係となる送信元MACアドレスSA(ここではMA2)および受信ポート識別子SP(ここでは{MCLAG2})をアドレステーブルFDBに学習する。
【0117】
図13は、
図8および
図9のスイッチ装置において、ユーザフレームを受信した場合の
図11とは異なる概略動作例を示す説明図である。
図14は、
図8および
図9のスイッチ装置において、MCLAG学習用フレームを受信した場合の
図12とは異なる概略動作例を示す説明図である。
図13には、
図3のスイッチ装置SW1に
図8および
図9のスイッチ装置を適用した場合と例として、スイッチ装置SW1が一般ポートP1でユーザフレームUF31を受信した場合の動作例が示されている。
図14には、
図3のスイッチ装置SW2に
図8および
図9のスイッチ装置を適用した場合と例として、スイッチ装置SW2がブリッジ用ポートPbでMCLAG学習用フレームMF3を受信した場合の動作例が示されている。
【0118】
まず、
図13において、ラインカードLC[1]の中継処理部16は、一般ポートP1でユーザフレームUF31を受信した場合、アドレステーブルFDBの学習および検索を行う。この検索結果により、中継処理部16は、宛先ポート識別子としてMCLAG識別子{MCLAG1}を取得し、さらに、
図10(a)のMCLAGテーブル14に基づき、{MCLAG1}に対応する実際の宛先ポート識別子DPとして、ポート識別子{LC[3]}/{Pm1}を取得する。
【0119】
中継処理部16は、ユーザフレームUF31に、宛先ポート識別子DP({LC[3]}/{Pm1})と、受信ポート識別子SPとなるポート識別子{LC[1]}/{P1}とを付加し、それを、ファブリック経路部25に向けて送信する。ファブリック経路部25は、当該宛先ポート識別子DPに基づき、ユーザフレームUF31をラインカードLC[3]に中継する。ラインカードLC[3]の外部インタフェース部30は、当該宛先ポート識別子DP({LC[3]}/{Pm1})に基づき、ユーザフレームUF31をMCLAG用ポートPm1から送信する。
【0120】
また、ラインカードLC[1]のMCLAG学習用フレーム処理部15(具体的にはMCLAG学習用フレーム送信部15a)は、自ラインカードのポートでフレームを受信した場合で、当該フレームがMCLAG学習用フレームでない場合に、
図3に示したMCLAG学習用フレームMF3の生成および送信を行う。MCLAG学習用フレームMF3には、ユーザフレームUF31の送信元MACアドレスSAとなるMACアドレスMA3が含まれる。
【0121】
ただし、MCLAG学習用フレームMF3には、
図3で述べたように、一般ポートP1での受信に伴い、受信ポート識別子SPが含まれないか、所定の固定値(ここでは{zzz})が含まれる。ここでは、所定の固定値({zzz})が含まれるものとする。さらに、MCLAG学習用フレームMF3には、MCLAG学習用フレームMF3の宛先ポート識別子DPとなるポート識別子{LC[n]}/{Pb}が付加されている。
【0122】
MCLAG学習用フレーム送信部15aは、当該宛先ポート識別子DP(ポート識別子{LC[n]}/{Pb})を付加したMCLAG学習用フレームMF3をファブリック経路部25に向けて送信する。ファブリック経路部25は、当該宛先ポート識別子DPに基づき、MCLAG学習用フレームMF3を、ラインカードLC[n]に中継する。ラインカードLC[n]の外部インタフェース部30は、当該宛先ポート識別子DPに基づき、MCLAG学習用フレームMF3をブリッジ用ポートPbから送信する。
【0123】
また、ラインカードLC[1]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム送信部35a)は、自ラインカードのポートでフレームを受信した場合で、当該フレームがMCLAG学習用フレームでない場合に、当該フレームの送信元MACアドレスSAと、受信ポート識別子SPと、の第3対応関係を含むLC学習用フレームを生成する。受信ポート識別子SPは、フレームを受信したポートのポート識別子または受信したポートに対応付けられるMCLAG識別子である。
【0124】
図13の例では、LC学習用フレーム送信部35aは、ユーザフレームUF31の送信元MACアドレスSAとなるMACアドレスMA3と、受信ポート識別子SPとなるポート識別子{LC[1]}/{P1}とを含んだLC学習用フレームを生成する。そして、LC学習用フレーム送信部35aは、当該生成したLC学習用フレームを、
図11の場合と同様に、自ラインカードを除く他のラインカードにそれぞれ送信する。
【0125】
図13の例では、ラインカードLC[1]のLC学習用フレーム送信部35aは、ラインカードLC[3]に向けて、宛先カード識別子DCとなるカード識別子{LC[3]}を含んだLC学習用フレームLF13を送信する。また、LC学習用フレーム送信部35aは、ラインカードLC[n]に向けて、宛先カード識別子DCとなるカード識別子{LC[n]}を含んだLC学習用フレームLF1nを送信する。
【0126】
LC学習用フレームLF13,LF1nは、それぞれ、ファブリック経路部25を介して、ラインカードLC[3],LC[n]に中継される。ラインカードLC[3],LC[n]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム受信部35b)は、それぞれ、LC学習用フレームLF13,LF1nを受信した場合に、当該LC学習用フレームに含まれる前述した第3対応関係を自ラインカードのアドレステーブルFDBに学習する。すなわち、LC学習用フレーム受信部35bは、第3対応関係となる送信元MACアドレスSA(ここではMA3)および受信ポート識別子SP(ここでは{LC[1]}/{P1})をアドレステーブルFDBに学習する。
【0127】
次に、
図14において、ラインカードLC[n]のMCLAG学習用フレーム処理部15(具体的にはMCLAG学習用フレーム受信部15b)は、ブリッジ用ポートPbでピア装置からのMCLAG学習用フレームMF3を受信した場合、当該MCLAG学習用フレームMF3に基づきアドレステーブルFDBの学習を行う。この際には、
図2で述べたように、MCLAG学習用フレーム受信部15bは、当該MCLAG学習用フレームMF3がMCLAG識別子を含む場合には第1対応関係を学習し、MCLAG識別子を含まない場合には第2対応関係を学習する。
【0128】
図12の例では、MCLAG学習用フレームMF3は、送信元MACアドレスSAとしてMACアドレスMA3を含むが、受信ポート識別子SPとしてMCLAG識別子を含まず、所定の固定値({zzz})を含んでいる。そこで、MCLAG学習用フレーム受信部15bは、ブリッジ用ポートPbのポート識別子{Pb}とMACアドレスMA3との第2対応関係をアドレステーブルFDBに学習する。
【0129】
また、ラインカードLC[n]のMCLAG学習用フレーム処理部15(具体的にはMCLAG学習用フレーム送信部15a)は、自ラインカードのポートでフレームを受信した場合で、当該フレームがMCLAG学習用フレームでない場合に、MCLAG学習用フレームの生成および送信を行う。ここでは、受信したフレームはMCLAG学習用フレームMF3であるため、MCLAG学習用フレーム送信部15aは、当該MCLAG学習用フレームMF3を終端する。
【0130】
一方、ラインカードLC[n]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム送信部35a)は、ブリッジ用ポートPbでピア装置からのMCLAG学習用フレームMF3を受信した場合に、前述したMCLAG学習用フレーム受信部15bでの第1対応関係または第2対応関係を含むLC学習用フレームを生成する。
図14の例では、LC学習用フレーム送信部35aは、ポート識別子{Pb}とMACアドレスMA3との第2対応関係を含むLC学習用フレームを生成する。
【0131】
そして、LC学習用フレーム送信部35aは、
図11の場合と同様に、当該生成したLC学習用フレームを自ラインカードを除く他のラインカードに送信する。
図14の例では、LC学習用フレーム送信部35aは、ラインカードLC[1]に向けて、第2対応関係に加えて宛先カード識別子DCとなるカード識別子{LC[1]}を含んだLC学習用フレームLFn1を送信する。また、LC学習用フレーム送信部35aは、ラインカードLC[3]に向けて、第2対応関係に加えて宛先カード識別子DCとなるカード識別子{LC[3]}を含んだLC学習用フレームLFn3’を送信する。
【0132】
LC学習用フレームLFn1,LFn3’は、それぞれ、ファブリック経路部25を介して、ラインカードLC[1],LC[3]に中継される。ラインカードLC[1],LC[3]のLC学習用フレーム処理部35(具体的にはLC学習用フレーム受信部35b)は、それぞれ、LC学習用フレームLFn1,LFn3’を受信した場合に、当該LC学習用フレームに含まれる第1対応関係または第2対応関係(ここでは第2対応関係)を自ラインカードのアドレステーブルFDBに学習する。すなわち、LC学習用フレーム受信部35bは、第2対応関係となる送信元MACアドレスSA(ここではMA3)および受信ポート識別子SP(ここでは{Pb})をアドレステーブルFDBに学習する。
【0133】
《LC学習用フレームの構造》
図15は、
図11〜
図14の中継システムにおいて、LC学習用フレームの構造例を示す概略図である。
図15に示すLC学習用フレームLFは、特に限定はされないが、例えば、フレーム識別子22と、宛先カード識別子DCと、受信ポート識別子SPと、送信元MACアドレスSAと、VLAN識別子VIDと、を含んでいる。
【0134】
受信ポート識別子SP、送信元MACアドレスSAおよびVLAN識別子VIDは、
図11および
図13に示したように、MCLAG用ポートまたは一般ポートでユーザフレームを受信した場合には、当該ユーザフレームに基づく情報である。一方、受信ポート識別子SP、送信元MACアドレスSAおよびVLAN識別子VIDは、
図12および
図14に示したように、ブリッジ用ポートPbでMCLAG学習用フレームMFを受信した場合には、当該MCLAG学習用フレームMFに含まれる情報である。
【0135】
フレーム識別子22は、LC学習用フレームLFであることを表す所定の識別子である。宛先カード識別子DCは、
図11〜
図14に示したように、宛先となるラインカードを表す識別子である。
図9に示したフレーム処理部13は、
図15に示したフレーム識別子22や、
図4に示したヘッダ20およびフレーム識別子21によって、LC学習用フレームLFやMCLAG学習用フレームMFを認識することができる。
【0136】
以上のように、本実施の形態3のスイッチ装置SWは、
図12および
図14に示したように、特に、MCLAG学習用フレームMFを受信した場合に、当該MCLAG学習用フレームMFに含まれる情報をラインカードLC[1]〜LC[n]間で同期する構成を備えることが主要な特徴となっている。これによって、実施の形態1および実施の形態2で述べたような各種効果に加えて、シャーシ型のスイッチ装置を用いた場合に生じ得るフラッディングの発生を防止できる。
【0137】
すなわち、例えば、
図12において、MCLAG学習用フレームMF1に含まれる情報をラインカードLC[n]が学習した場合であっても、ラインカードLC[2],LC[3]等が学習していなければ、
図16および
図17と同様の問題が生じる恐れがある。本実施の形態3のスイッチ装置SWを用いることで、このような問題を解決できる。
【0138】
なお、ここでは、全てのラインカードLC[1]〜LC[n]がMCLAG学習用フレーム受信部35bを備える構成としたが、場合によっては、MCLAG学習用フレーム受信部35bは、ブリッジ用ポートPbを有するラインカード(
図8ではLC[n])のみが備えてもよい。ただし、この場合、特定のラインカードのみでしかブリッジ用ポートPbを有することができないため、ユーザの利便性が低下する恐れがある。この観点では、全てのラインカードLC[1]〜LC[n]がMCLAG学習用フレーム受信部35bを備えることが望ましい。
【0139】
また、例えば、
図13の例では、MCLAG学習用フレームMF3に含まれる受信ポート識別子SPとして所定の固定値{zzz}を設定したが、この所定の固定値をブリッジ用ポートのポート識別子{Pb}とすることも可能である。この場合、
図14において、ラインカードLC[n]のMCLAG学習用フレーム受信部15bは、このポート識別子{Pb}と、MACアドレスMA3と、の対応関係を学習すればよい。
【0140】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。