(57)【要約】【課題】中継ルータにおけるマルチキャスト通信に関連する情報を保持する必要をなくすことを可能とするマルチキャスト通信システムを提供する。【解決手段】第１のルータＭＲ１及び第２のルータＭＲ９を順に介して送信端末Ｓ１から受信端末ＭＴ１に対してマルチキャストデータを送信するマルチキャスト通信システムに関する。第１のルータＭＲ１は、第２のルータＭＲ９から受信した送信要求パケットに応じて、マルチキャストデータに係る第１のエントリ情報が無いと判断された場合、第１のエントリ情報を生成することなく送信端末Ｓ１宛てに送信要求パケットを転送する。送信端末Ｓ１は、送信要求パケットに応じて、マルチキャストデータと第２のルータを指定する宛先情報とを関連付ける第３のエントリ情報が無いと判断された場合、第３のエントリ情報を生成して管理する。【選択図】  図１２
2005033555.tif 000002
【特許請求の範囲】
【請求項１】
第１のルータ及び第２のルータを順に介して送信端末から受信端末に対してマルチキャストデータを送信するマルチキャスト通信システムであって、
前記第２のルータは、前記受信端末からの前記マルチキャストデータの送信要求に応じて、前記マルチキャストデータと該マルチキャストデータの宛先情報とを関連付ける第２のエントリ情報を生成して管理すると共に、前記送信要求を通知する送信要求パケットを前記送信端末宛てに送信し、
前記第１のルータは、前記第２のルータから受信した前記送信要求パケットに応じて、前記マルチキャストデータに係る第１のエントリ情報の有無を判断し、該第１のエントリ情報が無いと判断された場合、該第１のエントリ情報を生成することなく前記送信端末宛てに前記送信要求パケットを転送し、
前記送信端末は、前記送信要求パケットに応じて、前記マルチキャストデータと前記第２のルータを指定する該マルチキャストデータの宛先情報とを関連付ける第３のエントリ情報の有無を判断し、該第３のエントリ情報が無いと判断された場合、該第３のエントリ情報を生成して管理することを特徴とするマルチキャスト通信システム。
【請求項２】
前記第１のルータ又は前記送信端末は、前記第１又は第３のエントリ情報が有ると判断された場合、前記マルチキャストデータを含むデータパケットを複製する複製ポイントとなるべきか否かについて判断することを特徴とする請求項１に記載のマルチキャスト通信システム。
【請求項３】
前記第１のルータ又は前記送信端末は、前記データパケットを複製する複製ポイントとなるべきでないと判断した場合、該複製ポイントとなるべきルータを探査する探査パケットを下流方向に送信することを特徴とする請求項２に記載のマルチキャスト通信システム。
【請求項４】
受信した前記探査パケットに応じて前記複製ポイントとなるべきであると判断したルータは、該ルータを前記複製ポイントとした場合の転送コストと他のルータを前記複製ポイントとした場合の転送コストとを比較し、該比較結果に基づいて、該ルータが前記複製ポイントとなるべきか否かについて決定することを特徴とする請求項３に記載のマルチキャスト通信システム。
【請求項５】
前記複製ポイントとなるべきであると決定したルータは、その旨を示す探査応答パケットを前記第１のルータ又は前記送信端末に対して送信することを特徴とする請求項３又は４に記載のマルチキャスト通信システム。
【請求項６】
前記マルチキャストデータと該マルチキャストデータの宛先情報とを関連付ける前記第１のエントリ情報を管理している前記第１のルータは、前記受信端末からの前記マルチキャストデータの送信停止要求に応じて、該第１のエントリ情報において該送信停止要求に係る前記宛先情報を削除すると共に、前記第３のエントリ情報を変更するように指示する変更要求パケットを前記送信端末に送信することを特徴とする請求項１乃至５のいずれか一項に記載のマルチキャスト通信システム。
【請求項７】
前記送信端末は、前記第３のエントリ情報を変更した場合、所定期間、変更前の該第３のエントリ情報を保持することを特徴とする請求項１乃至６のいずれか一項に記載のマルチキャスト通信システム。
【請求項８】
前記第１のルータは、前記所定期間内に、前記マルチキャストデータを含むデータパケットを重複受信した場合に、該マルチキャストデータの送信停止要求を通知する送信提供要求パケットを上流方向に送信することを特徴とする請求項７に記載のマルチキャスト通信システム。
【請求項９】
前記第２のルータは、前記マルチキャストデータを含むデータパケット共に送信された所定情報の正当性を判定し、判定結果が肯定的である場合、前記送信端末の識別情報を記憶することを特徴とする請求項７に記載のマルチキャスト通信システム。
【請求項１０】
送信端末から受信端末に対してマルチキャストデータを送信するマルチキャスト通信システムで用いられるルータであって、
前記マルチキャストデータと該マルチキャストデータの宛先情報とを関連付けるエントリ情報を管理するエントリ管理部と、
前記受信端末からの前記マルチキャストデータの送信要求を通知する送信要求パケットを下流方向から受信した場合に、前記エントリ情報の有無を判断する第１の判断部と、
前記エントリ情報が無いと判断された場合、該第１のエントリ情報を生成することなく前記送信端末宛てに前記送信要求パケットを転送するパケット転送部と、
前記エントリ情報が有ると判断された場合、前記マルチキャストデータを含むデータパケットを複製する複製ポイントとなるべきか否かについて判断する第２の判断部とを具備することを特徴とするルータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のルータを介して送信端末から複数の受信端末に対してマルチキャストデータを送信するマルチキャスト通信システム及びこれに用いて好適なルータに関する。
【０００２】
【従来の技術】
従来のＩＰマルチキャストの仕組みは、例えば、非特許文献１に記載されている。また、従来のＩＰマルチキャストで用いられるプロトコルとして、例えば、非特許文献２に記載されている「ＳＳＭ（Ｓｏｕｒｃｅ−Ｓｐｅｃｉｆｉｃ  Ｍｕｌｔｉｃａｓｔ）」や、非特許文献３に記載されている「ＰＩＭ−ＳＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ−Ｓｐａｒｓｅ  Ｍｏｄｅ）」や、非特許文献４に記載されている「ＩＧＭＰｖ３（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ３）」や、「ＭＬＤｖ２（Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ２）」が知られている。また、従来のＩＰマルチキャストで用いられるＩＰカプセル化技術が、非特許文献５及び６に記載されている。
【０００３】
【非特許文献１】
Ｔｈｏｍａｓ  Ａ．  Ｍａｕｆｅｒ著、楠本博之訳、「ＩＰマルチキャスト入門」
【０００４】
【非特許文献２】
電気情報通信学会和文論文誌Ｂ  Ｖｏｌ．Ｊ８５−Ｂ  Ｎｏ．８  ｐｐ．１２０７−１２１４
【０００５】
【非特許文献３】
ＲＦＣ２３６２、「Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ−Ｓｐａｒｓｅ  Ｍｏｄｅ（ＰＩＭ−ＳＭ）：  Ｐｒｏｔｏｃｏｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」
【０００６】
【非特許文献４】
ＲＦＣ３３７６、「Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３」
【０００７】
【非特許文献５】
ＲＦＣ１８５３、「ＩＰ  ｉｎ  ＩＰ  Ｔｕｎｎｅｌｉｎｇ」
【０００８】
【非特許文献６】
ＲＦＣ２４７３、「Ｇｅｎｅｒｉｃ  Ｐａｃｋｅｔ  Ｔｕｎｎｅｌｉｎｇ  ｉｎ  ＩＰｖ６  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」
【０００９】
【発明が解決しようとする課題】
しかしながら、従来のマルチキャスト通信システムでは、図２１に示すように、ネットワークを構成する全てのルータＭＲ１乃至ＭＲ９においてマルチキャストデータを処理しなければならないため、全てのルータＭＲ１乃至ＭＲ９がマルチキャスト対応ルータでなければ、マルチキャストデータの転送が不可能であるという問題点があった。
【００１０】
すなわち、従来のマルチキャスト通信システムは、マルチキャスト対応ルータ及び通常ルータ（マルチキャスト非対応ルータ）が混在するネットワークにおいて、マルチキャストデータの転送が不可能であるという問題点があった。
【００１１】
また、従来のマルチキャスト通信システムでは、マルチキャストデータの転送系路上のルータは、マルチキャストツリーを維持するために多くの情報を維持する必要があるため、マルチキャストツリーの増加と共に負荷が増大するという問題点があった。
【００１２】
さらに、従来のマルチキャスト通信システムでは、ＰＩＭ−ＳＭに代表されるマルチキャストプロトコルでは、受信端末から送信端末への上流（Ｕｐｓｔｒｅａｍ）方向の通信を利用してマルチキャストツリーを作成するため、上流方向及び下流方向が非対称なネットワークでは、必ずしも理想的なマルチキャストツリーを作成することができないという問題点があった。
【００１３】
そこで、本発明は、以上の点に鑑みてなされたもので、マルチキャストパケットを複製する必要があるマルチキャスト対応ルータ間でユニキャスト通信を行うことによって、中継ルータにおけるマルチキャスト通信に関連する情報を保持する必要をなくすことを可能とするマルチキャスト通信システム及びこれに用いて好適なルータを提供することを目的とする。
【００１４】
また、本発明は、送信端末から受信端末へ向かう下流方向の通信を行うことによって、上流方向及び下流方向が非対称なネットワークにおいて理想的なマルチキャストツリーを作成することを可能とするマルチキャスト通信システム及びこれに用いて好適なルータを提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明の第１の特徴は、第１のルータ及び第２のルータを順に介して送信端末から受信端末に対してマルチキャストデータを送信するマルチキャスト通信システムであって、前記第２のルータが、前記受信端末からの前記マルチキャストデータの送信要求に応じて、前記マルチキャストデータと該マルチキャストデータの宛先情報とを関連付ける第２のエントリ情報を生成して管理すると共に、前記送信要求を通知する送信要求パケットを前記送信端末宛てに送信し、前記第１のルータが、前記第２のルータから受信した前記送信要求パケットに応じて、前記マルチキャストデータに係る第１のエントリ情報の有無を判断し、該第１のエントリ情報が無いと判断された場合、該第１のエントリ情報を生成することなく前記送信端末宛てに前記送信要求パケットを転送し、前記送信端末が、前記送信要求パケットに応じて、前記マルチキャストデータと前記第２のルータを指定する該マルチキャストデータの宛先情報とを関連付ける第３のエントリ情報の有無を判断し、該第３のエントリ情報が無いと判断された場合、該第３のエントリ情報を生成して管理することを要旨とする。
【００１６】
かかる発明によれば、データパケットを複製する複製ポイントにならない第１のルータにおいて、第１のエントリ情報を管理する必要がないので、ネットワークの負荷を軽減することができる。
【００１７】
また、本発明の第１の特徴において、前記第１のルータ又は前記送信端末は、前記第１又は第３のエントリ情報が有ると判断された場合、前記マルチキャストデータを含むデータパケットを複製する複製ポイントとなるべきか否かについて判断することが好ましい。
【００１８】
また、本発明の第１の特徴において、前記第１のルータ又は前記送信端末は、前記データパケットを複製する複製ポイントとなるべきでないと判断した場合、該複製ポイントとなるべきルータを探査する探査パケットを下流方向に送信することが好ましい。
【００１９】
また、本発明の第１の特徴において、受信した前記探査パケットに応じて前記複製ポイントとなるべきであると判断したルータは、該ルータを前記複製ポイントとした場合の転送コストと他のルータを前記複製ポイントとした場合の転送コストとを比較し、該比較結果に基づいて、該ルータが前記複製ポイントとなるべきか否かについて決定することが好ましい。
【００２０】
また、本発明の第１の特徴において、前記複製ポイントとなるべきであると決定したルータが、その旨を示す探査応答パケットを前記第１のルータ又は前記送信端末に対して送信することが好ましい。
【００２１】
かかる発明によれば、送信端末から受信端末へ向かう下流方向に探査パケットを送信することによって最適な複製ポイントを探査するため、上流方向及び下流方向が非対称なネットワークにおいて理想的なマルチキャストツリーを作成することが可能となる。
【００２２】
また、本発明の第１の特徴において、前記マルチキャストデータと該マルチキャストデータの宛先情報とを関連付ける前記第１のエントリ情報を管理している前記第１のルータは、前記受信端末からの前記マルチキャストデータの送信停止要求に応じて、該第１のエントリ情報において該送信停止要求に係る前記宛先情報を削除すると共に、前記第３のエントリ情報を変更するように指示する変更要求パケットを前記送信端末に送信することが好ましい。
【００２３】
また、本発明の第１の特徴において、前記送信端末は、前記第３のエントリ情報を変更した場合、所定期間、変更前の該第３のエントリ情報を保持することことが好ましい。
【００２４】
かかる発明によれば、エントリ情報を変更してマルチキャストツリーを変更する際に、一定の猶予期間（所定期間）を設けることによって、パケットロスを低減することができる。
【００２５】
また、本発明の第１の特徴において、前記第１のルータは、前記所定期間内に、前記マルチキャストデータを含むデータパケットを重複受信した場合に、該マルチキャストデータの送信停止要求を通知する送信提供要求パケットを上流方向に送信することが好ましい。
【００２６】
かかる発明によれば、第２のルータが、明示的に送信停止要求パケットを送信することによって、データパケットの重複受信を停止することができ、マルチキャストツリーをスムーズに変更することができる。
【００２７】
また、本発明の第１の特徴において、前記第２のルータは、前記マルチキャストデータを含むデータパケット共に送信された所定情報の正当性を判定し、判定結果が肯定的である場合、前記送信端末の識別情報を記憶することが好ましい。
【００２８】
本発明の第２の特徴は、送信端末から受信端末に対してマルチキャストデータを送信するマルチキャスト通信システムで用いられるルータであって、前記マルチキャストデータと該マルチキャストデータの宛先情報とを関連付けるエントリ情報を管理するエントリ管理部と、前記受信端末からの前記マルチキャストデータの送信要求を通知する送信要求パケットを下流方向から受信した場合に、前記エントリ情報の有無を判断する第１の判断部と、前記エントリ情報が無いと判断された場合、該第１のエントリ情報を生成することなく前記送信端末宛てに前記送信要求パケットを転送するパケット転送部と、前記エントリ情報が有ると判断された場合、前記マルチキャストデータを含むデータパケットを複製する複製ポイントとなるべきか否かについて判断する第２の判断部とを具備することを要旨とする。
【００２９】
【発明の実施の形態】
（本発明の第１の実施形態に係るマルチキャスト通信システムの構成）
図１は、本発明の第１の実施形態におけるマルチキャスト通信システムの概略構成を示す図である。本実施形態に係るマルチキャスト通信システムは、マルチキャストパケットを複製する必要があるマルチキャスト対応ルータ間（例えば、ＭＲ１とＭＲ５との間や、ＭＲ１とＭＲ９との間）で、ユニキャスト通信を行うように構成されている。
【００３０】
図２は、本発明の第１の実施形態におけるマルチキャスト通信システムの全体構成を示す図である。本実施形態に係るマルチキャスト通信システムは、図２に示すように、送信端末Ｓ１と、マルチキャスト対応ルータＭＲ１乃至ＭＲ１３とが、階層的に接続されたマルチキャストツリーによって構成されている。本実施形態に係るマルチキャスト通信システムにおける木構造の最上流には、送信端末Ｓ１が配置されており、最下流には、マルチキャスト対応ルータＭＲ８乃至ＭＲ１３が配置されている。また、受信端末ＭＴ１は、マルチキャスト対応ルータＭＲ９の無線インタフェースｉ０との間で無線接続されている。
【００３１】
図３に示すように、マルチキャスト対応ルータＭＲは、パケット受信部１１と、エントリ管理部１２と、マルチキャストコントロールパケット処理部１３と、マルチキャストコントロールパケット生成部１４と、パケット複製部１５と、パケット転送部１６とを具備している。
【００３２】
パケット受信部１１は、他のルータからパケット（マルチキャストデータパケットやマルチキャストコントロールパケット）を受信するものである。パケット受信部１１は、後述の図５に示すように、受信したパケット内に設定されている特別なオプション（例えば、ルータ警告オプション（ＲＦＣ２１１３やＲＦＣ２７１１参照））の有無やパケットの種別や宛先アドレス等に基づいて、当該パケットを、マルチキャストコントロールパケット処理部１３、パケット複製部１５若しくはパケット転送部１６のいずれかに転送するように構成されている。
【００３３】
また、パケット受信部１１は、受信端末ＭＴからの参加要求（Ｍｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔ）や離脱要求（脱退要求）を受信した場合、それらをマルチキャストコントロールパケット処理部１３に転送する。
【００３４】
ここで、マルチキャストコントロールパケットには、「Ｊｏｉｎパケット」や「Ｌｅａｖｅパケット」や「ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット」や「ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケット」や「ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＮａｃｋパケット」や「ＰａｔｈＲｅｄｉｒｅｃｔパケット」が含まれる。
【００３５】
「Ｊｏｉｎパケット」は、マルチキャスト対応ルータＭＲが、受信端末ＭＴからのマルチキャストデータの送信要求（マルチキャストツリーへの参加要求）に応じて生成して上流方向の送信端末宛てに送信するパケットである。
【００３６】
「Ｌｅａｖｅパケット」は、マルチキャスト対応ルータＭＲが、マルチキャストツリーからの明示的な脱退（離脱）を行うために、上流方向のマルチキャスト対応ルータＭＲや送信端末Ｓ１に対して送信するパケットである。
【００３７】
「ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット」は、マルチキャストデータパケットを複製する複製ポイントとなるべきルータ、すなわち、マルチキャスト通信の分岐点を探査するために、送信端末Ｓ１から受信端末ＭＴへ向かう下流方向に送信される探査パケットである。
【００３８】
「ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケット」は、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットに応じて、複製ポイントになるべきであると判断したルータが、その旨を通知するために送信する探査応答パケットである。
【００３９】
「ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＮａｃｋパケット」は、マルチキャスト対応ルータＭＲや受信端末ＭＴが、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットに応じて、複製ポイントになるべきルータ、すなわち、マルチキャスト通信の分岐点を見つけることができなかったことを示すためのパケットである。
【００４０】
「ＰａｔｈＲｅｄｉｒｅｃｔパケット」は、マルチキャスト対応ルータＭＲが、受信したＬｅａｖｅパケットに応じて、エントリ情報において当該Ｌｅａｖｅパケットに係る宛先アドレスを削除すると共に、送信端末Ｓ１に対してエントリ情報を変更するように指示するための変更要求パケットである。
【００４１】
エントリ管理部１２は、マルチキャストデータと、当該マルチキャストデータの宛先情報とを関連付けるエントリ情報（第１又は第２のエントリ情報）を管理するものである。
【００４２】
具体的には、エントリ管理部１２は、図３に示すように、「キー情報」と「上流ルータに関する情報」と「マルチキャストの宛先に関する情報」とを関連付けるエントリ情報を管理している。
【００４３】
「キー情報」は、当該エントリ情報を識別するための情報であり、「送信端末アドレス（図３の例では、Ｓ）」と「マルチキャストアドレス（図３の例では、Ｇ）」との組み合わせで構成されている。図３に示すマルチキャスト対応ルータＭＲは、「送信端末アドレスＳ」及び「マルチキャストアドレスＧ」で識別されるマルチキャストツリーに参加している。エントリ管理部１２は、マルチキャスト対応ルータＭＲが参加しているマルチキャストツリーに係るエントリ情報のみを管理するように構成されている。
【００４４】
また、「上流ルータに関する情報」には、「上流ルータアドレス（図３の例では、ＭＲ１）」と「上流クッキー値（図３の例では、ｚ）」と「Ｊｏｉｎ再送信タイマ」とが含まれている。
【００４５】
また、「マルチキャストの宛先に関する情報」には、「宛先アドレス」と「宛先クッキー値」と「有効期限タイマ」とが含まれている。なお、エントリ管理部１２は、１つのエントリ情報に対して、複数の「マルチキャストの宛先に関する情報」を記憶することができる。
【００４６】
また、エントリ管理部１２は、図３に示すように、マルチキャストの宛先ごとに「宛先クッキー値（図３の例では、ｘ及びｙ）」を記憶すると共に、上流ルータに対して「上流クッキー値（図３の例では、ｚ）」を記憶している。ここで、「上流クッキー値」は、当該マルチキャスト対応ルータＭＲの乱数生成機によって生成される情報であるが、「宛先クッキー値」は、宛先ルータから受信した情報である。
【００４７】
マルチキャストコントロールパケット処理部１３は、後述するように、マルチキャストコントロールパケットの種別に応じた所定処理を行うように構成されている。
【００４８】
マルチキャストコントロールパケット生成部１４は、マルチキャストコントロールパケット処理部１３からの指示に応じて、ＪｏｉｎパケットやＬｅａｖｅパケット等のマルチキャストコントロールパケットを生成してパケット転送部１６に送信する。
【００４９】
また、マルチキャストコントロールパケット生成部１４は、受信端末ＭＴからの参加要求や脱退要求を受信した場合、それらに係るＪｏｉｎパケットやＬｅａｖｅパケットを生成してパケット転送部１６に送信する。
【００５０】
パケット複製部１５は、受信したマルチキャストデータパケットをディカプセル化して、エントリ管理部１２を参照して、当該マルチキャストデータパケットに係るエントリ情報を探索する。
【００５１】
そして、パケット複製部１５は、当該エントリ情報において設定されている上流クッキー値と、受信したマルチキャストデータパケットに含まれているクッキー値とが一致した場合、当該マルチキャストデータパケットのディカプセル化前の送信元アドレスを、当該エントリ情報における上流ルータアドレスに設定するように構成されている。
【００５２】
また、パケット複製部１５は、当該エントリ情報において設定されている宛先アドレス及び宛先クッキー値を、カプセル化処理によって、当該マルチキャストデータパケットに設定してパケット転送部１６に送信する。
【００５３】
なお、パケット複製部１５は、当該エントリ情報において複数の宛先アドレスが設定されている場合、当該マルチキャスト対応ルータＭＲは、マルチキャストデータパケットの複製ポイントであるため、当該マルチキャストデータパケットをその分だけ複製する。
【００５４】
パケット転送部１６は、受信したマルチキャストデータパケットやマルチキャストコントロールパケットを転送する。
【００５５】
送信端末Ｓ１は、図４に示すように、エントリ管理部３１と、パケット転送部３２と、マルチキャストデータパケット送信部３３と、パケット受信部３４と、マルチキャストコントロールパケット生成部３５と、マルチキャストコントロールパケット処理部３６とを具備している。
【００５６】
エントリ管理部３１は、図４に示すように、「キー情報」と「マルチキャストの宛先に関する情報」とを関連付けるエントリ情報（第３のエントリ情報）を管理している。
【００５７】
「キー情報」は、当該エントリ情報を識別するための情報であり、「送信端末アドレス（図４の例では、Ｓ）」と「マルチキャストアドレス（図４の例では、Ｇ）」との組み合わせで構成されている。「キー情報」は、マルチキャストツリーを特定するため、当該マルチキャストツリー上で送信されるマルチキャストデータも一意に特定することができる。
【００５８】
また、「マルチキャストの宛先に関する情報」には、「宛先アドレス」と「宛先クッキー値」と「有効期限タイマ」とが含まれている。なお、エントリ管理部１２は、１つのエントリ情報に対して、複数の「マルチキャストの宛先に関する情報」を記憶することができる。
【００５９】
また、エントリ管理部３１は、図４に示すように、マルチキャストの宛先ごとに「宛先クッキー値（図４の例では、ｘ及びｙ）」を記憶している。ここで、「宛先クッキー値」は、宛先ルータから受信した情報である。
【００６０】
パケット転送部３２は、受信したマルチキャストデータパケットやマルチキャストコントロールパケットを転送する。
【００６１】
マルチキャストデータパケット送信部３３は、アプリケーションから渡されたマルチキャストデータパケットを、エントリ情報の宛先アドレスに基づいてカプセル化して送信するものである。なお、マルチキャストデータ送信部３３は、当該宛先アドレスが複数存在する場合、その数だけマルチキャストデータパケットを生成して送信する。
【００６２】
パケット受信部３４は、ネットワーク上のルータからのマルチキャストコントロールパケットを受信して、その旨をマルチキャストコントロールパケット処理部３６に通知するものである。
【００６３】
マルチキャストコントロールパケット生成部３５は、マルチキャストコントロールパケット処理部３６からの指示に応じて、ＪｏｉｎパケットやＬｅａｖｅパケット等のマルチキャストコントロールパケットを生成してパケット転送部３２に送信する。
【００６４】
マルチキャストコントロールパケット処理部３６は、受信したＪｏｉｎパケットに応じて、マルチキャストデータと、当該マルチキャストデータの宛先情報とを関連付ける第３のエントリ情報を生成して、エントリ管理部１２に追加する。
【００６５】
また、マルチキャストコントロールパケット処理部３６は、受信したＪｏｉｎパケットに応じて、エントリ情報に新たに追加した宛先アドレス宛てにマルチキャストデータパケットを送信するインタフェースと、既に当該エントリ情報に存在する宛先アドレス宛てにマルチキャストデータパケットを送信するインタフェースとが一致した場合、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットを生成してマルチキャストコントロールパケット送信部３５に送信する。
【００６６】
また、マルチキャストコントロールパケット処理部３６は、受信したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットに応じて、該当するエントリ情報における宛先アドレスを変更する。なお、マルチキャストコントロールパケット処理部３６は、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＮａｃｋパケットを受信した場合、エントリ情報を変更しない。
【００６７】
また、マルチキャストコントロールパケット処理部３６は、受信したＰａｔｈＲｅｄｉｒｅｃｔパケットに応じて、該当するエントリ情報における宛先アドレスを変更する。なお、マルチキャストコントロールパケット処理部３６は、受信したＰａｔｈＲｅｄｉｒｅｃｔパケットに係るエントリ情報が存在しない場合、当該ＰａｔｈＲｅｄｉｒｅｃｔパケットを廃棄する。
【００６８】
（本発明の第１の実施形態に係るマルチキャスト通信システムの動作）
図５乃至図１８を参照して、本発明の第１の実施形態に係るマルチキャスト通信システムの動作について説明する。
【００６９】
第１に、図５乃至図１０を参照して、本実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータＭＲの動作について説明する。
【００７０】
図５に示すように、ステップ５０１において、マルチキャスト対応ルータＭＲのパケット受信部１１は、隣接するルータからパケットを受信する。
【００７１】
ステップ５０２において、パケット受信部１１は、受信したパケットが特別なパケットか、すなわち、受信したパケット内にルータ警告オプションが設定されているか否かについて判定する。
【００７２】
パケット受信部１１は、受信したパケットを特別なパケットでないと判定した場合、ステップ５０３において、当該パケットの宛先が自分自身か否かについて判定する。一方、パケット受信部１１は、受信したパケットを特別なパケットであると判定した場合、ステップ５０８において、当該パケットをマルチキャストコントロールパケット処理部１３に転送する。
【００７３】
パケット受信部１１は、当該パケットの宛先が自分自身でないと判定した場合、ステップ５０４において、当該パケットをパケット転送部１６に転送する。
【００７４】
一方、パケット受信部１１は、当該パケットの宛先が自分自身であると判定した場合、ステップ５０５において、当該パケットがカプセル化されたパケットであるか否かについて判定する。
【００７５】
パケット受信部１１は、当該パケットがカプセル化されたパケットであると判定した場合、ステップ５０６において、当該パケットがマルチキャストデータパケットであるか否かについて判定する。一方、パケット受信部１１は、当該パケットがカプセル化されたパケットでないと判定した場合、ステップ５０８において、当該パケットをマルチキャストコントロールパケット処理部１３に転送する。
【００７６】
パケット受信部１１は、当該パケットがマルチキャストデータパケットであると判定した場合、ステップ５０７において、当該パケットをパケット複製部１５に転送する。一方、パケット受信部１１は、当該パケットがマルチキャストデータパケットでないと判定した場合、ステップ５０８において、当該パケットをマルチキャストコントロールパケット処理部１３に転送する。
【００７７】
図６に示すように、ステップ５５１において、マルチキャスト対応ルータＭＲのパケット複製部１５は、パケット受信部１１から転送されたマルチキャストデータパケットを受信する。
【００７８】
ステップ５５２において、パケット複製部１５は、受信したマルチキャストデータパケットのディカプセル化前の送信元アドレスＵを取り出す。
【００７９】
ステップ５５３において、パケット複製部１５は、受信したマルチキャストデータパケットをディカプセル化して、送信端末アドレスＳとマルチキャストアドレスＧとクッキー値Ｚとを取り出す。
【００８０】
ステップ５５４において、パケット複製部１５は、エントリ管理部１２を参照して、当該マルチキャストデータパケットに係るエントリ情報を探索する。
【００８１】
当該エントリ情報が存在する場合、ステップ５５５において、パケット複製部１５は、探索されたエントリ情報において設定されている上流クッキー値と、受信したマルチキャストデータパケットに含まれているクッキー値Ｚとが一致するか否かを判定する、すなわち、当該マルチキャストデータパケット共に送信されたクッキー値（所定情報）の正当性を判定する。一方、当該エントリ情報が存在しない場合、本動作は終了する。
【００８２】
両者が一致しないと判定された場合、すなわち、当該マルチキャストデータパケット共に送信されたクッキー値の正当性が否定された場合、本動作は終了する。
【００８３】
一方、両者が一致すると判定された場合、すなわち、当該マルチキャストデータパケット共に送信されたクッキー値の正当性が肯定された場合、パケット複製部１５は、ステップ５５６において、当該マルチキャストデータパケットのディカプセル化前の送信元アドレスＵを、当該エントリ情報における上流ルータアドレスに設定すると共に、ステップ５５７において、当該エントリ情報において設定されている宛先アドレスで当該マルチキャストデータパケットをカプセル化してパケット転送部１６に送信する。
【００８４】
なお、受信したマルチキャストデータパケットに含まれるクッキー値が、数個前に生成されたクッキー値であっても、当該クッキー値の正当性を肯定してもよい。但し、受信したマルチキャストデータパケットに含まれるクッキー値が、最新のクッキー値でない場合は、送信元アドレスＵを、当該エントリ情報における上流ルータアドレスに設定しない。
【００８５】
マルチキャストコントロールパケット処理部１３は、パケット受信部１１から受け取ったマルチキャストコントロールパケットが、Ｊｏｉｎパケットである場合、図７に示す処理を行う。
【００８６】
ステップ６０２において、マルチキャストコントロールパケット処理部１３は、エントリ管理部１２を参照して、当該Ｊｏｉｎパケットに含まれる「送信端末アドレス」及び「マルチキャストアドレス」に対応するエントリ情報の有無を確認する。
【００８７】
当該エントリ情報が存在しない場合、ステップ６０３において、マルチキャストコントロールパケット処理部１３は、当該Ｊｏｉｎパケットに含まれる送信端末アドレスが自ルータＭＲのアドレスであるか否かについて判断する。
【００８８】
当該Ｊｏｉｎパケットに含まれる送信端末アドレスが自ルータＭＲのアドレスであると判断された場合、ステップ６０４において、マルチキャストコントロールパケット処理部１３は、当該「送信端末アドレス」及び「マルチキャストアドレス」を含むエントリ情報を生成してエントリ管理部１２に追加する。
【００８９】
そして、マルチキャストコントロールパケット処理部１３は、「宛先アドレス」に、当該Ｊｏｉｎパケットの送信元アドレスを設定し、「宛先クッキー値」に、当該Ｊｏｉｎパケットに設定されたクッキー値を設定し、当該エントリ情報の有効期間を測定するための有効期限タイマを起動して、当該Ｊｏｉｎパケットを廃棄する。
【００９０】
一方、当該Ｊｏｉｎパケットに含まれる送信端末アドレスが自ルータＭＲのアドレスでないと判断された場合、マルチキャストコントロールパケット処理部１３は、当該Ｊｏｉｎパケットをパケット転送部１６に転送する。
【００９１】
一方、当該エントリ情報が存在する場合、ステップ６０６において、マルチキャストコントロールパケット処理部１３は、当該Ｊｏｉｎパケットの送信元アドレスが、当該エントリ情報における宛先アドレスに含まれているか否かを判定する。
【００９２】
当該Ｊｏｉｎパケットの送信元アドレスが、当該エントリ情報における宛先アドレスに含まれている場合、マルチキャストコントロールパケット処理部１３は、ステップ６０７において、当該エントリ情報用の有効期限タイマを再設定して、ステップ６１２において、当該Ｊｏｉｎパケットを廃棄する。
【００９３】
当該Ｊｏｉｎパケットの送信元アドレスが、当該エントリ情報における宛先アドレスに含まれていない場合、マルチキャストコントロールパケット処理部１３は、ステップ６０８において、当該エントリ情報において、当該Ｊｏｉｎパケットの送信元アドレスを「宛先アドレス」に、当該Ｊｏｉｎパケットに設定されたクッキー値を「宛先クッキー値」に追加して、ステップ６０９において、当該エントリ情報用の有効期限タイマを起動する。
【００９４】
ステップ６１０において、マルチキャストコントロールパケット処理部１３は、エントリ情報に新たに追加した宛先アドレス宛てにマルチキャストデータパケットを送信するインタフェースと、既に当該エントリ情報に存在するいずれかの宛先アドレス宛てにマルチキャストデータパケットを送信するインタフェースとが一致するか否かについて判断する。
【００９５】
一致すると判断された宛先アドレスがある場合、マルチキャストコントロールパケット処理部１３は、ステップ６１１において、マルチキャストコントロールパケット生成部１４にＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットの生成の要求を通知する。マルチキャストコントロールパケット生成部１４は、特別なオプションを設定したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットを生成してマルチキャストコントロールパケット送信部３５を介して送信する。ステップ６１２において、マルチキャストコントロールパケット処理部１３は、当該Ｊｏｉｎパケットを廃棄する。
【００９６】
一方、一致すると判断された宛先アドレスがない場合、ステップ６１２において、マルチキャストコントロールパケット処理部１３は、当該Ｊｏｉｎパケットを廃棄する。
【００９７】
マルチキャストコントロールパケット処理部１３は、パケット受信部１１から受け取ったマルチキャストコントロールパケットが、Ｌｅａｖｅパケットである場合、図８に示す処理を行う。
【００９８】
ステップ７０２において、マルチキャストコントロールパケット処理部１３は、受信したＬｅａｖｅパケットが、自ルータＭＲ宛てのパケットであるか否かを判断する。
【００９９】
自ルータＭＲ宛てのパケットでないと判断された場合、マルチキャストコントロールパケット処理部１３は、当該Ｌｅａｖｅパケットをパケット転送部１６に転送し、ステップ７０３において、パケット転送部１６が、当該Ｌｅａｖｅパケットの宛先アドレスに基づいて、当該Ｌｅａｖｅパケットを転送する。
【０１００】
一方、自ルータＭＲ宛てのパケットであると判断された場合、ステップ７０４において、マルチキャストコントロールパケット処理部１３は、エントリ管理部１２を参照して、当該Ｌｅａｖｅパケットに含まれる「送信端末アドレス」と「マルチキャストアドレス」と「宛先アドレス」とに対応するエントリ情報の有無を確認する。
【０１０１】
当該エントリ情報が存在しない場合、ステップ７０８において、マルチキャストコントロールパケット処理部１３は、当該Ｌｅａｖｅパケットを廃棄する。
【０１０２】
一方、当該エントリ情報が存在する場合、ステップ７０５において、マルチキャストコントロールパケット処理部１３は、当該エントリ情報において、当該宛先アドレスを削除し、その結果、当該エントリ情報における残りの宛先アドレスが単数になるか否かを判定する、すなわち、自ルータＭＲがマルチキャストデータパケットを複製する複製ポイントでなくなるか否かを判定する。
【０１０３】
マルチキャストコントロールパケット処理部１３は、残りの宛先アドレス（ＭＲ９）が単数になると判定した場合、自ルータＭＲが、受信したマルチキャストデータパケットを複製する複製ポイントでなくなると認識して、ステップ７０６において、マルチキャストコントロールパケット生成部１４にＰａｔｈＲｅｄｉｒｅｃｔパケットの生成の要求を通知する。マルチキャストコントロールパケット生成部１４は、ＰａｔｈＲｅｄｉｒｅｃｔパケットを生成して上流方向に送信する。
【０１０４】
マルチキャストコントロールパケット処理部１３は、ステップ７０７において、所定期間経過後、当該エントリ情報において、当該Ｌｅａｖｅパケットに含まれる宛先アドレスを削除すると共に、ステップ７０８において、当該Ｌｅａｖｅパケットを廃棄する。
【０１０５】
一方、マルチキャストコントロールパケット処理部１３は、残りの宛先アドレスが単数にならないと判定した場合、ステップ７０８において、当該Ｌｅａｖｅパケットを廃棄する。
【０１０６】
マルチキャストコントロールパケット処理部１３は、パケット受信部１１から受け取ったマルチキャストコントロールパケットが、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットである場合、図９に示す処理を行う。
【０１０７】
ステップ８０２において、マルチキャストコントロールパケット処理部１３は、受信したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットに応じて、自ルータＭＲが、マルチキャストデータパケットの複製ポイントであるか否かについて判断する。すなわち、マルチキャストコントロールパケット処理部１３は、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットに含まれる複数の宛先アドレス宛てにパケットを転送するインタフェースが異なるか否かについて判断する。
【０１０８】
自ルータＭＲが、マルチキャストデータパケットの複製ポイントであると判断された場合、マルチキャストコントロールパケット処理部１３は、ステップ８０３において、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットに係るエントリ情報を生成して、ステップ８０４において、マルチキャストコントロールパケット生成部１４にＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットの生成の要求を通知する。マルチキャストコントロールパケット生成部１４は、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットの送信元アドレスに対して、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットを生成して送信する。
【０１０９】
一方、自ルータＭＲが、マルチキャストデータパケットの複製ポイントでないと判断された場合、ステップ８０５において、マルチキャストコントロールパケット処理部１３は、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットが自ルータ宛てのパケットであるか否かについて判断する。
【０１１０】
当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットが自ルータ宛てのパケットであると判断された場合、ステップ８０６において、マルチキャストコントロールパケット処理部１３は、マルチキャストコントロールパケット生成部１４にＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＮａｃｋパケットの生成の要求を通知する。マルチキャストコントロールパケット生成部１４は、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットの送信元アドレスに対して、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＮａｃｋパケットを生成して送信する。
【０１１１】
一方、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットが自ルータ宛てのパケットでないと判断された場合、ステップ８０７において、マルチキャストコントロールパケット処理部１３は、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットを、そのまま転送する。
【０１１２】
マルチキャストコントロールパケット処理部１３は、パケット受信部１１から受け取ったマルチキャストコントロールパケットが、ＰａｔｈＲｅｄｉｒｅｃｔパケットである場合、図１０に示す処理を行う。
【０１１３】
ステップ９０２において、マルチキャストコントロールパケット処理部１３は、エントリ管理部１２を参照して、当該ＰａｔｈＲｅｄｉｒｅｃｔパケットに含まれる「送信端末アドレス」と「マルチキャストアドレス」とに対応するエントリ情報の有無を確認する。
【０１１４】
当該エントリが存在する場合、ステップ９０３において、マルチキャストコントロールパケット処理部１３は、当該ＰａｔｈＲｅｄｉｒｅｃｔパケットの指示に応じて、当該エントリ情報の宛先アドレスを変更する。
【０１１５】
一方、当該エントリ情報が存在しない場合、マルチキャストコントロールパケット処理部１３は、当該ＰａｔｈＲｅｄｉｒｅｃｔパケットを廃棄する。
【０１１６】
第２に、図１１及び図１２参照して、本実施形態に係るマルチキャスト通信システムにおいて、受信端末１が、図１２に示すマルチキャストツリーに参加する動作、すなわち、受信端末１が、送信端末Ｓ１に対してマルチキャストデータを送信するように要求する動作について説明する。
【０１１７】
ステップ１００１において、受信端末ＭＴ１が、ＩＧＭＰｖ２やＭＬＤｖ２のＭｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔを用いて、当該マルチキャストツリーへの参加要求（当該マルチキャストデータの送信要求）をマルチキャスト対応ルータ（第２のルータ）ＭＲ９に送信する。
【０１１８】
ステップ１００２において、マルチキャスト対応ルータＭＲ９は、受信した参加要求に含まれる「送信端末アドレスＳ」と「マルチキャストアドレスＧ」とを関連付けるエントリ情報（第２のエントリ情報）を作成する。
【０１１９】
ステップ１００３において、マルチキャスト対応ルータＭＲ９は、当該参加要求を通知するために、宛先アドレスとしての「送信端末アドレスＳ」及び送信元アドレスとしての「マルチキャスト対応ルータＭＲ９のアドレス」が設定されており、乱数生成機を用いてランダムに生成されたクッキー値を含む「Ｊｏｉｎパケット（Ｓ，Ｇ）：［ＭＲ９］」を生成して送信する。この際、マルチキャスト対応ルータＭＲ９は、当該クッキー値を「上流クッキー値」に設定すると共に、当該エントリ情報用の「Ｊｏｉｎ再送信タイマ」を起動する。
【０１２０】
ここで、（Ｓ，Ｇ）は、（送信端末アドレス，マルチキャストアドレス）、すなわち、マルチキャストデータの識別情報（マルチキャストツリーの識別情報）を示し、［ＭＲ９］は、Ｊｏｉｎパケットの［送信元情報］を示す。
【０１２１】
なお、かかるＪｏｉｎパケット（Ｓ，Ｇ）：［ＭＲ９］には、特別なオプション（例えば、ルータ警告オプション）が設定されているため、後述のマルチキャスト対応ルータＭＲが、受信したパケットがＪｏｉｎパケットであることを検知することができる。
【０１２２】
ここで、マルチキャスト対応ルータＭＲ９と送信端末Ｓ１との間に存在する中継ルータ（第１のルータ）ＭＲ４、ＭＲ２、ＭＲ１、ＭＲ０は、マルチキャスト対応ルータＭＲ９から受信したＪｏｉｎパケットに応じて、当該マルチキャストデータに係るエントリ情報（第１のエントリ情報）の有無を判断し、当該エントリ情報が無いと判断するため、当該エントリ情報を生成することなく送信端末Ｓ１宛てに当該Ｊｏｉｎパケットを転送する。
【０１２３】
ステップ１００３において、送信端末Ｓ１は、受信したＪｏｉｎパケット（Ｓ，Ｇ）：［ＭＲ９］に応じて、「送信端末アドレスＳ」と「マルチキャストアドレスＧ」と「宛先アドレスＭＲ５」とを関連付ける「エントリ情報（第３のエントリ情報）（Ｓ，Ｇ）：［ＭＲ９］」を作成する。また、送信端末Ｓ１は、当該エントリ情報の「宛先クッキー値」に、Ｊｏｉｎパケットに設定されていたクッキー値を追加すると共に、当該エントリ情報用の有効期限タイマを起動する。
【０１２４】
第３に、図１１及び図１３を参照して、本実施形態に係るマルチキャスト通信システムにおいて、送信端末Ｓ１が、マルチキャストデータを、複数のルータによって構成されているマルチキャストツリーを介して受信端末ＭＴ１に送信する動作について説明する。
【０１２５】
ステップ１０１１において、送信端末Ｓ１のマルチキャストコントロール処理部３６は、アプリケーションからマルチキャストデータと、送信端末アドレスＳと、マルチキャストアドレスＧとを含むマルチキャストデータパケットを受け取る。
【０１２６】
マルチキャストコントロール処理部３６は、エントリ管理部３２において、当該送信端末アドレスＳと当該マルチキャストアドレスＧとに対応するエントリ情報を検索し、当該エントリ情報に関連付けられている宛先アドレスＭＲ９及び宛先クッキー値を得る。
【０１２７】
マルチキャストコントロール処理部３６は、マルチキャストデータパケット送信部３３に、マルチキャストデータパケットの送信を要求する。マルチキャストコントロール処理部３６は、マルチキャストデータパケット及び宛先クッキー値をカプセル化して宛先アドレスＭＲ９に送信する。
【０１２８】
ステップ１０１３において、マルチキャスト対応ルータＭＲ９は、受信した当該マルチキャストデータパケットが自ルータＭＲ９宛てであると判断して、当該マルチキャストデータパケットをディカプセル化する。
【０１２９】
そして、マルチキャスト対応ルータＭＲ９は、ディカプセル化されたマルチキャストデータパケットに含まれる「送信端末アドレスＳ」及び「マルチキャストアドレスＧ」に対応するエントリ情報をエントリ管理部１２において探索する。
【０１３０】
次に、マルチキャスト対応ルータＭＲ９は、探索されたエントリ情報において設定されている上流クッキー値と、受信したマルチキャストデータパケットに含まれているクッキー値とが一致するか否かを判定する。
【０１３１】
両者が一致すると判定された場合、すなわち、当該マルチキャストデータパケット共に送信されたクッキー値の正当性が肯定された場合、マルチキャスト対応ルータＭＲ９は、当該マルチキャストデータパケットの送信元アドレスを、当該エントリ情報における上流ルータアドレスに追加する。
【０１３２】
そして、マルチキャスト対応ルータＭＲ９は、ステップ１０１４において、当該「マルチキャストアドレスＧ」に基づくマルチキャストによって、当該マルチキャストデータを受信端末ＭＴ１に対して送信する。
【０１３３】
なお、マルチキャスト対応ルータＭＲ９は、Ｊｏｉｎ再送信タイマが切れた場合に、上流方向に存在するルータのタイマを更新するために、当該エントリ情報における送信元アドレスを用いて特別なオプションを付けたＪｏｉｎパケットを再送信するように構成されていてもよい。
【０１３４】
また、マルチキャスト対応ルータＭＲ９は、ネットワーク上のルーティング情報の変換を検出した場合、例えば、ＯＳＰＦ等のルーティングプロトコルによってトポロジの変化を検出した場合やＪｏｉｎ再送信タイマが切れた場合に、送信端末アドレスＳ宛てに宛てに、特別なオプションを設定したＪｏｉｎパケットを送信するように構成されていてもよい。Ｊｏｉｎ再送信タイマが切れた場合の動作は、何回かに一度は送信端末アドレスＳ宛てに特別なオプションを設定したＪｏｉｎパケットを送信し、その他の場合は、カプセル化されて送られて来るデータパケットの送信元へＪｏｉｎパケットを送信してもよい。
【０１３５】
上述のように、マルチキャストデータパケットは、ユニキャストアドレス（ＭＲ９）によってカプセル化されているため、送信端末Ｓ１とマルチキャスト対応ルータＭＲ９との間に存在する中継ルータＭＲ０、ＭＲ１、ＭＲ２、ＭＲ４では、かかるマルチキャストデータパケットがマルチキャストパケットであることを意識することなく、通常のユニキャストパケット処理によってマルチキャスト対応ルータＭＲ９まで転送され得る。
【０１３６】
第４に、図１４及び図１５を参照して、本実施形態に係るマルチキャスト通信システムにおいて、既に受信端末ＭＴ１がマルチキャストツリーに参加している状態で、新たな受信端末ＭＴ２が当該マルチキャストツリーに参加する動作について説明する。
【０１３７】
ステップ１３０１において、受信端末ＭＴ２が、ＩＧＭＰｖ２やＭＬＤｖ２のＭｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔを用いて、当該マルチキャストツリーへの参加要求（当該マルチキャストデータの送信要求）をマルチキャスト対応ルータ（第３のルータ）ＭＲ１２に送信する。
【０１３８】
ステップ１３０２において、マルチキャスト対応ルータＭＲ１２は、受信した参加要求に含まれる「送信端末アドレスＳ」と「マルチキャストアドレスＧ」とを関連付けるエントリ情報を作成する。
【０１３９】
ステップ１３０３において、マルチキャスト対応ルータＭＲ１２は、当該参加要求を通知するために、宛先アドレスとしての「送信端末アドレスＳ」及び送信元アドレスとしての「マルチキャスト対応ルータＭＲ１２のアドレス」が設定されており、乱数生成機を用いてランダムに生成されたクッキー値を含む「Ｊｏｉｎパケット（Ｓ，Ｇ）：［ＭＲ１２］」を生成して、特別なオプションを設定し、送信する。この際、マルチキャスト対応ルータＭＲ１２は、クッキー値を上流クッキー値に設定すると共に、Ｊｏｉｎ再送信タイマを起動する。
【０１４０】
ここで、マルチキャスト対応ルータＭＲ１２と送信端末Ｓ１との間に存在する中継ルータ（第１のルータ）ＭＲ６、ＭＲ３、ＭＲ１、ＭＲ０は、マルチキャスト対応ルータＭＲ１２から受信したＪｏｉｎパケットに応じて、当該マルチキャストデータに係るエントリ情報（第１のエントリ情報）の有無を判断し、当該エントリ情報が無いと判断するため、当該エントリ情報を生成することなく送信端末Ｓ１宛てに当該Ｊｏｉｎパケットを転送する。
【０１４１】
ステップ１３０４において、送信端末Ｓ１は、当該Ｊｏｉｎパケットの送信元アドレスＭＲ１２が、当該エントリ情報における宛先アドレスに含まれていないため、当該エントリ情報において、当該Ｊｏｉｎパケットの送信元アドレスＭＲ１２を宛先アドレスに追加すると共に、Ｊｏｉｎパケットから取り出したクッキー値を上流クッキー値に追加して、当該エントリ情報用の有効期限タイマを起動する。
【０１４２】
ステップ１３０５において、送信端末Ｓ１は、エントリ情報に新たに追加した宛先アドレスＭＲ１２宛てにマルチキャストデータパケットを送信するインタフェースｉ０と、既に当該エントリ情報に存在する宛先アドレスＭＲ９宛てにマルチキャストデータパケットを送信するインタフェースｉ０とが一致するため、複製ポイントになるべきではないと判断し、特別なオプションを設定したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］を生成して下流方向に送信する。
【０１４３】
マルチキャスト対応ルータＭＲ０は、ステップ１３０６において、受信したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］に応じて、宛先アドレスＭＲ１２宛てにマルチキャストデータパケットを送信するインタフェースｉ１と、宛先アドレスＭＲ９宛てにマルチキャストデータパケットを送信するインタフェースｉ１とが一致することを認識し、複製ポイントになるべきではないと判断し、ステップ１３０７において、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］を下流方向に送信する。
【０１４４】
マルチキャスト対応ルータＭＲ１は、ステップ１３０８において、受信したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］に応じて、宛先アドレスＭＲ１２宛てにマルチキャストデータパケットを送信するインタフェースｉ１と、宛先アドレスＭＲ９宛てにマルチキャストデータパケットを送信するインタフェースｉ２とが一致しないことを認識し、複製ポイントになるべきであると判断し、ステップ１３０９において、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットを送信端末Ｓ１に対して送信する。
【０１４５】
ここで、マルチキャスト対応ルータＭＲ１は、エントリ情報（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］を生成する。また、マルチキャスト対応ルータＭＲ１は、当該エントリ情報において、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットで示されたクッキー値を上流クッキー値に追加すると共に、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットで示されたタイマ値で、当該エントリ情報用の有効期限タイマを起動する。
【０１４６】
ステップ１３１０において、送信端末Ｓ１は、受信したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットに応じて、当該エントリ情報（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］を、エントリ情報（Ｓ，Ｇ）：［ＭＲ１］に変更する。また、送信端末Ｓ１は、当該エントリ情報において、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットで示されたクッキー値を上流クッキー値に追加すると共に、当該エントリ情報用の有効期限タイマを起動する。
【０１４７】
ここで、図１６を参照して、受信端末ＭＴ１及びＭＴ２が、上述のマルチキャストツリーに参加している状態で、送信端末Ｓ１が、当該マルチキャストツリーを介して受信端末ＭＴ１及びＭＴ２に対してマルチキャストデータを送信する動作について説明する。
【０１４８】
ステップ１５０１において、送信端末Ｓ１のマルチキャストコントロール処理部３６は、アプリケーションからマルチキャストデータと、送信端末アドレスＳと、マルチキャストアドレスＧとを含むマルチキャストデータパケットを受け取る。
【０１４９】
マルチキャストコントロール処理部３６は、エントリ管理部３２において、当該送信端末アドレスＳと当該マルチキャストアドレスＧとに対応するエントリ情報を検索し、当該エントリ情報に関連付けられている宛先アドレスＭＲ１及び宛先クッキー値を得る。
【０１５０】
マルチキャストコントロール処理部３６は、マルチキャストデータパケット送信部３３に、マルチキャストデータパケットの送信を要求する。マルチキャストコントロール処理部３６は、マルチキャストデータパケット及び宛先クッキー値をカプセル化して宛先アドレスＭＲ１に送信する。
【０１５１】
次に、マルチキャスト対応ルータＭＲ１は、受信した当該マルチキャストデータパケットが自ルータＭＲ１宛てであると判断して、当該マルチキャストデータパケットをディカプセル化する。
【０１５２】
そして、マルチキャスト対応ルータＭＲ１は、ディカプセル化されたマルチキャストデータパケットに含まれる「送信端末アドレスＳ」及び「マルチキャストアドレスＧ」に対応するエントリ情報をエントリ管理部１２において探索する。
【０１５３】
次に、マルチキャスト対応ルータＭＲ１は、探索されたエントリ情報（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］において設定されている上流クッキー値と、受信したマルチキャストデータパケットに含まれているクッキー値とが一致するか否かを判定する。
【０１５４】
両者が一致すると判定された場合、すなわち、当該マルチキャストデータパケット共に送信されたクッキー値の正当性が肯定された場合、マルチキャスト対応ルータＭＲ１は、当該マルチキャストデータパケットの送信元アドレスＳを、当該エントリ情報における上流ルータアドレスに追加する。
【０１５５】
ステップ１５０２ａにおいて、マルチキャスト対応ルータＭＲ１は、「エントリ情報（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］」を参照して、「送信端末アドレスＳ」及び「マルチキャストアドレスＧ」を含むマルチキャストデータパケットに対して「宛先アドレスＭＲ９」と対応する宛先クッキー値を用いてカプセル化処理を施す。そして、送信端末Ｓ１は、当該「宛先アドレスＭＲ９」に基づいて、当該マルチキャストデータパケットを送信する。
【０１５６】
また、ステップ１５０２ｂにおいて、マルチキャスト対応ルータＭＲ１は、「エントリ情報（Ｓ，Ｇ）：［ＭＲ９，ＭＲ１２］」を参照して、「送信端末アドレスＳ」及び「マルチキャストアドレスＧ」を含むマルチキャストデータパケットに対して「宛先アドレスＭＲ１２」と対応する宛先クッキー値を用いてカプセル化処理を施す。そして、送信端末Ｓ１は、当該「宛先アドレスＭＲ１２」に基づいて、当該マルチキャストデータパケットを送信する。
【０１５７】
マルチキャスト対応ルータＭＲ９及びＭＲ１２は、受信した当該マルチキャストデータパケットが自ルータＭＲ９及びＭＲ１２宛てであると判断して、当該マルチキャストデータパケットをディカプセル化する。
【０１５８】
そして、マルチキャスト対応ルータＭＲ９及びＭＲ１２は、ディカプセル化されたマルチキャストデータパケットに含まれる「送信端末アドレスＳ」及び「マルチキャストアドレスＧ」に対応するエントリ情報をエントリ管理部１２において探索する。
【０１５９】
次に、マルチキャスト対応ルータＭＲ９及びＭＲ１２は、探索されたエントリ情報において設定されている上流クッキー値と、受信したマルチキャストデータパケットに含まれているクッキー値が一致するか否かを判定する。
【０１６０】
ここで、マルチキャスト対応ルータＭＲ９及びＭＲ１２は、当該マルチキャストデータパケット共に送信されたクッキー値の正当性が肯定された場合、当該エントリ情報における上流ルータアドレスを、当該マルチキャストデータパケットの送信元アドレスＭＲ１に変更する。
【０１６１】
そして、マルチキャスト対応ルータＭＲ９及びＭＲ１２は、当該「マルチキャストアドレスＧ」に基づくマルチキャストによって、当該マルチキャストデータを受信端末ＭＴ１及びＭＴ２に対して送信する。
【０１６２】
第５に、図１７及び図１８を参照して、本実施形態に係るマルチキャスト通信システムにおいて、上述のマルチキャストツリーに受信端末ＭＴ１及びＭＴ２が参加している状態で、受信端末ＭＴ２が当該マルチキャストツリーから脱退する動作について説明する。
【０１６３】
ステップ１６０１において、受信端末ＭＴ２が、ＩＧＭＰｖ２やＭＬＤｖ２のＬｅａｖｅを用いて、当該マルチキャストツリーからの離脱要求（当該マルチキャストデータの送信停止要求）をマルチキャスト対応ルータ（第３のルータ）ＭＲ１２に送信する。
【０１６４】
その結果、マルチキャスト対応ルータＭＲ１２配下に受信端末ＭＴが存在しなくなるため、当該マルチキャスト対応ルータＭＲ１２は、上述のマルチキャストツリーに参加する必要がなくなる。ステップ１６０２において、マルチキャスト対応ルータＭＲ１２は、エントリ管理部１２から、当該離脱要求に含まれる「送信端末アドレスＳ」と「マルチキャストアドレスＧ」とを関連付けるエントリ情報を削除する。
【０１６５】
当該マルチキャスト対応ルータＭＲ１２は、ステップ１６０３において、宛先アドレスとして「マルチキャスト対応ルータＭＲ１２のアドレス」が設定された、当該離脱要求を通知するための「Ｌｅａｖｅパケット（Ｓ，Ｇ）：［ＭＲ１２］」を生成して上流ルータアドレスで示されるルータＭＲ１に送信する。
【０１６６】
マルチキャスト対応ルータＭＲ１は、ステップ１６０４において、Ｌｅａｖｅパケット（Ｓ，Ｇ）：［ＭＲ１２］に応じて、エントリ情報における宛先アドレスＭＲ１２を削除した結果、当該マルチキャスト対応ルータＭＲ１は、複製ポイントでなくなるため、ステップ１６０５において、宛先アドレスとして「マルチキャスト対応ルータＭＲ１２のアドレス」を設定したＰａｔｈＲｅｄｉｒｅｃｔパケット（Ｓ，Ｇ）：［ＭＲ１→ＭＲ９］を生成して送信する。
【０１６７】
ステップ１６０６において、送信端末Ｓ１は、受信したＰａｔｈＲｅｄｉｒｅｃｔパケット（Ｓ，Ｇ）：［ＭＲ１→ＭＲ９］に応じて、エントリ情報（Ｓ，Ｇ）：［ＭＲ１］を、エントリ情報（Ｓ，Ｇ）：［ＭＲ９］に変更する。
【０１６８】
なお、マルチキャスト対応ルータＭＲ１において、エントリ情報（Ｓ，Ｇ）に係るＭＲ１２用のタイマが切れると、当該エントリ情報における宛先アドレスＭＲ１２は削除される。かかる場合も、マルチキャスト対応ルータＭＲ１は、複製ポイントでなくなるため、上述のように、ＰａｔｈＲｅｄｉｒｅｃｔパケット（Ｓ，Ｇ）：［ＭＲ１→ＭＲ９］を生成して、送信端末Ｓ１に対して送信するように構成されている。
【０１６９】
（本発明の第１の実施形態に係るマルチキャスト通信システムの作用・効果）
本実施形態に係るマルチキャスト通信システムによれば、マルチキャストデータパケットを複製する複製ポイントにならない第１のルータＭＲ２等において、第１のエントリ情報を管理する必要がないので、ネットワークの負荷を軽減することができる。
【０１７０】
また、本実施形態に係るマルチキャスト通信システムによれば、送信端末Ｓ１から受信端末ＭＴへ向かう下流方向にＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットを送信することによって最適な複製ポイントを探査するため、上流方向及び下流方向が非対称なネットワークにおいて理想的なマルチキャストツリーを作成することが可能となる。
【０１７１】
（本発明の第２の実施形態に係るマルチキャスト通信システム）
図１８及び図２０を参照して、本発明の第２の実施形態に係るマルチキャスト通信システムについて説明する。以下、主として、本実施形態に係るマルチキャスト通信システムについて、上述の第１の実施形態に係るマルチキャスト通信システムとの相違点について説明する。
【０１７２】
図１８に示すように、本実施形態に係るマルチキャスト通信システムでは、マルチキャスト対応ルータＭＲと通常ルータ（マルチキャスト非対応ルータ）Ｒとが混在している。かかる場合、マルチキャストデータパケットを複製する複製ポイントを最適に検出することができない可能性がある。
【０１７３】
例えば、図１８において、受信端末ＭＴ１及びＭＴ２が、既にマルチキャストツリーに参加している状態で、送信端末１が、マルチキャスト対応ルータＭＲ４宛てにマルチキャストデータパケットを送信しているものとする。ここで、受信端末ＭＴ３が、当該マルチキャストデータを受信するために送信要求を送信した場合、送信端末Ｓ１は、複製ポイントを探査するために、送信端末Ｓ１から受信端末ＭＴ３へ向かう下流方向に、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ４，ＭＲ５］を送信する。
【０１７４】
この際、マルチキャスト対応ルータＭＲ２は、複製ポイントではないため、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットをそのまま転送し、マルチキャスト対応ルータＭＲ５が、複製ポイントであると判断して、送信端末Ｓ１に対してＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットを送信する。
【０１７５】
この結果、送信端末Ｓ１は、マルチキャスト対応ルータＭＲ５に対してマルチキャストデータパケットを送信し、マルチキャスト対応ルータＭＲ５が、マルチキャストデータパケットを複製してマルチキャスト対応ルータＭＲ４及び受信端末ＭＴ３に対して送信することになる。
【０１７６】
しかしながら、図１８から明らかなように、本来であれば、マルチキャスト対応ルータＭＲ２が、マルチキャストデータパケットを複製する方が効率的である。
【０１７７】
このような状況を解決するために、本発明に係るマルチキャスト通信システムは、図２０に示すように動作する。
【０１７８】
図２０に示すように、ステップ１９０１において、受信端末ＭＴ３が、ＩＧＭＰｖ２やＭＬＤｖ２のＭｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔを用いて、当該マルチキャストツリーへの参加要求（当該マルチキャストデータの送信要求）をマルチキャスト対応ルータ（第３のルータ）ＭＲ５に送信する。
【０１７９】
ステップ１９０２において、マルチキャスト対応ルータＭＲ５は、受信した参加要求に含まれる「送信端末アドレスＳ」と「マルチキャストアドレスＧ」とを関連付けるエントリ情報を作成する。
【０１８０】
ステップ１９０３において、マルチキャスト対応ルータＭＲ５は、当該参加要求を通知するために、宛先アドレスとしての「送信端末アドレスＳ」及び送信元アドレスとしての「マルチキャスト対応ルータＭＲ５のアドレス」が設定されている「Ｊｏｉｎパケット（Ｓ，Ｇ）：［ＭＲ５］」を生成して送信する。
【０１８１】
ステップ１９０４において、送信端末Ｓ１は、当該Ｊｏｉｎパケットの送信元アドレスＭＲ５が、当該エントリ情報（Ｓ，Ｇ）：［ＭＲ４］における宛先アドレスに含まれていないため、当該エントリ情報において、当該Ｊｏｉｎパケットの送信元アドレスＭＲ５を宛先アドレスに追加する。
【０１８２】
ステップ１９０５において、送信端末Ｓ１は、エントリ情報に新たに追加した宛先アドレスＭＲ５宛てにマルチキャストデータパケットを送信するインタフェースと、既に当該エントリ情報に存在する宛先アドレスＭＲ４宛てにマルチキャストデータパケットを送信するインタフェースとが一致するため、複製ポイントになるべきではないと判断し、特別なオプションを設定したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ４，ＭＲ５］を生成して下流方向に送信する。
【０１８３】
マルチキャスト対応ルータＭＲ２は、ステップ１９０６において、受信したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ４，ＭＲ５］に応じて、宛先アドレスＭＲ４宛てにマルチキャストデータパケットを送信するインタフェースと、宛先アドレスＭＲ５宛てにマルチキャストデータパケットを送信するインタフェースとが一致することを認識し、複製ポイントになるべきではないと判断し、ステップ１９０７において、当該ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ４，ＭＲ５］を下流方向に送信する。
【０１８４】
マルチキャスト対応ルータＭＲ５は、ステップ１９０８において、受信したＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ４，ＭＲ５］に応じて、宛先アドレスＭＲ４宛てにマルチキャストデータパケットを送信するインタフェースと、宛先アドレスＭＲ５宛てにマルチキャストデータパケットを送信するインタフェースとが一致しないことを認識し、複製ポイントになるべきであると判断する。
【０１８５】
ここで、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケット（Ｓ，Ｇ）：［ＭＲ４，ＭＲ５］には、転送時に通過したマルチキャスト対応ルータの情報が書き込まれるように構成されている。なお、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットのパケット長に余裕がある場合は、順次、マルチキャスト対応ルータの情報が書き込まれ、当該パケット長がＭＴＵ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｆｅｒ  Ｕｎｉｔ）を超える場合、マルチキャスト対応ルータの情報が上書きされる。また、マルチキャスト対応ルータは、自分の情報を上書きする場合、自分から距離が遠く、優先度が低いものに対して上書きするように構成されている。
【０１８６】
この結果、ステップ１３０９において、マルチキャスト対応ルータＭＲ５は、直前のマルチキャスト対応ルータＭＲ２のアドレスを知ることができ、当該マルチキャスト対応ルータＭＲ２との間で、パケット転送についての交渉を行う。
【０１８７】
以下、かかる交渉方法の一例について説明する。例えば、図１９における転送コストを以下のとおりとする。
【０１８８】
Ｓ１からＭＲ２までの転送コスト：１
Ｓ１からＭＲ５までの転送コスト：６
ＭＲ２からＭＲ４までの転送コスト：５
ＭＲ５からＭＲ４までの転送コスト：６
ＭＲ２からＭＴ３までの転送コスト：７
ＭＲ５からＭＴ３までの転送コスト：２
ＭＲ２がマルチキャストツリーに参加するための転送コスト：４
ＭＲ５がマルチキャストツリーに参加するための転送コスト：４
ここで、マルチキャスト対応ルータＭＲ２が複製ポイントとなる場合の転送コストは、「Ｓ１からＭＲ２までの転送コスト：１」＋「ＭＲ２からＭＲ４までの転送コスト：５」＋「ＭＲ２からＭＴ３までの転送コスト：７」＋「ＭＲ２がマルチキャストツリーに参加するための転送コスト：４」＝１７となる。
【０１８９】
一方、マルチキャスト対応ルータＭＲ５が複製ポイントとなる場合の転送コストは、「Ｓ１からＭＲ５までの転送コスト：６」＋「ＭＲ５からＭＲ４までの転送コスト：６」＋「ＭＲ５からＭＴ３までの転送コスト：２」＋「ＭＲ５がマルチキャストツリーに参加するための転送コスト：４」＝１８となる。
【０１９０】
この結果、マルチキャスト対応ルータＭＲ２が複製ポイントとなる方が効率的であると判断することができる。
【０１９１】
すなわち、上述のように、複製ポイントとなるべきであると判断したマルチキャスト対応ルータＭＲ５は、当該ルータＭＲ５を複製ポイントとした場合の転送コストと他のルータＭＲ２を複製ポイントとした場合の転送コストとを比較し、当該比較結果に基づいて、当該ルータＭＲ５が複製ポイントとなるべきか否かについて決定するように構成されている。
【０１９２】
マルチキャスト対応ルータＭＲ５は、ステップ１９１０において、エントリ情報における宛先アドレスのリスト（ＭＴ３を含む）を、マルチキャスト対応ルータＭＲ２に対して送信する。
【０１９３】
ステップ１９１１において、マルチキャスト対応ルータＭＲ２は、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットを送信端末Ｓ１に対して送信する。
【０１９４】
ステップ１９１２において、送信端末Ｓ１は、ＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットに応じて、エントリ情報（Ｓ，Ｇ）：［ＭＲ４，ＭＲ５］を、エントリ情報（Ｓ，Ｇ）：［ＭＲ２］に変更する。
【０１９５】
なお、各マルチキャスト対応ルータは、上述のＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙパケットに、自分の情報を書き込む際に、負荷に応じた優先度を設定することにより、比較対照として直前のマルチキャスト対応ルータ以外を選択することができる。
【０１９６】
（変更例１）
上述の図１４及び図１５に示すように、マルチキャストツリーに新たに受信端末ＭＴ２が追加された場合、送信端末Ｓ１が、マルチキャスト対応ルータＭＲ１から送信されたＢｒａｎｃｈＮｏｄｅＤｉｓｃｏｖｅｒｙＡｃｋパケットを受信することによって、送信端末Ｓ１とマルチキャスト対応ルータＭＲ９との間のトンネルを、送信端末Ｓ１とマルチキャスト対応ルータＭＲ１との間のトンネルに直ぐに変更した場合、マルチキャスト対応ルータＭＲ９においてパケットロスが発生する可能性がある。
【０１９７】
かかるパケットロスを防ぐために、本変更例に係るマルチキャスト通信システムでは、送信端末Ｓ１は、エントリ情報を変更した場合、所定期間、変更前のエントリ情報を保持するように構成されている。
【０１９８】
その結果、マルチキャスト対応ルータＭＲ９では、上述の所定期間経過前は、送信端末Ｓ１から直接送られてくるマルチキャストデータパケットと、マルチキャスト対応ルータＭＲ１を経由して送られてくるマルチキャストデータパケットとが同時に届くことになる。
【０１９９】
しかしながら、送信端末Ｓ１から直接送られてくるマルチキャストデータパケットは、上述の所定期間経過後、例えば、エントリ情報がＳｏｆｔ  Ｓｔａｔｅ管理されている場合には、有効期間満了後、自動的に送信停止される。
【０２００】
また、本変更例に係るマルチキャスト通信システムでは、マルチキャスト対応ルータＭＲ９は、上述の所定期間内に、マルチキャストデータパケットを重複受信した場合に、当該マルチキャストデータの送信停止要求を通知するＬｅａｖｅパケット（送信停止要求パケット）を上流方向に明示的に送信するように構成されていてもよい。
【０２０１】
本変更例に係るマルチキャスト通信システムによれば、エントリ情報を変更してマルチキャストツリーを変更する際に、一定の猶予期間（所定期間）を設けることによって、パケットロスを低減することができる。
【０２０２】
本変更例に係るマルチキャスト通信システムによれば、マルチキャスト対応ルータ（第２のルータ）ＭＲ９が、明示的にＬｅａｖｅパケット（送信停止要求パケット）を送信することによって、マルチキャストデータパケットの重複受信を停止することができ、マルチキャストツリーをスムーズに変更することができる。
【０２０３】
（変更例２）
上述の実施形態及び変更例では、マルチキャストパケットを、エントリ情報における宛先アドレスを用いたカプセル化して転送する方式を採用する例について述べているが、本発明は、これらに限定されるものではなく、エントリ情報における宛先アドレスを用いたＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）技術やＩＰ  Ｍａｓｑｕｅｒａｄｅ技術を用いる方式を採用するように構成されていてもよい。本変更例に係るマルチキャスト通信システムによれば、カプセル化処理によるオーバヘッドをなくすことが可能となる。
【０２０４】
【発明の効果】
以上説明したように、本発明によれば、マルチキャストパケットを複製する必要があるマルチキャスト対応ルータＭＲ間でユニキャスト通信を行うことによって、中継ルータにおけるマルチキャスト通信に関連する情報を保持する必要をなくすことを可能とするマルチキャスト通信システム及びこれに用いて好適なルータを提供することができる。
【０２０５】
また、本発明によれば、送信端末Ｓ１から受信端末ＭＴへ向かう下流方向の通信を行うことによって、上流方向及び下流方向が非対称なネットワークにおいて理想的なマルチキャストツリーを作成することを可能とするマルチキャスト通信システム及びこれに用いて好適なルータを提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るマルチキャスト通信システムの概略構成図である。
【図２】本発明の第１の実施形態に係るマルチキャスト通信システムの全体構成図である。
【図３】本発明の第１の実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータの機能ブロック図である。
【図４】本発明の第１の実施形態に係るマルチキャスト通信システムを構成する送信端末の機能ブロック図である。
【図５】本発明の第１の実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータのパケット受信部の動作を示すフローチャートである。
【図６】本発明の第１の実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータのパケット複製部の動作を示すフローチャートである。
【図７】本発明の第１の実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータのマルチキャストコントロールパケット処理部の動作を示すフローチャートである。
【図８】本発明の第１の実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータのマルチキャストコントロールパケット処理部の動作を示すフローチャートである。
【図９】本発明の第１の実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータのマルチキャストコントロールパケット処理部の動作を示すフローチャートである。
【図１０】本発明の第１の実施形態に係るマルチキャスト通信システムを構成するマルチキャスト対応ルータのマルチキャストコントロールパケット処理部の動作を示すフローチャートである。
【図１１】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、受信端末がマルチキャストツリーに参加する動作を示すシーケンス図である。
【図１２】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、受信端末がマルチキャストツリーに参加する動作を説明するための図である。
【図１３】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、マルチキャストツリーに参加している受信端末に対してマルチキャストデータパケットを配信する動作を説明するための図である。
【図１４】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、新たな受信端末がマルチキャストツリーに参加する動作を示すシーケンス図である。
【図１５】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、新たな受信端末がマルチキャストツリーに参加する動作を説明するための図である。
【図１６】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、新たな受信端末がマルチキャストツリーに参加した後、マルチキャストツリーに参加している受信端末に対してマルチキャストデータパケットを配信する動作を説明するための図である。
【図１７】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、受信端末がマルチキャストツリーから離脱する動作を示すシーケンス図である。
【図１８】本発明の第１の実施形態に係るマルチキャスト通信システムにおいて、受信端末がマルチキャストツリーから離脱する動作を説明するための図である。
【図１９】本発明の第２の実施形態に係るマルチキャスト通信システムの全体構成図である。
【図２０】本発明の第２の実施形態に係るマルチキャスト通信システムにおいて、新たな受信端末がマルチキャストツリーに参加する動作を示すシーケンス図である。
【図２１】従来技術に係るマルチキャスト通信システムの概略構成図である。
【符号の説明】
ＭＲ０、ＭＲ１、ＭＲ２、ＭＲ３、ＭＲ４、ＭＲ５、ＭＲ６、ＭＲ７、ＭＲ８、ＭＲ９、ＭＲ１０、ＭＲ１１、ＭＲ１２、ＭＲ１３…マルチキャスト対応ルータ
ＭＴ１、ＭＴ２、ＭＴ３…受信端末
Ｒ３、Ｒ７…通常ルータ
Ｓ１…送信端末
１１、３４…パケット受信部
１２、３１…エントリ管理部
１３、３６…マルチキャストコントロールパケット処理部
１４、３５…マルチキャストコントロールパケット生成部
１５…パケット複製部
１６、３２…パケット転送部
３３…マルチキャストデータパケット送信部
【図１】
2005033555.tif 000003
【図２】
2005033555.tif 000004
【図３】
2005033555.tif 000005
【図４】
2005033555.tif 000006
【図５】
2005033555.tif 000007
【図６】
2005033555.tif 000008
【図７】
2005033555.tif 000009
【図８】
2005033555.tif 000010
【図９】
2005033555.tif 000011
【図１０】
2005033555.tif 000012
【図１１】
2005033555.tif 000013
【図１２】
2005033555.tif 000014
【図１３】
2005033555.tif 000015
【図１４】
2005033555.tif 000016
【図１５】
2005033555.tif 000017
【図１６】
2005033555.tif 000018
【図１７】
2005033555.tif 000019
【図１８】
2005033555.tif 000020
【図１９】
2005033555.tif 000021
【図２０】
2005033555.tif 000022
【図２１】
2005033555.tif 000023