(57)【要約】【課題】転送テーブルの容量を抑制することができるマルチキャスト通信方法を得ること。【解決手段】マルチキャストグループ参加メッセージを受信したノードが、マルチキャストテーブルにエントリが無い場合、転送情報として、ユニキャスト転送を示す識別子と、トンネリングするためのカプセル化情報と、含むエントリを生成し、エントリが有る場合、転送情報がマルチキャストテーブルに格納されているかを判断するステップ（Ｓ１４）と、転送情報が無い場合、ユニキャスト転送を示す識別子とカプセル化情報を追加するステップ（Ｓ１５）と、転送情報が有る場合、ユニキャスト転送による転送先ノードへの転送方式をマルチキャスト転送に変更するステップ（Ｓ１６）と、を含み、マルチキャストパケットを受信したノードは、ユニキャスト転送に対応する転送先に対してカプセル化を行って転送する。【選択図】        図３
2010147600.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャスト通信を行う通信システムにおけるマルチキャスト通信方法であって、
マルチキャスト通信を行うノードが、それぞれ、自身が転送を行うマルチキャストグループごとに生成したエントリをマルチキャストテーブルとして保持し、その際、前記エントリに、転送経路ごとの転送情報として、トンネリングを用いたユニキャスト転送とマルチキャスト転送とのいずれかを識別するための転送方式識別子と、ユニキャスト転送を行う場合に設定するためのカプセル化情報と、を含ませることとし、
マルチキャストグループへの参加を要求する参加メッセージを受信したノードである参加要求受信ノードが、保持するマルチキャストテーブルに前記参加メッセージに対応するマルチキャストグループのエントリが有るかを判断するグループ検索ステップと、
前記参加要求受信ノードが、前記グループ検索ステップで前記参加メッセージに対応するマルチキャストグループのエントリが無いと判断した場合に、前記参加メッセージで参加要求されたマルチキャストグループのエントリを生成し、その転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報と、を追加するグループエントリ生成ステップと、
前記参加要求受信ノードが、前記グループ検索ステップで前記参加メッセージに対応するマルチキャストグループのエントリが有ると判断した場合に、前記参加メッセージの送信元への転送経路に対応する転送情報が前記マルチキャストテーブルに格納されているかを判断する経路検索ステップと、
前記参加要求受信ノードが、前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が無いと判断した場合に、前記転送経路に対する転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報と、を追加する経路追加ステップと、
前記参加要求受信ノードが、前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断した場合に、ユニキャスト転送を行っていた転送先のノードに対して、そのマルチキャストグループのエントリ追加と、ユニキャスト転送を行っていた経路と前記参加メッセージに対応する経路の両方の経路情報の追加、を指示するエントリ追加メッセージを送信し、また、その転送情報の転送方式をマルチキャスト転送に変更する転送方式変更ステップと、
を含み、
マルチキャストパケットを受信したノードは、ユニキャスト転送に対応する転送先に対して、前記マルチキャストテーブルのカプセル化情報に基づくカプセル化を行って転送し、宛先が自ノード宛でカプセル化されているパケットを受信した場合にデカプセル化し、前記マルチキャストグループの検索を行うことを特徴とするマルチキャスト通信方法。
【請求項２】
前記トンネリングを設定する数に所定のしきい値を設定し、
前記転送方式変更ステップでは、
前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断され、さらに、前記参加メッセージの送信元のノードへの経路をユニキャスト転送としかつその転送経路に対するトンネリング数が前記しきい値を超える場合に、ユニキャスト転送を行っていた転送先のノードに対して前記エントリ追加メッセージを送信し、
また、その転送情報の転送方法をマルチキャスト転送に変更し、前記参加メッセージの送信元のノードへの経路をユニキャスト転送としかつその転送経路に対するトンネリングを設定する数が前記しきい値以下となる場合には、前記参加メッセージの送信元のノードへの経路に対応する経路情報をユニキャスト転送として前記マルチキャストテーブルに追加することを特徴とする請求項１に記載のマルチキャスト通信方法。
【請求項３】
前記参加要求受信ノードが、マルチキャストグループの転送先ごとに、使用帯域を監視し、使用帯域が所定のしきい値を超えたか否かを判断する使用帯域監視ステップ、
をさらに含み、
前記転送方式変更ステップでは、
前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断され、さらに、前記使用帯域監視ステップで前記参加メッセージの送信元への転送経路に対応する転送先の使用帯域が前記しきい値を超えたと判断された場合に、ユニキャスト転送を行っていた転送先のノードに対して前記エントリ追加メッセージを送信し、
また、その転送情報の転送方法をマルチキャスト転送に変更し、前記使用帯域監視ステップで前記参加メッセージの送信元への転送経路に対応する転送先の使用帯域が前記しきい値以下であると判断された場合には、前記参加メッセージの送信元のノードへの経路に対応する経路情報をユニキャスト転送として前記マルチキャストテーブルに追加することを特徴とする請求項１に記載のマルチキャスト通信方法。
【請求項４】
マルチキャストグループからの離脱を要求する離脱メッセージを受信したノードである離脱要求受信ノードが、前記離脱メッセージの送信元のノードへの経路に関する経路情報に対応する情報を自身が保持するマルチキャストテーブルから削除した後に、そのマルチキャストグループのエントリの転送情報が所定の制限個数以下となる場合に、その転送情報に対応する経路上でそのマルチキャストグループのマルチキャストパケットの複製を行っていた上流のノードに対して、そのノードから自身の方向への転送方式をユニキャスト転送とする指示と、ユニキャスト転送とするためのカプセル化情報と、を含ませた転送方式変更メッセージを送信するユニキャスト変更ステップ、
をさらに含むことを特徴とする請求項１に記載のマルチキャスト通信方法。
【請求項５】
前記制限個数を１とすることを特徴とする請求項４に記載のマルチキャスト通信方法。
【請求項６】
前記トンネリングを設定する数に所定のしきい値を設定し、
前記制限個数を前記しきい値とし、
前記転送方式変更ステップでは、
前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断され、さらに、前記参加メッセージの送信元のノードへの経路をユニキャスト転送としかつその転送経路に対するトンネリング数が前記しきい値を超える場合に、ユニキャスト転送を行っていた転送先のノードに対して前記エントリ追加メッセージを送信し、
また、その転送情報の転送方法をマルチキャスト転送に変更し、前記参加メッセージの送信元のノードへの経路をユニキャスト転送としかつその転送経路に対するトンネリングを設定する数が前記しきい値以下となる場合には、前記参加メッセージの送信元のノードへの経路に対応する経路情報をユニキャスト転送として前記マルチキャストテーブルに追加することを特徴とする請求項４に記載のマルチキャスト通信方法。
【請求項７】
前記マルチキャスト通信を行うノードが、マルチキャストグループの転送先ごとに、使用帯域を監視し、使用帯域が所定のしきい値を超えたか否かを判断する使用帯域監視ステップと、
マルチキャストグループからの離脱を要求する離脱メッセージを受信したノードである離脱要求受信ノードが、前記離脱メッセージの送信元のノードへの経路に関する経路情報に対応する情報を自身が保持するマルチキャストテーブルから削除した後に、そのマルチキャストグループのエントリの転送情報に対応する転送先の使用帯域が前記しきい値以下となる場合に、その転送情報に対応する経路上でそのマルチキャストグループのマルチキャストパケットの複製を行っていた上流のノードに対して、そのノードから自身の方向への転送方式をユニキャスト転送とする指示と、ユニキャスト転送とするためのカプセル化情報と、を含ませた転送方式変更メッセージを送信するユニキャスト変更ステップと、
をさらに含み、
前記制限個数を前記しきい値とし、
前記転送方式変更ステップでは、
前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断され、さらに、前記使用帯域監視ステップで前記参加メッセージの送信元への転送経路に対応する転送先の使用帯域が前記しきい値を超えたと判断された場合に、ユニキャスト転送を行っていた転送先のノードに対して前記エントリ追加メッセージを送信し、
また、その転送情報の転送方法をマルチキャスト転送に変更し、前記使用帯域監視ステップで前記参加メッセージの送信元への転送経路に対応する転送先の使用帯域が前記しきい値以下であると判断された場合には、前記参加メッセージの送信元のノードへの経路に対応する経路情報をユニキャスト転送として前記マルチキャストテーブルに追加することを特徴とする請求項１に記載のマルチキャスト通信方法。
【請求項８】
前記マルチキャスト通信を行うノードが、自身が保持するマルチキャストテーブルに格納されるエントリ数が所定の制限エントリ数を超える場合に、マルチキャストパケットの転送元である上流ノードに対して、ユニキャスト転送による転送を要求するユニキャスト転送要求を送信するユニキャスト転送要求送信ステップと、
前記ユニキャスト転送要求を受信した上流ノードが、前記ユニキャスト転送要求に基づいて、要求の送信元のノードへの転送方式をユニキャスト転送に変更するユニキャスト転送反映ステップと、
をさらに含むことを特徴とする請求項１〜７のいずれか１つに記載のマルチキャスト通信方法。
【請求項９】
マルチキャスト通信を行う複数のノードで構成される通信システムであって、
前記複数のノードが、それぞれ、自身が転送を行うマルチキャストグループごとに生成したエントリをマルチキャストテーブルとして保持し、その際、前記エントリに、転送経路ごとの転送情報として、トンネリングを用いたユニキャスト転送とマルチキャスト転送とのいずれかを識別するための転送方式識別子と、ユニキャスト転送を行う場合に設定するためのカプセル化情報と、を含ませることとし、
マルチキャストグループへの参加を要求する参加メッセージを受信したノードである参加要求受信ノードが、
自身が保持するマルチキャストテーブルに前記参加メッセージに対応するマルチキャストグループのエントリが無いと判断した場合に、前記参加メッセージで参加要求されたマルチキャストグループのエントリを生成し、その転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報と、を追加し、
一方、自身が保持するマルチキャストテーブルに前記参加メッセージに対応するマルチキャストグループのエントリが有ると判断した場合に、前記参加メッセージの送信元への転送経路に対応する転送情報が前記マルチキャストテーブルに格納されているかを判断し、
前記参加メッセージの送信元への転送経路に対応する転送情報が無いと判断した場合には、前記転送経路に対する転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報と、を追加し、一方で、前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断した場合には、ユニキャスト転送を行っていた転送先のノードに対して、そのマルチキャストグループのエントリ追加と、ユニキャスト転送を行っていた経路と前記参加メッセージに対応する経路の両方の経路情報の追加、を指示するエントリ追加メッセージを送信し、また、その転送情報の転送方法をマルチキャスト転送に変更し、
マルチキャストパケットを受信したノートが、
ユニキャスト転送に対応する転送先に対して、前記マルチキャストテーブルのカプセル化情報に基づくカプセル化を行って転送し、宛先が自ノード宛でカプセル化されているパケットを受信した場合にデカプセル化し、前記マルチキャストグループの検索を行うことを特徴とする通信システム。
【請求項１０】
マルチキャスト通信を行う通信装置であって、
転送を行うマルチキャストグループごとに生成したエントリをマルチキャストテーブルとして保持し、その際、前記エントリに、転送経路ごとの転送情報として、トンネリングを用いたユニキャスト転送とマルチキャスト転送とのいずれかを識別するための転送方式識別子と、ユニキャスト転送を行う場合に設定するためのカプセル化情報と、を含ませる記憶手段と、
受信したマルチキャストグループへの参加を要求する参加メッセージに基づいて、前記参加メッセージに対応するマルチキャストグループのマルチキャストパケットの転送方式を設定するマルチキャストグループ参加手段と、
を備え、
前記マルチキャストグループ参加手段は、
保持するマルチキャストテーブルに前記参加メッセージに対応するマルチキャストグループのエントリが無いと判断した場合に、前記参加メッセージで参加要求されたマルチキャストグループのエントリを生成し、その転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報とを追加し、
一方、前記参加メッセージに対応するマルチキャストグループのエントリが有ると判断した場合に、前記参加メッセージの送信元への転送経路に対応する転送情報が前記マルチキャストテーブルに格納されているかを判断し、
前記参加メッセージの送信元への転送経路に対応する転送情報が無いと判断した場合には、前記転送経路に対する転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報とを追加し、一方で、前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断した場合には、ユニキャスト転送を行っていた転送先のノードに対して、そのマルチキャストグループのエントリ追加と、ユニキャスト転送を行っていた経路と前記参加メッセージに対応する経路の両方の経路情報の追加、を指示するエントリ追加メッセージを送信し、また、その転送情報の転送方法をマルチキャスト転送に変更し、
マルチキャストパケットを受信した場合には、ユニキャスト転送に対応する転送先に対して、前記マルチキャストテーブルのカプセル化情報に基づくカプセル化を行って転送し、宛先が自ノード宛でカプセル化されているパケットを受信した場合にデカプセル化し、前記マルチキャストグループの検索を行うことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet  Protocol）マルチキャスト通信を行うマルチキャスト通信方法、通信システムおよび通信装置に関する。
【背景技術】
【０００２】
同報（マルチキャスト）通信の方式の１つとして、ＩＰマルチキャストがある（たとえば、下記特許文献１および下記非特許文献１参照）。ＩＰマルチキャストは、パケットを中継するノードがパケットヘッダのマルチキャストアドレスを用いて転送テーブルを検索し、宛先の取得やパケットのコピーを行う方式であり、ネットワークの利用効率が高い。
【０００３】
【特許文献１】特開２００６−１０１４７５号公報
【非特許文献１】Dave  Kosiur著  苅田幸雄監訳「マスタリングＴＣＰ／ＩＰ  ＩＰマルチキャスト編」第１版第１刷、株式会社オーム社、平成１１年１１月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のマルチキャスト技術によれば、中継するノードがマルチキャスト用の転送テーブルを用いてパケットのコピーや転送を行う。そのため、パケットを複数個にコピーせずに単に転送を行うノードも、転送テーブルに当該マルチキャストグループのエントリが必要である、という問題があった。
【０００５】
また、マルチキャストのエントリはユニキャストのように経路集約ができないため、多数のマルチキャストグループのサポートを実現しようとすると転送テーブル用に莫大なリソース（メモリ）が必要となる、という問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、転送テーブルの容量を抑制することができるマルチキャスト通信方法、通信システムおよび通信装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、マルチキャスト通信を行う通信システムにおけるマルチキャスト通信方法であって、マルチキャスト通信を行うノードが、それぞれ、自身が転送を行うマルチキャストグループごとに生成したエントリをマルチキャストテーブルとして保持し、その際、前記エントリに、転送経路ごとの転送情報として、トンネリングを用いたユニキャスト転送とマルチキャスト転送とのいずれかを識別するための転送方式識別子と、ユニキャスト転送を行う場合に設定するためのカプセル化情報と、を含ませることとし、マルチキャストグループへの参加を要求する参加メッセージを受信したノードである参加要求受信ノードが、保持するマルチキャストテーブルに前記参加メッセージに対応するマルチキャストグループのエントリが有るかを判断するグループ検索ステップと、前記参加要求受信ノードが、前記グループ検索ステップで前記参加メッセージに対応するマルチキャストグループのエントリが無いと判断した場合に、前記参加メッセージで参加要求されたマルチキャストグループのエントリを生成し、その転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報と、を追加するグループエントリ生成ステップと、前記参加要求受信ノードが、前記グループ検索ステップで前記参加メッセージに対応するマルチキャストグループのエントリが有ると判断した場合に、前記参加メッセージの送信元への転送経路に対応する転送情報が前記マルチキャストテーブルに格納されているかを判断する経路検索ステップと、前記参加要求受信ノードが、前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が無いと判断した場合に、前記転送経路に対する転送情報として、ユニキャスト転送を示す転送方式識別子と、前記参加メッセージの送信元への転送経路に対応する転送先をトンネリングするためのカプセル化情報と、を追加する経路追加ステップと、前記参加要求受信ノードが、前記経路検索ステップで前記参加メッセージの送信元への転送経路に対応する転送情報が有ると判断した場合に、ユニキャスト転送を行っていた転送先のノードに対して、そのマルチキャストグループのエントリ追加と、ユニキャスト転送を行っていた経路と前記参加メッセージに対応する経路の両方の経路情報の追加、を指示するエントリ追加メッセージを送信し、また、その転送情報の転送方法をマルチキャスト転送に変更する転送方式変更ステップと、を含み、マルチキャストパケットを受信したノードは、ユニキャスト転送に対応する転送先に対して、前記マルチキャストテーブルのカプセル化情報に基づくカプセル化を行って転送し、宛先が自ノード宛でカプセル化されているパケットを受信した場合にデカプセル化し、前記マルチキャストグループの検索を行うことを特徴とする。
【発明の効果】
【０００８】
この発明によれば、コピーを行わずに転送を行うノードをユニキャスト転送対象ノードとし、上流の分岐ノードがカプセル化を行うことにより、ユニキャスト転送対象ノードがマルチキャストパケットをユニキャストパケットとして転送するようにしたので、転送テーブルの容量を抑制することができる、という効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下に、本発明にかかるマルチキャスト通信方法、通信システムおよび通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、本発明にかかる通信システムの実施の形態１の構成例を示す図である。図１に示すように、本実施の形態の通信システムは、データの送信元の端末である端末１と、データの送信先の端末である端末２−１〜２−６と、端末１と端末２−１〜２―６の通信を中継する中継ノードであるノード３−１〜３−６と、で構成される。端末１、２−１〜２−６およびノード３−１〜３−６は、ネットワーク５を構成している。ここでは、本発明にかかる通信装置としてノード３−１〜３−６を例にして説明する。また、パケット４−１〜４−６は、この通信システムで中継されるパケットを示している。なお、図１では、以下の本実施の形態の動作説明に用いる構成要素を示しているが、これ以外にネットワーク５に接続される端末、ノードなどを備えていてもよい。
【００１１】
図１は、マルチキャスト通信に関するパケットの転送およびコピーの設定が既に完了している状態のパケット配信例を示している。端末１がマルチキャストのパケットを送信すると、ノード３−１が、そのパケットをコピーして２つのパケットとし、それぞれをノード３−２，３−５に転送する。ノード３−２は、ノード３−１から受信したパケットをコピーして２つのパケットとし、それぞれをノード３−３，３−４に転送する。さらに、ノード３−２から受信したそのパケットをコピーして２つのパケットとし、それぞれを端末２−１，２−２に転送する。ノード３−４は、ノード３−２から受信したパケットをコピーして２つのパケットとし、それぞれをノード２−３，２−４に転送する。また、ノード３−５は、ノード３−１から受信したパケットをコピーせずにノード３−６に転送する。そして、ノード３−６は、ノード３−５から受信したパケットをコピーして２つのパケットとし、それぞれを端末２−５，２−６に転送する。図１に示したパケット４−１〜４−６のうち、Ｍはマルチキャストアドレスを含むヘッダ情報を示しており、Ｕは、ユニキャストによる転送のためにカプセル化するためのヘッダ情報を示している。
【００１２】
このようにして、送信先である端末２−１〜２−６の全てに、端末１から送信されたパケットが転送される。ここで、ノード３−１，３−２，３−３，３−４，３−６では、受信したパケットをコピーしているが、ノード３−５では、コピーを行わないため、ノード３−１とノード３−６間でトンネルを設定し、その区間はユニキャストパケットとして送信するようにすると、ノード３−５では、このマルチキャストグループのエントリが不要となる。本実施の形態では、以下に説明するような動作を行うことで、上記の例のようにコピーを行わずに転送するノードのマルチキャストグループのエントリを不要とする。
【００１３】
図２は、本実施の形態のノード３の機能構成例を示す図である。ノード３は、図１に示したノード３−１〜３−６を代表しており、ノード３−１〜３−６のいずれか１つを示していることとする。また、ノード３−１〜３−６は、同様の構成を有することとする。図２に示すように、ノード３は、パケットの転送やコピーなどを行う下位レイヤ処理部１１と、マルチキャストグループへの参加／離脱メッセージを受信し、そのメッセージに対応する所定の処理を行い、処理後にそのメッセージを他のノードや端末に転送するマルチキャストグループ参加離脱処理部１２と、で構成され、ネットワーク５に接続されている。また、ノード３は、パケットの転送やコピーを行うために必要な情報を格納するためのフォワーディングテーブル１３を保持しており、フォワーディングテーブル１３には、マルチキャスト情報を保持するためのマルチキャストテーブル１４と、ユニキャスト情報を保持するためのユニキャストテーブル１５と、を含む。
【００１４】
ノード３では、マルチキャストパケットがネットワーク５から入力されると、下位レイヤ処理部１１が、その入力されたマルチキャストパケットのヘッダ情報と、フォワーディングテーブル１３に格納されている情報などに基づいて処理内容および転送先を決定し、次のノードへ、コピーしてまたはカプセル化して転送を行う。
【００１５】
下位レイヤ処理部１１は、マルチキャストグループへの参加または離脱を要求する離脱メッセージを受信した場合、下位レイヤ処理部１１はマルチキャストグループ参加離脱処理部１２にそのメッセージを送信する。マルチキャストグループ参加離脱処理部１２は、メッセージに含まれる情報とフォワーディングテーブル１３に格納されている情報とに基づいて、処理内容を決定し、マルチキャストテーブルの変更，新たにメッセージを作成，他のノードへの転送などの処理を行う。これらの参加および離脱の処理については、以下に述べる。
【００１６】
図３は、マルチキャストグループへの参加処理の処理手順の一例を示す図である。図３を用いて、マルチキャストグループへの参加処理について説明する。下位レイヤ処理部１１は、マルチキャストグループへの参加を要求するための参加メッセージを受信すると、マルチキャストグループ参加離脱処理部１２に送信し、マルチキャストグループ参加離脱処理部１２は、マルチキャストテーブル１４を検索し（ステップＳ１１）、そのメッセージのマルチキャストアドレスと一致するエントリが有るかを判断する（ステップＳ１２）。
【００１７】
図４は、マルチキャストテーブル１４の一例を示す図である。図４に示すように、マルチキャストグループごとに、マルチキャストグループに一意に割り当てられているマルチキャストアドレスと、マルチキャスト転送を行うかカプセル化によりユニキャスト転送を行うかを示す転送方式と、ユニキャスト転送時に用いるカプセル化の際に用いる情報（トンネルの終端点のノードのアドレス等）であるユニキャスト転送時カプセル化情報と、次の転送先のＩＰアドレスを示す次ホップＩＰアドレスと、が含まれている。なお、以下では、上記の転送方式、ユニキャスト転送時カプセル化情報および次ホップＩＰアドレスを経路情報とよぶこととする。経路情報は、マルチキャストグループごとにそのグループのパケットの転送先ごとに経路情報が格納される。すなわち、経路情報は、そのノードが受信したマルチキャストパケットのコピー数（コピー後に転送する宛先の数）分格納されている。なお、ユニキャストテーブル１５は、マルチキャストパケット以外の通常のユニキャスト転送を行うための転送テーブルであり、従来技術と同様の転送テーブルである。
【００１８】
ステップＳ１２で、一致するエントリが無いと判断した場合（ステップＳ１２  Ｎｏ）には、マルチキャストグループ参加離脱処理部１２は、少なくとも現時点では、自ノードが処理するマルチキャストグループでないと判断し、受信した参加メッセージに所定の情報を追加して転送する（ステップＳ１３）。ステップＳ１１で、一致するエントリが有ると判断した場合（ステップＳ１２  Ｙｅｓ）は、そのエントリのマルチキャストパケットのコピー先を示す次ホップＩＰアドレスに、参加メッセージの送信元のノードへの経路上のノードのＩＰアドレスが含まれているか（コピー先が有るか）否かを判断し（ステップＳ１４）、コピー先が無いと判断した場合（ステップＳ１４  Ｎｏ）には、そのエントリに参加メッセージの送信元へ転送を行うためのユニキャストの経路情報を追加する（ステップＳ１５）。なお、各ノードは、宛先のＩＰアドレスごとに、その宛先に転送するための経路上にある次の転送先のノードのＩＰアドレス（次ホップＩＰアドレス）をユニキャストテーブル１５に保持していることとする。このとき、転送方式としてはユニキャストを格納し、次ホップＩＰアドレスとしては、参加メッセージの送信元のノードへの経路上で次の転送先となるノードのＩＰアドレスを格納し、ユニキャスト転送時カプセル化情報を格納する。ユニキャスト転送時カプセル化情報については、たとえば、参加メッセージに含めて通知するようにする。
【００１９】
ステップＳ１４で、参加メッセージの要求元のノードへの経路に対応する転送先ノードのＩＰアドレスが有ると判断した場合（ステップＳ１４  Ｙｅｓ）は、下流のノードのうち分岐点ノード（コピーが発生するノード）に対して、マルチキャストグループのエントリ追加を要求するエントリ追加メッセージを送信する（ステップＳ１６）。このエントリ追加メッセージは、分岐点ノードに対し、それまでユニキャストで転送していたエントリを通常のマルチキャストによる転送に変更するためのメッセージである。エントリ追加メッセージには、追加するマルチキャストグループを識別するための情報（たとえば、マルチキャストグループアドレス）と、追加する経路の指定を行うための情報（たとえば、次の転送先のＩＰアドレスなど）と、を含むこととする。
【００２０】
そして、エントリ追加メッセージを受信した分岐点ノードが、ユニキャストで転送していた経路に対応する経路情報の変更を行い、応答メッセージを返信し、エントリ追加メッセージの送信元のノードが応答メッセージを受信すると、自身が保持するマルチキャストテーブルのその分岐点ノードへの経路と一致する経路情報を変更する（ステップＳ１７）。具体的には、エントリ追加メッセージを受信した分岐点ノードが、自身が保持するマルチキャストテーブル１４に、エントリ追加メッセージでエントリ追加を指示されたマルチキャストグループのエントリを追加する。また、エントリ追加メッセージの送信元のノードが応答メッセージを受信すると、対応するマルチキャストグループのエントリのうち応答メッセージの送信元の分岐点ノードへの経路に対応する経路情報をユニキャストからマルチキャストへ変更する。なお、エントリ追加メッセージを受信した分岐点ノードが、自身が保持するマルチキャストテーブル１４に、すでに、受信したメッセージのマルチキャストアドレスグループのエントリを格納している場合には、そのエントリに受信したエントリ追加メッセージに含まれる経路情報を追加する。
【００２１】
つづいて、マルチキャストグループへの参加処理の例について説明する。図５は、マルチキャストグループへの参加処理のシーケンスの一例を示す図である。図５に示す例では、初期状態では、あるマルチキャストグループのマルチキャストパケットは、ノード３−１およびノード３−３では、パケットのコピーが行われ、ノード３−２ではコピーを行わずに転送を行っているとする。すなわち、ノード３−１およびノード３−３は分岐点ノードであり、ノード３−２は分岐点ノードではない。ノード３−２では、コピーが発生しないため、ノード３−１とノード３−３の間でトンネルを設定し（カプセル化を行い）、ユニキャストで転送している。
【００２２】
この初期状態で、ノード３−４が、上記のマルチキャストグループに参加を要求するために、参加メッセージ３１を送信したとする。ノード３−２，３−１は、それぞれマルチキャストグループへの参加処理を行い、ノード３−２では、そのマルチキャストグループのエントリが無いため（ユニキャスト転送を行っていたため）、参加メッセージ３２を転送する。そして、参加メッセージ３２を受信したノード３−１は、そのメッセージに含まれるマルチキャストグループのエントリがあるため、下流のノード３−２にエントリ追加メッセージ３３を送信する。そして、ノード３−２は、エントリ追加メッセージ３３に基づいてエントリの追加を行い、応答メッセージ３４をノード３−１に送信する。以下、処理について詳細に説明する。
【００２３】
図６は、図５の例の参加処理フローを示すチャート図である。まず、ノード３−１とノード３−３間でトンネルを設定し、そのトンネルを用いてあるマルチキャストグループの転送を行っているとする（ステップＳ２１）。そして、ノード３−４が、そのマルチキャストグループへの参加を要求する参加メッセージを送信する（ステップＳ２２）。
【００２４】
ノード３−２は、ステップＳ２２で送信された参加メッセージを受信すると、自身が保持するマルチキャストテーブル１４を検索し、そのメッセージで参加を要求されたマルチキャストグループのエントリがあるかを判断する（ステップＳ２３）。ノード３−２は、図５の初期状態では、このマルチキャストグループのエントリがないため、受信した参加メッセージを転送する（ステップＳ２４）。
【００２５】
ノード３−１は、ステップＳ２４で転送された参加メッセージを受信すると、自身が保持するマルチキャストテーブル１４を検索し、そのメッセージで参加を要求されたマルチキャストグループのエントリがあるかを判断する（ステップＳ２５）。ノード３−１は、図５の初期状態では、このマルチキャストグループのエントリがあるため、さらに、エントリにその参加メッセージの送信元のノードの経路と同一の次ホップノード（コピー先）があるかを判定する（ステップＳ２６）。図５の例では、同経路のコピー先があることから、その経路上の下流の分岐点ノードとなるノード３−２にエントリ追加メッセージを送信する（ステップＳ２７）。
【００２６】
ノード３−２は、ステップＳ２７で送信されたエントリ追加メッセージに基づいて、そのメッセージで指示されたマルチキャストグループのエントリに指示された経路情報を追加し（ステップＳ２８）、応答メッセージをエントリ追加メッセージの送信元であるノード３−１へ送信する（ステップＳ２９）。
【００２７】
ノード３−１は、応答メッセージを受信すると、マルチキャストテーブル１４のエントリのうち、ユニキャストとして格納していたノード３−２の経路情報をマルチキャストに変更する（ステップＳ３０）。この処理により、ノード３−１とノード３−３間のトンネルが削除されることになる。この後、ノード３−１は、受信したマルチキャストパケットにカプセル化を行わずにマルチキャストパケットとしてノード３−２へ送信し（ステップＳ３１）、ノード３−２は、受信したマルチキャストパケットをコピーして２つのパケットとし（ステップＳ３２）、それぞれノード３−３，ノード３−４へ転送する（ステップＳ３３，Ｓ３４）。
【００２８】
つぎに、マルチキャストグループからの離脱の処理について説明する。図７は、マルチキャストグループの離脱処理の手順の一例を示すフローチャートである。ノード３の下位レイヤ処理部１１は、マルチキャストグループからの離脱を要求するための離脱メッセージを受信すると、マルチキャストグループ参加離脱処理部１２に送信し、マルチキャストグループ参加離脱処理部１２は、マルチキャストテーブル１４を検索し（ステップＳ４１）、そのメッセージのマルチキャストアドレスと一致するエントリが有るかを判断する（ステップＳ４２）。一致するエントリが無いと判断した場合（ステップＳ４２  Ｎｏ）、少なくとも現時点では、自ノードが処理するマルチキャストグループでないと判断し、離脱メッセージに所定の情報を追加して転送する（ステップＳ４３）。
【００２９】
ステップＳ４２で、一致するエントリが有ると判断した場合（ステップＳ４２  Ｙｅｓ）は、そのマルチキャストグループが離脱により自ノードでのコピー数が１（コピーを行わずに転送）となるかを判断し（ステップＳ４４）、コピー数が１とならない場合（ステップＳ４４  Ｎｏ）は、離脱の要求元のノードに対応する経路情報をそのエントリから削除する（ステップＳ４５）。なお、ここで、コピー数は転送先の数を表すこととし、コピー数が１の場合には、実際にはコピーは行わずそのまま転送する。
【００３０】
ステップＳ４４で、コピー数が１になると判断した場合（ステップＳ４４  Ｙｅｓ）は、上流の分岐点ノード（自分ノードにパケットをコピーして転送するノード）に対して、マルチキャストグループのエントリ変更を要求するエントリ変更メッセージを送信し（ステップＳ４６）、上流ノードからエントリ変更メッセージに対する応答メッセージを受信することにより上流ノードでの設定終了を確認後、そのエントリを削除する（ステップＳ４７）。この際、エントリ変更メッセージには、変更を要求するマルチキャストグループを識別するための情報と変更を要求する経路情報を識別する情報とユニキャスト転送時カプセル化情報（自ノードをトンネルするための宛先アドレス：次ホップのＩＰアドレス）とを含むこととする。
【００３１】
また、上流の分岐ノードでは、エントリ変更メッセージを受信すると、そのメッセージで指示されたマルチキャストグループのエントリのうち変更を要求された経路情報をマルチキャストからユニキャストによる転送方式に変更する。具体的には、マルチキャストテーブルのメッセージで指示されたエントリの経路情報の転送方式をマルチキャストからユニキャストに変更し、指示されたユニキャスト転送時カプセル化情報を追加する。以上の処理により、通常のマルチキャストの転送が行われていた経路にトンネルを設定し、カプセル化を行いユニキャストで転送するように変更する。この処理の後、エントリ変更メッセージを受信した上流の分岐ノードは、エントリ変更メッセージの送信元のノードをトンネルするためにマルチキャストテーブル１４のユニキャスト転送時カプセル化情報に基づいてカプセル化を行う。
【００３２】
なお、以上の説明は、マルチキャストパケットおよびグループ参加／離脱メッセージの送信元および転送先もノード３である例について説明したが、端末１を送信元とし、２−１〜２−６を転送先とする場合も同様である。ただし、端末２−１〜２−６が転送先となる場合には、上流に分岐ノードが無いため、上流分岐ノードに対する処理を行う必要はない。
【００３３】
以上のように、本実施の形態では、コピーを行わずに転送を行うノードをユニキャスト転送対象ノードとし、上流の分岐ノードがカプセル化を行うことにより、ユニキャスト転送対象ノードがマルチキャストパケットをユニキャストパケットとして転送するようにした。このため、ユニキャスト転送対象ノードでは、マルチキャストテーブルにユニキャスト転送の対象としたマルチキャストグループのエントリを格納する必要がなくなり、テーブルの容量を抑えることができる。
【００３４】
実施の形態２．
図８は、本発明にかかる通信装置の実施の形態２の構成例を示す図である。ここでは、本発明にかかる通信装置としてノード３ａを例に説明する。図８に示すように、本実施の形態のノード３ａは、実施の形態１のノード３にトンネル数保持部１６を追加し、マルチキャストグループ参加離脱処理部１２をマルチキャストグループ参加離脱処理部１２ａに替える以外は、実施の形態１のノード３と同様である。また、本実施の形態のマルチキャスト通信システムの構成は、ノード３をノード３ａに替える以外は、実施の形態１と同様である。実施の形態１と同様の機能を有する構成要素は、同一の符号を付して説明を省略する。以下、実施の形態１と異なる点について説明する。
【００３５】
本実施の形態では、トンネル数保持部１６が、マルチキャストグループごと、または複数のマルチキャストグループごとに、トンネルを用いた転送をいくつまで許可するか（トンネル設定数）のしきい値を保持する。そして、マルチキャストグループ参加離脱処理部１２ａは、トンネル数保持部１６を参照して、しきい値以内の数でユニキャスト転送を行う経路を選択できるようにする。
【００３６】
具体的には、グループ参加処理については、たとえば、以下の処理を行う。実施の形態１の図３で説明したステップＳ１４で、参加メッセージの要求元のノードへの経路に対応する転送先ノードのＩＰアドレスが有ると判断した場合に、マルチキャストグループ参加離脱処理部１２ａは、トンネル数保持部１６とマルチキャストテーブル１４を参照し、参加要求元への経路情報追加後にトンネル設定数がしきい値以下のコピー数となる場合には、マルチキャスト転送に変更せずに、ユニキャスト転送として要求のあったノードへの経路情報を追加する。ユニキャスト転送の経路情報の追加処理は、ステップＳ１５と同様である。そのマルチキャストグループがしきい値を超えるコピー数となる場合には、実施の形態１のステップＳ１４でコピー先があった場合（ステップＳ１４  Ｙｅｓ）と同様の処理を行う。
【００３７】
また、グループ離脱処理については、たとえば、以下の処理を行う。マルチキャストグループ参加離脱処理部１２ａは、実施の形態１の図７で説明したステップＳ４４の判断をコピー数が１かどうかではなく、コピー数がしきい値以下であるか、の判断に変更する。
【００３８】
以上説明した以外の本実施の形態の動作は、実施の形態１と同様である。実施の形態１では、同一マルチキャストグループで同一経路について１つしかユニキャスト転送を設定できないのに対し、このような処理を行うことにより、同一経路に複数のユニキャスト転送を設定できるようになる。たとえば、図５の例では、ノード３−２は、ノード３−４の参加処理後にマルチキャスト転送を行うようになるが、本実施の形態の動作を行うと、ノード３−２は、ノード３−３へのユニキャスト転送と、ノード３−４へのユニキャスト転送と、を行うことになる。
【００３９】
以上のように、本実施の形態では、トンネル数保持部１６が、トンネル設定数に対するしきい値を保持し、マルチキャストグループ参加離脱処理部１２ａが、しきい値を参照して、グループ参加／離脱メッセージによる参加／離脱処理後に、コピー数がトンネル設定数のしきい値以下の場合に、ユニキャスト転送を行うようにした。このため、実施の形態１に比べ、マルチキャストテーブル１４のエントリを持つノードの数を削減することができ、実施の形態１より、さらに、テーブルの容量を抑えることができる。
【００４０】
実施の形態３．
図９は、本発明にかかる通信装置の実施の形態３の構成例を示す図である。ここでは、本発明にかかる通信装置としてノード３ｂを例に説明する。図８に示すように、本実施の形態のノード３ｂは、実施の形態１のノード３に使用帯域監視部１７を追加し、マルチキャストグループ参加離脱処理部１２をマルチキャストグループ参加離脱処理部１２ｂに替える以外は、実施の形態１のノード３と同様である。また、本実施の形態のマルチキャスト通信システムの構成は、ノード３をノード３ｂに替える以外は、実施の形態１と同様である。実施の形態１と同様の機能を有する構成要素は、同一の符号を付して説明を省略する。以下、実施の形態１と異なる点について説明する。
【００４１】
本実施の形態では、使用帯域監視部１７が、マルチキャストグループごと、または複数のマルチキャストグループごとに、ネットワークの使用帯域を監視し、あらかじめ設定した帯域しきい値と比較し、帯域しきい値を超えているかどうか判断する。そして、マルチキャストグループ参加離脱処理部１２ｂは、使用帯域監視部１７の判断結果に基づいて、ユニキャスト転送を行うか否かを選択できるようにする。
【００４２】
具体的には、グループ参加処理については、たとえば、以下の処理を行う。実施の形態１の図３で説明したステップＳ１４で、参加メッセージの要求元のノードへの経路に対応する転送先ノードのＩＰアドレスが有ると判断した場合に、マルチキャストグループ参加離脱処理部１２ｂは、使用帯域監視部１７の判断結果に基づいて、参加要求のあった経路の使用帯域が帯域しきい値以下である場合には、マルチキャスト転送に変更せずに、ユニキャスト転送として要求のあったノードへの経路情報を追加する。ユニキャスト転送の経路情報の追加処理は、ステップＳ１５と同様である。参加要求のあった経路の使用帯域が帯域しきい値を超える場合には、実施の形態１のステップＳ１４でコピー先があった場合（ステップＳ１４  Ｙｅｓ）と同様の処理を行う。
【００４３】
また、グループ離脱処理については、たとえば、以下の処理を行う。マルチキャストグループ参加離脱処理部１２ｂは、実施の形態１の図７で説明したステップＳ４４の判断をコピー数が１かどうかではなく、参加要求のあった経路の使用帯域が帯域しきい値以下であるか、の判断に変更する。
【００４４】
以上説明した以外の本実施の形態の動作は、実施の形態１と同様である。実施の形態１では、同一マルチキャストグループで同一経路について１つしかユニキャスト転送を設定できないのに対し、このような処理を行うことにより、同一経路に複数のユニキャスト転送を設定できるようになる。
【００４５】
以上のように、本実施の形態では、使用帯域監視部１７が、マルチキャストグループごと、または複数のマルチキャストグループごとに、転送先ノードのネットワークの使用帯域を監視し、あらかじめ設定した帯域しきい値と比較し、帯域しきい値を超えているかどうか判断し、使用帯域監視部１７が帯域しきい値を超える場合には、マルチキャストグループ参加離脱処理部１２ｂが、マルチキャスト参加処理時に、その経路をユニキャスト転送からマルチキャスト転送に変更するようにした。このため、実施の形態１の効果に加え、実施の形態１に比べ、マルチキャストテーブル１４のエントリを持つノードの数を削減することができ、実施の形態１より、さらに、テーブルの容量を抑えることができる。
【００４６】
実施の形態４．
図１０は、本発明にかかる通信装置の実施の形態４の構成例を示す図である。ここでは、本発明にかかる通信装置としてノード３ｃを例に説明する。図１０に示すように、本実施の形態のノード３ｃは、実施の形態１のノード３にフィードバック処理部１８を追加し、マルチキャストグループ参加離脱処理部１２をマルチキャストグループ参加離脱処理部１２ｃに替える以外は、実施の形態１のノード３と同様である。また、本実施の形態のマルチキャスト通信システムの構成は、ノード３をノード３ｃに替える以外は、実施の形態１と同様である。実施の形態１と同様の機能を有する構成要素は、同一の符号を付して説明を省略する。以下、実施の形態１と異なる点について説明する。
【００４７】
本実施の形態のフィードバック処理部１８は、マルチキャストテーブル１４のエントリ数（またはマルチキャストテーブル１４の容量）を監視し、エントリ数が所定のしきい値を超えた場合（マルチキャストテーブル１４の容量が所定のしきい値を超えた場合）、マルチキャストテーブル１４に格納されているエントリのうち、マルチキャストによる転送を行っている経路情報を含むエントリを選択し、そのマルチキャストグループの上流の分岐ノードに対し、そのマルチキャストグループを、トンネルを使ったユニキャスト転送するように要求するユニキャスト変更メッセージを生成して送信する。このとき選択するエントリの選択方法については、特に制約はないが、たとえば、コピー数が多いエントリから順に選択するなど選択順をきめておけば、どのような順に選択してもよい。また、選択せずにマルチキャスト転送を行っている全てのエントリについて、ユニキャストに変更するよう指示してもよい。
【００４８】
ユニキャスト変更メッセージを受信した上流の分岐ノードは、下位レイヤ処理部１１がそのユニキャスト変更メッセージをマルチキャストグループ参加離脱処理部１２ｃへ渡し、マルチキャストグループ参加離脱処理部１２ｃは、そのユニキャスト変更メッセージに基づいて、マルチキャストテーブル１４を変更する。具体的には、ユニキャスト変更メッセージにより指示されたマルチキャストグループについて、メッセージの送信元への経路情報の転送方式をマルチキャストからユニキャストに変更し、ユニキャスト変更メッセージに基づいてユニキャスト転送時カプセル化情報を格納する。ユニキャスト転送時カプセル化情報は、ユニキャスト変更メッセージに含まれることとする。
【００４９】
以上述べた以外の本実施の形態の動作は、実施の形態１と同様である。なお、本実施の形態では、実施の形態１のノード３にフィードバック処理部１８を追加し、マルチキャストグループ参加離脱処理部１２ａをマルチキャストグループ参加離脱処理部１２ｃに変更するようにしたが、これに限らず、実施の形態２のノード３ａまたは実施の形態３のノード３ｂに、フィードバック処理部１８を追加し、マルチキャストグループ参加離脱処理部１２ａまたはマルチキャストグループ参加離脱処理部１２ｂに、上記のマルチキャストグループ参加離脱処理部１２ｃの処理を追加するようにしてもよい。
【００５０】
以上のように、本実施の形態では、フィードバック処理部１８が、マルチキャストテーブル１４のエントリ数を監視し、エントリ数が所定のしきい値を超えた場合には、マルチキャストによる転送を行っている経路情報を含むマルチキャストグループについての上流の分岐ノードにそのマルチキャストグループを、トンネルを使ったユニキャスト転送するように要求するユニキャスト変更メッセージを生成して送信し、そのメッセージを受信した上流の分岐ノードは、メッセージに基づいて送信元への転送をユニキャスト転送に変更するようにした。そのため、下流のノードの帯域使用状態を考慮することで、ノード間でマルチキャストテーブルのエントリに偏りが出た場合、それを低減することが可能となり、ネットワーク全体で対応できるマルチキャストグループ数を増やすことができる。
【産業上の利用可能性】
【００５１】
以上のように、本発明にかかるマルチキャスト通信方法、通信システムおよび通信装置は、マルチキャスト通信を行う通信システムに有用であり、特に、多数のマルチキャストグループをサポートする通信システムに適している。
【図面の簡単な説明】
【００５２】
【図１】本発明にかかる通信システムの実施の形態１の構成例を示す図である。
【図２】本実施の形態のノードの機能構成例を示す図である。
【図３】マルチキャストグループへの参加処理の処理手順の一例を示す図である。
【図４】マルチキャストテーブルの一例を示す図である。
【図５】マルチキャストグループへの参加処理のシーケンスの一例を示す図である。
【図６】参加処理フローを示すチャート図である。
【図７】マルチキャストグループの離脱処理の手順の一例を示すフローチャートである。
【図８】実施の形態２のノードの構成例を示す図である。
【図９】実施の形態３のノードの構成例を示す図である。
【図１０】実施の形態４のノードの構成例を示す図である。
【符号の説明】
【００５３】
１，２−１〜２−６  端末
３，３ａ，３ｂ，３ｃ，３−１〜３−６  ノード
４−１〜４−６  パケット
５  ネットワーク
１１  下位レイヤ処理部
１２，１２ａ，１２ｂ，１２ｃ  マルチキャストグループ参加離脱処理部
１３  フォワーディングテーブル
１４  マルチキャストテーブル
１５  ユニキャストテーブル
１６  トンネル数保持部
１７  使用帯域監視部
１８  フィードバック処理部
３１，３２  参加メッセージ
３３  エントリ追加メッセージ
３４  応答メッセージ
【図１】
2010147600.tif 000003
【図２】
2010147600.tif 000004
【図３】
2010147600.tif 000005
【図４】
2010147600.tif 000006
【図５】
2010147600.tif 000007
【図６】
2010147600.tif 000008
【図７】
2010147600.tif 000009
【図８】
2010147600.tif 000010
【図９】
2010147600.tif 000011
【図１０】
2010147600.tif 000012