(57)【要約】【課題】Ｌ２ループ・ブロードキャストストームが発生した時にも、ループサブネット内のホスト同士、あるいはループサブネット内のホストとループサブネット外のホストの通信路を確保し，サブネット内の通信を可能にする。59.   【解決手段】サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて，前記中継スイッチにおけるＬ２レベルの誤接続により発生するパケットループによる通信障害を回復する通信制御方法であって，前記サブネットを構成する，通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスを送信元として，パケットを連続して送信し，これにより，前記パケットループを停止させ，ついで，送信先のエンドホストのＭＡＣアドレスを送信先ＭＡＣアドレスとしてパケットデータを送信する。【選択図】  図５
2006352263.tif 000002
【特許請求の範囲】
【請求項１】
サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて，前記中継スイッチにおけるＬ２レベルの誤接続により発生するパケットループによる通信障害を回復する通信制御方法であって，
前記サブネットを構成する，通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスを送信元として，パケットを連続して送信し，
これにより，前記パケットループを停止させ，
ついで，送信先のエンドホストのＭＡＣアドレスを送信先ＭＡＣアドレスとしてパケットデータを送信する
ことを特徴とする通信制御方法。
【請求項２】
請求項１において，
前記連続送信するパケットの宛先をブロードキャストアドレスとすることを特徴とする通信制御方法。
【請求項３】
請求項１において，
前記連続送信するパケットを，前記サブネットに実在しないアドレスを宛先としてユニキャストに送信することを特徴とする通信制御方法。
【請求項４】
サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて，前記中継スイッチにおけるＬ２レベルの誤接続により発生するパケットループによる通信障害を回復する通信制御方法であって，
通信させたいエンドホストのＭＡＣアドレスを発アドレスとして持つパケットを連続的に送信し，
これにより，ブロードキャストパケットの発アドレスが同一の場合に、中継スイッチのＭＡＣ学習テーブルを消去させ，
ついで，送信先のエンドホストのＭＡＣアドレスを送信先ＭＡＣアドレスとしてパケットデータを送信する
ことを特徴とする通信制御方法。
【請求項５】
中継スイッチと，
前記中継スイッチを通してデータの送受を行う，前記サブネット内に前記サブネットを構成するエンドホストと，
パケットを連続して送信する制御装置を接続し，
前記中継スイッチにおけるＬ２レベルの誤接続によりＬ２ループが発生する際，
前記制御装置は，通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスを送信元として，パケットを連続して送信し，これにより，前記パケットループを停止させ留ことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，通信制御方法及び，これを適用する通信装置に関する。特にＬ２ループ発生時に通信を確保するための通信制御方法及び，これを適用する通信装置に関する。
【背景技術】
【０００２】
ネットワークにおいて，ＬＡＮケーブルの誤接続により発生する非常に頻度の高い障害の一つであるＬ２ループ（ブロードキャストストーム）が知られている(例えば，特許文献１)。このＬ２ループが発生すると、サブネット全域で伝送路が高負荷となるだけでなく、ループの存在する場所にパケットがフォワードされるブラックホール現象と呼ばれる現象が発生する。
【０００３】
かかるＬ２ループの発生のメカニズムは以下のように説明できる。図１は，Ｌ２ループの発生のメカニズムを説明する図である。
【０００４】
してブロードキャストパケットを送信する。サブネット内の全ての端末２，３にパケットが届くように各中継スイッチＳＷ１，ＳＷ２，ＳＷ３でフォワードされる。
【０００５】
このとき、各中継スイッチＳＷ１，ＳＷ２，ＳＷ３では、このパケットを受信したポートにおいてパケットの発ＭＡＣアドレスであるである“Ａ”を学習する。すなわち、このポートの先にＭＡＣアドレス“Ａ”を持つ端末が存在することを学習する。これにより，次に、他の端末から宛先ＭＡＣアドレスが“Ａ”のパケットを送信したときに、各中継スイッチがこの学習結果からフォワードするポートを決定することができる。
【０００６】
ところが、図１Ｂに示すように，例えば，中継スイッチＳＷ３において，ＬＡＮケーブルの誤接続によりケーブルがループ状態となると，端末１が送信したブロードキャストパケットがループする。すなわち，端末１の送信したパケットが，中継スイッチＳＷ３でループする度にループ箇所から端末１が送信したパケットが送信され、先の説明と同じ原理でサブネット内の各中継スイッチＳＷ１，ＳＷ２，ＳＷ３でループ箇所にＭＡＣアドレス“Ａ”の端末１が存在するとしてＭＡＣアドレスが誤って学習される。
【特許文献１】特開２００２-２５２６２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この結果、端末１宛のパケットを他の端末が送信しようとしても、中継スイッチＳＷ３に形成されたループ箇所にパケットが吸い込まれるため、端末１には正常にパケットが届かなくなり、端末１宛への通信が不能となる。
【０００８】
Windows（マイクロソフト社ＯＳ）使用の装置やパーソナルコンピュータやルータは頻繁にブロードキャストパケットを送信するため、一度ブロードキャストパケットを送信した端末はサブネット内で通信ができなくなる、という現象が発生する。
【０００９】
上記特許文献１では，このようなループの発生箇所を検出する手法を開示しているが，ループの発生した後に誤って学習したアドレスを訂正する手法はこれまでに存在していなかった。従来はケーブルを抜くなど物理的な作業でループ発生源を切り離して根本的にループを停止させなければ、ループサブネット内に存在する端末と通信することは困難であった。
【００１０】
このような切り離し作業は、ループ箇所を特定する必要があるため、時間的、人的コストが高いという問題があった。
【００１１】
したがって，本発明の目的は，Ｌ２ループ・ブロードキャストストームが発生した時にも、ループサブネット内のホスト同士、あるいはループサブネット内のホストとループサブネット外のホストの通信路を確保し，サブネット内の通信を可能にする通信制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記の本発明の目的を達成する通信制御方法の第１の側面は，サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて，前記中継スイッチにおけるＬ２レベルの誤接続、および中継スイッチの故障により発生するパケットループによる通信障害を回復する通信制御方法であって，前記サブネットを構成する，通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスを送信元として，パケットを連続して送信し，これにより，前記パケットループを停止させ，ついで，送信先のエンドホストのＭＡＣアドレスを送信先ＭＡＣアドレスとしてパケットデータを送信することを特徴とする。
【００１３】
前記連続送信するパケットの宛先をブロードキャストアドレスとすることができる。
【００１４】
また，前記連続送信するパケットを，前記サブネットに実在しないアドレスを宛先としてユニキャストに送信することができる。
【００１５】
さらに，前記連続送信するパケットを，前記サブネットに実在しないアドレスを送信元ＭＡＣアドレスとしてマルチキャストすることができる。
【００１６】
前記通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスは，通信をモニタして実在するＭＡＣアドレスを取得し、取得されたＭＡＣアドレスと予め識別されている実在するＭＡＣアドレス以外のＭＡＣアドレスとしてもよい。
【００１７】
前記サブネット内に実在しないＭＡＣアドレスを送信元アドレスに設定して、ブロードキャストされるパケットを連続的に送信することができる。
【００１８】
また，前記サブネットに存在しないＭＡＣアドレスを送信元アドレスに設定し，通信させたいエンドホストがユニキャストで応答する、宛先がブロードキャストであるパケットを送信し，これにより，エンドホストのＭＡＣアドレスを前記サブネット内の中継スイッチで正しく学習させることも可能である。
【００１９】
前記サブネットに存在しないＭＡＣアドレスを送信元アドレスに設定し，前記サブネット内に実在しないアドレスの宛先を持つユニキャストパケットを送信し，これにより，エンドホストのＭＡＣアドレスを前記サブネット内の中継スイッチで正しく学習させるようにしてもよい。
【００２０】
前記サブネットに存在しないＭＡＣアドレス送信元アドレスに設定し，通信させたいエンドホストがユニキャストで応答する、宛先がマルチキャストであるパケットを送信し，これにより，エンドホストのＭＡＣアドレスを前記サブネット内の中継スイッチで正しく学習させるようにしてもよい。
【００２１】
上記の本発明の目的を達成する通信制御方法の第２の側面は，サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて，前記中継スイッチにおけるＬ２レベルの誤接続により発生するパケットループによる通信障害を回復する通信制御方法であって，
通信させたいエンドホストのＭＡＣアドレスを発アドレスとして持つパケットを連続的に送信し，これにより，ブロードキャストパケットの発アドレスが同一の場合に、中継スイッチのＭＡＣ学習テーブルを消去させ，ついで，送信先のエンドホストのＭＡＣアドレスを送信先ＭＡＣアドレスとしてパケットデータを送信することを特徴とする。
【００２２】
上記において，アープ（ARP：Address Resolution Protocol）ブロードキャストパケットを送信し，その後に誤学習訂正のためのパケット送信を行い，エンドホストのＩＰアドレスからＭＡＣアドレスを取得することも可能である。
【００２３】
また，前記パケットの連続的に送信は，遠隔地に置かれた装置から実行されることも可能である。
【発明の効果】
【００２４】
Ｌ２ループ・ブロードキャストストームが発生した時にも、ループサブネット内のホスト同士、あるいはループサブネット内のホストとループサブネット外のホストの通信路を確保し，サブネット内の通信を可能にする。
【発明を実施するための最良の形態】
【００２５】
以下に図面に従い，本発明の実施の形態例を説明する。なお，実施の形態例は本発明の理解のためのものであり，本発明の技術的範囲は，これに限定されるものではない。
【００２６】
本発明の基本原理は，ループ発生時の誤ったアドレス学習をリモートからパケットを連続的に送信することで訂正するものである。これにより、ループ発生源を切り離すことなく、サブネット内の端末との通信を可能にし、これまで必要であった通信回復までの時間的および人的コストを大幅に削減することが可能になる。
【００２７】
すなわち，ループするパケットとして、通信の送信元、宛先双方の端末の持つＭＡＣアドレスを送信元とするパケットが存在しないようにすれば良く、本発明では，この条件を満たすパケットを連続的にブロードキャストし、意図的にループしているパケットを置き換えることを原理とする。
【００２８】
ループを構成している中継スイッチポートでは本発明によりパケットが連続的に入力されると共に、既存のループパケットも入力されるため出力ポート１つに対して２入力が存在する状態となる。これが連続的に発生するため入力または出力キューが溢れ、結果的にループしているパケットが中継スイッチにおけるキュー溢れにより廃棄させられ、本発明により送信するパケットのみがループしている状態を作り出すことができる。
【００２９】
以上の原理により、ループからＭＡＣアドレスの誤学習の原因となるパケットが送信されなくなり、サブネット内の端末（エンドホスト）と通信できるようになる。
【００３０】
図２は，上記原理を実現する本発明を説明するためのサブネットの構成例である。中継スイッチＳＷ１にエンドホスト２００Ａ，２００Ｂが接続され，更に，一つのホストの概念として本発明の方法を適用するＬ２ループ時に通信を回復するための通信装置１００（以下本発明装置１００という）が中継スイッチＳＷ１に接続されている。さらに，中継スイッチＳＷ１の先にケーブルで接続された中継スイッチＳＷ２が存在し，この中継スイッチＳＷ２におけるケーブル接続の誤りによりＬ２ループが発生している状態を示している。
［第１実施例］
図３は，本発明に従う本発明装置１００の機能構成例を示す図である。図４は，図３の実施の形態例に対応する本発明装置１００の動作フローであり，図５は，図２のサブネットにおける信号のシーケンスを示す図である。
【００３１】
これらの図を参照して本発明の第１の実施例を説明する。
本発明装置１００は指定されたパケット（Etherヘッダの宛先アドレス、発アドレス、プロトコル、プロトコルに応じたペイロードなど）を指定された回数で送信する機能を持ち、サブネットに実在しないＭＡＣアドレスを発アドレスとしてブロードキャストされるパケットをサブネット内に連続的に送信する。これにより、通信させたいエンドホストのＭＡＣアドレスが中継の中継スイッチＳＷ１，ＳＷ２で誤学習されることを停止する効果が得られる。
【００３２】
図３に示す本発明装置１００の機能ブロックにおいて，入力部１０１において，本発明装置１００のＭＡＣアドレス（＝ＭＣ）を取得し（図４，ステップＳ１），更に制御パラメータとして，送信パケット数，サイズ，ヘッダ，ペイロード情報を取得する（ステップＳ２）。ついで，パケット送信部１０２は，入力された制御パラメータに従って発アドレスをＭＡＣアドレス（＝ＭＣ）とするパケットを生成して，ネットワークインタフェース１０３を通して送信する（ステップＳ３）。
【００３３】
本発明装置１００の前記制御パラメータとして、プロトコル、宛先ＭＡＣアドレス、発ＭＡＣアドレス、パケット長、およびＭＡＣパケットの上位プロトコル固有のパラメータなどをパケット送信部１０２に渡すことができる。これらの送信するパケットのパラメータは全て変更することもできるし、またデフォルトの値を用いてもよいし、固定の値で変更できなくてもよい。送信を指示されたパケット送信部１０２は、制御パラメータに基づき、パケットを生成し、インタフェース１０３を通してネットワーク１１０に送信する。停止を指示されれば、送信部１０２はパケットの送信を停止する。
【００３４】
ここで，パケットは，ヘッダ部に宛先アドレスと発アドレスが書き込まれるように構成される。例えば、入力部１０１よりデフォルトのパラメータを利用して，1,514バイト（Byte）のイーサネット（Ethernet）の最長パケットとしてアープ（ARP：Address Resolution Protocol）リクエストフレームを，宛先ＭＡＣアドレスがFF-FF-FF-FF-FF-FFというＭＡＣブロードキャスト、発アドレスが本発明装置１００のＭＡＣアドレス、アープ(ARP)で要求するアドレスを本発明装置１００のＩＰアドレス（＝ＩＰＣ）にして、例えば10,000パケットを送信する。これにより、ループしているパケットが本発明装置１００で送信したパケットに置き換えられる。
【００３５】
たとえば，図２おいて，エンドホスト２００Ａが送信したブロードキャスト(ＢＣ)パケットＰＫＴ１が中継スイッチＳＷ２でループしており、エンドホスト２００ＡのＭＡＣアドレス（＝ＭＡ）が中継スイッチＳＷ１，ＳＷ２で継続的に誤学習（ 「ＭＡ」がループ方向）されている場合を考える(図５，Ｐ１参照)。
【００３６】
この状態で、本発明装置１００はブロードキャストパケットＰＫＴ２を大量に送信する( 図５，Ｐ２参照)。これにより，本発明装置１００のＭＡＣアドレス（＝ＭＣ）がループ方向隣，エンドホスト２００Ａが送信したループパケットＰＫＴ１を一掃する。したがって，誤学習の原因となるパケットＰＫＴ１がループする状態を停止させることができる。
【００３７】
ただし、この状態では、誤学習の原因となるエンドホスト２００Ａ発のパケットがループすることを停止させただけなので、誤学習が直ってはいない。
【００３８】
この後、例えば、通信の発信元となるエンドホスト２００Ａが自発的に誤学習されていないエンドホスト２００ＢへユニキャストパケットＰＫＴ３を送信する。これを契機に、エンドホスト２００Ａのアドレスが中継スイッチＳＷ１上で正しく学習されながら（図５，Ｐ４参照）、エンドホスト２００Ｂに到達する。
【００３９】
この結果、エンドホスト２００Ｂからエンドホスト２００Ａへの通信も応答パケットＰＫＴ４が正しく学習されている経路を通ってエンドホスト２００Ａに到達するようになる(図５，Ｐ５参照)。
【００４０】
以上のメカニズムにより誤学習が訂正され、Ｌ２ループが発生している状況でもエンドホスト２００Ａと２００Ｂとの間で通信することが可能になる。
【００４１】
ここで，上記した送信するＭＡＣパケットＰＫＴ２の宛先ＭＡＣアドレスはＭＡＣパケットのブロードキャスト(＝ＢＣ)以外にＭＡＣパケットのマルチキャストアドレス、もしくはサブネット内で利用されていないＭＡＣパケットのユニキャストアドレスを使うことも可能である。
【００４２】
また，送信するＭＡＣパケットの発アドレスは本発明装置１００のＭＡＣアドレス（＝ＭＣ）でなくてもよく、通信させたいエンドホストの持つＭＡＣアドレス以外であれば、任意のアドレスを利用できる。サブネット内で利用されていないＭＡＣパケットのユニキャストアドレス、サブネット内で利用されているＭＡＣのユニキャストアドレス、ＭＡＣブロードキャスト、ＭＡＣマルチキャストアドレスを利用しても良い。
【００４３】
たとえば、サブネットに存在しない任意のＭＡＣアドレスを発アドレスとしてアープ（ARP）を送信すると、本発明装置１００が送信したパケットがループした場合には、ループ箇所からサブネット全域に対して送信したパケットが再送信され続ける。このときに、各中継スイッチで学習されるＭＡＣアドレスは、先に生成した実在しないエンドホストのＭＡＣアドレスとなり、各中継スイッチでＭＡＣアドレスがループ箇所に存在するように誤学習されても、本発明装置１００を含めて実在するエンドホストには何ら影響がない。
【００４４】
また、送信するプロトコルもアープ（ARP）に限るものではなく、ＩＰ(Internet Protocol),
ＩＣＭＰ（Internet Control Message Protocol）,ＩＰＸ（Internet Packet Exchange）など，どのような上位プロトコルを利用しても良く、現在は使われていないようなエンドホストが解釈できないプロトコル、または、正常に解釈できないパケットを利用しても良い。送信するパケット長や送信するパケット数も、実際にネットワーク上に送信できるパケットであればどのような値でも良い。
【００４５】
また、本発明装置１００は，ループしているサブネット内に設置しなくてもよく、例えば、ループしているサブネットと異なるネットワークに設置された場合にも、ループサブネット宛のＩＰブロードキャストアドレスを宛先としたＩＣＭＰ Echo Requestを連続的に送信する、ＲＩＰなどループサブネット内のルータがブロードキャストパケットで応答するパケットを連続的に送信する、あるいは NetBIOSループサブネット内のエンドホストがブロードキャストパケットで応答するパケットを連続的に送信することによっても同様に可能である。
【００４６】
また、本発明装置１００はＶＬＡＮ（Virtual Local Network）tag をつけたＭＡＣパケットを送信してもよく、ループサブネットで利用されているＶＬＡＮtagを指定することにより、適切なサブネットにパケットを送信することが可能になる。
［第２実施例］
第２の実施例として，ループしている受信パケットをモニタしながらパケットを送信する実施例を説明する。
【００４７】
かかる第２の実施例におけるサブネットの構成は，先の図２に示したとおりとする。第２の実施例に手着る本発明装置１００の装置構成例を図６に示す。図７は，その動作フローである。
【００４８】
図６に示す本発明装置１００の装置構成例において，入力部１０１より検査パラメータを取得し，パケット送信部１０２において，送信パケット数，サイズ，宛先アドレスを設定する（ステップＳ１１）。
【００４９】
通信させたいホストのアドレス集合Ｈを取得または設定する（ステップＳ１２）。ついで，本発明装置１００及びサブネット上のＭＡＣアドレスのリストを取得する（ステップＳ１３）。
【００５０】
ついで，取得したＭＡＣアドレスのリストにないアドレスＸを生成する（ステップＳ１４）。
【００５１】
生成されたアドレスＸを発アドレスとし，実施例として5,000個のアープ（ARP）パケットを送出する（ステップＳ１５）。
【００５２】
一方，監視部１０６において，一定期間，例えば１秒間に受信したイーサネット（Ethernet）パケットの発アドレスの全てを監視部１０６に記録する。１秒間受信し，受信した発ＭＡＣアドレスの集合Ｓを記録する（ステップＳ１６）。
【００５３】
そして，期間内に受信したパケットの発ＭＡＣアドレスの集合Ｓと先に設定した通信させたいホストのアドレス集合Ｈと比較する（ステップＳ１７）。この比較において，集合Ｓが集合  Ｈに含まれないようになれば（ステップＳ１７，Ｎ），実在するエンドホスト２００Ａ，２００Ｂに誤学習の影響がなくなり，それらと通信可能となるので，処理は終了する。そうでなければ（ステップＳ１７，Ｙ），更に集合Ｓが集合Ｈに含まれなくなるまで，Ｘを発アドレスとするパケットの送信（ステップＳ１５）を継続する。
【００５４】
この実施例では受信したパケットの発ＭＡＣアドレスに一つでも実在するエンドホストのＭＡＣアドレスが含まれていれば（集合Ｓに集合Ｈが含まれる：ステップＳ１７，Ｙ）、無限に送信処理を繰り返すが、有限回で停止させてもよい。
【００５５】
また、一定期間受信し続けなくてもよく、ステップＳ１７でパケットを受信するたびに、発アドレスがサブネット内に実在するエンドホストのＭＡＣアドレスと一致するかを比較し、一致する場合には、任意の実在しないＭＡＣアドレスを発アドレスとしたパケットを実施例１と同様に連続的に送信してもよい。
【００５６】
また、最初に監視部１０６で受信したブロードキャストパケットの発ＭＡＣアドレスを一定時間の間に取得記録しておき、次に、通信させたいエンドホストのＭＡＣアドレスが、監視部１０６で記録した受信発ＭＡＣアドレスに一致する場合に、前記の送信処理を実施することで、通信させたいエンドホストのＭＡＣアドレスが誤学習されていなければ、送信処理を実施しなくてもよい。これにより、ネットワークに不必要な負荷を与えなくすることもできる。
【００５７】
ただし、通信させたいエンドホストが発アドレスであるブロードキャストパケットが現在ループしていなくても、過去にループしていた場合には、ＭＡＣアドレスが誤学習されている可能性がある。このため、一定時間の間にループしていないことが確認されても、エンドホストが通信できない場合は、前記の送信処理（ステップＳ１５）をしてもよい。
【００５８】
以上の状態で通信を目的とするパケットをエンドホスト間で送受信すれば、誤学習が発生している場合でも通信が回復する効果が得られる。
［第３実施例］
第３の実施例として，ホストが応答するブロードキャストパケットをループさせる実施例を説明する。
【００５９】
この第３の実施例では誤学習の原因となるパケットがループする状態を全て停止させ、且つ誤学習を訂正し、正常に学習させることを特徴とする。ネットワーク構成は，図２に示した例であり，図８は，本実施例における信号のシーケンスフローである。
【００６０】
図９は，ＭＡＣパケットのフォーマットであり，ＭＡＣヘッダは詳細には，宛先ＭＡＣ，発ＭＡＣ  及びタイプの３つのフィールドがある。なお，図９の他，関連するＭＡＣパケットのフォーマットを示している図では，簡単化のためにＭＡＣヘッダのタイプは省略されて示されている。
【００６１】
まず、第１実施例または第２実施例に従って、本発明装置１００から図９Ａに示すフォーマットのＭＡＣパケットＰＫＴ２を連続して送り，通信させたいエンドホスト２００Ａ発のＭＡＣパケットＰＫＴ１によるループＬＰ１が消滅した状態にする（Ｐ１）。このとき，本発明装置１００から送出されたＭＡＫパケットＰＫＴ２によるループＬＰ２は暫く消滅しない状態である。
【００６２】
次に，本実施例において，アープ(ARP)要求パケットを送信するが、この際、図９Ｂに示すフォーマット構造のアープ（ARP）要求パケット内で，要求する宛先ＩＰアドレスをエンドホスト２００ＡのＩＰアドレス(＝ＩＰＡ)に設定し、第２の実施例と同様に、アープ（ARP）要求パケット内の要求元のＩＰおよびＭＡＣアドレスとしてサブネットで使われていないＩＰアドレス（＝ＩＰＸ）とＭＡＣアドレス（＝ＭＸ）を設定する。さらに，ＭＡＣヘッダ部でアープ（ARP）要求の発ＭＡＣアドレスをＭＸに設定し、宛先ＭＡＣアドレスとしてブロードキャストＭＡＣアドレス（＝ＢＣ）に設定したパケットを１つ、もしくは複数送信する。これにより，送信したアープ（ARP）要求パケットがループしながらブロードキャストされる（ＬＰ３）。
【００６３】
このアープ（ARP）要求パケットをエンドホスト２００Ａが１つ受信すると、エンドホスト２００Ａはアープ（ARP）の応答パケットを１つ宛先ＭＡＣアドレス（＝ＭＸ）に対して送信する（Ｐ２）。
【００６４】
このＭＡＣアドレス（＝ＭＸ）はループ箇所に存在すると全ての中継スイッチＳＷ１，ＳＷ２で誤学習されているため、結果的に、ループに向かってアープ（ARP）の応答が中継され、中継路に沿う各中継スイッチでエンドホスト２００ＡのＭＡＣアドレス（＝ＭＡ）が正常に学習される（Ｐ３）。
【００６５】
以上の状態で通信を目的とするパケットＰＫＴ３，ＰＫＴ４をエンドホスト２００Ａ，２００Ｂ間で送受信すれば、誤学習が発生している場合でも通信が回復する（Ｐ４）。
なお，エンドホスト２００Ａはアープ（ARP）に応答し続け、負荷が高くなるため、正常に学習された後、ループパケットをホストの負荷が高くならないものに置き換えることで、応答を停止させてもよい。この方法は，アープ（ARP）に限らず、エンドホストがブロードキャストされるパケットに応答すれば良く、ＩＰマルチキャスト、ＩＰブロードキャストなど様々なプロトコルを使うことも可能である。
［第４実施例］
第４の実施例は，誤学習の原因となるパケットがループするのを停止させずに、誤学習を訂正させることを特徴とする。
【００６６】
図１０は，かかる第４の実施例に対応する信号のシーケンスを示す図である。
ある種類のイーサネットの中継スイッチにおいては、同一の発ＭＡＣアドレス（ここではエンドホスト２００ＡのＭＡＣアドレス（＝ＭＡ）とする）を持つパケットが異なるポートに頻繁に到着した場合（Ｐ１−Ｐ２）、アドレスＭＡが学習されるポートが頻繁に変更され、正常に学習できないとみなされ、一時的に該当するＭＡＣアドレスが学習テーブルから消去され、結果的にアドレスＭＡは未学習の状態となる（Ｐ３）。
【００６７】
この場合に，通信を目的とするエンドホスト２００Ａ宛のパケットが中継スイッチに到着すると、ＭＡは未学習であるため、宛先不明とみなされ、ユニキャストパケットではあるが、全ポートにブロードキャストされる（Ｐ４）。これにより、正常に学習されていないが、正しいポートにもパケットがフォワードされるため、誤学習を訂正したのと同等の効果が得られる。
【００６８】
このような状態を作るためには、アドレスＭＡを発アドレスとして持つＭＡＣパケットを連続的に送信すればよい。一例として第３の実施例において、予め誤学習の原因となるパケットがループするのを全て停止させなくても、ループにより連続的にブロードキャストされるパケットにエンドホストが応答すれば、中継スイッチにおいて誤学習を訂正した場合（図８，Ｐ３参照）と同じ効果が得られる。
【００６９】
また、別の例として、本発明装置１００をループしているサブネットと異なるサブネットに設置し、ループしているサブネットとのゲートウェイであるルータを経由してループサブネット内のホスト宛に連続的にユニキャストパケットを送信する。仮に、ルータの送信したブロードキャストパケットがループしている場合でも、本実施例により一時的にホストからルータ宛のパケットが正常にフォワードされ、ルータを経由して本発明装置１００と通信することが可能になる。
【００７０】
以上の状態で通信を目的とするパケットをエンドホスト間で送受信すれば、誤学習が発生している場合でも通信が回復する効果が得られる。
以上の例の場合で、宛先アドレスはユニキャストアドレスでなくてもよく、ＭＡＣのブロードキャストアドレスやＭＡＣのマルチキャストアドレスなど何を使っても同等の効果が得られる。
［第５実施例］
第５の実施例として，ループサブネットと異なる遠隔のサブネットに属するエンドホストが、遠隔からループサブネット内もしくはループサブネット外に存在する本発明装置を制御して、遠隔からアドレス誤学習を停止・修正する例を示す。
【００７１】
図１１は，かかる第５の実施例に適用される本発明装置の機能構成例を示す図である。
ルータの内部機能として、あるいは、サブネット内のエンドホストとしてループサブネット内に予め設置されている本発明装置１００に対して、遠隔に存在するエンドホストは、telnetやSNMP(Simple Network Management Protocol)などの通信手段で、制御メッセージを送信し、それをパケット受信部１０５で受信する。本発明装置１００は受信した制御メッセージを制御パラメータの入力として遠隔制御部１０４でこれを解釈し、先の実施例１〜４のいずれかの処理と同様の処理を行う。制御メッセージは既存の通信手段であれば特に制限がなく、例えば、TCP/IPを利用するならば、telnetやSNMPをはじめソケット通信に制御メッセージを乗せても良い。
【００７２】
本発明装置１００がループサブネットに接続しているエンドホストとして動作する場合は、図１１に示すように、制御メッセージを送受信するインタフェース１０３と、誤学習を停止・修正するためのブロードキャストパケットを送信するインタフェースは同一である。あるいは、物理的に異なるインタフェースであっても、論理的に一つのエンドホストとして動作すればインタフェースが複数あっても良い。
【００７３】
また、ループサブネットが外部のネットワークと接続される境界のルータ（ゲートウェイ）の論理的な機能の一部として実現されていてもよく、この場合は、図１１におけるネットワークインタフェース１０３はサブネット側と外部ネットワーク側の２つに分離されるが、論理的な機能としては、ルータ宛のパケットは一旦パケット受信部１０５で受信され、それ以降の処理にも違いはない。
【００７４】
また、本発明装置１００はループサブネット内に設置されていなくてもよく、第１の実施例のように、サブネット外からループサブネット内にＩＰブロードキャストが宛先のICMP Echo Requestパケットを連続的にループサブネットに送信することで、同様の効果が得られる。
［第６実施例］
第６の実施例は、ループ発生時にＩＰアドレスからＭＡＣアドレスを取得できることを特徴とする。
【００７５】
図１２は，第６の実施例における誤学習の概念を説明する図である。図１３は，第６の実施例に対応する信号シーケンスを示す図である。
【００７６】
図１２に示すように，ループ発生時に本発明装置１００がサブネット内の他のエンドホスト２００との通信を試みる場合に、エンドホスト２００のＩＰアドレス（＝ＩＰＡ）を知っていたとしても、アープ（ARP）要求を送信してエンドホスト２００のＭＡＣアドレス（＝ＭＡ）を取得しなければならない。
【００７７】
しかし、ループ発生時にはアープ（ARP）要求のようなブロードキャストパケットを送信すると（Ｐ１）、パケットがループして、本発明装置２００のＭＡＣアドレス（ＭＣ）が誤学習されてしまう（Ｐ２）。このため、アープ（ARP）要求に対する応答が本発明装置１００に正常に戻ってこないため、結果的にエンドホスト２００のＭＡＣアドレス（＝ＭＡ）を取得できず、通信ができない状態となる。
【００７８】
この時の状態を詳細に記述すると、本発明装置１００からのアープ（ARP）要求（Ｉ）がループすることによりエンドホスト２００は頻繁に本発明装置発のアープ（ARP）要求〈Ｉ〉を受信する。受信のたびにアープ（ARP）応答（II）を送信する。しかし、本発明装置１００のＭＡＣアドレス（＝ＭＣ）が，スイッチＳＷ１，ＳＷ２において、ループ箇所に存在すると誤学習されている。
【００７９】
このため、結果的にエンドホスト２００が送信したアープ（ARP）応答（II）は、全てループ箇所にフォワードされ、さらにループ箇所での誤学習により、アープ（ARP）応答パケットもループ箇所でループすることになる（Ｐ３）。
【００８０】
通常、図１２に示すように，ブロードキャストパケットが回っている方向〈図１２，実線〉と逆方向（図１２，破線）でユニキャストパケットがループする。ここで、図１３に示すように、実在しないＭＡＣアドレス（＝ＭＸ）が発ＭＡＣアドレスのブロードキャストパケット(III)を第１の実施例または第３の実施例のように本発明装置１００が大量に送信する（Ｐ４）ことで、アープ（ARP）要求パケットをループから消滅させる。
【００８１】
次に、例えば第３の実施例のように発ＭＡＣアドレスが本発明装置１００のＭＣ、宛先ＭＡＣアドレスがＭＸの任意のＭＡＣパケット（IV）を本発明装置１００が送信すると、第３の実施例の原理でスイッチＳＷ１,ＳＷ２での誤学習が訂正される。この結果、ループしていたエンドホスト２００が送信したアープ（ARP）応答のパケット(II)が，本発明装置１００に向かってフォワードされ，最終的に本発明装置１００はアープ（ARP）応答を受信することになり、エンドホスト２００のＭＡＣアドレス（＝ＭＡ）を取得できる（Ｐ５）。
【００８２】
以上により、ループしている場合でもアープ（ARP）プロトコルを用いてエンドホスト２００のＭＡＣアドレスを取得することが可能になる。
【００８３】
（付記１）
サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて，前記中継スイッチにおけるＬ２レベルの誤接続により発生するパケットループによる通信障害を回復する通信制御方法であって，
前記サブネットを構成する，通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスを送信元として，パケットを連続して送信し，
これにより，前記パケットループを停止させ，
ついで，送信先のエンドホストのＭＡＣアドレスを送信先ＭＡＣアドレスとしてパケットデータを送信する
ことを特徴とする通信制御方法。
【００８４】
（付記２）
付記１において，
前記連続送信するパケットの宛先をブロードキャストアドレスとすることを特徴とする通信制御方法。
【００８５】
（付記３）
付記１において，
前記連続送信するパケットを，前記サブネットに実在しないアドレスを宛先としてユニキャストに送信することを特徴とする通信制御方法。
【００８６】
（付記４）
付記１において，
前記連続送信するパケットを，前記サブネットに実在しないアドレスを送信元ＭＡＣアドレスとしてマルチキャストすることを特徴とする通信制御方法。
【００８７】
（付記５）
付記１において，
前記通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスは，通信をモニタして実在するＭＡＣアドレスを取得し、取得されたＭＡＣアドレスと予め識別されている実在するＭＡＣアドレス以外のＭＡＣアドレスであることを特徴とする通信制御方法。
【００８８】
（付記６）
付記１において，
前記サブネット内に実在しないＭＡＣアドレスを送信元アドレスに設定して、ブロードキャストされるパケットを連続的に送信することを特徴とする通信制御方法。
【００８９】
（付記７）
付記１において，
前記サブネットに存在しないＭＡＣアドレス送信元アドレスに設定し，
通信させたいエンドホストがユニキャストで応答する宛先が，ブロードキャストであるパケットを送信し，
これにより，エンドホストのＭＡＣアドレスを前記サブネット内の中継スイッチで正しく学習させることを特徴とする通信制御方法。
【００９０】
（付記８）
付記１において，
前記サブネットに存在しないＭＡＣアドレス送信元アドレスに設定し，
前記サブネット内に実在しないアドレスの宛先を持つユニキャストパケットを送信し，
これにより，エンドホストのＭＡＣアドレスを前記サブネット内の中継スイッチで正しく学習させることを特徴とする通信制御方法。
【００９１】
（付記９）
付記１において，
前記サブネットに存在しないＭＡＣアドレス送信元アドレスに設定し，
通信させたいエンドホストがユニキャストで応答する宛先がマルチキャストであるパケットを送信し，
これにより，エンドホストのＭＡＣアドレスを前記サブネット内の中継スイッチで正しく学習させることを特徴とする通信制御方法。
（付記１０）
サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて，前記中継スイッチにおけるＬ２レベルの誤接続により発生するパケットループによる通信障害を回復する通信制御方法であって，
通信させたいエンドホストのＭＡＣアドレスを発アドレスとして持つパケットを連続的に送信し，
これにより，ブロードキャストパケットの発アドレスが同一の場合に、中継スイッチのＭＡＣ学習テーブルを消去させ，
ついで，送信先のエンドホストのＭＡＣアドレスを送信先ＭＡＣアドレスとしてパケットデータを送信する
ことを特徴とする通信制御方法。
【００９２】
（付記１１）
付記１又は１０において，
アープ（ARP：Address Resolution Protocol）ブロードキャストパケットを送信し，
その後に誤学習訂正のためのパケット送信を行い，エンドホストのＩＰアドレスからＭＡＣアドレスを取得することを特徴とする通信制御方法。
【００９３】
（付記１２）
付記１又は，１０において、
前記パケットの連続的に送信は，遠隔地に置かれた装置から実行されることを特徴とする通信制御方法。
【００９４】
（付記１３）
中継スイッチと，
前記中継スイッチを通してデータの送受を行う，前記サブネット内に前記サブネットを構成するエンドホストと，
パケットを連続して送信する制御装置を接続し，
前記中継スイッチにおけるＬ２レベルの誤接続によりＬ２ループが発生する際，
前記制御装置は，通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスを送信元として，パケットを連続して送信し，これにより，前記パケットループを停止させ留ことを特徴とする通信システム。
【００９５】
（付記１４）
付記１３において，
前記連続送信するパケットの宛先をブロードキャストアドレスとすることを特徴とする通信制御方法。
【００９６】
（付記１５）
付記１３において，
前記連続送信するパケットを，前記サブネットに実在しないアドレスを宛先としてユニキャストに送信することを特徴とする通信制御方法。
【００９７】
（付記１６）
付記１３において，
前記連続送信するパケットを，前記サブネットに実在しないアドレスを送信元ＭＡＣアドレスとしてマルチキャストすることを特徴とする通信制御方法。
【００９８】
（付記１７）
付記１３において，
前記通信させたいエンドホストの送信元ＭＡＣアドレス以外のＭＡＣアドレスは，通信をモニタして実在するＭＡＣアドレスを取得し、取得されたＭＡＣアドレスと予め識別されている実在するＭＡＣアドレス以外のＭＡＣアドレスであることを特徴とする通信制御方法。
【００９９】
（付記１８）
付記１３において，
前記サブネット内に実在しないＭＡＣアドレスを送信元アドレスに設定して、ブロードキャストされるパケットを連続的に送信することを特徴とする通信制御方法。
【０１００】
（付記１９）
付記１３において，
前記サブネットに存在しないＭＡＣアドレス送信元アドレスに設定し，
通信させたいエンドホストがユニキャストで応答する宛先が，ブロードキャストであるパケットを送信し，
これにより，エンドホストのＭＡＣアドレスを前記サブネット内の中継スイッチで正しく学習させることを特徴とする通信制御方法。
【産業上の利用可能性】
【０１０１】
上記に図面に従い実施例を説明したように，本発明によりＬ２ループ・ブロードキャストストームが発生した時にも、ループサブネット内のホスト同士、あるいはループサブネット内のホストとループサブネット外のホストの通信路を確保し，サブネット内の通信を可能にする。
【０１０２】
これにより，通信品質の信頼性が担保でき，産業以上寄与するところ大である。
【図面の簡単な説明】
【０１０３】
【図１】Ｌ２ループ（ブロードキャストストーム）の発生のメカニズムを説明する図である。
【図２】本発明原理を実現する本発明実施例を説明するためのサブネットの構成例である。
【図３】本発明に従う本発明装置１００の機能構成例を示す図である。
【図４】図２の実施の形態例に対応する本発明装置１００の動作フローである。
【図５】サブネットにおける信号のシーケンスを示す図である。
【図６】第２の実施例における本発明装置１００の装置構成例を示す図である。
【図７】第２の実施例における本発明装置１００の動作フローである。
【図８】第３の実施例における信号のシーケンスフローである。
【図９】パケットのフォーマットを示す図である。
【図１０】第４の実施例に対応する信号のシーケンスを示す図である。
【図１１】第５の実施例に適用される本発明装置の機能構成例を示す図である。
【図１２】第６の実施例における誤学習の概念を説明する図である。
【図１３】第６の実施例に対応する信号シーケンスを示す図である。
【符号の説明】
【０１０４】
１００  本発明装置
１，２，３，２００，２００Ａ，２００Ｂ  エンドホスト，
ＳＷ１，ＳＷ２，ＳＷ３  スイッチ
１０１  入力部
１０２  パケット送信部
１０３  ネットワークインタフェース
１０４  制御部
１０５  パケット受信部
１０６  監視部
１０７  表示部
【図１】
2006352263.tif 000003
【図２】
2006352263.tif 000004
【図３】
2006352263.tif 000005
【図４】
2006352263.tif 000006
【図５】
2006352263.tif 000007
【図６】
2006352263.tif 000008
【図７】
2006352263.tif 000009
【図８】
2006352263.tif 000010
【図９】
2006352263.tif 000011
【図１０】
2006352263.tif 000012
【図１１】
2006352263.tif 000013
【図１２】
2006352263.tif 000014
【図１３】
2006352263.tif 000015