(57)【要約】【課題】  PIMプロトコルを拡張して、上記のような環境下でもPIMプロトコルがスケーラブルに動作して、結果としてスケーラブルなIPマルチキャスト転送を可能にする。【解決手段】  本発明は、PIM Helloリフレクタが、複数のPIMルータ及び他のPIM Helloリフレクタ間でHelloメッセージをリモートで相互に直接交換することで、PIM隣接関係を取得して隣接関係記憶手段に格納しておき、Helloメッセージを受信すると、メッセージ記憶手段に格納されているHelloメッセージと受信したHelloメッセージとをマージして、マージしたHelloメッセージを隣接関係記憶手段を参照して取得した、隣接するルータまたはリフレクタに送信する。【選択図】  図１
2007013808.tif 000002
【特許請求の範囲】
【請求項１】
IP(Internet Protocol)ネットワークにおけるマルチキャスト通信に用いられるPIM(Protocol Independent Multicast)が動作している環境において、IPマルチキャスト配信経路を設定するIPマルチキャスト配信経路設定方法であって、
複数のP2MP(Point-to-Multipoint)転送ネットワークエッジに存在するエッジルータと、P2MP転送ネットワーク内の任意のルーティング可能な場所に設定され、該エッジルータとの間でHelloメッセージを送受信する複数のPIM Helloリフレクタとを有するシステムにおいて、
前記PIM Helloリフレクタが、
複数のPIMエッジルータ及び他のPIM Helloリフレクタ間で前記Helloメッセージをリモートで相互に直接交換することで、PIM隣接関係（ＩＦ情報:インタフェース情報）を取得して隣接関係記憶手段に格納しておき、
前記Helloメッセージを受信すると、メッセージ記憶手段に格納されているHelloメッセージと受信したHelloメッセージとをマージして、マージしたHelloメッセージを前記隣接関係記憶手段を参照して取得した、隣接するルータまたはリフレクタに送信することを特徴とするマルチキャスト配信経路設定方法。
【請求項２】
前記エッジルータにおいて、
当該ルータのPIMインスタンスを動作させているＩＦ情報をHelloメッセージに挿入し、当該ルータがPIMマルチキャストルーティングに参加している旨を隣接する前記PIM Helloリフレクタに通知し、
前記PIM Helloリフレクタにおいて、
前記エッジルータから前記Helloメッセージを受信すると、前記メッセージ記憶手段に記憶されているHelloメッセージと受信した該Helloメッセージとをまとめると共に、当該PIM Helloリフレクタが隣接している下流のエッジルータのＩＦ情報もまとめ、さらに、当該PIM HelloリフレクタのＩＦ情報もHelloメッセージに格納し、
前記隣接関係記憶手段を参照して取得した当該PIM Helloリフレクタに隣接している全ての上流のルータに対して、前記Helloメッセージを送信する、請求項１記載のマルチキャスト配信経路設定方法。
【請求項３】
前記PIM Helloリフレクタにおいて、前記PIM Helloリフレクタ自身がピアリングするリフレクタ情報を設定する、請求項１または２記載のマルチキャスト配信経路設定方法。
【請求項４】
IPネットワークにおけるマルチキャスト通信に用いられるPIM(Protocol Independent Multicast)が動作している環境において、IPマルチキャスト配信経路を設定するIPマルチキャスト配信経路設定方法であって、
複数のP2MP転送ネットワークエッジルータと、P2MP転送ネットワーク内の任意のルーティング可能な場所に設定され、該エッジルータとの間でPIM JOINメッセージを送受信する複数のPIM JOINリフレクタとを有し、下流エッジルータが任意のマルチキャストグループに対して、IPマルチキャスト受信参加するために、上流エッジルータと当該下流エッジルータ間にIPマルチキャスト配信経路を設定するシステムにおいて、
前記下流エッジルータは、
隣接関係を記録した第１の隣接関係記憶手段を参照して取得した隣接するPIMルートリフレクタに、マルチキャスト受信参加情報を格納したPIM JOINメッセージをIPユニキャストで転送し、
前記PIMルートリフレクタは、
前記下流エッジルータから前記PIM JOINメッセージを受信すると、隣接関係を記録した第２の隣接関係記憶手段を参照して、隣接するPIMルートリフレクタに対して、該PIM JOINメッセージをそのまま、または、受信した該PIM JOINメッセージとマルチキャスト受信参加情報をまとめて、経路上のPIMルートリフレクタまたは、隣接するPIMルートリフレクタに送信する
ことを特徴とするマルチキャスト配信経路設定方法。
【請求項５】
前記下流エッジルータは、
前記第１の隣接関係記憶手段を参照して、隣接している前記PIMルートリフレクタに対して、自身のＩＦ情報と、参加対象のマルチキャストグループ情報、さらに、場合によってはマルチキャストソース情報を含む前記マルチキャスト受信参加情報を前記PIM JOINメッセージに格納し、IPユニキャストでダイレクトに転送し、
前記下流エッジルータから前記PIM JOINメッセージを受信した前記PIMルートリフレクタは、
他の下流PIMエッジルータがマルチキャスト参加していない場合には、そのまま前記PIM JOINメッセージを前記第２の隣接関係記憶手段を参照して取得した上流のPIMルートリフレクタに転送し、該他の下流PIMエッジルータがマルチキャスト参加するために他のPIM JOINメッセージを送信している場合には、受信した該PIM JOINメッセージと前記マルチキャスト受信参加情報をまとめ、まとめたマルチキャスト受信参加情報をPIM JOINメッセージとして、IPマルチキャストソース経路に向かう上流のPIMルートリフレクタに送信し、
前記IPマルチキャストソース経路に向かう上流のエッジルータに隣接するPIMルートリフレクタは、
前記第２の隣接関係記憶手段を参照して、自リフレクタに隣接する前記IPマルチキャストソース経路に向かう上流のエッジルータに、まとめたPIM JOINメッセージを中継する、請求項４記載のマルチキャスト配信経路設定方法。
【請求項６】
前記PIMリフレクタは、
前記PIM JOINメッセージを前記ルートリフレクタ間で中継する場合に、対象とするIPマルチキャストソース経路上に存在するルートリフレクタのみならず、全てのPIM隣接関係を保持しているルートリフレクタに該PIM JOINメッセージを中継する、請求項４または５記載のマルチキャスト配信経路設定方法。
【請求項７】
前記P2MP転送ネットワークの下流PIMエッジルータが参加しているマルチキャストグループの受信を止める場合に、
前記PIM JOINメッセージを中継する方法と同様の方法を用いて、PIM PRUNEメッセージを遠隔の上流のPIMエッジルータに中継する、請求項４記載のマルチキャスト配信経路設定方法。
【請求項８】
前記PIM PRUNEメッセージを前記ルートリフレクタ間で中継する場合に、対象とするIPマルチキャストソースの経路上に存在するルートリフレクタのみならず、全てのPIM隣接関係を有するルートリフレクタに該PIM PRUNEメッセージを中継する、請求項７記載のマルチキャスト配信経路設定方法。
【請求項９】
IPネットワークにおけるマルチキャスト通信に用いられるPIM(Protocol Independent Multicast)が動作している環境において、P2MP転送ネットワーク内の任意のルーティング可能な場所に設定され、複数のP2MP転送ネットワークのエッジルータとメッセージを送受信するリフレクタであって、
前記エッジルータや他のPIM HelloリフレクタよりHelloメッセージを取得し、PIM隣接関係を取得して隣接関係記憶手段に格納するメッセージ受信手段と、
前記メッセージ受信手段において前記Helloメッセージを受信すると、メッセージ記憶手段に格納されているHelloメッセージと受信したHelloメッセージをマージするメッセージ処理手段と、
マージしたHelloメッセージを前記隣接関係記憶手段を参照して取得した、隣接するルータまたはリフレクタに送信するメッセージ送信手段と、
を有することを特徴とするリフレクタ。
【請求項１０】
前記メッセージ受信手段は、
前記エッジルータから当該エッジルータのPIMインスタンスを動作させているＩＦ情報が挿入されたHelloメッセージを受信する手段を含み、
前記メッセージ処理手段は、
前記メッセージ記憶手段に記憶されている他のエッジルータから受信したHelloメッセージと受信したHelloメッセージとをまとめると共に、当該PIM Helloリフレクタが隣接している下流のエッジルータのＩＦ情報もまとめ、さらに、当該PIM HelloリフレクタのＩＦ情報もHelloメッセージに格納する手段を含み、
前記メッセージ送信手段は、
当該PIM Helloリフレクタに隣接している全ての上流のルータに対して、まとめられたHelloメッセージを送信する手段を含む、
請求項９記載のリフレクタ。
【請求項１１】
IPネットワークにおけるマルチキャスト通信に用いられるPIM(Protocol Independent Multicast)が動作している環境において、複数のP2MP転送ネットワークエッジルータを有し、下流エッジルータが任意のマルチキャストグループに対して、IPマルチキャスト受信参加するために、上流エッジルータと当該下流エッジルータ間にIPマルチキャスト配信経路を設定するシステムにおけるリフレクタであって、
前記下流エッジルータからマルチキャスト受信参加情報を格納したPIM JOINメッセージを受信するメッセージ受信手段と、
前記メッセージ受信手段で受信した前記PIM JOINメッセージと前記マルチキャスト受信参加情報をまとめるメッセージ処理手段と、
隣接関係を記録した隣接関係記憶手段を参照して、隣接するPIMルートリフレクタに対して、該PIM JOINメッセージをそのまま、または、前記メッセージ処理手段で作成された前記PIM JOINメッセージを、経路上のPIMルートリフレクタまたは、隣接するPIMルートリフレクタに送信するメッセージ送信手段と、
を有することを特徴とするリフレクタ。
【請求項１２】
前記メッセージ受信手段は、
前記下流エッジルータから前記マルチキャスト受信参加情報として、自身のIPマルチキャスト受信に参加するＩＦ情報と、参加対象のマルチキャストグループ情報、さらに、場合によってはマルチキャストソース情報を取得する手段を含み、
前記メッセージ処理手段は、
前記下流エッジルータ以外の他の下流PIMエッジルータがマルチキャスト参加していない場合には、そのまま前記PIM JOINメッセージを前記隣接関係記憶手段を参照して取得した上流のPIMルートリフレクタに転送させ、該他の下流PIMエッジルータがマルチキャスト参加するために他のPIM JOINメッセージを送信している場合には、受信した該PIM JOINメッセージと前記マルチキャスト受信参加情報をまとめ、まとめたマルチキャスト受信参加情報をPIM JOINメッセージとして、IPマルチキャストソース経路に向かう上流のPIMルートリフレクタに送信させる手段を含み、
当該リフレクタがIPマルチキャストソース経路に向かう上流のエッジルータに隣接する場合には、前記隣接関係記憶手段を参照して、自リフレクタに隣接する前記IPマルチキャストソース経路に向かう上流のエッジルータに、まとめたPIM JOINメッセージを中継させる手段を含む、請求項１１記載のリフレクタ。
【請求項１３】
請求項９乃至１２のいずれか記載のリフレクタとしてコンピュータを機能させることを特徴とするマルチキャスト配信経路設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IPマルチキャスト転送技術に係り、特に、IPマルチキャストソースと受信者を収容するIPマルチキャストリーフルータ間にIPマルチキャスト転送経路を設定するマルチキャストルーティングプロトコル技術における、マルチキャスト配信経路設定方法及びリフレクタ及びマルチキャスト配信経路設定プログラムに関する。
【０００２】
また、IPマルチキャスト転送経路を設定する場合に、スケーラブル転送経路を設定可能なIPマルチキャストルーティングプロトコル技術における、マルチキャスト配信経路設定方法及びリフレクタ及びマルチキャスト配信経路設定プログラムに関する。
【背景技術】
【０００３】
IPマルチキャストルーティングプロトコルとしては、PIMプロトコルが提案されている（例えば、非特許文献１参照）。
【非特許文献１】PIMプロトコル(Protocol Independent Multicast-Sparse Mode(PIM-SM): Protocol Specification (Revised):http://www.ietf.org/internet-drafts/draft-ietf-pim-sm-v2-new-11.text)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のIPマルチキャストルーティングプロトコルの代表であるPIMプロトコルは、PIMの隣接関係を保持するためにHelloメッセージを周期的にPIMルータ間で交換する必要がある。また、PIMプロトコルは、ソフトステートに基づくプロトコルであるため、設定されたIPマルチキャスト配信経路を保持するためには、ソフトステートをタイムアウトさせないために周期的にPIMの参加情報であるJOIN/PRUNEメッセージをPIM隣接ルータ間で送信する必要がある。
【０００５】
このプロトコル動作は、大規模なIPマルチキャストツリーを構築する場合で、PIM隣接間でIPマルチキャスト分岐が少ない場合、さらに、PIM隣接ルータ数が少ない場合に、チューニングされている。
【０００６】
このため、大規模なIPマルチキャスト配信経路を大規模なP2MP転送ネットワークを跨って設定する場合など、P2MP転送ネットワークエッジに非常の多数のPIMエッジルータが存在する場合には、多数のPIMエッジルータがPIM隣接関係を保持するために、対向する全てのPIMエッジルータとHelloメッセージを周期的に交換する必要がある。これは、例えば、PIMエッジルータが１００００台存在する場合には、対向する１００００個のルータに対してフルメッシュのセッションを構築し、３０秒周期でPIM Helloを送信している場合には１秒当たり３００個相当のPIM Helloメッセージを相互に交換することになり、PIMエッジルータの制御システムパワーを浪費し、スケーラビリティ性能を落とす。（図１２参照）。
【０００７】
図１２の例では、PIMエッジルータ間のPIM Helloメッセージ交換関係を示す。同図に示すように、IPマルチキャスト経路を設定するためには全ての下流エッジルータと上流エッジルータ間でPIM隣接関係を構築する必要があるので、上流エッジルータと下流エッジルータ間でフルメッシュの隣接関係をフルメッシュにHelloメッセージを交換することにより構築する必要がある。
【０００８】
さらに、このような環境下で、上流PIMエッジルータと、下流PIMエッジルータ間でIPマルチキャスト配信経路を設定しようとすると、例えば、１０００個の下流エッジルータがIPマルチキャスト受信に参加している場合には、３０秒周期で上流のPIMエッジルータにJOINメッセージを送信することになり、IPマルチキャストグループが１０個ある場合には、上流PIMエッジルータは１秒あたり、３００個相当のPIM JOINメッセージを受信することになり、やはり、PIMエッジルータの制御システムパワーを浪費し、スケーラビリティ性能を落とすことになる（図１３参照）。
【０００９】
図１３に、従来のPIM JOINメッセージの交換例を示す。同図の例では、下流のPIMエッジルータＲ１０〜Ｒ１５が上流のルータＲ０１とＲ０３に周期的にJOINメッセージを送付して、これらの間にIPマルチキャスト配信経路を保持している例を示している。この例にあるように、上流PIMエッジルータからのIPマルチキャスト分岐が多い場合には、膨大な下流PIMエッジルータから周期的にPIM JOINメッセージを上流PIMエッジルータが受信する必要があるので、上流PIMエッジのスケーラビリティ性能が劣化する。
【００１０】
このように、既存PIMプロトコルは必ずしも、このような環境下ではスケーラビリティ性能に優れない。
【００１１】
本発明は、上記の点に鑑みなされたもので、PIMプロトコルを拡張して、上記のような環境下でもPIMプロトコルがスケーラブルに動作して、結果としてスケーラブルなIPマルチキャスト転送が可能となるマルチキャスト配信経路設定方法及びリフレクタ及びマルチキャスト配信経路設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
図１は、本発明の原理を説明するための図である。
【００１３】
本発明（請求項１）は、IPネットワークにおけるマルチキャスト通信に用いられるPIMが動作している環境において、IPマルチキャスト配信経路を設定するIPマルチキャスト配信経路設定方法であって、
複数のP2MP転送ネットワークエッジに存在するエッジルータと、P2MP転送ネットワーク内の任意のルーティング可能な場所に設定され、該エッジルータとの間でHelloメッセージを送受信する複数のPIM Helloリフレクタとを有するシステムにおいて、
PIM Helloリフレクタが、
複数のPIMエッジルータ及び他のPIM Helloリフレクタ間でHelloメッセージをリモートで相互に直接交換することで、PIM隣接関係を取得して隣接関係記憶手段に格納しておき（ステップ１）、
Helloメッセージを受信すると（ステップ２）、メッセージ記憶手段に格納されているHelloメッセージと受信した当該Helloメッセージとをマージして（ステップ３）、マージしたHelloメッセージを隣接関係記憶手段を参照して取得した、隣接するルータまたはリフレクタに送信する（ステップ４）。
【００１４】
また、本発明（請求項２）は、エッジルータにおいて、
当該ルータのPIMインスタンスを動作させているＩＦ情報をHelloメッセージに挿入し、当該ルータがPIMマルチキャストルーティングに参加している旨を隣接するPIM Helloリフレクタに通知し、
PIM Helloリフレクタにおいて、
エッジルータからHelloメッセージを受信すると、メッセージ記憶手段に記憶されているHelloメッセージと受信した該Helloメッセージとをまとめると共に、当該PIM Helloリフレクタが隣接している下流のエッジルータのＩＦ情報もまとめ、さらに、当該PIM HelloリフレクタのＩＦ情報もHelloメッセージに格納し、
隣接関係記憶手段を参照して取得した当該PIM Helloリフレクタに隣接している全ての上流のルータに対して、Helloメッセージを送信する。
【００１５】
また、本発明（請求項３）は、PIM Helloリフレクタにおいて、PIM Helloリフレクタ自身がピアリングするリフレクタ情報を設定する。
【００１６】
本発明（請求項４）は、IPネットワークにおけるマルチキャスト通信に用いられるPIMが動作している環境において、IPマルチキャスト配信経路を設定するIPマルチキャスト配信経路設定方法であって、
複数のP2MP転送ネットワークエッジルータと、P2MP転送ネットワーク内の任意のルーティング可能な場所に設定され、該エッジルータとの間でPIM JOINメッセージを送受信する複数のPIM JOINリフレクタとを有し、下流エッジルータが任意のマルチキャストグループに対して、IPマルチキャスト受信参加するために、上流エッジルータと当該下流エッジルータ間にIPマルチキャスト配信経路を設定するシステムにおいて、
下流エッジルータは、
隣接関係を記録した第１の隣接関係記憶手段を参照して取得した隣接するPIMルートリフレクタに、マルチキャスト受信参加情報を格納したPIM JOINメッセージをIPユニキャストで転送し、
PIMルートリフレクタは、
下流エッジルータからPIM JOINメッセージを受信すると、隣接関係を記録した第２の隣接関係記憶手段を参照して、隣接するPIMルートリフレクタに対して、該PIM JOINメッセージをそのまま、または、受信した該PIM JOINメッセージとマルチキャスト受信参加情報をまとめて、経路上のPIMルートリフレクタまたは、隣接するPIMルートリフレクタに送信する。
【００１７】
また、本発明（請求項５）は、下流エッジルータにおいて、
第１の隣接関係記憶手段を参照して、隣接しているPIMルートリフレクタに対して、自身のＩＦ情報と、参加対象のマルチキャストグループ情報、さらに、場合によってはマルチキャストソース情報を含むマルチキャスト受信参加情報をPIM JOINメッセージに格納し、IPユニキャストでダイレクトに転送し、
下流エッジルータからPIM JOINメッセージを受信したPIMルートリフレクタは、
他の下流PIMエッジルータがマルチキャスト参加していない場合には、そのままPIM JOINメッセージを第２の隣接関係記憶手段を参照して取得した上流のPIMルートリフレクタに転送し、該他の下流PIMエッジルータがマルチキャスト参加するために他のPIM JOINメッセージを送信している場合には、受信した該PIM JOINメッセージとマルチキャスト受信参加情報をまとめ、まとめたマルチキャスト受信参加情報をPIM JOINメッセージとして、IPマルチキャストソース経路に向かう上流のPIMルートリフレクタに送信し、
IPマルチキャストソース経路に向かう上流のエッジルータに隣接するPIMルートリフレクタは、
第２の隣接関係記憶手段を参照して、自リフレクタに隣接するIPマルチキャストソース経路に向かう上流のエッジルータに、まとめたPIM JOINメッセージを中継する。
【００１８】
また、本発明（請求項６）は、PIMリフレクタにおいて、
PIM JOINメッセージをルートリフレクタ間で中継する場合に、対象とするIPマルチキャストソース経路上に存在するルートリフレクタのみならず、全てのPIM隣接関係を保持しているルートリフレクタに該PIM JOINメッセージを中継する。
【００１９】
また、本発明（請求項７）は、P2MP転送ネットワークの下流PIMエッジルータが参加しているマルチキャストグループの受信を止める場合に、
PIM JOINメッセージを中継する方法と同様の方法を用いて、PIM PRUNEメッセージを遠隔の上流のPIMエッジルータに中継する。
【００２０】
また、本発明（請求項８）は、PIM PRUNEメッセージをルートリフレクタ間で中継する場合に、対象とするIPマルチキャストソースの経路上に存在するルートリフレクタのみならず、全てのPIM隣接関係を有するルートリフレクタに該PIM PRUNEメッセージを中継する。
【００２１】
図２は、本発明の原理構成図である。
【００２２】
本発明（請求項９）は、IPネットワークにおけるマルチキャスト通信に用いられるPIMが動作している環境において、P2MP転送ネットワーク内の任意のルーティング可能な場所に設定され、複数のP2MP転送ネットワークのエッジルータとメッセージを送受信するリフレクタであって、
エッジルータや他のPIM HelloリフレクタよりHelloメッセージを取得し、PIM隣接関係を取得して隣接関係記憶手段１３０に格納するメッセージ受信手段１１０と、
メッセージ受信手段１１０においてHelloメッセージを受信すると、メッセージ記憶手段１６０に格納されているHelloメッセージと受信したHelloメッセージをマージするメッセージ処理手段１２０と、
マージしたHelloメッセージを隣接関係記憶手段１３０を参照して取得した、隣接するルータまたはリフレクタに送信するメッセージ送信手段１５０と、を有する。
【００２３】
また、本発明（請求項１０）は、メッセージ受信手段１１０において、
エッジルータから当該エッジルータのPIMインスタンスを動作させているＩＦ情報が挿入されたHelloメッセージを受信する手段を含み、
メッセージ処理手段１２０は、
メッセージ記憶手段１６０に記憶されている他のエッジルータから受信したHelloメッセージと受信したHelloメッセージとをまとめると共に、当該PIM Helloリフレクタが隣接している下流のエッジルータのＩＦ情報もまとめ、さらに、当該PIM HelloリフレクタのＩＦ情報もHelloメッセージに格納する手段を含み、
メッセージ送信手段１５０は、
当該PIM Helloリフレクタに隣接している全ての上流のルータに対して、まとめられたHelloメッセージを送信する手段を含む。
【００２４】
本発明（請求項１１）は、IPネットワークにおけるマルチキャスト通信に用いられるPIMが動作している環境において、複数のP2MP転送ネットワークエッジルータを有し、下流エッジルータが任意のマルチキャストグループに対して、IPマルチキャスト受信参加するために、上流エッジルータと当該下流エッジルータ間にIPマルチキャスト配信経路を設定するシステムにおけるリフレクタであって、
下流エッジルータからマルチキャスト受信参加情報を格納したPIM JOINメッセージを受信するメッセージ受信手段と、
メッセージ受信手段で受信したPIM JOINメッセージとマルチキャスト受信参加情報をまとめるメッセージ処理手段と、
隣接関係を記録した隣接関係記憶手段を参照して、隣接するPIMルートリフレクタに対して、該PIM JOINメッセージをそのまま、または、メッセージ処理手段で作成されたPIM JOINメッセージを、経路上のPIMルートリフレクタまたは、隣接するPIMルートリフレクタに送信するメッセージ送信手段と、を有する。
【００２５】
また、本発明（請求項１２）は、メッセージ受信手段において、
下流エッジルータからマルチキャスト受信参加情報として、自身のIPマルチキャスト受信に参加するＩＦ情報と、参加対象のマルチキャストグループ情報、さらに、場合によってはマルチキャストソース情報を取得する手段を含み、
メッセージ処理手段は、
下流エッジルータ以外の他の下流PIMエッジルータがマルチキャスト参加していない場合には、そのままPIM JOINメッセージを隣接関係記憶手段を参照して取得した上流のPIMルートリフレクタに転送させ、該他の下流PIMエッジルータがマルチキャスト参加するために他のPIM JOINメッセージを送信している場合には、受信した該PIM JOINメッセージとマルチキャスト受信参加情報をまとめ、まとめたマルチキャスト受信参加情報をPIM JOINメッセージとして、IPマルチキャストソース経路に向かう上流のPIMルートリフレクタに送信させる手段を含み、
当該リフレクタがIPマルチキャストソース経路に向かう上流のエッジルータに隣接する場合には、隣接関係記憶手段を参照して、自リフレクタに隣接するIPマルチキャストソース経路に向かう上流のエッジルータに、まとめたPIM JOINメッセージを中継させる手段を含む。
【００２６】
本発明（請求項１３）は、請求項９乃至１２のいずれか記載のリフレクタとしてコンピュータを機能させるマルチキャスト配信経路設定プログラムである。
【発明の効果】
【００２７】
上記のように本発明によれば、PIMプロトコルを拡張して、上記のような環境下でもPIMプロトコルがスケーラブルに動作して、結果としてスケーラブルなIPマルチキャスト転送が可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、図面と共に本発明の実施の形態を説明する。
【００２９】
［第１の実施の形態］
図３は、本発明の第１の実施の形態における通信システムの構成を示す。
【００３０】
同図に示すシステムは、IPマルチキャスト通信ネットワークおいて、マルチキャストルーティングプロトコルとしてPIMプロトコルが動作している環境において、IPマルチキャスト配信経路を、遠隔のP2MP転送ネットワーク（Ｌ２ブロードキャスト網、P2MP MPLSトンネル網、IPマルチキャストＧＲＥトンネル網）を跨って設定する場合のシステムである。
【００３１】
なお、PIMプロトコルは、
“Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised):http://www.ietf.org/internet-draft/draft-ietf-pim-sm-v2-new-11.txt”とする。
【００３２】
図３のシステムでは、P2MP転送ネットワークエッジに存在するPIMルータＲ００，Ｒ０１〜Ｒ０３，Ｒ１０〜Ｒ１５間でPIM隣接関係を保持するために、中間のP2MP転送ネットワーク内の任意のルーティング可能な場所に、P2MP転送ネットワークエッジルータとダイレクトなユニキャストルーティングによりHelloメッセージを交換し、PIM隣接関係を保持するPIM HelloリフレクタＲＲ１〜ＲＲ７を配置する。
【００３３】
図４は、本発明の第１の実施の形態におけるPIM Helloリフレクタの構成を示す。
【００３４】
同図に示すPIM Helloリフレクタ１００は、メッセージ受信部１１０、メッセージ処理部１２０、隣接関係記憶部１３０、IPルーティングプロトコル制御部１４０、メッセージ送信部１５０及びメッセージ記憶部１６０から構成される。
【００３５】
メッセージ受信部１１０は、他のPIMリフレクタやルータからHelloメッセージを受信し、メッセージをメッセージ記憶部１６０に格納すると共に、当該メッセージに含まれるPIM隣接関係であるＩＦ情報を隣接関係記憶部１３０に格納する。
【００３６】
隣接関係記憶部１３０は、メッセージ受信部１１０より設定されたPIM隣接関係（ＩＦ情報）を保持する。図５に各リフレクタの当該PIMリモート隣接関係保持部１２２が保持する隣接関係を示す。例えば、図３における、リフレクタＲＲ１では、ルータＲ１０，Ｒ１１，リフレクタＲＲ４を隣接関係とし、これらのルータまたはリフレクタのＩＦアドレスを記憶する。
【００３７】
メッセージ処理部１２０は、メッセージ受信部１１０でルータまたは、リフレクタから受信したHelloメッセージとメッセージ記憶部１６０に格納されている他のPIMエッジルータから受信したHelloメッセージを束ね、また、当該PIMリフレクタ１００が隣接している下流PIMエッジルータのＩＦ情報を隣接関係記憶部１３０から取得して束ねる。さらに、自身のＩＦ情報もHelloメッセージに格納し、隣接関係記憶部１３０を参照して、自身と隣接している全ての上流ルータの情報と、自身がPIM隣接しているPIMエッジルータの情報を取得し、当該上流ルータに対して、PIMエッジルータの情報をメッセージ送信部１５０を介して通知する。これらの処理が終了したら、受信したHelloメッセージをメッセージ記憶部１６０に格納する。
【００３８】
また、メッセージ処理部１２０は、自身がP2MP転送ネットワークの上流のPIMエッジルータと隣接している場合には、当該上流のPIMエッジルータに対して、中継されてきたHelloメッセージを送信し、当該上流のPIMエッジルータからもHelloメッセージを受信する。
【００３９】
IPルーティングプロトコル制御部１４０は、メッセージ出力部１５０に対して、IPマルチキャストの経路をルーティング処理する。
【００４０】
図６は、本発明の第１の実施の形態におけるPIMルータの構成を示す。
【００４１】
PIMルータ２００は、メッセージ入出力部２１０、メッセージ作成部２２０、ＩＦアドレス記憶部２３０から構成される。
【００４２】
メッセージ入出力部２１０は、他のルータやリフレクタとの間でメッセージの送受信を行い、受信したメッセージに含まれるＩＦアドレスを抽出して、ＩＦアドレス記憶部２３０に格納する。
【００４３】
メッセージ作成部２２０は、当該ルータが、P2MP転送ネットワークのエッジに存在する場合は、PIM Helloリフレクタ２００に対して、当該ルータのPIMインスタンスを動作させているＩＦアドレスをＩＦアドレス記憶部２３０を参照して取得し、当該ＩＦアドレスをHelloメッセージに挿入して、当該ルータがPIMマルチキャストルーティングに参加している旨を通知する。
【００４４】
ＩＦアドレス記憶部２３０は、ＩＦアドレス（隣接関係）を記憶する。
【００４５】
以下に具体的な動作を説明する。
【００４６】
図３の例では、上流PIMエッジルータPIM Ｒ００〜Ｒ０３が存在し、下流PIMエッジルータPIM Ｒ１０〜R１５が存在し、それらのPIMエッジルータの間に、P2MP転送ネットワークが存在するものとする。このP2MP転送ネットワークは、全ての上流エッジルータから下流エッジルータにIPマルチキャストデータを配信する転送機能を備えるものとする。ここで、上流と下流という意味は、IPマルチキャストデータを送信するIPマルチキャストソースの方向を上流として、上流ルータの上流に向かってIPマルチキャスト配信経路が設定される場合を考えることとする。
【００４７】
本発明では、P2MP転送ネットワーク内にPIM HelloリフレクタＲＲ１〜ＲＲ７を配置している。リフレクタＲＲ１は、ルータＲ１０とＲ１１と隣接関係を保持し、リフレクタＲＲ２はルータＲ１２とＲ１３と隣接関係を保持し、リフレクタＲ３はルータＲ１４とＲ１５と隣接関係を保持し、リフレクタＲＲ６はルータＲ００とＲ０１と隣接関係を保持し、リフレクタＲＲ７はルータＲ０２とＲ０３と隣接関係を保持し、リフレクタＲＲ４はリフレクタＲＲ１とＲＲ２とＲＲ５とＲＲ６と隣接関係を保持し、リフレクタＲＲ５はＲＲ３とＲＲ７とＲＲ４と隣接関係を保持している。なお、これらの隣接関係は、メッセージ受信時に隣接関係記憶部１３０に保持される。
【００４８】
この例を用いて、どのようにして下流と上流のPIMエッジルータ間でPIM隣接関係が維持されるかを説明する。
【００４９】
まず、下流ルータＲ１０が、自身のPIM参加ＩＦ（インタフェース）情報Ｒ１０をHelloメッセージに格納して隣接関係にあるリフレクタＲＲ１に対してIPユニキャストで遠隔にHelloメッセージを送信する。同様に、下流ルータＲ１１もリフレクタＲＲ２に対してＲ１１の参加ＩＦ情報を格納してHelloメッセージを送信する。これらのHelloメッセージを下流隣接から受信したリフレクタＲＲ１は、参加ＩＦ情報を隣接関係記憶部１３０に格納すると共に、メッセージ処理部１２０において、それらの情報をまとめ、自身のPIM下流隣接のルータがＲ１０とＲ１１であることをHelloメッセージに挿入する。そして、メッセージ送信部１５０は、隣接関係記憶部１３０を参照して上流のPIM隣接として設定されているＲR４のＩＦ情報を取得し、送信する。このとき、リフレクタＲＲ４は、リフレクタＲＲ２とＲＲ５から下流PIM隣接情報を受信しており、さらに、リフレクタＲＲ２とＲＲ３もそれぞれ、ルータＲ１２とＲ１３，Ｒ１４とＲ１５からPIM隣接情報を受信し、これらの隣接情報が隣接関係記憶部１３０に保持しているので、リフレクタＲＲ４は、メッセージ処理部１２０において、これらの受信したPIM隣接情報を全てまとめて、Ｒ１０＋Ｒ１１＋Ｒ１２＋Ｒ１３＋Ｒ１４＋Ｒ１５情報として、メッセージ送信部１５０を介して上流のPIM隣接のリフレクタＲＲ６に送付する。このとき、リフレクタＲＲ６は、上流の隣接のリフレクタＲ００とルータＲ０１に対して下流PIM隣接情報を等しく通知する。これにより、上流のPIMエッジルータＲ００，Ｒ０１は自身の遠隔の下流隣接ルータであるＲ１１〜Ｒ１５を把握することが可能になる。
【００５０】
さらに、同様の操作で、上流PIMエッジルータも上流PIM隣接をPIM Helloリフレクタを中継して下流PIMエッジルータに中継するので、下流PIMエッジルータは上流のPIM隣接を把握することができる。
【００５１】
PIM隣接は、PIMルータの起動・ダウンに応じて変化するが、これらのHelloメッセージの中継はインクリメンタルに動作するので、変化に応じて転送する情報内容を変更することが可能である。
【００５２】
さらに、ルートリフレクタの配置、それぞれのピアリングの関係、また中継段数を任意に設定できるので、種々の制御が可能になる。なお、ここで、リフレクタへのピアリングの設定方法としては、自身がピアリングする、または、リフレクタ情報をリフレクタに予めオペレータが設定する、等が可能である。
【００５３】
また、中継にあたって、Helloメッセージの送信周期を変更することも可能になるので、Helloメッセージの送信に伴うスケーラビリティ性能を自由に制御できる。
【００５４】
また、このような階層的な中継機構を利用することにより、下流、上流PIMエッジルータが隣接関係を保持しなくてはならない隣接数を大幅に削減できるので、スケーラビリティ性能の向上に寄与する。
【００５５】
図７は、本発明の第１の実施の形態におけるPIM Helloメッセージフォーマットを示す。PIM Helloメッセージに新たにHelloリフレクタオプションを定義し、そのオプションフィールドに下流PIMエッジルータのPIM参加IF情報を格納する。この情報は、中継されるリフレクタで下流PIM隣接エッジルータIF数が増加するたびにその情報が追加されて格納される。
【００５６】
次に、PIMリモートHelloメッセージ送受信の流れについて説明する。
【００５７】
図８は、本発明の第１の実施の形態におけるPIMリモートHelloメッセージの送受信の例を示す。
【００５８】
１）  PIMリフレクタ＃１は、メッセージ受信部１１０において、PIMルータ＃１からHelloメッセージを受信すると、メッセージ処理部１２０において、隣接関係記憶部１３０を参照して、隣接するPIMリフレクタ＃２とPIMルータ＃２のＩＦ情報を取得し、PIMリフレクタ＃２とPIMルータ＃２に、受信したPIM隣接情報（R#1）を、メッセージ送信部１５０を介して中継する。
【００５９】
２）  PIMリフレクタ＃１は、メッセージ受信部１１０でPIMリフレクタ＃２からPIM隣接情報（R#3、R#4）（PIMリモートHelloメッセージ）を受信すると、メッセージ処理部１２０において、隣接関係記憶部１３０を参照して、PIMルータ＃１と＃２のＩＦ情報を取得し、PIMルータ＃１と＃２に受信したHelloメッセージをメッセージ送信部１５０を介して中継する。
【００６０】
３）PIMリフレクタ＃１は、メッセージ受信部１１０がPIMルータ＃２からHelloメッセージを受信すると、メッセージ処理部１２０は、隣接関係記憶部１３０を参照してPIMルータ＃１とPIMリフレクタ＃２のＩＦ情報を取得し、PIMルータ＃２から受信したPIM隣接情報（R#2）（PIMリモートHelloメッセージ）をPIMルータ＃１とPIMリフレクタ＃２にメッセージ送信部１５０を介して中継する。
【００６１】
４）これにより、例えば、PIMリフレクタ＃２は、PIM隣接情報R#3、R#4（PIMリモートHelloメッセージ）を隣接関係記憶部１３０の情報を参照して、メッセージ送信部１５０を介してPIMリフレクタ＃１に中継する。
【００６２】
[第２の実施の形態]
本実施の形態では、PIM JOIN/PRUNEリフレクタシステムについて説明する。
【００６３】
図９は、本発明の第２の実施の形態における通信システムの構成を示す。
【００６４】
同図に示す例では、上流PIMエッジルータPIM Ｒ００〜Ｒ０３が存在し、下流PIMエッジルータPIM Ｒ１０〜Ｒ１５が存在し、それらのPIMエッジルータの間に、P2MP転送ネットワークが存在するものとする。このP2MP転送ネットワークは、全ての上流エッジルータから下流エッジルータにIPマルチキャストデータを配信する転送機能を備える。また、P2MP転送ネットワークには、JOIN/PRUNEリフレクタとしてＲＲ１〜ＲＲ７が存在するものとする。
【００６５】
なお、当該JOIN/PRUNEリフレクタ及びルータについては、前述の第１の実施の形態と同様の構成であるが、JOIN/PRUNEリフレクタ１００のメッセージ処理部１２０及び、ルータ２００のメッセージ作成部２２０の動作が異なる。また、リフレクタ１００のメッセージ記憶部１６０に格納されるのは、マルチキャスト参加情報である。ここでマルチキャスト参加情報は、IPマルチキャスト受信に参加するＩＦ情報と、参加対象のマルチキャストグループ、マルチキャストソース情報等である。
【００６６】
ルータ２００が、下流PIMエッジルータであるとき（例えば、図９では、Ｒ１０〜Ｒ１５）、当該ルータと隣接関係を保持しているPIMルートリフレクタに対して、自身のIPマルチキャスト受信に参加するＩＦ情報と、参加対象のマルチキャストグループ情報、場合によっては、マルチキャストソース情報を格納したPIM JOINメッセージをIPユニキャストでダイレクトに転送する。
【００６７】
JOIN／PRUNEリフレクタ１００は、自身がルートリフレクタである場合、下流エッジノードからPIM JOINメッセージを受信するとメッセージ処理部１２０は、隣接関係記憶部１３０を参照して、自身と隣接関係にあるリフレクタのＩＦ情報を取得し、当該リフレクタに対して、他の下流PIMエッジルータがマルチキャスト参加しているか否かを、メッセージ記憶部１６０を参照して判定し、マルチキャスト参加していない場合は、メッセージ送信部１５０からそのまま当該PIM JOINメッセージを転送する。
【００６８】
また、メッセージ処理部１２０は、下流のPIMエッジルータからマルチキャスト参加するために他のPIM JOINメッセージを受信している場合には、受信したPIM JOINメッセージとメッセージ記憶部１６０に格納されているマルチキャスト受信参加情報をまとめる。そして、メッセージ送信部１５０から、まとめられたマルチキャスト受信参加情報を、IPマルチキャストソース経路に向かう上流のPIMルートリフレクタに、PIM JOINメッセージとして送信する。
【００６９】
また、リフレクタが、P2MP転送ネットワークの複数の下流PIMエッジルータと隣接している場合は、IPマルチキャスト経路に向かう上流のPIMエッジルータに、まとめたPIN JOINメッセージを中継する。
【００７０】
以下、図９を用いて具体的に説明する。
【００７１】
図９において、下流エッジルータＲ１０〜Ｒ１５が上流のPIMエッジルータであるＲ０１に対して、PIMJOINしてそれらの間にIPマルチキャスト転送経路を設定している。
【００７２】
まず、エッジルータＲ１０は、上流PIM隣接であるリフレクタＲＲ１に自身のPIM JOIN参加ＩＦ情報であるＲ１０情報と受信参加したいマルチキャストグループアドレス情報であるＧ１をJOINメッセージに格納して転送する。このとき、リフレクタＲＲ１は、もう一つの下流PIMエッジノードＲ１１からも同様の受信参加要求を受信している。
【００７３】
そこで、リフレクタＲＲ１のメッセージ処理部１２０は、これらの情報をまとめて、JOIN(G1,R10+R11)として自身の下流のマルチキャストグループＧ１に参加したいルータＲ１０とＲ１１が存在することを、上流のリフレクタＲＲ４に転送する。
【００７４】
このとき、リフレクタＲＲ１は上流のＧ１アドレスを意識して、Ｇ１のソースに接続しているルータＲ０１の経路上に存在する隣接リフレクタＲＲ４にこのメッセージを送付する。例えば、リフレクタへピアリングだけが設定されている場合、図９のＪＯＩＮ情報は全てＰＩＭルータに広告される。これを避けて、必要なＰＩＭルータだけに、つまりＪＯＩＮの宛先経路の途中にあるＰＩＭルータにのみ集約されたＪＯＩＮを送出する。なお、この方法を採る場合は、ピアリングの関係情報を利用して全てのリフレクタに他のリフレクタのピアリング関係を予め通知しておくことによって実現可能である。
【００７５】
このように本発明では、リフレクタ間でJOIN/PRUNEメッセージを送信するときに、経路上のリフレクタのみにメッセージを中継することも可能であり、また、全ての隣接するリフレクタにメッセージを中継することも可能である。図９の例では、経路上のリフレクタのみにメッセージを送信している例を示している。
【００７６】
この場合、メッセージを受信したリフレクタＲＲ４は、リフレクタＲＲ２とＲＲ５からのJOINメッセージを受信しており、さらに、リフレクタＲＲ２はルータＲ１２とＲ１３から、リフレクタＲＲ３はルータＲ１４とＲ１５からのJOINメッセージを受信しているので、リフレクタＲＲ４は、メッセージ処理部１２０において、全ての情報をまとめてJOIN（G1,Ｒ１０+Ｒ１１＋Ｒ１２＋Ｒ１３＋Ｒ１４＋Ｒ１５）として、メッセージ送信部１５０を介してリフレクタＲＲ６にJOINメッセージを送信する。
【００７７】
さらに、リフレクタＲＲ６は、Ｇ１ソースの経路上にあるルータＲ０１に向けて当該JOINメッセージを中継する。このようにして上流PIMエッジルータＲ０１と下流PIMエッジルータＲ１０〜Ｒ１５間にマルチキャスト転送経路が確立する。
【００７８】
次に、上記で転送されるPIMJOIN/PRUNEメッセージについて説明する。
【００７９】
図１０は、本発明の第２の実施の形態におけるPIM JOIN/PRUNEメッセージの構成を示す。同図に示すメッセージフォーマットでは、JOINメッセージに下流のPIMルータ情報を通知するための下流ノードアドレスを設けている。この場合、JOINリフレクタのメッセージ処理部１２０でメッセージが集約される場合には、下流PIMルータ情報も集約される。
【００８０】
次に、PIMリモートJOINメッセージ送受信の流れについて説明する。
【００８１】
図１１は、本発明の第2の実施の形態におけるPIMリモートJOINメッセージの送受信の例を示す。
【００８２】
１）  ルータ＃１のメッセージ作成部２２０は、自身のルータ情報をPIM JOINメッセージに格納し、ＩＦアドレス記憶部２３０から取得したIP Mcast Sourceに向かうリモート隣接する上流PIMリフレクタ＃１に送信する。
【００８３】
２）ルータ＃０のメッセージ作成部２２０は、自身のルータ情報をPIM JOINメッセージ格納し、ＩＦアドレス記憶部２３０から取得したIP Mcast Sourceに向かうリモート隣接する上流PIMリフレクタ＃１に送信する。
【００８４】
３）  ルータ＃１とルータ＃０からPIM JOINメッセージを受信したリフレクタ＃１は、２つのPIM JOINメッセージをメッセージ記憶部１６０に格納する。メッセージ処理部１２０において、複数のPIM JOINメッセージをマージして、隣接関係記憶部１３０から取得した隣接情報に基づいて、IP Mcast Sourceに向かうリモート隣接する上流PIMリフレクタ＃２に送信する。
【００８５】
４）  リフレクタ＃２は、リフレクタ＃１からマージされたPIM JOINメッセージを受信すると、隣接関係記憶部１３０から取得した隣接情報に基づいて、当該メッセージを隣接する上流PIMルータ＃３に送信する。
【００８６】
５）  PIMルータ＃３は、リフレクタ＃２からPIM JOINメッセージを受信すると、隣接関係記憶部１３０から取得した隣接情報に基づいて、メッセージをPIM Mcast Sourceに向かう隣接する上流ルータに送信する。
【００８７】
上記と同様の動作をPIM離脱（PIMが構築するIPマルチキャストツリーのマルチキャスト受信から離脱するためにPIMのPRUNEメッセージを送信して離脱するポイントまでのツリーの枝を削除する処理）のときにも実施する。具体的には、PRUNEメッセージをリフレクタ間で中継することにより、PIMツリーからリーフとなる下流PIMエッジルータを離脱させる。
【００８８】
このような中継メカニズムを用いることで、IPマルチキャスト分岐数が多い場合でも、PIMのソフトステートに基づく周期的なメッセージ送出を中継することにより削減することができる。結果として、スケーラビリティ性能の向上につながる。さらに、リフレクタ間で周期メッセージの送信のタイミングを変更できるので、ネットワーク性能を制御できる。
【００８９】
また、上記の図４に示すリフレクタの各構成要素の動作をプログラムとして構築し、リフレクタとして利用されるコンピュータにインストールする、または、ネットワークを介して流通させることが可能である。
【００９０】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００９１】
本発明は、IPマルチキャストルーティングプロトコルが動作せず、IPマルチキャスト経路に応じたP2MP転送経路を持つP2MP転送ネットワークを跨って広域に設定する経路設定技術に適用可能である。
【００９２】
また、RFC2547bisなどのVPNにおけるＰＥ間にカスタマのIPマルチキャストネットワークを広域に設定する場合に適用可能である。
【図面の簡単な説明】
【００９３】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の第１の実施の形態における通信システムの構成図である。
【図４】本発明の第１の実施の形態におけるPIM Helloリフレクタの構成図である。
【図５】本発明の第１の実施の形態における隣接関係記憶部が保持するPIM隣接関係を示す図である。
【図６】本発明の第１の実施の形態におけるPIMルータの構成図である。
【図７】本発明の第１の実施の形態におけるPIM Helloメッセージフォーマットである。
【図８】本発明の第１の実施の形態におけるPIMリモートHelloメッセージの送受信の例である。
【図９】本発明の第２の実施の形態における通信システムの構成図である。
【図１０】本発明の第２の実施の形態におけるPIM JOINメッセージフォーマットである。
【図１１】本発明の第２の実施の形態におけるPIMリモートJOINメッセージ送受信の例である。
【図１２】PIM McastにおけるHello隣接のスケーラビリティ課題を説明するための図である。
【図１３】PIM Mcastにおける周期的Joinメッセージ送付に伴うスケーラビリティ課題を説明するため図である。
【符号の説明】
【００９４】
１００  リフレクタ、PIM Helloリフレクタ
１１０  メッセージ受信手段、メッセージ受信部
１２０  メッセージ処理手段、メッセージ処理部
１３０  隣接関係記憶手段、隣接関係記憶部
１４０  IPルーティングプロトコル制御部
１５０  メッセージ送信手段、メッセージ送信部
１６０  メッセージ記憶手段、メッセージ記憶部
２００  PIMルータ
２１０  メッセージ入出力部
２２０  メッセージ作成部
２３０  ＩＦアドレス記憶部
２４０  隣接関係記憶部
【図１】
2007013808.tif 000003
【図２】
2007013808.tif 000004
【図３】
2007013808.tif 000005
【図４】
2007013808.tif 000006
【図５】
2007013808.tif 000007
【図６】
2007013808.tif 000008
【図７】
2007013808.tif 000009
【図８】
2007013808.tif 000010
【図９】
2007013808.tif 000011
【図１０】
2007013808.tif 000012
【図１１】
2007013808.tif 000013
【図１２】
2007013808.tif 000014
【図１３】
2007013808.tif 000015