(58)【調査した分野】(Int.Cl.,DB名)
m(mは2以上の整数)台のファブリックスイッチとの間でm本のサブリンクでそれぞれ接続され、前記m本のサブリンクに対してリンクアグリゲーショングループを設定して動作するスイッチ装置であって、
前記m本のサブリンクの中のいずれか1本となる第1サブリンクを除いた(m−1)本のサブリンクでアドレス解決用のブロードキャストフレームを受信した際に、前記ブロードキャストフレームの送信元アドレスが前記m台のファブリックスイッチの中のいずれかのファブリックスイッチのアドレスと一致する場合には前記ブロードキャストフレームの中継を許可し、一致しない場合には前記ブロードキャストフレームを破棄する、
スイッチ装置。
【発明を実施するための形態】
【0015】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【0016】
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0017】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0018】
《ネットワーク中継システムの構成および前提動作》
図1は、本発明の一実施の形態によるネットワーク中継システムにおいて、その構成例および前提となる動作例を示すブロック図である。
図1に示すネットワーク中継システムは、ボックス型ファブリックシステム10で構成される。ボックス型ファブリックシステム10は、n(nは2以上の整数)台のポートスイッチPS[1]〜PS[n]と、m(mは2以上の整数)台のファブリックスイッチFS[1]〜FS[m]と、n台のポートスイッチとm台のファブリックスイッチとの間をそれぞれ接続する複数のサブリンク(例えばSL[1,1]等)を備える。m台のファブリックスイッチFS[1]〜FS[m]は、n台のポートスイッチPS[1]〜PS[n]の間のフレームの中継を担う。
【0019】
n台のポートスイッチPS[1]〜PS[n]、およびm台のファブリックスイッチFS[1]〜FS[m]のそれぞれは、ボックス型スイッチ装置で構成される。n台のポートスイッチPS[1]〜PS[n]のそれぞれは、m個のファブリックスイッチ用ポートPf[1]〜Pf[m]と、p(pは1以上の整数)個のユーザ用ポートPu[1]〜Pu[p]とを備える。m台のファブリックスイッチFS[1]〜FS[m]のそれぞれは、n個のポートスイッチ用ポートPp[1]〜Pp[n]を備える。
【0020】
n台のポートスイッチPS[1]〜PS[n]のそれぞれは、自身とm台のファブリックスイッチFS[1]〜FS[m]との間をそれぞれ接続するm本のサブリンクに対してLAGを設定する。例えば、ポートスイッチPS[1]は、m台のファブリックスイッチFS[1]〜FS[m]との間のm本のサブリンクSL[1,1],SL[1,2],…,SL[1,m]に対してLAGを設定する。ここでは、このm本のサブリンク間のLAGを、メインリンクML[1]と呼ぶ。同様に、ポートスイッチPS[2]は、m台のファブリックスイッチFS[1]〜FS[m]との間のm本のサブリンクSL[2,1],SL[2,2],…,SL[2,m]に対してLAG(すなわちメインリンクML[2])を設定する。同様に、ポートスイッチPS[n]は、m本のサブリンクSL[n,1],SL[n,2],…,SL[n,m]にに対してLAG(すなわちメインリンクML[n])を設定する。
【0021】
以降、ポートスイッチPS[1]〜PS[n]のそれぞれを代表してポートスイッチPSと称し、ファブリックスイッチFS[1]〜FS[m]のそれぞれを代表してファブリックスイッチFSと称する。また、ファブリックスイッチ用ポートPf[1]〜Pf[m]のそれぞれを代表してファブリックスイッチ用ポートPfと称し、ユーザ用ポートPu[1]〜Pu[p]のそれぞれを代表してユーザ用ポートPuと称し、ポートスイッチ用ポートPp[1]〜Pp[n]のそれぞれを代表してポートスイッチ用ポートPpと称する。更に、サブリンクSL[1,1]〜SL[n,m]のそれぞれを代表してサブリンクSLと称し、メインリンクML[1]〜ML[n]のそれぞれを代表してメインリンクMLと称する。
【0022】
また、
図1の例では、各サブリンクSLは、2本のリンク11によって構成される。リンク11とは、通信回線と、その両端のポート(すなわちファブリックスイッチ用ポートPfおよびポートスイッチ用ポートPp)とを含めた集合体を意味する。各ポートスイッチ(例えばPS[1])は、各サブリンク(例えばSL[1,1])を構成する2本のリンク11に対してLAGを設定する。すなわち、当該LAGは、前述したサブリンク間のLAG(すなわちメインリンクML)と異なり、サブリンク内のLAGとなる。
【0023】
同様に、各ファブリックスイッチ(例えばFS[1])も、各サブリンク(例えばSL[1,1])を構成する2本のリンク11に対してLAGを設定する。なお、各サブリンクSLは、必ずしも2本のリンク11で構成される必要はなく、各サブリンクSL毎に、1本のリンク11または3本以上のリンク11で構成されてもよい。2本以上のリンク11で構成されたサブリンクSLには、サブリンク内のLAGが設定される。
【0024】
ここで、例えば、ポートスイッチPS[1]のユーザ用ポートPu[1]に接続された端末TM1からポートスイッチPS[2]のユーザ用ポートPu[p]に接続された端末TM4に向けてフレームFL1が転送される場合を想定する。この場合、ポートスイッチPS[1]は、フレームFL1を受信した際に、その中継先のファブリックスイッチ用ポートPf(言い換えればサブリンクSL)を所定の分散規則に基づいて定める。この例では、ファブリックスイッチ用ポートPf[1]が定められる。その結果、当該フレームFL1は、ファブリックスイッチFS[1]を経由する経路でポートスイッチPS[2]および端末TM4に転送される。
【0025】
また、ポートスイッチPS[1]のユーザ用ポートPu[p]に接続された端末TM2からポートスイッチPS[2]のユーザ用ポートPu[1]に接続された端末TM3に向けてフレームFL2が転送される場合を想定する。この場合、ポートスイッチPS[1]は、フレームFL2を受信した際に、その中継先のファブリックスイッチ用ポートPf(言い換えればサブリンクSL)を所定の分散規則に基づいて定める。この例では、ファブリックスイッチ用ポートPf[2]が定められる。その結果、当該フレームFL2は、ファブリックスイッチFS[2]を経由する経路でポートスイッチPS[2]および端末TM3に転送される。なお、仮に、ファブリックスイッチ用ポートPf[2]に障害が有るような場合には、それ以外のファブリックスイッチ用ポートPfが定められる。
【0026】
このように、ボックス型ファブリックシステム10を用いると、LAGに伴い、LAG内での負荷分散と冗長性を実現できる。例えば通信帯域を拡大したい場合には、ファブリックスイッチFSを増設すればよく、通信帯域の拡大を容易にかつ低コストで実現可能になる。また、ポートスイッチPSの増設によって、ポート数(すなわちユーザ用ポートPu)の拡張も容易にかつ低コストで実現可能になる。その結果、当該システムを用いると、シャーシ型スイッチ装置からなるシステムを用いる場合と比較して、ユーザの要求に応じた柔軟なシステムを低コストで構築できる。
【0027】
《アドレステーブル同期機能の概略》
図2は、
図1のネットワーク中継システムが備えるアドレステーブル同期機能の一例を示す概略図である。
図2には、
図1のボックス型ファブリックシステム10において、ファブリックスイッチFSの台数「m」を3台とした場合の一部の構成例が示されている。
図2において、例えば、ポートスイッチPS[1]のユーザ用ポートPu[1]に接続された端末TM1は、既知のIP(Internet Protocol)アドレスから不明のMAC(Media Access Control)アドレスを得るといった所謂アドレス解決を行うため、ARP要求フレームAF1を送信する場合がある。
【0028】
ARP要求フレームAF1において、宛先MACアドレス(DMAC)25には、ブロードキャストアドレスを示す「FF‥FFh」が格納され、送信元MACアドレス(SMAC)26には、端末TM1のMACアドレス(ここではMA1)が格納される。また、フレームタイプ27には、ARPを表す「0806h」が格納され、データ28の中には、アドレス解決のためのIPアドレス等が格納される。
【0029】
ここで、仮に、特許文献1に示されるようなアドレステーブル同期機能を搭載しない場合、ポートスイッチPS[1]は、ARP要求フレームAF1を、他のユーザ用ポートPuに加えて、LAG(すなわちメインリンクML[1])に伴いいずれか1個のファブリックスイッチ用ポート(例えばPf[1]とする)にフラッディングする。一方、アドレステーブル同期機能を搭載する場合、ポートスイッチPS[1]は、ARP要求フレームAF1を全てのファブリックスイッチFS[1]〜FS[3]に中継する。本明細書では、当該機能をLAGのARP時例外機能と呼ぶ。これにより、各ファブリックスイッチFS[1]〜FS[3]は、端末TM1のMACアドレス(MA1)を同時に学習できる。
【0030】
ただし、このようなLAGのARP時例外機能を設けると、各ポートスイッチPSは、同じ内容を持つARP要求フレームを全てのファブリックスイッチFS[1]〜FS[3]から同時に受信する場合がある。
図2の例では、ポートスイッチPS[2](PS[3]〜PS[n]も同様)は、ARP要求フレームAF1を全てのファブリックスイッチFS[1]〜FS[3]から受信する。そうすると、ポートスイッチPS[2]は、ファブリックスイッチFS[1]〜FS[3]からの3個の同じARP要求フレームAF1に対して処理を行う必要性が生じる。
【0031】
そこで、このような事態を防止するため、各ポートスイッチPSは、LAGのARP時例外機能と併せて、所定のファブリックスイッチ(例えばFS[1])以外から受信したARP要求フレームを破棄する機能を持つ。本明細書では、当該機能をARPの破棄機能と呼ぶ。具体的には、ポートスイッチPS[2](PS[1],PS[3]〜PS[n]も同様)では、例えば、ファブリックスイッチ用ポートPf[2],Pf[3]で受信したARP要求フレームAF1を破棄するような条件設定15が行われる。
【0032】
これにより、ポートスイッチPS[2](PS[1],PS[3]〜PS[n]も同様)は、ファブリックスイッチFS[1]〜FS[3]から同じARP要求フレームを受信した場合でも、その内のファブリックスイッチFS[1]から受信したARP要求フレームのみを対象に処理を行うことができる。
図2の例では、ポートスイッチPS[2](PS[3]〜PS[n]も同様)は、ファブリックスイッチ用ポートPf[1]で受信したARP要求フレームAF1をユーザ用ポートPuにフラッディングする。
【0033】
以上のような処理を行うことで、各ポートスイッチPSに接続された各端末にARP要求フレームAF1を転送することができる。アドレステーブル同期機能は、前述したLAGのARP時例外機能とARPの破棄機能との組合せによって構成される。
【0034】
《インバンド管理の概要》
図3は、
図1のネットワーク中継システムが備えるインバンド管理機能の一例を示す概略図である。
図3には、
図1のボックス型ファブリックシステム10において、ファブリックスイッチFSの台数「m」を3台とした場合の一部の構成例が示されている。インバンド管理では、例えば
図3に示すように、ポートスイッチPS[1]のユーザ用ポートPu[1]に管理用端末MTM1を接続し、当該管理用端末MTM1からファブリックスイッチFS[2]の保守・管理が行われる。保守・管理の一例としては、例えば、情報収集、各種設定、ファームウェアのアップデート等が挙げられる。
【0035】
この際に、ポートスイッチPS[1]は各ファブリックスイッチFS[1]〜FS[3]との間のサブリンクSLにLAG(すなわちメインリンクML[1])を設定しているため、管理用端末MTM1とファブリックスイッチFS[2]との間の通信が正常に行えない場合がある。すなわち、管理用端末MTM1から送信されたフレームFL3は、ポートスイッチPS[1]のLAG(メインリンクML[1])によって所定の規則で分散されてしまうため、必ずしもファブリックスイッチFS[2]に到達するとは限らない。
【0036】
そこで、このような事態を防止するため、各ポートスイッチPS(ここではPS[1])は、例えば、条件テーブル20を備える。各ポートスイッチPS[1]は、LAGよりも当該条件テーブル20を優先させる仕組みを持つ。条件テーブル20には、宛先MACアドレスがファブリックスイッチFS[2]のMACアドレス(ここではMAf2)であることと、その場合の中継先となるポートの識別子(ポートID){Pf[2]}とが示されている。ここで、{Pf[2]}は、ポートPf[2]に付されるポートIDを意味する。以降も同様に、本明細書では、例えば、{AA}は、AAに付される識別子(ID)を意味する。
【0037】
これにより、管理用端末MTM1から送信されたフレームFL3は、ポートスイッチPS[1]で分散されずにファブリックスイッチFS[2]に到達することができる。すなわち、フレームFL3には、宛先MACアドレス(DMAC)25としてファブリックスイッチFS[2]のMACアドレス(MAf2)が含まれている。したがって、ポートスイッチPS[1]は、フレームFL3を受信した際に、フレームFL3の宛先MACアドレスと条件テーブル20に設定された宛先MACアドレスとが一致するため、条件テーブル20に基づいてフレームFL3をファブリックスイッチ用ポートPf[2]に中継することができる。なお、逆に、ファブリックスイッチFS[2]から送信された、管理用端末MTM1のMACアドレス(ここではMA2)を宛先とするフレームは、
図4で述べる場合を除いて、当該インバンド管理機能に関係なく、管理用端末MTM1に到達することができる。
【0038】
《アドレステーブル同期機能搭載時のインバンド管理(問題点)》
図4は、
図2のアドレステーブル同期機能を搭載した状態でインバンド管理を行う際に生じる問題点の一例を示す概略図である。例えば、インバンド管理を行う中で、ファブリックスイッチFSは、アドレス解決のため、自身を送信元としてARP要求フレームを送信する場合がある。特に限定はされないが、例えば、
図3のように管理用端末MTM1とファブリックスイッチFS[2]との間で管理用の通信が行われている過程で、ファブリックスイッチFS[2]から管理用端末MTM1のMACアドレスが消滅したような場合にアドレス解決が必要とされ得る。
【0039】
図4に示すように、ファブリックスイッチFS[2]がARP要求フレームAF3をブロードキャストで送信した場合、ポートスイッチPS[1](PS[2]〜PS[n]も同様)は、ARP要求フレームAF3を、ファブリックスイッチ用ポートPf[2]で受信する。しかしながら、ポートスイッチPS[1](PS[2]〜PS[n]も同様)は、アドレステーブル同期機能を備える場合、
図2で述べた条件設定15に伴い、ファブリックスイッチ用ポートPf[2]で受信したARP要求フレームAF3を破棄してしまう。その結果、ARP要求フレームAF3は、管理用端末MTM1を含めて各端末に到達することができず、十分なインバンド管理が実現できない場合がある。
【0040】
《アドレステーブル同期機能搭載時のインバンド管理機能(解決策)》
図5は、
図4の問題に対する解決方式の一例を示す概略図である。
図4に示したような問題を解決するため、ポートスイッチPS[1](PS[2]〜PS[n]も同様)は、例えば、
図5に示すような受信時許可テーブル30を備える。受信時許可テーブル30には、対象とするポートIDが{Pf[2]},{Pf[3]}であることと、送信元MACアドレスがファブリックスイッチFS[2],FS[3]のMACアドレス(ここではそれぞれMAf2,MAf3)であることと、フレームタイプがARP要求であることが示されている。ポートスイッチPS[1]は、受信したフレームの中から受信時許可テーブル30の条件を満たしたフレームの中継を許可する。
【0041】
これにより、ファブリックスイッチFS[2]から送信されたARP要求フレームAF3は、ポートスイッチPS[1](PS[2]〜PS[n]も同様)の条件設定15で破棄されずに、管理用端末MTM1を含めて各端末に到達することができる。具体的に説明すると、まず、ARP要求フレームAF3には、宛先MACアドレス(DMAC)25としてブロードキャストアドレスが、送信元MACアドレス(SMAC)26としてファブリックスイッチFS[2]のMACアドレス(MAf2)が、フレームタイプ27としてARPの識別子がそれぞれ含まれている。
【0042】
したがって、ポートスイッチPS[1]は、ARP要求フレームAF3をファブリックスイッチ用ポートPf[2]で受信した際に、その受信したポートおよびARP要求フレームAF3内の各種情報と受信時許可テーブル30に設定された各種条件とが一致するため、ARP要求フレームAF3の中継を許可する。なお、この際には、条件設定15よりも受信時許可テーブル30の条件の方が優先される。これにより、ポートスイッチPS[1](PS[2]〜PS[n]も同様)は、ARP要求フレームAF3をユーザ用ポートPuにフラッディングする。その結果、ARP要求フレームAF3は、管理用端末MTM1を含めて各ポートスイッチPSに接続された各端末に到達することができる。
【0043】
以上のように、
図5のインバンド管理機能を用いることで、前述した
図3のインバンド管理機能と併せて、アドレステーブル同期機能搭載時であっても十分なインバンド管理を実現することが可能になる。その結果、システムの保守性の向上が図れる。特に、ボックス型ファブリックシステムでは、各スイッチが物理的に適宜分散して配置される。このため、例えば、前述した保守・管理用の専用のポート(マネージメントポート)を設けるような方式では、通信回線の増大を招く恐れや、あるいは、ファブリックスイッチを追加した際に保守・管理用の通信経路を別途構築する必要性等が生じ得る。本実施の形態の方式でインバンド管理を実現することで、このような問題の解決を含めて保守性の向上が図れる。
【0044】
《ポートスイッチの概略動作》
図6は、
図1のネットワーク中継システムにおいて、そのポートスイッチの概略的な処理内容の一例を示すフロー図である。
図6には、ポートでフレームを受信した際に行われるフレーム受信処理の一部が示されており、
図2に示したアドレステーブル同期機能と
図5に示したインバンド管理機能とが反映されたフローとなっている。ポートスイッチPSは、まず、受信したフレームのヘッダを解析し、当該フレームがブロードキャストフレームとなるARP要求フレームか否かを判別する(ステップS101)。ARP要求フレームの場合には、ステップS102の処理が行われ、ARP要求フレームで無い場合には、ステップS106の処理が行われる。
【0045】
ステップS106において、ポートスイッチPSは、アドレステーブルに基づく通常の中継処理を代表に所定の処理を行ったのち、フレーム受信処理を終了する。一方、ステップS102において、ポートスイッチPSは、ARP要求フレームをサブリンクSL(言い換えればファブリックスイッチ用ポートPf)で受信したか否かを判別する。サブリンクSLで受信していない場合、この例では、ユーザ用ポートPuで受信したことになり、ポートスイッチPSは、ARP要求フレームを他のユーザ用ポートPuおよび全サブリンクFLにフラッディングしたのち、フレーム受信処理を終了する(ステップS107)。当該処理は、
図2で述べたLAGのARP時例外機能が担う。
【0046】
一方、ステップS102において、サブリンクSLで受信した場合には、ポートスイッチ(例えばPS[1])は、所定のサブリンク(例えばSL[1,1])を除いたサブリンク(SL[1,2]〜SL[1,m])で受信したか否かを判別する(ステップS103)。所定のサブリンク(SL[1,1])で受信した場合、ポートスイッチ(PS[1])は、ARP要求フレームの中継を許可する(ステップS105)。一方、所定のサブリンクを除いたサブリンク(SL[1,2]〜SL[1,m])で受信した場合、ポートスイッチ(PS[1])は、送信元MACアドレスがファブリックスイッチ(FS[2]〜FS[m])のMACアドレスか否かを判別する(ステップS104)。
【0047】
ステップS104において、ファブリックスイッチFSのMACアドレスの場合、ポートスイッチPSは、ARP要求フレームの中継を許可する(ステップS105)。その後、ポートスイッチPSは、所定の処理を行ったのち、フレーム受信処理を終了する(ステップS106)。具体的には、ポートスイッチPSは、ARP要求フレームを各ユーザ用ポートPuにフラッディングする。当該処理は、
図5で述べたインバンド管理機能が担う。一方、ステップS104において、ファブリックスイッチFSのMACアドレスでない場合、ポートスイッチPSは、ARP要求フレームを破棄したのち、フレーム受信処理を終了する(ステップS108)。当該処理は、
図2で述べたARPの破棄機能が担う。
【0048】
以上のように、各ポートスイッチ(例えばPS[1])は、m本のサブリンク(SL[1,1]〜SL[1,m])の中のいずれか1本となる第1サブリンク(SL[1,1])を除いた(m−1)本のサブリンク(SL[1,2]〜SL[1,m])でARP要求フレームを受信した際には(ステップS103)、次の場合分けを行う。すなわち、各ポートスイッチPSは、ARP要求フレームの送信元アドレスがm台のファブリックスイッチFSの中のいずれかのファブリックスイッチのアドレスと一致する場合にはARP要求フレームの中継を許可し、一致しない場合にはARP要求フレームを破棄する(ステップS104,S105,S108)。また、各ポートスイッチ(例えばPS[1])は、第1サブリンク(SL[1,1])でARP要求フレームを受信した際には(ステップS103)、ARP要求フレームの中継を許可する(ステップS105)。
【0049】
《ポートスイッチの詳細》
図7は、
図1のネットワーク中継システムにおいて、そのポートスイッチの主要部の概略構成例を示すブロック図である。
図7に示すポートスイッチPSは、例えば、フレーム処理部35と、テーブルユニット36と、例外テーブル設定部37と、複数のポート(ユーザ用ポートPu[1]〜Pu[p]およびファブリックスイッチ用ポートPf[1]〜Pf[m])を備えている。ユーザ用ポートPu[1]〜Pu[p]には、通信回線を介して端末等が適宜接続される。
【0050】
ファブリックスイッチ用ポートPf[1]〜Pf[m]は、それぞれ、サブリンクSL[1]〜SL[m]を介してm台のファブリックスイッチFS[1]〜FS[m]に接続される。この例では、サブリンクSL[1]〜SL[m]のそれぞれは、2本のリンク11によって構成され、これに伴い、ファブリックスイッチ用ポートPf[1]〜Pf[m]のそれぞれは、実際には2個のファブリックスイッチ用ポートで構成される。例えば、ファブリックスイッチ用ポートPf[1]は、ファブリックスイッチ用ポートPf[1,1],Pf[1,2]で構成され、ファブリックスイッチ用ポートPf[m]は、ファブリックスイッチ用ポートPf[m,1],Pf[m,2]で構成される。
【0051】
図1で述べたように、サブリンクSL[1]〜SL[m]には、サブリンク間のLAG(すなわちメインリンクML[1])が設定される。また、サブリンクSL[1]〜SL[m]のそれぞれに対しては、サブリンク内のLAGが設定される。
【0052】
テーブルユニット36には、アドレステーブル45と、LAGテーブル46と、例外テーブル47とが含まれる。アドレステーブル45は、各ポートと当該各ポートの先に存在するMACアドレスとの関係を示すテーブルである。LAGテーブル46は、前述したメインリンクML[1]とサブリンクSL[1]〜SL[m]とポート(ここではファブリックスイッチ用ポートPf)との対応関係を示すテーブルである。LAGテーブル46は、予め管理者等によって固定的に生成することも、特許文献2のような方式を用いて自動的に生成することも可能である。
【0053】
例外テーブル47は、詳細は後述するが、
図3に示した条件テーブル20の機能や、
図5に示した受信時許可テーブル30の機能や、あるいは、
図2で述べたアドレステーブル同期機能を実現するためのテーブルである。例外テーブル設定部37は、詳細は後述するが、当該例外テーブル47を自動的に設定する。
【0054】
フレーム処理部35は、LAG分散制御部40および例外テーブル実行部41を備える。フレーム処理部35は、主に、各ポートでフレームを受信した際に、アドレステーブル45を用いて宛先のポートを検索し、受信したフレームを当該ポートに中継する処理を行う。この際に、フレーム処理部35は、例えば、ユーザ用ポートPuで受信したフレームの宛先のポートがメインリンクML[1]が設定されたポート(すなわちファブリックスイッチ用ポートPf)であった場合、LAG分散制御部40を用いて、当該フレームの中継先をメインリンクML[1]内で適宜分散させる。また、例外テーブル実行部41は、例外テーブル47に基づいてフレームに対する処理を行う。
【0055】
図8(a)は、
図7におけるアドレステーブルの構造例を示す概略図であり、
図8(b)は、
図7におけるLAGテーブルの構造例を示す概略図である。
図8(b)に示すLAGテーブル46では、メインリンク識別子(メインリンクID){ML[1]}がサブリンクID{SL[1]〜SL[m]}で構成されることが示される。言い換えれば、メインリンクML[1]がサブリンクSL[1]〜SL[m]で構成されることが示される。更に、LAGテーブル46では、各サブリンクID{SL[1]〜SL[m]}に対応する各ポートIDが示されている。例えば、サブリンクID{SL[1]}は、ポートID{Pf[1,1],Pf[1,2]}で構成される。言い換えれば、サブリンクSL[1]は、ファブリックスイッチ用ポートPf[1,1],Pf[1,2]で構成される。
【0056】
また、この例では、LAGテーブル46は、各ファブリックスイッチ用ポートPf[1,1]〜Pf[m,2]に対応する各リンク11の状態(すなわち障害の有無)も示している。例えば、
図7のフレーム処理部35は、定期的な制御フレームの送受信等によってファブリックスイッチ用ポートPf[1,1]〜Pf[m,2]の障害を検出した場合には、その情報をLAGテーブル46に記録する。LAG分散制御部40は、障害が検出された場合には、LAGテーブル46に基づき障害が有るリンク11を認識し、障害が有るリンク11を除いて分散処理を行う。
【0057】
図8(a)に示すアドレステーブル45は、ポートID/メインリンクIDと、当該ポートID/メインリンクIDに対応するポートの先に存在するMACアドレスとの関係を示す。
図7のフレーム処理部35は、例えば、いずれかのポートで受信したフレームの宛先MACアドレスが「MAxx」の場合、
図8(a)に基づき、当該フレームをユーザ用ポートPu[1]に中継する。また、フレーム処理部35は、ユーザ用ポートPu[1]〜Pu[p]のいずれかで受信したフレームの宛先MACアドレスが「MAzz」の場合、
図8(a)に基づき、当該フレームをメインリンクML[1]に中継する。この際には、LAG分散制御部40が動作する。
【0058】
《例外テーブルの詳細》
図9は、
図7における例外テーブルの構造例を示す概略図である。
図9に示す例外テーブル47aには、条件(この例では受信時の条件)および当該条件を満たしたフレームに対する中継の許可または破棄を含めた処理内容が設定される。条件には、処理対象とするポートと、当該ポートで受信したフレーム内の情報に対する比較対象とする情報とが設定される。比較対象とする情報は、例えば、送信元/宛先MACアドレスや、フレームタイプや、送信元/宛先IPアドレスなどを代表に、イーサネットヘッダあるいはIPヘッダに含まれる各種情報である。処理内容に関しては、フレームに対する中継の許可または破棄の設定に加え、フレームの中継先の指定・変更等も可能となっている。
【0059】
例えば、
図5で述べた処理内容を実現する場合、
図9の「No.1」に示すように、処理対象とするポートは、サブリンクSL[1]を除いた(m−1)本のサブリンクSL[2]〜SL[m]に対応するファブリックスイッチ用ポートPf[2]〜Pf[m]である。比較対象とする情報は、送信元MACアドレス、フレームタイプ、および宛先MACアドレスである。また、処理内容は、フレームに対する中継の許可である。
【0060】
送信元MACアドレスには、(m−1)本のサブリンクに対応する(m−1)台のファブリックスイッチFS[2]〜FS[m]のそれぞれのアドレスが記載される。フレームタイプには、ARPコマンドを表す識別子(具体的には「0806h」)が記載される。宛先MACアドレスには、ブロードキャストアドレス(具体的には「FF‥FFh」)が記載される。
【0061】
このような例外テーブル47aに基づいて例外テーブル実行部41が処理を行うことで、
図5に示したようなインバンド管理機能が実現可能になる。すなわち、各ポートスイッチPSは、(m−1)台のファブリックスイッチFS[2]〜FS[m]のMACアドレスを送信元MACアドレスとするARP要求フレームをファブリックスイッチ用ポートPf[2]〜Pf[m]で受信した際に、当該ARP要求フレームをユーザ用ポートPuに中継することが可能になる。
【0062】
なお、実際には、当該インバンド管理機能と前述したアドレステーブル同期機能(ARPの破棄機能)とを併用させる必要がある。この場合、インバンド管理機能の方がARPの破棄機能よりも優先されるような仕組みを用いればよい。ARPの破棄機能の実現方法は、特に限定はされないが、例えば、当該インバンド管理機能と同様に、
図9の例外テーブル47aの「No.2」によって実現することも可能である。
【0063】
図9の例外テーブル47aでは、「No.」が小さい方が高い優先順位に設定される。例外テーブル47aの「No.2」において、処理対象とするポートは、「No.1」と同じファブリックスイッチ用ポートPf[2]〜Pf[m]である。比較対象とする情報は、ARP要求フレームであることを表すフレームタイプ(ARP)および宛先MACアドレス(ブロードキャストアドレス)である。また、処理内容は、フレームの破棄である。
【0064】
これにより、例えば、ファブリックスイッチFSのMACアドレスではない送信元MACアドレスを持つARP要求フレームをファブリックスイッチ用ポートPf[2]で受信した場合、当該ARP要求フレームには、「No.2」が適用され、「No.1」は適用されない。その結果、当該ARP要求フレームは破棄される。一方、ファブリックスイッチFSのMACアドレスを送信元MACアドレスとするARP要求フレームをファブリックスイッチ用ポートPf[2]で受信した場合、当該ARP要求フレームには、「No.2」と「No.1」の両方が適用される。ただし、「No.1」の方が優先順位が高いため、当該ARP要求フレームは、中継が許可され、ユーザ用ポートPuに中継される。
【0065】
《例外テーブル設定部の動作》
図10は、
図7における例外テーブル設定部の動作例を示す説明図である。
図10には、
図1のボックス型ファブリックシステム10において、ファブリックスイッチFSの台数「m」を3台とした場合の一部の構成例が示されている。
図10に示すように、ファブリックスイッチFS[1]〜FS[3]のそれぞれは、例えば、各リンク11の障害を検出するため、ポートスイッチ用ポートPp[1]〜Pp[n]から定期的に制御フレームを送信する。
【0066】
この例では、ファブリックスイッチFS[1]は、ポートスイッチ用ポートPp[1]〜Pp[n]から制御フレームCF[1]を送信し、同様に、ファブリックスイッチFS[2],FS[3]は、それぞれ、制御フレームCF[2],CF[3]を生成する。各制御フレームCF[1]〜CF[3]には、送信元MACアドレス(SMAC)26が含まれる。例えば、制御フレームCF[2]には、ファブリックスイッチFS[2]のMACアドレス(ここではMAf2)が含まれる。
【0067】
そこで、ポートスイッチPS[1](PS[2]〜PS[n]も同様)の例外テーブル設定部37は、各制御フレームCF[1]〜CF[3]を受信し、それらに含まれるファブリックスイッチFS[1]〜FS[3]のそれぞれのMACアドレスを用いて、
図9に示したような例外テーブル47aを自動的に設定する。すなわち、
図9から判るように、各ファブリックスイッチ用ポートPfとその先に存在する各ファブリックスイッチFSのMACアドレスが判れば、残りの情報は固定情報であるため、このような自動設定が可能となる。なお、例外テーブル設定部37は、例えば、CPU(Central Processing Unit)を用いたプログラム処理で実現される。
【0068】
《例外テーブルの詳細(応用例)》
図11は、
図7における例外テーブルの
図9とは異なる設定内容の一例を示す概略図である。例えば、
図2で説明したLAGのARP時例外機能や
図3で説明したインバンド管理機能も、
図11に示すような例外テーブル47bで実現することが可能である。
図11に示す例外テーブル47bは、
図9の場合と同様に、条件(この例では受信時の条件)および当該条件を満たしたフレームに対する処理内容が設定される。ただし、ここでは、処理内容として、フレームの中継先の指定・変更が可能となっている。
【0069】
図11の「No.1」〜「No.m」の設定は、
図3のインバンド管理機能に対応する。例えば、「No.1」では、処理対象のポートにユーザ用ポートPu[1]〜Pu[p]が設定され、比較対象とする情報に宛先MACアドレスが設定される。この宛先MACアドレスにはファブリックスイッチFS[1]のMACアドレスが記載される。また、処理内容には、所定のサブリンクへの中継先をサブリンクSL[1]に変更する旨が設定される。
【0070】
同様に、「No.m」では、処理対象のポートにユーザ用ポートPu[1]〜Pu[p]が設定され、比較対象とする情報に宛先MACアドレスが設定される。この宛先MACアドレスにはファブリックスイッチFS[m]のMACアドレスが記載される。また、処理内容には、所定のサブリンクへの中継先をサブリンクSL[m]に変更する旨が設定される。これにより、各ポートスイッチPSは、宛先MACアドレスにファブリックスイッチFSのいずれかのMACアドレスが記載されたフレームをユーザ用ポートPuで受信した際に、当該フレームをファブリックスイッチFSに向けて正しく中継することが可能になる。
【0071】
また、
図11の「No.k」の設定は、
図2のLAGのARP時例外機能に対応する。「No.k」では、処理対象のポートにユーザ用ポートPu[1]〜Pu[p]が設定され、比較対象とする情報にARP要求フレームであることを表すフレームタイプ(ARP)および宛先MACアドレス(ブロードキャストアドレス)が設定される。また、処理内容には、所定のサブリンクへの中継先を全サブリンクSL[1]〜SL[m]に変更する旨が設定される。これにより、各ポートスイッチPSは、ARP要求フレームをユーザ用ポートPuで受信した際に、当該フレームを全ファブリックスイッチFS[1]〜FS[m]に向けて中継することが可能になる。
【0072】
なお、特に限定はされないが、
図7の例外テーブル実行部41は、LAG分散制御部40の後段に設置され、LAG分散制御部40が宛先として定めた所定のサブリンクを例外テーブル47bに基づいて変更する処理を行う。また、例外テーブル47および例外テーブル実行部41は、例えば、パケットフィルタ等と呼ばれる機能を応用して実現することができる。パケットフィルタは、セキュリティ機能(所謂ファイアーウォール機能)として搭載され、フレーム内の所定の情報(例えば宛先アドレスや送信元アドレス等)を参照し、その参照した情報が予め定めたテーブル内の情報と一致するか否かで当該フレームの通過可否を定めるような機能である。
【0073】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0074】
例えば、ここでは、ARP要求フレームを例に説明を行ったが、同様に、アドレス解決用のブロードキャストフレームであれば同様に適用可能である。具体的には、例えば、ARP要求フレームとは逆に、MACアドレスからIPアドレスを解決するRARP要求フレームや、あるいは、ARP要求フレームのIPv6版に該当する「Neighbor Solicitation(NS)フレーム」等が挙げられる。