(57)【要約】【課題】データによる通信帯域の占有の発生を確実に検出すること。【解決手段】エントリ記憶手段２は、データを受信するポート毎に、同一の機器が送信したデータを最後に受信したポートを識別する識別情報を関連づけたエントリを複数記憶する。エントリ更新手段３は、機器が送信したデータを、識別情報が最後に受信したと識別しているポートとは異なるポートから受信したとき、各エントリの識別情報を更新する。検出手段４は、各エントリの識別情報の更新により、通信帯域の占有の発生を検出する。【選択図】図１
2010232967.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
データを受信するポート毎に、同一の機器が送信した前記データを最後に受信した前記ポートを識別する識別情報を関連づけたエントリを複数記憶するエントリ記憶手段、
前記機器が送信した前記データを、前記識別情報が最後に受信したと識別している前記ポートとは異なるポートから受信したとき、前記各エントリの前記識別情報を更新するエントリ更新手段、
前記各エントリの識別情報の更新により、通信帯域の占有の発生を検出する検出手段、
として機能させることを特徴とするデータ中継プログラム。
【請求項２】
前記各エントリは、それぞれ通信帯域の占有の判定に用いる判定カウンタをさらに有し、
前記エントリ更新手段は、前記各エントリの前記識別情報の更新に応じて前記判定カウンタのカウンタ値を変化させ、
前記検出手段は、前記カウンタ値の変化により、通信帯域の占有の発生を検出することを特徴とする請求項１記載のデータ中継プログラム。
【請求項３】
前記エントリ更新手段は、前記識別情報が最後に受信したと識別している前記ポートとは異なるポートから受信したときに前記判定カウンタのカウンタ値を単調増加または単調減少させ、
前記検出手段は、前記判定カウンタのカウンタ値が予め設定した値になると通信帯域の占有が発生したと判定することを特徴とする請求項２記載のデータ中継プログラム。
【請求項４】
前記コンピュータを、さらに、前記データを所定時間受信しなかった前記ポートを備える前記エントリを削除するエントリ削除手段として機能させ、
前記記憶手段に記憶されている前記機器のエントリが１つになったとき、前記エントリの前記識別情報を、前記データを最後に受信したポートであると識別する情報に設定し、前記カウンタ値を予め定められた初期値に設定することを特徴とする請求項２記載のデータ中継プログラム。
【請求項５】
前記コンピュータを、さらに、前記機器が送信したデータを、前記記憶手段に記憶されている前記エントリに設定された前記ポートとは異なるポートから受信したとき、前記異なるポートに前記識別情報を関連づけた新たな前記エントリを作成し、前記エントリ記憶手段に記憶するエントリ作成手段として機能させることを特徴とする請求項１記載のデータ中継プログラム。
【請求項６】
前記エントリ作成手段は、新たに作成したエントリの前記識別情報を、前記データを最後に受信したポートであると識別する情報に設定し、前記エントリ更新手段は、既に記憶されていた前記エントリの前記識別情報を、前記データを最後に受信したポートではないと識別する情報に設定することを特徴とする請求項５記載のデータ中継プログラム。
【請求項７】
コンピュータが備える、
エントリ記憶手段が、データを受信するポート毎に、同一の機器が送信した前記データを最後に受信した前記ポートを識別する識別情報を関連づけたエントリを複数記憶し、
エントリ更新手段が、前記機器が送信した前記データを、前記識別情報が最後に受信したと識別している前記ポートとは異なるポートから受信したとき、前記各エントリの前記識別情報を更新し、
検出手段が、前記各エントリの識別情報の更新により、通信帯域の占有の発生を検出する、
ことを特徴とするデータ中継方法。
【請求項８】
データを受信するポート毎に、同一の機器が送信した前記データを最後に受信した前記ポートを識別する識別情報を関連づけたエントリを複数記憶するエントリ記憶部と、
前記機器が送信した前記データを、前記識別情報が最後に受信したと識別している前記ポートとは異なるポートから受信したとき、前記各エントリの前記識別情報を更新するエントリ更新部と、
前記各エントリの識別情報の更新により、通信帯域の占有の発生を検出する検出部と、
を有することを特徴とするデータ中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ中継プログラム、データ中継方法およびデータ中継装置に関する。
【背景技術】
【０００２】
１つの経路しか持たないネットワークは、その１つの経路が障害によって使用ができなくなると、ネットワーク全体が使えなくなってしまう場合がある。このため、冗長経路を確保することが一般的に行われている。
【０００３】
しかし、冗長経路を確保すると、ネットワーク内にループが存在する。ネットワーク内にループが存在すると、ブロードキャストのデータ（ブロードキャストデータ）で通信帯域が占領されるブロードキャストストーム（broadcast storm）が発生する原因となる。
【０００４】
このブロードキャストストームを防止するために、ＳＴＰ（Spanning Tree Protocol）が知られている。ＳＴＰは、障害の発生していないときは、冗長経路を使用しない状態にしておく。そして、障害が発生して使用している経路が使えなくなった場合に、冗長経路に切り替える。
【０００５】
しかし、ネットワーク機器の故障等によりＳＴＰが動作しない状態に陥ると、ループが形成され、ブロードキャストストームが発生する。
ブロードキャストストームが発生するとトラフィックが増大し、その結果、正常に動作していた機器の処理能力を超え、ＳＴＰを動作させられない機器が発生し、状況を悪化させることがある。この状態に陥るとブロードキャストストームを起こす原因となった機器を復旧させても、ネットワーク全体として正常に動作することができない。
【０００６】
通信帯域を確保する方法として、ポートからのパケットの受信時刻によってループを判定する方法が知られている。
また、監視装置等を別個に設け、ネットワークを構成する各機器から情報を収集し、収集した情報を基に機器の接続状態を求めることにより帯域を無用なトラヒックにより圧迫している状態を検出する方法が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−３２０２４８号公報
【特許文献２】特許第３６４１５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、前者の場合、実際にはループが形成されていないにもかかわらず、ループが形成されたと誤って判定されることがある。例えば、ＬＡＮケーブルが、あるポートから他のポートに差し替えられたときに、形成されたループの規模や、ループ内のスイッチ装置の負荷状況等により、パケットの受信間隔が変わってくる。この受信間隔を短くした場合はループを検出できず、長くした場合は、形成されたと誤って判定されることがある。従って、ブロードキャストストームの発生を検出することができない場合があるという問題がある。
【０００９】
また、後者の場合、既にループが形成され、ブロードキャストストームが発生している場合、情報が収集できずに、やはりブロードキャストストームの発生を検出することができない場合があるという問題がある。
【００１０】
本発明はこのような点に鑑みてなされたものであり、データによる通信帯域の占有の発生を確実に検出することができるデータ中継プログラム、データ中継方法およびデータ中継装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、開示のデータ中継プログラムが提供される。このデータ中継プログラムは、コンピュータを、エントリ記憶手段、エントリ更新手段、および検出手段として機能させる。
【００１２】
エントリ記憶手段は、データを受信するポート毎に、同一の機器が送信したデータを最後に受信したポートを識別する識別情報を関連づけたエントリを複数記憶する。
エントリ更新手段は、機器が送信したデータを、識別情報が最後に受信したと識別しているポートとは異なるポートから受信したとき、各エントリの前記識別情報を更新する。
【００１３】
検出手段は、各エントリの識別情報の更新により、通信帯域の占有の発生を検出する。
このようなデータ中継プログラムによれば、エントリ記憶手段により、エントリが複数記憶される。機器が送信したデータを、識別情報が最後に受信したと識別しているポートとは異なるポートから受信したとき、エントリ更新手段により、各エントリの識別情報が更新される。各エントリの識別情報の更新によって、検出手段により、通信帯域の占有の発生が検出される。
【発明の効果】
【００１４】
開示のデータ中継プログラムによれば、データによる通信帯域の占有の発生を確実に検出することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態のデータ中継装置の概要を示す図である。
【図２】システムの構成を示す図である。
【図３】スイッチ装置のハードウェア構成例を示す図である。
【図４】スイッチ装置の機能を示すブロック図である。
【図５】Ｍａｃアドレステーブルの構成を示す図である。
【図６】スイッチ装置の処理を示すフローチャートである。
【図７】事後処理を示すフローチャートである。
【図８】更新されたＭａｃアドレステーブルを示す図である。
【図９】更新されたＭａｃアドレステーブルを示す図である。
【図１０】更新されたＭａｃアドレステーブルを示す図である。
【図１１】更新されたＭａｃアドレステーブルを示す図である。
【図１２】更新されたＭａｃアドレステーブルを示す図である。
【発明を実施するための形態】
【００１６】
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態のデータ中継装置について説明し、その後、実施の形態をより具体的に説明する。
【００１７】
図１は、実施の形態のデータ中継装置の概要を示す図である。
実施の形態のデータ中継プログラムは、コンピュータ（データ中継装置）１を、エントリ記憶手段２、エントリ更新手段３および検出手段４として機能させる。
【００１８】
エントリ記憶手段２は、データを受信するポート毎に、同一の機器が送信したデータを最後に受信したポートを識別する識別情報を関連づけたエントリを複数記憶する。
図１では、物理アドレス（例えばＭａｃアドレス）「ａ」の機器について、物理アドレス「ａ」の機器が送信するデータを受信したポートＰ１についてのエントリＥ１と、物理アドレス「ａ」の機器が送信するデータを受信したポートＰ２についてのエントリＥ２が記憶されている。
【００１９】
そして、エントリＥ１の識別情報の欄には、ポートＰ１が、データを最後に受信したポートではないことを示す「ＯＦＦ」が設定されており、エントリＥ２の識別情報の欄には、ポートＰ２が、データを最後に受信したポートであることを示す「ＯＮ」が設定されている。
【００２０】
これらのエントリは、データ中継装置１がデータを受信したときに作成され、記憶される。なお、図１には図示していないが、例えば物理アドレス「ｂ」の機器が送信するデータをポートＰ１が受信した場合、物理アドレス「ｂ」とポートＰ１と識別情報とを関連づけたエントリが作成され、記憶される。
【００２１】
なお、図１では、これらの情報に加え、通信帯域の占有が発生したか否かを判定するための判定カウンタも関連づけられている。カウンタ値の初期値は、例えば「２」である。この判定カウンタのカウンタ値は、後述する条件を満たすことにより単調減少する。
【００２２】
ここで、機器がブロードキャストデータを送信している場合に、ネットワーク内にループが形成されると、データ中継装置１は、ブロードキャストデータを複数のポートから受信することがある。
【００２３】
エントリ更新手段３は、エントリに設定された物理アドレスの機器が送信したデータを、識別情報が最後に受信したと識別しているポートとは異なるポートから受信したとき、各エントリの識別情報を更新する。
【００２４】
また、エントリ更新手段３は、識別情報がＯＮに設定されているエントリのポートとは異なるポートからデータを受信したときに判定カウンタのカウンタ値を単調減少させる。
図１では、識別情報が最後に受信したと識別しているポートＰ２とは異なるポートＰ１からデータを受信したとき、エントリＥ１の識別情報をＯＮに設定し、エントリＥ２の識別情報をＯＦＦに設定する。また、エントリＥ１の判定カウンタのカウンタ値を単調減少させる。
【００２５】
検出手段４は、エントリ更新手段３による各エントリの識別情報の更新により、通信帯域の占有の発生を検出する。
ここで、単に各エントリの識別情報が更新されたことにより通信帯域の占有の発生を検出するようにしてもよいが、図１では、判定カウンタのカウンタ値が予め設定した値（図１では「０」）になると通信帯域の占有が発生したと判定している。
【００２６】
これにより、識別情報が最後に受信したと識別しているポートＰ２とは異なるポートＰ１からブロードキャストデータを受信した状態が複数回出現したときに、通信帯域の占有の発生を検出することができ、誤検出を容易に防止することができる。
【００２７】
このようなデータ中継装置１によれば、物理アドレスが共通でもブロードキャストデータを受信するポートが異なる場合、これらのポート毎にエントリを記憶するようにした。そして、識別情報がＯＦＦのポートからブロードキャストデータを受信したとき、エントリの識別情報を更新し、この更新により通信帯域の占有の発生を検出するようにした。従って、通信帯域の占有の発生を確実に検出することができる。
【００２８】
また、判定カウンタを設定することで、誤検出を容易に防止することができる。
以下、実施の形態をより具体的に説明する。
図２は、システムの構成を示す図である。
【００２９】
システム１００は、サーバ装置や端末装置等を少なくとも１つ以上含むネットワークエリア１０およびネットワークエリア２０が、スイッチ装置ＳＷ１〜ＳＷ３を介してネットワーク３０に接続された構成となっており、全体がひとつのセグメント（レイヤ２ネットワーク）として構成されている。ここで、ネットワーク３０は、インターネット、イントラネット、ＩＳＰ（Internet Services Provider）ネットワークの全体あるいは一部分を含む概念である。
【００３０】
ネットワークエリア１０は、端末装置１０ａを有している。また、ネットワークエリア２０は、サーバ装置２０ａを有している。
なお、端末装置１０ａのＭａｃアドレスは、「ａ」であり、サーバ装置２０ａのＭａｃアドレスは「ｂ」である。
【００３１】
スイッチ装置ＳＷ１〜ＳＷ３は、それぞれ、他のスイッチに接続する１つ以上の物理ポート（図１では３つのポートＰ１〜Ｐ３）を有している。
図３は、スイッチ装置のハードウェア構成例を示す図である。
【００３２】
スイッチ装置ＳＷ１は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０５を介してＲＡＭ（Random Access Memory）１０２、ＲＯＭ（Read Only Memory）１０３、およびＬＡＮポート１０４が接続されている。
【００３３】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＲＯＭ１０３には、アプリケーションプログラムが格納される。また、ＲＯＭ１０３内には、プログラムファイルが格納される。
【００３４】
ＬＡＮポート１０４は、ネットワークエリア１０およびネットワーク３０に接続されている。ＬＡＮポート１０４は、ネットワークエリア１０およびネットワーク３０を介して、他のスイッチやコンピュータとの間でデータの送受信を行う。
【００３５】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３にはスイッチ装置ＳＷ１のハードウェア構成を示したがスイッチ装置ＳＷ２、ＳＷ３についても同様のハードウェア構成で実現することができる。このようなハードウェア構成のスイッチ装置ＳＷ１〜ＳＷ３内には、以下のような機能が設けられる。
【００３６】
図４は、スイッチ装置の機能を示すブロック図である。
スイッチ装置ＳＷ１は、インタフェース部１１と、スイッチ処理部１２と、パケット用メモリ１３と、アドレステーブル格納部１４と、アドレステーブル管理部１５とを有している。
【００３７】
インタフェース部１１は、スイッチ装置ＳＷ１の送受信パケットの電気的処理を行う。
スイッチ処理部１２は、パケットの中継処理（スイッチ処理）を行う。
パケット用メモリ１３は、インタフェース部１１から受信したパケットを一時的に格納する。パケット用メモリ１３に格納されたパケットは、スイッチ処理部１２での中継処理後、インタフェース部１１から送信される。
【００３８】
アドレステーブル格納部１４は、ＭａｃアドレスおよびそのＭａｃアドレスに付随する各種パラメータを管理するＭａｃアドレステーブルを格納する。
アドレステーブル管理部１５は、周囲の制御情報のやり取りや、アドレステーブル格納部１４に格納されているＭａｃアドレステーブルを更新する。
【００３９】
また、アドレステーブル管理部１５は、Ｍａｃアドレステーブルに設定されている情報に基づいて、ブロードキャストストームの発生を検出する。
また、アドレステーブル管理部１５は、エージングタイマ（Ｍａｃアドレスを保持しておく時間）の経過により、送信元アドレスからのパケットを一定時間受信しなかったＭａｃアドレステーブルのエントリを削除する。
【００４０】
次に、Ｍａｃアドレステーブルの構成を説明する。
図５は、Ｍａｃアドレステーブルの構成を示す図である。
Ｍａｃアドレステーブル１４ａには、Ｍａｃ、Ｐｏｒｔ、重複フラグ、更新フラグおよび判定カウンタの欄が設けられており、１つのエントリ内の横方向に並べられた情報同士が互いに関連づけられている。
【００４１】
Ｍａｃの欄には、スイッチ装置ＳＷ１にてパケットを受信したネットワークエリア１０またはネットワークエリア２０上の機器のＭａｃアドレスが設定される。
Ｐｏｒｔの欄には、当該Ｍａｃアドレスのパケットを受信するポートの番号が設定される。
【００４２】
重複フラグの欄には、１つのＭａｃアドレスについて、異なるポートが設定されたエントリの有無を示すフラグが設定される。具体的には、Ｍａｃアドレステーブル１４ａ内に、Ｍａｃアドレスが共通で、異なるポートが設定されたエントリが存在する場合、当該重複フラグはＯＮに設定される。重複フラグを設けることで、１つのＭａｃアドレスについて、異なるポートが設定されたエントリの有無を容易に把握することができる。
【００４３】
更新フラグの欄には、Ｍａｃアドレスが共通するエントリの中で最後に更新されたエントリであることを示すフラグが設定される。
判定カウンタの欄には、ブロードキャストストームが発生しているか否かを示す指標となるカウンタ値が設定される。カウンタ値の初期値は、本実施の形態では「２」である。この初期値は、任意の値に設定することができる。
【００４４】
ＳＴＰが正常に動作している状態では、スイッチ装置ＳＷ３において端末装置１０ａからのパケットはポートＰ１しか受信しないため、１つのＭａｃアドレスについて、エントリは１つだけである。
【００４５】
次に、スイッチ装置ＳＷ１の処理を説明する。
図６は、スイッチ装置の処理を示すフローチャートである。
まず、インタフェース部１１がパケットを受信する（ステップＳ１）。
【００４６】
アドレステーブル管理部１５は、受信したパケットの送信元Ｍａｃアドレスを含むエントリが、Ｍａｃアドレステーブル１４ａに登録されているか否かを判断する（ステップＳ２）。
【００４７】
送信元Ｍａｃアドレスを含むエントリが登録されていない場合（ステップＳ２のＮｏ）、その送信元Ｍａｃアドレスおよび送信元Ｍａｃアドレスに関連する情報を含む新たなエントリをＭａｃアドレステーブル１４ａに登録する（ステップＳ３）。すなわち、受信したパケットのＭａｃアドレスを送信元Ｍａｃアドレスの欄に設定し、受信したパケットのポート名をポートの欄に設定し、重複フラグをＯＦＦに設定し、更新フラグをＯＮに設定し、判定カウンタのカウンタ値を初期値に設定したエントリをＭａｃアドレステーブル１４ａに登録する。
【００４８】
一方、送信元Ｍａｃアドレスを含むエントリが既に登録されている場合（ステップＳ２のＹｅｓ）、アドレステーブル管理部１５は、受信したパケットの送信元Ｍａｃアドレスを含み、かつ、パケットを受信したポートのポート名を含むエントリが登録されているか否かを判断する（ステップＳ４）。
【００４９】
当該エントリが登録されていない場合（ステップＳ４のＮｏ）、アドレステーブル管理部１５は、その送信元Ｍａｃアドレスおよび送信元Ｍａｃアドレスに関連する情報を含むエントリをＭａｃアドレステーブル１４ａに登録する（ステップＳ５）。すなわち、受信したパケットのＭａｃアドレスを送信元Ｍａｃアドレスの欄に設定し、受信したパケットのポート名をポートの欄に設定し、重複フラグをＯＮに設定し、更新フラグをＯＮに設定し、判定カウンタのカウンタ値を初期値に設定したエントリをＭａｃアドレステーブル１４ａに登録する。
【００５０】
また、既に登録されていた同一の送信元Ｍａｃアドレスのエントリの更新フラグをＯＦＦに設定（更新）する。
一方、当該エントリが登録されている場合（ステップＳ４のＹｅｓ）、アドレステーブル管理部１５は、当該エントリの更新フラグがＯＮに設定されているか否かを判断する（ステップＳ６）。
【００５１】
当該エントリの更新フラグがＯＮに設定されていない場合（ステップＳ６のＮｏ）、アドレステーブル管理部１５は、当該エントリの更新フラグをＯＮに設定し、判定カウンタのカウンタ値をデクリメントし、同一の送信元Ｍａｃアドレスの他のポートに対応するエントリの更新フラグをＯＦＦに設定する（ステップＳ７）。
【００５２】
一方、当該エントリの更新フラグがＯＮに設定されている場合（ステップＳ６のＹｅｓ）、アドレステーブル管理部１５は、判定カウンタのカウンタ値が「０」より大きいか否かを判断する（ステップＳ８）。
【００５３】
判定カウンタのカウンタ値が「０」である場合（ステップＳ８のＮｏ）、アドレステーブル管理部１５は、ブロードキャストストーム状態であると判定する。このとき、スイッチ処理部１２はブロードキャストストーム処理を行う（ステップＳ９）。具体的には、以下の処理の１つまたは複数を行う。
【００５４】
（１）一定時間ブロードキャストの転送を停止させる。例えば、ブロードキャストパケットを破棄する。
（２）特定の端末装置からのブロードキャストにのみ転送制限をかける。
【００５５】
（３）特定のポートへのブロードキャスト転送を停止させる。
（４）直前（正常時）のフォワーディングテーブルに戻す。
（５）エージングタイム延長処理
これらの処理を行うことにより、ブロードキャストストームを防止し、通信を確保することができる。また、処理負荷によりＳＴＰが正常に動作できなくなっていた場合についてはＳＴＰ機能を正常に復旧させることができる。
【００５６】
一方、判定カウンタのカウンタ値が「０」より大きい場合（ステップＳ８のＹｅｓ）、ステップＳ１に移行し、次のパケットについて処理を行う。
次に、ブロードキャストストーム処理後の処理（事後処理）を説明する。
【００５７】
図７は、事後処理を示すフローチャートである。
まず、アドレステーブル管理部１５は、Ｍａｃアドレステーブル１４ａに登録されているエントリのうち、エージングタイマが経過してもパケットを受信しなかったポートを含むエントリが存在するか否かを判断する（ステップＳ１１）。
【００５８】
パケットを受信しなかったポートを含むエントリが存在しない場合（ステップＳ１１のＮｏ）、所定時間経過後、再びステップＳ１１の処理を行う。
一方、パケットを受信しなかったポートを含むエントリが存在する場合（ステップＳ１１のＹｅｓ）、アドレステーブル管理部１５は、そのエントリをＭａｃアドレステーブル１４ａから削除する（ステップＳ１２）。
【００５９】
次に、削除したエントリのＭａｃアドレスと同一のＭａｃアドレスを含むエントリが１つ存在するか否かを判断する（ステップＳ１３）。
存在しない場合（ステップＳ１３のＮｏ）、事後処理を終了する。
【００６０】
一方、存在する場合（ステップＳ１３のＹｅｓ）、アドレステーブル管理部１５は、そのエントリの重複フラグをＯＦＦに設定し、判定カウンタのカウンタ値を初期値に戻す（ステップＳ１４）。その後、事後処理を終了する。
【００６１】
以上で、事後処理の説明を終了する。
次に、スイッチ装置ＳＷ２の故障等によるＳＴＰ動作不良によりループが形成されたときのＭａｃアドレステーブル１４ａの推移の具体例を説明する。
【００６２】
図８は、更新されたＭａｃアドレステーブルを示す図である。
ループが形成された状態で端末装置１０ａからブロードキャストパケットが送信されたとき、スイッチ装置ＳＷ３ではポートＰ１だけではなくポートＰ２からもパケットを受信することになる。
【００６３】
このときＭａｃアドレス「ａ」に対応するポートをポートＰ１からポートＰ２に書き換えることなくポートＰ２のエントリを追加するとともに、更新フラグおよびカウンタ値を設定する。
【００６４】
なお、端末装置１０ａ宛てのパケットについては、更新フラグがＯＮのポート（図８ではポートＰ２）へ送信する。
Ｍａｃアドレス「ａ」について複数のエントリが生成されたため、各エントリの重複フラグをそれぞれＯＮに設定する。またＭａｃアドレス「ａ」について最後にパケットを受信したのはポートＰ２であるため、ポートＰ２のエントリの更新フラグをＯＮに設定し、ポートＰ１のエントリの更新フラグをＯＦＦに設定する。
【００６５】
＜ブロードキャストストーム状態の監視＞
ループが形成された状態でネットワーク３０内に送信されたブロードキャストパケットは、ループ内を回り始める。このときスイッチ装置ＳＷ３では、端末装置１０ａからのパケットを再びポートＰ１から受信する状態が発生する。このときアドレステーブル管理部１５は、Ｍａｃアドレステーブル１４ａを更新する。
【００６６】
図９は、更新されたＭａｃアドレステーブルを示す図である。
Ｍａｃアドレス「ａ」について最後にパケットを受信したのはポートＰ１であるため、ポートＰ１のエントリの更新フラグをＯＮに設定し、ポートＰ２のエントリの更新フラグをＯＦＦに設定する。また、ポートＰ１は、重複フラグがＯＮ、かつ、更新フラグがＯＦＦの状態でパケットを受信したので、判定カウンタのカウンタ値をデクリメントする。
【００６７】
同一のＭａｃアドレスに複数のエントリがある状態、すなわち、重複フラグがＯＮの状態で複数のポートからパケットを受信している（更新フラグがＯＦＦのポートでもパケットを受信した）ので、ブロードキャストストームが発生している可能性があるとして状況を監視する。
【００６８】
＜ブロードキャストストーム監視状態＞
ブロードキャストストームの発生が疑われる状態で、スイッチ装置ＳＷ３で端末装置１０ａからのパケットを再びポートＰ２から受信したとき、Ｍａｃアドレステーブル１４ａを更新する。
【００６９】
図１０は、更新されたＭａｃアドレステーブルを示す図である。
Ｍａｃアドレス「ａ」について最後にパケットを受信したのはポートＰ２であるため、ポートＰ２のエントリの更新フラグをＯＮに設定し、ポートＰ１の更新フラグをＯＦＦに設定する。また、ポートＰ２は、重複フラグがＯＮ、かつ、更新フラグがＯＦＦの状態でパケットを受信したので判定カウンタのカウンタ値をデクリメントする。
【００７０】
＜ブロードキャストストーム状態＞
ブロードキャストストームの発生が疑われる状態で、スイッチ装置ＳＷ３で端末装置１０ａからのパケットを再びポートＰ１から受信したとき、アドレステーブル管理部１５は、Ｍａｃアドレステーブル１４ａを更新する。
【００７１】
図１１は、更新されたＭａｃアドレステーブルを示す図である。
Ｍａｃアドレス「ａ」について最後にパケットを受信したのはポートＰ１であるため、ポートＰ１のエントリの更新フラグをＯＮに設定し、ポートＰ２の更新フラグをＯＦＦに設定する。
【００７２】
また、ポートＰ１は、重複フラグがＯＮ、かつ、更新フラグがＯＦＦの状態でパケットを受信したので、判定カウンタのカウンタ値をデクリメントする。
ここで、カウンタ値が「０」になったので、ブロードキャストストームが発生したと判断する。
【００７３】
＜事後処理＞
前述したように、アドレステーブル管理部１５は、エージングタイマの経過により、送信元アドレスからのパケットを一定時間受信しなかったエントリを削除する。
【００７４】
図１２は、更新されたＭａｃアドレステーブルを示す図である。
アドレステーブル管理部１５は、ポートＰ２からＭａｃアドレス「ａ」のパケットを一定時間受信しなかったとき、当該エントリを削除する。そして、Ｍａｃアドレス「ａ」のポートＰ１のエントリの重複フラグをＯＦＦに設定し、判定カウンタのカウンタ値を初期値に戻す。
【００７５】
また、ブロードキャストストーム状態にあると判断し、転送制限や転送処理等のブロードキャストストーム抑止処理を行っている場合は、これらの抑止処理を解除する。
以上述べたように、システム１００によれば、スイッチ装置ＳＷ１〜ＳＷ３が、Ｍａｃアドレステーブル１４ａに設定された更新フラグの値および判定カウンタカウンタ値の変化によりブロードキャストストームの発生を検出するようにした。これにより、ブロードキャストストームの発生を確実に検出することができる。
【００７６】
従って、ブロードキャストパケットを抑えることによりネットワーク内のトラフィック、機器の処理負荷を低減し、処理負荷によりＳＴＰが正常に動作できなくなっていた機器の復旧を図ることができる。
【００７７】
また、ユニキャストパケットは許容することで、一部通信を確保することができる。
また、試験パケットを送信してループを検出し、ブロードキャストストームの発生を検出する方法に比べ、トラフィックを増大させることもない。
【００７８】
また、スイッチ装置ＳＷ１では、異なるポートからパケットを受信したときに、新たにエントリを作成するようにした。これにより、単に同一Ｍａｃアドレスからのパケットをある一定時間内に受信するポートが変わっただけではブロードキャストストームが発生したと判定しないようにした。これにより、パケットの受信間隔が変動することにより、ブロードキャストストームが発生したと誤検出することを確実に防止することができる。
【００７９】
また、スイッチ装置ＳＷ１では、単独でブロードキャストストームを検出し、対処することができる。
なお、本実施の形態では、２つのポート（ポートＰ１、ポートＰ２）からパケットを受信した場合について説明したが、ポートが３つ以上の場合においても同様の処理を行うことで、ブロードキャストストームを確実に検出することができる。
【００８０】
また、本実施の形態では、判定カウンタのカウンタ値をデクリメントさせたが、これに限らず、判定カウンタのカウンタ値をインクリメント（単調増加）させ、一定値に達したときにブロードキャストストームが発生したと検出するようにしてもよい。
【００８１】
以上、本発明のデータ中継プログラム、データ中継方法およびデータ中継装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００８２】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、スイッチ装置ＳＷ１〜ＳＷ３が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００８３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８４】
データ中継プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【００８５】
１  コンピュータ（データ中継装置）
２  エントリ記憶手段
３  エントリ更新手段
４  検出手段
１０、２０  ネットワークエリア
１０ａ  端末装置
１１  インタフェース部
１２  スイッチ処理部
１３  パケット用メモリ
１４  アドレステーブル格納部
１４ａ  Ｍａｃアドレステーブル
１５  アドレステーブル管理部
２０ａ  サーバ装置
３０  ネットワーク
１００  システム
Ｅ１、Ｅ２  エントリ
Ｐ１、Ｐ２、Ｐ３  ポート
ＳＷ１、ＳＷ２、ＳＷ３  スイッチ装置
【図１】
2010232967.tif 000003
【図２】
2010232967.tif 000004
【図３】
2010232967.tif 000005
【図４】
2010232967.tif 000006
【図５】
2010232967.tif 000007
【図６】
2010232967.tif 000008
【図７】
2010232967.tif 000009
【図８】
2010232967.tif 000010
【図９】
2010232967.tif 000011
【図１０】
2010232967.tif 000012
【図１１】
2010232967.tif 000013
【図１２】
2010232967.tif 000014