(57)【要約】【課題】無線ＬＡＮなど通信状態が不安定なネットワークにスパニングツリープロトコルを適用したときに、ネットワークエラーによって、一時的なトポロジのループや、頻繁なトポロジ変更が発生することを抑止する。【解決手段】ブリッジは、二つ以上のネットワークに接続する各ポートのうち、無線ＬＡＮに接続するポートからネットワークエラーの発生を検知し、ネットワークエラーが発生したときには、ポートを介したフレームの転送を停止することでループの発生を防止し、さらに、一定期間の間は擬似的にポートからスパニングツリーの制御フレームであるＢＰＤＵを受信しているものとして動作することで、短期間のエラーによりトポロジの変更が頻発することを抑止する。【選択図】図１
2007235302.tif 000002
【特許請求の範囲】
【請求項１】
動的に通信状態が変化するネットワークを含む複数のネットワークに接続し、ネットワーク間のフレームの中継を行うブリッジ装置であって、
前記複数のネットワークのいずれかへ接続され、接続されたネットワークに対してフレームの送受信を行う複数のポートと、
スパニングツリープロトコル（以下ＳＴＰと称す）を用いた前記複数のポートの状態制御と、前記複数のポート間のフレームの中継制御とを行う制御部とを備え、
前記制御部は、前記動的に通信状態が変化するネットワークにおいて、ＳＴＰによってトポロジの変更が発生するような通信状態の悪化が起こった場合に、トポロジ変更抑制期間の間は前記ＳＴＰによるトポロジの変更が発生しないよう、前記複数のポートから送信されるフレームを制御するブリッジ装置。
【請求項２】
動的に通信状態が変化するネットワークを含む複数のネットワークに接続し、ネットワーク間のフレームの中継を行なうブリッジ装置であって、
前記複数のネットワークのいずれかへ接続され、接続されたネットワークに対してフレームの送受信を行う複数のポートと、
ＳＴＰを用いた前記複数のポートの状態制御と、前記複数のポート間のフレームの中継制御とを行う制御部とを備え、
前記制御部は、前記動的に通信状態が変化するネットワークにおいて、ＳＴＰ制御フレームの送信または受信に失敗した場合、所定の期間は概ポートを経由したフレームの転送を停止するブリッジ装置。
【請求項３】
前記動的に通信状態が変化するネットワークとして、無線ＬＡＮに接続する請求項１または請求項２に記載のブリッジ装置。
【請求項４】
前記動的に通信状態が変化するネットワークへ接続するポートは、送信が成功したかどうかの判定を、ＡＣＫ信号を受信したかどうかによって行う請求項１または請求項２に記載のブリッジ装置。
【請求項５】
前記制御部が、前記動的に通信状態が変化するネットワークへ接続するポートの状態を、ＳＴＰに基づくルートポートまたはブロック状態にあるポートとして動作する場合に、
前記制御部は前記ネットワークにおける通信状態の監視を行い、制御フレーム監視期間の間、連続して前記ポートから制御フレームを受信できなかった場合、所定の期間は前記ＳＴＰによるトポロジの変更が発生しないよう、前記複数のポートから送信されるフレームを制御する請求項１または請求項２に記載のブリッジ装置。
【請求項６】
前記制御部が、前記動的に通信状態が変化するネットワークへ接続するポートの状態を、ＳＴＰに基づく代表ポートとして動作する場合に、
前記制御部は前記ネットワークにおける通信状態の監視を行い、制御フレーム監視期間の間、連続して前記ポートから制御フレームの送信に失敗した場合、所定の期間は前記ＳＴＰによるトポロジの変更が発生しないよう、前記複数のポートから送信されるフレームを制御する請求項１または請求項２に記載のブリッジ装置。
【請求項７】
前記制御フレーム監視期間として、ＳＴＰに規定された最大ＡＧＥ期間を用いる請求項５または請求項６に記載のブリッジ装置。
【請求項８】
前記最大ＡＧＥ期間として、前記制御部が、前記ネットワークにおける通信状態が発生する前に、前記動的に通信状態が変化するネットワークへ接続するポートを経由して送信または受信した制御フレームに設定された最大ＡＧＥを用いる請求項７に記載のブリッジ装置。
【請求項９】
前記制御部は前記ネットワークにおける通信状態の監視を行い、ネットワークからの受信信号強度が低下した場合、所定の期間は前記ＳＴＰによるトポロジの変更が発生しないよう、前記複数のポートから送信されるフレームを制御する請求項１または請求項２に記載のブリッジ装置。
【請求項１０】
前記トポロジ変更抑制期間を、前記動的に通信状態が変化するネットワークへ接続するポート毎に対応付けて予め不揮発性メモリに保持することを特徴とする請求項１に記載のブリッジ装置。
【請求項１１】
前記不揮発性メモリに保持されたトポロジ変更抑制期間を、前記ネットワークを介して接続された端末から変更可能な請求項１０に記載のブリッジ装置。
【請求項１２】
前記不揮発性メモリに保持されたトポロジ変更抑制期間を前記制御部が変更することを特徴とする請求項１０に記載のブリッジ装置。
【請求項１３】
前記不揮発性メモリに保持されたトポロジ変更抑制期間を、前記制御部が前記不揮発性メモリに対応したポートにおける通信状態悪化の発生頻度から求めることを特徴とする請求項１２に記載のブリッジ装置。
【請求項１４】
前記トポロジ変更抑制期間の測定のために、前記動的に通信状態が変化するネットワークへ接続するポート毎に、独立したタイマを持つことを特徴とする請求項１に記載のブリッジ装置。
【請求項１５】
前記制御部は前記トポロジ変更の抑止のための送信フレーム制御として、自身のポート状態を変更しないことを特徴とする請求項１に記載のブリッジ装置。
【請求項１６】
前記制御部は前記トポロジ変更の抑止のための送信フレーム制御として、前記動的に通信状態が変化するネットワークで通信状態が悪化したときに、概通信状態の悪化が発生する前に概ネットワークから受信していた制御フレームを保持しておき、これをトポロジ変更抑制期間の間受信し続けているものとして動作することで、自身のポート状態の変更を抑止することを特徴とする請求項１５に記載のブリッジ装置。
【請求項１７】
前記制御部は前記トポロジ変更の抑止のための送信フレーム制御として、ネットワーク内のブリッジのうち、ルートブリッジへの中継を行うブリッジに対し、概ブリッジが自身のポート状態を変更することを制御することを特徴とする請求項１に記載のブリッジ装置。
【請求項１８】
前記制御部は前記ネットワーク内のブリッジのうち、ルートブリッジへの中継を行うブリッジによるポート状態変更の抑止のための送信フレーム制御を、前記ポートのうち、代表ポートとして動作するポートから送信する制御フレームを用いて行うことを特徴とする請求項１７に記載のブリッジ装置。
【請求項１９】
前記制御部は前記代表ポートとして動作するポートから送信する制御フレームのＡＧＥフィールドに、ＳＴＰに基づき設定する値から、トポロジ変更抑制期間を引いたものを設定することを特徴とする請求項１８に記載のブリッジ装置。
【請求項２０】
前記トポロジ変更抑制期間が経過しても前記ネットワークで通信状態の悪化が続いた場合、
前記制御部は概ネットワークに接続するポートを介してこれを検知し、
概ポートの状態を前記ＳＴＰに基づくオフ状態に遷移させてから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに前記制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、前記ポートの状態管理を行うことを特徴とする請求項１に記載のブリッジ装置。
【請求項２１】
前記トポロジ変更抑制期間が経過しても前記ネットワークで通信状態の悪化が続いた場合で、概ネットワークに接続するポートの状態をＳＴＰに基づくオフ状態に遷移させた後、概ネットワークで通信状態が良化した場合、
前記制御部は概ポートを介してこれを検知し、
概ポートの状態を前記ＳＴＰに基づくブロック状態に遷移させてから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行うことを特徴とする請求項２０に記載のブリッジ装置。
【請求項２２】
前記トポロジ変更抑制期間内に前記ネットワークで通信状態が良化した場合、
前記制御部は概ネットワークに接続するポートを介してこれを検知し、
概ポートを経由した中継を行ってもトポロジにループが発生しないことを前記ブリッジポートで送受される制御フレームによって判断してから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行うことを特徴とする請求項１に記載のブリッジ装置。
【請求項２３】
前記ポートが、前記ＳＴＰに基づきルートポートまたはブリッジポートとして動作する場合、
前記ポートによる通信状態の良化の検知を、前記ポートを介してネットワークから制御フレームを受信したことで検出する請求項２０、請求項２１または請求項２２に記載のブリッジ装置。
【請求項２４】
前記ポートが、前記ＳＴＰに基づき代表ポートとして動作する場合、
前記ポートによる通信状態の良化の検知を、前記ポートを介してネットワークへ制御フレームの送信に成功したことで検出する請求項２０、請求項２１または請求項２２に記載のブリッジ装置。
【請求項２５】
前記ポートが、前記ＳＴＰに基づきルートポートまたはブロック状態にあるポートとして動作する場合、
前記トポロジにループが発生しないことを、通信状態が悪化している間に他のブリッジによってトポロジが変更されているかどうかによって判断する請求項２２に記載のブリッジ装置。
【請求項２６】
前記他のブリッジによるトポロジの変更を、前記ネットワークに通信状態が悪化する前に受信した制御フレームと、通信状態が良化してから受信した制御フレームの比較によって検出する請求項２５に記載のブリッジ装置。
【請求項２７】
前記制御フレームの比較として、概制御フレームのルート識別子と、ブリッジ識別子、パスコストに設定された値を比較する請求項２６に記載のブリッジ装置。
【請求項２８】
前記ポートが、前記ＳＴＰに基づき代表ポートとして動作する場合、
前記トポロジにループが発生しないことを、概ポートから他のブリッジが送信した制御フレームを制御フレーム待ち期間内に受信しないことで判断する請求項２２に記載のブリッジ装置。
【請求項２９】
前記制御フレーム待ち期間を、概ポートを経由して送信する制御フレームのＨｅｌｌｏ期間とする請求項２８に記載のブリッジ装置。
【請求項３０】
動的に通信状態が変化するネットワークを含む複数のネットワークに接続し、ネットワーク間のフレームの中継を行うブリッジ装置であって、
前記複数のネットワークのいずれかへ接続され、接続されたネットワークに対してフレームの送受信を行う複数のポートと、
ＳＴＰを用いた前記複数のポートの状態制御と、前記複数のポート間のフレームの中継制御とを行う制御部とを備え、
前記制御部は、前記動的に通信状態が変化するネットワークにおいて、ＳＴＰによってトポロジの変更が発生するような通信状態の悪化が起こった場合に、トポロジ変更抑制期間の間は前記ＳＴＰによるトポロジの変更が発生しないよう、前記複数のポートから送信されるフレームを制御すると共に、
前記制御部は前記動的に通信状態が変化するネットワークにおいて、ＳＴＰ制御フレームの送信または受信に失敗した場合、所定の期間は概ポートを経由したフレームの転送を停止し、通信状態が良化した場合に、概ポートを経由した中継を行ってもトポロジにループが発生しないことを前記ポートで送受される制御フレームによって判断してから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行うことを特徴とするブリッジ装置。
【請求項３１】
請求項１から請求項３０のいずれかに記載の本発明の全部または一部の手段もしくは本発明の全部または一部の機能をコンピュータにより実行させるためのプログラム記録媒体。
【請求項３２】
請求項１から請求項３０のいずれかに記載の本発明の全部または一部の手段もしくは本発明の全部または一部の機能を集積化した集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ＬＡＮ区間等の動的に通信状態の変化する区間を含むネットワーク網における、フレーム転送方法に関するものである。特に、ネットワーク内のブリッジがスパニングツリーアルゴリズムを実行する際に、無線ＬＡＮ区間で一時的に通信状態が悪化した場合でもループの発生を防止する方法およびブリッジ装置に関する。
【背景技術】
【０００２】
ネットワーク網の拡張のために用いられる装置として、ブリッジがある。ブリッジの基本的な形態は、２つ以上のネットワークを接続するものである。このようなブリッジは、ネットワークから伝送されるフレームを受信し、フレームが受信されたネットワークとは異なるネットワークへフレームを送信することで、ネットワーク間のフレームの中継を行う。
【０００３】
このようなブリッジにより接続されたネットワークがループを構成した場合、ループを構成するブリッジがマルチキャストフレームなどを永遠に中継し続けるという問題が発生する。この場合、ブリッジはフレームを指数関数的に複製し、ネットワークが機能を停止するまでネットワークの輻輳を増加させ得る。
【０００４】
上記の問題を回避するための従来技術として、スパニングツリーアルゴリズムが広く知られており、ＩＥＥＥ８０２．１Ｄで標準化されている。
【０００５】
図３は、スパニングツリーアルゴリズムを使用したブリッジ１００の構成の一例を示すブロック図である。
【０００６】
ブリッジ処理部２０１は、ＩＥＥＥ８０２．１Ｄに準拠したフレームの中継処理並びに、スパニングツリーアルゴリズムに沿ったトポロジの構成を行う機能を備えている。
【０００７】
また、ブリッジ処理部２０１は、各ネットワークに接続する複数のポートをもつ。ここでは、接続するネットワークに対応したポートとして、ポート１、ポート２、ポート３、ポート４を持つものとする。
【０００８】
ネットワークＩＦ３１０、３２０、３３０、３４０は、ブリッジ処理部２０１の各ポートとネットワークとの間のインタフェースとして動作する。
【０００９】
ネットワークＩＦ３１０は、ブリッジ処理部２０１から通信ＩＦ３１１を通じて送信要求があった場合は、ネットワークに応じたフレーム変換及び、ＭＡＣ制御を行いながらメディアに対し送信信号を送る。
【００１０】
また、ネットワークＩＦ３１０は、メディアから受信信号があった場合は、フレームエラーチェックなどのＭＡＣ制御及び、フレーム変換を行い、ブリッジ処理部２０１に対し通信ＩＦ３１１を通じて受信通知を送る。
【００１１】
ネットワークＩＦには、接続するネットワークに応じたものがあり、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）に接続するネットワークＩＦや、無線ＬＡＮに接続するネットワークＩＦなどがある。これらは、前述したフレーム変換などのＭＡＣ制御をそれぞれのネットワークに応じて行うものである。
【００１２】
また、ネットワークＩＦ３１０は、自身に故障が発生した場合や、メディアから切断された場合、ブリッジ処理部２０１に対し制御ＩＦ３１２を通じて停止信号を通知する。また、故障が復旧した場合や、メディアに接続した場合、ブリッジ処理部２０１に対し制御ＩＦ３１２を通じて開始信号を通知する。
【００１３】
以下に、ブリッジ処理部２０１によるフレームの中継処理、および、スパニングツリーアルゴリズムに沿ったトポロジの構成の詳細について示す。
【００１４】
まず、ブリッジ処理部２０１によるフレーム中継処理の詳細について示す。
【００１５】
ブリッジ処理部２０１は、内部にアドレステーブルを持ち、このアドレステーブルにネットワークに接続された端末のアドレスと前述したポートを対応づけて保持する。
【００１６】
このアドレステーブルは、ブリッジ処理部２０１によって更新される。
【００１７】
ブリッジ処理部２０１は、いずれかのポートからフレームを受信した場合に、フレームの送信端末アドレスと、フレームを受信したポートの識別子を対応づけてアドレステーブルに登録する。
【００１８】
例えば、ポート１から送信端末アドレスが００：１１：２２：３３：４４：５５のフレームを受信した場合、ブリッジ処理部２０１は、ポート１と、概端末アドレスを対応づけてアドレステーブルに登録する。
【００１９】
また、ブリッジ処理部２０１は、アドレステーブルに端末情報を登録後、一定期間概端末からフレームを受信しなかった場合、この端末情報をアドレステーブルから削除する。
【００２０】
ブリッジ処理部２０１は、中継処理を行う際、どのポートを使って中継すればよいかをこのアドレステーブルを参照して判断する。ブリッジ処理部２０１は、受信したフレームに設定された宛先端末アドレスを持つエントリをアドレステーブルから参照して、そのフレームをどのポートから送信すればよいかを判断する。
【００２１】
受信したフレームの宛先アドレスがユニキャストアドレスで、アドレステーブルに宛先アドレスに対応するポート情報が登録されていれば、ブリッジ処理部２０１はそのフレームを登録されたポートから送信する。それ以外の場合、ブリッジ処理部２０１はそのフレームをすべてのポートから送信（フラッディング）する。ただし、いずれの場合でも、ブリッジ処理部２０１は、受信したポートからはフレームの送信を行わない。
【００２２】
例えば、先ほど登録した端末アドレス００：１１：２２：３３：４４：５５の端末宛のフレームをポート３から受信した場合、ブリッジ処理部２０１はアドレステーブルを参照し、このフレームをポート１から中継するために、ポート１からネットワークＩＦ３１０へ通信ＩＦ３１１を経由して送信要求を発行する。
【００２３】
次に、ブリッジ処理部２０１が実行するスパニングツリーアルゴリズムの詳細について示す。
【００２４】
ブリッジ処理部２０１はＩＥＥＥ８０２．１Ｄに定義されているスパニングツリーアルゴリズムに沿って、ループのないトポロジの構成を行う。
【００２５】
スパニングツリーアルゴリズムは、カテネット内の全てのブリッジから、ルートブリッジを選出し、このルートブリッジを根として、全てのブリッジからルートブリッジへの経路が最短となるように、ネットワークをループのない木構造（スパニングツリー）へと論理的に構成しなおす。
【００２６】
ここでは、図２に示すネットワークにスパニングツリーアルゴリズムを適用した場合について説明する。図２の２重消し線は、スパニングツリーアルゴリズムによって論理的に切断される経路である。なお、図２のブリッジ１０１から１０６は、図３に示すブリッジ１００と同じ構成をとる。
【００２７】
スパニングツリーアルゴリズムによって論理的に再構成されたスパニングツリーの図を図４に示す。
【００２８】
スパニングツリーアルゴリズムは、主に、ルートブリッジ選択、ポート状態選択、スパニングツリー維持の、３つのステップから構成される。
【００２９】
以下に、ブリッジ１０４がネットワークに接続されてから、スパニングツリーアルゴリズムに沿って、トポロジに参加するまでのステップについて示す。
【００３０】
まず、ブリッジ１０４は、スパニングツリーアルゴリズムに沿って、ルートブリッジを決定する。ルートブリッジは、同じカテネット内で、最もブリッジ識別子が小さいものが選出される。
【００３１】
例えば図２では、ブリッジ識別子が４２であるブリッジ１０２がルートブリッジとして選出される。
【００３２】
ルートブリッジは、一定周期毎にすべてのポートからＢＰＤＵの送信を行う。ＩＥＥＥ８０２．１Ｄではこの周期としてＨｅｌｌｏタイム間隔が定義されている。
【００３３】
ＢＰＤＵは、スパニングツリーアルゴリズムを実行するブリッジ間でやりとりされる制御フレームで、ブリッジがお互いにスパニングツリーの構成と維持に必要な情報を送受するために使用される。ＢＰＤＵは、ルートブリッジの選出、各ブリッジからルートブリッジへの最短パスの計算、各ＬＡＮにおける代表ブリッジの選出、各ブリッジにおけるポート状態の選択に使用される。なお、代表ブリッジとは、あるＬＡＮからのフレームをルートブリッジへ中継する唯一のブリッジのことである。
【００３４】
図５にＢＰＤＵのフレームフォーマットを示す。
【００３５】
ＢＰＤＵのルート識別子フィールドには、ルートブリッジのブリッジ識別子が設定される。
【００３６】
全てのブリッジの中から最もブリッジ識別子の小さいものを選出するために、全てのブリッジはまず、ルートブリッジとして動作しようと試みる。
【００３７】
ブリッジ１０４のブリッジ処理部２０１は、まずルートブリッジとして動作するべく、全てのポートから自身の識別子をルート識別子とするＢＰＤＵを送信する。
【００３８】
また、ブリッジ１０４は同時に、全てのポートから受信されるＢＰＤＵを監視し、自身よりルートブリッジに最適なブリッジがいないか監視を行う。
【００３９】
もし同じカテネット内で、自分より小さい識別子を持つブリッジが存在する場合、そのブリッジもルートブリッジとして動作しようと試み、ＢＰＤＵを送信するため、ブリッジ１０４のブリッジ処理部２０１は、このブリッジから送信されたＢＰＤＵをいずれかのポートから受信する。このとき受信したＢＰＤＵに設定されたルート識別子がブリッジ１０４のブリッジ識別子１０９より小さければ、ブリッジ処理部２０１は、ルートブリッジとして動作するのをやめる。
【００４０】
例えば、図２のブリッジ１０４は、まずルートブリッジとして動作しようとするが、ブリッジ１０２から送信されたルート識別子が４２のＢＰＤＵを、ブリッジ１０３またはブリッジ１０５を経由して受信するため、ルートブリッジとして動作するのをやめる。
【００４１】
もし、ブリッジ処理部２０１がいずれのポートからもＢＰＤＵを受信しない場合や、ＢＰＤＵを受信しても、設定されたルート識別子が自身のブリッジ識別子より小さい場合は、ブリッジ処理部２０１は、ルートブリッジとしての動作を続ける。
【００４２】
ルートブリッジの選出が完了するとブリッジ処理部２０１は、各ポートに対しポート状態の選択を行う。
【００４３】
ルートブリッジ以外のブリッジは、スパニングツリーを構成するために、自身のポートを転送状態、または、ブロック状態に遷移させる必要がある。
【００４４】
転送状態となるポートには、ルートポートと、代表ポートとがある。またブロック状態にあるポートをここでは便宜上ブロックポートと呼ぶ。
【００４５】
例えば、ブリッジ１０４はスパニングツリーアルゴリズムに沿ってブリッジ１０３に接続するポートをブロック状態にすることで、ループを回避する。
【００４６】
以下に、ブリッジ１０４が各ポートの状態を決定するための手順を示す。
【００４７】
ルートポートは、すべてのポートのうち、ルートブリッジへの最も短い経路へ接続されたものが選択される。
【００４８】
例えば、ブリッジ１０４の場合、ブリッジ１０５と接続するポートをポート１、ブリッジ１０３と接続するポートをポート２とすると、ポート１からルートブリッジまでのコストは７９、ポート２からルートブリッジまでのコストは１１０である。
【００４９】
従って、ブリッジ１０４はポート１をルートポートとして選択する。
【００５０】
ブロックポートは、ルートポートを除いた全てのポートのうち、自身よりもルートブリッジへの短い経路を持つブリッジが存在するネットワークへ接続されたポートが選択される。
【００５１】
例えば、ブリッジ１０４の場合、自身のルートブリッジまでのコストは７９である。そしてブリッジ１０４のポート１、ポート２が接続する、ブリッジ１０５、１０３のルートブリッジまでのコストは、それぞれ１０、２９で、いずれもブリッジ１０４よりも小さい。
【００５２】
ポート１はルートポートであるので、ブリッジ１０４のブリッジ処理部２０１はポート２をブロックポートとして選出する。
【００５３】
代表ポートは、ルートポートとブロックポートを除いたブリッジ処理部２０１のすべてのポートが選択される。
【００５４】
ブリッジ１０４の場合、代表ポートに該当するポートはない。
【００５５】
なお、経路情報は、各ポートが受信したＢＰＤＵのコストフィールドから判定することができる。
【００５６】
ＢＰＤＵのコストフィールドには、ルートブリッジとＢＰＤＵを送信したブリッジ間の経路の長さが設定される。
【００５７】
ルートブリッジは、ＢＰＤＵのコストフィールドにゼロを設定したものを全ての代表ポートから送信する。
【００５８】
ルートブリッジを除く全てのブリッジは、ルートポートからＢＰＤＵを受信したとき、ルートポートに接続されたネットワークのコスト値をＢＰＤＵのコストフィールドに加算し、全ての代表ポートから送信を行う。
【００５９】
例えば、ブリッジ１０３の場合、ブリッジ１０２、１０５、１０４と接続するポートをそれぞれポート１、２、３とすると、ルートポート１から、ルートブリッジが送信したＢＰＤＵ（コスト＝０）を受信する。そして、代表ポート２、３からＢＰＤＵ（コスト＝１０）を送信する。
【００６０】
ブリッジ処理部２０１は、各ポートから受信したＢＰＤＵのコストフィールドを用いて、ルートポート及び、ブロックポート、代表ポートの選出を行う。
【００６１】
ただし、コストが同一の場合、ブリッジ識別子の小さいものがよりルートへの経路が短いものとする。
【００６２】
例えば、ブリッジ１０５がルートポートを選択する場合、ブリッジ１０６、１０３と接続するポートをそれぞれポート１、２とすると、ポート１と、ポート２からルートブリッジへのコストはいずれも２９である。そこで、ブリッジ１０５は、ポート１と、ポート２が接続するブリッジ１０６、１０３のブリッジ識別子を比較する。
【００６３】
ここで、ブリッジ１０６と１０３のブリッジ識別子はそれぞれ５０１と１１７であるため、ブリッジ１０５は、ブリッジ識別子の小さいブリッジ１０３に接続するポート２をルートポートとして選択する。
【００６４】
なお、ルートブリッジはルートポートを持たない。もし、ルートブリッジの複数のポートが同一のネットワークに接続している場合は、ポート識別子の小さいポートを代表ポートとし、残りのポートをブロックポートとする。ルートブリッジのそれ以外のポートは代表ポートとする。
【００６５】
また、ＩＥＥＥ８０２．１Ｄにはポート状態として異常状態を示すオフ状態が定義されている。
【００６６】
ブリッジ処理部２０１は、もし、ポートに接続されたネットワークＩＦに故障が発生した場合や、ネットワークＩＦがメディアから切断された場合、ポート状態をオフ状態に設定する。
【００６７】
以上のように、ポート状態の選択が完了し、トポロジの構成が完了すると、ブリッジ処理部２０１は、ネットワークの構成が変更された場合、トポロジの維持を行うために、各ポートから受信されるＢＰＤＵを監視する。
【００６８】
ブリッジ処理部２０１は、もし、ルートポートからある期間連続してＢＰＤＵの受信が無かった場合、ルートポートとルートブリッジ間の経路中に障害が発生したものと判断し、トポロジの変更を行う。ＩＥＥＥ８０２．１Ｄでは、この期間として、最大ＡＧＥ期間が定義されている。
【００６９】
ブリッジ処理部２０１は、もし、ルートポートにおいて期待するタイミングにＢＰＤＵの受信が無かった場合であっても、しばらくは代表ポートからのＢＰＤＵの送信を継続する。
【００７０】
ただし、このとき送信するＢＰＤＵは、ルートポートから最後に受信したＢＰＤＵのＡＧＥフィールドに、最後に受信してからの経過時間を加算されたものが送信される。
【００７１】
ルートブリッジがＢＰＤＵを送信するときＡＧＥフィールドにはゼロが設定されている。
【００７２】
ブリッジがルートポートからＢＰＤＵのＡＧＥフィールドにゼロでない値ｔが設定されたものを受信した場合、それは、ルートブリッジと該ブリッジのルートポート間の経路がｔ秒だけ寸断していることを意味する。
【００７３】
例えばブリッジ１０３は、ルートブリッジ１０２からＡＧＥフィールドがゼロのＢＰＤＵを受信しているが、ここで、ルートブリッジからのＢＰＤＵ受信がなくなった場合、ブリッジ１０３はルートポートから受信したＢＰＤＵを中継する代わりに、Ｈｅｌｌｏタイム毎に、ＡＧＥフィールドにＢＰＤＵが失われてからの経過時間を設定したものをブリッジ１０４、１０５に送信する。
【００７４】
ブリッジ１０５は、ブリッジ１０３からＡＧＥフィールドにブリッジ１０２、１０３間の通信が途切れた期間が設定されたＢＰＤＵを受信しているが、さらに、ここで、ブリッジ１０３からのＢＰＤＵ受信がなくなった場合、ブリッジ１０５はルートポートから受信したＢＰＤＵを中継する代わりに、Ｈｅｌｌｏタイム毎にＡＧＥフィールドにＢＰＤＵが失われてからの経過時間と最後に受信したＢＰＤＵのＡＧＥフィールドに設定されていた値の加算値を設定したものをブリッジ１０４に送信する。
【００７５】
もし、ブリッジ処理部２０１がルートポートから最後に受信したＢＰＤＵのＡＧＥフィールドに設定された値と、最後にＢＰＤＵを受信してからの経過時間を加算したものが最大ＡＧＥ期間を超える場合は、ブリッジ処理部２０１は、カテネット内のトポロジが変更したものとして、ルートブリッジの選出及びポート状態の選択をやり直す。
【００７６】
先ほどの例の場合、ブリッジ１０５は、ＡＧＥフィールドにＢＰＤＵが失われてからの経過時間と最後に受信したＢＰＤＵのＡＧＥフィールドに設定されていた値を加算した結果、最大ＡＧＥ期間を超える場合、トポロジの再構成処理を行う。
【００７７】
また、ブリッジ処理部２０１は、ブロック状態のポートからデータフレームの送受信を行わないが、代表ブリッジから送信されるＢＰＤＵの監視を行う。
【００７８】
もし、ブロック状態のポートから、最大ＡＧＥ期間の間、代表ブリッジからのＢＰＤＵが受信されなかった場合や、受信したＢＰＤＵのパラメータが変更されていた場合、ブリッジ処理部は、カテネット内のトポロジが変更したものとして、ポート状態の再選択、及び、（受信したＢＰＤＵのパラメータが変更され、設定されているルート識別子が以前より小さいなら）ルートブリッジの再選出を行う。
【００７９】
トポロジの変更により、ポート状態を選択しなおす場合で、ブロックされていたポートを転送状態にする場合、即座に転送を開始すると、カテネット内のトポロジが変更されたことを検知していないブリッジによって、そのブリッジがトポロジの変更を検知するまでの間、一時的なループが発生する可能性がある。
【００８０】
そこで、ブリッジ処理部２０１は、他の全てのブリッジがトポロジの変更を検知するまでの間、ポート状態を転送状態にするのを待つ必要がある。
【００８１】
ＩＥＥＥ８０２．１Ｄではこの待ち時間として転送待ち時間が定義されている。
【００８２】
これは、カテネットのホップ数に応じて設定するよう推奨されており、推奨値は１５秒である。
【００８３】
転送待ち時間は、ルートブリッジが内部にその値を保持し、代表ポートから送信するＢＰＤＵの転送遅延フィールドにこれを設定することで、全てのブリッジは、受信したＢＰＤＵの転送遅延フィールドを読み出すことで、転送待ち時間を共有することができる。
【００８４】
転送待ち時間は、長く設定することで安全にトポロジの変更を行うことができるが、ブロック状態のポートを転送状態にするための待ち時間が大きくなるため、トポロジ変更に要する時間が増大する。
【００８５】
転送状態のポートがトポロジの変更を検知した場合も、同じく全てのポートの状態を選択しなおす必要がある。ただし、転送状態のポートをブロック状態にするときは、待ち時間は必要ない。
【特許文献１】特開平８−１９５７７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００８６】
しかしながら、前記従来技術であるスパニングツリーアルゴリズムは、Ｅｔｈｅｒｎｅｔ（登録商標）などの通信状態が定常的なネットワークにおけるループ解決技術のため、無線ＬＡＮなど通信状態が動的に変化するネットワークに適用したときに様々な問題が発生する。
【００８７】
例えば、ＩＥＥＥ８０２．１Ｄにはネットワークにエラーが発生し、ＢＰＤＵが受信できない場合、即座にトポロジの構成を変更するよう記載されている。しかし、トポロジの構成を行うと、前述した転送待ち時間の間ネットワークの一部が停止するほか、アドレステーブルを更新しなおす必要があるため、一時的にパフォーマンスが低下する。
【００８８】
この問題について、ＩＥＥＥ８０２．１Ｄではトポロジは静的なものであり、トポロジの変更は限定された条件でしか発生しないものとされているため、アルゴリズムの複雑化を避けるため特に鑑みられていなかった。
【００８９】
しかし、無線ＬＡＮなど伝送路の状態が不安定なトポロジを含むカテネットにスパニングツリーアルゴリズムを適用すると、エラーが頻発した場合にトポロジの変更によるオーバーヘッドによって、そのネットワーク全体のパフォーマンスが大幅にダウンしてしまう。
【００９０】
例えば、ＩＥＥＥ８０２．１Ｄには、最大ＡＧＥ期間の間ＢＰＤＵを受信できなかった場合、ＢＰＤＵ送信元との間に障害等が発生したものとして、即座にトポロジ再構成を行うよう記述されている。
【００９１】
しかし、無線ＬＡＮなど伝送路の状態が不安定なトポロジを含むカテネットにＳＴＰを適用したとき、最大ＡＧＥを超える期間ＢＰＤＵを受信できないことは容易に起こり得る。
【００９２】
さらに悪いことに、トポロジを変更する際、一時的にループを含むトポロジが構成される場合がある。この問題については、ＩＥＥＥ８０２．１Ｄでは、前述したとおりトポロジの変更は限定された条件でしか発生しないものであるという理由から、アルゴリズムの複雑化を避けるため特に鑑みられていなかった。
【００９３】
しかし、無線ＬＡＮなど頻繁にエラーが発生する環境下では、ループの発生が頻発することが考えられ、ブロードキャストストーム等の発生により、無線ＬＡＮ区間のみならずネットワーク全体のパフォーマンスが大幅に低下する恐れがある。
【００９４】
本発明は、前記従来技術の課題を解決するもので、通信状態が不安定になったときに、トポロジの再構成が頻発すること、ネットワークにループが発生することを防ぐことができる、拡張スパニングツリーアルゴリズム、及び、このアルゴリズムを実現するための装置を提供することを目的とする。
【課題を解決するための手段】
【００９５】
本発明における第1の発明のブリッジ装置は、二つ以上のネットワークに接続し、二つ以上のポートと、制御部から構成されるブリッジで、前記ネットワークのうち少なくとも一つは、動的に通信状態が変化するネットワークであり、前記ポートは、前記制御部と前記ネットワークの間のインタフェースとして動作し、前記ネットワークのうち前記動的に通信状態が変化するネットワークへ接続するポートは、制御部からフレームの送信要求に対し、送信が成功したかどうかを応答し、前記制御部はスパニングツリープロトコル（以下ＳＴＰと称す）を実装し、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行い、前記ネットワーク間を転送するデータフレームの中継を行い、前記制御部は前記動的に通信状態が変化するネットワークにおけるエラーを概ネットワークへ接続するポートを介して監視し、概ネットワークでエラーが発生しても、トポロジ変更抑制期間の間は、ネットワークに接続された全てのブリッジが概エラーの発生によってＳＴＰによるトポロジの変更を行わないよう抑止制御することで上記課題を解決する。
【００９６】
本発明における第２の発明のブリッジ装置は、二つ以上のネットワークに接続し、二つ以上のポートと、制御部から構成されるブリッジで、前記ネットワークのうち少なくとも一つは、動的に通信状態が変化するネットワークであり、前記ポートは、前記制御部と前記ネットワークの間のインタフェースとして動作し、前記ネットワークのうち前記動的に通信状態が変化するネットワークへ接続するポートは、さらに、制御部からフレームの送信要求に対し、送信が成功したかどうかを応答し、前記制御部はＳＴＰを実装し、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行う、前記ネットワーク間を転送するデータフレームの中継を行うブリッジ装置で、前記制御部は前記動的に通信状態が変化するネットワークにおけるエラーを概ネットワークへ接続するポートを介して監視し、概ネットワークでエラーが発生した場合、概ポートを経由したフレームの転送を停止することで上記課題を解決する。
【００９７】
前記動的に通信状態が変化するネットワークは、無線ＬＡＮであってもよい。
【００９８】
前記動的に通信状態が変化するネットワークへ接続するポートは、送信が成功したかどうかの判定を、ＡＣＫ信号を受信したかどうかによって判断してもよい。
【００９９】
前記制御部が、前記動的に通信状態が変化するネットワークへ接続するポートの状態を、ＳＴＰに基づくルートポートまたはブロックポートとして動作する場合に、前記ネットワークにおけるエラーの監視として、制御フレーム監視期間の間、連続して前記ポートから制御フレームを受信できないことを検出してもよい。
【０１００】
前記制御部が、前記動的に通信状態が変化するネットワークへ接続するポートの状態を、ＳＴＰに基づく代表ポートとして動作する場合に、前記ネットワークにおけるエラーの監視として、制御フレーム監視期間の間、連続して前記ポートから制御フレームの送信に失敗したことを検出してもよい。
【０１０１】
前記制御フレーム監視期間として、ＳＴＰに規定された最大ＡＧＥ期間を用いてもよい。
【０１０２】
前記最大ＡＧＥ期間として、前記制御部が、前記ネットワークにおけるエラーが発生する前に、前記動的に通信状態が変化するネットワークへ接続するポートを経由して送信または受信した制御フレームに設定された最大ＡＧＥを用いてもよい。
【０１０３】
前記ネットワークにおけるエラーの監視として、ネットワークからの受信信号強度を監視してもよい。
【０１０４】
前記トポロジ変更期間を、前記動的に通信状態が変化するネットワークへ接続するポート毎に対応付けて予め不揮発性メモリに保持してもよい。
【０１０５】
前記不揮発性メモリに保持されたトポロジ変更期間を、前記ネットワークを介して接続された端末から変更してもよい。
【０１０６】
前記不揮発性メモリに保持されたトポロジ変更期間を前記制御部が変更してもよい。
【０１０７】
前記不揮発性メモリに保持されたトポロジ変更期間を、前記制御部が前記不揮発性メモリに対応したポートにおけるネットワークエラーの発生頻度から求めてもよい。
【０１０８】
前記トポロジ変更期間の測定のために、前記動的に通信状態が変化するネットワークへ接続するポート毎に、独立したタイマを持ってもよい。
【０１０９】
前記トポロジ変更の抑止制御として、自身のポート状態を変更しないように動作してもよい。
【０１１０】
前記トポロジ変更の抑止制御として、前記動的に通信状態が変化するネットワークでエラーが発生したときに、概エラーが発生する前に概ネットワークから受信していた制御フレームを保持しておき、これをトポロジ変更抑制期間の間受信し続けているものとして動作することで、自身のポート状態の変更を抑止してもよい。
【０１１１】
前記トポロジ変更の抑止制御として、ネットワーク内のブリッジのうち、ルートブリッジへの中継を行うブリッジに対し、概ブリッジが自身のポート状態を変更することを制御してもよい。
【０１１２】
前記ネットワーク内のブリッジのうち、ルートブリッジへの中継を行うブリッジによるポート状態変更の抑止を、前記ポートのうち、代表ポートとして動作するポートから送信する制御フレームを用いて行ってもよい。
【０１１３】
前記ポートのうち、代表ポートとして動作するポートから送信する制御フレームのＡＧＥフィールドに、ＳＴＰに基づき設定する値から、トポロジ変更抑制期間を引いたものを設定してもよい。
【０１１４】
前記トポロジ変更抑制期間が経過しても前記ネットワークでエラーの発生が続いた場合、前記制御部は概ネットワークに接続するポートを介してこれを検知し、概ポートの状態を前記ＳＴＰに基づくオフ状態に遷移させてから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに前記制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、前記ポートの状態管理を行ってもよい。
【０１１５】
前記トポロジ変更抑制期間が経過しても前記ネットワークでエラーの発生が続いた場合で、概ネットワークに接続するポートの状態をＳＴＰに基づくオフ状態に遷移させた後、概ネットワークでエラーが発生しなくなった場合、前記制御部は概ポートを介してこれを検知し、概ポートの状態を前記ＳＴＰに基づくブロック状態に遷移させてから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行ってもよい。
【０１１６】
前記トポロジ変更抑制期間内に前記ネットワークでエラーが発生しなくなった場合、前記制御部は概ネットワークに接続するポートを介してこれを検知し、概ポートを経由した中継を行ってもトポロジにループが発生しないことを前記ブリッジポートで送受される制御フレームによって判断してから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行ってもよい。
【０１１７】
前記ポートが、前記ＳＴＰに基づきルートポートまたはブリッジポートとして動作する場合、前記ポートによるネットワークエラーが発生しなくなったことの検知を、前記ポートを介してネットワークから制御フレームを受信したことで検出してもよい。
【０１１８】
前記ポートが、前記ＳＴＰに基づき代表ポートとして動作する場合、前記ポートによるネットワークエラーが発生しなくなったことの検知を、前記ポートを介してネットワークへ制御フレームの送信に成功したことで検出してもよい。
【０１１９】
前記ポートが、前記ＳＴＰに基づきルートポートまたはブロックポートとして動作する場合、前記トポロジにループが発生しないことを、エラー発生中に他のブリッジによってトポロジが変更されているかどうかによって判断してもよい。
【０１２０】
前記他のブリッジによるトポロジの変更を、前記ネットワークにエラーが発生する前に受信した制御フレームと、概エラーが発生しなくなってから受信した制御フレームの比較によって検出してもよい。
【０１２１】
前記制御フレームの比較として、概制御フレームのルート識別子と、ブリッジ識別子、パスコストに設定された値を比較してもよい。
【０１２２】
前記ポートが、前記ＳＴＰに基づき代表ポートとして動作する場合、前記トポロジにループが発生しないことを、概ポートから他のブリッジが送信した制御フレームを制御フレーム待ち期間内に受信しないことで判断してもよい。
【０１２３】
前記制御フレーム待ち期間を、概ポートを経由して送信する制御フレームのＨｅｌｌｏ期間としてもよい。
【０１２４】
請求項２にかかる本発明によるブリッジ装置は、二つ以上のネットワークに接続し、二つ以上のポートと、制御部から構成されるブリッジで、前記ネットワークのうち少なくとも一つは、動的に通信状態が変化するネットワークであり、前記ポートは、前記制御部と前記ネットワークの間のインタフェースとして動作し、前記ネットワークのうち前記動的に通信状態が変化するネットワークへ接続するポートは、さらに、制御部からフレームの送信要求に対し、送信が成功したかどうかを応答し、前記制御部はＳＴＰを実装し、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行う、前記ネットワーク間を転送するデータフレームの中継を行うブリッジ装置で、前記制御部は前記動的に通信状態が変化するネットワークにおけるエラーを概ネットワークへ接続するポートを介して監視し、概ネットワークでエラーが発生しても、トポロジ変更抑制期間の間は、ネットワークに接続された全てのブリッジが概エラーの発生によってＳＴＰによるトポロジの変更を行わないよう抑止制御すると共に、概ネットワークエラーが発生している間はフレームの転送を停止し、概ネットワークエラーが発生しなくなった場合に、概ポートを経由した中継を行ってもトポロジにループが発生しないことを前記ポートで送受される制御フレームによって判断してから、前記ＳＴＰに基づき、前記ポートを介して前記ネットワークに制御フレームを送受信し、前記ネットワークを介して接続する他のブリッジと相互作用しながら、各前記ポートの状態管理を行うことで上記課題を解決する。
【０１２５】
本発明の全部または一部の手段もしくは本発明の全部または一部の機能をコンピュータにより実行させるようにしてもよい。
【０１２６】
本発明の全部または一部の手段もしくは本発明の全部または一部の機能を集積化した集積回路で実行してもよい。
【発明の効果】
【０１２７】
以上、説明したように、本発明によるブリッジは、無線ＬＡＮなど動的に通信状態が変化するネットワークにおける短期間のエラーによって頻繁にトポロジが変更されるのを抑止することができる。
【０１２８】
トポロジが変更されるとブリッジはアドレステーブルに登録された端末アドレス情報を学習しなおさなければならないため、ブリッジはアドレステーブルの学習ができるまでフレームをすべてのポートから送信（フラッディング）する必要があるが、トポロジの変更を抑止することでフラッディングによるネットワーク帯域の消費を抑制する効果が得られる。
【０１２９】
また、トポロジを確実に収束させるため、トポロジの変更には転送遅延時間が必要だが、トポロジの変更を抑止することで、この転送遅延時間の増加を抑制する効果が得られる。
【０１３０】
また、本発明によるブリッジは、ネットワークエラーによってトポロジを変更する場合でも、ループを発生させずにトポロジの変更を行うことができる。
【０１３１】
トポロジがループした構成をとった場合、マルチキャストフレームなどは、ブリッジによって永遠に中継されるが、ループの発生を防止することで、ネットワーク帯域の消費を抑制する効果が得られ、ネットワーク全体のスループットの低下を抑制する効果が得られる。
【０１３２】
すなわち、本発明によって、無線ＬＡＮなど動的に通信状態が変化するネットワークにおける短期間のエラーによって頻繁にトポロジが変更されることが抑止され、フラッディングによるネットワーク帯域の消費及び転送遅延時間の増加を抑制することができ、また、ループの発生を防止することで、ネットワーク全体のスループットの低下を抑制する効果が得られる。
【発明を実施するための最良の形態】
【０１３３】
以下本発明の実施の形態について、図面を参照しながら説明する。
【０１３４】
（実施の形態１）
図６は、本発明の実施の形態１におけるブリッジ５０１の構成を示すブロック図である。図６において、図３と同じ構成要素については同じ符号を用い、説明を省略する。
【０１３５】
図６において、ネットワークＩＦ３５０はブリッジ処理部２０１のポート２と、無線ＬＡＮネットワーク間のインタフェースとして動作する。
【０１３６】
拡張ブリッジ処理部２２０はネットワークＩＦ３５０と、ブリッジ処理部２０１の間に構成され、ブリッジ処理部２０１に対しては、ネットワークＩＦとして、ネットワークＩＦ３５０に対しては、ブリッジ処理部の一つのポートとして動作する。
【０１３７】
拡張ブリッジ処理部２２０は、ネットワークにおけるエラー状態に応じて、ネットワークＩＦ３５０とブリッジ処理部間２０１の通信のフィルタや、トポロジ変更の抑制を行う。
【０１３８】
また、ネットワークＩＦ３５０は拡張ブリッジ処理部２２０からの送信要求を受け、メディアに送信信号を送ったとき、相手端末からＡＣＫ信号が返ってきたかどうかを拡張ブリッジ処理部２２０へ通知する送信完了ＩＦ３５３を持つ。
【０１３９】
なお、ここでは説明のために、ネットワークＩＦ３５０と拡張ブリッジ処理部２２０の間のＩＦを通信ＩＦ３５１と制御ＩＦ３５２、送信完了ＩＦ３５３と区別しているが、これは何ら本発明を限定することを意図しない。また、拡張ブリッジ処理部２２０とブリッジ処理部２０１の間のＩＦについても通信ＩＦ３２１と制御ＩＦ３２２を区別しているが、これについても本発明を限定することを意図しない。
【０１４０】
ネットワークＩＦ３５０は拡張ブリッジ処理部２２０に対して、相手端末からＡＣＫが返ってきたならば送信成功通知を、ＡＣＫが返ってこなければ送信失敗通知を送る。
【０１４１】
送信要求には、ネットワークＩＦ３５０が通知する送信完了情報が、どの送信要求に対するものかを判別するために、一意なＩＤを付与する。これにより拡張ブリッジ処理部２２０は、送信要求発行後、同じＩＤを持つ送信完了情報を待つことで送信が成功したか失敗したかを判別することができる。
【０１４２】
図７は、拡張ブリッジ処理部２２０の詳細な構成である。
【０１４３】
拡張ブリッジ処理部２２０は、内部にＢＰＤＵを保持するためのテンプレートバッファ、及びタイマをもつ。
【０１４４】
タイマは２種類あり、一つはＨｅｌｌｏ期間を測定するためのＨｅｌｌｏタイマ、またもう一つは、トポロジ変更抑制期間を測定するためのトポロジ抑制タイマである。
【０１４５】
拡張ブリッジ処理部２２０は、トポロジ変更抑制期間を保持するためのメモリを持つ。トポロジ変更抑制期間は、予めメモリに記憶しておき、エラー発生時にこれを参照する。
【０１４６】
なお、この値は、ネットワークの構成に応じてユーザが値を設定してもよい。また、この値は、ユーザによる設定のほか、拡張ブリッジ処理部２２０が、無線ＬＡＮ区間の通信状態を監視して通信状態が悪化する期間を統計的に記録しておき、この統計値を用いて設定してもよい。
【０１４７】
例えば、エラーが発生した回数と、エラーが発生した期間の総計を保持しておき、エラーが発生した期間の総計を、エラーが発生した回数で割ったものをベースにトポロジ変更抑制期間を設定してもよい。
【０１４８】
以下に、拡張ブリッジ処理部２２０の動作について説明する。
【０１４９】
図８は拡張ブリッジ処理部２２０の動作を示す状態遷移図である。また、図１は本発明によるポート制御のフローチャートである。拡張ブリッジ処理部２２０が遷移する状態としては、通常状態、エラー状態、復旧状態、停止状態の４つの状態がある。
【０１５０】
通常状態は、データフレーム転送のフィルタ処理を特に行わずに、ネットワークエラーの発生を監視する状態であり、これは図１のフローチャートのステップ６０１、６０２に相当する。
【０１５１】
エラー状態は、ネットワークエラー発生時に遷移し、データフレーム転送のフィルタ処理を行い、トポロジ変更抑制期間の間ネットワークエラーの回復を待つ状態であり、これは図１のフローチャートのステップ６０３、６０４、６０５に相当する。
【０１５２】
復旧状態は、エラー状態から通常状態に遷移する前に遷移し、ネットワークにループが発生しないか確認を行う状態であり、これは図１のフローチャートのステップ６０７に相当する。
【０１５３】
停止状態は、フレーム転送のフィルタ処理を行い、ネットワークエラーが回復するのを待つ状態であり、これは図１のフローチャートのステップ６０８、６０９に相当する。以下に各状態における拡張ブリッジ処理部２２０の動作について説明する。
【０１５４】
拡張ブリッジ処理部２２０は、初期状態でネットワークＩＦからエラーが検出されるまでは通常状態として動作する。
【０１５５】
通常状態では、拡張ブリッジ処理部２２０はネットワークＩＦ３５０とブリッジ処理部２０１間の通信のフィルタ処理は行わない。
【０１５６】
拡張ブリッジ処理部２２０はブリッジ処理部２０１から通信ＩＦ３２１を経由して送信要求があれば、これをネットワークＩＦ３５０へ通信ＩＦ３５１を経由してそのまま中継し、ネットワークＩＦ３５０から通信ＩＦ３５１を経由して受信通知があれば、これをブリッジ処理部２０１へ通信ＩＦ３２１を経由してそのまま中継する。また、拡張ブリッジ処理部２２０は、通常状態では、ブリッジ処理部２０１のポート２が、どの状態で動作しているかを判別するために、ブリッジ処理部２０１からの送信要求と、ネットワークＩＦ３５０からの受信通知の監視を行う。
【０１５７】
例えば、ブリッジ処理部２０１から通信ＩＦ３２１を経由して拡張ブリッジ処理部２２０に対しＢＰＤＵ送信要求がある場合、拡張ブリッジ処理部２２０はブリッジ処理部２０１のポート２が代表ポートとして動作していると判断する。
【０１５８】
また、ブリッジ処理部２０１から拡張ブリッジ処理部２２０に対しＢＰＤＵ送信要求がない場合で、ブリッジ処理部２０１から、通信ＩＦ３２１を経由して拡張ブリッジ処理部２２０に対しデータフレームの送信要求があるならば、拡張ブリッジ処理部２２０はブリッジ処理部２０１のポート２がルートポートとして動作していると判断する。
【０１５９】
それ以外の場合、拡張ブリッジ処理部２２０はブリッジ処理部２０１のポート２はブロック状態として動作していると判断する。
【０１６０】
なお、ポートがどの状態で動作しているかについては、上記の方法のほかにブリッジ処理部２０１と拡張ブリッジ処理部２２０の間に新たに状態通知ＩＦを設け、これを介してブリッジ処理部２０１からポート状態を取得してもよい。
【０１６１】
また、ポート状態として、ＩＥＥＥ８０２．１Ｄには、他にＬＩＳＴＥＮＩＮＧ状態、ＬＥＡＲＮＩＮＧ状態が定義されているが、ここでは説明を省略する。これらの状態についても、上記のポート判別方法に加え、状態遷移の前後関係や、転送待ち期間などを判断することで、どの状態にあるか判別することが可能である。
【０１６２】
拡張ブリッジ処理部２２０は、通常状態では、ポート２がルートポートとして動作している場合、ネットワークＩＦ３５０から受信したＢＰＤＵをテンプレートバッファに保存する。
【０１６３】
拡張ブリッジ処理部２２０は、通常状態では、ポート２がルートポートとして動作している場合は、短期間のネットワークエラーによってトポロジが変更されるのを抑制するために、期待するタイミングにＢＰＤＵを受信しない場合でも、ブリッジ処理部２０１に対し、通信ＩＦ３２１を経由してテンプレートバッファに保存したＢＰＤＵの受信通知を送る。
【０１６４】
また、拡張ブリッジ処理部２２０は、フローチャートのステップ６０１、６０２にあるように、通常状態では、ネットワークＩＦ３５０からの受信通知、または送信完了の監視を行い、通信状態が劣化したかどうかの判別を行う。
【０１６５】
なお、通信状態が劣化したかどうかの判別方法は、ポート２の状態によって異なる。
【０１６６】
拡張ブリッジ処理部２２０は、ポート２がルートポートまたは、ブロックポートとして動作している場合、もし一定時間ＢＰＤＵの受信通知がネットワークＩＦ３５０から通信ＩＦ３５１を介して検出できない場合、通信状態が劣化したものと判断し、ステップ６０２からステップ６０３へ移行し、エラー状態に遷移する。
【０１６７】
拡張ブリッジ処理部２２０は、ポート２が代表ポートとして動作している場合、もし、一定時間ＢＰＤＵに対する送信完了通知がネットワークＩＦ３５０から送信完了通知ＩＦ３５３を介して検出できない場合、通信状態が劣化したものと判断し、ステップ６０２からステップ６０３へ移行し、エラー状態に遷移する。
【０１６８】
ここでは、この期間としてＩＥＥＥ８０２．１Ｄに示されている最大ＡＧＥ期間を用いる。なお、この期間については独自に設定しても良い。
【０１６９】
次にエラー状態における拡張ブリッジ処理部２２０の動作について説明する。
【０１７０】
拡張ブリッジ処理部２２０は、エラー状態では、ステップ６０３にあるようにトポロジ変更の抑止とフレーム転送を停止するため、ネットワークＩＦ３５０とブリッジ処理部２０１間の通信のフィルタ処理を行う。
【０１７１】
拡張ブリッジ処理部２２０は、エラー状態では、ブリッジ処理部２０１から通信ＩＦ３２１を経由して送信要求があっても、ＢＰＤＵ以外の送信要求についてはこれを廃棄する。
【０１７２】
拡張ブリッジ処理部２２０は、エラー状態では、ネットワークＩＦ３５０から通信ＩＦ３５１を経由して受信通知があっても、ＢＰＤＵ以外の受信通知についてはこれを廃棄し、ＢＰＤＵの受信通知についてもブリッジ処理部２０１へ中継しない。
【０１７３】
拡張ブリッジ処理部２２０は、エラー状態では、ポート２がルートポートとして動作する場合、無線ＬＡＮ区間における短期間のネットワークエラーによってトポロジが変更されるのを抑制するために、通常状態と同じく、ブリッジ処理部２０１に対し、テンプレートに保存したＢＰＤＵの受信通知を送る。
【０１７４】
拡張ブリッジ処理部２２０は、エラー状態では、ステップ６０３、６０４、６０５にあるように、ネットワークＩＦ３５０からの送信完了、または受信通知をチェックし、通信状態が良化するのを待つ。
【０１７５】
通信状態が良化したかどうかの判定方法は、ポート２の状態によって異なる。
【０１７６】
拡張ブリッジ処理部２２０は、エラー状態では、ポート２が代表ポートとして動作する場合、ブリッジ処理部２０１からのＢＰＤＵ送信要求をネットワークＩＦ３５０へ中継し、ネットワークＩＦ３５０から送信完了ＩＦ３５３を介して送信成功通知が返ってきた場合、通信状態が良化したものとみなす。
【０１７７】
拡張ブリッジ処理部２２０は、エラー状態では、ポート２がルートポート、またはブロックポートとして動作する場合、ネットワークＩＦ３５０からＢＰＤＵの受信通知があれば、通信状態が良化したものとみなす。
【０１７８】
拡張ブリッジ処理部２２０は、エラー状態では、ステップ６０４において通信状態が良化したしたことを検知すると、ステップ６０６に移行し、復旧状態に遷移する。
【０１７９】
拡張ブリッジ処理部２２０は、ステップ６０４において通信状態の良化が検知されない場合、ステップ６０５に移行し、さらにここでエラー状態に遷移してからトポロジ変更抑制期間が経過している場合、ステップ６０８に移行し、停止状態に遷移する。
【０１８０】
拡張ブリッジ処理部２２０は、トポロジ変更抑制期間が経過したかどうかを判別するために、ステップ６０２からステップ６０３に移行するとき、すなわちエラー状態に遷移したときに、予めトポロジ変更抑制タイマに対し、トポロジ変更抑制期間をタイムアウト期間としてタイマ起動要求を設定し、これが満了したときトポロジ変更抑制期間が経過したものと判断する。
【０１８１】
なお、拡張ブリッジ処理部２２０は、ステップ６０４からステップ６０６に移行するとき、すなわち通信状態が良化し復旧状態に遷移するとき、このトポロジ変更抑制タイマに停止要求を設定する。
【０１８２】
次に復旧状態における拡張ブリッジ処理部２２０の動作について説明する。
【０１８３】
拡張ブリッジ処理部２２０は、復旧状態では、ステップ６０６、６０７にあるようにネットワークＩＦ３５０とブリッジ処理部２０１間の通信のフィルタを解除してもネットワークにループが発生しないかについて確認を行う。
【０１８４】
拡張ブリッジ処理部２２０は、もし、トポロジが変更されていた場合、ループの発生を防止するためにステップ６０７からステップ６０８に移行し停止状態に遷移する。
【０１８５】
以下に、トポロジが変更されたかどうかの判別方法について記述する。なお、トポロジ変更の判別方法は、ポート２がどの状態によって異なる。
【０１８６】
拡張ブリッジ処理部２２０は、ポート２がルートポートとして動作する場合、ネットワークＩＦ３５０から通信ＩＦ３５１経由で受信したＢＰＤＵと、テンプレートバッファに保存されているＢＰＤＵの比較を行い、トポロジが変更されていると判断したら、ステップ６０７からステップ６０８に移行し、停止状態に遷移する。
【０１８７】
なお、このときネットワークＩＦ３５０から受信したＢＰＤＵとして、エラー状態の間に受信したＢＰＤＵを用いてもよい。
【０１８８】
拡張ブリッジ処理部２２０は、受信したＢＰＤＵと、テンプレートに保存されているＢＰＤＵのルート識別子、ブリッジ識別子、コストフィールドの比較を行い、いずれかが異なる場合、トポロジが変更されていると判断する。
【０１８９】
拡張ブリッジ処理部２２０は、復旧状態では、ポート２が代表ポートとして動作している場合、自身が送信しているＢＰＤＵのＨｅｌｌｏ期間の間、ネットワークＩＦ３５０から通信ＩＦ３５１を経由しての受信通知を監視し、もし、任意のＢＰＤＵを受信したならば、トポロジが変更されていると判断し、ステップ６０７からステップ６０８に移行し、停止状態に遷移する。
【０１９０】
拡張ブリッジ処理部２２０は、上記以外の場合、トポロジが変更されていないと判断し、ステップ６０７からステップ６０１に移行し、通常状態に遷移する。
【０１９１】
次に停止状態における拡張ブリッジ処理部２２０の動作について説明する。
【０１９２】
拡張ブリッジ処理部２２０は、停止状態では、通信状態が良化するまでの間、ブリッジ処理部２０１のポート状態をオフ状態に遷移させる。
【０１９３】
拡張ブリッジ処理部２２０は、ステップ６０７、またはステップ６０５からステップ６０８に移行するとき、すなわち停止状態に遷移するとき、ブリッジ処理部２０１に対し、制御ＩＦ３２２を介して、ネットワークＩＦ３５０が停止状態にあることを通知する。
【０１９４】
ブリッジ処理部２０１では、ネットワークＩＦ３５０が停止したことを検知すると、ポート２の状態をオフ状態に遷移させる。
【０１９５】
拡張ブリッジ処理部２２０は、ブリッジ処理部２０１に停止信号を通知した後、ステップ６０８、６０９にあるようにネットワークＩＦ３５０からの受信通知をチェックし、通信状態が良化するのを待つ。
【０１９６】
もし、通信状態が良化した場合、拡張ブリッジ処理部２２０は、ブリッジ処理部２０１に対し、制御ＩＦ３２２を介してネットワークＩＦ３５０が停止状態から復帰したことを通知する。
【０１９７】
ブリッジ処理部２０１では、ネットワークＩＦ３５０が停止状態から復帰したことを検知すると、ポート２の状態をブロック状態に遷移させる。
【０１９８】
拡張ブリッジ処理部２２０は、ブリッジ処理部２０１に再開信号を通知後、ステップ６０９からステップ６０１に移行し、通常状態に遷移する。
【０１９９】
かかる構成によれば、ブリッジ処理部２０１と、ネットワークＩＦ３５０の間に上記動作を行う拡張ブリッジ処理部２２０を構成することで、無線ＬＡＮで短期間のエラーが発生した場合でも、トポロジが変更することを抑制することができ、トポロジの変更によるオーバーヘッドやループの発生を防止できるほか、エラーが長期にわたる場合でも、ループを生じさせずに安全にトポロジの変更を行うことができる。
【０２００】
以下に、本発明によるブリッジ５０１を含む図９のようなネットワークにおいて、無線ＬＡＮに短期間のエラーが発生した場合、ブリッジ５０１がトポロジの変更を抑制する動作について説明する。
【０２０１】
図９において、図２と同じ構成要素については、同じ符号を用い、説明を省略する。
【０２０２】
ここでは、ブリッジ５０１とブリッジ１０２間のネットワークは無線ＬＡＮであり、ブリッジ５０１のネットワークＩＦ３５０が接続している。
【０２０３】
図９のネットワークにおいて、ブリッジ５０１の拡張ブリッジ処理部２２０は、無線ＬＡＮでエラーが発生するまでは、通常状態として動作し、ポート２がルートポートとして動作しているため、ネットワークＩＦ３５０からの受信フレームを監視し、ルートブリッジ１０２が送信するＢＰＤＵを監視する。
【０２０４】
また、ブリッジ５０１の拡張ブリッジ処理部２２０は、このときブリッジ１０２が送信したＢＰＤＵをテンプレートバッファに保存しておく。
【０２０５】
ここで、ブリッジ５０１と、ブリッジ１０２の間に一時的な遮蔽物や干渉等が発生しネットワークエラーが発生したとする。
【０２０６】
このとき、ブリッジ５０１の拡張ブリッジ処理部２２０は、ネットワークＩＦ３５０におけるＢＰＤＵ受信の監視の結果、一定時間ＢＰＤＵが失われたことを検知する。
【０２０７】
そして、拡張ブリッジ処理部２２０は、エラー状態に遷移し、ブリッジ１０２とブリッジ５０１の間のフレーム送受信をフィルタする。
【０２０８】
ＩＥＥＥ８０２．１Ｄでは、一定時間ＢＰＤＵが失われた場合、ブリッジ５０１は、ブリッジ１０６に接続するポート、ここではポート２を、転送状態にし、トポロジを再構成するよう記載されている。
【０２０９】
しかし、本発明のブリッジ５０１では、拡張ブリッジ処理部２２０はエラー状態の間、ブリッジ処理部２０１へテンプレートバッファに保存されたＢＰＤＵを通知し続けるため、ブリッジ処理部２０１はＢＰＤＵが失われたことを検知せず、トポロジの変更を行わない。
【０２１０】
ブリッジ５０１の拡張ブリッジ処理部２２０は、エラー状態では、ポート２がルートポートとして動作しているため、ネットワークＩＦ３５０からのＢＰＤＵ受信通知を待つ。
【０２１１】
ここで、ブリッジ５０１の拡張ブリッジ処理部２２０が、エラー状態で動作している間に遮蔽物、または干渉がなくなり、ネットワークエラーが回避されたとする。
【０２１２】
このとき、ブリッジ５０１の拡張ブリッジ処理部２２０はネットワークＩＦ３５０からＢＰＤＵの受信通知を検知するため、復旧状態に遷移する。
【０２１３】
拡張ブリッジ処理部２２０は、復旧状態では、受信したＢＰＤＵのルート識別子、ブリッジ識別子、コストフィールドを、テンプレートバッファに保存しておいたものと比較する。
【０２１４】
ここでは、ＢＰＤＵを受信できなかった間に、他にトポロジ変更が発生していないため、受信したＢＰＤＵとテンプレートバッファに保存されたＢＰＤＵのパラメータは変化していない。
【０２１５】
そこで、拡張ブリッジ処理部２２０は、ＢＰＤＵの比較の結果、データフレームの中継を再開してもループが発生しないものと判断し、転送状態に遷移する。
【０２１６】
本発明によるブリッジは、以上のように無線ＬＡＮで短期間のエラーが発生した場合でも、トポロジが変更することを抑制することができ、トポロジの変更によるオーバーヘッドやループの発生を防止できる。
【０２１７】
なお、本実施の形態において、スパニングツリーアルゴリズムを拡張するために、拡張ブリッジ処理部２２０をブリッジ処理部２０１と独立して設けたが、ブリッジ処理部２０１に拡張ブリッジ処理部２２０と同等の機能を持たせてもよい。
【０２１８】
（実施の形態２）
図１０は、本発明の実施の形態２における、本発明によるブリッジ５０１を用いたネットワークの構成図である。
【０２１９】
図１０において、図９と同じ構成要素については同じ符号を用い説明を省略する。
【０２２０】
以下に、本発明によるブリッジ５０１を含む図１０のようなネットワークにおいて、無線ＬＡＮに短期間のエラーが発生した場合、ブリッジ５０１が、ブリッジ１０６におけるトポロジの変更を抑制する動作について説明する。
【０２２１】
ここでは、ブリッジ５０１とブリッジ１０２間のネットワークは無線ＬＡＮであり、ブリッジ５０１のネットワークＩＦ３５０が接続している。
【０２２２】
図１０のネットワークにおいてブリッジ５０１の拡張ブリッジ処理部２２０は、無線ＬＡＮ区間でエラーが発生するまでは通常状態として動作し、ポート２がルートポートとして動作しているため、ネットワークＩＦ３５０からの受信フレームを監視し、ルートブリッジ１０２が送信するＢＰＤＵを監視する。
【０２２３】
また、ブリッジ５０１の拡張ブリッジ処理部２２０は、このときブリッジ１０２が送信したＢＰＤＵをテンプレートバッファに保存しておく。
【０２２４】
ここで、ブリッジ５０１と、ブリッジ１０２の間に一時的な遮蔽物や干渉等が発生しネットワークエラーが発生したとする。
【０２２５】
ＩＥＥＥ８０２．１Ｄでは、期待するタイミングにＢＰＤＵが受信できなかった場合、代表ポートから中継するＢＰＤＵのＡＧＥフィールドに、ＢＰＤＵを受信できなかった時間を設定するよう記載されている。
【０２２６】
例えば、図１０のネットワーク構成では、ブリッジ５０１が従来のブリッジの場合、ブリッジ５０１が中継するＢＰＤＵにはＡＧＥフィールドにブリッジ５０１がＢＰＤＵを受信できなかった時間が設定され、これをブリッジ１０６が受信する。もし、ブリッジ１０６のブリッジ処理部２０１が受信したＢＰＤＵのＡＧＥフィールドに設定されている値と、ＢＰＤＵを受信できなかった期間を加算した結果、これが最大ＡＧＥを超える場合、ブリッジ１０６はトポロジの変更を行う。
【０２２７】
しかし、本発明では、ブリッジ５０１の拡張ブリッジ処理部２２０は、通常状態、及び、エラー状態の間、ブリッジ処理部２０１に対し、テンプレートバッファに保存されたＢＰＤＵを通知し続けるため、期待するタイミングにＢＰＤＵが受信できなかったとしても、ブリッジ処理部２０１はＢＰＤＵが失われたことを検知せず、代表ポートから中継するＢＰＤＵのＡＧＥフィールドは更新されない。
【０２２８】
従って、無線ＬＡＮ区間でエラーが発生しても、ブリッジ５０１が中継するＢＰＤＵのＡＧＥは更新されないため、ブリッジ１０６は無線ＬＡＮ区間のエラーを検知せず、トポロジの変更も行わない。
【０２２９】
ブリッジ５０１の拡張ブリッジ処理部２２０は、エラー状態では、実施の形態１と同様にポート２がルートポートとして動作しているため、ネットワークＩＦ３５０からのＢＰＤＵ受信通知を待つ。
【０２３０】
ここで、ブリッジ５０１の拡張ブリッジ処理部２２０が、エラー状態で動作している間に遮蔽物、または干渉がなくなり、ネットワークエラーが回避されたとする。
【０２３１】
このとき、ブリッジ５０１の拡張ブリッジ処理部２２０はネットワークＩＦ３５０からＢＰＤＵの受信通知を検知し、実施の形態１と同様に、転送状態に遷移する。
【０２３２】
そして、ブリッジ５０１は再びブリッジ１０２が送信したＢＰＤＵをブリッジ１０６へ中継するため、ブリッジ１０６はトポロジの変更を行わず、中継を継続する。
【０２３３】
なお、本実施の形態において、トポロジの変更を抑制するブリッジ１０６は、本発明によるブリッジ５０１に直接接続されているが、この間にひとつまたは複数のブリッジを配置してもよい。また、トポロジの変更を抑止するブリッジは複数あってもよいことは容易に推測可能である。
【０２３４】
本発明によるブリッジは、以上のように無線ＬＡＮで短期間のエラーが発生した場合でも、ネットワーク全体に対しネットワークエラーによるトポロジ変更を抑制することができ、トポロジの変更によるオーバーヘッドやループの発生を防止できる。
【０２３５】
（実施の形態３）
図１１は、本発明の実施の形態３における、本発明によるブリッジ５０１を用いたネットワークの構成図である。
【０２３６】
図１１において、図２、図９と同じ構成要素については同じ符号を用い説明を省略する。
【０２３７】
以下に、本発明によるブリッジ５０１を含む図１１のようなネットワークにおいて、無線ＬＡＮに短期間のエラーが発生した場合で、さらに、エラー期間中にルートブリッジ１０２がダウンした場合でも、ブリッジ５０１が、エラー状態から復帰するときに正常にトポロジの変更を行う動作について説明する。
【０２３８】
ここでは、ブリッジ５０１とブリッジ１０３間のネットワークは無線ＬＡＮであり、ブリッジ５０１のネットワークＩＦ３５０が接続している。
【０２３９】
図１１のネットワークにおいてブリッジ５０１の拡張ブリッジ処理部２２０は、無線ＬＡＮ区間でエラーが発生するまでは通常状態として動作し、ポート２がルートポートとして動作しているため、ネットワークＩＦ３５０からの受信フレームを監視し、代表ブリッジ１０３が送信するＢＰＤＵを監視する。
【０２４０】
また、ブリッジ５０１の拡張ブリッジ処理部は、ブリッジ１０３が送信したＢＰＤＵをテンプレートバッファに保存しておく。
【０２４１】
なお、このＢＰＤＵにはルート識別子としてブリッジ１０２のブリッジ識別子４２が、コストとしてブリッジ１０２とブリッジ１０３間のコスト１０が設定されている。
【０２４２】
ここで、ブリッジ５０１と、ブリッジ１０３の間に一時的な遮蔽物や干渉等が発生しネットワークエラーが発生したとする。
【０２４３】
このとき、ブリッジ５０１の拡張ブリッジ処理部２２０は実施の形態１、２で示したように、エラーが発生したとしても一定期間内は、エラー状態として動作することで、無線ＬＡＮ区間のエラーによるトポロジを抑制する。
【０２４４】
ここで、拡張ブリッジ処理部２２０がエラー状態としてトポロジの変更を抑制している間に、さらにルートブリッジ１０２がダウンしたとする。
【０２４５】
ルートブリッジ１０２がダウンしたことは、まずブリッジ１０３によって検知され、ブリッジ１０３のブリッジ制御部は自身がルートブリッジとなるため、ＢＰＤＵのルート識別子に自身のブリッジ識別子１１７を設定したものを各ポートから送信する。
【０２４６】
なお、ブリッジ５０１は無線ＬＡＮ区間のエラーによりこのＢＰＤＵを受信することができない。
【０２４７】
ブリッジ１０４はブロックポートからブリッジ１０３が送信したＢＰＤＵを受信する。
【０２４８】
ただし、ブリッジ１０４はルートポートにおいて、ブリッジ５０１が送信したＢＰＤＵも受信している。
【０２４９】
このブリッジ１０４がブリッジ５０１から受信したＢＰＤＵは、ブリッジ５０１と、ブリッジ１０３の間の無線ＬＡＮ区間にエラーが発生する前にブリッジ５０１の拡張ブリッジ処理部２２０がテンプレートバッファに保存したものが元になっているため、このＢＰＤＵには、ルート識別子としてブリッジ１０２のブリッジ識別子４２が設定されている。なお、コストとしては２９が設定されている。
【０２５０】
ブリッジ１０４は、スパニングツリーアルゴリズムに従いこの２つのＢＰＤＵを比較し、ブリッジ５０１から受信したＢＰＤＵのほうが、ルート識別子の値が小さいため、ブリッジ１０３と接続するポートの状態を、ブロック状態から代表ポートに遷移させ、さらに、ブリッジ１１７にＢＰＤＵの送信を開始する。
【０２５１】
このＢＰＤＵには、ルート識別子として４２が設定されている。また、コストとして７９が設定されている。
【０２５２】
ブリッジ１０３は、ブリッジ１０４が送信したＢＰＤＵを受信すると、ＢＰＤＵに設定されたルート識別子が自身のブリッジ識別子より小さいため、ルートブリッジとして動作するのをやめ、トポロジの再構成を行うため各ポートの状態を選択する。
【０２５３】
ここでブリッジ１０３は、スパニングツリーアルゴリズムに従い、ブリッジ１０４と接続するポートをルートポート、ブリッジ５０１と接続するポートを代表ポート設定する。
【０２５４】
そして代表ポートから、ブリッジ５０１に対しＢＰＤＵの送信を開始する。
【０２５５】
このＢＰＤＵには、ルート識別子として４２が設定されている。また、コストとして９８が設定されている。
【０２５６】
ただし、ここでも無線ＬＡＮ区間のエラーにより、このＢＰＤＵはブリッジ５０１へは到達しない。
【０２５７】
ブリッジ５０１の拡張ブリッジ処理部２２０は、エラー状態では、ポート２がルートポートとして動作しているため、ネットワークＩＦ３５０からのＢＰＤＵ受信通知を待つ。
【０２５８】
ここで、ブリッジ５０１と、ブリッジ１０３間の遮蔽物、または干渉がなくなり、無線ＬＡＮ区間におけるネットワークエラーが回避されたとする。
【０２５９】
このとき、ブリッジ５０１の拡張ブリッジ処理部２２０は、ブリッジ１０３が送信したＢＰＤＵをネットワークＩＦ３５０から受信することで、通信状態が良化したものと判断し、状態を復旧状態に遷移させる。
【０２６０】
ブリッジ５０１の拡張ブリッジ処理部２２０は、復旧状態に遷移すると、ポート２がルートポートとして動作しているため、受信したＢＰＤＵと、テンプレートに保存されたＢＰＤＵの比較を行う。
【０２６１】
このとき、テンプレートに保存されたＢＰＤＵのルート識別子も、受信したＢＰＤＵのルート識別子も、同じ４２であるが、受信したＢＰＤＵのコストフィールドは９８に変化しているため、（テンプレートに保存されていたものは１０）拡張ブリッジ処理部２２０は、エラー状態中に他のトポロジ変更が発生したものと判断し、停止状態に遷移する。
【０２６２】
ブリッジ５０１の拡張ブリッジ処理部２２０は、停止状態に遷移すると、一旦ブリッジ処理部２０１に、制御ＩＦ３２２を介して停止信号を送る。
【０２６３】
ブリッジ処理部２０１は、これを受けてポート２の状態を一旦オフ状態にする。
【０２６４】
さらに拡張ブリッジ処理部２２０は、すでに電波状態が良化しているため、ブリッジ処理部２０１へ制御ＩＦ３２２を介して再開信号を送る。
【０２６５】
ブリッジ処理部２０１は、これを受けてポート２の状態をブロック状態にする。
【０２６６】
その後、拡張ブリッジ処理部２２０は、通常状態にもどり、ブリッジ処理部２０１によってトポロジの再構成が行われるのを待つ。
【０２６７】
ブリッジ処理部２０１によってトポロジの再構成が行われるまでの間、ブリッジ４２をルート識別子とするＢＰＤＵがカテネットを漂流し続けるが、次第にＢＰＤＵのＡＧＥフィールドの値が増加していき、これが最大ＡＧＥを超えるため、このＢＰＤＵはカテネットから廃棄され、正常にトポロジ再構成が行われる。
【０２６８】
もし、拡張ブリッジ処理部２２０が、一旦停止状態に遷移しない場合、ポートのリセットが行われないまま転送状態に遷移するため、ブリッジ４２をルート識別子とするＢＰＤＵがカテネットをループし漂流し続け、トポロジが収束しない可能性がある。
【０２６９】
本発明によるブリッジは、前述したように、エラー状態の間にトポロジが変更されていた場合は、ブリッジのポート状態を一旦リセットすることで、トポロジが発散することを防止する。
【０２７０】
なお、ＩＥＥＥ８０２．１Ｄにはネットワークのコストを１より大きい値に設定するように記述されており、前述したような、ＢＰＤＵがループするような場合でも、拡張ブリッジ処理部２２０は、コスト値を比較することで、ＢＰＤＵのループを検知し、エラー状態中にトポロジの変更が発生したことを検知することができる。
【０２７１】
なお、もし、ＢＰＤＵのループが発生しトポロジが発散した場合であっても、ＢＰＤＵがループするたびに、ＢＰＤＵのコスト値は増加していくため、いつかはコスト値のオーバーフローが発生する。
【０２７２】
そこで、ブリッジ５０１の拡張ブリッジ処理部２２０はＢＰＤＵのオーバーフローを検知した時点でブリッジまたは、ポートをリセットし、再度スパニングツリーアルゴリズムを実行するようにしてもよい。
【０２７３】
（実施の形態４）
図９は、本発明の実施の形態４における、本発明によるブリッジを用いたネットワークの構成図である。
【０２７４】
以下に、本発明によるブリッジ５０１を含む図９のようなネットワークにおいて、無線ＬＡＮに長期間のエラーが発生した場合、ブリッジ５０１がトポロジにループを発生させずに、トポロジ変更を行う動作について説明する。
【０２７５】
ここでは、実施の形態１と同じく、ブリッジ５０１とブリッジ１０２間のネットワークは無線ＬＡＮであり、ブリッジ５０１のネットワークＩＦ３５０が接続している。
【０２７６】
図９のネットワークにおいてブリッジ５０１の拡張ブリッジ処理部２２０は、無線ＬＡＮ区間でエラーが発生するまでは通常状態として動作し、ポート２がルートポートとして動作しているため、ネットワークＩＦ３５０からの受信フレームを監視し、ルートブリッジ１０２が送信するＢＰＤＵを監視する。
【０２７７】
また、ブリッジ５０１の拡張ブリッジ処理部２２０は、このときブリッジ１０２が送信したＢＰＤＵをテンプレートバッファに保存しておく。
【０２７８】
ここで、ブリッジ５０１と、ブリッジ１０２の間に長時間にわたって遮蔽物や干渉等が発生しネットワークエラーが発生したとする。
【０２７９】
ここで、実施の形態１で示したように拡張ブリッジ処理部２２０は、エラーが発生したとしてもトポロジ変更抑制期間期間内は、エラー状態として動作することで、無線ＬＡＮ区間のエラーによるトポロジ変更を抑制する。
【０２８０】
また、このとき、ブリッジ５０１の拡張ブリッジ処理部２２０は、エラー状態に遷移するときにトポロジ変更抑制タイマ２２２にタイマ期間としてトポロジ変更抑制期間を設定しタイマ起動要求を発行する。
【０２８１】
ブリッジ５０１の拡張ブリッジ処理部２２０がエラー状態で動作している間に、ネットワークＩＦ３５０からのＢＰＤＵ受信通知が無いままトポロジ変更抑制タイマ２２２が満了すると、拡張ブリッジ処理部２２０は、停止状態に遷移する。
【０２８２】
拡張ブリッジ処理部２２０は、停止状態に遷移すると、ブリッジ処理部２０１に対し、制御ＩＦ３２２を介し、停止信号を送信する。
【０２８３】
ブリッジ処理部２０１は、停止信号を受け、ポート２の状態をオフ状態に遷移させる。
【０２８４】
拡張ブリッジ処理部２２０は、停止状態に遷移すると、ブリッジ処理部２０１にテンプレートバッファに保存されたＢＰＤＵの受信通知を発行しなくなるため、ブリッジ処理部２０１は、ルートポートからＢＰＤＵを受信しなくなったことを検知し、トポロジの再構成を行う。
【０２８５】
このとき、ブリッジ５０１のブリッジ制御部２０１はスパニングツリーアルゴリズムに従いトポロジの変更を行う。
【０２８６】
図１２は、トポロジ変更後のネットワークの構成図である。ブリッジ５０１は、ブリッジ１０６に接続するポートをルートポート、ブリッジ１０２に接続するポートをオフ状態に設定し、転送を再開する。
【０２８７】
なお、このとき、ブリッジ５０１の拡張ブリッジ処理部２２０は、ネットワークＩＦ３５０からの受信フレームをチェックし、無線ＬＡＮ区間のネットワーク状態が良化するのを待ち続ける。
【０２８８】
もし、拡張ブリッジ処理部２２０が無線ＬＡＮ区間のネットワーク状態が良化したことを検知したならば、実施の形態１に示したように、制御ＩＦ３２２を経由してブリッジ処理部２０１へ再開信号を送り、自身を通常状態に遷移させる。
【０２８９】
ブリッジ処理部２０１は、再開信号を受けるとポート２の状態をブロック状態に遷移させ、ポート状態をリセットさせる。
【０２９０】
また、拡張ブリッジ処理部２２０が通常状態に遷移しているため、ブリッジ処理部２０１は、無線ＬＡＮ区間からのＢＰＤＵを処理し、スパニングツリーアルゴリズムに沿ってトポロジの再構成を行うことができる。
【０２９１】
ここでは、ネットワークエラーが発生している間に、他のトポロジ変更の要因が発生していないため、トポロジはネットワークエラーが発生する前のトポロジに戻る。すなわち、ブリッジ５０１は、ブリッジ１０２と接続するポートをルートポート、ブリッジ１０６に接続するポートをブロックポートに設定し、転送を再開する。
【０２９２】
このように、本発明によるブリッジは、長期間のネットワークエラーが発生し、トポロジの変更を行った場合でも、ネットワークエラーが発生しているポートをオフ状態に遷移させることで、ネットワークが良化した瞬間にループが発生することがない。
【０２９３】
なお、各実施の形態で説明したブリッジ処理部２０１及び拡張ブリッジ処理部２２０が備える各機能ブロックは、典型的には、集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２９４】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２９５】
さらには、半導体技術の進歩または派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
【産業上の利用可能性】
【０２９６】
本発明にかかる拡張スパニングツリーアルゴリズムは、無線ＬＡＮなどの通信状態が動的に変化するネットワークと他のネットワークを中継するブリッジに適用可能である。また、無線ＬＡＮの他に高速電灯線通信や、光無線通信などにも応用できる。
【図面の簡単な説明】
【０２９７】
【図１】本発明によるポート制御のフローチャート
【図２】従来のブリッジによるネットワークの構成図
【図３】従来のブリッジのブロック図
【図４】スパニングツリーアルゴリズムによるトポロジの構成例を示す図
【図５】スパニングツリープロトコルにおける制御フレーム（ＢＰＤＵ）のフォーマットを示す図
【図６】本発明の実施の形態１におけるブリッジのブロック図
【図７】本発明の実施の形態１におけるブリッジの拡張ブリッジ処理部のブロック図
【図８】本発明の実施の形態１におけるブリッジの拡張ブリッジ処理部の状態遷移図
【図９】本発明の実施の形態１、４におけるスパニングツリーアルゴリズムによるトポロジの構成例を示す図
【図１０】本発明の実施の形態２におけるスパニングツリーアルゴリズムによるトポロジの構成例を示す図
【図１１】本発明の実施の形態３におけるスパニングツリーアルゴリズムによるトポロジの構成例を示す図
【図１２】本発明の実施の形態４におけるネットワークエラー中のトポロジの構成例を示す図
【符号の説明】
【０２９８】
１００〜１０６    従来技術によるブリッジ
２０１    従来技術によるブリッジのブリッジ処理部
２２０    本発明の実施の形態におけるブリッジの拡張ブリッジ処理部
３１０，３２０，３３０，３４０    従来技術によるブリッジのネットワークＩＦ
３１１，３２１，３３１，３４１    従来技術によるブリッジの通信ＩＦ
３１２，３２２，３３２，３４２    従来技術によるブリッジの制御ＩＦ
３５０    本発明の実施の形態におけるブリッジのネットワークＩＦ
３５１    本発明の実施の形態におけるブリッジの通信ＩＦ
３５２    本発明の実施の形態におけるブリッジの制御ＩＦ
３５３    本発明の実施の形態におけるブリッジの送信完了通知ＩＦ
【図１】
2007235302.tif 000003
【図２】
2007235302.tif 000004
【図３】
2007235302.tif 000005
【図４】
2007235302.tif 000006
【図５】
2007235302.tif 000007
【図６】
2007235302.tif 000008
【図７】
2007235302.tif 000009
【図８】
2007235302.tif 000010
【図９】
2007235302.tif 000011
【図１０】
2007235302.tif 000012
【図１１】
2007235302.tif 000013
【図１２】
2007235302.tif 000014