(57)【要約】【課題】ブリッジで結合された複数のネットワーク間にブリッジが追加される場合にスパニングツリーの構築を可能にすること。【解決手段】転送装置は、第１及び第２のネットワークとその間を接続する特定の転送装置とによる第１のスパニングツリーが存在する場合、第１のスパニングツリーからの第１の制御メッセージに基づいて、複数のポートを第１及び第２のネットワークに接続される第１及び第２のグループに分類し、自装置の優先度をいずれの転送装置よりも低い優先度に設定し、特定の転送装置と自装置との間でのみ解釈可能な第２の制御メッセージが、特定の転送装置から第１及び第２のグループ内の第１及び第２のポートで受信された場合、自装置及び特定の転送装置の優先度を比較しいずれか一方を最上位の転送装置に決定し、第２のスパニングツリーを構築するように第１及び第２のポートの状態を制御する。【選択図】図１
2014120907.tif 000002
【特許請求の範囲】
【請求項１】
第１の転送装置群により構成される第１のネットワークと、第２の転送装置群により構成される第２のネットワークと、前記第１および第２のネットワーク間を接続する特定の転送装置と、により構築された第１のスパニングツリーが存在する場合に、前記第１および第２のネットワーク間に接続されたことを検出する検出部と、
前記検出部によって検出されたことにより前記第１のスパニングツリーから送信されてくる第１の制御メッセージに基づいて、自装置が有する複数のポートを、前記第１のネットワークに接続される第１のグループと前記第２のネットワークに接続される第２のグループに分類する分類部と、
前記自装置の優先度を、前記第１および第２の転送装置群のいずれの転送装置よりも低い優先度に設定する設定部と、
前記特定の転送装置の優先度を含み、かつ、前記特定の転送装置と前記自装置との間でのみ解釈可能な第２の制御メッセージが、前記特定の転送装置から前記第１および第２のネットワークを介して、前記分類部によって前記第１のグループに分類された第１のポートおよび前記第２のグループに分類された第２のポートで受信された場合、前記設定部によって設定された前記自装置の優先度と前記特定の転送装置の優先度とを比較する比較部と、
前記比較部による比較結果に基づいて、前記第１の転送装置群と、前記第２の転送装置群と、前記特定の転送装置と、前記自装置と、を含む第３の転送装置群の中で、前記特定の転送装置および前記自装置のうち、いずれか一方の転送装置を最上位の転送装置に決定し、他方の転送装置を最下位の転送装置に決定することにより、前記第１のネットワークと、前記第２のネットワークと、前記特定の転送装置と、前記自装置と、により構築される第２のスパニングツリーを構築するように前記第１および第２のポートの状態を制御する状態制御部と、
を有することを特徴とする転送装置。
【請求項２】
前記状態制御部は、前記特定の転送装置を最上位の転送装置に決定した場合、前記第１および第２のポートのうちいずれか一方のポートを前記第１の制御メッセージの転送を許可する転送許可状態に設定し、他方のポートを前記第１の制御メッセージの転送を禁止する転送禁止状態に設定することを特徴とする請求項１に記載の転送装置。
【請求項３】
前記状態制御部は、前記自装置を最上位の転送装置に決定した場合、前記第１および第２のポートを前記第１の制御メッセージの転送を許可する転送許可状態に設定することを特徴とする請求項１または２に記載の転送装置。
【請求項４】
前記第１のポートで前記第１の制御メッセージを受信した場合、前記第２のポートから前記第２のグループ内の転送装置への前記第１の制御メッセージの転送を禁止するように制御する転送制御部を有することを特徴とする請求項３に記載の転送装置。
【請求項５】
第１の転送装置群により構成される第１のネットワークと、第２の転送装置群により構成される第２のネットワークと、前記第１および第２のネットワーク間を接続する特定の転送装置と、により構築された第１のスパニングツリーが存在する場合に、前記第１および第２のネットワーク間に接続されたことを検出する検出工程と、
前記検出工程によって検出されたことにより前記第１のスパニングツリーから送信されてくる第１の制御メッセージに基づいて、自装置が有する複数のポートを、前記第１のネットワークに接続される第１のグループと前記第２のネットワークに接続される第２のグループに分類する分類工程と、
前記自装置の優先度を、前記第１および第２の転送装置群のいずれの転送装置よりも低い優先度に設定する設定工程と、
前記特定の転送装置の優先度を含み、かつ、前記特定の転送装置と前記自装置との間でのみ解釈可能な第２の制御メッセージが、前記特定の転送装置から前記第１および第２のネットワークを介して、前記分類工程によって前記第１のグループに分類された第１のポートおよび前記第２のグループに分類された第２のポートで受信された場合、前記設定工程によって設定された前記自装置の優先度と前記特定の転送装置の優先度とを比較する比較工程と、
前記比較工程による比較結果に基づいて、前記第１の転送装置群と、前記第２の転送装置群と、前記特定の転送装置と、前記自装置と、を含む第３の転送装置群の中で、前記特定の転送装置および前記自装置のうち、いずれか一方の転送装置を最上位の転送装置に決定し、他方の転送装置を最下位の転送装置に決定することにより、前記第１のネットワークと、前記第２のネットワークと、前記特定の転送装置と、前記自装置と、により構築される第２のスパニングツリーを構築するように前記第１および第２のポートの状態を制御する状態制御工程と、
を有することを特徴とする構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを転送する転送装置および当該転送装置によるスパニングツリーの構築方法に関する。
【背景技術】
【０００２】
ブリッジで何らかの障害が発生した場合、相互に接続されたネットワーク間の通信が不能となる。通常はネットワーク上に複数の経路を設定し冗長性をもたせることで、一方の機器がダウンしても別の機器で対応できるように構成される。このときネットワークにループが構成されてしまい、ブロードキャストストームが発生し、ネットワークがダウンしてしまう問題があった。この問題を防ぎながら、冗長性を高める手段としてスパニングツリープロトコルがある。スパニングツリープロトコルは、物理的にネットワークにループが構成していても、論理的にループを構成しないようにネットワークを再構築するプロトコルである。
【０００３】
このように、スパニングツリープロトコルでは、ブリッジの障害や増設の度にネットワークの再構築が行われる。ネットワークの再構築には数十秒を要し、その間ネットワークの通信は停止する。下記特許文献１は、各ネットワークの通信を停止することなく、複数ネットワークの結合を実現するスパニングツリー制御装置が開示されている。
【０００４】
具体的には、スパニングツリー制御装置は、複数のスパニングツリープロトコルによるネットワーク間を結合する装置増設時またはその装置の動作再開時に、スパニングツリープロトコルの構築や維持に用いるＢＰＤＵ（Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）メッセージの受信のみを行う状態にする。
【０００５】
つぎに、スパニングツリー制御装置は、収集した複数のネットワークのルート識別情報により各ネットワークをグループ化し、グループ化された各ネットワークの既存ネットワークトポロジを変更させない優先度を計算する。そして、スパニングツリー制御装置は、優先度を設定してから送受信可能状態にし、各ネットワーク間にまたがるＢＰＤＵメッセージの転送を禁止する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−３３０１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、２つのスパニングツリープロトコルによるネットワーク間を結合したあと、別のブリッジが２つのスパニングツリープロトコルによるネットワーク間に接続された場合、ループを構成するという問題がある。また、特許文献１では、各ネットワーク間にまたがるＢＰＤＵメッセージの転送が禁止されるため、２つのネットワークと、２つのネットワークを結合したブリッジと、あらたに接続されたブリッジと、により、スパニングツリーを構築することができず、ループが解消されないという問題がある。
【０００８】
本発明は、ブリッジで結合された複数のネットワーク間にブリッジが追加される場合にスパニングツリーの構築を可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
本願において開示される発明の一側面となる転送装置および構築方法は、第１の転送装置群により構成される第１のネットワークと、第２の転送装置群により構成される第２のネットワークと、前記第１および第２のネットワーク間を接続する特定の転送装置と、により構築された第１のスパニングツリーが存在する場合に、前記第１および第２のネットワーク間に接続されたことを検出し、検出されたことにより前記第１のスパニングツリーから送信されてくる第１の制御メッセージに基づいて、自装置が有する複数のポートを、前記第１のネットワークに接続される第１のグループと前記第２のネットワークに接続される第２のグループに分類し、前記自装置の優先度を、前記第１および第２の転送装置群のいずれの転送装置よりも低い優先度に設定し、前記特定の転送装置の優先度を含み、かつ、前記特定の転送装置と前記自装置との間でのみ解釈可能な第２の制御メッセージが、前記特定の転送装置から前記第１および第２のネットワークを介して、前記第１のグループに分類された第１のポートおよび前記第２のグループに分類された第２のポートで受信された場合、設定された前記自装置の優先度と前記特定の転送装置の優先度とを比較し、比較結果に基づいて、前記第１の転送装置群と、前記第２の転送装置群と、前記特定の転送装置と、前記自装置と、を含む第３の転送装置群の中で、前記特定の転送装置および前記自装置のうち、いずれか一方の転送装置を最上位の転送装置に決定し、他方の転送装置を最下位の転送装置に決定することにより、前記第１のネットワークと、前記第２のネットワークと、前記特定の転送装置と、前記自装置と、により構築される第２のスパニングツリーを構築するように前記第１および第２のポートの状態を制御する。
【発明の効果】
【００１０】
本発明の代表的な実施の形態によれば、ブリッジで結合された複数のネットワーク間にブリッジが追加される場合にスパニングツリーの構築を可能にすることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】本実施例にかかる転送装置の追加を示す説明図である。
【図２】本実施例にかかる転送装置によるスパニングツリープロトコルの状態遷移例を示す説明図である。
【図３】ＢＰＤＵメッセージのフォーマット例を示す説明図である。
【図４】転送装置の追加の具体例を示す説明図（その１）である。
【図５】転送装置の追加の具体例を示す説明図（その２）である。
【図６】転送装置の追加の具体例を示す説明図（その３）である。
【図７】転送装置の追加の具体例を示す説明図（その４）である。
【図８】転送装置の追加の具体例を示す説明図（その５）である。
【図９】管理テーブルの記憶内容例（その１）を示す説明図である。
【図１０】管理テーブルの記憶内容例（その２）を示す説明図である。
【図１１】管理テーブルの記憶内容例（その３）を示す説明図である。
【図１２】転送装置のポートの状態が送受信停止状態（Ｌｉｓｔｅｎｉｎｇ’）である場合の動作処理手順例を示すフローチャートである。
【図１３】転送装置のポートの状態がトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）である場合の動作処理手順例を示すフローチャートである。
【図１４】転送許可状態（ＦｏｒｗａｒｄｉｎｇまたはＦｏｒｗａｒｄｉｎｇ’）におけるＢＰＤＵメッセージの転送禁止処理手順例を示すフローチャートである。
【図１５】転送装置の各状態において、スパニングツリープロトコルによるネットワークの再構築時の動作処理手順例を示すフローチャートである。
【図１６】図１５に示した転送停止状態（Ｂｌｏｃｋｉｎｇ”）の動作処理手順例を示すフローチャートである。
【図１７】第１のネットワークおよび第２のネットワーク間に接続された転送装置間のトポロジ変化による再構築時の動作処理手順例を示すフローチャートである。
【図１８】第１のネットワークおよび第２のネットワーク間に接続された転送装置間のトポロジ変化による再構築シーケンス例を示すシーケンス図である。
【図１９】第１のネットワーク内で障害等が発生した場合の再構築シーケンス例を示すシーケンス図である。
【図２０】本実施例にかかる転送装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１２】
＜転送装置の追加例＞
図１は、本実施例にかかる転送装置の追加を示す説明図である。図１において、○図形はブリッジとなる転送装置を示す。○図形間の実線および点線は、転送装置間の接続を示す。特に、連結された点線群は、ループを示す。
【００１３】
（Ａ）は、スパニングツリープロトコルによる第１のネットワークＮＷ１と、スパニングツリープロトコルによる第２のネットワークＮＷ２と、第１のネットワークＮＷ１と第２のネットワークＮＷ２とを接続する転送装置Ｔａと、を有するスパニングツリーである。このスパニングツリーが構築された階層をＬ１とする。第１のネットワークＮＷ１内の●は、第１のネットワークＮＷ１内でルートとなる転送装置を示す。同様に、第２のネットワークＮＷ２内の●は、第２のネットワークＮＷ２内でルートブリッジとなる転送装置を示す。（Ａ）の状態では、第１のネットワークＮＷ１と第２のネットワークＮＷ２との間に転送装置Ｔａが接続された結果、点線で示すループが形成されたことになる。
【００１４】
（Ｂ）は、（Ａ）の次状態を示し、特許文献１に示したスパニングツリープロトコルにより、（Ａ）でのループが解消された状態を示す。（Ｂ）において、×印は、転送装置Ｔａのポートのブロッキングにより転送禁止状態であることを示す。
【００１５】
（Ｃ）は、（Ｂ）の次状態を示し、第１のネットワークＮＷ１と第２のネットワークＮＷ２とを接続する転送装置Ｔｂがあらたに追加された状態を示す。転送装置Ｔｂの追加によりあらたにループが形成される。本実施例では、転送装置Ｔａ、Ｔｂのいずれか一方を最上位となるルートブリッジとし、他方を最下位となるリーフブリッジとするスパニングツリーを想定する。このスパニングツリーが構築される階層をＬ２とする。階層Ｌ２では、転送装置Ｔａ、Ｔｂがルートブリッジ候補となる。このため、（Ｃ）では、転送装置Ｔａ、Ｔｂを灰色の○で表記する。転送装置Ｔａ、Ｔｂ間では、転送装置Ｔａ、Ｔｂでのみ解釈可能なＤＰＤＵメッセージを送受信しあい、転送装置Ｔａ、Ｔｂは、互いにいずれの優先度が高いかを判断する。優先度が高いと判断した転送装置がルートブリッジとなり、優先度が低いと判断した転送装置がリーフブリッジとなる。
【００１６】
（Ｄ）は、（Ｃ）の次状態を示し、階層Ｌ２において、転送装置Ｔａがルート装置に決定されたことにより、スパニングツリーが構築されたことを示す。（Ｄ）では、末端装置となった転送装置Ｔｂにおいて、第１のネットワークＮＷ１と接続するポートと第２のネットワークＮＷ２と接続するポートのうち、第２のネットワークＮＷ２と接続するポートが、ブロッキングポートに設定される。これにより、（Ｃ）で示したループが解消されることになる。
【００１７】
＜スパニングツリープロトコルの状態遷移例＞
図２は、本実施例にかかる転送装置によるスパニングツリープロトコルの状態遷移例を示す説明図である。スパニングツリープロトコルの状態遷移において、スパニングツリープロトコルが動作していない停止状態（Ｄｉｓａｂｌｅｄ）は、転送装置のポートがシャットダウンされ、何も転送されない状態である（ステップＳ２０１）。
【００１８】
つぎに、転送装置は、ネットワーク接続の有無を判断する（ステップＳ２０２）。具体的には、たとえば、転送装置は、転送装置の動作再開や追加時に、第１のネットワークＮＷ１と第２のネットワークＮＷ２との間での接続であるか否かを判断する。第１のネットワークＮＷ１と第２のネットワークＮＷ２との間での接続である場合（ステップＳ２０２：Ｙｅｓ）、ポートが使用可能な動作可能状態（Ｅｎａｂｌｅ）に遷移する（ステップＳ２０３）。一方、第１のネットワークＮＷ１と第２のネットワークＮＷ２との間での接続でない場合（ステップＳ２０２：Ｎｏ）、転送装置はポートが使用可能な動作可能状態（Ｅｎａｂｌｅ’）に遷移する（ステップＳ２０４）。たとえば、転送装置が追加されない状態で再開する場合や、第１のネットワークＮＷ１と第２のネットワークＮＷ２とのうちいずれか一方のネットワーク接続である場合が該当する。
【００１９】
動作可能状態（Ｅｎａｂｌｅ）では、その初期において転送停止状態（Ｂｌｏｃｋｉｎｇ）となる。転送停止状態（Ｂｌｏｃｋｉｎｇ）では、各転送装置は、データフレームを転送せずに、ＢＰＤＵメッセージの受信のみをおこなう。つぎに、送受信停止状態（Ｌｉｓｔｅｎｉｎｇ）に遷移し、各転送装置は、所属するネットワークとＢＰＤＵメッセージの交換をし合う。各転送装置は、隣接しあう転送装置間で、ルートＩＤやブリッジＩＤ、ポート優先度、ルートパスコスト等が設定されたコンフィギュレーションＢＰＤＵメッセージを交換し合う。コンフィギュレーションＢＰＤＵメッセージの詳細については後述する。
【００２０】
各転送装置は、受信したメッセージと自身の送信したメッセージとを比較してどちらがルートブリッジにふさわしいかを判断する。そして、各転送装置は、必要な情報の更新処理等を行う。これにより、最終的に接続先のネットワーク内においてルートＩＤが最も小さい、すなわち、優先度の高い転送装置が、ルートブリッジとして選出される。
【００２１】
ルートブリッジ選出後、各転送装置は、データを転送するルートポート（ＲＰ）および指定ポート（ＤＰ）、データを転送しないブロッキングポート（ＢＰ）を選出し、接続先のネットワークにおいてループとならない構成とする。このあと、転送遅延時間の経過後、各転送装置は、トポロジ学習中状態（Ｌｅａｒｎｉｎｇ）に遷移し、ＭＡＣアドレスの学習を行うが、データフレームを転送しない。そして、各転送装置は、同じ転送遅延時間の経過後に転送許可状態（Ｆｏｒｗａｒｄｉｎｇ）へ遷移する。これにより、各転送装置はブリッジとしての動作を開始し、データフレームの転送が可能となる。
【００２２】
また、第１のネットワークＮＷ１と第２のネットワークＮＷ２との間での接続である場合（ステップＳ２０２：Ｙｅｓ）、図１に示した転送装置Ｔａ、Ｔｂが動作対象となる。動作可能状態（Ｅｎａｂｌｅ’）では、その初期において転送停止状態（Ｂｌｏｃｋｉｎｇ’）となる。転送装置Ｔａ、Ｔｂは、初期化により各ポートを活性化し、転送停止状態（Ｂｌｏｃｋｉｎｇ’）から送受信停止状態（Ｌｉｓｔｅｎｉｎｇ’）に遷移し、所定時間ｔ１の間、各ポートからコンフィギュレーションＢＰＤＵメッセージの受信のみを行う。自装置からはコンフィギュレーションＢＰＤＵメッセージを送信しない。
【００２３】
転送装置Ｔａ、Ｔｂは、受信したコンフィギュレーションＢＰＤＵメッセージ内のルートＩＤ毎にポートをグルーピングし、それぞれのグループで受信した優先度よりも低い値を自装置のブリッジＩＤとして設定する。転送装置Ｔａ、Ｔｂは、各グループ内の受信したブリッジＩＤで優先度の最も高いＢＰＤＵメッセージを受信したポートおよびＢＰＤＵメッセージを受信していないポートを、所定時間タイムアウト後にトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させる。転送装置Ｔａ、Ｔｂは、残りのポートを転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる。
【００２４】
トポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移後、転送装置Ｔａ、Ｔｂは、所定時間ｔ２の間それぞれのネットワークの転送許可候補ポートとする。所定時間ｔ２の間、転送装置Ｔａ、Ｔｂ間の各ネットワークの接続によるループ防止のため、転送装置Ｔａ、Ｔｂは、転送装置Ｔａ、Ｔｂ間でのみ解釈可能なコンフィギュレーションＢＰＤＵ’メッセージを交換する。コンフィギュレーションＢＰＤＵ’メッセージでは、転送装置Ｔａ、Ｔｂ間でのみ解釈可能となるように、宛先ＭＡＣアドレスとして、コンフィギュレーションＢＰＤＵメッセージで用いられるマルチキャストアドレス（以下、「第１のマルチキャストアドレス」）とは異なるマルチキャストアドレス（以下、「第２のマルチキャストアドレス」）が用いられる。
【００２５】
すなわち、転送装置Ｔａ、Ｔｂは、宛先ＭＡＣアドレスが第１および第２のマルチキャストアドレスであるコンフィギュレーションＢＰＤＵメッセージおよびＢＰＤＵ’メッセージを解析することができる。それ以外の転送装置は、宛先ＭＡＣアドレスが第１のマルチキャストアドレスであるコンフィギュレーションＢＰＤＵメッセージを解析することができ、コンフィギュレーションＢＰＤＵ’メッセージを解析することができない。このような設定は、ステップＳ２０２において実行される。
【００２６】
このあと、転送装置Ｔａ、Ｔｂは、コンフィギュレーションＢＰＤＵ’メッセージをもとに、ルートブリッジを決定し、転送許可候補ポートの中から実際に転送を許可するルートポートと指定ポート、転送を許可しないブロッキングポートを決定する。そして、ブロッキングポートは転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移される。所定時間ｔ２タイムアウトまでに転送停止状態（Ｂｌｏｃｋｉｎｇ’）に戻す情報を受け取っていないポートは、転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）へ遷移される。
【００２７】
この転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）では、転送装置Ｔａ、Ｔｂは、自グループ内のデータフレームやＢＰＤＵメッセージを転送することができる。転送装置Ｔａ、Ｔｂは、他グループからのデータフレームを自グループ内に転送できる。これに対し、転送装置Ｔａ、Ｔｂは、自ネットワークにトポロジ変化が生じるのを防止するため、他グループから受信したコンフィギュレーションＢＰＤＵメッセージを転送しない。この結果、複数グループ間ではトポロジを変化させずに通信が可能となる。
【００２８】
また、転送停止状態（Ｂｌｏｃｋｉｎｇ”）は、接続先のネットワークにおいてトポロジの再構築があった場合に、当該再構築が完了するまでデータ転送を禁止するための状態である。
【００２９】
＜ＢＰＤＵメッセージのフォーマット例＞
図３は、ＢＰＤＵメッセージのフォーマット例を示す説明図である。ＢＰＤＵメッセージは、ＤＡフィールドと、ＳＡフィールドと、ＤＳＡＰフィールドと、ＳＳＡＰフィールドと、ＢＰＤＵフィールドと、を有する。
【００３０】
ＳＡフィールドには、宛先となる第１のマルチキャストアドレスが格納される。第１のマルチキャストアドレスには、たとえば、ブリッジグループアドレスとして規定された特別のマルチキャストアドレスの値「０１８０．Ｃ２００．００００」が使用される。また、コンフィギュレーションＢＰＤＵ’メッセージの場合は、第２のマルチキャストアドレスが格納される。
【００３１】
ＳＡフィールドには、送信元の転送装置のＭＡＣアドレスが格納される。ＤＳＡＰ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ａｃｃｅｓｓ  Ｐｏｉｎｔ）フォールドには、宛先のサービス（プロトコル）を示す情報が格納される。ＳＳＡＰ（Ｓｏｕｒｃｅ  Ｓｅｒｖｉｃｅ  Ａｃｃｅｓｓ  Ｐｏｉｎｔ）には、送信元のサービス（プロトコル）を示す情報が格納される。
【００３２】
ＢＰＤＵフィールドには、プロトコルＩＤ、バージョン、メッセージタイプ、フラグ、ルールＩＤ、パスコスト、ブリッジＩＤ、ポートＩＤ、メッセージエイジ、最大エイジ、Ｈｅｌｌｏ間隔、および転送遅延が格納される。
【００３３】
プロトコルＩＤには、固定値として「０」が格納される。バージョンには、スパニングツリープロトコルのバージョン番号が格納される。メッセージタイプには、ＢＰＤＵメッセージがコンフィギュレーションＢＰＤＵメッセージであるかトポロジ変化通知であるかを示す情報が格納される。コンフィギュレーションＢＰＤＵメッセージの場合は「０ｘ００」が格納され、トポロジ変化通知の場合は「０ｘ８０」が格納される。
【００３４】
コンフィギュレーションＢＰＤＵメッセージは、トポロジの作成時や隣接ブリッジに定期的にＨｅｌｌｏパケットを送信する場合、ルートブリッジが他のブリッジにトポロジの変更を通知する場合に送信されるＢＰＤＵメッセージである。トポロジ変化通知は、ルートブリッジ以外の他のブリッジが、トポロジが変化したことを通知するＢＰＤＵメッセージである。
【００３５】
フラグには、トポロジ変化ビットが格納される。トポロジ変化ビットは、トポロジが変更したことを通知するフラグである。トポロジ変化ビットが「１」であるＢＰＤＵメッセージをルートポートで受信した転送装置は、転送遅延を使用する。ルートＩＤは、ルートブリッジのブリッジＩＤである。パスコストは、ルートブリッジから受信ポートに到達するまでのコストであり、値が小さいほど、ルートブリッジに近いことを示す。
【００３６】
ブリッジＩＤとは、ＢＰＤＵメッセージの転送元となる転送装置自身のＩＤである。ブリッジＩＤは、優先度にその転送装置のＭＡＣアドレスを連結した値である。ポートＩＤとは、ＢＰＤＵメッセージの転送元となる転送装置がＢＰＤＵメッセージを送出するポートのＩＤである。
【００３７】
メッセージエイジは、ルートブリッジがＢＰＤＵメッセージを生成してからの経過時間である。メッセージエイジは、たとえば、ルートブリッジからのホップ数である。最大エイジは、ＢＰＤＵメッセージの最大保持時間である。Ｈｅｌｌｏ間隔は、転送装置がＢＰＤＵメッセージを送信する間隔である。転送遅延は、送受信停止状態およびトポロジ学習中状態において滞留する時間である。
【００３８】
＜転送装置の追加の具体例＞
図４〜図８を用いて、転送装置の追加について具体的に説明する。
【００３９】
図４は、転送装置の追加の具体例を示す説明図（その１）である。図４（図５〜図８も同様）に示すように、転送装置を示す図形において、図形内の上の矩形はポート番号１のポート（ポート１）、右の矩形はポート番号２のポート（ポート２）、左の矩形はポート番号３のポート（ポート３）、下の矩形はポート番号４のポート（ポート４）を示す。また、中心の数字は、その転送装置の優先度を示す。優先度は、ブリッジＩＤの上位２オクテットの値である。また、転送装置に付されている符号を、ブリッジＩＤとする。優先度の値が小さいほど優先度は高いものとする。
【００４０】
第１のネットワークＮＷ１は、第１の転送装置群である転送装置Ｔ１１〜Ｔ１４により、スパニングツリーを構成するネットワークである。第１のネットワークＮＷ１におけるルートブリッジは、優先度の値が最も小さい優先度１００の転送装置Ｔ１１である。第２のネットワークＮＷ２は、第２の転送装置群である転送装置Ｔ２１〜Ｔ２４により、スパニングツリーを構成するネットワークである。第２のネットワークＮＷ２におけるルートブリッジは、優先度の値が最も小さい優先度２００の転送装置Ｔ２１である。
【００４１】
第１のネットワークＮＷ１と第２のネットワークＮＷ２との間に転送装置Ｔａが接続されると、転送装置Ｔａのポート１〜４は、動作可能状態（Ｅｎａｂｌｅ’）および転送停止状態（Ｂｌｏｃｋｉｎｇ’）を経て、送受信停止状態（Ｌｉｓｔｅｎｉｎｇ’）に遷移する。
【００４２】
第１のネットワークＮＷ１において、ＢＰＤＵメッセージはルートブリッジである転送装置Ｔ１１からマルチキャストされるため、転送装置Ｔａのポート１で受信するＢＰＤＵメッセージのルートＩＤは「Ｔ１１」であり、その優先度は「１００」である。また、転送装置Ｔａのポート１で受信するＢＰＤＵメッセージのブリッジＩＤは、転送装置Ｔａのポート１に接続されている転送装置Ｔ１３を示す「Ｔ１３」であり、その優先度は「３００」である。
【００４３】
また、転送装置Ｔａのポート２で受信するＢＰＤＵメッセージのルートＩＤはＴ１１であり、その優先度は「１００」である。また、転送装置Ｔａのポート２で受信するＢＰＤＵメッセージのブリッジＩＤは、転送装置Ｔａのポート２に接続されている転送装置Ｔ１２を示す「Ｔ１２」であり、その優先度は「５００」である。
【００４４】
また、第２のネットワークＮＷ２において、ＢＰＤＵメッセージはルートブリッジである転送装置Ｔ２１からマルチキャストされるため、転送装置Ｔａのポート３で受信するＢＰＤＵメッセージのルートＩＤは「Ｔ２１」であり、その優先度は「２００」である。また、転送装置Ｔａのポート３で受信するＢＰＤＵメッセージのブリッジＩＤは、転送装置Ｔａのポート３に接続されている転送装置Ｔ２３を示す「Ｔ２３」であり、その優先度は「４００」である。
【００４５】
また、転送装置Ｔａのポート４で受信するＢＰＤＵメッセージのルートＩＤはＴ２１であり、その優先度は「２００」である。また、転送装置Ｔａのポート４で受信するＢＰＤＵメッセージのブリッジＩＤは、転送装置Ｔａのポート４に接続されている転送装置Ｔ２２を示す「Ｔ２２」であり、その優先度は「６００」である。
【００４６】
転送装置Ｔａは、各ポート１〜４から受信したＢＰＤＵメッセージのルートＩＤを比較する。ルートＩＤの優先度がともに「１００」であるポート１、２をグループＧ１とし、ルートＩＤの優先度がともに「２００」のポート３、４をグループＧ２とする。そして、転送装置Ｔａは、転送装置Ｔａの優先度を、受信した優先度１００、２００、３００、４００、５００、６００よりも優先度が低い値として、たとえば、「６０１」に設定する。これにより、転送装置Ｔａは、第１のネットワークＮＷ１および第２のネットワークＮＷ２のいずれからみてもリーフブリッジとなる。
【００４７】
図５は、転送装置の追加の具体例を示す説明図（その２）である。図５は、図４の次状態を示す。転送装置Ｔａは、グループＧ１のポート１、２から受信したＢＰＤＵメッセージのブリッジＩＤ（Ｔ１２とＴ１３）を比較する。転送装置Ｔａは、ブリッジＩＤ：Ｔ１２内の優先度「５００」とブリッジＩＤ：Ｔ１３内の優先度「３００」のうち、最も低い優先度「５００」を受信したポート２を、転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる。
【００４８】
一方、転送装置Ｔａは、ポート１を転送許可候補ポートとし、所定時間ｔ１のタイムアウト後に、トポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させる。転送装置Ｔａは、所定時間ｔ２の間、ポート１からＢＰＤＵ’メッセージを送信する。転送装置Ｔａ以外にＢＰＤＵ’メッセージを解析できる転送装置が第１のネットワークＮＷ１にはないため、転送装置Ｔａは、ポート１を、所定時間ｔ２のタイムアウト後に転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。
【００４９】
同様に、転送装置Ｔａは、グループＧ２のポート３、４から受信したＢＰＤＵメッセージのブリッジＩＤ（Ｔ２２とＴ２３）を比較する。転送装置Ｔａは、ブリッジＩＤ：Ｔ２２内の優先度「４００」とブリッジＩＤ：Ｔ２３内の優先度「６００」のうち、最も低い優先度「６００」を受信したポート４を、転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる。
【００５０】
一方、転送装置Ｔａは、ポート３を転送許可候補ポートとし、所定時間ｔ１のタイムアウト後に、トポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移する。転送装置Ｔａは、所定時間ｔ２の間、ポート３からＢＰＤＵ’メッセージを送信する。転送装置Ｔａ以外にＢＰＤＵ’メッセージを解析できる転送装置が存在しないため、転送装置Ｔａは、ポート３を、所定時間ｔ２のタイムアウト後に転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。
【００５１】
このように、転送装置Ｔａが、階層Ｌ１において、第１のネットワークＮＷ１および第２のネットワークＮＷ２のリーフブリッジとして動作することで、他の転送装置の通信を停止することなく第１のネットワークＮＷ１と第２のネットワークＮＷ２との接続が可能となる。またこの状態で、各グループＧ１、Ｇ２の転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）のポートであるポート１、３で受信したユーザデータを他グループの転送許可状態にあるポートに転送することで、相互に通信することが可能となる。ただし、第１のネットワークＮＷ１と第２のネットワークＮＷ２との間にまたがるトポロジ変化を防止するために、転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）のポート１、３は、一方のネットワークから受信したＢＰＤＵメッセージを他方のネットワークへ転送しない。
【００５２】
図６は、転送装置の追加の具体例を示す説明図（その３）である。図６は、図５の次状態を示す。図６では、転送装置Ｔａのポート１、３が転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）であり、ポート２、４が転送停止状態（Ｂｌｏｃｋｉｎｇ’）である。
【００５３】
第１のネットワークＮＷ１と第２のネットワークＮＷ２との間に転送装置Ｔｂが接続されると、転送装置Ｔｂのポート１、４は、動作可能状態（Ｅｎａｂｌｅ’）および転送停止状態（Ｂｌｏｃｋｉｎｇ’）を経て、送受信停止状態（Ｌｉｓｔｅｎｉｎｇ’）に遷移する。なお、この例では、転送装置Ｔｂのポート２、３は非接続ポートである。
【００５４】
第１のネットワークＮＷ１において、ＢＰＤＵメッセージはルートブリッジである転送装置Ｔ１１からマルチキャストされるため、転送装置Ｔｂのポート１で受信するＢＰＤＵメッセージのルートＩＤはＴ１１であり、その優先度は「１００」である。また、転送装置Ｔｂのポート１で受信するＢＰＤＵメッセージのブリッジＩＤは、転送装置Ｔｂのポート１に接続されている転送装置Ｔ１４であり、その優先度は「７００」である。
【００５５】
また、第２のネットワークＮＷ２において、ＢＰＤＵメッセージはルートブリッジである転送装置Ｔ２１からマルチキャストされるため、転送装置Ｔｂのポート４で受信するＢＰＤＵメッセージのルートＩＤはＴ２１であり、その優先度は「２００」である。また、転送装置Ｔｂのポート４で受信するＢＰＤＵメッセージのブリッジＩＤは、転送装置Ｔｂのポート４に接続されている転送装置Ｔ２４であり、その優先度は「８００」である。
【００５６】
転送装置Ｔｂは、ポート１、４から受信したＢＰＤＵメッセージのルートＩＤを比較する。転送装置Ｔｂは、ルートＩＤの優先度が「１００」であるポート１をグループＧ１とし、ルートＩＤの優先度が「２００」のポート４をグループＧ２とする。そして、転送装置Ｔｂは、転送装置Ｔｂの優先度を、受信した優先度１００、２００、７００、８００よりも低い値として、たとえば、「８０１」に設定する。これにより、転送装置Ｔｂは、階層Ｌ１でみると、第１のネットワークＮＷ１および第２のネットワークＮＷ２のいずれからみてもリーフブリッジとなる。
【００５７】
図７は、転送装置の追加の具体例を示す説明図（その４）である。図７は、図６の次状態を示す。転送装置Ｔｂは、グループＧ１のポート１から受信したＢＰＤＵメッセージのブリッジＩＤ（Ｔ１４）が１個しかないため、ポート１を転送許可候補ポートとし、所定時間ｔ１のタイムアウト後に、トポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させる。
【００５８】
転送装置Ｔｂは、所定時間ｔ２の間、ポート１からＢＰＤＵ’メッセージを送信する。転送装置Ｔａ以外にＢＰＤＵ’メッセージを解析できる転送装置Ｔａが存在するため、転送装置Ｔｂは、ポート１を、所定時間ｔ２のタイムアウト後に転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。これにより、転送装置Ｔｂは、転送装置ＴａからのＢＰＤＵ’メッセージをポート１で受信することができる。
【００５９】
また、転送装置Ｔｂは、グループＧ２のポート４から受信したＢＰＤＵメッセージのブリッジＩＤ（Ｔ２４）が１個しかないため、ポート４を転送許可候補ポートとし、所定時間ｔ１のタイムアウト後に、トポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させる。
【００６０】
転送装置Ｔｂは、所定時間ｔ２の間、ポート４からＢＰＤＵ’メッセージを送信する。転送装置Ｔａ以外にＢＰＤＵ’メッセージを解析できる転送装置Ｔａが存在するため、転送装置Ｔｂは、ポート４を、所定時間ｔ２のタイムアウト後に転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。これにより、転送装置Ｔｂは、転送装置ＴａからのＢＰＤＵ’メッセージをポート４で受信することができる。
【００６１】
また、転送装置Ｔｂのポート１、４から送信されたＢＰＤＵ’メッセージは、それぞれ第１のネットワークＮＷ１および第２のネットワークＮＷ２を通って、転送装置Ｔａに到達する。また、転送装置Ｔａのポート１、３から送信されたＢＰＤＵ’メッセージは、それぞれ第１のネットワークＮＷ１および第２のネットワークＮＷ２を通って、転送装置Ｔｂに到達する。
【００６２】
これにより、転送装置Ｔａ、Ｔｂは、トポロジ変化を検知する。そして、転送装置Ｔａ、Ｔｂは、階層Ｌ２において、各々自身をルートブリッジ候補とする。したがって、転送装置Ｔａ、Ｔｂは、ルートＩＤ、ブリッジＩＤ、ポートＩＤおよびルートパスコスト＝０を設定したＢＰＤＵ’メッセージを交換し合う。転送装置Ｔａは、転送装置Ｔｂに送信したＢＰＤＵ’メッセージ内のルートＩＤ内の優先度「６０１」と、転送装置Ｔｂから受信したＢＰＤＵ’メッセージ内のルートＩＤ内の優先度「８０１」とを比較する。これにより、優先度「６０１」が優先度「８０１」より高いため、転送装置Ｔａは、自身が階層Ｌ２におけるルートブリッジであると認識する。
【００６３】
また、転送装置Ｔｂは、転送装置Ｔａに送信したＢＰＤＵ’メッセージ内のルートＩＤ内の優先度「８０１」と、転送装置Ｔａから受信したＢＰＤＵ’メッセージ内のルートＩＤ内の優先度「６０１」とを比較する。これにより、優先度「８０１」が優先度「６０１」より低いため、転送装置Ｔｂは、自身が階層Ｌ２におけるリーフブリッジであると認識する。
【００６４】
図８は、転送装置の追加の具体例を示す説明図（その５）である。図８は、図７の次状態を示す。転送装置Ｔｂは、階層Ｌ２においてリーフブリッジになったため、ループを解消するために、転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）であるポート１、４のいずれか一方を転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる。
【００６５】
具体的には、たとえば、転送装置Ｔｂは、ポート１、４のポートＩＤに含まれている優先度を比較して優先度が低い方のポートをブロッキングポートに選出し、転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる。また、転送装置Ｔｂは、ポートＩＤではなく、ポート１で受信したＢＰＤＵ’メッセージのパスコストとポート４で受信したＢＰＤＵ’メッセージのパスコストとを比較し、パスコストが大きい方のポートをブロッキングポートに選出し、転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させることとしてもよい。
【００６６】
そして、転送装置Ｔａ、Ｔｂは、所定時間ｔ２のタイムアウト後、転送停止状態（Ｂｌｏｃｋｉｎｇ’）とならなかったポートを、転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。このように、階層Ｌ１において転送装置Ｔａ、Ｔｂが第１のネットワークＮＷ１および第２のネットワークＮＷ２のリーフブリッジとして動作する。これにより、転送装置Ｔａ、Ｔｂは、階層Ｌ２において１のネットワークおよび第２のネットワークＮＷ２との接続により生じるループを、転送装置Ｔａ、Ｔｂの間でのＢＰＤＵ’メッセージの交換により防止する。したがって、他の転送装置の通信を停止することなく第１のネットワークＮＷ１および第２のネットワークＮＷ２の複数箇所での接続が可能となる。
【００６７】
＜管理テーブルの記憶内容例＞
図９は、管理テーブルの記憶内容例（その１）を示す説明図である。管理テーブルは、各転送装置に記憶される。図９に示した管理テーブルは、転送装置Ｔａが保持する管理テーブル９００であり、図５に示した状態における記憶内容を示す。管理テーブル９００は、ポート番号項目と、ポート種項目と、状態項目と、所属グループ項目と、を有する。ポート番号項目には、ポート番号が格納される。ポート種項目には、ポートの種別が格納される。ポートの種別は、一例として、ルートポート（Ｒ）、指定ポート（Ｄ）、ブロッキングポート（Ｂ）、および転送許可候補ポート（Ｃ）の４種である。状態項目には、図２に示した状態が格納される。所属グループ項目には、ポートに割り当てられたグループの識別情報（本例ではＧ１、Ｇ２）が格納される。
【００６８】
図１０は、管理テーブルの記憶内容例（その２）を示す説明図である。図１０に示した管理テーブルは、転送装置Ｔａが保持する管理テーブル９００であり、（Ａ）が図７に示した状態における記憶内容を示し、（Ｂ）が図８に示した状態における記憶内容を示す。
【００６９】
図１１は、管理テーブルの記憶内容例（その３）を示す説明図である。図１１に示した管理テーブルは、転送装置Ｔｂが保持する管理テーブル１１００であり、（Ａ）が図７に示した状態における記憶内容を示し、（Ｂ）が図８に示した状態における記憶内容を示す。
【００７０】
＜転送装置の動作処理手順＞
つぎに、本実施例にかかる転送装置の動作処理手順例について説明する。
【００７１】
図１２は、転送装置のポートの状態が送受信停止状態（Ｌｉｓｔｅｎｉｎｇ’）である場合の動作処理手順例を示すフローチャートである。まず、転送装置が、第１のネットワークＮＷ１と第２のネットワークＮＷ２との間での接続を検出すると、転送装置内部を初期化する（ステップＳ１２０１）。具体的には、上述した転送装置Ｔａ、Ｔｂの場合、転送装置Ｔａ、Ｔｂは、そのポートを停止状態（Ｄｉｓａｂｌｅｄ）から動作可能状態（Ｅｎａｂｌｅ’）に遷移させ、その初期において転送停止状態（Ｂｌｏｃｋｉｎｇ’）と遷移させる。そして、転送装置Ｔａ、Ｔｂは、初期化により各ポートを活性化させる。またこのとき、転送装置Ｔａ、Ｔｂについては、宛先が第１および第２のマルチキャストアドレスとなるＢＰＤＵメッセージの送受信の許可設定がされる。
【００７２】
つぎに、転送装置は、各ポートを転送停止状態（Ｂｌｏｃｋｉｎｇ’）から送受信停止状態（Ｌｉｓｔｅｎｉｎｇ’）に遷移させ、タイマを起動する（ステップＳ１２０２）。タイマの時間はｔ１とする。転送装置は、所定時間ｔ１が経過したか否か、すなわちタイムアウトか否かを判断し（ステップＳ１２０３）、所定時間ｔ１が経過するまで（ステップＳ１２０３：Ｎｏ）、コンフィギュレーションＢＰＤＵメッセージを聴取する（ステップＳ１２０４）。コンフィギュレーションＢＰＤＵメッセージの聴取の有無は、ポートごとに行われる。聴取できていないポートについては（ステップＳ１２０４：Ｎｏ）、ステップＳ１２０３に戻る。所定時間ｔ１が経過すると、ステップＳ１２０７に移行する。
【００７３】
ステップＳ１２０４において、コンフィギュレーションＢＰＤＵメッセージを聴取したポートがある場合（ステップＳ１２０４：Ｙｅｓ）、転送装置は、同一ルートＩＤのコンフィギュレーションＢＰＤＵメッセージを受信したポート群をグループ化する（ステップＳ１２０５）。
【００７４】
そして、転送装置は、自身の優先度を、隣接ブリッジの優先度より低い値に変更して（ステップＳ１２０６）、ステップＳ１２０３に戻る。具体的には、たとえば、図４において、転送装置Ｔａは優先度を「６０１」に設定し、図７において、転送装置Ｔｂは優先度を「８０１」に設定する。
【００７５】
所定時間ｔ１が経過した場合（ステップＳ１２０３：Ｙｅｓ）、転送装置は、未選択ポートを選択し（ステップＳ１２０７）、選択ポートがステップＳ１２０４でコンフィギュレーションＢＰＤＵメッセージを受信したポートであるか否かを判断する（ステップＳ１２０８）。
【００７６】
選択ポートがコンフィギュレーションＢＰＤＵメッセージの受信ポートである場合（ステップＳ１２０８：Ｙｅｓ）、転送装置は、選択ポートがその所属グループ内で、隣接ブリッジの優先度が最大となるポートであるか否かを判断する（ステップＳ１２０９）。たとえば、転送装置Ｔａにおいて、選択ポートがグループＧ１のポート１である場合、隣接ブリッジは転送装置Ｔ１３であり、その優先度は「３００」である。転送装置Ｔａにおいて、選択ポートがグループＧ１のポート２である場合、隣接ブリッジは転送装置Ｔ１２であり、その優先度は「５００」である。したがって、この場合の最大優先度は「３００」であり、最大優先度のポートはポート１となる。
【００７７】
最大優先度のポートでない場合（ステップＳ１２０９：Ｎｏ）、転送装置は、選択ポートの状態を転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させ（ステップＳ１２１０）、ステップＳ１２１２に移行する。
【００７８】
一方、ステップＳ１２０９において、選択ポートが所属グループ内で最大優先度である場合（ステップＳ１２０９：Ｙｅｓ）、転送装置は、選択ポートの状態をトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させ（ステップＳ１２１１）、ステップＳ１２１２に移行する。
【００７９】
また、ステップＳ１２０８において、選択ポートがコンフィギュレーションＢＰＤＵメッセージの受信ポートでない場合（ステップＳ１２０８：Ｎｏ）、転送装置は、選択ポートの状態をトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させ（ステップＳ１２１１）、ステップＳ１２１２に移行する。具体的には、たとえば、転送装置Ｔｂの場合、ポート２、４はコンフィギュレーションＢＰＤＵメッセージを受信していないポートであるため、転送装置Ｔｂは、そのポート２、４の状態をトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させる。
【００８０】
また、ステップＳ１２１２において、未選択ポートがある場合（ステップＳ１２１２：Ｙｅｓ）、ステップＳ１２０７に移行し、未選択ポートがない場合（ステップＳ１２１２：Ｎｏ）、一連の処理を終了する。
【００８１】
図１３は、転送装置のポートの状態がトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）である場合の動作処理手順例を示すフローチャートである。図１３の動作対象ポートは、図１２のステップＳ１２１１においてトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移した転送許可候補ポートである。また、動作対象となる転送装置はルートブリッジ候補となる転送装置である。たとえば、上述した転送装置Ｔａ、Ｔｂである。
【００８２】
まず、転送装置は、タイマを起動し（ステップＳ１３０１）、宛先を第２のマルチキャストアドレスに設定したコンフィギュレーションＢＰＤＵ’メッセージの送受信を、動作対象ポートを用いて開始する（ステップＳ１３０２）。タイマの時間はｔ２とする。動作対象となる転送装置はルートブリッジ候補となるため、コンフィギュレーションＢＰＤＵ’メッセージのルートＩＤは、各々のブリッジＩＤとＭＡＣアドレスとを連結した値となる。
【００８３】
転送装置は、所定時間ｔ２が経過したか否か、すなわちタイムアウトか否かを判断し（ステップＳ１３０３）、所定時間ｔ２が経過するまで（ステップＳ１３０３：Ｎｏ）、コンフィギュレーションＢＰＤＵ’メッセージを待ち受ける（ステップＳ１３０４：Ｎｏ）。これにより、所定時間ｔ２の間、転送装置Ｔａ、Ｔｂ間の各ネットワークの接続によるループが防止される。また、所定時間ｔ２が経過した場合（ステップＳ１３０３：Ｙｅｓ）、ステップＳ１３１０に移行する。
【００８４】
ステップＳ１３０４において、コンフィギュレーションＢＰＤＵ’メッセージが受信された場合（ステップＳ１３０４：Ｙｅｓ）、転送装置は、送受信したコンフィギュレーションＢＰＤＵ’メッセージを比較する（ステップＳ１３０５）。具体的には、転送装置は、送受信したコンフィギュレーションＢＰＤＵ’メッセージのルートＩＤに含まれる優先度を比較し、自身の優先度が最大優先度であれば、階層Ｌ２のルートブリッジとなる。
【００８５】
具体的には、たとえば、転送装置Ｔａ、Ｔｂの場合、転送装置Ｔａのポート１、３から転送装置Ｔｂに送信されるコンフィギュレーションＢＰＤＵ’メッセージに含まれるルートＩＤには、転送装置Ｔａの優先度「６０１」が含まれる。
【００８６】
また、転送装置Ｔｂのポート１、４から転送装置Ｔａに送信されるコンフィギュレーションＢＰＤＵ’メッセージに含まれるルートＩＤには、転送装置Ｔｂの優先度「８０１」が含まれる。したがって、転送装置Ｔａ、Ｔｂは、各々、転送装置Ｔａの優先度「６０１」と転送装置Ｔｂの優先度「８０１」とを比較する。
【００８７】
そして、転送装置は、自身がルートブリッジに決定されたか否かを判断する（ステップＳ１３０６）。ルートブリッジに決定された場合（ステップＳ１３０６：Ｙｅｓ）、転送装置は、自身の動作対象ポートを指定ポートに設定し（ステップＳ１３０７）、ステップＳ１３１０に移行する。具体的には、たとえば、転送装置Ｔａの場合、転送装置Ｔａは、動作対象ポートであるポート１、３を指定ポートに設定する。
【００８８】
また、ステップＳ１３０６において、ルートブリッジに決定されなかった場合（ステップＳ１３０６：Ｎｏ）、転送装置は、送信するコンフィギュレーションＢＰＤＵ’メッセージのルートＩＤを、ステップＳ１３０６で決定されたルートブリッジのブリッジＩＤを用いたルートＩＤに変更する（ステップＳ１３０８）。これにより、あらたに転送装置が追加された場合に対応することができる。
【００８９】
たとえば、図７では、転送装置Ｔａが階層Ｌ２でのルートブリッジとなるため、ルートブリッジではない転送装置Ｔｂは、自身が送信するコンフィギュレーションＢＰＤＵ’メッセージのルートＩＤを、転送装置ＴａのブリッジＩＤと転送装置ＴｂのＭＡＣアドレスとを連結した値に変更する。
【００９０】
このあと、転送装置は、自身の動作対象ポートを、ルートポート、指定ポート、およびブロッキングポートに設定し（ステップＳ１３０９）、ステップＳ１３１０に移行する。たとえば、転送装置Ｔｂは、階層Ｌ２においてリーフブリッジになったため、ポート１、４のポートＩＤに含まれている優先度を比較して優先度が低い方のポートをブロッキングポートに選出し、転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる。また、転送装置Ｔｂは、ポートＩＤではなく、ポート１で受信したＢＰＤＵ’メッセージのパスコストとポート４で受信したＢＰＤＵ’メッセージのパスコストとを比較し、パスコストが大きい方のポートをブロッキングポートに選出し、転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させることとしてもよい。
【００９１】
図１１の（Ｂ）に示したように、転送装置Ｔｂが階層Ｌ２のリーフブリッジである場合、転送装置Ｔｂのポート４がブロッキングポートに選出され、転送装置Ｔｂのポート１がルートポートに選出される。
【００９２】
また、ステップＳ１３１０において、転送装置は、ブロッキングポート以外のポートを転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に設定する（ステップＳ１３１０）。転送装置Ｔｂの場合、転送装置Ｔｂは、プロッキングポートであるポート２、３以外のポート１、４の状態を転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。これにより、一連の処理を終了する。
【００９３】
図１４は、転送許可状態（ＦｏｒｗａｒｄｉｎｇまたはＦｏｒｗａｒｄｉｎｇ’）におけるＢＰＤＵメッセージの転送禁止処理手順例を示すフローチャートである。まず、転送装置は、ＢＰＤＵメッセージを待ち受け（ステップＳ１４０１：Ｎｏ）、ＢＰＤＵメッセージを受信した場合（ステップＳ１４０１：Ｙｅｓ）、当該ＢＰＤＵメッセージを受信したポートと、当該ＢＰＤＵメッセージを送信するポートと、が同一グループのポートであるか否かを判断する（ステップＳ１４０２）。
【００９４】
同一グループである場合（ステップＳ１４０２：Ｙｅｓ）、転送装置は、ＢＰＤＵメッセージを送信ポートから送信する（ステップＳ１４０３）。一方、同一グループでない場合（ステップＳ１４０２：Ｎｏ）、受信したＢＰＤＵメッセージを廃棄する（ステップＳ１４０４）。これにより、一連の処理を終了する。たとえば、転送装置Ｔａの場合、グループＧ１のポート１から受信されたＢＰＤＵメッセージは、グループＧ２のポート３からは送信されずに廃棄される。
【００９５】
図１５は、転送装置の各状態において、スパニングツリープロトコルによるネットワークの再構築時の動作処理手順例を示すフローチャートである。まず、転送装置は、コンフィギュレーションＢＰＤＵメッセージの受信を待ち受ける（ステップＳ１５０１：Ｎｏ）。そして、コンフィギュレーションＢＰＤＵメッセージを受信した場合（ステップＳ１５０１：Ｙｅｓ）、転送装置は、受信したコンフィギュレーションＢＰＤＵメッセージのトポロジ変化ビットを参照する（ステップＳ１５０２）。トポロジ変化ビットが「０」である場合（ステップＳ１５０２：０）、トポロジに変化がないため、ステップＳ１５０１に戻る。
【００９６】
一方、トポロジ変化ビットが「１」である場合（ステップＳ１５０２：１）、転送装置は、コンフィギュレーションＢＰＤＵメッセージを受信したポートの状態を転送停止状態（Ｂｌｏｃｋｉｎｇ”）に遷移させる。これにより、一連の処理を終了する。
【００９７】
図１６は、図１５に示した転送停止状態（Ｂｌｏｃｋｉｎｇ”）の動作処理手順例を示すフローチャートである。まず、転送装置は、転送停止状態（Ｂｌｏｃｋｉｎｇ”）に遷移された場合、タイマを起動する（ステップＳ１６０１）。タイマの時間はｔ３とする。そして、転送装置は、所定時間ｔ３が経過するのを待ち受け（ステップＳ１６０２：Ｎｏ）、所定時間ｔ３が経過した場合（ステップＳ１６０２：Ｙｅｓ）、ステップＳ１２０１と同様、転送装置内部を初期化し、各ポートを転送停止状態（Ｂｌｏｃｋｉｎｇ”）に遷移させる（ステップＳ１６０３）。この転送停止状態（Ｂｌｏｃｋｉｎｇ”）により、接続先のネットワークにおいてトポロジの再構築があった場合に、当該再構築が完了するまでデータ転送を禁止することができる。
【００９８】
図１７は、第１のネットワークＮＷ１および第２のネットワークＮＷ２間に接続された転送装置間のトポロジ変化による再構築時の動作処理手順例を示すフローチャートである。図１７の動作処理手順例は、図９および図１３により階層Ｌ２のスパニングツリーの構築後に、転送装置の撤去等により再構築が生じた場合の処理手順である。図１７の動作対象となる転送装置は、たとえば、上述した転送装置Ｔａ、Ｔｂのうち撤去等がされていない転送装置である。
【００９９】
まず、転送装置は、コンフィギュレーションＢＰＤＵ’メッセージの受信を待ち受ける（ステップＳ１７０１：Ｎｏ）。そして、転送装置は、コンフィギュレーションＢＰＤＵ’メッセージが受信された場合（ステップＳ１７０１：Ｙｅｓ）、受信したコンフィギュレーションＢＰＤＵ’メッセージのルートＩＤが、送信するコンフィギュレーションＢＰＤＵ’メッセージと異なるか否かを判断する（ステップＳ１７０２）。ルートＩＤが同一である場合（ステップＳ１７０２：Ｎｏ）、転送装置は、受信したコンフィギュレーションＢＰＤＵ’メッセージ内のトポロジ変化ビットを参照する（ステップＳ１７０３）。トポロジ変化ビットが「０」である場合（ステップＳ１７０３：０）、トポロジに変化が生じていないため、一連処理を終了する。
【０１００】
一方、ステップＳ１７０２において、ルートＩＤが異なる場合（ステップＳ１７０２：Ｙｅｓ）、または、ステップＳ１７０３において、トポロジ変化ビットが「１」である場合（ステップＳ１７０３：１）、転送装置は、トポロジに変化が生じたと判断して、全ポートの状態をトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させる（ステップＳ１７０４）。これにより、転送装置の動作は、図１３に示したトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）の動作処理に移行し、トポロジが再構築されることになる。
【０１０１】
＜動作シーケンス＞
つぎに、スパニングツリーの再構築について動作シーケンスを用いて説明する。
【０１０２】
図１８は、第１のネットワークＮＷ１および第２のネットワークＮＷ２間に接続された転送装置間のトポロジ変化による再構築シーケンス例を示すシーケンス図である。転送装置Ｔａ、Ｔｂはともに、転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）である（ステップＳ１８１０、Ｓ１８２０）。ルートブリッジである転送装置Ｔａは、転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）時にＨｅｌｌｏ送信間隔でＢＰＤＵメッセージを送信する。
【０１０３】
転送装置Ｔａに障害が発生したり、転送装置Ｔａが撤去されたりすると（ステップＳ１８１１）、転送装置Ｔｂは、ＢＰＤＵメッセージを転送装置Ｔａから受信できなくなる。そして、最大エイジタイムアウト後に、転送装置Ｔｂは、全ポートの状態を、トポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させ（ステップＳ１８２１）、図１３に示したトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）の動作処理により、ルートブリッジやポートの再設定をおこなう（ステップＳ１８２２）。
【０１０４】
そして、転送装置Ｔｂは、転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）になる（ステップＳ１８２３）。この場合、階層Ｌ２において、転送装置Ｔｂがあらたにルートブリッジに選出されるため、転送装置ＴｂがＨｅｌｌｏ送信間隔でＢＰＤＵメッセージを送信する。このように障害や制御装置の撤去が生じた際に、ルートブリッジとなる転送装置が転送装置Ｔａから転送装置Ｔｂに切り替わることによって、第１のネットワークＮＷ１および第２のネットワークＮＷ２間のデータ転送が再開される。
【０１０５】
図１９は、第１のネットワークＮＷ１内で障害等が発生した場合の再構築シーケンス例を示すシーケンス図である。図１９において、第１のネットワークＮＷ１で障害等によりスパニングツリーの再構築が発生した場合（ステップＳ１９０１）、第１のネットワークＮＷ１のルートブリッジである転送装置Ｔ１１は、トポロジ変化ビットが「１」に設定されたＢＰＤＵメッセージをトポロジ変化通知としてマルチキャストする。マルチキャストされた当該ＢＰＤＵメッセージは、転送装置Ｔａ、Ｔｂに受信される。このあと、第１のネットワークＮＷ１は、スパニングツリーによるネットワークの再構築をおこなう（ステップＳ１９０２）。
【０１０６】
ＢＰＤＵメッセージを受信した転送装置Ｔａ、Ｔｂは、ステップＳ１９０２の再構築に要する時間に相当する時間ｔ３の間、全ポートの状態を、転送停止状態（Ｂｌｏｃｋｉｎｇ”）に遷移させる（ステップＳ１９０３）。そして、所定時間ｔ３経過後、転送装置Ｔａ、Ｔｂは、全ポートの状態を、転送停止状態（Ｂｌｏｃｋｉｎｇ’）を経て送受信停止状態（Ｌｉｓｔｅｎｉｎｇ’）に遷移させる。
【０１０７】
このあと、第１のネットワークＮＷ１のルートブリッジである転送装置Ｔ１１および第２のネットワークＮＷ２のルートブリッジである転送装置Ｔ２１から、コンフィギュレーションＢＰＤＵメッセージがマルチキャストされる。転送装置Ｔａ、Ｔｂは、当該コンフィギュレーションＢＰＤＵメッセージを受信する（ステップＳ１９０６）。
【０１０８】
その後、転送装置Ｔａ、Ｔｂは、該当するポートをトポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）に遷移させて、転送許可候補ポートとする（ステップＳ１９０７）。これにより、転送装置Ｔａ、Ｔｂ間で、コンフィギュレーションＢＰＤＵ’メッセージが交換される。
【０１０９】
このコンフィギュレーションＢＰＤＵ’メッセージの交換により、転送装置Ｔａ、Ｔｂは、トポロジ学習中状態（Ｌｅａｒｎｉｎｇ’）の動作を実行し（ステップＳ１９０８）、該当するポートを転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）または転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる（ステップＳ１９０９）。これにより、接続先のネットワークにおいてスパニングツリーが再構築される都度、階層Ｌ２でのスパニングツリーが再構築され、階層Ｌ２でのスパニングツリーの最適化を図ることができる。
【０１１０】
＜転送装置のハードウェア構成例＞
図２０は、本実施例にかかる転送装置のハードウェア構成例を示すブロック図である。転送装置は、ポート群２００１と、パケット解析部２００２と、第１のスパニングツリー制御部２００３と、第２のスパニングツリー制御部２００４と、記憶部２００５と、を有する。ポート群２００１は、ポートの集合である。たとえば、本実施例では、ポート１〜４である。
【０１１１】
パケット解析部２００２は、受信したパケットを解析し、転送先への転送設定をおこなう。また、動作可能状態（Ｅｎａｂｌｅ）の場合、パケット解析部２００２は、受信許可するＢＰＤＵメッセージの宛先アドレスを第１のマルチキャストアドレスに設定する。これにより、受信したＢＰＤＵメッセージの宛先のマルチキャストアドレスが第１のマルチキャストアドレスであれば、パケット解析部２００２は、そのＢＰＤＵメッセージを取り込む。
【０１１２】
また、動作可能状態（Ｅｎａｂｌｅ’）の場合、パケット解析部２００２は、受信許可するＢＰＤＵメッセージの宛先アドレスを第１および第２のマルチキャストアドレスに設定する。これにより、受信したＢＰＤＵメッセージの宛先のマルチキャストアドレスが第１または第２のマルチキャストアドレスであれば、パケット解析部２００２は、そのＢＰＤＵメッセージを取り込む。
【０１１３】
第１のスパニングツリー制御部２００３は、図２に示した動作可能状態（Ｅｎａｂｌｅ）での動作を実行する回路である。また、第２のスパニングツリー制御部２００４は、図２に示した動作可能状態（Ｅｎａｂｌｅ’）での動作を実行する回路である。記憶部２００５は、メモリなどの記憶装置であり、管理テーブルや図示しないＭＡＣアドレス学習テーブルを記憶する。
【０１１４】
第２のスパニングツリー制御部２００４は、検出部２４０１と、分類部２４０２と、設定部２４０３と、比較部２４０４と、状態制御部２４０５と、通信制御部と、を有する。検出部２４０１は、第１の転送装置群により構成される第１のネットワークＮＷ１と、第２の転送装置群により構成される第２のネットワークＮＷ２と、第１および第２のネットワークＮＷ２間を接続する特定の転送装置と、により構築された第１のスパニングツリーが存在する場合に、第１および第２のネットワークＮＷ２間に接続されたことを検出する。
【０１１５】
具体的には、たとえば、検出部２４０１を有する転送装置が転送装置Ｔｂである場合は、特定の転送装置とは、転送装置Ｔａである。また、第１のスパニングツリーとは、階層Ｌ１を構成するスパニングツリーである。転送装置Ｔａ、Ｔｂの場合、検出部２４０１は、第１のネットワークＮＷ１と第２のネットワークＮＷ２との間に転送装置Ｔａ、Ｔｂが接続されたことを検出する。
【０１１６】
分類部２４０２は、検出部２４０１によって検出されたことにより第１のスパニングツリーから送信されてくる第１の制御メッセージに基づいて、自装置が有する複数のポートを、第１のネットワークＮＷ１に接続される第１のグループと第２のネットワークＮＷ２に接続される第２のグループに分類する。第１の制御メッセージとは、第１のネットワークＮＷ１のルートブリッジである転送装置Ｔ１１または第２のネットワークＮＷ２のルートブリッジである転送装置Ｔ２１からのコンフィギュレーションＢＰＤＵメッセージである。具体的には、たとえば、分類部２４０２は、図１２のステップＳ１２０５に示したようにグループ化をおこなう。
【０１１７】
設定部２４０３は、自装置の優先度を、第１および第２の転送装置群のいずれの転送装置よりも低い優先度に設定する。具体的には、たとえば、設定部２４０３は、図１２のステップＳ１２０６に示したように優先度を設定する。
【０１１８】
比較部２４０４は、特定の転送装置の優先度を含み、かつ、特定の転送装置と自装置との間でのみ解釈可能な第２の制御メッセージが、特定の転送装置から第１および第２のネットワークＮＷ２を介して、分類部２４０２によって第１のグループに分類された第１のポートおよび第２のグループに分類された第２のポートで受信された場合、設定部２４０３によって設定された自装置の優先度と特定の転送装置の優先度とを比較する。第２の制御メッセージとは、たとえば、コンフィギュレーションＢＰＤＵ’メッセージである。具体的には、たとえば、比較部２４０４は、図１３のステップＳ１３０５に示したようにコンフィギュレーションＢＰＤＵ’メッセージ内のルートＩＤに含まれる優先度を比較する。
【０１１９】
状態制御部２４０５は、比較部２４０４による比較結果に基づいて、第１の転送装置群と、第２の転送装置群と、特定の転送装置と、自装置と、を含む第３の転送装置群の中で、特定の転送装置および自装置のうち、いずれか一方の転送装置を最上位の転送装置に決定し、他方の転送装置を最下位の転送装置に決定する。具体的には、たとえば、状態制御部２４０５は、転送装置Ｔａ、Ｔｂのうちいずれか一方の転送装置をルートブリッジに決定し、他方の転送装置をリーフブリッジに設定する。これにより、階層Ｌ２となる第２のスパニングツリーが構築される。
【０１２０】
状態制御部２４０５は、特定の転送装置を最上位の転送装置に決定した場合、第１および第２のポートのうちいずれか一方のポートを第１の制御メッセージの転送を許可する転送許可状態に設定し、他方のポートを第１の制御メッセージの転送を禁止する転送禁止状態に設定する。特定の転送装置が転送装置Ｔａで自装置が転送装置Ｔｂの場合、状態制御部２４０５は、転送装置Ｔａをルートブリッジに決定すると、転送装置Ｔｂのポート１、４のうちいずれか一方のポートの状態をコンフィギュレーションＢＰＤＵメッセージの転送を許可する転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。そして、状態制御部２４０５は、他方のポートの状態を転送停止状態（Ｂｌｏｃｋｉｎｇ’）に遷移させる。これにより、図８に示したように、ループ構造が解消される。
【０１２１】
また、状態制御部２４０５は、自装置を最上位の転送装置に決定した場合、第１および第２のポートを第１の制御メッセージの転送を許可する転送許可状態に設定する。具体的には、たとえば、自装置が転送装置Ｔａの場合、ポート１、３の状態を転送許可状態（Ｆｏｒｗａｒｄｉｎｇ’）に遷移させる。
【０１２２】
また、転送制御部２４０６は、第１のポートで第１の制御メッセージを受信した場合、第２のポートから第２のグループ内の転送装置への第１の制御メッセージの転送を禁止するように制御する。具体的には、たとえば、転送装置Ｔａの場合、転送制御部２４０６は、グループＧ１のポート１で受信したコンフィギュレーションＢＰＤＵメッセージを、グループＧ２のポート３から転送させず、廃棄する。同様に、転送制御部２４０６は、グループＧ２のポート３で受信したコンフィギュレーションＢＰＤＵメッセージを、グループＧ１のポート１から転送させず、廃棄する。
【０１２３】
以上に説明したように、本発明の実施例によると、２つのスパニングツリープロトコルによるネットワーク間を結合したあと、別のブリッジが２つのスパニングツリープロトコルによるネットワーク間に接続された場合のループを解消することができる。
【０１２４】
また、各ネットワーク間にまたがるＢＰＤＵメッセージの転送が禁止される状態であっても、２つのネットワークと、２つのネットワークを結合したブリッジと、あらたに接続されたブリッジと、により、スパニングツリーを構築することができる。したがって、ブリッジで結合された複数のネットワーク間にブリッジが追加される場合のスパニングツリーの構築の効率化を図ることができる。
【０１２５】
また、階層Ｌ１のスパニングツリーを維持したまま、階層Ｌ２のスパニングツリーを構築することにより、階層Ｌ１のスパニングツリーによるデータ転送を実現しつつ、新たに追加された転送装置によるループを解消することができる。
【０１２６】
また、転送装置Ｔａ、Ｔｂは、コンフィギュレーションＢＰＤＵ’メッセージを交換しあうことで、各々独立して、ルートブリッジであるかリーフブリッジであるかを判断することができる。したがって、障害や撤去等が発生してもその都度、残された転送装置間でコンフィギュレーションＢＰＤＵ’メッセージを交換しあうことで、階層Ｌ２のスパニングツリーを再構築することができる。
【０１２７】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０１２８】
２００１  ポート群
２００２  パケット解析部
２００３  第１のスパニングツリー制御部
２００４  第２のスパニングツリー制御部
２００５  記憶部
２４０１  検出部
２４０２  分類部
２４０３  設定部
２４０４  比較部
２４０５  状態制御部
２４０６  転送制御部
Ｔ１１-Ｔ１４、Ｔ２１-Ｔ２４、Ｔａ、Ｔｂ  転送装置
【図１】
2014120907.tif 000003
【図２】
2014120907.tif 000004
【図３】
2014120907.tif 000005
【図４】
2014120907.tif 000006
【図５】
2014120907.tif 000007
【図６】
2014120907.tif 000008
【図７】
2014120907.tif 000009
【図８】
2014120907.tif 000010
【図９】
2014120907.tif 000011
【図１０】
2014120907.tif 000012
【図１１】
2014120907.tif 000013
【図１２】
2014120907.tif 000014
【図１３】
2014120907.tif 000015
【図１４】
2014120907.tif 000016
【図１５】
2014120907.tif 000017
【図１６】
2014120907.tif 000018
【図１７】
2014120907.tif 000019
【図１８】
2014120907.tif 000020
【図１９】
2014120907.tif 000021
【図２０】
2014120907.tif 000022