(57)【要約】【課題】  スパニングツリープロトコルが動作できない障害または動作不能が発生しても、通信を継続させるとともに、さらにその後のネットワーク状態の変化への追従までも可能とするブリッジ装置および制御パケット処理方法を提供すること。【解決手段】  他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置であって、スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、上記他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートと、上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出する障害検出部と、上記障害検出部が上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信する障害時用ＢＰＤＵ送信部とを備える。【選択図】図３
2006254341.tif 000002
【特許請求の範囲】
【請求項１】
他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置において、
スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、
前記他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートと、
前記ＳＴＰプロトコル処理部を監視して前記スパニングツリープロトコルの障害または動作不能を検出する障害検出部と、
前記障害検出部が前記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを前記ポートを介して前記他のブリッジ装置へ送信する障害時用ＢＰＤＵ送信部と、
を備えることを特徴とするブリッジ装置。
【請求項２】
前記障害時用ＢＰＤＵ送信部が送信する障害時用ブリッジプロトコルデータユニットは、前記他のブリッジ装置が有するルート識別子の値よりも小さい値のルート識別子を有していることを特徴とする請求項１に記載のブリッジ装置。
【請求項３】
前記障害時用ＢＰＤＵ送信部は、前記障害時用ブリッジプロトコルデータユニットをフォワーディング状態の全てのポートを介して前記他のブリッジ装置へ送信することを特徴とする請求項１または２に記載のブリッジ装置。
【請求項４】
前記障害時用ＢＰＤＵ送信部は、前記障害時用ブリッジプロトコルデータユニットを全てのポートを介して前記他のブリッジ装置へ送信し、
前記ポートは、非フォワーディング状態をフォワーディング状態に設定することを特徴とする請求項１または２に記載のブリッジ装置。
【請求項５】
スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートとを備え、前記他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置において実行される制御パケット処理方法であって、
前記ＳＴＰプロトコル処理部を監視して前記スパニングツリープロトコルの障害または動作不能を検出し、
前記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを前記ポートを介して前記他のブリッジ装置へ送信することを特徴とする制御パケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スパニングツリープロトコル（Spanning Tree Protocol：ＳＴＰ）をサポートするブリッジ装置間で送受信される制御パケットを処理するブリッジ装置および制御パケット処理方法に関する。
【背景技術】
【０００２】
スパニングツリープロトコルは、ネットワーク上の任意ブリッジ装置間で物理的な冗長ルート（２つ以上のルート）を持つ場合、特定のポートを介したデータフレーム中継を抑止（ブロッキング）することで、任意ブリッジ装置間のフレーム中継経路を一意に決めることを可能にするプロトコルであり、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２．１Ｄ（Media Access Control (ＭＡＣ) Bridges）により標準化されている。
【０００３】
具体的には、複数のブリッジ装置で構成されるネットワークにおいて、ブリッジプロトコルデータユニット（Bridge Protocol Data Unit：ＢＰＤＵ）と呼ばれる制御パケットを送受信することで、まずルートとなるブリッジ装置を１つ決める。それぞれのブリッジ装置は、設定変更可能な１６ビットのBridge Priorityとそれぞれのブリッジ装置が持つ４８ビットのＭＡＣアドレスにより構成される６４ビットのBridge IDを持っており、それをＢＰＤＵに格納し隣接するブリッジ装置間で送受信することで、最も小さいBridge IDを持つブリッジ装置をルートブリッジ装置として決定することになる。
【０００４】
次に、ルートブリッジ装置が決定されると、そのルートブリッジ装置からツリー状に経路を設定し、そのツリー状の経路以外の経路（リンク）をデータが通ることを禁じる（ブロッキングにする）ことで、任意のブリッジ装置間において、経路を一意に決定することを可能としている。経路の決定の仕方としては、任意のブリッジ装置間に２以上の経路が存在する可能性がある場合に、隣接するブリッジ装置間を接続するリンクのリンク速度に対応するコスト（通常は、リンク速度が大きいほどコストは小さい。）に基づいて、経路全体のコストを計算し、最も小さいコストの値の経路以外の経路をブロッキングすることで決定する。
【０００５】
ツリー状の経路が決定した後は、ＢＰＤＵは、ルートブリッジ装置を起点として、ツリー状のリーフ方向に定期的に送信される。定期的にＢＰＤＵを送信する間隔のことをHello Timeと呼び、その間隔のデフォルトは一般的に２秒に設定される。
【０００６】
図１３は、定常状態におけるブリッジ装置間でのＢＰＤＵ送受信の例を示す図である。
図１３において、ネットワーク１０は、ブリッジ装置１１、２１、３１および４１からなり、このうちブリッジ装置１１がルートブリッジ装置として割り当てられている。そして、ブリッジ装置３１のポート（デジグネーテッドポート）３３に対向するブリッジ装置４１のポート４３が、オルタネートポートとしてブロックされている。
【０００７】
このような構成のネットワーク１０において、ＢＰＤＵは、ブリッジ装置１１のポート（デジグネーテッドポート）１２および１３から、矢印の方向（リーフ方向）に向かって他のブリッジ装置２１、３１、４１間を順番に転送される。すなわち、ブリッジ装置１１のポート（デジグネーテッドポート）１２から送信されたＢＰＤＵは、ブリッジ装置２１のポート（ルートポート）２２で受信され、ブリッジ装置１１のポート（デジグネーテッドポート）１３から送信されたＢＰＤＵは、ブリッジ装置３１のポート（ルートポート）３２で受信される。また、ブリッジ装置２１のポート（デジグネーテッドポート）２３から送信されたＢＰＤＵは、ブリッジ装置４１のポート（ルートポート）４２で受信される。
【０００８】
ここで、仮にブリッジ装置２１において、ソフトウェア障害または動作不能、バグの発生、ソフトウェア更新などによりスパニングツリープロトコルの動作が継続不可能になった場合は、隣接するブリッジ装置１１、４１との間で正常なＢＰＤＵ送受信ができなくなる。この結果、ネットワーク１０内でブロッキングすべき箇所（ポート４３）を正確に判断できないことから、ネットワーク１０内にループを形成してしまう可能性がある。このループの形成を回避するため、障害または動作不能の発生したブリッジ装置２１においては、ポートの運用を強制的に閉塞させる（ポートをLinkdownさせるか、データフレームをブロッキングさせる）手法が一般的である。
【０００９】
また、ルータ、ブリッジ、スイッチングＨＵＢ等のＬＡＮのセグメント間を接続する装置を、スパンニングツリープロトコルによるネットワーク内へ増設する際、又はネットワーク内での動作再開の際、このような装置から一定期間ＢＰＤＵメッセージを送信せずに、各ポートからＢＰＤＵメッセージの受信のみを行ない、受信したＢＰＤＵメッセージ内の全てのBridge IDよりも大きな値を自装置のBridge IDに設定することにより、自装置をネットワークに追加してもトポロジーを変化させない技術が開示されている（例えば、特許文献１参照。）。
【特許文献１】特開２００２−３３０１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、スパニングツリープロトコルにより冗長構成としたネットワークにおいて、任意のブリッジ装置のスパニングツリープロトコルが動作できなくなった場合には、当該ブリッジ装置のポートを閉塞させる必要があり、そのブリッジ装置を介した通信の一切が不可能になるという問題点があった。これはスパニングツリープロトコルが動作しなくなるというような障害または動作不能時だけでなく、スパニングツリープロトコルが動作するソフトウェアを更新する際にも同様である。
【００１１】
この問題を解決するため、スパニングツリープロトコルが動作できなくなった場合には、今まで送信していたＢＰＤＵと同一のＢＰＤＵをハードウェアにより送信させ、それを継続させることで、ポート運用を継続可能にする技術（本出願人が出願した特願２００３−４３１１５４号、関連出願という）などが考えられる。
【００１２】
ただし、スパニングツリープロトコルが正常に動作していた時に送信していたＢＰＤＵと同一のＢＰＤＵを固定的に（ハードウェア的に）繰り返し送信させているため、その間、ネットワークに何らかの設定変更や障害または動作不能が発生した場合に、その変化に追従することは不可能であるという問題点がある。
【００１３】
本発明は、上記事情に鑑みてなされたもので、スパニングツリープロトコルが動作できない障害または動作不能が発生しても、通信を継続させるとともに、さらにその後のネットワーク状態の変化への追従までも可能とするブリッジ装置および制御パケット処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のブリッジ装置は、他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置であって、スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、上記他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートと、上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出する障害検出部と、上記障害検出部が上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信する障害時用ＢＰＤＵ送信部とを備えることを特徴とする。
【００１５】
また、本発明のブリッジ装置は、上記障害時用ＢＰＤＵ送信部が送信する障害時用ブリッジプロトコルデータユニットが、上記他のブリッジ装置が有するルート識別子の値よりも小さい値のルート識別子を有していることが望ましい。
【００１６】
また、本発明のブリッジ装置は、上記障害時用ＢＰＤＵ送信部が、上記障害時用ブリッジプロトコルデータユニットをフォワーディング状態の全てのポートを介して上記他のブリッジ装置へ送信することが望ましい。
【００１７】
また、本発明のブリッジ装置は、上記障害時用ＢＰＤＵ送信部が、上記障害時用ブリッジプロトコルデータユニットを全てのポートを介して上記他のブリッジ装置へ送信し、上記ポートが、非フォワーディング状態をフォワーディング状態に設定することが望ましい。
【００１８】
また、本発明の一態様によれば、本発明の制御パケット処理方法は、スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートとを備え、上記他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置において実行される制御パケット処理方法であって、上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出し、上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、スパニングツリープロトコルをサポートするブリッジ装置において、スパニングツリープロトコルが動作不可能な障害または動作不能発生時や、ソフトウェア更新時であっても全ての通信を継続し、さらにネットワーク状態変化にも追従可能なネットワークを提供することが可能になる。
【発明を実施するための最良の形態】
【００２０】
以下、図面に基づいて本発明を適用した実施の形態を説明する。
まず、本発明の概略を説明する。
本発明の特徴は、スパニングツリープロトコルをサポートする複数のブリッジ装置が互いに接続することにより構成されるネットワークにおいて、スパニングツリープロトコルが動作不可能な障害または動作不能の発生やソフトウェアの更新によって、あるブリッジ装置のスパニングツリープロトコルが動作できなくなった際、そのブリッジ装置から最小のRoot IDを有するＢＰＤＵを送信することにより、ネットワークを再構築するというものである。
【００２１】
なお、ブリッジ装置とは、イーサネット（登録商標）フレームを受信し、そのフレーム内の宛先ＭＡＣアドレスから適切な宛先ポートを決定して、受信したフレームを転送する装置である。
【００２２】
まず、図１３を例にして、スパニングツリープロトコルの動作概要を説明する。
図１３は、定常状態におけるブリッジ装置間でのＢＰＤＵ送受信の例を示す図である。また、図１４は、ＢＰＤＵフォーマットの例を示す図である。
【００２３】
図１３において、各ブリッジ装置１１、２１、３１および４１が起動した直後は、それぞれのブリッジ装置、例えばブリッジ装置１１が隣接するブリッジ装置２１および３１からＢＰＤＵを受信していない状態であるため、ブリッジ装置１１は自身をルートブリッジ装置であると認識し、隣接するブリッジ装置２１および３１に対して「Bridge IDフィールド（自装置のPriorityとＭＡＣアドレスを含む）」および「Root IDフィールド（自装置のBridge IDを含む）」のＢＰＤＵ（図１４参照）を定期的に送信する。そのＢＰＤＵを受信したブリッジ装置２１および３１では、受信したＢＰＤＵのRoot IDフィールドに設定されたBridge IDと自身（ブリッジ装置２１または３１）のBridge IDを比較し、小さい値を持つ方（例えば、ブリッジ装置１１）をルートブリッジ装置として認識し、その小さい方の値をRoot IDフィールドに設定したＢＰＤＵを、現時点で認識しているルートブリッジ装置から遠い方向へ定期的に送信するようになる。
【００２４】
この動作を全ての隣接するブリッジ装置１１、２１、３１および４１間で行うことで、ネットワーク１０内で最も小さなBridge IDを持つルートブリッジ装置（例えば、ブリッジ装置１１）が全ブリッジ装置１１、２１、３１および４１で認識される。また、ＢＰＤＵはルートブリッジ情報だけでなく、ルートブリッジ装置（例えば、ブリッジ装置１１）からのコスト（距離）情報をも伝搬させており、各ブリッジ装置２１、３１および４１の各ポートがルートブリッジ装置（例えば、ブリッジ装置１１）からどの程度離れているかを認識することが可能であり、どのポートをブロッキングすべきかということも判断可能になる。
【００２５】
図１３に示した例では、ブリッジ装置１１が最も小さなBridge IDを持っており、ブリッジ装置１１、２１、３１および４１においてブリッジ装置１１がルートブリッジ装置１１となることを、２秒毎にルートブリッジ装置１１を起点に定期的に送信されるＢＰＤＵにより認識している。
【００２６】
ここで、ルートブリッジ装置であるブリッジ装置１１が、隣接するブリッジ装置２１、３１および４１からＢＰＤＵを仮に受信しても、それが自身（ブリッジ装置１１）のBridge IDよりも小さいRoot IDを持つことがないのであれば、受信したＢＰＤＵの情報を使用して、ネットワークトポロジーを変化（自身（ブリッジ装置１１）のポートをブロッキングさせたり、それを解除したりすること）させたり、自身（ブリッジ装置１１）が送信するＢＰＤＵの値に反映させたりすることが必須ではなくなる。
【００２７】
本発明は、スパニングツリープロトコルネットワークを構成するルートブリッジ装置における上記特性、すなわちＢＰＤＵ受信が必須ではなくなるという特性を利用する。
図１３において、ブリッジ装置２１が障害または動作不能により、スパニングツリープロトコルの動作が不可能になったと仮定する。この場合、従来技術では、ブリッジ装置２１に属するポート（ルートポート）２２およびポート（デジグネーテッドポート）２３を閉塞させることになる。また、関連出願では、ポート（デジグネーテッドポート）２３から今まで送信していたＢＰＤＵと同一のＢＰＤＵの送信をハードウェア自律で強制的に継続させることになる。
【００２８】
前者の方法では、ブリッジ装置２１と他のブリッジ装置１１、３１および４１との通信が不可能になってしまう。後者の方法では、通信を継続することは可能であるものの、その後の他ブリッジ装置１１、３１および４１において設定変更や障害または動作不能が発生し、ブリッジ装置２１で受信されるＢＰＤＵやブリッジ装置２１が送信すべきＢＰＤＵに変更がある場合に対応ができず、ネットワーク１０内にループを生成させる危険性がある。
【００２９】
ここで、本発明では、ブリッジ装置２１のスパニングツリープロトコルが動作できなくなった場合に、ネットワーク１０内で最も小さな値（例えば０）のRoot IDフィールドを持つＢＰＤＵを、隣接するブリッジ装置１１および４１に強制的に送出させることにより、図１に示す様に、ブリッジ装置２１をルートブリッジ装置としたトポロジーを再構築させることができる。なお、送信するＢＰＤＵのBridge IDフィールドには、Root IDと同一の値を設定することが望ましい。
【００３０】
すなわち、図１において、ブリッジ装置２１が障害または動作不能により、スパニングツリープロトコルの動作が不可能になると、ブリッジ装置２１は自身をルートブリッジ装置であると認識し、隣接するブリッジ装置１１および４１に対して「Bridge IDフィールド（例えば０）」および「Root IDフィールド（自装置のBridge ID＝０を含む）」のＢＰＤＵ、すなわち、ルート識別子としてのRoot IDがネットワーク内で最も小さくなるＢＰＤＵを定期的に送信する。そのＢＰＤＵを受信したブリッジ装置１１および４１では、受信したＢＰＤＵのRoot IDフィールドに設定されたBridge ID＝０と自身（ブリッジ装置１１または４１）のBridge IDとを比較し、小さい値を持つ方（０であるブリッジ装置２１）をルートブリッジ装置として認識し、その小さい方の値（０）をRoot IDフィールドに設定したＢＰＤＵを、現時点で認識しているルートブリッジ装置（ブリッジ装置２１）から遠い方向へ定期的に送信するようになる。
【００３１】
この動作を全ての隣接するブリッジ装置１１、２１、３１および４１間で行うことで、全ブリッジ装置１１、２１、３１および４１は、ネットワーク１０内で最も小さなBridge ID（０）を持つブリッジ装置２１がスパニングツリープロトコルにおけるルートブリッジ装置であることを認識する。
【００３２】
そして、各装置は、スパニングツリープロトコルに従って、ルートブリッジ装置２１をルートとするツリー状の経路を形成することになる。
また、図１のような状態において、例えば、図２に示すようにブリッジ装置３１−ブリッジ装置４１間でリンク障害が発生したとしても、スパニングツリープロトコルにより経路の切り替え動作が正常に働き、通信を継続することが可能である。
【００３３】
図３は、本発明を適用したブリッジ装置の構成を示す図である。
図３において、ブリッジ装置１００は、ソフトウェアによりスパニングツリープロトコルを実行するＳＴＰプロトコル処理部１０１と、ＢＰＤＵを他のブリッジ装置へ送信する複数のＢＰＤＵ送信部（ポート）１０２と、障害または動作不能を検出する障害検出部１０３と、障害検出部１０３が障害または動作不能を検出した場合にＢＰＤＵ送信部（ポート）１０２を介して障害時用ＢＰＤＵを他のブリッジ装置へ送信する障害時用ＢＰＤＵ送信部１０４と、ＭＡＣ学習テーブル１０５とを備えている。
【００３４】
ＭＡＣ学習テーブルの構成例を図４に示す。
フレームの入力時には、入力フレームのソース（送信元）ＭＡＣアドレスと入力ポートのポート番号との組が、ＭＡＣ学習テーブル内に記録される。
【００３５】
また、フレームの出力時には、出力フレームのディスティネーション（宛先）ＭＡＣアドレスがＭＡＣ学習テーブル内に存在するか否かを検索し、存在した場合にはそのＭＡＣアドレスに対応したポート番号のポートにフレームを出力する。他方、存在しない場合には入力ポート以外の全てのフォワーディング状態のポートからフレームを出力する。
【００３６】
図３の説明に戻る。
このようなブリッジ装置１００が複数個互いに接続されてネットワークを形成する場合において、ソフトウェア障害または動作不能、バグの発生、ソフトウェア更新などにより、あるブリッジ装置１００のスパニングツリープロトコルの動作が継続不可能になった場合は、その障害または動作不能を障害検出部１０３が検出し、障害時用ＢＰＤＵ送信部１０４が、ＢＰＤＵ送信部（ポート）１０２を介してBridge ID＝０を含む障害時用ＢＰＤＵを他のブリッジ装置へ送信する。
【００３７】
ところが、例えば図１３におけるブリッジ装置４１の様に、定常状態においてブロッキング状態のポート（オルタネ−トポート）４３を持つブリッジ装置４１においてスパニングツリープロトコルが動作不可能になった場合、ブリッジ装置４１が上述のブリッジ装置１００のような機能を有していたとすると、図５の様な形でトポロジー再構築されてしまい、不必要にブロッキングされる箇所（ブリッジ装置１１のポート（オルタネートポート１２）が存在することから、一部のブリッジ装置間（ブリッジ装置１１とブリッジ装置４１間）での通信ができなくなるという不具合が発生する可能性がある。
【００３８】
そこで、このような不具合の発生を防止するために、各ブリッジ装置１１、２１、３１および４１において、非フォワーディング状態のポートからはＢＰＤＵを送出せずに、フォワーディング状態のポートからのみＢＰＤＵを送出する機能を持たせる。
【００３９】
すると、図１３におけるブリッジ装置４１の様に、定常状態においてブロッキング状態のポート（オルタネ−トポート）４３を持つブリッジ装置４１においてスパニングツリープロトコルが動作不可能になった場合でも、図６に示すように正常なトポロジーの再構築がなされる。
【００４０】
また、上述のような不具合の発生を防止する他の方策として、各ブリッジ装置１１、２１、３１および４１において、全ポートからＢＰＤＵを送出するが、非フォワーディング状態であったポートを全てフォワーディング状態にする機能を持たせる。
【００４１】
すると、図１３におけるブリッジ装置４１の様に、定常状態においてブロッキング状態のポート（オルタネ−トポート）４３を持つブリッジ装置４１においてスパニングツリープロトコルが動作不可能になった場合でも、図７に示すように正常なトポロジーの再構築がなされる。
【００４２】
さらに、本発明を適用したトポロジーの再構築が行なわれる際に、ＭＡＣ学習テーブル１０５を積極的に消去することで、新たなトポロジーで通信が再開されるまでの時間を短縮することができる。図３に示したブリッジ装置１００では、入力されたイーサネット（登録商標）フレームのソースＭＡＣアドレスと入力ポートとの関係を学習しておき、その結果作成されたＭＡＣ学習テーブル１０５に基づいてイーサネット（登録商標）フレームの出力ポートを決定する。したがって、このＭＡＣ学習テーブル１０５がエージング（通常、数分間）されるまでは、トポロジー変更が行われても実際の通信はその変更に追従できない可能性がある。
【００４３】
よって、スパニングツリープロトコルが動作不能になったブリッジ装置１００のＭＡＣ学習テーブル１０５を消去させ、通信が再開されるまでの時間を短縮する。
また、スパニングツリープロトコルの動作不能時に送出するＢＰＤＵに対して、一定時間（もしくはスパニングツリー動作不能時は常に）ＴＣ（Topology Change）フラグを設定することにより、他のブリッジ装置のＭＡＣ学習テーブルを消去させ、通信が再開されるまでの時間を短縮する。
【００４４】
また、隣接するブリッジ装置側であらかじめ決められた値（例えばAll“０”）のRoot IDを持つＢＰＤＵの受信時にＭＡＣ学習テーブルを消去させることで、スパニングツリープロトコルの動作が不能になったブリッジ装置が送出するＢＰＤＵにＴＣフラグを設定することを不要にすることが可能になる。
【００４５】
なお、スパニングツリープロトコルが動作不能になったブリッジ装置がネットワーク上に同時に２台以上存在した場合には正常に機能しない可能性がある。しかしながら、他装置があらかじめ決められた値（例えばAll“０”）のRoot IDを送出している場合は、従来技術の様に全ポートを閉塞させることが可能である。
【００４６】
次に、本発明を適用した実施の形態を詳細に説明する。
図８は、本発明を適用した第１の実施の形態におけるブリッジ装置の構成を示す図である。
【００４７】
図８において、ブリッジ装置２００は、ＳＴＰプロトコル処理部２０１、自装置障害検出部２０２、障害時用ＢＰＤＵ送信部２０３、Port閉塞判定・処理部２０４、他装置障害検出部２０５、Port＃１ＢＰＤＵ受信部２０６、Port＃１ＢＰＤＵ送信部２０７、Port＃２ＢＰＤＵ受信部２０８、およびPort＃２ＢＰＤＵ送信部２０９を備えている。
【００４８】
このように構成されたブリッジ装置２００において、まずは障害または動作不能の全く発生していない状態で運用されている場合の動作について説明する。
Port＃１において隣接するブリッジ装置から受信したＢＰＤＵは、Port＃１ＢＰＤＵ受信部２０６を経由して、ＳＴＰプロトコル処理部２０１に転送される。同様に、Port＃２において隣接するブリッジ装置から受信したＢＰＤＵは、Port＃２ＢＰＤＵ受信部２０８を経由して、ＳＴＰプロトコル処理部２０１に転送される。
【００４９】
すると、ＳＴＰプロトコル処理部２０１においては、受信したＢＰＤＵ内の情報に基づいて、適切なポートに対して、適切なデータが設定されたＢＰＤＵを送信する。
ここでは障害または動作不能が発生していない状態での動作であり、自装置障害検出部２０２および他装置障害検出部２０５は、障害または動作不能を一切検出しない。したがって、障害時用ＢＰＤＵ送信部２０３およびPort閉塞判定・処理部２０４が動作することはなく、Port＃１ＢＰＤＵ送信部２０７およびPort＃２ＢＰＤＵ送信部２０９を介して障害時用のＢＰＤＵが隣接するブリッジ装置に送信されることはない。また、全Portがshutdownされることもない。
【００５０】
次に、障害または動作不能が発生していない上述の状態から、ブリッジ装置２００自身（自装置）で障害または動作不能が発生あるいはソフトウェアを更新し、ＴＰプロトコル処理部２０１が動作できなくなった場合の処理、およびその状態からブリッジ装置２００（自装置）の障害または動作不能が復旧した場合の処理シーケンスについて説明する。
【００５１】
図９は、自装置障害または動作不能発生から回復までの処理シーケンスを示す図である。
正常状態からブリッジ装置２００（自装置）の障害または動作不能（ソフトウェアの更新を含む）が発生すると、ステップＳ９０１において、ＳＴＰプロトコル処理部２０１が停止する。すると、ステップＳ９０２において、ＳＴＰプロトコル処理部２０１を監視している自装置障害検出部２０２がＳＴＰプロトコル処理部２０１の停止を検出し、ステップＳ９０３において、自装置障害検出部２０２から「ＳＴＰプロトコル処理部２０１が停止している旨」の通知を受けたPort閉塞判定・処理部２０４がブリッジ装置２００（自装置）の停止を検出する。
【００５２】
そして、ステップＳ９０４において、Port＃１ＢＰＤＵ受信部２０６あるいはPort＃２ＢＰＤＵ受信部２０７を介して対向する他のブリッジ装置（他装置）からＢＰＤＵを受信した他装置障害検出部２０５が、ネットワークを形成している他のブリッジ装置（他装置）に障害または動作不能が発生しているか否かを判断する。なお、他のブリッジ装置（他装置）に障害または動作不能が発生しているか否かの判断についての詳細は、図１０を用いて後述する。
【００５３】
他のブリッジ装置（他装置）に障害または動作不能が発生していると判断した場合（ステップＳ９０４：Ｙｅｓ）は、ステップＳ９０５において、ネットワークを構成する全てのブリッジ装置の全てのポートのshutdown処理を実施して、他のブリッジ装置との接続を切り離すことにより、ネットワーク全体でスパニングツリープロトコルが不安定な状態になることを回避することが可能となる。
【００５４】
次に、ステップＳ９０６において、障害時用ＢＰＤＵ送信部２０３が、Root ID＝０、Bridge ID＝０のＢＰＤＵを隣接する他のブリッジ装置（他装置）に周期的に送信する。すると、このＢＰＤＵを隣接する他のブリッジ装置（隣接装置）が受信し、さらにその隣接装置からその隣接装置に隣接するブリッジ装置に対してもRoot ID＝０の情報がＢＰＤＵによって伝搬されていくため、ネットワーク内の全ての他のブリッジ装置（他装置）がブリッジ装置２００をルートブリッジ装置として認識することが可能になる。
【００５５】
そして、ブリッジ装置２００（自装置）の障害または動作不能（ソフトウェアの更新を含む）が復旧すると、ステップＳ９０７において、ＳＴＰプロトコル処理部２０１の正常動作が再開され、再度、Port＃１ＢＰＤＵ送信部２０７およびPort＃２ＢＰＤＵ送信部２０９を介するＢＰＤＵの送信を実施する。すると、ステップＳ９０８において、ＳＴＰプロトコル処理部２０１を監視している自装置障害検出部２０２がＳＴＰプロトコル処理部２０１の再開を検出し、ステップＳ９０９において、自装置障害検出部２０２から「ＳＴＰプロトコル処理部２０１が再開している旨」の通知を受けたPort閉塞判定・処理部２０４がブリッジ装置２００（自装置）の再開を検出する。
【００５６】
そして、ステップＳ９１０において、ネットワークを構成する全てのブリッジ装置の全てのポートのshutdown処理が実施済みであるか否かを判断する。
実施済みであると判断した場合（ステップＳ９１０：Ｙｅｓ）は、ステップＳ９１１において、ネットワークを構成する全てのブリッジ装置の全てのポートのshutdown処理を解除して、再度、隣接するブリッジ装置間での接続を確立させることにより、元の状態に回復させることが可能となる。
【００５７】
次に、ステップＳ９１２において、障害時用ＢＰＤＵ送信部２０３において、実施していたＢＰＤＵの周期送信指示（Root ID＝０、Bridge ID＝０のＢＰＤＵを隣接する他のブリッジ装置（他装置）に周期的に送信）を解除する。すると、障害時用ＢＰＤＵ送信部２０３において実施していたRoot ID＝０のＢＰＤＵの送信指示が停止することになり、その結果、ブリッジ装置２００から送出するＢＰＤＵは、ＳＴＰプロトコル処理部２０１からの指示によるＢＰＤＵのみとなるため、元の正常な状態に回復することが可能となる。
【００５８】
ただし、上述した障害または動作不能発生および障害または動作不能回復時の動作は、他のブリッジ装置の障害または動作不能が発生していないことが前提となっている。仮に、他のブリッジ装置の障害または動作不能中に同様の動作を行ってしまうと、ネットワーク内にRoot ID＝０のＢＰＤＵを送出するブリッジ装置が複数存在することになってしまい、ルートブリッジ装置が一意に決まらないことからスパニングツリープロトコルが不安定になってしまう可能性がある。したがってRoot ID＝０のＢＰＤＵを受信した際には、他のブリッジ装置で障害または動作不能が発生していると認識する必要がある。
【００５９】
図１０は、他装置障害または動作不能発生から回復時までの処理シーケンスを示す図である。
まず、ステップＳ１００１において、初期設定としてブリッジ装置２００を立ち上げ、ステップＳ１００２において、他装置障害中フラグを０（障害または動作不能なし）に設定する。
【００６０】
次に、ステップＳ１００３において、他装置障害検出部２０５は、Port＃１ＢＰＤＵ受信部２０６およびPort＃２ＢＰＤＵ受信部２０８を介して受信した他のブリッジ装置から送信され、他のブリッジ装置でソフトウェアの更新を含む障害または動作不能の発生が起こっていることを示すRoot ID＝０の情報を含むＢＰＤＵを受信する。
【００６１】
そして、Port閉塞判定・処理部２０４は、ステップＳ１００４において、他のブリッジ装置でソフトウェアの更新を含む障害または動作不能の発生が起こっている旨を受信し、ステップＳ１００５において、他のブリッジ装置でソフトウェアの更新を含む障害または動作不能の発生が起こっている旨を認識し、ステップＳ１００６において、他装置障害中フラグを１（障害または動作不能あり）に設定する。このステップＳ１００５での認識は、上述の図９に示したＳ９０４の判断に用いる。
【００６２】
次に、ステップＳ１００７において、他装置障害検出部が、他のブリッジ装置でソフトウェアの更新を含む障害または動作不能の発生が起こっていることを示すRoot ID＝０の情報を含むＢＰＤＵを一定期間以上受信しなくなったことを検出すると、ステップＳ１００８において、
Port閉塞判定・処理部２０４は、他のブリッジ装置の障害または動作不能が回復したことを認識し、ステップＳ１００９において、他装置障害中フラグを０（障害または動作不能なし）に設定する。このステップＳ１００８での認識も、上述の図９に示したＳ９０４の判断に用いる。
【００６３】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、本発明が適用されるブリッジ装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【００６４】
また、図１１に示したように、バス１１０９に接続されたＣＰＵ１１０１、ＲＯＭやＲＡＭのメモリ１１０２、入力装置１１０３、出力装置１１０４、外部記録装置１１０５、媒体駆動装置１１０６、可搬記録媒体１１１０、ネットワーク接続装置１１０７で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムコードを記録したＲＯＭやＲＡＭのメモリ１１０２、外部記録装置１１０５、可搬記録媒体１１１０を、ブリッジ装置に供給し、そのブリッジ装置のコンピュータがプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００６５】
この場合、可搬記録媒体１１１０等から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した可搬記録媒体１１１０等は本発明を構成することになる。
【００６６】
プログラムコードを供給するための可搬記録媒体１１１０としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置１１０７（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【００６７】
また、図１２に示すように、コンピュータ（情報処理装置）１２００がメモリ１２０１上に読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ１２００上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【００６８】
さらに、可搬型記録媒体１２１０から読み出されたプログラムコードやプログラム（データ）提供者から提供されたプログラム（データ）１２２０が、コンピュータ１２００に挿入された機能拡張ボードやコンピュータ１２００に接続された機能拡張ユニットに備わるメモリ１２０１に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【００６９】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。ここで、上述した実施の形態の特徴を列挙すると、以下の通りである。
（付記１）
他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置において、
スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、
上記他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートと、
上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出する障害検出部と、
上記障害検出部が上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信する障害時用ＢＰＤＵ送信部と、
を備えることを特徴とするブリッジ装置。
（付記２）
上記障害時用ＢＰＤＵ送信部が送信する障害時用ブリッジプロトコルデータユニットは、上記他のブリッジ装置が有するルート識別子の値よりも小さい値のルート識別子を有していることを特徴とする付記１に記載のブリッジ装置。
（付記３）
上記障害時用ＢＰＤＵ送信部が送信する障害時用ブリッジプロトコルデータユニットは、値が０であるルート識別子を有していることを特徴とする付記２に記載のブリッジ装置。
（付記４）
上記障害時用ＢＰＤＵ送信部は、上記障害時用ブリッジプロトコルデータユニットをフォワーディング状態の全てのポートを介して上記他のブリッジ装置へ送信することを特徴とする付記１乃至３の何れか１項に記載のブリッジ装置。
（付記５）
上記障害時用ＢＰＤＵ送信部は、上記障害時用ブリッジプロトコルデータユニットを全てのポートを介して上記他のブリッジ装置へ送信し、
上記ポートは、非フォワーディング状態をフォワーディング状態に設定することを特徴とする付記１乃至３の何れか１項に記載のブリッジ装置。
（付記６）
上記障害検出部は、上記スパニングツリープロトコルの障害または動作不能を検出した後、ＭＡＣアドレスが記録されたＭＡＣ学習テーブルのデータを消去することを特徴とする付記１乃至５の何れか１項に記載のブリッジ装置。
（付記７）
上記障害検出部は、上記ＭＡＣ学習テーブルを消去した後予め定められた所定時間、上記ＭＡＣ学習テーブルへの書き込みを実行しないことを特徴とする付記６に記載のブリッジ装置。
（付記８）
上記ポートは、上記障害検出部が上記スパニングツリープロトコルの障害または動作不能を検出した場合、送信するブリッジプロトコルデータユニットのトポロジーチェンジフラグを予め定めた所定時間オンに設定することを特徴とする付記１乃至７の何れか１項に記載のブリッジ装置。
（付記９）
上記障害検出部は、オンに設定されたトポロジーチェンジフラグを有するブリッジプロトコルデータユニットを上記ポートが受信した場合、ＭＡＣアドレスが記録されたＭＡＣ学習テーブルのデータを消去することを特徴とする付記１乃至８の何れか１項に記載のブリッジ装置。
（付記１０）
上記障害検出部は、予め定められた値のルート識別子を有するブリッジプロトコルデータユニットを上記ポートが受信した場合、ＭＡＣアドレスが記録されたＭＡＣ学習テーブルのデータを消去することを特徴とする付記１乃至９の何れか１項に記載のブリッジ装置。
（付記１１）
上記障害検出部は、値が０のルート識別子を有するブリッジプロトコルデータユニットを上記ポートが受信した場合、ＭＡＣアドレスが記録されたＭＡＣ学習テーブルのデータを消去することを特徴とする付記１０に記載のブリッジ装置。
（付記１２）
上記障害検出部が上記スパニングツリープロトコルの障害または動作不能を検出し、かつ、上記ポートが予め定められた値のルート識別子を有するブリッジプロトコルデータユニットを受信した場合、上記障害時用ＢＰＤＵ送信部は、上記障害時用ブリッジプロトコルデータユニットを上記他のブリッジ装置へ送信しないことを特徴とする付記１乃至１１の何れか１項に記載のブリッジ装置。
（付記１３）
スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートとを備え、上記他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置において実行される制御パケット処理方法であって、
上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出し、
上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信することを特徴とする制御パケット処理方法。
（付記１４）
スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートとを備え、上記他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置に実行させるためのコンピュータ実行可能な制御パケット処理プログラムであって、
上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出する手順と、
上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信する手順と、
を実行させるための制御パケット処理プログラム。
（付記１５）
スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートとを備え、上記他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置に実行させるためのコンピュータ実行可能な制御パケット処理プログラムを記録した記録媒体であって、
上記制御パケット処理プログラムは、
上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出する手順と、
上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信する手順と、
を上記ブリッジ装置に実行させることを特徴とする制御パケット処理プログラムを記録した記録媒体。
（付記１６）
スパニングツリープロトコルを実行するＳＴＰプロトコル処理部と、他のブリッジ装置との間でブリッジプロトコルデータユニットを送受信するポートとを備え、上記他のブリッジ装置と接続することによりネットワークを構成するブリッジ装置に実行させるためのコンピュータ実行可能な制御パケット処理プログラムを搬送する搬送信号であって、
上記制御パケット処理プログラムは、
上記ＳＴＰプロトコル処理部を監視して上記スパニングツリープロトコルの障害または動作不能を検出する手順と、
上記スパニングツリープロトコルの障害または動作不能を検出した場合、障害時用ブリッジプロトコルデータユニットを上記ポートを介して上記他のブリッジ装置へ送信する手順と、
を上記ブリッジ装置に実行させることを特徴とする制御パケット処理プログラムを搬送する搬送信号。
【図面の簡単な説明】
【００７０】
【図１】ブリッジ装置２１障害時のトポロジー再構築の例を示す図（その１）である。
【図２】ブリッジ装置２１障害時のトポロジー再構築の例を示す図（その２）である。
【図３】本発明を適用したブリッジ装置の構成を示す図である。
【図４】ＭＡＣ学習テーブルの構成例を示す図である。
【図５】ブリッジ装置４１障害時のトポロジー再構築の例を示す図（その１）である。
【図６】ブリッジ装置４１障害時のトポロジー再構築の例を示す図（その２）である。
【図７】ブリッジ装置４１障害時のトポロジー再構築の例を示す図（その３）である。
【図８】本発明を適用した第１の実施の形態におけるブリッジ装置の構成を示す図である。
【図９】自装置障害または動作不能発生から回復までの処理シーケンスを示す図である。
【図１０】他装置障害または動作不能発生から回復時までの処理シーケンスを示す図である。
【図１１】本発明におけるブリッジ装置の構成を示す図である。
【図１２】本発明における制御パケット処理プログラムのコンピュータへのローディングを説明するための図である。
【図１３】定常状態におけるブリッジ装置間でのＢＰＤＵ送受信の例を示す図である。
【図１４】ＢＰＤＵフォーマットの例を示す図である。
【符号の説明】
【００７１】
１０      ネットワーク
１１      ブリッジ装置
１２      ポート
１３      ポート
２１      ブリッジ装置
２２      ポート
２３      ポート
３１      ブリッジ装置
３２      ポート
３３      ポート
４１      ブリッジ装置
４２      ポート
４３      ポート
１００    ブリッジ装置
１０１    ＳＴＰプロトコル処理部
１０２    ＢＰＤＵ送信部
１０３    障害検出部
１０４    障害時用ＢＰＤＵ送信部
１０５    ＭＡＣ学習テーブル
２００    ブリッジ装置
２０１    ＳＴＰプロトコル処理部
２０２    自装置障害検出部
２０３    障害時用ＢＰＤＵ送信部
２０４    Port閉塞判定・処理部
２０５    他装置障害検出部
２０６    Port＃１ＢＰＤＵ受信部
２０７    Port＃１ＢＰＤＵ送信部
２０８    Port＃２ＢＰＤＵ受信部
２０９    Port＃２ＢＰＤＵ送信部
１１０１  ＣＰＵ
１１０２  メモリ
１１０３  入力装置
１１０４  出力装置
１１０５  外部記録装置
１１０６  媒体駆動装置
１１０７  ネットワーク接続装置
１１０９  バス
１１１０  可搬記録媒体
１２００  コンピュータ
１２０１  メモリ
１２１０  可搬記録媒体
１２２０  プログラム（データ）
【図１】
2006254341.tif 000003
【図２】
2006254341.tif 000004
【図３】
2006254341.tif 000005
【図４】
2006254341.tif 000006
【図５】
2006254341.tif 000007
【図６】
2006254341.tif 000008
【図７】
2006254341.tif 000009
【図８】
2006254341.tif 000010
【図９】
2006254341.tif 000011
【図１０】
2006254341.tif 000012
【図１１】
2006254341.tif 000013
【図１２】
2006254341.tif 000014
【図１３】
2006254341.tif 000015
【図１４】
2006254341.tif 000016