(57)【特許請求の範囲】
【請求項１】
複数のノードを用いて構成されるリングを複数連結した多リング型ネットワークを構成し、ポート閉塞制御によってネットワークループを防止するレイヤ２ネットワークであって、
前記複数のノードが、
複数のノード間リンクの状態を監視するリンク状態監視部と、
前記リンク状態監視部による監視結果として得られた正常なノード間リンクの数に基づいて、現状の経路の障害発生状態を判定する障害状態判定部と、
前記障害状態判定部による判定結果に基づいて、前記ノード間リンクが接続されたポートに対する閉塞制御を実行するポート閉塞制御部と、
を備え、
前記ポート閉塞制御部は、前記障害状態判定部により現状の経路に障害が発生していると判定された場合、迂回経路を確保するために、ネットワークループを防止するために閉塞中のポートの閉塞を解除し、
前記障害状態判定部は、正常なノード間リンクの数が「２」未満の場合に、現状の経路に障害が発生している状態を示す「障害発生」と判定し、正常なノード間リンクの数が「２」以上の場合に、現状の経路が正常に機能している状態を示す「正常」と判定する、
ことを特徴とするレイヤ２ネットワーク。
【請求項２】
さらに、前記複数のノードは、
前記リンク状態監視部による監視結果に基づき１つのポートに接続されたノード間リンクのみが正常であることを検知した場合に、当該リンクを迂回経路と判定し、当該迂回経路を認識させるための通知メッセージを当該リンクが接続されたポートに向けて送信する経路判定部、
を備えることを特徴とする請求項１に記載のレイヤ２ネットワーク。
【請求項３】
前記ポート閉塞制御部は、自ノードが他のノードから通知メッセージを受信し、かつ、正常なノード間リンクの数が閉塞中のポートに接続されたリンクを含んで「２」であることを検知した場合に、当該ポートの閉塞を解除することを特徴とする請求項２に記載のレイヤ２ネットワーク。
【請求項４】
さらに、前記複数のノードは、
自ノードが他のノードから通知メッセージを受信し、かつ、正常なノード間リンクの数が「２」であることを検知した場合に、当該通知メッセージの受信に使用されたノード間リンク以外のもう一方のノード間リンクに接続されたポートに向けて、当該通知メッセージを送信するメッセージ中継部、
を備えることを特徴とする請求項２または３に記載のレイヤ２ネットワーク。
【請求項５】
前記メッセージ中継部は、正常なノード間リンクの数が「２」以外であることを検知した場合、他のノードから受信した通知メッセージを中継しないことを特徴とする請求項４に記載のレイヤ２ネットワーク。
【請求項６】
自ノードが、マスタとして動作するノードから管理フレームを受信するスレーブ動作を行い、かつリングを構成する各ノードの端局である場合、
前記障害状態判定部は、さらに、正常なノード間リンクの数が「２」であることを検知し、かつリングの端点ポート以外から通知メッセージを受信したことを検知した場合に、「障害発生」と判定し、
前記ポート閉塞制御部は、「障害発生」と判定された場合に、前記管理フレームの受信に対する応答として、前記マスタとして動作するノードに向けて障害応答管理フレームを送信することを特徴とする請求項２〜５のいずれか一つに記載のレイヤ２ネットワーク。
【請求項７】
ポート閉塞制御によってネットワークループを防止するレイヤ２ネットワークにおいて、請求項１〜６のいずれか一つに記載のノードとして動作することを特徴とするネットワーク接続装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路の障害を迂回することが可能なレイヤ２ネットワークに関するものである。
【背景技術】
【０００２】
複数のレイヤ２スイッチから構成されるレイヤ２ネットワークでは、一般的に、経路冗長性を持たせるためにメッシュ状やリング状のネットワークが用いられている。このとき、ネットワーク内にループがあると中継フレームが無限周回するため、ループを防ぐための制御用プロトコルが多数提案されている。
【０００３】
なかでも、ＩＥＥＥ８０２．１Ｄ（非特許文献１）で規定されるスパニングツリープロトコル（ＳＴＰ）は最も普及しているレイヤ２ネットワーク制御用プロトコルである。ＳＴＰでは、ＢＰＤＵ（Bridge  Protocol  Data  Unit）と呼ばれる制御フレームを定期的に送信することと、各スイッチにおけるフレーム中継最大遅延時間とネットワークの最大直径（任意の２点間のレイヤ２スイッチ最大数）を規定し、タイマをベースとした状態遷移を行うことで、各レイヤ２スイッチの状態を同期させている。
【０００４】
ここで、ＳＴＰの課題であるレイヤ２スイッチ接続台数の制限を解消するための技術として、たとえば、下記特許文献１がある。下記特許文献１における発明では、マスタ装置および複数のスレーブ装置によって、マスタ装置が一方の端局となるように縦列接続された論理的なグループからなるレイヤ２ネットワークを構成する。この構成では、マスタ装置が定期的に送信する管理フレームに対して、グループの端点または障害検出点から管理フレームを折り返し返送する。この動作により、ブロッキング状態の遷移を行うことができるため、最大直径の制約が不要となる。
【０００５】
また、このような特許文献１を始めとするリング構成技術では、ブロッキング状態の遷移により任意の二点間に２通りの経路を提供することができるため、たとえば、一方の経路で障害が生じた場合であっても他方を迂回経路とすることができる。
【０００６】
【非特許文献１】ＩＥＥＥ  ８０２．１Ｄ，１９９８Ｅｄｉｔｉｏｎ
【特許文献１】特開２００７−１７４１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術では、同時に複数箇所で障害が発生した場合には対応が十分ではない、という問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、多重障害が発生した場合であっても、それらの障害に対して十分に対応可能な、より耐障害性の高いレイヤ２ネットワークを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、複数のノードを用いて構成されるリングを複数連結した多リング型ネットワークを構成し、ポート閉塞制御によってネットワークループを防止するレイヤ２ネットワークであって、前記複数のノードが、複数のノード間リンクの状態を監視するリンク状態監視部と、前記リンク状態監視部による監視結果として得られた正常なノード間リンクの数に基づいて、現状の経路の障害発生状態を判定する障害状態判定部と、前記障害状態判定部による判定結果に基づいて、前記ノード間リンクが接続されたポートに対する閉塞制御を実行するポート閉塞制御部と、を備え、前記ポート閉塞制御部は、前記障害状態判定部により現状の経路に障害が発生していると判定された場合、迂回経路を確保するために、ネットワークループを防止するために閉塞中のポートの閉塞を解除することを特徴とする。
【発明の効果】
【００１０】
この発明によれば、ネットワーク接続装置間のリンクの状態を監視し、正常な幹線リンクの数に応じてポート閉塞制御を行うこととしたので、ネットワークループの発生を防止しつつ、多重障害が発生した場合であっても迂回経路を確保することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかるネットワーク接続装置を用いたレイヤ２ネットワークの実施の形態を、図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明にかかるネットワーク接続装置の構成例を示すブロック図である。ネットワーク接続装置１は、リンク状態監視部２Ａ，２Ｂおよび２Ｃと、ポート閉塞制御部３と、スイッチ部４と、経路判定部５と、障害状態判定部６と、メッセージ中継部７と、を備えている。ネットワーク接続装置１は、ネットワークへの接続状態により、マスタ装置として動作することもあるし、スレーブ装置として動作することもある。
【００１３】
ネットワーク接続装置１は、たとえば、３つのポートを有しており、リンク状態監視部２Ａ，２Ｂおよび２Ｃは、ネットワーク接続装置１の各ポートに接続されたリンクの状態を監視し、監視結果として得られる障害情報をポート閉塞制御部３に通知する。ここで、障害情報とは、障害が発生した旨の情報または障害が回復した旨の情報である。
【００１４】
ポート閉塞制御部３は、自ネットワーク接続装置がマスタ装置である場合、管理フレームをスレーブ装置に対して送信する。そして、スレーブ装置から応答管理フレームまたは障害応答管理フレームを受信することで、リングの障害状態を常時監視している。一方、自ネットワーク接続装置がスレーブ装置である場合、ポート閉塞制御部３は、ネットワークが正常な状態では応答管理フレームを送信し、ネットワーク上に障害の発生を検出した際には障害応答管理フレームを送信する。
【００１５】
また、ポート閉塞制御部３は、リンク状態監視部から通知される障害情報や、他のネットワーク接続装置から通知される通知メッセージまたは障害応答管理フレームに基づいて、ポートの閉塞状態を制御する。ここで、通知メッセージとは、任意のネットワーク接続装置が、自グループ内でカバーし切れない障害の発生を検知した際に、迂回経路を確保する目的で、隣接するネットワーク接続装置に対して送信するメッセージである。これを受信したネットワーク接続装置は、自ネットワーク接続装置の障害発生状態と通知メッセージの内容とを合わせて状況を判断し、ブロッキング制御等を行う。
【００１６】
経路判定部５は、ポート閉塞制御部３から通知された障害情報に基づいて、上述の通知メッセージを作成し、正常なリンクが接続されたポートに向けて送信する。障害状態判定部６は、ポート閉塞制御部３から通知される障害情報に基づいて、自ネットワーク接続装置が「障害発生」または「正常」のいずれかであるかを判定する。メッセージ中継部７は、通知メッセージを他のネットワーク接続装置から受信した際に、自身の有するポートに接続されたリンクの中の正常なリンク数を判定し、その判定に基づいて通知メッセージを中継する。
【００１７】
図２は、実施の形態１のレイヤ２ネットワークの一例を示す図であり、詳細には、図１のネットワーク接続装置を４台用いて構成されるリングを複数連結した多リング型ネットワークの一例を示している。図２に示されるネットワークは、ネットワーク接続装置１で実現されるノード１０〜１９を備えており、ノード１１には端末３０１、ノード１３には端末３０２、ノード１５には端末３０３が接続されている。以下、リングを構成するノード間のリンクを「幹線リンク」または「リンク」、ノードと端末または冗長化されていないスター型ネットワークとの接続リンクを「支線リンク」と呼ぶ。
【００１８】
また、８８０，８８１，８８２，８８３は、これらのノード上に論理的に構成されたグループである。図２では、ノード１０，１１，１２，１３がグループ８８０を、ノード１１，１４，１５，１２がグループ８８１を、ノード１４，１６，１７，１５がグループ８８２を、ノード１６，１８，１９，１７がグループ８８３を、それぞれ構成することで、各リングを構成している。
【００１９】
また、図２のネットワークでは、特定のノードが一方の端局となるように縦列接続のグループを構成し、グループの両端のうちの一方のノードをマスタ装置とし、グループのその他のノードをスレーブ装置として定義する。そして、マスタ装置が、障害を検出するための管理フレームを送信すると、グループ内の各スレーブ装置はその管理フレームを転送していき、グループの端局となるスレーブ装置が応答管理フレームをマスタ装置に向けて送信する。マスタ装置は、応答管理フレームを受信した場合、グループ内のリンクに障害がないと判断し、グループ内のループを防ぐために、自装置のポートの１つをブロッキング状態とする。
【００２０】
また、グループ内で管理フレームを受信したスレーブ装置は、グループの経路であるリンクに障害が発生した場合、障害応答管理フレームをマスタ装置に向けて送信する。マスタ装置は、障害応答管理フレームを受信すると、ブロッキングポートをブロッキング解除し、グループ内にアドレスフラッシュ指示を送信する。また、リンク障害を検出したもう一方のノードも一定時間経過後にグループ内にアドレスフラッシュ指示を送信する。グループ内の各ノードは、アドレスフラッシュ指示を受信および中継し、グループを構成するポート上で学習していたアドレス情報を消去し、グループの経路切り替えが完了する。
【００２１】
図２のネットワークにおいて、障害が発生していない状態では、グループ８８０のリングでは、マスタ装置１０がポート１０１をブロッキング状態とし、その他各幹線リンクに接続するポート１１３，１１２，１２１，１２２，１３１，１３２，１０２は中継状態となっている。ノード１１では、端末３０１のアドレスを支線ポートで、端末３０２および端末３０３のアドレスをポート１１２で学習している。
【００２２】
また、グループ８８１のリングでは、マスタ装置１１がポート１１１をブロッキング状態とし、その他各幹線リンクに接続するポート１４３，１４２，１５１，１５２，１２３は中継状態となっている。ノード１４では、端末３０１、端末３０２、端末３０３のアドレスをポート１４２で学習している。ノード１５では、端末３０１および端末３０２のアドレスをポート１５２で、端末３０３のアドレスを支線ポートで学習している。
【００２３】
また、グループ８８２のリングでは、マスタ装置１４がポート１４１をブロッキング状態とし、その他各幹線リンクに接続するポート１６３，１６２，１７１，１７２，１５３は中継状態となっている。ノード１６では、端末３０１，端末３０２および端末３０３のアドレスをポート１６２で学習している。ノード１７では、端末３０１，端末３０２および端末３０３のアドレスをポート１７２で学習している。
【００２４】
また、グループ８８３のリングでは、マスタ装置１６がポート１６１をブロッキング状態とし、その他各幹線リンクに接続するポート１８３，１８２，１９１，１９２，１７３は中継状態となっている。ノード１８では、端末３０１，端末３０２および端末３０３のアドレスをポート１８２で学習している。ノード１９では、端末３０１，端末３０２および端末３０３のアドレスをポート１９２で学習している。
【００２５】
このように、上記のネットワークでは、各グループ内のマスタ装置がポート閉塞を行っており、ネットワーク上にループは生じない。この状態で、たとえば、マスタ装置１１に接続される端末３０１は、ノード１１−ノード１２間の幹線リンクを経由した経路により、端末３０２および端末３０３との通信が可能である。
【００２６】
つぎに、上記のように構成されたネットワークにおいて、各ノードがとる動作を、複数の障害発生のバリエーションを示して説明する。
【００２７】
（１）マスタ装置であるノードに接続された複数のリンクに障害が発生した場合
（１−１）ノード１０−ノード１１間およびノード１１−ノード１２間に障害が発生した場合
ここでは、マスタ装置の周囲のリンクに複数の障害が発生した場合について説明する。一例として、ノード１０−ノード１１間およびノード１１−ノード１２間に障害が発生した場合において、まず、グループ８８１のマスタ装置として動作するノード１１の動作を説明する。
【００２８】
図３は、ノード１０−ノード１１間およびノード１１−ノード１２間の幹線リンクに障害が発生している状態を表す図である。ノード１１のリンク状態監視部２Ｃは、ポート１１３のリンクの障害を検出すると、ポート閉塞制御部３に障害情報を通知する。また、リンク状態判定部２Ｂも同様に、ポート１１２の障害情報をポート閉塞制御部３に通知する。また、リンク状態監視部２Ａは、ポート１１１のリンクが正常であることを、障害発生前にポート閉塞制御部３に通知済みである。そして、ポート閉塞制御部３は、障害情報を受信すると、その障害情報を障害状態判定部６へ送る。
【００２９】
ここで、図４−１は、マスタ装置として動作するノードの障害状態判定動作を説明するためのフローチャートである。たとえば、ノード１１の障害状態判定部６は、障害情報が通知されたことを検出すると、図４−１に示す処理を開始する。
【００３０】
障害状態判定部６は、障害情報を受信すると（ステップＳ１０）、自装置の正常幹線リンク数を計算し（ステップＳ１１）、得られた正常幹線リンク数を判定する（ステップＳ１２）。たとえば、正常幹線リンク数が「０」または「１」であると判定した場合（ステップＳ１２：Ｙｅｓ）、障害状態判定部６は、現時点の状態を「障害発生」と判定し（ステップＳ１３）、ポート閉塞制御部３に対して「障害発生」を通知する。一方で、正常幹線リンク数が「２」以上の場合は（ステップＳ１２：Ｎｏ）、現時点の状態を「正常」と判定し（ステップＳ１４）、ポート閉塞制御部３に対して「正常」を通知する。
【００３１】
図３において、ノード１１の障害状態判定部６では、正常幹線リンク数：「１」という計算結果が得られるので、「障害発生」と判定し（ステップＳ１３）、ポート閉塞制御部３に対して「障害発生」を通知する。
【００３２】
つぎに、ノード１１のポート閉塞制御部３が障害状態判定部６から「障害発生」を受信した場合の動作を説明する。図４−２は、ポート閉塞制御部３による閉塞制御動作を示すフローチャートである。
【００３３】
ノード１１のポート閉塞制御部３は、「障害発生」を受信すると（ステップＳ１５）、正常幹線リンク数が「１」か否かを判定する（ステップＳ１６）。ここでは、正常幹線リンク数が「１」であると判定するので（ステップＳ１６：Ｙｅｓ）、ポート閉塞制御部３は、さらに、「正常幹線リンクがブロッキングポートに接続されている」か否かを判定する（ステップＳ１７）。そして、ここでは、ブロッキングポートであるポート１１１に接続されているので（ステップＳ１７：Ｙｅｓ）、ポート閉塞制御部３は、ポート１１１のブロッキングを解除し（ステップＳ１８）、さらに、グループ８８１に対してアドレスフラッシュ指示を送信する（ステップＳ１９）。
【００３４】
アドレスフラッシュ指示を受信したグループ８８１に属する各ノードは、アドレスフラッシュを実行する。ノード１２では、ポート１２１およびポート１２３で学習したアドレスをフラッシュする。また、ノード１５では、ポート１５２で学習したアドレスをフラッシュする。なお、ノード１１は、アドレスフラッシュ指示を送信する際にポート１１２のアドレスフラッシュを実行してもよいし、各リンク障害を検出した際にアドレスフラッシュを実行してもよい。
【００３５】
なお、ステップＳ１６の処理で、正常幹線リンク数が「０」であると判定した場合（ステップＳ１６：Ｎｏ）、または、ステップＳ１７の処理で、正常幹線リンクがブロッキングポートに接続されていないと判断した場合（ステップＳ１７：Ｎｏ）、ポート閉塞制御部３は、閉塞制御動作を終了する。
【００３６】
以上の処理により、図３の例では、グループ８８１の各ノードにおいて、端末３０１および３０２のアドレスがアドレステーブルからフラッシュされるため、これらの端末宛のパケットはフラッディング対象となり、新たな経路で通信を継続することが可能となる。すなわち、端末３０１と端末３０２間の通信は、ノード１１，ノード１４，ノード１５，ノード１２，ノード１３を経由して継続することが可能となる。
【００３７】
（１−２）ノード１０−ノード１１間およびノード１１−ノード１２間の障害に加えて、さらにノード１４−ノード１５間に障害が発生した場合
つづいて、ノード１０−ノード１１間およびノード１１−ノード１２間に加え、ノード１４−ノード１５間にも障害が発生した場合について説明する。図５は、ノード１０−ノード１１間，ノード１１−ノード１２間，およびノード１４−ノード１５間の幹線リンクに障害が発生している状態を表す図である。以下では、マスタ装置として動作するノード１１と、ノード１１に隣接するグループ８８２のマスタ装置であるノード１４と、ノード１４に隣接するグループ８８３のマスタ装置であるノード１６、の動作を主に説明する。
【００３８】
なお、図５では、図３に示されるように障害が発生した場合と同様の処理で、ノード１１の障害状態判定部６が図４−１のフローチャートにしたがって障害状態判定動作を行い、ノード１１のポート閉塞制御部３が、図４−２のフローチャートにしたがって、ブロッキング解除およびグループ８８１に対するアドレスフラッシュ指示を行う。また、グループ８８１のマスタ装置として動作するノード１１は、自身が送信する管理フレームに対するノード１４からの応答により、ノード１４とノード１５との間で障害が発生したことを認識している。また、ノード１１のポート閉塞制御部３は、リング状態監視部から通知される障害情報を、経路判定部５に通知している。
【００３９】
このような状況で、ノード１１の経路判定部５は、ポート１１１に接続されたリンクのみが正常である状態を検知すると、通知メッセージを作成し、それをポート１１１に向けて送信する。図５において、４０１はノード１１がノード１４に向けて送信する通知メッセージである。
【００４０】
つぎに、上記通知メッセージ４０１を受信したノード１４の動作を説明する。ノード１４のリンク状態監視部２Ｂは、ポート１４２に接続された幹線リンクの障害を検出すると、ポート閉塞制御部３に障害情報を通知する。また、リンク状態監視部２Ａおよびリンク状態監視部２Ｃは、ポート１４１およびポート１４３のリンクが正常であることを、障害発生前にポート閉塞制御部３に通知済みである。また、ノード１４の障害状態判定部６は、上記図４−１の障害状態判定動作を実行し、現在の状態が「正常」であることを通知済みである。したがって、これらの処理により、ノード１４のポート閉塞制御部３は、現在の状態が「正常」であり、正常幹線リンク数が、ブロッキングポート１４１に接続されたリンクを含んで「２」であることを把握している。
【００４１】
図６は、マスタ装置として動作するノードが通知メッセージを受信した場合の動作を説明するためのフローチャートである。ここでは、上述のようにノード１１から送信された通知メッセージ４０１を、グループ８８２のマスタ装置であるノード１４が受信した場合の動作を説明する。
【００４２】
ノード１４のポート閉塞制御部３は、通知メッセージを受信すると（ステップＳ２０）、上記で把握している状況に基づき、正常幹線リンク数がブロッキングポート（ここではポート１４１）に接続されたリンクを含んで「２」であるか否かを判断する（ステップＳ２１）。ここでは、正常幹線リンク数がブロッキングポート（ここではポート１４１）に接続されたリンクを含んで「２」であると判断できるので（ステップＳ２１：Ｙｅｓ）、ポート閉塞制御部３は、ブロッキングポート１４１をブロッキング解除し（ステップＳ１８）、グループ８８２にアドレスフラッシュ指示を通知する（ステップＳ１９）。なお、ステップＳ２１の処理で、上記以外であると判断した場合（ステップＳ２１：Ｎｏ）、ポート閉塞制御部３は、図６の動作を終了する。
【００４３】
その後、アドレスフラッシュ指示を受信したグループ８８２に属する各ノードは、アドレスフラッシュを実行する。ノード１４は、ポート１４２およびポート１４３で学習したアドレスをフラッシュする。また、ノード１５は、ポート１５２および１５３で学習したアドレスをフラッシュする。
【００４４】
以上の処理により、これまでの経路上の各ノードにおいて、端末３０１、３０２および３０３のアドレスがアドレステーブルからフラッシュされるため、これらの端末宛のパケットはフラッディング対象となり、新たな経路で通信を継続することが可能となる。たとえば、端末３０１と端末３０３との間の通信は、ノード１１，ノード１４，ノード１６，ノード１７，ノード１５を経由して継続することが可能となる。
【００４５】
つぎに、通知メッセージを受信したノードがこれを中継する動作を説明する。図７は、マスタ装置として動作するノードが通知メッセージを中継する動作を示すフローチャートである。ここで、各ポートが受信した通知メッセージは、上記ポート閉塞制御部３とともにメッセージ中継部７にも送られる。
【００４６】
たとえば、メッセージ中継部７は、通知メッセージを受信すると（ステップＳ３０）、ポート閉塞制御部３から通知されている障害情報に基づいて正常幹線リンク数を計算し（ステップＳ３１）、得られた正常幹線リンク数を判定する（ステップＳ３２）。
【００４７】
たとえば、正常幹線リンク数が「２」の場合（ステップＳ３２：Ｙｅｓ）、メッセージ中継部７は、通知メッセージを受信したリンク以外の、もう一方の正常幹線リンクに向けて通知メッセージを中継し（ステップＳ３３）、図７の処理を終了する。一方、正常幹線リンク数が「２」以外の場合（ここでは１か３の場合）（ステップＳ３２：Ｎｏ）、メッセージ中継部７は、通知メッセージを中継せずに破棄する等して（ステップＳ３４）、図７に示す処理を終了する。
【００４８】
たとえば、図５には、マスタ装置として動作するノード１４が、上記図７に示す中継動作を実行し、通知メッセージをノード１６に中継する場合の一例が示されている。詳細には、ノード１４のメッセージ中継部７は、ステップＳ３２の判断により、正常幹線リンク数が「２」であると判断するので（ステップＳ３２：Ｙｅｓ）、通知メッセージを受信したリンク以外の、もう一方の正常幹線リンクに向けて通知メッセージを中継する（ステップＳ３３）。
【００４９】
つぎに、上記通知メッセージ４０１を受信したノード１６の動作を説明する。なお、ノード１６のポート閉塞制御部３は、障害状態判定部６による障害状態判定動作により、現在の状態が「正常」であり、正常幹線リンク数が「３」であることを把握している。
【００５０】
上述のようにノード１４から送信された通知メッセージ４０１を、グループ８８３のマスタ装置であるノード１６が受信すると、ノード１６は、図６の処理を開始する。そして、ステップＳ２１の処理において、ノード１６のポート閉塞制御部３は、正常幹線リンク数が「３」であると判断し（ステップＳ２１：Ｎｏ）、図６に示す動作を終了する。なお、上記処理により、ポート１６１はブロッキング状態が維持されるので、グループ８８３のリングでループが生じることはない。
【００５１】
つぎに、ノード１４から通知メッセージ４０１を受信したノード１６の中継動作を図７にしたがって説明する。図５には、ノード１６がポート１６３で受信した通知メッセージ４０１を中継しない場合の動作が示されている。具体的には、ノード１６のメッセージ中継部７は、ステップＳ３２の判断により、正常幹線リンク数が「３」であると判断するので（ステップＳ３２，Ｎｏ）、すなわち、ノード１１からノード１４の間で発生している障害をカバーするための迂回経路が存在する可能性があるので、通知メッセージを破棄して中継処理を行わない（ステップＳ３４）。以上の処理を行った後の状態が、図５に示されている。
【００５２】
（２）スレーブ装置として動作するノードに接続された複数のリンクに障害が発生した場合
（２−１）ノード１２−ノード１５間およびノード１４−ノード１５間に障害が発生した場合
つぎに、スレーブ装置の周囲のリンクに複数の障害が発生した場合について説明する。ここでは、ノード１２−ノード１５間およびノード１４−ノード１５間に障害が発生した場合を一例として、グループ８８２の端局であるノード１５の動作を説明する。スレーブ装置として動作するノード１５は、リングが正常な状態では、グループ８８２のマスタ装置として動作するノード１４が送信する管理フレームに対して、応答管理フレームを送信している。
【００５３】
図８は、ノード１２−ノード１５間およびノード１４−ノード１５間の幹線リンクに障害が発生している状態を表す図である。ここで、ノード１５では、リンク状態監視部２Ａがポート１５３を、リンク状態監視部２Ｂがポート１５１を、リンク状態監視部２Ｃがポート１５２を、それぞれ監視する。
【００５４】
ここでは、ノード１５のリンク状態監視部２Ｂおよびリンク状態監視部２Ｃが、それぞれ、ポート１５１が接続されるリンクおよびポート１５２が接続されるリンクに障害が発生していることを検出すると、ポート閉塞制御部３に障害情報を通知する。また、リンク状態監視部２Ａは、ポート１５３のリンクが正常であることを、障害発生前にポート閉塞制御部３に通知済みである。また、ノード１５の障害状態判定部６は、上記図４−１の障害状態判定動作を実行し、現在の状態が「障害発生」であることを通知済みである。したがって、これらの処理により、ノード１５のポート閉塞制御部３は、現在の状態が「障害発生」であり、正常幹線リンク数が「１」であることを把握している。
【００５５】
このような状況で、ポート閉塞制御部３は、ノード１４より受信した管理フレームに対する応答として、障害応答管理フレームをポート１５３に対して送信する。
【００５６】
グループ８８２のマスタ装置であるノード１４は、障害応答管理フレームを受信すると、ポート１４１のブロッキングを解除するとともに、アドレスフラッシュ指示をグループ８８２に対して送信する。
【００５７】
また、ノード１４は、グループ８８２のマスタ装置であるとともに、グループ８８１のスレーブ装置でもある。また、グループ８８１のスレーブ装置として動作するノード１４のリンク状態監視部は、ノード１４−ノード１５間の障害を検出し、ポート閉塞制御部３へ通知している。
【００５８】
このような状況で、ノード１４のポート閉塞制御部３は、ノード１１より受信した管理フレームに対する応答として、障害応答管理フレームを送信する。これを受けたノード１１のポート閉塞制御部３は、ポート１１１のブロッキングを解除し、グループ８８１に対してアドレスフラッシュを送信する。
【００５９】
上記の処理により、グループ８８１およびグループ８８２の各ノードにおいて、端末３０１，３０２および３０３の各アドレスがアドレステーブルからフラッシュされるため、これらの端末宛のパケットはフラッディング対象となり、新たな経路で通信を継続することが可能となる。たとえば、端末３０１と端末３０３間の通信は、ノード１１，ノード１４，ノード１６，ノード１７，ノード１５を経由して継続することが可能となる。
【００６０】
一方で、ノード１５のポート閉塞制御部３は、各リンク状態監視部から通知された障害情報を、経路判定部５にも通知している。そして、経路判定部５は、ポート１５３に接続されたリンクのみが正常である状態を検知すると、通知メッセージを作成し、それをポート１５３に向けて送信する。４０２はノード１５がノード１７に向けて送信する通知メッセージである。なお、ノード１７のメッセージ中継部７は、図７の処理にしたがって、受信した通知メッセージ４０２を中継することなく破棄する（ステップＳ３４）。以上の処理を行った後の状態が、図８に示されている。
【００６１】
（２−２）ノード１２−ノード１５間，ノード１４−ノード１５間およびノード１６−ノード１７間に障害が発生した場合
つづいて、上記ノード１２−ノード１５間およびノード１４−ノード１５間の障害に加え、さらにノード１６−ノード１７間にも障害が発生した場合について説明する。以下では、グループ８８２の端局であるノード１５と、ノード１５に隣接するノード１７の動作を説明する。図９は、ノード１２−ノード１５間，ノード１４−ノード１５間およびノード１６−ノード１７間の幹線リンクに障害が発生している状態を表す図である。なお、上記図８の場合と同様に、ノード１５のポート閉塞制御部３は、現在の状態が「障害発生」であり、正常幹線リンク数が「１」であることを把握している。
【００６２】
こうした状況で、ノード１５の経路判定部５は、正常幹線リンクが接続されているポート１５３に向けて通知メッセージを送信する。４０３はノード１５が送信する通知メッセージである。なお、図９に示す状況では、図８の状況とは異なり、ノード１５がノード１４からの管理フレームを受け取れないので、障害応答管理フレームを送信することができない。
【００６３】
つぎに、ノード１５から通知メッセージを受信したノード１７の動作を説明する。ノード１７のリンク状態監視部２Ｂは、ポート１７１のリンクを監視しており、障害を検出すると、ノード１７のポート閉塞制御部３に障害情報を通知する。また、リンク状態監視部２Ａおよびリンク状態監視部２Ｃは、ポート１７２およびポート１７３のリンクが正常であることを、障害発生前にポート閉塞制御部３に通知済みである。また、ノード１７の障害状態判定部６は、上記図４−１の障害状態判定動作を実行し、現在の状態が「正常」であることを通知済みである。したがって、これらの処理により、ノード１７のポート閉塞制御部３は、現在の状態が「正常」であり、正常幹線リンク数が「２」であることを把握している。
【００６４】
以下、このような状況で、通知メッセージ４０３を受信した場合のノード１７の動作を図面にしたがって説明する。図１０は、スレーブ装置が通知メッセージを受信した場合の動作を示すフローチャートである。
【００６５】
ノード１７のポート閉塞制御部３は、通知メッセージを受信すると（ステップＳ５０）、その旨を障害状態判定部６へ送る。障害状態判定部６は、まず、自ノードがグループの端局のスレーブ装置であるか否かを判定する（ステップＳ５１）。ここでは、ノード１７がグループ８８３の端局でありかつスレーブ装置であるので（ステップＳ５１：Ｙｅｓ）、つぎに、障害状態判定部６は、ポート閉塞制御部３から通知されている障害情報に基づいて正常幹線リンク数を計算し、得られた正常幹線リンク数を判定する（ステップＳ５２）。ここでは、正常幹線リンク数が「２」であるので（ステップＳ５２：Ｙｅｓ）、つぎに、ポート閉塞制御部３は、さらに、受信した通知メッセージがグループの端点となるポートからの受信か否かを判定する（ステップＳ５３）。そして、障害状態判定部６は、グループの端点であるポート１７３以外からの受信と判断し（ステップＳ５３：Ｎｏ）、現在の状態を「障害発生」であると判定し、その旨をポート閉塞制御部３に通知する。
【００６６】
その後、「障害発生」を通知されたノード１７のポート閉塞制御部３は、ノード１６から受信した管理フレームに対する応答として、障害応答管理フレームを送信する。そして、ノード１７が送信した障害応答管理フレームを受信した、グループ８８３のマスタ装置であるノード１６は、ブロッキング状態としていたポート１６１をブロッキング解除し、グループ８８３に対してアドレスフラッシュ指示を送信する。
【００６７】
アドレスフラッシュ指示を受信したグループ８８３に属する各ノードはアドレスフラッシュを実行する。ここでは、ノード１６では、ポート１６２およびポート１６３で学習したアドレスをフラッシュする。また、ノード１７では、ポート１７２で学習したアドレスをフラッシュする。
【００６８】
なお、上記ステップＳ５１の処理で自ノードが端局のスレーブ装置でないと判定された場合（ステップＳ５１：Ｎｏ）、ステップＳ５２の処理で正常幹線リンク数が「２」以外と判定された場合（ステップＳ５２：Ｎｏ）、または、ステップＳ５３の処理で通知メッセージを端点から受信していると判定された場合（ステップＳ５３：Ｙｅｓ）については、図１０の障害判定動作を終了する。
【００６９】
また、従来どおり、ノード１６は、ノード１６とノード１７の間の障害を検出し、ノード１４より受信した管理フレームに対する応答として障害応答管理フレームを送信する。また、ノード１４は、ノード１４とノード１５の間の障害を検出し、ノード１１より受信した管理フレームに対する応答として障害応答管理フレームを送信する。そして、障害応答管理フレームを受信した各マスタ装置は、ブロッキングポートに対するブロッキング解除と、自グループに対するアドレスフラッシュ指示の送信と、をそれぞれ実行する。
【００７０】
したがって、グループ８８１，グループ８８２およびグループ８８３の各ノードにおいて、端末３０１，３０２および３０３のアドレスがアドレステーブルからフラッシュされるため、これらの端末宛のパケットはフラッディング対象となり、新たな経路で通信を継続することが可能となる。たとえば、端末３０１と端末３０３との間の通信は、ノード１１，ノード１４，ノード１６，ノード１８，ノード１９，ノード１７，ノード１５を経由して継続することが可能となる。
【００７１】
一方、通知メッセージを受信した各ノードのメッセージ中継部７では、別途図７に示す処理がそれぞれ実行され、通知メッセージは、最終的に、ノード１１に到達する。以上の処理を行った後の状態が、図９に示されている。
【００７２】
なお、本実施の形態では、障害応答管理フレームをトリガとして、ブロッキング解除およびアドレスフラッシュ指示を行うこととしたが、これに限らず、たとえば、通知メッセージの到着が障害応答管理フレームの到着よりも早い状況であれば、通知メッセージをトリガとしてブロッキング解除およびアドレスフラッシュ指示を行うこととしてもよい。
【００７３】
以上説明したように、本実施の形態では、ネットワーク接続装置間のリンクの状態を監視し、正常な幹線リンクの数に応じてポート閉塞制御を行うこととした。これにより、ネットワークループの発生を防止しつつ、多重障害が発生した場合であっても迂回経路を確保することができる。
【００７４】
また、本実施の形態では、回線障害により自リング内で迂回経路が確保できない場合に、通知メッセージを送信することで、他のリングにその旨を通知することとした。これにより多リング接続型ネットワークにおいて多重障害が発生した場合であっても、経路変更を行うことが可能となる。
【００７５】
また、本実施の形態では、ネットワーク接続装置間で通知メッセージの中継を行うこととしたので、不要なブロッキング解除を防止し、ネットワークループの発生を防止することができる。
【００７６】
なお、本実施の形態では、マスタ装置として動作するノードがポート閉塞制御を行うこととして説明したが、これに限らず、たとえば、マスタ装置により指定されたスレーブ装置がポート閉塞制御を行うこととしてもよい。
【００７７】
実施の形態２．
上記実施の形態１では、ネットワーク接続装置を４台用いて構成されるリングを連結したネットワークを一例として、本発明の特徴的な処理を説明した。実施の形態２では、６台のノードで構成されたリングを連結したネットワークについても、本発明（実施の形態１の処理）を適用できることを示す。
【００７８】
図１１は、実施の形態２のレイヤ２ネットワークの一例を示す図であり、詳細には、図１のネットワーク接続装置を６台用いて構成されるリングを連結したネットワークの一例を示している。図１１に示されるネットワークは、図２に示される場合と同様に、ネットワーク接続装置１で実現されるノード１０〜１９を備えており、ノード１１には端末３０１、ノード１３には端末３０２、ノード１５には端末３０３が接続されている。
【００７９】
図１１のネットワークは、ノード１１，ノード１２，ノード１４，ノード１５，ノード１６およびノード１７で、グループ８８４を構成している。ノード１４とノード１５の間の幹線リンクは接続していない。
【００８０】
たとえば、図１１のネットワークで障害が発生していない場合、グループ８８０のリングでは、マスタ装置１０がポート１０１をブロッキング状態とし、その他各幹線リンクに接続するポート１１３，１１２，１２１，１２２，１３１，１３２，１０２は中継状態となっている。ノード１１では、端末３０１のアドレスを支線ポートで、端末３０２および端末３０３のアドレスをポート１１２で学習している。ノード１２では、端末３０１のアドレスをポート１２１で、端末３０２のアドレスをポート１２２で、端末３０３のアドレスをポート１２３で学習している。
【００８１】
また、グループ８８４のリングでは、マスタ装置１１がポート１１１をブロッキング状態とし、その他各幹線リンクに接続するポート１４３，１４１，１６３，１６２，１７１，１７２，１５３，１５２，１２３，１２１，１１２は中継状態となっている。ノード１４では、端末３０１，端末３０２および端末３０３のアドレスをポート１４１で学習している。ノード１５では、端末３０１および端末３０２のアドレスをポート１５２で、端末３０３のアドレスを支線ポートで学習している。ノード１６では、端末３０１，端末３０２および端末３０３のアドレスをポート１６２で学習している。ノード１７では、端末３０１，端末３０２および端末３０３のアドレスをポート１７２で学習している。
【００８２】
また、グループ８８３のリングでは、マスタ装置１６がポート１６１をブロッキング状態とし、その他各幹線リンクに接続するポート１８３，１８２，１９１，１９２，１７３は中継状態となっている。ノード１８では、端末３０１，端末３０２および端末３０３のアドレスをポート１８２で学習している。ノード１９では、端末３０１，端末３０２および端末３０３のアドレスをポート１９２で学習している。
【００８３】
このように、上記のネットワークでは、各グループ内のマスタ装置がポート閉塞を行っており、ネットワーク上にループは生じていない。この状態で、たとえば、マスタ装置１１に接続される端末３０１は、ノード１１−ノード１２間の幹線リンクを経由した経路により、端末３０２および端末３０３との通信が可能である。
【００８４】
つぎに、上記のように構成されたネットワークで複数の障害が発生した場合に、各ノードがとる動作について説明する。
【００８５】
図１２は、ノード１２−ノード１５間およびノード１６−ノード１７間の幹線リンクに障害が発生している状態を表す図である。ノード１５のリンク状態監視部２Ｃは、ポート１５２のリンクの障害を検出すると、ポート閉塞制御部３に障害情報を通知する。また、リンク状態監視部２Ａは、ポート１５３のリンクが正常であることを、障害発生前にポート閉塞制御部３に通知済みである。また、ノード１５の障害状態判定部６は、前述した図４−１の障害状態判定動作を実行し、現在の状態が「障害発生」であることを通知済みである。したがって、これらの処理により、ノード１５のポート閉塞制御部３は、現在の状態が「障害発生」であり、正常幹線リンク数が「１」であることを把握している。
【００８６】
この状況で、ノード１５のポート閉塞制御部３は、各リンク状態監視部から通知された障害情報を経路判定部５に通知する。そして、経路判定部５は、正常幹線リンクが接続されているポート１５３に対し、通知メッセージを送信する。図１２において、４０４はノード１５が送信する通知メッセージである。
【００８７】
つぎに、ノード１７の動作を説明する。ノード１７のリンク状態監視部２Ｂは、ポート１７１のリンクを監視しており、障害を検出すると、ノード１７のポート閉塞制御部３に障害情報を通知する。また、リンク状態監視部２Ａおよびリンク状態監視部２Ｃは、ポート１７２およびポート１７３のリンクが正常であることを、障害発生前にポート閉塞制御部３に通知済みである。また、ノード１７の障害状態判定部６は、前述した図４−１の障害状態判定動作を実行し、現在の状態が「正常」であることを通知済みである。したがって、これらの処理により、ポート閉塞制御部３は、現在の状態が「正常」であり、正常幹線リンク数が「２」であることを把握している。
【００８８】
この状況で、ノード１７は、ノード１５から通知メッセージ４０４を受信すると、障害状態判定部６が前述した図１０の処理を開始し、現在の状況が「障害発生」であると判定し（ステップＳ５４）、その旨をポート閉塞制御部３に通知する。
【００８９】
その後、「障害発生」を通知されたポート閉塞制御部３は、図９の処理と同様に、ノード１６から受信した管理フレームに対する応答として、障害応答管理フレームを送信する。ノード１７が送信した障害応答管理フレームを受信したグループ８８３のマスタ装置であるノード１６は、ブロッキング状態としていたポート１６１をブロッキング解除し、グループ８８３に対してアドレスフラッシュ指示を送信する。そして、アドレスフラッシュ指示を受信したグループ８８３に属する各ノードがアドレスフラッシュを実行する。
【００９０】
また、従来どおり、ノード１６は、ノード１６とノード１７の間の障害を検出し、ノード１１からノード１４を経由して受信した管理フレームに対する応答として、障害応答管理フレームを送信する。そして、障害応答管理フレームを受信したノード１１は、ブロッキングポートに対するブロッキング解除と、自グループに対するアドレスフラッシュ指示の送信と、をそれぞれ実行する。
【００９１】
したがって、グループ８８４およびグループ８８３の各ノードにおいて、端末３０１，３０２および３０３のアドレスがアドレステーブルからフラッシュされるため、これらの端末宛のパケットはフラッディング対象となり、新たな経路で通信を継続することが可能となる。たとえば、端末３０１と端末３０３との間の通信は、ノード１１，ノード１４，ノード１６，ノード１８，ノード１９，ノード１７，ノード１５を経由して継続することが可能となる。
【００９２】
一方、通知メッセージを受信した各ノードのメッセージ中継部７では、別途図７に示す処理がそれぞれ実行され、通知メッセージは、最終的に、ノード１１に到達する。以上の処理を行った後の状態が、図１２に示されている。
【００９３】
以上説明したように、本実施の形態によれば、１つのリングを５台以上のノードで構成した場合であっても、実施の形態１と同様の処理を適用することが可能である。これにより、実施の形態１と同様の効果を得ることができる。
【産業上の利用可能性】
【００９４】
以上のように、本発明にかかるネットワーク接続装置は、リング型のレイヤ２ネットワークの構築に有用であり、特に、多重障害に対する耐久性を高めたい場合に適している。
【図面の簡単な説明】
【００９５】
【図１】本発明にかかるネットワーク接続装置の構成例を示すブロック図である。
【図２】図１のネットワーク接続装置を４台用いて構成されるリングを複数連結したネットワークの一例を示す図である。
【図３】複数の幹線リンクに障害が発生している状態の一例を示す図である。
【図４−１】マスタ装置による障害状態判定動作を説明するためのフローチャートである。
【図４−２】ポート閉塞制御部による閉塞制御動作を示すフローチャートである。
【図５】複数の幹線リンクに障害が発生している状態の一例を示す図である。
【図６】マスタ装置が通知メッセージを受信した場合の動作を説明するためのフローチャートである。
【図７】マスタ装置が通知メッセージを中継する動作を示すフローチャートである。
【図８】複数の幹線リンクに障害が発生している状態の一例を示す図である。
【図９】複数の幹線リンクに障害が発生している状態の一例を示す図である。
【図１０】スレーブ装置が通知メッセージを受信した場合の動作を示すフローチャートである。
【図１１】図１のネットワーク接続装置を６台用いて構成されるリングを連結したネットワークの例を示す図である。
【図１２】複数の幹線リンクに障害が発生している状態の一例を示す図である。
【符号の説明】
【００９６】
１  ネットワーク接続装置
２Ａ，２Ｂ，２Ｃ  リンク状態監視部
３  ポート閉塞制御部
４  スイッチ
５  経路判定部
６  障害状態判定部
７  メッセージ中継部
１０，１１，１２，１３，１４，１５，１６，１７，１８，１９  ノード
１０１，１０２，１１１，１１２，１１３，１２１，１２２，１２３，１３１，        １３２，１４１，１４２，１４３，１５１，１５２，１５３，１６１，１６２，        １６３，１７１，１７２，１７３，１８２，１８３，１９１，１９２  ポート
３０１，３０２，３０３  端末
４０１，４０２，４０３，４０４  通知メッセージ
８８０，８８１，８８２，８８３，８８４  グループ
【図１】
0005004758.tif 000002
【図２】
0005004758.tif 000003
【図３】
0005004758.tif 000004
【図４−１】
0005004758.tif 000005
【図４−２】
0005004758.tif 000006
【図５】
0005004758.tif 000007
【図６】
0005004758.tif 000008
【図７】
0005004758.tif 000009
【図８】
0005004758.tif 000010
【図９】
0005004758.tif 000011
【図１０】
0005004758.tif 000012
【図１１】
0005004758.tif 000013
【図１２】
0005004758.tif 000014