(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【0014】
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0015】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0016】
まず、本実施の形態による通信システムの説明に先だって、
図9〜
図11を用いて、その前提として検討した事項について述べる。
【0017】
《ボックス型ファブリックシステムの概要》
図9は、本発明の前提として検討したボックス型ファブリックシステムの構成例を示す概略図である。
図9に示すように、ボックス型ファブリックシステムは、複数(ここでは3個)のポートスイッチSWP1〜SWP3と、複数(ここでは2個)のファブリックスイッチSWF1,SWF2を備える。SWP1〜SWP3,SWF1,SWF2のそれぞれは、ボックス型スイッチ装置によって構成される。SWF1,SWF2は、SWP1〜SWP3間の通信経路を構築する。
【0018】
ポートスイッチSWP1〜SWP3のそれぞれは、ファブリックスイッチSWF1,SWF2のそれぞれとの間で異なる通信回線を介して接続される。すなわち、SWP1のポートP1およびポートP2は、それぞれ、SWF1のポートP1およびSWF2のポートP1に対して異なる通信回線を介して接続される。また、SWP2のポートP1およびポートP2は、それぞれ、SWF1のポートP2およびSWF2のポートP2に対して異なる通信回線を介して接続され、同様に、SWP3のポートP1およびポートP2は、それぞれ、SWF1のポートP3およびSWF2のポートP3に対して異なる通信回線を介して接続される。各ポートスイッチと各ファブリックスイッチのそれぞれは、特に限定はされないが、例えば同一構成のボックス型スイッチ装置で構成され、その内部設定によってポートスイッチとして機能するかファブリックスイッチとして機能するかが選択可能となっている。
【0019】
ボックス型ファブリックシステムにおいて、各ポートスイッチ(例えばSWP1)は、複数のファブリックスイッチSWF1,SWF2との間で複数(ここでは2本)の通信回線を介して接続され、その接続元となるポートP1,P2に対してリンクアグリゲーションを設定することができる。本明細書では、このリンクアグリゲーションが設定されたポート(ここではP1,P2)の集合体をリンクアグリゲーショングループLAGと呼ぶ。リンクアグリゲーション(リンクアグリゲーショングループLAG)が設定された場合、そのLAG内で負荷分散が実現できる。例えば、ポートスイッチSWP1からポートスイッチSWP3に向けてフレームを送信する場合、当該フレームは、所定の規則に基づいてSWP1のポートP1からSWF1を介してSWP3に向かう通信経路とSWP1のポートP2からSWF2を介してSWP3に向かう通信経路に適宜分散される。
【0020】
当該所定の規則としては、特に限定はされないが、例えば、フレーム内のヘッダ情報を用いて演算を行う方式が挙げられる。より具体的には、ヘッダ情報内の送信元および/または宛先のMAC(Media Access Control)アドレスや、加えて送信元および/または宛先のIP(Internet Protocol)アドレス等が用いられる。なお、リンクアグリゲーショングループLAGが設定されたポートは論理的(仮想的)に1個のポートとして機能する。このため、例えば、ポートスイッチSWP1のポートP1で受信したブロードキャストフレームがSWP1のポートP2からフラッディングされるといった信号の折り返しは生じない。
【0021】
ここで、前述したリンクアグリゲーショングループLAGは、例えば、次のようにして設定することができる。まず、ファブリックスイッチSWF1,SWF2のそれぞれは、自身に対して障害が無い状態で接続されているポートスイッチの台数を検出し、この検出した台数を含む制御フレームCF1を全ポートP1〜P3から送信する。この例では、SWF1は、3台のポートスイッチSWP1〜SWP3が障害が無い状態で接続されているため、「3台」を含む制御フレームCF1を全ポートP1〜P3から送信する。同様に、SWF2も、SWP1〜SWP3が障害が無い状態で接続されているため、「3台」を含む制御フレームCF2をP1〜P3から送信する。
【0022】
続いて、ポートスイッチSWP1は、ファブリックスイッチSWF1から送信された制御フレームCF1をポートP1で受信し、ファブリックスイッチSWF2から送信された制御フレームCF2をポートP2で受信する。SWP1は、受信した制御フレームに含まれる台数の中から最大の台数を認識し、この最大の台数を受信したポートに対してリンクアグリゲーショングループLAGを設定する。この例では、SWP1は、CF1,CF2共に「3台」を含んでいるため、CF1を受信したP1とCF2を受信したP2に対してLAGを設定する。SWP2,SWP3においても同様であり、SWP2,SWP3のそれぞれは、ポートP1,P2に対してLAGを設定する。
【0023】
《ボックス型ファブリックシステムとマルチシャーシスリンクアグリゲーションの組み合わせ》
図10および
図11は、
図9のボックス型ファブリックシステムにマルチシャーシスリンクアグリゲーションを適用した場合の構成例を示す概略図であり、併せてその問題点の一例を説明する図である。
図12は、
図10および
図11の補足図である。
図10では、
図9の構成例に加えて、ポートスイッチSWP1とポートスイッチSWP2がそれぞれ冗長向けポートPrを備えており、SWP1,SWP2は、当該Pr間が共通通信回線で接続されることでマルチシャーシスリンクアグリゲーションが設定されている。本明細書では、このマルチシャーシスリンクアグリゲーションが設定されたSWP1,SWP2をマルチシャーシスリンクアグリゲーション装置MLAGSWと呼ぶ。
【0024】
更に、
図10では、マルチシャーシスリンクアグリゲーション装置MLAGSWを構成するSWP1,SWP2に対してユーザスイッチSWU1,SWU2が接続されている。ユーザスイッチSWU1は、ポートスイッチSWP1,SWP2のそれぞれとの間で異なる通信回線を介して接続され、その通信回線の接続元となるポートP1,P2にリンクアグリゲーションを設定する。本明細書では、このように、2台のスイッチ装置(SWP1,SWP2)を跨いで設定されたリンクアグリゲーションの接続元となるポート(SWU1のP1,P2)をマルチシャーシスリンクアグリゲーショングループMLAGと呼ぶ。SWU1は、P1,P2にMLAGを設定する。ユーザスイッチSWU2も同様に、SWP1,SWP2のそれぞれとの間で異なる通信回線を介して接続され、その通信回線の接続元となるポートP1,P2にMLAGを設定する。
【0025】
ユーザスイッチSWU1からのフレームは、マルチシャーシスリンクアグリゲーションに伴う所定の規則に基づいてSWU1のポートP1側かポートP2側に適宜分散されて送信される。同様に、ユーザスイッチSWU2からのフレームも、所定の規則に基づいてSWU2のポートP1側かポートP2側に適宜分散されて送信される。マルチシャーシスリンクアグリゲーション装置MLAGSWを構成するポートスイッチSWP1,SWP2は、例えば、冗長向けポートPr間で互いの状態や、アドレステーブル(FDB:Forwarding DataBase)の情報等を送受信し、論理的(仮想的)に1台のスイッチとして機能する。このようなマルチシャーシスリンクアグリゲーションを用いると、負荷分散による通信帯域の向上に加えて耐障害性の向上が図れる。例えば、SWP1に障害が生じた場合でも、SWU1,SWU2から送信されたフレームをSWP2側に集約して転送することが可能になる。
【0026】
ここで、
図10に示すように、例えば、ポートスイッチSWP2とファブリックスイッチSWF1との間の通信経路(通信回線又はその接続元のポート)に障害が生じた場合を想定する。この場合、
図9で述べたようなリンクアグリゲーションの設定方法を用いると、SWF1は、当該障害に伴い、障害が無い状態で接続されているポートスイッチの台数を2台(SWP1,SWP3)と認識し、この「2台」を含む制御フレームCF1を全ポート(又は障害が無い全ポートP1,P3)から送信する。
【0027】
ポートスイッチSWP3は、SWF1からの制御フレームCF1に「2台」が、ファブリックスイッチSWF2からの制御フレームCF2に「3台」がそれぞれ含まれているため、最大台数を含むCF2を受信したポートP2に対してリンクアグリゲーショングループLAGを設定すると共にCF1を受信したポートP1をLAGから除外する。LAGが設定されているポートは正常なポートであることを意味し、SWP3は、フレームの送信をポートP2のみから行えることになる。なお、
図10の例では、SWP3のP2にLAGが設定されているが、LAGが設定されるポートが1個であるため、厳密にはLAGとは呼ばれない。ただし、本明細書では、以降においても同様に、便宜上、LAGと呼ぶ。図示は省略するが、例えば、更にファブリックスイッチ(SWF3とする)を備える場合、これに応じてSWP3も更にポート(P3とする)を備えることになり、この際に、SWP3は、P2,P3に対してLAGを設定することになる。
【0028】
仮に、
図10において、ポートスイッチSWP1,SWP2がマルチシャーシスリンクアグリゲーション装置MLAGSWを構成しない場合、このようにポートスイッチSWP3でリンクアグリゲーショングループLAGが設定されるポートがP2のみであっても特に問題は生じない。すなわち、障害により、ファブリックスイッチSWF1を介したSWP1〜SWP3間の通信が一部不可能となるため、実際上、SWF1自体が故障した場合と同様に取り扱ってもよい。
【0029】
しかしながら、ポートスイッチSWP1,SWP2がマルチシャーシスリンクアグリゲーション装置MLAGSWを構成する場合、当該MLAGSWは論理的(仮想的)に1台のスイッチとして機能する。この場合、論理的には、当該1台のMLAGSWとSWF1との間が2本の通信回線(SWP1とSWF1との間の通信回線およびSWP2とSWF1との間の通信回線)によって接続されることになり、この2本の通信回線の接続元となるポートはLAG(MLAG)として機能する必要がある。SWF1のP1,P2はLAG(MLAG)として機能する必要があり、SWP1のP1とSWP2のP1もLAG(MLAG)として機能する必要がある。
【0030】
このため、
図10のような障害が生じた場合でも、マルチシャーシスリンクアグリゲーション装置MLAGSWとファブリックスイッチSWF1との間の2本の通信回線の両方に障害が生じない限り、SWF1を介する通信経路を維持することが必要とされる。すなわち、ポートスイッチSWP3のポートP1は、リンクアグリゲーショングループLAG内に残す必要がある。また、ポートスイッチSWP1も、ポートスイッチSWP3の場合と同様に、ポートP1から「2台」、ポートP2から「3台」をそれぞれ受信する。このため、
図9で述べたようなリンクアグリゲーションの設定方法をそのまま適用すると、本来除外すべきではないポートP1をLAGから除外してしまう。すなわち、SWP1とSWP3の間における、本来有効に設定されるべきSWF1を介する通信経路が双方向で無効に設定されてしまう。
【0031】
そこで、その解決策の一例として、マルチシャーシスリンクアグリゲーション装置MLAGSWを構成するポートスイッチSWP1,SWP2に対して、最大台数から1台少ない台数を受信したポートに対してもリンクアグリゲーショングループLAGを設定するような機能(機能Aとする)を設けることが考えられる。これによって、SWP1のポートP1をLAGから除外せずに残すことができる。ただし、この場合、
図11に示すような別の問題が生じ得る。
【0032】
図11では、
図10と同様の構成例において、ポートスイッチSWP3とファブリックスイッチSWF1との間の通信経路(通信回線又はその接続元のポート)に障害が生じている。この場合、
図10の場合と同様に、ポートスイッチSWP1は、ポートP1から「2台」、ポートP2から「3台」をそれぞれ受信することになる。ただし、この場合は、実際上、SWP1からSWF1を介してSWP3にフレームを送信することは不可能であるため、
図10で述べたような機能Aを用いずにポートP1をリンクアグリゲーショングループLAGから除外する必要がある。すなわち、マルチシャーシスリンクアグリゲーション装置MLAGSWは、
図10のようにMLAGSWに接続された通信回線に障害が生じた場合と、
図11のようにそれ以外の通信回線に障害が生じた場合とを区別して、リンクアグリゲーショングループLAGの設定を適切に行う必要がある。
【0033】
ここで、仮に、マルチシャーシスリンクアグリゲーション装置MLAGSWにおいて、適切にリンクアグリゲーショングループLAGを設定できたしても、依然として、ポートスイッチSWP3において適切にLAGを設定することは容易でない。例えばポートスイッチSWP1は、自身がMLAGSWであることを認識できるため、前述した機能Aを区別して用いる(すなわちMLAGSWに接続された通信回線に障害が生じた場合とそれ以外の通信回線に障害が生じた場合とを区別する)ことが可能である。一方、SWP3は、
図12のように、更にポートスイッチSWP4が備わった場合を例として、MLAGSW(SWP1,SWP2)に接続された通信回線に障害が生じた場合と、それ以外となるSWP4とSWF1との間の通信回線に障害が生じた場合とを区別することは容易でない。すなわち、SWP3は、
図10の場合には、ポートP1をLAGに残す必要があり、
図12の場合にはP1をLAGから除外する必要があるが、これを区別する手段を持たない。
【0034】
《本実施の形態による通信システムの構成および動作》
図1は、本発明の一実施の形態による通信システムにおいて、その構成例および主要な動作例を示す概略図である。
図1に示す通信システムは、前述した
図10と同様の構成を備え、複数(ここでは2個)のファブリックスイッチSWF1,SWF2と、複数(ここでは3個)のポートスイッチSWP1〜SWP3と、ユーザスイッチSWU1,SWU2を備える。SWF1,SWF2,SWP1〜SWP3のそれぞれは、ネットワーク中継装置でもある。前述したように、SWF1,SWF2,SWP1〜SWP3は、それぞれ、ボックス型スイッチ装置によって構成され、全体としてボックス型ファブリックシステムを構成する。また、SWP1,SWP2は、マルチシャーシスリンクアグリゲーション(言い換えれば同一のドメイングループ)が設定され、冗長向けポートPr間が共通接続回線で接続され、論理的(仮想的)に1台のスイッチ装置(すなわちマルチシャーシスリンクアグリゲーション装置MLAGSW)として機能する。
【0035】
ポートスイッチSWP1は、ファブリックスイッチSWF1,SWF2のそれぞれとの間で異なる通信回線を介して接続される。同様に、SWP2,SWP3のそれぞれも、SWF1,SWF2のそれぞれとの間で異なる通信回線を介して接続される。ユーザスイッチSWU1は、SWP1,SWP2のそれぞれとの間で異なる通信回線を介して接続され、当該通信回線の接続元となるポートP1,P2にマルチシャーシスリンクアグリゲーショングループMLAGを設定する。同様に、ユーザスイッチSWU2も、SWP1,SWP2のそれぞれとの間で異なる通信回線を介して接続され、当該通信回線の接続元となるポートP1,P2にMLAGを設定する。
【0036】
ファブリックスイッチSWF1,SWF2は、ポートスイッチSWP1〜SWP3間の通信経路を構築する。例えば、SWF1は、SWP1から転送されたフレームの宛先MACアドレスを検出し、自身のアドレステーブル(FDB)内で当該MACアドレスとポートP3が関連付けられている場合、当該フレームをP3からSWP3に向けて転送する。この際に、実際には、SWP1は、例えばユーザスイッチSWU1に接続された図示しない端末(例えばサーバ)等からのフレームをSWU1を介して受信し、それをSWF1に向けて転送し、SWP3は、SWF1から転送されたフレームを自身に接続された図示しない端末(例えばサーバ)等に転送する。
【0037】
このような構成において、ファブリックスイッチSWF1は、
図9で述べたように、ポートP1〜P3と各ポートスイッチSWP1〜SWP3のそれぞれとの間の通信経路の中から障害が無い通信経路に該当するポートスイッチの台数を検出する際に、SWP1,SWP2を論理的(仮想的)に1台のスイッチとみなして台数を検出する。すなわち、SWF1は、同一のマルチシャーシスリンクアグリゲーション(ドメイングループ)が設定される2台のSWP1,SWP2の台数を、1台のマルチシャーシスリンクアグリゲーション装置MLAGSWとしてカウントする。そして、SWF1は、この検出した台数をSWP1〜SWP3のそれぞれに対して送信する。
【0038】
具体的には、ファブリックスイッチSWF1は、ポートスイッチSWP1,SWP2のそれぞれとの間の通信経路における障害の有無を予め検出し、当該通信経路の全てに障害が有る場合にはMLAGSW(SWP1,SWP2)を0台としてカウントし、それ以外の場合にはMLAGSW(SWP1,SWP2)を1台としてカウントする。この例では、SWF1は、SWF1とSWP1,SWP2のそれぞれとの間の通信経路において、一方にのみ障害が有る場合と両方共に障害が無い場合にMLAGSWを1台としてカウントする。同様に、ファブリックスイッチSWF2も、SWF2とSWP1,SWP2のそれぞれとの間の通信経路において、全てに障害が有る場合にはMLAGSWを0台としてカウントし、それ以外の場合にはMLAGSWを1台としてカウントする。
【0039】
その結果、
図1のように各通信経路に障害が無い場合には、ファブリックスイッチSWF1は、MLAGSW(SWP1,SWP2)を1台、ポートスイッチSWP3を1台としてカウントすることで計2台を検出し、同様に、ファブリックスイッチSWF2も2台を検出する。そして、SWF1は、検出した台数「2台」を含む制御フレームCF1をSWP1〜SWP3のそれぞれに向けて送信し、SWF2も、検出した台数「2台」を含む制御フレームCF2をSWP1〜SWP3のそれぞれに向けて送信する。
【0040】
一方、ポートスイッチSWP1,SWP2のそれぞれは、ファブリックスイッチSWF1,SWF2のそれぞれからの制御フレームCF1,CF2を受信し、その中から台数(ここでは共に2台)を抽出する。これによって、SWP1,SWP2のそれぞれは、最大の台数(ここでは2台)を受信したポートP1,P2に対してリンクアグリゲーショングループLAGを設定する。LAGが設定されているポートは、正常なポートとして取り扱われ、
図9で述べたように、LAG内で、適宜、負荷分散等が行われる。
【0041】
図2は、
図1の通信システムにおいて、通信経路に障害が有る場合の主要な動作例を示す概略図である。
図2では、
図10の場合と同様に、ポートスイッチSWP2とファブリックスイッチSWF1との間の通信経路(通信回線又はその接続元のポート)に障害が生じている。この場合、ファブリックスイッチSWF1は、マルチシャーシスリンクアグリゲーション(ドメイングループ)が設定されるポートスイッチSWP1,SWP2のそれぞれとの間の通信経路において、一方にのみ障害が有るため、MLAGSW(SWP1,SWP2)を1台としてカウントする。そして、SWF1は、この1台にポートスイッチSWP3の1台を加えた計2台を検出し、「2台」を含む制御フレームCF1をSWP1〜SWP3(又はSWP1,SWP3)のそれぞれに対して送信する。
【0042】
ファブリックスイッチSWF2は、マルチシャーシスリンクアグリゲーション(ドメイングループ)が設定されるポートスイッチSWP1,SWP2のそれぞれとの間の通信経路において、両方共に障害が無いため、MLAGSW(SWP1,SWP2)を1台としてカウントする。そして、SWF2は、この1台にポートスイッチSWP3の1台を加えた計2台を検出し、「2台」を含む制御フレームCF2をSWP1〜SWP3のそれぞれに対して送信する。
【0043】
ポートスイッチSWP1,SWP3のそれぞれは、ファブリックスイッチSWF1,SWF2のそれぞれからの制御フレームCF1,CF2を受信し、その中から台数(ここでは共に2台)を抽出する。これによって、SWP1,SWP2のそれぞれは、最大の台数(ここでは2台)を受信したポートP1,P2に対してリンクアグリゲーショングループLAGを設定する。一方、ポートスイッチSWP2は、SWF2から送信されたCF2の中から「2台」を抽出するが、障害に伴いSWF1からは台数を含む制御フレームCF1を受信しないため、最大の台数(ここでは2台)を受信したポートP2に対してLAGを設定し、ポートP1をLAGから除外する。その結果、
図10の場合と異なり、SWP1とSWP3の間において、SWF1を介する通信経路を双方向で有効に設定することが可能になる。
【0044】
図3は、
図1の通信システムにおいて、通信経路に
図2とは異なる障害が有る場合の主要な動作例を示す概略図である。
図3では、
図11の場合と同様に、ポートスイッチSWP3とファブリックスイッチSWF1との間の通信経路(通信回線又はその接続元のポート)に障害が生じている。この場合、ファブリックスイッチSWF1,SWF2のそれぞれは、マルチシャーシスリンクアグリゲーション(ドメイングループ)が設定されるポートスイッチSWP1,SWP2のそれぞれとの間の通信経路において、両方共に障害が無いため、MLAGSW(SWP1,SWP2)を1台としてカウントする。
【0045】
ファブリックスイッチSWF1は、ポートスイッチSWP3との間の通信経路に障害が生じているため、MLAGSW(ポートスイッチSWP1,SWP2)に伴う1台のみを検出し、「1台」を含む制御フレームCF1をSWP1〜SWP3(又はSWP1,SWP2)のそれぞれに対して送信する。ファブリックスイッチSWF2は、MLAGSW(SWP1,SWP2)に伴う1台にSWP3の1台を加えた計2台を検出し、「2台」を含む制御フレームCF2をSWP1〜SWP3のそれぞれに対して送信する。
【0046】
ポートスイッチSWP1,SWP2のそれぞれは、ファブリックスイッチSWF1,SWF2のそれぞれからの制御フレームCF1,CF2を受信し、CF1の中から「1台」をCF2の中から「2台」をそれぞれ抽出する。これによって、SWP1,SWP2のそれぞれは、最大の台数(ここでは2台)を受信したポートP2にリンクアグリゲーショングループLAGを設定し、ポートP1をLAGから除外する。また、ポートスイッチSWP3は、SWF2から送信されたCF2の中から「2台」を抽出するが、障害に伴いSWF1からは台数を含む制御フレームCF1を受信しない。このため、SWP3は、最大の台数(ここでは2台)を受信したポートP2に対してLAGを設定し、ポートP1をLAGから除外する。その結果、
図11の場合と異なり、SWP3からSWP1に向けたSWF1を介する通信経路に加えて、その逆方向の通信経路も無効に設定することが可能になる。
【0047】
以上のように、
図1の通信システムを用いることで、マルチシャーシスリンクアグリゲーションの適用に伴う装置冗長によって耐障害性の向上が図れると共に、当該適用によって生じ得るリンクアグリゲーションの設定の不具合を解消でき、耐障害性の更なる向上が実現可能となる。なお、
図1では、3個のポートスイッチSWP1〜SWP3と2個のファブリックスイッチSWF1,SWF2を備えた構成例を示したが、勿論、これに限定されるものではなく、ポートスイッチやファブリックスイッチの数は適宜変更することが可能である。また、マルチシャーシスリンクアグリゲーション装置MLAGSWの数も、複数とすることが可能である。例えば、
図12の構成例において、SWP3,SWP4に対してもマルチシャーシスリンクアグリゲーションを設定したような場合、SWF1,SWF2のそれぞれは、SWP1,SWP2と同様にしてSWP3,SWP4も論理的に1台としてカウントすればよい。
【0048】
《本実施の形態による通信システムのその他の機能》
図4は、
図1の通信システムが備える機能の一例となるドメイン認識機能の概略的な動作例を示す説明図である。
図1で述べたように、ファブリックスイッチSWF1,SWF2は、マルチシャーシスリンクアグリゲーション装置MLAGSW(ポートスイッチSWP1,SWP2)を論理的に1台としてカウントするために、当該MLAGSWの存在を予め認識しておく必要がある。この認識は、例えば、SWF1,SWF2において、ポートP1,P2にMLAGSWが接続されるという情報を予め手動で設定しておくことで実現可能であるが、自動設定で実現する方がより望ましい。
【0049】
そこで、
図4では、この自動設定による実現方法の一例が示されている。
図4では、例えば、マルチシャーシスリンクアグリゲーション装置MLAGSWを構成する2台のポートスイッチSWP1,SWP2のそれぞれに対して、自身に同一のドメイングループが設定されていることを示す同一のドメイン識別子を予め保持しておく。この状態で、SWP1,SWP2のそれぞれは、当該ドメイン識別子を含む制御フレームCFdを生成し、それを自身に接続されるファブリックスイッチSWF1,SWF2のそれぞれに対して送信する。
【0050】
ファブリックスイッチSWF1,SWF2のそれぞれは、同一のドメイン識別子を含む制御フレームCFdを受信した際に、その受信したポートP1,P2にサブリンクSLKを設定する。SWF1,SWF2のそれぞれは、SLKが設定されたポートP1,P2およびその先に接続されたポートスイッチSWP1,SWP2に同一のドメイングループ(マルチシャーシスリンクアグリゲーション)が設定されていると認識する。なお、SLKが設定されたポートは、論理的(仮想的)に1個のポートとして機能する。
【0051】
このように、ファブリックスイッチSWF1,SWF2に対して、マルチシャーシスリンクアグリゲーション装置MLAGSWの存在を自動的に認識させることで、例えば手動で設定する場合と比べて、保守・管理等を容易化することが可能になる。例えば、更にファブリックスイッチが追加されたような場合でも、当該ファブリックスイッチに対してMLAGSWの存在を自動的に認識させることできる。
【0052】
《ファブリックスイッチ(ネットワーク中継装置)の概略》
図5(a)は、
図1の通信システムにおいて、そのファブリックスイッチの主要部の概略構成例を示すブロック図であり、
図5(b)は、
図5(a)のリンクテーブルが持つ保持内容の一例を示す説明図である。
図6は、
図5(a)および
図5(b)のファブリックスイッチにおける主要な動作例を示すフロー図である。
図5(a)に示すファブリックスイッチ(ネットワーク中継装置)SWFは、例えば、フレーム転送制御部FFCTLおよび障害検出部DETと、制御フレーム管理部CFCTLと、データベース管理部DBCTLと、複数のポート(P1,P2,P3,…)等を備えている。ポートP1,P2,P3,…はポートスイッチ向けポートであり、
図1のSWF1を例とすると、P1,P2,P3にはそれぞれポートスイッチSWP1,SWP2,SWP3が接続される。なお、ここでは、3個のポートスイッチ向けポートP1,P2,P3が代表的に示されているが、4個以上のポートスイッチを備える場合には、これに応じて4個以上のポートが備わる。
【0053】
制御フレーム管理部CFCTLは、制御フレーム生成部CFGと制御フレーム解析部CFAを備え、これらを適宜管理する。CFGは、各種制御フレームを生成し、当該生成された制御フレームをフレーム転送制御部FFCTLを介して各ポート(P1,P2,P3,…)から送信する。CFAは、各ポート(P1,P2,P3,…)を介してFFCTLで受信した制御フレーム(すなわち各ポートスイッチが送信した制御フレーム)を対象に、当該制御フレームの内容を解析(判別)する。なお、制御フレームは、端末(例えばサーバ)等からの実データ信号を含むユーザフレームと異なり、通信システムの設定や監視等を行うための管理用のフレームである。
【0054】
データベース管理部DBCTLは、アドレステーブルFDBとリンクテーブルLDBとを備え、これらを管理すると共に、予めファブリックスイッチ毎に固有に設定されるファブリックスイッチ識別子SWFIDを保持している。アドレステーブルFDBには、各ポートと各ポートの先に存在する端末(サーバ)等のMACアドレスとの対応関係が登録される。フレーム転送制御部FFCTLは、各ポート(P1,P2,P3,…)と制御フレーム管理部CFCTLとの間の制御フレームの送受信を制御する機能を備える。FFCTLは、更に、DBCTLの各テーブル(FDB,LDB)が持つ情報に基づいて、各ポート(P1,P2,P3,…)間でのフレーム(例えばユーザフレーム)の転送を制御する機能を備える。障害検出部DETは、各ポート(P1,P2,P3,…)とそれに接続される各ポートスイッチとの間の通信経路における障害の有無を検出する。特に限定はされないが、DETは、例えば、ポートスイッチからの制御フレームを受信できない期間が所定の期間に達したような場合に、それに対応するポートに障害が有りとする。
【0055】
このような構成において、
図5(a)のファブリックスイッチSWFは、例えば、
図6に示すような処理を行う。まず、SWFは、各ポートスイッチに対して自身の存在を認識させるため、全ポート(P1,P2,P3,…)からファブリックスイッチ識別子SWFIDを送信する(ステップS101)。具体的には、
図5(a)の制御フレーム生成部CFGは、データベース管理部DBCTL内のSWFIDを含む制御フレームを生成し、フレーム転送制御部FFCTLは、当該制御フレームを各ポート(P1,P2,P3,…)から各ポートスイッチに向けて送信する。
【0056】
次いで、ファブリックスイッチSWFは、ポートスイッチ識別子SWPID、または加えてサブリンク識別子(ドメイン識別子)SLKIDを含む制御フレームを受信する(ステップS102)。具体的には、
図5(a)の制御フレーム解析部CFAは、各ポート(P1,P2,P3,…)を介してフレーム転送制御部FFCTLで受信された制御フレームを解析し、その中に含まれるSWPIDや、加えてSLKIDを判別する。そして、データベース管理部DBCTLは、各ポートと、SWPIDおよびSLKIDと、障害検出部DETからの障害の有無との関係をリンクテーブルLDBによって保持する。
【0057】
図5(b)に示すリンクテーブルLDBでは、各ポート(P1,P2,P3,…)と、各ポートが受信したポートスイッチ識別子SWPIDおよびサブリンク識別子(ドメイン識別子)SLKIDと、各ポートの障害の有無との関係が示されている。
図5(b)のLDBでは、
図2のSWF1を例として、ポートP1,P2,P3からそれぞれ異なるSWPID[1],[2],[3]が受信され、P1,P2から同一のSLKID[1]が受信され、加えてP2の通信経路に障害が有る場合が示されている。ここで、ファブリックスイッチSWFは、このようなLDBを保持したデータベース管理部DBCTLをドメイン識別部として機能させる。ドメイン識別部(DBCTL)は、
図5(b)のように、同一のSLKID[1]を受信することで、P1,P2に
図4で述べたようなサブリンクSLKを設定する。これによって、ドメイン識別部(DBCTL)は、P1,P2およびその先のSWP1,SWP2に同一のマルチシャーシスリンクアグリゲーション(ドメイングループ)が設定されていることを認識する。
【0058】
続いて、ファブリックスイッチSWFは、
図5(b)のようなリンクテーブルLDBを持つデータベース管理部DBCTLを台数検出部として機能させる。台数検出部(DBCTL)は、各ポートスイッチの内、障害が無い通信経路に該当するポートスイッチの台数を検出する。この際に、台数検出部(DBCTL)は、同一のサブリンク識別子(ドメイン識別子)SLKIDを持つポートスイッチSWPを1台とみなして、障害が無い通信経路に該当するSWPの台数(K)を検出する(ステップS103)。
【0059】
例えば、
図5(b)および
図2の例では、サブリンク識別子(ドメイン識別子)SLKID[1]が設定されたポートP1,P2とポートスイッチSWP1,SWP2との間の2本の通信経路において、一方(P2側)にのみ障害が有るため、台数検出部(DBCTL)は、SWP1,SWP2を1台としてカウントする。そして、台数検出部(DBCTL)は、この1台に、ポートP3の1台を加えて計2台の台数(K)を検出する。なお、
図1で述べたように、台数検出部(DBCTL)は、P1,P2とSWP1,SWP2との間の2本の通信経路において、両方に障害が有る場合にはSWP1,SWP2を0台としてカウントし、両方共に障害が無い場合には1台としてカウントする。
【0060】
次いで、ファブリックスイッチSWFは、制御フレーム生成部CFGおよびフレーム転送制御部FFCTLを台数送信部として機能させ、台数(K)を含む制御フレームを全ポート(P1,P2,P3,…)から送信する(ステップS104)。具体的には、台数送信部(CFG)は、台数検出部(DBCTL)で検出した台数(K)を含む制御フレームを生成する。そして、台数送信部(FFCTL)は、当該制御フレームを各ポート(P1,P2,P3,…)から各ポートスイッチに向けて送信する。
【0061】
《ポートスイッチ(ネットワーク中継装置)の概略》
図7(a)は、
図1の通信システムにおいて、そのポートスイッチの主要部の概略構成例を示すブロック図であり、
図7(b)は、
図7(a)のリンクテーブルが持つ保持内容の一例を示す説明図である。
図8は、
図7(a)および
図7(b)のポートスイッチにおける主要な動作例を示すフロー図である。
図7(a)に示すポートスイッチ(ネットワーク中継装置)SWPは、前述した
図5(a)の構成例と比較すると、データベース管理部DBCTL内において、
図5(a)のSWFIDの代わりにポートスイッチ識別子SWPIDが保持される点と、加えてサブリンク識別子(ドメイン識別子)SLKIDが保持される点が異なっている。さらに、
図7(a)に示すSWPは、
図5(a)と比較すると、ポートとして、ファブリックスイッチ向けポートP1,P2,…、ユーザスイッチ向けポート(ユーザポート)Pu1,Pu2,…、冗長向けポートPrを備えた点が異なっている。これ以外の構成に関しては、
図5(a)と同様であるため、以下、
図5(a)との違いに着目して説明を行う。
【0062】
図1のポートスイッチSWP1を例とすると、
図7(a)のファブリックスイッチ向けポートP1,P2には、それぞれファブリックスイッチSWF1,SWF2が接続され、ユーザポートPu1,Pu2には、それぞれユーザスイッチSWU1,SWU2が接続され、冗長向けポートPrにはポートスイッチSWP2が接続される。なお、ここでは、2個のファブリックスイッチ向けポートP1,P2が代表的に示されているが、3個以上のファブリックスイッチを備える場合には、これに応じて3個以上のポートが備わる。また、ここでは、2個のユーザポートPu1,Pu2が代表的に示されているが、3個以上のユーザスイッチを備える場合には、これに応じて3個以上のポートが備わる。
【0063】
冗長向けポートPrは、
図1の例では、マルチシャーシスリンクアグリゲーション(ドメイングループ)が設定されるポートスイッチSWP1,SWP2に備わっている。ただし、例えば、ポートスイッチSWP1〜SWP3を同一構成のボックス型のスイッチ装置で実現する場合、SWP3は特にPrを備える必要はなく、この場合、内部設定によって、Prをユーザポートやファブリックスイッチ向けポートとして使用することも可能である。また、各ポートの割り付け(例えばファブリックスイッチ向け、ユーザスイッチ向け等)は、内部設定によって適宜変更することが可能であり、
図7(a)の基本的な機能構成は
図5(a)の機能構成と同様であるため、ファブリックスイッチとポートスイッチを同一構成のボックス型スイッチ装置で構成することも可能である。
【0064】
図7(a)のポートスイッチ識別子SWPIDは、予めポートスイッチ毎に固有に設定される。また、サブリンク識別子(ドメイン識別子)SLKIDは、自身に他のポートスイッチとの間で同一のマルチシャーシスリンクアグリゲーション(ドメイングループ)が設定されていることを示すものであり、対象となるポートスイッチ(
図1の例ではSWP1,SWP2)に対して予め設定される。
【0065】
このような構成において、
図7(a)のポートスイッチSWPは、例えば、
図8に示すような処理を行う。まず、SWPは、ファブリックスイッチSWFを認識する(ステップS201)。具体的には、前述した
図6のステップS101に応じて、
図7(a)の制御フレーム解析部CFAは、各ポート(P1,P2,…)を介してフレーム転送制御部FFCTLで受信した制御フレームを解析し、その中に含まれるファブリックスイッチ識別子SWFIDを判別する。
図7(a)のデータベース管理部DBCTLは、このSWFIDとポート(P1,P2,…)の関係をリンクテーブルLDBによって保持する。
【0066】
続いて、ポートスイッチSWPは、制御フレーム生成部CFGおよびフレーム転送制御部FFCTLをドメイン送信部として機能させる。ドメイン送信部は、各ファブリックスイッチSWFに対して、ポートスイッチ識別子SWPID又は加えてサブリンク識別子(ドメイン識別子)SLKIDを含む制御フレームを送信する(ステップS202)。例えば、
図1のSWP1,SWP2の場合、ドメイン送信部(CFG)は、データベース管理部DBCTL内のSWPIDに加えて、SLKIDを含む制御フレームを生成する。そして、ドメイン送信部(FFCTL)は、当該制御フレームを、ステップS201で認識した各ファブリックスイッチSWFに向けてファブリックスイッチ向けポートP1,P2,…から送信する。
【0067】
次いで、ポートスイッチSWPは、フレーム転送制御部FFCTL、制御フレーム解析部CFAおよびデータベース管理部DBCTLをリンク設定部として機能させる。リンク設定部は、障害が無しに該当するSWPの台数(K)を含んだ制御フレームを受信し(ステップS203)、最大の台数(K)を受信した単数または複数のポートにリンクアグリゲーショングループLAGを設定する(ステップS204)。具体的には、前述した
図6のステップS104に応じて、リンク設定部(CFA)は、各ポート(P1,P2,…)を介してFFCTLで受信した制御フレームを解析し、その中に含まれる台数(K)を判別する。そして、リンク設定部(DBCTL)は、各ポートと当該台数(K)との関係をリンクテーブルLDBによって保持し、これに基づいてLAGを設定する。
【0068】
図7(b)に示すリンクテーブルLDBでは、各ポート(P1,P2,P3,…)と、ステップS201で各ポートが受信したファブリックスイッチ識別子SWFIDと、ステップS203で各ポートが受信した台数(K)と、リンクアグリゲーショングループ識別子LAGIDとの関係が示されている。
図7(b)のLDBでは、
図2のSWP1を例として、ポートP1,P2からそれぞれ異なるSWFID[1],[2]が受信され、P1,P2から共に2台の台数(K)が受信されている。この場合、データベース管理部DBCTLは、最大の台数(K)が2台であるため、この2台の台数(K)を受信したP1,P2に対して同一のLAGID[1]を割り当てることでリンクアグリゲーショングループLAGを設定する。LAGが設定されているポートは正常なポートであることを意味する。
【0069】
以上、本実施の形態の通信システムおよびネットワーク中継装置を用いることで、代表的には、耐障害性の向上が図れる。なお、ここでは、ポートスイッチSWPおよびファブリックスイッチSWFのそれぞれをボックス型スイッチ装置で構成した。このボックス型スイッチ装置を用いたボックス型ファブリックシステムを用いることで、前述したようにポートスイッチおよびファブリックスイッチの両機能が1個の筐体内に格納されたシャーシ型スイッチ装置からなるシステムを用いる場合と比較して、各種有益な効果が得られる。ただし、必ずしもボックス型スイッチ装置の構成に限定されるものではなく、シャーシ型スイッチ装置の構成を用いた場合であっても、
図9のようなリンクアグリゲーションの設定方法を適用でき、これに伴い
図10〜
図12で述べたような問題が生じ得るため、同様に適用して同様の効果が得られる。
【0070】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0071】
例えば、ここでは、主に、LANスイッチ(L2スイッチ)を用いた通信システムを例として説明を行ったが、L3スイッチを用いた通信システムであっても同様に適用することが可能である。