(57)【要約】【課題】  マルチキャストアドレスをユーザに公平に分配し、ＤＯＳ攻撃に強くする。【解決手段】  スイッチングエンジン３２は、ルータ１８からのマルチキャストされたデータをポート１〜１６の何れか指定の１以上のポートに配送する。ＣＰＵ３６は、スイッチングエンジン３２を通過するメッセージをモニタし、それに基づき、データソースと当該スイッチングエンジン３２のデータ配送先ポートとの対応関係を記憶する転送テーブル３４を更新する。ＣＰＵ３６はまた、転送テーブル３４を参照してスイッチングエンジン３２の配送先ポートを制御する。ＣＰＵ３６は、スイッチングエンジン３２の各ポートに割り当てるデータソースを所定数に制限し、当該所定数を超える配送要求に対して転送テーブル３４の更新を拒否する。【選択図】  図１
2005065045.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャストネットワーク（１８）とユーザ装置（２２）との間に配置されるＬ２スイッチ装置であって、
当該マルチキャストネットワーク（１８）からのマルチキャストされたデータを１又は２以上のポートに配送可能なスイッチングエンジン（３２）と、
データソースと当該スイッチングエンジン（３２）のデータ配送先ポートとの対応関係を記憶する転送テーブル（３４）と、
当該スイッチングエンジン（３２）を通過する所定メッセージに従い当該転送テーブル（３４）を更新すると共に、当該転送テーブルを参照して、当該スイッチングエンジン（３２）の配送を制御するスイッチ制御回路（３６）
とを具備し、当該スイッチ制御回路（３６）は、当該スイッチングエンジンの各ポートに割り当てるデータソースを所定数に制限し、当該所定数を超える配送要求に対して当該転送テーブル（３４）の更新を拒否することを特徴とするＬ２スイッチ装置。
【請求項２】
当該転送テーブル（３４）の最大エントリ数が変更自在である請求項１に記載のＬ２スイッチ装置。
【請求項３】
当該転送テーブル（３４）が、各データソースに対して、当該スイッチングエンジンのユーザ装置に接続可能な全ポートへの配送の有無を記憶する請求項１に記載のＬ２スイッチ装置。
【請求項４】
マルチキャストネットワーク（１８）とユーザ装置（２２）との間に配置されるＬ２スイッチ装置を制御する方法であって、
当該Ｌ２スイッチ装置のスイッチングエンジン（３２）を通過する所定メッセージに従い、当該マルチキャストネットワーク（１８）からマルチキャストされるデータのデータソースと当該スイッチングエンジン（３２）によるデータ配送先ポートとの対応関係を記憶する転送テーブル（３４）を更新し、
当該転送テーブル（３４）を参照して、当該スイッチングエンジン（３２）の配送を制御し、
当該転送テーブル上でスイッチングエンジン（３２）の各ポートに割り当てるデータソースを所定数に制限し、当該所定数を超える配送要求に対して当該転送テーブル（３４）の更新を拒否する
ことを特徴とするＬ２スイッチ装置の制御方法。
【請求項５】
当該マルチキャストネットワーク（１８）の所定箇所の帯域に応じて、当該転送テーブル（３４）の最大エントリ数を変更することを特徴とする請求項４に記載のＬ２スイッチ装置の制御方法。
【請求項６】
当該転送テーブル（３４）が、１つのデータソースに対して、当該スイッチングエンジンのユーザ装置に接続可能な全ポートへの配送の有無を記憶する請求項４に記載のＬ２スイッチ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｌ２スイッチ装置及びその制御方法に関する。
【背景技術】
【０００２】
ＩＰネットワークに代表されるデータネットワークでは、マルチキャストが、放送類似サービス又は放送に代替するサービスとして注目されている。類似技術としてビデオ・オン・デマンド（ＶｏＤ）があるが、マルチキャストは、ＶｏＤよりも帯域を消費しないという利点がある。例えば、ＩＧＭＰ（Internet Group Management Protocol）を使用するＩＰマルチキャストが、特許文献１−５に記載されている。
【０００３】
レイヤ２（ＯＳＩモデルのデータリンク層）のスイッチは、ＬＡＮスイッチ及びルータ等に組み込まれている。その弱点として、マルチキャスト通信時におけるマルチキャストフレームのフラディング（洪水）が知られている。
【０００４】
レイヤ（Ｌ）２スイッチにおけるマルチキャストトラフィックのフラディングを最も効率的に抑制する手段の一つとして、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）スヌーピングがある。ＩＧＭＰスヌーピングでは、ホストと上位ルータとの間のＩＧＭＰのやり取りをスヌーピングし、マルチキャストアドレスと転送先ポートを対応付ける転送テーブル（以下、ＩＧＭＰスヌーピングテーブル）を随時、更新する。その更新は、エントリの追加と削除を含む。これにより、マルチキャストトラフィックの不要な転送を抑制する。
【０００５】
図３は、ＩＰマルチキャストシステムの従来例の概略構成図を示し、図４は、ＩＧＭＰによるマルチキャスト制御のフロー例を示す。
【０００６】
マルチキャストサーバ１０は、例えば、ストリーミングサーバ１０ａ及びビデオサーバ１０ｂ等からなり、ＩＰマルチキャストネットワーク１２のルータ１４に接続する。サーバ１０からマルチキャストされるデータグラムは、マルチキャストネットワーク１２で複数のルータ１４，１６，１８を経由し、更にＬ２スイッチ２０を介して、ユーザ装置２２に到達する。一般に、１つのＬ２スイッチ２０には複数のユーザ装置２２が接続する。個々のユーザ装置２２は、具体的には、パーソナルコンピュータ又は映像データー受信用セットトップボックスからなる。個々のユーザ装置２２は更に、別のＬ２スイッチと、そのＬ２スイッチに接続するパーソナルコンピュータ及びセットトップボックスとからなることもありうる。
【０００７】
ルータ１４とルータ１６の間、及びルータ１６とルータ１８の間では、プロトコルＰＩＭ−ＳＭ（Protocol Independent Multicast-Sparse Mode）及びＰＩＭ−ＤＭ（Protocol Independent Multicast-Dense Mode）等のマルチキャストルーティングプロトコルが使用される。ルータ１４，１６，１８は、マルチキャスト・ルーティング・プロトコルをサポートするルータ、いわゆるマルチキャストルータである。ルータ１８とユーザ装置２２との間では、ＩＧＭＰが使用される。
【０００８】
図４では、ユーザ装置２２として４台のパーソナルコンピュータ（ＰＣ）が例示されている。ルータ１８は、ＩＧＭＰ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ（ＧＱ）メッセージを使用し、１分間隔で各ＰＣ２２−１〜２２−４に受信状態（例えば、受信の有無）を問い合わせる（Ｓ１，Ｓ４）。
【０００９】
ＰＣ２２−１がｃｈ１の視聴要求を、ＩＧＭＰ  Ｍｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔ（ＭＲ）メッセージにより、ルータ１８に通知する（Ｓ２）。Ｌ２スイッチ２０は、このＭＲメッセージをスヌーピングして、内部のマルチキャストアドレスと転送先ポートを対応付ける転送テーブル（以下、ＩＧＭＰスヌーピングテーブル）に登録する。ルータ１８は、参加希望（Ｓ２）に応じて、要請されたチャネル（ここではｃｈ１）のデータグラムをＬ２スイッチ２０に出力し、Ｌ２スイッチ２０は、ＩＧＭＰスヌーピングテーブルを参照して、そのデータグラムをＰＣ２２−１にのみ転送する（Ｓ３）。
【００１０】
ＰＣ２２−１は、ｃｈ１を視聴している場合、ルータ１８からの１分毎のＧＱによる問い合わせ（Ｓ４）に対し、試聴状態にあることを１０秒以内にＭＲで回答する（Ｓ５）。ルータ１８からの３回の問い合わせに対して配下の何れのＰＣ２２からも回答が無い場合、ネットワークの断又は、配下のＰＣの、視聴終了を通知しないままの電源オフの可能性が高いので、ルータ１８は、配下のＰＣ２２へのマルチキャストを停止する。
【００１１】
ＰＣ２２−１は、ｃｈ１の視聴をやめる場合、ｃｈ１の視聴グループからの離脱を意味するＩＧＭＰ  Ｌｅａｖｅメッセージをルータ１８に送信する（Ｓ６）。ルータ１８は、ＰＣ２２−１からのＩＧＭＰ  Ｌｅａｖｅ  Ｇｒｏｕｐメッセージ（Ｓ６）を受信すると即座に、ＩＧＭＰ  Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ（ＧＳＱ）を各ＰＣ２２−１〜２２−４に送信する（Ｓ７）。ルータ１８は、ＩＧＭＰ  Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙメッセージを各ＰＣ２２−１〜２２−４に送信してから１秒後に、再度、同じ内容でＩＧＭＰ  Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙメッセージを各ＰＣ２２−１〜２２−４に送信する（Ｓ８）。
【００１２】
いずれの問い合わせに対しても、ＰＣ２２−１〜２２−４から１秒以内に視聴の確認メッセージが来なければ、ルータ１８は、Ｌ２スイッチ２０の配下のＰＣ２２−１〜２２−４への配送を停止する。Ｌ２スイッチ２０は、最初のＧＳＱから３秒以上の所定時間内に何れのＰＣ２２−１〜２２−４からもｃｈ１の視聴の確認メッセージが出されなければ、ＩＧＭＰスヌーピングテーブルからｃｈ１のエントリを削除する。
【００１３】
ＩＧＭＰを用いたＩＰマルチキャストネットワークでは、ホストがＩＧＭＰ  Ｌｅａｖｅ  Ｇｒｏｕｐメッセージを送出してから、上位ルータがマルチキャストトラフィックの転送を中止するまでには、プロトコルのデフォルト設定上、２秒以上の時間が必要となる。そのため、Ｌ２スイッチでのＩＧＭＰスヌーピングテーブルの更新時間を、それ以上の３秒以上に設定するのが一般的となっている。
【００１４】
また、ＩＧＭＰスヌーピングテーブルに登録可能なマルチキャストアドレス数は有限であり、各ポートに繋がるユーザがそのテーブルを共有する。従って、使用されていない不要なアドレスは、できるだけ早く削除する必要がある。
【特許文献１】特表２００１−５２１７１６公報
【特許文献２】特開２０００−１２５２７７公報
【特許文献３】特開２０００−１３４２０８公報
【特許文献４】特開２００２−４４１３２公報
【特許文献５】特開２００２−６４５５８公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
マルチキャストの場合、テーブル更新時間内に複数回のチャネル切り替えが発生しうる。例えば、視聴チャネルを高速に、例えば循環的に、切り替えることがありうる。テレビ放送の場合のいわゆるザッピング（Ｚａｐｐｉｎｇ）に相当する。
【００１６】
ＩＧＭＰスヌーピングテーブルの随時更新のみでマルチキャストトラフィックを制御する従来方式で、テーブル更新時間内に複数回のチャネル切り替えが発生すると、以下のような問題が発生する。即ち、
【００１７】
第１に、ＩＧＭＰスヌーピングテーブルの更新時間内に切り替えられたチャネル数分のマルチキャストアドレスがＩＧＭＰスヌーピングテーブルにエントリされ、有限なＩＧＭＰスヌーピングテーブルが消費される。
【００１８】
第２に、悪意を持ったユーザがＩＧＭＰスヌーピングテーブルの更新時間内にＩＧＭＰフレームを連続的に流すと、ＩＧＭＰスヌーピングテーブルが溢れ、その結果として、他ユーザへのマルチキャストトラフィックの転送が妨害される。いわゆる、サービス拒否攻撃（DoS:Denial of Service）が可能である。
【００１９】
第３に、ザッピングによりエントリされたアドレスのマルチキャストトラフィックが全て転送されることにより、Ｌ２スイッチの上位機器に接続されるトランク回線の帯域が浪費される。トランク回線の帯域幅以上のマルチキャストトラフィックの転送要求があった場合、トランク回線の輻輳により、どのポートへのトラフィックも、悪影響を受ける。
【００２０】
第４に、ＩＧＭＰスヌーピングテーブルへのエントリの追加及び更新が共に不可能になることにより、新たなユーザがマルチキャストを受信できなくなる。換言すると、既存ユーザ（ポート）のみが、有限なマルチキャストアドレスを使用できる状態になり、ポート（ユーザ）間の公平性が失われる。
【００２１】
本発明は、このような不都合を解消し、安定なマルチキャストサービスを実現可能なレイヤ２スイッチ装置及びその制御方法を提示することを目的とする。
【００２２】
本発明はまた、マルチキャストフレームのフラッディング及びＤｏＳ攻撃に強いＬ２スイッチ装置及びその制御方法を提示することを目的とする。
【課題を解決するための手段】
【００２３】
本発明に係るＬ２スイッチ装置は、マルチキャストネットワークとユーザ装置との間に配置されるＬ２スイッチ装置であって、当該マルチキャストネットワークからのマルチキャストされたデータを１又は２以上のポートに配送可能なスイッチングエンジンと、データソースと当該スイッチングエンジンのデータ配送先ポートとの対応関係を記憶する転送テーブルと、当該スイッチングエンジンを通過する所定メッセージに従い当該転送テーブルを更新すると共に、当該転送テーブルを参照して、当該スイッチングエンジンの配送を制御するスイッチ制御回路とを具備する。当該スイッチ制御回路は、当該スイッチングエンジンの各ポートに割り当てるデータソースを所定数に制限し、当該所定数を超える配送要求に対して当該転送テーブルの更新を拒否する。
【００２４】
本発明に係るＬ２スイッチ装置の制御方法は、マルチキャストネットワークとユーザ装置との間に配置されるＬ２スイッチ装置を制御する方法であって、当該Ｌ２スイッチ装置のスイッチングエンジンを通過する所定メッセージに従い、当該マルチキャストネットワークからマルチキャストされるデータのデータソースと当該スイッチングエンジンによるデータ配送先ポートとの対応関係を記憶する転送テーブルを更新し、当該転送テーブルを参照して、当該スイッチングエンジンの配送を制御し、当該転送テーブル上でスイッチングエンジンの各ポートに割り当てるデータソースを所定数に制限し、当該所定数を超える配送要求に対して当該転送テーブルの更新を拒否することを特徴とする。
【発明の効果】
【００２５】
本発明によれば、スイッチングエンジンの各ポートに対して割り当て可能なデータソース数を制限することにより、マルチキャストアドレスをユーザに公平に分配することができる。また、特定ユーザによるＤｏＳ攻撃を防止できる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【００２７】
図１は、本発明の一実施例であるＬ（レイヤ）２スイッチの概略構成ブロック図を示し、図２は、図１に示すＬ２スイッチが使用するＩＧＭＰスヌーピング転送テーブルの一例を示す。図１に示すＬ２スイッチ３０は、図３に示すシステムのＬ２スイッチ２０に相当する位置に配置される。
【００２８】
Ｌ２スイッチ３０は、実際にＭＡＣフレームを入出力ポート間に配送するスイッチングエンジン３２と、ＩＧＭＰスヌーピングテーブル３４と、ＩＧＭＰスヌーピングテーブル３４を更新し、ＩＧＭＰスヌーピングテーブル３４の内容に従ってスイッチングエンジンを制御するＣＰＵ（又はスイッチ制御回路）３６からなる。
【００２９】
スイッチングエンジン３２は、ルータ１８とユーザ装置（ｈｏｓｔ１〜ｈｏｓｔ１６）との間でやり取りされるＩＧＭＰをモニタし、ポート０からＣＰＵ３６に通知する。ＣＰＵ３６は、スイッチングエンジン３２のスヌーピング結果により、ＩＧＭＰスヌーピングテーブル３４を更新する。
【００３０】
ＣＰＵ３６は、ＩＧＭＰスヌーピングテーブル３４を次のように使用し、管理する。
【００３１】
第１に、ＩＧＭＰスヌーピングテーブル３４のエントリできるアドレス数を制限し、予め設定した最大エントリ数を超える新規なアドレスのエントリを拒否する。例えば、ＩＧＭＰスヌーピングテーブル３４に６４個のエントリが用意されている場合でも、上流側の回線容量に応じて、６０個までのエントリを受付可能に設定する。例えば、トランク回線が１００Ｍｂｐｓの場合、１５人がそれぞれ異なるチャネルの７Ｍｂｐｓのデータグラムを受信しようとすると、トランク回線が輻輳してしまう。このような場合には、最大エントリ数を１０に制限すれば良い。また、放送を含めたマルチキャストサービスを行う場合、静的アドレスのエントリのみとし、その数を１０以下とすることでトランク回路の輻輳を回避することも可能である。
【００３２】
残るエントリは、そのまま使用しなくてもよいが、例えば、予備エントリとして、より優先する用途（例えば、天災、大事故及び地域的に緊急に放送すべき事象等）でのマルチキャストに確保してもよい。マルチキャストサーバ又は管理端末からの制御信号に従い、ＣＰＵ３６は、その優先マルチキャストのアドレスをＩＧＭＰスヌーピングテーブル３４の予備エントリに追加する。
【００３３】
第２に、ＩＧＭＰスヌーピングテーブル３４では、図２に例示するように、マルチキャストのソースアドレスがエントリされ、各エントリには、Ｌ２スイッチ３０に接続する各ホスト（ポート１〜１６）に対して転送のオン／オフを示すフラグを設定できる。図２の「×」は、その行のソースアドレスからのデータグラムを、そのコラムのポートに配送することを意味する。ソースアドレスと配送先のポート番号を１対１で対応付けるテーブル形式に比べ、エントリ数の増加を抑制でき、エントリ数の管理が容易になる。また、同じチャネルの受信ホストの有無の管理も容易になる。
【００３４】
第３に、ＣＰＵ３６は、エントリを拒否した新規アドレスのフレーム又はデータグラムを、ブロードキャストすること無しに破棄する。即ち、Ｌ２スイッチ３０は、ＩＧＭＰスヌーピングテーブルにエントリされていないマルチキャストアドレスのフレーム又はデータグラムを、ブロードキャストすること無しに破棄する。これにより、ネットワーク帯域、特に、Ｌ２スイッチ３０とユーザ装置との間のネットワーク帯域を無駄に消費することを防げる。
【００３５】
第４に、ＣＰＵ３６は、スイッチングエンジン３２の各入出力ポート１〜１６に対し、エントリ可能なマルチキャストトラフィックのアドレス数を一定値（図２に示す例では、３つ）に制限する。この設定値を超える要求（ＩＧＭＰ  Ｊｏｉｎメッセージ）があっても、ＣＰＵ３６は、その要求を拒否する。例えば、図２に示す例では、ポート９のホストは、既に３つのチャネルを受信している。最大数が３に設定されている場合、更なるチャネルの受信は受け付けられない。例えば、ポート９に接続するユーザ装置が、既にテーブル３４にエントリされているアドレス２２４．１．３．１６からのマルチキャストデータの受信を希望しても、ＣＰＵ３６は、テーブル３４上の該当する位置にフラグを立てない。
【００３６】
このような視聴チャネル数の制限により、マルチキャストアドレスをユーザに公平に分配できる。例えば、ＣＭ中に視聴チャネルを短時間で変更する、いわゆるザッピングにより、ＩＧＭＰスヌーピングテーブル３４のエントリが急速に消費される。これは、他のユーザの視聴機会を奪うことになる。例えば、ザッピングによるアドレスエントリ数が１０アドレス／秒であり、３人のユーザがザッピングを行い、その結果、全て異なるアドレスが新たにテーブル３４にエントリされたとすると、３人のザッピングにより９０個のアドレスのエントリが必要になる。各ポートで登録可能なアドレス数を制限、例えば、３個に制限すると、これらのザッピングによっても、最大で９アドレスの追加に留まり、テーブル３４の消費を防止できる。これはまた、特定ユーザによるＤｏＳ（Deny of Services）攻撃に対しても有効になる。
【００３７】
また、Ｌ２スイッチ３０の配下で各ユーザは、更にＬ２スイッチを配置できる。エントリの方法及びエントリできるアドレス数に何の制約もなければ、ＦＩＦＯ（First-In First-Out）原則の下で、１人又は少数のユーザが、利用可能な全マルチキャストアドレスを独占することが可能となる。上述のように、各ポートで受信可能なアドレス数を制限することで、このような独占を防止できる。ＣＰＵ３６は、各ポートについて、最大アドレス数を超えたアドレスの追加を拒否する。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施例であるＬ（レイヤ）２スイッチの概略構成ブロック図である。
【図２】ＩＧＭＰスヌーピング転送テーブル３４の一例を示す。
【図３】ＩＰマルチキャストシステムの従来例の概略構成図を示す。
【図４】ＩＧＭＰによるマルチキャスト制御のフロー例を示す。
【符号の説明】
【００３９】
１０：マルチキャストサーバ
１０ａ：ストリーミングサーバ
１０ｂ：ビデオサーバ
１２：ＩＰマルチキャストネットワーク
１４，１６，１８：マルチキャストルータ
２０：Ｌ２スイッチ
３０：Ｌ２スイッチ
３２：スイッチングエンジン
３４：ＩＧＭＰスヌーピング転送テーブル
３６：ＣＰＵ（スイッチ制御回路）
【図１】
2005065045.tif 000003
【図２】
2005065045.tif 000004
【図３】
2005065045.tif 000005
【図４】
2005065045.tif 000006