(57)【特許請求の範囲】
【請求項１】
第１の中継装置および第２の中継装置を備える中継システムであって、
前記第１の中継装置および第２の中継装置のそれぞれは、
他方の中継装置に通信回線を介して接続されるブリッジ用ポートと、前記他方の中継装置との間で装置跨ぎのＬＡＧ（Link Aggregation Group）が設定されるＭＬＡＧ用ポートとを含む複数のポートと、
複数のエントリを備え、前記複数のエントリのそれぞれにＭＡＣアドレスとポート識別子との対応関係を保持するＦＤＢ（Forwarding DataBase）と、
前記ＭＬＡＧ用ポートでフレームを受信した場合に、当該受信したフレームの送信元ＭＡＣアドレスと当該受信したポートを表す受信ポート識別子とを含む第１の学習用フレームを生成し、前記第１の学習用フレームを、送信帯域を制限して前記ブリッジ用ポートから送信する第１の学習用フレーム生成部と、
所定の周期毎に、前記ＦＤＢの前記複数のエントリを読み出し、当該読み出したエントリに保持される前記対応関係を含んだ第２の学習用フレームを生成し、前記第２の学習用フレームを前記ブリッジ用ポートから送信する第２の学習用フレーム生成部と、
前記ブリッジ用ポートで前記第１の学習用フレームまたは前記第２の学習用フレームを受信した場合に、前記第１の学習用フレームに含まれる前記送信元ＭＡＣアドレスを前記受信ポート識別子に対応付けて前記ＦＤＢに学習し、前記第２の学習用フレームに含まれる前記対応関係を前記ＦＤＢに学習するＦＤＢ処理部と、
を有し、
前記第１の学習用フレーム生成部は、前記第１の学習用フレームの優先度を前記第２の学習用フレームの優先度よりも低く設定することで前記第１の学習用フレームの送信帯域を制限する、
中継システム。
【請求項２】
請求項１記載の中継システムにおいて、
前記第１の学習用フレーム生成部は、前記第１の学習用フレームの送信帯域の上限を前記ブリッジ用ポートの送信帯域の１０％以下の値に定める、
中継システム。
【請求項３】
請求項１記載の中継システムにおいて、
前記第２の学習用フレーム生成部は、１個のエントリに１個の前記第２の学習用フレームを対応させることで、複数の第２の学習用フレームを生成および送信し、
前記複数の第２の学習用フレームのそれぞれは、前記第１の学習用フレームと同じフレームフォーマットで構成される、
中継システム。
【請求項４】
請求項３記載の中継システムにおいて、
前記ＦＤＢは、前記ポート識別子を中継装置の識別子に関連付けて保持し、
前記第２の学習用フレーム生成部は、前記複数のエントリの内、前記他方の中継装置に関連付けて保持される前記ポート識別子を含んだエントリを除外し、残りのエントリにそれぞれ対応する前記複数の第２の学習用フレームを生成および送信する、
中継システム。
【請求項５】
請求項３記載の中継システムにおいて、
前記第２の学習用フレーム生成部は、前記第２の学習用フレームの送信の非対象とするＭＡＣアドレスまたはポート識別子を保持する非対象リストを有し、前記非対象リストに保持されるＭＡＣアドレスまたはポート識別子を含んだエントリを除外し、残りのエントリにそれぞれ対応する前記複数の第２の学習用フレームを生成および送信する、
中継システム。
【請求項６】
請求項５記載の中継システムにおいて、
前記非対象リストの保持内容は、動的に変更可能であり、
前記第２の学習用フレーム生成部は、
前記所定の周期毎に、前記ＦＤＢの前記複数のエントリに保持される前記対応関係を一括して読み出し、記憶部に保存する第１の処理と、
前記記憶部を読み出しながら前記複数の第２の学習用フレームを順次生成し、当該生成した第２の学習用フレームを前記ブリッジ用ポートから順次送信する第２の処理と、
前記第２の処理の過程で、前記非対象リストに保持されるＭＡＣアドレスまたはポート識別子を含んだ前記第２の学習用フレームの送信をスキップする第３の処理と、
を実行する、
中継システム。
【請求項７】
他の中継装置に通信回線を介して接続されるブリッジ用ポートと、前記他の中継装置との間で装置跨ぎのＬＡＧ（Link Aggregation Group）が設定されるＭＬＡＧ用ポートとを含む複数のポートと、
複数のエントリを備え、前記複数のエントリのそれぞれにＭＡＣアドレスとポート識別子との対応関係を保持するＦＤＢ（Forwarding DataBase）と、
前記ＭＬＡＧ用ポートでフレームを受信した場合に、当該受信したフレームの送信元ＭＡＣアドレスと当該受信したポートを表す受信ポート識別子とを含む第１の学習用フレームを生成し、前記第１の学習用フレームを、送信帯域を制限して前記ブリッジ用ポートから送信する第１の学習用フレーム生成部と、
所定の周期毎に、前記ＦＤＢの前記複数のエントリを読み出し、当該読み出したエントリに保持される前記対応関係を含んだ第２の学習用フレームを生成し、前記第２の学習用フレームを前記ブリッジ用ポートから送信する第２の学習用フレーム生成部と、
前記ブリッジ用ポートで前記第１の学習用フレームまたは前記第２の学習用フレームを受信した場合に、前記第１の学習用フレームに含まれる前記送信元ＭＡＣアドレスを前記受信ポート識別子に対応付けて前記ＦＤＢに学習し、前記第２の学習用フレームに含まれる前記対応関係を前記ＦＤＢに学習するＦＤＢ処理部と、
を有し、
前記第１の学習用フレーム生成部は、前記第１の学習用フレームの優先度を前記第２の学習用フレームの優先度よりも低く設定することで前記第１の学習用フレームの送信帯域を制限する、
中継装置。
【請求項８】
請求項７記載の中継装置において、
前記第１の学習用フレーム生成部は、前記第１の学習用フレームの送信帯域の上限を前記ブリッジ用ポートの送信帯域の１０％以下の値に定める、
中継装置。
【請求項９】
請求項７記載の中継装置において、
前記第２の学習用フレーム生成部は、１個のエントリに１個の前記第２の学習用フレームを対応させることで、複数の第２の学習用フレームを生成および送信し、
前記複数の第２の学習用フレームのそれぞれは、前記第１の学習用フレームと同じフレームフォーマットで構成される、
中継装置。
【請求項１０】
請求項９記載の中継装置において、
前記ＦＤＢは、前記ポート識別子を中継装置の識別子に関連付けて保持し、
前記第２の学習用フレーム生成部は、前記複数のエントリの内、前記他の中継装置に関連付けて保持される前記ポート識別子を含んだエントリを除外し、残りのエントリにそれぞれ対応する前記複数の第２の学習用フレームを生成および送信する、
中継装置。
【請求項１１】
請求項９記載の中継装置において、
前記第２の学習用フレーム生成部は、前記第２の学習用フレームの送信の非対象とするＭＡＣアドレスまたはポート識別子を保持する非対象リストを有し、前記非対象リストに保持されるＭＡＣアドレスまたはポート識別子を含んだエントリを除外し、残りのエントリにそれぞれ対応する前記複数の第２の学習用フレームを生成および送信する、
中継装置。
【請求項１２】
請求項１１記載の中継装置において、
前記非対象リストの保持内容は、動的に変更可能であり、
前記第２の学習用フレーム生成部は、
前記所定の周期毎に、前記ＦＤＢの前記複数のエントリに保持される前記対応関係を一括して読み出し、記憶部に保存する第１の処理と、
前記記憶部を読み出しながら前記複数の第２の学習用フレームを順次生成し、当該生成した第２の学習用フレームを前記ブリッジ用ポートから順次送信する第２の処理と、
前記第２の処理の過程で、前記非対象リストに保持されるＭＡＣアドレスまたはポート識別子を含んだ前記第２の学習用フレームの送信をスキップする第３の処理と、
を実行する、
中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継システムおよび中継装置に関し、例えば、２台の中継装置を跨いでＬＡＧ（Link Aggregation Group）が設定される中継システムおよび中継装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、マルチシャーシスリンクアグリゲーションが設定される２台のスイッチ装置において、アドレステーブルの同期を実現する方式が示される。具体的には、一方のスイッチ装置は、ポートでフレームを受信した場合に、送信元アドレスと受信したポートの識別子とを含むブリッジ用フレームを生成し、それをブリッジ用ポートから転送する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１０７５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、冗長化方式として、特許文献１に示されるように、２台の中継装置のそれぞれ１個ずつのポートにＬＡＧを設定する方式が知られている。当該冗長化方式では、１台の中継装置で設定される一般的なＬＡＧと異なり、２台の中継装置を跨いでＬＡＧが設定される。このため、通信回線の障害に対する冗長化や通信帯域の拡大といった一般的なＬＡＧによって得られる効果に加えて、中継装置の障害に対する冗長化が実現可能になる。本明細書では、このような装置跨ぎのＬＡＧをマルチシャーシスリンクアグリゲーショングループ（以降、ＭＬＡＧと略す）と呼ぶ。また、このＭＬＡＧが設定される２台の中継装置の集合体をＭＬＡＧスイッチと呼ぶ。
【０００５】
ＭＬＡＧスイッチでは、２台の中継装置間でブリッジ用ポートを介してＦＤＢ（Forwarding DataBase）の保持内容を同期することが必要とされる。その同期の方式として、例えば、特許文献１の方式を用いることが考えられる。しかし、当該方式では、各中継装置は、フレームを受信する毎にブリッジ用ポートから学習用フレームを送信する。このため、ブリッジ用ポートでのユーザフレーム等の帯域が圧迫される恐れがある。
【０００６】
そこで、このような事態を回避するため、学習用フレームの送信帯域を制限することが考えられる。しかし、この場合、ＦＤＢの保持内容を高精度に同期させることが困難となる恐れがある。すなわち、学習用フレームの送信タイミングに大きな遅延が生じたり、場合によっては、学習用フレームが送信されない事態が生じ得る。なお、ＦＤＢの同期の精度とは、ＦＤＢの保持内容があらゆる時刻でどの程度の割合で一致しているかを意味し、より多く一致している状態がより長い期間続くほど高くなる。
【０００７】
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、ブリッジ用ポートの帯域消費を抑えつつＦＤＢの保持内容を高精度に同期させることが可能な中継システムおよび中継装置を提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
【００１０】
本実施の形態による中継システムは、第１および第２の中継装置を備える。第１および第２の中継装置のそれぞれは、複数のポートと、ＦＤＢと、第１および第２の学習用フレーム生成部と、ＦＤＢ処理部とを有する。複数のポートは、他方の中継装置に通信回線を介して接続されるブリッジ用ポートと、他方の中継装置との間で装置跨ぎのＬＡＧが設定されるＭＬＡＧ用ポートとを含む。ＦＤＢは、複数のエントリを備え、複数のエントリのそれぞれにＭＡＣアドレスとポート識別子との対応関係を保持する。第１の学習用フレーム生成部は、ＭＬＡＧ用ポートでフレームを受信した場合に、当該受信したフレームの送信元ＭＡＣアドレスと受信ポート識別子とを含む第１の学習用フレームを生成し、それを送信帯域を制限してブリッジ用ポートから送信する。第２の学習用フレーム生成部は、所定の周期毎に、ＦＤＢの複数のエントリを読み出し、当該読み出したエントリに保持される対応関係を含んだ第２の学習用フレームを生成し、それをブリッジ用ポートから送信する。ＦＤＢ処理部は、ブリッジ用ポートで第１または第２の学習用フレームを受信した場合に、第１の学習用フレームに含まれる送信元ＭＡＣアドレスを受信ポート識別子に対応付けてＦＤＢに学習し、第２の学習用フレームに含まれる対応関係をＦＤＢに学習する。
【発明の効果】
【００１１】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、ＭＬＡＧスイッチにおいて、ブリッジ用ポートの帯域消費を抑えつつＦＤＢの保持内容を高精度に同期させることが可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１による中継システムの構成例および動作例を示す概略図である。
【図２】図１に加えて行われる動作例を示す概略図である。
【図３】図１の中継システムにおいて、ＭＬＡＧスイッチを構成する中継装置の概略構成例を示すブロック図である。
【図４】図３の中継装置において、ブリッジ用ポートから送信されるブリッジ用フレームのフォーマット構成例を示す図である。
【図５】図３の中継装置において、第１の学習用フレーム生成部の主要な処理内容の一例を示すフロー図である。
【図６】図３の中継装置において、第２の学習用フレーム生成部の主要な処理内容の一例を示すフロー図である。
【図７】図３の中継装置において、ＦＤＢ同期部の主要な処理内容の一例を示すフロー図である。
【図８】本発明の実施の形態２による中継装置において、一部の概略的な動作例を説明する図である。
【図９】本発明の実施の形態２による中継装置の概略構成例を示すブロック図である。
【図１０】図９の中継装置において、第２の学習用フレーム生成部の主要な処理内容の一例を示すフロー図である。
【発明を実施するための形態】
【００１３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１４】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１６】
（実施の形態１）
《中継システムの概略構成》
図１は、本発明の実施の形態１による中継システムの構成例および動作例を示す概略図である。図２は、図１に加えて行われる動作例を示す概略図である。図１および図２に示す中継システムは、ＭＬＡＧスイッチＭＬＡＧＳＷを構成する２台の中継装置（第１および第２の中継装置）ＳＷ１，ＳＷ２と、複数（ここでは２台）のユーザ用中継装置ＳＷＵ１，ＳＷＵ２とを備える。中継装置ＳＷ１，ＳＷ２およびユーザ用中継装置ＳＷＵ１，ＳＷＵ２のそれぞれは、レイヤ２（Ｌ２）の中継処理を行うＬ２スイッチや、加えてレイヤ３（Ｌ３）の中継処理を行うＬ３スイッチ等である。本明細書では、中継装置はＬ２スイッチである場合を例とする。
【００１７】
ユーザ用中継装置ＳＷＵ１，ＳＷＵ２のそれぞれは、ＬＡＧ用ポートＰｌ１，Ｐｌ２と、一般ポートＰ３とを備える。ユーザ用中継装置ＳＷＵ１のＬＡＧ用ポートＰｌ１，Ｐｌ２には、ＭＬＡＧ（ここではＭＬＡＧ［１］とする）が設定され、ユーザ用中継装置ＳＷＵ２のＬＡＧ用ポートＰｌ１，Ｐｌ２には、ＭＬＡＧ（ここではＭＬＡＧ［２］とする）が設定される。ただし、ユーザ用中継装置ＳＷＵ１，ＳＷＵ２のそれぞれは、ＬＡＧ用ポートＰｌ１，Ｐｌ２に通常のＬＡＧを設定すればよく、特にＭＬＡＧを認識する必要はない。ユーザ用中継装置ＳＷＵ１の一般ポートＰ３には、ＭＡＣ（Media Access Control）アドレスＭＡ１を備える端末ＴＭ１が接続され、ユーザ用中継装置ＳＷＵ２の一般ポートＰ３には、ＭＡＣアドレスＭＡ２を備える端末ＴＭ２が接続される。
【００１８】
中継装置ＳＷ１，ＳＷ２のそれぞれは、ＭＬＡＧ用ポートＰｍ１，Ｐｍ２と、一般ポートＰ３と、ブリッジ用ポートＰｂとを含む複数のポートを備える。中継装置ＳＷ１の一般ポートＰ３には、ＭＡＣアドレスＭＡ３を備える端末ＴＭ３が接続され、中継装置ＳＷ２の一般ポートＰ３には、ＭＡＣアドレスＭＡ４を備える端末ＴＭ４が接続される。ブリッジ用ポートＰｂは、他方の中継装置（以降、対向装置とも呼ぶ）に通信回線を介して接続される。すなわち、中継装置ＳＷ１，ＳＷ２のブリッジ用ポートＰｂは、互いに通信回線を介して接続される。
【００１９】
中継装置ＳＷ１，ＳＷ２のＭＬＡＧ用ポートＰｍ１は、それぞれ、通信回線（例えばイーサネット（登録商標）回線）を介してユーザ用中継装置ＳＷＵ１のＬＡＧ用ポートＰｌ１，Ｐｌ２に接続される。同様に、中継装置ＳＷ１，ＳＷ２のＭＬＡＧ用ポートＰｍ２は、それぞれ、通信回線を介してユーザ用中継装置ＳＷＵ２のＬＡＧ用ポートＰｌ１，Ｐｌ２に接続される。
【００２０】
ＭＬＡＧ用ポートＰｍ１，Ｐｍ２のそれぞれには、他方の中継装置との間で装置跨ぎのＬＡＧ（すなわちＭＬＡＧ）が設定される。具体的には、中継装置ＳＷ１は、ＭＬＡＧテーブルＭＬＡＧＴＢＬ１を備える。中継装置ＳＷ１は、当該テーブルを用いて、自装置のＭＬＡＧ用ポートＰｍ１と対向装置（ＳＷ２）のＭＬＡＧ用ポートＰｍ１とに装置跨ぎのＭＬＡＧ［１］を設定し、自装置のＭＬＡＧ用ポートＰｍ２と対向装置（ＳＷ２）のＭＬＡＧ用ポートＰｍ２とに装置跨ぎのＭＬＡＧ［２］を設定する。
【００２１】
同様に、中継装置ＳＷ２も、ＭＬＡＧテーブルＭＬＡＧＴＢＬ２を備える。中継装置ＳＷ２は、当該テーブルを用いて、自装置のＭＬＡＧ用ポートＰｍ１と対向装置（ＳＷ１）のＭＬＡＧ用ポートＰｍ１とにＭＬＡＧ［１］を設定し、自装置のＭＬＡＧ用ポートＰｍ２と対向装置（ＳＷ１）のＭＬＡＧ用ポートＰｍ２とにＭＬＡＧ［２］を設定する。ここで、図１において、例えば、ポート識別子｛Ｐｍ１（ＳＷ１）｝は、中継装置ＳＷ１のＭＬＡＧ用ポートＰｍ１の識別子（ＩＤ）を表し、同様に、本明細書では、｛ＡＡ｝は「ＡＡ」の識別子を表す。また、中継装置ＳＷ１，ＳＷ２が用いるポート識別子には、中継装置の識別子が関連付けられている。
【００２２】
中継装置ＳＷ１は、ＦＤＢ（Forwarding DataBase）（ここではＦＤＢ［１］とする）を備え、中継装置ＳＷ２も、ＦＤＢ（ここではＦＤＢ［２］とする）を備える。ＦＤＢ［１］，ＦＤＢ［２］のそれぞれは、複数のエントリを備え、複数のエントリのそれぞれにＭＡＣアドレスとポート識別子との対応関係を保持する。また、中継装置ＳＷ１，ＳＷ２のそれぞれは、図１に示すように、学習用フレーム（第１の学習用フレーム）ＬＦａを生成する学習用フレーム生成部（第１の学習用フレーム生成部）１６を備える。加えて、中継装置ＳＷ１，ＳＷ２のそれぞれは、図２に示すように、学習用フレーム（第２の学習用フレーム）ＬＦｂを生成する学習用フレーム生成部（第２の学習用フレーム生成部）１８を備える。
【００２３】
《中継システムの概略動作［１］》
このような構成において、図１の例では、中継装置ＳＷ１は、端末ＴＭ１から端末ＴＭ２に向けたユーザフレームＵＦ１と、端末ＴＭ３から端末ＴＭ１に向けたユーザフレームＵＦ３とを中継している。中継装置ＳＷ２は、ユーザフレームＵＦ１の逆方向となる端末ＴＭ２から端末ＴＭ１に向けたユーザフレームＵＦ２を中継している。
【００２４】
ユーザ用中継装置ＳＷＵ１，ＳＷＵ２のそれぞれは、ＬＡＧ用ポートＰｌ１，Ｐｌ２を論理的に１個のポートとみなして中継動作を行う。具体的には、ユーザ用中継装置ＳＷＵ１，ＳＷＵ２のそれぞれは、ＬＡＧ用ポートＰｌ１，Ｐｌ２へフレームを中継する際には、例えば、受信したフレームのＭＡＣアドレスやＩＰアドレス等を用いた自装置固有のハッシュ関数に基づき、いずれか一方のＬＡＧ用ポートを選択する。このため、図１のように、双方向のユーザフレームＵＦ１，ＵＦ２をそれぞれ異なる中継装置ＳＷ１，ＳＷ２が受信するような場合がある。
【００２５】
中継装置ＳＷ１は、ユーザフレームＵＦ１をＭＬＡＧ用ポートＰｍ１で受信し、当該フレームの送信元ＭＡＣアドレスＭＡ１を、受信したポートのポート識別子（受信ポート識別子と呼ぶ）｛Ｐｍ１（ＳＷ１）｝に対応付けてＦＤＢ［１］のエントリ（ここではＮｏ．１）に学習する。また、中継装置ＳＷ１は、ユーザフレームＵＦ３を一般ポートＰ３で受信し、当該フレームの送信元ＭＡＣアドレスＭＡ３を、受信ポート識別子｛Ｐ３（ＳＷ１）｝に対応付けてＦＤＢ［１］のエントリ（ここではＮｏ．３）に学習する。同様に、中継装置ＳＷ２は、ユーザフレームＵＦ２をＭＬＡＧ用ポートＰｍ２で受信し、当該フレームの送信元ＭＡＣアドレスＭＡ２を、受信ポート識別子｛Ｐｍ２（ＳＷ２）｝に対応付けてＦＤＢ［２］のエントリ（ここではＮｏ．２）に学習する。
【００２６】
ＭＬＡＧスイッチＭＬＡＧＳＷは、理想的には、ＭＬＡＧスイッチＭＬＡＧＳＷの外部から見て、あたかも１台のスイッチのように動作することが望ましい。この理想状態では、ＭＬＡＧスイッチＭＬＡＧＳＷは、例えば、図１のような経路で定期的に双方向のユーザフレームＵＦ１，ＵＦ２を受信すると、ＦＤＢにＭＡＣアドレスＭＡ１，ＭＡ２を定期的に学習できるため、定常状態でフラッディングを行うことはない。しかし、図１のＭＬＡＧスイッチＭＬＡＧＳＷは、ＦＤＢの同期を行わない場合には、定常状態でフラッディングを行ってしまう。
【００２７】
具体的には、中継装置ＳＷ１は、端末ＴＭ２からのユーザフレームを受信しないため、ＭＡＣアドレスＭＡ２をＦＤＢ［１］に学習できず、ユーザフレームＵＦ１を受信した際にフラッディングを行ってしまう。同様に、中継装置ＳＷ２も、端末ＴＭ１からのユーザフレームを受信しないため、ＭＡＣアドレスＭＡ１をＦＤＢ［２］に学習できず、ユーザフレームＵＦ２を受信した際にフラッディングを行ってしまう。なお、詳細には、例えば、中継装置ＳＷ１は、中継装置ＳＷ２によってフラッディングされたフレームを受信することで、一時的にＭＡＣアドレスＭＡ２をＦＤＢ［１］に学習できる。ただし、当該ＭＡＣアドレスＭＡ２は、所定の期間経過後にエージングによって消去されるため、その都度、フラッディングが生じ得る。また、例えば、ユーザフレームＵＦ３の逆方向となるユーザフレームを中継装置ＳＷ２が受信した場合も、同様の問題が生じ得る。
【００２８】
そこで、中継装置ＳＷ１，ＳＷ２の学習用フレーム生成部１６は、ブリッジ用ポートＰｂを除く各ポート（ＭＬＡＧ用ポートＰｍ１，Ｐｍ２および一般ポートＰ３）でユーザフレームを受信した場合に、受信したフレームの送信元ＭＡＣアドレスと受信ポート識別子とを含む学習用フレームＬＦａを生成する。そして、学習用フレーム生成部１６は、生成した学習用フレームＬＦａを、送信帯域を制限して自装置のブリッジ用ポートＰｂから送信する。
【００２９】
図１の例では、中継装置ＳＷ１の学習用フレーム生成部１６は、ＭＬＡＧ用ポートＰｍ１でユーザフレームＵＦ１を受信した場合に、送信元ＭＡＣアドレスＭＡ１と受信ポート識別子｛Ｐｍ１（ＳＷ１）｝とを含む学習用フレームＬＦａ１を生成し、ブリッジ用ポートＰｂから送信する。また、当該学習用フレーム生成部１６は、一般ポートＰ３でユーザフレームＵＦ３を受信した場合に、送信元ＭＡＣアドレスＭＡ３と受信ポート識別子｛Ｐ３（ＳＷ１）｝とを含む学習用フレームＬＦａ３を生成し、ブリッジ用ポートＰｂから送信する。同様に、中継装置ＳＷ２の学習用フレーム生成部１６は、ＭＬＡＧ用ポートＰｍ２でユーザフレームＵＦ２を受信した場合に、送信元ＭＡＣアドレスＭＡ２と受信ポート識別子｛Ｐｍ２（ＳＷ２）｝とを含む学習用フレームＬＦａ２を生成し、ブリッジ用ポートＰｂから送信する。
【００３０】
一方、中継装置ＳＷ１（詳細には図３で述べるＦＤＢ処理部１２）は、ブリッジ用ポートＰｂで学習用フレームＬＦａ２を受信した場合に、当該フレームＬＦａ２に含まれる送信元ＭＡＣアドレスＭＡ２を受信ポート識別子｛Ｐｍ２（ＳＷ２）｝に対応付けてＦＤＢ［１］のエントリ（ここではＮｏ．２）に学習する。同様に、中継装置ＳＷ２（ＦＤＢ処理部１２）は、ブリッジ用ポートＰｂで学習用フレームＬＦａ１を受信した場合に、送信元ＭＡＣアドレスＭＡ１を受信ポート識別子｛Ｐｍ１（ＳＷ１）｝に対応付けてＦＤＢ［２］のエントリ（ここではＮｏ．１）に学習する。さらに、中継装置ＳＷ２（ＦＤＢ処理部１２）は、ブリッジ用ポートＰｂで学習用フレームＬＦａ３を受信した場合に、送信元ＭＡＣアドレスＭＡ３を受信ポート識別子｛Ｐ３（ＳＷ１）｝に対応付けてＦＤＢ［２］のエントリ（ここではＮｏ．３）に学習する。
【００３１】
これにより、中継装置ＳＷ１のＦＤＢ［１］は、ユーザフレームに伴うエントリＮｏ．１およびエントリＮｏ．３の対応関係に加えて、学習用フレームに伴うエントリＮｏ．２の対応関係を保持する。中継装置ＳＷ２のＦＤＢ［２］は、ユーザフレームに伴うエントリＮｏ．２の対応関係に加えて、学習用フレームに伴うエントリＮｏ．１およびエントリＮｏ．３の対応関係を保持する。なお、図１の例では、同様にして、ＦＤＢ［１］およびＦＤＢ［２］は、エントリＮｏ．４に、ＭＡＣアドレスＭＡ４とポート識別子｛Ｐ３（ＳＷ２）｝との対応関係を保持している。
【００３２】
その結果、中継装置ＳＷ１は、ユーザフレームＵＦ１を受信した場合、その宛先ＭＡＣアドレスＭＡ２を検索キーとしてＦＤＢ［１］を検索し、ポート識別子｛Ｐｍ２（ＳＷ２）｝を取得する。中継装置ＳＷ１は、ＭＬＡＧテーブルＭＬＡＧＴＢＬ１に基づき、ポート識別子｛Ｐｍ２（ＳＷ２）｝がＭＬＡＧ［２］であることを認識し、ＭＬＡＧ［２］に対応する自装置のＭＬＡＧ用ポートＰｍ２へユーザフレームＵＦ１を中継する。同様に、中継装置ＳＷ２は、ユーザフレームＵＦ２を受信した場合に、その宛先ＭＡＣアドレスＭＡ１を検索キーとしてＦＤＢ［２］を検索し、ポート識別子｛Ｐｍ１（ＳＷ１）｝を取得する。中継装置ＳＷ２は、ＭＬＡＧテーブルＭＬＡＧＴＢＬ２に基づき、ポート識別子｛Ｐｍ１（ＳＷ１）｝がＭＬＡＧ［１］であることを認識し、ＭＬＡＧ［１］に対応する自装置のＭＬＡＧ用ポートＰｍ１へユーザフレームＵＦ２を中継する。
【００３３】
ここで、本実施の形態１では、特に限定はされないが、中継装置ＳＷ１，ＳＷ２のそれぞれは、ＦＤＢの検索によって取得したポート識別子（宛先ポート識別子と呼ぶ）がＭＬＡＧである場合、当該ＭＬＡＧに対応する自装置のＭＬＡＧ用ポートへユーザフレームを中継する。ただし、この際に、中継装置ＳＷ１，ＳＷ２のそれぞれは、当該自装置のＭＬＡＧ用ポートが障害有り（対向装置のＭＬＡＧ用ポートが障害無し）の場合には、ユーザフレームをブリッジ用ポートＰｂへ中継し、対向装置のＭＬＡＧ用ポートに中継を行わせる。
【００３４】
以上、図１に示したような学習用フレームＬＦａを用いることで、ＦＤＢ［１］とＦＤＢ［２］を短時間で同期させることが可能になり、前述したフラッディングの問題を回避できる。しかし、当該方式では、各中継装置ＳＷ１，ＳＷ２は、ブリッジ用ポートＰｂを除くポートでユーザフレームを受信する毎に学習用フレームＬＦａをブリッジ用ポートＰｂから送信するため、ブリッジ用ポートＰｂの帯域が圧迫される恐れがある。極論すれば、学習用フレームＬＦａを対象としたブリッジ用ポートＰｂの送信帯域として、ブリッジ用ポートＰｂを除く各ポート（ＭＬＡＧ用ポートＰｍ１，Ｐｍ２および一般ポートＰ３）の最大帯域を全て合計した帯域が必要とされる恐れがある。
【００３５】
ブリッジ用ポートＰｂは、例えば、端末ＴＭ３と端末ＴＭ４との間のユーザフレームや、場合によっては、端末ＴＭ１から端末ＴＭ３に向けたユーザフレームといったように多くのユーザフレームを送信する必要がある。加えて、ブリッジ用ポートＰｂは、例えば、中継装置ＳＷ１，ＳＷ２間での互いの生存確認や、障害情報の交換等を行うための制御フレームを送信する必要もある。このようなフレームは、学習用フレームＬＦａよりも重要度が高く、学習用フレームＬＦａによってブリッジ用ポートＰｂの帯域が圧迫されると、重要度が高いフレームに影響が生じてしまう。
【００３６】
そこで、図１の例では、学習用フレームＬＦａの送信帯域を制限している。具体的には、例えば、学習用フレームＬＦａの優先度を他のフレーム（例えばユーザフレーム等）の優先度よりも低く設定する方法が挙げられる。あるいは、学習用フレームＬＦａの送信帯域の上限を、ブリッジ用ポートＰｂの送信帯域の例えば１０％以下の値、望ましくは５％以下の値に設定する方法が挙げられる。しかし、送信帯域を制限すると、学習用フレームＬＦａが大きな遅延を経て対向装置に到達する事態や、場合によっては、到達せずに破棄される事態が生じ得る。そうすると、前述したフラッディングの問題が発生する。
【００３７】
《中継システムの概略動作［２］》
そこで、本実施の形態１では、図１で述べた学習用フレーム（第１の学習用フレーム）ＬＦａに加えて、図２に示すような学習用フレーム（第２の学習用フレーム）ＬＦｂを用いてＦＤＢの同期を行う。中継装置ＳＷ１，ＳＷ２の学習用フレーム生成部（第２の学習用フレーム生成部）１８は、所定の周期毎に、ＦＤＢの複数のエントリを読み出し、当該読み出したエントリに保持される対応関係を含んだ学習用フレームＬＦｂを生成する。そして、学習用フレーム生成部１８は、当該学習用フレームＬＦｂをブリッジ用ポートＰｂから送信する。
【００３８】
具体的には、学習用フレーム生成部１８は、ＦＤＢの１個のエントリに１個の学習用フレームＬＦｂを対応させることで、複数の学習用フレームＬＦｂを生成および送信する。図２の例では、中継装置ＳＷ１の学習用フレーム生成部１８は、ある周期（Ｔ１）が始まると、ＦＤＢ［１］のエントリＮｏ．１に保持させる対応関係を含んだ学習用フレームＬＦｂ１１の生成および送信を行い、次いでＦＤＢ［１］のエントリＮｏ．２に保持させる対応関係を含んだ学習用フレームＬＦｂ１２の生成および送信を行う。
【００３９】
以降同様にして、当該学習用フレーム生成部１８は、最終のエントリＮｏに達するまで学習用フレームＬＦｂを順次生成し、最終のエントリＮｏに達したのちは、次の周期（Ｔ２）が始めるまで待つ。当該学習用フレーム生成部１８は、次の周期（Ｔ２）が始まると、周期（Ｔ１）の場合と同様の動作を繰り返す。所定の周期は、例えば、１個の学習用フレームＬＦｂを生成および送信するのに要する時間と、ＦＤＢ［１］の最大エントリ数とに基づいて予め定められる。特に限定はされないが、所定の周期は、数十秒〜数百秒等である。
【００４０】
同様に、中継装置ＳＷ２の学習用フレーム生成部１８は、ある周期（Ｔ１）が始まると、ＦＤＢ［２］のエントリＮｏ．１に保持させる対応関係を含んだ学習用フレームＬＦｂ２１の生成および送信を行い、次いでＦＤＢ［２］のエントリＮｏ．２に保持させる対応関係を含んだ学習用フレームＬＦｂ２２の生成および送信を行う。以降同様にして、当該学習用フレーム生成部１８は、最終のエントリＮｏに達するまで学習用フレームＬＦｂを順次生成し、最終のエントリＮｏに達したのちは、次の周期（Ｔ２）が始めるまで待つ。
【００４１】
一方、中継装置ＳＷ１（詳細には図３で述べるＦＤＢ処理部１２）は、ブリッジ用ポートＰｂで学習用フレームＬＦｂ２１を受信した場合に、当該フレームＬＦｂ２１に含まれる対応関係（すなわち、ＭＡＣアドレスＭＡ１とポート識別子｛Ｐｍ１（ＳＷ１）｝との対応関係）をＦＤＢ［１］のエントリに学習する。また、中継装置ＳＷ１は、ブリッジ用ポートＰｂで学習用フレームＬＦｂ２２を受信した場合に、当該フレームＬＦｂ２２に含まれる対応関係（すなわち、ＭＡＣアドレスＭＡ２とポート識別子｛Ｐｍ２（ＳＷ２）｝との対応関係）をＦＤＢ［１］のエントリに学習する。なお、中継装置ＳＷ２がブリッジ用ポートＰｂで学習用フレームＬＦｂ１１，ＬＦｂ１２，…を受信した場合も、同様の処理が行われる。
【００４２】
ここで、学習用フレームＬＦｂのフレームフォーマットは、図１で述べた学習用フレームＬＦａのフレームフォーマットと同じであることが望ましい。これにより、中継装置ＳＷ１，ＳＷ２（詳細には図３で述べるＦＤＢ処理部１２）は、学習用フレームＬＦａを受信した場合と、学習用フレームＬＦｂを受信した場合とで、同じ構成および同じ処理内容を用いてＦＤＢの学習を行うことができる。ただし、場合によっては、異なるフレームフォーマットを用い、複数のエントリを１個の学習用フレームＬＦｂに対応させるようなことも可能である。
【００４３】
以上、図２に示したような学習用フレームＬＦｂを用いることで、ＦＤＢ［１］とＦＤＢ［２］を所定の周期毎に確実に同期させることが可能になり、前述したフラッディングの問題を回避できる。具体的には、図１において、例えば、中継装置ＳＷ１，ＳＷ２が同じ端末からのフレームを連続して受信するような場合、それぞれに対応する学習用フレームＬＦａは、重複する情報を含むことになる。一方、図２において順次送信される学習用フレームＬＦｂは、学習用フレームＬＦａと異なり重複する情報を含まず、かつ、所定の周期毎に送信されるため、ブリッジ用ポートＰｂの送信帯域に対して無視できる程度の影響しか与えない。
【００４４】
このため、学習用フレームＬＦｂに対しては、特に送信帯域を制限する必要はなく、例えば、ユーザフレームと同じ優先度（言い換えれば学習用フレームＬＦａよりも高い優先度）を設定することができる。その結果、学習用フレームＬＦｂは、前述した学習用フレームＬＦａの場合と異なり、対向装置に確実に到達することができる。一方、学習用フレームＬＦｂは、前述した学習用フレームＬＦａと比較して、ＦＤＢの同期に要する時間が長くなり得る。そこで、学習用フレームＬＦｂと学習用フレームＬＦａを併用して用いることで、ＦＤＢの同期に要する時間の短縮が図れる。特に、中継装置ＳＷ１，ＳＷ２が低い頻度でフレームを受信しているような期間では、学習用フレームＬＦａによってＦＤＢを短時間で同期することができる。
【００４５】
これらの結果、ＦＤＢ［１］およびＦＤＢ［２］の保持内容が多く一致している状態を長い期間構築することができ、ブリッジ用ポートＰｂの帯域消費を抑えつつＦＤＢの保持内容を高精度に同期させることが可能になる。なお、図１および図２の例では、中継装置ＳＷ１，ＳＷ２は、各学習用フレームＬＦａ，ＬＦｂによってＭＬＡＧ用ポートＰｍ１，Ｐｍ２および一般ポートＰ３を対象にＦＤＢの同期を行ったが、場合によっては、同期の対象をＭＬＡＧ用ポートのみとすることも可能である。例えば、ＭＬＡＧスイッチＭＬＡＧＳＷは、一般ポートに関しては、論理的な１台のスイッチとしてではなく、異なる２台のスイッチとして運用される場合がある。
【００４６】
《中継装置の構成および概略動作》
図３は、図１の中継システムにおいて、ＭＬＡＧスイッチを構成する中継装置の概略構成例を示すブロック図である。図３に示す中継装置ＳＷは、単数または複数のＭＬＡＧ用ポートＰｍ１，Ｐｍ２，…と、単数または複数の一般ポートＰ３，…と、ブリッジ用ポートＰｂと、フレーム処理部１０と、制御部１１とを備える。フレーム処理部１０は、ＦＤＢと、ＭＬＡＧテーブルＭＬＡＧＴＢＬと、ＦＤＢ処理部１２と、帯域制限部１３と、障害監視部１４とを備える。制御部１１は、プロセッサ部ＣＰＵと、記憶部１５とを備える。
【００４７】
フレーム処理部１０は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）に、ＣＡＭ（Content Addressable Memory）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を適宜組み合わせることで構成される。具体的には、ＦＤＢは、ＣＡＭに実装され、ＭＬＡＧテーブルＭＬＡＧＴＢＬは、ＲＡＭやＲＯＭに実装される。また、制御部１１は、プロセッサ部ＣＰＵを用いたプログラム処理によって実装される。ただし、各部の具体的な実装形態は、勿論、これに限定されるものではなく、ハードウェアまたはソフトウェアあるいはその組合せを用いて適宜実装されればよい。
【００４８】
ＦＤＢおよびＭＬＡＧテーブルＭＬＡＧＴＢＬは、図１および図２に示したような構造を備える。ＦＤＢは、より詳細には、各エントリに、ＭＡＣアドレスおよびポート識別子に加えてＶＬＡＮ（Virtual LAN）識別子を含めた対応関係を保持する。ＦＤＢ処理部１２は、図１で述べたように、ユーザフレームを対象にＦＤＢの学習と検索を行う。ＦＤＢ処理部１２は、さらに、学習用フレーム生成部（第１の学習用フレーム生成部）１６と、ＦＤＢ同期部１７とを備える。
【００４９】
学習用フレーム生成部１６は、図１で述べたように、学習用フレーム（第１の学習用フレーム）ＬＦａを生成し、当該フレームをブリッジ用ポートＰｂから送信する。ＦＤＢ同期部１７は、図１および図２で述べたように、ブリッジ用ポートＰｂで学習用フレームＬＦａまたは学習用フレームＬＦｂを受信した場合に、当該学習用フレームの情報をＦＤＢに学習することで、ＭＬＡＧスイッチＭＬＡＧＳＷを構成する他方の中継装置との間でＦＤＢの同期を行う。
【００５０】
帯域制限部１３は、図１で述べたように、ブリッジ用ポートＰｂから送信するフレームの送信帯域を制限する。具体的には、帯域制限部１３は、予め定めた送信帯域を超える超過フレームをバッファリングしキューに格納するシェーパや、場合によっては超過フレームを破棄するポリサ等を備える。また、帯域制限部１３は、それぞれ異なる優先度が設定され、格納されたフレームを優先度に応じた頻度で取り出す複数のキューを備える。学習用フレームＬＦａの送信帯域は、例えば、シェーパやポリサに所定の設定を行うことや、あるいは、優先度が低いキューに格納されることで制限される。
【００５１】
障害監視部１４は、各ポートの障害有無を監視する。具体的には、障害監視部１４は、例えば、ポートで受信した光信号のレベルや、アイドル状態で生成されるリンクパルス信号の有無を監視すること等で障害有無を監視する。あるいは、障害監視部１４は、各ポートと装置外部との間で定期的に制御フレームの通信を行うことで障害有無を監視する。障害監視部１４は、例えば、ＭＬＡＧ用ポートＰｍ１，Ｐｍ２，…の障害有りを検出した場合には、その情報をＭＬＡＧテーブルＭＬＡＧＴＢＬ等に記録する。ＦＤＢ処理部１２は、例えば、受信したユーザフレームの宛先ポートがＭＬＡＧ用ポートの場合で、自装置のＭＬＡＧ用ポートが障害有りの場合には、当該フレームを障害有りのＭＬＡＧ用ポートの代わりにブリッジ用ポートＰｂへ中継する。
【００５２】
プロセッサ部ＣＰＵは、記憶部１５に保持される所定のプログラムを実行することによって構成される学習用フレーム生成部（第２の学習用フレーム生成部）１８を備える。学習用フレーム生成部１８は、図２で述べたように、所定の周期毎に、学習用フレーム（第２の学習用フレーム）ＬＦｂを生成し、当該フレームを、フレーム処理部１０を介してブリッジ用ポートＰｂから送信する。
【００５３】
《中継装置の詳細動作》
図４は、図３の中継装置において、ブリッジ用ポートから送信されるブリッジ用フレームのフォーマット構成例を示す図である。図４に示すブリッジ用フレームＢＦは、送信元ＭＡＣアドレスＳＭＡＣ、宛先ＭＡＣアドレスＤＭＡＣ、受信ポート識別子ＲＰＩＤ、宛先ポート識別子ＤＰＩＤおよびフレームタイプＦＴ等を含んでいる。フレームタイプＦＴには、ユーザフレームＵＦであるか学習用フレームＬＦであるかといったようにブリッジ用フレームＢＦの種別を表す識別子が格納される。
【００５４】
例えば、図１において、中継装置ＳＷ１が端末ＴＭ３から端末ＴＭ４に向けたユーザフレームＵＦを受信した場合で、当該ユーザフレームＵＦを中継する場合を想定する。この場合、中継装置ＳＷ１のＦＤＢ処理部１２は、受信したユーザフレームＵＦに、受信ポート識別子ＲＰＩＤ、宛先ポート識別子ＤＰＩＤおよびフレームタイプＦＴを付加することでブリッジ用フレームＢＦを生成する。図４に示した送信元ＭＡＣアドレスＳＭＡＣおよび宛先ＭＡＣアドレスＤＭＡＣは、受信したユーザフレームＵＦに含まれており、それぞれ、ＭＡＣアドレスＭＡ３およびＭＡＣアドレスＭＡ４である。
【００５５】
受信ポート識別子ＲＰＩＤは｛Ｐ３（ＳＷ１）｝であり、宛先ポート識別子ＤＰＩＤは、ＦＤＢ［１］のエントリＮｏ．４に保持される｛Ｐ３（ＳＷ２）｝である。フレームタイプＦＴには、ユーザフレームＵＦを表す識別子が格納される。中継装置ＳＷ１のＦＤＢ処理部１２は、宛先ポート識別子ＤＰＩＤが表すポートがＭＬＡＧではなく、かつ中継装置ＳＷ２のポートであるため、このようなブリッジ用フレームＢＦを生成して、ブリッジ用ポートＰｂから送信する。
【００５６】
中継装置ＳＷ２のＦＤＢ処理部１２は、ブリッジ用ポートＰｂで当該ブリッジ用フレームＢＦを受信する。中継装置ＳＷ２のＦＤＢ処理部１２は、当該フレームＢＦに含まれる送信元ＭＡＣアドレスＳＭＡＣ（すなわちＭＡ３）を当該フレームＢＦに含まれる受信ポート識別子ＲＰＩＤ（すなわち｛Ｐ３（ＳＷ１）｝）に対応付けてＦＤＢ［２］に学習する。また、中継装置ＳＷ２のＦＤＢ処理部１２は、当該フレームＢＦを、当該フレームＢＦに含まれる宛先ポート識別子ＤＰＩＤに基づき一般ポートＰ３へ中継する。この際には、中継装置ＳＷ２のＦＤＢ処理部１２は、フレームに含まれる不要な情報（受信ポート識別子ＲＰＩＤ、宛先ポート識別子ＤＰＩＤおよびフレームタイプＦＴ）を削除する。
【００５７】
このように、本実施の形態１では、ユーザフレームＵＦの中継に際し、ユーザフレームＵＦを受信した側の中継装置（例えばＳＷ１）が、自装置のＦＤＢの検索結果に基づき、対向装置（ＳＷ２）を含めて宛先ポートを定める方式となっている。対向装置（ＳＷ２）は、自装置のＦＤＢを検索せずに、ブリッジ用フレームＢＦに含まれる宛先ポート識別子ＤＰＩＤに基づきユーザフレームを中継する。ただし、勿論、このような方式に限らず、ブリッジ用フレームＢＦを受信した中継装置（ＳＷ２）も、自装置のＦＤＢを検索し、その検索結果に基づきフレームを中継するような方式を用いてもよい。この場合、図４における宛先ポート識別子ＤＰＩＤは不要である。
【００５８】
図５は、図３の中継装置において、第１の学習用フレーム生成部の主要な処理内容の一例を示すフロー図である。学習用フレーム生成部（第１の学習用フレーム生成部）１６は、まず、ブリッジ用ポートＰｂを除くポートでフレーム（具体的にはユーザフレームＵＦ）を受信したか否かを判別する（ステップＳ１０１）。フレームを受信した場合、学習用フレーム生成部１６は、受信したフレームをコピーし、それに、受信ポート識別子ＲＰＩＤおよびフレームタイプＦＴを付加することで学習用フレームＬＦａを生成する（ステップＳ１０２）。
【００５９】
例えば、図１を例として、中継装置ＳＷ１がユーザフレームＵＦ１を受信した場合を想定する。この場合、図４の送信元ＭＡＣアドレスＳＭＡＣおよび宛先ＭＡＣアドレスＤＭＡＣには、それぞれ、ユーザフレームＵＦ１に含まれる送信元ＭＡＣアドレスＭＡ１および宛先ＭＡＣアドレスＭＡ２が格納される。受信ポート識別子ＲＰＩＤには、｛Ｐｍ１（ＳＷ１）｝が格納され、フレームタイプＦＴには、学習用フレームＬＦを表す識別子が格納される。宛先ポート識別子ＤＰＩＤは、特に必要なく、例えば、予め定めた所定の値に設定される。
【００６０】
ステップＳ１０２ののち、学習用フレーム生成部１６は、生成した学習用フレーム（第１の学習用フレーム）ＬＦａを送信帯域を制限してブリッジ用ポートＰｂから送信する（ステップＳ１０３）。特に限定はされないが、学習用フレーム生成部１６は、例えば、フレームに送信帯域の制限情報を付加してシェーパまたはポリサへ伝送する処理や、あるいは、ユーザフレームＵＦや学習用フレーム（第２の学習用フレーム）ＬＦｂよりも低い優先度を設定して対応するキューへ伝送する処理等を行う。
【００６１】
なお、ステップＳ１０２に際し、学習用フレーム生成部１６は、受信したフレームをコピーする際に、学習用フレームＬＦａのサイズを低減する観点から、ペイロード部分を除いたヘッダ部分のみをコピーしてもよい。また、ステップＳ１０１，Ｓ１０２に際し、学習用フレーム生成部１６は、受信したフレームの宛先ポートがブリッジ用ポートＰｂとなる場合には、フレームを重複させない観点から、学習用フレームＬＦａを生成しなくてもよい。これらによって、学習用フレームＬＦａが本来必要とする送信帯域を低減でき、学習用フレームＬＦａが対向装置へ到達し易くなる。
【００６２】
図６は、図３の中継装置において、第２の学習用フレーム生成部の主要な処理内容の一例を示すフロー図である。学習用フレーム生成部（第２の学習用フレーム生成部）１８は、まず、所定の周期を定めるタイマをスタートさせる（ステップＳ２０１）。次いで、学習用フレーム生成部１８は、ＦＤＢの複数のエントリに保持される対応関係を一括して読み出し、記憶部１５に保存する（ステップＳ２０２、第１の処理）。
【００６３】
続いて、学習用フレーム生成部１８は、ステップＳ２０３〜Ｓ２０８（第２の処理）において、記憶部１５を読み出しながら複数の学習用フレーム（第２の学習用フレーム）ＬＦｂを順次生成し、当該生成した学習用フレームＬＦｂをブリッジ用ポートＰｂから順次送信する。具体的には、学習用フレーム生成部１８は、まず、Ｎを１に定め（ステップＳ２０３）、記憶部１５からＮ番目のエントリに保持される対応関係を読み出す（ステップＳ２０４）。そして、学習用フレーム生成部１８は、読み出した対応関係を含んだ学習用フレームＬＦｂを生成し（ステップＳ２０５）、それをブリッジ用ポートＰｂから送信する（ステップＳ２０６）。
【００６４】
例えば、図１を例として、中継装置ＳＷ１の学習用フレーム生成部１８が、ＦＤＢ［１］のエントリＮｏ．１の対応関係を記憶部１５から読み出した場合を想定する。この場合、図４の送信元ＭＡＣアドレスＳＭＡＣには、読み出した情報に基づきＭＡＣアドレスＭＡ１が格納され、宛先ＭＡＣアドレスＤＭＡＣには、予め定めた所定の値（例えば中継装置自身のＭＡＣアドレス等）が格納される。受信ポート識別子ＲＰＩＤには、読み出した情報に基づき｛Ｐｍ１（ＳＷ１）｝が格納され、フレームタイプＦＴには、学習用フレームＬＦを表す識別子が格納される。宛先ポート識別子ＤＰＩＤは、特に必要なく、例えば、予め定めた所定の値に設定される。
【００６５】
ステップＳ２０６ののち、学習用フレーム生成部１８は、ＮがＮｍａｘ（すなわち、最大エントリ数）に到達したか否かを判別し（ステップＳ２０７）、到達していない場合には、Ｎを１増加させてステップＳ２０４の処理に戻る（ステップＳ２０８）。一方、学習用フレーム生成部１８は、ステップＳ２０７でＮがＮｍａｘに到達した場合には、タイマがタイムアップするまで待機し、処理を終了する（ステップＳ２０９）。なお、学習用フレーム生成部１８は、処理を終了したのち再びステップＳ２０１の処理を開始することで、図６の処理フローを繰り返し実行する。
【００６６】
ここで、図３の構成例を用いると、図５の処理フロー（第１の学習用フレーム生成部１６の処理）は、ハードウェア処理で実行され、図６の処理フロー（第２の学習用フレーム生成部１８の処理）は、ソフトウェア処理で実行される。この場合、学習用フレーム生成部１６は、学習用フレーム（第１の学習用フレーム）ＬＦａを、ユーザフレームの中継と同等の処理速度で生成および送信することができる。その結果、学習用フレームＬＦａの送信帯域が制限された範囲内に収まっていれば、ＦＤＢの同期に要する時間を短縮することが可能になる。一方、学習用フレーム（第２の学習用フレーム）ＬＦｂは、ブリッジ用ポートＰｂの帯域に殆ど影響を及ぼさない程度の速度で送信されることが望ましい。この場合、学習用フレーム生成部１８は、高速性がさほど必要とされないため、ソフトウェア処理で実装される方がより効率的となる。
【００６７】
図７は、図３の中継装置において、ＦＤＢ同期部の主要な処理内容の一例を示すフロー図である。ＦＤＢ同期部１７は、まず、ブリッジ用ポートＰｂで学習用フレームＬＦａ，ＬＦｂを受信したか否かを判定する（ステップＳ３０１）。学習用フレームＬＦａ，ＬＦｂを受信した場合、ＦＤＢ同期部１７は、受信した学習用フレームＬＦａ，ＬＦｂに含まれる送信元ＭＡＣアドレスＳＭＡＣを、当該フレームに含まれる受信ポート識別子ＲＰＩＤに対応付けてＦＤＢに学習する（ステップＳ３０２）。その後、ＦＤＢ同期部１７は、当該学習用フレームＬＦａ，ＬＦｂを破棄する（ステップＳ３０３）。
【００６８】
以上、本実施の形態１の中継システムおよび中継装置を用いることで、代表的には、ブリッジ用ポートの帯域消費を抑えつつＦＤＢの保持内容を高精度に同期させることが可能になる。
【００６９】
（実施の形態２）
《中継装置の構成および概略動作（応用例）》
図８は、本発明の実施の形態２による中継装置において、一部の概略的な動作例を説明する図である。図９は、本発明の実施の形態２による中継装置の概略構成例を示すブロック図である。図６で述べたように、学習用フレーム生成部（第２の学習用フレーム生成部）１８は、所定のタイマ周期毎に学習用フレームＬＦｂを送信する。この際に、各タイマ周期の中で送信される学習用フレームＬＦｂの数は、可能な限り少ない方が望ましい。学習用フレームＬＦｂの数が少ないほど、ブリッジ用ポートＰｂの帯域消費を小さくすることができる。また、別の観点では、帯域消費が小さくなった分だけ、タイマ周期の長さを短縮することができ、ＦＤＢの同期に要する時間を短縮することが可能になる。
【００７０】
こうした中、例えば、図６におけるステップＳ２０２の処理は、図８に示すように、タイマがスタートした直後の比較的短い期間で行われ、その後、タイマが満了するまでに間にＦＤＢのエントリが消去される場合がある。代表的には、例えば、ポートに障害が発生した場合、当該ポートを含むエントリが消去される。また、例えば、中継装置がリングネットワークを構成する場合、ブロックポートの切り換えに応じてＦＤＢのフラッシュ命令が発行され、所定のリングポート（またはＶＬＡＮ識別子あるいはそれらの組合せ）を含むエントリが消去される。このようなＦＤＢのエントリの消去は、例えば、図３のプロセッサ部ＣＰＵによって実行される。
【００７１】
消去されたエントリは、ＦＤＢの同期の対象である必要はなく、さらに言えば、誤った宛先ポートへのフレーム中継を防止するため、ＦＤＢの同期の非対象である方が望ましい。そこで、本実施の形態２の中継装置は、図９に示されるような構成を備える。図９に示す中継装置ＳＷは、図３の構成例と比較して次の点が異なっている。１点目は、記憶部１５（実質的には学習用フレーム生成部１８ａ）が非対象リスト２０を有する点であり、２点目は、学習用フレーム生成部（第２の学習用フレーム生成部）１８ａの処理内容が異なる点である。
【００７２】
非対象リスト２０は、学習用フレーム（第２の学習用フレーム）ＬＦｂの送信の非対象とするＭＡＣアドレスまたはポート識別子を保持する。具体的には、図８で述べたように、非対象リスト２０は、消去されたエントリに含まれていたＭＡＣアドレスまたはポート識別子を保持する。この場合、プロセッサ部ＣＰＵは、ＦＤＢのエントリを消去する際に、併せて当該エントリのＭＡＣアドレスまたはポート識別子を非対象リスト２０に保存しておけばよい。このように、非対象リスト２０の保持内容は、動的に変更可能となっている。
【００７３】
また、非対象リスト２０は、例えば、ユーザ等によって登録された静的なＭＡＣアドレス等を保持してもよい。具体例として、図１におけるＭＬＡＧスイッチＭＬＡＧＳＷのＭＬＡＧ［１］とＭＬＡＧ［２］にそれぞれ２台のルータが接続され、当該２台のルータにＶＲＲＰ（Virtual Router Redundancy Protocol）やＨＳＲＰ（Hot Standby Router Protocol）等の冗長プロトコルが適用される場合が挙げられる。このような場合、当該ルータの障害切り換えを正常に機能させるため、ユーザ等は、当該ルータの仮想ＭＡＣアドレスを予め非対象リスト２０に登録しておく。
【００７４】
《中継装置の詳細動作（変形例）》
図１０は、図９の中継装置において、第２の学習用フレーム生成部の主要な処理内容の一例を示すフロー図である。図１０の処理フローは、図６の処理フローと比較して、ステップＳ２０３〜Ｓ２０８（第２の処理）の過程で、ステップＳ４０１，Ｓ４０２の処理が実行される点が異なっている。ステップＳ４０１，Ｓ４０２の処理は、ステップＳ２０４の処理とステップＳ２０５の処理の間に順に挿入される。
【００７５】
学習用フレーム生成部１８ａは、ステップＳ２０４において記憶部１５からＮ番目のエントリの対応関係を読み出したのち、読み出した対応関係のポート識別子が自装置のポート識別子であるか否かを判定する（ステップＳ４０１）。学習用フレーム生成部１８ａは、自装置のポート識別子ではない場合（すなわち対向装置のポート識別子の場合）、ステップＳ２０７の処理へ移行し、自装置のポート識別子の場合、ステップＳ４０２の処理へ移行する。ステップＳ４０２において、学習用フレーム生成部１８ａは、ステップＳ２０４で読み出した対応関係が対象外リスト２０の情報にミスヒットであるか否かを判定する。学習用フレーム生成部１８ａは、ミスヒットの場合、ステップＳ２０５の処理へ移行し、ヒットの場合、ステップＳ２０７の処理へ移行する。
【００７６】
このように、学習用フレーム生成部１８ａは、ステップＳ２０４で順に読み出した複数のエントリの内、対向装置に関連付けて保持されるポート識別子を含んだエントリを除外し、残りのエントリにそれぞれ対応する複数の学習用フレームＬＦｂを生成および送信する（ステップＳ４０１，Ｓ２０５，Ｓ２０６）。さらに、学習用フレーム生成部１８ａは、非対象リスト２０に保持されるＭＡＣアドレスまたはポート識別子を含んだエントリを除外し、残りのエントリにそれぞれ対応する複数の学習用フレームＬＦｂを生成および送信する（ステップＳ４０２，Ｓ２０５，Ｓ２０６）。言い換えれば、学習用フレーム生成部１８ａは、非対象リスト２０に保持されるＭＡＣアドレスまたはポート識別子を含んだ学習用フレームＬＦｂの送信をスキップする（ステップＳ４０２、第３の処理）。
【００７７】
ここで、ステップＳ４０１で除外されるエントリは、図１のＦＤＢ［１］を例とすると、エントリＮｏ．２およびエントリＮｏ．４に該当する。当該除外されるエントリは、最初に対向装置で学習され、対向装置からの学習用フレームによって得られたエントリであり、対向装置のＦＤＢが既に保持しているエントリとみなすことができる。このように、ステップＳ４０１，Ｓ４０２の処理によって、ブリッジ用ポートＰｂから送信される学習用フレームＬＦｂの数を減らすことで、前述したように、ブリッジ用ポートＰｂの帯域消費を小さくでき、また、ＦＤＢの同期に要する時間を短縮できる。
【００７８】
その結果、実施の形態１の場合と比較して、ＦＤＢの保持内容を更に高精度に同期させることが可能になる。また、実施の形態１で述べたように、学習用フレーム生成部１８ａは、ソフトウェア処理を用いることで、図１０のような処理フローを容易に実行することが可能である。なお、図１０の処理フローは、所定の学習用フレームＬＦｂの生成をスキップし、その結果として送信もスキップする方法を用いたが、例えば、送信する直前に所定の学習用フレームＬＦｂを除外する方法を用いる等、適宜変更することが可能である。
【００７９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００８０】
１０  フレーム処理部
１１  制御部
１２  ＦＤＢ処理部
１３  帯域制御部
１４  障害監視部
１５  記憶部
１６，１８，１８ａ  学習用フレーム生成部
１７  ＦＤＢ同期部
２０  非対象リスト
ＢＦ  ブリッジ用フレーム
ＤＭＡＣ  宛先ＭＡＣアドレス
ＤＰＩＤ  宛先ポート識別子
ＦＴ  フレームタイプ
ＬＦ  学習用フレーム
ＭＬＡＧＳＷ  ＭＬＡＧスイッチ
Ｐ  一般ポート
Ｐｂ  ブリッジ用ポート
Ｐｌ  ＬＡＧ用ポート
Ｐｍ  ＭＬＡＧ用ポート
ＲＰＩＤ  受信ポート識別子
ＳＭＡＣ  送信元ＭＡＣアドレス
ＳＷ  中継装置
ＳＷＵ  ユーザ用中継装置
ＴＭ  端末
ＵＦ  ユーザフレーム
【図１】
0006600594.tif 000002
【図２】
0006600594.tif 000003
【図３】
0006600594.tif 000004
【図４】
0006600594.tif 000005
【図５】
0006600594.tif 000006
【図６】
0006600594.tif 000007
【図７】
0006600594.tif 000008
【図８】
0006600594.tif 000009
【図９】
0006600594.tif 000010
【図１０】
0006600594.tif 000011