第1の実施例:
マルチキャストネットワークの構成:
図1は本実施例におけるマルチキャストネットワークの構成を示す説明図である。ネットワーク中継装置としてのネットワーク中継ルータ10は、第1および第2のVPN(Virtial Private Network)50A、50Bを構築(収容)している。各第1のVPN50A、50Bは、それぞれPIM-SMマルチキャストネットワークを構成している。第1のVPN50Aは、ルータ20a、30aおよびネットワーク中継ルータ10によって構成され、ルータ30aはランデブーポイントとして機能する。第2のVPN50Bは、ルータ20b、30bおよびネットワーク中継ルータ10によって構成され、ルータ30bはランデブーポイントとして機能する。なお、第1のVPN50A、50Bは、それぞれ特許請求の範囲における第1のネットワークおよび第2のネットワークに相当する。
第1のVPN50Aにおいて、ランデブーポイントとして機能するルータ30aには、ルータ20aおよびネットワーク中継ルータ10が接続され、また図示しない他のルータが接続され得る。ルータ20aには送信装置SEが接続され、また図示しない他のルータが接続され得る。ルータ30aには他のルータが接続され得る。ネットワーク中継ルータ10には送信装置SEまたは受信装置REとして機能し得る計算機、図示しないその他のルータが接続され得る。
第1のVPN50Aにおいて、本実施例に係るネットワーク中継ルータ10は、受信装置として機能する。各ルータは、受信装置からReportメッセージを受信すると、マルチキャストグループへの参加メッセージ(*,G)joinをルータ30aに送信する。すなわち、PIM-SMでは、受信装置が接続されているルータからの参加要求メッセージおよび送信装置からのマルチキャストパケットは共に、ランデブーポイントとして機能するルータに送信される。各ルータにおけるマルチキャストグループへの参加メッセージの宛先アドレスとして、ルータ30aのアドレスが予め設定されている。ルータ20aは、参加メッセージを受け取ると、カプセル化されたマルチキャストパケット(registerパケット)を送信する。ルータ30aからネットワーク中継ルータ10等の下流側ルータに対して、非カプセル化されたマルチキャストパケットが送信される。ルータ30aからマルチキャストパケットを受信した各ルータは、受信したマルチキャストパケットのIPヘッダの送信元IPアドレスに記載されているソースアドレスに基づいて、送信装置SE(ルータ20)に向けて既存のユニキャストルーティング情報を用いて最短経路にてグループ情報(S,G)joinを通知する。この結果、ルータ20aからルータ10に対する最短経路が確立され、以後、確立された通信経路を介して、ルータ20からネットワーク中継ルータ10に対してマルチキャストパケットが送信される。
第2のVPN50Bにおいて、ランデブーポイントとして機能するルータ30bには、ルータ20bおよびネットワーク中継ルータ10が接続され、また図示しない他のルータが接続され得る。ルータ20bには受信装置REが接続され、また図示しない他のルータが接続され得る。ルータ30bには他のルータが接続され得る。ネットワーク中継ルータ10には送信装置SEまたは受信装置REとして機能し得る計算機、図示しないその他のルータが接続され得る。
第2のVPN50Bにおいて、本実施例に係るネットワーク中継ルータ10は、送信装置として機能する。各ルータと送信装置(ネットワーク中継ルータ10)との間に最短経路が確立されるまでは、送信装置からのマルチキャストパケットは、ルータ30bを介して各ルータによって受信される。すなわち、VPN51に新たなマルチキャストグループが加わった時点では、送信装置(ネットワーク中継ルータ10)は、新たなマルチキャストグループに属するルータへの通信経路を知らないので、参加要求に対応するマルチキャストパケットの送信時には、マルチキャストパケットをカプセル化してランデブーポイントとして機能するルータ30bに送信する。ネットワーク中継ルータ10は、新たに参加したマルチキャストグループに属するルータ(受信装置RE)から最短経路確立のためのグループ情報(S,G)メッセージを受信すると、以降は、確立された最短経路を介して各ルータに対してマルチキャストパケットを送信する。
以上の通り、本実施例では、ネットワーク中継ルータ10は、第1のVPN50Aにおいては受信装置として機能して送信装置SEからのマルチキャストパケットを受信し、第2のVPN50Bにおいては送信装置として受信装置REに対して、異なるネットワークに属する送信装置SEから受信したマルチキャストパケットを送信する。
本実施例におけるルータ20a、20b、30a、30bはいずれもPIM-SMプロトコルが動作するルータである。
ネットワーク中継装置の構成:
図2は本実施例に係るネットワーク中継ルータ10の内部構成を示す機能ブロック図である。図3は本実施例におけるマルチキャストパケット経路計算表の一例を示す説明図である。図4は本実施例におけるVRF間中継情報の一例を示す説明図である。本実施例に係るネットワーク中継ルータ10は、第1のVPN50Aの各入出力インターフェース101、102、103の間、第2のVPN50Bの各入出力インターフェース104、105、106の間でマルチキャストパケットの中継に加えて、第1のVPN50Aと第2のVPN50Bとの間で、マルチキャストパケットを中継する。
ネットワーク中継ルータ10は、第1および第2のマルチキャストルーティングプロトコル処理部11A、11B、マルチキャストパケット中継処理部13、VRF情報設定部14、VRF識別部15、VRF間ゲートウェイ処理部16を備えている。第1のVPN50A、50Bは、各入出力インターフェースに対して各VRF(VPN Routing and Forwarding)テーブルを対応付けることによって実現される。すなわち、物理的に1つのネットワーク中継ルータ10を複数の独立した論理的なルータとして用いることによって、ネットワーク中継ルータ10は複数の異なる論理的なネットワークを構築(含む)ことができる。したがって、本実施例において、VPNは、ネットワーク中継ルータ10によって構築された論理的なネットワークを意味し、VRFは論理的ネットワークを構築する機能部を意味するものとして取り扱う。第1のVPN50A、50Bは、VRF機能部51Aおよび51Bによって実現されており、各VRF機能部51A、51Bは、マルチキャストルーティングプロトコル処理部11A、11Bを備え、マルチキャストパケット中継処理部13、VRF情報設定部14、VRF識別部15、VRF間ゲートウェイ処理部16を共有している。ここで、第1および第2のマルチキャストルーティングプロトコル処理部11A、11B、並びにマルチキャストパケット中継処理部13、VRF情報設定部14およびVRF識別部15の少なくとも一部は、特許請求の範囲における第1および第2の管理部に相当し、VRF間ゲートウェイ処理部16、VRF間中継情報142は、特許請求の範囲における装置内中継部に相当する。
なお、ネットワーク中継ルータ10には、図1に示すようにCPUおよびメモリが備えられており、メモリには、本実施例における第1および第2のマルチキャストルーティングプロトコル処理部11A、11B、マルチキャストパケット中継処理部13、VRF情報設定部14、VRF識別部15、VRF間ゲートウェイ処理部16を実現するためのプログラム、ソフトウェアモジュールが格納されている。すなわち、本実施例における第1および第2のマルチキャストルーティングプロトコル処理部11A、11B、マルチキャストパケット中継処理部13、VRF情報設定部14、VRF識別部15、VRF間ゲートウェイ処理部16は、メモリに格納されているプログラム、ソフトウェアモジュールをCPUが実行することによって実現される。また、本実施例におけるマルチキャストパケット中継処理部13は半導体集積回路によってハードウェア的に実現される。
第1および第2のマルチキャストルーティングプロトコル処理部11A、11Bは、それぞれ、VRF管理部111A、111B、制御パケット送受信処理部112A、112B、データパケット送受信処理部113A、113B、マルチキャスト経路計算処理部114A、114Bを備えている。マルチキャストルーティングプロトコル処理部11A、11Bは、それぞれ第1のVPN50A、50Bにおけるマルチキャストパケット中継制御を行う。制御パケット送受信処理部112A、112B、データパケット送受信処理部113A、113Bおよびマルチキャスト経路計算処理部114A、114BはPIM-SM動作を実現するために備えられている。
VRF管理部111A、111Bは、VRF情報設定部14に格納されているVRF情報テーブル141に設定された各VRF情報を取得し、保持している。VRF管理部111A、111Bに保持されているVRF情報は、各VRFに属しているインターフェースを規定する情報であり、各マルチキャストルーティングプロトコル処理部11A、11Bは、保持されているVRF情報認識に基づいて、自己のVRFに属している入出力インターフェース間でマルチキャストパケットの送受信処理を実行する。
制御パケット送受信処理部112A、112Bは、joinメッセージ、pruneメッセージ、registerメッセージといった制御パケットの送受信を実行する。制御パケット送受信処理部112A、112Bは、第1のVPN50A、50B間におけるマルチキャストパケットのやりとりを実現するためにVRF間加入要求送信部1121A、1121Bを備えている。VRF間加入要求送信部1121A、1121BはVRF間中継情報142に設定されているマルチキャストグループアドレスおよび、送信側VRF名称を参照して、設定されている送信側VRF名称と自身のVRF名称とが一致するか否かを判断し、一致する場合には、当該マルチキャストグループのPIM (*,G) joinメッセージを自身のVPNのランデブーポイントに対して逐次送信する。制御パケット送受信処理部112A、112Bは特許請求の範囲における中継情報生成部に相当し、VRF間加入要求送信部1121A、は、特許請求の範囲における第1の通信経路確立部に相当する。
データパケット送受信処理部113A、113Bは、各第1のVPN50A、50B内におけるマルチキャストデータパケットの送受信を実行する。データパケット送受信処理部113A、113Bは、第1のVPN50A、50B間のマルチキャストパケットのやりとりを実現するためにVRF間マルチキャストパケット送信部1131A、1131Bを備えている。VRF間マルチキャストパケット送信部1131A、1131Bは、それぞれ第1のVPN50Aにおける送信装置から受け取ったマルチキャストパケットを第2のVPN50Bに送信し、第2のVPN50Bにおける送信装置から受け取ったマルチキャストパケットを第1のVPN50Aに送信する。データパケット送受信処理部113Aは、特許請求の範囲における転送部、送信装置情報取得部に相当し、データパケット送受信処理部113Bは、特許請求の範囲におけるマルチキャストパケット送信部およびマルチキャストパケット受信部に相当する。
マルチキャスト経路計算処理部114A、114Bは、マルチキャストパケットを中継するために必要な情報を計算してマルチキャスト経路計算表1141A、1141Bを生成し、保持する。マルチキャスト経路計算表1141A、1141Bは、マルチキャストパケットを中継するために必要な情報をソース、宛先(グループ)単位で計算したデータである。受信したマルチキャストパケットのIPヘッダに示されている送信者アドレス(送信元アドレス)、グループアドレス(宛先アドレス)がそれぞれソース、グループに保存される。マルチキャスト経路計算表1141A、1141Bには、ソースアドレス、マルチキャストグループアドレス、入出力インターフェースに関する情報が含まれている。各マルチキャストルーティングプロトコル処理部11A、11Bは、各第1のVPN50A、50Bを独立して構築してるので、マルチキャスト経路計算表もVPN(VRF)毎に作成される。本実施例において用いられるマルチキャスト経路計算表は、PIM-SMのマルチキャスト経路計算表に対して各入出力インターフェースのVRF情報が加えられた経路表である。VRF51Aではマルチキャスト経路計算表1141Aの情報に従い、VRF51Bではマルチキャスト経路計算表1141Bの情報に従って、マルチキャスト中継が行われる。各VRF内におけるマルチキャスト実行時におけるマルチキャスト経路計算表は、ソース情報として自己のVPN内の送信装置のアドレス、グループアドレスとして自己のVPN内の受信装置が加入するグループアドレス、入力側VRFおよび出力側VRFにそれぞれ自己のVRF名称を有している。マルチキャスト経路計算処理部114A、114Bは、それぞれ特許請求の範囲における第1および第2の通信経路確立部に相当する。
図3を参照して本実施例において用いられるVRF間マルチキャスト経路計算表のうち、VRF51Aにおいて用いられるマルチキャスト経路計算表1141Aについて説明する。マルチキャスト経路計算表1141Aには、送信装置のアドレスを示すソース情報、VRF間を中継すべきマルチキャストグループのアドレスを示すグループ情報、入力側VRFの名称を示すIVRF情報、入力側入出力インターフェースを示すIIF情報、出力側VRFの名称を示すOVRF情報、出力側入出力インターフェースを示すOIF情報が格納されている。IVRFおよびOVRFは、本実施例では予め使用者によって設定されている。図3の例では、ソース情報には送信装置SEのアドレス、グループ情報にはグループ1のアドレス、IVRF情報にはVRF51A、IIF情報にはIF102、OVRF情報にはVRF51Aが記録されている。OIF情報については、VRF51Bにおける入出力インターフェースの情報であるため、VRF51Bから第2のVPN50Bにおいて参加要求を通知した受信装置と繋がっている出力側入出力インターフェースの情報を得た後に記録される。具体的なマルチキャスト経路計算表の生成手順については後述する。
マルチキャストパケット中継処理部13は、ルータが備える入出力インターフェースに対するマルチキャストパケット中継処理を物理的に制御する。マルチキャストパケット中継処理部13は、VRFを認識し各入出力インターフェースのマルチキャストパケット中継を制御するためのVRF制御部131を備える。マルチキャストパケット中継処理部13には、VRF51Aに対応付けられている入出力インターフェース101〜103、VRF51Bに対応付けられている入出力インターフェース104〜106がそれぞれ接続されている。
VRF情報設定部14は、受信したマルチキャストパケット、外部からの入力によってVRFに関する情報を設定、格納する。VRF情報設定部14は、各入出力インターフェースのVRF情報141、VRF間中継情報142を備えている。VRF情報141は、各入出力インターフェースがどのVRFに属しているかを識別するために用いられる情報であり、たとえば、VRF名称またはVRFIDといった各VRF固有の識別情報である。VRF情報141は、外部からまたは受信したマルチキャストパケットに基づいて設定される。VRF情報設定部14に各入出力インターフェースのVRF情報141を設定し保持することによって、各マルチキャストルーティングプロトコル処理部11A、11Bは、自身のVRFに属する入出力インターフェースを認識し、自己VRFに属する入出力インターフェース間でマルチキャスト通信を行うことができる。VRF間中継情報142には、VRF間中継対象のマルチキャストグループのアドレス、入力側(送信側)VRFを示すIVRF情報、出力側(受信側)VRFを示すOVRF情報が含まれており、IVRF情報、OVRF情報としては、VRFを識別するための各VRF固有の名称または、VRFのID(識別情報)等を設定する。VRF間中継情報142は、異なるVRF間においてマルチキャストパケットを送信するために用いられる。すなわち、各VRFで動作しているマルチキャストルーティングプロトコル処理部11A、11Bは、VRF間中継情報142を参照し、自己のVRFがIVRFに登録されたVRFと一致した場合に、自己のVRF内においてマルチキャストグループに登録されているグループのPIM (*,G) joinメッセージを対応するVPNのランデブーポイントに送信する。設定されるマルチキャストグループアドレスは、VRFの組合せから独立していると共に、個別のアドレスまたは、範囲指定アドレスのいずれの形式であっても良いので、当該マルチキャストグループに参加している受信装置が複数のVPNに存在する場合は、OVRFに複数のVRFが登録される。VRF間中継情報142は特許請求の範囲における中継情報格納部に相当する。
図4を参照して本実施例において用いられるVRF間中継情報142について説明する。VRF間中継情報142には、VRF間を中継すべきマルチキャストグループのアドレスを示すグループ情報としてグループ1が、IVRFとして送信側のVRF51A、OVRFとして受信側のVRF51Bが記録されており、グループ1のマルチキャストアドレスを有するマルチキャストパケットについて、VRF51AからVRF51Bに中継されるように設定されている。ネットワーク中継ルータ10内の各VRFで動作しているマルチキャストルーティングプロトコル処理部はVRF間中継情報142を参照し、自己のVRFがIVRFに登録されたVRFと一致した場合に、自己のVRF内においてグループに登録したマルチキャストグループのPIM (*,G) joinメッセージを対応するVPNのランデブーポイントに送信する。当該マルチキャストグループに参加している受信装置が複数のVPNに存在する場合は、OVRFに複数のVRFを登録することも可能である。
VRF識別部15は、VRF対応表151を用いて受信したマルチキャストパケットを処理すべきVRFを識別する。VRF識別部15は、設定された入出力インターフェースのVRF情報を用いて入出力インターフェースとVRFとを一意に対応付けるVRF対応表151を作成する。すなわち、いずれの入出力インターフェースから入力されたかによって、対応するVRFを一意に決定することができる。ネットワーク中継ルータ10において入出力インターフェースを介して制御パケットおよびマルチキャストパケットが受信されると、VRF識別部15は、これらパケットを受信した入出力インターフェースに対応するVRFを参照し、該当するVRFの制御パケット送受信処理部に通知する。
VRF間ゲートウェイ処理部16は、異なるVRFで動作するマルチキャストルーティングプロトコル処理部に対して、マルチキャストパケット転送および各種問い合わせを実行する。VRF間ゲートウェイ処理部16は、受信側VRFおよび送信側VRFのマルチキャスト経路計算表を検索し、それぞれの入出力インターフェース情報を取得することで、受信側VRFおよび送信側VRFのマルチキャスト経路計算処理部114A、114Bにマルチキャスト経路計算表1141A、1141Bを完成させて、VRF間マルチキャスト中継を実現する。VRF間ゲートウェイ処理部16は、受信装置REがマルチキャストグループから離脱すると、受信側および送信側のマルチキャスト経路計算表を検索し、受信側VRFおよび送信側VRFのマルチキャスト経路計算処理部114A、114Bを介して受信側および送信側のマルチキャスト経路計算表から離脱した出力インターフェースを削除させることで、VRF間マルチキャスト中継を停止させる。VRF間ゲートウェイ処理部16およびVRF間マルチキャストパケット送信部1131A、1131Bは、特許請求の範囲における装置内送信部に相当する。VRF間ゲートウェイ処理部16はまた、特許請求の範囲における装置内経路情報交換手段に相当する。
VRF情報設定部14、VRF識別部15および各マルチキャストルーティングプロトコル処理部11A、11BのVRF管理部111A、111Bは、VPN毎にマルチキャストルーティングプロトコルを独立して動作させるために備えられている。
第2のVPN50Bの受信装置が第1のVPN50Aの送信装置のマルチキャストパケットを受信したい場合、従来のVRFの概念ではマルチキャストルーティングプロトコルはVPNで独立して動作するため、マルチキャスト通信は同一VPN内に限定されており、VPN50A、50B間でのマルチキャスト通信を行うことは不可能である。本実施例では、VRF間ゲートウェイ処理部16を備えると共に、VRF情報設定部14にVRF間中継情報142を格納し、制御パケット送受信処理部112A、112BにVRF間加入要求送信部1121A、1121Bを、データパケット送受信処理部113A、113BにVRF間マルチキャストパケット送信部1131A、1131Bを備えることによって、異なるVRF(VPN)間でのマルチキャストパケットの中継を実現している。
ネットワーク中継装置の動作:
第1のVPN50Aにおけるマルチキャストパケットの経路生成:
図5は本実施例に係るネットワーク中継ルータ10が第1のVPN50Aに対して受信装置が接続されたPIM-SMルータとして振る舞う際の制御パケット、データパケットの流れを模式的に示す説明図である。先ず、本実施例に係るネットワーク中継ルータ10が第1のVPN50Aに対して受信装置が接続されたPIM-SMルータとして振る舞う動作について説明する。本実施例では、ランデブーポイントであるルータ30aにPIM (*,G) joinメッセージを送信することで、ランデブーポイント経由で該マルチキャストパケットを受信する、PIM-SMのプロトコル動作を利用する。ネットワーク中継ルータ10は、設定されたマルチキャストグループアドレス(宛先アドレス)および送信側VRFの名称に基づき、送信側のVRF51Aのマルチキャストルーティングプロトコル処理部11Aにおいて、マルチキャストグループのPIM (*,G) joinメッセージ(CP1)を第1のVPN50Aのランデブーポイントであるルータ30aに対して逐次送信する。
送信の結果、PIM-SMプロトコルに従いランデブーポイント方向のインターフェース101からマルチキャストパケット(DP1)がネットワーク中継ルータ10に中継される。ネットワーク中継ルータ10は受信したマルチキャストパケットから送信装置SEのアドレス(ソースアドレス、送信元アドレス)を取得し、送信装置方向のインターフェース102(ソースアドレス方向)に対してPIM (S,G) joinメッセージ(CP2)を送信する。送信の結果、送信装置方向の入出力インターフェース102からマルチキャストパケットを受信し、送信側第1のVPN50A内における送信装置SE(ルータ20a)とネットワーク中継ルータ10の間における最適なマルチキャスト経路(MR)が確立される。このとき、IIFから受信したマルチキャストパケットが、ネットワーク中継ルータ10に設定されたVRF間中継の対象とするマルチキャストグループアドレスと一致した場合、受信したマルチキャストパケットを受信側VRFで動作しているマルチキャストルーティングプロトコル処理部11Bに転送する。
以下詳細に説明する。図6は本実施例に係るネットワーク中継ルータによって実行される第1のVPN50Aにおけるマルチキャストパケットの経路を生成するための処理ルーチンを示すフローチャートである。図7は本実施例に係るネットワーク中継ルータによって実行されるVRF間ゲートウェイ処理における処理ルーチンを示すフローチャートである。
本処理ルーチンは所定の時間間隔で定期的に実行される。VRF間加入要求送信部1121Aは、VRF間中継情報142に予め設定されているマルチキャストグループへの参加要求(PIM (*,G) joinメッセージ)をランデブーポイント(ルータ30)が接続されている入出力インターフェース101に出力して、ルータ30に対して送信する(ステップS100)。VRF管理部111Aは、参加要求の送信に用いられたVRF間中継情報(マルチキャストグループアドレス、入力側VRF名称)をVRF管理部111A内に格納する。データパケット送受信処理部113Aは、ランデブーポイントであるルータ30からのマルチキャストパケットの受信を待機し(ステップS102:No)、マルチキャストパケットを受信すると(ステップS102:Yes)、受信したマルチキャストパケットから送信装置SEのアドレス(ソースアドレス)を取得する(ステップS104)。
制御パケット送受信処理部112Aは、取得したソースアドレスを用いて、ソースアドレス方向にRPF neighbor(近隣ルータ)が存在するか検索を実行し(ステップS106)、近隣ルータを検索できた場合には(ステップS106:Yes)、近隣ルータに対してソースアドレスを特定した参加要求(PIM (S,G) Joinメッセージ)を送信する(ステップS108)。近隣ルータの検索は、PIM-Helloメッセージを送信することによって、あるいは、ネットワーク中継ルータ10が備えているルーティングテーブルに基づいて実行することができる。制御パケット送受信処理部112Aは、近隣ルータを検索できない場合には(ステップS106:No)、最短マルチキャスト経路を作成することなく、本処理ルーチンは終了する。近隣ルータに対して参加要求が送信されると、マルチキャスト経路計算処理部114Aは、図3に示すマルチキャスト経路計算表を生成する(ステップS110)。具体的には、マルチキャスト経路計算処理部114Aは、ソースアドレス、マルチキャストグループアドレス、IVRF、IIF、OVRF、OIFをマルチキャスト経路計算表1141Aに設定する。ここで、ソースアドレス、マルチキャストグループアドレスには、参加要求の送信に用いられたソースアドレス、マルチキャストグループアドレスが設定され、IVRF、IIFには、自己のVRF名称、近隣ルータへの参加要求の送信に用いられた入出力インターフェースが設定され、OVRFにはステップS100において保持した受信側VRF名称を設定する。具体的には、VRF管理部111Aに保持されているVRF間中継情報から、参加要求の送信に用いられたマルチキャストグループに一致するエントリを検索し、一致したエントリに登録されている受信側VRF名称をOVRFに登録する。この段階では、作成されたマルチキャスト経路計算表1141Aはマルチキャストパケット中継処理部13には通知されず、マルチキャストパケットはデータパケット送受信処理部113Aに通知され続ける。
データパケット送受信処理部113Aは、近隣ルータを介した送信装置SEからのマルチキャストパケットの受信を待機し(ステップS112:No)、マルチキャストパケットを受信すると(ステップS112:Yes)、マルチキャスト経路計算処理部114Aは、受信したマルチキャストパケットのソースおよびマルチキャストグループに基づいて対応するマルチキャスト経路計算表を検索し、検索により得られたマルチキャスト経路計算表のOVRFに他のVRF名称が登録されているか否かを判定する(ステップS114)。検索により得られたマルチキャスト経路計算表のOVRFに他のVRF名称が登録されている場合には(ステップS114:Yes)、マルチキャスト経路計算処理部114AはVRF間ゲートウェイ処理部16を介して受信側VRFに対してマルチキャストパケットを送信して(ステップS116)、本処理ルーチンを終了する。具体的には、マルチキャスト経路計算処理部114AはVRF間ゲートウェイ処理部16に対して受信したマルチキャストパケットおよび受信側VRF名称を通知する。通知を受けたVRF間ゲートウェイ処理部16は、通知された受信側VRF名称に基づいて、受信側VRFで動作しているマルチキャストルーティングプロトコル処理部11Bのデータパケット送受信処理部113Bに対してマルチキャストパケットを転送する。
図8は、マルチキャストパケットをVRF51Bに転送した際のVRF51Aのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Aのソースには送信装置SEのアドレス(server1_addr)、グループにはネットワーク中継ルータ10に予め設定されたVRF間中継を行うマルチキャストグループのアドレス(group1_addr)、IVRFには送信装置が存在する送信側VRF(VRF51A)、IIFにはVRF51Aにおいて送信装置SEからのマルチキャストパケットを受信した入出力インターフェース(102)、OVRFにはネットワーク中継ルータ10に予め設定された受信側VRF名称(VRF51B)が登録されている。マルチキャストパケットがVRF51AからVRF51Bに転送された段階では、受信者側の情報である出力インターフェースが不明なのでOIFには何も登録されていない。
一方、マルチキャスト経路計算処理部114Aは、検索により得られたマルチキャスト経路計算表のOVRFが自己のVRFと一致する場合は、マルチキャストパケット中継処理部13を介して自己のVPN内におけるマルチキャスト中継処理を実行して(ステップS118)、本処理ルーチンを終了する。具体的には、マルチキャスト経路計算処理部114Aは、作成しておいたマルチキャスト経路計算表の情報をマルチキャストパケット中継処理部に通知し、この結果、自己のVPN内でのマルチキャスト中継が開始される。
図7を参照して、VRF間ゲートウェイ処理部16が実行する、VRF51Aから受信したマルチキャストパケットをVRF51Bで動作するマルチキャストルーティングプロトコル処理部11Bに転送する処理について、詳細に説明する。マルチキャスト経路計算処理部114Aは、近隣ルータからマルチキャストパケットを受信すると、受信したマルチキャストパケットと、受信側のVRF名称をVRF間ゲートウェイ処理部16に送信し、VRF間転送依頼を行う(ステップS120)。VRF間ゲートウェイ処理部16は、通知された受信側のVRF名称を用いて、出力先(受信側)のVRFでマルチキャストルーティングプロトコルが動作中であるか否かを判定する(ステップS122)。具体的には、VRF情報設定部14が備えるVRF情報141にOVRFと一致するVRFが記録されているか否かを判定する。既述の通り、VRF情報141には、ネットワーク中継ルータ10において動作中のVRFが記録されている。VRF間ゲートウェイ処理部16は、OVRFと一致するVRFが動作中であると判断した場合には(ステップS122:Yes)、OVRFのマルチキャストルーティングプロトコル部11Bのデータパケット送受信処理部113Bに対してマルチキャストパケットを転送し(ステップS124)、本処理ルーチンを終了する。VRF間ゲートウェイ処理部16は、OVRFと一致するVRFが動作中でないと判断した場合には(ステップS122:No)、マルチキャストパケットの転送処理を行うことなく本処理ルーチンを終了する。
・第2のVPN50Bにおけるマルチキャストパケットの経路生成:
図9は本実施例に係るネットワーク中継ルータ10が第2のVPN50Bに対して送信装置が接続されたPIM-SMルータとして振る舞う際の制御パケット、データパケットの流れを模式的に示す説明図である。受信装置REからReportメッセージを受け取ると、ルータ20bはPIM-SMプロトコルに従って、ランデブーポイントであるルータ30bにPIM (*,G) joinメッセージ(CP1)を送信する。ネットワーク中継ルータ10のVRF51Bのマルチキャストルーティングプロトコル処理部11Bは、VRF51Aから転送されたマルチキャストパケットをあたかも送信装置SEから直接受信したかのように振舞うことで、従来のPIM-SMの動作に従って、VRF51B内のランデブーポイントであるルータ30bに中継する(DP1)。ランデブーポイントであるルータ30bに中継されたマルチキャストパケット(DP1)は、ルータ30bがルータ20bからPIM (*,G) joinメッセージを受信しているので、PIM-SMのプロトコルに従いルータ20bまで中継される。ルータ20bは受信したマルチキャストパケットから送信装置SEのアドレスを取得し、ソースアドレスを元にユニキャスト経路情報から、最短経路で到達するためのRPF Neighborを算出する。ルータ20bは、算出した近隣ルータが接続されている入出力インターフェース104にPIM (S,G) joinメッセージ (CP2)を送信することで第2のVPN50B内での最適なマルチキャスト経路(MR)を確立する。ユニキャスト経路情報には、他のVPNに属する送信装置も登録されている。
以下、受信装置REが存在する第2のVPN50Bでのマルチキャスト中継処理を詳細に説明する。図10は本実施例に係るネットワーク中継ルータによって実行される第2のVPN50Bにおけるマルチキャストパケットの経路を生成するための処理ルーチンを示すフローチャートである。図11は本実施例に係るネットワーク中継ルータによって実行されるVRF間ゲートウェイ処理における処理ルーチンを示すフローチャートである。図10に示す処理ルーチンは、VRF51B(マルチキャストルーティングプロトコル処理部11B)がマルチキャストパケットを受信すると開始される。
マルチキャストルーティングプロトコル処理部11Bは、マルチキャストパケットを受信すると、マルチキャスト経路計算表1141Bに登録済みであるか否かを判定する(ステップS200)。すなわち、受信したマルチキャストパケットのソースアドレスおよびマルチキャストグループアドレスに一致するエントリがマルチキャスト経路計算表1141Bに存在するか否かが判定される。VRF51AのVRF間マルチキャストパケット送信部1131Aから最初にマルチキャストパケットを受信した場合には、マルチキャスト経路計算表1141Bには対応するエントリは登録されていない。マルチキャストルーティングプロトコル処理部11Bは、VRF51AのVRF間マルチキャストパケット送信部1131Aからマルチキャストパケットを受信した場合にも、直接接続したマルチキャスト送信装置からマルチキャストパケットを受信したときと同様に、受信したマルチキャストパケットの情報をマルチキャスト経路計算表に登録し、ランデブーポイントに対して、受信したマルチキャストパケットを中継する。マルチキャストルーティングプロトコル処理部11Bは、受信したマルチキャストパケットのソースアドレスおよびマルチキャストグループアドレスが登録されていないと判断した場合には(ステップS200:No)、マルチキャスト経路計算表1141Bに登録する(ステップS202)。具体的には、ソースアドレス、マルチキャストグループアドレス、IVRF、IIF、OVRF、OIFをマルチキャスト経路計算表1141Bに登録し、マルチキャストパケット中継処理部13に通知する。ここで、他のVRFからマルチキャストパケットを受信した場合には、IVRFには送信側のVRF名称が設定され、OVRFには受信側のVRF名称が設定され、OIFにはランデブーポイント方向のインターフェースが設定される。他のVRFからのマルチキャストパケットであるか否かは、例えば、マルチキャストパケットを受信したインターフェースが自己のVRFに対応するインターフェースであるか否かによって判断することができる。この時点ではIIFには何も設定されない。すなわち、IIFは送信側のVRFの入出力インターフェースであり、受信側のVRFは情報を有していないからである。一方、マルチキャストルーティングプロトコル処理部11B(VRF51B)に直接接続されている送信装置から受信したマルチキャストパケットであれば、IVRFには自己のVRF名称を設定し、OVRFには受信側のVRF名称、OIFにはランデブーポイント方向のインターフェースを設定し、IIFには送信装置が接続されている入出力インターフェース(マルチキャストパケットを受信した入出力インターフェース)を設定する。送信側と受信側のVRFが同じ場合には、マルチキャストルーティングプロトコル処理部11Bは、マルチキャストパケット中継処理部13に通知する。マルチキャスト経路計算表のIVRFには送信装置が存在するVRF名称、IIFはこの段階では不明なので何も登録しない。OVRFには受信装置が存在するVRF名称(すなわち、自己のVRF名称)、OIFにはランデブーポイント方向のインターフェースを登録し、ソース、グループアドレスにはマルチキャストパケットから取得したアドレスをそれぞれ登録する。この結果、受信装置REが接続されているルータ20bは、ランデブーポイント経由で受信したマルチキャストパケットのソースアドレスに基づいてPIM (S,G) joinメッセージを送信し、ネットワーク中継ルータ10は入出力インターフェース105から当該メッセージを受信する。
データパケット送受信処理部113Bは、受信したマルチキャストパケットをランデブーポイントに送信し(ステップS204)、制御パケット送受信処理部112Bは、任意のインターフェースからの参加要求(PIM (S,G) joinメッセージ)の受信を待機する(ステップS206:No)。制御パケット送受信処理部112Bは、任意のインターフェースからのPIM (S,G) joinメッセージを受信すると(ステップS206:Yes)、受信したPIM (S,G) joinメッセージからマルチキャストグループアドレス、ソースアドレスを取得する(ステップS208)。マルチキャストパケット中継処理部13によって受信されたPIM (S,G) joinメッセージはVRF識別部15を介してVRF51Bの制御パケット送受信処理部112Bに通知される。マルチキャスト経路計算処理部114Bは、取得したマルチキャストグループアドレスおよびソースアドレスに対応するエントリをマルチキャスト経路計算表1141Bから検索し、登録されていないエントリ(マルチキャストグループアドレス)に対するPIM (S,G) joinメッセージである場合には(ステップS210:No)、経路の追加を行うことなく本処理ルーチンを終了する。一方、マルチキャスト経路計算処理部114Bは、登録済みのエントリに対応するマルチキャストグループアドレスの場合には(ステップS210:Yes)、マルチキャスト経路計算表1141BのOIFに受信装置方向の入出力インターフェースを追加し、当該エントリのIVRFとOVRFとが異なり、IIFが未登録であるか否かを判定する(ステップS212)。本発明ではVRFを跨ぐマルチキャストパケットの中継を行うため、受信したマルチキャストパケットのIVRFとOVRFとが異なり、IIFが未登録の場合には、VRF間ゲートウェイ処理部16を介して、送信側VRFにおいてマルチキャストパケットを受信した入出力インターフェース(VRF51Bから見て入力インターフェース)の取得を行う必要があるためである。
マルチキャスト経路計算処理部114Bは、当該エントリのIVRFとOVRFとが異なり、IIFが未登録である場合には(ステップS212:Yes)、VRF間ゲートウェイ処理部16に対して送信側VRFのIIF取得処理を依頼する。VRF間ゲートウェイ処理部16には、マルチキャストグループアドレス、ソースアドレス、送信側VRF名称、受信側VRF名称および受信側VRFにおける出力インターフェースが通知される。VRF間ゲートウェイ処理部16は、送信側のVRFを検索し、受信したマルチキャストパケットのIIFを取得する(ステップS214)。具体的には、VRF間ゲートウェイ処理部16は、送信側VRFのマルチキャスト経路計算表1141Aから、マルチキャストグループアドレス、ソースアドレスおよび受信側VRF名称がOVRFとなっているマルチキャスト経路計算表を検索し、IIFから入力インターフェースを取得することができる。マルチキャスト経路計算処理部114Bは、VRF間ゲートウェイ処理部16によって取得したVRF51Aにおける入力インターフェースを当該マルチキャスト経路計算表1141BのIIFに設定し、OIFにはPIM (S,G) joinメッセージを受信したインターフェースを追加し、マルチキャスト経路計算表1141Bをマルチキャストパケット中継処理部13に通知する(ステップS216)。この結果、VPN間の最短経路を介してマルチキャスト中継が開始され(ステップS218)、本処理ルーチンが終了する。マルチキャストパケット中継処理部13に確立された最短経路が通知された後は、マルチキャストパケットはVRF51A、VRF51Bのデータパケット送受信処理部113A、113Bに通知されることなく、マルチキャストパケット中継処理部13によって中継処理が実行される。
マルチキャスト経路計算処理部114Bは、当該エントリのIVRFとOVRFとが一致する場合には(ステップS212:No)、OIFにPIM (S,G) joinメッセージを受信したインターフェースを追加してマルチキャストパケット中継処理部に通知する(ステップS220)。この結果、同一VPN内におけるマルチキャストパケット送信処理、すなわち、PIM (S,G) joinメッセージ受信インターフェースに対してマルチキャスト中継が開始され(ステップS222)、本処理ルーチンが終了する。
図11を参照して、VRF51においてPIM (S,G) joinメッセージを受信したあと、VRF間ゲートウェイ処理部16を介して実行される、マルチキャスト経路計算表のIIFに他のVRFにおけるインターフェースの情報を登録するまでの処理について詳細に説明する。図12は、PIM (S,G) joinメッセージを受信した際のVRF51Bのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Bのソースには送信装置SEのアドレス(server1_addr)、グループにはVRF51Aから転送されたマルチキャストパケットのグループアドレス(group1_addr)、IVRFには送信装置が存在する送信側VRF(VRF51A)、OVRF には受信側VRF(VRF51B)、OIFにはVRF51Bの出力インターフェース105が登録されている。PIM (S,G) joinメッセージを受信した段階では、送信側VRFの情報である入力インターフェースが不明なのでIIFには何も登録されていない。
マルチキャスト経路計算処理部114Bが、VRF間ゲートウェイ処理部16に対してマルチキャストグループアドレス、ソースアドレス、IVRF、OVRF、受信側VRFにおけるOIFを通知し、送信側VRFにおけるIIF情報の取得依頼を行う(ステップS250)。VRF間ゲートウェイ処理部16は、通知された送信側のVRF名称に基づいて、入力元(送信側)のVRFでマルチキャストルーティングプロトコルが動作中であるか否かを判定する(ステップS252)。具体的には、VRF情報設定部14が備えるVRF情報141にIVRFと一致するVRFが記録されているか否かを判定する。既述の通り、VRF情報141には、ネットワーク中継ルータ10において動作中のVRFが記録されている。VRF間ゲートウェイ処理部16は、IVRFと一致するVRFが動作中であると判断した場合には、入力元(送信側)のVRFでマルチキャストルーティングプロトコルが動作中であると判定し(ステップS252:Yes)、送信側VRFのマルチキャスト経路計算表から、受け取ったマルチキャストグループ、ソースアドレスに対応するエントリを検索する(ステップS254)。一方、送信側のVRFでマルチキャストルーティングプロトコルが動作していないと判断した場合には(ステップS252:No)、IIFを取得することができないので、VRF間ゲートウェイ処理部16は、IIF取得処理を行わないで本処理ルーチンを終了する。
VRF間ゲートウェイ処理部16は、一致するエントリを検索できた場合には(ステップS256:Yes)、該当エントリのIIFに登録されている入出力インターフェース情報を取得し、受信側VRFのマルチキャストルーティングプロトコル処理部11Bに通知する(ステップS258)。マルチキャスト経路計算処理部114Bは、受信側VRFのマルチキャスト経路計算表1141Bの該当エントリのIIFに、取得した送信側VRFのIIFを登録する。送信側VRFでは、VRF間ゲートウェイ処理部16から受け取った受信側VRFの出力インターフェースの情報を用いて、マルチキャスト経路計算処理部114Aがマルチキャスト経路計算表1141Aにおける、当該マルチキャストグループアドレス、ソースアドレスに対応するエントリのOIFに受信側VRFの出力インターフェースを追加登録して本処理ルーチンを終了する。一方、一致するエントリが存在しない場合は、IIFの取得処理を行うことなく本処理ルーチンを終了する。
図13はIIF取得後におけるVRF51Bのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Bのソースには送信装置SEのアドレス(server1_addr)、グループにはVRF51Aから転送されたマルチキャストパケットのグループアドレス(group1_addr)、IVRFには送信装置が存在する送信側VRF(VRF51A)、OVRF には受信側VRF(VRF51B)、OIFにはVRF51Bの出力インターフェース105、IIFにはVRF51Aのマルチキャストルーティングプロトコル処理部11Aから取得した入力インターフェース(102)が登録されている。
図14はOIF追加後におけるVRF51Aのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Aのソースには送信装置SEのアドレス(server1_addr)、グループにはネットワーク中継ルータ10に予め設定されたVRF間中継を行うマルチキャストグループのアドレス(group1_addr)、IVRFには送信装置が存在する送信側VRF(VRF51A)、IIFにはVRF51Aにおいて送信装置SEからのマルチキャストパケットを受信した入出力インターフェース(102)、OVRFにはネットワーク中継ルータ10に予め設定された受信側VRF名称(VRF51B)、VRF間ゲートウェイ処理部16からの要求によって追加登録された出力インターフェース(105)が登録されている。
受信装置のマルチキャストグループからの離脱:
受信装置REは、参加しているマルチキャストグループから離脱する際には、ルータ20bに対してLeaveメッセージを送信する。Leaveメッセージを受信したルータ20bはPIM-SMプロトコルに従って、ソース方向であるネットワーク中継ルータ10に対してPIM (S,G) pruneメッセージを送信する。ネットワーク中継ルータ10は、PIM (S,G) pruneメッセージを受信すると、メッセージを受信したインターフェースに対するマルチキャストパケットの中継を停止する。以下に詳述する。
図15は、ネットワーク中継ルータがPIM (S,G) pruneメッセージを受信し、マルチキャストパケットの送信を停止する際に実行される処理ルーチンを示すフローチャートである。本処理ルーチンは、VRF51Bで動作するマルチキャストルーティングプロトコル処理部11Bが受信装置REが接続されているルータ20bからPIM (S,G) pruneメッセージを受信すると開始される(ステップS300:No)。制御パケット送受信処理部112Bは、ルータ20bが接続されている入出力インターフェース105からPIM (S,G) pruneメッセージを受信すると(ステップS300:Yes)、受信したメッセージからマルチキャストグループアドレスおよびソースアドレスを取得する(ステップS302)。マルチキャスト経路計算処理部114Bは、取得したマルチキャストグループアドレスおよびソースアドレスを用いてマルチキャスト経路計算表1141Bから該当するエントリを検索する(ステップS304)。マルチキャスト経路計算処理部114Bは、一致するエントリを検索した場合(ステップS304:Yes)、マルチキャスト経路計算表1141Bの該当エントリにおけるOIFおよびOVRFから登録されているインターフェースおよびVRF名称を削除し、マルチキャストパケット中継処理部13に通知する(ステップS306)。
マルチキャスト経路計算処理部114Bは、マルチキャスト経路計算表1141BにおけるIVRFが自己のVRFと異なるか否か、すなわち、IVRFとOVRFとが異なるVRF間中継に用いられていたエントリであるか否かを判定する(ステップS308)。マルチキャスト経路計算処理部114Bは、IVRFとOVRFが異なる場合には(ステップS308:Yes)、VRF間ゲートウェイ処理部16に対して、当該エントリのマルチキャストグループアドレス、ソースアドレス、送信側VRF名称、受信側VRF名称および、受信側VRFの出力インターフェースを通知し、送信側VRFのマルチキャスト経路計算表1141AからのOVRF、OIF削除処理を要求する(ステップS312)。マルチキャスト経路計算処理部114Bは、変更後のマルチキャスト経路計算表1141Bをマルチキャストパケット中継処理部13に通知し(ステップS310)、本処理ルーチンを終了する。マルチキャストパケット中継処理部13は、通知されたマルチキャスト経路計算表1141Bに基づいてマルチキャスト中継を行うため、削除された対象エントリのOIFに対するマルチキャスト中継が停止される。
一方、ステップS304において、マルチキャスト経路計算処理部114Bは、一致するエントリを検索しなかった場合には(ステップS304:No)、本処理ルーチンを終了する。
図16はPIM (S,G) pruneメッセージを受信した後、送信側VRFのマルチキャスト経路計算表から、離脱した受信装置のOVRF、OIF情報を削除する際に実行される処理ルーチンを示すフローチャートである。上述のように、マルチキャスト経路計算処理部114Bは、受信したPIM (S,G) pruneメッセージから取得したマルチキャストグループアドレスがマルチキャスト経路計算表1141Bに登録済みで且つ、対応するエントリのIVRFとOVRFとが異なる場合、VRF間ゲートウェイ処理部16にマルチキャストグループアドレス、ソースアドレス、送信側VRF名称(IVRF)、受信側VRF名称(OVRF)、受信側VRFの出力インターフェース(OIF)を通知し、送信側VRFにおけるマルチキャスト経路計算表1141Aの対応するエントリからのOVRF、OIF削除依頼を行う。依頼を受けたVRF間ゲートウェイ処理部16は、通知された送信側のVRF名称に基づいて、送信側VRFで動作するマルチキャストルーティングプロトコル処理部に問い合わせを行う(ステップS350)。VRF間ゲートウェイ処理部16は、受信側のVRFマルチキャストルーティングプロトコル処理部11Aが動作しているかを判断し(ステップS352)、動作していないと判断した場合には(ステップS352:No)、OVRF、OIFの削除処理を実行することなく本処理ルーチンを終了する。VRF間ゲートウェイ処理部16による、マルチキャストルーティングプロトコルの動作の有無の判断は、既述の通り、VRF情報141を参照することによって実行される。VRF間ゲートウェイ処理部16は、VRFマルチキャストルーティングプロトコル処理部11Aが動作していると判断した場合には(ステップS352:Yes)マルチキャストルーティングプロトコル処理部11Aのマルチキャスト経路計算表1141Aから、通知を受けたマルチキャストグループ、ソースアドレスを用いて該当エントリを検索する(ステップS354)。VRF間ゲートウェイ処理部16は、該当エントリ、すなわち、一致するエントリが存在する場合には(ステップS356:Yes)、マルチキャスト経路計算処理部114Aを介して、該当エントリのOVRFから受信側VRFを削除し、OIFから受信側出力インターフェースを削除して(ステップS358)、本処理ルーチンを終了する。一方、一致するエントリが存在しない場合には、VRF間ゲートウェイ処理部16は、OVRF、OIFの削除処理を実行することなく本処理ルーチンを終了する。
図17は、PIM (S,G) pruneメッセージを受信する前のVRF51Bのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Bのソースには送信装置SEのアドレス(server1_addr)、グループにはVRF51Aから転送されたマルチキャストパケットのグループアドレス(group1_addr)、IVRFには送信装置が存在するVRF(VRF51A)、IIFには入力インターフェース(102)、OVRFには受信装置REが存在するVRF(VRF51B)、OIFには出力インターフェース(105)が登録されている。
図18は、入出力インターフェース105からPIM (S,G) pruneメッセージを受信した後のVRF51Bのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Bのソースには送信装置SEのアドレス(server1_addr)、グループにはVRF51Aから転送されたマルチキャストパケットのグループアドレス(group1_addr)、IVRFには送信装置SEが存在するVRF(VRF51A)、IIFには入力インターフェース(102)が登録されており、OVRFおよびOIFからはVRF51B、出力インターフェース(105)が削除されている。
図19は、インターフェース105からPIM (S,G) pruneメッセージを受信した後のVRF51Aのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Aのソースには送信装置SEのアドレス(server1_addr)、ネットワーク中継ルータ10に設定されているVRF間中継の対象となるマルチキャストグループアドレス(group1_addr)、IVRFには送信装置SEが存在するVRF(VRF51A)、IIFには入力インターフェース(102)が登録されており、OVRFおよびOIFからはVRF51B、出力インターフェース(105)が削除されている。
以上説明した第1の実施例に係るネットワーク中継ルータ10によれば、ネットワーク中継ルータ10が第1のVPN50Aにおいて受信装置として振る舞い、送信装置SEを特定し、送信装置SEとの間の最短経路を確立し、第2のVPN50Bにおいて送信装置として振る舞うので、複数の送信装置が含まれるネットワークであっても、異なるネットワーク間におけるマルチキャスト通信を簡易に実現させることができる。
また、第1の実施例に係るネットワーク中継ルータ10は、VPN50Aにおいて受信装置として振る舞い、第2のVPN50Bにおいて送信装置として振る舞うので、ネットワーク構成の変更を要することなく、既存のPIM-SMプロトコルに従うネットワークに対してそのまま適用することができる。すなわち、本実施例では、複数のVPN収容するネットワーク中継ルータ10において、VRF間の中継対象とするマルチキャストグループに基づいて、送信装置からネットワーク中継ルータ10までPIM-SMプロトコルにより最短通信経路を確立し、マルチキャストパケットの中継を行い、ネットワーク中継ルータ10内でマルチキャストパケット受信装置が存在するVRFにマルチキャストパケットを中継し、中継先のVPN内においてPIM-SMプロトコルにより受信装置までマルチキャストパケットを中継することができる。したがって、既存のプロトコルに何ら変更を加えることなく、マルチキャストグループを用いるだけで、簡易にネットワークを跨いだマルチキャストパケットの中継処理を実行することができる。
さらに、第1のVPN50A複数のVPNを収容するネットワーク中継ルータ10(マルチキャスト中継装置)に、VRF間中継対象とするマルチキャストグループ情報を設定することで、VRF間でのマルチキャスト中継を可能にする。すなわち、マルチキャストグループを検索指標と用いることでVRF間中継を実現することができる。VRF間中継を行うマルチキャストグループの設定は、複数指定可能であり、受信装置および送信装置が複数のVPNに存在する場合も、マルチキャスト中継は可能である。また、マルチキャストプロトコルとしてPIM-SMプロトコルを用いているため、送信側VPN内に複数の送信装置が存在する場合でも、VRF間マルチキャスト中継を可能にすることができる。さらに、MSDPといったような新しいプロトコルを使用するために必要とされる情報の共有や構成変更が不要であり、各VPNの機密性を維持しつつVPNを跨ぐマルチキャストパケットの中継を実現することができる。
第2の実施例:
第2の実施例では、複数のVPNを収容するネットワーク中継ルータ10に直接マルチキャストパケットの送信装置および受信装置を接続した場合におけるVRF間マルチキャスト中継について説明する。なお、ネットワーク中継ルータ10の内部構成は、第1の実施例におけるネットワーク中継ルータ10と同様であるから同一の符号を付して詳細な説明は省略する。
図20は複数のVPN(Virtual Private Network)を収容可能なネットワーク中継ルータ10にマルチキャストパケット送信装置および受信装置が直接接続されているネットワークの構成を示す説明図である。ネットワーク中継ルータ10の入出力インターフェース102、105には、第1のネットワークである第1のVPN50Aにおいて送信装置SEが、第2のネットワークである第2のVPN50Bにおいて受信装置REがそれぞれ接続されている。本ネットワーク構成では、受信側の第2のVPN50Bおよび送信側の第1のVPN50Aにマルチキャスト中継装置であるルータが1台しか配置されていないため、双方のVPNにおいてネットワーク中継ルータ10がランデブーポイントとなる。第1の実施例と同様に、本実施例においても、複数のVPNを収容するネットワーク中継ルータ10にVRF間中継の対象とするマルチキャストグループアドレス、送信側VRF情報、受信側VRF情報をVRF間中継情報142にそれぞれ設定する。
ネットワーク中継ルータ10は、送信装置SEから直接マルチキャストパケットを受信すると、受信したマルチキャストパケットのマルチキャストグループアドレス及び、マルチキャストパケットを受信したVRFと、VRF間中継情報142に設定されているマルチキャストグループアドレスおよび送信側VRF情報とを比較し、一致すれば受信したマルチキャストパケットを設定されている受信側VRFで動作しているマルチキャストルーティングプロトコル処理部に転送する。受信側のVRFでは、受信装置REからReportメッセージを受信すると、送信側のVRFおよび入力インターフェース情報と、受信側のVRFおよび出力インターフェース情報とに基づいて、インターフェース102とインターフェース105との間でマルチキャストパケットの中継を実行する。
以下、詳細に説明する。先ず、ネットワーク中継ルータ10のVRF51Aの動作について説明する。本実施例における第1のVPN50Aには他にルータが存在せず、ネットワーク中継ルータ10がランデブーポイントとなるので、VRF間加入要求送信部1121AはPIM (*,G) joinメッセージを送信しない。VRF管理部111Aは、VRF間中継情報142からVRF間中継の対象となるマルチキャストグループアドレス、送信側VRF情報を取得し、保持する。送信装置SEからマルチキャストパケットを受信すると、受信されたマルチキャストパケットは、VRF識別部15を介してデータパケット送受信処理部113Aに送信される。データパケット送受信処理部113Aは、受信したマルチキャストパケットから、マルチキャストグループアドレスを取得し、VRF管理部111Aに保持されているVRF間中継情報に設定されているマルチキャストグループアドレスが一致するエントリが存在するか検索する。
一致するエントリが存在する場合には、データパケット送受信処理部113Aは、VRF間中継対象のマルチキャストパケットであると判定する。マルチキャスト経路計算処理部114Aは、マルチキャスト経路計算表1141Aを作成する。このとき作成するマルチキャスト経路計算表1141AのIVRFには送信側のVRF名称、IIFにはマルチキャストパケットを受信したインターフェース、OVRFにはVRF間中継情報142に設定された受信側VRF名称を設定する。OIFはこの段階では不明なので何も設定されない。ソースアドレスには送信装置SEのアドレス、マルチキャストグループアドレスには、受信したマルチキャストパケットのグループアドレスが設定される。作成されたマルチキャスト経路計算表1141Aは、この段階ではマルチキャストパケット中継処理部13には通知されない。したがって、マルチキャストパケットはデータパケット送受信処理部113Aに通知され続ける。データパケット送受信処理部113Aは、送信装置SEが送信したマルチキャストパケットを受信すると、受信したマルチキャストパケットをマルチキャスト経路計算表1141Aから検索し、入出力インターフェースを参照する。受信したマルチキャストパケットのエントリに対応するOVRFが他のVRFである場合は、VRF間マルチキャストパケット送信部1131Aは、VRF間ゲートウェイ処理部16を介して、受信したマルチキャストパケットを出力側VRFで動作しているマルチキャストルーティングプロトコル処理部11Bのデータパケット送受信処理部113Bに転送する。
ネットワーク中継ルータ10のVRF51Bの動作を説明する。本実施例における第2のVPN50Bには他にルータが存在しないので、ネットワーク中継ルータ10がランデブーポイントとなる。したがって、VRF51Aから転送されたマルチキャストパケットはどこにも中継されない。転送されたマルチキャストパケットに基づいて、VRF51Bにおいてマルチキャスト経路計算表1141Bが作成される。マルチキャスト経路計算表1141BのIVRFには、送信装置SEが存在するVRF名称、OVRFには受信側のVRF名称が設定される。IIFはこの段階では不明なので何も設定されない。また、この段階ではReportメッセージが受信されていないのでOIFには何も設定されない。ソースアドレスには、送信装置SEのアドレス、マルチキャストグループアドレスには、受信したマルチキャストパケットのグループアドレスが設定される。
ネットワーク中継ルータ10には受信装置REが直接接続されているので、ネットワーク中継ルータ10は受信装置REから直接Reportメッセージを受信する。具体的には、インターフェース105が受信装置REに接続するインターフェースなので、インターフェース105を介してReportメッセージが受信される。Reportメッセージを受信すると、VRF識別部15は、インターフェースに基づいて受信VRFを認識し、認識したVRFの制御パケット送受信処理部112Bに通知する。マルチキャスト経路計算処理部114Bは、Reportメッセージからマルチキャストグループアドレスを取得し、マルチキャスト経路計算表1141Bに同一のエントリが存在するか検索する。マルチキャスト経路計算処理部114Bは、同一のエントリが存在する場合には、OIFにReportメッセージを受信したインターフェースを追加する。マルチキャスト経路計算表1141BのIVRFが他VRFで、IIFに何も設定されていない場合、マルチキャスト経路計算処理部114Bは、VRF間ゲートウェイ処理部16を介して、送信側VRFで動作しているマルチキャストルーティングプロトコル処理部に問い合わせを行い、マルチキャストグループアドレス、ソースアドレスおよび自己のVRFがOVRFとなっているエントリをマルチキャスト経路計算表1141Aから検索する。一致するエントリが存在する場合には、マルチキャスト経路計算表1141AのIIFより入力インターフェースを取得する。取得した入力インターフェースは、受信側VRFのマルチキャストルーティングプロトコル部11Bに通知され、マルチキャスト経路計算処理部114Bは、通知された入力インターフェースをVRF51Bのマルチキャスト経路計算表1141Bの対応するエントリのIIFに追加し、マルチキャストパケット中継処理部に通知する。この結果、第1のVPN50A、50B間におけるマルチキャスト通信が可能となる。このとき、送信側VRFのマルチキャスト経路計算表1141AのOIFに受信側VRFの出力インターフェースが追加される。
図21はVRF51Aのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Aは、受信されたマルチキャストパケットに基づいて生成される。マルチキャスト経路計算表1141Aのソースには送信者アドレス(送信元アドレス)、グループにはマルチキャストグループアドレス(宛先アドレス)、IVRFには送信装置SEが存在するVRF51A、IIFには入力インターフェース102、OVRFには受信装置REが存在するVRF51Bが登録されており、この段階では出力インターフェースが不明なのでOIFには何も登録されていない。
図22はVRF51Bのマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141Bは、VRF51Aから転送されたマルチキャストパケットに基づいて生成される。マルチキャスト経路計算表1141Bのソースには送信者アドレス(送信元アドレス)、グループにはマルチキャストグループアドレス(宛先アドレス)、IVRFには送信装置SEが存在するVRF51A、OVRFには受信装置REが存在するVRF51Bが登録されており、この段階では入力インターフェース102は不明であり、出力インターフェースは存在しないのでIIFおよびOIFには何も登録されていない。
図23はReportメッセージが受信された後のVRF51Bにおけるマルチキャスト経路計算表1141Bを示す。受信装置REからReportメッセージを受信すると、マルチキャスト経路計算表1141BのOIF に受信インターフェース105が追加される。このとき、IVRFとOVRFとが異なり、IIFが未登録であれば、VRF間ゲートウェイ処理部16によって送信側VRFに対する問い合わせが実行され、送信装置SEが接続されているインターフェース情報、すなわちインターフェース102が取得され、IIFに登録される。IIF、OIFに送受信インターフェースが登録された後、マルチキャスト経路計算表1141Bをマルチキャストパケット中継処理部13に通知することで、VRF間マルチキャスト通信が可能となる。
図24は受信装置REからReportメッセージが受信された後、VRF間ゲートウェイ処理部によってOIFが追加登録された後のマルチキャスト経路計算表を示す。マルチキャスト経路計算表1141BのOIFには受信インターフェース105が追加されている。
第2の実施例によれば、ネットワーク中継ルータ10が、VPN50AおよびVPN50Bのランデブーポイントとしてそれぞれ機能させることができる。したがって、最短経路を確立することなく異なるネットワークに属する、送信装置SEと受信装置REとの間におけるマルチキャストパケットの中継処理を実行することができる。また、ランデブーポイントからネットワーク中継ルータ10までの経路上に配置されるルータにおける経路確立処理、参加要求処理を省略することができる。
第3の実施例:
本実施例では第1の実施例同様に、複数のVPNを収容するネットワーク中継ルータ10に、VRF間中継対象のマルチキャストグループアドレスと、送信側のVRF名称及び、受信側のVRF名称を登録する。ただし、本実施例では、ネットワーク中継ルータ10は、ルータ20bからのPIM (*,G) joinメッセージ受信を契機に送信側のVPNのランデブーポイントに対するPIM (*,G) joinメッセージの送信を実行する。すなわち、ネットワーク中継ルータ10における設定だけでは送信側のVPNにおけるランデブーポイントに対するPIM (*,G) joinメッセージの送信は行われず、設定完了後、直ちには、ネットワーク中継ルータ10に対して、送信装置SEからのマルチキャストパケットは中継されない。この結果、受信装置REからの参加要求を受信してから、VRF間マルチキャスト中継処理が開始されので、参加要求を受信する前の中継不要なマルチキャスト中継を抑止することができる。本実施例では受信側のVPNのランデブーポイントを、ネットワーク中継ルータ10に設定する。これにより、受信装置REが送信したReportメッセージ を受信したルータ20bが送信するPIM (*,G) joinメッセージは、常にネットワーク中継ルータ10に通知される。ネットワーク中継ルータ10は、ルータ20bからのPIM (*,G) joinメッセージ受信を契機に送信側のVPNのランデブーポイント30aに対してPIM (*,G) joinメッセージを送信する。送信側のVPNに対してPIM (*,G) joinメッセージ を送信した後は、第1の実施例と同様の手法でVRF間のマルチキャスト経路が構築される。
本実施例に係るネットワーク中継ルータ10の構成は、第1の実施例に係るネットワーク中継ルータ10の構成と同様であるから同一の符号を付すことで構成の説明は省略する。本実施例におけるVRF間中継情報142には、VRF間中継の対象となるマルチキャストグループアドレスと、送信側のVRF名称及び、受信側のVRF名称が予め外部から登録されている。図25はVRF51BにおいてPIM (*,G) joinメッセージを受信した際における、VRF51AにおけるPIM (*,G) joinメッセージの送信依頼処理を説明するフローチャートである。
本処理ルーチンは、VRF51BにおいてPIM (*,G) joinメッセージが受信されると開始される(ステップS400:No)。受信装置REが接続されているルータ20bからインターフェース105を介して受信されたPIM (*,G) joinメッセージ は、VRF識別部15を介して制御パケット送受信処理部112Bに転送される。制御パケット送受信処理部112Bは、受信したPIM (*,G) joinメッセージからマルチキャストグループアドレス取得し、取得したマルチキャストグループアドレスに一致するエントリを、VRF間中継情報142に登録されているマルチキャストグループアドレスから検索する(ステップS402)。具体的には、取得したマルチキャストグループアドレスに一致するエントリの中から自己のVRF名称が登録されているエントリをVRF間中継情報142のエントリから検索する。一致するエントリが存在した場合には、一致するエントリの中から自己のVRF名称(VRF51B)と一致するエントリを更に検索する。制御パケット送受信処理部112Bは、マルチキャストグループアドレスおよび自己のVRF名称に一致する該当エントリを検索できた場合には(ステップS404:Yes)、該当エントリから送信側VRF名称を取得する(ステップS406)。
制御パケット送受信処理部112Bは、取得した送信側VRF名称およびマルチキャストグループアドレスを、VRF間ゲートウェイ処理部16に通知し、PIM (*,G) jojnメッセージの送信を依頼する(ステップS408)。一致するエントリが存在しない場合は(ステップS404:No)、本処理ルーチンを終了する。VRF間ゲートウェイ処理部16は、通知された送信側VRF名称に基づいて送信側VRFで動作するマルチキャストルーティングプロトコル処理部に問い合わせを行い(ステップS410)、送信側VRFでマルチキャストルーティングプロトコルが動作中であるか否かを判定する(ステップS412)。具体的には、VRF間ゲートウェイ処理部16は、通知を受けた送信側VRF名称がVRF情報141に登録されているか否かを判定する。VRF間ゲートウェイ処理部16は、マルチキャストルーティングプロトコル処理部11Aが動作していると判断した場合には(ステップS412:Yes)、送信側VRFの制御パケット送受信処理部112Aにマルチキャストグループアドレスを通知し、PIM (*,G) jojnメッセージ送信を要求して(ステップS414)、本処理ルーチンを終了する。送信要求を受けた送信側の制御パケット送受信処理部112Aは、VRF間加入要求送信部1121Aによって、通知されたマルチキャストグループのPIM (*,G) joinメッセージをランデブーポイントに対して送信させる。
一方、VRF間ゲートウェイ処理部16は、マルチキャストルーティングプロトコル処理部11Aが動作していないと判断した場合には(ステップS412:No)、本処理ルーチンを終了する。ランデブーポイント30aへのPIM (*,G) joinメッセージ送信以降は第1の実施例において説明した処理と同様の処理が実行される。
第3の実施例に係るネットワーク中継ルータ10によれば、中継不要なマルチキャストパケットの中継を抑制することができる。すなわち、本実施例におけるネットワーク中継ルータ10は、受信装置REからのPIM (*,G) joinメッセージの受信を契機として、VRF間マルチキャスト経路生成を行うので、マルチキャストパケットの受信装置が存在する場合に限って、マルチキャストパケットを中継することが可能となり、中継不要なマルチキャストパケット中継を抑えることが出来る。これに伴い、中継不要なトラフィックを削除または低減することができる。
また、第3の実施例では、受信側のVPNにおけるランデブーポイントのみをネットワーク中継ルータ10に変更すればよいため、既存のPIM-SMプロトコルに従うネットワークに対する設定の変更を最小限に抑えつつ、第1の実施例と同様の作用、効果を得ることができる。
第4の実施例:
第1〜第3の実施例では、複数のVPNを収容するネットワーク中継ルータ10に、予めVRF間中継を実行するための情報を外部から設定していた。これに対して、第4の実施例では、VRF間中継情報を受信したPIM (*,G) joinメッセージとマルチキャストパケットに基づいて自動的に生成し、外部からの情報設定を必要とせずにVRF間のマルチキャスト通信を実現する。なお、本実施例に係るネットワーク中継ルータ10の構成は、第1の実施例に係るネットワーク中継ルータ10の構成と同様であるから同一の符号を付すことで構成の説明は省略する。本実施例では第1のVPN50A、50Bにおけるランデブーポイントは、共にネットワーク中継ルータ10に設定されている。したがって、送信装置SEからのマルチキャストパケットは常にランデブーポイントであるネットワーク中継ルータ10に中継され、受信装置REが接続されているルータ20bからのPIM (*,G) joinメッセージは常にランデブーポイントであるネットワーク中継ルータ10に中継される。
図26は受信側VRFにおいてPIM (*,G) joinメッセージおよびマルチキャストパケットの受信に伴い自動的にVRF間中継情報を作成する際に実行される処理ルーチンを示すフローチャートである。本処理ルーチンは、VRF51BにおいてPIM (*,G) joinメッセージが受信されると開始される(ステップS500:No)。受信装置REが接続されているルータ20bからインターフェース105を介して受信されたPIM (*,G) joinメッセージ は、VRF識別部15を介して制御パケット送受信処理部112Bに転送される。制御パケット送受信処理部112Bは、受信したPIM (*,G) joinメッセージからマルチキャストグループアドレス取得し(ステップS502)、取得したマルチキャストグループアドレスに一致するエントリを、VRF間中継情報142に登録されているマルチキャストグループアドレスから検索する(ステップS504)。具体的には、取得したマルチキャストグループアドレスに一致するエントリの中から自己のVRF名称が登録されているエントリをVRF間中継情報142のエントリから検索する。一致するエントリが存在した場合には、一致するエントリの中から自己のVRF名称(VRF51B)と一致するエントリを更に検索する。制御パケット送受信処理部112Bは、マルチキャストグループアドレスおよび自己のVRF名称に一致する該当エントリを検索できた場合には(ステップS506:Yes)、該当エントリのOVRFに自身のVRF名称を登録して(ステップS508)、本処理ルーチンを終了する。一方、一致するエントリが存在しない場合には(ステップS506:No)、制御パケット送受信処理部112Bは、VRF間中継情報142に、新たなエントリを作成し、グループに受信したマルチキャストグループのアドレス、OVRFに受信側VRF情報(自己のVRF名称を新規登録して(ステップS510)、本処理ルーチンを終了する。
図27は送信側VRFにおいてマルチキャストパケットの受信に伴い自動的にVRF間中継情報を作成する際に実行される処理ルーチンを示すフローチャートである。本処理ルーチンは、VRF51Aにおいて送信装置SEからマルチキャストパケットが受信されると開始される(ステップS550:No)。本実施例では、送信装置SEが送信したマルチキャストパケットは、常にランデブーポイントであるネットワーク中継ルータ10に中継される。送信装置SEが接続されているルータ20aからインターフェース102を介して受信されたマルチキャストパケット は、VRF識別部15を介してデータパケット送受信処理部113Aに転送される。データパケット送受信処理部113Aは、受信したマルチキャストパケットからマルチキャストグループアドレスおよびソースアドレスを取得し(ステップS552)、取得したマルチキャストグループアドレスに一致するエントリを、VRF間中継情報142に登録されているマルチキャストグループアドレスから検索する(ステップS554)。具体的には、取得したマルチキャストグループアドレスに一致するエントリの中から自己のVRF名称が登録されているエントリをVRF間中継情報142のエントリから検索する。
データパケット送受信処理部113Aは、一致するエントリが存在しない場合には(ステップS556:No)、本処理ルーチンを終了する。一方、データパケット送受信処理部113Aは、マルチキャストグループアドレスに一致する該当エントリを検索できた場合には(ステップS506:Yes)、VRF間中継情報142のIVRF(送信側VRF名称)に自己のVRF名称を登録してVRF間中継情報142を完成させて(ステップS558)、本処理ルーチンを終了する。制御パケット送受信処理部112Aは、VRF間加入要求送信部1121Aを介して、取得済みのソースアドレスに基づきRPF Neighborに対してPIM (S,G) joinメッセージを送信する。RPF Neighborに対するPIM (S,G) joinメッセージの送信により、マルチキャストパケットを受信した場合には、受信側のVRFに転送し、第1の実施例において説明した手順によって、VRF間のマルチキャスト経路を構築する。
第4の実施例に係るネットワーク中継ルータ10によれば、送信側および受信側のVPNにおけるランデブーポイントが共にネットワーク中継ルータ10に設定されているので、VRF間中継情報142を予め設定することなくVRF間マルチキャスト中継を実現することができる。したがって、ネットワーク管理者による事前設定は要求されず、ネットワーク管理を更に容易化することができる。
本実施例では、送信側および受信側のVPNにおけるランデブーポイントを共にネットワーク中継ルータ10に設定するので、送信装置SEとネットワーク中継ルータ10間および受信装置REとネットワーク中継ルータ10間における通信経路を確立するだけで異なるVPN間におけるマルチキャストパケットの中継を実現することができる。すなわち、ランデブーポイントとネットワーク中継ルータ10間におけるメッセージおよびマルチキャストパケットのやりとりを省略することが可能となり、更に、マルチキャストパケット中継の効率を向上させることができる。
本実施例は、複数のVPNを収容するネットワーク中継ルータ10(マルチキャスト中継装置)に、VRF間中継対象とするマルチキャストグループ情報を設定することで、VRF間でのマルチキャスト中継を可能にする。VRF間中継を行うマルチキャストグループの設定は、複数指定可能であり、受信装置および送信装置が複数のVPNに存在する場合も、マルチキャスト中継は可能である。また、マルチキャスト中継にPIM-SMプロトコルを用いているため、送信側VPN内に複数の送信装置が存在する場合でも、VRF間マルチキャスト中継を可能にすることができる。
中間ルータの動作:
上記実施例では、説明を簡単にするために、送信装置SEまたは受信装置REが接続されているルータ20a、20bとネットワーク中継ルータ10との間に他のルータが配置されていない例を用いて説明したが、本実施例に係るネットワーク中継ルータ10は他のルータが配置されていても同様に動作することは言うまでもない。
他のルータは、受信装置REが接続されているルータからPIM (*,G) joinメッセージを受信した場合には、ランデブーポイントであるルータ30a、30bに対してPIM (*,G) joinメッセージを順次送信する。他のルータは、ランデブーポイントであるルータ30a、30bからPIM (*,G) joinメッセージを受信した場合には、送信装置SEが接続されているルータへPIM (*,G) joinメッセージを順次送信する。
他のルータは、送信装置SEが接続されているルータからマルチキャストパケットを受信した場合には、ランデブーポイントであるルータ30a、30bに対してマルチキャストパケットを送信する。他のルータは、ランデブーポイントであるルータ30a、30bからマルチキャストパケットを受信すると、受信装置REが接続されているルータへマルチキャストパケットを送信する。
他のルータは、受信装置REが接続されているルータからPIM (S,G) joinメッセージを受信すると、送信装置SEが接続されている方向(インターフェース)の近隣ルータに対してPIM (S,G) joinメッセージを送信する。他のルータは、送信装置SEからマルチキャストパケットを受信すると、受信装置REが接続されている方向(インターフェース)の近隣ルータへマルチキャストパケットを送信する。
以上の結果、ネットワーク中継ルータ10はルータ20aに対してPIM (*,G) joinメッセージおよびPIM (S,G) joinメッセージを送信することが可能となり、ネットワーク中継ルータ10はルータ20aからマルチキャストパケットを受信することが可能となる。また、ネットワーク中継ルータ10はルータ20bからPIM (*,G) joinメッセージおよびPIM (S,G) joinメッセージを受信することが可能となり、ネットワーク中継ルータ10はルータ20bに対してマルチキャストパケットを送信することが可能となる。
変形例:
(1)上記実施例におけるランデブーポイントの設定は、手動またはBSR(Bootstrap Router)プロトコルを用いて自動で行われても良い。
(2)上記実施例では説明を容易にするため第1および第2の2つのVPNを例に取って説明したが、3つ以上のVPN間におけるマルチキャストパケットの中継処理にも適用可能であることは言うまでもない。すなわち、一のVRF管理部111A(第1のVPN)と複数のVRF管理部111B(第2のVPN)との組合せに対しても適用可能である。
(3)上記実施例では説明を容易にするため、1つの送信装置からのマルチキャストパケットの中継処理について説明したが、2以上の送信装置からのマルチキャストパケットの中継処理にも適用可能であることは言うまでもない。すなわち、上述した通信経路の確立処理を、各送信装置に対して実行すれば良い。
(4)上記実施例では、ネットワーク中継ルータ10の各機能部はメモリに格納されたプログラムまたはモジュールをCPUが実行することによって実現されているが、論理回路等のハードウェアによって実現されても良い。
(5)上記実施例では、PIM-SMプロトコルに従って動作するルータを用いて説明したが、送信装置を検出および送信装置からのマルチキャストパケットの受信を、受信装置からの何らかのトリガに基づいて開始する他のプロトコルであっても本実施例に係るネットワーク中継ルータ10は動作可能である。また、上記実施例では、PIM-SMプロトコルに従い、ランデブーポイントを用いる例を用いて説明したが、ランデブーポイントを用いない場合であっても本実施例に係るネットワーク中継ルータ10は動作可能である。いずれの場合にも、送信装置が存在する送信側VPNに対してネットワーク中継ルータ10が受信装置として機能し、送信側VPNにおけるマルチキャストパケットの通信経路を形成し、受信装置が存在するVPNに対してネットワーク中継ルータ10が送信装置として機能し得る環境であれば、本実施例に係るネットワーク中継ルータ10は有効に動作することができる。
(6)上記実施例において、各VRFの組合せに対してマルチキャストグループアドレスは任意に設定可能である。また、第2のVPN50Bにおいて、第1のVPN50Aからマルチキャストパケットを受け取るために用いられる所定のマルチキャストグループアドレスは、第2のVPN50B内でマルチキャストパケットを中継するために用いられるマルチキャストアドレスとは異なるアドレスであることが望ましい。このようにすることによって、マルチキャストグループアドレスに基づいて、VRF内におけるマルチキャストパケットの中継が要求されているか、異なるVPN間におけるマルチキャストパケットの中継が要求されているかを唯一的に判断することができる。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。