(57)【要約】【課題】マルチキャストパケットの不要な転送を抑制する。【解決手段】マルチキャストグループＢに所属する端末装置１１３Ｂ−２，１１３Ｃ−１は、マルチキャストグループＢに対応するマルチキャストアドレスＢを送信元に設定したマルチキャストアドレス通知パケットを所定のタイミングでブロードバンドルータ１１１に送信する。ブロードバンドルータ１１１，レイヤ２スイッチ１１２Ａ乃至１１２Ｃは、マルチキャストアドレス通知パケットを受信したポートにおいてマルチキャストアドレスＢを学習する。マルチキャストサーバ２５１から送信されてきたマルチキャストグループＢのパケットはマルチキャストアドレスＢを学習しているポートを介して転送され、端末装置１１３Ｂ−２，１１３Ｃ−１により受信される。本発明は、例えば、ホームネットワークシステムに適用できる。【選択図】図１９
2009111746.tif 000002
【特許請求の範囲】
【請求項１】
レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置と、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置とにより構成される通信システムにおいて、
前記中継装置は、
前記ポートに直接または間接的に接続されている前記端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止する学習手段と、
受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信する第１の送信手段と
を含み、
前記端末装置は、
前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用の前記レイヤ２アドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信する第２の送信手段を
含む通信システム。
【請求項２】
レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置と、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置とにより構成される通信システムの通信方法において、
前記中継装置により実行される、
前記ポートに直接または間接的に接続されている前記端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止し、
受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信を制御する
ステップと、
前記端末装置により実行される、
前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用の前記レイヤ２アドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信を制御する
ステップと
を含む通信方法。
【請求項３】
レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置において、
前記ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止する学習手段と、
受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信する送信手段と
を含む中継装置。
【請求項４】
前記学習手段は、前記ポートに対応づけられている前記レイヤ２アドレスが送信元に設定されているパケットのその前記ポートを介した受信が所定の期間行われなかった場合、その前記ポートとその前記レイヤ２アドレスとの対応関係を取り消す
請求項３に記載の中継装置。
【請求項５】
前記送信手段は、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがない場合、受信したパケットをフラッディングする
請求項３に記載の中継装置。
【請求項６】
レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置の通信方法において、
前記ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止し、
受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信を制御する
ステップを含む通信方法。
【請求項７】
レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う処理を、コンピュータに実行させるプログラムにおいて、
前記ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止し、
受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信を制御する
ステップを含む処理を実行させるプログラム。
【請求項８】
レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置において、
前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信する送信手段を
含む端末装置。
【請求項９】
前記送信手段は、前記マルチキャストグループ宛てのパケットを送信するマルチキャストサーバが、前記端末装置が属するレイヤ２のネットワークに属している場合、前記マルチキャストサーバ宛てに前記マルチキャストアドレス通知パケットを送信する
請求項８に記載の端末装置。
【請求項１０】
前記送信手段は、前記マルチキャストグループ宛てのパケットを送信するマルチキャストサーバが、前記端末装置が属する第１のレイヤ２のネットワークとは異なる第２のレイヤ２のネットワークに属している場合、前記第１のレイヤ２のネットワークのゲートウェイ宛てに前記マルチキャストアドレス通知パケットを送信する
請求項８に記載の端末装置。
【請求項１１】
レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置の通信方法において、
前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信を制御する
ステップを含む通信方法。
【請求項１２】
レイヤ２のプロトコルに基づいてパケットの送受信を行う処理を、端末装置のコンピュータに実行させるプログラムにおいて、
前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信を制御する
ステップを含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムおよび方法、中継装置、端末装置、並びに、プログラムに関し、特に、マルチキャストパケットの不要な転送を抑制するようにした通信システムおよび方法、中継装置、端末装置、並びに、プログラムに関する。
【背景技術】
【０００２】
昨今、パケットのマルチキャストの仕様へのIP（Internet Protocol）ネットワークのバックボーンの対応が進み、マルチキャストパケットがホームネットワーク上を流れるようになった。特に、IPTV（Internet Protocol TV）のサービスなどでは、20Mbps（Bits Per Second）を超えるマルチキャストパケットがホームネットワーク上を流れることもある。
【０００３】
レイヤ３（L3、ネットワーク層）以上のプロトコルに対応したルータについては、マルチキャストの仕様に対応したものも多いが（例えば、特許文献１参照）、レイヤ２（L2、データリンク層）のネットワークであるホームネットワークにおいて使用される従来の標準的なレイヤ２スイッチ（スイッチングハブ）は、マルチキャストの仕様に十分対応していないものが多く、マルチキャストパケットをブロードキャストパケットと同様に処理してしまう。すなわち、レイヤ２スイッチが、各ポートに接続されているネットワーク内にマルチキャストグループに属する端末装置が存在するか否かに関わらず、ネットワーク（他の装置）が接続されている全てのポートを介して、受信したマルチキャストパケットを送信する。
【０００４】
その結果、ホームネットワーク内に不要なマルチキャストパケットが流れ、パケットの輻輳が発生し、マルチキャストとは無関係な通信が阻害されてしまう恐れがある。
【０００５】
また、例えば、転送速度が異なるネットワークがレイヤ２スイッチに接続されている場合、最も転送速度が遅いネットワークがマルチキャストパケットの送信時にボトルネックとなり、レイヤ２スイッチ内でパケットの輻輳が発生し、他のネットワークの帯域に余裕があったとしても、パケットロス等が発生する恐れがある。
【０００６】
従来、上記の問題を解決するために、IGMP（Internet Group Management Protocol）スヌーピング機能を有するレイヤ２スイッチが用いられている。IGMPスヌーピング機能は、ルータと端末装置間でやり取りされるIGMP joinメッセージを盗み見ることにより（スヌーピングすることにより）、マルチキャストグループに属する端末装置が接続されているポートを認識し、マルチキャストグループに属する端末装置が接続されいてるポートからのみマルチキャストパケットを送信する機能である。この機能により、マルチキャストパケットの不要な転送を抑制することができる。
【０００７】
【特許文献１】特開平２００４−１８００２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、IGMPスヌーピング機能を有するレイヤ２スイッチは、レイヤ２の情報だけでなく、レイヤ３（L3、ネットワーク層）以上の情報を監視する必要があり、処理が複雑になり、また、高価になる。
【０００９】
また、レイヤ３以上においてマルチキャストに関するプロトコルが新たに実装された場合、レイヤ２のマルチキャストに関するプロトコルに変更が加えられていなくても、新たに実装されたプロトコルに対応した機能を追加する必要が生じる。
【００１０】
本発明は、このような状況を鑑みてなされたものであり、マルチキャストパケットの不要な転送を簡単に抑制できるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の第１の側面の通信システムは、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置と、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置とにより構成される通信システムにおいて、前記中継装置は、前記ポートに直接または間接的に接続されている前記端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止する学習手段と、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信する第１の送信手段とを備え、前記端末装置は、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用の前記レイヤ２アドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信する第２の送信手段をを備える。
【００１２】
本発明の第１の側面の通信方法は、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置と、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置とにより構成される通信システムの通信方法において、前記中継装置により実行される、前記ポートに直接または間接的に接続されている前記端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止し、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信を制御するステップと、前記端末装置により実行される、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用の前記レイヤ２アドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信を制御するステップとを含む。
【００１３】
本発明の第２の側面の中継装置は、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置において、前記ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止する学習手段と、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信する送信手段とを備える。
【００１４】
前記学習手段には、前記ポートに対応づけられている前記レイヤ２アドレスが送信元に設定されているパケットのその前記ポートを介した受信が所定の期間行われなかった場合、その前記ポートとその前記レイヤ２アドレスとの対応関係を取り消させることができる。
【００１５】
前記送信手段には、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがない場合、受信したパケットをフラッディングさせることができる。
【００１６】
本発明の第２の側面の通信方法、または、プログラムは、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置の通信方法、または、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う処理を、コンピュータに実行させるプログラムにおいて、前記ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止し、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信を制御するステップを含む。
【００１７】
本発明の第３の側面の端末装置は、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置において、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信する送信手段を備える。
【００１８】
前記送信手段には、前記マルチキャストグループ宛てのパケットを送信するマルチキャストサーバが、前記端末装置が属するレイヤ２のネットワークに属している場合、前記マルチキャストサーバ宛てに前記マルチキャストアドレス通知パケットを送信させることができる。
【００１９】
前記送信手段には、前記マルチキャストグループ宛てのパケットを送信するマルチキャストサーバが、前記端末装置が属する第１のレイヤ２のネットワークとは異なる第２のレイヤ２のネットワークに属している場合、前記第１のレイヤ２のネットワークのゲートウェイ宛てに前記マルチキャストアドレス通知パケットを送信させることができる。
【００２０】
本発明の第３の側面の通信方法、または、プログラムは、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置の通信方法、または、レイヤ２のプロトコルに基づいてパケットの送受信を行う処理を、端末装置のコンピュータに実行させるプログラムにおいて、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信を制御するステップを含む。
【００２１】
本発明の第１の側面においては、中継装置により、ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係が、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習されるとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることが許可され、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることが禁止され、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信が制御され、前記端末装置により、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用の前記レイヤ２アドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信が制御される。
【００２２】
本発明の第２の側面においては、ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係が、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習されるとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることが許可され、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることが禁止され、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信が制御される。
【００２３】
本発明の第３の側面においては、端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信が制御される。
【発明の効果】
【００２４】
本発明の第１乃至第３の側面によれば、マルチキャスト用のレイヤ２のアドレスの学習を行うことができる。特に、本発明の第１乃至第３の側面によれば、マルチキャストパケットの不要な転送を簡単に抑制することができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２６】
本発明の第１の側面の通信システムは、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置（例えば、図１のブロードバンドルータ１１１、レイヤ２スイッチ１１２Ａ乃至１１２Ｃ）と、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置（例えば、図１の端末装置１１３Ａ乃至１１３Ｃ−２）とにより構成される通信システム（例えば、図１のネットワークシステム１０１）において、前記中継装置は、前記ポートに直接または間接的に接続されている前記端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止する学習手段（例えば、図２のアドレス学習部１４３）と、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信する第１の送信手段（例えば、図２の送信制御部１４５）とを含み、前記端末装置は、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用の前記レイヤ２アドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信する第２の送信手段（例えば、図３のパケット送信部１７２）を含む。
【００２７】
本発明の第１の側面の通信方法は、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置（例えば、図１のブロードバンドルータ１１１、レイヤ２スイッチ１１２Ａ乃至１１２Ｃ）と、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置（例えば、図１の端末装置１１３Ａ乃至１１３Ｃ−２）とにより構成される通信システム（例えば、図１のネットワークシステム１０１）の通信方法において、前記中継装置により実行される、前記ポートに直接または間接的に接続されている前記端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止し（例えば、図６のステップＳ２２乃至Ｓ２５）、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信を制御する（例えば、図１７のステップＳ５３およびＳ５４）ステップと、前記端末装置により実行される、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用の前記レイヤ２アドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信を制御する（例えば、図４のステップＳ１およびＳ２）ステップとを含む。
【００２８】
本発明の第２の側面の中継装置（例えば、図１のブロードバンドルータ１１１、レイヤ２スイッチ１１２Ａ乃至１１２Ｃ）は、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置において、前記ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止する学習手段（例えば、図２のアドレス学習部１４３）と、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信する送信手段（例えば、図２の送信制御部１４５）とを含む。
【００２９】
本発明の第２の側面の通信方法またはプログラムは、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う中継装置（例えば、図１のブロードバンドルータ１１１、レイヤ２スイッチ１１２Ａ乃至１１２Ｃ）の通信方法、または、レイヤ２のプロトコルに基づいて複数のポートを介してパケットの中継を行う処理を、コンピュータに実行させるプログラムににおいて、前記ポートに直接または間接的に接続されている端末装置のレイヤ２のアドレスであるレイヤ２アドレスと前記ポートとの対応関係を、前記ポートを介して受信したパケットの送信元に設定されている前記レイヤ２アドレスに基づいて学習するとともに、前記レイヤ２アドレスがマルチキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを許可し、前記レイヤ２アドレスがユニキャスト用のアドレスである場合、同じ前記レイヤ２アドレスを複数の前記ポートに対応づけることを禁止し（例えば、図６のステップＳ２２乃至Ｓ２５）、受信したパケットの宛先に設定されている前記レイヤ２アドレスと一致する前記レイヤ２アドレスが対応づけられている前記ポートがある場合、受信したパケットをその前記ポートを介して送信するようにパケットの送信を制御する（例えば、図１７のステップＳ５３およびＳ５４）ステップを含む。
【００３０】
本発明の第３の側面の端末装置（例えば、図１の端末装置１１３Ａ乃至１１３Ｃ−２）は、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置において、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信する送信手段（例えば、図３のパケット送信部１７２）を含む。
【００３１】
本発明の第２の側面の通信方法またはプログラムは、レイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置（例えば、図１の端末装置１１３Ａ乃至１１３Ｃ−２）の通信方法、または、レイヤ２のプロトコルに基づいてパケットの送受信を行う処理を、端末装置（例えば、図１の端末装置１１３Ａ乃至１１３Ｃ−２）のコンピュータに実行させるプログラムにおいて、前記端末装置がマルチキャストグループに属している場合、属しているマルチキャストグループに対応するマルチキャスト用のレイヤ２のアドレスを送信元に設定したパケットであるマルチキャストアドレス通知パケットを所定のタイミングで送信するようにパケットの送信を制御する（例えば、図４のステップＳ１およびＳ２）ステップを含む。
【００３２】
以下、図面を参照して本発明を適用した実施の形態について説明する。
【００３３】
図１は、本発明を適用したネットワークシステムの一実施の形態を示すブロック図である。図１のネットワークシステム１０１は、レイヤ２のネットワーク網、例えば、一般的なホームネットワークシステムを構成する。ネットワークシステム１０１は、インターネット、CDN（Content Delivery Network）といったキャリア網などの外部のネットワークとの接続を行い、少なくともレイヤ２およびレイヤ３のプロトコルに基づいてパケットの中継を行うブロードバンドルータ１１１、少なくともレイヤ２のプロトコルに基づいてパケットの中継を行う中継装置であるレイヤ２スイッチ１１２Ａ乃至１１２Ｃ、並びに、情報処理装置、AV（Audio/Visual）機器、家電製品などのネットワーク対応装置であって、少なくともレイヤ２のプロトコルに基づいてパケットの送受信を行う端末装置１１３Ａ、１１３Ｂ−１、１１３Ｂ−２、１１３Ｃ−１および１１３Ｃ−２を含むように構成される。
【００３４】
ブロードバンドルータ１１１は、ポートＰ１を介して外部のネットワークに接続されるとともに、ポートＰ２を介してレイヤ２スイッチ１１２ＡのポートＰ１１と接続され、ポートＰ３を介してレイヤ２スイッチ１１２ＢのポートＰ２１と接続されている。レイヤ２スイッチ１１２Ａは、ポートＰ１２を介してレイヤ２スイッチ１１２ＣのポートＰ３１と接続され、ポートＰ１３を介して端末装置１１３Ａと接続されている。レイヤ２スイッチ１１２Ｂは、ポートＰ２２を介して端末装置１１３Ｂ−１と接続され、ポートＰ２３を介して端末装置１１３Ｂ−２と接続されている。レイヤ２スイッチ１１２Ｃは、ポートＰ３２を介して端末装置１１３Ｃ−１と接続され、ポートＰ３３を介して端末装置１１３Ｃ−２と接続されている。
【００３５】
なお、以下、レイヤ２スイッチ１１２Ａ乃至１１２Ｃを個々に区別する必要がない場合、単に、レイヤ２スイッチ１１２と称する。また、以下、端末装置１１３Ａ乃至１１３Ｃ−２を個々に区別する必要がない場合、単に端末装置１１３と称する。
【００３６】
図２は、ブロードバンドルータ１１１およびレイヤ２スイッチ１１２のレイヤ２のプロトコルに基づく通信機能を実現する部分であるレイヤ２通信部の機能的構成を示すブロック図である。図２のレイヤ２通信部１３１は、受信制御部１４１、バッファ１４２、アドレス学習部１４３、学習テーブル記憶部１４４、および、送信制御部１４５を含むように構成される。
【００３７】
受信制御部１４１は、ポート１３２−１乃至１３２−ｎを介して外部から受信したパケットをバッファ１４２に蓄積させる。また、受信制御部１４１は、パケットを受信したポート、および、受信したパケットの送信元MAC（Media Access Control）アドレス（Source Address）をアドレス学習部１４３に通知する。
【００３８】
また、受信制御部１４１は、ポート１３２−１乃至１３２−ｎから供給される機器の接続の有無を示す信号に基づいて、機器の接続の切断（以下、リンク断とも称する）の検出を行い、リンク断を検出した場合、リンク断を検出したポートをアドレス学習部１４３に通知する。
【００３９】
なお、以下、ポート１３２−１乃至１３２−ｎを個々に区別する必要がない場合、単にポート１３２と称する。また、図１のポートＰ１乃至ポートＰ３３は、それぞれ各機器のポート１３２に対応している。
【００４０】
アドレス学習部１４３は、図６などを参照して後述するように、受信制御部１４１から通知された情報に基づいて、直接または他のレイヤ２スイッチ１１２などを介して間接的に各ポート１３２に接続されている端末装置１１３のMACアドレスの学習を行う。アドレス学習部１４３は、学習結果に基づいて、各ポート１３２に直接または間接的に接続されている端末装置１１３のMACアドレスと各ポート１３２との対応関係を示す学習テーブルを生成または更新し、学習テーブル記憶部１４４に記憶させる。
【００４１】
なお、以下、ポート１３２ごとに学習テーブルを個別に設ける場合を例に挙げて説明する。すなわち、各ポート１３２に対応する学習テーブルが個別に設けられ、各学習テーブルには、その学習テーブルが対応するポート１３２と、そのポート１３２に直接または間接的に接続されている端末装置１１３のMACアドレスとの対応関係などを示すデータ（以下、エントリとも称する）が登録されるものとする。
【００４２】
また、学習テーブルの各エントリは、少なくとも、学習されたMACアドレス、すなわち、その学習テーブルに対応するポート１３２に直接または間接的に接続されている端末装置１１３のMACアドレス、および、エージングタイマを含む。エージングタイマとは、所定の間隔で更新され、各エントリの有効期間を示すタイマである。図２０を参照して後述するように、エージングタイマがタイムアウトしたエントリは廃棄される。
【００４３】
送信制御部１４５は、図１７などを参照して後述するように、バッファ１４２に蓄積されているパケットの宛先MACアドレス（Destination Address）、および、学習テーブル記憶部１４４に記憶されている学習テーブルに基づいて、受信したパケットを送信するポート１３２を選択し、選択したポート１３２を介してパケットを外部に送信する。
【００４４】
図３は、端末装置１１３のマルチキャストアドレスを通知する機能を実現する部分であるマルチキャストアドレス通知部の機能的構成を示すブロック図である。図３のマルチキャストアドレス通知部１６１は、MACアドレス記憶部１７１およびパケット送信部１７２を含むように構成される。
【００４５】
MACアドレス記憶部１７１は、端末装置１１３においてマルチキャストグループに参加するための操作が行われたとき、そのマルチキャストグループに対応するマルチキャスト用のMACアドレス（以下、マルチキャストアドレスとも称する）を記憶する。なお、端末装置１１３は、複数のマルチキャストグループに参加することができ、MACアドレス記憶部１７１は、端末装置１１３が属している全てのマルチキャストグループに対応するマルチキャストMACアドレスを記憶する。
【００４６】
パケット送信部１７２は、図４を参照して後述するように、所定のタイミングで、MACアドレス記憶部１７１に記憶されているマルチキャストアドレスを通知するためのパケット（以下、マルチキャストアドレス通知パケットとも称する）を生成し、送信する。
【００４７】
次に、図４のフローチャートを参照して、端末装置１１３により実行されるマルチキャストアドレス通知処理について説明する。なお、この処理は、例えば、所定のタイミング（例えば、所定の間隔、所定の時刻、端末装置１１３において所定の処理が行われたときなどのタイミング）で実行される。
【００４８】
ステップＳ１において、パケット送信部１７２は、マルチキャスト用のMACアドレスが設定されているかを判定する。パケット送信部１７２は、MACアドレス記憶部１７１にマルチキャストアドレスが記憶されている場合、マルチキャスト用のMACアドレスが設定されていると判定し、処理はステップＳ２に進む。
【００４９】
なお、マルチキャストアドレスは、図５に示されるように、先頭の３バイト（1ビット〜24ビット目）に0x01005Eが設定され、25ビット目に1が設定され、下位の23ビットにマルチキャストグループを示すIDが設定されたMACアドレスである。
【００５０】
ステップＳ２において、パケット送信部１７２は、送信元にマルチキャスト用のMACアドレスを設定したパケットを送信し、マルチキャストアドレス通知処理は終了する。具体的には、パケット送信部１７２は、MACアドレス記憶部１７１に記憶されているMACアドレスを送信元MACアドレスに設定したping（Packet INternet Groper）コマンドのパケットを生成し、生成したパケットをマルチキャストアドレス通知パケットとして送信する。
【００５１】
なお、端末装置１１３が複数のマルチキャストグループに属しており、各マルチキャストグループに対応する複数のマルチキャストアドレスが設定されている場合、パケット送信部１７２は、各マルチキャストアドレスについて、マルチキャストアドレス通知パケットを生成し、送信する。
【００５２】
一方、ステップＳ１において、パケット送信部１７２は、MACアドレス記憶部１７１にマルチキャスト用のMACアドレスが記憶されていない場合、マルチキャスト用のMACアドレスが設定されていないと判定し、マルチキャストアドレス通知処理は終了する。
【００５３】
次に、図６のフローチャートを参照して、ブロードバンドルータ１１１およびレイヤ２スイッチ１１２により実行されるパケット受信処理について説明する。なお、この処理は、例えば、ブロードバンドルータ１１１またはレイヤ２スイッチ１１２の受信制御部１４１が、いずれかのポート１３２を介して、外部からパケットを受信したとき開始される。
【００５４】
ステップＳ２１において、受信制御部１４１は、パケットを蓄積する。具体的には、受信制御部１４１は、受信したパケットをバッファ１４２に蓄積する。また、受信制御部１４１は、パケットを受信したポート１３２、および、受信したパケットの送信元MACアドレスをアドレス学習部１４３に通知する。
【００５５】
ステップＳ２２において、アドレス学習部１４３は、受信したパケットの送信元MACアドレスがマルチキャストアドレスであるかを判定する。受信したパケットの送信元MACアドレスがマルチキャストアドレスでないと判定された場合、すなわち、受信したパケットの送信元MACアドレスがユニキャストアドレスであると判定された場合、処理はステップＳ２３に進む。
【００５６】
ステップＳ２３において、アドレス学習部１４３は、送信元MACアドレスを他のポートで学習済みであるかを判定する。具体的には、アドレス学習部１４３は、学習テーブル記憶部１４４に記憶されている学習テーブルのうち、パケットを受信したポート１３２（以下、受信ポートとも称する）以外のポート１３２の学習テーブルを対象に、受信したパケットの送信元MACアドレスと一致するMACアドレスを含むエントリを検索する。アドレス学習部１４３は、受信したパケットの送信元MACアドレスと一致するMACアドレスを含むエントリを検出した場合、送信元MACアドレスを他のポートで学習済みであると判定し、処理はステップＳ２４に進む。
【００５７】
ステップＳ２４において、アドレス学習部１４３は、MACアドレスが重複するエントリを廃棄する。具体的には、アドレス学習部１４３は、ステップＳ２３で検出した、受信したパケットの送信元MACアドレスと一致するMACアドレスを含むエントリを学習テーブルから削除する。これにより、複数のポート１３２の学習テーブルにおいて同じユニキャストアドレスを含むエントリが重複して登録されることが禁止される。すなわち、同じユニキャストアドレスが複数のポートに対応づけられることが禁止される。
【００５８】
一方、ステップＳ２３において、送信元MACアドレスを他のポートで学習済みでないと判定された場合、ステップＳ２４の処理はスキップされ、処理はステップＳ２５に進む。
【００５９】
また、ステップＳ２２において、受信したパケットの送信元MACアドレスがマルチキャストアドレスであると判定された場合、ステップＳ２３およびＳ２４の処理はスキップされ、処理はステップＳ２５に進む。
【００６０】
ステップＳ２５において、アドレス学習部１４３は、受信ポートの学習テーブルを更新し、パケット受信処理は終了する。具体的には、アドレス学習部１４３は、受信ポートの学習テーブルに、受信したパケットの送信元MACアドレスと一致するMACアドレスを含むエントリが登録されていない場合、受信したパケットの送信元MACアドレスを含むエントリを新たに学習テーブルに追加し、追加したエントリのエージングタイマを初期値に設定する。また、アドレス学習部１４３は、受信ポートの学習テーブルに、受信したパケットの送信元MACアドレスと一致するMACアドレスを含むエントリが登録されている場合、そのエントリのエージングタイマを初期値に戻す。
【００６１】
このようにして、受信したパケットがバッファ１４２に蓄積されるとともに、各ポート１３２に直接または間接的に接続されている端末装置１１３のMACアドレスの学習が行われる。
【００６２】
ここで、図７および図８を参照して、マルチキャストアドレスの学習する場合の処理の具体例について説明する。
【００６３】
図７および図８は、図１のレイヤ２スイッチ１１２と同様の構成を有するレイヤ２スイッチ２０１のポート０乃至ポート３の学習テーブルの状態を示す図である。
【００６４】
例えば、まず、図７に示されるように、レイヤ２スイッチ２０１が、送信元MACアドレス（MAC SA）にマルチキャストアドレスＡが設定されたパケットをポート０を介して受信した場合、マルチキャストアドレスＡを含むエントリがポート０の学習テーブルに登録される。
【００６５】
次に、図８に示されるように、レイヤ２スイッチ２０１が、送信元MACアドレス（MAC SA）にマルチキャストアドレスＡが設定されたパケットをポート１を介して受信した場合、マルチキャストアドレスＡを含むエントリがポート１の学習テーブルに登録される。このとき、上述したように、図６のステップＳ２３およびＳ２４の処理はスキップされるので、受信したパケットの送信元MACアドレスと同一のマルチキャストアドレスＡを含むエントリは、ポート０の学習テーブルから削除されない。
【００６６】
このように、複数のポートの学習テーブルにおいて同じマルチキャストアドレスを含むエントリが重複して登録されることが許可される。すなわち、同じマルチキャストアドレスが複数のポートに対応づけられることが許可される。
【００６７】
次に、図９乃至図１６を参照して、マルチキャストアドレス通知パケットの送信先の例について説明する。
【００６８】
なお、以下、ブロードバンドルータ１１１のユニキャスト用のMACアドレスをMAC_GWとし、IPアドレスをIP_GWとし、端末装置１１３Ｂ−２のユニキャスト用のMACアドレスをMAC_Eとし、IPアドレスをIP_Eとし、端末装置１１３Ｃ−１のユニキャスト用のMACアドレスをMAC_Aとし、IPアドレスをIP_Aとする。また、以下、マルチキャストグループ１に対応するマルチキャスト用のMACアドレス（マルチキャストアドレス）をMAC_Mとする。
【００６９】
まず、端末装置１１３Ｃ−１がマルチキャストグループ１に属し、マルチキャストグループ１宛てのマルチキャストパケットを送信するマルチキャストサーバが、ネットワークシステム１０１とは異なるレイヤ２ネットワークに属している場合について考える。この場合、端末装置１１３Ｃ−１は、例えば、図９に示されるように、ネットワークシステム１０１のゲートウェイであるブロードバンドルータ１１１宛てにマルチキャストアドレス通知パケットを送信する。
【００７０】
図１０は、このとき送信されるマルチキャストアドレス通知パケットの構成の例を示している。図１０のマルチキャストアドレス通知パケットのイーサネットヘッダ部においては、宛先MACアドレス（MAC DA）にブロードバンドルータ１１１のMACアドレスであるMAC_GWが設定され、送信元MACアドレス（MAC SA）に、端末装置１１３Ｃ−１が属するマルチキャストグループ１のマルチキャストアドレスであるMAC_Mが設定され、イーサネットタイプ（Type）に、対応するプロトコルがIPであることを示す値0x0800が設定される。また、IPヘッダ部においては、プロトコルフィールド（Protocol）に上位プロトコルがICMP（Internet Control Message Protocol）であることを示す値0x01が設定され、送信元IPアドレス（IP SA）に端末装置１１３Ｃ−１のIPアドレスであるIP_Aが設定され、宛先IPアドレス（IP DA）にブロードバンドルータ１１１のIPアドレスであるIP_GWが設定される。さらに、IPヘッダの後ろにIPペイロード（IP Payload）およびCRC（Cyclic Redundancy Check）符号が付加される。
【００７１】
この場合、端末装置１１３Ｃ−１のパケット送信部１７２から送信された図１０のマルチキャストアドレス通知パケットは、レイヤ２スイッチ１１２ＣのポートＰ３２およびポートＰ３１、レイヤ２スイッチ１１２ＡのポートＰ１２およびポートＰ１１、並びに、ポートＰ２を介して、ブロードバンドルータ１１１により受信される。これにより、マルチキャストアドレス通知パケットを受信したポートであるレイヤ２スイッチ１１２ＣのポートＰ３２、レイヤ２スイッチ１１２ＡのポートＰ１２、および、ブロードバンドルータ１１１のポートＰ２において、端末装置１１３Ｃ−１に設定されているマルチキャストアドレスであるMAC_Mが学習される。
【００７２】
次に、端末装置１１３Ｃ−１がマルチキャストグループ１に属し、マルチキャストグループ１宛てのマルチキャストパケットを送信するマルチキャストサーバが、ネットワークシステム１０１内の端末装置１１３Ｂ−２である場合について考える。この場合、端末装置１１３Ｃ−１は、例えば、図１１に示されるように、端末装置１１３Ｂ−２宛てにマルチキャストアドレス通知パケットを送信する。
【００７３】
図１２は、このとき送信されるマルチキャストアドレス通知パケットの構成の例を示している。図１２のマルチキャストアドレス通知パケットは、図１０のマルチキャストアドレス通知パケットと比較して、宛先MACアドレス（MAC DA）に端末装置１１３Ｂ−２のMACアドレスであるMAC_Eが設定され、宛先IPアドレス（IP DA）に端末装置１１３Ｂ−２のIPアドレスであるIP_Eが設定されている点が異なる。
【００７４】
この場合、端末装置１１３Ｃ−１のパケット送信部１７２から送信された図１２のマルチキャストアドレス通知パケットは、レイヤ２スイッチ１１２ＣのポートＰ３２およびポートＰ３１、レイヤ２スイッチ１１２ＡのポートＰ１２およびポートＰ１１、ブロードバンドルータ１１１のポートＰ２およびポートＰ３、並びに、レイヤ２スイッチ１１２ＢのポートＰ２１およびポートＰ２３を介して、端末装置１１３Ｂ−２により受信される。これにより、マルチキャストアドレス通知パケットを受信したポートであるレイヤ２スイッチ１１２ＣのポートＰ３２、レイヤ２スイッチ１１２ＡのポートＰ１２、ブロードバンドルータ１１１のポートＰ２、および、レイヤ２スイッチ１１２ＢのポートＰ２１において、端末装置１１３Ｃ−１に設定されているマルチキャストアドレスであるMAC_Mが学習される。
【００７５】
さらに、端末装置１１３Ｃ−１がマルチキャストグループ１に属している場合、図１３に示されるように、端末装置１１３Ｃ−１が、マルチキャストアドレス通知パケットをネットワークシステム１０１内にブロードキャストすることが考えられる。
【００７６】
図１４は、このとき送信されるマルチキャストアドレス通知パケットの構成の例を示している。図１４のマルチキャストアドレス通知パケットは、図１０のマルチキャストアドレス通知パケットと比較して、宛先MACアドレス（MAC DA）にブロードキャストアドレスを示す値FF:FF:FF:FF:FF:FFが設定され、宛先IPアドレス（IP DA）に端末装置１１３Ｃ−１のIPアドレスであるIP_Aが設定されている点が異なる。
【００７７】
この場合、端末装置１１３Ｃ−１のパケット送信部１７２から送信された図１４のマルチキャストアドレス通知パケットは、レイヤ２スイッチ１１２ＣのポートＰ３２を介して、端末装置１１３Ｃ−１により受信され、レイヤ２スイッチ１１２ＣのポートＰ３２およびポートＰ３３を介して、端末装置１１３Ｃ−２により受信され、レイヤ２スイッチ１１２ＣのポートＰ３２およびポートＰ３１、並びに、レイヤ２スイッチ１１２ＡのポートＰ１２およびポートＰ１３を介して、端末装置１１３Ａにより受信され、レイヤ２スイッチ１１２ＣのポートＰ３２およびポートＰ３１、レイヤ２スイッチ１１２ＡのポートＰ１２およびポートＰ１１、ブロードバンドルータ１１１のポートＰ２およびポートＰ３、並びに、レイヤ２スイッチ１１２ＢのポートＰ２１およびポートＰ２２を介して、端末装置１１３Ｂ−１により受信され、レイヤ２スイッチ１１２ＣのポートＰ３２およびポートＰ３１、レイヤ２スイッチ１１２ＡのポートＰ１２およびポートＰ１１、ブロードバンドルータ１１１のポートＰ２およびポートＰ３、並びに、レイヤ２スイッチ１１２ＢのポートＰ２１およびポートＰ２３を介して、端末装置１１３Ｂ−２により受信される。
【００７８】
これにより、マルチキャストアドレス通知パケットを受信したポートであるレイヤ２スイッチ１１２ＣのポートＰ３２、レイヤ２スイッチ１１２ＡのポートＰ１２、ブロードバンドルータ１１１のポートＰ２、および、レイヤ２スイッチ１１２ＢのポートＰ２１において、端末装置１１３Ｃ−１に設定されているマルチキャストアドレスであるMAC_Mが学習される。
【００７９】
また、端末装置１１３Ｃ−１がマルチキャストグループ１に属している場合、図１５に示されるように、端末装置１１３Ｃ−１が、マルチキャストアドレス通知パケットを自分宛てに送信することが考えられる。
【００８０】
図１６は、このとき送信されるマルチキャストアドレス通知パケットの構成の例を示している。図１６のマルチキャストアドレス通知パケットは、図１０のマルチキャストアドレス通知パケットと比較して、宛先MACアドレス（MAC DA）に端末装置１１３Ｃ−１のMACアドレスであるMAC_Aが設定され、宛先IPアドレス（IP DA）に端末装置１１３Ｃ−１のIPアドレスであるIP_Aが設定されている点が異なる。
【００８１】
この場合、端末装置１１３Ｃ−１のパケット送信部１７２から送信された図１６のマルチキャストアドレス通知パケットは、レイヤ２スイッチ１１２ＣのポートＰ３２を介して、端末装置１１３Ｃ−１により受信される。これにより、マルチキャストアドレス通知パケットを受信したポートであるレイヤ２スイッチ１１２ＣのポートＰ３２において、端末装置１１３Ｃ−１に設定されているマルチキャストアドレスであるMAC_Mが学習される。
【００８２】
次に、図１７のフローチャートを参照して、ブロードバンドルータ１１１およびレイヤ２スイッチ１１２により実行されるパケット送信処理について説明する。
【００８３】
ステップＳ５１において、送信制御部１４５は、バッファ１４２にパケットが蓄積されているかを判定する。ステップＳ５１の判定処理は、バッファ１４２にパケットが蓄積されていると判定されるまで所定の間隔で繰り返し実行され、バッファ１４２にパケットが蓄積されていると判定された場合、処理はステップＳ５２に進む。
【００８４】
ステップＳ５２において、送信制御部１４５は、宛先MACアドレスがブロードキャストアドレスであるかを判定する。具体的には、送信制御部１４５は、バッファ１４２に最も前に蓄積されたパケットを次に送信するパケットとし、そのパケットの宛先MACアドレスを参照する。送信制御部１４５が、次に送信するパケットの宛先MACアドレスがブロードキャストアドレスでないと判定した場合、すなわち、マルチキャストアドレスまたはユニキャストアドレスであると判定した場合、処理はステップＳ５３に進む。
【００８５】
ステップＳ５３において、送信制御部１４５は、宛先MACアドレスを学習済みであるかを判定する。具体的には、送信制御部１４５は、学習テーブル記憶部１４４に記憶されている全ての学習テーブルを対象に、次に送信するパケットの宛先MACアドレスと一致するMACアドレスを含むエントリを検索する。送信制御部１４５は、次に送信するパケットの宛先MACアドレスと一致するMACアドレスを含むエントリを検出した場合、宛先MACアドレスを学習済みであると判定し、処理はステップＳ５４に進む。
【００８６】
ステップＳ５４において、送信制御部１４５は、設定されている宛先にパケットを送信する。具体的には、送信制御部１４５は、送信するパケットをコピーし、ステップＳ５３において検出されたエントリが登録されている学習テーブルに対応するポート１３２、すなわち、送信するパケットの宛先MACアドレスと一致するMACアドレスが対応づけられているポート１３２からコピーしたパケットを送信する。
【００８７】
なお、送信するパケットの宛先MACアドレスにマルチキャストアドレスが設定されており、そのマルチキャストアドレスと一致するMACアドレスが対応づけられているポート１３２が複数ある場合、送信制御部１４５は、それらの全てのポート１３２について、送信するパケットをコピーし、該ポート１３２からコピーしたパケットを送信する処理を実行する。これにより、受信したパケットがマルチキャストされる。
【００８８】
例えば、図１８に示されるように、上述した図８と学習テーブルが同じ状態のレイヤ２スイッチ２０１が、宛先MACアドレスにマルチキャストアドレスＡが設定されているパケットをポート３から受信した場合について考える。この場合、レイヤ２スイッチ２０１は、学習テーブルにマルチキャストアドレスＡを含むエントリが登録されているポート０およびポート１から、受信したパケットを送信し、学習テーブルにマルチキャストアドレスＡを含むエントリが登録されていないポート２からは、受信したパケットを送信しない。
【００８９】
すなわち、マルチキャストアドレスＡを学習済みの全てのポート、換言すれば、マルチキャストアドレスＡが対応づけられている全てのポートから受信したパケットが送信され、マルチキャストアドレスＡを学習していないポート、換言すれば、マルチキャストアドレスＡが対応づけられていないポートからは、受信したパケットは送信されない。
【００９０】
その後、処理はステップＳ５６に進む。
【００９１】
一方、ステップＳ５３において、送信制御部１４５は、次に送信するパケットの宛先MACアドレスと一致するMACアドレスを含むエントリを検出できなかった場合、宛先MACアドレスを学習していないと判定し、処理はステップＳ５５に進む。
【００９２】
また、ステップＳ５２において、宛先MACアドレスがブロードキャストアドレスであると判定された場合、処理はステップＳ５５に進む。
【００９３】
ステップＳ５５において、送信制御部１４５は、パケットをフラッディング（Flooding）する。すなわち、送信制御部１４５は、パケットを受信したポート１３２以外のポート１３２のうち他の機器が接続されている全てのポート１３２から、受信したパケットを送信する。より具体的には、送信制御部１４５は、パケットを受信したポート１３２以外のポート１３２のうち他の機器が接続されている全てのポート１３２について、送信するパケットをコピーし、該ポート１３２からパケットを送信する処理を実行する。その後、処理はステップＳ５６に進む。
【００９４】
ステップＳ５６において、送信制御部１４５は、送信したパケットをバッファ１４２から削除する。
【００９５】
その後、処理はステップＳ５１に戻り、ステップＳ５１以降の処理が実行される。
【００９６】
以上のようにして、レイヤ２の情報のみを用いて、簡単にパケットのマルチキャストを実現することができ、マルチキャストパケットの不要な転送を抑制することができる。
【００９７】
例えば、図１９に示されるように、マルチキャストサーバ２５１が、ブロードバンドルータ１１１のポートＰ１を介してネットワークシステム１０１に接続され、マルチキャストサーバ２５１から送信されるマルチキャストパケットを受信するマルチキャストグループＢに端末装置１１３Ｂ−２および１１３Ｃ−１が所属している場合について考える。なお、以下、マルチキャストグループＢのマルチキャスト用のMACアドレスをマルチキャストアドレスＢとする。
【００９８】
この場合、まず、端末装置１１３Ｃ−１が、ブロードバンドルータ１１１宛てにマルチキャストアドレス通知パケットを送信することにより、レイヤ２スイッチ１１２ＣのポートＰ３２、レイヤ２スイッチ１１２ＡのポートＰ１２、および、ブロードバンドルータ１１１のポートＰ２において、マルチキャストアドレスＢが学習される。また、端末装置１１３Ｂ−２が、ブロードバンドルータ１１１宛てにマルチキャストアドレス通知パケットを送信することにより、レイヤ２スイッチ１１２ＢのポートＰ２３、および、ブロードバンドルータ１１１のポートＰ３において、マルチキャストアドレスＢが学習される。
【００９９】
そして、マルチキャストサーバ２５１から、宛先MACアドレスにマルチキャストアドレスＢが設定されたマルチキャストパケットが送信されてきた場合、ブロードバンドルータ１１１は、ポートＰ１を介してマルチキャストパケットを受信し、マルチキャストアドレスＢが対応づけられているポートＰ２およびＰ３を介してマルチキャストパケットを送信する。
【０１００】
レイヤ２スイッチ１１２Ａは、ポートＰ１１を介してマルチキャストパケットを受信し、マルチキャストアドレスＢが対応づけられているポートＰ１２を介してマルチキャストパケットを送信し、マルチキャストアドレスＢが対応づけられていないポートＰ１３からはマルチキャストパケットを送信しない。
【０１０１】
レイヤ２スイッチ１１２Ｂは、ポートＰ２１を介してマルチキャストパケットを受信し、マルチキャストアドレスＢが対応づけられているポートＰ２３を介してマルチキャストパケットを送信し、端末装置１１３Ｂ−２がマルチキャストパケットを受信する。また、レイヤ２スイッチ１１２Ｂは、マルチキャストアドレスＢが対応づけられていないポートＰ２２からはマルチキャストパケットを送信しない。
【０１０２】
レイヤ２スイッチ１１２Ｃは、ポートＰ３１を介してマルチキャストパケットを受信し、マルチキャストアドレスＢが対応づけられているポートＰ３２を介してマルチキャストパケットを送信し、端末装置１１３Ｃ−１がマルチキャストパケットを受信する。また、レイヤ２スイッチ１１２Cは、マルチキャストアドレスＢが対応づけられていないポートＰ３３からはマルチキャストパケットを送信しない。
【０１０３】
このようして、マルチキャストサーバ２５１から送信されてきたマルチキャストパケットが、マルチキャストグループＢに所属する端末装置１１３Ｂ−２および１１３Ｃ−１のみに転送される。
【０１０４】
以上のようにマルチキャストパケットの不要な転送が抑制されることにより、ブロードバンドルータ１１１またはレイヤ２スイッチ１１２内においてパケットの輻輳が発生することが抑制され、その結果、ネットワークシステム１０１全体のパケットの輻輳の発生が抑制される。
【０１０５】
また、マルチキャストパケットの転送処理を高速化でき、バッファ１４２の容量を小さく抑えることができるとともに、パケットの転送により生じる遅延時間を短縮することができる。
【０１０６】
次に、図２０のフローチャートを参照して、ブロードバンドルータ１１１およびレイヤ２スイッチ１１２により実行される学習テーブルエントリ廃棄処理について説明する。
【０１０７】
ステップＳ７１において、アドレス学習部１４３は、エージングタイマがタイムアウトしたエントリがあるかを判定する。アドレス学習部１４３が、学習テーブル記憶部１４４に記憶されている学習テーブルのエントリの中にエージングタイマがタイムアウトしたエントリがあると判定した場合、処理はステップＳ７２に進む。
【０１０８】
ステップＳ７２において、アドレス学習部１４３は、タイムアウトしたエントリを廃棄する。これにより、各ポート１３２について、対応づけられているMACアドレスと一致する送信元MACアドレスが設定されたパケットを、そのポート１３２から所定の期間受信しなかった場合、そのポート１３２の学習テーブルから該MACアドレスを含むエントリが削除され、そのポート１３２と該MACアドレスとの対応関係が取り消される処理が行われる。
【０１０９】
一方、ステップＳ７１において、エージングタイマがタイムアウトしたエントリがないと判定された場合、ステップＳ７２の処理はスキップされ、処理はステップＳ７３に進む。
【０１１０】
ステップＳ７３において、受信制御部１４１は、リンク断が発生したかを判定する。具体的には、受信制御部１４１は、各ポート１３２から供給される機器の接続の有無を示す信号に基づいて、リンク断が発生したと判定した場合、処理はステップＳ７４に進む。
【０１１１】
ステップＳ７４において、アドレス学習部１４３は、リンク断が検出されたポート１３２の学習テーブルのエントリを廃棄する。具体的には、受信制御部１４１は、リンク断を検出したポート１３２をアドレス学習部１４３に通知する。アドレス学習部１４３は、リンク断が検出されたポート１３２の学習テーブルから全てのエントリを削除する。その後、処理はステップＳ７１に戻り、ステップＳ７１以降の処理が実行される。
【０１１２】
一方、ステップＳ７３において、リング断が発生していないと判定された場合、処理はステップＳ７１に戻り、ステップＳ７１以降の処理が実行される。
【０１１３】
これにより、例えば、図２１に示されるように、上述した図８と学習テーブルが同じ状態のレイヤ２スイッチ２０１が、マルチキャストアドレスＡが送信元MACアドレスに設定されたマルチキャストアドレス通知パケットを、ポート０から所定の期間受信しなかった場合、ポート０の学習テーブルからマルチキャストアドレスＡを含むエントリが削除される。また、ポート１でリンク断が検出された場合、ポート１の学習テーブルから全てのエントリが削除される。
【０１１４】
なお、以上の説明では、レイヤ２のアドレスとしてMACアドレスを用いる例を示したが、本発明は、マルチキャストアドレスの識別が可能な他のレイヤ２のアドレスを用いる場合にも適用することが可能である。
【０１１５】
また、以上の説明では、Ethernetの規格に基づき通信を行うネットワークシステムの例を示したが、本発明は、マルチキャストの仕様を備える他のレイヤ２のプロトコルに基づく通信を行う場合にも適用することが可能である。
【０１１６】
さらに、以上の説明では、学習テーブルをポート毎に個別に管理する例を示したが、例えば、対応するポートの情報を各エントリに含めたり、ポート毎にエントリを分けたりして、１つの学習テーブルにより各ポートとMACアドレスとの対応関係を管理するようにしてもよい。
【０１１７】
また、以上の説明では、マルチキャストアドレス通知パケットとして、pingコマンドのパケットを用いる例を示したが、他のコマンドのパケットを用いるようにしてもよい。
【０１１８】
なお、本発明は、レイヤ２のプロトコルに基づいてパケットを送受信または中継する機能を有する装置に適用することができる。従って、例えば、レイヤ２スイッチ機能を有するレイヤ３以上のスイッチにも適用することが可能である。
【０１１９】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１２０】
図２２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１２１】
コンピュータにおいて、CPU（Central Processing Unit）３０１，ROM（Read Only Memory）３０２，RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０１２２】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、キーボード、マウス、マイクロホンなどよりなる入力部３０６、ディスプレイ、スピーカなどよりなる出力部３０７、ハードディスクや不揮発性のメモリなどよりなる記憶部３０８、ネットワークインタフェースなどよりなる通信部３０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３１１を駆動するドライブ３１０が接続されている。
【０１２３】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを、入出力インタフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０１２４】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１２５】
そして、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０１２６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１２７】
なお、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【０１２８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１２９】
【図１】本発明を適用したネットワークシステムの一実施の形態を示すブロック図である。
【図２】レイヤ２の通信機能を実現するレイヤ２通信部の機能的構成を示すブロック図である。
【図３】マルチキャストアドレス通知部の機能的構成を示すブロック図である。
【図４】マルチキャストアドレス通知処理を説明するためのフローチャートである。
【図５】マルチキャストアドレスの形式を示す図である。
【図６】パケット受信処理を説明するためのフローチャートである。
【図７】マルチキャストアドレスを学習する場合の処理の具体例を説明するための図である。
【図８】マルチキャストアドレスを学習する場合の処理の具体例を説明するための図である。
【図９】マルチキャストアドレス通知パケットの送信先の例を示す図である。
【図１０】マルチキャストアドレス通知パケットの構成の例を示す図である。
【図１１】マルチキャストアドレス通知パケットの送信先の他の例を示す図である。
【図１２】マルチキャストアドレス通知パケットの構成の他の例を示す図である。
【図１３】マルチキャストアドレス通知パケットの送信先のさらに他の例を示す図である。
【図１４】マルチキャストアドレス通知パケットの構成のさらに他の例を示す図である。
【図１５】マルチキャストアドレス通知パケットの送信先のさらに他の例を示す図である。
【図１６】マルチキャストアドレス通知パケットの構成のさらに他の例を示す図である。
【図１７】パケット送信処理を説明するためのフローチャートである。
【図１８】パケット送信処理の具体例を説明するための図である。
【図１９】マルチキャストパケットを転送する処理の具体例を説明するための図である。
【図２０】学習テーブルエントリ廃棄処理を説明するためのフローチャートである。
【図２１】学習テーブルエントリ廃棄処理の具体例を説明するための図である。
【図２２】コンピュータの構成例を示す図である。
【符号の説明】
【０１３０】
１０１  ネットワークシステム，  １１１  ブロードバンドルータ，  １１２  レイヤ２スイッチ，  １１３  端末装置，  １３１  レイヤ２通信部，  １３２  ポート，  １４１  受信制御部，  １４３  アドレス学習部，  １４４  学習テーブル記憶部，  １４５  送信制御部，  １６１  マルチキャストアドレス通知部，  １７１  MACアドレス記憶部，  １７２  パケット送信部
【図１】
2009111746.tif 000003
【図２】
2009111746.tif 000004
【図３】
2009111746.tif 000005
【図４】
2009111746.tif 000006
【図５】
2009111746.tif 000007
【図６】
2009111746.tif 000008
【図７】
2009111746.tif 000009
【図８】
2009111746.tif 000010
【図９】
2009111746.tif 000011
【図１０】
2009111746.tif 000012
【図１１】
2009111746.tif 000013
【図１２】
2009111746.tif 000014
【図１３】
2009111746.tif 000015
【図１４】
2009111746.tif 000016
【図１５】
2009111746.tif 000017
【図１６】
2009111746.tif 000018
【図１７】
2009111746.tif 000019
【図１８】
2009111746.tif 000020
【図１９】
2009111746.tif 000021
【図２０】
2009111746.tif 000022
【図２１】
2009111746.tif 000023
【図２２】
2009111746.tif 000024