(57)【特許請求の範囲】
【請求項１】
複数のＶＬＡＮが混在するネットワークで使用されるスパニングツリープロトコルを用いたブリッジ経路決定方法において、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
入力されたＢＰＤＵのヘッダにおけるＶＬＡＮ−ＴＡＧのＶＬＡＮ−ＩＤに対応するインスタンスを、そのＶＬＡＮ−ＩＤとＢＰＤＵ本体のデータに基づいて更新し、この更新されたインスタンスに基づいてそのＶＬＡＮのスパニングツリーを再構成することを特徴とするスパニングツリープロトコルを用いたブリッジ経路決定方法。
【請求項２】
複数のＶＬＡＮが混在するネットワークで使用されるスパニングツリープロトコルを用いたブリッジ経路決定方法において、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
受信したＢＰＤＵが１つのパケットの中に複数個のＶＬＡＮに対応するＢＰＤＵをバンドルしたものか否かを判別し、バンドルされたＢＰＤＵについてＶＬＡＮ毎にばらす手順と、
前記ＢＰＤＵを元に各ＶＬＡＮのインスタンス毎にスパニングツリーの処理を行って前記インスタンスを更新する手順と、
前記インスタンスの更新後に出力するＢＰＤＵがトランクポートに対するＢＰＤＵか否かを判別し、トランクポートに対するＢＰＤＵのときは複数個のＢＰＤＵを一つのパケット中にバンドルしてから出力する手順とを備えたことを特徴とするスパニングツリープロトコルを用いたブリッジ経路決定方法。
【請求項３】
複数のＶＬＡＮが混在するネットワークにスパニングツリープロトコルが用いられたブリッジにおいて、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
入力されたＢＰＤＵのヘッダにおけるＶＬＡＮ−ＴＡＧのＶＬＡＮ−ＩＤに対応するインスタンスを、そのＶＬＡＮ−ＩＤとＢＰＤＵ本体のデータに基づいて更新し、この更新されたインスタンスに基づいてそのＶＬＡＮのスパニングツリーを再構成することを特徴とするスパニングツリープロトコルを備えたブリッジ。
【請求項４】
複数のＶＬＡＮが混在するネットワークにスパニングツリープロトコルが用いられたブリッジにおいて、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
受信したＢＰＤＵが１つのパケットの中に複数個のＶＬＡＮに対応するＢＰＤＵをバンドルしたものか否かを判別し、バンドルされたＢＰＤＵについてＶＬＡＮ毎にばらす機能と、
前記ＢＰＤＵを元に各ＶＬＡＮのインスタンス毎にスパニングツリーの処理を行って前記インスタンスを更新する機能と、
前記インスタンスの更新後に出力するＢＰＤＵがトランクポートに対するＢＰＤＵか否かを判別し、トランクポートに対するＢＰＤＵのときは複数個のＢＰＤＵを一つのパケット中にバンドルしてから出力する機能とを備えたことを特徴とするスパニングツリープロトコルを備えたブリッジ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スイッチングＨＵＢを利用し、物理的な位置（ネットワークの構成）に無関係の論理的なＬＡＮで、物理的な形態（例えば、EthernetやＡＴＭ−ＬＡＮ）や通信プロトコル（例えば、ＴＣＰ／ＩＰやNetWare ）などを混合してセグメント分けできるＶＬＡＮ（Virtual ＬＡＮ、仮想ＬＡＮ）に対応することができるスパニングツリープロトコルを用いたブリッジ経路決定方法及びスパニングツリープロトコルを備えたブリッジに関する。
【０００２】
【従来の技術】
複数のブリッジによる冗長経路を含むネットワークでは、経路の決定にスパニングツリープロトコルが用いられる。
【０００３】
例えば図７に示すように、ＬＡＮ１とＬＡＮ２がブリッジＡによって接続され、ＬＡＮ１にパソコン等のノードｎ１が接続され、更にＬＡＮ２にＨＵＢが接続されたネットワークの場合、ノードｎ１から送信されたパケットは、ＬＡＮ１→ブリッジ→ＬＡＮ２→ＨＵＢを介してＨＵＢに接続されるパソコン等のノードｎ２を含むブロードキャストドメインの全てのノードに送信されることになる。そして、このようなネットワークに対して、ＬＡＮ１とＬＡＮ２との間にブリッジＡと並列にＨＵＢを接続すると、ノードｎ１から送信されたパケットは、ネットワーク上をループし、その結果、ノードｎ１以外のノード（ノードｎ１を除くその他のブロードキャストドメインのノード）からパケットを送信することができなくなる。
【０００４】
そこで、図７に示すようなブリッジＡとＨＵＢのみでネットワークを構成した場合、あるノードから送信されたパケットがネットワーク上をループするのを取り除くためにスパニングツリーが用いられる。
【０００５】
また、図８に示すように、パソコン等のノードｎ１が接続されたＬＡＮ１と、ＨＵＢが接続されたＬＡＮ２との間に２つのブリッジＡ，Ｂを並列に接続し、ノードｎ１とＨＵＢに接続されたパソコン等の各ノードｎ２，ｎ３，ｎ４，…との間で通信を行う場合、通常は一方のブリッジＡを使用して通信を行い、このブリッジＡがリンクダウンしたときに他方のブリッジＢを使用して通信を行うことでネットワークに冗長性を持たせるためにスパニングツリーが用いられる。
【０００６】
ここで、スパニングツリーの基本的なアルゴリズムは下記（１）〜（５）からなる。
【０００７】
（１）Configuration Bridge Protocol Data Units（以下ＢＰＤＵ）という特別なフレームをブリッジ間で交換する。交換したＢＰＤＵにもとづいて以下の作業を行う。
（２）ネットワークのルートブリッジを選択する。ルートブリッジはブリッジ接続されたＬＡＮ全体に１個だけ存在する。
（３）各ブリッジはルートブリッジに至る最短経路を計算する（ルートブリッジへの最短経路を与えるポートはルートポートと呼ばれる）。
（４）各ＬＡＮに対し、そのＬＡＮに接続されているブリッジから「指定ブリッジ（designated bridge)」を選択する。
（５）各ブリッジはスパニングツリーに属するポート（指定ポート：designated port)とそうでないポート（閉鎖ポート：blocked port) を選択する。閉鎖ポートで受信したデータフレームはすべて廃棄される。また、閉鎖ポートからのフレームの送信は一切行われない。なお、受信したＢＰＤＵは一切フォワーディングされない。
【０００８】
上述したＢＰＤＵのデータ部分には少なくともルートＩＤ、ブリッジＩＤ、ルートパス・コストが含まれている。ルートＩＤは、ルートブリッジ（と仮定されたブリッジ）のＩＤであり、ブリッジのＭＡＣアドレスおよび管理者が指定する優先度から作成される。ブリッジＩＤは、ＢＰＤＵを送信したブリッジのＩＤであり、ブリッジのＭＡＣアドレスおよび管理者が指定する優先度から作成される。ルートパス・コストは、ＢＰＤＵを送信したブリッジからルートブリッジに至る最短（と思われる）経路のコストである。
【０００９】
初期状態（電源投入時）では、各ブリッジは自分自身がルートブリッジであり、ルートパス・コストは０であると仮定する。各ブリッジは、ＢＰＤＵの初期値をすべてのポートに送信すると同時に、ほかのブリッジから送信されたＢＰＤＵをすべてのポートから受信する。ブリッジがあるポートからよりよいＢＰＤＵを受信した場合、ブリッジはそのポートに対するＢＰＤＵの送信を停止し、その後自分自身が送信するＢＰＤＵの値を変更する。これにより、スパニングツリーが安定状態になった場合、各ＬＡＮのなかで１個のブリッジのみがＢＰＤＵを送信するようになる。
【００１０】
上記ＢＰＤＵの優劣は、例えばＢＰＤＵ１とＢＰＤＵ２がある場合、下記（１）〜（４）の規則にもとづいて優劣の判断がなされる。
（１）ＢＰＤＵ１のルートＩＤがＢＰＤＵ２のルートＩＤよりも数値的に小さい場合には、ＢＰＤＵ１はＢＰＤＵ２よりもよいＢＰＤＵと判断される。
（２）ＢＰＤＵ１のルートＩＤがＢＰＤＵ２のルートＩＤと数値的に等しい場合には、ＢＰＤＵ１のルートパス・コストがＢＰＤＵ２のルートパス・コストよりも小さければ、ＢＰＤＵ１はＢＰＤＵ２よりもよいＢＰＤＵと判断される。
（３）ＢＰＤＵ１のルートＩＤがＢＰＤＵ２のルートＩＤと数値的に等しく、かつＢＰＤＵ１のルートパス・コストがＢＰＤＵ２のルートパス・コストと等しい場合には、ＢＰＤＵ１のブリッジＩＤがＢＰＤＵ２のブリッジＩＤよりも数値的に小さければ、ＢＰＤＵ１はＢＰＤＵ２よりもよいＢＰＤＵと判断される。
（４）ＢＰＤＵ１のルートＩＤがＢＰＤＵ２のルートＩＤと数値的に等しく、かつＢＰＤＵ１のルートパス・コストがＢＰＤＵ２のルートパス・コストと等しく、かつＢＰＤＵ１のブリッジＩＤがＢＰＤＵ２のブリッジＩＤと数値的に等しい場合には、ＢＰＤＵ１のポートＩＤがＢＰＤＵ２のポートＩＤよりも小さければ、ＢＰＤＵ１はＢＰＤＵ２よりもよいＢＰＤＵと判断される。
【００１１】
そして、各ブリッジは自身のＢＰＤＵの初期値と、全ポートから受信した他のブリッジからのＢＰＤＵを比較し、もっともよいＢＰＤＵからルートＩＤを選択する。次に、各ブリッジは、〈ルートパス・コスト〉＝〈もっともよいＢＰＤＵ中のルートパス・コスト〉＋パスコストに従って自分自身のルートパス・コストを計算する。なお、パスコストとは、各ポートが個別にもっているルートへのコストであり、その値は管理者が設定可能である。
【００１２】
いったんルートＩＤ、ルートポート、ルートパス・コストが定まると、これらの値にもとづいて各ブリッジはそれ以降に自分自身が送信するＢＰＤＵの内容を更新する。さらに、更新した自分自身のＢＰＤＵとルートポート以外のポートから受信したＢＰＤＵを比較し、ルートポート以外の各ポートに対して、自分自身が指定ブリッジになるかどうか判断する。指定ブリッジとなったポートは指定ポートと呼ばれ、指定ブリッジとならなかったポートは閉鎖ポートと呼ばれる。
【００１３】
そして、ルートポート、指定ポート、閉鎖ポートに対する、ＢＰＤＵの送信およびデータフレームのフォワーディングは、ルートポートではＢＰＤＵを送信せずデータフレームをフォワーディングし、指定ポートではＢＰＤＵを送信してデータフレームをフォワーディングし、閉鎖ポートではＢＰＤＵを送信せずデータフレームをフォワーディングしない。
【００１４】
以上のようにしてスパニングツリーがいったん構成されると、各ブリッジは下記の（１）〜（４）に示す定常動作を行う。この定常動作は、ブリッジの故障や新たなブリッジの追加によっていったん構成したスパニングツリーを再構成するために必要な動作である。
【００１５】
（１）ＢＰＤＵには、「message age 」という要素が含まれている。この値は、ルートブリッジがこのＢＰＤＵに対応するＢＰＤＵを生成してからの経過時間を示す。
（２）ルートブリッジは、全ポートに対して、定期的に自分自身のＢＰＤＵを送信する。このとき、message age は０に設定される。
（３）各ブリッジは受信したＢＰＤＵを保存する。また、各ポートに保存されているＢＰＤＵのmessage age の値を時間の経過とともに増加させる（message age タイマー）。
（４）ルートブリッジ以外のブリッジは、ルートポートからＢＰＤＵを受信すると、自分自身のＢＰＤＵを全指定ポートに送信する。この際、message age の値には、ルートポートのmessage age と等しいかそれより大きく、受信ＢＰＤＵのmessage age よりも大きい値が使われる。
【００１６】
ここで、スパニングツリーの再構成は下記（１）、（２）に示すような場合に発生する。
【００１７】
（１）保存されているＢＰＤＵのmessage age タイマーがタイムアウトした場合（max age を超えた場合）
（２）あるポートに保存してあるＢＰＤＵよりもよいＢＰＤＵや、message age の値が小さなＢＰＤＵを同じポートから受信した場合
上記の事象が発生した場合、ブリッジはルートＩＤ、ルートコスト、ルートポートの再計算を行う。
【００１８】
ところで、スパニングツリーの構成（再構成）が開始されてからネットワーク上のすべてのブリッジが定常状態にならないうちに、データフレームの送信を行うのは非常に危険である。それは、スパニングツリー構成中には一時的なループが発生している可能性があるためである。したがって、各ブリッジは自分自身の指定ポートを決定してもすぐにはデータフレームのフォワーディングを開始しない。
【００１９】
ブリッジの各ポートの状態としては下記の３種類がある。
（１）listening ：データフレームに関する作業は何もおこなわない。
（２）learning：始点ＭＡＣアドレスの学習はおこなうがフォワーディングはおこなわない。
（３）forwarding：データフレームのフォワーディングもおこなう。
listening 状態およびlearning状態の長さはforward delay と呼ばれ、ルートブリッジがその値を決定し、ＢＰＤＵにその値を入れて各ブリッジに伝える。
また、listening 状態およびlearning状態で用いられるタイマーはforwardingタイマーを呼ばれる。
【００２０】
スパニングツリーの再構成が発生すると、ホストの位置が変化し、旧い学習テーブルの内容が正しくなくなる場合がある。このため、スパニングツリーに対応しているブリッジは学習テーブルaging タイマーのタイムアウト値として以下の２種類の値をもっている。
（１）通常値：この値は数分といった長い時間に設定される。
（２）トポロジー変化後に使用される値：この値はforward delay の値と同じ値になる。
【００２１】
ブリッジはスパニングツリーの再構成を検知すると、一定期間学習テーブルaging タイマーのタイムアウト値をforward delay と同じ値に設定する。
【００２２】
ところで、スパニングツリー・アルゴリズムは、下記（１）〜（５）に示すように、スパニングツリーの再構成が発生したことをすべてのブリッジに通知する仕組みをもっている。
【００２３】
（１）ブリッジがトポロジーの変化を検知すると、そのブリッジはＴＣＮ−ＢＰＤＵ(Topology Change Notification ＢＰＤＵ）と呼ばれるフレームをルートポートにhello time間隔で送信する。ルートポートからＴＣＡ(Topology Change Acknowledgment)フラグが立ったＢＰＤＵを受信するまでこれを継続する。
（２）ＴＣＮ−ＢＰＤＵを受信したブリッジもまた、ＴＣＮ−ＢＰＤＵをそれ自身のルートポートに送信する。一方、ＴＣＮ−ＢＰＤＵを受信したポートに対しては次のＢＰＤＵの送信時に、ＢＰＤＵのＴＣＡフラグを立ててＢＰＤＵを送信する。
（３）ルートブリッジはＴＣＮ−ＢＰＤＵを受信するか、あるいは自分自身のポートの状態が変化した場合、その時点からmax age ＋forward delay 時間のあいだＴＣ(Topology Change) フラグの立ったＢＰＤＵを送信する。
（４）ＴＣフラグの立ったＢＰＤＵをルートポートから受信したブリッジは、自分自身のＢＰＤＵについてもＴＣフラグを立てて送信する。これは、ルートポートからＴＣフラグが立っていないＢＰＤＵを受信するまで継続する。
（５）ルートポートからＴＣフラグの立ったＢＰＤＵを受信しているあいだ、ブリッジはforward delay の値を学習テーブルaging タイマーのタイムアウト値として用いる。
【００２４】
このように、スパニングツリーは、冗長なブリッジ・ネットワークにおいてループを自動的に取り除くとともに、機器の故障やケーブル不良などによるネットワーク・トポロジーの変更を自動的に検知し、ループが発生しないようにネットワーク・トポロジーを動的に変更するアルゴリムである。
【００２５】
【発明が解決しようとする課題】
ところで、上述したＩＥＥＥ８０２．１Ｄで規定されているスパニングツリープロトコルは、ＶＬＡＮに対応していないという問題があった。これは、スパニングツリーがＶＬＡＮのトポロジーには無関係にツリー構造を構成するためである。
【００２６】
更に説明すると、例えば図９に示すように、ブリッジＡとブリッジＢにＶＬＡＮ１とＶＬＡＮ２を混在してネットワークを構成した場合、上述したＩＥＥＥ８０２．１Ｄで規定されているスパニングツリープロトコルを用いると、ネットワークを一つのループと見なし、ＶＬＡＮ毎のスパニングツリーを構築することができず、本来ブロッキングすべきではない所（例えば図９ではＶＬＡＮ１）をブロッキングしてしまう。その結果、ブロッキングされた所のデータ通信が不可能になるという問題があった。
【００２７】
ところで、ＩＥＥＥ８０２．１Ｑ  ＶＬＡＮ  Ｔｒｕｎｋ  Ｐｏｒｔには、同じポートに複数個のＶＬＡＮが存在する。このため、ＢＰＤＵをＶＬＡＮの数だけ送受信しなければならず、内蔵ＣＰＵに与える負荷が高くなり、処理時間を要して通信効率の低下を招くという問題があった。
【００２８】
そこで、本発明は、上記問題点に鑑みてなされたものであり、複数のＶＬＡＮが混在するネットワークでも動作させることができ、ＶＬＡＮ  Ｔｒｕｎｋ  Ｐｏｒｔ（以下、ＶＬＡＮトランクポートという）で送受信するＢＰＤＵの数を減らし、処理の負荷を軽減して通信効率の向上を図ることができるスパニングツリープロトコルを用いたブリッジ経路決定方法及びスパニングツリープロトコルを備えたブリッジを提供することを目的としている。
【００２９】
【課題を解決する手段】
上記目的を達成するため、請求項１の発明は、複数のＶＬＡＮが混在するネットワークで使用されるスパニングツリープロトコルを用いたブリッジ経路決定方法において、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
入力されたＢＰＤＵのヘッダにおけるＶＬＡＮ−ＴＡＧのＶＬＡＮ−ＩＤに対応するインスタンスを、そのＶＬＡＮ−ＩＤとＢＰＤＵ本体のデータに基づいて更新し、この更新されたインスタンスに基づいてそのＶＬＡＮのスパニングツリーを再構成することを特徴とする。
【００３０】
請求項２の発明は、複数のＶＬＡＮが混在するネットワークで使用されるスパニングツリープロトコルを用いたブリッジ経路決定方法において、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
受信したＢＰＤＵが１つのパケットの中に複数個のＶＬＡＮに対応するＢＰＤＵをバンドルしたものか否かを判別し、バンドルされたＢＰＤＵについてＶＬＡＮ毎にばらす手順と、
前記ＢＰＤＵを元に各ＶＬＡＮのインスタンス毎にスパニングツリーの処理を行って前記インスタンスを更新する手順と、
前記インスタンスの更新後に出力するＢＰＤＵがトランクポートに対するＢＰＤＵか否かを判別し、トランクポートに対するＢＰＤＵのときは複数個のＢＰＤＵを一つのパケット中にバンドルしてから出力する手順とを備えたことを特徴とする。
【００３１】
請求項３の発明は、複数のＶＬＡＮが混在するネットワークにスパニングツリープロトコルが用いられたブリッジにおいて、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
入力されたＢＰＤＵのヘッダにおけるＶＬＡＮ−ＴＡＧのＶＬＡＮ−ＩＤに対応するインスタンスを、そのＶＬＡＮ−ＩＤとＢＰＤＵ本体のデータに基づいて更新し、この更新されたインスタンスに基づいてそのＶＬＡＮのスパニングツリーを再構成することを特徴とする。
【００３２】
請求項４の発明は、複数のＶＬＡＮが混在するネットワークにスパニングツリープロトコルが用いられたブリッジにおいて、
少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むデータベースを有するインスタンスを複数のＶＬＡＮ毎に持ち、
受信したＢＰＤＵが１つのパケットの中に複数個のＶＬＡＮに対応するＢＰＤＵをバンドルしたものか否かを判別し、バンドルされたＢＰＤＵについてＶＬＡＮ毎にばらす機能と、
前記ＢＰＤＵを元に各ＶＬＡＮのインスタンス毎にスパニングツリーの処理を行って前記インスタンスを更新する機能と、
前記インスタンスの更新後に出力するＢＰＤＵがトランクポートに対するＢＰＤＵか否かを判別し、トランクポートに対するＢＰＤＵのときは複数個のＢＰＤＵを一つのパケット中にバンドルしてから出力する機能とを備えたことを特徴とする。
【００３３】
【発明の実施の形態】
図１は本発明によるスパニングツリープロトコルを備えたブリッジの概略構成図、図２は同ブリッジのブロック図である。
【００３４】
本発明では、ＶＬＡＮを複数対応付けるＶＬＡＮトランクポートで送受信するＢＰＤＵの数を減らすため、１つのパケットの中に複数個のＶＬＡＮに対応するＢＰＤＵをバンドルする手段を実現している。
【００３５】
このため、本例のブリッジは、装置内のＶＬＡＮの数だけＶＬＡＮ毎にスパニングツリープロトコルインスタンス（以下、ＳＴＰインスタンスと略称する）を持っている。ＳＴＰインスタンスとは、少なくともそのＶＬＡＮのＶＬＡＮ−ＩＤとそのＶＬＡＮ内のルートブリッジのＭＡＣアドレスを含むスパニングツリーのデータベースである。
【００３６】
また、ＶＬＡＮトランクポートに対応するため、ＳＴＰインスタンスから個々のＶＬＡＮのＢＰＤＵをまとめ、更に、受信したＢＰＤＵからＶＬＡＮ毎のＢＰＤＵを取り出し、この取り出したＢＰＤＵ（ＶＬＡＮ−ＩＤとＢＰＤＵ本体のデータ）に基づいてＶＬＡＮ毎にＳＴＰインスタンスを更新している。そして、更新されたＳＴＰインスタンスを参照し、ＶＬＡＮ毎にスパニングツリーを再構成している。
【００３７】
以下、添付図面に基づき、本例のブリッジの構成および入出力処理について説明する。
【００３８】
図１に示すように、本例のブリッジ１は複数のポートを有している。図１の例では、ポート１、ポート２、ポート３、ポート４の４つのポートを備えている。そして、図１の例では、ポート４がトランクポートに設定され、ポート１とポート２とポート４がＶＬＡＮ１（ＶＬＡＮ−ＩＤ：１）に接続され、ポート３とポート４がＶＬＡＮ２（ＶＬＡＮ−ＩＤ：２）に接続された状態を示している。なお、各ポートを通常のポートとして使用するか、トランクポートとして使用するかはユーザーの設定により行われ、その時の設定情報はブリッジ１の記憶手段（不図示）に格納される。
【００３９】
本例のブリッジ１は、内部にＶＬＡＮ毎のＳＴＰインスタンス２を有している。ＳＴＰインスタンス２は、装置内のＶＬＡＮの数だけ持つもので、ルートブリッジＩＤ、Hello Time、ＶＬＡＮ−ＩＤ、Priorityやcost（ルートパス・コスト）などの各ポートに関するポート情報からなる。
【００４０】
本例のブリッジ１は、図２に示すように、入力されるＢＰＤＵがＶＬＡＮバンドルＢＰＤＵのときにそのＶＬＡＮバンドルＢＰＤＵをＶＬＡＮ毎にばらす機能、通常のＢＰＤＵ又はばらされたＢＰＤＵを元にタイマイベントによる割込信号のタイミングで内部のＳＴＰインスタンスを参照し、各ＶＬＡＮ毎にスパニングツリープロトコルの処理を行ってＳＴＰインスタンスを更新する機能、ＳＴＰの処理後に通常のＢＰＤＵの出力又はトランクポートに対するＢＰＤＵのときにＢＰＤＵを一つのパケット中に所定数バンドルしたＶＬＡＮバンドルＢＰＤＵを出力する機能を有している。
【００４１】
ここで、本例のブリッジ１で用いられるＢＰＤＵについて説明する。本例におけるＢＰＤＵは、通常送受信されるＢＰＤＵと、トランクポート上で送受信されるＶＬＡＮバンドルＢＰＤＵとに分けられる。これらＢＰＤＵは、ルートブリッジからは全ブリッジに対して定期的に送信されるものである。これに対し、ルートブリッジでないブリッジは、ＢＰＤＵを受信したときに下位のブリッジに対してＢＰＤＵを送信する。
【００４２】
図３はトランクポート上のＶＬＡＮバンドルＢＰＤＵのフレーム・フォーマットを示す図である。
【００４３】
図３に示すように、ＶＬＡＮバンドルＢＰＤＵは、ヘッダ部分とデータ部分から構成される。ヘッダ部分は、送信元アドレス、宛先アドレス、データ長などを示すDestination MAC:01-80-c2-00-00-00 （ＤＡ）、Source MAC: 自MAC Address （ＳＡ）、ＶＬＡＮ−ＴＡＧ、ＬＥＮ、ＬＬＣからなる。ＶＬＡＮ−ＴＡＧは、Tag Protocol ID:0x8100、priority:111(0x7) 、CTI:0(0x0)、VID:111111111111(0xfff) から構成される。
【００４４】
データ部分は、message typeと、トランクポート上のＢＰＤＵパケットの総量を少なくするためにバンドルされるＶＬＡＮに対応した複数のＢＰＤＵと、ＦＣＳとからなる。message typeは、そのＢＰＤＵが通常のＢＰＤＵ（Configuration ＢＰＤＵ（message type：０）かＴＣＮ−ＢＰＤＵ（message type：0x80）かの判別も含む）かＶＬＡＮバンドルＢＰＤＵかを判別するためのデータである。データ部分につめこまれる複数のＶＬＡＮのＢＰＤＵは、そのＶＬＡＮのアドレスを示すＶＩＤ（ＶＬＡＮ−ＩＤ）と、ＢＰＤＵ本体とからなる。
【００４５】
図４（ａ）は上記ＢＰＤＵ本体のフレーム・フォーマットを示す図、図４（ｂ）はＢＰＤＵのデータに含まれるフラグのフレーム・フォーマットを示す図、図４（ｃ）はＢＰＤＵのデータに含まれるルートＩＤ、ブリッジＩＤのフレーム・フォーマットを示す図、図４（ｄ）はトポロジーの変化を検出したときに送信されるＴＣＮ−ＢＰＤＵのフレーム・フォーマットを示す図である。
【００４６】
図４（ａ）に示すように、ＢＰＤＵは、ヘッダ部分とデータ部分から構成される。図４（ｂ）に示すように、フラグは、ＴＣＡ、未使用領域、ＴＣから構成される。ＴＣＡのｂｉｔが立ったＢＰＤＵをルートポートから受信したブリッジは、ルートポートへのＴＣＮ−ＢＰＤＵの送信を停止する。ＴＣのｂｉｔが立ったＢＰＤＵをルートポートから受信したブリッジは、ＴＣフラグの立っていないＢＰＤＵを受信するまで、学習テーブルaging タイマーのタイムアウト値をforward delay の値に設定し、自分自身もＴＣフラグの立ったＢＰＤＵを送信する。
【００４７】
図４（ｃ）に示すように、ルートＩＤおよびブリッジＩＤは、上位２octet は管理者が設定するpriority、下位６octet はブリッジのＭＡＣアドレスである。ルートＩＤおよびブリッジＩＤは、上位２octet の管理者が設定するpriorityが優先され、ＭＡＣアドレスを含めた全体の大小によってブリッジの上位下位の判別ができるようになっている。例えば各ブリッジのＢＰＤＵのルートＩＤの上位２octet をデフォルトの状態とした場合、ルートＩＤのＭＡＣアドレスの一番小さいブリッジがルートブリッジとなる。
【００４８】
その他、ルートパス・コストは、ルートへの最短（と思われる）コストである。ポートＩＤは、上位１octet は管理者が設定するpriority、下位１octet はブリッジに固有のＩＤである。
【００４９】
message age は、ルートブリッジからの経過時間を示し、単位は１／２５６秒である。したがって、この値が２５６の場合、ルートは１秒前にこのＢＰＤＵに対応するＢＰＤＵを送信したことになる。
【００５０】
max age は、ＢＰＤＵの有効期間を示し、単位は１／２５６秒である。また、hello timeは、ルートブリッジがＢＰＤＵを送信する時間間隔を示し、単位は１／２５６秒である。すなわち、ルートブリッジはhello time間隔でＢＰＤＵを送信する。
【００５１】
forward delay は、listening の期間、learningの期間、スパニングツリーの再構成が発生した場合の学習テーブルaging タイマーに用いられるパラメータを示し、単位は１／２５６秒である。
【００５２】
トポロジーチェンジタイマーは、図４（ｄ）に示すフラグのＴＣを立てる期間を計測するタイマーである。
【００５３】
なお、通常のＢＰＤＵは、図３に示すフレーム・フォーマットにおいて、一つのパケットに一つのＶＬＡＮのＢＰＤＵがデータ部分につめこまれたものであり、message typeは、そのＢＰＤＵがConfiguration ＢＰＤＵかＴＣＮ−ＢＰＤＵかを示すデータとなっている。
【００５４】
次に、上記のように構成されるブリッジ１の入力処理と出力処理を図５及び図６を参照しながら説明する。
【００５５】
図５は本例のブリッジで実行される入力処理のフローチャートである。この入力処理では、ＢＰＤＵが入力されると、そのＢＰＤＵがＶＬＡＮバンドルＢＰＤＵか否か判別する（ＳＴ１）。具体的には、ＢＰＤＵが入力されたポートの状態を判別する。このポートの状態は、ユーザーによるポートの設定情報が通常のポートを示すものか、トランクポートを示すものかによって判別される。その後、入力されたＢＰＤＵのmessage typeに基づいて入力されたＢＰＤＵが通常のＢＰＤＵ（Configuration ＢＰＤＵ又はＴＣＮ−ＢＰＤＵ）であるか、ＶＬＡＮバンドルＢＰＤＵであるかの判別がなされる。
【００５６】
そして、入力されたＢＰＤＵがＶＬＡＮバンドルＢＰＤＵであると判別されると、ＶＬＡＮバンドルＢＰＤＵのデータ部分から一つ目のＢＰＤＵを取り出し（ＳＴ２）、この取り出したＢＰＤＵのＢＰＤＵ本体とＶＬＡＮ−ＩＤにより、このＶＬＡＮ−ＩＤと対応するＳＴＰインスタンスを更新する（ＳＴ３）。上記ＳＴ２，ＳＴ３の処理は、ＶＬＡＮバンドルＢＰＤＵから順番に全てのＢＰＤＵを取り出し、この取り出したＢＰＤＵのＢＰＤＵ本体とＶＬＡＮ−ＩＤにより、各ＶＬＡＮ−ＩＤに対応するＳＴＰインスタンスの更新が終了するまで繰り返し実行される（ＳＴ４）。そして、この更新されたＳＴＰインスタンスに基づいて各ＶＬＡＮ毎にスパニングツリーが再構成される。
【００５７】
入力されたＢＰＤＵがＶＬＡＮバンドルＢＰＤＵでないと判別したときには、入力ポートのＶＬＡＮ−ＩＤを求める（ＳＴ５）。すなわち、入力されたＢＰＤＵのヘッダにおけるＶＬＡＮ−ＴＡＧのＶＬＡＮ−ＩＤを見て、そのＶＬＡＮ−ＩＤに対応するＳＴＰインスタンスを、そのＶＬＡＮ−ＩＤとＢＰＤＵ本体のデータに基づいて更新する（ＳＴ３）。そして、この更新されたＳＴＰインスタンスに基づいてそのＶＬＡＮのスパニングツリーが再構成される。
【００５８】
次に、図６は本例のブリッジで実行される出力処理のフローチャートである。この出力処理では、各ポート毎にＢＰＤＵを作成する（ＳＴ１１）。そして、出力ポートがＶＬＡＮトランクポートか否か判別する（ＳＴ１２）。この判別は、前述したように、ユーザーによるポートの設定情報が通常のポートを示すものか、トランクポートを示すものかによって行われる。
【００５９】
ここで、出力ポートがＶＬＡＮトランクポートでないと判別されると、通常のＢＰＤＵを出力する（ＳＴ１３）。出力ポートがＶＬＡＮトランクポートであると判別されると、タイマーが所定時間（図６の例では１００ｍｓｅｃ）経過したか否か判別する（ＳＴ１４）。タイマーが所定時間を経過していないと判断すると、出力キューにつなげ（ＳＴ１５）、不図示のバッファ回路などのデータ格納手段にＢＰＤＵを溜め込み、ＳＴ１４の動作に戻り、再度タイマーが所定時間経過したか否か判別される。
【００６０】
タイマーが所定時間を経過したと判断すると、出力キューにつなげて溜め込まれたＢＰＤＵとそのＢＰＤＵを図３に示すフレーム・フォーマットからなるＶＬＡＮバンドルＢＰＤＵのデータ部分に順番につめこむ（ＳＴ１６）。そして、そのＶＬＡＮバンドルＢＰＤＵを出力する（ＳＴ１７）。
【００６１】
本例によれば、複数のＶＬＡＮが混在するネットワークでも動作するスパニングツリープロトコルを提供することができる。すなわち、本例では、ＶＬＡＮ毎にＳＴＰインスタンス（スパニングツリーを計算するためのデータ構造）をデータベースとして備えおり、どのＶＬＡＮから受信したＢＰＤＵかにより、参照するＳＴＰインスタンスを切り替え、受信したＢＰＤＵのＶＬＡＮ−ＩＤとＢＰＤＵ本体のデータに基づいてＳＴＰインスタンスをＶＬＡＮ毎に更新し、この更新されたＳＴＰインスタンスに基づいてＶＬＡＮ毎のスパニングツリーを再構成することができる。
【００６２】
また、トランクポートで送受信するＢＰＤＵは、ＶＬＡＮに対応した複数のＢＰＤＵを１つのパケットにまとめてバンドルし、ＶＬＡＮバンドルＢＰＤＵとして送受信されるので、トランクポートで送受信するＢＰＤＵの数を減らすことができる。これにより、内蔵ＣＰＵに与える負荷が軽減され、処理時間が短くなり、通信効率を向上させることができる。
【００６３】
【発明の効果】
以上の説明で明らかなように、本発明によれば、複数のＶＬＡＮが混在するネットワークでも動作するスパニングツリープロトコルを提供することができる。また、トランクポートで送受信するＢＰＤＵの数を減らすことができ、処理負担を軽減して通信効率の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明によるスパニングツリープロトコルを備えたブリッジの概略構成図
【図２】図１のブリッジのブロック図
【図３】ＶＬＡＮバンドルＢＰＤＵのフレーム・フォーマットを示す図
【図４】（ａ）〜（ｄ）ＢＰＤＵ本体のフレーム・フォーマットを示す図
【図５】本発明によるブリッジの入力処理のフローチャート図
【図６】本発明によるブリッジの出力処理のフローチャート図
【図７】スパニングツリーの目的を説明するための図
【図８】スパニングツリーの目的を説明するための図
【図９】ＩＥＥＥ８０２．１Ｄで規定されているスパニングツリープロトコルを複数のＶＬＡＮが混在するネットワークに用いた場合の問題点を説明するための図
【符号の説明】
１…ブリッジ、２…ＳＴＰインスタンス。
【図１】
0003664935.tif 000002
【図２】
0003664935.tif 000003
【図３】
0003664935.tif 000004
【図４】
0003664935.tif 000005
【図５】
0003664935.tif 000006
【図６】
0003664935.tif 000007
【図７】
0003664935.tif 000008
【図８】
0003664935.tif 000009
【図９】
0003664935.tif 000010