(57)【要約】【課題】ネットワーク上において、スパニングツリーによる転送ループの検出は、動作制御が複雑であった。【解決手段】各中継装置において、各ポートに新規にリンクがはられた場合、第１の時間が経過するまで該ポートで受信したパケットを拒否し、アドレステーブルに登録されている送信元アドレスを、登録から第２の時間が経過後に削除するが、第１の時間は第２の時間よりも長い。すなわち、あるポートで受信したパケットの送信元アドレスが、アドレステーブルにおいて他のポートに既に登録されている（Ｓ５０５）場合、ループ接続が検出される（Ｓ５０７）。【選択図】    図３
2004320477.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートを備え、ポート毎に受信したパケットの送信元アドレスを登録するアドレステーブルを保持する中継装置を、複数台接続してパケット中継を行うネットワークシステムの制御方法であって、各中継装置において、
各ポートに新規にリンクがはられた場合、第１の時間が経過するまで該ポートで受信したパケットを拒否し、
前記アドレステーブルに登録されている送信元アドレスを、登録から第２の時間が経過後に削除し、
前記第１の時間は前記第２の時間よりも長いことを特徴とするネットワークシステムの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケットの無限ループを検出するネットワークシステムの制御方法に関する。
【０００２】
【従来の技術】
従来、スイッチングＨＵＢやブリッジは各ポート間を直接交換接続することによって、他のポートへトラフィックの影響を与えない。どのポート間を接続するかは、学習してあるアドレスで判定する。すなわち、各ポートに接続されたアドレスのテーブルを作成し、そのテーブルに従いポート間をスイッチング技術によって接続する。アドレステーブルに登録されていない送信元アドレスを持ったパケットを受信した場合は、受信したポート以外の全てのポートにパケットを送信する。また、複数のアドレスのテーブルをポートごとに作成することができるので、ポート先には端末やＨＵＢを接続することができる
図６に、スイッチングＨＵＢを２段に接続した場合のアドレステーブル例を示す。スイッチングＨＵＢは、あるポートから受信したパケットの送信元アドレスをもとに、アドレステーブルに登録していく。例えばスイッチングＨＵＢのポート１から送信元アドレスＡのパケットを受信した場合、スイッチングＨＵＢ  ＸのアドレステーブルにアドレスＡとポート１を登録する。このように登録を繰り返すと、ポート４には相手先スイッチングＨＵＢ  Ｙに接続されている端末のアドレスＤ，Ｅ，Ｆが登録されることになる。
【０００３】
しかし、スイッチングＨＵＢ  Ｙに接続されている例えば端末Ｆがネットワークから離脱した場合、スイッチングＨＵＢ  Ｙにおいては端末Ｆの離脱が検出できるものの、スイッチングＨＵＢ  Ｘのポート４に登録されているアドレスＦは永久に保持されたままであり、端末Ｆの離脱は検出されない。
【０００４】
このような不具合を回避するために従来のスイッチングＨＵＢにおいては、アドレスが登録されてから一定時間が経過すると、そのアドレスをアドレステーブルから削除するという、所謂エイジング処理を行う。
【特許文献１】
特開平１１−２０５３６７号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、スイッチングＨＵＢやブリッジのパケット転送においては、図７のように装置間でループ形状を伴う接続をしてしまった場合に、以下のような問題が生じていた。すなわち、このような接続においてある端末からブロードキャストパケットが送信された場合、転送ループが形成されてしまう。転送ループではブロードキャストパケットがネットワーク上を無限に周回するため、新しいトラフィックが送信されるごとに増えつづけてトラフィックレートが上昇し、最終的にはネットワークが飽和状態に陥ってしまう。また、ネットワーク全体で解決することができない宛先アドレスのパケットが送信された場合も同様である。
【０００６】
ＩＥＥＥ  ８０２．１Ｄブリッジング標準では、このような転送ループの回避策として、スパニングツリーアルゴリズムが規定されている。スパニングツリーアルゴリズムによれば、スパニングツリー用のマルチキャストアドレスを使用して、各スイッチが送信するコンフィグレーションメッセージをもとに動作し、ループ接続時に単一のルートを選択してパケットを送信することができる。
【０００７】
しかしながら、通常スパニングツリーのようなループ検出プロトコルは、動作制御が非常に複雑であり、これを実装する場合には、ＣＰＵやメモリ等の専有時間が増えて、資源を消費してしまうという問題点があった。また、この方法では、ループ検出用の制御パケットをルータ間で定期的に交換するため、通常のユーザデータを送るための実質的な回線が減少してしまうという問題点があった。更に、スパニングツリープロトコルが実装されているスイッチングＨＵＢは、そうでないものと比較するとコスト高となってしまうという問題点もあった。
【０００８】
そこで、スパニングツリープロトコルを使用せずに転送ループを検出する方法として、各ポートで受信される受信パケット内の送信元アドレスを監視し、所定時間内に同じ送信元アドレスを持ったパケットが複数ポートで受信された場合に、ループ接続を検出する方法がある（例えば、特許文献１参照）。
【０００９】
しかしながら、この転送ループ検出方法では、多数のスイッチングＨＵＢによって巨大なループが形成され、そのネットワーク上のトラフィックが非常に高い場合には、所定時間内に検出すべきパケットの到達が遅れるためループ検出が行えない。これを回避するために検出用の所定時間を長く設定した場合は、ユーザが短時間で端末を別ポートに接続することを繰り返した場合に、これをループ接続であると誤認識してしまうという問題があった。
【００１０】
本発明は上述した問題を解決するためになされたものであり、スパニングツリーを実装することなく、ネットワーク上のループ接続を確実に検出するネットワークシステムの制御方法を提供することを目的とする。
【課題を解決するための手段】
上記目的を達成するため、本発明に係るネットワークシステムの制御方法は以下の工程を備える。
【００１１】
すなわち、複数のポートを備え、ポート毎に受信したパケットの送信元アドレスを登録するアドレステーブルを保持する中継装置を、複数台接続してパケット中継を行うネットワークシステムの制御方法であって、各中継装置において、各ポートに新規にリンクがはられた場合、第１の時間が経過するまで該ポートで受信したパケットを拒否し、前記アドレステーブルに登録されている送信元アドレスを、登録から第２の時間が経過後に削除し、前記第１の時間は前記第２の時間よりも長いことを特徴とする。
【００１２】
【発明の実施の形態】
本発明は、複数のポートを備え、ポート毎に受信したパケットの送信元アドレスを登録するアドレステーブルを保持する中継装置を、複数台接続してパケット中継を行うネットワークシステムの各中継装置において、各ポートに新規にリンクがはられた場合、第１の時間が経過するまで該ポートで受信したパケットを拒否し、アドレステーブルに登録されている送信元アドレスを、登録から第２の時間が経過後に削除し、第１の時間は第２の時間よりも長いことを特徴とするものである。各中継装置において、あるポートで受信したパケットの送信元アドレスがアドレステーブルに未登録であれば、これを登録し、他のポートに既に登録されていれば、該ネットワークにおいてループ接続が発生した旨が検出される。ループ接続の発生が検出されると、該パケットを廃棄し、さらに、その旨をユーザに通知する。
【００１３】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００１４】
＜第１実施形態＞
図１は、本実施形態をスイッチングＨＵＢの各ポートに実装した構成を示すブロック図である。以下、複数のポートが搭載されているスイッチングＨＵＢのポートＮに関して説明する。
【００１５】
ポートＮの受信部３０１では、ポートＮで受信されるパケットを物理層レベルで受信する。リンク監視部３０３は、ポートＮにリンクがはられているか否かを常時監視し、リンクがはられた場合、すなわち新たな接続がなされた場合にはパケット拒否タイマを起動する信号を出力し、リンクが切れた場合にはパケット拒否タイマをクリアする信号を出力する。パケット拒否タイマ部３０４は、リンク監視部３０３からの起動信号をトリガにしてタイマを起動し、設定された時間（パケット拒否時間Ｔ１）が経過するとパケット処理部３０５にパケット受信許可信号を出力する。
【００１６】
パケット処理部３０５では、パケットの受信処理及び送信処理を行う。パケット拒否タイマ部３０４からのパケット受信許可信号が入力されている場合は、受信部３０１より入力された受信パケットをパケット解析部３０６に出力する。一方、パケット受信許可信号が入力されていない場合は、ポートＮに接続されている端末との通信が全二重であればＰａｕｓｅフレームを作成し、送信部３０２に出力するが、半二重であればコリジョン信号を送信する。この処理により、ポートＮに接続されている機器に対して送信を停止させる。
【００１７】
パケット解析部３０６では、入力されたパケットの宛先アドレスと送信元アドレスを解析する。解析された宛先アドレスはアドレステーブル３０７へ出力し、アドレステーブル３０７よりスイッチングすべきポート番号を取得する。同様に解析された送信元アドレスは、学習処理及びループ検出のためにアドレステーブル３０７に出力される。
【００１８】
アドレステーブル３０７は、パケットのアドレスとスイッチングＨＵＢのポート番号を対応付けて管理しており、スイッチングＨＵＢごとに１つが搭載されている。アドレステーブル３０７は、パケット解析部３０６より受信した宛先アドレスをもとに、対応付けられているポート番号を検索してパケット解析部３０６に出力する。また、パケット解析部３０６より受信した送信元アドレスが既に登録されているか否かを検索し、登録されていなければ学習処理としてその送信元アドレスをポートＮに割り当てる。このような学習処理が行われた場合、エイジングタイマ部３０８に起動信号を出力する。また、アドレステーブル３０７にて検索した送信元アドレスが別のポートに登録されていた場合、ループ検出部３０９にエラー信号を出力する。また、エイジングタイマ部３０８よりエイジング信号を受信すると、アドレステーブル３０７は登録されているアドレスを削除する。
【００１９】
エイジングタイマ部３０８は、アドレステーブル３０７からの起動信号をトリガにタイマを起動し、設定された時間（エイジング時間Ｔ２）が経過すると、アドレステーブル３０７に登録されているアドレスに対してエイジング信号を送信する。ここで本実施形態においては、エイジング時間Ｔ２を上述したパケット拒否時間Ｔ１よりも短くなるように、すなわち、Ｔ２＜Ｔ１となるように設定することを特徴とする。
【００２０】
ループ検出部３０９は、アドレステーブル３０７よりエラー信号を受信するとループを検出したと断定し、廃棄パケット選択部３１０とユーザ通知部３１１にループ検出信号を送信する。
【００２１】
廃棄パケット選択部３１０は、パケット解析部３０６から送られてくるパケットをスイッチング部３１２に中継するが、ループ検出部３０９よりループ検出信号を受信すると、パケット解析部３０６から送られてくるパケットをスイッチング部３１２に中継せず、これを廃棄する。
【００２２】
ユーザ通知部３１１は、ループ検出部３０９よりループ検出信号を受信すると、ユーザにループ接続が行われている旨を通知する。この通知手段としては、ループ発生ＬＥＤの点灯やブザーの鳴動等が考えられる。スイッチング部３１２は、受信したパケットを正しいポートにスイッチし、送信側のパケット処理部３０５にパケットを中継し、送信すべきパケットを送信部３０２に出力する。
【００２３】
本実施形態においては、スイッチングＨＵＢにおけるポートに新規で機器が接続された際に、設定された時間中はパケットを拒否することを特徴とする。以下、図２のフローチャートを参照して、本実施形態におけるパケット受信処理について説明する。
【００２４】
図２のステップＳ４０１において、スイッチングＨＵＢは各ポートに関して、リンクがはられたか否かをリンク監視部３０３にて常時監視している。そしてステップＳ４０２において、新規でポートにリンクがはられていない場合には、ステップＳ４０１にてリンクの監視を続ける。一方、ステップＳ４０２でポートＮに新規にリンクがはられた旨を確認した場合、ステップＳ４０３においてポートＮの受信パケットを全て拒否し、ポートＮに接続されている機器に対して、全二重通信であればＰａｕｓｅフレームを、半二重通信であればコリジョン信号を送信し、機器からの送信を中止させる。そして、ステップＳ４０４でパケット拒否タイマ部３０４に設定されているＴ１時間が経過するまで、ステップＳ４０３におけるポートＮの受信パケット拒否を続ける。ステップＳ４０４においてＴ１時間が経過すると、ステップＳ４０５においてパケット受信許可を行い、通常の通信状態であるステップＳ４０６に移行する。
【００２５】
以下、本実施形態においてネットワーク上でループ接続が行われているか否かを判定するループ検出処理について、図３のフローチャートを参照して説明する。
【００２６】
まず、ポートＮが、図２に示した通常の通信状態であるステップＳ４０６の状態にあるとする。この時、ステップＳ５０１でポートＮよりパケットが入力されるとステップＳ５０２に進み、送信元アドレスをアドレステーブル３０７にて検索する。検索した結果、ステップＳ５０３において受信したパケットの送信元アドレスがアドレステーブル３０７に登録されていない、すなわちヒットしなかった場合、処理はステップＳ５０４に移行し、アドレステーブル３０７に対して送信元アドレスをポートＮに対応付けて登録し（学習処理）、処理を終了する。
【００２７】
一方、ステップＳ５０３において送信元アドレスがアドレステーブル３０７に登録されている、すなわちヒットした場合、ステップＳ５０５に進み、アドレステーブル３０７に登録されている送信元アドレスに対応付けられたポート番号、すなわち以前に学習していたポート番号が、今回と同一のポートＮであるか否かを判定する。ポート番号が一致していればステップＳ５０６に進み、学習済みであると判断して処理を終了するが、不一致であればステップＳ５０７に進み、ループ接続がなされていることを検出する。ループが検出されると、ステップＳ５０８においてループパケットを廃棄し、ステップＳ５０９においてユーザ通知処理が行われる。
【００２８】
以下、図４を参照して、１対１のスイッチングＨＵＢ間でループ接続が行われた場合を例として、本実施形態のループ検出処理について説明する。
【００２９】
図４においては、４ポートのスイッチングＨＵＢ６０１のポート４と、スイッチングＨＵＢ６０２のポート１とが接続されている。スイッチングＨＵＢ６０１のポート１にはアドレスＡの端末６０３が、ポート２にはアドレスＢの端末６０４がそれぞれ接続されている。また、スイッチングＨＵＢ６０２のポート３にはアドレスＣの端末６０５が、ポート４にはアドレスＤの端末６０６が接続されている。各端末は接続後、図２に示すパケット拒否処理に従い、図１に示すパケット拒否タイマ部３０４に設定されたＴ１時間の間はパケット送信を拒否され、その後、通常の通信状態（Ｓ４０６）に移行する。
【００３０】
スイッチングＨＵＢは上記の状態から、学習を行っていく。例えば、スイッチングＨＵＢ６０１のポート１に接続されているアドレスＡの端末６０３から、ネットワーク上にパケットを送信する場合について、図３のフローチャートを用いて説明する。
【００３１】
アドレスＡの端末６０３から、送信元アドレスＡのパケットが送信される。上記パケットはスイッチングＨＵＢ６０１のポート１で受信される（Ｓ５０１）。スイッチングＨＵＢ６０１のポート１では、送信元アドレスＡをアドレステーブルにて検索する（Ｓ５０２）。アドレスＡの端末５０３は初めてのパケット送信であるため、スイッチングＨＵＢ６０１のアドレステーブルにアドレスＡは登録されていない。そこでスイッチングＨＵＢ６０１は、アドレステーブルにアドレスＡをポート１と登録する（Ｓ５０４）。
【００３２】
再度、アドレスＡの端末６０３よりパケットが送信された場合は、アドレステーブルにアドレスＡが登録されており（Ｓ５０３）、さらにアドレスＡはポート１に対応付けられている（Ｓ５０５）ため、学習済みと判断する（Ｓ５０６）。その後、スイッチングＨＵＢ６０１は、アドレスＡに対してエイジングがかかるまで、送信元アドレスＡのパケットがポート１から入力されても処理を必要としない。そして時間Ｔ２が経過してエイジングがかかった場合に、再び学習処理を行う。
【００３３】
上述したように各端末がネットワーク上にパケットを送信することで学習処理を行う。各端末が通信を繰り返し、スイッチングＨＵＢが十分に学習を行った場合、各スイッチングＨＵＢ６０１，６０２のアドレステーブルはそれぞれ、図４に示すアドレステーブル６０８，６０９のようになる。
【００３４】
このような状態において、図４に点線で示す様に、スイッチングＨＵＢ６０１のポート３とスイッチングＨＵＢ６０２のポート２を接続すると、スイッチングＨＵＢ６０１とスイッチングＨＵＢ６０２の間がループ形状となる。以下、ネットワークのループ形状をスイッチングＨＵＢ６０２が検出する方法について、詳細に説明する。
【００３５】
ここで、アドレスＡの端末６０３からブロードキャストパケット６０７が送信されたとする。ブロードキャストパケット６０７をポート１に受信したスイッチングＨＵＢ６０１は、アドレステーブル６０８によって、送信元アドレスＡがポート１に登録されていることを確認し、他のポート（ポート２，３，４）にブロードキャストパケット６０７を中継する。スイッチングＨＵＢ６０１のポート３とポート４はスイッチングＨＵＢ６０２に接続されているため、ブロードキャストパケット６０７はスイッチングＨＵＢ６０２のポート１とポート２でほぼ同時に受信される。
【００３６】
スイッチングＨＵＢ６０２のアドレステーブル６０９ではアドレスＡはポート１に登録されているため、受信するのがポート２より早くても遅くても、ポート１にブロードキャストパケット３０７を受信した場合は、スイッチングＨＵＢ６０２の他のポートにブロードキャストパケット３０７を送信する。ここで、ポート２にブロードキャストパケット３０７を受信した場合が問題となる。この問題について、図３のループ検出フローチャートを用いて説明する。
【００３７】
スイッチングＨＵＢ６０２のポート２にブロードキャストパケット３０７を受信する（Ｓ５０１）と、ブロードキャストパケット６０７の送信元アドレスをアドレステーブル６０９にて検索する（Ｓ５０２）。ここでアドレスＡは登録されているのでヒットする（Ｓ５０３）が、対応付けられているポートがポート１となっており、送信元アドレスＡを受信したポートは２であるため（Ｓ５０５）、スイッチングＨＵＢ６０２はネットワーク上でループが発生していると判断する（Ｓ５０７）。
【００３８】
なお、ここでループであると即座に判断できる理由は以下のとおりである。すなわち、もしもアドレスＡの端末６０３が他のポートに接続し直されていても、新規接続された場合はＴ１時間パケット送信を拒否されており、エイジングの時間Ｔ２との関係にＴ１＞Ｔ２の条件が成り立っているため、アドレステーブル６０９に登録されているアドレスが他のポートで受信された場合には、確実にループ接続されていると判断できる。
【００３９】
ループが発生していると判断したスイッチングＨＵＢ６０２は、ブロードキャストパケット６０７を廃棄し（Ｓ５０８）、ユーザに通知を行う（Ｓ５０９）。
【００４０】
スイッチングＨＵＢ６０１に関しても同様のアルゴリズムによって、ネットワークがループ接続されていることを検出し、ループパケットが無限に周回することを回避することができる。
【００４１】
以上説明したように本実施形態によれば、スイッチングＨＵＢ内で複雑な処理を行い、スイッチングＨＵＢ間で専用メッセージをやり取りしなくてはならないスパニングツリープロトコルを実装することなく、１対１のスイッチングＨＵＢ間でのパケット転送において、確実にループを検出し、パケットを廃棄することができる。
【００４２】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００４３】
上述した第１実施形態では、１対１のスイッチングＨＵＢ間におけるループ接続を検出する例について説明したが、第２実施形態においては、複数のスイッチングＨＵＢ間におけるループ接続を検出する例を示す。
【００４４】
第２実施形態における複数のスイッチングＨＵＢ間でのループ検出処理を、図５を参照して説明する。
【００４５】
図５においては、４ポートのスイッチングＨＵＢ７０１のポート２とスイッチングＨＵＢ７０２のポート４、スイッチングＨＵＢ７０１のポート４とスイッチングＨＵＢ７０３のポート１とが接続されている。スイッチングＨＵＢ７０１のポート２にはアドレスＡの端末７０４が、ポート３にはアドレスＢの端末７０５が接続されている。スイッチングＨＵＢ７０２のポート２にはアドレスＣの端末７０６が、ポート３にはアドレスＤの端末７０７が接続されている。スイッチングＨＵＢ７０３のポート２にはアドレスＥの端末７０８が、ポート３にはアドレスＦの端末７０９が接続されている。各端末は接続後、図２に示すパケット拒否処理に従い、図１に示すパケット拒否タイマ部３０４に設定されたＴ１時間の間はパケット送信を拒否され、その後、通常の通信状態（Ｓ４０６）に移行する。
【００４６】
この状態から各端末が通信を繰り返し、各スイッチングＨＵＢが十分に学習を行った場合、スイッチングＨＵＢ７０１，７０２，７０３のアドレステーブルはそれぞれ、図５に示すアドレステーブル７１０，７１１，７１２のようになる。
【００４７】
このような状態において、図５に点線で示す様に、スイッチングＨＵＢ７０２のポート１とスイッチングＨＵＢ７０３のポート４を接続すると、スイッチングＨＵＢ７０１とスイッチングＨＵＢ７０２、スイッチングＨＵＢ７０３の間がループ形状となる。以下、ネットワークのループ形状を各スイッチングＨＵＢが検出する方法について、詳細に説明する。
【００４８】
ここで、アドレスＡの端末７０４からブロードキャストパケット７１３が送信されたとする。ブロードキャストパケット７１３をポート２に受信したスイッチングＨＵＢ７０１は、アドレステーブル７１０によって送信元アドレスＡがポート２に登録されていることを確認し、他のポート（ポート１，３，４）にブロードキャストパケット７１３を中継する。するとスイッチングＨＵＢ７０２は、ポート４からブロードキャストパケット７１３を受信し、アドレステーブル７１１によって送信元アドレスＡがポート４に登録されていることを確認し、他のポート（ポート１，２，３）にブロードキャストパケット７１３を中継する。するとスイッチングＨＵＢ７０３は、ポート１からブロードキャストパケット７１３を受信し、アドレステーブル７１２によって送信元アドレスＡがポート１に登録されていることを確認し、他のポート（ポート２，３，４）にブロードキャストパケット７１３を中継する。
【００４９】
ここで、スイッチングＨＵＢ７０２のポート１とスイッチングＨＵＢ７０３のポート４において、ループパケットを検出することになるが、以下、スイッチングＨＵＢ７０２におけるループパケットの検出処理ついて、図３のループ検出フローチャートを用いて詳細に説明する。
【００５０】
スイッチングＨＵＢ７０２のポート１にブロードキャストパケット７１３を受信する（Ｓ５０１）と、ブロードキャストパケット７１３の送信元アドレスをアドレステーブル７１１にて検索する（Ｓ５０２）。アドレスＡは登録されているのでヒットする（Ｓ５０３）が、対応付けられているポートがポート４となっているので（Ｓ５０５）、スイッチングＨＵＢ７０１はネットワーク上でループが発生していると判断する（Ｓ５０７）。
【００５１】
なお、ここでループであると即座に判断できる理由は以下のとおりである。すなわち、もしもアドレスＡの端末７０４が他のポートに接続し直されていても、新規接続された場合はＴ１時間パケット送信を拒否されており、エイジングの時間Ｔ２との関係にＴ１＞Ｔ２の条件が成り立っているため、アドレステーブル７０２に登録されているアドレスが他のポートで受信した場合には、確実にループ接続されていると判断できる。
【００５２】
ループが発生していると判断したスイッチングＨＵＢ７０２は、ブロードキャストパケット７１３を廃棄し（Ｓ５０８）、ユーザに通知を行う（Ｓ５０９）。
【００５３】
スイッチングＨＵＢ７０３に関しても同様のアルゴリズムによって、ネットワークがループ接続されていることを検出し、ループパケットが無限に周回することを回避することができる。
【００５４】
以上説明したように第２実施形態によれば、複数台のスイッチングＨＵＢ間でのパケット転送時においても、第１実施形態と同様に確実にループを検出することができる。
【００５５】
なお、上述した第１及び第２実施形態では、端末とスイッチングＨＵＢがループなし接続で通信を行っていた状態において、ループ接続を行った場合について説明したが、ループ接続を行っているスイッチングＨＵＢに対して端末を接続した場合についても、一度学習を行った上で上記と同様の制御を行い、ループ検出を行うことが可能である。また、上記各実施形態ではブロードキャストパケットについて説明したが、マルチキャストパケットや宛先アドレスが不明な場合に送信されるフラッディングパケット等、無限に周回する可能性のあるパケットに関しても、同様にループを検出することができる。
【００５６】
また、第２実施形態においては３台のスイッチングＨＵＢを接続する場合を例として説明したが、複数台のスイッチングＨＵＢにてループを形状する場合、あるいは複数のループ形状を持つネットワークに関しても、上記アルゴリズムによってループを検出することができる。
【００５７】
【他の実施形態】
なお、本発明は、例えばシステム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用しても良い。
【００５８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
【００５９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることが出来る。
【００６１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
【発明の効果】
以上説明したように本発明によれば、スパニングツリーを実装することなく、ネットワーク上のループ接続を確実に検出することができる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態におけるスイッチングＨＵＢの内部構成を示すブロック図である。
【図２】本実施形態におけるパケット受信処理を示すフローチャートである。
【図３】本実施形態におけるループ検出処理を示すフローチャートである。
【図４】本実施形態におけるスイッチングＨＵＢの１対１の接続によるループとアドレステーブル例を示す図である。
【図５】第２実施形態におけるスイッチングＨＵＢの複数台接続によるループとアドレステーブル例を示す図である。
【図６】スイッチングＨＵＢとアドレステーブルの関係を示す図である。
【図７】スイッチングＨＵＢ間のループ接続の一例を示す図である。
【図１】
2004320477.tif 000003
【図２】
2004320477.tif 000004
【図３】
2004320477.tif 000005
【図４】
2004320477.tif 000006
【図５】
2004320477.tif 000007
【図６】
2004320477.tif 000008
【図７】
2004320477.tif 000009