ネットワークの形態の一つとして、複数のブリッジが相互に回線接続されたメッシュ型ネットワークがある。なかでも、各ブリッジ間に少なくとも1つの回線を持つように複数のブリッジの全てが相互に回線接続されたフルメッシュ型ネットワーク(以下、FMNという)が良く知られている。図23はこの種のFMNの一例を示している。
ここでは、メッシュ接続されているブリッジをメッシュ型ネットワーク用ブリッジと称し、メッシュ接続されたネットワークを、それ以外の部分と区別する意味でメッシュ型ドメインと記述する。また、メッシュ型ドメインがフルメッシュで接続されている場合、FMNドメインと記述する場合がある。
図24に示すように、各メッシュ型ネットワーク用ブリッジ32は、メッシュ接続されるメッシュ接続ポート33と、それ以外の非メッシュ接続ポート34を有している。メッシュ接続ポート33は、他のメッシュ型ネットワーク用ブリッジ32と回線接続を行うために用いられる。また、非メッシュ接続ポート34には、例えばノード37やメッシュ型ネットワーク用ブリッジ32ではない外部ネットワークを構築するためのブリッジ36などが接続される。
ところで、複数のブリッジによる冗長経路を含むネットワークでは、経路を決定する際にスパニングツリープロトコル(STP)が一般的に用いられる。
例えば図25に示すように、LAN1とLAN2がブリッジAによって接続され、LAN1にパソコン等のノードn1が接続され、更にLAN2にハブAが接続されたネットワークの場合、ノードn1から送信されたパケットは、LAN1→ブリッジA→LAN2→ハブAを介してハブAに接続されるパソコン等のノードn2を含むブロードキャストドメインの全てのノードに送信されることになる。そして、このようなネットワークに対して、LAN1とLAN2との間にブリッジAと並列にハブBを接続すると、ノードn1から送信されたパケットは、ネットワーク上をループし、トラフィックが増大し、その結果、ノードn1以外のノード(ノードn1を除くその他のブロードキャストドメインのノード)からパケットを送信することができなくなる。
そこで、図25に示すようなブリッジAとハブBでネットワークを構成した場合、あるノードから送信されたパケットがネットワーク上をループするのを防ぐためにスパニングツリープロトコルが用いられる。
また、図26に示すように、パソコン等のノードn1が接続されたLAN1と、ハブAが接続されたLAN2との間に2つのブリッジA,Bを並列に接続し、ノードn1とハブAに接続されたパソコン等の各ノードn2,n3,n4,…との間で通信を行う場合、通常は一方のブリッジAを使用して通信を行い、ブリッジAがリンクダウンしたときにブリッジBを使用して通信を行うことで、ネットワークに冗長性を持たせるためにスパニングツリープロトコルが用いられる。
ここで、スパニングツリープロトコルの基本的なアルゴリズムは下記(1)〜(5)からなる。
(1)Configuration Bridge Protocol Data Units(以下BPDU)という特別なフレームをブリッジ間で交換する。交換したBPDUにもとづいて以下の作業を行う。
(2)ネットワークのルートブリッジを選択する。ルートブリッジはブリッジ接続されたLAN全体に1個だけ存在する。
(3)各ブリッジはルートブリッジに至る最短経路を計算する(ルートブリッジへの最短経路を与えるポートはルートポートと呼ばれる)。
(4)各LANに対し、そのLANに接続されているブリッジから「指定ブリッジ(designated bridge)」を選択する。
(5)各ブリッジはスパニングツリーに属するポート(指定ポート:designated port)とそうでないポート(ブロッキングポート:blocked port) を選択する。ブロッキングポートで受信したデータフレームはすべて廃棄される。また、ブロッキングポートからのフレームの送信は一切行われない。なお、受信したBPDUは一切フォワーディングされない。
上述したBPDUのデータ部分には少なくともルートID、ブリッジID、ルートパス・コストが含まれている。ルートIDは、ルートブリッジ(と仮定されたブリッジ)のIDであり、ブリッジのMACアドレスおよび管理者が指定する優先度から作成される。ブリッジIDは、BPDUを送信したブリッジIDであり、ブリッジのMACアドレスおよび管理者が指定する優先度から作成される。ルートパス・コストは、BPDUを送信したブリッジからルートブリッジに至る最短(と思われる)経路のコストである。
初期状態(電源投入時)では、各ブリッジは自分自身がルートブリッジであり、ルートパス・コストは0として動作する。各ブリッジは、BPDUの初期値をすべてのポートに送信すると、ほかのブリッジから送信されたBPDUをすべてのポートから受信する。ブリッジがあるポートからよりよいBPDUを受信した場合、ブリッジはそのポートに対するBPDUの送信を停止し、その後自分自身が送信するBPDUの値を変更する。これにより、スパニングツリーが安定状態になった場合、スパニングツリーを構成するLANのなかで1個のブリッジのみが定期的にBPDUを送信するようになる。
上記BPDUの優劣は、例えばBPDU1とBPDU2がある場合、下記(1)〜(4)の規則にもとづいて優劣の判断がなされる。
(1)BPDU1のルートIDがBPDU2のルートIDよりも数値的に小さい場合には、BPDU1はBPDU2よりもよいBPDUと判断される。
(2)BPDU1のルートIDがBPDU2のルートIDと数値的に等しい場合には、BPDU1のルートパス・コストがBPDU2のルートパス・コストよりも小さければ、BPDU1はBPDU2よりもよいBPDUと判断される。
(3)BPDU1のルートIDがBPDU2のルートIDと数値的に等しく、かつBPDU1のルートパス・コストがBPDU2のルートパス・コストと等しい場合には、BPDU1のブリッジIDがBPDU2のブリッジIDよりも数値的に小さければ、BPDU1はBPDU2よりもよいBPDUと判断される。
(4)BPDU1のルートIDがBPDU2のルートIDと数値的に等しく、かつBPDU1のルートパス・コストがBPDU2のルートパス・コストと等しく、かつBPDU1のブリッジIDがBPDU2のブリッジIDと数値的に等しい場合には、BPDU1のポートIDがBPDU2のポートIDよりも小さければ、BPDU1はBPDU2よりもよいBPDUと判断される。
そして、各ブリッジは自身のBPDUの初期値と、全ポートから受信した他のブリッジからのBPDUを比較し、もっともよいBPDUからルートIDを選択する。次に、各ブリッジは、〈ルートパス・コスト〉=〈もっともよいBPDU中のルートパス・コスト〉+パスコストに従って自分自身のルートパス・コストを計算する。なお、パスコストとは、各ポートが個別にもっているルートへのコストであり、その値は管理者が設定可能である
。
いったんルートID、ルートポート、ルートパス・コストが定まると、これらの値にもとづいて各ブリッジはそれ以降に自分自身が送信するBPDUの内容を更新する。さらに、更新した自分自身のBPDUとルートポート以外のポートから受信したBPDUを比較し、ルートポート以外の各ポートに対して、自分自身が指定ブリッジになるかどうか判断する。指定ブリッジとなったポートは指定ポートと呼ばれ、指定ブリッジとならなかったポートはブロッキングポートと呼ばれる。
そして、ルートポート、指定ポート、ブロッキングポートに対する、BPDUの送信およびデータフレームのフォワーディングは、ルートポートではBPDUを送信せずデータフレームをフォワーディングし、指定ポートではBPDUを送信してデータフレームをフォワーディングし、ブロッキングポートではBPDUを送信せずデータフレームをフォワーディングしない。
以上のようにしてスパニングツリーがいったん構成されると、各ブリッジは下記の(1)〜(4)に示す定常動作を行う。この定常動作は、ブリッジの故障や新たなブリッジの追加によっていったん構成したスパニングツリーを再構成するために必要な動作である。
(1)BPDUには、「message age 」という要素が含まれている。この値は、ルートブリッジがこのBPDUに対応するBPDUを生成してからの経過時間を示す。
(2)ルートブリッジは、全ポートに対して、定期的に自分自身のBPDUを送信する。このとき、message age は0に設定される。
(3)各ブリッジは受信したBPDUを保存する。また、各ポートのBPDUのmessage age の値を時間の経過とともに増加させる(message age タイマー)。
(4)ルートブリッジ以外のブリッジは、ルートポートからBPDUを受信すると、自分自身のBPDUを全指定ポートに送信する。この際、message age の値には、ルートポートのmessage age と等しいかそれより大きく、受信BPDUのmessage age よりも大きい値が使われる。
ここで、スパニングツリーの再構成は下記(1)、(2)に示すような場合に発生する。
(1)保存されているBPDUのmessage age タイマーがタイムアウトした場合(max age を超えた場合)
(2)あるポートに保存してあるBPDUよりもよいBPDUや、message age の値が小さなBPDUを同じポートから受信した場合
上記の事象が発生した場合、ブリッジはルートID、ルートパスコスト、ルートポートの再計算を行う。
ところで、スパニングツリーの構成(再構成)が開始されてからネットワーク上のすべてのブリッジが定常状態にならないうちに、データフレームの送信を行うのは非常に危険である。それは、スパニングツリー構成中には一時的なループが発生している可能性があるためである。したがって、各ブリッジは自分自身の指定ポートを決定してもすぐにはデータフレームのフォワーディングを開始しない。
ブリッジの各ポートの状態(STP状態)としては下記の5種類がある。
(1)listening :データフレームに関する作業は何もおこなわない。
(2)learning:始点MACアドレスの学習はおこなうがフォワーディングはおこなわない。
(3)forwarding:データフレームのフォワーディングもおこなう。
(4)Blocking:フォワーディングはおこなわないが、BPDUの受信だけはおこなう。
(5)Disable:ポートを完全に閉塞した状態。一切のパケットの送受信をおこなわない。
listening 状態およびlearning状態の長さはforward delay と呼ばれ、ルートブリッジがその値を決定し、BPDUにその値を入れて各ブリッジに伝える。 また、listening 状態およびlearning状態で用いられるタイマーはforwardingタイマーと呼ばれる。
スパニングツリーの再構成が発生すると、ホストの位置が変化し、旧い学習テーブルの内容が正しくなくなる場合がある。このため、スパニングツリーに対応しているブリッジは学習テーブルaging タイマーのタイムアウト値として以下の2種類の値をもっている。
(1)通常値:この値は数分といった長い時間に設定される。
(2)STP状態変化後に使用される値:この値はforward delay の値と同じ値になる。
ブリッジはスパニングツリーの再構成を検知すると、一定期間学習テーブルaging タイマーのタイムアウト値をforward delay と同じ値に設定する。
ところで、スパニングツリー・アルゴリズムは、下記(1)〜(5)に示すように、スパニングツリーの再構成が発生したことをすべてのブリッジに通知する仕組みをもっている。
(1)ブリッジがSTP状態の変化を検知すると、そのブリッジはTCN−BPDU(Topology Change Notification BPDU)と呼ばれるフレームをルートポートにhello time間隔で送信する。ルートポートからTCA(Topology ChangeAcknowledgment)フラグが立ったBPDUを受信するまでこれを継続する。
(2)TCN−BPDUを受信したブリッジもまた、TCN−BPDUをそれ自身のルートポートに送信する。一方、TCN−BPDUを受信したポートに対しては次のBPDUの送信時に、BPDUのTCAフラグを立ててBPDUを送信する。
(3)ルートブリッジはTCN−BPDUを受信するか、あるいは自分自身のポートの状態が変化した場合、その時点からmax age +forward delay 時間のあいだTC(Topology Change) フラグの立ったBPDUを送信する。
(4)TCフラグの立ったBPDUをルートポートから受信したブリッジは、自分自身のBPDUについてもTCフラグを立てて送信する。これは、ルートポートからTCフラグが立っていないBPDUを受信するまで継続する。
(5)ルートポートからTCフラグの立ったBPDUを受信しているあいだ、ブリッジはforward delay の値を学習テーブルaging タイマーのタイムアウト値として用いる。
このように、スパニングツリーは、冗長なブリッジ・ネットワークにおいてループを自動的に取り除くとともに、機器の故障やケーブル不良などによるネットワーク・トポロジーの変更を自動的に検知し、ループが発生しないようにネットワーク・トポロジーを動的に変更するアルゴリズムである。
そして、上述したスパニングツリープロトコルを適用したIEEE 802.1Dに従うネットワーク構成では、自動的に閉鎖ポートを作成し、ネットワークのループを回避し、ループのない経路が利用できるようになっている。
しかしながら、上述したスパニングツリーを適用したIEEE 802.1Dを例えば図27に示すようなFMNに採用した構成では、FMNにおいて必ずしも最適ではない経路が出来てしまうという問題がある。
図27はスパニングツリーを適用したIEEE 802.1DをFMNに採用した場合のネットワーク構成(図23と同一)の一例を示している。なお、図27において、ブリッジa〜dがメッシュ型ネットワーク用ブリッジ32である。図27のネットワーク構成では、ブリッジaがルートブリッジとなり、ブリッジbとブリッジdとの間のブリッジd側のポート、ブリッジbとブリッジcとの間のブリッジc側のポート、ブリッジcとブリッジdとの間のブリッジd側のポートがスパニングツリープロトコルにより各々閉鎖ポートに設定される。
従って、図27のネットワーク構成において、ノードaからノードbに通信を行う場合、最短経路のブリッジe→ブリッジd→ブリッジbを通らず、ブリッジe→ブリッジd→ブリッジa→ブリッジbを通る。このため、ノードaからノードbへの通信が遠回りすることになり、遅延を生じるという問題があった。
また、上記従来のネットワーク構成では、一部のノードに対して過度な負荷がかかるという問題があった。例えば図27のネットワーク構成の場合、スパニングツリープロトコルにより閉鎖ポートが設定されているので、ブリッジ間で通信を行う際にルートブリッジであるブリッジaを必ず経由することになり、ブリッジaに過度な負荷がかかる。しかも、一部の回線に対する負荷がかかり、効率的な回線利用が行えず、回線利用率の問題も招いていた。
さらに、上述したメッシュ型ネットワークをインターネット上に構築し、L2TP(Layer2 Tunneling Protocol)を利用してイーサネット(登録商標)フレームをインターネットに流すような場合には、余計な課金が生じるという問題があった。L2TPは、Ethernet(登録商標)やPPPなどのL2フレームをIPにカプセル化して、インターネットに送信する手段である。例えば図27に示すメッシュ型ネットワークをインターネット上に構築した場合、ノードaからノードbへの通信では、メッシュ型ネットワーク用ブリッジd→メッシュ型ネットワーク用ブリッジaの間と、メッシュ型ネットワーク用ブリッジaとメッシュ型ネットワーク用ブリッジbとの間でインターネット上を通るため、2度の課金が生じて料金が倍になってしまう。
そこで、FMNにおけるフォワーディングの最適化を図るため、CE-based Virtual Private LAN(http://www.ietf.org/internet-draft/draft-lee-ce-based-vpl-00.txt)において、FMNブリッジ間の通信にIEEE 802.1Dを改良したオプティマイズド・フォワーディングを利用するものが提案されている。この提案では、スパニングツリーを動作させないことを前提としている。
そして、このオプティマイズド・フォワーディングでは、ブリッジ間で通信を行う場合、FMN上の最短経路を通り、かつループフリーになるように、以下のアルゴリズムが適用される。
(1)FMN接続ポートから受信したユニキャストパケットをフラッティングするときは全ての非FMN接続ポートにフラッティングする。他のFMN接続ポートにはフラッティングしない。
(2)FMN接続ポートから受信したマルチキャストパケットをマルチキャストするときは全ての非FMN接続ポートにマルチキャストする。他のFMN接続ポートにはマルチキャストしない。
(3)非FMN接続ポートから受信したユニキャストパケットをフラッティングするときは全てのFMN接続ポートと非FMN接続ポートにフラッティングする。
(4)非FMN接続ポートから受信したマルチキャストパケットをマルチキャストするときは全てのFMN接続ポートと非FMN接続ポートにマルチキャストする。回線効率をさらに向上させるため、IGMP Snoopigを併用し、不要な配信を回避することを推奨する。
そして、上述したオプティマイズド・フォワーディングを図23のFMNに採用すれば、例えばブリッジcと他のブリッジ(ブリッジa、ブリッジb、ブリッジd)との間で通信を行う場合、ブリッジcからのパケットを受けた各ブリッジは、パケットを他のメッシュ型ネットワーク用ブリッジにフラッティングしない。このため、ブリッジ間で通信を行う場合、遠回りによる遅延を生じることなく、最短経路を使用して通信を行うことができ、スパニングツリーを適用したIEEE 802.1Dの問題を解消することができるという利点を有している。
図1は、本発明の第1の実施の形態の概略構成を示すブロック図、図4は本発明によるメッシュ型ネットワーク用ブリッジを採用したメッシュ型ネットワークの一例を示す図、図5は図4のメッシュ型ネットワークにおいてスパニングツリープロトコル(STP)がメッシュ接続ポートを論理的に一つのポートと見なしてBPDUを送出する概念図、図6(a)〜(d)はBPDUのフレーム・フォーマットを示す図、図7は本発明によるメッシュ型ネットワーク用ブリッジのBPDUの送信処理のフローチャート、図8は本発明によるメッシュ型ネットワーク用ブリッジのBPDUの受信処理のフローチャート、図9(a),(b)は本発明によるメッシュ型ネットワーク用ブリッジを採用したメッシュ型ネットワークをSTPから見た等価図、図19は第1の実施の形態の論理ポート記憶部のフォーマットを示す図、図20はSTP情報記憶部のフォーマットを示す図、図21はメッシュ型ネットワーク用ブリッジが論理ポートを複数持つ場合を説明するための図、図22はメッシュ型ネットワーク用ブリッジ間で回線が複数ある場合を説明するための図である。
スパニングツリープロトコルは、メッシュ型ドメイン内では前述のように適用されない。しかし、メッシュ型ドメイン外部とのループ回避が必要となるため、メッシュ型ドメイン外部を含むネットワーク全体としては、スパニングツリープロトコルのやり取りが必要となる。
本発明は、最短経路構築手段(オプティマイズド・フォワーディングをするための手段)を適用したメッシュ型ドメインとメッシュ型ドメイン外部とのループを回避するため、メッシュ型ドメインとメッシュ型ドメイン外部とを含むネットワーク全体にスパニングツリープロトコルを適用することを実現したものである。
以下に図1に基づいて第1の実施の形態を説明する。
最短経路構築手段11は、パケット送受信手段12からパケットを受け取り、パケットを適切なポートに対して出力処理する。このとき、IEEE 802.1D のルールに基づいたフォワーディング&ラーニングが行われ、フォワーディングテーブルを参照し、宛先ポートが分かっているときは、その宛先ポートに出力し、宛先が不明なときは、フラッティング処理が行われる。IEEE 802.1D によれば、フラッティング処理は全ポートに対して出力が行われることになるが、前述しているオプティマイズド・フォワーディング・アルゴリズムの4つのルール(段落〔0036〕参照)が適用されることで、最短経路を構築する。
パケット送受信手段12は、自ポート(メッシュ接続ポート3、非メッシュ接続ポート4)に接続された他のメッシュ型ネットワーク用ブリッジ2、ノード7やメッシュ型ネットワーク用ブリッジ2以外のブリッジ6(例えば図2におけるブリッジ6e)との間でのパケットの送受信を行う手段である。送受信されるパケットの種類としては、例えばBPDU、後述する隣接通知パケットやバックアップ依頼・解除パケットを含むメッシュ制御パケット、その他のパケットなどである。
パケット送受信手段12の内部的な動きとしては、第1の実施の形態では、受信したBPDUを受信ポート番号と共に読み替え手段13に渡し、BPDU送信手段15から渡されたBPDUを指定されたポートに送出する。
STP処理部5は、自ポート(メッシュ接続ポート3、非メッシュ接続ポート4)から受信したBPDUに基づいてSTP情報記憶部を管理し、STPの状態を決定し、自ポートにBPDUを送出するスパニングツリープロトコルを制御する処理部である。同一論理ポートに関連付けられたメッシュ接続ポートは、論理的に1つのポートとして処理する。STP処理部5は、読み替え手段13〜STP情報記憶部19の7ブロックを有する。以下に各々のブロックについて説明する。
読み替え手段13は、パケット送受信手段12から受け取ったBPDUをBPDU受信手段14に渡す。このとき、受け取ったBPDUが論理ポート10に関連付けられたメッシュ接続ポート3からのとき、関連付けられた論理ポート10から受け取ったと読み替える。
BPDU受信手段14は、読み替え手段13からのBPDUを受信し、STP情報管理手段16に受信ポート番号(読み替えられた場合、読み替えられた後の論理ポートの番号)とBPDU全体を渡す。
BPDU送信手段15は、STP情報管理手段16の要求により、BPDUをポートに送出するようにパケット送受信手段12に依頼する。このとき送出先が論理ポート10のときは、当該論理ポートに関連付けられている全てのメッシュ接続ポート3,3,3から同一のルートパスコストとポートプライオリティとを持つBPDUを送出するように依頼する。
STP情報管理手段16は、BPDU受信手段14から受け取った情報に基づいて、STP状態を決定し、STP情報記憶部19に記憶する。以下の場合、スパニングツリープロトコルに従い、送出先ポート番号のポートにBPDUを送信することをBPDU送信手段15に要求する。
1)STP状態に変化が生じたとき
2)自身がルートブリッジのとき、タイマ駆動による定期的なハローパケットの送信
3)自身がルートブリッジでないときで、ハローパケットを受け取った場合、ルートブリッジ以外へ送信
ポート状態設定手段17は、STP情報管理手段16によって決定されたSTP状態をポート3,3,3,4に設定する。論理ポートに状態を設定するときは、論理ポート記憶部から当該論理ポート10に関連付けられたメッシュ接続ポート3,3,3の番号(物理番号)を参照し、当該論理ポート10に関連付けられている全てのメッシュ接続ポートを同一のSTP状態に合わせる。
論理ポート記憶部18は、論理ポート10と論理ポート10に関連付けられた複数のメッシュ接続ポート3,3,3が図19に示すようなテーブルとして記憶している。ブリッジ内には、複数の論理ポートがあっても良い。図4に示すようなメッシュ型ネットワークに本発明のメッシュ型ネットワーク用ブリッジを用いるときは、論理ポートは1つで足りるが、図21に示すように2つのメッシュ型ネットワークを接続する位置に用いられるメッシュ型ネットワーク用ブリッジでは、2つの論理ポートが必要となる。そして、それぞれの論理ポート毎に異なるメッシュ接続ポートが関連付けられる。1つのメッシュ接続ポートに対して関連付けられる論理ポートは1つであって、複数の論理ポートに関連付けられることはない。
複数の論理ポートを持つ場合のオプティマイズド・フォワーディングは、2つの論理ポートを持つ図21のメッシュ型ネットワーク用ブリッジ2cを例に説明すると、次のように行われる。
メッシュ型ネットワーク1aに接続されているメッシュ接続ポートから受け取ったパケットは、該メッシュ接続ポートが関連付けられている論理ポートから受け取ったと見なされ、該論理ポートに関連付けられている(すなわち、メッシュ型ネットワーク1aに接続されている)他のメッシュ接続ポートには送らない。そして、もう1つの論理ポートに関連付けられている(すなわち、メッシュ型ネットワーク1bに接続されている)全てのメッシュ接続ポートに送る。
論理ポートが複数ある場合の処理は、上記のように行えば良いが、図21は、ブリッジ2aとブリッジ2cが、メッシュ型ネットワーク1a,1bで相互接続されている例である。この場合、上記のように単純にオプティマイズド・フォワーディングを行った場合、ブリッジ2aとブリッジ2cとの間でループが発生することになる。しかし、このような場合は、2つの論理ポートでスパニングツリープロトコルが適用され、一方が閉鎖ポートに設定されるため、ループが発生することはない。例えば、ブリッジ2cのメッシュ型ネットワーク1aに接続されているメッシュ接続ポートが閉鎖ポートに設定された場合、ブリッジ2cからブリッジ2bへのデータは、ブリッジ2aを経由して送られる。つまり、冗長経路を持ったネットワーク構成と等価になる。
STP情報記憶部19は、ポート番号毎にポートの状態と最後に受けたBPDUに関する情報とを図20に示すようなテーブルとして記憶している。
ここで、本実施の形態では、出力BPDUも一つの論理ポートからの出力として処理し、全てのメッシュ接続ポートのポート番号(BPDU内のポートID)に同一の論理ポート番号を設定しているが、それを受信する接続先メッシュ型ネットワーク用ブリッジはBPDU内のポート番号を無視するため、必ずしも同一のポート番号を設定する必要はない。
次に、メッシュ型ドメイン外部でのループ回避を行うために送出されるBPDUのフォーマット構成について図6(a)〜(d)を参照しながら説明する。図6(a)はBPDU本体のフレーム・フォーマットを示す図、図6(b)はBPDUのデータに含まれるフラグ(flags)のフレーム・フォーマットを示す図、図6(c)はBPDUのデータに含まれるルートID(root ID)、ブリッジID(bridge ID)のフレーム・フォーマットを示す図、図6(d)はSTP状態の変化を検出したときに送信されるTCN−BPDUのフレーム・フォーマットを示す図である。
図6(a)に示すように、BPDUは、ヘッダ部分とデータ部分から構成される。図6(b)に示すように、フラグは、TCA、未使用領域、TCから構成される。TCAのbitが立ったBPDUをルートポートから受信したブリッジは、ルートポートへのTCN−BPDUの送信を停止する。TCのbitが立ったBPDUをルートポートから受信したブリッジは、TCフラグの立っていないBPDUを受信するまで、学習テーブルaging タイマーのタイムアウト値をforward delay の値に設定し、自分自身もTCフラグの立ったBPDUを送信する。
図6(c)に示すように、ルートIDおよびブリッジIDは、上位2octet は管理者が設定するpriority、下位6octet はブリッジのMACアドレスである。ルートIDおよびブリッジIDは、上位2octet の管理者が設定するpriorityが優先され、MACアドレスを含めた全体の大小によってブリッジの上位下位の判別ができるようになっている。例えば各ブリッジのBPDUのルートIDの上位2octet をデフォルトの状態とした場合、ルートIDのMACアドレスの一番小さいブリッジがルートブリッジとなる。
その他、ルートパス・コスト(root path cost)は、ルートへの最短(と思われる)コストである。ポートID(port ID)は、上位1octet は管理者が設定するpriority、下位1octet はブリッジに固有のIDである。このポートIDは、メッシュ接続の場合、受信時には無視されるので、下位1octet は設定の必要はないが、本実装による同一論理ポートに関連付けされた全てのメッシュ接続ポート3のときは、同一のIDが用いられる。
message age は、ルートブリッジからの経過時間を示し、単位は1/256秒である。したがって、この値が256の場合、ルートは1秒前にこのBPDUに対応するBPDUを送信したことになる。
max age は、BPDUの有効期間を示し、単位は1/256秒である。また、hello timeは、ルートブリッジがBPDUを送信する時間間隔を示し、単位は1/256秒である。すなわち、ルートブリッジはhello time間隔でBPDUを送信する。
forward delay は、listening の期間、learningの期間、スパニングツリーの再構成が発生した場合の学習テーブルaging タイマーに用いられるパラメータを示し、単位は1/256秒である。
トポロジーチェンジタイマーは、図6(d)に示すフラグのTCを立てる期間を計測するタイマーである。
また、メッシュ型ドメイン内で論理ポートが閉鎖ポートになる場合は、そのメッシュ型ネットワーク用ブリッジ2の同一の論理ポートに関連付けされた全てのメッシュ接続ポート3を閉鎖するようにし、同一の論理ポートに関連付けされたメッシュ接続ポート3を部分的には閉鎖しない。これにより、オプティマイズド・フォワーディングとの矛盾を回避している。
なお、上述したBPDUのポートIDとして与えられる上記論理ポートの論理ポート番号は、物理ポート(実際にメッシュ型ネットワーク用ブリッジ2と接続されるメッシュ接続ポート3)とは異なる番号か、もしくはメッシュ接続ポート番号(物理ポート)の中の代表番号を用いることができる。
次に、BPDU送信処理の動作について図7のフローチャートを参照しながら説明する。なお、図7において、Xは全てのポートにBPDUを出すため、処理ループを実現するための変数であり、X=1,2,3,…MAXPORTとインクリメントされながらループを回る。本実施の形態では、処理を簡単にするため、実装されているポート数をnとするとnに続くn+1,n+2,・・・MAXPORTを論理ポート番号としている。MAXPORTは装置に実装しているポートの数+論理ポートの数である。Nは全てのメッシュ接続ポートに同一BPDUを出すためにメッシュ接続ポートを探しながらループするための変数である。
このBPDU送信処理では、まずX=1とし(ST1)、X≦MAXPORT(最大ポート)か否かを判別する(ST2)。X≦MAXPORTでないと判断したときには(ST2−No)、すなわちポートが最大ポートを超えたと判断したときには処理を終了する。これに対し、X≦MAXPORTと判断すると(ST2−Yes)、Xが論理ポートか否かを判別する(ST3)。すなわち、論理ポートのとき関連付けられた全てのメッシュ接続ポート3を一つのポートとするか否かを判別する。
そして、Xが論理ポートでないと判断すると(ST3−No)、Xがメッシュ接続ポートか否かを判別する(ST4)。メッシュ接続ポートでないと判断すると(ST4−No)、ポートX用(非メッシュ接続ポート番号)のBPDUをポートに送信し(ST5)、X=X+1にする(ST6)。その後、ST2の処理に戻る。メッシュ接続ポートと判断すると(ST4−Yes)、論理ポートに対する送信処理のところで送信されるので、ここでは送信せずST6の処理に移行する。Xが論理ポートと判断されると(ST3−Yes)、N=1とし(ST7)、N≦MAXPORT(最大ポート数)か否かを判別する(ST8)。
そして、N≦MAXPORTでないと判断すると(ST8−No)、ST6の処理に移行する。これに対し、N≦MAXPORTと判断すると(ST8−Yes)、ポート番号Nが論理ポートXに関連付けられたメッシュ接続ポートか否かを判別する(ST9)。ポート番号Nが論理ポートXに関連付けられたメッシュ接続ポートと判断すると(ST9−Yse)、ポート番号NにポートX用(論理ポート番号)のBPDUを送信する(ST10)。そして、N=N+1とし(ST11)、ST8の処理に戻る。これに対し、ポート番号Nが論理ポートXに関連付けられたメッシュ接続ポートでないと判断すると(ST9−No)、ST11の処理に移行する。
次に、BPDU受信処理の動作について図8のフローチャートを参照しながら説明する。このBPDU受信処理では、パケットを受信すると(ST21)、BPDUか否か判断する(ST22)。BPDUでないと判断すると(ST22−No)、そのままパケットをフォワードする(ST23)。BPDUと判断すると(ST22−Yes)、受信ポートがメッシュ接続ポート3か否か判別する(ST24)。受信ポートがメッシュ接続ポート3と判断すると(ST24−Yes)、受信ポート番号に関連付けられた論理ポート番号を用いる(ST25)。これに対し、受信ポートがメッシュ接続ポート3でないと判断すると(ST24−No)、受信ポート番号に実際の物理ポート番号を用いる(ST26)。そして、上記のように受信ポートに用いる番号が決定すると、BPDU受信処理を行い(ST27)、STP情報の管理を行い(ST28)、ポートの状態を設定する(ST29)、IEEE 802.1Dに準拠したスパニングツリープロトコルによるBPDUの受信処理が行われる。上記ST29のポートの状態設定は、論理ポートに対する設定の場合、該論理ポートに関連付けされた全てのメッシュ接続ポートに設定することになる。
ここで、図9(a)に示すように、例えばブリッジ2aとブリッジ2cとの間にバックアップ経路(外部ネットワーク)としてブリッジ6fおよびブリッジ6g(いずれもメッシュ型ネットワーク用ブリッジ2ではない)を接続すると、ブリッジ2a、ブリッジ2c、ブリッジ6f、ブリッジ6gによってループが形成される。
しかし、本実施の形態のメッシュ型ネットワーク用ブリッジ2では、メッシュ接続ポート3から受信したBPDUは、関連付けられた論理ポートから受信したものと見なし、受信したBPDUに基づいてSTP状態を決定している。
これにより、スパニングツリープロトコルは、図9(b)に示すように、一本のバス型LANに対して複数台(図9(b)の例ではブリッジ2a〜2dの4台)のメッシュ型ネットワーク用ブリッジが接続されているものとして認識する。そして、受信したBPDUに基づいて閉鎖ポートを設定する。図9(b)の例では、ブリッジ6fとブリッジ6gとの間でブリッジ6g側のポートを閉鎖ポートに設定する。
このように、本実施の形態のメッシュ型ネットワーク用ブリッジ2によれば、全てのメッシュ接続ポート3を論理的に一つのポートと見なし、全てのメッシュ接続ポート3に同一のBPDUを送出している。また、メッシュ接続ポート3から受信したBPDUは、全て関連付けられた一つの論理ポートから受信したものと見なし、受信したBPDUに基づいてSTP情報記憶部を構築している。
これにより、スパニングツリープロトコルは、一本のバス型LANに対して複数台のメッシュ型ネットワーク用ブリッジ2が接続されているものとして認識し、受信したBPDUに基づいて閉鎖ポートを設定するので、メッシュ型ドメインとメッシュ型ドメイン外部とのループを回避することができる。しかも、メッシュ型ドメイン内において、メッシュ型ネットワーク用ブリッジ間に回線障害が無ければ、メッシュ型ネットワーク用ブリッジ間の最短経路で通信を行うことができる。これにより、経路の遠回りにより遅延の減少、一部の装置に対する過度な負荷の減少、回線利用率の向上を図ることができる。
ところで、上述した実施の形態では、メッシュ型ネットワーク1を構成する各メッシュ型ネットワーク用ブリッジ2,2間を接続する回線が一つの場合について図示して説明したが、各メッシュ型ネットワーク用ブリッジ2,2間を2つ以上の回線で接続する構成にしても良い。但し、対向接続されるメッシュ型ネットワーク用ブリッジ2,2間の回線を2本以上同一の論理ポートに関連付けるときは、Link Aggregation(IEEE 802.3ad)により束ねられている必要がある。Link Aggregation により束ねられていると、対向接続されるメッシュ型ネットワーク用ブリッジ間の複数の回線が1つのポートと見なされる。そして本発明を適用すると、その1つのポートは、1つの論理ポートに関連付けられる。(図22参照)
さて、前述したオプティマイズド・フォワーディングは、メッシュ型ドメイン内で送信すべき回線が利用可能であることが前提になっており、回線障害が発生すると通信が遮断され、その回線に接続されているブリッジへは到達不能となる。
そこで、本発明は、メッシュ型ネットワーク用ブリッジ2を採用したメッシュ型ネットワーク1で、回線障害を検出したメッシュ型ネットワーク用ブリッジ2は、継続してメッシュ型ドメイン内に残り、到達不能となったメッシュ型ネットワーク用ブリッジ2と接続している他のメッシュ型ネットワーク用ブリッジ2を経由して、到達不能になったブリッジにパケットを到達させる。
図2は、本発明の第2の実施の形態の概略構成を示すブロック図、図10および図11は本発明によるメッシュ型ネットワーク用ブリッジを採用したメッシュ型ネットワークにおいてバックアップ依頼による経路の形成を行った場合の説明図、図12は本発明によるメッシュ型ネットワーク用ブリッジが持つバックアップ候補記憶部の一例を示す図、図13は本発明によるメッシュ型ネットワーク用ブリッジが持つバックアップ受付テーブルの一例を示す図、図14はメッシュ制御パケットのフォーマットを示す図、図15は図14のフォーマットにおいて隣接通知を行う場合のオプションのフォーマットを示す図、図16は図14のフォーマットにおいてバックアップ依頼・解除を行う場合のオプションのフォーマットを示す図、図17は本発明によるメッシュ型ネットワーク用ブリッジの回線障害検出時のバックアップ依頼処理のフローチャート、図18は本発明によるメッシュ型ネットワーク用ブリッジのバックアップ受付処理のフローチャートである。
以下に図2に基づいて第2の実施の形態を説明する。なお、第1の実施の形態と同じ部分については、その説明を省略するが、第2の実施形態では、パケット送受信手段12の内部的な動きは、次のようになる。受信したバックアップ依頼パケットをバックアップ依頼受付手段24に渡し、バックアップ依頼送出手段23から渡されたバックアップ依頼パケットを指定されたポートに送出する。
回線障害検出手段21は、自ポート(メッシュ接続ポート3、非メッシュ接続ポート4)とそのポートに接続されているポートとの間の回線障害を検出する手段であり、例えばポートを介してリンクダウンなどのイベントを検出すると、そのイベントをバックアップブリッジ選択手段22に通知する。
なお、回線障害検出の方法としては、後述するメッシュ制御パケットの一種として用意される隣接ブリッジ通知用パケットをメッシュ型ネットワーク用ブリッジ2,2間で交換して相手ブリッジに一定時間内に届くか否かにより回線障害を検出するキープアライブによる検出、通常導通しているメッシュ型ネットワーク用ブリッジ2,2同志のポート間の接続が外れたときに発生する割込信号によって回線障害を検出するリンクダウンによる方法、定期的にやり取りするパケットが所定時間経過しても来ないことにより回線障害を検出する方法など様々なものが考えられる。
バックアップブリッジ選択手段22は、回線障害検出手段21から回線障害が発生したポート番号が通知されると、そのポートがメッシュ接続ポート3のとき、バックアップ候補記憶部27から、通知されたポート番号に接続されている隣接ブリッジ(到達不能ブリッジ)を見つけ、その到達不能ブリッジをバックアップ候補に持つ隣接ブリッジを依頼先ブリッジとして選択し、バックアップ依頼送出手段23に通知する。このとき、障害が通知された接続ポートに障害が発生したことを示すため、バックアップ候補記憶部27の当該接続ポートの残り時間を“0”に書き換える。
バックアップ依頼送出手段23は、バックアップブリッジ選択手段22から到達不能ブリッジと依頼先ブリッジが通知されると、(1)依頼先ブリッジに対する、バックアップターゲットを到達不能ブリッジとし、バックアップソースを自分としたバックアップ依頼パケットの送信をパケット送受信手段12に依頼し、(2)宛先が到達不能ブリッジであるパケットを受け取ったときには、(到達不能ブリッジへではなく)依頼先ブリッジに送出するような経路を形成するように経路制御手段25に依頼する。
バックアップ依頼受付手段24は、パケット送受信手段12を経由して他のブリッジからのバックアップ依頼パケットを受け取ると、(1)該パケットを受信した接続ポートと該パケットで示されたバックアップターゲット(到達不能ブリッジ)とバックアップソース(依頼元ブリッジ)と監視用の残り時間とを合わせてバックアップ受付テーブル28に登録し、(2)バックアップソースから宛先がバックアップターゲットであるパケットを受け取ったときにはバックアップターゲットに送出するような経路を形成するように経路制御手段25に依頼する。受信したバックアップ依頼パケットが示すバックアップソースとバックアップターゲットの組み合せが既にバックアップ受付テーブル28にある場合は、残り時間を初期値にする。残り時間を定期的に監視し残り時間がなくなったとき、または、パケット送受信手段12からバックアップ解除依頼を受け取ったときは、バックアップ受付テーブル28からそのバックアップ経路の項目(バックアップソース、バックアップターゲット、残り時間)を削除するとともに経路制御手段25にバックアップ経路の停止を依頼する。
経路制御手段25は、バックアップ依頼送出手段23またはバックアップ依頼受付手段24から、バックアップ経路の形成を依頼されたとき、依頼されたバックアップ経路を形成するように最短経路構築手段11にオプティマイズド・フォワーディングの例外処理を依頼する。また、バックアップ経路の解除を要求されたときは、最短経路構築手段11に、指定のバックアップ経路の例外処理を止めることを依頼する。
バックアップ候補記憶部制御手段26は、メッシュ接続ポート3,3,3に回線接続されているブリッジが、自身の存在と、自身とメッシュ接続している他のブリッジ(隣接ブリッジ)の情報とを含む隣接通知パケットを定期的に送出し、隣接通知パケットを受け取ったとき、受信ポート番号、ソースアドレス、隣接ブリッジの情報を取り出し、受信ポートをバックアップ候補テーブルの接続ポートとして、ソースアドレスを該テーブルの隣接ブリッジとして、隣接ブリッジを該テーブルのバックアップ候補として、回線障害を検出するための残り時間とともにバックアップ候補記憶部27に記憶する。また、バックアップ候補記憶部27に記憶された残り時間を定期的に監視し、一定期間隣接通知パケットが通知されていないことを検出したとき、回線障害が発生したことを回線障害検出手段21に通知する。
バックアップ候補記憶部27は、前述のバックアップ候補テーブルを記憶している。該バックアップ候補テーブルは、図12に示すように、接続ポート・隣接ブリッジ・バックアップ候補、および残り時間を書き込むようになっている。その書き込みについては、バックアップブリッジ選択手段22とバックアップ候補記憶部制御手段26の説明で述べたので省略する。
次に、本例のメッシュ型ネットワーク用ブリッジ2を採用したメッシュ型ネットワーク1内での回線障害を検出したときのバックアップ経路形成の動作について説明する。
本例のメッシュ型ネットワーク用ブリッジ2は、他のメッシュ型ネットワーク用ブリッジ2との間での回線障害を検出したときに、到達不能になったメッシュ型ネットワーク用ブリッジ2との間の迂回路(バックアップ経路)を別の到達可能なメッシュ型ネットワーク用ブリッジ2との間に形成するシグナリングプロトコルを有している。
このシグナリングプロトコルによるバックアップ要求時には、以下の処理が実行される。まず、後述する図14に示すメッシュ制御パケットの一種として用意される隣接通知パケットをメッシュ型ネットワーク用ブリッジ2,2相互間で交換する(図10参照)。この隣接通知パケットによる通知は、一定時間(例えば2秒)間隔で全てのメッシュ型ネットワーク用ブリッジ2に通知される。隣接通知パケットを受信したメッシュ型ネットワーク用ブリッジ2は、その隣接通知パケットを送ってきたメッシュ型ネットワーク用ブリッジ2の存在とそのメッシュ型ネットワーク用ブリッジ2との回線が利用可能であることを認識する。これに対し、隣接通知パケットによる通知が一定時間(例えば8秒)届かなければ、そのメッシュ型ネットワーク用ブリッジ2との間に回線障害が起きたことを検出する。
上記隣接通知パケットには、自分と隣接関係にある他のメッシュ型ネットワーク用ブリッジ2のブリッジID(MACアドレス)が格納される。これにより、隣接通知パケットを受信したメッシュ型ネットワーク用ブリッジ2は、隣接通知パケットを送信したメッシュ型ネットワーク用ブリッジ2が到達不能ブリッジとなったときのバックアップ依頼先の情報が含まれるバックアップ候補テーブルを管理することが可能となる。
回線障害を検出したメッシュ型ネットワーク用ブリッジ2は、バックアップ候補テーブルから到達不能ブリッジへのバックアップが可能なメッシュ型ネットワーク用ブリッジ2を見つけ出し、バックアップ依頼を行う。例えば図11に示すように、ブリッジ2cとブリッジ2dとの間で回線障害が発生した場合には、ブリッジ2cからブリッジ2aに対してバックアップ依頼を行う。このバックアップ依頼は、到達不能ブリッジと自分のブリッジのMACアドレスをそれぞれ「バックアップターゲット」、「バックアップソース」として指定したバックアップ依頼パケットをブリッジ2aに送出することで行なう。
そして、バックアップ依頼を受けたメッシュ型ネットワーク用ブリッジ2aは、「バックアップターゲット」と接続しているポートと「バックアップソース」と接続しているポートとの間でフラッティングとマルチキャストの配信を行い、バックアップ経路を形成する。
この例では、バックアップしなければならない回線を指定するために、到達不能ブリッジを識別できる識別情報として、到達不能ブリッジのMACアドレスを用いているが、バックアップ対象回線を指定するために、回線番号を設定しておき、その回線番号を指定して、バックアップ依頼する方法もある。
ここで、上述したバックアップ経路の形成時に用いられるバックアップ候補テーブルについて図12を参照しながら説明する。このバックアップ候補テーブルは、メッシュ接続ポート3の数分だけ用意する。図12はメッシュ接続ポート3が4つの場合の例を示している。隣接通知パケットをメッシュ接続ポート3から受信したときに、そのメッシュ接続ポートに接続されたメッシュ型ネットワーク用ブリッジ2を隣接ブリッジとして登録し、隣接通知パケット内の隣接ブリッジは、バックアップ候補として登録する。そして、残り時間を10(例えば10秒に相当)に初期化する。なお、残り時間は、毎秒減算され、再び隣接通知パケットをメッシュ接続ポート3から受信すると10に再初期化される。
この残り時間が“0”になったとき、つまり隣接通知パケットが10秒間来ない場合、その接続ポートで回線障害が発生したこととする。
次に、図13に示すバックアップ受付テーブル28について説明する。メッシュ型ネットワーク用ブリッジ2がバックアップ依頼を受け付けると、受信した接続ポート、バックアップターゲット、バックアップソースの情報と合わせて残り時間を記録する。
また、バックアップソースのつながっているポートとバックアップターゲットのつながっているポートの間でのパケットのフラッディングとマルチキャストの経路の形成を経路制御手段25に依頼する。
上記バックアップ依頼は、所定時間(例えば2秒)毎に送られて来るので、その都度、残り時間を10に初期化する。そして、バックアップ解除パケットを受けるか、残り時間が0になると、そのエントリを削除し、経路制御手段25にバックアップソースのつながっているポートとバックアップターゲットのつながっているポートの間でのパケットのフラッディングとマルチキャストフォワーディングの停止を指示する。
次に、上述した隣接通知パケットおよびバックアップ依頼パケットを含むメッシュ制御パケットについて図14を参照しながら説明する。
このメッシュ制御パケットは、図14に示すように、あて先ソース、ソースアドレス、パケット長、LLC DSAP、LLC SSAP、LLC制御、プロトコルID、プロトコルバージョン、コマンド、オプション、パディング、FCSによって構成される。以下に、一般的な用語の説明は省略し、本発明に関連して新しく作成した「コマンド」と「オプション」について説明する。
本例では、上記メッシュ制御パケットのコマンドは、以下のコマンドコードを割り当てている。0x00…隣接通知、0x01…バックアップ依頼、0x02…バックアップ解除。
また、オプションは、コマンド毎に異なり、以下のように定義している。隣接通知では、隣接ブリッジリストをオプションに格納する。オプションフィールドのフォーマットは、例えば図15に示すように構成される。例えば隣接ブリッジ数を0〜15(最大)とし、隣接通知は2秒毎に行う。これにより、メッシュ型ネットワーク用ブリッジ2は、自分のバックアップ候補テーブルを参照し、隣接ブリッジの一覧を全メッシュ接続ポート3に送出する。
バックアップ依頼・解除では、図16に示すように、バックアップターゲットとバックアップソースをオプションに格納する。バックアップ依頼は、バックアップ候補から選択したブリッジに出力する。バックアップを依頼したメッシュ型ネットワーク用ブリッジ2から隣接通知パケットを受けると、バックアップターゲットが隣接に含まれているかチェックし、隣接していなかった場合は、バックアップ解除を送り、別の候補ブリッジを選択してバックアップ依頼を送り直す。また、バックアップ依頼にはレスポンスがないので、隣接通知パケットを受けるたびに毎回バックアップ依頼を送る。そして、バックアップ依頼を受けたメッシュ型ネットワーク用ブリッジ2は、バックアップ受付テーブル28に記録し、バックアップターゲットと、バックアップソースの間のフォワーディングを開始する。バックアップ依頼が10秒間来ない場合は、バックアップ処理を停止し、バックアップ受付テーブル28から削除する。
このように、上述したバックアップ依頼プロトコルによりバックアップ経路を形成することができる。
回線障害検出時のバックアップ依頼の処理について図17のフローチャートを参照しながら説明する。このバックアップ依頼の処理では、回線障害を検出すると(ST31)、障害を検出したポートがメッシュ接続ポート3か否か判断する(ST32)。メッシュ接続ポート3でないと判断すると(ST32−No)、処理を終了する。メッシュ接続ポート3と判断すると(ST32−Yes)、バックアップ候補テーブルを検索し、障害を検出したポートから隣接ブリッジ(到達不能ブリッジ)のアドレスを求め、アドレスをXとする(ST33)。このとき、回線障害を検出したポートであることを示すため残り時間を“0”にする。
次に、バックアップ候補を選択する。ここでNは、バックアップ候補テーブルに登録されている全てのメッシュ接続ポートを検索するため、N=1,2,3,・・・MAXPORTとインクリメントする変数である。Nを1にする(ST34)。Nがメッシュ接続ポート数内かどうかを判断し(ST35)、Nがメッシュ接続ポート数を超えたとき(ST35−No)、処理を終了する。Nがメッシュ接続ポート内のとき(ST35−Yes)、ポート番号Nに隣接ブリッジがあるか否か判断する(ST36)。隣接ブリッジがないときは(ST36−No)、Nを+1し(ST42)ST35へ進む。隣接ブリッジがあるときは(ST36−Yes)、その隣接ブリッジが回線接続されているか判断する(ST37)。(回線障害が発生していないか調べるため、残り時間が“0”でないことを確認する。)回線接続されていないときは(ST37−No)、Nを+1し(ST42)ST35へ進む。回線接続されているときは(ST37−Yes)、隣接ブリッジのアドレスをバックアップ候補アドレスYとする(ST38)。ポート番号Nのバックアップ候補の中に到達不能ブリッジXがあるか検索する(ST39)。バックアップ候補の中にXがないときは(ST39−No)、Nを+1し(ST42)ST35へ進む。バックアップ候補の中にXがあるときは(ST39−Yes)、YとXとの回線が接続されているので、ブリッジYにブリッジXのバックアップを依頼し(ST40)、ブリッジXへ送るパケットはブリッジYに送る経路を形成し(ST41)終了する。
すなわち、このバックアップ依頼の処理では、回線障害を検出すると、まずバックアップ候補テーブルを見て、そのポートがメッシュ接続ポート3かどうかを確認する。そして、そのポートがメッシュ接続ポート3であれば、そのポートの隣接ブリッジのアドレス(X)を取り出し、今度はそのアドレス(X)と接続されている、つまり、Xをバックアップ候補に持つ回線接続された隣接ブリッジがあるかどうかを再びバックアップ候補テーブルから検索する。自分と回線接続されていて、かつ、到達不能ブリッジXとも回線接続されている隣接ブリッジが見つかれば、その隣接ブリッジを依頼先ブリッジ(Y)とする。そして、依頼先ブリッジが見つかると、自分のMACアドレスをバックアップソースとして、到達不能ブリッジのアドレス(X)をバックアップターゲットとして依頼先ブリッジ(Y)に送信する。
次に、バックアップ依頼を受け付ける処理ついて図18のフローチャートを参照しながら説明する。このバックアップ依頼受付の処理では、バックアップ依頼パケットを受け取り(ST51)、受信したポートをSとし(ST52)、バックアップ依頼パケットのターゲットブリッジをXとする(ST53)。
次に、ターゲットブリッジの接続ポートを選択するため、ポート検索用変数Nを1にする(ST54)。Nがメッシュ接続ポート数内かどうかを判断し(ST55)、Nがメッシュ接続ポート数を超えたとき(ST55−No)、処理を終了する。Nがメッシュ接続ポート内のとき(ST55−Yes)、ポート番号Nの隣接ブリッジがXか否か判断する(ST56)。隣接ブリッジがXでないときは(ST56−No)、Nを+1し(ST60)、ST55へ進む。隣接ブリッジがXのときは(ST56−Yes)、回線障害を検出しているかどうか判断する(ST57)。残り時間を参照し、回線障害を検出しているとき(ST57−Yes)、処理を終了する。回線障害を検出していないとき(ST57−No)、ターゲットブリッジに接続されているポートをTとする(ST58)。ポートSからきたブリッジXへ送るパケットはポートTに送る経路を形成し(ST59)終了する。
このように、本実施の形態によれば、回線障害を検出したメッシュ型ネットワーク用ブリッジ2は、到達不能ブリッジに隣接するメッシュ型ネットワーク用ブリッジ2を見つけ出し、この見つけ出したメッシュ型ネットワーク用ブリッジ2に対し、到達不能ブリッジのMACアドレスをバックアップターゲットとし、かつ自分のMACアドレスをバックアップソースとするバックアップ依頼パケットを送出している。そして、バックアップ依頼パケットを受けたメッシュ型ネットワーク用ブリッジ2は、バックアップ依頼パケットに含まれるバックアップターゲットと接続しているポートとバックアップソースと接続しているポートとの間でフラッティングとマルチキャストの配信を行ってバックアップ経路を形成している。これにより、回線障害時の経路のバックアップを行うことができる。
以上、第1の実施の形態のブリッジは、メッシュ型ネットワークにオプティマイズド・フォワーディングを適用しながら、そのメッシュ型ネットワークに接続される外部のネットワーク全体にSTPを適用できるようなメッシュ型ネットワーク用ブリッジであり、第2の実施の形態のブリッジは、メッシュ型ネットワークに全体としては、オプティマイズド・フォワーディングを適用しながら、回線障害が発生した場合でも通信が可能なメッシュ型ネットワーク用ブリッジである。図4は、第1の実施の形態と第2の実施の形態とを合わせたメッシュ型ネットワーク用ブリッジを示した。このようにすれば、前述の第1の実施の形態と第2の実施の形態の特長を合わせ持ったメッシュ型ネットワーク用ブリッジとすることができる。
1…メッシュ型ネットワーク、2…メッシュ型ネットワーク用ブリッジ、3…メッシュ接続ポート、4…非メッシュ接続ポート、5…STP処理部、6…非メッシュ型ネットワーク用ブリッジ、7…ノード、10…論理ポート、11…最短経路構築手段、12…パケット送受信手段、13…読み替え手段、14…BPDU受信手段、15…BPDU送信手段、16…STP情報管理手段、17…ポート状態設定手段、18…論理ポート記憶部、19…STP情報記憶部、20…フォワーディングテーブル、21…回線障害検出手段、22…バックアップブリッジ選択手段、23…バックアップ依頼送出手段、24…バックアップ依頼受付手段、25…経路制御手段、26…バックアップ候補記憶部制御手段、27…バックアップ候補記憶部、28…バックアップ受付テーブル、31…メッシュ型ネットワーク、32…メッシュ型ネットワーク用ブリッジ、33…メッシュ接続ポート、34…非メッシュ接続ポート、36…非メッシュ型ネットワーク用ブリッジ、37…ノード。