(57)【特許請求の範囲】
【請求項１】
ソースから送信されるマルチキャストトラフィックをクライアントへ転送するための複数のルータを含むマルチキャストネットワークシステムであって、
前記各ルータは、
少なくともマルチキャストルーティングプロトコルによって決定された前記ソースから前記クライアントへの前記マルチキャストトラフィックの配信経路に応じた転送制御情報を保持するマルチキャストルーティングテーブルと、
前記マルチキャストトラフィックの配信経路に対する代替経路情報を生成する生成部と、
自ルータを通過する前記配信経路において、自ルータより上流側でリンク障害が生じたときに、前記代替経路情報に基づき、代替経路上の各ルータへ、代替経路の入方路及び出方路の少なくとも一方を示す情報を含む配信経路の変更通知を送信する通知制御部と、
前記配信経路の変更通知の送信又は受信に応じて、前記マルチキャストルーティングプロトコルに基づく前記マルチキャストルーティングテーブルの更新を待つことなく前記配信経路の前記リンク障害に係る部分が前記代替経路で置換されるように、自ルータ内における前記配信経路の変更処理として、前記変更通知中の入方路及び出方路の少なくとも一方を示す情報に従ってマルチキャストトラフィックの経路を変更する処理を実行する変更部と
を含むマルチキャストネットワークシステム。
【請求項２】
前記各ルータは、自ルータが前記配信経路を流れる前記マルチキャストトラヒックを受信する第１入方路を有する場合に、前記第１入方路の代わりに前記マルチキャストトラヒックを受信可能な第２入方路を特定し、前記第２方路から前記代替経路の確認メッセージを前記ソース向けに送信し、
前記確認メッセージを受信する１以上のルータは、自ルータのＩＰアドレスを前記確認メッセージに格納する一方で、前記確認メッセージを受信した方路と異なる方路に前記確認メッセージを送出し、
前記確認メッセージの送信元のルータは、前記第２方路を基点とし前記代替経路を辿って前記ソースに到達する一方で前記ソースから折り返されて自ルータに到着した前記確認メッセージに格納された、前記代替経路上の１以上のルータのＩＰアドレスを含む前記代
替経路情報を生成し、前記配信経路の変更通知を送信するときには、前記代替経路情報に含まれた所定の前記代替経路上のルータのＩＰアドレスを、前記配信経路の変更に係る方路情報として前記配信経路の変更通知に含める
請求項１に記載のマルチキャストネットワークシステム。
【請求項３】
前記変更部は、前記配信経路の変更処理として、前記代替経路を辿って前記マルチキャストトラフィックが流れるように、自ルータ内の前記マルチキャストルーティングテーブルを書き換える
請求項１又は２に記載のマルチキャストネットワークシステム。
【請求項４】
前記変更部によって書き換えられた前記マルチキャストルーティングテーブルは、その後の前記マルチキャストルーティングプロトコルに基づいて新たに決定された配信経路に従って更新される
請求項３に記載のマルチキャストネットワークシステム。
【請求項５】
ソースから送信されるマルチキャストトラフィックをクライアントへ転送するための複数のルータを含むマルチキャストネットワークシステムにおいて、
前記各ルータが、
少なくともマルチキャストルーティングプロトコルによって決定された前記ソースから前記クライアントへの前記マルチキャストトラフィックの配信経路に応じた転送制御情報を保持するマルチキャストルーティングテーブルを生成し、
前記マルチキャストトラフィックの配信経路に対する代替経路情報を生成し、
自ルータを通過する前記配信経路において、自ルータより上流側でリンク障害が生じたときに、前記代替経路情報に基づき、代替経路上の各ルータへ、代替経路の入方路及び出方路の少なくとも一方を示す情報を含む配信経路の変更通知を送信し、
前記配信経路の変更通知の送信又は受信に応じて、前記マルチキャストルーティングプロトコルに基づく前記マルチキャストルーティングテーブルの更新を待つことなく前記配信経路の前記リンク障害に係る部分が前記代替経路で置換されるように、自ルータ内における前記配信経路の変更処理を実行する
ことを含むマルチキャストネットワークシステムにおける配信経路変更方法。
【請求項６】
前記各ルータは、自ルータが前記配信経路を流れる前記マルチキャストトラヒックを受信する第１入方路を有する場合に、前記第１入方路の代わりに前記マルチキャストトラヒックを受信可能な第２入方路を特定し、前記第２方路から前記代替経路の確認メッセージを前記ソース向けに送信し、
前記確認メッセージを受信する１以上のルータは、自ルータのＩＰアドレスを前記確認メッセージに格納する一方で、前記確認メッセージを受信した方路と異なる方路に前記確認メッセージを送出し、
前記確認メッセージの送信元のルータは、前記第２方路を基点とし前記代替経路を辿って前記ソースに到達する一方で前記ソースから折り返されて自ルータに到着した前記確認メッセージに格納された、前記代替経路上の１以上のルータのＩＰアドレスを含む前記代替経路情報を生成し、前記配信経路の変更通知を送信するときには、前記代替経路情報に含まれた所定の前記代替経路上のルータのＩＰアドレスを、前記配信経路の変更に係る方路情報として前記配信経路の変更通知に含める
請求項５に記載のマルチキャストネットワークシステムにおける配信経路変更方法。
【請求項７】
前記配信経路の変更処理として、前記代替経路を辿って前記マルチキャストトラフィックが流れるように、自ルータ内の前記マルチキャストルーティングテーブルが書き換えられる
請求項５又は６に記載のマルチキャストネットワークシステムにおける配信経路変更方法
。
【請求項８】
前記配信経路の変更処理によって書き換えられた前記マルチキャストルーティングテーブルは、その後の前記マルチキャストルーティングプロトコルに基づいて新たに決定された配信経路に従って更新される
請求項７に記載のマルチキャストネットワークシステムにおける配信経路変更方法。
【請求項９】
ソースから送信されるマルチキャストトラフィックをクライアントへ転送するためのマルチキャストネットワークをなす複数のルータの一つであって、
少なくともマルチキャストルーティングプロトコルによって決定された前記ソースから前記クライアントへの前記マルチキャストトラフィックの配信経路に応じた転送制御情報を保持するマルチキャストルーティングテーブルと、
前記マルチキャストトラフィックの配信経路に対する代替経路情報を生成する生成部と、
自ルータを通過する前記配信経路において、自ルータより上流側でリンク障害が生じたときに、前記代替経路情報に基づき、代替経路上の各ルータへ、代替経路の入方路及び出方路の少なくとも一方を示す情報を含む配信経路の変更通知を送信する通知制御部と、
前記配信経路の変更通知の送信又は受信に応じて、前記マルチキャストルーティングプロトコルに基づく前記マルチキャストルーティングテーブルの更新を待つことなく前記配信経路の前記リンク障害に係る部分が前記代替経路で置換されるように、自ルータ内における前記配信経路の変更処理を実行する変更部と
を含むルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストネットワークシステムに関する。
【背景技術】
【０００２】
ＩＰマルチキャストネットワークにおいては、ＰＩＭ−ＳＭ（Protocol Independent Multicasting-Sparse Mode）のようなマルチキャストルーティングプロトコルをルータの
ようなパケット転送装置間で交換し、マルチキャストルーティングテーブルを各ルータ内に生成する。マルチキャストルーティングテーブルを用いたマルチキャストトラヒックの転送制御によって、マルチキャストパケットの転送が実現される。
【０００３】
また、マルチキャストパケット転送に関しては、マルチキャストルーティングプロトコルに基づくジョイン（参加要求）メッセージおよびリーブ（離脱要求）メッセージによって、マルチキャストトラヒックの配信開始及び配信停止が行われる。
【０００４】
マルチキャストパケット転送では、通常、ユニキャストルーティングプロトコルが併用される。ルータでは、ユニキャストルーティングプロトコルに基づきルータで設定されたユニキャスト第１優先インタフェースから、上記したジョインメッセージおよびリーブメッセージのようなマルチキャストルーティングプロトコルに基づく制御メッセージが送信される。制御メッセージの送受信経路を使用して、マルチキャストトラヒックの配信開始および配信停止が行われる。
【０００５】
マルチキャストトラヒック配信中に、このマルチキャストトラヒックの配信ツリー（配信経路）上における回線故障や、ネットワークのトポロジ変更が発生することがある。この場合、配信ツリーに関する各ルータにおいて、ユニキャストルーティングプロトコルを用いた経路の再学習が行われる。各ルータでは、再学習の結果に従って、マルチキャストパケットの宛先アドレスに対する第１優先インタフェースが決定（コンバージェンス）される。
【０００６】
その後、各ルータの第１優先インタフェースに関して、マルチキャスト制御パケット（ジョインメッセージ）の送受信が行われる。そして、下流(マルチキャストトラヒックの
宛先（クライアント）を収容する最下流のルータ（ラストホップルータと呼ばれる）)か
ら上流(マルチキャストトラヒックのソース（サーバ）に収容された最上流のルータ（フ
ァーストホップルータと呼ばれる)）へ向けて、ホップバイホップで受信要求の再学習が
実行される。この再学習の完了（マルチキャストルーティングプロトコルのコンバージェンス）後に、再学習の結果作成されたマルチキャストトラヒックの配信ツリーに従ったマルチキャストトラヒックの転送が再開される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２８７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＰＩＭ−ＳＭ、或いはＰＩＭ−ＳＳＭ（PIM-Source Specific Multicast）では、障害
やトポロジ変更が発生すると、配信ツリーにおける下流のルータは、ＰＩＭジョインメッセージを上流のルータに送出し、ホップバイホップで配信ツリー変更が実行される。このため、各ルータでの配信ツリーの変更処理が完了し、新たな配信ツリーの状態が収束（コ
ンバージェンス）するまでに時間が掛かっていた。従って、障害発生時におけるマルチキャストトラヒックの配信中断時間が長いと言う問題があった。
【０００９】
本発明の一態様の目的は、配信ツリーの変更によるマルチキャストトラヒック配信の中断時間の短縮化を図ることが可能な技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一態様は、ソースから送信されるマルチキャストトラフィックをクライアントへ転送するための複数のルータを含むマルチキャストネットワークシステムであって、
前記各ルータは、
少なくともマルチキャストルーティングプロトコルによって決定された前記ソースから前記クライアントへの前記マルチキャストトラフィックの配信経路に応じた転送制御情報を保持するマルチキャストルーティングテーブルと、
前記マルチキャストトラフィックの配信経路に対する代替経路情報を生成する生成部と、
自ルータを通過する前記配信経路において、自ルータより上流側でリンク障害が生じたときに、前記代替経路情報に基づき、代替経路上の少なくとも１つのルータへ配信経路の変更通知を送信する通知制御部と、
前記配信経路の変更通知の送信又は受信に応じて、前記マルチキャストルーティングプロトコルに基づく前記マルチキャストルーティングテーブルの更新を待つことなく前記配信経路の前記リンク障害に係る部分が前記代替経路で置換されるように、自ルータ内における前記配信経路の変更処理を実行する変更部と
を含む。
【発明の効果】
【００１１】
本発明の一態様によれば、配信ツリーの変更によるマルチキャストトラヒック配信の中断時間の短縮化を図ることが可能な技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施形態に係るＩＰマルチキャストネットワークのトラフィックの流れおよびマルチキャスト代替経路決定を説明する図である。
【図２Ａ】図２Ａは、ソース迄の経路・到達性確認メッセージ（ＩＰパケット）のフォーマットを説明する図である。
【図２Ｂ】図２Ｂは、予めネットワーク内のサーバやルータに実装して置き、図２Ａのソース迄の経路・到達性確認メッセージ（ＩＰパケット）の受信した時にサーバやルータで動作するソフトウェアの動作フローを説明する図である。
【図３】図３はマルチキャスト代替経路決定時のシーケンス図である。
【図４】図４はマルチキャスト代替経路決定時の各ルータにおける処理フローチャートである。
【図５】図５は、マルチキャストトラフィック配信ツリー上で回線故障ないしはトポロジ変更による回線断が発生した場合の代替経路切替を説明する図である。
【図６】図６は、配信ツリー変更情報通知メッセージのフォーマットを説明する図である。
【図７】図７は、マルチキャスト経路切替における各ルータ間でのパケット及び配信ツリー変更情報通知メッセージ送受信のシーケンス図である。
【図８】図８は、マルチキャストトラフィック配信ツリー上で回線故障ないしはトポロジ変更による回線断が発生した場合の回線故障ないしは回線断検出の直近の下流ルータにおける配信ツリー変更情報通知および自ルータの代替経路切替の処理例を示すフローチャートである。
【図９】図９は、マルチキャストトラフィック配信ツリー上で回線故障（復旧）ないしはトポロジ変更による回線断（接続）が発生した場合の配信ツリー変更情報受信ルータにおける代替経路切替の処理例を示すフローチャートである。
【図１０】図１０は、マルチキャストトラフィック配信ツリー上で回線復旧ないしはトポロジ変更による回線接続が発生した場合の回線復旧ないしは回線接続検出の直近の下流ルータにおける配信ツリー変更情報通知および自ルータの代替経路切替の処理フロー図である。
【図１１】図１１は、マルチキャスト配信ツリーのダイレクト変更を実現するためのルータのハードウェアおよび機能ブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態を、図面を参照して説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１４】
図１は、本発明の実施形態に係るマルチキャストネットワークの例を示す。図１に例示するマルチキャストネットワークは、マルチキャスト配信サーバ２１０（ソース（センダーとも呼ばれる）Ｓ１）と、マルチキャストグループへの参加／離脱が可能なルータ２０１〜２０６（ノードａ１〜ａ６）と、クライアント２２０（ホスト（レシーバとも呼ばれる）Ｈ１）とを含んでいる。
【００１５】
ルータ２０１〜２０６は、ユニキャストルーティングプロトコル（例えば、ＲＩＰ（Routing Information Protocol）,或いはＯＳＰＦ（Open Shortest Path First））と、マ
ルチキャストルーティングプロトコル(例えば、ＰＩＭ−ＳＭ，或いはＰＩＭ−ＳＳＭ)とに従った、サーバ２１０からのマルチキャストトラフィックの配信ツリー（配信経路）の生成、及び配信ツリーに従ったマルチキャストパケットの転送処理を行う。
【００１６】
ルータ２０１〜２０６は、ユニキャストルーティングプロトコルによって、各ルータ２０１〜２０６間を結ぶ各回線のリンクアップおよびリンクダウン、障害等を検知することができる。これによって、ルータ２０１〜２０６は、マルチキャストネットワーク内の経路の障害情報を共有することができる。
【００１７】
クライアント２２０（ホストＨ１）は、サーバ２１０（ソースＳ１）から配信されるマルチキャストトラフィック（ＩＰマルチキャストパケット）を受信する。クライアント２２０は、サーバ２１０からのマルチキャストパケットの受信に関して、マルチキャストグループＧ１に属している。
【００１８】
サーバ２１０から配信されるマルチキャストパケット（マルチキャストトラフィック）は、サーバ２１０とクライアント２２０との間に設けられた配信ツリー上を転送される。サーバ２１０をソースＳ１とするマルチキャストグループＧ１の配信ツリーは、例えば、（２１０（Ｓ１）→２０６（ａ６）→２０４（ａ４）→２０２（ａ２）→２０１（ａ１）→２２０（Ｈ１））である。
【００１９】
図１に示したマルチキャストネットワークにおいて、配信ツリー上に位置するルータ２０２（ａ２）が、マルチキャストトラフィックを受信する入方路（Incoming Interface）に対する代替経路情報を収集する場合を例として説明する。
【００２０】
上記した配信ツリーに従えば、ルータ２０２は、上流側の隣接ルータであるルータ２０４からマルチキャストトラフィックを受信する。このようなマルチキャストトラフィックを受信する上流側の入方路が「マルチキャストトラフィックの入方路」に相当する。この入方路は、上流側の隣接ルータ（ルータ２０４）から見れば、マルチキャストトラフィックの出方路（Outgoing Interface）となる。
【００２１】
本実施形態では、リンク障害又は装置障害によって上記入方路からマルチキャストトラフィックを受信できなくなった場合に、代わりの入方路（インタフェース又はポート）からマルチキャストトラフィックを受信することが試みられる。このことに鑑み、上記入方路を「第１（優先）入方路」と表記し、代わりの入方路（代替入方路）を「第２（優先）入方路」と表記することがある。「（優先）」の語は、ソースとホストを結ぶ複数の経路に対し、コストやメトリックを基準とした優先順位に従って、配信ツリーが決定されることに由来する。
【００２２】
ルータ２０２は、ルータ２０２自身が保持するルーティング情報（ルーティングテーブル）を参照し、ソースＳ１およびグループＧ１に対するマルチキャストエントリ（（S1, G1）エントリ）の第１入方路に対する第２入方路を決定する。ルータ２０２は、決定された第２入方路から、サーバ２１０（ソースＳ１）のＩＰアドレス向けに、経路・到達性確認メッセージを送信することによって、ルータ２０２からサーバ２１０（ソースＳ１）迄のパケットの到達性及び経路を確認する。
【００２３】
具体的には、ルータ２０２は、ユニキャストルーティングプロトコルによって、ルータ２０２とサーバ２１０との間に複数の経路が存在することを学習することができる。図１の例では、ルータ２０２は、ルータ２０４を経由する経路と、ルータ２０３を経由する経路とが存在することを学習する。
【００２４】
ルータ２０２を含むルータ２０１〜２０６によるユニキャストルーティングプロトコルの実施によって、ルータ２０１〜２０６は、サーバ２１０までの複数の経路とそのコスト又はメトリックを入手し、サーバ２１０までの最短経路を学習することができる。また、ルータ２０１〜２０６は、学習結果に応じたユニキャスト用のルーティングテーブルを作成することができる。ルータ２０１〜２０６におけるユニキャスト用ルーティングテーブルの完成を以て、ルータ２０１〜２０６が、ユニキャストに関するコンバージェンス（収束）状態となる。
【００２５】
一方、ルータ２０１〜２０６におけるマルチキャストルーティングプロトコルの実行によって、サーバ２１０をソース（センダー）とし、且つクライアント２２０をホスト（レシーバ）とするマルチキャストトラヒックの配信ツリーが構築される。このとき、ルータ２０１〜２０６が配信ツリーに応じたマルチキャスト用のルーティングテーブルを完成させることによって、ルータ２０１〜２０６が、マルチキャストに関するコンバージェンス（収束）状態となる。
【００２６】
ルータ２０２は、ユニキャスト及びマルチキャストのコンバージェンス状態において、ルータ２０４からのマルチキャストトラフィックを受信する方路をマルチキャストエントリ（Ｓ１，Ｇ１）に係る第１（優先）入方路と認識することができる。マルチキャストエントリは、ソース（Ｓ）とマルチキャストグループ（Ｇ）によって特定される。一方、ルータ２０２は、代替経路として、ルータ２０３からパケットを受信する配信ツリーの代替経路を認識でき、この代替経路に係る入方路を第２（優先）入方路に決定することができる。
【００２７】
ルータ２０２は、第２入方路を決定（特定）した場合には、サーバ２１０（ソースＳ１）の経路・到達性確認メッセージを用いて、サーバ２１０迄のパケットの到達性及び経路確認を行う。経路・到達性確認のためのＩＰパケット（経路・到達性確認メッセージ）をサーバ２１０向けに第２入方路から送信する。すなわち、ルータ２０４より優先度の低い経路上のルータ２０３に対してサーバ２１０（ソースＳ１）迄のパケットの到達性および経路を確認する。
【００２８】
図２Ａは、経路・到達性確認メッセージの例を示す。図２Ａにおいて、経路・到達性確認メッセージ（以下、単に確認メッセージと表記することもある）のフォーマットは、送信元ＩＰアドレス及び送信先（宛先）ＩＰアドレス等の情報を格納するヘッダ部１００と、経由ルータ（インターフェース）のＩＰアドレス情報（図２Ａでは、Ｒ１〜Ｒ３を例示）等の情報を格納するデータ部１０１から成る。
【００２９】
経路・到達性確認メッセージを受信したルータは、ＩＰパケットのデータ部１０１に対し、ルータ自身のＩＰアドレスを格納し、ＩＰパケットを受信した方路（送信元方路）を除く方路へＩＰパケットを送信する。
【００３０】
図２Ｂは、予めネットワーク内のサーバやルータに実装して置き、図２Ａに示したソース迄の経路・到達性確認メッセージ（ＩＰパケット）の受信した時にサーバやルータで動作するソフトウェアの動作フローを説明する図である。ネットワーク内の各サーバやルータは、図２Ａの経路・到達性確認メッセージを受信すると（ステップ２１００）、受信した経路・到達性確認メッセージの宛先アドレスが自ノード（自ルータ）かを判定し（ステップ２１０１）する。このとき、宛先アドレスが自ノードのＩＰアドレスである場合、自ノードのＩＰアドレスを経路・到達性確認メッセージに追加して、送信元アドレスに返送し（ステップ２１０３）、処理を終了する。ステップ２１０１において宛先アドレスが自ノードのＩＰアドレスでは無い場合、自ノードのＩＰアドレスを経路・到達性確認メッセージに追加し、経路・到達性確認メッセージを受信したインタフェース以外の全てのインタフェースから、経路・到達性確認メッセージを転送し（ステップ２１０２）、処理を終了する。
【００３１】
図３は、ルータ２０２による経路・到達性確認シーケンスである。図３における実線矢印は、第２入方路（ルータ２０３）へ向けて送信された経路・到達性確認メッセージのシーケンス例を示す。一方、一点鎖線矢印は、第１入方路（ルータ２０４）へ経路・到達性確認メッセージを送信したときのシーケンス例を示す。
【００３２】
ルータ２０２からルータ２０３へ送信された確認メッセージは、ルータ２０３，ルータ２０５，ルータ２０４，ルータ２０６を経由してサーバ２１０に到達する。確認メッセージのデータ部１０１（図１）には、確認メッセージが通過した順で各経由ルータ（又はインタフェース）のＩＰアドレスが各経由ルータによって格納される。
【００３３】
確認メッセージを受信したサーバ２１０は、確認メッセージのヘッダ部１００（図１）における送信元アドレス（ルータ２０２のＩＰアドレス）と送信先アドレス（サーバ２１０のＩＰアドレス）とを入れ替え、ルータ２０２へ向けて送信する。これにより、確認メッセージは往路と同一の経路を辿って最終的にルータ２０２に到達する。復路においても、経由ルータのＩＰアドレスがデータ部１０１に格納される。
【００３４】
上記したような第２入方路の決定及び確認メッセージを用いた確認処理は、ユニキャスト及びマルチキャストに関するコンバージェンス状態となったときに、ルータ２０２を含む各ルータで実行される。但し、ファーストホップルータであるルータ２０６は、サーバ２１０（ソースＳ１）からパケットを必ず受信するので、上記決定及び確認処理を実施しなくても良い。
【００３５】
図１１に示すように、上記した確認処理の結果、ルータのメモリ１１１０上には、エントリ別入方路別経路情報１１３４が作成される。経路情報１１３４として、マルチキャストエントリ（Ｓ，Ｇ）と、入方路名と、経由ルータのＩＰアドレスとが関連づけて保持される。図１１に示す経路情報１１３４（を格納するテーブル）の格納内容は、ルータ２０
２における、マルチキャストエントリ（Ｓ１，Ｇ１）に関して第１及び第２入方路に関する確認処理の結果得られた経路情報が示されている。入方路名“Ａ”は第１入方路の名称を示し、入方路名“Ｂ”は第２入方路の名称を示す。このような第２入方路“Ｂ”に関する経路情報が代替経路情報として用いられる。
【００３６】
図４は、マルチキャスト代替経路決定時の各ルータにおける処理フローチャートである。図４において、マルチキャストネットワーク上の各ルータは、図１１のメモリ１１１０内のマルチキャストルーティングテーブル１１３１内のソースを共有する各マルチキャストエントリ内の入方路（第１入方路）に対し、メモリ１１１０内のルーティングテーブル１１２１からその第２入方路を検索する(ステップ４００)。
【００３７】
次に、ルータは、経路・到達性確認メッセージをサーバ２１０（ソース）へ向けて送信することによって、第ｍ位優先入方路からソースＳｎまでの経路上の各ルータのＩＰアドレス情報を取得する(ステップ４０１)。取得した各ルータのＩＰアドレス情報をソースを共有するエントリ別、方路別にメモリ１１１０内にエントリ別入方路別経路情報１１３４として格納する(ステップ４０２)。上記ステップ４００からステップ４０２について、ｍ＝１→２、Ｓ１→Ｓｎまでループを実行し、終了する。
【００３８】
サーバ２１０のＩＰアドレス（ソースアドレス）はルータ２０２において既知である。また、ルータ２０２において、ルータ２０４、２０３のＩＰアドレスは既知である（Helloによるアドレス交換）。従って、サーバ２１０からの確認メッセージ中のデータ部１０
１に格納された各ＩＰアドレスから代替経路上のルータのＩＰアドレスを認識することができる。すなわち、データ部に格納された複数のＩＰアドレスにおけるサーバ２１０のＩＰアドレスより、確認メッセージの往路・復路を判別することができる。さらに、ルータ２０２は、往路又は復路中の複数のＩＰアドレスから、隣接ルータのＩＰアドレスを特定することで、配信ツリーの代替経路を認識することができる。本実施形態では、ルータ２０２は、往路又は復路中の複数のＩＰアドレスから、隣接ルータ（ルータ２０４，２０３）のＩＰアドレスを特定することによって、代替経路はルータ２０３、２０５を経由して、配信ツリー上のプリビアスホップノード（previous hop node）であるルータ２０４に
到達することを知ることができる。
【００３９】
確認処理は、代替経路上の各ルータのＩＰアドレスの入手を目的の一つとする。従って、代替経路上の各ルータのＩＰアドレスが静的な設定又は他の手法によって入手できる場合には、必須の処理ではない。
【００４０】
なお、マルチキャストルーティングプロトコルとして、ＰＩＭ−ＳＭやＰＩＭ−ＳＳＭを適用することができる。ＰＩＭ−ＳＭであれば、配信ツリーは、ランデブーポイント（Rendezvous Point： ＲＰ）であるルータを境に最短パスツリー（Shortest Path Tree：
ＳＰＴ）と共有ツリー(Sheared Tree)とに分かれた経路であったり、ＳＰＴであったりする。ＰＩＭ−ＳＳＭであれば、ＲＰは存在しないので、配信ツリーはＳＰＴである。
【００４１】
図５は、図１に示したマルチキャストネットワークにおいて、ルータ２０４とルータ２０２間の回線障害又はネットワークトポロジ変更による回線断が発生したときの様子を示す。図６は、マルチキャストトラフィック配信ツリー上でリンク障害（回線故障ないしはトポロジ変更による回線断）が発生した場合に直近の下流ルータが代替経路上の上流ルータに配信ツリー変更情報を通知する時に送信する配信ツリー変更情報通知メッセージのフォーマットを説明する図である。図７は、マルチキャスト経路切替における各ルータ間でのパケット及び配信ツリー変更情報通知メッセージ送受信のシーケンス図である。
【００４２】
図５に示すルータ２０２及びルータ２０４は、回線障害又は回線断（まとめて“リンク
障害”と表記する）を信号入力の検出回路による入力喪失検知、或いはＰＩＭのHelloメ
ッセージングによって検知することができる。
【００４３】
ルータ２０２は、リンク障害を検知すると（図７、Ｓ１）、リンク障害を有する回線をマルチキャストトラヒックの配信ツリーにおける入方路とする、全てのマルチキャストエントリに関して、配信ツリーの変更情報を通知する（図７，Ｓ２）。
【００４４】
配信ツリーの変更情報は、リンク障害に係るマルチキャストエントリ、対応する入方路及び出方路情報を含むことができる。図６の例に示すように、配信ツリー変更情報通知メッセージのフォーマットは、ヘッダ部５００とデータ部５０１とからなる。ヘッダ部５００には、送信元ＩＰアドレスおよび送信先ＩＰアドレスを含む情報が格納される。データ部５０１には、マルチキャスト配信を要求する送信元ＩＰアドレスＳ１、Ｓ２、Ｓ３・・・およびグループアドレスＧ＊、マルチキャスト入方路情報ＩＩＦ１、ＩＩＦ２、ＩＩＦ３・・・、マルチキャスト出方路情報ＯＩＦ１、ＯＩＦ２、ＯＩＦ３・・・を含む情報が格納される。出方路情報は、ルータのＩＰアドレスである。「ルータのＩＰアドレス」という表記は、「ルータが有するインタフェースのＩＰアドレス」も含む。
【００４５】
配信ツリー変更情報通知メッセージは、リンク障害による配信ツリーの経路変更により、入方路及び出方路の少なくとも一方に対して変更（差分）を生じるルータに対してのみユニキャストで送信される。配信ツリー変更情報通知メッセージを受信する各ノードは、確認メッセージ受信時と同様に、配信ツリー変更情報通知メッセージを受信した方路と同一の方路へ配信ツリー変更情報通知メッセージを転送しないように、転送制御を行う。これによって、リンク障害を有するリンクを通過するルートのメトリックが小さい場合であっても、そのルートが選択されず、他のルートを辿って目的ルータへメッセージが到着することができる。
【００４６】
例えば、ルータ２０２が配信ツリー変更情報通知メッセージをルータ２０３へ送信した場合、ルータ２０３→ルータ２０２→ルータ２０４のルートがルータ２０３→ルータ２０５→ルータ２０４のルートよりメトリック（コスト）が小さいと仮定する。この仮定では、ルータ２０３は、ルータ２０２から受信したメッセージを再びルータ２０２へ送信する可能性がある。これに対し、本実施形態では、ルータ２０３は、メッセージを受信した方路を転送先の方路から除外する。これによって、メッセージは逆流せず、受信方路と異なる転送方路を辿って目的のルータ（ルータ２０４）へ到達する。
【００４７】
図５に示す例では、ルータ２０４とルータ２０２との間のリンク障害によって、マルチキャストトラフィック（配信ツリー）は、ルータ２０４→ルータ２０５→ルータ２０３→ルータ２０２へ変更されるべきである。このためには、ルータ２０４が出方路変更を行い、ルータ２０５及び２０３がマルチトラフィックを転送するための入方路及び出方路の変更を行わなければならない。従って、配信ツリー変更情報通知メッセージは、ルータ２０４，ルータ２０５，及びルータ２０３の夫々へ送信される（図７、Ｓ２−１，Ｓ２−２，Ｓ２−３）。さらに、ルータ２０２は、第１入方路から第２入方路への変更が要求される。
【００４８】
ルータ２０２〜２０５の夫々が、配信ツリーに対する代替経路に応じた入方路、出方路の変更を実施することによって、ルータ２０４からルータ２０２へ送信すべきグループＧ１宛のマルチキャストトラフィックが、ルータ２０４からルータ２０５、ルータ２０３を経てルータ２０２へ到達する代替経路が生成される。これによって、マルチトキャストラフィックをクライアント２２０への転送することが可能となる。
【００４９】
このような変更に係る経路を用いたマルチキャストトラフィックの転送は、リンク障害
の検知を契機としたユニキャスト及びマルチキャストプロトコルに基づくマルチキャストネットワークのトポロジ情報更新及びルーティング情報更新処理の完了、すなわち、各ルータの配信ツリーに係るルーティングテーブルのコンバージェンス状態を待つことなく開始される（図７、Ｓ３）。
【００５０】
なお、配信ツリー変更情報により変更される各ルータ格納のマルチキャストエントリ別入方路・出方路情報は、図１１のメモリ１１１０に含まれたマルチキャストルーティングテーブル１１３１の様になる。
【００５１】
図８は、マルチキャストトラフィック配信ツリー上で回線故障ないしはトポロジ変更による回線断が発生した場合の回線故障ないしは回線断検出の直近の下流ルータにおける配信ツリー変更情報通知および自ルータの代替経路切替の処理例を示すフローチャートである。
【００５２】
図８において、リンク障害（回線障害ないしは回線断）を検出（ステップ８００）したルータは、リンク障害が生じた方路を第１入方路として使用しているソースを共有する全てのマルチキャストエントリについて、図４にて作成したエントリ別入方路別経路情報１１３４のデータを参照する。続いて、ルータは、各第２入方路の経由ルータに配信ツリー変更情報（エントリ情報（Ｓ,Ｇ）、各ルータにおける入方路、および出方路情報（ＩＰ
アドレス））を経路の変更（差分）が発生するルータにのみ通知する(ステップ８０１)。ルータは、ソースを共有する全エントリについてステップ８０１を実行する(ステップ８
０２)。
【００５３】
次に、ルータは、リンク障害が検出された出方路を第１入方路として使用している全てのマルチキャストエントリについて自ルータの入方路を第２入方路に変更する(ステップ
８０３)。
【００５４】
その後、ユニキャストルーティングプロトコルおよびマルチキャストプロトコルのコンバージェンスが完了したら(ステップ８０４、Ｙ)、再学習したマルチキャストトラヒックの配信ツリーに従って、メモリ１１１０内マルチキャストルーティングテーブル１１３１の情報を変更し (ステップ８０５)、図８の処理を終了する。
【００５５】
図９は、配信ツリーの代替経路への変更のための処理を示すフローチャートである。図９には、回線障害ないし回線断検出直近下流ルータから、ユニキャストで配信ツリー変更情報の通知を受けた代替経路上の各ルータにおける代替経路への切り替えを実効する為の処理が図示されている。
【００５６】
図９において、配信ツリー変更情報を受信したルータは、通知を受けた、ソースを共有する全てのマルチキャストエントリ（Ｓ，Ｇ）について、配信中の入方路・出方路から（存在する場合）、通知を受けた入方路・出方路に、変更する(ステップ９０１)。
【００５７】
配信ツリー変更情報の通知を受けたソースを共有する全エントリに関してステップ９０１が実行される(ステップ９０２)。
【００５８】
その後、各ルータのユニキャストルーティングプロトコルおよびマルチキャストプロトコルのコンバージェンスが完了したら(ステップ９０３)、再学習したマルチキャスト配信ツリーに従い、メモリ１１１０内のマルチキャストルーティングテーブル１１３１の情報を変更する(ステップ９０４)。ステップ９０４が終了すると図９の処理は終了する。
【００５９】
図１０は、回線復旧ないしはトポロジ変更による回線接続発生時（リンク回復時）にお
ける、回復リンクの直近下流ルータにおける、経路切り替えを実効する為の処理例を示すフローチャートである。
【００６０】
図１０に示す処理は、ルータがリンク回復（回線復旧ないしは回線接続）を検出することによって開始される（ステップ１０００）。ルータは、ユニキャストルーティングプロトコルおよびマルチキャストプロトコルのコンバージェンス（配信ツリーの再学習）の完了を待つ(ステップ１００１)。
【００６１】
続いて、ルータは、再学習したマルチキャスト配信ツリーに従い、メモリ１１１０内のマルチキャストルーティングテーブル１１３１の情報を更新する(ステップ１００２)、その後、図１０の処理が終了する。
【００６２】
ステップ１００２の終了時点で、マルチキャストエントリ（Ｓ１，Ｇ１）に対するマルチキャストルーティングテーブル１１３１の内容は、リンク障害発生前の状態に戻る。すなわち、ルータ２０２においては、ルータ２０４からのマルチキャストトラヒックを第１入方路で受信する状態に復帰する。他のルータ２０４、２０５、２０３においても、図１０に示したマルチキャストルーティングテーブル１１３１の更新によって、リンク障害前の状態に戻る。
【００６３】
図１１は、マルチキャストトラヒック配信ツリーのダイレクト変更を実現するためのルータのハードウェアおよび機能ブロック図である。図１１には、図１に示したルータ２０１〜２０６に適用可能なルータ１０が図示されている。
【００６４】
ルータ１０は、中央演算処理装置（ＣＰＵ）１１４０，メモリ１１１０，及び転送処理部１１００を含む。
【００６５】
ＣＰＵ１１４０は、メモリに記憶されたプログラムを実行することによって、ユニキャストおよびマルチキャストのルーティングプロトコル制御、予備経路生成及び代替経路制御を含む様々な処理を行う。
【００６６】
メモリ（ストレージ）１１１０は、ＣＰＵ１１４０によって実行されるプログラムや、プログラムの実行に際して使用されるデータを格納する。メモリ１１１０は、主記憶として使用されるＲＡＭ，ファームウェアを有するＲＯＭ，プログラムやデータを保持するハードディスク，メモリカードのような補助記憶を含むことができる。
【００６７】
転送処理部１１００は、ユニキャストおよびマルチキャストパケットの転送先インタフェースを決定し、パケットの転送を制御するパケット転送処理部１１０３と、パケット転送処理部１１０３とともに送受信を行う回線インタフェース１１０１、１１０２とを備えている。転送処理部１１００は、主に、パケット信号の送受信及び転送制御を司る専用又は汎用のハードウェア（電気・電子回路（ＩＣ，ＬＳＩ，ＡＳＩＣなど））によって実現される。
【００６８】
メモリ１１１０は、ユニキャスト経路制御部１１２０、マルチキャスト経路制御部１１３０、およびトレース先に送信元経路情報を選ばない様な代替ルート実行制御部１１５０を備える。但し、これらは、実際には、ＣＰＵ１１４０がプログラムを実行することによって実現される機能である。
【００６９】
ユニキャスト経路制御部１１２０は、ユニキャスト送信先ＩＰアドレスと送信先回線インタフェースとのデータベースを有するユニキャストルーティングテーブル１１２１と、ユニキャストルーティング情報の送受信処理やユニキャスト経路計算処理を行うルーティ
ングプロトコル制御部１１２２とを含む装置として機能する。テーブル１１２１には、ＩＰパケットの送信元ＩＰアドレス及び宛先ＩＰアドレス、方路（インタフェース）名，及びメトリックをレコードに持つ複数のエントリが保持されている。
【００７０】
マルチキャスト経路制御部１１３０は、マルチキャストグループアドレス、サーバ送信元アドレス、受信回線インタフェース、および送信回線インタフェースのデータベースであるマルチキャストルーティングテーブル１１３１と、マルチキャストルーティングプロトコルの送受信並びに経路計算を行うルーティングプロトコル制御部１１３２とを備えている。
【００７１】
マルチキャスト経路制御部１１３０は、マルチキャスト配信ツリーの変更情報（すなわちエントリ別入方路別経路情報１１３４）の生成及び他ルータへの通知を行う代替経路情報収集及び通知制御部１１３３と、配信ツリーの変更等を制御するマルチキャストルーティングテーブル変換制御部１１３９とをさらに備える。
【００７２】
また、マルチキャスト経路制御部１１３０は、他ルータからのマルチキャスト配信ツリー変更情報の受信を行う代替経路受信制御部１１３５と、他ルータから受信したマルチキャスト配信ツリー変更情報（すなわちルーティングテーブル変更指示情報（変換前）１１３６）をルーティングテーブル変更指示情報（変換後）１１３８にルーティングテーブル１１２１を参照して変換を行うルーティングテーブル変更指示情報変換部１１３７をさらに備える。
【００７３】
ルーティングテーブル変更指示情報変換部１１３７は、受信を行う代替経路受信制御部１１３５から受信した他ルータ（ないしは自ルータ）からのマルチキャスト配信ツリー変更情報（すなわちルーティングテーブル変更指示情報（変換前）１１３６）を、ルーティングテーブル１１２１を参照して対向ルータアドレス→方路名の抽出を行い、ルーティングテーブル変更指示情報（変換後）１１３８に変換する。
【００７４】
代替経路情報収集及び通知制御部１１３３は、マルチキャストルーティングテーブル１１３１とルーティングテーブル１１２１から、トレース先（ソースへの転送先）に送信元経路情報を選ばない様な代替ルート実行制御部１１５０を使用して、エントリ別入方路別経路情報１１３４を生成する。
【００７５】
マルチキャストルーティングテーブル変換制御部１１３９は、このルーティングテーブル変更指示情報（変換後）１１３８に従い、配信が停止する（した）マルチキャストソースを共有するマルチキャストエントリ別に第１入方路（代替経路）への自ルータにおける入方路・出方路の変更処理を行う。
【００７６】
マルチキャストルーティングテーブル変換制御部１１３９は、自ルータにおける入方路・出方路の変更処理を行う場合、マルキャストルーティングテーブル１１３１に、変更後のマルチキャスト転送方路を登録する。
【００７７】
回線障害ないしは回線断発生時には、自ルータが回線障害検出ないしは回線断検出ルータであるときには、代替経路情報収集及び通知制御部１１３３が収集したエントリ別入方路別経路情報１１３４から、代替経路受信制御部１１３５を経由して抽出されたルーティングテーブル変更指示情報（変換前）１１３６を、ルーティングテーブル変更指示情報変換部１１３７によりルーティングテーブル変更指示情報（変換後）１１３８に変換する。その変換後のルーティングテーブル変更指示情報に従い、マルチキャストルーティングテーブル１１３１の入方路および出方路が変更される。エントリ別マルチキャストパケット到着後、パケット転送処理部１１０３を介して、適当な回線インタフェース１１０１、１
１０２へパケット転送が行われる。
【００７８】
回線障害ないしは回線断発生時、自ルータが回線障害検出ないしは回線断検出ルータでない場合は、回線障害検出ないしは回線断検出ルータから受信し、その後ルーティングテーブル変更指示情報変換部１１３７によりルーティングテーブル変更指示情報（変換後）１１３８に変換されたルーティングテーブル変更指示情報に従い、マルチキャストルーティングテーブル１１３１の入方路および出方路を変更、エントリ別マルチキャストパケット到着後、パケット転送処理部１１０３を介して、適当な回線インタフェース１１０１、１１０２へパケット転送を行う。
【００７９】
本実施形態に係るマルチキャストネットワークによれば、各ルータにおいて、少なくとも１つのマルチキャストエントリ（Ｓ，Ｇ）に関して、現在の配信ツリーに従ってソースからのマルチキャストトラフィックを受信する第１入方路の代わりにソースからのマルチキャストトラフィックを受信可能な第２入方路を決定し、第２入方路からマルチキャストトラフィックを受信するための代替経路情報を保持する。
【００８０】
代替経路情報の保持にあたって、ルータは、ソース迄の経路探索手法（経路・到達性確認メッセージ）を用いて、経路及びパケット到達性の確認処理を行うことができる。これによって、ソースまでの経路上に位置する各ルータのＩＰアドレスを得ることができる。レコードルートでの確認処理に用いる確認メッセージは、各ルータにおいて、確認メッセージの送信元の方路（受信方路）には転送されないように転送先が制御される。
【００８１】
その後、リンク障害によって第１入方路からマルチキャストトラフィックを受信できなくなったルータ（リンク障害を生じたリンクの直下のルータ、またはその下流に位置するルータ）は、第２入方路からマルチキャストトラフィックを受信するために、代替経路上に位置する１以上のルータに対して配信ツリー変更情報を通知する。配信ツリー変更情報を受信した各ルータは、代替経路上をマルチキャストトラフィックが流れるように、マルチキャストルーティングテーブル１１３１の設定（書き換え）を行う。
【００８２】
これによって、リンク障害を契機としたユニ／マルチキャストプロトコルに基づく配信ツリーの更新（ユニ／マルチキャストルーティングテーブルの更新）終了（コンバージェンス）を待つことなく、マルチキャストトラフィックが代替経路を通じてクライアント２２０（ホストＨ１）へ転送される。このようにして、経路変更が従来よりもダイレクト（迅速）に実施されるので、リンク障害によるマルチキャストトラフィックの転送の停止又は中断時間の短縮化を図ることができる。
【００８３】
また、配信ツリー変更情報として、経路変更の対象であるマルチキャストエントリ（Ｓ，Ｇ）を示す情報に加えて、確認処理で得た代替経路上のルータ又はインタフェースのＩＰアドレスを出方路情報、時には入方路情報として与えることができる。これにより、配信ツリー変更情報を受信したルータは速やかな経路変更処理が可能となる。なお、入方路情報及び出方路情報として、対向ルータのループパックアドレス、インタフェースアドレス、自ルータのインタフェースアドレスを含むことができる。
【００８４】
その後、リンク障害を契機とした配信ツリーの再構築（各ルータにおける配信ツリーの再学習）によって、各ルータのユニ／マルチキャストルーティングテーブルが更新された場合には、各ルータはそのマルチキャストルーティングテーブルに従ってマルチキャストトラフィックの転送制御を実行する。
【００８５】
その後、リンク障害の解除、すなわち、リンク回復時には、リンク回復を契機とした、又は周期的なユニ／マルチキャストルーティングプロトコルに基づくトポロジ情報更新に
よって、配信ツリーがリンク障害発生前の状態に戻る。配信ツリーの変更に伴い、ユニ／マルチキャストテーブルが更新されることによって、ルータは、第１入方路から受信されるマルチキャストトラフィックを受信する状態に戻る。
【符号の説明】
【００８６】
１００  ヘッダ部
１０１  データ部
２０１〜２０６  ルータ
２１０  サーバ（ソース）
２２０  クライアント（ＰＣ：ホスト）
５００  ヘッダ部
５０１  データ部
１１００  転送処理部
１１０１〜１１０２  回線インタフェース
１１０３  パケット転送処理部
１１１０  メモリ
１１２０  ユニキャスト経路制御部
１１３０  マルチキャスト経路制御部
１１２１  ルーティングテーブル
１１３１  マルチキャストルーティングテーブル
１１２２、１１３２  ルーティングプロトコル制御部
１１３３  代替経路情報収集及び通知制御部
１１３４  エントリ別入方路別経路情報
１１３５  代替経路受信制御部
１１３６  ルーティングテーブル変更指示情報（変換前）
１１３７  ルーティングテーブル変更指示情報変換部
１１３８  ルーティングテーブル変更指示情報（変換後）
１１３９  マルチキャストルーティングテーブル
１１４０  ＣＰＵ
１１５０  代替ルート実行制御部
【図１】
0005691703.tif 000002
【図２Ａ】
0005691703.tif 000003
【図２Ｂ】
0005691703.tif 000004
【図３】
0005691703.tif 000005
【図４】
0005691703.tif 000006
【図５】
0005691703.tif 000007
【図６】
0005691703.tif 000008
【図７】
0005691703.tif 000009
【図８】
0005691703.tif 000010
【図９】
0005691703.tif 000011
【図１０】
0005691703.tif 000012
【図１１】
0005691703.tif 000013