(57)【特許請求の範囲】
【請求項１】
複数のデータ伝送路の一のデータ伝送路から入力された伝送フレームを、その伝送フレームに含まれるアドレス情報に従って、前記複数のデータ伝送路の他のデータ伝送路へ出力するノード装置であって、
前記複数のデータ伝送路のそれぞれのデータ伝送路ごとに、そのデータ伝送路に接続されて設けられ、それぞれが自己に接続されたデータ伝送路から入力される伝送フレームを入力するとともに、前記自己に接続されたデータ伝送路と異なるデータ伝送路から入力される伝送フレームを、前記自己に接続されたデータ伝送路へ出力する伝送フレーム入出力部と、
前記伝送フレーム入出力部のそれぞれに接続され、前記伝送フレーム入出力部が前記データ伝送路から入力する伝送フレームの数をカウントする入力フレームカウンタ、および、前記伝送フレーム入出力部が前記データ伝送路へ出力する伝送フレームの数をカウントする出力フレームカウンタを含んで構成された伝送フレーム数カウント部と、
前記伝送フレーム数カウント部のそれぞれにおいて、所定時間間隔ごとに前記入力フレームカウンタおよび前記出力フレームカウンタによってそれぞれカウントされた入力フレーム数および出力フレーム数を収集し、前記収集した前記入力フレーム数の総和と前記出力フレーム数の総和とを比較し、前記出力フレーム数の総和から前記入力フレームの総和を差し引いた値が、前記入力フレームカウンタと前記出力カウンタとの間のカウント数の許容誤差よりも大きくなったとき、前記ノード装置に障害があると判定する障害検知部と、
を備えたこと
を特徴とするノード装置。
【請求項２】
前記伝送フレーム数カウント部において、前記入力フレームカウンタおよび前記出力フレームカウンタのそれぞれは、前記伝送フレーム入出力部により入力または出力される伝送フレームのうち、その伝送フレームの所定のフィールドがあらかじめ定められた所定の値と一致する伝送フレームの数をカウントすること
を特徴とする請求項１に記載のノード装置。
【請求項３】
複数のデータ伝送路の一のデータ伝送路から入力された伝送フレームを、その伝送フレームに含まれるアドレス情報に従って、前記複数のデータ伝送路の他のデータ伝送路へ出力するノード装置における障害検知方法であって、
前記ノード装置は、
前記複数のデータ伝送路のそれぞれのデータ伝送路ごとに、そのデータ伝送路に接続されて設けられ、それぞれが自己に接続されたデータ伝送路から入力される伝送フレームを入力するとともに、前記自己に接続されたデータ伝送路と異なるデータ伝送路から入力される伝送フレームを、前記自己に接続されたデータ伝送路へ出力する伝送フレーム入出力部と、
前記伝送フレーム入出力部のそれぞれに接続され、前記伝送フレーム入出力部が前記データ伝送路から入力する伝送フレームの数をカウントする入力フレームカウンタ、および、前記伝送フレーム入出力部が前記データ伝送路へ出力する伝送フレームの数をカウントする出力フレームカウンタを含んで構成された伝送フレーム数カウント部と、
前記ノード装置の障害を検知する障害検知部と、
を備え、
前記障害検知部は、
前記伝送フレーム数カウント部のそれぞれにおいて、所定時間間隔ごとに前記入力フレームカウンタおよび前記出力フレームカウンタによってそれぞれカウントされる入力フレーム数および出力フレーム数を収集し、
前記収集した前記入力フレーム数の総和と前記出力フレーム数の総和とを比較し、前記出力フレーム数の総和から前記入力フレームの総和を差し引いた値が、前記入力フレームカウンタと前記出力カウンタとの間のカウント数の許容誤差よりも大きくなったとき、前記ノード装置に障害があると判定すること
を特徴とする障害検知方法。
【請求項４】
前記伝送フレーム数カウント部において、前記入力フレームカウンタおよび前記出力フレームカウンタのそれぞれは、前記伝送フレーム入出力部により入力または出力される伝送フレームのうち、その伝送フレームの所定のフィールドがあらかじめ定められた所定の値と一致する伝送フレームの数をカウントすること
を特徴とする請求項３に記載の障害検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信ネットワークシステムで用いられるノード装置およびその障害検知方法に関する。
【背景技術】
【０００２】
ＬＡＮ（Local Area Network）などのデータ通信ネットワークシステムにおいて、複数のコンピュータを接続するデータ伝送路の分岐点などに設けられ、データが伝送されるに際して、そのデータの伝送経路を制御する装置として、例えば、ルータ、スイッチングハブなどがある。このような装置は、しばしば、ノード装置と総称される。
【０００３】
通常、このようなノード装置には複数の伝送路が接続される。そして、そのノード装置は、ある伝送路から入力された伝送フレームを、その伝送フレームに含まれる送信先アドレスやフレームの種別を示すデータなどに応じて、適宜、他の１つ以上の伝送路へ出力する。すなわち、ノード装置は、ある伝送路から入力された伝送フレームを他の伝送路へ中継する機能を有する。なお、伝送フレームとは、伝送されるデータの構成単位をいい、以下、単に、「フレーム」と略す。
【０００４】
このようなノード装置においてしばしば発生する障害は、そのノード装置で伝送中のフレームが消失する障害である。この種の障害の多くは、伝送路やノード装置がデータを伝送したり中継したりする機能を喪失することに起因する。従って、この種の障害については、従来から様々な対策が講じられている。
【０００５】
ちなみに、データ通信ネットワークシステムをリング状やメッシュ状に構成すること自体が、ノード装置またはノード装置間をつなぐ伝送路の機能喪失に対する解決策となっている。すなわち、リング状やメッシュ状のネットワークの場合には、ある１つのノード装置またはノード装置間をつなぐ１箇所の伝送路が、その中継または伝送の機能を喪失したとしても、その障害が生じたノード装置または伝送路部分を避けることによって、データ伝送を継続することができる。
【０００６】
一方、ノード装置の障害の中には、ノード装置が勝手にフレームを生成して伝送路へ出力する障害がある。すなわち、フレームの湧き出し障害である。フレームの湧き出し障害は、その湧き出し量が少ない場合は、あまり問題とならないが、湧き出し量が大量になった場合は、大きな問題となる。すなわち、その大量の湧き出しフレームによって伝送路が占有され、本来のデータ伝送ができなくなってしまう。なお、このような障害は、しばしば、ブロードキャストストームと呼ばれる。
【０００７】
ブロードキャストストームは、例えば、特許文献１に開示されているように、伝送路の帯域を制限することにより防止することができる。ちなみに、特許文献１に開示されたノード装置においては、その伝送路への出力ポートに帯域制限装置を設け、ノード装置で湧き出す大量のフレームが伝送路に流れ出すのを防止している。
【特許文献１】特開２００６−２４５９３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
帯域制限は、ブロードキャストストームを防止する効果的な方法ではあるが、逆に、ノード装置にブロードキャストストームを発生させる障害がない場合には、その帯域制限によって、ノード装置が本来有する伝送性能が制限されることになる。
【０００９】
そこで、本発明の目的は、正常動作時における伝送性能を制限することなく、ブロードキャストストームを防止することができるノード装置および障害検知方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明のノード装置は、複数のデータ伝送路の一のデータ伝送路から入力された伝送フレームを、その伝送フレームに含まれるアドレス情報に従って、前記複数の伝送路の他の伝送路へ出力するノード装置であって、（１）前記複数のデータ伝送路のそれぞれのデータ伝送路ごとに、そのデータ伝送路に接続されて設けられ、それぞれが自己に接続されたデータ伝送路から入力される伝送フレームを入力するとともに、前記自己に接続されたデータ伝送路と異なる伝送路から入力された伝送フレームを、前記自己に接続されたデータ伝送路へ出力する伝送フレーム入出力部と、（２）前記伝送フレーム入出力部のそれぞれに接続され、前記伝送フレーム入出力部が前記データ伝送路から入力する伝送フレームの数をカウントする入力フレームカウンタ、および、前記伝送フレーム入出力部が前記データ伝送路へ出力する伝送フレームの数をカウントする出力フレームカウンタを含んで構成された伝送フレーム数カウント部と、（３）前記伝送フレーム数カウント部のそれぞれにおいて、所定時間間隔ごとに前記入力フレームカウンタおよび前記出力フレームカウンタによってそれぞれカウントされた入力フレーム数および出力フレーム数を収集し、前記収集した前記入力フレーム数の総和と前記出力フレーム数の総和とを比較し、前記出力フレーム数の総和から前記入力フレームの総和を差し引いた値が、前記入力フレームカウンタと前記出力カウンタとの間のカウント数の許容誤差よりも大きくなったとき、前記ノード装置に障害があると判定する障害検知部と、を備えたことを特徴とする。
【００１１】
すなわち、本発明のノード装置においては、所定時間内に当該ノード装置へ入力される伝送フレームの総数と、当該ノード装置から出力される伝送フレームの総数とを比較し、誤差を考慮しても、出力される伝送フレームの総数が入力される伝送フレーム数よりも大きいとき、伝送フレームの湧き出し障害が発生しているものと判定し、その障害を検知している。
【００１２】
従って、本発明のノード装置は、伝送フレームの湧き出し障害が発生したとき、速やかにそれを検知することができ、その後、ノード装置の機能停止などを実施することによって、ブロードキャストストームを防止することができる。
【発明の効果】
【００１３】
本発明によれば、データ通信ネットワークシステムにおける伝送性能を制限することなく、ブロードキャストストームを防止することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１５】
図１は、本発明の実施形態に係るデータ通信ネットワークシステムの構成の例を示した図である。図１において、データ通信ネットワークシステム１は、リング型の双方向の幹線伝送路４ａ，４ｂに、複数のノード装置２（２ａ〜２ｄ）が接続されて構成され、さらに、そのそれぞれのノード装置２には、端末として１つ以上のパソコンなどの計算機３が接続されている。
【００１６】
ここで、ノード装置２（２ａ〜２ｄ）は、説明を簡単にするために、いわゆるＬＡＮスイッチ（Ｌ２スイッチ）と呼ばれるものであるとするが、Ｌ３スイッチやルータであっても構わない。また、図１においては、幹線伝送路４ａ，４ｂに４つのノード装置２が接続されているが、そのノード装置２の数は、「４」に限定されるものではない。
【００１７】
データ通信ネットワークシステム１において、伝送されるフレームは、幹線伝送路４ａではＡ方向に、また、幹線伝送路ではＢ方向に伝送される。このとき、フレームがリング状の幹線伝送路４ａ，４ｂを複数回にわたって伝送されるのを防止するために、そのリングの、例えば、ノード装置２ａとノード装置２ｄとの間にブロッキングＢＬが設けられている。
【００１８】
ブロッキングＢＬが設けられた部分の幹線伝送路４ａ，４ｂは、物理的には接続された伝送路であるが、通常のフレームの通過をブロッキングする。なお、実際には、幹線伝送路４ａ，４ｂがフレームを通過させないのではなく、ブロッキングＢＬに隣接するノード装置２ａ，２ｄが受信したフレームをブロッキングＢＬが設けられた幹線伝送路４ａ，４ｂへ送出しないことにより、ブロッキングが実現される。
【００１９】
図２は、データ通信ネットワークシステム１で用いられるフレームフォーマットの例を示した図である。このフレームフォーマットは、一般に、イーサネット（登録商標）におけるＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）通信やＵＤＰ（User Datagram Protocol）／ＩＰ通信で用いられるものである。
【００２０】
図２のフレームフォーマットにおいて、宛先アドレス、送信元アドレス、フレーム長／タイプ、データ部、および、ＣＲＣ（Cyclic Redundancy Check Code）は、イーサネット（登録商標）フレームを構成する。ここで、宛先アドレスおよび送信元アドレスは、ノード装置２または計算機３にそれぞれ割り当てられた物理アドレスであり、いわゆる、ＭＡＣ（Media Access Control）アドレスで表される。
【００２１】
また、図２のフレームフォーマットにおいて、データ部の前にはＩＰヘッダおよびＴＣＰ／ＵＤＰヘッダが付加されており、ＴＣＰ／ＩＰ通信またはＵＤＰ／ＩＰ通信は、そのヘッダに基づき実行される。
【００２２】
さらに、本実施形態においては、いわゆるＶＬＡＮ（Virtual Local Area Network）がサポートされるものとして、図２のフレームフォーマットにおいて、送信元アドレスの後に、ＩＥＥＥ８０２．１Ｑの規格に準拠した４Byteの「タグ」フィールドが付加することができるものとする。なお、本実施形態では、このタグフィールドは、ＶＬＡＮを識別するのに利用されるほか、フレームの種別を識別するのにも利用されるものとする。
【００２３】
なお、フレームフォーマットは、図２に示したフレームフォーマットに限定されるものではなく、他のフレームフォーマットであっても構わない。
【００２４】
図３は、本実施形態に係るノード装置２の内部構成の例を示した図である。図３に示すように、ノード装置２は、複数のポート制御部２１、ポート間接続制御部２２、障害検知制御部２３を含んで構成される。図３の例では、ノード装置２には６つのポート制御部２１が設けられ、そのうち２つのポート制御部２１は、幹線伝送路４に接続され、また、４つのポート制御部２１は、それぞれ、支線ａ〜ｄの伝送路に接続されている。
【００２５】
このとき、それぞれのポート制御部２１と幹線伝送路４、支線ａ〜ｄの伝送路とは、ポート入力端子２４およびポート出力端子２５を介して接続されている。また、支線ａ〜ｄの伝送路の先には、図示しない計算機３（図１参照）が接続されている。
【００２６】
図３において、それぞれのポート制御部２１は、ポート入力端子２４側に、入力フレームバッファ２１１、アドレス検出部２１２、タグ判定部２１３、入力フレームカウンタ２１４などを備え、ポート出力端子２５側に、出力フレームバッファ２１５、アドレス付加部２１６、タグ判定部２１７、出力フレームカウンタ２１８などを備える。
【００２７】
ここで、入力フレームバッファ２１１は、ポート入力端子２４から入力されるフレームを一時的に記憶するメモリである。また、アドレス検出部２１２は、その入力されたフレームから宛先アドレスを検出し、タグ判定部２１３は、タグフィールドの値を検出し、ＶＬＡＮグループやフレームの種別などを判定する。また、入力フレームカウンタ２１４は、後記するカウントモードやタグ判定部２１３の出力に応じて、適宜、ポート入力端子２４から入力されるフレームの数をカウントする。
【００２８】
同様に、出力フレームバッファ２１５は、ポート出力端子２５へ出力するフレームを一時的に記憶しておくメモリである。また、アドレス付加部２１６は、その出力するフレームに宛先アドレスおよび送信元アドレスを、適宜、付加する。また、タグ判定部２１７は、出力するフレームのタグフィールドの値を検出し、ＶＬＡＮグループやフレームの種別などを判定する。また、出力フレームカウンタ２１８は、後記するカウントモードやタグ判定部２１７の出力に応じて、ポート出力端子２５から出力するフレームの数をカウントする。
【００２９】
また、ポート間接続制御部２２は、ルーティングテーブル２２１を含んで構成され、そのルーティングテーブル２２１には、例えば、それぞれのポート制御部２１に対応させてそのポート制御部２１が接続される伝送路の先に接続される他のノード装置２または計算機３のＭＡＣアドレスなどが記憶されている。なお、このとき、ルーティングテーブル２２１は、宛先アドレスだけでなく、ＶＬＡＮのグループなどを考慮したものであっても構わない。
【００３０】
そこで、あるポート入力端子２４から入力されたフレームがポート制御部２１の入力フレームバッファ２１１に一時記憶されると、ポート間接続制御部２２は、そのフレームについてアドレス検出部２１２で検出された宛先アドレスに基づき、ルーティングテーブル２２１を参照して転送先のポート制御部２１を決定する。そして、入力フレームバッファ２１１に一時記憶されているフレームを読み出し、その読み出したフレームを、先に決定した転送先のポート制御部２１の出力フレームバッファ２１５に転送する。そして、出力フレームバッファ２１５に転送されたフレームは、順次、そのポート制御部２１のポート出力端子２５から伝送路へ出力される。
【００３１】
以上のように、ノード装置２においては、あるポート制御部２１のポート入力端子２４から入力されたフレームは、通常、他のポート制御部２１のポート出力端子２５から出力される。従って、ノード装置２において、ある時間内にすべてのポート入力端子２４から入力されるフレームの総数と、それと同じ時間内にすべてのポート出力端子２５から出力されるフレームの総数とは、原理的には同じである。
【００３２】
本実施形態では、各ポート制御部２１は、入力フレームカウンタ２１４と出力フレームカウンタ２１８とを備えており、各ポート制御部へ入力されるフレーム数と出力されるフレーム数とをカウントすることができる。そこで、障害検知制御部２３は、その入力フレームカウンタ２１４と出力フレームカウンタ２１８とにより所定の時間内にカウントされるカウント値を収集することによって、ノード装置２で生じるフレームの湧き出し障害を検知する。すなわち、障害検知制御部２３は、所定の時間内にノード装置２に入力されるフレームの総数よりも出力されるフレームの総数が大きくなった場合には、何らかのフレームの湧き出し障害が生じたものと判断する。
【００３３】
そこで、障害検知制御部２３は、その機能を実現するために、カウントモード指定部２３１と、カウント動作指示部２３２と、カウント値収集部２３３と、障害判定部２３４とを備える。
【００３４】
障害検知制御部２３において、カウントモード指定部２３１は、入力フレームカウンタ２１４および出力フレームカウンタ２１８におけるカウンタの動作モードを指定する。ここで、標準のカウントモードは、入力される、または、出力されるフレームを無条件にカウントするモードである。そのほかに、詳細は後記するが、例えば、タグフィールドの値がある値と一致したとき、あるいは、ある値の範囲に含まれるときにカウントしたり、逆に、タグフィールドの値がある値と一致しなかったとき、または、ある値の範囲に含まれなかったときにカウントしたりするカウントモードを想定している。
【００３５】
カウント動作指示部２３２は、入力フレームカウンタ２１４および出力フレームカウンタ２１８に対し、カウント動作の開始および停止を指示する信号を生成する。また、カウント値収集部２３３は、各ポート制御部２１の入力フレームカウンタ２１４および出力フレームカウンタ２１８からそのカウント値を収集する。
【００３６】
障害判定部２３４は、カウントモード指定部２３１により指定されたカウントモードに応じて、カウント値収集部２３３により収集された入力フレームカウンタ２１４および出力フレームカウンタ２１８のカウント値を、適宜、集計し、その集計の結果に基づき、障害発生の有無を判定する。その判定の方法については、カウントモードの詳細と併せて後記する。
【００３７】
なお、以上のような障害検知制御部２３は、ＣＰＵ（Central Processing Unit）とメモリとを備えたマイクロプロセッサ（図示せず）などによって実現することができる。その場合、障害検知制御部２３を構成するカウントモード指定部２３１、カウント動作指示部２３２、カウント値収集部２３３、障害判定部２３４などの機能は、前記のＣＰＵがメモリに格納された所定のプログラムを実行することによって実現される。
【００３８】
続いて、図４を用いて障害検知制御部２３の動作について詳しく説明する。図４は、障害検知制御部２３における障害検知の処理フローの例を示した図である。
【００３９】
図４に示すように、障害検知制御部２３は、まず、カウントモード指定部２３１の動作として、カウントモードを設定し（ステップＳ０１）、その設定したカウントモードの値などを、ポート制御部２１のタグ判定部２１３，２１７に出力する。タグ判定部２１３，２１７は、カウントモードの値およびフレームに含まれるタグフィールドの値に応じて、カウンタ、つまり、入力フレームカウンタ２１４および出力フレームカウンタ２１８の動作モードを決定する。
【００４０】
なお、カウントモードおよびカウンタの動作制御の詳細については、後記する。また、本明細書において、以下、単に「カウンタ」と記載したときには、その「カウンタ」は、入力フレームカウンタ２１４および出力フレームカウンタ２１８の両方または一方を指すものとする。
【００４１】
次に、障害検知制御部２３は、カウント動作指示部２３２の動作として、各ポート制御部２１のカウンタに対しカウント動作開始を指示する（ステップＳ０２）。そして、障害検知制御部２３は、所定の時間（例えば、Ｔ１＝０．２秒）が経過するのを待ち（ステップＳ０３でＮｏ）、その所定の時間（Ｔ１）が経過すると（ステップＳ０３でＹｅｓ）、カウンタに対しカウント動作停止を指示する（ステップＳ０４）。
【００４２】
次に、障害検知制御部２３は、カウント値収集部２３３の動作として、各ポート制御部２１からカウンタのカウント値を収集する（ステップＳ０５）。そして、障害検知制御部２３は、障害判定部２３４の動作として、最初に設定したカウントモードに応じて、収集した入力フレームカウンタ２１４および出力フレームカウンタ２１８のカウント値を、適宜、集計し、その集計結果に基づき、障害判定を行う（ステップＳ０６）。障害判定の詳細については後記する。
【００４３】
次に、障害検知制御部２３は、ステップＳ０６の障害判定において、障害があると判定したときには（ステップＳ０７でＹｅｓ）、各ポート制御部２１に対し、ノード装置２の機能停止を指示する（ステップＳ０８）。また、障害がないと判定したときには（ステップＳ０７でＹｅｓ）、ステップＳ０８の実行をスキップする。
【００４４】
障害検知制御部２３は、以上に説明した処理（ステップＳ０１〜ステップＳ０８）を、所定の時間（例えば、Ｔ２＝０．２５秒）ごとに繰り返し実行する。そうした場合には、障害検知制御部２３は、例えば、１秒間に４回の障害検知を行うことができる。
【００４５】
なお、図４に示した処理フローの例では、ステップＳ０７で障害と判定したとき、すぐさま、ノード装置２の機能停止を指示している。その場合には、ノード装置２の間欠的な障害や後記するカウント誤差などのために、障害判定を誤判定する可能性がある。そこで、その誤判定を避けるために、１回の障害判定（ステップＳ０６およびステップＳ０７）だけで障害の有無を判定するのではなく、ステップＳ０１〜ステップＳ０７を繰り返し実行し、その中で、複数回、例えば、５回連続して障害があると判定されたときに、初めて、ノード装置２の機能停止を指示するようにしてもよい。
【００４６】
また、以上の説明において、ノード装置２の機能停止とは、ノード装置２が伝送路からフレームを入力する機能および伝送路へフレームを出力する機能を喪失することをいい、具体的には、例えば、ノード装置２が自己への電源供給ラインを遮断することによって実現することができる。
【００４７】
以上、障害検知制御部２３が図４に示した障害検知の処理を実行することによって、フレームの湧き出しに係る障害を検知することができ、その結果、いわゆるブロードキャストストームを防止することができる。
【００４８】
続いて、ノード装置２におけるフレームの湧き出し障害を検知する手段について詳しく説明する。図５は、図４のフローチャートに従って障害検知制御部２３から出力されるカウンタ動作指示信号と、カウンタのカウント動作との関係をタイミングチャートとして例示した図である。
【００４９】
ここで、カウンタ動作指示信号は、障害検知制御部２３から出力されるカウンタ動作指示信号の出力タイミングを示している。また、カウンタイネーブル信号は、カウンタのカウント動作を機能させるための信号を示したもの、カウント値は、カウンタの値を模式的に示したものである。
【００５０】
図５において、障害検知制御部２３からカウント開始信号が出力されると（図４ステップＳ０２に対応）、カウンタイネーブル信号がアクティブになり、カウンタのカウント動作が開始される。そして、所定の時間（Ｔ１）が経過すると、カウント停止信号が出力され（ステップＳ０４）、カウンタイネーブル信号がインアクティブになり、カウンタのカウント動作が停止する。そして、その時点でのカウンタのカウント値Ｃ１がカウンタに保存される。
【００５１】
次に、障害検知制御部２３は、カウント値収集信号を出力し（ステップＳ０５）、カウンタに保存されているカウント値を収集し、その収集したカウンタのカウント値に基づき、障害判定を行う。
【００５２】
なお、図４の処理は、所定の時間（Ｔ２）の周期で繰り返し実行されるので、図５においては、カウント開始信号、カウント停止信号およびカウント値収集信号が、障害検知制御部２３からその所定の時間（Ｔ２）の周期で繰り返し出力される。また、図５では、障害検知制御部２３は、カウント値収集信号出力後、カウント開始信号出力時までに、カウンタリセット信号を出力するとしているが、カウンタリセット信号は、カウンタ開始信号によって代用してもよい。その場合には、カウンタは、カウンタ開始時にリセット（ゼロクリア）される。
【００５３】
図６は、図５に示したカウンタのカウント動作を実現するためのカウンタ周辺の制御回路の例を示した図である。図６において、カウンタ６１は、入力フレームカウンタ２１４または出力フレームカウンタ２１８を表している。また、タグ判定部６３は、ポート制御部２１のタグ判定部２１３，２１７を表している。
【００５４】
ここで、カウンタ６１は、カウンタ６１のカウント値をカウントアップするためのカウント信号Ｃ、カウント信号を有効にするためのイネーブル信号Ｅ、カウンタ６１のカウント値をゼロクリアするリセット信号Ｒなどの入力端子を有している。また、カウンタ６１は、そのカウンタ値を出力するためのデータ端子Ｄ１〜Ｄｎを有している。
【００５５】
そして、カウンタ６１のカウント信号Ｃの入力端子には、フレーム入力／出力信号が入力される。ここで、フレーム入力／出力信号は、ポート入力端子２４から入力されたフレームが入力フレームバッファ２１１に格納されたときに生成されるフレーム入力信号、または、出力フレームバッファ２１５から読み出されたフレームがポート出力端子２５から出力されたときに生成されるフレーム出力信号を表している。
【００５６】
また、カウンタ６１のイネーブル信号Ｅの入力端子には、タグ判定部６３の出力信号とカウンタ制御ＦＦ（Flip Flop）６２の出力信号との論理積（ＡＮＤ）をとる論理積回路６４の出力信号が入力される。また、カウンタ６１のリセット信号Ｒの入力端子には、カウント動作指示部２３２から出力されるカウンタリセット信号が入力される。
【００５７】
また、カウンタ６１のデータ端子Ｄ１〜Ｄｎは、カウント値収集部２３３に接続されたカウント値収集バス６５に接続され、カウント値収集部２３３からの指示により、カウンタ６１のカウンタ値をカウント値収集バス６５に出力する。なお、ここでは、カウンタ６１は、ｎビット（例えば、１６ビット）で構成され、カウント値収集バス６５もｎビット（ｎ本）並列構成のバスであるとする。
【００５８】
一方、カウンタ制御ＦＦ６２のセット信号Ｓの入力端子には、カウント動作指示部２３２から出力されるカウント開始信号が入力され、リセット信号Ｒの入力端子には、カウント停止信号が入力される。従って、カウンタ制御ＦＦ６２の出力信号は、図５におけるカウンタイネーブル信号に相当する。ただし、その場合、図５の例では、タグ判定部６３からの出力信号は、常に「１」を仮定している。
【００５９】
続いて、タグ判定部６３の具体的な構成および機能について詳細に説明をする。タグ判定部６３は、特に図示はしないが、例えば、次の［１］〜［３］に示す３つのブロックによって構成されているとする。
【００６０】
［１］レジスタＲ（ＴＧ），Ｒ（Ａ１），Ｒ（Ａ２）
ここで、レジスタＲ（ＴＧ）は、入力フレームまたは出力フレームにタグフィールドがあったとき、そのタグフィールドを検出して、その値ＴＧを記憶する。また、レジスタＲ（Ａ１），Ｒ（Ａ２）は、カウントモード指定部２３１がカウントモードＭを設定するとき、そのカウントモードＭに応じて、適宜、設定する２つの引数Ａ１，Ａ２を記憶する。このとき、Ａ１≦Ａ２であるとする。
【００６１】
［２］レジスタＲ（ＴＧ）に記憶された値ＴＧと、レジスタＲ（Ａ１），Ｒ（Ａ２）に記憶された値Ａ１，Ａ２との大小関係を判定し、次の出力値Ｆを出力する比較回路ＣＰＭ
（１）Ａ１≦ＴＧ≦Ａ２であるとき、Ｆ＝１
（２）Ａ１≦ＴＧ≦Ａ２でないとき、Ｆ＝０
【００６２】
［３］比較回路ＣＰＭの出力値Ｆと、カウントモード指定部２３１によって設定されるカウントモードの値Ｍとに基づき、次のような判定値Ｇを出力する判定回路ＤＥＴ
（１）Ｍ＝０の場合、Ｇ＝１
（２）Ｍ＝１の場合、Ｇ＝Ｆ
（３）Ｍ＝２の場合、
タグ判定部６３が入力側のタグ判定部２１３であるとき、Ｇ＝０、
タグ判定部６３が出力側のタグ判定部２１７であるとき、Ｇ＝ｉｎｖ（Ｆ）
ここで、関数ｉｎｖ（Ｆ）は、Ｆ＝１のとき、ｉｎｖ（Ｆ）＝０、
Ｆ＝０のとき、ｉｎｖ（Ｆ）＝１
【００６３】
続いて、カウントモード（Ｍ＝０，１，２）のそれぞれが設定されたとき、以上に説明したタグ判定部６３の動作に応じて、カウンタ６１がどのように動作するかについて説明する。
【００６４】
（１）カウントモードが０（Ｍ＝０）である場合には、Ｇ＝１であるので、タグ判定部６３からは、常に「１」が出力される。従って、カウンタ６１は、カウンタ制御ＦＦ６２が「１」である場合には、タグフィールドの有無またはタグフィールドの値ＴＧの如何に拘らず、ポート入力端子２４から入力されるフレームの数、または、ポート出力端子２５から出力されるフレームの数をカウントする。
【００６５】
（２）カウントモードが１（Ｍ＝１）である場合には、Ｇ＝Ｆであるので、タグ判定部６３は、比較回路ＣＰＭの出力をそのまま出力する。従って、カウンタ６１は、カウンタ制御ＦＦ６２が「１」である場合には、ポート入力端子２４から入力されるフレームまたはポート出力端子２５から出力されるフレームについて、そのフレームにタグフィールドが含まれ、かつ、そのタグフィールドの値ＴＧが特定の範囲（Ａ１≦ＴＧ≦Ａ２）に含まれているとき、そのフレームの数をカウントする。
【００６６】
（３）カウントモードが２（Ｍ＝２）である場合には、入力側のタグ判定部２１３は、常に、Ｇ＝０を出力するので、入力フレームカウンタ２１４は、一切カウント動作をすることができない。一方、出力側のタグ判定部２１７は、Ｇ＝ｉｎｖ（Ｆ）を出力するので、出力フレームカウンタ２１８は、カウンタ制御ＦＦ６２が「１」である場合には、ポート出力端子２５から出力されるフレームについて、そのフレームにタグフィールドが含まれ、かつ、そのタグフィールドの値ＴＧが特定の範囲（Ａ１≦ＴＧ≦Ａ２）に含まれていなかったとき、そのフレームの数をカウントする。
【００６７】
続いて、カウントモード（Ｍ＝０，１，２）のそれぞれに応じて、障害判定部２３４がどのようにして、障害を判定するかについて説明する。これは、図４のステップＳ０４における処理の詳細に対応する。
【００６８】
（１）カウントモードが０（Ｍ＝０）である場合
この場合には、障害判定部２３４は、カウント値収集部２３３によって収集された各ポート制御部２１の入力フレームカウンタ２１４のカウント値ＣＩｉ（ｉ＝１，…，ｍ）と、出力フレームカウンタ２１８のカウント値ＣＯｉ（ｉ＝１，…，ｍ）との基づき、次の式（１）の真偽を判定し、式（１）が真であったときには、障害ありと判定する。
Σ（ＣＯｉ）＞Σ（ＣＩｉ）＋Ｋ      式（１）
【００６９】
なお、ｍは、ノード装置２に含まれるポート制御部２１の数である。また、式（１）において、Σは、ｉ＝１，…，ｍについて括弧内の式の総和を計算することを表す。従って、Σ（ＣＩｉ）は、所定の時間（Ｔ１）内にポート制御部２１に入力されるフレーム数の総和、Σ（ＣＯｉ）は、所定の時間（Ｔ１）内にポート制御部２１から出力されるフレーム数の総和を表している。また、Ｋは、カウント誤差を許容するための正の定数である。
【００７０】
ここで、正の定数Ｋおよびカウント誤差について、以下、補足しておく。前記したように、ノード装置２は、基本的には入力されたフレーム以上のフレームは出力しないので、Σ（ＣＯｉ）≦Σ（ＣＩｉ）の式が成立する。従って、Σ（ＣＯｉ）＞Σ（ＣＩｉ）となった場合には、そのノード装置２に何らかのフレームの湧き出し障害が生じたことを意味する。
【００７１】
ところで、ノード装置２においては、あるフレームが入力されて出力されるまでには、入力フレームバッファ２１１および出力フレームバッファ２１５でのバッファリングやポート間接続制御部２２での接続制御のために、ある量の時間遅延を生じる。そのため、入力フレーム数の総和Σ（ＣＩｉ）と出力フレーム数の総和Σ（ＣＯｉ）との間では、カウント誤差が生じることになる。
【００７２】
そこで、そのカウント誤差の最大値よりも大きい正の定数Ｋを導入し、入力フレーム数の総和Σ（ＣＩｉ）にその定数Ｋを加算したものと、出力フレーム数の総和Σ（ＣＯｉ）とを比較するようにする。つまり、Σ（ＣＯｉ）≦Σ（ＣＩｉ）＋Ｋという式であれば、この式は、カウント誤差が生じたとしても、ほとんどの場合、成立することになる。従って、式（１）が成立した場合には、ノード装置２に何らかのフレームの湧き出し障害が生じたことになる。
【００７３】
なお、カウント誤差を減らすには、出力フレームカウンタ２１８に入力するカウンタイネーブル信号（図５、図６参照）のタイミングを、入力フレームカウンタ２１４に入力するカウンタイネーブル信号のタイミングより、ある一定時間量を遅延させたものにすればよい。しかしながら、フレームが入力されてから出力されるまでの遅延量は、幹線伝送路４や各支線ａ〜ｄからノード装置２に入力されるフレームのトラフィック量などの状況によって変化するので、カウント誤差をなくすことはできない。従って、正の定数Ｋは、小さくすることは可能であるが、この場合も必要である。
【００７４】
以上の通り、カウントモードが０である場合には、障害判定部２３４は、所定時間内にノード装置２に入力されるフレームの総数と出力されるフレームの総数とを収集し、その出力されるフレームの総数が入力されるフレームの総数に比べ十分に大きい場合を検出することによって、フレーム湧き出しの障害を検知することができる。
【００７５】
（２）カウントモードが１（Ｍ＝１）である場合
この場合に障害判定部２３４が実行する処理内容は、前記したカウントモードが０である場合の処理内容と同じである。ただし、収集された入力フレームカウンタ２１４および出力フレームカウンタ２１８におけるカウント内容が異なっている。この場合には、入力フレームカウンタ２１４および出力フレームカウンタ２１８は、入力または出力されるフレームのうち、タグフィールドがある値の範囲に含まれるもののみをカウントしている。
【００７６】
従って、カウントモードが１である場合には、障害判定部２３４は、タグフィールドが意味するところにより、例えば、特定の範囲に含まれるＶＬＡＮグループのフレームについて、あるいは、特定の種別のフレームについて、フレーム湧き出し障害があるか否かを検知することができる。
【００７７】
（３）カウントモードが２（Ｍ＝２）である場合
このカウントモードは、データ通信ネットワークシステム１で使用されるＶＬＡＮグループが特定のグループまたは特定の範囲のグループに限定されているような場合、あるいは、タグフィールドが意味するところにより特定の種別のフレームが使用されることに限定されているような場合に適用する。
【００７８】
前記したように、カウントモードが２である場合には、出力フレームカウンタ２１８は、出力フレームのタグフィールドの値が所定の範囲に含まれないとき、その出力フレームの数をカウントしている。すなわち、出力される筈のないＶＬＡＮグループのフレームや出力される筈のない種別のフレームが出力された場合、そのフレームの数がカウントされている。
【００７９】
従って、この場合には、障害判定部２３４は、カウント値収集部２３３により収集された各ポート制御部２１の出力フレームカウンタ２１８の値ＣＯｉ（ｉ＝１，…，ｍ）のそれぞれが、ある正の定数Ｋ２よりも大きいか否かを判定し、その正の定数Ｋ２よりも大きい出力フレームカウンタ２１８があった場合には、その出力フレームカウンタ２１８を含むポート制御部２１にフレームの湧き出し障害が生じていると判定する。なお、定数Ｋ２は、伝送路やノード装置２における間欠的な障害を許容するための定数である。
【００８０】
以上、カウントモードが２である場合には、障害判定部２３４は、本来出力される筈のないＶＬＡＮグループのフレームや、本来出力される筈のない種別のフレームが出力されたことを検出することにより、フレーム湧き出し障害を検知することができる。
【００８１】
以上に説明したように、本実施形態によれば、ノード装置２で生じるフレーム湧き出し障害を検知することができ、その障害を検知した場合には、ノード装置２としての機能を停止するので、ノード装置２の正常動作時における伝送性能を制限することなく、ブロードキャストストームを防止することができる。
【００８２】
続いて、本実施形態を一部変形した例について説明をする。
【００８３】
図４および図５に示した障害検知の処理フローおよびタイミングチャートでは、カウンタイネーブル信号がインアクティブになる期間がある。従って、その期間については、入力フレームカウンタ２１４および出力フレームカウンタ２１８が動作しないので、そのときの入力フレーム数および出力フレーム数が得られないことになる。ただし、ノード装置２における障害がフレームの湧き出し障害（ブロードキャストストーム）であることを考慮すると、それは、その障害検知に対する不都合となるものではない。
【００８４】
そこで、この変形例では、図６において、カウンタ制御ＦＦ６２を利用しないものとする。従って、論理積回路６４は不要となり、タグ判定部６３の出力がカウンタ６１のイネーブル信号Ｅの入力端子に接続される。代わりに、カウンタ６１のデータ端子Ｄ１〜Ｄｎとカウント値収集バス６５との間に、ｎビットのラッチレジスタが設けられ、カウント動作指示部２３２からのカウント開始信号により、カウンタ６１の値がそのラッチレジスタに記憶されるようにする。そして、カウント値収集部２３３は、カウント値収集のタイミングで、ラッチレジスタに記憶されているカウンタ６１の値を収集する。従って、カウント動作指示部２３２は、カウント停止信号およびカウンタリセット信号を出力する必要はない。
【００８５】
この場合、カウント値収集部２３３が収集するカウンタ６１の値は、カウント動作指示部２３２からカウント開始信号が出力されたときの値である。従って、カウント値収集部２３３は、カウンタ６１の値を収集したときには、前回収集したカウンタ６１の値との差を計算することにより、２つのカウント開始信号の間（時間Ｔ２）にカウンタ６１がカウントした数を得ることができる。
【００８６】
以上のカウンタ６１の動作の相違を除けば、前記の実施形態での説明は、この変形例においても、ほとんど同様に適用することができる。従って、本変形例においても、ノード装置２は、自己において生じるフレーム湧き出し障害を検知することができ、また、正常動作時における自己の伝送性能を制限することなく、ブロードキャストストームを防止することができる。
【００８７】
なお、以上に説明した実施形態および実施形態の変形例におけるノード装置２は、図１に示したリング型のデータ通信ネットワークシステム１に適用することを前提としているが、適用可能なデータ通信ネットワークの形態は、リング型の限定されるものではなく、メッシュ型やツリー型のデータ通信ネットワークにも適用可能である。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態に係るデータ通信ネットワークシステムの構成の例を示した図。
【図２】本発明の実施形態に係るデータ通信ネットワークシステムで用いられるフレームフォーマットの例を示した図。
【図３】本発明の実施形態に係るノード装置の内部構成の例を示した図。
【図４】障害検知制御部における障害検知の処理フローの例を示した図。
【図５】図４のフローチャートに従って障害検知制御部から出力されるカウンタ動作指示信号と、カウンタのカウント動作との関係をタイミングチャートとして例示した図。
【図６】図５に示したカウンタのカウント動作を実現するためのカウンタ周辺の制御回路の例を示した図。
【符号の説明】
【００８９】
１      データ通信ネットワークシステム
２      ノード装置
３      計算機
４      幹線伝送路
２１    ポート制御部
２２    ポート間接続制御部
２３    障害検知制御部
２４    ポート入力端子
２５    ポート出力端子
６１    カウンタ
６２    カウンタ制御ＦＦ
６３    タグ判定部
６４    論理積回路
６５    カウント値収集バス
２１１  入力フレームバッファ
２１２  アドレス検出部
２１３  タグ判定部
２１４  入力フレームカウンタ
２１５  出力フレームバッファ
２１６  アドレス付加部
２１７  タグ判定部
２１８  出力フレームカウンタ
２２１  ルーティングテーブル
２３１  カウントモード指定部
２３２  カウント動作指示部
２３３  カウント値収集部
２３４  障害判定部
【図１】
0004902440.tif 000002
【図２】
0004902440.tif 000003
【図３】
0004902440.tif 000004
【図４】
0004902440.tif 000005
【図５】
0004902440.tif 000006
【図６】
0004902440.tif 000007