(57)【特許請求の範囲】
【請求項１】
第１および第２スイッチ装置を含むｎ台（ｎは２以上の整数）のポートスイッチと、
前記ｎ台のポートスイッチの間のフレームの中継を担うｍ（ｍは２以上の整数）台のファブリックスイッチと、
前記ｎ台のポートスイッチと前記ｍ台のファブリックスイッチとの間をそれぞれ接続する複数のサブリンクと、を備え、
前記ｎ台のポートスイッチのそれぞれは、自身と前記ｍ台のファブリックスイッチとの間をそれぞれ接続するｍ本のサブリンクに対してリンクアグリゲーショングループを設定し、
前記第１スイッチ装置は、
フレームまたはパケットを受信した際に、前記フレームまたはパケットに含まれるヘッダ内の所定のビット領域を入力として所定の演算式で論理演算を行うことでｊビットの分散識別子を算出する第１分散識別子算出部と、
自身に接続された前記ｍ本のサブリンクと前記ｊビットの分散識別子との対応関係を表す第１分散テーブルと、
前記第１分散テーブルに基づいて、前記第１分散識別子算出部で算出された前記ｊビットの分散識別子に対応するサブリンクに前記受信したフレームまたはパケットを中継する第１中継実行部と、
を備え、
前記第２スイッチ装置は、
フレームまたはパケットを受信した際に、前記フレームまたはパケットに含まれるヘッダ内の前記第１スイッチ装置と同じビット領域を入力として、前記第１スイッチ装置と同じ演算式で論理演算を行うことで、前記第１スイッチ装置と同じｊビットのビット領域を一部に含んだｋ（＞ｊ）ビットの分散識別子を算出する第２分散識別子算出部と、
自身に接続された前記ｍ本のサブリンクと前記ｋビットの分散識別子との対応関係を表す第２分散テーブルと、
前記第２分散テーブルに基づいて、前記第２分散識別子算出部で算出された前記ｋビットの分散識別子に対応するサブリンクに前記受信したフレームまたはパケットを中継する第２中継実行部と、
を備え、
前記第２分散テーブルは、前記第１分散テーブルにおける前記ｊビットの分散識別子が当該ｊビットの分散識別子と同じｊビットの値を一部に含んだ前記ｋビットの分散識別子に置き換えられた内容を持つ、
ネットワーク中継システム。
【請求項２】
請求項１記載のネットワーク中継システムにおいて、
前記第１および第２分散識別子算出部に入力される前記ビット領域は、宛先アドレスおよび送信元アドレスが格納された領域であり、
前記第１および第２分散識別子算出部で用いられる前記演算式は、前記ビット領域をｚ（≧ｋ）ビット毎に区切ることで得られる複数のｚビット列に対して各ビット毎の排他的論理和演算を行う式である、
ネットワーク中継システム。
【請求項３】
請求項１記載のネットワーク中継システムにおいて、
前記ｍ本のサブリンクは、単数または複数本のリンクで構成され、
前記ｎ台のポートスイッチのそれぞれは、前記ｍ本のサブリンクに加えて、前記ｍ本のサブリンクのそれぞれを構成する前記複数本のリンクに対してもリンクアグリゲーショングループを設定し、
前記第１分散テーブルは、前記ｍ本のサブリンクのそれぞれを構成する前記単数または複数本のリンクと前記ｊビットの分散識別子との対応関係を表し、
前記第１中継実行部は、前記第１分散テーブルに基づいて、前記第１分散識別子算出部で算出された前記ｊビットの分散識別子に対応するリンクに前記受信したフレームまたはパケットを中継し、
前記第２分散テーブルは、前記ｍ本のサブリンクのそれぞれを構成する前記単数または複数本のリンクと前記ｋビットの分散識別子との対応関係を表し、
前記第２中継実行部は、前記第２分散テーブルに基づいて、前記第２分散識別子算出部で算出された前記ｋビットの分散識別子に対応するリンクに前記受信したフレームまたはパケットを中継する、
ネットワーク中継システム。
【請求項４】
請求項１記載のネットワーク中継システムにおいて、
前記ｎ台のポートスイッチのそれぞれは、さらに、分散モード設定部と、分散テーブル生成部と、を備え、
前記分散モード設定部は、自身が持つ前記分散識別子のビット数を表す制御フレームを前記ｍ台のファブリックスイッチのいずれかに送信し、
前記ｍ台のファブリックスイッチのいずれかは、受信した前記制御フレームを（ｎ−１）台のポートスイッチに向けてフラッディングし、
前記分散モード設定部は、前記フラッディングされた前記制御フレームを介して、前記ｎ台のポートスイッチのそれぞれが持つ前記分散識別子のビット数の中の最小のビット数を認識し、
前記分散テーブル生成部は、前記分散モード設定部で認識された前記最小のビット数に基づいて、自身の前記ｍ本のサブリンクと自身の前記分散識別子との対応関係を表す分散テーブルを生成する、
ネットワーク中継システム。
【請求項５】
ｍ（ｍは２以上の整数）台のファブリックスイッチとの間でｍ本のサブリンクでそれぞれ接続され、前記ｍ本のサブリンクに対してリンクアグリゲーショングループを設定して動作するスイッチ装置であって、
フレームまたはパケットを受信した際に、前記フレームまたはパケットに含まれるヘッダ内の所定のビット領域を入力として所定の演算式で論理演算を行うことでｋビットの分散識別子を算出する分散識別子算出部と、
前記ｍ本のサブリンクと前記ｋビットの分散識別子との対応関係を表す分散テーブルと、
前記分散テーブルに基づいて、前記分散識別子算出部で算出された前記ｋビットの分散識別子に対応するサブリンクに前記受信したフレームまたはパケットを中継する中継実行部と、
前記分散テーブルを生成する分散テーブル生成部と、
を備え、
前記分散テーブル生成部は、
前記ｍ本のサブリンクとｊ（＜ｋ）ビットの分散識別子との第１の対応関係を所定の規則に基づいて定める第１処理と、
前記第１の対応関係における前記ｊビットの分散識別子を、当該ｊビットの分散識別子と同じｊビットの値を一部に含んだ前記ｋビットの分散識別子に置き換えることで、前記ｍ本のサブリンクと前記ｋビットの分散識別子との第２の対応関係を定める第２処理と、
を実行し、
前記分散テーブルは、前記第２の対応関係を反映して生成される、
スイッチ装置。
【請求項６】
請求項５記載のスイッチ装置において、
前記スイッチ装置は、第１および第２分散モードを持ち、
前記分散テーブル生成部は、前記第２分散モードの際には、前記第１および第２処理を実行し、前記１分散モードの際には、前記第１および第２処理の代わりに、前記ｍ本のサブリンクと前記ｋビットの分散識別子との第３の対応関係を所定の規則に基づいて定める第３処理を実行し、
前記分散テーブルは、前記第２分散モードの際には、前記第２の対応関係を反映して生成され、前記第１分散モードの際には、前記第３の対応関係を反映して生成される、
スイッチ装置。
【請求項７】
請求項５記載のスイッチ装置において、
前記分散識別子算出部に入力される前記ビット領域は、宛先アドレスおよび送信元アドレスが格納された領域であり、
前記分散識別子算出部で用いられる前記演算式は、前記ビット領域をｚ（≧ｋ）ビット毎に区切ることで得られる複数のｚビット列に対して各ビット毎の排他的論理和演算を行う式である、
スイッチ装置。
【請求項８】
請求項５記載のスイッチ装置において、
前記ｍ本のサブリンクは、単数または複数本のリンクで構成され、
前記スイッチ装置は、前記ｍ本のサブリンクに加えて、前記ｍ本のサブリンクのそれぞれを構成する前記複数本のリンクに対してもリンクアグリゲーショングループを設定し、
前記分散テーブル生成部は、さらに、
前記第２の対応関係における前記ｍ本のサブリンク毎に、各サブリンクに対応する前記ｋビットの分散識別子を、当該各サブリンクを構成する前記単数または複数本のリンクに所定の規則に基づいて割り当てることで、前記ｍ本のサブリンクをそれぞれ構成する前記単数または複数本のリンクと前記ｋビットの分散識別子との第４の対応関係を定める第４処理を実行し、
前記分散テーブルは、前記第４の対応関係によって生成される、
スイッチ装置。
【請求項９】
請求項６記載のスイッチ装置において、
前記スイッチ装置は、さらに、分散モード設定部を備え、
前記分散モード設定部は、
自身が持つ前記分散識別子のビット数を表す制御フレームを前記ｍ台のファブリックスイッチのいずれかに送信する第５処理と、
前記ｍ台のファブリックスイッチのいずれかを介して前記ｍ台のファブリックスイッチのいずれかに接続された単数または複数の他のスイッチ装置からの制御フレームを受信する第６処理と、
前記単数または複数の他のスイッチ装置からの制御フレームが表す各分散識別子のビット数の中の最小のビット数を認識し、前記最小のビット数が前記ｋビットの場合には前記第１分散モードを設定し、前記最小のビット数が前記ｋビット未満の場合には、前記第２分散モードを設定する第７処理と、
を実行する、
スイッチ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継システムおよびスイッチ装置に関し、例えば、１台のスイッチ装置から複数台のスイッチ装置に向けた通信にリンクアグリゲーションが適用されるネットワーク中継システムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、複数のファブリック中継器と、複数のインターフェース中継器とを備えたネットワーク中継システムにおいて、各インターフェース中継器と複数のファブリック中継器とをそれぞれ接続する複数のリンクに対して自動的にＬＡＧを設定する方式が示されている。特許文献２には、複数のリーフスイッチと、その間の通信を中継する複数のルートスイッチとを備えた構成において、各リーフスイッチが、端末から受信したパケットをその宛先アドレスに基づく特定のルートスイッチに転送すると共に、学習用のパケットをその送信元アドレスに基づく特定のルートスイッチに転送する方式が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−７０２９７号公報
【特許文献２】特開２０１０−２８８１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、特許文献１等に示されるように、シャーシ型スイッチ装置の代わりに複数のボックス型スイッチ装置を組み合わせてネットワーク中継システムを構築する技術が知られている。当該ネットワーク中継システムでは、複数のボックス型スイッチ装置（ここではポートスイッチと呼ぶ）と、各ポートスイッチ間でのフレームの中継を担う複数のボックス型スイッチ装置（ここではファブリックスイッチと呼ぶ）とが設けられる。各ポートスイッチは、複数のファブリックスイッチとの間でそれぞれリンクを持ち、当該複数のリンクに対してリンクアグリゲーショングループ（以降、ＬＡＧと略す）を設定する。本明細書では、このようなネットワーク中継システムをボックス型ファブリックシステムと呼ぶ。
【０００５】
このようなボックス型ファブリックシステムでは、各ポートスイッチは、端末等から送信されたフレームを受信し、当該フレームを他のポートスイッチに接続された端末等に中継する際に、受信したフレームをＬＡＧが設定される複数のリンク内で適宜分散させて中継する。このＬＡＧ内での分散は、所定の分散規則に基づいて行われる。この際の分散規則は、不要なフラッディングに伴う通信帯域の低下を抑制するために、例えば２台の端末間での双方向の通信が同一のファブリックスイッチを経由して行われるような規則とすることが望ましい。
【０００６】
ここで、ボックス型ファブリックシステムを同じ仕様のポートスイッチで構築した場合、経由するファブリックスイッチが同じ分散規則で定められるため、このような要求を満たすことは比較的容易である。しかしながら、ボックス型ファブリックシステムを異なる仕様のポートスイッチが混在する形で構築した場合、このような要求を満たせない場合がある。具体的には、例えば、最大で８分散が可能なポートスイッチを用いて構築された既存のシステムに対して、後日、最新のポートスイッチを追加することでシステムを拡張したいような場合がある。このような場合、最新のポートスイッチは、より多くの最大分散数（例えば３２分散等）に対応することが考えられる。最大分散数が異なると、分散規則が異なるか、あるいは同じ分散規則であっても得られる結果が異なる事態が生じ得る。
【０００７】
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、仕様が異なるスイッチ装置を用いて構築されたネットワーク中継システムにおいて、通信帯域の向上を実現することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
【００１０】
本実施の形態によるネットワーク中継システムは、第１および第２スイッチ装置を含むｎ台（ｎは２以上の整数）のポートスイッチと、ｎ台のポートスイッチの間のフレームの中継を担うｍ（ｍは２以上の整数）台のファブリックスイッチと、ｎ台のポートスイッチとｍ台のファブリックスイッチとの間をそれぞれ接続する複数のサブリンクと、を備える。ｎ台のポートスイッチのそれぞれは、自身とｍ台のファブリックスイッチとの間をそれぞれ接続するｍ本のサブリンクに対してリンクアグリゲーショングループを設定する。
【００１１】
このような構成において、第１スイッチ装置は、第１分散識別子算出部、第１分散テーブル、および第１中継実行部を備える。第１分散識別子算出部は、フレームまたはパケットを受信した際に、それに含まれるヘッダ内の所定のビット領域を入力として所定の演算式で論理演算を行うことでｊビットの分散識別子を算出する。第１分散テーブルは、自身に接続されたｍ本のサブリンクとｊビットの分散識別子との対応関係を表す。第１中継実行部は、第１分散テーブルに基づいて、第１分散識別子算出部で算出されたｊビットの分散識別子に対応するサブリンクに受信したフレームまたはパケットを中継する。
【００１２】
また、第２スイッチ装置は、第２分散識別子算出部、第２分散テーブル、および第２中継実行部を備える。第２分散識別子算出部は、フレームまたはパケットを受信した際に、それに含まれるヘッダ内の第１スイッチ装置と同じビット領域を入力として、第１スイッチ装置と同じ演算式で論理演算を行うことで、第１スイッチ装置と同じｊビットのビット領域を一部に含んだｋ（＞ｊ）ビットの分散識別子を算出する。第２分散テーブルは、自身に接続されたｍ本のサブリンクとｋビットの分散識別子との対応関係を表す。第２中継実行部は、第２分散テーブルに基づいて、第２分散識別子算出部で算出されたｋビットの分散識別子に対応するサブリンクに受信したフレームまたはパケットを中継する。
【００１３】
ここで、第２分散テーブルは、第１分散テーブルにおけるｊビットの分散識別子が当該ｊビットの分散識別子と同じｊビットの値を一部に含んだｋビットの分散識別子に置き換えられた内容を持つ。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、仕様が異なるスイッチ装置を用いて構築されたネットワーク中継システムにおいて、通信帯域の向上が実現可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１によるネットワーク中継システムにおいて、その構成例および前提となる動作例を示すブロック図である。
【図２】図１のネットワーク中継システムにおいて、そのポートスイッチの主要部の概略的な構成例および動作例を示すブロック図である。
【図３】図１のネットワーク中継システムにおいて、そのポートスイッチの主要部の図２とは異なる概略的な構成例および動作例を示すブロック図である。
【図４】図１のネットワーク中継システムにおいて、異なる仕様のポートスイッチが混在した場合の問題点の一例を示す説明図である。
【図５】（ａ）は、図２のポートスイッチ（タイプＢ）における分散識別子算出部の構成例を示す概念図であり、（ｂ）は、図３のポートスイッチ（タイプＡ）における分散識別子算出部の構成例を示す概念図である。
【図６】（ａ）は、図２のポートスイッチ（タイプＢ）における分散テーブルの構造例を示す概念図であり、（ｂ）は、図３のポートスイッチ（タイプＡ）における分散テーブルを下位互換分散モードで生成した場合の構造例を示す概念図である。
【図７】図３のポートスイッチを下位互換分散モードで動作させた際の構成例および動作例を示すブロック図である。
【図８】図７のポートスイッチ（タイプＡ）において、その分散テーブルの詳細な構成例を示す図である。
【図９】図１のネットワーク中継システムにおいて、そのポートスイッチ（タイプＡ）の主要部の概略構成例を示すブロック図である。
【図１０】（ａ）は、図９におけるアドレステーブルの構造例を示す概略図であり、（ｂ）は、図９におけるＬＡＧテーブルの構造例を示す概略図である。
【図１１】図９における分散識別子算出部の構成例を示すブロック図である。
【図１２】図９における分散テーブル生成部の処理内容の一例を示すフロー図である。
【図１３】本発明の実施の形態２によるネットワーク中継システムにおいて、その構成例および概略的な動作例を示すブロック図である。
【図１４】図１３のネットワーク中継システムにおける主要部の動作例を示すフロー図である。
【発明を実施するための形態】
【００１６】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１７】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１９】
（実施の形態１）
《ネットワーク中継システムの構成および前提動作》
図１は、本発明の実施の形態１によるネットワーク中継システムにおいて、その構成例および前提となる動作例を示すブロック図である。図１に示すネットワーク中継システムは、ボックス型ファブリックシステム１０で構成される。ボックス型ファブリックシステム１０は、ｎ（ｎは２以上の整数）台のポートスイッチＰＳ［１］〜ＰＳ［ｎ］と、ｍ（ｍは２以上の整数）台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］と、ｎ台のポートスイッチとｍ台のファブリックスイッチとの間をそれぞれ接続する複数のサブリンク（例えばＳＬ［１，１］等）を備える。ｍ台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］は、ｎ台のポートスイッチＰＳ［１］〜ＰＳ［ｎ］の間のフレームの中継を担う。
【００２０】
ｎ台のポートスイッチＰＳ［１］〜ＰＳ［ｎ］、およびｍ台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］のそれぞれは、ボックス型スイッチ装置で構成される。ｎ台のポートスイッチＰＳ［１］〜ＰＳ［ｎ］のそれぞれは、ｍ個のファブリックスイッチ用ポートＰｆ［１］〜Ｐｆ［ｍ］と、ｐ（ｐは１以上の整数）個のユーザ用ポートＰｕ［１］〜Ｐｕ［ｐ］とを備える。ｍ台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］のそれぞれは、ｎ個のポートスイッチ用ポートＰｐ［１］〜Ｐｐ［ｎ］を備える。
【００２１】
ｎ台のポートスイッチＰＳ［１］〜ＰＳ［ｎ］のそれぞれは、自身とｍ台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］との間をそれぞれ接続するｍ本のサブリンクに対してＬＡＧを設定する。例えば、ポートスイッチＰＳ［１］は、ｍ台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］との間のｍ本のサブリンクＳＬ［１，１］，ＳＬ［１，２］，…，ＳＬ［１，ｍ］に対してＬＡＧを設定する。ここでは、このｍ本のサブリンク間のＬＡＧを、メインリンクＭＬ［１］と呼ぶ。同様に、ポートスイッチＰＳ［２］は、ｍ台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］との間のｍ本のサブリンクＳＬ［２，１］，ＳＬ［２，２］，…，ＳＬ［２，ｍ］に対してＬＡＧ（すなわちメインリンクＭＬ［２］）を設定する。同様に、ポートスイッチＰＳ［ｎ］は、ｍ本のサブリンク（図示は省略するがＳＬ［ｎ，１］，ＳＬ［ｎ，２］，…，ＳＬ［ｎ，ｍ］）に対してＬＡＧ（すなわちメインリンクＭＬ［ｎ］）を設定する。
【００２２】
以降、ポートスイッチＰＳ［１］〜ＰＳ［ｎ］のそれぞれを代表してポートスイッチＰＳと称し、ファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］のそれぞれを代表してファブリックスイッチＦＳと称する。また、ファブリックスイッチ用ポートＰｆ［１］〜Ｐｆ［ｍ］のそれぞれを代表してファブリックスイッチ用ポートＰｆと称し、ユーザ用ポートＰｕ［１］〜Ｐｕ［ｐ］のそれぞれを代表してユーザ用ポートＰｕと称し、ポートスイッチ用ポートＰｐ［１］〜Ｐｐ［ｎ］のそれぞれを代表してポートスイッチ用ポートＰｐと称する。更に、サブリンクＳＬ［１，１］〜ＳＬ［ｎ，ｍ］のそれぞれを代表してサブリンクＳＬと称し、メインリンクＭＬ［１］〜ＭＬ［ｎ］のそれぞれを代表してメインリンクＭＬと称する。
【００２３】
また、図１の例では、各サブリンクＳＬは、２本のリンク１１によって構成される。リンク１１とは、通信回線と、その両端のポート（すなわちファブリックスイッチ用ポートＰｆおよびポートスイッチ用ポートＰｐ）とを含めた集合体を意味する。各ポートスイッチ（例えばＰＳ［１］）は、各サブリンク（例えばＳＬ［１，１］）を構成する２本のリンク１１に対してＬＡＧを設定する。すなわち、当該ＬＡＧは、前述したサブリンク間のＬＡＧ（すなわちメインリンクＭＬ）と異なり、サブリンク内のＬＡＧとなる。
【００２４】
同様に、各ファブリックスイッチ（例えばＦＳ［１］）も、各サブリンク（例えばＳＬ［１，１］）を構成する２本のリンク１１に対してＬＡＧを設定する。なお、各サブリンクＳＬは、必ずしも２本のリンク１１で構成される必要はなく、各サブリンクＳＬ毎に、１本のリンク１１または３本以上のリンク１１で構成されてもよい。２本以上のリンク１１で構成されたサブリンクＳＬには、サブリンク内のＬＡＧが設定される。
【００２５】
ここで、例えば、ポートスイッチＰＳ［１］のユーザ用ポートＰｕ［１］に接続された端末ＴＭ１からポートスイッチＰＳ［２］のユーザ用ポートＰｕ［ｐ］に接続された端末ＴＭ４に向けてフレームＦＬ１が転送される場合を想定する。この場合、ポートスイッチＰＳ［１］は、フレームＦＬ１を受信した際に、その中継先のファブリックスイッチ用ポートＰｆ（言い換えればサブリンクＳＬ）を所定の分散規則に基づいて定める。この例では、ファブリックスイッチ用ポートＰｆ［１］が定められる。その結果、当該フレームＦＬ１は、ファブリックスイッチＦＳ［１］を経由する経路でポートスイッチＰＳ［２］および端末ＴＭ４に転送される。
【００２６】
また、ポートスイッチＰＳ［１］のユーザ用ポートＰｕ［ｐ］に接続された端末ＴＭ２からポートスイッチＰＳ［２］のユーザ用ポートＰｕ［１］に接続された端末ＴＭ３に向けてフレームＦＬ２が転送される場合を想定する。この場合、ポートスイッチＰＳ［１］は、フレームＦＬ２を受信した際に、その中継先のファブリックスイッチ用ポートＰｆ（言い換えればサブリンクＳＬ）を所定の分散規則に基づいて定める。この例では、ファブリックスイッチ用ポートＰｆ［２］が定められる。その結果、当該フレームＦＬ２は、ファブリックスイッチＦＳ［２］を経由する経路でポートスイッチＰＳ［２］および端末ＴＭ３に転送される。なお、仮に、ファブリックスイッチ用ポートＰｆ［２］に障害が有るような場合には、それ以外のファブリックスイッチ用ポートＰｆが定められる。
【００２７】
このように、ボックス型ファブリックシステム１０を用いると、ＬＡＧに伴い、ＬＡＧ内での負荷分散と冗長性を実現できる。例えば通信帯域を拡大したい場合には、ファブリックスイッチＦＳを増設すればよく、通信帯域の拡大を容易にかつ低コストで実現可能になる。また、ポートスイッチＰＳの増設によって、ポート数（すなわちユーザ用ポートＰｕ）の拡張も容易にかつ低コストで実現可能になる。その結果、当該システムを用いると、シャーシ型スイッチ装置からなるシステムを用いる場合と比較して、ユーザの要求に応じた柔軟なシステムを低コストで構築できる。
【００２８】
《ポートスイッチ（タイプＢ）の概略》
図２は、図１のネットワーク中継システムにおいて、そのポートスイッチの主要部の概略的な構成例および動作例を示すブロック図である。図２に示すタイプＢのポートスイッチ（第１スイッチ装置）ＰＳｂは、例えば、３個のファブリックスイッチ用ポートＰｆ［１］〜Ｐｆ［３］と、ユーザ用ポートＰｕと、分散テーブル１５と、中継実行部１６と、分散識別子算出部１７とを備える。ここでは、図１のシステムが３台のファブリックスイッチＦＳ［１］〜ＦＳ［３］を備える場合を例とし、ファブリックスイッチ用ポートＰｆ［１］〜Ｐｆ［３］は、ファブリックスイッチＦＳ［１］〜ＦＳ［３］との間でそれぞれサブリンクＳＬ［１］〜ＳＬ［３］によって接続される。サブリンクＳＬ［１］〜ＳＬ［３］には、サブリンク間のＬＡＧ（すなわちメインリンクＭＬ）が設定される。
【００２９】
また、この例では、サブリンクＳＬ［１］，ＳＬ［２］のそれぞれは、３本のリンク１１で構成される。これに応じて、ファブリックスイッチ用ポートＰｆ［１］は、３個のファブリックスイッチ用ポートＰｆ［１，１］，Ｐｆ［１，２］，Ｐｆ［１，３］で構成され、ファブリックスイッチ用ポートＰｆ［２］は、３個のファブリックスイッチ用ポートＰｆ［２，１］，Ｐｆ［２，２］，Ｐｆ［２，３］で構成される。サブリンクＳＬ［３］は、２本のリンク１１で構成され、これに応じて、ファブリックスイッチ用ポートＰｆ［３］は、２個のファブリックスイッチ用ポートＰｆ［３，１］，Ｐｆ［３，２］で構成される。サブリンクＳＬ［１］，ＳＬ［２］，ＳＬ［３］には、それぞれ、サブリンク内のＬＡＧが設定される。
【００３０】
分散識別子算出部（第１分散識別子算出部）１７は、ユーザ用ポートＰｕでフレームまたはパケットを受信した際に、それに含まれるヘッダ内の所定のビット領域を入力として所定の演算式で論理演算を行うことでｊビット（ここでは３ビット）の分散識別子ＤＩＤを算出する。分散テーブル（第１分散テーブル）１５は、サブリンクＳＬ［１］〜ＳＬ［３］と分散識別子ＤＩＤとの対応関係を表す。当該分散テーブル１５は、所定の分散規則に基づき、ポートスイッチＰＳｂによって生成される。中継実行部（第１中継実行部）１６は、分散テーブル１５に基づいて、分散識別子算出部１７で算出されたｊビット（３ビット）の分散識別子ＤＩＤに対応するサブリンクに、ユーザ用ポートＰｕで受信したフレームまたはパケットを中継する。
【００３１】
ポートスイッチＰＳｂは、特に限定はされないが、次ぎのような分散規則に基づいて分散テーブル１５を生成する。まず、ポートスイッチＰＳｂは、分散識別子ＤＩＤの母数（この例では３ビットに該当する８個）を、サブリンクの本数（ここでは３本）で割り、その商と余りに基づいて、各サブリンクに割り当てる分散識別子ＤＩＤの個数を決定する。具体的には、商となる個数（ここでは２個）を各サブリンクに割り当て、余りの個数（ここでは２個）を各サブリンクに対して順番に１個ずつ分配する。
【００３２】
その結果、サブリンクＳＬ［１］，ＳＬ［２］，ＳＬ［３］に割り当てられる分散識別子ＤＩＤの個数は、それぞれ、３個、３個、２個となる。その後、ポートスイッチＰＳｂは、この決定した個数に基づいて、８個の分散識別子ＤＩＤを各サブリンクに対して順に詰め込む形で割り当てることで分散テーブル１５を生成する。これにより、中継実行部１６に示されるように、サブリンクＳＬ［１］，ＳＬ［２］，ＳＬ［３］には、それぞれ、「０〜２」，「３〜５」，「６，７」の分散識別子ＤＩＤが割り当てられる。例えば、分散識別子ＤＩＤ＝７は、３ビットの分散識別子ＤＩＤ＝“１１１”の１０進数に該当する。
【００３３】
ここで、例えば、「１９２．１６８．１．１」の宛先ＩＰアドレス（ＤＩＰ）および「１９２．１６８．１．１５」の送信元ＩＰアドレス（ＳＩＰ）を含むフレームＦＬ１ｂをユーザ用ポートＰｕで受信した場合を想定する。この場合、分散識別子算出部１７は、この宛先ＩＰアドレス（ＤＩＰ）および送信元ＩＰアドレス（ＳＩＰ）を入力として所定の演算式で論理演算を行うことで３ビットの分散識別子ＤＩＤを算出する。この例では、分散識別子ＤＩＤとして「ＤＩＤ＝６」が算出されたものとする。その結果、中継実行部１６は、この「ＤＩＤ＝６」に対応するサブリンクＳＬ［３］（すなわちファブリックスイッチＦＳ［３］）にフレームＦＬ１ｂを中継する。
【００３４】
なお、分散識別子ＤＩＤのビット数（すなわち母数（ここでは８個））は、中継実行部１６の仕様に基づく固定数とすることが望ましい。具体的に説明すると、まず、中継実行部１６は、ＬＡＧによる負荷分散を高速に行うため、ハードウェア（所謂スイッチＬＳＩ）によって構成されることが望ましい。この場合、ＬＡＧによって負荷分散を行う際の最大分散数は、ハードウェアの仕様に応じて定められる。図２のポートスイッチＰＳｂは、最大分散数が８分散となっており、これに応じて最大８台のファブリックスイッチＦＳを接続可能となっている。
【００３５】
分散識別子ＤＩＤの母数（ここでは８個）は、この最大分散数（８分散）と同じ値の固定数を用いることが望ましい。例えば、最大分散数に対応する８本のリンク１１に対してＬＡＧを設定した場合、各リンク１１に分散識別子ＤＩＤを１個ずつ割り当てればよく、最大分散数未満となる例えば４本のリンク１１に対してＬＡＧを設定した場合、各リンク１１に分散識別子ＤＩＤを２個ずつ割り当てればよい。また、分散識別子算出部１７は、中継実行部１６と同様にＬＡＧによる負荷分散を高速に行うため、ハードウェアによって構成されることが望ましい。この観点からも、分散識別子ＤＩＤの母数（ビット数）は固定数を用いることが望ましい。なお、前述した分散テーブル１５を生成する際の処理は、通信速度には特に影響を及ぼさないため、ＣＰＵ（Central Processing Unit）等を用いたソフトウェア処理であってもよい。
【００３６】
《ポートスイッチ（タイプＡ）の概略》
図３は、図１のネットワーク中継システムにおいて、そのポートスイッチの主要部の図２とは異なる概略的な構成例および動作例を示すブロック図である。図３に示すタイプＡのポートスイッチ（第２スイッチ装置）ＰＳａは、図２の構成例と比較して、分散テーブル２５ａの内容と、中継実行部２６ａおよび分散識別子算出部２７の構成とが異なっている。これ以外の構成に関しては、図２の場合と同様であるため、詳細な説明は省略する。
【００３７】
分散識別子算出部（第２分散識別子算出部）２７は、図２の場合と同様のビット領域を入力として同様の演算式を用いて論理演算を行うが、図２の場合と異なり、ｊビットよりも大きいｋビット（ここでは５ビット）の分散識別子ＤＩＤを算出する。分散テーブル（第２分散テーブル）２５ａは、分散識別子ＤＩＤのビット数の違いに伴い、図２の場合とは異なるサブリンクＳＬ［１］〜ＳＬ［３］と分散識別子ＤＩＤとの対応関係を表す。中継実行部（第２中継実行部）２６ａは、分散テーブル２５ａに基づいて、分散識別子算出部２７で算出されたｋビット（５ビット）の分散識別子ＤＩＤに対応するサブリンクに、ユーザ用ポートＰｕで受信したフレームまたはパケットを中継する。
【００３８】
このように、図３のポートスイッチＰＳａは、図２のポートスイッチＰＳｂと異なり、最大分散数が３２分散となっており、これに応じて分散識別子ＤＩＤのビット数が５ビット（すなわち母数が３２個）となっている。すなわち、ポートスイッチＰＳａは、最大３２台のファブリックスイッチＦＳを接続可能となっている。図２の場合と同様の分散規則によって分散テーブル２５ａを定めると、サブリンクＳＬ［１］，ＳＬ［２］，ＳＬ［３］に割り当てられる分散識別子ＤＩＤの個数は、それぞれ、１１個、１１個、１０個となる。その結果、中継実行部２６ａに示されるように、サブリンクＳＬ［１］，ＳＬ［２］，ＳＬ［３］には、それぞれ、「０〜１０」，「１１〜２１」，「２２〜３１」の分散識別子ＤＩＤが割り当てられる。
【００３９】
ここで、例えば、「１９２．１６８．１．１５」の宛先ＩＰアドレス（ＤＩＰ）および「１９２．１６８．１．１」の送信元ＩＰアドレス（ＳＩＰ）を含むフレームＦＬ１ａをユーザ用ポートＰｕで受信した場合を想定する。フレームＦＬ１ａは、図２に示したフレームＦＬ１ｂに対して宛先と送信元が入れ替わっており、例えばフレームＦＬ１ｂに対する返信フレーム等である。分散識別子算出部２７は、この宛先ＩＰアドレス（ＤＩＰ）および送信元ＩＰアドレス（ＳＩＰ）を入力として所定の演算式で論理演算を行うことで５ビットの分散識別子ＤＩＤを算出する。この例では、分散識別子ＤＩＤとして「ＤＩＤ＝１４」が算出される。その結果、中継実行部２６ａは、この「ＤＩＤ＝１４」に対応するサブリンクＳＬ［２］（すなわちファブリックスイッチＦＳ［２］）にフレームＦＬ１ａを中継する。
【００４０】
このように、図２のポートスイッチ（タイプＢ）ＰＳｂと図３のポートスイッチ（タイプＡ）ＰＳａとでは、分散識別子ＤＩＤのビット数（母数）が異なっているため、仮に同じ情報を入力として同じ演算式で演算を行ったとしても、異なる分散識別子ＤＩＤが生成され得る。また、分散テーブルも、分散識別子ＤＩＤの母数を反映して生成されるため、母数が異なると、各サブリンクＳＬと分散識別子ＤＩＤとの対応関係も異なり得る。その結果、図２および図３に示したように、２個の端末間での双方向の通信が、異なるファブリクスイッチＦＳを介して行われる場合がある。
【００４１】
《異なる仕様のポートスイッチが混在した場合の問題点》
図４は、図１のネットワーク中継システムにおいて、異なる仕様のポートスイッチが混在した場合の問題点の一例を示す説明図である。図４には、図１のボックス型ファブリックシステム１０において、ファブリックスイッチＦＳの台数「ｍ」を３台とした場合の一部の構成例が示されている。図４の例では、ポートスイッチＰＳ［１］に図３に示したポートスイッチ（タイプＡ）ＰＳａが適用され、ポートスイッチＰＳ［２］に図２に示したポートスイッチ（タイプＢ）ＰＳｂが適用されている。
【００４２】
ポートスイッチＰＳ［１］は、図３に示したように、例えば、ＭＡＣ（Media Access Control）アドレス「ＭＡ１」を持つ端末ＴＭ１から受信したフレームＦＬ１ａを、ファブリックスイッチＦＳ［２］を介してポートスイッチＰＳ［２］に接続された端末ＴＭ４に転送する。一方、ポートスイッチＰＳ［２］は、図２に示したように、例えば、ＭＡＣアドレス「ＭＡ４」を持つ端末ＴＭ４から受信したフレームＦＬ１ｂを、ファブリックスイッチＦＳ［３］を介してポートスイッチＰＳ［１］に接続された端末ＴＭ１に転送する。
【００４３】
ここで、ファブリックスイッチＦＳ［２］は、端末ＴＭ４からのフレームを受信しないため、このような動作が所定の期間行われると、所謂エージングによって、自身のアドレステーブル（すなわち各ポートと各ポートの先に存在するＭＡＣアドレスとの関係）からＭＡＣアドレス「ＭＡ４」を削除する。そうすると、ファブリックスイッチＦＳ［２］は、以降、端末ＴＭ１からのフレームＦＬ１ａを受信する度に、その宛先ＭＡＣアドレスが不明となるためフラッディングを発生する。
【００４４】
同様に、ファブリックスイッチＦＳ［３］は、端末ＴＭ１からのフレームを受信しないため、自身のアドレステーブルからＭＡＣアドレス「ＭＡ１」を削除する。ファブリックスイッチＦＳ［３］は、以降、端末ＴＭ４からのフレームＦＬ１ｂを受信する度に、その宛先ＭＡＣアドレスが不明となるためフラッディングを発生する。このようなフラッディングが生じると、通信帯域の低下が生じる。したがって、例えば、フレームＦＬ１ａがファブリックスイッチＦＳ［２］を経由する際には、フレームＦＬ１ｂも同じファブリックスイッチＦＳ［２］を経由するように、各ポートスイッチＰＳ［１］，ＰＳ［２］に分散を行わせることが望ましい。
【００４５】
《分散識別子算出部の概略》
図５（ａ）は、図２のポートスイッチ（タイプＢ）における分散識別子算出部の構成例を示す概念図であり、図５（ｂ）は、図３のポートスイッチ（タイプＡ）における分散識別子算出部の構成例を示す概念図である。図５（ａ）に示す分散識別子算出部（第１分散識別子算出部）１７は、フレーム（またはパケット）ＦＬを受信した際に、当該フレーム（またはパケット）ＦＬに含まれるヘッダ内の所定のビット領域３２を入力として所定の演算式Ａで論理演算を行うことでｊビット（ここでは３ビット）の分散識別子ＤＩＤを算出する。
【００４６】
具体的には、フレーム（またはパケット）ＦＬは、データに対して、ＩＰ（Internet Protocol）ヘッダ３０とイーサネットヘッダ３１が付加された構造となっている。ＩＰヘッダ３０には、宛先ＩＰアドレス（ＤＩＰ）および送信元ＩＰアドレス（ＳＩＰ）が格納され、イーサネットヘッダ３１には、送信元ＭＡＣアドレス（ＳＭＡＣ）および宛先ＭＡＣアドレス（ＤＭＡＣ）が格納される。ここでは、前述したヘッダ内の所定のビット領域３２として、宛先ＩＰアドレス（ＤＩＰ）および送信元ＩＰアドレス（ＳＩＰ）が格納された領域が用いられる。
【００４７】
分散識別子算出部１７は、この所定のビット領域３２を入力として演算式Ａによって論理演算を行う論理演算部４０を備える。論理演算部４０は、論理演算結果をｊビット（３ビット）の分散識別子ＤＩＤとして出力する。ここでは、前述したように、双方向の通信で同じファブリックスイッチＦＳを経由させるため、ビット領域３２として、双方向で同じアドレス値が格納される宛先ＩＰアドレス（ＤＩＰ）および送信元ＩＰアドレス（ＳＩＰ）が用いられる。すなわち、宛先アドレスと送信元アドレスとをセットとして用いればよく、この観点では、ビット領域３２として、送信元ＭＡＣアドレス（ＳＭＡＣ）および宛先ＭＡＣアドレス（ＤＭＡＣ）を用いることも可能である。
【００４８】
一方、図５（ｂ）に示す分散識別子算出部（第２分散識別子算出部）２７は、分散識別子算出部１７と同じビット領域３２を入力として、分散識別子算出部１７と同じ演算式Ａで論理演算を行うことで、分散識別子算出部１７と同じｊビット（３ビット）のビット領域４１を一部に含んだｋ（＞ｊ）ビット（ここでは５ビット）の分散識別子ＤＩＤを算出する。具体的には、分散識別子算出部２７は、分散識別子算出部１７と同様に、ビット領域３２を入力として演算式Ａによって論理演算を行う論理演算部４０を備える。ただし、論理演算部４０は、論理演算結果をｋビット（５ビット）の分散識別子ＤＩＤとして出力する。これにより、この５ビット（ｂ［ｉ＋４］，ｂ［ｉ＋３］，…，ｂ［ｉ］）中の下位３ビット（ｂ［ｉ＋２］，ｂ［ｉ＋１］，ｂ［ｉ］）に位置するビット領域４１の値は、分散識別子算出部２７と分散識別子算出部１７とで一致することになる。
【００４９】
《分散テーブルの概略》
図６（ａ）は、図２のポートスイッチ（タイプＢ）における分散テーブルの構造例を示す概念図であり、図６（ｂ）は、図３のポートスイッチ（タイプＡ）における分散テーブルを下位互換分散モードで生成した場合の構造例を示す概念図である。図５（ａ）および図５（ｂ）で述べたように、ポートスイッチ（タイプＢ）ＰＳｂにおけるｊビット（３ビット）の分散識別子ＤＩＤと、ポートスイッチ（タイプＡ）ＰＳａにおけるｋビット（５ビット）の分散識別子ＤＩＤとでは、ｋビット中のｊビット（ｂ［ｉ＋２］，ｂ［ｉ＋１］，ｂ［ｉ］）の値は一致する。そこで、ポートスイッチ（タイプＡ）ＰＳａは、実質的にｋビット中のｊビット（ｂ［ｉ＋２］，ｂ［ｉ＋１］，ｂ［ｉ］）の値でサブリンクＳＬを定め、かつ、この際のｋビット中のｊビットの値とサブリンクＳＬとの対応関係をポートスイッチ（タイプＢ）ＰＳｂと同じ方法で定める。
【００５０】
具体的には、まず、図６（ａ）を例として、図２のポートスイッチ（タイプＢ）ＰＳｂの分散テーブル１５では、３ビットの分散識別子ＤＩＤの“０００”，“００１”にサブリンク識別子（サブリンクＩＤ）｛ＳＬ［０］｝が対応している。また、３ビットの分散識別子ＤＩＤの“１１１”にサブリンクＩＤ｛ＳＬ［３］｝が対応している。ここで、例えば、サブリンクＩＤ｛ＳＬ［０］｝は、サブリンクＳＬ［０］に付された識別子を意味する。以降においても同様に、例えば｛ＡＡ｝は、ＡＡに付された識別子を意味する。
【００５１】
図６（ａ）の場合、図３のポートスイッチ（タイプＡ）ＰＳａにおける分散テーブル２５ｂは、図６（ｂ）に示すように、分散テーブル１５におけるｊビット（３ビット）の分散識別子ＤＩＤが当該ｊビットの分散識別子ＤＩＤと同じｊビットの値を一部に含んだｋビット（５ビット）の分散識別子ＤＩＤに置き換えられた内容を持つ。例えば、分散テーブル２５ｂでは、分散テーブル１５における３ビットの分散識別子ＤＩＤ＝“０００”がそれと同じ値を一部に含んだ５ビットの分散識別子ＤＩＤ＝“０００００”，“０１０００”，“１００００”，“１１０００”に置き換えられた内容を持つ。同様に、分散テーブル２５ｂでは、分散テーブル１５における３ビットの分散識別子ＤＩＤ＝“１１１”がそれと同じ値を一部に含んだ５ビットの分散識別子ＤＩＤ＝“００１１１”，“０１１１１”，“１０１１１”，“１１１１１”に置き換えられた内容を持つ。
【００５２】
これにより、例えば、ポートスイッチ（タイプＢ）ＰＳｂは、分散識別子ＤＩＤ＝“００１”が生成されるフレームを受信した場合、図６（ａ）に基づき、当該フレームをサブリンクＳＬ［０］に中継し、ファブリックスイッチＦＳ［０］を介してポートスイッチ（タイプＡ）ＰＳａに転送する。一方、当該フレームに対する返信フレームを受信したポートスイッチ（タイプＡ）ＰＳａは、当該返信フレームに対して分散識別子ＤＩＤ＝“００００１”，“０１００１”，“１０００１”，“１１００１”のいずれかを生成し、図６（ｂ）に基づき、当該返信フレームを同じくサブリンクＳＬ［０］に中継することになる。
【００５３】
ここで、図６（ｂ）の分散テーブル２５ｂは、単に、図６（ａ）の分散テーブル１５を一旦生成し、前述したように、当該分散テーブル１５内のｊビットの分散識別子ＤＩＤをｋビットの分散識別子ＤＩＤに置き換えることで生成可能である。このような処理は、前述したように、ＣＰＵによるプログラム処理で行うことができる。また、図６（ｂ）に示した分散テーブル２５ｂは、図４に示したように、ポートスイッチＰＳの中に、ポートスイッチ（タイプＡ）ＰＳａとポートスイッチ（タイプＢ）ＰＳｂが含まれるような場合に生成される。すなわち、分散テーブル２５ｂは、ポートスイッチ（タイプＡ）ＰＳａが下位互換分散モード（第２分散モード）で動作する際に生成される。
【００５４】
一方、図１における各ポートスイッチＰＳが全てポートスイッチ（タイプＡ）ＰＳａで構成されるような場合、ポートスイッチ（タイプＡ）ＰＳａは、通常のタイプＡ分散モード（第１分散モード）で分散テーブルを生成すればよい。ポートスイッチ（タイプＡ）ＰＳａは、このタイプＡ分散モードでは、図３に示したように、ｋビットの分散識別子ＤＩＤを前提とした本来の所定の規則に基づいて分散テーブル２５ａを生成する。なお、このタイプＡ分散モードは、見方によっては、下位互換分散モードにおける「ｊ＝ｋ」の分散モードとして見ることもできる。
【００５５】
《ポートスイッチ（タイプＡ）の概略（下位互換分散モード時）》
図７は、図３のポートスイッチを下位互換分散モードで動作させた際の構成例および動作例を示すブロック図である。図７に示すポートスイッチＰＳａは、図３の構成例と比較して、下位互換分散モード（第２分散モード）に伴う分散テーブル２５ｂの構成と、この分散テーブル２５ｂの構成に伴う中継実行部２６ｂの構成とが異なっている。中継実行部２６ｂに関しては、ハードウェアの回路構成自体は図３と同様であるが、当該ハードウェアに対する設定内容が図３とは異なる。これ以外の構成に関しては、図３の場合と同様であるため、詳細な説明は省略する。
【００５６】
分散テーブル２５ｂは、図２のポートスイッチ（タイプＢ）ＰＳｂの分散テーブル１５をもとに、図６で述べたような方法を用いて生成される。その結果、中継実行部２６ｂに示されるように、サブリンクＳＬ［１］には、「０〜２」の分散識別子ＤＩＤに加えて、これらと同じ３ビットの値を一部に含む「８〜１０」，「１６〜１８」，「２４〜２６」の分散識別子ＤＩＤが割り当てられる。また、サブリンクＳＬ［２］には、「３〜５」の分散識別子ＤＩＤに加えて、これらと同じ３ビットの値を一部に含む「１１〜１３」，「１９〜２１」，「２７〜２９」の分散識別子ＤＩＤが割り当てられる。同様に、サブリンクＳＬ［３］には、「６，７」の分散識別子ＤＩＤに加えて、「１４，１５」，「２２，２３」，「３０，３１」の分散識別子ＤＩＤが割り当てられる。
【００５７】
ここで、図３の場合と同様に、「１９２．１６８．１．１５」の宛先ＩＰアドレス（ＤＩＰ）および「１９２．１６８．１．１」の送信元ＩＰアドレス（ＳＩＰ）を含むフレームＦＬ１ａをユーザ用ポートＰｕで受信した場合を想定する。この場合、分散識別子算出部２７は、図３の場合と同様に、分散識別子ＤＩＤとして「ＤＩＤ＝１４」を算出する。その結果、中継実行部２６ｂは、この「ＤＩＤ＝１４」に対応するサブリンクＳＬ［３］（すなわちファブリックスイッチＦＳ［３］）にフレームＦＬ１ａを中継する。このように、図７のポートスイッチ（タイプＡ）ＰＳａを用いることで、図３の場合と異なり、図２のポートスイッチ（タイプＢ）ＰＳｂと同じファブリックスイッチＦＳにフレームを中継することが可能になる。
【００５８】
図８は、図７のポートスイッチ（タイプＡ）において、その分散テーブル２５ｂの詳細な構成例を示す図である。図８に示す分散テーブル２５ｂは、サブリンクＩＤと分散識別子ＤＩＤとの対応関係に加えて、さらに、各サブリンクを構成する単数または複数本のリンク１１と分散識別子ＤＩＤとの対応関係も表している。例えば、サブリンクＩＤ｛ＳＬ［３］｝は、図７で述べたように、「６，７」，「１４，１５」，「２２，２３」，「３０，３１」の分散識別子ＤＩＤに対応する。この内、「６，２２，７，２３」の分散識別子ＤＩＤは、ポート識別子（ポートＩＤ）｛Ｐｆ［３，１］｝に対応するリンク１１に割り当てられる。また、「１４，３０，１５，３１」の分散識別子ＤＩＤは、ポートＩＤ｛Ｐｆ［３，２］｝に対応するリンク１１に割り当てられる。
【００５９】
この場合、図７で述べた「１４」の分散識別子ＤＩＤを持つフレームＦＬ１ａは、より詳細には、サブリンクＳＬ［３］の中のファブリックスイッチ用ポートＰｆ［３，２］に対応するリンク１１に中継される。このように、図８に示す分散テーブル２５ｂは、図１で述べたように、サブリンク間のＬＡＧに加えて、サブリンク内のＬＡＧを反映して生成されたものとなっている。すなわち、図８に示す分散テーブル２５ｂは、各サブリンクに対応する分散識別子ＤＩＤを、当該各サブリンクを構成する単数または複数本のリンク（ここではファブリックスイッチ用ポートＰｆ）に所定の分散規則に基づいて割り当てることで生成される。
【００６０】
この所定の分散規則（すなわちサブリンク内のＬＡＧの分散規則）は、特に、限定はされないが、ここではラウンドロビン方式を用いている。例えば、サブリンクＩＤ｛ＳＬ［３］｝の分散識別子ＤＩＤは、「６」と、３ビットが「６」と共通する「１４，２２，３０」と、「７」と、３ビットが「７」と共通する「１５，２３，３１」である。これを順番に並べて「６，１４，２２，３０，７，１５，２３，３１」としたのち、ファブリックスイッチ用ポートＰｆ［３，１］，Ｐｆ［３，２］に対してラウンドロビン方式で割り当てることで図８の分散テーブル２５ｂが得られる。なお、このサブリンク内のＬＡＧの分散規則は、図４で述べたような問題とは無関係であるため、サブリンク内で略均一に分散が行われるような規則であれば、様々な分散規則を適用することが可能である。
【００６１】
《ポートスイッチ（タイプＡ）の詳細》
図９は、図１のネットワーク中継システムにおいて、そのポートスイッチ（タイプＡ）の主要部の概略構成例を示すブロック図である。図９に示すポートスイッチ（第２スイッチ装置）ＰＳａは、例えば、フレーム処理部５０と、テーブルユニット５１と、分散テーブル生成部５２と、複数のポート（ユーザ用ポートＰｕ（１）〜Ｐｕ（ｐ）およびファブリックスイッチ用ポートＰｆ（１）〜Ｐｆ（ｑ））を備えている。ユーザ用ポートＰｕ（１）〜Ｐｕ（ｐ）には、通信回線を介して端末等が適宜接続される。
【００６２】
ファブリックスイッチ用ポートＰｆ（１）〜Ｐｆ（ｑ）は、それぞれ、通信回線を介してｍ台のファブリックスイッチＦＳ［１］〜ＦＳ［ｍ］のいずれかに適宜接続される。この例では、ファブリックスイッチ用ポートＰｆ（１），Ｐｆ（２）は、サブリンクＳＬ（１）を構成し、当該サブリンクＳＬ（１）によってファブリックスイッチＦＳ［１］と接続される。また、ファブリックスイッチ用ポートＰｆ（ｑ−１），Ｐｆ（ｑ）は、サブリンクＳＬ（ｍ）を構成し、当該サブリンクＳＬ（ｍ）によってファブリックスイッチＦＳ［ｍ］と接続される。当該サブリンクＳＬ（１）〜ＳＬ（ｍ）には、サブリンク間のＬＡＧ（すなわちメインリンクＭＬ（１））が設定される。また、サブリンクＳＬ（１），ＳＬ（ｍ）のそれぞれに対しては、サブリンク内のＬＡＧが設定される。
【００６３】
テーブルユニット５１には、分散テーブル２５と、アドレステーブル５４と、ＬＡＧテーブル５３が含まれる。アドレステーブル５４は、各ポートと当該各ポートの先に存在するＭＡＣアドレスとの関係を示すテーブルである。ＬＡＧテーブル５３は、前述したメインリンクＭＬとサブリンクＳＬとポート（ここではファブリックスイッチ用ポートＰｆ）との対応関係を示すテーブルである。ＬＡＧテーブル５３は、予め管理者等によって固定的に生成することも、特許文献１のような方式を用いて自動的に生成することも可能である。分散テーブル（第２分散テーブル）２５は、分散テーブル生成部５２によって生成され、図３の分散テーブル２５ａで述べたような情報か、または図７および図８の分散テーブル２５ｂで述べたような情報を持つ。
【００６４】
フレーム処理部５０は、分散識別子算出部（第２分散識別子算出部）２７および中継実行部（第２中継実行部）２６を備える。フレーム処理部５０は、主に、各ポートでフレームを受信した際に、アドレステーブル５４を用いて宛先のポートを検索し、受信したフレームを当該ポートに中継する処理を行う。この際に、フレーム処理部５０は、例えば、ユーザ用ポートＰｕで受信したフレームの宛先のポートがメインリンクＭＬ（１）が設定されたポート（すなわちファブリックスイッチ用ポートＰｆ）であった場合、分散識別子算出部２７および中継実行部２６を用いて、当該フレームの中継先を適宜分散させる。この際の具体的な処理内容は、図３および図２の場合と同様である。
【００６５】
図１０（ａ）は、図９におけるアドレステーブルの構造例を示す概略図であり、図１０（ｂ）は、図９におけるＬＡＧテーブルの構造例を示す概略図である。図１０（ｂ）に示すＬＡＧテーブル５３では、メインリンク識別子（メインリンクＩＤ）｛ＭＬ（１）｝がサブリンクＩＤ｛ＳＬ（１）〜ＳＬ（ｍ）｝で構成されることが示される。言い換えれば、メインリンクＭＬ（１）がサブリンクＳＬ（１）〜ＳＬ（ｍ）で構成されることが示される。更に、ＬＡＧテーブル５３では、各サブリンクＩＤ｛ＳＬ（１）〜ＳＬ（ｍ）｝に対応する各ポートＩＤが示されている。例えば、サブリンクＩＤ｛ＳＬ（１）｝は、ポートＩＤ｛Ｐｆ（１），Ｐｆ（２）｝で構成される。言い換えれば、サブリンクＳＬ（１）は、ファブリックスイッチ用ポートＰｆ（１），Ｐｆ（２）で構成される。
【００６６】
また、この例では、ＬＡＧテーブル５３は、各ファブリックスイッチ用ポートＰｆ（１）〜Ｐｆ（ｑ）に対応する各リンク１１の状態（すなわち障害の有無）も示している。例えば、図９のフレーム処理部５０は、定期的な制御フレームの送受信等によってファブリックスイッチ用ポートＰｆ（１）〜Ｐｆ（ｑ）の障害を検出した場合には、その情報をＬＡＧテーブル５３に記録する。例えば、分散テーブル生成部５２は、障害が検出された場合には、ＬＡＧテーブル５３に基づき障害が有るリンク１１を認識し、分散テーブル２５において、当該障害が有るリンク１１に対応する分散識別子ＤＩＤを同一サブリンク内の正常なリンク１１に割り当てる。
【００６７】
図１０（ａ）に示すアドレステーブル５４は、ポートＩＤ／メインリンクＩＤと、当該ポートＩＤ／メインリンクＩＤに対応するポートの先に存在するＭＡＣアドレスとの関係を示す。図９のフレーム処理部５０は、例えば、いずれかのポートで受信したフレームの宛先ＭＡＣアドレスが「ＭＡｘｘ」の場合、図１０（ａ）に基づき、当該フレームをユーザ用ポートＰｕ（１）に中継する。
【００６８】
また、フレーム処理部５０は、ユーザ用ポートＰｕ（１）〜Ｐｕ（ｐ）のいずれかで受信したフレームの宛先ＭＡＣアドレスが「ＭＡｚｚ」の場合、図１０（ａ）に基づき、当該フレームをメインリンクＭＬ（１）に中継する。この際に、フレーム処理部５０内の中継実行部２６は、分散識別子算出部２７によって算出される分散識別子ＤＩＤと、分散テーブル２５によって得られる、分散識別子ＤＩＤとサブリンクＳＬ（およびサブリンクＳＬ内のリンク１１）との対応関係に基づいて、所定のリンク１１にフレームを中継する。
【００６９】
《分散識別子算出部の詳細》
図１１は、図９における分散識別子算出部の構成例を示すブロック図である。図１１に示す分散識別子算出部２７は、入力レジスタ６０，６１と、排他的論理和演算部６２と、出力レジスタ６３とを備える。レジスタ６０には、受信したフレームに含まれる３２ビットの送信元ＩＰアドレスが格納される。レジスタ６１には、受信したフレームに含まれる３２ビットの宛先ＩＰアドレスが格納される。排他的論理和演算部６２は、レジスタ６０およびレジスタ６１に格納される計６４ビットの値を８ビット毎に区切ることで得られる８個の８ビット列に対して各ビット毎の排他的論理和演算を行う。これにより、排他的論理和演算部６２は、出力レジスタ６３に８ビットの論理演算結果を出力し、その内の下位５ビットを分散識別子ＤＩＤとして出力する。
【００７０】
このような分散識別子算出部２７を用いると、送信元ＩＰアドレスと宛先ＩＰアドレスが入れ替わった場合でも同じ分散識別子ＤＩＤを生成可能になる。分散識別子算出部２７の論理演算方法は、勿論、これに限定されるものではなく、このように、送信元アドレスと宛先アドレスが入れ替わった場合でも同じ分散識別子ＤＩＤを生成できるような演算方法であればよい。また、入力として用いる情報も、必ずしもアドレスで限定されるものではなく、送信元を特定する識別子と宛先を特定する識別子であればよい。
【００７１】
なお、ここでは、ポートスイッチ（タイプＡ）ＰＳａの分散識別子算出部２７の構成例を示したが、図２に示したポートスイッチ（タイプＢ）ＰＳｂの分散識別子算出部１７も同様の構成となる。ただし、分散識別子算出部１７の場合は、出力レジスタ６３の例えば下位３ビットが分散識別子ＤＩＤとして出力される。
【００７２】
《分散テーブル生成部の詳細》
図１２は、図９における分散テーブル生成部の処理内容の一例を示すフロー図である。図９の分散テーブル生成部５２は、例えば、ＣＰＵによるプログラム処理によって実現される。まず、分散テーブル生成部５２は、図１０（ｂ）のようなＬＡＧテーブル５３に基づいて、現有するサブリンク（サブリンクＩＤ）と各サブリンクに対応するポート（ポートＩＤ）とを認識する（ステップＳ１０１）。次いで、分散テーブル生成部５２は、図６および図７で述べたような下位互換分散モード（第２分散モード）が設定されているか否かを判別する（ステップＳ１０２）。分散テーブル生成部５２は、下位互換分散モードが設定されている場合、ステップＳ１０３へ移行し、設定されていない場合、ステップＳ１０６へ移行する。
【００７３】
ステップＳ１０３において、分散テーブル生成部５２は、図６（ａ）および図６（ｂ）で述べたように、ｊビットの分散識別子ＤＩＤを仮定し、各サブリンクＳＬとｊビットの分散識別子ＤＩＤとの第１の対応関係を、ポートスイッチ（タイプＢ）ＰＳｂと同じ規則に基づいて定める（第１処理）。次いで、分散テーブル生成部５２は、第１の対応関係におけるｊビットの分散識別子を、当該ｊビットの分散識別子と同じｊビットの値を一部に含んだｋビットの分散識別子に置き換えることで、各サブリンクＳＬとｋビットの分散識別子との第２の対応関係を定める（ステップＳ１０４、第２処理）。その後、分散テーブル生成部５２は、ステップＳ１０５へ移行する。
【００７４】
一方、ステップＳ１０６においては、下位互換分散モードが設定されていないため、図３に示したように、分散テーブル生成部５２は、通常のタイプＡ分散モード（第１分散モード）で分散テーブル２５ａの生成を行えばよい。そこで、ステップＳ１０６において、分散テーブル生成部５２は、各サブリンクとｋビットの分散識別子との第３の対応関係を所定の規則（本来の通常の分散規則）に基づいて定める（第３処理）。その後、分散テーブル生成部５２は、ステップＳ１０５へ移行する。
【００７５】
ステップＳ１０５において、分散テーブル生成部５２は、第２の対応関係（ステップＳ１０４）または第３の対応関係（ステップＳ１０６）とステップＳ１０１でのＬＡＧテーブル５３とに基づき、図８で述べたような規則（すなわちサブリンク内のＬＡＧの分散規則）を用いた処理を行う。具体的には、分散テーブル生成部５２は、各サブリンク毎に、各サブリンクに対応するｋビットの分散識別子ＤＩＤを、各サブリンクに対応するポート（言い換えれば各サブリンクを構成する単数または複数のリンク１１）に、略均等となるような分散規則に基づいて割り当てる（第４処理）。これによって、分散テーブル生成部５２は、各サブリンクを構成するリンク１１とｋビットの分散識別子との第４の対応関係を定め、当該第４の対応関係から図８のような分散テーブルを生成する。
【００７６】
以上のように、本実施の形態１を用いることで、代表的には、仕様が異なるスイッチ装置（すなわちポートスイッチ）を用いて構築されたネットワーク中継システム（すなわちボックス型ファブリックシステム）において、通信帯域の向上が実現可能になる。言い換えれば、仕様が異なるスイッチ装置を問題無く混在させることが可能になるため、ボックス型ファブリックシステムを構築（例えば拡張）する際の自由度を向上されることが可能になる。
【００７７】
（実施の形態２）
《ネットワーク中継システムの構成および動作（応用例）》
図１３は、本発明の実施の形態２によるネットワーク中継システムにおいて、その構成例および概略的な動作例を示すブロック図である。図１３には、便宜上、前述した図１のボックス型ファブリックシステム１０の構成が簡略化して示されている。すなわち、各サブリンクＳＬ内のリンクの図示が省略されている。図１３のボックス型ファブリックシステム（ネットワーク中継システム）１０と図１の構成例との実質的な相違は、各ポートスイッチＰＳ［１］〜ＰＳ［ｎ］内にそれぞれ分散モード設定部７０［１］〜７０［ｎ］が設けられる点にある。
【００７８】
分散モード設定部７０［１］〜７０［ｎ］は、それぞれ、ｍ個のファブリックスイッチ用ポートＰｆ［１］〜Ｐｆ［ｍ］の中の所定のポート（ここではＰｆ［１］）に、制御フレームＣＦ［１］〜ＣＦ［ｎ］を送信する。制御フレームＣＦ［１］〜ＣＦ［ｎ］のそれぞれには、分散識別子ＤＩＤのビット数を表す情報が含まれている。例えば、分散モード設定部７０［１］は、ポートスイッチＰＳ［１］が持つ分散識別子ＤＩＤのビット数を表す制御フレームＣＦ［１］を送信する。
【００７９】
図１４は、図１３のネットワーク中継システムにおける主要部の動作例を示すフロー図である。図１４において、まず、各ポートスイッチＰＳ［１］〜ＰＳ［ｎ］（分散モード設定部７０［１］〜７０［ｎ］）は、それぞれ、自身が持つ分散識別子ＤＩＤのビット数を表す制御フレームＣＦ［１］〜ＣＦ［ｎ］をｍ台のファブリックスイッチのいずれか（ここではＦＳ［１］）に送信する（ステップＳ２０１、第５処理）。
【００８０】
次いで、ｍ台のファブリックスイッチのいずれか（ここではＦＳ［１］）は、制御フレームＣＦ［１］〜ＣＦ［ｎ］を受信した際に、当該制御フレームＣＦ［１］〜ＣＦ［ｎ］のそれぞれをフラッディングによって（ｎ−１）台のポートスイッチＰＳに転送する。例えば、ファブリックスイッチＦＳ［１］は、制御フレームＣＦ［１］を受信した際に、当該制御フレームＣＦ［１］をポートスイッチＰＳ［２］〜ＰＳ［ｎ］に転送する（ステップＳ２０２）。
【００８１】
続いて、ステップＳ２０３において、ポートスイッチＰＳ［１］〜ＰＳ［ｎ］（分散モード設定部７０［１］〜７０［ｎ］）のそれぞれは、ｍ台のファブリックスイッチのいずれか（ここではＦＳ［１］）を介して当該ファブリックスイッチＦＳ［１］に接続された他のポートスイッチＰＳからの制御フレームを受信する（第６処理）。例えば、ポートスイッチＰＳ［１］は、ファブリックスイッチＦＳ［１］に接続された他のポートスイッチＰＳ［２］〜ＰＳ［ｎ］からの制御フレームＣＦ［２］〜ＣＦ［ｎ］を受信する。そして、ポートスイッチＰＳ［１］〜ＰＳ［ｎ］（分散モード設定部７０［１］〜７０［ｎ］）のそれぞれは、受信した各制御フレームを介して、各ポートスイッチＰＳ［１］〜ＰＳ［ｎ］のそれぞれが持つ分散識別子ＤＩＤのビット数の中の最小のビット数を認識し、これに応じて分散モードを自動的に設定する。
【００８２】
具体的には、例えば、ポートスイッチＰＳ［１］が前述したタイプＡのポートスイッチ（第２スイッチ装置）ＰＳａであった場合、ポートスイッチＰＳ［１］は、認識した最小のビット数がｋビットの場合にはタイプＡ分散モード（第１分散モード）を設定し、ｋビット未満の場合には、下位互換分散モード（第２分散モード）を設定する（第７処理）。図９に示した分散テーブル生成部５２は、この分散モード設定部によって設定されたモードに応じて、図１２で述べたようなフローにより所望の分散テーブルを生成する。
【００８３】
以上のように、本実施の形態２を用いることで、ネットワーク中継システム（すなわちボックス型ファブリックシステム）において、スイッチ装置（すなわちポートスイッチ）の仕様に応じた分散規則を自動的に設定することが可能になり、ネットワーク管理者の負担やミスを軽減すること等が可能になる。
【００８４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８５】
例えば、ここでは、ポートスイッチ（タイプＡ）ＰＳａに２種類の分散モード（タイプＡ分散モードおよび下位互換分散モード）を設けたが、場合によっては、下位互換分散モードのみを設けることも可能である。ただし、下位互換分散モードの場合、図７に示したように、各サブリンクＳＬに対して均等に負荷分散を行うという観点では、不均一が生じる場合がある。すなわち、図７の場合は、図３の場合と異なり、サブリンクＳＬ［１］，ＳＬ［２］，ＳＬ［３］に対して、それぞれ、１２個、１２個、８個の分散識別子ＤＩＤが割り当てられる。したがって、この観点では、２種類の分散モードを設けることが有益となる。
【００８６】
また、実施の形態１および２では、主に２種類のポートスイッチ（タイプＡおよびタイプＢ）が存在する場合を例として説明を行ったが、３種類以上のポートスイッチが存在する場合も同様に適用可能である。例えば、３種類のポートスイッチが持つ分散識別子のビット数が、それぞれ、ｘビット、ｋ（＜ｘ）ビット、ｊ（＜ｋ）ビットであった場合、ｘビットとｋビットを持つ各ポートスイッチは、図６（ａ）、図６（ｂ）および図１２のように、最小のビット数（ｊビット）を仮定して分散テーブルの元となる第１の対応関係を定めればよい。
【００８７】
また、この状態で、例えば、ｊビットを持つポートスイッチが排除された場合、同様にして、ｘビットを持つポートスイッチは、最小のビット数（ｋビット）を仮定して分散テーブルの元となる第１の対応関係を定めればよい。すなわち、ｘビットを持つポートスイッチは、第１の対応関係を定める際のビット数がｘビットに近いほど、各サブリンクに対して均一に負荷分散を行うことが可能になる。なお、最小のビット数は、例えば、実施の形態２の方式によって認識できる。
【符号の説明】
【００８８】
１０  ボックス型ファブリックシステム
１１  リンク
１５，２５，２５ａ，２５ｂ  分散テーブル
１６，２６，２６ａ，２６ｂ  中継実行部
１７，２７  分散識別子算出部
３０  ＩＰヘッダ
３１  イーサネットヘッダ
３２，４１  ビット領域
４０  論理演算部
５０  フレーム処理部
５１  テーブルユニット
５２  分散テーブル生成部
５３  ＬＡＧテーブル
５４  アドレステーブル
６０，６１  入力レジスタ
６２  排他的論理和演算部
６３  出力レジスタ
７０［１］〜７０［ｎ］  分散モード設定部
ＣＦ［１］〜ＣＦ［ｎ］  制御フレーム
ＤＩＤ  分散識別子
ＦＬ，ＦＬ１，ＦＬ１ａ，ＦＬ１ｂ，ＦＬ２  フレーム
ＦＳ  ファブリックスイッチ
ＭＬ  メインリンク
ＰＳ  ポートスイッチ
Ｐｆ  ファブリックスイッチ用ポート
Ｐｐ  ポートスイッチ用ポート
Ｐｕ  ユーザ用ポート
ＳＬ  サブリンク
ＴＭ１〜ＴＭ４  端末
【図１】
0006040907.tif 000002
【図２】
0006040907.tif 000003
【図３】
0006040907.tif 000004
【図４】
0006040907.tif 000005
【図５】
0006040907.tif 000006
【図６】
0006040907.tif 000007
【図７】
0006040907.tif 000008
【図８】
0006040907.tif 000009
【図９】
0006040907.tif 000010
【図１０】
0006040907.tif 000011
【図１１】
0006040907.tif 000012
【図１２】
0006040907.tif 000013
【図１３】
0006040907.tif 000014
【図１４】
0006040907.tif 000015