(57)【要約】【課題】マルチキャストパケットのフラッディングを抑制する。【解決手段】マルチキャストルーティングを行う複数の第１の通信装置と、複数の第１の通信装置間を接続し、マルチキャストパケットを受信ポート以外のポートから転送する複数の第２の通信装置と、を含むネットワークシステムであって、複数の第２の通信装置のそれぞれは、複数の第１の通信装置のうちのいずれかの装置から送信されるマルチキャストグループへの参加要求の受信ポートを該マルチキャストグループのマルチキャストパケットの転送ポートとして記憶する第１の記憶部と、マルチキャストグループのマルチキャストパケットを、自装置が有するポートのうちの転送ポートから転送する転送部と、備えるネットワークシステムである。【選択図】図１０
2015192391.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャストルーティングを行う複数の第１の通信装置と、
前記複数の第１の通信装置間を接続し、マルチキャストパケットを受信ポート以外のポートから転送する複数の第２の通信装置と、
を含むネットワークシステムであって、
前記複数の第２の通信装置のそれぞれは、
前記複数の第１の通信装置のうちのいずれかの装置から送信されるマルチキャストグループへの参加要求の受信ポートを該マルチキャストグループのマルチキャストパケットの転送ポートとして記憶する第１の記憶部と、
前記マルチキャストグループのマルチキャストパケットを、自装置が有するポートのうちの前記転送ポートから転送する転送部と、
を備えるネットワークシステム。
【請求項２】
前記第２の通信装置は、
前記第１の通信装置のうち、マルチキャスト配信ツリーのランデブーポイントのアドレスを記憶する第２の記憶部と、
前記参加要求を転送するポートを、自装置が有するポートのうちの前記ランデブーポイントが存在する側のポートに決定する判定部と、
をさらに備える請求項１に記載のネットワークシステム。
【請求項３】
前記第２の通信装置の前記判定部は、
前記第１の通信装置のうちのいずれかから、マルチキャストグループからの脱退要求を受信した場合に、
前記脱退要求の転送ポートを、自装置が有するポートのうちの前記ランデブーポイントが存在する側のポートに決定し、
前記脱退要求の受信ポート以外に、前記第１の記憶部に、該脱退要求によって示されるマルチキャストグループの転送ポートが記憶されている場合には、該マルチキャストグループへの参加要求の作成及び送信を決定する、
請求項２に記載のネットワークシステム。
【請求項４】
前記第２の通信装置は、
前記複数の第２の通信装置間で所定のプロトコルにより構築される論理的なツリー構造についての情報を記憶する第３の記憶部と、
自装置が前記参加要求を受信した場合に、前記ツリー構造におけるルートとなる第２の通信装置に、前記参加要求の受信ポートを通知し、
自装置が前記ルートである場合に、前記第３の記憶部に記憶される前記ツリー構造についての情報に基づいて、前記参加要求の経路を特定し、該経路上の前記第２の通信装置の前記参加要求の受信ポートを、前記マルチキャストグループの転送ポートとして、前記複数の第２の通信装置のそれぞれに通知する、通知部と、
をさらに備える請求項１から３のいずれか一項に記載のネットワークシステム。
【請求項５】
前記通知部は、前記経路外のポートを、前記マルチキャストグループのパケットを転送しない破棄ポートとして通知する、
請求項４に記載のネットワークシステム。
【請求項６】
前記通知部は、
前記参加要求の受信ポートの通知を所定周期で行い、
前記第１の記憶部に格納される転送ポートについて、前記参加要求の受信ポートの通知が所定時間受信されない場合には、前記マルチキャストグループについて、全ポートを
破棄ポートとして前記複数の第２の通信装置のそれぞれに通知する、
請求項５に記載のネットワークシステム。
【請求項７】
前記第２の通信装置は、
前記参加要求の受信ポートを前記マルチキャストグループの転送ポートとして前記第１の記憶部に記憶し、前記第１の記憶部に記憶される転送ポートについて、前記参加要求が所定時間受信されない場合に、該転送ポートとして記憶されるポートを前記マルチキャストグループのパケットを転送しない破棄ポートに変更する管理部を、
さらに備える請求項１から３のいずれか一項に記載のネットワークシステム。
【請求項８】
マルチキャストルーティングを行う複数の第１の通信装置間を接続し、マルチキャストパケットを受信ポート以外のポートから転送するパケット伝送装置であって、
前記複数の第１の通信装置のうちのいずれかの装置から送信されるマルチキャストグループへの参加要求の受信ポートを該マルチキャストグループのマルチキャストパケットの転送ポートとして記憶する第１の記憶部と、
前記マルチキャストグループのマルチキャストパケットを、前記パケット伝送装置が有するポートのうちの前記転送ポートから転送する転送部と、
を備えるパケット伝送装置。
【請求項９】
マルチキャストルーティングを行う複数の第１の通信装置間を接続し、マルチキャストパケットを受信ポート以外のポートから転送するパケット伝送装置が、
前記複数の第１の通信装置のうちのいずれかの装置から送信されるマルチキャストグループへの参加要求の受信ポートを該マルチキャストグループのマルチキャストパケットの転送ポートとして前記パケット伝送装置に含まれる第１の記憶部に記憶し、
前記マルチキャストグループのマルチキャストパケットを、前記パケット伝送装置が有するポートのうちの前記転送ポートから転送する、
パケット伝送方法。
【請求項１０】
マルチキャストルーティングを行う複数の第１の通信装置間を接続し、マルチキャストパケットを受信ポート以外のポートから転送するパケット伝送装置に、
前記複数の第１の通信装置のうちのいずれかの装置から送信されるマルチキャストグループへの参加要求の受信ポートを該マルチキャストグループのマルチキャストパケットの転送ポートとして取得させ、
該転送ポートを前記パケット伝送装置に含まれる第１の記憶部に記憶させる、
ための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、パケット伝送装置、パケット伝送方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
レイヤ２スイッチ（以降、Ｌ２ＳＷ）は、通常、マルチキャストパケットを受信すると、同一ＶＬＡＮ（Virtual Local Area Network）に属する受信ポート以外の全ポートから該マルチキャストパケットを転送する。受信ポート以外の同一ＶＬＡＮ内の全てのポートからパケットを転送することをフラッディングという。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１７４４８９号公報
【特許文献２】特開２００５−２５３０２６号公報
【特許文献３】特開２００８−１５３７６６号公報
【特許文献４】特開２００８−１７７９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、Ｌ２ＳＷのフラッディングにより、該当のマルチキャストパケットを所望しない装置が接続されるポートからもマルチキャストパケットが転送されるので、回線の帯域が圧迫されることがあった。
【０００５】
一側面によれば、本発明は、マルチキャストパケットのフラッディングを抑制することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、
マルチキャストルーティングを行う複数の第１の通信装置と、
前記複数の第１の通信装置間を接続し、マルチキャストパケットを受信ポート以外のポートから転送する複数の第２の通信装置と、
を含むネットワークシステムであって、
前記複数の第２の通信装置のそれぞれは、
前記複数の第１の通信装置のうちのいずれかの装置から送信されるマルチキャストグループへの参加要求の受信ポートを該マルチキャストグループのマルチキャストパケットの転送ポートとして記憶する第１の記憶部と、
前記マルチキャストグループのマルチキャストパケットを、自装置が有するポートのうちの前記転送ポートから転送する転送部と、
を備えるネットワークシステムである。
【０００７】
また、１つの態様では、上述したネットワークシステム内の第２の通信装置としてのパケット伝送装置である。１つの態様では、上述したネットワークシステム内の第２の通信装置が上述した処理を実行するパケット伝送方法である。また、１つの態様では、コンピュータを上述した第２の通信装置として機能させるプログラム、及び当該プログラムを記録したコンピュータ読み取り可能であり非一時的な記録媒体を含むことができる。コンピュータ等が読み取り可能な一時的でない記録媒体には、データやプログラム等の情報を電
気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【０００８】
１つの側面として、マルチキャストパケットのフラッディングを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】マルチキャストグループへの参加及びマルチキャストパケットの配信に係る処理の流れの一例を示す図である。
【図２】新たにＬ３ＳＷ＃８の配下の受信装置がマルチキャストグループに参加する場合の処理の流れの一例を示す図である。
【図３】Ｌ３ＳＷ＃５の配下の受信装置がマルチキャストグループから脱退する場合の処理の流れの一例を示す図である。
【図４】第１実施形態に係る、マルチキャストグループへの参加及びマルチキャストパケットの配信に係る処理の流れの一例を示す図である。
【図５】ルートＳＷであるＬ２ＳＷ＃１のマルチキャスト受信要求メッセージ受信後の処理の流れの一例を示す図である。
【図６】新たにＬ３ＳＷ＃８の配下の受信装置がマルチキャストグループに参加する場合の処理の流れの一例を示す図である。
【図７】Ｌ３ＳＷ＃５の配下の受信装置がマルチキャストグループから脱退する場合の処理の流れの一例を示す図である。
【図８】マルチキャストネットワークの運用に係るＬ２ＳＷの処理の一例を示す図である。
【図９】Ｌ２ＳＷのハードウェア構成の一例を示す図である。
【図１０】Ｌ２ＳＷの機能構成の一例を示す図である。
【図１１】マルチキャスト転送判定テーブルの一例である。
【図１２】マルチキャスト受信要求メッセージに含まれる情報の一例を示す図である。
【図１３】マルチキャスト受信設定メッセージに含まれる情報の一例を示す図である。
【図１４】具体例において想定されるネットワークの構成及びネットワーク内のＬ２ＳＷ間の物理的な接続関係を示す図である。
【図１５Ａ】図１４に示されるネットワークにおいて、受信装置からマルチキャストグループへの参加要求（ＩＧＭＰレポート）が送信された場合のマルチキャスト受信要求メッセージの一例を示す図である。
【図１５Ｂ】図１５Ａに示されるマルチキャスト受信要求メッセージに対するマルチキャスト受信設定メッセージの一例を示す図である。
【図１６Ａ】制御部にパケットが入力された場合の制御部の処理のフローチャートの一例である。
【図１６Ｂ】制御部にＪｏｉｎメッセージが入力された場合の処理のフローチャートの一例である。
【図１６Ｃ】制御部にＰｒｕｎｅメッセージが入力された場合の処理のフローチャートの一例である。
【図１６Ｄ】制御部に自装置宛てのマルチキャスト受信要求メッセージが入力された場合の処理のフローチャートの一例である。
【図１７】マルチキャストパケットを受信した場合のＳＷ部の処理のフローチャートの一例である。
【図１８】第２実施形態に係るマルチキャストネットワークにおけるマルチキャストパケットの配信に係る処理の流れの一例を示す図である。
【図１９】第２実施形態において、制御部にパケットが入力された場合の制御部の処理のフローチャートの一例である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１１】
＜マルチキャストネットワーク＞
図１、図２、図３は、マルチキャストネットワークにおけるマルチキャストパケットの配信に係る処理の流れの一例を示す図である。図１、図２、図３では、同じネットワークが示される。図１、図２、図３に示されるネットワークでは、Ｌ２ＳＷ間は光回線で接続されており、Ｌ２ＳＷとＬ３ＳＷとの間はメタル回線で接続されているものとする。また、マルチキャストパケットの送信装置はＬ３ＳＷ＃１の配下に存在する。また、各Ｌ２ＳＷの各ポートは同一ＶＬＡＮに属しているとする。以下、図１、図２、図３については、同一のマルチキャストグループについて説明されているものとする。
【００１２】
Ｌ３ＳＷ間では、例えば、マルチキャストルーティングプロトコルであるＰＩＭ−ＳＭ（Protocol Independent Multicast-Sparse Mode）が有効になっており、マルチキャストパケットの経路情報等がやり取りされている。図１、図２、図３に示される例では、マルチキャスト配信ツリーのランデブーポイント（ＲＰ）は、Ｌ３ＳＷ＃１である。
【００１３】
Ｌ３ＳＷとホスト（受信装置及び送信装置）との間では、例えば、ＩＧＭＰ（Internet
Group Management Protocol）が有効になっており、ホストのマルチキャストグループへの参加、脱退等の情報がやり取りされている。
【００１４】
Ｌ２ＳＷ間では、例えば、Ｌ２ＳＷトポロジにおける経路冗長化のためのプロトコルであるＴＲＩＬＬが有効になっている。ＴＲＩＬＬでは、ユニキャストのルーティングが終了した後、Ｌ３ＳＷ間で有効であるマルチキャストルーティングプロトコルとは別に、Ｌ２ＳＷ間でマルチキャスト配信ツリーが形成される。ＴＲＩＬＬでは、Ｌ２ＳＷがマルチキャストパケットを受信した場合には、一旦ルートＳＷに転送し、ルートＳＷがマルチキャスト配信ツリーの下流にマルチキャストパケットを配信する。図１、図２、図３に示される例では、ＴＲＩＬＬのマルチキャスト配信ツリーのルート（ｒｏｏｔ）ＳＷは、Ｌ２ＳＷ＃１である。
【００１５】
図１は、マルチキャストグループへの参加及びマルチキャストパケットの配信に係る処理の流れの一例を示す図である。（１）Ｌ３ＳＷ＃５の配下の受信装置が、マルチキャストグループに参加するために、マルチキャストグループへの参加要求であるＩＧＭＰレポートを送信する。
【００１６】
（２）Ｌ３ＳＷ＃５は、配下の受信装置からＩＧＭＰレポートを受信すると、ＩＧＭＰレポートによって指定されるマルチキャストグループのマルチキャストパケットの配信先として、該受信装置を登録する。これとともに、Ｌ３ＳＷ＃５は、自身がマルチキャストグループに参加するために、該当のマルチキャストグループへの参加要求であるＰＩＭ  Ｊｏｉｎメッセージを送信する。Ｊｏｉｎメッセージは、Ｈｏｐ−ｂｙ−Ｈｏｐで送信され、ＲＰであるＬ３ＳＷに届けられる。
【００１７】
ＪｏｉｎメッセージはマルチキャストＩＰアドレス２２４．０．０．１３を宛先とするマルチキャストパケットであるので、各Ｌ２ＳＷは、ＪｏｉｎメッセージをＴＲＩＬＬのマルチキャスト配信ツリーを用いてルートＳＷに転送する。このとき、各Ｌ２ＳＷは、フラッディングしながらＪｏｉｎメッセージの転送を行う。そのため、Ｌ３ＳＷ＃５から送
信されたＪｏｉｎメッセージは、該当マルチキャストグループのＲＰでもなく、該当マルチキャストグループの受信装置を配下に接続もしていないＬ３ＳＷ＃２〜＃４、＃６〜＃８にも届く。
【００１８】
ＪｏｉｎメッセージがＲＰであるＬ３ＳＷ＃１に届くと、Ｌ３ＳＷ＃５へのマルチキャストパケットの配信がＲＰに登録され、マルチキャストパケットがＬ３ＳＷ＃５に配信されるようになる。以降、Ｌ３ＳＷ＃５は、所定の周期でＪｏｉｎメッセージを送信する。ＲＰは、Ｊｏｉｎメッセージを受信している間はマルチキャストパケットの配信を継続し、所定時間Ｊｏｉｎメッセージを受信しない場合には、該マルチキャストグループのマルチキャストパケットの配信を停止する。Ｊｏｉｎメッセージの送信周期は、例えば、６０秒である。また、ＲＰがマルチキャストパケットの配信停止を判定するまでの、Ｊｏｉｎメッセージを受信しない所定時間は、例えば、３分である。
【００１９】
（３）送信装置がマルチキャストパケットを送信すると、ＲＰであるＬ３ＳＷ＃１は該当のマルチキャストグループのマルチキャスト配信ツリーに従ってマルチキャストパケットを送信する。Ｌ３ＳＷ＃１から送信されたマルチキャストパケットを最初に受信するＬ２ＳＷ＃１は、ルートＳＷであるため、ＴＲＩＬＬのマルチキャスト配信ツリーの下流に該マルチキャストパケットを転送する。下流側の各Ｌ２ＳＷは、マルチキャストパケットをフラッディングしながらさらに下流へと中継する。このため、マルチキャストパケットは、該当のマルチキャストグループの受信装置を配下に接続していないＬ３ＳＷ＃２〜＃４、＃６〜＃８にも届く。
【００２０】
図２は、新たにＬ３ＳＷ＃８の配下の受信装置がマルチキャストグループに参加する場合の処理の流れの一例を示す図である。（４）新たにマルチキャストグループに参加するＬ３ＳＷ＃８の配下の受信装置からＩＧＭＰレポートが送信される。（５）Ｌ３ＳＷ＃８は、ＩＧＭＰレポートを受信すると、新たな受信装置について該当のマルチキャストパケットの配信先として登録する。しかしながら、Ｌ３ＳＷ＃８は、すでに該当のマルチキャストグループのマルチキャストパケットを受信している状態であるので、新たにＪｏｉｎメッセージを送信しない。そのため、Ｌ３ＳＷ＃８は、所定の周期でＪｏｉｎメッセージを送信することもしない。
【００２１】
図３は、Ｌ３ＳＷ＃５の配下の受信装置がマルチキャストグループから脱退する場合の処理の流れの一例を示す図である。（６）Ｌ３ＳＷ＃５の配下の受信装置が、マルチキャストグループからの脱退要求であるＩＧＭＰリーブを送信する。
【００２２】
（７）Ｌ３ＳＷ＃５は、ＩＧＭＰリーブを受信すると、配下に該当のマルチキャストグループの受信装置がいなくなったので、配下へのマルチキャストパケットの配信を停止する。また、Ｌ３ＳＷ＃５は、これ以上該当のマルチキャストグループのマルチキャストパケットを受信しなくてもよいので、該マルチキャストグループからの脱退要求であるＰＩＭ  Ｐｒｕｎｅメッセージを送信する。
【００２３】
ＰｒｕｎｅメッセージもＪｏｉｎメッセージと同じマルチキャストＩＰアドレス２２４．０．０．１３を宛先として送信されるマルチキャストパケットである。そのため、各Ｌ２ＳＷはフラッディングしながらＰｒｕｎｅメッセージをＲＰであるＬ３ＳＷ＃１に中継する。したがって、Ｌ３ＳＷ＃５から送信されたＰｒｕｎｅメッセージは、Ｌ３ＳＷ＃１〜＃４、＃６〜＃８にも届く。
【００２４】
ＲＰであるＬ３ＳＷ＃１は、Ｐｒｕｎｅメッセージを受信してから３秒以内にＪｏｉｎメッセージを受信しない場合には、該当のマルチキャストグループのマルチキャストパケットの配信を停止する（ＲＦＣ２３６２規定）。しかしながら、Ｌ３ＳＷ＃８は、配下に
該当のマルチキャストグループの受信装置を接続している。そのため、（８）Ｌ３ＳＷ＃８は、ＲＰであるＬ３ＳＷ＃１にマルチキャストパケットの配信を継続してもらうために、Ｐｒｕｎｅメッセージの受信を契機にＪｏｉｎメッセージを送信する。これによって、ＲＰであるＬ３ＳＷ＃１はＰｒｕｎｅメッセージを受信してから３秒以内にＪｏｉｎメッセージを受信することになり、マルチキャストパケットの配信を継続することになる。
【００２５】
このときＬ３ＳＷ＃８から送信されたＪｏｉｎメッセージは、各Ｌ２ＳＷのフラッディングによりＬ３ＳＷ＃１〜＃７に届くことになる。
【００２６】
図１〜図３における処理において、マルチキャストパケットの配信にかかわりのないＬ３ＳＷ＃２〜＃４、＃６、＃７にも、Ｊｏｉｎメッセージ、Ｐｒｕｎｅメッセージ、マルチキャストパケットが流れる。第１実施形態では、Ｌ２ＳＷは、マルチキャストパケットの配信にかかわりのない装置へ不要なパケットを流さないように動作する。
【００２７】
＜第１実施形態＞
図４、図５、図６、図７、図８は、第１実施形態に係るマルチキャストネットワークにおけるマルチキャストパケットの配信に係る処理の流れの一例を示す図である。図４〜図８に示されるネットワークの構成は、図１〜図３に示されるネットワークの構成と同様である。
【００２８】
図４は、第１実施形態に係る、マルチキャストグループへの参加及びマルチキャストパケットの配信に係る処理の流れの一例を示す図である。（１）Ｌ３ＳＷ＃５の配下の受信装置が、マルチキャストグループに参加するために、ＩＧＭＰレポートを送信する。
【００２９】
（２）Ｌ３ＳＷ＃５は、配下の受信装置からＩＧＭＰレポートを受信すると、該当のマルチキャストパケットの配信先に該受信装置を登録するとともに、Ｊｏｉｎメッセージを送信する。（３）Ｊｏｉｎメッセージを受信したＬ２ＳＷ＃５は、ルートＳＷにマルチキャスト受信要求メッセージを送信し、その後、Ｊｏｉｎメッセージを転送する。マルチキャスト受信要求メッセージは、ルートＳＷに対してマルチキャストパケットの転送を要求するためのメッセージである。
【００３０】
第１実施形態では、各Ｌ２ＳＷは、Ｊｏｉｎメッセージ及びＰｒｕｎｅメッセージを、ＲＰが接続される側のポートから転送し、それ以外のポートからは転送しない。これによって、マルチキャストパケットの転送にかかわりのない装置へのＪｏｉｎ及びＰｒｕｎｅメッセージの転送が抑制される。
【００３１】
なお、図４では、ルートＳＷであるＬ２ＳＷ＃１からＬ２ＳＷ＃８にもＪｏｉｎメッセージが流れている。これは、Ｌ２ＳＷ間の接続が光回線であり、光回線の特性によるものである。Ｌ２ＳＷ間の接続がメタル回線である場合には、第１実施形態では、ルートＳＷであるＬ２ＳＷ＃１からＬ２ＳＷ＃８には、Ｊｏｉｎメッセージは流されない。
【００３２】
なお、マルチキャスト受信要求メッセージに関して、Ｌ３ＳＷ＃５からＪｏｉｎメッセージを受信するＬ２ＳＷ＃５がマルチキャスト受信要求メッセージを作成して送信し、それ以外のＬ２ＳＷは作成せずに転送するようにしてもよい。又は、Ｌ２ＳＷ＃５に加えて、Ｌ２ＳＷ＃２〜＃４のそれぞれが、Ｊｏｉｎメッセージを中継する際にマルチキャスト受信要求メッセージを作成して送信してもよい。第１実施形態では、Ｌ３ＳＷからＪｏｉｎメッセージを受信したＬ２ＳＷがマルチキャスト受信要求メッセージを作成して送信し、それ以外のＬ２ＳＷはマルチキャスト受信要求メッセージを転送するもの（前者）として説明する。
【００３３】
また、マルチキャスト受信要求メッセージは、ルートＳＷを宛先とするユニキャストで送信されてもよいし、例えば、ＢＰＤＵ（Bridge Protocol Data Unit）等のマルチキャ
ストパケットを利用してマルチキャストで送信されてもよい。マルチキャスト受信要求メッセージがマルチキャストで配信される場合には、予めマルチキャスト受信要求メッセージに用いられるＩＰアドレスのパケットを他のＬ２ＳＷが接続されるポートから転送するように登録して、それ以外のポートからは転送しないようにしてもよい。なお、第１実施形態では、マルチキャスト受信要求メッセージは、ルートＳＷを宛先とするユニキャストで送信されるものとする。
【００３４】
図５は、ルートＳＷであるＬ２ＳＷ＃１のマルチキャスト受信要求メッセージ受信後の処理の流れの一例を示す図である。（４）ルートＳＷであるＬ２ＳＷ＃１は、ＴＲＩＬＬのマルチキャスト配信ツリー内のＬ２ＳＷ間の接続関係を保持しており、受信したマルチキャスト受信要求メッセージに基づいて、Ｊｏｉｎメッセージの経路を特定する。ルートＳＷであるＬ２ＳＷ＃１は、マルチキャスト配信ツリーの各Ｌ２ＳＷに対して、該当のマルチキャストグループのマルチキャストパケットの転送ポートと破棄ポートとを指定するマルチキャスト受信設定メッセージを作成して送信する。
【００３５】
マルチキャスト受信設定メッセージによって転送ポートに指定されたポートは、該当のマルチキャストグループのマルチキャストパケットの転送に用いられる。転送ポートには、例えば、Ｊｏｉｎメッセージの経路上の各Ｌ２ＳＷの該当マルチキャストグループに対するＪｏｉｎメッセージを受信したポートが指定される。
【００３６】
マルチキャスト受信設定メッセージによって破棄ポートに指定されたポートからは、該当のマルチキャストグループのマルチキャストパケットは転送されない。破棄ポートには、各Ｌ２ＳＷのＪｏｉｎメッセージの経路外のポートが指定される。
【００３７】
マルチキャスト受信設定メッセージは、各Ｌ２ＳＷに対してユニキャストで送信されてもよいし、マルチキャストパケットで送信されてもよい。マルチキャスト受信設定メッセージがマルチキャストで配信される場合には、予めマルチキャスト受信設定メッセージに用いられるＭＡＣアドレスを他のＬ２ＳＷを接続するポートから転送するように登録して、それ以外のポートからは転送しないようにしてもよい。また、マルチキャスト受信設定メッセージがマルチキャストで配信される場合には、マルチキャスト配信ツリー内の全Ｌ２ＳＷの情報を含めてもよい。また、マルチキャスト受信設定メッセージは、マルチキャスト受信要求メッセージがユニキャストである場合には、ユニキャストとなり、マルチキャスト受信要求メッセージがマルチキャストである場合には、マルチキャストであってもよい。なお、第１実施形態では、マルチキャスト受信設定メッセージは、ユニキャストで送信されることとする。
【００３８】
（５）送信装置がマルチキャストパケットを送信すると、Ｌ３ＳＷ＃１は該当のマルチキャストグループのマルチキャスト配信ツリーに従ってマルチキャストパケットを送信する。Ｌ３ＳＷ＃１から送信されたマルチキャストパケットは、各Ｌ２ＳＷによって、該当のマルチキャストグループの転送ポートから転送され、それ以外のポートからは転送されない。これによって、所望しない装置へのマルチキャストパケットのフラッディングを抑制することができる。
【００３９】
また、Ｊｏｉｎメッセージの経路の逆方向の経路で、マルチキャストパケットが転送されることになる。すなわち、第１実施形態では、ＴＲＩＬＬのマルチキャスト配信ツリーの全体像を把握しているルートＳＷに、マルチキャスト受信要求メッセージを用いて、Ｊｏｉｎメッセージの経路を特定させる。また、マルチキャスト受信設定メッセージによって、各Ｌ２ＳＷに、Ｊｏｉｎメッセージの経路とは逆方向の経路を通知し、各Ｌ２ＳＷに
Ｊｏｉｎメッセージとは逆方向の経路でマルチキャストパケットを転送させる。これによって、第１実施形態では、マルチキャストパケットのフラッディングを抑制する。
【００４０】
図６は、新たにＬ３ＳＷ＃８の配下の受信装置がマルチキャストグループに参加する場合の処理の流れの一例を示す図である。（６）新たにマルチキャストグループに参加するＬ３ＳＷ＃８の配下の受信装置からＩＧＭＰレポートが送信される。
【００４１】
（７）Ｌ３ＳＷ＃８には、該当マルチキャストグループのＪｏｉｎメッセージ及びマルチキャストパケットは届けられないため、Ｌ３ＳＷ＃８は、該当マルチキャストグループのマルチキャストパケットを受信できる状態にない。そのため、Ｌ３ＳＷ＃８は、ＩＧＭＰレポートを受信すると、新たな受信装置についてマルチキャストパケットの配信先として登録するとともに、自装置へのマルチキャストパケットの転送を要求するためにＪｏｉｎメッセージを送信する。
【００４２】
（８）Ｌ３ＳＷ＃８から送信されたＪｏｉｎメッセージをＬ２ＳＷ＃８が受信すると、Ｌ２ＳＷ＃８は、マルチキャスト受信要求メッセージをルートＳＷであるＬ２ＳＷ＃１に送信する。その後、Ｌ２ＳＷ＃８は、ＪｏｉｎメッセージをＲＰが接続される側のポートから転送する。Ｊｏｉｎメッセージは、Ｌ２ＳＷ＃１を経由してＲＰであるＬ３ＳＷ＃１に届けられる。
【００４３】
（９）Ｌ２ＳＷ＃８からのマルチキャスト受信要求メッセージをＬ２ＳＷ＃１が受信すると、Ｌ２ＳＷ＃１は、ルートＳＷであるので、転送ポートと破棄ポートとを指定するマルチキャスト受信設定メッセージを送信する。このマルチキャスト受信設定メッセージを受信することによって、Ｌ２ＳＷ＃８は、マルチキャストパケットをＬ３ＳＷ＃８に転送するようになる。
【００４４】
図７は、Ｌ３ＳＷ＃５の配下の受信装置がマルチキャストグループから脱退する場合の処理の流れの一例を示す図である。（１０）Ｌ３ＳＷ＃５の配下の受信装置が、マルチキャストグループからの脱退要求であるＩＧＭＰリーブを送信する。
【００４５】
（１１）Ｌ３ＳＷ＃５は、ＩＧＭＰリーブを受信すると、Ｐｒｕｎｅメッセージを送信する。Ｐｒｕｎｅメッセージは、Ｊｏｉｎメッセージと同様に、第１実施形態では、ＲＰが接続される側のポートから転送される。図７に示されるネットワークでは、Ｌ２ＳＷ間は光回線で接続されているため、Ｐｒｕｎｅメッセージは、Ｌ２ＳＷ＃６〜＃８にも流れる。
【００４６】
Ｐｒｕｎｅメッセージを受信すると、ＲＰであるＬ３ＳＷ＃１は３秒以内にＪｏｉｎメッセージを受信しない場合にはマルチキャストパケットの配信を停止する。一方で、Ｌ３ＳＷ＃８には継続してマルチキャストパケットを所望する受信装置が接続されている。そのため、Ｌ３ＳＷ＃８は、ＲＰであるＬ３ＳＷ＃１にマルチキャストパケットの配信を継続してもらうために、Ｊｏｉｎメッセージを送信するのが好ましい。
【００４７】
しかしながら、Ｐｒｕｎｅメッセージは、Ｌ２ＳＷ＃８に届くものの、ＲＰを接続するポートではないポートに接続するＬ３ＳＷ＃８へはＬ２ＳＷ＃８によって転送が阻止される。そのため、Ｌ３ＳＷ＃８はＰｒｕｎｅメッセージが他のＬ３ＳＷから送信されたことを知ることができない。すなわち、図３に示されるようには、Ｌ３ＳＷ＃８は他のＬ３ＳＷからＰｒｕｎｅメッセージを受信したことを契機にＪｏｉｎメッセージを送信することができない。
【００４８】
（１２）第１実施形態では、Ｌ２ＳＷ＃８は、Ｐｒｕｎｅメッセージを受信した場合に
は、Ｌ３ＳＷ＃８の代わりにＪｏｉｎメッセージを作成して送信する。これによって、ＲＰであるＬ３ＳＷ＃１にマルチキャストパケットの配信を継続してもらうことができる。
【００４９】
図８は、マルチキャストネットワークの運用に係るＬ２ＳＷの処理の一例を示す図である。図８に示されるネットワークは、図７の処理が終了した後のネットワークである。
【００５０】
受信装置を配下に接続するＬ３ＳＷ＃８は、所定の周期（例えば、６０秒）でＪｏｉｎメッセージを送信し、それに伴い、Ｌ２ＳＷ＃８はマルチキャスト受信要求メッセージを送信する。すなわち、Ｌ２ＳＷ＃８は、Ｊｏｉｎメッセージと同じ周期でマルチキャスト受信要求メッセージを送信する。
【００５１】
ルートＳＷであるＬ２ＳＷ＃１は、ポートごとにマルチキャスト受信要求メッセージの受信を監視しており、所定時間マルチキャスト受信要求メッセージを受信しない場合には、該当ポートから全ポートを破棄ポートに設定したマルチキャスト受信設定メッセージを送信する。このときのマルチキャスト受信設定メッセージは、所定時間マルチキャスト受信要求メッセージを受信しないポートの下流に位置するＬ２ＳＷに対して送信される。所定時間は、例えば、２１０秒である。これによって、Ｌ２ＳＷ＃５側へのマルチキャストパケットの転送が停止される。
【００５２】
以上のように、第１実施形態では、Ｌ２ＳＷは、Ｊｏｉｎメッセージを受信したポートを該当のマルチキャストグループの転送ポートとし、転送ポート以外から該当のマルチキャストグループのマルチキャストパケットを転送しない。また、Ｊｏｉｎ及びＰｒｕｎｅメッセージは、Ｌ２ＳＷのＲＰが接続される側のポート以外のポートからは転送されない。これによって、Ｌ２ＳＷによるマルチキャストパケットのフラッディングを抑制することができる。
【００５３】
＜Ｌ２ＳＷの構成＞
図９は、Ｌ２ＳＷ  １のハードウェア構成の一例を示す図である。Ｌ２ＳＷ  １は、複数のインタフェース（ＩＦ）部１０３、ＩＦ部１０４、ＩＦ部１０３及びＩＦ部１０４間でパケットを中継するＳＷ部１０２と、Ｌ２ＳＷ  １のコントロールプレーンに相当する制御部１０１とを含む。
【００５４】
ＩＦ部１０３は、例えば、メタル回線を接続するインタフェースである。ＩＦ部１０３は、メタル回線から入力される電気信号に対してベースバンド処理を行い、所定のデータ形式に変換してＳＷ部１０２に出力する。ＩＦ部１０３は、ＳＷ部１０２から入力されるデータに対しては、逆の処理を行い、電気信号に変換してメタル回線に出力する。
【００５５】
ＩＦ部１０４は、例えば、光回線を接続するインタフェースである。ＩＦ部１０４は、光回線から入力される光信号を電気信号に変換して、該電気信号を所定のデータ形式に変換してＳＷ部１０２に出力する。ＩＦ部１０４は、ＳＷ部１０２から入力されるデータに対しては、逆の処理を行い、電気信号に変換し、さらに光信号に変換して光回線に出力する。なお、図９では、ＩＦ部１０３、ＩＦ部１０４は１つずつ図示されるが、それぞれ複数備えられてもよい。
【００５６】
ＳＷ部１０２は、ＩＦ部１０３、ＩＦ部１０４間のパケットを中継するＦＰＧＡ（field-programmable gate array）等の回路である。また、ＳＷ部１０２は、メモリ１０２Ｂ
を備える。メモリ１０２Ｂは、例えば、ＲＡＭ（Random Access Memory）である。メモリ１０２Ｂには、例えば、アクセスリストが格納されており、ＳＷ部１０２は、アクセスリストに合致するパケットを制御部１０１に転送する。アクセスリストには、例えば、Ｊｏｉｎメッセージ、Ｐｒｕｎｅメッセージ、マルチキャスト受信要求メッセージ、マルチキ
ャスト受信設定メッセージ等で使用されるＩＰアドレス又はＭＡＣアドレスが格納されている。
【００５７】
制御部１０１は、ＣＰＵ（Central Processing Unit）１０１Ａ、メモリ１０１Ｂを備
える。メモリ１０１Ｂは、ＲＡＭ及びＲＯＭ（Read Only Memory）を含む。メモリ１０１Ｂには、例えば、ＯＳ（Operating System）、マルチキャスト転送プログラム等が格納されている。ＣＰＵ  １０１Ａは、マルチキャスト転送プログラムを実行することによって、例えば、図４〜図８において説明された処理を行う。
【００５８】
なお、図９に示されるＬ２ＳＷのハードウェア構成は一例であって、適宜、変更が可能である。例えば、Ｌ２ＳＷは、メタル回線を接続するＩＦ部１０３又は光回線を接続するＩＦ部１０４の何れか一方を備えていなくてもよい。
【００５９】
図１０は、Ｌ２ＳＷ  １の機能構成の一例を示す図である。Ｌ２ＳＷ  １は、パケット受信部１１、パケット判定部１２、第１転送ポート判定部１３、パケット送信部１４、第２転送ポート判定部１５、テーブル管理部１６、メッセージ作成部１７、マルチキャスト転送判定テーブル２１、ツリートポロジ情報２２、ＶＬＡＮ管理テーブル２３、ＲＰ情報２４を備える。
【００６０】
パケット受信部１１、パケット判定部１２、第１転送ポート判定部１３、パケット送信部１４、マルチキャスト転送判定テーブル２１、ＶＬＡＮ管理テーブル２３は、ＳＷ部１０２に相当する機能構成である。パケット受信部１１、パケット送信部１４は、ＩＦ部１０３、１０４とのインタフェースである。
【００６１】
パケット判定部１２は、パケットを第１転送ポート判定部１３、第２転送ポート判定部に振り分ける。例えば、パケット判定部１２は、ＳＷ部１０２内のメモリ１０２Ｂに格納されるアクセスリストを用い、アクセスリストに宛先ＩＰ又はＭＡＣアドレスが合致するパケットを第２転送ポート判定部１５に転送する。アクセスリストには、例えば、Ｊｏｉｎ及びＰｒｕｎｅメッセージに用いられるマルチキャストＩＰアドレス、自身のＩＰ又はＭＡＣアドレスが登録されている。アクセスリストに合致しないパケットは、第１転送ポート判定部１３に転送される。
【００６２】
以降、第１実施形態では、Ｊｏｉｎメッセージ、Ｐｒｕｎｅメッセージ、マルチキャスト受信要求メッセージ及びマルチキャスト受信設定メッセージは第２転送ポート判定部１５に出力されることとする。また、所定のマルチキャストグループのマルチキャストパケットは、第１転送ポート判定部１３に出力されることとする。他のＬ２ＳＷ  １宛てのマルチキャスト受信要求メッセージ及びマルチキャスト受信設定メッセージは、第１実施形態では、ユニキャストパケットとして第１転送ポート判定部１３に出力される。
【００６３】
第１転送ポート判定部１３は、パケット判定部１２から入力されたパケットの転送ポートを決定し、パケット送信部１４に出力する。例えば、第１転送ポート判定部１３は、ユニキャストのパケットの転送ポートを、ユニキャストルーティングテーブル（図示せず）に従って決定する。例えば、第１転送ポート判定部１３は、マルチキャストのパケットの転送ポートを、後述のマルチキャスト転送判定テーブル２１に従って決定する。第１転送ポート判定部１３は、「転送部」の一例である。
【００６４】
マルチキャスト転送判定テーブル２１、ＶＬＡＮ管理テーブル２３は、ＳＷ部１０２のメモリ１０２Ｂに格納される。マルチキャスト転送判定テーブル２１は、マルチキャストグループの転送ポートを保持するテーブルである。マルチキャスト転送判定テーブル２１の詳細は、後述される。ＶＬＡＮ管理テーブル２３は、例えば、Ｌ２ＳＷ  １に存在する
ＶＬＡＮと、各ＶＬＡＮに属するポートの情報とが格納されるテーブルである。
【００６５】
第２転送ポート判定部１５、テーブル管理部１６、メッセージ作成部１７は、制御部１０１のＣＰＵ  １０１Ａがメモリ１０１Ｂに格納されているマルチキャスト転送プログラムを実行することによって実現される機能構成である。ツリートポロジ情報２２、ＲＰ情報２４は、制御部１０１のメモリ１０１Ｂに格納されている。
【００６６】
ツリートポロジ情報２２は、ＴＲＩＬＬのマルチキャスト配信ツリーに関する情報である。例えば、ツリートポロジ情報には、ＴＲＩＬＬのマルチキャスト配信ツリーのルートＳＷのＭＡＣアドレスが保持される。ツリートポロジ情報２２は、他のＬ２ＳＷ  １とのＴＲＩＬＬのメッセージのやり取りによって取得される。
【００６７】
また、Ｌ２ＳＷ  １がルートＳＷである場合には、ツリートポロジ情報２２には、ＴＲＩＬＬのマルチキャスト配信ツリーに参加する全Ｌ２ＳＷ  １の接続関係が格納される。より具体的には、ルートＳＷのツリートポロジ情報２２には、全Ｌ２ＳＷ  １のＩＰアドレス及びＭＡＣアドレス、ポート番号、各ポートの接続装置の情報等が格納される。ツリートポロジ情報は、「第３の記憶部」に記憶される情報の一例である。
【００６８】
ＲＰ情報２４は、各マルチキャストグループのＲＰであるＬ３ＳＷのＩＰアドレスと、該ＲＰであるＬ３ＳＷの接続される側のポートの情報である。ＲＰのＩＰアドレスは、例えば、Ｊｏｉｎメッセージから取得される。また、ＲＰの接続される側のポートは、例えば、ＲＰであるＬ３ＳＷのＩＰアドレスが送信元ＩＰアドレスであるＰＩＭ  Ｈｅｌｌｏメッセージの受信ポートとして取得される。ＰＩＭ  Ｈｅｌｌｏメッセージは、ＰＩＭが有効になっている全Ｌ３ＳＷによって所定の周期（例えば、３０秒）で送信されるメッセージである。以降、ＲＰが接続される側のポートをＲＰ接続ポートと称する。ＲＰ情報２４は、「第２の記憶部」に記憶される情報の一例である。
【００６９】
第２転送ポート判定部１５には、パケット判定部１２から、Ｊｏｉｎメッセージ、Ｐｒｕｎｅメッセージ、Ｌ２ＳＷ  １自身のＩＰアドレス又はＭＡＣアドレス宛てのパケットが入力される。第１実施形態では、マルチキャスト受信要求メッセージ、マルチキャスト受信設定メッセージは、ユニキャストで送信される。そのため、第１実施形態において、Ｌ２ＳＷ  １自身のＩＰアドレス又はＭＡＣアドレス宛てのパケットは、マルチキャスト受信要求メッセージ、又は、マルチキャスト受信設定メッセージである。
【００７０】
Ｊｏｉｎ及びＰｒｕｎｅメッセージが入力された場合には、第２転送ポート判定部１５は、ＲＰ接続ポートをＪｏｉｎ及びＰｒｕｎｅメッセージの転送ポートに判定し、パケット送信部１４に出力する。また、ＪｏｉｎメッセージがＬ３ＳＷから入力されている場合には、第２転送ポート判定部１５は、マルチキャスト受信要求メッセージの作成をメッセージ作成部１７に指示する。ＪｏｉｎメッセージがＬ３ＳＷから入力されているか否かは、Ｊｏｉｎメッセージの受信ポートが、Ｌ３ＳＷを接続するポートであるか否かを判定することによって判定可能である。
【００７１】
Ｐｒｕｎｅメッセージが入力された場合には、第２転送ポート判定部１５は、所定の条件が満たされたか否かを判定し、該所定の条件が満たされた場合には、Ｊｏｉｎメッセージの代理作成をメッセージ作成部１７に指示する。所定の条件は、例えば、Ｐｒｕｎｅメッセージの受信ポート以外にマルチキャスト転送判定テーブル２１に該当のマルチキャストアドレスの転送ポートとして登録されているポートが有ることである。
【００７２】
Ｌ２ＳＷ  １自身宛てのマルチキャスト受信要求メッセージが入力された場合には、第２転送ポート判定部１５は、マルチキャスト受信設定メッセージの作成をメッセージ作成
部１７に指示する。Ｌ２ＳＷ  １自身宛てのマルチキャスト受信設定メッセージが入力された場合には、第２転送ポート判定部１５は、マルチキャスト受信設定メッセージに基づいたマルチキャスト転送判定テーブル２１の更新をテーブル管理部１６に指示する。第２転送ポート判定部１５は、「判定部」の一例である。
【００７３】
テーブル管理部１６は、第２転送ポート判定部１５の指示に従って、マルチキャスト転送判定テーブル２１を更新する。また、テーブル管理部１６は、各転送ポートにおけるマルチキャスト受信要求メッセージの受信を監視する。所定時間マルチキャスト受信要求メッセージを受信しない転送ポートがある場合には、テーブル管理部１６は、全ポートを破棄ポートに指定するマルチキャスト受信設定メッセージの作成をメッセージ作成部１７に指示する。所定時間は、例えば、２１０秒である。テーブル管理部１６は、「管理部」の一例である。
【００７４】
メッセージ作成部１７は、第２転送ポート判定部１５又はテーブル管理部１６の指示に従って、マルチキャスト受信要求メッセージ、マルチキャスト受信設定メッセージ、Ｊｏｉｎメッセージを作成し、パケット送信部１４に出力する。メッセージ作成部１７は、「通知部」の一例である。
【００７５】
マルチキャスト受信設定メッセージを作成する場合には、メッセージ作成部１７は、マルチキャスト受信要求メッセージとツリートポロジ情報２２とに基づいて、該当マルチキャストグループのＪｏｉｎメッセージの経路を特定する。メッセージ作成部１７は、経路上のポートを転送ポート、経路外のポートを破棄ポートにして、各Ｌ２ＳＷ  １に対するマルチキャスト受信設定メッセージを作成する。なお、マルチキャスト受信設定メッセージを作成する場合には、Ｌ２ＳＷ  １はルートＳＷであるので、ツリートポロジ情報２２には、ＴＲＩＬＬのマルチキャスト配信ツリーの全Ｌ２ＳＷ  １の情報が保持されている。
【００７６】
図１１は、マルチキャスト転送判定テーブル２１の一例である。マルチキャスト転送判定テーブル２１は、マルチキャストアドレスと転送ポートとエージングタイマとの対応付けをエントリとして格納する。マルチキャスト転送判定テーブル２１の転送ポートは、マルチキャスト受信設定メッセージによって該当のマルチキャストアドレスの転送ポートに指定されたポートである。
【００７７】
マルチキャスト転送判定テーブル２１のエントリは、マルチキャストアドレスと転送ポートとの組み合わせごとに作成される。そのため、図１１では、マルチキャストアドレス「２３１．０．０．１０」に対して、転送ポートが「ポート１」のエントリと、転送ポートが「ポート５」のエントリと、の２つのエントリが存在している。
【００７８】
マルチキャスト転送判定テーブル２１のエントリは、マルチキャスト受信設定メッセージの受信を契機に、該マルチキャスト受信設定メッセージの内容にしたがって登録される。マルチキャスト転送判定テーブル２１の転送ポートがマルチキャスト受信設定メッセージによって破棄ポートに指定された場合には、該当のエントリの「転送ポート」には「破棄」が格納される。
【００７９】
マルチキャスト転送判定テーブル２１のエージングタイマは、該当エントリの転送ポートにマルチキャスト受信要求メッセージが届くたびにテーブル管理部１６によって初期値に設定される。エージングタイマは、カウントダウンのタイマである。Ｌ２ＳＷ  １がルートＳＷである場合、エージングタイマが０になると、該当エントリのマルチキャストグループに対して、該当エントリの転送ポートから、全ポートを破棄ポートに指定するマルチキャスト受信設定メッセージが送信される。エージングタイマの初期値は、例えば、２
１０秒である。マルチキャスト転送判定テーブル２１は、「第１の記憶部」の一例である。
【００８０】
＜メッセージの構成＞
図１２は、マルチキャスト受信要求メッセージに含まれる情報の一例を示す図である。マルチキャスト受信要求メッセージには、例えば、ＢＰＤＵが用いられてもよいし、独自に定義されたパケットが用いられてもよい。マルチキャスト受信要求メッセージには、例えば、受信要求ノード、マルチキャストアドレス、受信ポート番号、ＶＬＡＮが含まれる。
【００８１】
マルチキャスト受信要求メッセージ内の「受信要求ノード」は、Ｊｏｉｎメッセージを受信したＬ２ＳＷ  １のアドレスである。第１実施形態では、Ｌ３ＳＷからＪｏｉｎメッセージを受信したＬ２ＳＷがマルチキャスト受信要求メッセージを作成して送信することを想定しているので、「受信要求ノード」には、マルチキャスト受信要求メッセージの作成元であるＬ２ＳＷ  １自身のＩＰアドレス又はＭＡＣアドレスが格納される。
【００８２】
マルチキャスト受信要求メッセージ内の「マルチキャストアドレス」は、マルチキャスト受信要求メッセージの作成元であるＬ２ＳＷ  １がマルチキャストパケットの転送を要求するマルチキャストグループのマルチキャストアドレスである。マルチキャスト受信要求メッセージ内の「マルチキャストアドレス」には、マルチキャスト受信要求メッセージの作成の契機となるＪｏｉｎメッセージに含まれるマルチキャストグループのマルチキャストアドレスが格納される。
【００８３】
マルチキャスト受信要求メッセージ内の「受信ポート番号」には、Ｊｏｉｎメッセージを受信したポートの番号が格納される。マルチキャスト受信要求メッセージ内の「ＶＬＡＮ」は、該当のマルチキャストグループのマルチキャストパケットの転送を要求するＶＬＡＮ情報が格納される。「ＶＬＡＮ」には、例えば、Ｊｏｉｎメッセージの受信ポートに設定されているＶＬＡＮ  ＩＤが格納される。
【００８４】
図１３は、マルチキャスト受信設定メッセージに含まれる情報の一例を示す図である。マルチキャスト受信設定メッセージは、例えば、ＢＰＤＵが用いられてもよいし、独自に定義されたパケットが用いられてもよい。マルチキャスト受信設定メッセージには、例えば、マルチキャストアドレス、ＶＬＡＮ、転送ポート番号、破棄ポート番号が含まれる。
【００８５】
マルチキャスト受信設定メッセージの「マルチキャストアドレス」、「ＶＬＡＮ」には、マルチキャスト受信設定メッセージの作成の契機となるマルチキャスト受信要求メッセージ内の「マルチキャストアドレス」、「ＶＬＡＮ」の値が格納される。
【００８６】
マルチキャスト受信設定メッセージの「転送ポート番号」、「破棄ポート番号」には、それぞれ、該当のマルチキャストグループのマルチキャストパケットの転送ポート、破棄ポートの番号が格納される。転送ポート、破棄ポートは、メッセージ作成部１７によって決定される。
【００８７】
マルチキャスト受信設定メッセージを作成するのはＬ２ＳＷ  １がルートＳＷである場合である。Ｌ２ＳＷ  １がルートＳＷである場合には、ツリートポロジ情報２２には、ＴＲＩＬＬのマルチキャスト配信ツリー全体のトポロジが格納されている。そのため、ルートＳＷであるＬ２ＳＷ  １は、ツリートポロジ情報２２を用いて、Ｌ３ＳＷからＪｏｉｎメッセージを受信したＬ２ＳＷが特定できれば、ＴＲＩＬＬのマルチキャスト配信ツリー内のＪｏｉｎメッセージの経路を特定することができる。マルチキャストパケットは、通常、送信装置側から受信装置側の一方向で流れるので、特定された経路上の下流側（受信
装置側）のポートが転送ポートに決定される。特定された経路外の下流側（受信装置側）のポートが破棄ポートに決定される。
【００８８】
なお、第１実施形態では、ユニキャストでマルチキャスト受信設定メッセージが送信されることが想定されているが、これに限られない。マルチキャスト受信設定メッセージはマルチキャストで送信されてもよい。マルチキャスト受信設定メッセージがマルチキャストで送信される場合には、図１３に示される情報に加えて、対象となるＬ２ＳＷ  １の識別情報もマルチキャスト受信設定メッセージに含まれるようにしてもよい。また、マルチキャスト受信設定メッセージがマルチキャストで送信される場合には、ＴＲＩＬＬのマルチキャスト配信ツリー内の全Ｌ２ＳＷ  １の情報が含まれてもよい。
【００８９】
＜具体例＞
図１４は、具体例において想定されるネットワークの構成及びネットワーク内のＬ２ＳＷ間の物理的な接続関係を示す図である。ＴＲＩＬＬのマルチキャスト配信ツリーのルートＳＷはＬ２ＳＷ＃１である。また、対象となるマルチキャストグループのＲＰはＬ２ＳＷ＃１に接続されるＬ３ＳＷである。送信装置は、Ｌ２ＳＷ＃１のポート１側に存在している。受信装置は、Ｌ２ＳＷ＃５のポート１側に存在している。
【００９０】
図１５Ａは、図１４に示されるネットワークにおいて、受信装置からマルチキャストグループへの参加要求（ＩＧＭＰレポート）が送信された場合のマルチキャスト受信要求メッセージの一例を示す図である。図１５Ａでは、図１４に示されるネットワークのＴＲＩＬＬのマルチキャスト配信ツリーのＬ２ＳＷ間の論理的な接続関係が示される。
【００９１】
図１５Ａにおいて、受信装置が存在するＬ２ＳＷ＃５のポート１は、ＶＬＡＮ１００に属しているとする。送信装置は、マルチキャストＩＰアドレス２３０．０．０．１を用いるとする。また、図１５Ａに示されるネットワークにおいて、マルチキャストＩＰアドレス２３０．０．０．１を用いるマルチキャストグループに参加する受信装置は、まだいないものとする。
【００９２】
受信装置からマルチキャストＩＰアドレス２３０．０．０．１を用いるマルチキャストグループに対するＩＧＭＰレポートが送信されると、Ｌ２ＳＷ＃５はポート１においてＬ３ＳＷからのＪｏｉｎメッセージを受信する。Ｌ２ＳＷ＃５は、Ｊｏｉｎメッセージを受信したので、ルートＳＷに対してマルチキャスト受信要求メッセージを作成して送信する。
【００９３】
作成されるマルチキャスト受信要求メッセージの中身は、以下の通りである。
・受信要求ノード：Ｌ２ＳＷ＃５
・マルチキャストアドレス：２３０．０．０．１
・受信ポート：ポート１
・ＶＬＡＮ：１００
【００９４】
図１５Ｂは、図１５Ａに示されるマルチキャスト受信要求メッセージに対するマルチキャスト受信設定メッセージの一例を示す図である。図１５Ｂに示されるネットワークは、図１５Ａと同じである。
【００９５】
ルートＳＷであるＬ２ＳＷ＃１は、マルチキャスト受信要求メッセージを受信すると、Ｊｏｉｎメッセージの経路を特定する。ルートＳＷであるＬ２ＳＷ＃１は、図１５Ａに示されるマルチキャスト受信要求メッセージを受信しており、Ｊｏｉｎメッセージの受信ポートがＬ２ＳＷ＃５のポート１であることを取得する。Ｊｏｉｎメッセージの受信ポートと、マルチキャストアドレス、ツリートポロジ情報２２のマルチキャスト配信ツリー全体
のトポロジから、ルートＳＷであるＬ２ＳＷ＃１は、Ｊｏｉｎメッセージの経路を取得する。
【００９６】
図１５Ｂに示される例の場合には、Ｊｏｉｎメッセージの経路は、Ｌ２ＳＷ＃５のポート１→Ｌ２ＳＷ＃４のポート３→Ｌ２ＳＷ＃３のポート３→Ｌ２ＳＷ＃２のポート３→Ｌ２ＳＷ＃１のポート２→ＲＰのＬ３ＳＷである。なお、該経路は、各Ｌ２ＳＷのＪｏｉｎメッセージの受信ポートの順で示されている。ルートＳＷであるＬ２ＳＷ＃１は、該経路上のポートを転送ポートとし、該経路外のポートを破棄ポートとする。したがって、ルートＳＷであるＬ２ＳＷ＃１は、以下のようなマルチキャスト受信設定メッセージを作成する。
【００９７】
Ｌ２ＳＷ＃２〜＃４には以下の内容のマルチキャスト受信設定メッセージが送信される。
・マルチキャストアドレス：２３０．０．０．１
・ＶＬＡＮ：１００
・転送ポート番号：ポート３
・破棄ポート：ポート２
【００９８】
Ｌ２ＳＷ＃５には以下の内容のマルチキャスト受信設定メッセージが送信される。
・マルチキャストアドレス：２３０．０．０．１
・ＶＬＡＮ：１００
・転送ポート番号：ポート１
・破棄ポート：ポート３
【００９９】
Ｌ２ＳＷ＃６〜＃８には以下の内容のマルチキャスト受信設定メッセージが送信される。
・マルチキャストアドレス：２３０．０．０．１
・ＶＬＡＮ：１００
・転送ポート番号：なし
・破棄ポート：ポート２，３
なお、上記マルチキャスト受信設定メッセージを受信したＬ２ＳＷ＃６〜＃８のマルチキャスト転送判定テーブル２１には、マルチキャストアドレス「２３０．０．０．１」、転送ポート「破棄」でエントリが作成される。
【０１００】
なお、図１５Ｂでは示されていないが、ルートＳＷであるＬ２ＳＷ＃１は、例えば、ループバックアドレス等を用いて、自身に対してもマルチキャスト受信設定メッセージを送信する。ルートＳＷであるＬ２ＳＷ＃１に対して送信される受信設定メッセージの内容は以下の通りである。
・マルチキャストアドレス：２３０．０．０．１
・ＶＬＡＮ：１００
・転送ポート番号：ポート２
・破棄ポート：ポート３
【０１０１】
Ｌ２ＳＷ間がメタル回線で接続されている場合には、光回線で接続されている場合のように１台のＬ２ＳＷから光回線にパケットを流すと他のＬ２ＳＷに届いてしまうことはない。また、上記のマルチキャスト受信設定メッセージではＬ２ＳＷ＃１のポート３は破棄ポートであり、Ｌ２ＳＷ＃１のポート３からはマルチキャストアドレス２３０．０．０．１のマルチキャストパケットが流れない。そのため、Ｌ２ＳＷ＃１は、Ｊｏｉｎメッセージの経路上にないＬ２ＳＷ＃６〜＃８にマルチキャスト受信設定メッセージを送信しなくてもよい。
【０１０２】
＜処理の流れ＞
図１６Ａ、図１６Ｂ、図１６Ｃ、図１６Ｄは、制御部１０１にパケットが入力された場合の制御部１０１の処理のフローチャートの一例である。図１６Ａ〜図１６Ｄに示される処理は、制御部１０１にパケットが入力されると開始される。第１実施形態では、制御部１０１には、ＳＷ部１０２によって、Ｊｏｉｎメッセージ、Ｐｒｕｎｅメッセージ、自装置宛てのマルチキャスト受信要求メッセージ、自装置宛てのマルチキャスト受信設定メッセージが入力される。
【０１０３】
制御部１０１のＣＰＵ  １０１Ａがメモリ１０１Ｂに格納されるマルチキャスト転送プログラムを実行することによって、図１６Ａ〜図１６Ｄの処理が行われる。図１６Ａ〜図１６Ｄに示される処理の主体は制御部１０１のＣＰＵ  １０１Ａであるが、以下の説明では、制御部１０１の機能構成である第２転送ポート判定部１５、テーブル管理部１６、メッセージ作成部１７を主体として説明する。
【０１０４】
ＯＰ１では、第２転送ポート判定部１５は、パケット判定部１２から入力されたパケットがＪｏｉｎメッセージであるか否かを判定する。この判定は、例えば、宛先のＩＰアドレス（２２４．０．０．１３）と、タイプフィールドの値がＪｏｉｎ及びＰｒｕｎｅメッセージを示す「３」であることと、参加を要求する装置のアドレスを格納するフィールド（Encoded-Joined Source Addressフィールド）にアドレスが格納されていることと、に
よって判定される。
【０１０５】
入力されたパケットがＪｏｉｎメッセージである場合には（ＯＰ１：ＹＥＳ）、処理が図１６ＢのＯＰ１１に進む。入力されたパケットがＪｏｉｎメッセージでない場合には（ＯＰ１：ＮＯ）、処理がＯＰ２に進む。
【０１０６】
ＯＰ２では、第２転送ポート判定部１５は、パケット判定部１２から入力されたパケットがＰｒｕｎｅメッセージであるか否かを判定する。この判定は、例えば、宛先のＩＰアドレス（２２４．０．０．１３）と、タイプフィールドの値がＪｏｉｎ及びＰｒｕｎｅメッセージを示す「３」であることと、脱退を要求する装置のアドレスを格納するフィールド（Encoded-Pruned Source Addressフィールド）にアドレスが格納されていることと、
によって判定される。
【０１０７】
入力されたパケットがＰｒｕｎｅメッセージである場合には（ＯＰ２：ＹＥＳ）、処理が図１６ＣのＯＰ２１に進む。入力されたパケットがＰｒｕｎｅメッセージでない場合には（ＯＰ２：ＮＯ）、処理がＯＰ３に進む。
【０１０８】
ＯＰ３では、第２転送ポート判定部１５は、入力されたパケットが自装置宛てのマルチキャスト受信要求メッセージであるか否かを判定する。第１実施形態では、マルチキャスト受信要求メッセージは、ルートＳＷに対してユニキャストで送信されるので、マルチキャスト受信要求メッセージの宛先ＩＰアドレスが自装置であれば、自装置宛てのパケットと判定される。また、マルチキャスト受信要求メッセージであるか否かは、パケットフォーマット等がマルチキャスト受信要求メッセージに従っているか否かによって判定可能である。
【０１０９】
入力されたパケットが自装置宛てのマルチキャスト受信要求メッセージである場合には（ＯＰ３：ＹＥＳ）、処理が図１６ＤのＯＰ３１に進む。入力されたパケットがマルチキャスト受信要求メッセージでない場合には（ＯＰ３：ＮＯ）、処理がＯＰ４に進む。
【０１１０】
ＯＰ４では、第２転送ポート判定部１５は、入力されたパケットが自装置宛てのマルチ
キャスト受信設定メッセージであるか否かを判定する。第１実施形態では、マルチキャスト受信設定メッセージは、各Ｌ２ＳＷに対してユニキャストで送信されるので、マルチキャスト受信設定メッセージの宛先ＩＰアドレスが自装置であれば、自装置宛てのパケットと判定される。また、マルチキャスト受信設定メッセージであるか否かは、パケットフォーマット等がマルチキャスト受信設定メッセージに従っているか否かによって判定可能である。
【０１１１】
入力されたパケットが自装置宛てのマルチキャスト受信設定メッセージである場合には（ＯＰ４：ＹＥＳ）、処理がＯＰ５に進む。入力されたパケットがマルチキャスト受信要求メッセージでない場合には（ＯＰ４：ＮＯ）、図１６Ａに示される処理が終了する。
【０１１２】
ＯＰ５では、テーブル管理部１６は、入力されたマルチキャスト受信設定メッセージに基づいて、マルチキャスト転送判定テーブル２１を更新する。その後、図１６Ａに示される処理が終了する。
【０１１３】
図１６Ｂは、制御部１０１にＪｏｉｎメッセージが入力された場合の処理のフローチャートの一例である。ＯＰ１１では、第２転送ポート判定部１５は、ＪｏｉｎメッセージはＬ３ＳＷを接続するポートで受信されたか否かを判定する。ＪｏｉｎメッセージがＬ３ＳＷを接続するポートで受信された場合には（ＯＰ１１：ＹＥＳ）、処理がＯＰ１２に進む。ＪｏｉｎメッセージがＬ３ＳＷを接続するポート以外で受信された場合には（ＯＰ１１：ＮＯ）、処理がＯＰ１４に進む。
【０１１４】
ＯＰ１２では、第２転送ポート判定部１５は、メッセージ作成部１７にマルチキャスト受信要求メッセージの作成を指示し、メッセージ作成部１７は、マルチキャスト受信要求メッセージを作成する。次に処理がＯＰ１３に進む。
【０１１５】
ＯＰ１３では、メッセージ作成部１７は、作成したマルチキャスト受信要求メッセージをＳＷ部１０２に出力する。マルチキャスト受信要求メッセージは、ルートＳＷに対してユニキャストで送信されるので、ＳＷ部１０２において、転送ポートが決定されて送出される。次に処理がＯＰ１４に進む。
【０１１６】
ＯＰ１４では、第２転送ポート判定部１５は、Ｊｏｉｎメッセージの転送ポートをＲＰ接続ポートに決定し、ＳＷ部１０２に出力する。ＪｏｉｎメッセージはＲＰ接続ポートから転送される。その後、図１６Ｂに示される処理が終了する。
【０１１７】
なお、第１実施形態では、Ｌ３ＳＷからＪｏｉｎメッセージを受信したＬ２ＳＷがマルチキャスト受信要求メッセージを作成して送信することが想定されている。Ｊｏｉｎメッセージを中継する各Ｌ２ＳＷもマルチキャスト受信要求メッセージを作成して送信する場合には、ＯＰ１１の判定は行われない。
【０１１８】
図１６Ｃは、制御部１０１にＰｒｕｎｅメッセージが入力された場合の処理のフローチャートの一例である。ＯＰ２１では、第２転送ポート判定部１５は、Ｐｒｕｎｅメッセージの転送ポートをＲＰ接続ポートに決定し、ＳＷ部１０２に出力する。ＰｒｕｎｅメッセージはＲＰ接続ポートから転送される。次に処理がＯＰ２２に進む。
【０１１９】
ＯＰ２２では、第２転送ポート判定部１５は、マルチキャスト転送判定テーブル２１に、Ｐｒｕｎｅメッセージの受信ポート以外で、該当のマルチキャストグループの転送ポートがあるか否かを判定する。マルチキャスト転送判定テーブル２１に、Ｐｒｕｎｅメッセージの受信ポート以外で、マルチキャストグループの転送ポートがある場合には（ＯＰ２２：ＹＥＳ）、処理がＯＰ２３に進む。マルチキャスト転送判定テーブル２１に、Ｐｒｕ
ｎｅメッセージの受信ポート以外で、マルチキャストグループの転送ポートがない場合には（ＯＰ２２：ＮＯ）、図１６Ｃに示される処理が終了する。
【０１２０】
ＯＰ２３では、第２転送ポート判定部１５は、Ｊｏｉｎメッセージの作成をメッセージ作成部１７に指示する。メッセージ作成部１７は、Ｐｒｕｎｅメッセージによって示されるマルチキャストグループに対するＪｏｉｎメッセージを作成する。作成されるＪｏｉｎメッセージは、例えば、マルチキャスト転送判定テーブル２１の、Ｐｒｕｎｅメッセージの受信ポート以外の転送ポートで受信されるＪｏｉｎメッセージと同じ内容で作成される。次に処理がＯＰ２４に進む。
【０１２１】
ＯＰ２４では、メッセージ作成部１７は、作成したＪｏｉｎメッセージの転送ポートをＲＰ接続ポートに決定し、ＳＷ部１０２に出力する。作成されたＪｏｉｎメッセージはＲＰ接続ポートから転送される。その後、図１６Ｃに示される処理が終了する。
【０１２２】
図１６Ｄは、制御部１０１に自装置宛てのマルチキャスト受信要求メッセージが入力された場合の処理のフローチャートの一例である。ＯＰ３１では、第２転送ポート判定部１５は、自装置がルートＳＷであるか否かを判定する。
【０１２３】
自装置がルートＳＷでない場合には（ＯＰ３１：ＮＯ）、第１実施形態では、第２転送ポート判定部１５は自装置宛てのマルチキャスト受信要求メッセージを破棄し、図１６Ｄに示される処理が終了する。第１実施形態では、マルチキャスト受信要求メッセージはルートＳＷに対してユニキャストで送信されるため、マルチキャスト受信要求メッセージは制御部１０１に入力されることなく、第１転送ポート判定部１３によって処理され、転送されるからである。
【０１２４】
なお、マルチキャスト受信要求メッセージがマルチキャストで送信される場合には、マルチキャスト受信要求メッセージは制御部１０１に入力され、自ノードがルートＳＷでない場合には処理がＯＰ３４に進む。ＯＰ３４では、第２転送ポート判定部１５は、マルチキャスト受信要求メッセージをＳＷ部１０２に出力し、ＳＷ部１０２によってマルチキャスト受信要求メッセージはＴＲＩＬＬのマルチキャスト配信ツリーの上流側のポートから転送される。その後、図１６Ｄに示される処理が終了する。
【０１２５】
自装置がルートＳＷである場合には（ＯＰ３１：ＹＥＳ）、処理がＯＰ３２に進む。ＯＰ３２では、第２転送ポート判定部１５は、マルチキャスト受信設定メッセージの作成をメッセージ作成部１７に指示する。メッセージ作成部１７は、マルチキャスト受信要求メッセージとツリートポロジ情報２２とから、Ｊｏｉｎメッセージの経路を特定して、各Ｌ２ＳＷ  １の転送ポートと破棄ポートとを特定し、各Ｌ２ＳＷ  １に対してマルチキャスト受信設定メッセージを作成する。次に処理がＯＰ３３に進む。
【０１２６】
ＯＰ３３では、メッセージ作成部１７は、作成したマルチキャスト受信要求メッセージをＳＷ部１０２に出力する。マルチキャスト受信要求メッセージは、ＳＷ部１０２によってＴＲＩＬＬのマルチキャスト配信ツリーの下流側のポートから転送される。
【０１２７】
ＯＰ３２におけるマルチキャスト受信設定メッセージの作成とＯＰ３３におけるマルチキャスト受信設定メッセージの送信とは、ルートＳＷである自装置も含めて、ＴＲＩＬＬのマルチキャスト配信ツリー内のＬ２ＳＷ  １の台数分行われる。次に処理がＯＰ３５に進む。
【０１２８】
ＯＰ３６では、テーブル管理部１６は、入力されたマルチキャスト受信要求メッセージの受信ポート及び該当のマルチキャストグループに対応するマルチキャスト転送判定テー
ブル２１のエージングタイマを初期値に設定する。その後、図１６Ｄに示される処理が終了する。
【０１２９】
なお、図１６Ａ〜図１６Ｄに示される処理の一部は、実行順が変更されてもよい。例えば、図１６ＡのＯＰ１〜ＯＰ４の判定処理の実行順はいずれであってもよい。例えば、図１６ＢのＯＰ１４のＪｏｉｎメッセージの転送処理は、ＯＰ１１の処理の前に実行されてもよい。
【０１３０】
図１７は、マルチキャストパケットを受信した場合のＳＷ部１０２の処理のフローチャートの一例である。図１７に示される処理は、ＳＷ部１０２にマルチキャストパケットが入力されると開始される。図１７に示される処理の主体はＳＷ部１０２であるが、以下の説明では、ＳＷ部１０２の機能構成である第１転送ポート判定部１３を主体として説明する。
【０１３１】
ＯＰ４１では、第１転送ポート判定部１３は、ＶＬＡＮ管理テーブル２３からマルチキャストパケットが属するＶＬＡＮと同じＶＬＡＮの情報を取得する。マルチキャストパケットがＬ３ＳＷから受信された場合には、マルチキャストパケットの属するＶＬＡＮは、例えば、受信ポートが属するＶＬＡＮから取得される。マルチキャストパケットが他のＬ２ＳＷ  １から受信される場合には、マルチキャストパケットが属するＶＬＡＮは、例えば、マルチキャストパケットに付与されているＶＬＡＮタグから取得される。次に処理がＯＰ４２に進む。
【０１３２】
ＯＰ４２では、第１転送ポート判定部１３は、受信ポート以外でマルチキャストパケットと同一のＶＬＡＮに属するポートがあるか否かを判定する。受信ポート以外でマルチキャストパケットと同一のＶＬＡＮに属するポートがない場合には（ＯＰ４２：ＮＯ）、処理がＯＰ４６に進む。ＯＰ４６では、第１転送ポート判定部１３は、マルチキャストパケットを破棄する。その後、図１７に示される処理が終了する。
【０１３３】
受信ポート以外でマルチキャストパケットと同一のＶＬＡＮに属するポートがある場合には（ＯＰ４２：ＹＥＳ）、処理がＯＰ４３に進む。ＯＰ４３では、第１転送ポート判定部１３は、マルチキャスト転送判定テーブル２１から該当のマルチキャストパケットのマルチキャストアドレスに該当するエントリを取得する。次に処理がＯＰ４４に進む。
【０１３４】
ＯＰ４４では、第１転送ポート判定部１３は、取得したマルチキャスト転送判定テーブル２１のエントリに転送ポートが登録されているか否かを判定する。取得したエントリに転送ポートが登録されている場合には（ＯＰ４４：ＹＥＳ）、処理がＯＰ４５に進む。ＯＰ４５では、第１転送ポート判定部１３は、マルチキャストパケットの転送ポートを該エントリに登録されている転送ポートに決定し、ポート送信部１４にマルチキャストパケットを出力する。マルチキャストパケットは、転送ポートから転送される。その後、図１７に示される処理が終了する。
【０１３５】
取得したエントリの「転送ポート」に「破棄」が登録されている場合には（ＯＰ４４：ＮＯ）、処理がＯＰ４６に進む。ＯＰ４６では、第１転送ポート判定部１３は、マルチキャストパケットを破棄する。その後、図１７に示される処理が終了する。
【０１３６】
＜第１実施形態の作用効果＞
第１実施形態では、マルチキャスト受信要求メッセージ及びマルチキャスト受信設定メッセージが用いられることによって、ルートＳＷによってＪｏｉｎメッセージの経路が特定され、各Ｌ２ＳＷ  １のＪｏｉｎメッセージの受信ポートが転送ポートに指定される。各Ｌ２ＳＷ  １は、指定された転送ポート以外からは該当マルチキャストグループのマル
チキャストパケットを転送しない。これによって、Ｌ２ＳＷによるマルチキャストパケットのフラッディングを抑制することができる。マルチキャストパケットのフラッディングが抑制されることによって、回線の帯域が圧迫されることを低減することができる。
【０１３７】
また、第１実施形態では、各Ｌ２ＳＷ  １は、Ｊｏｉｎメッセージ、ＰｒｕｎｅメッセージをＲＰ接続ポート以外のポートからは転送しない。これによって、Ｌ２ＳＷによるＪｏｉｎメッセージ及びＰｒｕｎｅメッセージのフラッディングを抑制することができる。
【０１３８】
なお、ルートＳＷであるＬ２ＳＷ  １がＲＰであるＬ３ＳＷを接続している場合には、Ｐｒｕｎｅメッセージの受信処理（図７、図１６Ｃ等）に関して、第１実施形態で説明された構成に代えて、以下のようにＬ２ＳＷ  １を構成することも可能である。ルートＳＷはマルチキャスト配信ツリーの全体像を把握しており、マルチキャストパケットの転送を要求するＬ３ＳＷが接続されるＬ２ＳＷ  １も把握可能である。そこで、ルートＳＷは、Ｐｒｕｎｅメッセージを受信した場合に、該当するマルチキャストグループのマルチキャストパケットの転送を要求するＬ３ＳＷが、Ｐｒｕｎｅメッセージの送信元のＬ３ＳＷ以外に存在するか否かを判定する。
【０１３９】
該当するマルチキャストグループのマルチキャストパケットの転送を要求するＬ３ＳＷが、Ｐｒｕｎｅメッセージの送信元のＬ３ＳＷ以外に存在する場合には、ルートＳＷは、ＰｒｕｎｅメッセージをＲＰであるＬ３ＳＷに転送しない。これによって、ＲＰであるＬ３ＳＷにＰｒｕｎｅメッセージが届かなくなるので、ＲＰであるＬ３ＳＷにマルチキャストパケットの転送を継続させることができる。
【０１４０】
第１実施形態では、Ｌ２ＳＷ  １間のＴＲＩＬＬによるマルチキャスト配信ツリーを利用してＪｏｉｎメッセージの経路が特定されていたが、これに限られない。Ｌ２ＳＷ間で論理的にツリー構造を構築するプロトコルを用いるＬ２ＳＷのネットワークにも、第１実施形態で説明された技術は適用可能である。
【０１４１】
＜第２実施形態＞
第２実施形態では、マルチキャスト受信要求メッセージ及びマルチキャスト受信設定メッセージを用いずに、Ｌ２ＳＷ  １が各々でマルチキャストパケットの経路を特定する。
【０１４２】
図１８は、第２実施形態に係るマルチキャストネットワークにおけるマルチキャストパケットの配信に係る処理の流れの一例を示す図である。図１８に示されるネットワークの構成は、図１〜図３に示されるネットワークの構成と同様である。
【０１４３】
（１）Ｌ３ＳＷ＃５の配下の受信装置が、マルチキャストグループに参加するために、ＩＧＭＰレポートを送信する。
【０１４４】
（２）Ｌ３ＳＷ＃５は、配下の受信装置からＩＧＭＰレポートを受信すると、該当のマルチキャストパケットの配信先に該受信装置を登録するとともに、ＰＩＭ  Ｊｏｉｎメッセージを送信する。各Ｌ２ＳＷは、第１実施形態と同様に第２実施形態でも、Ｊｏｉｎメッセージ及びＰｒｕｎｅメッセージを、ＲＰ接続ポートに転送し、それ以外のポートからは転送しない。
【０１４５】
第２実施形態では、各Ｌ２ＳＷは、Ｊｏｉｎメッセージを受信すると、該Ｊｏｉｎメッセージを受信したポートを、該当のマルチキャストグループの転送ポートに設定する。ＪｏｉｎメッセージはＲＰまで届けられるため、その経路の逆方向がマルチキャストパケットの経路となる。そのため、Ｌ２ＳＷはＪｏｉｎメッセージの受信ポートをマルチキャストパケットの転送ポートと特定することができる。
【０１４６】
（３）送信装置からマルチキャストパケットが送信されると、各Ｌ２ＳＷは、該当のマルチキャストグループの転送ポートからマルチキャストパケットを転送し、それ以外のポートからはマルチキャストパケットを転送しない。第２実施形態では、以上のようにして、マルチキャストパケットのフラッディングを抑制する。
【０１４７】
なお、第２実施形態では、Ｐｒｕｎｅメッセージを受信した場合には、Ｌ２ＳＷは、Ｐｒｕｎｅメッセージの受信ポートを破棄ポートと判定する。ただし、Ｐｒｕｎｅメッセージの受信ポート以外に転送ポートが存在する場合には、第１実施形態と同様に、Ｊｏｉｎメッセージを代理送信し、ＲＰによるマルチキャストパケットの転送の停止を阻止する。
【０１４８】
第２実施形態では、Ｌ２ＳＷ  １のハードウェア構成及び機能構成は、第１実施形態と同様である。以下、第１実施形態と異なる点について説明する。
【０１４９】
第２実施形態では、第２転送ポート判定部１５には、パケット判定部１２よりＪｏｉｎメッセージとＰｒｕｎｅメッセージとが入力される。第２転送ポート判定部１５は、Ｊｏｉｎメッセージ及びＰｒｕｎｅメッセージを受信した場合には、テーブル管理部１６にマルチキャスト転送判定テーブル２１の更新を指示する。また、第２転送ポート判定部１５は、Ｐｒｕｎｅメッセージの受信ポート以外に該当のマルチキャストグループの転送ポートがある場合には、Ｊｏｉｎメッセージの作成をメッセージ作成部１７に指示する。
【０１５０】
テーブル管理部１６は、第２転送ポート判定部１５の指示に従って、マルチキャスト転送判定テーブル２１を更新する。また、テーブル管理部１６は、第２実施形態では、各転送ポートにおけるＪｏｉｎメッセージの受信を監視する。Ｊｏｉｎメッセージが受信されると、テーブル管理部１６は、該Ｊｏｉｎメッセージに該当するマルチキャスト転送判定テーブル２１のエントリのエージングタイマを初期値に設定する。
【０１５１】
エージングタイマが０になった場合には、テーブル管理部１６は、該当のマルチキャスト転送判定テーブル２１のエントリの「転送ポート」に「破棄」を設定する。
【０１５２】
図１９は、第２実施形態において、制御部１０１にパケットが入力された場合の制御部１０１の処理のフローチャートの一例である。図１９に示される処理は、制御部１０１にパケットが入力されると開始される。第２実施形態では、制御部１０１には、ＳＷ部１０２によって、Ｊｏｉｎメッセージ、Ｐｒｕｎｅメッセージが入力される。
【０１５３】
制御部１０１のＣＰＵ  １０１Ａがメモリ１０１Ｂに格納されるマルチキャスト転送プログラムを実行することによって、図１９の処理が行われる。図１９に示される処理の主体は制御部１０１のＣＰＵ  １０１Ａであるが、以下の説明では、制御部１０１の機能構成である第２転送ポート判定部１５、テーブル管理部１６、メッセージ作成部１７を主体として説明する。
【０１５４】
ＯＰ５１では、第２転送ポート判定部１５は、パケット判定部１２から入力されたパケットがＪｏｉｎメッセージであるか否かを判定する。パケット判定部１２から入力されたパケットがＪｏｉｎメッセージである場合には（ＯＰ５１：ＹＥＳ）、処理がＯＰ５２に進む。
【０１５５】
ＯＰ５２、ＯＰ５３は、Ｊｏｉｎメッセージが入力された場合の処理である。ＯＰ５２では、第２転送ポート判定部１５は、マルチキャスト転送判定テーブル２１の更新をテーブル管理部１６に指示する。
【０１５６】
テーブル管理部１６は、Ｊｏｉｎメッセージのマルチキャストアドレスと受信ポートとの組み合わせがマルチキャスト転送判定テーブル２１に登録されていない場合には、新規にエントリを登録する。Ｊｏｉｎメッセージのマルチキャストアドレスと受信ポートとの組み合わせがマルチキャスト転送判定テーブル２１に登録されている場合には、該当エントリのエージングタイマを初期値に設定する。次に処理がＯＰ５３に進む。
【０１５７】
ＯＰ５３では、第２転送ポート判定部１５は、ＲＰ接続ポートをＪｏｉｎメッセージの転送ポートに決定し、パケット送信部１４に出力する。Ｊｏｉｎメッセージは、ＲＰ接続ポートから転送される。その後、図１９に示される処理が終了する。
【０１５８】
パケット判定部１２から入力されたパケットがＪｏｉｎメッセージでない場合には（ＯＰ５１：ＮＯ）、処理がＯＰ５４に進む。ＯＰ５４では、第２転送ポート判定部１５は、パケット判定部１２から入力されたパケットがＰｒｕｎｅメッセージであるか否かを判定する。パケット判定部１２から入力されたパケットがＰｒｕｎｅメッセージである場合には（ＯＰ５４：ＹＥＳ）、処理がＯＰ５５に進む。パケット判定部１２から入力されたパケットがＰｒｕｎｅメッセージでない場合には（ＯＰ５４：ＮＯ）、図１９に示される処理が終了する。
【０１５９】
ＯＰ５５では、第２転送ポート判定部１５は、マルチキャスト転送判定テーブル２１の更新をテーブル管理部１６に指示する。テーブル管理部１６は、Ｐｒｕｎｅメッセージのマルチキャストアドレスと受信ポートとの組み合わせに合致するマルチキャスト転送判定テーブル２１のエントリの「転送ポート」に「破棄」を設定する。
【０１６０】
その後、図１６Ｃに示される処理が実行される。すなわち、ＰｒｕｎｅメッセージはＲＰ接続ポートから転送され、Ｐｒｕｎｅメッセージの受信ポート以外に転送ポートがある場合には、メッセージ作成部１７はＪｏｉｎメッセージを作成して送信する。その後、図１９に示される処理が終了する。
【０１６１】
なお、マルチキャストパケットを受信した場合の処理は、第１実施形態で説明された図１７で示される処理と同様である。
【０１６２】
＜第２実施形態の作用効果＞
第２実施形態では、各Ｌ２ＳＷは、Ｊｏｉｎメッセージの受信ポートを該当マルチキャストグループの転送ポートに設定し、転送ポート以外からはマルチキャストパケットを転送しない。これによって、マルチキャストパケットのフラッディングを抑制することができる。
【０１６３】
また、第２実施形態では、マルチキャスト受信要求メッセージ、マルチキャスト受信設定メッセージが用いられないので、マルチキャストのフラッディングの抑制のために用いられるパケットを低減することができる。
【符号の説明】
【０１６４】
１        Ｌ２ＳＷ
１１    パケット受信部
１２    パケット判定部
１３    第１転送ポート判定部
１４    パケット送信部
１５    第２転送ポート判定部
１６    テーブル管理部
１７    メッセージ作成部
２１    マルチキャスト転送判定テーブル
２２    ツリートポロジ情報
２３    ＶＬＡＮ管理テーブル
２４    ＲＰ情報
１０１    制御部
１０１Ａ  ＣＰＵ
１０１Ｂ  メモリ
１０２    ＳＷ部
１０３    ＩＦ部
１０４  ＩＦ部
【図１】
2015192391.tif 000003
【図２】
2015192391.tif 000004
【図３】
2015192391.tif 000005
【図４】
2015192391.tif 000006
【図５】
2015192391.tif 000007
【図６】
2015192391.tif 000008
【図７】
2015192391.tif 000009
【図８】
2015192391.tif 000010
【図９】
2015192391.tif 000011
【図１０】
2015192391.tif 000012
【図１１】
2015192391.tif 000013
【図１２】
2015192391.tif 000014
【図１３】
2015192391.tif 000015
【図１４】
2015192391.tif 000016
【図１５Ａ】
2015192391.tif 000017
【図１５Ｂ】
2015192391.tif 000018
【図１６Ａ】
2015192391.tif 000019
【図１６Ｂ】
2015192391.tif 000020
【図１６Ｃ】
2015192391.tif 000021
【図１６Ｄ】
2015192391.tif 000022
【図１７】
2015192391.tif 000023
【図１８】
2015192391.tif 000024
【図１９】
2015192391.tif 000025