(57)【特許請求の範囲】
【請求項１】
複数のポートを有し、互いに異なる前記ポートに接続された複数の機器間の通信を中継する通信装置であって、
送信先アドレスおよび送信元アドレスに自装置のＭＡＣアドレスを設定した試験フレームを生成し、生成した前記試験フレームを任意の前記ポートから定期的に送信する試験フレーム送信部と、
自装置から送信された前記試験フレームを受信したとき、ループが発生したと判定するループ検出部と、
前記送信先アドレスと前記送信元アドレスとが同じで、かつ、前記送信先アドレスが自装置のＭＡＣアドレスと異なる前記試験フレームを受信したとき、受信した前記試験フレームを破棄するスイッチ部とを備えていることを特徴とする通信装置。
【請求項２】
請求項１記載の通信装置において、
前記試験フレームは、前記試験フレームを出力する前記任意のポートを示すポート情報を含んで生成され、
前記ループ検出部は、自装置から送信された前記試験フレームを受信したとき、前記試験フレームの前記ポート情報および前記試験フレームを受信した前記ポートに基づいて、ループが発生した前記ポートを特定することを特徴とする通信装置。
【請求項３】
請求項２記載の通信装置において、
ループが発生した前記ポートの通信を制限するトラフィック制御部を備えていることを特徴とする通信装置。
【請求項４】
請求項２記載の通信装置において、
ループが発生した前記ポートの通信を停止することにより、障害の発生箇所をネットワークから分離するトラフィック制御部を備えていることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
レイヤ２スイッチ等の中継装置を含んで構成されるネットワークでは、ループの発生は、ネットワーク運用に大きな影響を与える。例えば、中継装置のポート間でループが発生した場合、ブロードキャストフレームやマルチキャストフレームの中継が無限に繰り返され、ブロードキャストストームやマルチキャストストームが発生する。このため、この種のネットワークでは、ループを回避する対策が施されている。
【０００３】
例えば、ストーム検知機能を用いる構成では、トラフィックがストーム検出の閾値以上になったとき、閾値以上のトラフィックが発生したネットワーク（異常なネットワーク）を正常なネットワークから分離する。これにより、正常なネットワークの通信は、維持される。あるいは、スパニングツリープロトコル（ＳＴＰ：Spanning Tree Protocol）等を用いて、ループを回避する（例えば、特許文献１）。ＳＴＰやＳＴＰを高速化したラピッドスパニングツリープロトコル（ＲＳＴＰ：Rapid Spanning Tree Protocol）を用いた構成では、ループ経路のブロッキングは、例えば、ＢＰＤＵ（Bridge Protocol Data Unit）と呼ばれるフレームを複数の中継装置間で送受信することにより実施される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２０５３６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、ポート間でループが発生した場合、ブロードキャストストームやマルチキャストストームが発生する。これに対し、単一のポート（より詳細には、単一のポート内の送信および受信間）でループが発生した場合、ブロードキャストストームやマルチキャストストームは発生しない。しかしながら、単一のポートでループが発生した場合、例えば、中継装置内のＭＡＣ（Media Access Control）アドレステーブルは、誤った情報に更新される。ＭＡＣアドレステーブルは、ＭＡＣアドレスとポートとの対応が記述されたテーブルであり、フレームの行き先を振り分ける際に参照される。このため、ＭＡＣアドレステーブルが誤った情報に更新された場合、通信に障害が発生するおそれがある。
【０００６】
なお、ストーム検知機能を用いる構成では、ブロードキャストストームやマルチキャストストームの発生を検出することによりループを検出するため、単一のポートで発生するループは、検出されない。また、ＳＴＰやＲＳＴＰを用いた構成では、ＢＰＤＵを複数の中継装置間で送受信することによりループを回避するため、単一のポートで発生するループは、検出されない。
【０００７】
本発明の目的は、単一のポートでループが発生したときにも、ループを検出することである。
【課題を解決するための手段】
【０００８】
通信装置は、複数のポートを有し、互いに異なるポートに接続された複数の機器間の通信を中継する。さらに、通信装置は、試験フレーム送信部およびループ検出部を有している。試験フレーム送信部は、送信先アドレスおよび送信元アドレスに自装置のＭＡＣアドレスを設定した試験フレームを生成し、生成した試験フレームを任意のポートから定期的に送信する。ループ検出部は、自装置から送信された試験フレームを受信したとき、ループが発生したと判定する。
【発明の効果】
【０００９】
本発明では、単一のポートでループが発生したときにも、ループを検出できる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態における通信装置の概要を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面を用いて説明する。図では、各ポートを介して送受信されるフレームには、ポートの符号の末尾の数字と同じ数字を、符号の末尾に付している。なお、末尾に”ｎ”が付くポートを介して送受信されるフレームには、符号の末尾に”ｎ”を付している。
【００１２】
図１は、本発明の一実施形態を示している。この実施形態の通信装置１０は、ＯＳＩ（Open Systems Interconnection）参照モデルのデータリンク層（Ｌｅｖｅｌ２：Ｌ２）でフレームの行き先を振り分けるレイヤ２スイッチ等の中継装置であり、ネットワークに接続される。以下、通信装置１０をレイヤ２スイッチ１０とも称する。
【００１３】
レイヤ２スイッチ１０は、例えば、複数のポートＰＴ（ＰＴ１、ＰＴ２、ＰＴ３、・・・、ＰＴｎ）、試験フレーム送信部２０、フィルタ部３０、ループ検出部３２、トラフィック制御部４０、トラップ発出部４２、レイヤ２スイッチコア５０（以下、Ｌ２ＳＷコア５０とも称する）およびＭＡＣ（Media Access Control）アドレステーブル５２を有している。そして、レイヤ２スイッチ１０は、ポートＰＴを介してフレームＲＦＲＭ（ＲＦＲＭ１、ＲＦＲＭ２、ＲＦＲＭ３、・・・、ＲＦＲＭｎ）を受信し、ポートＰＴを介してフレームＳＦＲＭ（ＳＦＲＭ１、ＳＦＲＭ２、ＳＦＲＭ３、・・・、ＳＦＲＭｎ）を送信する。例えば、フレームＲＦＲＭ１は、ポートＰＴ１で受信される。また、フレームＳＦＲＭ１は、ポートＰＴ１から送信される。以下、フレームＲＦＲＭを受信フレームＲＦＲＭとも称し、フレームＳＦＲＭを送信フレームＳＦＲＭとも称する。
【００１４】
各ポートＰＴには、例えば、レイヤ２スイッチ１０を介して通信を行う機器（端末や他のレイヤ２スイッチ等）が接続される。すなわち、レイヤ２スイッチ１０は、互いに異なるポートＰＴに接続された複数の機器間の通信を中継する。
【００１５】
試験フレーム送信部２０は、送信先アドレスおよび送信元アドレスに自装置（レイヤ２スイッチ１０）のＭＡＣアドレスを設定した試験フレームＴＦＲＭ（ＴＦＲＭ１、ＴＦＲＭ２、ＴＦＲＭ３、・・・、ＴＦＲＭｎ）を生成する。送信先アドレスは、例えば、フレームの送信先の機器のＭＡＣアドレスである。送信元アドレスは、フレームの送信元の機器のＭＡＣアドレスである。すなわち、試験フレーム送信部２０は、試験フレームＴＦＲＭとして、自装置宛のフレームを生成する。
【００１６】
そして、試験フレーム送信部２０は、生成した試験フレームＴＦＲＭを任意のポートＰＴから定期的に送信する。例えば、試験フレーム送信部２０は、試験フレームＴＦＲＭ１をポートＰＴ１を介して定期的に送信する。すなわち、試験フレームＴＦＲＭは、送信フレームＳＦＲＭの１つである。なお、他装置（他のレイヤ２スイッチ）から送信された試験フレームＴＦＲＭは、受信フレームＲＦＲＭの１つである。
【００１７】
ここで、試験フレームＴＦＲＭは、試験フレームＴＦＲＭの送信ポートＰＴ（試験フレームＴＦＲＭを出力するポートＰＴ）を示すポート情報を含んで生成される。例えば、試験フレーム送信部２０は、試験フレームＴＦＲＭ１を生成する際、ポートＰＴ１を示すポート情報を、試験フレームＴＦＲＭ１のペイロードに書き込む。
【００１８】
なお、各ポートＰＴにＭＡＣアドレスが割り当てられている場合、試験フレーム送信部２０は、試験フレームＴＦＲＭの送信ポートＰＴを示すポート情報として、ポートＰＴのＭＡＣアドレスを使用してもよい。例えば、試験フレーム送信部２０は、試験フレームＴＦＲＭ１を生成する際、ポートＰＴ１のＭＡＣアドレスを自装置のＭＡＣアドレスとして、試験フレームＴＦＲＭ１の送信先アドレスおよび送信元アドレスに設定する。この場合、ペイロードにポート情報を書き込む必要はない。
【００１９】
フィルタ部３０は、各ポートＰＴで受信したフレームＲＦＲＭから自装置宛のフレームＲＦＲＭを選択し、自装置宛のフレームＲＦＲＭをループ検出部３２に転送する。例えば、フィルタ部３０は、受信フレームＲＦＲＭの送信先アドレスと自装置のＭＡＣアドレスとを比較する。そして、フィルタ部３０は、送信先アドレスが自装置のＭＡＣアドレスと一致した受信フレームＲＦＲＭを、自装置宛のフレームＲＦＲＭとしてループ検出部３２に転送する。
【００２０】
ここで、自装置宛のフレームＲＦＲＭは、例えば、レイヤ２スイッチ１０を制御するために、レイヤ２スイッチ１０のＣＰＵ（Central Processing Unit）等で処理されるフレームである。なお、上述したように、自装置から送信された試験フレームＴＦＲＭの送信先アドレスは、自装置のＭＡＣアドレスである。したがって、例えば、自装置から送信した試験フレームＴＦＲＭを自装置で受信した場合、その試験フレームＴＦＲＥＭは、自装置宛のフレームＲＦＲＭの１つとしてループ検出部３２に転送される。
【００２１】
また、フィルタ部３０は、各ポートＰＴで受信した自装置宛以外のフレームＲＦＲＭを、Ｌ２ＳＷコア５０に転送する。例えば、フィルタ部３０は、送信先アドレスが自装置のＭＡＣアドレスと異なる受信フレームＲＦＲＭを、Ｌ２ＳＷコア５０に転送する。図１の破線の矢印は、各ポートＰＴで受信した自装置宛以外のフレームＲＦＲＭがフィルタ部３０を通過することを示している。
【００２２】
ループ検出部３２は、フィルタ部３０により選択された自装置宛のフレームＲＦＲＭが自装置から送信された試験フレームＴＦＲＭか否かを判定する。ここで、ループが発生していない正常動作では、自装置から送信した試験フレームＴＦＲＭを自装置で受信することはない。したがって、ループ検出部３２は、自装置宛のフレームＲＦＲＭが自装置から送信された試験フレームＴＦＲＭであると判定したとき、ループが発生したと判定する。
【００２３】
例えば、ループ検出部３２は、自装置宛のフレームＲＦＲＭの送信元アドレスと自装置のＭＡＣアドレスとを比較する。そして、ループ検出部３２は、送信元アドレスが自装置のＭＡＣアドレスと一致した自装置宛のフレームＲＦＲＭを、自装置から送信された試験フレームＴＦＲＭと判定する。この場合、ループ検出部３２は、自装置から送信された試験フレームＴＦＲＭを受信したと判定し、ループが発生したと判定する。
【００２４】
すなわち、ループ検出部３２は、自装置から送信された試験フレームＴＦＲＭを受信したとき、ループが発生したと判定する。したがって、ループ検出部３２は、試験フレームＴＦＲＭを送信したポートＰＴでその試験フレームＴＦＲＭを受信したときにも、ループが発生したと判定する。このように、ループ検出部３２は、単一のポートＰＴ（より詳細には、単一のポートＰＴ内の送信および受信間）でループが発生したときにも、ループを検出できる。
【００２５】
また、ループ検出部３２は、自装置から送信された試験フレームＴＦＲＭを受信したとき、試験フレームＴＦＲＭのポート情報および試験フレームＴＦＲＭの受信ポートＰＴ（試験フレームＴＦＲＭを受信したポートＰＴ）に基づいて、ループが発生したポートＰＴを特定する。ループ検出部３２は、試験フレームＴＦＲＭの送信ポートＰＴをポート情報に基づいて特定できるため、試験フレームＴＦＲＭが経由したポートＰＴ（試験フレームＴＦＲＭの送信ポートＰＴおよび受信ポートＰＴ）を特定できる。これにより、ループ検出部３２は、単一のポートＰＴでループが発生したのか、ポートＰＴ間でループが発生したのか識別できる。
【００２６】
そして、ループ検出部３２は、自装置から送信された試験フレームＴＦＲＭを受信したとき、ループが発生したことをトラフィック制御部４０およびトラップ発出部４２に通知する。例えば、ループ検出部３２は、自装置から送信された試験フレームＴＦＲＭを受信したとき、ループが発生したことを示すループ情報ＬＩＮＦを、トラフィック制御部４０およびトラップ発出部４２に送信する。ループ情報ＬＩＮＦには、例えば、単一のポートＰＴでループが発生したのかポートＰＴ間でループが発生したのかを示す情報やループが発生したポートＰＴを示す情報等が含まれる。
【００２７】
また、例えば、ループ検出部３２は、自装置宛のフレームＲＦＲＭが自装置から送信された試験フレームＴＦＲＭでないと判定したとき、そのフレームＲＦＲＭ（試験フレームＴＦＲＭ以外の自装置宛のフレームＲＦＲＭ）をレイヤ２スイッチ１０のＣＰＵ等に転送する。これにより、試験フレームＴＦＲＭ以外の自装置宛のフレームＲＦＲＭは、レイヤ２スイッチ１０のＣＰＵ等で処理される。なお、ループ検出部３２は、ＣＰＵの一部の機能として実現されてもよい。あるいは、ループが発生したポートＰＴを特定する機能等のループ検出部３２の一部の機能は、ＣＰＵの一部の機能として実現されてもよい。
【００２８】
トラフィック制御部４０は、ループが発生したことをループ検出部３２から通知されたとき、ループが発生したポートＰＴの通信を制御する。例えば、トラフィック制御部４０は、ループ情報ＬＩＮＦに基づいて、ループが発生したポートＰＴの通信を制限する。あるいは、トラフィック制御部４０は、ループ情報ＬＩＮＦに基づいて、ループが発生したポートＰＴの通信を停止する。
【００２９】
例えば、携帯電話の基地局内に配置されたレイヤ２スイッチ１０では、監視制御のフレームが主信号のフレームと同じラインで伝送されるため、ループが発生したポートＰＴの通信を停止した場合、レイヤ２スイッチ１０を遠隔操作で制御できなくなるおそれがある。このため、トラフィック制御部４０は、監視制御のフレームを受信するポートＰＴにループが発生した場合、ループが発生したポートＰＴの通信を制限する。これにより、この実施形態では、ブロードキャストストームやマルチキャストストームが発生することを防止しつつ、レイヤ２スイッチ１０を遠隔操作するための通信を維持できる。
【００３０】
また、例えば、トラフィック制御部４０は、ダウンリンク側のポートＰＴにループが発生した場合、ループが発生したポートＰＴの通信を停止する。この場合、障害の発生箇所は、ネットワークから分離される。これにより、この実施形態では、ブロードキャストストームやマルチキャストストームが発生することを防止できる。このように、この実施形態では、ループ情報ＬＩＮＦに基づいて、ループが発生したポートＰＴの通信を適切に制御できる。
【００３１】
トラップ発出部４２は、例えば、ループが発生したことをループ検出部３２から通知されたとき、ループ情報ＬＩＮＦの内容（ループが発生したポートＰＴ等）を示すトラップ（イベント通知）を管理サーバ等に送信する。
【００３２】
Ｌ２ＳＷコア５０は、受信フレームＲＦＲＭの送信元アドレスおよび送信先アドレスに基づいて、受信フレームＲＦＲＭを処理する。例えば、Ｌ２ＳＷコア５０は、フィルタ部３０を通過した受信フレームＲＦＲＭを受けたとき、受信フレームＲＦＲＭの送信元アドレスが示すＭＡＣアドレスを、受信フレームＲＦＲＭの受信ポートＰＴ（受信フレームＲＦＲＭを受信したポートＰＴ）を示す情報とともに、ＭＡＣアドレステーブル５２に登録する。これにより、ＭＡＣアドレステーブル５２に、ＭＡＣアドレスとポートＰＴとの対応が登録される。
【００３３】
そして、Ｌ２ＳＷコア５０は、受信フレームＲＦＲＭの送信先アドレスおよびＭＡＣアドレステーブル５２の登録情報に基づいて、受信フレームＲＦＲＭの行き先を振り分ける。このように、Ｌ２ＳＷコア５０は、受信フレームＲＦＲＭの行き先をＭＡＣアドレスに基づいて振り分けることにより、互いに異なるポートＰＴに接続された複数の機器間の通信を中継する。
【００３４】
例えば、Ｌ２ＳＷコア５０は、受信フレームＲＦＲＭの送信先アドレスに対応するポートＰＴを、ＭＡＣアドレステーブル５２の登録情報に基づいて選択する。そして、Ｌ２ＳＷコア５０は、受信フレームＲＦＲＭを送信フレームＳＦＲＭとして、選択したポートＰＴに転送する。なお、送信先アドレスがＭＡＣアドレステーブル５２に登録されていない場合、Ｌ２ＳＷコア５０は、受信フレームＲＦＲＭを送信フレームＳＦＲＭとして、受信フレームＲＦＲＭの受信ポートＰＴ以外の全ポートＰＴに転送する。
【００３５】
また、Ｌ２ＳＷコア５０は、受信フレームＲＦＲＭの送信先アドレスに対応するポートＰＴと受信フレームＲＦＲＭの受信ポートＰＴとが同じとき、その受信フレームＲＦＲＭを転送せずに破棄する。すなわち、他装置から送信された試験フレームＴＦＲＭは、送信先アドレスと送信元アドレスとが同じＭＡＣアドレスに設定されているため、Ｌ２ＳＷコア５０により破棄される。
【００３６】
このように、試験フレームＴＦＲＭは、試験フレームＴＦＲＭの送信元のレイヤ２スイッチに隣接するレイヤ２スイッチで破棄される。したがって、ループ検出の際にネットワーク全体の負荷が増加することを防止できる。また、ネットワーク上の各端末は、到着したユニキャストフレームのうち、送信先アドレスが自身のＭＡＣアドレスと一致するフレームのみを受信処理する。すなわち、ネットワーク上の各端末は、試験フレームＴＦＲＭによる負荷の増加等の影響を受けない。
【００３７】
以上、この実施形態では、レイヤ２スイッチ１０は、自装置宛の試験フレームＴＦＲＭを定期的に送信する試験フレーム送信部２０と、自装置から送信された試験フレームＴＦＲＭを受信したときに、ループが発生したと判定するループ検出部３２とを有している。これにより、レイヤ２スイッチ１０は、単一のポートＰＴで発生したループか否かに拘わらず、他のレイヤ２スイッチを介さずに形成されるループを検出できる。
【００３８】
すなわち、この実施形態では、単一のポートでループが発生したときにも、ループを検出できる。したがって、この実施形態では、誤った情報にＭＡＣアドレステーブル５２が更新されることを防止でき、通信に障害が発生することを防止できる。さらに、この実施形態では、レイヤ２スイッチ１０のポートＰＴ間で発生するループも検出できるため、ブロードキャストストームやマルチキャストストームが発生することを防止できる。
【００３９】
なお、上述した実施形態では、試験フレームＴＦＲＭが試験フレームＴＦＲＭの送信ポートＰＴを示すポート情報を含んで生成される例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、試験フレームＴＦＲＭは、試験フレームＴＦＲＭの送信ポートＰＴを示すポート情報を含まずに生成されてもよい。この場合、ループ検出部３２は、自装置から送信された試験フレームＴＦＲＭを受信したとき、試験フレームＴＦＲＭを受信したポートＰＴを、ループが発生したポートＰＴとして、トラフィック制御部４０およびトラップ発出部４２に通知する。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００４０】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【００４１】
本発明は、通信装置に利用できる。
【符号の説明】
【００４２】
１０‥レイヤ２スイッチ；２０‥試験フレーム送信部；３０‥フィルタ部；３２‥ループ検出部；４０‥トラフィック制御部；４２‥トラップ発出部；５０‥レイヤ２スイッチコア；５２‥ＭＡＣアドレステーブル；ＰＴ‥ポート；ＲＦＲＭ‥受信フレーム；ＳＦＲＭ‥送信フレーム；ＴＦＲＭ‥試験フレーム
【図１】
0005520741.tif 000002