(57)【特許請求の範囲】
【請求項１】
ネットワーク通信装置であって、
複数のネットワークインタフェースと、
前記複数のネットワークインタフェースの中からマルチキャストの上流側のネットワークインタフェースである上流インタフェースを検索し、複数の前記上流インタフェースが検出された場合に、前記複数の上流インタフェースのそれぞれへの前記マルチキャストのデータの送信要求を、前記複数の上流インタフェースのそれぞれを介して前記マルチキャストの上流側に送出し、前記マルチキャストデータの送信要求を送出した上流インタフェースのうちのいずれか１つをアクティブインタフェースとして設定する経路設定部と、
複数の前記上流インタフェースを介した前記マルチキャストのデータの受信が可能であると共に、前記アクティブインタフェースとして設定されている前記上流インタフェースを介して受信された前記マルチキャストのデータのみを、前記マルチキャストの下流側へと中継する中継処理部と、
所定のタイミングで、前記アクティブインタフェースとして設定されている前記上流インタフェースの代わりに、他の前記上流インタフェースを、新たな前記アクティブインタフェースとして設定する切り替え設定部と、を備える、ネットワーク通信装置。
【請求項２】
請求項１に記載のネットワーク通信装置であって、
前記経路設定部は、検出された前記上流インタフェースと設定された前記アクティブインタフェースとを特定する経路情報を作成し、
前記中継処理部は、前記経路情報に従って前記マルチキャストのデータの中継を行い、
前記切り替え設定部は、前記経路情報を変更することにより新たな前記アクティブインタフェースを設定する、ネットワーク通信装置。
【請求項３】
請求項１または請求項２に記載のネットワーク通信装置であって、
前記経路設定部は、新たな前記アクティブインタフェースとして設定されるべき前記他の上流インタフェースを特定する切り替え情報を作成し、
前記切り替え設定部は、前記切り替え情報に従って新たな前記アクティブインタフェースを設定する、ネットワーク通信装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載のネットワーク通信装置であって、
前記所定のタイミングは、前記アクティブインタフェースとして設定された前記上流インタフェースを介した前記マルチキャストのデータの受信が不可能となる所定の障害が検出された時である、ネットワーク通信装置。
【請求項５】
請求項４に記載のネットワーク通信装置であって、
前記所定の障害は、前記アクティブインタフェースとして設定された前記上流インタフェースの障害と、前記アクティブインタフェースとして設定された前記上流インタフェースを介して前記ネットワーク通信装置と隣接する隣接ネットワーク通信装置の障害と、前記マルチキャストの送信元から前記アクティブインタフェースとして設定された前記上流インタフェースまでの通信経路の障害と、の少なくとも１つである、ネットワーク通信装置。
【請求項６】
請求項４または請求項５に記載のネットワーク通信装置であって、さらに、
前記所定の障害を検出する障害検出部を備える、ネットワーク通信装置。
【請求項７】
請求項６に記載のネットワーク通信装置であって、
前記障害検出部は障害検出プロトコルを利用可能である、ネットワーク通信装置。
【請求項８】
請求項１に記載のネットワーク通信装置であって、
前記経路設定部による処理と、前記切り替え設定部による処理と、は互いに独立して実行される、ネットワーク通信装置。
【請求項９】
請求項１に記載のネットワーク通信装置であって、
前記経路設定部は、前記所定のタイミングを特定する切り替え情報を作成し、
前記切り替え設定部は、前記切り替え情報に従って新たな前記アクティブインタフェースを設定する、ネットワーク通信装置。
【請求項１０】
ネットワーク通信方法であって、
（ａ）複数のネットワークインタフェースの中からマルチキャストの上流側のネットワークインタフェースである上流インタフェースを検索し、複数の前記上流インタフェースが検出された場合に、前記複数の上流インタフェースのそれぞれへの前記マルチキャストのデータの送信要求を、前記複数の上流インタフェースのそれぞれを介して前記マルチキャストの上流側に送出し、前記マルチキャストデータの送信要求を送出した上流インタフェースのうちのいずれか１つをアクティブインタフェースとして設定する工程と、
（ｂ）複数の前記上流インタフェースを介して前記マルチキャストのデータを受信すると共に、前記アクティブインタフェースとして設定されている前記上流インタフェースを介して受信された前記マルチキャストのデータのみを、前記マルチキャストの下流側へと中継する工程と、
（ｃ）所定のタイミングで、前記アクティブインタフェースとして設定されている前記上流インタフェースの代わりに、他の前記上流インタフェースを、新たな前記アクティブインタフェースとして設定する工程と、を備える、ネットワーク通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける通信に関し、特に、ネットワークにおけるマルチキャスト通信に関する。
【背景技術】
【０００２】
インターネット等のコンピュータネットワークにおいて、１つの送信端末から複数の受信端末に同時に情報を送るマルチキャストが知られている。マルチキャストでは、送信端末から送出されたデータ（「マルチキャストパケット」や「マルチキャストフレーム」と呼ばれる）が通信経路上のルータにおいて複製され、複製されたデータのそれぞれが、マルチキャストグループに参加している複数の受信端末の１つへと送られる。マルチキャストは、送信端末から各受信端末に個別にデータを送る方法と比較して送信データ量が少なく、例えばストリーミングやビデオ会議といった大容量トラフィックが望まれるリアルタイムマルチメディア通信等に利用されている。
【０００３】
マルチキャストでは、データがマルチキャストグループに参加している受信端末にのみ送られるよう、マルチキャスト経路制御プロトコルに従ったルータによる経路制御が行われる。マルチキャスト経路制御プロトコルとしては、例えばＰＩＭ−ＳＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ  Ｓｐａｒｓｅ−Ｍｏｄｅ）が用いられる（非特許文献１参照）。
【０００４】
【非特許文献１】IETF, “Protocol Independent Multicast Sparse-Mode (PIM-SM) : Protocol Specification”, RFC2362.
【０００５】
ＰＩＭ−ＳＭに従った経路制御では、ＲＰＦ（Ｒｅｖｅｒｓｅ  Ｐａｔｈ  Ｆｏｒｗａｒｄｉｎｇ）計算が用いられる。すなわち、あるマルチキャストグループへの参加要求を下流側から受信したルータは、マルチキャストの送信端末方向の経路上の隣接ルータ（「ＲＰＦ  Ｎｅｉｇｈｂｏｒ」と呼ばれる）をユニキャスト経路表から１つ検出し、検出された隣接ルータとの間のマルチキャスト経路情報を登録すると共に、隣接ルータにマルチキャストグループ参加要求（「ＰＩＭ  Ｊｏｉｎメッセージ」と呼ばれる）を送信する。このようなマルチキャスト経路情報の登録とマルチキャストグループ参加要求の送信とが、マルチキャストの送信端末と受信端末との間の経路上のルータにおいて実行されることにより、送信端末から受信端末までのマルチキャスト通信経路が設定される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
冗長経路やＥＣＭＰ（Ｅｑｕａｌ  Ｃｏｓｔ  Ｍｕｌｔｉｐａｔｈ）を用いたマルチキャストの経路設定では、複数の隣接ルータが検出される場合がある。このような場合には、検出された複数の隣接ルータの内の１つがマルチキャスト経路情報に登録され、登録された隣接ルータを介した経路を用いてマルチキャストのデータ転送が行われる。ここで、例えば当該経路において障害が発生した場合には、他の隣接ルータを新たに登録することにより、データ転送経路の切り替えが可能である。しかし、データ転送経路の切り替えの際には、隣接ルータの再検出やマルチキャスト経路情報の再登録、マルチキャストグループ参加要求の送信等のために、長い通信中断期間が発生する場合があった。
【０００７】
なお、このような問題は、ＰＩＭ−ＳＭに従ったマルチキャスト通信に限らず、ネットワークにおけるマルチキャスト通信一般に共通の問題であった。
【０００８】
本発明は、上述した従来の課題を解決するためになされたものであり、ネットワークにおけるマルチキャスト通信の信頼性を向上させることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【００１０】
［適用例１］ネットワーク通信装置であって、
複数のネットワークインタフェースと、
前記複数のネットワークインタフェースの中からマルチキャストの上流側のネットワークインタフェースである上流インタフェースを検索し、検出された前記上流インタフェースの１つをアクティブインタフェースとして設定する経路設定部と、
複数の前記上流インタフェースを介した前記マルチキャストのデータの受信が可能であると共に、前記アクティブインタフェースとして設定されている前記上流インタフェースを介して受信された前記マルチキャストのデータのみを、前記マルチキャストの下流側へと中継する中継処理部と、
所定のタイミングで、前記アクティブインタフェースとして設定されている前記上流インタフェースの代わりに、他の前記上流インタフェースを、新たな前記アクティブインタフェースとして設定する切り替え設定部と、を備える、ネットワーク通信装置。
【００１１】
このネットワーク通信装置では、複数の上流インタフェースを介してマルチキャストのデータが受信されると共に、アクティブインタフェースとして設定されている上流インタフェースを介して受信されたマルチキャストのデータのみがマルチキャストの下流側へと中継される。そして、所定のタイミングで、他の上流インタフェースが新たなアクティブインタフェースとして設定され、それ以降は新たなアクティブインタフェースとして設定された上流インタフェースを介して受信されたマルチキャストのデータのみがマルチキャストの下流側へと中継される。そのため、このネットワーク通信装置では、迅速なマルチキャストの経路の切り替えが可能であり、ネットワークにおけるマルチキャスト通信の信頼性を向上させることができる。
【００１２】
［適用例２］適用例１に記載のネットワーク通信装置であって、
前記経路設定部は、複数の前記上流インタフェースが検出された場合に、前記複数の上流インタフェースのそれぞれへの前記マルチキャストのデータの送信要求を、前記複数の上流インタフェースのそれぞれを介して前記マルチキャストの上流側に発行する、ネットワーク通信装置。
【００１３】
このネットワーク通信装置では、複数の上流インタフェースのそれぞれへのマルチキャストのデータの送信要求が、複数の上流インタフェースのそれぞれを介してマルチキャストの上流側に発行されるため、複数の上流インタフェースを介してマルチキャストのデータを受信することができる。
【００１４】
［適用例３］適用例１または適用例２に記載のネットワーク通信装置であって、
前記経路制御部は、検出された前記上流インタフェースと設定された前記アクティブインタフェースとを特定する経路情報を作成し、
前記中継処理部は、前記経路情報に従って前記マルチキャストのデータの中継を行い、
前記切り替え設定部は、前記経路情報を変更することにより新たな前記アクティブインタフェースを設定する、ネットワーク通信装置。
【００１５】
このネットワーク通信装置では、アクティブインタフェースを特定する経路情報に従いマルチキャストのデータの中継を行うことができると共に、経路情報を変更することにより新たなアクティブインタフェースを設定することができる。
【００１６】
［適用例４］適用例１ないし適用例３のいずれかに記載のネットワーク通信装置であって、
前記経路制御部は、新たな前記アクティブインタフェースとして設定されるべき前記他の上流インタフェースを特定する切り替え情報を作成し、
前記切り替え設定部は、前記切り替え情報に従って新たな前記アクティブインタフェースを設定する、ネットワーク通信装置。
【００１７】
このネットワーク通信装置では、切り替え情報によって新たなアクティブインタフェースとして設定されるべき他の上流インタフェースが特定されるため、より迅速に新たなアクティブインタフェースの設定を実行することができる。
【００１８】
［適用例５］適用例１ないし適用例４のいずれかに記載のネットワーク通信装置であって、
前記所定のタイミングは、前記アクティブインタフェースとして設定された前記上流インタフェースを介した前記マルチキャストのデータの受信が不可能となる所定の障害が検出された時である、ネットワーク通信装置。
【００１９】
このネットワーク通信装置では、マルチキャストのデータの受信が不可能となる所定の障害が検出された時に、迅速にマルチキャストの経路の切り替えを行うことができる。
【００２０】
［適用例６］適用例５に記載のネットワーク通信装置であって、
前記所定の障害は、前記アクティブインタフェースとして設定された前記上流インタフェースの障害と、前記アクティブインタフェースとして設定された前記上流インタフェースを介して前記ネットワーク通信装置と隣接する隣接ネットワーク通信装置の障害と、前記マルチキャストの送信元から前記アクティブインタフェースとして設定された前記上流インタフェースまでの通信経路の障害と、の少なくとも１つである、ネットワーク通信装置。
【００２１】
このネットワーク通信装置では、アクティブインタフェースとして設定された上流インタフェースの障害と、アクティブインタフェースとして設定された上流インタフェースを介してネットワーク通信装置と隣接する隣接ネットワーク通信装置の障害と、マルチキャストの送信元からアクティブインタフェースとして設定された上流インタフェースまでの通信経路の障害と、の少なくとも１つが検出された時に、迅速にマルチキャストの経路の切り替えを行うことができる。
【００２２】
［適用例７］適用例５または適用例６に記載のネットワーク通信装置であって、さらに、
前記所定の障害を検出する障害検出部を備える、ネットワーク通信装置。
【００２３】
このネットワーク通信装置では、障害検出部により障害が検出された時に、迅速にマルチキャストの経路の切り替えを行うことができる。
【００２４】
［適用例８］適用例７に記載のネットワーク通信装置であって、
前記障害検出部は障害検出プロトコルを利用可能である、ネットワーク通信装置。
【００２５】
このネットワーク通信装置では、障害検出プロトコルを利用して障害が検出された時に、迅速にマルチキャストの経路の切り替えを行うことができる。
【００２６】
［適用例９］適用例１に記載のネットワーク通信装置であって、
前記経路設定部による処理と、前記切り替え設定部による処理と、は互いに独立して実行される、ネットワーク通信装置。
【００２７】
このネットワーク通信装置では、経路設定部による処理と切り替え設定部による処理とが互いに独立して実行されるため、経路設定部による処理の実行中であっても、迅速にマルチキャストの経路の切り替えを行うことができる。
【００２８】
［適用例１０］適用例１に記載のネットワーク通信装置であって、
前記経路制御部は、前記所定のタイミングを特定する切り替え情報を作成し、
前記切り替え設定部は、前記切り替え情報に従って新たな前記アクティブインタフェースを設定する、ネットワーク通信装置。
【００２９】
このネットワーク通信装置では、マルチキャストの経路の切り替えを行うタイミングを予め設定することができると共に、予め登録された所定のタイミングにおいて、迅速にマルチキャストの経路の切り替えを行うことができる。
【００３０】
なお、本発明は、種々の態様で実現することが可能であり、例えば、ネットワーク通信方法および装置、ネットワーク中継方法および装置、データ転送方法および装置、経路設定方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ−１．ネットワークの構成：
Ａ−２．マルチキャスト経路設定処理：
Ａ−３．障害時経路切り替え処理：
Ｂ．変形例：
【００３２】
Ａ．実施例：
Ａ−１．ネットワークの構成：
図１は、本発明の実施例におけるネットワークの構成を概略的に示す説明図である。本実施例のネットワーク１０は、マルチキャスト経路制御プロトコルであるＰＩＭ−ＳＭに対応したマルチキャストネットワークである。ネットワーク１０は、マルチキャストグループにおけるデータの送信元としての送信端末３００と、当該マルチキャストグループに参加してマルチキャストのデータを最終的に受信する２つの受信端末２００と、送信端末３００と受信端末２００との間で通信されるデータの中継を行うネットワーク通信装置としての６つのルータ１００と、を備えている。ネットワーク１０内の構成要素間は、リンク４００を介して接続されている。リンク４００はデータの伝送路であり、例えばＵＴＰケーブル、ＳＴＰケーブル、光ファイバ、同軸ケーブル、または無線によって構成される。
【００３３】
なお、本明細書では、ネットワーク１０内の個々の構成要素を区別するために、構成要素を表す符号の末尾に、個々の構成要素を区別するための識別符号を付加する場合がある。例えば、本実施例のネットワーク１０内には、６つのルータ１００が存在しており、６つのルータ１００のそれぞれを、ルータ１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅ，１００Ｆと表す場合がある。ただし、同種の構成要素を個々に区別する必要のないときは、符号の末尾に付加した上記識別符号を省略して表現する。また、本明細書では、構成要素の名前に上記識別符号を付加して呼ぶ場合がある。例えば、ルータ１００ＡをルータＡと呼ぶ場合がある。
【００３４】
また、本明細書では、マルチキャスト通信において送受信されるデータをマルチキャストパケットとも呼ぶ。また、送信端末と受信端末とが１対１で通信を行うユニキャスト通信において送受信されるデータをユニキャストパケットとも呼ぶ。
【００３５】
図１に示すように、送信端末３００Ａ（送信端末Ａ）は、ルータ１００Ｄ（ルータＤ）に接続されている。また、受信端末２００Ａ（受信端末Ａ）は、ルータ１００Ａ（ルータＡ）に接続されている。ルータ１００Ａは、ルータ１００Ｂ（ルータＢ）およびルータ１００Ｃ（ルータＣ）に接続されており、ルータ１００Ｂおよびルータ１００Ｃは、ルータ１００Ｄに接続されている。また、受信端末２００Ｂ（受信端末Ｂ）は、ルータ１００Ｅ（ルータＥ）に接続されている。ルータ１００Ｅは、ルータ１００Ｆ（ルータＦ）に接続されており、ルータ１００Ｆは、ルータ１００Ｄに接続されている。
【００３６】
図２は、本実施例におけるルータの構成を概略的に示す説明図である。図２には、ルータ１００Ａ（ルータＡ）（図１参照）の構成を示している。ルータ１００Ａは、他の装置（ルータ１００や受信端末２００）との間でデータ通信を行う通信部１４０と、通信部１４０におけるデータ通信を制御する制御部１１０と、を備えている。
【００３７】
通信部１４０は、例えばＡＳＩＣ（特定用途ＩＣ）により構成されており、データの入出力孔として機能する複数のネットワークインタフェース１４２を有している。１つのネットワークインタフェース１４２ａ（「ネットワークインタフェースａ」または「ＩＦａ」とも呼ぶ）は、リンク４００を介してルータ１００Ｂ（ルータＢ）と接続されている。別の１つのネットワークインタフェース１４２ｂ（「ネットワークインタフェースｂ」または「ＩＦｂ」とも呼ぶ）は、リンク４００を介してルータ１００Ｃ（ルータＣ）と接続されている。また、さらに別の１つのネットワークインタフェース１４２ｃ（「ネットワークインタフェースｃ」または「ＩＦｃ」とも呼ぶ）は、リンク４００を介して受信端末２００Ａ（受信端末Ａ）と接続されている。
【００３８】
制御部１１０は、ＣＰＵ１１２と内部メモリ１１４とを含んでいる。内部メモリ１１４は、例えばＲＡＭやフラッシュメモリにより構成されている。なお、図１では、内部メモリ１１４を１つのメモリ領域として示しているが、内部メモリ１１４は複数のメモリ領域により構成されるとしてもよい。
【００３９】
内部メモリ１１４には、ユニキャスト経路設定部１２２と、ユニキャストパケット中継処理部１２４と、マルチキャストパケット経路設定部１２６と、マルチキャストパケット中継処理部１２８と、障害検出部１３２と、切り替え設定部１３４と、が格納されている。ユニキャスト経路設定部１２２は、送信端末と受信端末とが１対１で通信を行うユニキャスト通信の経路を設定するためのコンピュータプログラムであり、ユニキャストパケット中継処理部１２４は、ユニキャスト通信においてユニキャストパケットの中継処理を行うためのコンピュータプログラムである。また、マルチキャストパケット経路設定部１２６は、マルチキャスト通信の経路を設定するためのコンピュータプログラムであり、マルチキャストパケット中継処理部１２８は、マルチキャスト通信においてマルチキャストパケットの中継処理を行うためのコンピュータプログラムである。障害検出部１３２は、ネットワーク１０における障害を検出するためのコンピュータプログラムであり、切り替え設定部１３４は、後述するアクティブインタフェースの切り替えを行うためのコンピュータプログラムである。ＣＰＵ１１２は、内部メモリ１１４からこれらのコンピュータプログラムを読み出して実行することにより、上記各部の機能を実現する。
【００４０】
内部メモリ１１４には、さらに、ユニキャスト経路計算表ＵＣＴと、ユニキャスト中継経路表ＵＲＴと、マルチキャスト経路計算表ＭＣＴと、マルチキャスト中継経路表ＭＲＴと、切り替え契機登録表ＳＯＴと、が格納されている。
【００４１】
ユニキャスト経路計算表ＵＣＴは、ユニキャスト通信における経路の計算・設定に用いられる表であり、ユニキャスト経路設定部１２２により作成される。また、ユニキャスト中継経路表ＵＲＴは、ユニキャスト通信においてユニキャストパケット中継処理部１２４によるパケットの中継処理の際に参照される表であり、ユニキャスト経路設定部１２２により通知されたユニキャスト経路計算表ＵＣＴの内容に基づき、作成・変更・削除される。ユニキャスト経路計算表ＵＣＴおよびユニキャスト中継経路表ＵＲＴは、従来のユニキャスト通信において用いられるものであるため、その具体的な内容については説明を省略する。また、マルチキャスト経路計算表ＭＣＴとマルチキャスト中継経路表ＭＲＴと切り替え契機登録表ＳＯＴとの内容については後述する。
【００４２】
なお、ネットワーク１０（図１）上のルータ１００Ａ以外の他のルータ１００（ルータ１００Ｂ〜１００Ｆ）の構成は、図２に示したルータ１００Ａの構成と同様であるが、他のルータ１００はルータ１００Ａの構成要素の一部を含まなくてもよいし、ルータ１００Ａには含まれない他の構成要素を含んでもよい。また、他のルータ１００のそれぞれのネットワークインタフェース１４２の接続先は、ネットワーク１０の接続構成に従った接続先となっている。
【００４３】
Ａ−２．マルチキャスト経路設定処理：
図３は、本実施例におけるマルチキャスト経路設定処理の流れを示すフローチャートである。また、図４は、本実施例におけるマルチキャスト経路設定処理の概要を示す説明図である。マルチキャスト経路設定処理は、ルータ１００Ａ（図１）において、マルチキャストパケットの中継経路の設定を行う処理である。
【００４４】
ステップＳ１１０（図３）では、ルータ１００Ａ（ルータＡ）が、受信端末２００Ａ（受信端末Ａ）からマルチキャストグループへの参加要求を受信する（図４参照）。本実施例では、この参加要求は、マルチキャストの送信元が送信端末３００Ａ（送信端末Ａ）であるマルチキャストグループへの参加要求であるものとする。受信端末２００Ａからの参加要求は、ネットワークインタフェース１４２ｃ（ＩＦｃ）（図２）を介して受信される。
【００４５】
なお、本明細書では、マルチキャスト通信の送信端末側を上流側と呼び、受信端末側を下流側と呼ぶ。例えば、ルータ１００Ａのネットワークインタフェース１４２ｃ（ＩＦｃ）は、上記マルチキャストの下流側のネットワークインタフェースである。
【００４６】
ステップＳ１２０（図３）では、ルータ１００Ａのマルチキャストパケット経路設定部１２６（図２）が、マルチキャストの上流側の隣接ルータを検索する。具体的には、マルチキャストパケット経路設定部１２６は、受信したマルチキャストグループ参加要求に含まれる送信元（送信端末３００Ａ）のアドレスを特定し、ユニキャスト経路計算表ＵＣＴ（図２）のエントリを参照して、送信元方向のネットワークインタフェース１４２を検出する。検出されたネットワークインタフェース１４２に接続されたルータ１００が隣接ルータとされる。
【００４７】
ステップＳ１２０において上流側の隣接ルータが検出されなかった場合には（ステップＳ１３０：Ｎｏ）、マルチキャスト経路設定処理は終了される。一方、上流側の隣接ルータが検出された場合には（ステップＳ１３０：Ｙｅｓ）、マルチキャストパケット経路設定部１２６が、マルチキャスト経路計算表ＭＣＴ（図２）の登録を行う（ステップＳ１４０）。本実施例のネットワーク１０（図１）では、ルータ１００Ｂおよびルータ１００Ｃが隣接ルータとして検出されるため、マルチキャスト経路計算表ＭＣＴの登録が行われる。
【００４８】
図５はマルチキャスト経路計算表ＭＣＴの内容の一例を示す説明図である。マルチキャスト経路計算表ＭＣＴには、マルチキャストグループ毎に、マルチキャストの送信元のアドレス（「ソース」の項目）と、マルチキャストの宛先アドレス（「グループ」の項目）と、マルチキャストの上流側の隣接ルータおよび隣接ルータとの接続に用いられるネットワークインタフェース（「隣接ルータ（ＩＦ）」の項目）と、が登録される。マルチキャストパケット経路設定部１２６は、受信された参加要求により特定される送信元のアドレス（例えば「ソース１」）および宛先アドレス（例えば「グループ１」）と、隣接ルータおよびネットワークインタフェース（ルータＢ（ＩＦａ）およびルータＣ（ＩＦｂ））と、をマルチキャスト経路計算表ＭＣＴに登録する。
【００４９】
マルチキャストパケット経路設定部１２６は、さらに、隣接ルータの内の１つを例えばハッシュ計算やユニキャスト経路のメトリック値参照によって選択し、選択された隣接ルータとの接続に用いられるネットワークインタフェース１４２をアクティブインタフェースとして設定する。すなわち、マルチキャストパケット経路設定部１２６は、検出された上流側のネットワークインタフェース１４２の１つをアクティブインタフェースとして設定する。マルチキャストパケット経路設定部１２６は、アクティブインタフェースとして設定したネットワークインタフェース１４２を、マルチキャスト経路計算表ＭＣＴの「アクティブインタフェース」の項目に登録する。図５の例では、ルータ１００Ｂに接続されるネットワークインタフェース１４２ａ（ＩＦａ）（図２参照）がアクティブインタフェースとして登録されている。
【００５０】
また、マルチキャストパケット経路設定部１２６は、マルチキャストの下流側のネットワークインタフェース１４２を、マルチキャスト経路計算表ＭＣＴの「出力インタフェース」の項目に登録する。図５の例では、受信端末２００Ａに接続されるネットワークインタフェース１４２ｃ（ＩＦｃ）（図２参照）が下流側のネットワークインタフェースとして登録されている。
【００５１】
ステップＳ１５０（図３）では、マルチキャストパケット経路設定部１２６（図２）が、登録されたすべての隣接ルータに対してマルチキャストグループ参加要求を送信する。本実施例のネットワーク１０では、隣接ルータとしてルータ１００Ｂとルータ１００Ｃとが登録されているため（図５参照）、マルチキャストパケット経路設定部１２６は、ネットワークインタフェース１４２ａ（ＩＦａ）およびネットワークインタフェース１４２ｂ（ＩＦｂ）を介して、ルータ１００Ｂおよびルータ１００Ｃにマルチキャストグループ参加要求を送信する（図４参照）。これにより、２つのネットワークインタフェース１４２（ＩＦａおよびＩＦｂ）からのマルチキャストグループ参加要求がルータ１００Ａから上流側に送信されることとなる。なお、マルチキャストグループ参加要求は、例えばＰＩＭ  Ｊｏｉｎメッセージとして送信される。
【００５２】
ステップＳ１６０（図３）では、マルチキャストパケット経路設定部１２６（図２）が、切り替え契機登録表ＳＯＴの登録を行う。図６は切り替え契機登録表ＳＯＴの内容の一例を示す説明図である。切り替え契機登録表ＳＯＴには、マルチキャストグループ毎に、アクティブインタフェースと、マルチキャストの上流側のネットワークインタフェース１４２の内のアクティブインタフェース以外であるセカンダリインタフェースと、が登録される。本実施例では、切り替え契機登録表ＳＯＴに、アクティブインタフェースとしてネットワークインタフェース１４２ａ（ＩＦａ）が登録され、セカンダリインタフェースとしてアクティブインタフェース以外の上流側ネットワークインタフェースであるネットワークインタフェース１４２ｂ（ＩＦｂ）が登録される。
【００５３】
マルチキャストパケット経路設定部１２６は、また、アクティブインタフェースの切り替えを行う契機（タイミング）を、切り替え契機登録表ＳＯＴの「切り替え契機」の項目に登録する。本実施例では、切り替え契機として、アクティブインタフェースの障害、アクティブインタフェースを介した通信経路上の隣接ルータの障害、送信端末３００Ａからアクティブインタフェースまでの通信経路の障害等が登録される。これらの障害は、ルータ１００Ａが、アクティブインタフェースを介して、送信端末３００Ａから送出されたマルチキャストパケットを受信することが不可能となる障害である。さらに、本実施例では、切り替え契機として、障害検出プロトコル（例えばＢＦＤ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｆｏｒｗａｒｄｉｎｇ  Ｄｅｔｅｃｔｉｏｎ））によりネットワーク１０の障害が検出された時が登録される。
【００５４】
ステップＳ１７０（図３）では、マルチキャストパケット中継処理部１２８（図２）が、マルチキャストパケット経路設定部１２６により通知されたマルチキャスト経路計算表ＭＣＴの登録結果に基づき、マルチキャスト中継経路表ＭＲＴの登録を行う。図７はマルチキャスト中継経路表ＭＲＴの内容の一例を示す説明図である。マルチキャスト中継経路表ＭＲＴには、マルチキャストグループ毎に、マルチキャストの送信元のアドレス（「ソース」の項目）と、マルチキャストの宛先アドレス（「グループ」の項目）と、下流側のネットワークインタフェース（「出力インタフェース」の項目）と、が登録される。また、マルチキャスト中継経路表ＭＲＴには、すべての上流側のネットワークインタフェース１４２（すべての隣接ルータに接続されるネットワークインタフェース１４２）が「入力インタフェース」の項目に登録される。さらに、各入力インタフェースについて、アクティブインタフェースとして設定されているか否かを示す識別子が「アクティブ識別子」の項目に登録される。図７の例では、「アクティブ識別子」の項目において、「１」は入力インタフェースがアクティブインタフェースとして設定されていることを示し、「０」は入力インタフェースがアクティブインタフェースとして設定されていないことを示している。従って、アクティブインタフェースとして設定されたネットワークインタフェース１４２ａ（ＩＦａ）のアクティブ識別子は「１」となっている。
【００５５】
以上のように、受信端末２００Ａからマルチキャストグループ参加要求を受信したルータ１００Ａは、マルチキャスト経路設定処理（図３）を実行する。ルータ１００Ａによるマルチキャスト経路設定処理のステップＳ１５０において送信された参加要求を受信したルータ１００Ａの隣接ルータ（本実施例ではルータ１００Ｂおよびルータ１００Ｃ）は、同様にマルチキャスト経路設定処理を実行する。この処理において、ルータ１００Ｂおよびルータ１００Ｃからルータ１００Ｄにマルチキャストグループ参加要求が送信される（図４参照）。これにより、送信端末３００Ａを収容するルータ１００Ｄに、２つの経路を介してマルチキャストグループ参加要求が到達し、マルチキャストのための送信端末３００Ａから受信端末２００Ａまでの２つの通信経路が設定される。また、図４に示すように、受信端末２００Ｂからルータ１００Ｅに向けて送信されたマルチキャストグループ参加要求は、同様にして、ルータ１００Ｅおよびルータ１００Ｆを介して、ルータ１００Ｄに到達し、送信端末３００Ａから受信端末２００Ｂまでのマルチキャストの通信経路が設定される。
【００５６】
図８は、マルチキャストパケットの流れを示す説明図である。図８には、図４に示すように送信端末３００Ａから受信端末２００Ａおよび受信端末２００Ｂまでのマルチキャストの通信経路が設定された状態におけるマルチキャストパケットの流れを示している。
【００５７】
本実施例のネットワーク１０におけるマルチキャスト通信では、送信端末３００Ａからマルチキャストのグループアドレス宛に送出されたマルチキャストパケットＭＰが、各ルータ１００のマルチキャストパケット中継処理部１２８（図２）による中継処理によって転送され、最終的に受信端末２００Ａおよび受信端末２００Ｂによって受信される。
【００５８】
具体的には、送信端末３００Ａから送出されたマルチキャストパケットＭＰはルータ１００Ｄに受信される。ルータ１００Ｄは、マルチキャストパケットＭＰを複製し、３つの下流側ルータ（ルータ１００Ｂ、１００Ｃ、１００Ｆ）に転送する。ルータ１００Ｆに送信されたマルチキャストパケットＭＰは、ルータ１００Ｅを介して受信端末２００Ｂへと転送される。
【００５９】
また、ルータ１００Ｂに送信されたマルチキャストパケットＭＰは、ルータ１００Ａに転送され、ルータ１００Ｃに送信されたマルチキャストパケットＭＰも、同じくルータ１００Ａに転送される。ここで、ルータ１００Ａのマルチキャストパケット中継処理部１２８（図２）は、アクティブインタフェースとして設定されたネットワークインタフェース１４２であるネットワークインタフェース１４２ａ（ＩＦａ）（図７参照）により受信されたマルチキャストパケットＭＰのみを下流側のネットワークインタフェース１４２ｃ（ＩＦｃ）を介して受信端末２００Ａに中継する。一方、マルチキャストパケット中継処理部１２８は、アクティブインタフェースとして設定されていないネットワークインタフェース１４２であるネットワークインタフェース１４２ｂ（ＩＦｂ）により受信されたマルチキャストパケットＭＰは、中継を行わずに廃棄する。
【００６０】
このように、ルータ１００Ａは、２つの上流側隣接ルータから、２つのネットワークインタフェース１４２（ＩＦａおよびＩＦｂ）を介してマルチキャストパケットＭＰを受信し、１つのアクティブインタフェース（ＩＦａ）により受信されたマルチキャストパケットＭＰのみを下流側に中継すると共に、他方のネットワークインタフェース１４２（ＩＦｂ）により受信されたマルチキャストパケットＭＰは廃棄する。
【００６１】
Ａ−３．障害時経路切り替え処理：
図９は、本実施例における障害時経路切り替え処理の流れを示すフローチャートである。また、図１０は、本実施例における障害時経路切り替え処理の概要を示す説明図である。障害時経路切り替え処理は、ルータ１００Ａにおいてアクティブインタフェースを介したマルチキャストの経路の障害を検出した場合に、アクティブインタフェースを切り替えることによって経路を切り替える処理である。
【００６２】
ステップＳ２１０（図９）では、ルータ１００Ａ（ルータＡ）の障害検出部１３２（図２）が、障害を検出する。なお、障害の検出は他の方法により行われてもよい。本実施例では、図１０に示すようにルータ１００Ａとルータ１００Ｂとの間の経路上で発生した障害Ｔが検出されたものとする。
【００６３】
ステップＳ２２０（図９）では、切り替え設定部１３４（図２）が、障害部位を上流とするマルチキャストの登録が有るか否かを判定する。そのようなマルチキャストの登録が無いと判定された場合には（ステップＳ２２０：Ｎｏ）、マルチキャストの経路切り替えの必要は無いため、処理は終了される。
【００６４】
そのようなマルチキャストの登録が有ると判定された場合には（ステップＳ２２０：Ｙｅｓ）、切り替え設定部１３４は、障害Ｔの位置がアクティブインタフェースを介したマルチキャストの経路上であるか否かを判定する（ステップＳ２３０）。障害Ｔの位置がアクティブインタフェースを介したマルチキャストの経路上ではないと判定された場合には（ステップＳ２３０：Ｎｏ）、経路切り替えの必要は無いため、処理は終了される。
【００６５】
障害Ｔの位置がアクティブインタフェースを介したマルチキャストの経路上であると判定された場合には（ステップＳ２３０：Ｙｅｓ）、切り替え設定部１３４は、障害Ｔが切り替え契機登録表ＳＯＴ（図６）に登録された切り替え契機に該当するか否かを判定する（ステップＳ２４０）。障害Ｔが登録された切り替え契機に該当しないと判定された場合には（ステップＳ２４０：Ｎｏ）、処理は終了される。
【００６６】
障害Ｔが登録された切り替え契機に該当すると判定された場合には（ステップＳ２４０：Ｙｅｓ）、切り替え設定部１３４は、上流側の隣接ルータが複数存在するか否かを判定する（ステップＳ２５０）。上流側の隣接ルータが複数存在しないと判定された場合には（ステップＳ２５０：Ｎｏ）、経路の切り替えを行うことはできないため、切り替え設定部１３４によりマルチキャストの登録が削除された後（ステップＳ２９０）、処理は終了される。
【００６７】
上流側の隣接ルータが複数存在すると判定された場合には（ステップＳ２５０：Ｙｅｓ）、切り替え設定部１３４は、切り替え契機登録表ＳＯＴ（図６）を参照して、セカンダリインタフェースとして登録されたネットワークインタフェース１４２を検出する（ステップＳ２６０）。切り替え契機登録表ＳＯＴにセカンダリインタフェースとして複数のネットワークインタフェース１４２が登録されている場合には、その中から１つのネットワークインタフェース１４２が選択される。図６の例では、切り替え契機登録表ＳＯＴに唯一のセカンダリインタフェースとしてネットワークインタフェース１４２ｂ（ＩＦｂ）が登録されているため、ネットワークインタフェース１４２ｂ（ＩＦｂ）が検出される。
【００６８】
ステップＳ２７０（図９）では、切り替え設定部１３４が、マルチキャスト中継経路表ＭＲＴの更新登録を行う。具体的には、切り替え設定部１３４は、ステップＳ２６０で検出された１つのセカンダリインタフェースが新たにアクティブインタフェースとして登録されるよう、マルチキャスト中継経路表ＭＲＴ（図７）の「アクティブ識別子」の項目を変更する。図７の例では、ネットワークインタフェース１４２ｂ（ＩＦｂ）に対応したアクティブ識別子が「０」から「１」に変更される。反対に、切り替え前においてアクティブインタフェースであったネットワークインタフェース１４２ａ（ＩＦａ）に対応したアクティブ識別子は「１」から「０」に変更される。
【００６９】
ステップＳ２７０においてマルチキャスト中継経路表ＭＲＴ（図７）が更新登録された時以降は、マルチキャストパケット中継処理部１２８は、更新登録後のマルチキャスト中継経路表ＭＲＴに従ってマルチキャストパケットの中継処理を実行する。そのため、図１０に示すように、マルチキャストパケット中継処理部１２８は、ルータ１００Ｃからネットワークインタフェース１４２ｂ（ＩＦｂ）を介して受信されたマルチキャストパケットＭＰを、下流側のネットワークインタフェース１４２ｃ（ＩＦｃ）を介して受信端末２００Ａへと中継する。
【００７０】
ステップＳ２８０（図９）では、切り替え設定部１３４（図２）からの通知を受けたマルチキャストパケット経路設定部１２６が、マルチキャスト経路計算表ＭＣＴ（図５）の更新登録を行う。なお、切り替え設定部１３４によるマルチキャスト中継経路表ＭＲＴの更新登録と、マルチキャストパケット経路設定部１２６によるマルチキャスト経路計算表ＭＣＴの更新登録とは、互いに独立して実行される。
【００７１】
以上説明したように、本実施例のネットワーク１０では、ルータ１００Ａが複数の上流側のネットワークインタフェース１４２を介してマルチキャストパケットを受信することができる。また、ルータ１００Ａは、アクティブインタフェースとして設定されたネットワークインタフェース１４２を介して受信したマルチキャストパケットのみを下流側に中継する。また、アクティブインタフェースを介したマルチキャストの経路上で障害が発生した場合には、アクティブインタフェースを切り替えるだけでマルチキャストの経路を切り替えることができ、通信断時間の短縮を図ることができる。従って、本実施例のルータ１００Ａは、ネットワークにおけるマルチキャスト通信の信頼性を向上させることができる。
【００７２】
また、本実施例のネットワーク１０では、ルータ１００Ａが、上流側のすべての隣接ルータやアクティブインタフェース、セカンダリインタフェース等を予め登録しており、すべての隣接ルータからマルチキャストパケットを受信しているので、マルチキャストの経路の切り替えの際に、隣接ルータを再検出したり、新たなアクティブインタフェースを選択したり、マルチキャストグループ参加要求を送信したりする必要がなく、迅速な切り替えを実現することができる。
【００７３】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７４】
Ｂ１．変形例１：
上記実施例におけるネットワーク１０やルータ１００Ａの構成は、あくまで一例であり、ネットワーク１０やルータ１００Ａの構成を他の構成とすることも可能である。また、本発明は、ルータに限らず、レイヤ２スイッチやレイヤ３スイッチ、アクセスポイントといった他のネットワーク通信装置にも適用可能である。
【００７５】
Ｂ２．変形例２：
上記実施例では、検出された上流側の隣接ルータをすべてマルチキャスト経路計算表ＭＣＴに登録するものとしているが、複数の隣接ルータが登録される限り、必ずしもすべての隣接ルータを登録する必要はない。
【００７６】
Ｂ３．変形例３：
上記実施例では、障害Ｔの発生時にマルチキャストの経路の切り替えが行われるものとしているが、マルチキャストの経路の切り替えが行われるタイミングは、必ずしも障害Ｔの発生時に限らず、例えば保守点検時等の他のタイミングであってもよい。
【００７７】
Ｂ４．変形例４：
上記実施例では、マルチキャスト中継経路表ＭＲＴがマルチキャストパケット中継処理部１２８により登録されるとしているが、マルチキャスト中継経路表ＭＲＴはマルチキャストパケット経路設定部１２６により登録されるとしてもよい。
【００７８】
Ｂ５．変形例５：
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、通信部１４０はＡＳＩＣにより構成される必要はなく、例えばソフトウェアによって通信部１４０の機能を実現するとしてもよい。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施例におけるネットワークの構成を概略的に示す説明図である。
【図２】本実施例におけるルータの構成を概略的に示す説明図である。
【図３】本実施例におけるマルチキャスト経路設定処理の流れを示すフローチャートである。
【図４】本実施例におけるマルチキャスト経路設定処理の概要を示す説明図である。
【図５】マルチキャスト経路計算表ＭＣＴの内容の一例を示す説明図である。
【図６】切り替え契機登録表ＳＯＴの内容の一例を示す説明図である。
【図７】マルチキャスト中継経路表ＭＲＴの内容の一例を示す説明図である。
【図８】マルチキャストパケットの流れを示す説明図である。
【図９】本実施例における障害時経路切り替え処理の流れを示すフローチャートである。
【図１０】本実施例における障害時経路切り替え処理の概要を示す説明図である。
【符号の説明】
【００８０】
１０…ネットワーク
１００…ルータ
１１０…制御部
１１２…ＣＰＵ
１１４…内部メモリ
１２２…ユニキャスト経路設定部
１２４…ユニキャストパケット中継処理部
１２６…マルチキャストパケット経路設定部
１２８…マルチキャストパケット中継処理部
１３２…障害検出部
１３４…切り替え設定部
１４０…通信部
１４２…ネットワークインタフェース
２００…受信端末
３００…送信端末
４００…リンク
【図１】
0004827819.tif 000002
【図２】
0004827819.tif 000003
【図３】
0004827819.tif 000004
【図４】
0004827819.tif 000005
【図５】
0004827819.tif 000006
【図６】
0004827819.tif 000007
【図７】
0004827819.tif 000008
【図８】
0004827819.tif 000009
【図９】
0004827819.tif 000010
【図１０】
0004827819.tif 000011