(57)【要約】【課題】ルータ間転送用ヘッダのビット数よりも多くの数のエッジルータを用いてマルチキャスト通信システムを構築する。【解決手段】各エッジルータ１１〜１４を複数のグループ＃０，＃１のいずれかに割り当てるとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを割り当てておく。エッジルータ１１〜１４のパケット転送部１０Ａでは、送信端末２１からのパケットを送信する際、当該受側エッジルータが属するグループを２進数で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダ８１をパケットに付与して送信する。【選択図】        図１
2004328580.tif 000002
【特許請求の範囲】
【請求項１】
出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介して前記エッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により１つの送信端末から複数の受信端末へ所望のパケットを送信する際、前記送信端末が接続されている送側エッジルータでは、前記送信端末からのパケットに、前記各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、前記中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するマルチキャスト通信システムにおいて、
前記エッジルータは、予め設けられた複数のグループのいずれかに属するとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを有し、前記送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダを前記パケットに付与して送信するパケット転送部を備えることを特徴とするマルチキャスト通信システム。
【請求項２】
請求項１記載のマルチキャスト通信システムにおいて、
前記パケット転送部は、前記受側エッジルータが異なるグループに属する場合は、当該パケットをそのグループ数分だけ複製し、それぞれのグループごとに生成したルータ間転送用ヘッダを当該パケットに付与してそれぞれ送信することを特徴とするマルチキャスト通信システム。
【請求項３】
請求項１記載のマルチキャスト通信システムにおいて、
前記エッジルータおよび前記中継ルータは、受信したパケットを送信すべき出力インターフェースを決定するための経路表として、自装置の各出力インターフェースと、当該出力インターフェース側に接続されているエッジルータ群との対応関係を示す経路表を管理する経路表管理部を備え、
前記経路表のエッジルータ群は、当該エッジルータが属するグループを２進数で示すグループＩＤと当該エッジルータのルータＩＤとで指定されていることを特徴とするマルチキャスト通信システム。
【請求項４】
請求項３記載のマルチキャスト通信システムにおいて、
前記ルータＩＤは、各グループごとに、当該グループ内に存在するエッジルータ群の各ルータＩＤの論理和からなるフィルタ情報で指定されていることを特徴とするマルチキャスト通信システム。
【請求項５】
出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介して前記エッジルータ間を接続する中継ルータとを有するマルチキャスト通信システムで、マルチキャスト通信により１つの送信端末から複数の受信端末へ所望のパケットを送信する際、前記送信端末が接続されている送側エッジルータでは、前記送信端末からのパケットに、前記各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、前記中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するマルチキャスト通信方法において、
前記各エッジルータを複数のグループにグループ分けするとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを各エッジルータへ割り当てるステップと、
前記送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダを前記パケットに付与して送信するステップとを備えることを特徴とするマルチキャスト通信方法。
【請求項６】
出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介して前記エッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により１つの送信端末から複数の受信端末へ所望のパケットを送信する際、前記送信端末が接続されている送側エッジルータでは、前記送信端末からのパケットに、前記各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、前記中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するマルチキャスト通信システムで用いられるエッジルータにおいて、
予め設けられた複数のグループのいずれかに属するとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを有し、
前記送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダを前記パケットに付与して送信するパケット転送部を備えることを特徴とするエッジルータ。
【請求項７】
請求項６記載のエッジルータにおいて、
前記パケット転送部は、前記受側エッジルータが異なるグループに属する場合は、当該パケットをそのグループ数分だけ複製し、それぞれのグループごとに生成したルータ間転送用ヘッダを当該パケットに付与してそれぞれ送信することを特徴とするエッジルータ。
【請求項８】
請求項６記載のエッジルータにおいて、
受信したパケットを送信すべき出力インターフェースを決定するための経路表として、自装置の各出力インターフェースと、当該出力インターフェース側に接続されているエッジルータ群との対応関係を示す経路表を管理する経路表管理部をさらに備え、
前記経路表のエッジルータ群は、当該エッジルータが属するグループを２進数で示すグループＩＤと当該エッジルータのルータＩＤとで指定されていることを特徴とするエッジルータ。
【請求項９】
請求項８記載のエッジルータにおいて、
前記ルータＩＤは、各グループごとに、当該グループ内に存在するエッジルータ群の各ルータＩＤの論理和からなるフィルタ情報で指定されていることを特徴とするエッジルータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチキャスト通信システム、方法およびエッジルータに関し、特に複数の端末を複数のルータで結ぶネットワークを用いるマルチキャスト通信システム、方法およびエッジルータに関するものである。
【０００２】
【従来の技術】
インターネットに代表されるＩＰ通信網では、同じデータを複数の端末装置に効率的に伝送するための技術としてＰＩＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ）などのマルチキャスト通信が用いられる（例えば、非特許文献１参照）。
このマルチキャスト通信では、マルチキャストルーティング技術により、送信端末から複数の受信端末に対して、木構造の情報伝送経路が構成される。この情報伝達経路において、木が枝分かれする部分には中継ルータが配置される。この中継ルータは、送信端末からのデータパケットを受信すると、必要な数だけデータパケットをコピーし各枝へ転送する。この木構造において、各端末は葉の部分に相当する。
【０００３】
従来、このようなマルチキャスト技術を用いたマルチキャスト通信システムは、図１３のような構成となっていた。このマルチキャスト通信システムは、エッジルータ６１〜６３、中継ルータ６４、ネットワーク管理装置６５、および端末７１〜７３から構成されている。
図１４はエッジルータ６０（６１〜６３）の構成図である。このエッジルータ６０には、機能部として、パケット転送部６０Ａ、フロー管理部６０Ｂ、および経路表管理部６０Ｃが設けられている。
図１５は中継ルータ６４の構成図である。この中継ルータ６４には、機能部として、パケット転送部６４Ａ、および経路表管理部６４Ｂが設けられている。
【０００４】
図１６は各パケットの構成例であり、（ａ）は制御パケットの構成例、（ｂ）はデータパケットの構成例を示している。
図１６（ａ）において、パケット８５は、端末−エッジルータ間でやり取りされる制御パケットを示している。このパケット８５は、ユーザデータ８９に対し、制御情報として、宛先端末アドレス８６、送元端末アドレス８７、およびデータフローを識別するためのフローＩＤ（フロー識別子）８８が付加された形態となっており、これらはすべてデータ部８５Ｂに記載される。またヘッダ部８５Ａには、ＩＰヘッダが記載される。
パケット８０は、エッジルータ相互間でやり取りされる制御パケットを示しており、上記パケット８５がデータ部８０Ｂにそのまま記載され、ヘッダ部８０Ａに制御情報が付加された形態となっている。この制御情報としては、ルータ間転送用ヘッダ８１と受側ルータＩＤ８２とが記載される。
【０００５】
また、図１６（ｂ）において、パケット８５は、端末−エッジルータ間でやり取りされるデータパケットを示している。このパケット８５は、データ部８５Ｂのユーザデータに対し、ヘッダ部８５としてＩＰヘッダが付加された形態となっている。なお、このＩＰヘッダ内の宛先端末アドレスに、フローＩＤとしてマルチキャストアドレスが記載されている。
パケット８０は、エッジルータ相互間でやり取りされるデータパケットを示している。このパケット８０は、データ部８０Ｂに上記パケット８５のデータ部８５Ｂのユーザデータが記載され、ヘッダ部８０Ａに制御情報が付加された形態となっている。この制御情報としては、ルータ間転送用ヘッダ８１と、上記パケット８５のヘッダ部８５ＡのＩＰヘッダが記載される。
【０００６】
このマルチキャスト通信システムでは、各エッジルータ６１〜６３に予め固有のルータＩＤが付与されており、これらエッジルータ間でパケットをやり取りする際には、これらルータＩＤにより宛先エッジルータを指定する。
このルータＩＤは、エッジルータ数に応じたビット長を有する２進数からなり、各ビットにそれぞれのエッジルータが個別に割り当てられている。この例ではエッジルータが３台あるためルータＩＤは３ビットのビットデータからなる。以下では、エッジルータ６１，６２，６３のビット値をそれぞれ１ビット目，２ビット目，３ビット目に割り当てる。したがって、各エッジルータ６１，６２，６３のルータＩＤは、それぞれ「１００」，「０１０」，「００１」となる。
【０００７】
これらルータＩＤは当該エッジルータのアドレスと関連付けられてネットワーク管理装置６５で管理されている。ネットワーク管理装置６５は、各ルータおよび端末の接続関係によりネットワーク構成が決まると、各エッジルータとビット位置との対応を決め、各エッジルータのルータＩＤを決定する。全てのルータ６１〜６４は、各エッジルータ６１〜６３のルータＩＤをネットワーク管理装置６５より取得する。
ルータ間転送用ヘッダ８１は、宛先エッジルータを、その対応したビット位置を「１」にして表示する。したがって、複数のビットを「１」にすることで、すなわち各宛先エッジルータのルータＩＤの論理和からなる宛先ビットマップで、複数の宛先エッジルータを示すことができ、パケットの宛先１つを実アドレスで指定するユニキャスト通信と比較して、複数の宛先を効率よく指定できる。
【０００８】
図１７はエッジルータ６１が持つ経路表９１の構成例である。ルータ６１〜６４の経路表管理部６０Ｃ、６４Ｂは経路計算を行い、パケットの出力インターフェースを決定するための経路表９１を生成する。この経路表９１には、そのルータが持つ各方路すなわち出力インターフェース毎にフィルタ情報が記載される。フィルタ情報とは、当該出力インターフェースから送信すべきパケットの宛先エッジルータ群を、ルータ間転送用ヘッダ８１と同様にルータＩＤのビットマップで示したものである。
【０００９】
したがって、パケットを送る際は、各出力インターフェースのフィルタ情報とルータ間転送用ヘッダ８１の論理積を計算し、その論理積がゼロ以外となる出力インターフェースからパケットを送信すればよい。このときパケットのルータ間転送用ヘッダ８１をその論理積に置き換えて、１つの宛先エッジルータに同じパケットのコピーが重複して送信されないようにする。
フロー出力管理表９２は、エッジルータが他のルータから受信したデータパケットを端末へ送信する場合に、その受信側エッジルータを決定するための管理表である。フロー宛先管理表９３は、エッジルータが端末から受信したデータパケットを他のルータへ送信する場合に、その出力インターフェースを決定するための管理表である。
【００１０】
次に、図１８を参照して、従来のマルチキャスト通信システムにおける経路設定処理について説明する。図１８は従来の経路設定処理を示すシーケンス図である。
マルチキャスト通信システムでは、所望のデータフローのデータパケットを受信端末で受信する際、その受信に先立って受信端末から送信端末へ制御パケットを送り、予め経路設定を行う。以下では、受信端末７３から送信端末７１ヘ制御パケットを送る場合を例として説明する。
図１６（ａ）のパケット８５に示したように、端末７３は、予め通知された所望データフローに固有のマルチキャストアドレス等からなるフローＩＤと、送信端末７１および受信端末７３のアドレスとを制御パケットに記載して送信する（ステップ５００）。
【００１１】
制御パケットを受信したエッジルータ６３のパケット転送部６０Ａは、フロー管理部６０Ｂへ制御パケットの情報を渡す。フロー管理部６０Ｂは、制御パケットを受信した受側インターフェースを、データパケットの出力インターフェースとしてフローＩＤと対応付け、フロー出力管理表９２に設定する（ステップ５０１）。例えば、フローＩＤが「Ａ」の場合は、その「Ａ」に対して端末７３の出力インターフェース＃０が対応付けられる。
続いて、パケット転送部６０Ａは、図１６（ａ）のパケット８０に示した受側ルータＩＤ８２に自装置のルータＩＤを設定する（ステップ５０２）。また、受信した制御パケットの送信端末アドレスに対応する送側エッジルータ６１のアドレスを取得し（ステップ５０３）、その送側エッジルータ６１のアドレスに対応するルータＩＤを取得する（ステップ５０４）。そして、そのルータＩＤを図１６（ａ）のパケット８０に示したルータ間転送用ヘッダ８１として付与する（ステップ５０５）。
【００１２】
このようにして、パケット転送部６０Ａは、ルータ間転送用ヘッダ８１と受側ルータＩＤ８２とを制御パケットに付与し、経路表管理部６０Ｃの経路表９１から得られた、ルータ間転送用ヘッダ８１に対応する出力インターフェースへ、その制御パケットを転送する（ステップ５０６）。
なお、送信端末アドレスとエッジルータアドレスの対応表、および各エッジルータアドレスとルータＩＤとの対応表は、各エッジルータのパケット転送部６０Ａ，６４Ａに予め記憶されているものとする。
【００１３】
エッジルータ６１のパケット転送部６０Ａは、エッジルータ６３からの制御パケットを中継ルータ６４を介して受信し、フロー管理部６０Ｂへその制御パケットの情報を渡す。フロー管理部６０Ｂは、その制御パケットに含まれている受側ルータＩＤ８２を当該フローＩＤ８８の新たな宛先としてフロー宛先管理表９３へ設定する（ステップ５０７）。この際、フローＩＤ８８に対応する宛先情報を宛先管理表９３から取得し、当該受側ルータＩＤ８２とその宛先情報との論理和を算出する。そして、その論理和を新たな宛先情報としてそのフローＩＤ８８と対応付けてフロー宛先管理表９３に設定する。例えば、端末７３からの制御パケットのフローＩＤが「Ａ」の場合、その「Ａ」に対してエッジルータ６３を示す宛先情報「００１」が対応付けられる。
【００１４】
また、パケット転送部６０Ａは、受信した制御パケットから、ルータ間転送用ヘッダ８１および受側ルータＩＤ８２の記載を削除し、図１６（ａ）のパケット８５と同様の形態で制御パケットを端末７１へ送信する（ステップ５０８）。
これにより、エッジルータ６３とエッジルータ６１との間で、当該フローに関する経路設定が終了する。端末７１は、この制御パケットを受信し、そのフローＩＤ８８で指定されたデータフローを特定し、そのデータフローを構成するデータパケットを端末７３へマルチキャスト通信で送信する。
【００１５】
端末７２で上記データフローのデータパケットを受信する際、その受信に先立って、端末７２は、上記と同じフローＩＤと、送信端末７１および受信端末７２のアドレスとを記載した制御パケットを送信する。
制御パケットを受信したエッジルータ６２は、エッジルータ６３と同様の処理をしてエッジルータ６１へ転送する。制御パケットを受信したエッジルータ６１のパケット転送部６０Ａは、フロー管理部６０Ｂへ制御パケットの情報を渡す。フロー管理部６０Ｂは、その制御パケットに含まれるフローＩＤ８８に対応付けてエッジルータ６２のルータＩＤを宛先情報へ記憶する。これにより、当該フローＩＤ「Ａ」の宛先情報は、宛先としてエッジルータ６２のルータＩＤ「００１」とエッジルータ６３のルータＩＤ「０１０」の両方を示す値「０１１」となる。
【００１６】
次に、図１９を参照して、従来のマルチキャスト通信システムにおけるデータパケット転送処理について説明する。図１９は従来のデータパケット転送処理を示すシーケンス図である。
前述した経路設定処理により端末７２，７３からの制御パケットを受信した端末７１は、データパケットに当該フローＩＤ「Ａ」を付けてエッジルータ６１へ送信する（ステップ５１０）。
【００１７】
図１６（ｂ）のデータパケット８０を受信したエッジルータ６１のパケット転送部６０Ａは、そのデータパケットからフローＩＤ８８を読み取り、フロー管理部６０Ｂに問い合わせる。フロー管理部６０Ｂは、経路設定処理で設定したフロー宛先管理表９３から当該フローＩＤ「Ａ」に対応したルータ間転送用ヘッダとして、ここでは宛先情報「０１１」をパケット転送部６０Ａへ通知する（ステップ５１１）。
パケット転送部６０Ａは、そのルータ間転送用ヘッダ「０１１」について経路表管理部６０Ｃの持つ経路表９１を調べ、そのデータパケットを送信すべき出力インターフェースを得る（ステップ５１２）。
【００１８】
この際、経路表９１に設定されている各出力インターフェースのフィルタ情報と当該ルータ間転送用ヘッダとの論理積を求め、その論理積のうち何れかのビットが「１」で、全体の値としてゼロ以外を示す出力インターフェースに対して当該データパケットを送信する必要があると判断する。そして、送信すべき出力インターフェースについては、そのフィルタ情報と当該ルータ間転送用ヘッダとの論理積からなるルータ間転送用ヘッダ８１を、図１６（ｂ）のデータパケット８０に付与し（ステップ５１３）、対応する出力インターフェースより送信する（ステップ５１４）。
この場合、出力インターフェース＃１のフィルタ情報「０１１」とルータ間転送用ヘッダ「０１１」との論理積がゼロではないことから、その論理積「０１１」をルータ間転送用ヘッダ８１とするデータパケットが出力インターフェース＃１から中継ルータ６４へ送信される。
【００１９】
データパケットを受信した中継ルータ６４のパケット転送部６０Ａは、そのデータパケットのルータ間転送用ヘッダ８１を読み取り、経路表管理部６４Ｂの持つ経路表９１を調べ、エッジルータ６１と同様にしてルータ間転送用ヘッダ８１に対する出力インターフェースを得る（ステップ５２０）。
ここで、ルータ間転送用ヘッダ８１に対応する出力インターフェースが複数存在する場合は、その数だけデータパケットを複製する（ステップ５２１）。そしてパケット転送部６０Ａは、それぞれのデータパケットに新たなルータ間転送用ヘッダを付与し（ステップ５２２）、対応する出力インターフェースより送信する（ステップ５２３）。
【００２０】
この場合、中継ルータ６４の経路表９１では、出力インターフェース＃０のフィルタ情報が「００１」であり、出力インターフェース＃１のフィルタ情報が「０１０」であることから、これらフィルタ情報とルータ間転送用ヘッダ「０１１」との論理積がゼロではなくなる。
したがって、複製されたデータパケットのそれぞれに、上記論理積「０１０」と「００１」からなるルータ間転送用ヘッダ８１が付与され、それぞれのデータパケットが出力インターフェース＃０，＃１からエッジルータ６２，６３へ送信される。
【００２１】
データパケットを受信したエッジルータ６３のパケット転送部６０Ａは、ルータ間転送用ヘッダ８１が自装置のルータＩＤを示していることから、そのデータパケットのフローＩＤを読み取り、フロー管理部６０Ｂへ問い合わせる。フロー管理部６０Ｂは、経路設定処理で設定したフロー出力管理表９２を参照し、そのフローＩＤ「Ａ」に対応する出力インターフェース＃０をパケット転送部６０Ａへ通知する（ステップ５３０）。パケット転送部６０Ａは、ルータ間転送用ヘッダ８１を取り除き（ステップ５３１）、その出力インターフェース＃０から端末７３ヘデータパケットを送る（ステップ５３２）。
また、エッジルータ６２でもエッジルータ６１と同様の処理が行われ、端末７１からマルチキャスト通信で送信されたデータパケットは、端末７２，７３で受信されるものとなっていた。
【００２２】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【００２３】
【非特許文献１】
ＲＦＣ２３６２”Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ−Ｓｐａｒｓｅ  Ｍｏｄｅ（ＰＩＭ−ＳＭ）：Ｐｒｏｔｏｃｏｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”、Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）、１９９８年６月
【００２４】
【発明が解決しようとする課題】
しかしながら、このような従来のマルチキャスト通信システムでは、ルータ間転送用ヘッダの各ビットにエッジルータを対応づけているため、ヘッダのビット数によってエッジルータの数が制限されるという問題があった。
本発明はこのような課題を解決するためのものであり、ルータ間転送用ヘッダのビット数よりも多くの数のエッジルータを用いてマルチキャスト通信システムを構築できるマルチキャスト通信システム、方法およびエッジルータを提供することを目的としている。
【００２５】
【課題を解決するための手段】
このような目的を達成するために、本発明にかかるマルチキャスト通信システムは、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により１つの送信端末から複数の受信端末へ所望のパケットを送信する際、送信端末が接続されている送側エッジルータでは、送信端末からのパケットに、各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するマルチキャスト通信システムにおいて、エッジルータに、予め設けられた複数のグループのいずれかに属するとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを有し、送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダをパケットに付与して送信するパケット転送部を設けたものである。
【００２６】
受側エッジルータが異なるグループに属する場合については、パケット転送部で、当該パケットをそのグループ数分だけ複製し、それぞれのグループごとに生成したルータ間転送用ヘッダを当該パケットに付与してそれぞれ送信するようにしてもよい。
【００２７】
エッジルータおよび中継ルータに、受信したパケットを送信すべき出力インターフェースを決定するための経路表として、自装置の各出力インターフェースと、当該出力インターフェース側に接続されているエッジルータ群との対応関係を示す経路表を管理する経路表管理部を設け、経路表のエッジルータ群を、当該エッジルータが属するグループを２進数で示すグループＩＤと当該エッジルータのルータＩＤとで指定するようにしてもよい。
この際、ルータＩＤは、各グループごとに、当該グループ内に存在するエッジルータ群の各ルータＩＤの論理和からなるフィルタ情報で指定するようにしてもよい。
【００２８】
本発明にかかるマルチキャスト通信方法は、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有するマルチキャスト通信システムで、マルチキャスト通信により１つの送信端末から複数の受信端末へ所望のパケットを送信する際、送信端末が接続されている送側エッジルータでは、送信端末からのパケットに、各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するマルチキャスト通信方法において、各エッジルータを複数のグループにグループ分けするとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを各エッジルータへ割り当てるステップと、送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダをパケットに付与して送信するステップとを実行するようにしたものである。
【００２９】
また、本発明にかかるエッジルータは、出力インターフェースを介して端末を接続する複数のエッジルータと、出力インターフェースを介してエッジルータ間を接続する中継ルータとを有し、マルチキャスト通信により１つの送信端末から複数の受信端末へ所望のパケットを送信する際、送信端末が接続されている送側エッジルータでは、送信端末からのパケットに、各受信端末が接続されている受側エッジルータを示すルータ間転送用ヘッダを付与して送信し、中継ルータでは、受信したパケットのルータ間転送用ヘッダに対応する受側エッジルータ側へ当該パケットを転送するマルチキャスト通信システムで用いられるエッジルータにおいて、予め設けられた複数のグループのいずれかに属するとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを有し、送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダをパケットに付与して送信するパケット転送部を備えるものである。
【００３０】
受側エッジルータが異なるグループに属する場合は、パケット転送部で、当該パケットをそのグループ数分だけ複製し、それぞれのグループごとに生成したルータ間転送用ヘッダを当該パケットに付与してそれぞれ送信するようにしてもよい。
【００３１】
受信したパケットを送信すべき出力インターフェースを決定するための経路表として、自装置の各出力インターフェースと、当該出力インターフェース側に接続されているエッジルータ群との対応関係を示す経路表を管理する経路表管理部をさらに設け、経路表のエッジルータ群を、当該エッジルータが属するグループを２進数で示すグループＩＤと当該エッジルータのルータＩＤとで指定するようにしてもよい。
この際、ルータＩＤを、各グループごとに、当該グループ内に存在するエッジルータ群の各ルータＩＤの論理和からなるフィルタ情報で指定してもよい。
【００３２】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
まず、図１を参照して、本発明の一実施の形態にかかるマルチキャスト通信システムについて説明する。図１は本発明の一実施の形態にかかるマルチキャスト通信システムを示す構成図である。
このマルチキャスト通信システムは、エッジルータ１１〜１４、中継ルータ１５、ネットワーク管理装置１６、および端末２１〜２４から構成されている。また、エッジルータ１１〜１４は予めグループ化されており、エッジルータ１１，１２がグループ＃０（３０）に属し、エッジルータ１３，１４がグループ＃１（３１）に属している。
【００３３】
図２は、エッジルータ１０（１１〜１４）の構成図である。このエッジルータ１０には、機能部として、パケット転送部１０Ａ、フロー管理部１０Ｂ、および経路表管理部１０Ｃが設けられている。
パケット転送部１０Ａは、受信したパケットのヘッダの内容に基づき当該パケットを対応する出力インターフェースへ送信する。フロー管理部１０Ｂは、フロー出力管理表５２を管理して、データフローを識別するためのフローＩＤごとに、そのデータフローを構成するデータパケットを送信すべき出力インターフェースを決定する。また、フロー宛先管理表５３を管理して、データフローを識別するためのフローＩＤごとに、そのデータフローを構成するデータパケットを送信すべき宛先エッジルータ群を決定する。経路表管理部１０Ｃは、経路表５１を管理して、宛先エッジルータへのパケットを送信すべき出力インターフェースを決定する。
【００３４】
図３は、中継ルータ１５の構成図である。この中継ルータ１５には、機能部として、パケット転送部１５Ａ、および経路表管理部１５Ｂが設けられている。
パケット転送部１５Ａは、受信したパケットのルータ間転送用ヘッダの内容に基づき当該パケットを対応する出力インターフェースへ送信する。経路表管理部１５Ｂは、経路表５１を管理して、宛先エッジルータへのパケットを送信すべき出力インターフェースを決定する。
図４は、前述した図１６のパケット８０で用いるルータ間転送用ヘッダ８１の構成例である。このルータ間転送用ヘッダ８１は、宛先グループ表示部４１、および宛先エッジルータ群表示部４２から構成されている。
【００３５】
本実施の形態では、各エッジルータを複数のグループにグループ分けするとともに、グループ内の各エッジルータに対して従来と同様に個別のビットを割り当てるようにしたものである。そして、任意のグループの任意のエッジルータを指定する際には、当該グループを２進表記のグループＩＤで指定するとともに、当該グループ内のエッジルータについては従来と同様のビットマップからなるルータＩＤで指定するようにしたものである
この際、同一グループ内のエッジルータについては、ビットマップにより複数のエッジルータを一括して指定できるものの、グループ指定については２進表記を用いているため一括して複数のグループを指定できない。本実施の形態では、パケットを異なるグループに送信する際には、送側エッジルータで各グループごとにパケットを複製して送信するようにしている。
【００３６】
したがって、ネットワーク管理装置１６は、各ルータおよび端末の接続関係からネットワーク構成が決まると、エッジルータ１１〜１４をグループに分け、ルータＩＤ内のビット位置とエッジルータ１１〜１４の対応を決める。
例えば、図１に示したネットワーク構成のようにエッジルータが４台ある場合、ルータ間転送用ヘッダ８１は３ビットで済む。すなわち、１ビットをグループの表示に割り当て各グループを２進表記で示し、そして残りの２ビットを各グループの中での宛先エッジルータ群の表示に使用し、各ビットにエッジルータ１１〜１４を割り当て、宛先であるときは当該ビットを「１」として表示すればよい。
【００３７】
図１に示すように、エッジルータ１１，１３のルータＩＤを「０１」とし、エッジルータ１２，１４のルータＩＤを「１０」とした場合、それぞれのエッジルータが属するグループ＃０，＃１を指定することにより、任意のエッジルータを指定できる。
したがって、宛先エッジルータは、図４に示すように、グループＩＤからなる宛先グループ表示部４１と、ルータＩＤの論理和からなる宛先エッジルータ群表示部４２とを用いてルータ間転送用ヘッダ８１に表示する。この際、同じグループに属する複数の宛先エッジルータは、宛先エッジルータ群表示部４２で複数のビットを「１」にすることで１つのルータ間転送用ヘッダ８１に表示する。
【００３８】
このように、ルータ間転送用ヘッダ８１の長さがｍ（ｍは正整数）ビットで、そのうちｎ（ｎはｍより小さい正整数）ビットが２ｎ個のグループの表示に割り当てられるとすると、２ｎ×（ｍ−ｎ）台のエッジルータを表示することができる。
ネットワーク管理装置１６は、各エッジルータのグループ分けと宛先エッジルータ群表示部４２のビット位置の割り当てすなわちルータＩＤの割り当てが終了すると、全てのルータ１１〜１５へ各エッジルータが属するグループのグループＩＤとそのルータＩＤとを通知する。
【００３９】
ルータ１１〜１５の経路管表理部１０Ｃ，１５Ｂは、一般的な公知の経路計算を行って各ルータへの最適経路を選択し、エッジルータ間の経路表を生成する。
図５に経路表５１の構成例を示す。この経路表５１では、出力インターフェースとグループの組み合わせに対してフィルタ情報が記載されている。この経路表５１から出力インターフェースを求めるには、各出力インターフェースごとに、ルータ間転送用ヘッダ８１に記載されたグループに対応したフィルタ情報を経路表５１から取得し、そのフィルタ情報とルータ間転送用ヘッダ８１の宛先エッジルータ群表示部４２との論理積を計算する。そして、その論理積がゼロ以外を示す出力インターフェースからパケットを送信すればよい。
【００４０】
図５のように、各グループごとに、当該グループ内に存在するエッジルータ群の各ルータＩＤの論理和からなるフィルタ情報を用いることにより、多数のエッジルータが存在する場合でも、小さなデータサイズで経路表５１を実現できる。
なお、経路表管理部１０Ｃ，１５Ｂで管理する経路表５１については、図６に示すように、エッジルータをグループとルータＩＤで示したものに対して、出力インターフェースを記載したものでも良く、あるいはまた、図７に示すように、ルータ間転送用ヘッダ８１の値に対して出力インターフェースを記載したものでも良い。このように、パケットのルータ間転送用ヘッダに近い形態で各エッジルータを記載することにより、対応する出力インターフェースを迅速に決定できる。
【００４１】
エッジルータ１１〜１４のフロー管理部１０Ｂは、受信端末からの制御パケットに基づき、各データフローについて当該データフローを構成するパケットの宛先エッジルータを、フロー宛先管理表５３で管理する。図８にフロー宛先管理表５３の構成例を示す。このフロー宛先管理表５３では、宛先エッジルータ群がグループと宛先情報とからなるルータ間転送用ヘッダで示されており、各フローＩＤに対応付けられている。宛先情報は、当該グループに属する宛先エッジルータのルータＩＤが論理和で表示されている。ここでは、エッジルータ１１のフロー宛先管理表が示されており、フローＩＤ「Ａ」に対応する宛先エッジルータとして、グループ＃０内の宛先情報「１０」に対応するエッジルータ１２と、グループ＃１内の宛先情報「０１」に対応するエッジルータ１３とが指定されている。
【００４２】
エッジルータ１１〜１４および中継ルータ１５は、それぞれＣＰＵなどのマイクロプロセッサとその周辺回路を有し、予めＲＯＭに格納されているプログラムを実行することにより、上記ハードウェアとプログラムとを協働させて前述した各機能部を実現している。プログラムについては、記録媒体からメモリへ取り込んで使用するようにしてもよく、通信回線を介して所定のサーバ装置からメモリへ取り込んで使用するようにしてもよい。また、このようなプログラムやマイクロプロセッサを使用せず、専用の処理回路で各機能部を実現してもよい。
【００４３】
次に、図９〜図１１を参照して、本実施の形態にかかるマルチキャスト通信システムで用いるルータの処理動作について説明する。ここでは、マルチキャスト通信処理を、事前準備処理、フロー毎の経路設定処理、およびデータパケット転送処理に分けてそれぞれ説明する。図９は事前準備処理を示すフローチャートである。図１０は経路設定処理を示すフローチャートである。図１１はデータパケット転送処理を示すフローチャートである。
【００４４】
まず、図９を参照して、各ルータでの事前準備処理について説明する。各ルータ１１〜１５の経路表管理部１０Ｃ，１５Ｂは、マルチキャスト通信を開始する事前に、パケット転送部１０Ａ，１５Ａを介してネットワーク管理装置１６より、各エッジルータ１１〜１４のグループＩＤと、宛先エッジルータ群表示部４２のビット位置すなわち各エッジルータ１１〜１４のルータＩＤとを取得する（ステップ１００）。
【００４５】
そして、一般的な公知の経路計算により各エッジルータとの最適経路を選択し、その最適経路に用いる自装置の出力インターフェースについて、前述した図５に示したように、各グループに属する宛先エッジルータ群を対応付けて経路表５１を生成し（ステップ１０１）、一連の事前準備処理を終了する。
なお、端末からのパケットで指定された送信端末アドレスから宛先エッジルータを特定する際に用いる、送信端末アドレスとエッジルータアドレスの対応表、および各エッジルータアドレスとルータＩＤとの対応表は、各エッジルータのパケット転送部６０Ａ，６４Ａに予め記憶されているものとする。
【００４６】
次に、図１０を参照して、各エッジルータでの経路設定処理について説明する。
エッジルータ１１〜１４のパケット転送部１０Ａは、端末または他のルータから制御パケットを受信すると（ステップ１１０）、その制御パケットを参照して受側エッジルータの記載の有無を確認する（ステップ１１１）。
ここで、制御パケットに受側エッジルータの記載がない場合（ステップ１１１：ＮＯ）、その制御パケットは自装置の配下の受信端末からのものであり、自装置が受側エッジルータになると判断し、フロー管理部１０Ｂで、当該制御パケットに含まれているフローＩＤと、当該制御パケットを受信した出力インターフェースをその受信端末への出力インターフェースとしてフロー出力管理表５２に設定する（ステップ１１２）。
【００４７】
そして、パケット転送部１０Ａは、前述した図１６（ａ）のパケット８０に示したように、その制御パケットに受側エッジルータを示す受側ルータＩＤ８２として、自装置が属するグループＩＤと自装置のルータＩＤとを記載し（ステップ１１３）、その制御パケットの宛先端末アドレスに対応するエッジルータのグループＩＤとルータＩＤとをルータ間転送用ヘッダ８１へ記載する（ステップ１１４）。そして、経路表管理部１０Ｃの経路表５１に基づき、そのルータ間転送用ヘッダ８１の内容に対応する出力インターフェースから、送側エッジルータヘ制御パケットを送信し（ステップ１１５）、一連の経路設定処理を終了する。
【００４８】
一方、受信した制御パケットに受側エッジルータの記載がある場合（ステップ１１１：ＹＥＳ）、パケット転送部１０Ａは、その制御パケットは他のエッジルータからのものであり、自装置が送側エッジルータになると判断する。そして、フロー管理部１０Ｂで、当該制御パケットに含まれているフローＩＤに関連付けて、当該制御パケットに含まれている受側ルータＩＤのグループおよびルータＩＤを、前述した図８のフロー宛先管理表５３へ設定する（ステップ１１６）。この際、当該フローＩＤに同一グループの宛先情報がすでに設定されている場合は、その宛先情報と制御パケットのルータＩＤとの論理和を新たな宛先情報として設定する。
【００４９】
その後、パケット転送部１０Ａは、制御パケットからルータ間転送用ヘッダ８１および受側ルータＩＤの記載を削除し、図１６（ａ）のパケット８５と同様の制御パケットを生成する（ステップ１１７）。そして、ステップ１１５へ移行して、送信端末２１が接続されている出力インターフェースからその制御パケットを送信端末２１宛に送信し、一連の経路設定処理を終了する。
【００５０】
次に、図１１を参照して、各ルータでのデータパケット転送処理について説明する。
各ルータ１１〜１５のパケット転送部１０Ａ，１５Ａは、データパケットを受信すると（ステップ１２０）、そのデータパケットのルータ間転送用ヘッダ８１の有無を確認する（ステップ１２１）。
【００５１】
ここで、図１６（ｂ）のパケット８５のように、受信データパケットにルータ間転送用ヘッダ８１がない場合（ステップ１２１：ＮＯ）、そのデータパケットが自装置の配下の送信端末からのものであり、自装置が送側エッジルータになると判断する。そして、フロー管理部１０Ｂで、データパケットに記載されているフローＩＤに対応する受側エッジルータ群を示すルータ間転送用ヘッダ８１をフロー宛先管理表５３から取得する（ステップ１２２）。この際、パケット転送部１０Ａは、受側エッジルータ群が複数のグループに属する場合は、グループ数と同数のデータパケットを複製し（ステップ１２３）、各グループのデータパケットごとに以下のステップ１２４〜１２７を実行する。
【００５２】
まず、当該データパケットのルータ間転送用ヘッダ８１について、経路表管理部１０Ｃ，１５Ｂの経路表５１を使って出力インターフェースを調べる（ステップ１２４）。この際、１つのルータ間転送用ヘッダ８１に複数の受側エッジルータが含まれているとき、１つのルータ間転送用ヘッダ８１に対して複数の出力インターフェースが得られることがあり、この場合にはこれら出力インターフェースと同数のデータパケットを複製する（ステップ１２５）。そして、各データパケットの受側エッジルータをルータ間転送用ヘッダ８１として付与し（ステップ１２６）、対応する出力インターフェースからそのデータパケットを送信して（ステップ１２７）、一連のデータパケット転送処理を終了する。
【００５３】
一方、ステップ１２１において、図１６（ｂ）のパケット８０に示すように、受信したデータパケットにルータ間転送用ヘッダ８１があり（ステップ１２１：ＹＥＳ）、自装置が中継ルータであって、そのデータパケットの宛先が自装置でない場合（ステップ１３０：ＮＯ）、パケット転送部１５Ａは、前述したステップ１２４〜１２６を実行した後、ステップ１２７でデータパケットを送信し、一連のデータパケット転送処理を終了する。
【００５４】
また、ステップ１３０において、データパケット記載のルータ間転送用ヘッダ８１の宛先が自装置である場合（ステップ１３０：ＹＥＳ）、パケット転送部１０Ａは、そのデータパケットが自装置の配下の受信端末へのものであり、自装置が受側エッジルータであると判断する。そして、フロー管理部１０Ｂで、そのデータパケットに記載されているフローＩＤに対する出力インターフェースをフロー出力管理表５２から取得し（ステップ１３１）、データパケットからルータ間転送用ヘッダ８１を削除する（ステップ１３２）。そして、ステップ１２７へ移行して、そのデータパケットを端末側の出力インターフェースへ送信して、一連のデータパケット転送処理を終了する。
【００５５】
このように、本実施の形態では、各エッジルータを予め設けられた複数のグループのいずれかに割り当てるとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを割り当てておき、エッジルータのパケット転送部では、送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダをパケットに付与して送信するようにしたので、グループＩＤを設けた分だけ、各グループでルータＩＤを重複して使用することができる。
したがって、ルータ間転送用ヘッダのビット数よりも多くのエッジルータをネットワーク上に設置でき、ルータ間転送用ヘッダのビット数の増加を抑制しつつ、多数のエッジルータを用いた大規模なマルチキャスト通信システムを構築できる。
【００５６】
また、パケット転送部では、送信端末からのパケットに対応する受側エッジルータが異なるグループに属する場合は、当該パケットをそのグループ数分だけ複製し、それぞれのグループごとに生成したルータ間転送用ヘッダを当該パケットに付与してそれぞれ送信するようにしたので、１つのパケットで異なるグループに属する受側エッジルータを指定された場合でも、容易に対応できる。
なお、前述した図１０，１１では、エッジルータおよび中継ルータの処理を１つのフローチャートで説明したが、エッジルータおよび中継ルータで両方の処理を行う必要はなく、実際には当該ルータの役割に応じた処理が実行されればよい。
【００５７】
次に、図１２を参照して、本実施の形態にかかるマルチキャスト通信システムの動作について説明する。図１２は本実施の形態にかかるマルチキャスト通信システムの動作を示すシーケンス図である。
以下では、マルチキャスト通信により端末２１から端末２２，２３へデータパケットを送信する場合を例として説明する。なお、端末２１と端末２２，２３との間の経路設定は、すでに行われているものとする。
【００５８】
端末２１から端末２２ヘデータパケットを送る場合、端末２１は、そのデータパケットに当該データフローを識別するためのフローＩＤ「Ａ」を付けてエッジルータ１１へ送信する（ステップ２１０）。
データパケットを受信したエッジルータ１１のパケット転送部１０Ａは、そのデータパケットからフローＩＤ「Ａ」を読み取り、フロー管理部１０Ｂに問い合わせる。フロー管理部１０Ｂは、図８のフロー宛先管理表５３を参照して、そのフローＩＤ「Ａ」に対応したルータ間転送用ヘッダ８１をパケット転送部１０Ａへ通知する（ステップ２１１）。ここでは、ルータ間転送用ヘッダ８１として、端末２２を示すグループ＃０−宛先情報「１０」と、端末２３を示すグループ＃１−宛先情報「０１」の２つが通知される。
【００５９】
パケット転送部１０Ａは、フロー管理部１０Ｂから取得したルータ間転送用ヘッダ８１が、異なるグループに属する受側エッジルータを示している場合、受信したデータパケットをそのグループ数だけ複製し、各グループに割り当てる（ステップ２１２）。ここでは、端末２２，２３がそれぞれ異なるグループ＃０，＃１に属していることから、受信したデータパケットは２つに複製される。
そして、経路表管理部１０Ｃの経路表５１を調べ、各グループのデータパケットごとに、そのルータ間転送用ヘッダ８１に基づきデータパケットを送信すべき出力インターフェースを得る（ステップ２１３）。
【００６０】
この例では、グループ＃０−宛先情報「１０」のルータ間転送用ヘッダ８１について、経路表５１の各出力インターフェースのうちグループ＃０のフィルタ情報と上記宛先情報（宛先エッジルータ群表示部４２）「１０」との論理積が計算される。ここでは、出力インターフェース＃１のフィルタ情報「１０」との論理積としてゼロ以外の値「１０」が得られることから、送信すべき出力インターフェースとして＃１を得る。
同様にして、グループ＃１−宛先情報「０１」のルータ間転送用ヘッダ８１について、経路表５１の各出力インターフェースのうちグループ＃１のフィルタ情報と上記宛先情報（宛先エッジルータ群表示部４２）「０１」との論理積が計算される。ここでは、出力インターフェース＃１のフィルタ情報「１１」との論理積としてゼロ以外の値「０１」が得られることから、送信すべき出力インターフェースとして＃１を得る。
【００６１】
そして、パケット転送部１０Ａは、グループ＃０，＃１向けの各データパケットに、それぞれの論理積「１０」，「０１」からなるルータ間転送用ヘッダ８１を付与し（ステップ２１４）、それぞれ対応する出力インターフェース＃１より送信する（ステップ２１５）。
【００６２】
データパケットを受信した中継ルータ１５のパケット転送部１５Ａは、そのデータパケットからルータ間転送用ヘッダ８１を読み取り、経路表管理部１５Ｂの経路表５１を調べ、そのデータパケットを送信すべき出力インターフェースを得る（ステップ２２０）。
例えば、グループ＃１向けの上記データパケットを受信した場合は、そのデータパケットの宛先グループ表示部４１がグループ＃１を示すことから、そのデータパケットの宛先エッジルータ群表示部４２「０１」と経路表５１の各出力インターフェースのうちグループ＃１のフィルタ情報との論理積を計算する。ここでは、出力インターフェース＃２のフィルタ情報「０１」との論理積としてゼロ以外の値「０１」が得られることから、送信すべき出力インターフェースとして＃２を得る。
【００６３】
また、グループ＃０向けの上記データパケットを受信した場合は、そのデータパケットの宛先グループ表示部４１がグループ＃０を示すことから、そのデータパケットの宛先エッジルータ群表示部４２「１０」と経路表５１の各出力インターフェースのうちグループ＃０のフィルタ情報との論理積を計算する。ここでは、出力インターフェース＃１のフィルタ情報「１０」との論理積としてゼロ以外の値「１０」が得られることから、送信すべき出力インターフェースとして＃１を得る。
【００６４】
そして、パケット転送部１５Ａは、グループ＃１向けの各データパケットについて、その論理積「０１」によりルータ間転送用ヘッダ８１を更新し（ステップ２２１）、対応する出力インターフェース＃２より送信する（ステップ２２２）。
また、グループ＃０向けの各データパケットについて、その論理積「１０」によりルータ間転送用ヘッダ８１を更新し、対応する出力インターフェース＃１より送信する。
【００６５】
データパケットを受信したエッジルータ１３のパケット転送部１０Ａは、そのデータパケットのルータ間転送用ヘッダ８１が自装置を示すことから、そのデータパケットからフローＩＤ「Ａ」を読み取り、フロー管理部１０Ｂへ問い合わせる。フロー管理部１０Ｂは、そのフローＩＤ「Ａ」に基づきフロー出力管理表５２を調べ、そのフローＩＤ「Ａ」に対する出力インターフェース＃０をパケット転送部１０Ａへ通知する。パケット転送部１０Ａは、フロー管理部１０Ｂから当該データパケットを送信すべき出力インターフェースとして出力インターフェース＃０を取得する（ステップ２３０）。そして、受信したデータパケットからルータ間転送用ヘッダ８１を取り除き（ステップ２３１）、対応する出力インターフェース＃０から端末２３ヘデータパケットを送る（ステップ２３２）。
【００６６】
こうして端末２３は、端末２１から送信されたデータパケットを、エッジルータ１１，中継ルータ１５、およびエッジルータ１３を介して受信する。
エッジルータ１２でも、エッジルータ１３と同様のパケット転送処理が行われ、端末２２は、端末２１から送信されたデータパケットを、エッジルータ１１，中継ルータ１５、およびエッジルータ１２を介して受信する。
【００６７】
なお、以上では、図１に示したネットワーク構成、すなわち端末２１〜２４がそれぞれエッジルータ１１〜１４に接続されているとともに、各エッジルータ１１〜１４が中継ルータ１５に接続されており、エッジルータ１１，１２がグループ＃０に属し、エッジルータ１３，１４がグループ＃１に属する場合を例として説明したが、これら端末、エッジルータ、中継ルータ、およびグループの数や接続関係については、図１に限定されるものではなく、他のネットワーク構成であっても本実施の形態を同様にして適用でき、同様の作用効果が得られる。
【００６８】
特に、エッジルータが増加するに連れて、ルータ間転送用ヘッダのビット長を大幅に短縮できる。前述したように、ルータ間転送用ヘッダ８１の長さがｍ（ｍは正整数）ビットで、そのうちｎ（ｎはｍより小さい正整数）ビットが２ｎ個のグループの表示に割り当てられるとすると、表示可能な全エッジルータ数ｋ（ｋは正整数）は、ｋ＝２ｎ×（ｍ−ｎ）で求められる。したがって、全エッジルータ数ｋのときに必要なｍは、ｍ＝（ｋ／２ｎ）＋ｎで表される。
【００６９】
【発明の効果】
以上説明したように、本発明は、各エッジルータを予め設けられた複数のグループのいずれかに割り当てるとともに、当該グループ内のエッジルータに対して１ビットずつ個別に割り当てたビット列からなるルータＩＤを割り当てておき、エッジルータのパケット転送部では、送信端末からのパケットを送信する際、当該受側エッジルータが属するグループを２進表記で示すグループＩＤとそのグループ内に存在する受側エッジルータ群の各ルータＩＤの論理和からなる宛先情報とから生成したルータ間転送用ヘッダをパケットに付与して送信するようにしたので、グループＩＤを設けた分だけ、各グループでルータＩＤを重複して使用することができる。
したがって、ルータ間転送用ヘッダのビット数よりも多くのエッジルータをネットワーク上に設置でき、ルータ間転送用ヘッダのビット数を増加を抑制しつつ、多数のエッジルータを用いた大規模なマルチキャスト通信システムを構築できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態にかかるマルチキャスト通信システムの構成を示すブロック図である。
【図２】図１のエッジルータの構成を示すブロック図である。
【図３】図１の中継ルータの構成を示すブロック図である。
【図４】ルータ間転送用ヘッダの構成例である。
【図５】経路表の構成例である。
【図６】経路表の他の構成例である。
【図７】経路表の他の構成例である。
【図８】フロー宛先管理表の構成例である。
【図９】各ルータにおける事前準備処理を示すフローチャートである。
【図１０】各エッジルータにおける経路設定処理を示すフローチャートである。
【図１１】各ルータにおけるデータパケット転送処理を示すフローチャートである。
【図１２】本実施の形態にかかるマルチキャスト通信システムのデータパケット転送処理を示すシーケンス図である。
【図１３】従来のマルチキャスト通信システムの構成を示すブロック図である。
【図１４】従来のエッジルータの構成を示すブロック図である。
【図１５】従来の中継ルータの構成を示すブロック図である。
【図１６】マルチキャスト通信システムで用いられるパケットの構成例である。
【図１７】従来の経路表の構成例である。
【図１８】従来のマルチキャスト通信システムの経路設定処理を示すシーケンス図である。
【図１９】従来のマルチキャスト通信システムのデータパケット転送処理を示すシーケンス図である。
【符号の説明】
１０，１１，１２，１３，１４…エッジルータ、１０Ａ…パケット転送部、１０Ｂ…フロー管理部、１０Ｃ…経路表管理部、１５…中継ルータ、１５Ａ…パケット転送部、１５Ｂ…経路表管理部、１６…ネットワーク管理装置、２１，２２，２３，２４…端末、３０…グループ＃０、３１…グループ＃１、４１…宛先グループ表示部、４２…宛先エッジルータ群表示部、５１…経路表、５２…フロー出力管理表、５３…フロー宛先管理表、８１…ルータ間転送用ヘッダ。
【図１】
2004328580.tif 000003
【図２】
2004328580.tif 000004
【図３】
2004328580.tif 000005
【図４】
2004328580.tif 000006
【図５】
2004328580.tif 000007
【図６】
2004328580.tif 000008
【図７】
2004328580.tif 000009
【図８】
2004328580.tif 000010
【図９】
2004328580.tif 000011
【図１０】
2004328580.tif 000012
【図１１】
2004328580.tif 000013
【図１２】
2004328580.tif 000014
【図１３】
2004328580.tif 000015
【図１４】
2004328580.tif 000016
【図１５】
2004328580.tif 000017
【図１６】
2004328580.tif 000018
【図１７】
2004328580.tif 000019
【図１８】
2004328580.tif 000020
【図１９】
2004328580.tif 000021