(57)【特許請求の範囲】
【請求項１】
第１回線を経由してノードに接続可能な第１中継装置と、
第２回線を経由して前記ノードに接続可能な第２中継装置と、
を備える中継システムであって、
前記第１回線と前記第２回線は、同一のリンクアグリゲーショングループに属し、
前記第１中継装置は、
出力ポートと宛先アドレスとの対応関係を記憶する第１記憶部と、
送信元アドレスが前記第１記憶部に記録されていないフレームを前記第１回線に接続されたポートより受信した場合に、当該フレームを中継する前に、前記第２中継装置に前記送信元アドレスを通知する第１制御部と、
を有し、
前記第２中継装置は、
出力ポートと宛先アドレスとの対応情報を記憶する第２記憶部と、
前記第２回線に接続されている出力ポートと前記第１中継装置から通知された前記送信元アドレスとの対応関係を、前記第２記憶部に記憶する第２制御部と、を有する、
中継システム。
【請求項２】
前記第１中継装置は、前記第１記憶部に宛先アドレスが記録されていないフレームを受信した場合に、出力ポート毎にフレームの送出を抑止するフィルタ条件に従って、前記第１回線に接続された出力ポートから前記フレームの送出を抑止するフィルタリング部、を有する請求項１記載の中継システム。
【請求項３】
前記第２制御部は、前記第１中継装置より通知されたフレームの送信元アドレスに係る前記対応関係が前記第２記憶部に記録されている場合に、当該対応関係を更新しない請求項１又は２記載の中継システム。
【請求項４】
前記第２中継装置は、前記第１中継装置より通知されたフレームの送信元アドレスに係る前記対応関係が前記第２記憶部に記録されている場合に、当該フレームを前記対応関係に係るポートより送出させない請求項３記載の中継システム。
【請求項５】
前記フィルタリング部は、受信されたフレームに関して前記フィルタ条件を判定して、前記第１回線に接続された出力ポートから前記フレームの送出を抑止する請求項２記載の中継システム。
【請求項６】
請求項１乃至５いずれか一項記載の中継システムに含まれる中継装置。
【請求項７】
第１回線を経由してノードに接続可能な第１中継装置と、第２回線を経由して前記ノードに接続可能な第２中継装置とを備え、前記第１回線と前記第２回線は同一のリンクアグリゲーショングループに属しる中継システムにおける中継方法であって、
前記第１中継装置が、
出力ポートと宛先アドレスとの対応関係を記憶する第１記憶部に送信元アドレスが記録されていないフレームを前記第１回線に接続されたポートより受信した場合に、当該フレームを中継する前に、前記第２中継装置に前記送信元アドレスを通知する第１制御手順と、
前記第２中継装置が、
前記第２回線に接続されている出力ポートと前記第１中継装置から通知された前記送信元アドレスとの対応関係を、力ポートと宛先アドレスとの対応情報を記憶する第２記憶部に記憶する第２制御手順と、を有する、
中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継システム、中継装置、及び中継方法に関する。
【背景技術】
【０００２】
図１は、スイッチスタッキングを含むネットワーク構成例を示す図である。スイッチ（レイヤ２スイッチ）のスタッキングとは、複数のスイッチをスタック接続し、一つのスイッチとして見せることをいい、スイッチの仮想化ともいえる。図中（Ａ）は物理的なネットワーク構成を示す。（Ａ）において、四つのスイッチ（ＳＷ−Ａ〜ＳＷ−Ｄ）は、スタックリンクＬ１〜Ｌ４のいずれかを介してスタック接続されている。図中（Ｂ）は、（Ａ）の論理的なネットワーク構成を示す。（Ｂ）では、スタック接続された複数のスイッチが論理的に一つのスイッチＶとして見える。この場合、ユーザーは４つのスイッチ（ＳＷ−Ａ〜ＳＷ−Ｄ）を統合的に（一つのスイッチＶとして）管理することができる。
【０００３】
他方において、複数の物理的なリンク（回線）をグループ化して論理的に一つのリンクとして扱うリンクアグリゲーションという技術がある。リンクアグリゲーションを利用することにより、通信帯域の向上と、冗長化による堅牢性とを確保することができる。論理的に一つのリンクとして扱われる物理的なリンクの集合をリンクアグリゲーショングループという。
【０００４】
複数のスイッチに対してスイッチスタッキングを適用した場合、当該複数のスイッチは論理的に一つのスイッチとして扱われる。したがって、同一のリンクアグリゲーショングループに属するリンクを複数のスイッチに跨って設定することが可能である。
【０００５】
図２は、スイッチスタッキングを適用したスイッチについてリンクアグリゲーションを利用した例を示す図である。
【０００６】
同図では、スイッチスタッキングが適用された、四つのスイッチ（ＳＷ−Ａ〜ＳＷ−Ｄ）のうち、スイッチＳＷ−ＢとスイッチＳＷ−Ｃとが、それぞれ物理的には別個のリンクによってノードＡと接続されている。ここで、二つのリンクについてリンクアグリゲーションを利用すると、ノードＡとスイッチＳＷ−Ａ〜ＳＷ−Ｄを含む論理的な一つのスイッチ（スイッチスタック）とは、論理的に一つのリンク（リンクアグリゲーショングループＧ）によって接続されているものとして扱われる。
【０００７】
但し、同図より明らかなように、同一のリンクアグリゲーショングループＧに複数のスイッチが接続されると、物理的にはネットワークのループが形成されてしまう。したがって、適切な対処がされないと、フレームのストームが発生しまう。
【０００８】
従来、ネットワークのループに対する対処方法として、ＳＴＰ（Spanning Tree Protocol）によって制御する方法や、フレームにＴＴＬ（Time to live）を含めて制御する方法等がある。
【０００９】
図３は、ＳＴＰによって制御する方法を説明するための図である。ＳＴＰでは冗長経路が適切に切断（ブロック）され、ネットワークループが形成されないように制御される。同図では、スイッチＳＷ−ＡとスイッチＳＷ−ＤとのそれぞれにおいてスタックリンクＬ４へのポートがブロックされている。
【００１０】
図４は、フレームにＴＴＬを含めて制御する方法を説明するための図である。この方法では、フレームにＴＴＬが含められ、スイッチを一つ通過するごとにＴＴＬが減算される。ＴＴＬが０となるとフレームは廃棄される。その結果、フレームが無限にネットワーク上を流通するのが防止され、実質的にループが解消される。同図では、スイッチＳＷ−ＤからＳＷ−Ａの方向にＴＴＬが１であるフレームＦ１が送信された例が示されている。また、スイッチＳＷ−ＤからスイッチＳＷ−Ｃの方向にＴＴＬが２であるフレームＦ２が送信された例が示されている。フレームＦ１はスイッチＳＷ−Ａより先のスタックリンクへは転送されず、フレームＦ２はスイッチＳＷ−Ｂより先のスタックリンクへは転送されない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−２３６２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、ＳＴＰやＴＴＬをリンクアグリゲーションに有効に適用するのは困難である。
【００１３】
すなわち、ＳＴＰは、冗長経路をブロックするため、図２において同一のリンクアグリゲーショングループＧに属するリンクのいずれか一方はブロックされてしまう。これでは、リンクアグリゲーションＧを有効に活用することが困難である。
【００１４】
また、ＴＴＬを利用する場合、図５に示されるように、ＴＴＬが有効な範囲で複数の同一フレームが同一のノードに到達する可能性がある。
【００１５】
図５は、ＴＴＬを利用するスイッチスタックにリンクアグリゲーションが適用された場合の問題点を説明するための図である。同図では、スイッチＳＷ−Ｂに対してフレームＦが入力された例が示されている。スイッチＳＷ−Ｂは、フレームＦのフラッディングに際し、スイッチＳＷ−Ａに対してはＴＴＬの値が１であるフレームＦを出力し、スイッチＳＷ−Ｃに対しては、ＴＴＬの値が２であるフレームを出力している。この場合、ノードＡには、スイッチＳＷ−ＢによってフラッディングされるフレームＦと、スイッチＳＷ−ＣによってフラッディングされるフレームＦとが重複して到達してしまう。
【００１６】
そこで、１つの側面として、一つのノードから複数のスイッチに接続されるリンクアグリゲーションの実用性を向上させることのできる中継システム、中継装置、及び中継方法の提供を目的とする。
【課題を解決するための手段】
【００１７】
１つの案では、第１回線を経由してノードに接続可能な第１中継装置と、第２回線を経由して前記ノードに接続可能な第２中継装置と、を備える中継システムであって、前記第１回線と前記第２回線は、同一のリンクアグリゲーショングループに属し、前記第１中継装置は、出力ポートと宛先アドレスとの対応関係を記憶する第１記憶部と、送信元アドレスが前記第１記憶部に記録されていないフレームを前記第１回線に接続されたポートより受信した場合に、当該フレームを中継する前に、前記第２中継装置に前記送信元アドレスを通知する第１制御部と、を有し、前記第２中継装置は、出力ポートと宛先アドレスとの対応情報を記憶する第２記憶部と、前記第２回線に接続されている出力ポートと前記第１中継装置から通知された前記送信元アドレスとの対応関係を、前記第２記憶部に記憶する第２制御部と、を有する。
【発明の効果】
【００１８】
一つのノードから複数のスイッチに接続されるリンクアグリゲーションの実用性を向上させること。
【図面の簡単な説明】
【００１９】
【図１】スイッチスタッキングを含むネットワーク構成例を示す図である。
【図２】スイッチスタッキングが適用されたスイッチについてリンクアグリゲーションを利用した例を示す図である。
【図３】ＳＴＰによって制御する方法を説明するための図である。
【図４】フレームにＴＴＬを含めて制御する方法を説明するための図である。
【図５】ＴＴＬを利用するスイッチスタックにリンクアグリゲーションが適用された場合の問題点を説明するための図である。
【図６】本発明の実施の形態におけるネットワーク構成例を示す図である。
【図７】本発明の実施の形態におけるスイッチの構成例を示す図である。
【図８】フィルタリング部による制御内容を説明するための第一の図である。
【図９】フィルタリング部による制御内容を説明するための第二の図である。
【図１０】学習制御部による制御内容を説明するための第一の図である。
【図１１】学習制御部による制御内容を説明するための第二の図である。
【図１２】フレームの受信に応じて実行されるスイッチの処理手順を説明するためのフローチャートである。
【図１３】学習指示フレームを受信したスイッチが実行する処理手順を説明するためのフローチャートである。
【図１４】中継処理の処理手順を説明するためのフローチャートである。
【図１５】送出対象のフレームが入力されたポートが実行する処理手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面に基づいて本発明の実施の形態を説明する。図６は、本発明の実施の形態におけるネットワーク構成例を示す図である。
【００２１】
同図において、スイッチスタック１は、スイッチＳＷ１、ＳＷ２、及びＳＷ３（以下、各スイッチを区別しない場合「スイッチＳＷ」という。）を含み、論理的には一台のスイッチとして扱われる。スイッチスタック１は、中継システムの一例である。
【００２２】
各スイッチＳＷは、いわゆるレイヤ２スイッチ（又は「スイッチングハブ」とも呼ばれる。）であり、フレームを中継する中継装置の一例である。各スイッチＳＷは、図中において隣り合うスイッチとスタック接続されている。スイッチ間を接続する回線を以下「スタックリンク」という。同図では、スタックリンクＬ１〜Ｌ３が示されている。スタックリンクＬ３は、ネットワークの障害耐久性を向上させるための冗長経路である。その結果、スイッチＳＷ１〜ＳＷ３においてループが形成されている。
【００２３】
外部ノードＡは、スイッチＳＷ１及びＳＷ２に接続されているネットワーク機器（例えば、ルーター）である。外部ノードＢは、スイッチＳＷ２及びＳＷ３に接続されているネットワーク機器である。すなわち、外部ノードＡ及びＢは、それぞれ２本の回線を介してスイッチスタック１と接続されている。但し、各２本の回線は、リンクアグリゲーションの利用により論理的に１本の回線として扱われる。具体的には、リンクアグリゲーショングループＧａに属する２本の回線は、論理的には１本の回線として扱われる。同様に、リンクアグリゲーショングループＧｂに属する２本の回線は、論路的には１本の回線として扱われる。したがって、外部ノードＡ及びＢとスイッチスタック１とは、論理的にはそれぞれ１本の回線を介して接続されているものとして扱われる。
【００２４】
また、各スイッチＳＷには、ＰＣ（Personal Computer）等の端末Ｔが接続されている。例えば、スイッチＳＷ１には、端末Ｔ１及びＴ２が接続されている。端末Ｔ２は、スイッチＳＷ２にも接続されている。端末Ｔ２とスイッチＳＷ１とを接続する回線と、端末Ｔ２とスイッチＳＷ２とを接続する回線とは、一つのリンクアグリゲーショングループＧｔを構成し、論理的に１本の回線とされている。
【００２５】
上記において、各リンクアグリゲーショングループは、論理的に１本の回線として扱われると述べた。しかし、本実施の形態において、各リングアグリゲーショングループに属する回線の一端は、物理的にはそれぞれ異なる（別個の）スイッチＳＷに接続されている。具体的には、リンクアグリゲーションＧａに属する一方の回線であるリンクＬａ１は、外部ノードＡとスイッチＳＷ１とを接続する。リンクアグリゲーションＧａに属する他方の回線であるＬａ２は、外部ノードＡとスイッチＳＷ２とを接続する。その結果、外部ノードＡ、スイッチＳＷ１、及びスイッチＳＷ３との間で、物理的にループが形成されている。リンクアグリゲーショングループＧｂ及びリンクアグリゲーショングループＧｔについても同様にループが形成されている。
【００２６】
図７は、本発明の実施の形態におけるスイッチの構成例を示す図である。本実施の形態において各スイッチＳＷは、学習制御部１１、中継部１２、中継ＤＢ１３、及びポートＰ等を有する。
【００２７】
学習制御部１１は、受信フレームに基づいて、ポートＰとノードの対応関係とを学習する回路である。具体的には、学習制御部１１は、受信フレームの送信元ＭＡＣアドレスと受信ポート（又は出力ポート）との対応情報を中継ＤＢ１３に記録する。中継ＤＢ１３は、スイッチＳＷのメモリを用いて、ポートＰとノード（ＭＡＣアドレス）との対応情報を記憶する対応情報記憶手段の一例である。
【００２８】
学習制御部１１は、更に、リンクアグリゲーショングループに属する回線を介して受信されたフレームが、当該フレームの送信元のノードに戻らないように（還流しないように）するための制御を行う。例えば、外部ノードＡよりリンクＬａ１を介してスイッチＳＷ１によって受信されたフレームが、リンクＬａ２を介してスイッチＳＷ２より外部ノードＡに対して転送されないようにするための制御が学習制御部１１によって行われる。
【００２９】
中継部１２は、スイッチＳＷの基本的な機能であるフレームの中継等を行う回路である。具体的には、中継部１２は、受信フレームの宛先ＭＡＣアドレスとポートとの対応情報が中継ＤＢ１３に登録されている場合には、当該ポートより受信フレームを送出させる。中継部１２は、受信フレームの宛先ＭＡＣアドレスとポートとの対応情報が中継ＤＢ１３に登録されていない場合には、フラッディングを行う。フラッディングとは、受信フレームの宛先が中継ＤＢ１３に未登録の場合に、宛先ノードがどのポートに接続されているか分からないため、受信ポート以外の全てのポートより受信フレームを送出させることをいう。
【００３０】
なお、学習制御部１１及び中継部１２は、プログラムがスイッチＳＷのＣＰＵに実行させる処理によって実現されてもよい。
【００３１】
ポートＰは、回線が接続されるインタフェースである。各ポートＰは、フラッディング抑制部１４及びフィルタリング部１５等を有する。
【００３２】
フラッディング抑制部１４は、対応するポートＰがフラッディング抑制状態であるか否か示す情報を管理（保持）する。例えば、フラッディング抑制部１４は、例えば、ポートＰ内のメモリの１ビット分の記憶領域を用いて実現される。フラッディング抑制部１４（当該ビット）の値がＯＮ（１）であれば、当該ポートＰはフラッディング抑制状態であることを示し、フラッディング抑制部１４の値がＯＦＦ（０）であれば、当該ポートＰはフラッディング抑制状態ではないことを示す。フラッディング抑制状態のポートＰ（以下、「フラッディング抑制ポート」という。）については、送出対象のフレームは、当該ポートＰに対応付けられているＭＡＣアドレスを宛先とするフレームに限定される。すなわち、フラッディング時において、フラッディング抑制ポートからはフレームは送出されない。冗長経路に接続されるポートＰがフラッディング抑制状態に設定されることにより、スイッチスタック１が冗長経路を有することによるフレームのストームの発生が回避される。本実施の形態において、冗長経路は、スタックリンクＬ３である。したがって、スタックリンク３に接続される、スイッチＳＷ１のポートＰ１１とスイッチＳＷ３のポートＰ３２とがフラッディング抑制状態とされる。
【００３３】
フィルタリング部１５は、スイッチスタック１とリンクアグリゲーショングループを介して接続される外部ノードに対して、同一のフレームが重複して到達しないようにするための制御を行う回路である。例えば、スイッチＳＷ１に受信された外部ノードＡ宛のフレームが、リンクＬａ１及びリンクＬａ２の二つの回線を介して外部ノードＡに到達しないようにするための制御がフィルタリング部１５によって行われる。
【００３４】
フィルタリング部１５について更に詳細に説明する。フィルタリング部１５は、リンクアグリゲーショングループに属する回線に接続されたポートＰに属するものが有効となり、それ以外のものは無効となる。無効となるとは、フィルタリング部１５が存在しない状態と同じ状態となることをいう。なお、以下において、リンクアグリゲーショングループに属する回線に接続されたポートＰを、「リンクアグリゲーショングループを構成するポートＰ」という。
【００３５】
同一のリンクアグリゲーショングループを構成する各ポートＰのフィルタリング部１５には、ブロードキャストが行われる場合にフレームの送出が許可される条件（以下、「通過条件」という。）が設定される。ブロードキャストとは、受信ポート以外のポートＰよりフレームを送出することをいい、本実施の形態において、フラッディングも含まれる。通過条件は、同一のリンクアグリゲーショングループを構成する複数のポートＰの中から、一つのポートＰが択一的に選択されるように設定される。すなわち、通過条件は、二以上のポートＰは選択されず、かつ、必ず一つのポートＰが選択されるように設定される。
【００３６】
図８は、フィルタリング部による制御内容を説明するための第一の図である。同図において、リンクアグリゲーショングループに属する回線に接続されたポートＰには、黒丸（●）又は白丸（○）が付されている。
【００３７】
黒丸は、受信フレームの送信元ＭＡＣアドレス（ＳＡ）の最終ビットの値（ＳＡ［０］）が「０」であることを通過条件とするフィルタリング部１５を有するポートＰであることを示す。当該通過条件をｆ１とすると、通過条件ｆ１は、次のように示される。
【００３８】
ｆ１：ＳＡ［０］＝０
同図では、ポートＰ１３、ポートＰ１６、及びポートＰ３４に対して通過条件ｆ１が設定されている。
【００３９】
白丸は、受信フレームの送信元ＭＡＣアドレス（ＳＡ）の最終ビットの値（ＳＡ［０］）が「１」であることを通過条件とするフィルタリング部１５を有するポートＰであることを示す。当該通過条件をｆ２とすると、通過条件ｆ２は、次のように示される。
【００４０】
ｆ２：ＳＡ［０］＝１
同図では、ポートＰ２３、ポートＰ２４、及びポートＰ２５に対して通過条件ｆ２が設定されている。
【００４１】
通過条件の設定内容をリンクアグリゲーションごとに観察する。リンクアグリゲーションＧａを構成するポートＰに関しては、一方のポートＰ１３には通過条件ｆ１が設定されている。他方のポートＰ２３には通過条件ｆ２が設定されている。リンクアグリゲーションＧｂを構成するポートＰに関しては、一方のポートＰ２４には通過条件ｆ２が設定されている。他方のポートＰ３４には通過条件ｆ１が設定されている。リンクアグリゲーションＧｔを構成するポートＰに関しては、一方のポートＰ１６には通過条件ｆ１が設定されている。他方のポートＰ２５には通過条件ｆ２が設定されている。このように、同一のリンクアグリゲーションに属する回線に接続される各ポートＰに対する通過条件は、排他的又は択一的なものとなっている。
【００４２】
図８には、端末Ｔ１より送出され、スイッチＳＷ１のポートＰ１５において受信されたフレームＦｔ１の中継経路が示されている。フレームＦｔ１のＳＡ［０］の値は、「０」であるとする。また、各スイッチＳＷは、フレームＦｔ１の宛先ＭＡＣアドレスを未学習であるとする。
【００４３】
フレームＦｔ１を受信したスイッチＳＷ１は、フレームＦｔ１の宛先ＭＡＣアドレスを未学習であるため、フレームＦｔ１をフラッディングさせようとする。但し、ポートＰ１１は、フラッディング抑制状態であるため、フレームＦｔ１の送出対象から除外される。その結果、フレームＦｔ１は、ポートＰ１３、Ｐ１２、及びＰ１６より送出される。なお、ポートＰ１３には、通過条件ｆ１が設定されている。フレームＦｔ１のＳＡ［０］の値は「０」であるため、通過条件ｆ１は満たされる。したがって、ポートＰ１３は、フィルタリング部１５によって送出対象から除外されない。
【００４４】
スイッチＳＷ２は、ポートＰ１２より送出されたフレームＦｔ１を、ポートＰ２１によって受信する。スイッチＳＷ２は、フレームＦｔ１の宛先ＭＡＣアドレスを未学習であるため、フレームＦｔ１をフラッディングさせようとする。但し、ポートＰ２３、Ｐ２４、及びＰ２５には、それぞれ通過条件ｆ２が設定されている。フレームＦｔ１のＳＡ［０］の値は「０」であるため、通過条件ｆ２は満たされない。したがって、ポートＰ２３、Ｐ２４、及びＰ２５のそれぞれのフィルタリング部１５は、フレームＦｔ１の送出を抑止する。その結果、フレームＦｔ１は、ポートＰ２２及びＰ２６より送出される。
【００４５】
スイッチＳＷ３は、ポートＰ２２より送出されたフレームＦｔ１を、ポートＰ３１によって受信する。スイッチＳＷ３は、フレームＦｔ１の宛先ＭＡＣアドレスを未学習であるため、フレームＦｔ１をフラッディングさせようとする。但し、ポートＰ３２は、フラッディング抑制状態であるため、フレームＦｔ１の送出対象から除外される。その結果、フレームＦｔ１は、ポートＰ３４、Ｐ３５、及びＰ３６より送出される。なお、ポートＰ３４には、通過条件ｆ１が設定されている。フレームＦｔ１のＳＡ［０］の値は「０」であるため、通過条件ｆ１は満たされる。したがって、ポートＰ３４は、フィルタリング部１５によって送出対象から除外されない。
【００４６】
また、図９は、フィルタリング部による制御内容を説明するための第二の図である。同図には、端末Ｔ２より送出され、スイッチＳＷ１のポートＰ１６において受信されたフレームＦｔ２の中継経路が示されている。フレームＦｔ２のＳＡ［０］の値は、「１」であるとする。また、各スイッチＳＷは、フレームＦｔ２の宛先ＭＡＣアドレスを未学習であるとする。
【００４７】
フレームＦｔ２を受信したスイッチＳＷ１は、フレームＦｔ２の宛先ＭＡＣアドレスを未学習であるため、フレームＦｔ２をフラッディングさせようとする。但し、ポートＰ１１は、フラッディング抑制状態であるため、フレームＦｔ２の送出対象から除外される。また、ポートＰ１３には通過条件ｆ１が設定されている。フレームＦｔ２のＳＡ［０］の値は「１」であるため、通過条件ｆｔ１は満たされない。したがって、ポートＰ１３のフィルタリング部１５は、フレームＦｔ２の送出を抑止する。その結果、フレームＦｔ２は、ポートＰ１２及びポートＰ１５より送出される。
【００４８】
スイッチＳＷ２は、ポートＰ１２より送出されたフレームＦｔ２を、ポートＰ２１によって受信する。スイッチＳＷ２は、フレームＦｔ２の宛先ＭＡＣアドレスを未学習であるため、フレームＦｔ２をフラッディングさせようとする。但し、ポートＰ２３、Ｐ２４、及びＰ２５には、それぞれ通過条件ｆ２が設定されている。フレームＦｔ２のＳＡ［０］の値は「１」であるため、通過条件ｆ２は満たされる。したがって、ポートＰ２３、Ｐ２４、及びＰ２５のフィルタリング部１５は、フレームＦｔ２の送出を許可する。その結果、フレームＦｔ２は、ポートＰ２２、Ｐ２３、Ｐ２４、及びＰ２６より送出される。なお、ポートＰ２５については、通過条件ｆ２は満たされるが、後述される学習制御部１１の作用により、フレームＦｔ２の送出対象から除外される。フレームＦｔ２の送信元ノードである端末Ｔ２に対して、フレームＦｔ２が還流するのを回避するためである。
【００４９】
スイッチＳＷ３は、ポートＰ２２より送出されたフレームＦｔ２を、ポートＰ３１によって受信する。スイッチＳＷ３は、フレームＦｔ２の宛先ＭＡＣアドレスを未学習であるため、フレームＦｔ２をフラッディングさせようとする。但し、ポートＰ３２は、フラッディング抑制状態であるため、フレームＦｔ２の送出対象から除外される。また、ポートＰ３４には通過条件ｆ１が設定されている。フレームＦｔ２のＳＡ［０］の値は「１」であるため、通過条件ｆｔ１は満たされない。したがって、ポートＰ３４のフィルタリング部１５は、フレームＦｔ２の送出を抑止する。その結果、フレームＦｔ２は、ポートＰ３５及びポートＰ３６より送出される。
【００５０】
図８及び図９に示されるように、フィルタリング部１５による制御によって、同一のフレームが、リンクアグリゲーショングループに属する回線を介して、同一のノード（外部ノードＡ、外部ノードＢ、又は端末Ｔ２）に重複して転送されるのを防止することができる。また、送信元ＭＡＣアドレスのように、フレームに応じて変化しうる値を通過条件として用いることにより、リンクアグリゲーショングループに属する各回線の利用頻度が極端に偏るのを回避することができる。例えば、図８においてフレームＦｔ１の転送に利用されている回線と、図９においてフレームＦｔ２の転送に利用されている回線とは異なっている。
【００５１】
なお、通過条件の内容は、判定結果が択一的なものであれば所定のものに限定されない。例えば、送信元ＭＡＣアドレスの他のビット又は複数ビットを用いて通過条件が設定されてもよい。また、宛先ＭＡＣアドレス等、中継対象のフレームに含まれる情報のうち、送信元ＭＡＣアドレス以外の情報が用いられてもよい。また、中継対象のフレーム以外の情報（例えば、時刻等）を用いて通過条件が設定されてもよい。フレーム以外の情報が用いられる場合、当該情報は、動的に変化する情報であることが望ましい。当該情報が固定的であると、通過条件の判定結果が固定的となってしまい、同一のリンクアグリゲーションに属する回線の中で利用される回線が固定的になってしまうからである。通過条件の判定結果のランダム性（無作為性）に鑑みれば、本実施の形態のように、中継対象のフレームの中で、フレームに応じて異なりうる情報について通過条件が設定されるのが好適である。
【００５２】
また、フィルタリング部１５の有効性は、リンクアグリゲーションに属する回線が２本の場合に限定されない。同一のリンクアグリゲーションに属する回線がＮ本の場合（Ｎは２以上。）、Ｎ通りの判定結果が排他的に得られる通過条件が同一のリンクアグリゲーションを構成するポートＰに設定されればよい。例えば、同一のリンクアグリゲーションに属する回線が３本であって、本実施の形態のように送信元ＭＡＣアドレスを利用する場合、少なくとも所定の２ビットの値について通過条件を設定することができる。この場合、当該２ビットの値について、「０」を１本目に割り当て、「１」を２本目に割り当て、「２」及び「３」を３本目に割り当ててもよい。また、３本の回線の負荷の均等性を高めるため、「３」については、他の情報（例えば、時刻）に応じて割り当てられる回線が異なるようにしてもよい。また、各回線に１〜Ｎの値（以下、「回線番号」という。）を割り当て、共通の値（例えば、送信元ＭＡＣアドレスの全て又は一部のビット）に関する回線番号の剰余について通過条件が設定されてもよい。
【００５３】
また、ＣＲＣ（Cyclic Redundancy Check）を所定の情報（例えば、送信元ＭＡＣアドレス）に適用し、その結果に対するポート番号の剰余について通過条件が設定されてもよい。
【００５４】
続いて、学習制御部１１について詳細に説明する。図１０は、学習制御部による制御内容を説明するための第一の図である。
【００５５】
同図では、スイッチＳＷ１が、リンクアグリゲーショングループＧａに属する回線を介して、フレームＦａ１を外部ノードＡより受信した場合の学習制御部１１の動作が示されている。なお、各スイッチＳＷは、フレームＦａ１の送信元ＭＡＣアドレスを未学習であるとする。
【００５６】
スイッチＳＷ１においてフレームＦａ１が受信されると、スイッチＳＷ１の学習制御部１１は、フレームＦａ１の送信元ＭＡＣアドレスを中継ＤＢ１３より検索する。当該送信元ＭＡＣアドレスが中継ＤＢ１３に登録されていない場合（すなわち、当該送信元ＭＡＣアドレスを未学習の場合）、学習制御部１１は、リンクアグリゲーショングループＧａより未学習アドレスに係るフレームＦａ１を受信したことを、リンクアグリゲーショングループＧａを構成するスイッチＳＷ２に通知する。具体的には、学習制御部１１は、未学習アドレスとリンクアグリゲーショングループＧａの識別子（以下、「ＬＡＧ識別子」という。）とを含む制御フレーム（以下、「学習指示フレームＦｃ」という。）をスイッチＳＷ２に送信する。
【００５７】
なお、スイッチＳＷ１において、未学習アドレスに関する学習は、通常通り行われる。すなわち、ポートＰ１３と未学習アドレスとの対応情報は、スイッチＳＷ１の中継ＤＢ１３に登録される。
【００５８】
また、各ポートＰがいずれのリンクアグリゲーショングループを構成するかについては、例えば、各スイッチＳＷにおいて記憶されているトポロジ情報に含まれている。または、リンクアグリゲーショングループを構成するポートＰごとに、接続されているリンクアグリゲーショングループのＬＡＧ識別子が設定されていてもよい。いずれにしても、各スイッチＳＷは、フレームの受信ポートＰに基づいて、いずれのリンクアグリゲーションからのフレームであるかを判別することができる。
【００５９】
学習指示フレームＦｃの転送後、スイッチＳＷ１は、フレームＦａの中継処理を実行する。
【００６０】
スイッチＳＷ２において学習指示フレームＦｃが受信されると、スイッチＳＷ２の学習制御部１１は、学習指示フレームＦｃに含まれている未学習アドレスを、ポートＰ２３に対して学習する。具体的には、スイッチＳＷ２において、リンクアグリゲーショングループＧａを構成するポートＰ２３と、未学習アドレスとの対応情報が中継ＤＢ１３に登録される。図中において、星印（★）は、未学習アドレスが学習されたことを示す。
【００６１】
なお、リンクアグリゲーショングループＧａを構成するスイッチＳＷが３つ以上存在する場合、当該各スイッチＳＷに学習指示フレームＦｃは転送される。
【００６２】
すなわち、送信元ＭＡＣアドレスが未学習であるフレームがリンクアグリゲーショングループより受信された場合、当該リンクアグリゲーショングループを構成する各スイッチＳＷは、未学習アドレスを当該リンクアグリゲーショングループを構成するポートＰ対して学習する。
【００６３】
続いて、図１１は、学習制御部による制御内容を説明するための第二の図である。
【００６４】
同図では、スイッチＳＷ１が、リンクアグリゲーショングループＧａに属する回線を介して、フレームＦａ２を外部ノードＡより受信した場合の学習制御部１１の動作が示されている。図１１は、図１０が実行されていることを前提とし、フレームＦａ２の送信元ＭＡＣアドレスは、図１０のフレームＦａ１の送信元ＭＡＣアドレスと同じであるとする。
【００６５】
スイッチＳＷ１においてフレームＦａ２が受信されると、スイッチＳＷ１の学習制御部１１は、フレームＦａ２の送信元ＭＡＣアドレスを中継ＤＢ１３より検索する。当該送信元ＭＡＣアドレスが中継ＤＢ１３に登録されている場合、学習制御部は、宛先ＭＡＣアドレスを中継ＤＢ１３より検索する。宛先ＭＡＣアドレスが中継ＤＢ１３に登録されていない場合、スイッチＳＷ１は、フレームＦａ２をフラッディングさせる。その結果、フレームＦａ２は、スイッチＳＷ２へ転送される。
【００６６】
スイッチＳＷ２においてフレームＦａ２が受信されると、スイッチＳＷ２の学習制御部１１は、フレームＦａ２の送信元ＭＡＣアドレスを中継ＤＢ１３より検索する。当該送信元ＭＡＣアドレスは、図１０の実行時において、ポートＰ２３に対して学習されている。したがって、通常であれば、当該送信元ＭＡＣアドレスについて、再学習が行われる。すなわち、フレームＦａ２を受信したポートＰ２１に対して当該送信元ＭＡＣアドレスが学習される。しかし、本実施の形態において、学習制御部１１は、既に学習されているアドレスについては、再学習は行わない。但し、再学習が行われないのは、フレームが、スタックリンクを介して受信された場合である。なお、各ポートＰがスタックリンクに接続されているか否かは、各スイッチＳＷに記憶されているトポロジ情報に基づいて判定可能である。または、ポートＰごとに、スタックリンクに接続されているか否かが設定されていてもよい。
【００６７】
図１１において、スイッチＳＷ２は、フレームＦａをスタックリンクを介して受信している。したがって、スイッチＳＷ２の学習制御部１１は、フレームＦａ２の送信元ＭＡＣアドレスについて再学習は行わない。
【００６８】
スタックリンクからのフレームの受信に応じて当該フレームの送信元ＭＡＣアドレスの学習内容（中継ＤＢ１３）を更新しないのは、当該送信元ＭＡＣアドレスについて、学習指示フレームＦｃに基づいて、既に最短経路が登録済みであるからである。すなわち、スタックリンクに係るポートＰに対して当該送信元ＭＡＣアドレスに関する学習内容が更新されると、当該送信元ＭＡＣアドレスに対する中継経路が長くなってしまうからである。
【００６９】
続いて、スイッチＳＷ２は、フレームＦａ２の中継処理を実行する。中継処理において、フレームＦａの送信元ＭＡＣアドレスに対応付けられているポートＰからのフレームＦａ２の送出は、学習制御部１１によって抑止される。その結果、フレームＦａ２の外部ノードＡへの還流が回避される。なお、図中では、破線の矢印によって、ポートＰ２３からのフレームＦａ２の送出が抑止されることが示されている。
【００７０】
以下、図８〜図１１において説明した動作が実現されるために、各スイッチＳＷにおいて実行される処理手順を、フローチャートを用いて説明する。
【００７１】
図１２は、フレームの受信に応じて実行されるスイッチの処理手順を説明するためのフローチャートである。同図は、フレームを受信した一つのスイッチＳＷ内で実行される処理手順を説明したものである。したがって、同図の説明における各部（学習制御部１１等）は、同一のスイッチＳＷ内に含まれるものである。
【００７２】
フレームの受信に応じ、学習制御部１１は、受信フレームの送信元ＭＡＣアドレスを、中継ＤＢ１３より検索する（Ｓ１０１）。当該送信元ＭＡＣアドレスが中継ＤＢ１３に登録されていない場合（Ｓ１０２でＮｏ）、学習制御部１１は、当該送信元ＭＡＣアドレスアドレスと受信ポートＰとの対応情報を中継ＤＢ１３に登録する（Ｓ１０３）。続いて、学習制御部１１は、受信ポートＰは、スタックリンクに接続されているポートＰか否かを判定する（Ｓ１０４）。受信ポートＰがスタックリンクに接続されたポートＰでない場合（Ｓ１０４でＮｏ）、学習制御部１１は、受信ポートＰは、リンクアグリゲーショングループ（ＬＡＧ）を構成するポートＰであるか否かを判定する（Ｓ１０５）。
【００７３】
受信ポートＰが、リンクアグリゲーショングループを構成するポートＰである場合（Ｓ１０５でＹｅｓ）、学習制御部１１は、当該リンクアグリゲーショングループを構成する他のポートＰを有する他のスイッチＳＷに、学習指示フレームを送信する（Ｓ１０６）。当該学習指示フレームは、図１１の学習指示フレームＦｃに相当するフレームである。したがって、当該学習指示フレームは、当該リンクアグリゲーショングループのＬＡＧ識別子及び受信フレームの送信元ＭＡＣアドレスを含む。なお、ステップＳ１０３〜Ｓ１０６は、図１１に対応する処理手順である。
【００７４】
続いて、学習制御部１１は、当該学習指示フレームの送信先からの応答として制御フレームが受信されるのを待機する（Ｓ１０７）。応答が受信されると、学習制御部は、中継除外ポートは「無し」として（Ｓ１１１）、中継部１３に中継処理を実行させる（Ｓ１１２）。中継除外ポートとは、受信フレームの送出対象から除外されるポートＰをいう。なお、スイッチＳＷの基本的な制御として、受信ポートＰからは受信フレームは送出されない。中継除外ポートは、受信フレームの還流を防止するために、受信ポートＰ以外の中で、受信フレームの送出対象から除外されるポートＰである。
【００７５】
なお、受信ポートＰが、スタックリンクに接続されたポートＰである場合（Ｓ１０４でＹｅｓ）、又は受信ポートＰが、リンクアグリゲーショングループを構成しない場合（Ｓ１０５でＮｏ）、学習指示フレームの送信等（Ｓ１０６、Ｓ１０７）は実行されずに、ステップＳ１１１及びＳ１１２が実行される。
【００７６】
一方、受信フレームの送信元ＭＡＣアドレスが中継ＤＢ１３に登録されている場合（Ｓ１０２でＹｅｓ）、学習制御部１１は、受信ポートＰは、スタックリンクに接続されているポートＰか否かを判定する（Ｓ１０８）。受信ポートＰが、スタックリンクに接続されている場合（Ｓ１０８でＹｅｓ）、学習制御部１１は、送信元ＭＡＣアドレスに対応付けられているポートＰを中継除外ポートとする（Ｓ１０９）。
【００７７】
受信ポートＰが、スタックリンクに接続されていない場合（Ｓ１０８でＮｏ）、学習制御部１１は、送信元ＭＡＣアドレスに関して再学習を行う（Ｓ１１０）。具体的には、送信元ＭＡＣアドレスが受信ポートＰに対応づけられるように、中継ＤＢ１３が更新される。続いて、学習制御部１１は、中継除外ポートは「無し」とする（Ｓ１１１）。
【００７８】
ステップＳ１０９又はＳ１１１に続いて、中継部１２は、中継処理を実行する（Ｓ１１２）。
【００７９】
なお、ステップＳ１０８〜Ｓ１１０は、図１２に対応する手順である。
【００８０】
続いて、ステップＳ１０６において送信された学習指示フレームを受信したスイッチＳＷが実行する処理手順について説明する。
【００８１】
図１３は、学習指示フレームを受信したスイッチが実行する処理手順を説明するためのフローチャートである。
【００８２】
学習指示フレームが受信されたスイッチＳＷの学習制御部１１は、当該学習指示フレームに基づいて、中継ＤＢ１３を更新する（Ｓ２０１）。具体的には、学習指示フレームに含まれている、ＬＡＧ識別子に係るリンクアグリゲーショングループを構成するポートＰと、学習指示フレームに含まれている送信元ＭＡＣアドレスとの対応情報が中継ＤＢ１３に登録される。続いて、学習制御部１１は、学習指示フレームに対する応答としてのフレームを返信する（Ｓ２０２）。
【００８３】
続いて、図１２のステップＳ１１２の詳細について説明する。図１４は、中継処理の処理手順を説明するためのフローチャートである。
【００８４】
ステップＳ３０１において、中継部１２は、受信フレームの宛先ＭＡＣアドレスを中継ＤＢ１３より検索する。宛先ＭＡＣアドレスが中継ＤＢ１３に登録されている場合（Ｓ３０２でＹｅｓ）、中継部１２は、宛先ＭＡＣアドレスに対応付けられているポートＰを、受信フレームを送出するポートＰ（以下、「宛先ポート」という。）とする（Ｓ３０３）。宛先ＭＡＣアドレスが中継ＤＢ１３に登録されていない場合（Ｓ３０２でＮｏ）、中継部１２は、受信ポートＰを除く全てのポートＰを宛先ポートとする（Ｓ３０４）。
【００８５】
ステップＳ３０３又はＳ３０４に続いて、中継部１２は、宛先ポートから中継除外ポートを除外する（Ｓ３０５）。続いて、中継部１２は、中継除外ポートを除外後の宛先ポートに対して受信フレームを送出対象として入力する（Ｓ３０６）。
【００８６】
続いて、送出対象のフレームが入力されたポートＰにおいて実行される処理手順について説明する。
【００８７】
図１５は、送出対象のフレームが入力されたポートが実行する処理手順を説明するためのフローチャートである。
【００８８】
該当ポートＰのフラッディング抑制部１４は、当該ポートＰがフラッディング抑制状態であるか否かを判定する（Ｓ４０１）。フラッディング抑制状態である場合（Ｓ４０１でＹｅｓ）、フラッディング抑制部１４は、フレームを破棄する（Ｓ４０５）。したがって、この場合、当該ポートＰよりフレームは送出されない。
【００８９】
当該ポートＰがフラッディング抑制状態でない場合、フィルタリング部１５は、通過条件が設定されているか否かを判定する（Ｓ４０２）。すなわち、フィルタリング部１５が有効であるか無効であるかが判定される。当該判定は、当該ポートＰがリンクアグリゲーションを構成するか否かの判定によって代替されてもよい。通過条件が設定されている場合（Ｓ４０２でＹｅｓ）、フィルタリング部１５は、通過条件は満たされるか否かを判定する（Ｓ４０３）。通過条件が満たされる場合（Ｓ４０３でＹｅｓ）、又は通過条件が設定されていない場合（Ｓ４０２でＮｏ）、当該ポートＰは、フレームを送出させる（Ｓ４０４）。
【００９０】
一方、通過条件が満たされない場合（Ｓ４０３でＮｏ）、フィルタリング部１５は、フレームを破棄する（Ｓ４０５）。
【００９１】
上述したように、本実施の形態によれば、リンクアグリゲーションに属する複数の回線が、異なるスイッチＳＷに接続される場合であっても、フレームの中継を適切に実行することができる。すなわち、同一ノードに対して同一フレームが重複して転送されたり、送信元ノードに対してフレームが還流したりすることが回避される。また、フレームの還流の回避により、物理的な回線のループによるフレームのストームも回避される。したがって、一つのノードから複数のスイッチに接続されるリンクアグリゲーションの実用性を向上させることができる。
【００９２】
なお、フィルタリング部１５は、必ずしも、各ポートＰに設けられていなくてもよく、一つのスイッチＳＷに一つ設けられていてもよい。この場合、フィルタリング部１５は、スイッチＳＷのメモリに記憶された、ポートＰごとの通過条件に基づいて、フレームを送出させるポートＰ又はフレームを送出させないポートＰを判定すればよい。一例として、図１４の最初において、フィルタリング部１５による通過条件の判定が実行され、フレームの送出対象とされなかったポートが中継除外ポートに追加されるようにしてもよい。
【００９３】
また、本実施の形態では、フィルタリング部１５に対して設定される条件を「通過条件」としたが、「非通過条件」が設定されるようにしてもよい。すなわち、フレームを送出させない条件が設定されるようにしてもよい。
【００９４】
また、本実施の形態では、スイッチスタック１の冗長経路に対する対策として、フラッディング抑制部１４を適用した例について説明した。しかし、冗長経路による不都合を回避するための手段として、公知の方法（例えば、ＳＴＬ（Standard Template Library）やＴＴＬ（Time to live）を利用した方法）が採用されてもよい。この場合、スイッチＳＷは、フラッディング抑制部１４を有しなくてもよい。また、スイッチスタック１が、そもそも冗長経路を有さない場合、冗長経路の不都合を回避するための手段は必要とされない。
【００９５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００９６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
第１回線を経由してノードに接続可能な第１中継装置と、
第２回線を経由して前記ノードに接続可能な第２中継装置と、
を備える中継システムであって、
前記第１回線と前記第２回線は、同一のリンクアグリゲーショングループに属し、
前記第１中継装置は、
出力ポートと宛先アドレスとの対応関係を記憶する第１記憶部と、
送信元アドレスが前記第１記憶部に記録されていないフレームを前記第１回線に接続されたポートより受信した場合に、当該フレームを中継する前に、前記第２中継装置に前記送信元アドレスを通知する第１制御部と、
を有し、
前記第２中継装置は、
出力ポートと宛先アドレスとの対応情報を記憶する第２記憶部と、
前記第２回線に接続されている出力ポートと前記第１中継装置から通知された前記送信元アドレスとの対応関係を、前記第２記憶部に記憶する第２制御部と、を有する、
中継システム。
（付記２）
前記第１中継装置は、前記第１記憶部に宛先アドレスが記録されていないフレームを受信した場合に、出力ポート毎にフレームの送出を抑止するフィルタ条件に従って、前記第１回線に接続された出力ポートから前記フレームの送出を抑止するフィルタリング部、を有する付記１記載の中継システム。
（付記３）
前記第２制御部は、前記第１中継装置より通知されたフレームの送信元アドレスに係る前記対応関係が記第２記憶部に記録されている場合に、当該対応関係を更新しない付記１又は２記載の中継システム。
（付記４）
前記第２中継装置は、前記第１中継装置より通知されたフレームの送信元アドレスに係る前記対応関係が記第２記憶部に記録されている場合に、当該フレームを前記対応関係に係るポートより送出させない付記３記載の中継システム。
（付記５）
前記フィルタリング部は、受信されたフレームに関して前記フィルタ条件を判定して、前記第１回線に接続された出力ポートから前記フレームの送出を抑止する付記２記載の中継システム。
（付記６）
付記１乃至５いずれか一項記載の中継システムに含まれる中継装置。
（付記７）
第１回線を経由してノードに接続可能な第１中継装置と、第２回線を経由して前記ノードに接続可能な第２中継装置とを備え、前記第１回線と前記第２回線は同一のリンクアグリゲーショングループに属しる中継システムにおける中継方法であって、
前記第１中継装置が、
出力ポートと宛先アドレスとの対応関係を記憶する第１記憶部に送信元アドレスが記録されていないフレームを前記第１回線に接続されたポートより受信した場合に、当該フレームを中継する前に、前記第２中継装置に前記送信元アドレスを通知する第１制御手順と、
前記第２中継装置が、
前記第２回線に接続されている出力ポートと前記第１中継装置から通知された前記送信元アドレスとの対応関係を、力ポートと宛先アドレスとの対応情報を記憶する第２記憶部に記憶する第２制御手順と、を有する、
中継方法。
（付記８）
前記第１中継装置が、前記第１記憶部に宛先アドレスが記録されていないフレームを受信した場合に、出力ポート毎にフレームの送出を抑止するフィルタ条件に従って、前記第１回線に接続された出力ポートから前記フレームの送出を抑止するフィルタリング手順、を有する付記７記載の中継方法。
（付記９）
前記第２制御手順は、前記第１中継装置より通知されたフレームの送信元アドレスに係る前記対応関係が記第２記憶部に記録されている場合に、当該対応関係を更新しない付記７又は８記載の中継方法。
（付記１０）
前記第２中継装置は、前記第１中継装置より通知されたフレームの送信元アドレスに係る前記対応関係が記第２記憶部に記録されている場合に、当該フレームを前記対応関係に係るポートより送出させない付記９記載の中継方法。
（付記１１）
前記フィルタリング手順は、受信されたフレームに関して前記フィルタ条件を判定して、前記第１回線に接続された出力ポートから前記フレームの送出を抑止する付記８記載の中継方法。
【符号の説明】
【００９７】
１          スイッチスタック
１１        学習制御部
１２        中継部
１３        中継ＤＢ
１４        フラッディング抑制部
１５        フィルタリング部
Ｐ          ポート
ＳＷ１、ＳＷ２、ＳＷ３    スイッチ
【図１】
0005569272.tif 000002
【図２】
0005569272.tif 000003
【図３】
0005569272.tif 000004
【図４】
0005569272.tif 000005
【図５】
0005569272.tif 000006
【図６】
0005569272.tif 000007
【図７】
0005569272.tif 000008
【図８】
0005569272.tif 000009
【図９】
0005569272.tif 000010
【図１０】
0005569272.tif 000011
【図１１】
0005569272.tif 000012
【図１２】
0005569272.tif 000013
【図１３】
0005569272.tif 000014
【図１４】
0005569272.tif 000015
【図１５】
0005569272.tif 000016