(57)【特許請求の範囲】
【請求項１】
フレームを受信したポートに対して設定されている、ポートの複数通りの組み合わせのいずれかを示すグループ識別情報を、前記フレームに対して関連付けるグループ決定手段と、
前記フレームを受信したポートと前記フレームの送信元のノードとの対応付けを学習し、学習状態に基づいて前記フレームを送出させるポートを判断する中継手段と、
各ポートが属する前記組み合わせを示すメンバー情報を記憶したメンバー情報記憶手段と、
前記メンバー情報記憶手段に記憶されたメンバー情報と前記グループ識別情報とに基づいて、前記中継手段が前記フレームを送出させると判断したポートの中から、受信された前記フレームを送出させるポートを限定するフィルタリング手段と、
送出対象の前記フレームに、前記グループ識別情報を付与する付与手段とを有し、
前記グループ決定手段は、受信された前記フレームに前記グループ識別情報が付与されている場合、付与された前記グループ識別情報を前記フレームに関連付け、
前記フィルタリング手段は、受信された前記フレームの宛先が学習済みの一つのノードである場合は、前記フレームを送出させるポートを限定しない中継装置。
【請求項２】
前記中継装置はさらに、
前記グループ識別情報の付与の要否を示す情報をポートごとに記憶した付与要否記憶手段を有し、
前記付与手段は、前記付与要否記憶手段が記憶する、前記グループ識別情報の付与の要否を示す情報に応じて前記グループ識別情報を付与する請求項１記載の中継装置。
【請求項３】
前記付与手段は、受信された前記フレームに前記グループ識別情報が付与されている場合は、前記付与要否記憶手段が記憶する、前記グループ識別情報の付与の要否を示す情報に応じて前記グループ識別情報を送出対象の前記フレームから除去する請求項２記載の中継装置。
【請求項４】
前記メンバー情報記憶手段は、ポートごとに当該ポートが属する一以上の前記組み合わせを示すメンバー情報を記憶する請求項１乃至３いずれか一項記載の中継装置。
【請求項５】
フレームを受信したポートに対して設定されている、ポートの複数通りの組み合わせのいずれかを示すグループ識別情報を、前記フレームに対して関連付けるグループ決定手段と、
前記フレームを受信したポートと前記フレームの送信元のノードとの対応付けを学習し、学習状態に基づいて前記フレームを送出させるポートを判断する中継手段と、
各ポートが属する前記組み合わせを示すメンバー情報を記憶したメンバー情報記憶手段と、
前記メンバー情報記憶手段に記憶されたメンバー情報と前記グループ識別情報とに基づいて、前記中継手段が前記フレームを送出させると判断したポートの中から、受信された前記フレームを送出させるポートを限定するフィルタリング手段と、
送出対象の前記フレームに、前記グループ識別情報を付与する付与手段とを有し、
前記グループ決定手段は、受信された前記フレームに前記グループ識別情報が付与されている場合、付与された前記グループ識別情報を前記フレームに関連付け、
前記中継手段は、学習済みのノードに対応付けられているポートと異なるポートにより前記学習済のノードを送信元とするフレームが受信された場合、前記異なるポートを前記学習済のノードに追加して対応付ける中継装置。
【請求項６】
前記中継装置は、他の中継装置と冗長経路を介して接続され、
前記中継手段は、前記学習状態の変化に応じ、前記冗長経路を介して接続された前記他の中継装置のそれぞれの学習状態及び前記他の中継装置との接続状態を記憶した管理装置に、前記学習状態の変化の内容を通知し、前記管理装置からの指示に応じ、前記学習状態を変更する請求項５記載の中継装置。
【請求項７】
前記中継装置はさらに、
前記グループ識別情報の付与の要否を示す情報をポートごとに記憶した付与要否記憶手段を有し、
前記付与手段は、前記付与要否記憶手段が記憶する、前記グループ識別情報の付与の要否を示す情報に応じて前記グループ識別情報を付与する請求項５又は６記載の中継装置。
【請求項８】
前記付与手段は、受信された前記フレームに前記グループ識別情報が付与されている場合は、前記付与要否記憶手段が記憶する、前記グループ識別情報の付与の要否を示す情報に応じて前記グループ識別情報を送出対象の前記フレームから除去する請求項７記載の中継装置。
【請求項９】
前記メンバー情報記憶手段は、ポートごとに当該ポートが属する一以上の前記組み合わせを示すメンバー情報を記憶する請求項５乃至８いずれか一項記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置に関し、特にレイヤ２のフレームを中継する中継装置に関する。
【背景技術】
【０００２】
図１は、スイッチスタッキングを含むネットワーク構成例を示す図である。スイッチ（レイヤ２スイッチ）のスタッキングとは、複数のスイッチをスタック接続し、一つのスイッチとして見せることをいい、スイッチの仮想化ともいえる。図中（Ａ）は物理的なネットワーク構成を示す。（Ａ）において、四つのスイッチ（ＳＷ−Ａ〜ＳＷ−Ｄ）は、スタックリンクＬ１〜Ｌ４のいずれかを介してスタック接続されている。図中（Ｂ）は、（Ａ）の論理的なネットワーク構成を示す。（Ｂ）では、スタック接続された複数のスイッチが論理的に一つのスイッチＶとして見える。この場合、ユーザーは４つのスイッチ（ＳＷ−Ａ〜ＳＷ−Ｄ）を統合的に（一つのスイッチＶとして）管理することができる。
【０００３】
スイッチスタッキングでは、スタックリンクとして冗長な経路を持つのが一般的である。スタックリンクの一つに障害が発生しても冗長な経路を迂回路として使用してフレームの中継を可能とするためである。図１では、スタックリンクＬ４が冗長な経路に相当する。例えば、スイッチＳＷ−ＣとスイッチＳＷ−Ｄとの間のスタックリンクＬ３が障害によって使用できなくなったとしても、スタックリンクＬ４を経由した反対側の経路にフレームを迂回させることでＳＷ−ＣとＳＷ−Ｄとは相互に通信することができる。
【０００４】
但し、冗長経路によってネットワークにループが形成される場合、適切な対処をしないとフレームのストームが発生するという問題がある。
【０００５】
冗長経路によるループに対する対処として、従来、以下の方法がある。
１．ＳＴＰ（Spanning Tree Protocol）によって制御する方法
２．フレームにＴＴＬ（Time to live）を含めて制御する方法
３．フレームの転送元で中継経路を決定する方法
【０００６】
図２は、ＳＴＰによって制御する方法を説明するための図である。ＳＴＰでは冗長経路が適切に切断（ブロック）され、ネットワークループが形成されないように制御される。同図では、スイッチＳＷ−ＡとスイッチＳＷ−ＤとのそれぞれにおいてスタックリンクＬ４へのポートがブロックされている。ＳＴＰでは、また、ブロックしていないリンク（回線）に問題が生じて或るスイッチ間の通信ができなくなったときには、ブロックしていた冗長経路を有効にして経路を切り替えることにより、当該スイッチ間の通信を可能とすることができる。
【０００７】
図３は、フレームにＴＴＬを含めて制御する方法を説明するための図である。この方法は、フレームにＴＴＬが含められ、スイッチを一つ通過するごとにＴＴＬが減算され、ＴＴＬが０となるとフレームは廃棄される。その結果、フレームが無限にネットワーク上を流通するのを防止することができ、実質的にループを解消することができる。同図では、スイッチＳＷ−ＤからＳＷ−Ａの方向にＴＴＬが１であるフレームＦ１が送信された例が示されている。また、スイッチＳＷ−ＤからスイッチＳＷ−Ｃの方向にＴＴＬが２であるフレームＦ２が送信された例が示されている。フレームＦ１はスイッチＳＷ−Ａより先のスタックリンクへは送出されず、フレームＦ２はスイッチＳＷ−Ｂより先のスタックリンクへは送出されない。
【０００８】
図４は、フレームの転送元で経路を決定する方法を説明するための図である。この方法では、スタックに含まれるスイッチのうち、最初にフレームを受信したスイッチによってスタック内の中継経路が決定され、当該中継経路に応じてフレームが転送される。同図では、スイッチＳＷ−Ｄによって経路が決定され、当該経路の情報（経路情報）を含むフレームＦ３がスイッチＳＷ−Ａに対して送信された例が示されている。スイッチＳＷ−Ａは、フレームＦ３に含まれている経路情報に応じた中継処理を行う。
【０００９】
また、ループの対策に関する技術として他の方法も提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１７７６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、ＳＴＰでは、ブロック状態のリンクを活用できないという問題がある。すなわち、通常運用時はブロック状態のリンクでは制御フレームを除くフレームは転送されないため、宛先までの平均ホップ数が多くなってしまう。その結果、スイッチ間で共用されるリンクの負荷が高くなり、フレームの混雑が発生する。
【００１２】
また、フレームにＴＴＬを含める方法については、当該ＴＴＬに対応したスイッチにおいてのみ有効であるという問題がある。レイヤ２のフレームは標準ではＴＴＬには対応していないからである。
【００１３】
また、フレームの転送元で経路を決定する場合においても、各スイッチには、中継情報を含む特殊形式のフレームを処理可能であることが求められる。また、各スイッチには、経路を登録し、検索する手段が必要とされる。
【００１４】
他方において、複数の物理的なリンク（回線）をグループ化して論理的に一つのリンクとして扱うリンクアグリゲーションという技術がある。リンクアグリゲーションを利用することにより、通信帯域の向上と、冗長化による堅牢性を確保することができる。論理的に一つのリンクとして扱われる物理的なリンクの集合をリンクアグリゲーショングループという。
【００１５】
複数のスイッチに対してスイッチスタッキングを適用した場合、当該複数のスイッチは論理的に一つのスイッチとして扱われる。したがって、同一のリンクアグリゲーショングループに属するリンクを複数のスイッチに跨って設定することが可能である。
【００１６】
図５は、スイッチスタッキングを適用したスイッチについてリンクアグリゲーションを利用した例を示す図である。
【００１７】
同図では、スイッチスタッキングが適用された、四つのスイッチ（ＳＷ−Ａ〜ＳＷ−Ｄ）のうち、スイッチＳＷ−ＢとスイッチＳＷ−Ｃとが、それぞれ物理的には別個のリンクによってノードＡと接続されている。ここで、二つのリンクについてリンクアグリゲーションを利用すると、ノードＡとスイッチＳＷ−Ａ〜ＳＷ−Ｄを含む論理的な一つのスイッチ（スイッチスタック）とは、論理的に一つのリンク（リンクアグリゲーショングループＧ）によって接続されているものとして扱われる。
【００１８】
但し、スイッチスタックに対してＳＴＰやＴＴＬ等の技術が適用されてしまうとリンクアグリゲーションを有効に利用することができないという問題がる。すなわち、ＳＴＰは、冗長経路をブロックするため、図５において同一のリンクアグリゲーショングループＧに属するリンクのいずれか一方はブロックされてしまう。
【００１９】
また、ＴＴＬを利用する場合、図６に示されるように、ＴＴＬが有効な範囲で複数の同一フレームが同一のノードに到達する可能性がある。
【００２０】
図６は、ＴＴＬを利用するスイッチスタックにリンクアグリゲーションが適用された場合の問題点を説明するための図である。同図では、スイッチＳＷ−Ｂに対してフレームＦが入力された例が示されている。スイッチＳＷ−Ｂは、フレームＦのフラッディングに際し、スイッチＳＷ−Ａに対してはＴＴＬの値が１であるフレームＦを出力し、スイッチＳＷ−Ｃに対しては、ＴＴＬの値が２であるフレームを出力している。この場合、ノードＡには、スイッチＳＷ−ＢによってフラッディングされるフレームＦと、スイッチＳＷ−ＣによってフラッディングされるフレームＦとが重複して到達してしまう。
【００２１】
本発明は、上記の点に鑑みてなされたものであって、冗長経路によるフレームのストームを抑制しつつリンクアグリゲーションに対応することのできる中継装置の提供を目的とする。
【課題を解決するための手段】
【００２２】
そこで上記課題を解決するため、中継装置は、フレームの受信に応じ、該フレームを受信したポートに対して設定されている、ポートの複数通りの組み合わせのいずれかを示すグループ識別情報を該フレームに対して関連付けるグループ決定手段と、フレームを受信したポートと該フレームの送信元のノードとの対応付けを学習し、学習状態に基づいてフレームを送出させるポートを判断する中継手段と、各ポートが属する前記組み合わせを示すメンバー情報を記憶したメンバー情報記憶手段と、前記メンバー情報記憶手段と前記グループ識別情報とに基づいて、前記フレームを送出させるポートを限定するフィルタリング手段と、送出対象とされた前記フレームに、前記グループ識別情報を付与する付与手段とを有し、前記グループ決定手段は、受信されたフレームに前記グループ識別情報が付与されている場合は、当該グループ識別情報を該フレームに関連付け、前記フィルタリング手段は、受信されたフレームの宛先が学習済みの一つのノードである場合は、該フレームを送出させるポートを限定しない。
【発明の効果】
【００２３】
開示された技術によれば、冗長経路によるフレームのストームを抑制しつつリンクアグリゲーションに対応することができる。
【図面の簡単な説明】
【００２４】
【図１】スイッチスタッキングを含むネットワーク構成例を示す図である。
【図２】ＳＴＰによって制御する方法を説明するための図である。
【図３】フレームにＴＴＬを含めて制御する方法を説明するための図である。
【図４】フレームの転送元で経路を決定する方法を説明するための図である。
【図５】スイッチスタッキングが適用されたスイッチについてリンクアグリゲーションを利用した例を示す図である。
【図６】ＴＴＬを利用するスイッチスタックにリンクアグリゲーションが適用された場合の問題点を説明するための図である。
【図７】本発明の実施の形態におけるネットワーク構成例を示す図である。
【図８】本発明の実施の形態におけるスイッチの構成例を示す図である。
【図９】フレーム受信部及びフレーム送信部の構成例を示す図である。
【図１０】第一の実施の形態におけるスイッチスタックの動作例を説明するための図である。
【図１１】第一の実施の形態のスイッチスタックにおけるリンクアグリゲーショングループを経由する外部ノードに関する学習状態の例を示す図である。
【図１２】第一の実施の形態において宛先が学習済みの一つのノードであるフレームについてポートグループによって中継範囲を制限するときの問題点を説明するための図である。
【図１３】第一の実施の形態において宛先が学習済みの一つのノードであるフレームについてポートグループによって中継範囲を制限しないときのスイッチスタックの動作を説明するための図である。
【図１４】第二の実施の形態におけるスイッチスタックの動作例を説明するための図である。
【図１５】第二の実施の形態における問題点を説明するための図である。
【図１６】第三の実施の形態におけるネットワーク構成例を示す図である。
【図１７】学習管理装置の機能構成例を示す図である。
【図１８】第三の実施の形態におけるスイッチスタックの動作例を説明するための図である。
【図１９】フレーム受信部による処理手順を説明するためのフローチャートである。
【図２０】中継部による処理手順を説明するためのフローチャートである。
【図２１】フレーム送信部による処理手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００２５】
以下、図面に基づいて本発明の実施の形態を説明する。図７は、本発明の実施の形態におけるネットワーク構成例を示す図である。
【００２６】
同図において、スイッチスタック１は、スイッチＳＷ１、ＳＷ２、及びＳＷ３（以下、各スイッチを区別しない場合「スイッチＳＷ」という。）を含み、論理的には一台のスイッチとして扱われる。各スイッチＳＷは、レイヤ２スイッチ（又は「スイッチングハブ」とも呼ばれる）であり、フレームを中継する中継装置の一例である。各スイッチＳＷは、図中において隣り合うスイッチとスタック接続されている。スイッチ間を接続する回線を、以下「スタックリンク」という。同図では、スタックリンクＬ１〜Ｌ３が示されている。スタックリンクＬ３は、ネットワークの障害耐久性を向上させるための冗長経路である。その結果、スイッチＳＷ１〜ＳＷ３においてループが形成されている。
【００２７】
外部ノードＡは、スイッチＳＷ１及びＳＷ２と接続されているネットワーク機器（例えば、ルーター）である。外部ノードＢは、スイッチＳＷ２及びＳＷ３と接続されているネットワーク機器である。すなわち、外部ノードＡ及びＢは、それぞれ２本の回線を介してスイッチスタック１と接続されている。但し、各２本の回線は、リンクアグリゲーションの利用により論理的に１本の回線として扱われる。具体的には、リンクアグリゲーショングループＧａに属する２本の回線は、論理的には１本の回線として扱われる。同様に、リンクアグリゲーショングループＧｂに属する２本の回線は、論路的には１本の回線として扱われる。したがって、外部ノードＡ及びＢとスイッチスタック１とは、論理的にはそれぞれ１本の回線を介して接続されているものとして扱われる。
【００２８】
また、各スイッチＳＷには、ＰＣ（Personal Computer）等の端末Ｔが接続されている。例えば、スイッチＳＷ１には、端末Ｔ１及びＴ２が接続されている。端末Ｔ２は、スイッチＳＷ２にも接続されている。端末Ｔ２とスイッチＳＷ１とを接続する回線と、端末Ｔ２とスイッチＳＷ２とを接続する回線とは、同一のリンクアグリゲーショングループＧｔに属し、論理的に１本の回線とされている。
【００２９】
図８は、本発明の実施の形態におけるスイッチの構成例を示す図である。本実施の形態においてスイッチスタック１に含まれる各スイッチＳＷは、ｎ個のフレーム受信部ｉ１〜ｉｎ、ｎ個のフレーム送信部ｏ１〜ｏｎ、中継部１１、及び中継ＤＢ１２等を有する。
【００３０】
フレーム受信部ｉ１〜ｉｎ（以下、いずれも区別しない場合「フレーム受信部ｉ」という。）は、それぞれ別個の回線に接続され、当該回線よりフレームを受信する。フレーム送信部ｏ１〜ｏｎ（以下、いずれも区別しない場合「フレーム送信部ｏ」という。）は、それぞれ別個の回線に接続され、当該回線に対してフレームを送出する。なお、フレーム受信部ｉとフレーム送信部ｏとは、参照番号の末尾の数字が一致するもの同士で同一の回線に接続される。例えば、フレーム受信部ｉ１とフレーム送信部ｏ１とは、同一の回線に接続される。
【００３１】
中継部１１は、スイッチＳＷの基本的な機能であるフレームの中継処理及びノードの学習処理等を行う。具体的には、中継部１１は、フレーム受信部ｉによって受信されたフレーム（受信フレーム）の送信元ＭＡＣアドレスと、フレームを受信したフレーム受信部ｉに係るポートとの対応情報を中継ＤＢ１２に記録する。中継部１１は、受信フレームの宛先ＭＡＣアドレスとポートとの対応情報が中継ＤＢ１２に登録されている場合には、当該ポートに対応するフレーム送信部ｏよりフレームを送出させる。中継部１１は、受信フレームの宛先ＭＡＣアドレスとポートとの対応情報が中継ＤＢ１２に登録されていない場合には、フラッディングを行う。フラッディングとは、受信フレームの宛先が中継ＤＢ１２に未登録の場合に、宛先ノードがどのポートに接続されているか分からないため、フレームを受信したフレーム受信部ｉに対応するフレーム送信部ｏ以外の全てのフレーム送信部ｏに受信フレームを出力することをいう。
【００３２】
フレーム受信部ｉ及びフレーム送信部ｏの詳細について説明する。図９は、フレーム受信部及びフレーム送信部の構成例を示す図である。
【００３３】
同図において、一つのフレーム受信部ｉは、受信ポートＰｉ、ポートグループ決定部１３、及びデフォルトポートグループ記憶部１４等を含む。
【００３４】
受信ポートＰｉは、回線よりフレームを受信するポートである。ポートグループ決定部１３は、受信されたフレームに対して付与するポートグループのグループ番号を決定する回路である。ポートグループとは、スイッチスタック１に含まれる各スイッチＳＷが有する各送信ポートＰｏの複数通りの組み合わせ（グループ）を識別する概念である。グループ番号は、ポートグループの異同を識別又は区別するための情報である。ポートグループ決定部１３は、デフォルトポートグループ記憶部１４を用いて受信フレームに付与すべきグループ番号を決定する。デフォルトポートグループ記憶部１４は、例えば、１０ビットの記憶容量を有するレジスタ（記憶媒体）であり、当該デフォルトポートグルーブ記憶部が属するフレーム受信部ｉに対して予め設定されたグループ番号を１つ記憶する。すなわち、一つのフレーム受信部ｉに対しては、一つのグループ番号が設定される。同図では、グループ番号として「２」が設定されている例が示されている。但し、後述されるように、受信フレームにはグループ番号を含むタグが付与されている場合がある。受信フレームに当該タグが付与されている場合、ポートグループ決定部１３は、当該タグを含むグループ番号を受信フレームに関するグループ番号として決定する。ポートグループ決定部１３によってグループ番号が決定された受信フレームは、中継部１１に入力される。なお、ポートグループ決定部１３によって決定されたグループ番号は、受信フレームに関連付けられて管理される。
【００３５】
一方、一つのフレーム送信部ｏは、フィルタリング部１５、ポートグループメンバーシップ記憶部１６、タグ付与部１７、タグ付与要否記憶部１８、及び送信ポートＰｏ等を含む。受信フレームの送出先として判定されたポートに係るフレーム送信部ｏのフィルタリング部１５のフィルタリング部１５には当該受信フレームが中継部１１より入力される。また、ポートグループ決定部１３によって決定されたグループ番号も受信フレームと共にフィルタリング部１５に入力される。フィルタリング部１５は、入力されたグループ番号とポートグループメンバーシップ記憶部１６とを用いて、入力された受信フレームのフィルタリングを行う回路である。ここでいう「フィルタリング」とは、入力された受信フレームのうち送出対象とするものを限定する処理をいう。ポートグループメンバーシップ記憶部１６は、例えば、１０２４ｂｉｔの記憶容量を有するレジスタ（記憶媒体）であり、当該フレーム送信部ｏが属するポートグループのグループ番号を記憶する。具体的には、ポートグループメンバーシップ記憶部１６の各ビットは、それぞれ一つのポートグループに対応する。例えば、Ｎビット目は、グループ番号Ｎに対応する。ビット値「１」は、当該フレーム送信部ｏが、当該ビットに対応するポートグループに属することを示す。ビット値「０」は、当該フレーム送信部ｏが、当該ビットに対応するポートグループに属さないことを示す。例えば、同図では、１ビット目と２ビット目とが「１」になっている。したがって、当該フレーム送信部ｏがグループ１及びグループ２に属していることが分かる。なお、本実施の形態において、ポートグループメンバーシップ記憶部１６は、１０２４通りのポートグループについて属しているか否かを記憶可能である。デフォルトポートグループ記憶部１４が１０ビットであるのも、最大で１０２４のグループ番号を表現可能とするためのである。すなわち、デフォルトポートグループ記憶部１４及びポートグループメンバーシップ記憶部１６の記憶容量（ビット数）は、定義可能なグループ数に応じて定めればよい。具体的には、スイッチスタック１のポートのうち外部ノードと接続可能なポート数が定義可能なグループ数の最大値となる。
【００３６】
フィルタリング部１５は、ポートグループメンバーシップ記憶部１６において、入力されたグループ番号に対応するビットが「１」である場合、入力された受信フレームは送出対象であると判定する。フィルタリング部１５は、送出対象と判定した受信フレームと、入力されたグループ番号とをタグ付与部１７に入力する。一方、ポートグループメンバーシップ記憶部１６において、入力されたグループ番号に対応するビットが「０」である場合、フィルタリング部１５は、入力された受信フレームを廃棄する。したがって、この場合、当該フレーム送信部ｏからは受信フレームは送出されない。
【００３７】
タグ付与部１７は、フィルタリング部１５より入力される受信フレームに対して、同じくフィルタリング部１５より入力されるグループ番号を示すデータを付与する。本実施の形態において、タグ付与部１７によって受信フレームに対して付与される、グループ番号を示すデータを「タグ」と呼ぶ。タグは、受信フレームと一体的に流通可能なようにフレームの一部として付与される。但し、タグの付与は、タグ付与要否記憶部１８においてタグの付与が必要であることが示されている場合に行われる。タグ付与要否記憶部１８は、例えば、１ビットの記憶容量を有するレジスタ（記憶媒体）であり、１ビットによってタグの付与の要否を示す。「１」は、タグの付与が必要であることを示し、「０」は、タグの付与は不要であることを示す。本実施の形態では、スイッチスタック１の内部の回線（すなわち、スタックリンクＬ１〜Ｌ３のいずれか）に接続されるフレーム送信部ｏのタグ付与要否記憶部１８には「１」が記録される。一方、スイッチスタック１の外部の回線に接続されるフレーム送信部ｏのタグ付与要否記憶部１８には「０」が記録される。タグは、スイッチスタック１内でのみ有効な情報であるため、スイッチスタック１の外部に転送されるフレームにタグが付与されるのは無駄である又は好ましくないからである。送信ポートＰｏは、タグ付与部１７より入力される受信フレームを回線に送出するポートである。
【００３８】
なお、図９において、デフォルトポートグループ記憶部１４、ポートグループメンバーシップ記憶部１６、及びタグ付与要否記憶部１８に対する値の設定（記録）は、スイッチＳＷが有するボタン等を介して行われてもよいし、スイッチＳＷに制御用フレームを入力することで行われてもよい。
【００３９】
以上のように、本実施の形態では、各スイッチＳＷの各フレーム受信部ｉ及びフレーム送信部ｏのそれぞれについて、ポートグループという概念によってグループ分けすることが可能とされている。なお、各フレーム受信部ｉ及び各フレーム送信部ｏのグループ分けは、実質的に各受信ポートＰｉ及び各送信ポートＰｏのグループ分けと等価である。したがって、本実施の形態では、ポートを受信分けの対象として説明する。なお、本実施の形態において単に「ポート」というとき、受信ポートＰｉ及び送信ポートＰｏの区別は無い。
【００４０】
各スイッチＳＷが、図９に示される構成を有することで、スイッチスタック１としては、受信フレームの中継経路について、図１０に示されるような制御を行うことが可能となる。
【００４１】
図１０は、第一の実施の形態におけるスイッチスタックの動作例を説明するための図である。
【００４２】
同図において、（Ａ）は、スイッチＳＷ１のポートｐ１３に係る受信ポートＰｉによって、端末Ｔ１から宛先の不明なフレームＦｕ１が受信された場合のスイッチスタック１の動作例を示す。宛先の不明なフレームとは、宛先ＭＡＣアドレスが学習されていない（中継ＤＢ１２に登録されていない）フレームをいう。ここで、ポートｐ１３に係る受信ポートＰｉに対応するデフォルトポートグループ記憶部１４には「１」が記録されていることとする。また、（Ａ）において黒丸が付与されている各ポートは、グループ番号が「１」であるグループ１に属する送信ポートＰｏを示す。グループ１に属する送信ポートＰｏとは、１ビット目が「１」であるポートグループメンバーシップ記憶部１６を有するポート送信部ｏに属する送信ポートＰｏである。
【００４３】
具体的には、スイッチＳＷ１のポートｐ１１、ｐ１２、ｐ１３、ｐ１４、及びｐ１５、スイッチＳＷ２のポートｐ２４、並びにスイッチＳＷ３のポートｐ３３、ｐ３４、及びｐ３６のそれぞれに係る送信ポートＰｏは、グループ１に属する。
【００４４】
この場合、ポートｐ１３に係るポートグループ決定部１３によって、フレームＦｕ１に対するグループ番号は「１」であると決定される。続いて、スイッチＳＷ１の中継部１１は、フレームＦｕ１の宛先は不明なためフレームＦｕ１をフラッディングさせようとする。但し、グループ１に属さないフレーム送信部ｏにおいては、フィルタリング部１５によってフレームＦｕ１は廃棄される。したがって、フレームＦｕ１は、グループ１に属するポートｐ１１、ポートｐ１２、ポートｐ１４、及びポートｐ１５に係る送信ポートＰｏより送出される。送出される各フレームＦｕ１には、当該フレームＦｕ１を送出したポートに係るタグ付与部１７によってグループ１を示すタグが付与される。但し、ポートｐ１４及びｐ１５は、外部ノードへの回線に接続されている。したがって、ポートｐ１４及びｐ１５に係るポート付与要否記憶部の値は「０」に設定されている。その結果、ポートｐ１４及びｐ１５に係るタグ付与部１７は、フレームＦｕ１に対するタグの付与は行わない。
【００４５】
スイッチＳＷ２は、スイッチＳＷ１のポートｐ１２より送出されたフレームＦｕ１をポートｐ２１に係る受信ポートＰｉを介して受信する。ポートｐ２１に係るポートグループ決定部１３は、受信されたフレームＦｕ１のグループ番号は「１」であると決定する。フレームＦｕ１にはグループ番号「１」を示すタグが付与されているからである。続いて、スイッチＳＷ２の中継部１１は、フレームＦｕ１の宛先は不明なためフレームＦｕ１をフラッディングさせようとする。但し、グループ１に属さないフレーム送信部ｏにおいては、フィルタリング部１５によってフレームＦｕ１は廃棄される。その結果、フレームＦｕ１は、グループ１に属するポートｐ２４に係る送信ポートＰｏより送出される。ポートｐ２４は、外部ノードへの回線に接続されている。したがって、ポートｐ２４に係る送信ポートＰｏより送出されるフレームＦｕ１にはタグは付与されない。より詳しくは、フレームＦｕ１に付与されたタグが除去された後、フレームＦｕ１が送出される。後述において「タグは付与されない」という場合についても同様である。
【００４６】
スイッチＳＷ３は、スイッチＳＷ１のポートｐ１１より送出されたフレームＦｕ１をポートｐ３２に係る受信ポートＰｉを介して受信する。ポートｐ３２に係るポートグループ決定部１３は、受信されたフレームＦｕ１のグループ番号は「１」であると決定する。フレームＦｕ１にはグループ番号「１」を示すタグが付与されているからである。続いて、スイッチＳＷ３の中継部１１は、フレームＦｕ１の宛先は不明なためフレームＦｕ１をフラッディングさせようとする。但し、グループ１に属さないフレーム送信部ｏにおいては、フィルタリング部１５によってフレームＦｕ１は廃棄される。その結果、フレームＦｕ１は、グループ１に属するポートｐ３３、ｐ３４、及びｐ３６に係る送信ポートＰｏより送出される。ポートｐ３３、ｐ３４、及びｐ３６は、外部ノードへの回線に接続されている。したがって、ポートｐ３３、ｐ３４、及びｐ３６に係る送信ポートＰｏより送出されるフレームＦｕ１にはタグは付与されない。
【００４７】
一方、（Ｂ）は、スイッチＳＷ１のポートｐ１４に係る受信ポートＰｉによって、端末Ｔ２から宛先の不明なフレームＦｕ２が受信された場合のスイッチスタック１の動作例を示す。ここで、ポートｐ１４に係る受信ポートＰｉに対応するデフォルトポートグループ記憶部１４には「２」が記録されていることとする。また、（Ｂ）において黒丸が付与されているポートは、グループ番号が「２」であるグループ２に属する送信ポートＰｏを示す。グループ２に属する送信ポートＰｏとは、２ビット目が「１」であるポートグループメンバーシップ記憶部１６を有するポート送信部ｏに属する送信ポートＰｏである。
【００４８】
具体的には、スイッチＳＷ１のポートＰ１１、ｐ１２、ｐ１３、及びｐ１４、スイッチＳＷ２のポートｐ２４、ポートｐ２５、及びポートｐ２６、並びにスイッチＳＷ３のポートｐ３３及びポートｐ３４のそれぞれに係る送信ポートＰｏは、グループ２に属する。
【００４９】
この場合、ポートｐ１４に係るポートグループ決定部１３によって、フレームＦｕ２に対するグループ番号は「２」であると決定される。続いて、スイッチＳＷ１の中継部１１は、フレームＦｕ２の宛先は不明なためフレームＦｕ２をフラッディングさせようとする。但し、グループ２に属さないフレーム送信部ｏにおいては、フィルタリング部１５によってフレームＦｕ２は廃棄される。したがって、フレームＦｕ２は、グループ２に属するポートｐ１１、ポートｐ１２、及びポートｐ１３に係る送信ポートＰｏより送出される。ポートｐ１１及びｐ１２に係る送信ポートＰｏ送出される各フレームＦｕ２には、当該ポートに係るタグ付与部１７によってグループ２を示すタグが付与される。
【００５０】
スイッチＳＷ２は、スイッチＳＷ１のポートｐ１２より送出されたフレームＦｕ２を、ポートｐ２１に係る受信ポートＰｉを介して受信する。ポートｐ２１に係るポートグループ決定部１３は、受信されたフレームＦｕ２のグループ番号は「２」であると決定する。フレームＦｕ２にはグループ番号「２」を示すタグが付与されているからである。続いて、スイッチＳＷ２の中継部１１は、フレームＦｕ２の宛先は不明なためフレームＦｕ２をフラッディングさせようとする。但し、グループ２に属さないフレーム送信部ｏにおいては、フィルタリング部１５によってフレームＦｕ２は廃棄される。その結果、フレームＦｕ２は、グループ２に属するポートｐ２４、ｐ２５、及びｐ２６に係る送信ポートＰｏより送出される。ポートｐ２４、ｐ２５、及びｐ２６は、外部ノードへの回線に接続されているため、当該送信ポートＰｏより送出されるフレームＦｕ２にはタグは付与されない。
【００５１】
スイッチＳＷ３は、スイッチＳＷ１のポートｐ１１より送出されたフレームＦｕ２を、ポートｐ３２に係る受信ポートＰｉを介して受信する。ポートｐ３２に係るポートグループ決定部１３は、受信されたフレームＦｕ２のグループ番号は「２」であると決定する。フレームＦｕ２にはグループ番号「２」を示すタグが付与されているからである。続いて、スイッチＳＷ３の中継部１１は、フレームＦｕ２の宛先は不明なためフレームＦｕ２をフラッディングさせようとする。但し、グループ２に属さないフレーム送信部ｏにおいては、フィルタリング部１５によってフレームＦｕ２は廃棄される。その結果、フレームＦｕ２は、グループ２に属するポートｐ３３及びｐ３４に係る送信ポートＰｏより送出される。ポートｐ３３及びｐ３４は、外部ノードへの回線に接続されているため、当該送信ポートＰｏより送出されるフレームＦｕ２にはタグは付与されない。
【００５２】
図１０に示されるように、第一の実施の形態によれば、送信ポートＰｏのグループ分けによって受信フレームの中継範囲（中継経路）を制御又は制限することができる。その結果、各ノードへの余剰のフレームの送信を抑制することができる。
【００５３】
したがって、スイッチスタック１における冗長経路の存在や、リンクアグリゲーションの利用による冗長経路の存在によるフレームのストームを適切に抑制しつつ、リンクアグリゲーションの利用を可能とすることができる。また、フレームの平均ホップ数の低下、及び各スタックリンクの負荷の軽減を図ることができ、高いネットワーク性能を得ることができる。
【００５４】
また、同一のリンクアグリゲーショングループに属する複数の回線のうちの一つの回線のみが同一フレームの転送に利用されるようにすることができる。具体的には、図１０のリンクアグリゲーショングループＧａ及びＧｂにおいて、フレームＦｕ１の転送に利用される回線と、フレームＦｕ２の転送に利用される回線とは異なる。したがって、リンクアグリゲーションの特長でもある負荷分散を図ることもできる。
【００５５】
なお、上記のような効果を得るためには、以下のような条件が満たされるようにポートのグループ分けを行えばよい。
（１）グループごとに重複経路が存在しないようにする。
（２）同一のノードへ向かう複数の回線が存在する場合は、各回線が均等に使用されるようにする。
【００５６】
（１）でいう重複経路が存在する状態とは、同一ノードに対して複数通りの経路が存在する状態をいう。このことは、フレームの中継経路に関してスイッチスタック１内にループが形成される状態を意味する。したがって、（１）については、グループごとに冗長経路が存在しないようにすると言い換えることができる。
【００５７】
（２）の条件を満たすためには、各送信ポートＰｏが属するポートグループを例えば次のように決定するとよい。まず、外部ノードとの回線に接続されている各受信ポートＰｉに０を起点として順番に通し番号ｎを付与する。ここでは、通し番号ｎが付与された受信ポートＰｉを受信ポートｎと呼ぶ。続いて、同一のリンクアグリゲーショングループに属するＳ本の回線のそれぞれに接続される送信ポートＰｏに０から順番に通し番号ｍを付与する。ここでは、通し番号ｍが付与された送信ポートを送信ポートｍという。送信ポートｍのポートグループメンバーシップ記憶部１６には、（ｎ  ｍｏｄ  Ｓ）＝ｍとなる受信ポートｎに係るデフォルトポートグループ記憶部１４に記録されたグループ番号を追加する。なお、ｍｏｄは剰余を出力する関数である。例えば、リンクアグリゲーショングループＧａには２本の回線が属している。したがって、一方の回線に接続されるポートｐ１５に係る送信ポートＰｏを送信ポート０とし、他方の回線に接続されるポートｐ２５に係る送信ポートＰｏ送信ポート１とする。また、外部ノードに接続されるポートｐ１３に係る受信ポートＰｉには「０」、ポートｐ１４に係る受信ポートＰｉには「１」、ポートｐ１５に係る受信ポートＰｉには、「２」の通し番号を付与する。この場合、送信ポート０のポートグループメンバーシップ記憶部１６には、（ｎ  ｍｏｄ  ２）＝０となるｎを通し番号として持つポートｐ１３及びポートｐ１５に係る受信ポートＰｉのデフォルトポートグループ記憶部１４に記録されたグループ番号を含むような設定を行う。同様に、送信ポート１のポートグループメンバーシップ記憶部１６には、（ｎ  ｍｏｄ  ２）＝１となるｎを通し番号として持つポートｐ１４に係る受信ポートＰｉのデフォルトポートグループ記憶部１４に記録されたグループ番号を含むような設定を行う。
【００５８】
なお、第一の実施の形態において、学習済みの一つのノードを宛先とするフレームについては、ポートグループによる中継範囲の制限の対象から除外される。以下、その理由について説明する。
【００５９】
図１１は、第一の実施の形態のスイッチスタックにおけるリンクアグリゲーショングループを経由する外部ノードに関する学習状態の例を示す図である。同図では、外部ノードＡ側に外部ノードＸが接続されている。
【００６０】
図中（Ｃ）は、スイッチスタック１において、外部ノードＸを送信元とする宛先の不明なフレームＦｕ３が受信された様子を示す。この際、フレームＦｕ３の転送には、リンクアグリゲーショングループＧａに属する回線のいずれか一方が選択されて使用される。同図では、スイッチＳＷ１のポートｐ１５に接続された回線が選択された例が示されている。ここで、ポートｐ１５に係る受信ポートＰｉに対応するデフォルトポートグループ記憶部１４には「３」が記録されていることとする。また、（Ａ）において黒丸が付与されているポートは、グループ番号が「３」であるグループ３に属する送信ポートＰｏを示す。
【００６１】
（Ｄ）は、図１０において説明した処理と同様に、ポートグループ３に属する送信ポートＰｏよりフレームＦｕ３がフラッディングされ、各スイッチＳＷにおいて外部ノードＸに関する学習が行われた結果を示す。すなわち、ポートを示す円の中に「Ｘ」の文字が記載されていることは、当該ポートと外部ノードＸのＭＡＣアドレスとの対応情報が中継ＤＢ１２に登録されたことを示す。具体的には、スイッチＳＷ１ではポートｐ１５が、スイッチＳＷ２ではポートｐ２１が、スイッチＳＷ３では、ポートｐ３２が、外部ノードＸに対応する送信ポートＰｏであることがそれぞれのスイッチＳＷの中継ＤＢ１２に登録されている。
【００６２】
その後、（Ｄ）の学習状態において（Ｅ）に示されるように、スイッチスタック１において、外部ノードＸを送信元とする宛先の不明なフレームＦｕ４が受信されたとする。（Ｅ）では（Ｃ）と異なる回線が使用されている。リンクアグリゲーショングループＧａに属する回線のいずれが使用されるかは動的に変化するからである。その結果、フレームＦｕ４は、スイッチＳＷ２のポートｐ２５に係る受信ポートＰｉによって受信されている。
【００６３】
ここで、ポートｐ２５に係る受信ポートＰｉに対応するデフォルトポートグループ記憶部１４には「４」が記録されていることとする。また、（Ｅ）において黒丸が付与されているポートは、グループ番号が「４」であるグループ４に属する送信ポートＰｏを示す。
【００６４】
（Ｆ）は、ポートグループ４に属する送信ポートＰｏよりフレームＦｕ４がフラッディングされ、各スイッチＳＷにおいて外部ノードＸに関する学習が行われた結果を示す。図より明らかなように、（Ｆ）の学習状態は、（Ｄ）におけるものと異なる。一般的なスイッチでは、同一ノードに関する学習が行われる場合、古い学習内容は削除されるからである。具体的には、（Ｆ）のスイッチＳＷ１ではノードｐ１２が、スイッチＳＷ２ではノードｐ２５が、外部ノードＸに対応する送信ポートＰｏであることが学習されている。
【００６５】
なお、（Ｆ）の学習状態において、再度（Ｃ）の経路で外部ノードＸから宛先の不明なフレームが受信された場合、外部ノードＸの学習状態は、（Ｄ）に示されるようになる。このように、外部ノードＸに関する学習状態は、（Ｃ）又は（Ｄ）のいずれか一方に関して選択的又は排他的なものとなる。その結果、図１２に示されるような問題が発生する。
【００６６】
図１２は、第一の実施の形態において宛先が学習済みの一つのノードであるフレームについてポートグループによって中継範囲を制限するときの問題点を説明するための図である。同図（Ａ）及び（Ｂ）では、いずれも図１１（Ｄ）の学習状態を前提としている。
【００６７】
（Ａ）では、端末Ｔ１より外部ノードＸ宛のフレームＦｘ１がスイッチＳＷ１のポートｐ１３に係る受信ポートＰｉによって受信された例が示されている。この場合、図１０（Ａ）と同様に、ポートｐ１３に係るポートグループ決定部１３によってフレームＦｘ１に対するグループ番号は「１」であると決定される。続いて、スイッチＳＷ１の中継部１１は、中継ＤＢ１２に記録されている学習内容に基づいてポートｐ１５に係る送信ポートＰｏをフレームＦｘ１の送出先として判断し、ポートｐ１５に係るフィルタリング部１５にフレームＦｘ１とグループ番号「１」とを入力する。図１０（Ａ）と同様、ポートｐ１５に係る送信ポートＰｏはグループ１に属するため、フレームＦｘ１は廃棄されずにポートｐ１５に係る送信ポートＰｏより送出される。その結果、フレームＦｘ１は、正常に外部ノードＸに中継される。
【００６８】
一方、（Ｂ）では、端末Ｔ２より外部ノードＸ宛のフレームＦｘ２がスイッチＳＷ１のポートｐ１４に係る受信ポートＰｉによって受信された例が示されている。この場合、図１０（Ｂ）と同様に、ポートｐ１４に係るポートグループ決定部１３によってフレームＦｘ２に対するグループ番号は「２」であると決定される。続いて、スイッチＳＷ１の中継部１１は、中継ＤＢ１２に記録されている学習内容に基づいてポートｐ１５に係る送信ポートＰｏをフレームＦｘ２の送出先として判断し、ポートｐ１５に係るフィルタリング部１５にフレームＦｘ２とグループ番号「２」とを入力する。但し、図１０（Ｂ）と同様、ポートｐ１５に係る送信ポートＰｏはグループ１に属し、グループ２には属さない。したがって、当該フィルタリング部１５は、フレームＦｘ２を廃棄してしまう。その結果、フレームＦｘ２は、外部ノードＸへ中継されない。
【００６９】
そこで、本実施の形態におけるスイッチＳＷは、学習済みの一つのノードを宛先とするフレームについては、ポートグループによる中継範囲の制限を行わないようにするのである。具体的には、中継部１１は、中継ＤＢ１２に基づいてフレームの送出先の送信ポートＰｏが一つであると判定される場合は、当該フレームと共にフィルタリングは不要であることを示す情報を（以下、「フィルタリング不要指示」という。）当該送信ポートＰｏに対応するフィルタリング部１５に入力する。フィルタリング部１５は、フィルタリング不要指示が入力された場合は、ポートグループメンバーシップ記憶部１６を用いたフィルタリングを行わずに、そのままフレームを通過させる。その後、当該フレームは、タグの付与が必要な場合はタグ付与部１７によってタグが付与され、送信ポートＰｏより送出される。なお、フィルタリング不要指示は、どのような形態によって実現されてもよい。
【００７０】
各スイッチＳＷがこのような制御を行うことで、図１２と同様にフレームＦｘ１又はフレームＦｘ２が受信された場合のスイッチスタック１の動作は、図１３に示されるようになる。
【００７１】
図１３は、第一の実施の形態において宛先が学習済みの一つのノードであるフレームについてポートグループによって中継範囲を制限しないときのスイッチスタックの動作を説明するための図である。図中、（Ａ）、（Ｂ）は図１２（Ａ）、（Ｂ）のそれぞれに対応する。図１３では、図１２と異なる点について説明する。
【００７２】
図１３（Ａ）において、端末Ｔ１より受信されたフレームＦｘ１の宛先は外部ノードＸの一つであり、外部ノードＸはスイッチＳＷ１において学習済みである。したがって、スイッチＳＷ１の中継部１１は、フレームＦｘ１と共にフィルタリング不要指示をポートｐ１５に係るフィルタリング部１５に入力する。フィルタリング部１５は、フィルタリング不要指示に基づいて、フィルタリングは行わずにフレームを通過させる。その結果、フレームＦｘ１は、ポートｐ１５に係る送信ポートＰｏより送出される。
【００７３】
また、図１３（Ｂ）において、端末Ｔ２より受信されたフレームＦｘ２の宛先は外部ノードＸの一つであり、外部ノードＸはスイッチＳＷ１において学習済みである。したがって、スイッチＳＷ１の中継部１１は、フレームＦｘ２と共にフィルタリング不要指示をポートｐ１５に係るフィルタリング部１５に入力する。フィルタリング部１５は、フィルタリング不要指示に基づいて、フィルタリングは行わずにフレームを通過させる。その結果、フレームＦｘ２は、ポートｐ１５に係る送信ポートＰｏより送出される。
【００７４】
このように、学習済みの一つのノードを宛先とするフレームについても適切に中継を行うことが可能となる。
【００７５】
なお、ポートグループによる制限が解除されるのは、学習済みの一つのノードを宛先とするフレームである。したがって、中継部１１によってフラッディング対象として判定されたフレーム（すなわち、宛先が不明のフレーム）、又は宛先が複数であるフレームについては、第一の実施の形態において説明した通り、ポートグループによって中継範囲が制限される。
【００７６】
次に、図１２において説明した問題を、別の方法によって解決した例を第二の実施の形態として説明する。「別の方法」とは、学習済みの一つのノードを宛先とするフレームをポートグループによる中継範囲の制限の対象から除外する方法とは別の方法を意味する。したがって、第二の実施の形態では、学習済みの一つのノードを宛先とするフレームについても、ポートグループによる中継範囲の制限の対象とされてよい。なお、第二の実施の形態は、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。
【００７７】
図１４は、第二の実施の形態におけるスイッチスタックの動作例を説明するための図である。
【００７８】
同図において、（Ｄ）及び（Ｆ）は、図１１における外部ノードＸの二通りの学習状態を示す。第二の実施の形態のスイッチＳＷは、公知の一般的なスイッチと異なり、同一の外部ノードに関して複数通りの学習状態が発生する場合、それぞれの学習状態を論理和演算によって統合する。すなわち、同一の外部ノードに関して追加的又は重畳的に学習が行われる。その結果（Ｇ）に示されるように、スイッチＳＷ１のポートｐ１５及びｐ１２、スイッチＳＷ２のポートｐ２１及びｐ２５、並びにスイッチＳＷ３のポートｐ３２が、外部ノードＸに対応するポートとして学習される。
【００７９】
具体的な動作としては、第二の実施の形態の中継部１１及び中継ＤＢ１２は、同一ノードに対する複数のポートの対応付けを許容する。したがって、（Ｄ）の学習状態において、（Ｆ）の学習状態となるような中継が行われたとしても、（Ｄ）の学習状態は中継ＤＢ１２から削除されず、（Ｆ）の学習状態が中継ＤＢ１２に新たに追加される。
【００８０】
その結果、学習済みの一つのノードを宛先とするフレームをポートグループによる中継範囲の制限の対象から除外せずとも、斯かるフレームの中継を適切に行うことが可能となる。例えば、図１２（Ｂ）のようなフレームＦｘ２がポートｐ１４によって受信された場合であっても、フレームＦｘ２をノードＸに中継することができる。すなわち、ポートｐ１４に係るポートグループ決定部１３によってフレームＦｘ２に対するグループ番号は「２」であると判定される。スイッチＳＷ１の中継部１１は、中継ＤＢ１２に記録されている学習内容に基づいてポートｐ１２及びｐ１５に係る送信ポートＰｏを、フレームＦｘ２の送出先と判断する。当該判断に基づいて、中継部１１は、ポートｐ１２及びｐ１５のそれぞれに係るフィルタリング部１５にフレームＦｘ２とグループ番号「２」とを入力する。ポートｐ１５はグループ１に属するため、ポートｐ１５に係るフィルタリング部１５は、入力されたフレームＦｘ２を廃棄する。ポートｐ１２はグループ２に属するため、ポートｐ１２に係るフィルタリング部１５は、フレームＦｘ２を通過させる。ポートｐ１２は、スタックリングＬ１に接続されているため、ポートｐ１２に係るタグ付与部１７によって、グループ番号「２」を示すタグがフレームＦｘに付与される。タグが付与されたフレームＦｘ２は、ポートｐ１２に係る送信ポートＰｏより送出され、ポートｐ２１に係る受信ポートＰｉによって受信される。
【００８１】
ポートｐ２１に係るポートグループ決定部１３は、フレームＦｘ２に付与されているタグが示すグループ番号「２」を、フレームＦｘ２に対するグループ番号として決定する。続いて、スイッチＳＷ２の中継部１１は、中継ＤＢ１２における学習内容に基づいて、フレームＦｘ２の送出先はポートｐ２５に係る送信ポートＰｏであると判断する。ここで、ポートｐ２５は、グループ２に属する。したがって、フレームＦｘ２は、ポートｐ２５に係るフィルタリング部１５によって廃棄されずに送信ポートＰｏより送出される。その結果、フレームＦｘ２は、外部ノードＸに中継される。
【００８２】
上述したように、第二の実施の形態によれば、ポートグループによる中継範囲の制限対象を限定しなくても、リンクアグリゲーショングループを介して接続された外部ノードに関する中継を適切に行うことができる。
【００８３】
但し、第二の実施の形態では、図１５に示されるような問題が発生する可能性がある。図１５は、第二の実施の形態における問題点を説明するための図である。
【００８４】
同図（Ｇ）は、図１４の（Ｇ）と同一の学習状態を示す。この状態において、外部ノードＸが、（Ｈ）に示されるように外部ノードＢ側に移動したとする。このような移動は、例えば、ケーブルの差し替えや、無線ＬＡＮのアクセスポイントの移動等によって発生する。
【００８５】
（Ｉ）は、外部ノードＸの移動後に、外部ノードＸを送信元とする宛先の不明なフレームＦｕ５がスイッチＳＷ２のポートｐ２６に係る受信ポートＰｉによって受信された場合の学習状態を示す。第二の実施の形態によれば、新たな学習内容は追加（マージ）される。したがって、ポートｐ２１及びポートｐ２５に加えポートｐ２６が、外部ノードＸに対応するポートとしてスイッチＳＷ２の中継ＤＢ１２に追加的に登録される。
【００８６】
（Ｊ）は、移動後の外部ノードＸの学習後に、端末Ｔ３より外部ノードＸ宛のフレームＦｘ３がスイッチ２のポートｐ２４に係る受信ポートＰｉによって受信された場合のフレームＦｘ３の中継経路を示す。ここでは、ポートｐ２４に係るポートグループ決定部１３によってフレームＦｘ３に対するグループ番号が、少なくともポートｐ２１、ｐ２５、及びｐ２６に係る送信ポートＰｏが属するポートグループを示すものである決定されたとする。そうすると、中継ＤＢ１２における学習内容に基づいて、ｐ２１、ｐ２５、及びｐ２６に係る送信ポートＰｏよりフレームＦｘ４は送出される。ポートｐ２６より送出されたフレームＦｘ４は、外部ノードＸに転送される。したがって、外部ノードＸへのフレームＦｘ３の中継自体について問題はない。しかし、ポートｐ２１及びｐ２５より送出されたフレームＦｘ３に関しては、無駄なフレームとなってしまう。すなわち、無駄な通信が発生してしまう。
【００８７】
そこで、斯かる問題を解決した例を第三の実施の形態として説明する。なお、第三の実施の形態は、第二の実施の形態を前提とする。したがって、特に言及しない点については、第二の実施の形態の内容がそのまま引用される。
【００８８】
図１６は、第三の実施の形態におけるネットワーク構成例を示す図である。同図に示されるように、第三の実施の形態では、学習管理装置２０が回線を介してスイッチスタック１に接続されている。学習管理装置２０は、専用の機器であってもよいし、ＰＣ（Personal Computer）等の汎用的なコンピュータであってもよい。又は、スイッチスタック１に含まれるいずれかのスイッチＳＷが学習管理装置２０を兼ねてもよい。また、同図では、学習管理装置２０とスイッチＳＷ２が回線を介して接続されているが、スイッチスタック１に含まれる少なくともいずれか一つのスイッチＳＷと接続されていればよい。いずれか一つのスイッチスタックＳＷと接続されていれば、スタックリンクＬ１〜Ｌ３を介して全てのスイッチＳＷと通信可能だからである。また、学習管理装置２０とスイッチスタック１との接続は、物理的及び論理的な意味において汎用的なものであってもよいし、専用のものであってもよい。
【００８９】
図１７は、学習管理装置の機能構成例を示す図である。同図において、学習管理装置２０は、学習状態制御部２１、学習情報記憶部２２、及びトポロジー情報記憶部２３等を有する。
【００９０】
学習状態制御部２１は、学習情報記憶部２２及びトポロジー情報記憶部２３等を用いて、スイッチスタック１に含まれる各スイッチＳＷの学習状態を制御する。学習状態の制御とは、主として、各スイッチＳＷに対する学習状態の変更の指示等を行うことをいう。学習情報記憶部２２は、スイッチスタック１に含まれる各スイッチＳＷの学習状態を示す情報（中継ＤＢ１２の内容）を記憶する。すなわち、学習管理装置２０では、各スイッチＳＷの学習状態が一元的に把握又は管理されている。各スイッチＳＷの学習状態を示す情報の収集は、各スイッチＳＷからの通知によって行われる。具体的には、各スイッチＳＷの中継部１１は、当該スイッチＳＷの中継ＤＢ１２の内容に変化が発生したときに、変化の内容を学習状態制御部２１に通知する。学習状態制御部２１は、当該通知に応じて学習情報記憶部２２を更新する。
【００９１】
トポロジー情報記憶部２３は、スイッチスタック１のトポロジー情報を記憶する。スイッチスタック１のトポロジー情報とは、スイッチスタック１に含まれる各スイッチＳＷの接続状態を示す情報をいう。より詳しくは、各スイッチＳＷがいずれのポートによって他のスイッチＳＷと接続されているかを示す情報をいう。トポロジー情報は、管理者等によって予め設定されてもよいし、学習状態制御部２１によって自動的に判定されてもよい。
【００９２】
なお、学習情報記憶部２２は、学習管理装置２０の記憶装置に記録されたプログラムが学習管理装置２０のＣＰＵに実行される処理によって実現される。学習情報記憶部２２及びトポロジー情報記憶部２３は、学習管理装置２０の記憶装置の一部を用いて実現される。
【００９３】
図１８は、第三の実施の形態におけるスイッチスタックの動作例を説明するための図である。
【００９４】
同図において（Ａ）は、図１５の（Ｉ）の状態に一致する。すなわち、（Ａ）では、スイッチＳＷ２において、外部ノードＸに関して新たな学習が行われている。新たな学習は中継ＤＢ１２の更新を意味する。したがって、上記した通り、（Ｂ）に示される処理が実行される。すなわち、スイッチＳＷ２の中継部１１は、新たな学習内容（ポートｐ２６と外部ノードＸとの対応情報）を学習管理装置２０の学習状態制御部２１に通知する。当該通知は、所定の制御フレームを用いて行えばよい。
【００９５】
学習状態制御部２１は、当該通知と、学習情報記憶部２２に記憶されている情報と、トポロジー情報記憶部２３に記憶されているトポロジー情報とに基づいて、新たに学習された外部ノードＸの移動の有無を判定する。同図の場合、リンクアグリゲーショングループＧａ側からリンクアグリゲーショングループＧｂ側へ外部ノードＸが移動したことが検知される。
【００９６】
学習状態制御部２１は、新たに学習された外部ノードＸの移動を検知すると、新たな学習の対象となったポートｐ２６を除いて、外部ノードＸに関する全ての学習情報の削除指示を各スイッチＳＷに送信する。この状態を示すのが（Ｃ）である。（Ｃ）において、各スイッチＳＷは、学習状態制御部２１の指示に応じて外部ノードＸに関する学習情報（中継ＤＢ１２におけるエントリ）を削除している。したがって、外部ノードＸに関しては、スイッチＳＷ２の中継ＤＢ１２におけるポートｐ２６との対応情報のみが残された状態となる。
【００９７】
その結果、図１５において説明した問題が解決される。すなわち、外部ノードＸが移動したことによる追加的な学習に基づく無駄な通信の発生が抑止される。なお、外部ノードＸに関する学習情報が削除されたとしても、外部ノードXに関しては改めて学習が行われる。したがって、外部ノードＸ宛のフレームの中継に支障をきたすことはない。
【００９８】
図１８では、追加的な学習が行われた場合が例とされているが、各スイッチＳＷの中継部１１から学習状態制御部２１への通知は、追加的な学習が行われた場合に限られない。新規ノードの学習等についても通知は行われる。すなわち、中継ＤＢ１２に何らかの更新が発生した場合、中継部１１は、学習状態制御部２１への通知を行う。
【００９９】
また、図１８では、移動が検出されたノードに関する学習情報を全て削除する旨の指示が学習状態制御部２１によって行われる例について説明した。しかし、必ずしも当該ノードに関する全ての学習情報が削除されなくてもよい。例えば、移動元（図１８の例では、リンクアグリゲーショングループＧａ側）への中継される可能性のあるポートに関する学習情報のみを削除の対象としてもよい。
【０１００】
続いて、第一から第三の実施の形態に関して、各スイッチＳＷが実行する処理をフローチャートを用いて説明する。
【０１０１】
図１９は、フレーム受信部による処理手順を説明するためのフローチャートである。
【０１０２】
受信ポートＰｉによってフレームが受信されると、ポートグループ決定部１３は、受信フレームにグループ番号を示すタグが付与されているか否かを確認する（Ｓ１０１）。タグが付与されている場合（Ｓ１０１でＹｅｓ）、ポートグループ決定部１３は、タグが示すグループ番号を、受信フレームに対するグループ番号として決定する（Ｓ１０２）。受信フレームにタグが付与されていない場合（Ｓ１０１でＮｏ）、ポートグループ決定部１３は、デフォルトポートグループ記憶部１４に記録されているグループ番号を、受信フレームに対するグループ番号として決定する（Ｓ１０３）。なお、ポートグループ決定部１３によって決定されたグループ番号は、スイッチＳＷ内において受信フレームと関連付けられて管理される。
【０１０３】
フレーム受信部による処理が終了すると、受信フレームに関して中継部１１による処理が実行される。図２０は、中継部による処理手順を説明するためのフローチャートである。
【０１０４】
中継部１１は、受信フレームの送信元ＭＡＣアドレス（ＳＡ）に関するエントリを中継ＤＢ１２より検索する（Ｓ２０１）。該当するエントリが検索された場合（Ｓ２０２でＹｅｓ）、中継部１１は、該当するエントリでは、受信フレームの受信ポートＰｉに対応する送信ポートＰｏが既に登録されているか否かを確認する（Ｓ２０３）。すなわち、受信フレームの送信元ＭＡＣアドレスと、当該受信フレームの受信ポートＰｉに対応する送信ポートＰｏとの対応関係は既に学習済みであるか否かが判定される。
【０１０５】
当該対応関係が既に学習済みである場合（Ｓ２０３でＹｅｓ）、中継部１１は、中継ＤＢ１２の更新は行わず、中継処理を実行する（Ｓ２０７）。
【０１０６】
当該対応関係が学習済みで無い場合（Ｓ２０３でＮｏ）、中継部１１は、当該送信元ＭＡＣアドレスに対応するポートとして、当該受信フレームを受信した受信ポートＰｉに対応する送信ポートＰｏを中継ＤＢ１２に追加する（Ｓ２０４）。すなわち、当該送信元ＭＡＣアドレスに対して、既に他の送信ポートＰｏが対応付けられていたとしても、当該他の送信ポートＰｏとの対応付けは消去されずに、新たな送信ポートＰｏとの対応付けが追加的に中継ＤＢ１２に登録される。なお、ステップＳ２０３及びＳ２０４は、第一の実施の形態では実行されない。
【０１０７】
一方、該当するエントリが検索されない場合（Ｓ２０２でＮｏ）、中継部１１は、当該送信元ＭＡＣアドレスに対応するポートとして、当該受信フレームを受信した受信ポートＰｉに対応する送信ポートＰｏを中継ＤＢ１２に登録する（Ｓ２０５）。
【０１０８】
ステップＳ２０４又はＳ２０５に続いて、中継部１１は、今回の学習内容（送信元ＭＡＣアドレス及び対応付けられた送信ポートＰｏの識別情報）を学習管理装置２０の学習状態制御部２１に送信する（Ｓ２０６）。なお、ステップＳ２０６は、第三の実施の形態で実行される。続いて、中継部１１は、中継処理を実行する（Ｓ２０７）。
【０１０９】
中継処理とは、受信フレームの宛先ＭＡＣアドレスに対応する送信ポートＰｏを中継ＤＢ１２より検索し、検索された送信ポートＰｏが属するフレーム送信部ｏに受信フレームを入力する処理である。受信フレームの宛先ＭＡＣアドレスが中継ＤＢ１２に登録されていない場合は、受信フレームはフラッディングされる。なお、受信フレームと共に、図１９の処理において判定されたグループ番号もフレーム送信部ｏに入力される。また、受信フレームの入力先のフレーム送信部ｏが一つに限定される場合、すなわち、受信フレームが、学習済みの一つのノードを宛先とする場合、中継部１１は、フィルタリング不要指示を当該フレーム送信部ｏに入力する。
【０１１０】
中継部１１による処理が終了すると、中継部１１より受信フレームが入力された各フレーム送信部ｏによって、受信フレームを送出するための処理が実行される。
【０１１１】
図２１は、フレーム送信部による処理手順を説明するためのフローチャートである。
【０１１２】
受信フレーム等の入力に応じ、フィルタリング部１５は、フィルタリング不要指示が入力された否かを確認する（Ｓ３０１）。フィルタリング入力指示が入力されていない場合（Ｓ３０１でＮｏ）、フィルタリング部１５は、入力されたグループ番号（受信フレームに関連付けられたグループ番号）は、ポートグループメンバーシップ記憶部１６に記録されているか否かを判定する（Ｓ３０２）。より詳しくは、ポートグループメンバーシップ記憶部１６において、当該グループ番号に対応するビットの値が「１」であるか否かが判定される。すなわち、当該フレーム送信部ｏが、入力されたグループ番号に係るポートグループに属するか否かが判定される。入力されたグループ番号がポートグループメンバーシップ記憶部１６に記録されていない場合（Ｓ３０２でＮｏ）、フィルタリング部１５は、受信フレームを廃棄する（Ｓ３０３）。
【０１１３】
フィルタリング不要指示が入力されている場合（Ｓ３０１でＹｅｓ）、又は入力されたグループ番号がポートグループメンバーシップ記憶部１６に記録されている場合（Ｓ３０２でＹｅｓ）、フィルタリング部１５は、入力された受信フレームをタグ付与部１７に入力する。なお、第二の実施の形態及び第三の実施の形態では、ステップＳ３０１は実行されずに、常にステップＳ３０２が実行される。
【０１１４】
タグ付与部１７は、受信フレームが入力されると、タグ付与要否記憶部１８を用いて受信フレームに対するタグの付与の要否を判定する（Ｓ３０４）。タグの付与が必要である場合、すなわち、タグ付与要否記憶部１８に「１」が記録されている場合（Ｓ３０４でＹｅｓ）、タグ付与部１７は、受信フレームにタグは付与されているか否かを判定する（Ｓ３０５）。すなわち、スイッチスタック１における他のスイッチＳＷのタグ付与部１７によって、タグが付与された受信フレームについては、タグが付与されたままタグ付与部１７まで到達する。但し、フレーム受信部ｉにおいて受信フレームに付与されているタグは除去されてもよい。その場合、ステップＳ３０５は実行せずに、常にステップＳ３０６を実行すればよい。また、後述されるステップＳ３０７及びＳ３０８の実行も不要である。
【０１１５】
受信フレームにタグが付与されていない場合（Ｓ３０５でＮｏ）、タグ付与部１７は、当該フレーム送信部ｏに入力されたグループ番号を示すタグをフレームに付与する（Ｓ３０６）。
【０１１６】
一方、タグの付与は不要な場合、すなわち、タグ付与要否記憶部１８に「０」が記録されている場合（Ｓ３０４でＮｏ）、タグ付与部１７は、受信フレームにタグは付与されているか否かを判定する（Ｓ３０７）。受信フレームにタグが付与されている場合（Ｓ３０７でＹｅｓ）、タグ付与部１７は、受信フレームより当該タグを除去する（Ｓ３０８）。
【０１１７】
ステップＳ３０５でＹｅｓの場合、ステップＳ３０６、ステップＳ３０８、又はステップＳ３０７でＮｏの場合に続いて、送信ポートＰｏは、受信フレームを送出する（Ｓ３０９）。
【０１１８】
なお、上記実施の形態においては、ポートグループ決定部１３及びデフォルトポートグループ記憶部１４は、受信ポートＰｉごとに設けられる例について説明した。また、フィルタリング部１５、ポートグループメンバーシップ記憶部１６、タグ付与部１７、及びタグ付与要否記憶部１８は、送信ポートＰｏごとに設けられる例について説明した。しかし、これら各部は、各受信ポートＰｉ又は各送信ポートＰｏに対して共通に一つ設けられてもよい。但し、共通に一つ設けられる場合、性能の劣化する可能性が高い。受信ポートＰｉ又は送信ポートＰｏごとに並列して処理を実行するのが困難となるからである。したがって、本実施の形態のように、上記各部は、受信ポートＰｉ又は送信ポートＰｏごとに設けられるのが望ましい。
【０１１９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１２０】
以上の説明に関し、更に以下の項を開示する。
（付記１）
フレームの受信に応じ、該フレームを受信したポートに対して設定されている、ポートの複数通りの組み合わせのいずれかを示すグループ識別情報を該フレームに対して関連付けるグループ決定手段と、
フレームを受信したポートと該フレームの送信元のノードとの対応付けを学習し、学習状態に基づいてフレームを送出させるポートを判断する中継手段と、
各ポートが属する前記組み合わせを示すメンバー情報を記憶したメンバー情報記憶手段と、
前記メンバー情報記憶手段と前記グループ識別情報とに基づいて、前記フレームを送出させるポートを限定するフィルタリング手段と、
送出対象とされた前記フレームに、前記グループ識別情報を付与する付与手段とを有し、
前記グループ決定手段は、受信されたフレームに前記グループ識別情報が付与されている場合は、当該グループ識別情報を該フレームに関連付け、
前記フィルタリング手段は、受信されたフレームの宛先が学習済みの一つのノードである場合は、該フレームを送出させるポートを限定しない中継装置。
（付記２）
前記グループ識別情報の付与の要否を示す情報をポートごとに記憶した付与要否記憶手段を有し、
前記付与手段は、付与要否記憶手段が記憶する情報に応じて前記グループ識別情報を付与する付記１記載の中継装置。
（付記３）
前記付与手段は、受信されたフレームに前記グループ識別情報が付与されている場合は、前記付与要否記憶手段が記憶する情報に応じて前記グループ識別情報を該フレームより除去する付記２記載の中継装置。
（付記４）
前記メンバー情報記憶手段は、ポートごとに当該ポートが属する一以上の前記組み合わせを示すメンバー情報を記憶する付記１乃至３いずれか一項記載の中継装置。
（付記５）
フレームの受信に応じ、該フレームを受信したポートに対して設定されている、ポートの複数通りの組み合わせのいずれかを示すグループ識別情報を該フレームに対して関連付けるグループ決定手段と、
フレームを受信したポートと該フレームの送信元のノードとの対応付けを学習し、学習状態に基づいてフレームを送出させるポートを判断する中継手段と、
各ポートが属する前記組み合わせを示すメンバー情報を記憶したメンバー情報記憶手段と、
前記メンバー情報記憶手段と前記グループ識別情報とに基づいて、前記フレームを送出させるポートを限定するフィルタリング手段と、
送出対象とされた前記フレームに、前記グループ識別情報を付与する付与手段とを有し、
前記グループ決定手段は、受信されたフレームに前記グループ識別情報が付与されている場合は、当該グループ識別情報を該フレームに関連付け、
前記中継手段は、既に学習済みのノードに対応付けられているポートと異なるポートより該ノードを送信元とするフレームが受信された場合に、該異なるポートを追加的に該ノードに対応付ける中継装置。
（付記６）
当該中継装置は、他の前記中継装置と冗長経路を有するように接続され、
前記中継手段は、前記学習状態の変化に応じ、前記冗長経路を有するように接続された前記中継装置のそれぞれの前記学習状態及び他の前記中継装置との接続状態を記憶した管理装置に前記学習状態の変化の内容を通知し、前記管理装置からの指示に応じ、前記学習状態を変更する付記５記載の中継装置。
（付記７）
前記グループ識別情報の付与の要否を示す情報をポートごとに記憶した付与要否記憶手段を有し、
前記付与手段は、付与要否記憶手段が記憶する情報に応じて前記グループ識別情報を付与する付記５又は６記載の中継装置。
（付記８）
前記付与手段は、受信されたフレームに前記グループ識別情報が付与されている場合は、前記付与要否記憶手段が記憶する情報に応じて前記グループ識別情報を該フレームより除去する付記７記載の中継装置。
（付記９）
前記メンバー情報記憶手段は、ポートごとに当該ポートが属する一以上の前記組み合わせを示すメンバー情報を記憶する付記５乃至８いずれか一項記載の中継装置。
【符号の説明】
【０１２１】
１          スイッチスタック
１１        中継部
１２        中継ＤＢ
１３        ポートグループ決定部
１４        デフォルトポートグループ記憶部
１５        フィルタリング部
１６        ポートグループメンバーシップ記憶部
１７        タグ付与部
１８        タグ付与要否記憶部
２０        学習管理装置
２１        学習状態制御部
２２        学習情報記憶部
２３        トポロジー情報記憶部
Ｐｉ        受信ポート
Ｐｏ        送信ポート
ＳＷ１、ＳＷ２、ＳＷ３    スイッチ
ｉ１〜ｉｎ        フレーム受信部
ｏ１〜ｏｎ        フレーム送信部
【図１】
0005387349.tif 000002
【図２】
0005387349.tif 000003
【図３】
0005387349.tif 000004
【図４】
0005387349.tif 000005
【図５】
0005387349.tif 000006
【図６】
0005387349.tif 000007
【図７】
0005387349.tif 000008
【図８】
0005387349.tif 000009
【図９】
0005387349.tif 000010
【図１０】
0005387349.tif 000011
【図１１】
0005387349.tif 000012
【図１２】
0005387349.tif 000013
【図１３】
0005387349.tif 000014
【図１４】
0005387349.tif 000015
【図１５】
0005387349.tif 000016
【図１６】
0005387349.tif 000017
【図１７】
0005387349.tif 000018
【図１８】
0005387349.tif 000019
【図１９】
0005387349.tif 000020
【図２０】
0005387349.tif 000021
【図２１】
0005387349.tif 000022