(57)【要約】【課題】  ＲＳＶＰ−ＴＥのＭＰＬＳシグナリングプロトコルを拡張してプロバイダネットワーク内の最適な分岐ポイントでのＰ２ＭＰトラヒックのコピー及び、ネットワーク全体で最適なＰ２ＭＰトラヒックのコピーを可能とする。【解決手段】本発明は、マルチキャストラベルスイッチング経路を設定する時に、ＲＳＶＰ−ＴＥのＰａｔｈメッセージに指定すべきＰ２ＭＰＬＳＰのツリーベース経路情報ＴＥＲＯを設定し、Ｐａｔｈメッセージがそのツリーベースの経路情報に従ってネットワーク内に転送する。【選択図】  図１
2005167482.tif 000002
【特許請求の範囲】
【請求項１】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）通信ネットワークにおいて、ＭＰＬＳネットワークの境界に配置されたプロバイダエッジ（ＰＥ）ノードがＩＰマルチキャストトラヒックを含むポイントツーマルチポイント（Ｐ２ＭＰ）コミュニケーショントラヒックを複数の境界に配置されたプロバイダエッジ（ＰＥ）ノードまでＭＰＬＳ転送するマルチＭＰＬＳ通信方法において、
送信ＰＥノードが、複数の受信ＰＥノードまでＭＰＬＳシグナリングプロトコルを用いてプロバイダエッジ（ＰＥ）内の複数の中継ノードにコピーポイントを設置してＰ２ＭＰのツリー形状のラベルスイッチングパス（ＬＳＰ）を設定することでＭＰＬＳ転送経路を設定し、
前記Ｐ２ＭＰのツリー形状のラベルスイッチングパス（Ｐ２ＭＰ  ＬＳＰ）を設定するときに、マルチプロトコルラベルスイッチング（ＭＰＬＳ）プロトコルであるＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）をベースにして、Ｐ２ＭＰトラヒックのＰ２ＭＰセッションを識別するために、Ｐ２ＭＰ  ＬＳＰの送信ＰＥアドレスとトンネル識別子、さらに、Ｐ２ＭＰトンネル識別子で構成されるＰ２ＭＰセッションオブジェクトを定義し、
さらに、送信ＰＥから複数の受信ＰＥまでのＰ２ＭＰのツリー上の転送経路を明示的に指定するためのＰ２ＭＰ  ＬＳＰの転送経路上の中継ノード、分岐ノードを指定するためのツリー形状オブジェクトを定義し、
前記ツリー形状オブジェクトとしてＰ２ＭＰ  ＬＳＰ、形状を指定するために、Ｐ２ＭＰ  ＬＳＰの送信ＰＥから複数の受信ＰＥノードのうち各受信ＰＥノードまでのポイントツーポイント（Ｐ２Ｐ）のＭＰＬＳ転送経路を、ＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）で定義されたＰ２Ｐの転送経路指示オブジェクトであるＥＲＯオブジェクトにより経路指定し、Ｐ２ＭＰ  ＬＳＰ全体を指定するために、送信ＰＥノードから複数の各受信ＰＥまでの複数のＰ２Ｐ経路を指定する複数のＥＲＯを束ねてＰ２ＭＰツリー全体の経路をＰ２Ｐ経路として指定・定義し、
送信ＰＥノードが、前記Ｐ２ＭＰ  ＬＳＰを設定するときに、外部からＰ２ＭＰ  ＬＳＰ経路指示または、内部のＩＰルーティングプロトコルのトラヒックエンジニアリング拡張機能との連携により送信ＰＥ間と複数の受信ＰＥノード間の設定すべきＰ２ＭＰ  ＬＳＰ経路計算を行うことにより、設定すべきＰ２ＭＰ  ＬＳＰ経路を把握したときに、前記ツリー形状オブジェクトによりＰ２ＭＰ  ＬＳＰ設定経路に変換し、
前記送信ＰＥノードは、Ｐ２ＭＰ  ＬＳＰにＰａｔｈメッセージとして共通ヘッダ、前記定義したＰ２ＭＰセッションオブジェクト、ＲＳＶＰ＿ＨＯＰオブジェクト、ＴＩＭＥ＿ＶＡＬＵＥオブジェクト、前記定義した設定すべきＰ２ＭＰＬＳＰツリートポロジ情報を指定するツリー形状オブジェクト、ＬＡＢＥＬ＿ＲＥＱＵＥＳＴオブジェクト、ＳＥＮＤＥＲ＿ＴＥＭＰＬＡＴＥオブジェクト、ＳＥＮＤＥＲ＿ＴＳＰＥＣオブジェクトを含んだＰａｔｈメッセージを送信ＰＥノードから設定すべきＰ２ＭＰ  ＬＳＰを構成する隣接する下流ノードに送出し、
前記Ｐａｔｈメッセージを受信した下流ノードは、該Ｐａｔｈメッセージの登録されているＰａｔｈ  Ｓｔａｔｅ情報を検索し、当該Ｐａｔｈメッセージが新規受信Ｐａｔｈメッセージである場合、該Ｐａｔｈメッセージよりセッション情報を抽出し、設定要求のパスが設定可能な場合には、ＰａｔｈＳｔａｔｅ情報として新たに登録し、さらに、該ＰａｔｈメッセージよりＰ２ＭＰＬＳＰとして設定すべきツリー形状情報であるＴＥＲＯを抽出し、該ＴＥＲＯ内に格納されるＰ２ＭＰ  ＬＳＰの各受信ＰＥノードまでの明示転送経路を指定するＥＲＯ情報を抽出し、全てのＥＲＯ情報から自身のノードアドレスの次ホップとして定義されている下流次ホップ群のアドレスを全て抽出し、さらに、各ＥＲＯ情報から次ホップ情報を抽出すると同時に自身のノードアドレスを各ＥＲＯ情報から削除し、次ホップアドレスが各ＥＲＯ情報の先頭格納情報となるようにＥＲＯ情報を整形し、さらに、共通の次ホップアドレスグループが複数存在する場合には、そのグループを構成する修正されたＥＲＯ情報をグループ化し、同一下流の部分ツリーを指定する部分ＴＥＲＯ情報に再構築し、
上記の過程の後に、次ホップに対応する下流ノード毎に当該下流ノードを宛先にするＰａｔｈメッセージを当該下流ノード配下の部分Ｐ２ＭＰ  ＬＳＰを指定する再構築されたＴＥＲＯ情報を格納して下流の次ホップノードに送出し、
ＰａｔｈＳｔａｔｅ登録処理（処理１）、設定すべきＰ２ＭＰ  ＬＳＰ経路に従ったＰａｔｈメッセージ分割送付処理（処理２）を最下流の葉ノードである受信ＰＥノードまで繰り返し、Ｐ２ＭＰ  ＬＳＰ経路上のノードにＰａｔｈＳｔａｔｅを登録して、全受信ＰＥノードがＰａｔｈメッセージを受信し、該受信ＰＥノードは、自身がＰ２ＭＰ  ＬＳＰのリーフエッジノードであることを判定すると、当該受信ノードが要求されたＰ２ＭＰ  ＬＳＰを設定可能な場合には、ＲｅｓｖＳｔａｔｅを登録後、当該受信ノードが上流ノードよりＰ２ＭＰトラヒックをラベル転送受信するために使用するラベル値を自ノードのラベル空間より付与し、さらにＰ２ＭＰ  ＬＳＰ内のＰ２ＭＰデータフォワーディングを可能にするために、ラベル交換関係をＩＬＭテーブル、ＮＨＬＦＥテーブルに登録し、
さらに、前記受信ノードは、上流に付与したラベル値とＰ２ＭＰ  ＬＳＰの設定経路情報を示すＲＲＯオブジェクトに自身のノードアドレスを格納してＲｅｓｖメッセージに格納し、前記Ｐａｔｈメッセージが転送された上流のＰＨＯＰノードに該Ｒｅｓｖメッセージを即座に送信し、
前記ＰＨＯＰノードは、前記Ｒｅｓｖメッセージを初めて受信した場合には、対応するＲｅｓｖＳｔａｔｅとして、下流ノードに対して設定されたＰ２ＭＰ  ＬＳＰの転送経路記録を表すＲＲＯ情報及び、下流ノードにＰ２ＭＰトラヒックを転送する場合にパケットに付与すべきラベル値が含まれる情報を登録し、
ＲｅｓｖＳｔａｔｅ登録後、当該ＰＨＯＰノードは、さらに上流のＰＨＯＰノードとの間でＰ２ＭＰトラヒックをラベル転送受信するために使用するラベル値を、自ノードのラベル空間より付与し、Ｐ２ＭＰ  ＬＳＰ内のＰ２ＭＰデータフォワーディングを可能にするために、ラベル交換関係をＩＬＭテーブル、ＮＨＬＦＥテーブルに登録し、さらに、上流に付与したラベル値とＰ２ＭＰ  ＬＳＰの設定経路情報を示すツリーベースのＲＲＯ；ＴＲＲＯに自身のノードアドレスを先頭に付与し、Ｒｅｓｖメッセージに格納して、上流のＰＨＯＰノードにＲｅｓｖメッセージとして即座に転送し、
さらに、当該ＰＨＯＰノードが、複数の下流ノードを持ち、同一の設定対象のＰ２ＭＰＬＳＰの異なる下流ノードから初期のＲｅｓｖメッセージ以外のＲｅｓｖメッセージを受信すると、Ｒｅｓｖメッセージのセッション情報により既設定済みのＲｅｓｖＳｔａｔｅ情報を検索し、既に検索されたＲｅｓｖＳｔａｔｅ情報に対応する追加情報として、対応する下流ノードに対して設定されたＰ２ＭＰ  ＬＳＰの転送経路記録を表すツリーベースのＲＲＯ情報（ＴＥＲＯが含まれる情報）を追加登録し、
前記Ｒｅｓｖメッセージを受信したノードは、登録されたＲｅｓｖＳｔａｔｅ情報より設定すべきＰ２ＭＰ  ＬＳＰの上流ＰＨＯＰノードのＬＳＰが設定されていることを判定すると、上流に付与されたＭＰＬＳラベルを特定し、
さらに、対象とするＰ２ＭＰ  ＬＳＰに対して新たに受信したＲＥＳＶ方路に対して新規にＰ２ＭＰ  ＬＳＰのＭＰＬＳフォワーディングを可能にするために、既に設定されている前記ＩＬＭテーブルと、前記ＮＨＬＦＥテーブルに対して、上流に付与したラベルを該ＩＬＭテーブルから特定し、そのエントリである該ＮＨＬＦＥテーブルに受信したＲＥＳＶメッセージから特定した下流ＭＰＬＳ転送用のラベル値を新エントリとして新規に登録し、
さらに、先に抽出した上流ＰＨＯＰノードに使用するＭＰＬＳラベル値と、当該ノード配下に設定された設定ツリー情報を記録するために、新規に受信した方路配下に設定されたツリーベースのＲＲＯ情報（ＴＥＲＯ情報）を結合修正して、さらに、当該ノードアドレス情報を先頭に付与することにより、現時点で当該ノードの配下に設定されている既設定の部分ツリー情報を記録するツリーベースのＲＲＯ情報を加工し、加工されたツリーベースのＲＲＯ情報を新規にＲｅｓｖＳｔａｔｅ情報に登録し、さらに、既に設定されている上流のラベル転送に使用されるＭＰＬＳラベル値を特定して、一緒にＲｅｓｖメッセージに格納し、当該ＲＥＳＶメッセージを設定されたツリーの状態変化（新規部分Ｐ２ＭＰＬＳＰ追加）を通知するために上流のＰＨＯＰノードに瞬時に転送し、
前記Ｒｅｓｖメッセージを受信したノードは、設定すべきＰ２ＭＰ  ＬＳＰに対して初めてＲｅｓｖメッセージを受信した場合には、新規にＲｅｓｖＳｔａｔｅ情報を登録し、さらに、情報登録時にはツリー経路情報：ＴＥＲＯ情報をＲｅｓｖＳｔａｔｅ情報に登録し、さらに、上流のＰＨＯＰノードとの間でラベル転送に使用するＭＰＬＳラベルを自身のラベル空間から抽出し、さらに、ＭＰＬＳラベル転送を可能にするためにフォワーディング部分のＩＬＭテーブルとＮＨＬＦＥテーブルにラベル交換関係を新規に登録し、さらに、上流とのラベル転送に使用するラベル値と、さらに自身のノードアドレスが設定されたツリーベースの経路登録情報ＴＲＲＯに追加し、さらに、当該ラベル値と修正されたＴＲＲＯ情報をＲｅｓｖメッセージに格納して該上流のＰＨＯＰノードに対して瞬時に転送し、さらに、当該受信ノードが既に別の下流ノードよりＲｅｓｖメッセージを受信し、Ｒｅｓｖ処理(受信処理)として、上流へのＲｅｓｖメッセージ送信を完了して部分Ｐ２ＭＰＬＳＰを設定している場合に、新たに設定されたＰ２ＭＰ  ＬＳＰに対して、別の下流の方路よりＲｅｓｖメッセージを受信した場合には、登録されているＲｅｓｖＳｔａｔｅ情報より対応するＲｅｓｖＳｔａｔｅ情報を特定し、新規追加設定した下流部分Ｐ２ＭＰ  ＬＳＰ経路を示すツリーベースのＲＲＯ情報をＲｅｓｖメッセージにより抽出し、ＲｅｓｖＳｔａｔｅ情報に登録され、既設定されているＴＲＲＯ情報を修正し、追加設定された部分を反映したツリーベースの設定経路情報ＴＲＲＯに変更し登録すると同時に、上流のラベル転送に付与されているＭＰＬＳラベルを特定し、該ＴＲＲＯと同時にＲｅｓｖメッセージに格納し、即座に上流のＰＨＯＰノードに対して転送し、この処理を設定すべきＰ２ＭＰ  ＬＳＰ上の全てのノードでＲｅｓｖメッセージが送信ＰＥノードまで到達するまで繰り返し、
前記送信ＰＥノードは、設定すべきＰ２ＭＰ  ＬＳＰに対して初めてＲｅｓｖメッセージを受信した場合には、該Ｒｅｓｖメッセージより下流のＭＰＬＳラベル転送に必要なラベル値を抽出するのと同時に、設定された下流のツリーベースの経路情報ＴＲＲＯを抽出し、ＲｅｓｖＳｔａｔｅ情報に登録し、さらに、設定されたＰ２ＭＰ  ＬＳＰに対してＭＰＬＳフォワーディングを可能にするために、入ＰＥのＦＴＮテーブル、ＮＨＬＦＥテーブルのラベル転送関係を登録し、
さらに、前記送信ＰＥノードが、異なる下流ノードから設定すべきＰ２ＭＰ  ＬＳＰに対するＲｅｓｖメッセージを受信した場合には、登録された対応するＲｅｓｖＳｔａｔｅ情報を特定し、新規に追加された下流の部分Ｐ２ＭＰ  ＬＳＰに対するＴＲＲＯ情報を抽出し、登録されているＴＲＲＯ情報に追加修正し、現段階での既設定ツリー登録情報となるように加工修正すると同時に、ＭＰＬＳフォワーディングを可能にするためにＦＴＮテーブル、ＮＴＬＦＥテーブルに新規に追加された部分ツリー向けのラベル交換関係を追記し、
前記送信ＰＥノードは、Ｐａｔｈメッセージとして設定したＰ２ＭＰ  ＬＳＰに対して、上記のＭＰＬＳシグナリングを用いて送信ＰＥノードから、複数の受信ＰＥノードまで、全てのＰ２ＭＰ  ＬＳＰを構成するノードに対してＰ２ＭＰのラベル交換関係を設定すると、受信したパケットを設定したＰ２ＭＰ  ＬＳＰに従って送信ＰＥノードから複数の受信ＰＥノードまでＰ２ＭＰベースでラベルスイッチングし、
Ｐ２ＭＰ  ＬＳＰ確立後はノード間のＰａｔｈＳｔａｔｅとＲｅｓｖＳｔａｔｅとの周期的なリフレッシュ用のＰａｔｈメッセージ及びＲｅｓｖメッセージの交換により状態メインテナンスを実行することを特徴とするマルチキャストＭＰＬＳ通信方法。
【請求項２】
既に設定されたＰ２ＭＰ  ＬＳＰに部分Ｐ２ＭＰ  ＬＳＰを設定する場合に、
既設定されたツリーベースの経路情報ＴＥＲＯに追加する部分Ｐ２ＭＰツリー情報を、初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち任意の受信リーフＰＥノードまでのＥＲＯによって経路指示し、当該追加Ｐ２ＭＰ  ＬＳＰの部分経路であるＥＲＯの宛先までの集合{ＥＲＯ}ｓを部分追加用のツリーベースのＴＥＲＯ（Ｇｒａｆｔ）として、既設定されたツリーベースのＴＥＲＯに追加して追加後のＰ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、
修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送信ＰＥノードが送出し、
前記Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが新規のＰａｔｈメッセージである場合には、上記のＰ２ＭＰ  ＬＳＰの設定方法に応じてＰ２ＭＰ  ＬＳＰを設定し、
前記Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には受信したＰａｔｈメッセージからセッション情報を抽出して、セッション情報に変化がない場合には周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、セッション情報のうち、ツリーベースの転送経路情報に関しては、該受信ノードはＰａｔｈメッセージよりＴＥＲＯ情報を抽出し、前記ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送経路アドレス情報を抽出し、その後抽出した次ホップアドレスとそれ以降の転送経路アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路情報と比較を行い、このとき、当該ノードより下流の部分で部分Ｐ２ＭＰツリーの部分追加が発生する場合には受信した該Ｐａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報に含まれていない、アドレスグループが含まれるので、当該新規アドレスグループを含む下流の転送経路に対しては、同一下流ノードを経由するグループ毎にグルーピングし、ツリー情報を表すＴＥＲＯ情報を更新し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送を行い、部分Ｐ２ＭＰ  ＬＳＰの追加設定を行い、さらに、抽出次ホップアドレスとそれ以降の転送経路アドレス情報と、記録次ホップアドレスとそれ以降の転送経路アドレス情報が全く同一の下流部分については、経路メインテナンス状態に移行する請求項１記載のマルチキャストＭＰＬＳ通信方法。
【請求項３】
既に設定されたＰ２ＭＰから部分Ｐ２ＭＰ  ＬＳＰを削除する場合に、
既設定されたツリーベースの経路情報ＴＥＲＯから削除する部分に対応するＰ２ＭＰツリー情報を、削除すべき部分ツリーを構成する送信ＰＥノードから削除する部分ツリーの複数の受信リーフＰＥノードグループのうち、任意の受信リーフＰＥノードまでに対応するＥＲＯを、既に設定されたツリーベースのＴＥＲＯ情報を構成する{ＥＲＯ}ｓ集合から削除して、Ｐ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、
送信ＰＥノードが修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送出し、
前記Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には受信したＰａｔｈメッセージからセッション情報を抽出して、該セッション情報に変化がない場合には、周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、該セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、該セッション情報のうち、ツリーベースの転送経路情報に関しては、該受信ノードは、該ＰａｔｈメッセージよりＴＥＲＯ情報を抽出し、ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送アドレス情報を抽出し、さらに、抽出した次ホップアドレスとそれ以降の転送アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路アドレス情報と比較を行い、当該ノードより下流の経路で部分Ｐ２ＭＰツリーの部分削除が発生する場合には、受信したＰａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスグループには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報から削除されている、次ホップアドレスグループが含まれるので、当該削除アドレスが含まれている下流ノードについては、同一下流ノードを経由するグループ毎にＥＲＯをグルーピングし、ツリー情報を表すＴＥＲＯ情報に変更し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送し、さらに、当該ノード直下の次ホップ情報から経路情報が削除されている場合には、次ホップアドレス情報が削除されている下流転送経路に対して当該ノードが即座にＰａｔｈＴｅａｒメッセージを送信し、対応する部分Ｐ２ＭＰ  ＬＳＰを削除する請求項１記載のマルチキャストＭＰＬＳ通信方法。
【請求項４】
既に設定されたＰ２ＭＰ  ＬＳＰに部分Ｐ２ＭＰ  ＬＳＰを設定する場合に、
既設定されたツリーベースの経路情報ＴＥＲＯに追加する部分Ｐ２ＭＰツリー情報を、初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち、任意の受信リーフＰＥノードまでのＥＲＯによって経路指示し、当該追加Ｐ２ＭＰ  ＬＳＰの部分経路であるＥＲＯの宛先までの集合{ＥＲＯ}ｓを部分追加用のツリーベースのＴＥＲＯ（Ｇｒａｆｔ）として、既設定されたツリーベースのＴＥＲＯに追加して、追加後のＰ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送信ＰＥノードが送出し、
前記Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが新規のＰａｔｈメッセージである場合には、上記のＰ２ＭＰ  ＬＳＰの設定方法に応じてＰ２ＭＰ  ＬＳＰを設定し、
前記Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には、受信したＰａｔｈメッセージからセッション情報を抽出して、セッション情報に変化がない場合には周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、セッション情報のうち、ツリーベースの転送経路情報に関しては、受信ノードはＰａｔｈメッセージよりＴＥＲＯ情報を抽出し、前記ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送経路アドレス情報を抽出し、その後抽出した次ホップアドレスとそれ以降の転送経路アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路情報と比較を行い、このとき、当該ノードより下流の部分で部分Ｐ２ＭＰツリーの部分追加が発生する場合には受信したＰａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報に含まれていない、アドレスグループが含まれるので、当該新規アドレスグループを含む下流の転送経路に対しては、同一下流ノードを経由するグループ毎にグルーピングし、ツリー情報を表すＴＥＲＯ情報を更新し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送を行い、部分Ｐ２ＭＰＬＳＰの追加設定を行い、さらに、抽出された次ホップアドレスとそれ以降の転送経路アドレス情報と、記録次ホップアドレスとそれ以降の転送経路アドレス情報が全く同一の下流部分については、経路メインテナンス状態に移行する追加処理と、
既に設定されたＰ２ＭＰから部分Ｐ２ＭＰ  ＬＳＰを削除する場合に、既設定されたツリーベースの経路情報ＴＥＲＯから削除する部分に対応するＰ２ＭＰツリー情報を、削除すべき部分ツリーを構成する送信ＰＥノードから削除する部分ツリーの複数の受信リーフＰＥノードグループのうち、任意の受信リーフＰＥノードまでに対応するＥＲＯを、既に設定されたツリーベースのＴＥＲＯ情報を構成する{ＥＲＯ}ｓ集合から削除して、Ｐ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、送信ＰＥノードが修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送出し、
前記Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には、受信したＰａｔｈメッセージからセッション情報を抽出して、該セッション情報に変化がない場合には、周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、該セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、該セッション情報のうち、ツリーベースの転送経路情報に関しては、受信ノードは、ＰａｔｈメッセージよりＴＥＲＯ情報を抽出し、ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送アドレス情報を抽出し、さらに、抽出した次ホップアドレスとそれ以降の転送アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路アドレス情報と比較を行い、このとき、当該ノードより下流の経路で部分Ｐ２ＭＰツリーの部分削除が発生する場合には受信したＰａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスグループには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報から削除されている、次ホップアドレスグループが含まれるので、当該削除アドレスが含まれている下流ノードについては、同一下流ノードを経由するグループ毎にＥＲＯをグルーピングし、ツリー情報を表すＴＥＲＯ情報に変更し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送し、さらに、当該ノード直下の次ホップ情報から経路情報が削除されている場合には、次ホップアドレス情報が削除されている下流転送経路に対して当該ノードが即座にＰａｔｈＴｅａｒメッセージを送信し、対応する部分Ｐ２ＭＰ  ＬＳＰを削除する削除処理と、を同時に行う請求項１記載のマルチキャストＭＰＬＳ通信方法。
【請求項５】
前記Ｐａｔｈメッセージを受信した中間ノードがＰａｔｈメッセージに含まれるＴＥＲＯ情報から次ホップ情報を特定するときに、次ホップ情報にＬｏｏｓｅ指定されているアドレス情報が含まれている場合に、Ｌｏｏｓｅ指定されているアドレスグループに対してＰ２ＭＰのツリーベースのＬＳＰ拡張を行う請求項１乃至４記載のマルチキャストＭＰＬＳ通信方法。
【請求項６】
Ｐ２ＭＰ  ＬＳＰ識別子を持つＰ２ＭＰ  ＬＳＰを設定したとき、異なる受信ＰＥノードグループを持つ複数のＰ２ＭＰ  ＬＳＰを同一のＰ２ＭＰ  ＬＳＰ識別子を用いて設定した場合に、複数の異なるＰ２ＭＰ  ＬＳＰのＰ２ＭＰ転送経路を共有する部分で共通のＭＰＬＳ転送ラベルを用いてＰ２ＭＰ  ＬＳＰを共有する請求項１乃至５記載のマルチキャストＭＰＬＳ通信方法。
【請求項７】
Ｐ２ＭＰ  ＬＳＰを設定するときに、ＲＳＶＰのＳＥ予約スタイルを用いてＬＳＰ設定を行い、Ｐ２ＭＰの共有経路をＳＥ共有する請求項６記載のマルチキャストＭＰＬＳ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストＭＰＬＳ通信方法に係り、特に、ＭＰＬＳ転送技術における、Ｐ２ＭＰコミュニケーション用のトラヒックをネットワークで効率的に、トラフィックエンジニアリング（ＴＥ）しながらＱｏＳ保証して、ＭＰＬＳを転送するためのマルチキャストＭＰＬＳ通信方法に関する。
【背景技術】
【０００２】
ＭＰＬＳのシグナリングプロトコルとしてＩＥＴＦに提案されているものがある（例えば、非特許文献１参照）。
【非特許文献１】“RSVP-TE:Extensions to RSVP for LSP Tunnels”、RFC3209
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、RSVP-TEはＰ２ＰのＬＳＰを設定するＭＰＬＳシグナリングプロトコルであるため、Ｐ２ＭＰのコミュニケーショントラヒックを転送しようとすると、送信ＰＥノードでＰ２ＭＰコミュニケーションの宛先である複数の受信ＰＥノードまでＰ２ＰのＬＳＰを複数本設定して、送信ＰＥノードで受信トラヒックをコピーし、複数の設定されたＰ２ＰのＬＳＰにコピーして載せ替える必要が生じるため、送信ＰＥノードでのコピー性能を圧迫し、ネットワークの転送効率を下げる問題が生じる。
【０００４】
本発明は、上記の点に鑑みなされたもので、ＲＳＶＰ−ＴＥのＭＰＬＳシグナリングプロトコルを拡張して、プロバイダネットワーク内の最適なポイントでＰ２ＭＰトラヒックをコピー可能でネットワーク全体で最適なＰ２ＭＰトラヒックのコピーが可能となるマルチキャストＭＰＬＳ通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、マルチプロトコルラベルスイッチング（ＭＰＬＳ）通信ネットワークにおいて、ＭＰＬＳネットワークの境界に配置されたプロバイダエッジ（ＰＥ）ノードがＩＰマルチキャストトラヒックを含むポイントツーマルチポイント（Ｐ２ＭＰ）コミュニケーショントラヒックを複数の境界に配置されたプロバイダエッジ（ＰＥ）ノードまでＭＰＬＳ転送するマルチＭＰＬＳ通信方法において、
送信ＰＥノードが、複数の受信ＰＥノードまでＭＰＬＳシグナリングプロトコルを用いてプロバイダエッジ（ＰＥ）内の複数の中継ノードにコピーポイントを設置してＰ２ＭＰのツリー形状のラベルスイッチングパス（ＬＳＰ）を設定することでＭＰＬＳ転送経路を設定し、
Ｐ２ＭＰのツリー形状のラベルスイッチングパス（Ｐ２ＭＰ  ＬＳＰ）を設定するときに、マルチプロトコルラベルスイッチング（ＭＰＬＳ）プロトコルであるＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）をベースにして、Ｐ２ＭＰトラヒックのＰ２ＭＰセッションを識別するために、Ｐ２ＭＰ  ＬＳＰの送信ＰＥアドレスとトンネル識別子、さらに、Ｐ２ＭＰトンネル識別子で構成されるＰ２ＭＰセッションオブジェクトを定義し、
さらに、送信ＰＥから複数の受信ＰＥまでのＰ２ＭＰのツリー上の転送経路を明示的に指定するためのＰ２ＭＰ  ＬＳＰの転送経路上の中継ノード、分岐ノードを指定するためのツリー形状オブジェクトを定義し、
ツリー形状オブジェクトとしてＰ２ＭＰ  ＬＳＰ、形状を指定するために、Ｐ２ＭＰ  ＬＳＰの送信ＰＥから複数の受信ＰＥノードのうち各受信ＰＥノードまでのポイントツーポイント（Ｐ２Ｐ）のＭＰＬＳ転送経路を、ＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）で定義されたＰ２Ｐの転送経路指示オブジェクトであるＥＲＯオブジェクトにより経路指定し、Ｐ２ＭＰ  ＬＳＰ全体を指定するために、送信ＰＥノードから複数の各受信ＰＥまでの複数のＰ２Ｐ経路を指定する複数のＥＲＯを束ねてＰ２ＭＰツリー全体の経路をＰ２Ｐ経路として指定・定義し、
送信ＰＥノードが、Ｐ２ＭＰ  ＬＳＰを設定するときに、外部からＰ２ＭＰ  ＬＳＰ経路指示または、内部のＩＰルーティングプロトコルのトラヒックエンジニアリング拡張機能との連携により送信ＰＥ間と複数の受信ＰＥノード間の設定すべきＰ２ＭＰ  ＬＳＰ経路計算を行うことにより、設定すべきＰ２ＭＰ  ＬＳＰ経路を把握したときに、ツリー形状オブジェクトによりＰ２ＭＰ  ＬＳＰ設定経路に変換し、
送信ＰＥノードは、Ｐ２ＭＰ  ＬＳＰにＰａｔｈメッセージとして共通ヘッダ、定義したＰ２ＭＰセッションオブジェクト、ＲＳＶＰ＿ＨＯＰオブジェクト、ＴＩＭＥ＿ＶＡＬＵＥオブジェクト、定義した設定すべきＰ２ＭＰＬＳＰツリートポロジ情報を指定するツリー形状オブジェクト、ＬＡＢＥＬ＿ＲＥＱＵＥＳＴオブジェクト、ＳＥＮＤＥＲ＿ＴＥＭＰＬＡＴＥオブジェクト、ＳＥＮＤＥＲ＿ＴＳＰＥＣオブジェクトを含んだＰａｔｈメッセージを送信ＰＥノードから設定すべきＰ２ＭＰ  ＬＳＰを構成する隣接する下流ノードに送出し、
Ｐａｔｈメッセージを受信した下流ノードは、その登録されているＰａｔｈ  Ｓｔａｔｅ情報を検索し、当該Ｐａｔｈメッセージが新規受信Ｐａｔｈメッセージである場合、Ｐａｔｈメッセージよりセッション情報を抽出し、設定要求のパスが設定可能な場合には、ＰａｔｈＳｔａｔｅ情報として新たに登録し、さらに、ＰａｔｈメッセージよりＰ２ＭＰＬＳＰとして設定すべきツリー形状情報であるＴＥＲＯを抽出し、該ＴＥＲＯ内に格納されるＰ２ＭＰ  ＬＳＰの各受信ＰＥノードまでの明示転送経路を指定するＥＲＯ情報を抽出し、全てのＥＲＯ情報から自身のノードアドレスの次ホップとして定義されている下流次ホップ群のアドレスを全て抽出し、さらに、各ＥＲＯ情報から次ホップ情報を抽出すると同時に自身のノードアドレスを各ＥＲＯ情報から削除し、次ホップアドレスが各ＥＲＯ情報の先頭格納情報となるようにＥＲＯ情報を整形し、さらに、共通の次ホップアドレスグループが複数存在する場合には、そのグループを構成する修正されたＥＲＯ情報をグループ化し、同一下流の部分ツリーを指定する部分ＴＥＲＯ情報に再構築し、
上記の過程の後に、次ホップに対応する下流ノード毎に当該下流ノードを宛先にするＰａｔｈメッセージを当該下流ノード配下の部分Ｐ２ＭＰ  ＬＳＰを指定する再構築されたＴＥＲＯ情報を格納して下流の次ホップノードに送出し、
ＰａｔｈＳｔａｔｅ登録処理（処理１）、設定すべきＰ２ＭＰ  ＬＳＰ経路に従ったＰａｔｈメッセージ分割送付処理（処理２）を、最下流の葉ノードである受信ＰＥノードまで繰り返し、Ｐ２ＭＰ  ＬＳＰ経路上のノードにＰａｔｈＳｔａｔｅを登録して、全受信ＰＥノードがＰａｔｈメッセージを受信し、該受信ＰＥノードは、自身がＰ２ＭＰ  ＬＳＰのリーフエッジノードであることを判定すると、当該受信ノードが要求されたＰ２ＭＰ  ＬＳＰを設定可能な場合には、ＲｅｓｖＳｔａｔｅを登録後、当該受信ノードが上流ノードよりＰ２ＭＰトラヒックをラベル転送受信するために使用するラベル値を自ノードのラベル空間より付与し、さらにＰ２ＭＰ  ＬＳＰ内のＰ２ＭＰデータフォワーディングを可能にするために、ラベル交換関係をＩＬＭテーブル、ＮＨＬＦＥテーブルに登録し、
さらに、受信ノードは、上流に付与したラベル値とＰ２ＭＰ  ＬＳＰの設定経路情報を示すＲＲＯオブジェクトに自身のノードアドレスを格納してＲｅｓｖメッセージに格納し、Ｐａｔｈメッセージが転送された上流のＰＨＯＰノードに該Ｒｅｓｖメッセージを即座に送信し、
ＰＨＯＰノードは、Ｒｅｓｖメッセージを初めて受信した場合には、対応するＲｅｓｖＳｔａｔｅとして、下流ノードに対して設定されたＰ２ＭＰ  ＬＳＰの転送経路記録を表すＲＲＯ情報、下流ノードにＰ２ＭＰトラヒックを転送する場合にパケットに付与すべきラベル値が含まれる情報を登録し、
ＲｅｓｖＳｔａｔｅ登録後、当該ＰＨＯＰノードは、さらに上流のＰＨＯＰノードとの間でＰ２ＭＰトラヒックをラベル転送受信するために使用するラベル値を、自ノードのラベル空間より付与し、Ｐ２ＭＰ  ＬＳＰ内のＰ２ＭＰデータフォワーディングを可能にするために、ラベル交換関係をＩＬＭテーブル、ＮＨＬＦＥテーブルに登録し、さらに、上流に付与したラベル値とＰ２ＭＰ  ＬＳＰの設定経路情報を示すツリーベースのＲＲＯ；ＴＲＲＯに自身のノードアドレスを先頭に付与し、Ｒｅｓｖメッセージに格納して、上流のＰＨＯＰノードにＲｅｓｖメッセージとして即座に転送し、
さらに、当該ＰＨＯＰノードが、複数の下流ノードを持ち、同一の設定対象のＰ２ＭＰＬＳＰの異なる下流ノードから初期のＲｅｓｖメッセージ以外のＲｅｓｖメッセージを受信すると、Ｒｅｓｖメッセージのセッション情報により既設定済みのＲｅｓｖＳｔａｔｅ情報を検索し、既に検索されたＲｅｓｖＳｔａｔｅ情報に対応する追加情報として、対応する下流ノードに対して設定されたＰ２ＭＰ  ＬＳＰの転送経路記録を表すツリーベースのＲＲＯ情報（ＴＥＲＯが含まれる情報）を追加登録し、
Ｒｅｓｖメッセージを受信したノードは、登録されたＲｅｓｖＳｔａｔｅ情報より設定すべきＰ２ＭＰ  ＬＳＰの上流ＰＨＯＰノードのＬＳＰが設定されていることを判定すると、上流に付与されたＭＰＬＳラベルを特定し、
さらに、対象とするＰ２ＭＰ  ＬＳＰに対して新たに受信したＲＥＳＶ方路に対して新規にＰ２ＭＰ  ＬＳＰのＭＰＬＳフォワーディングを可能にするために、既に設定されているＩＬＭテーブルと、ＮＨＬＦＥテーブルに対して、上流に付与したラベルを該ＩＬＭテーブルから特定し、そのエントリである該ＮＨＬＦＥテーブルに受信したＲＥＳＶメッセージから特定した下流ＭＰＬＳ転送用のラベル値を新エントリとして新規に登録し、
さらに、先に抽出した上流ＰＨＯＰノードに使用するＭＰＬＳラベル値と、当該ノード配下に設定された設定ツリー情報を記録するために、新規に受信した方路配下に設定されたツリーベースのＲＲＯ情報（ＴＥＲＯ情報）を結合修正して、さらに、当該ノードアドレス情報を先頭に付与することにより、現時点で当該ノードの配下に設定されている既設定の部分ツリー情報を記録するツリーベースのＲＲＯ情報を加工し、加工されたツリーベースのＲＲＯ情報を新規にＲｅｓｖＳｔａｔｅ情報に登録し、さらに、既に設定されている上流のラベル転送に使用されるＭＰＬＳラベル値を特定して、一緒にＲｅｓｖメッセージに格納し、当該ＲＥＳＶメッセージを設定されたツリーの状態変化（新規部分Ｐ２ＭＰ  ＬＳＰ追加）を通知するために上流のＰＨＯＰノードに瞬時に転送し、
Ｒｅｓｖメッセージを受信したノードは、設定すべきＰ２ＭＰ  ＬＳＰに対して初めてＲｅｓｖメッセージを受信した場合には、新規にＲｅｓｖＳｔａｔｅ情報を登録し、さらに、情報登録時にはツリー経路情報：ＴＥＲＯ情報をＲｅｓｖＳｔａｔｅ情報に登録し、さらに、上流のＰＨＯＰとの間でラベル転送に使用するＭＰＬＳラベルを自身のラベル空間から抽出し、さらに、ＭＰＬＳラベル転送を可能にするためにフォワーディング部分のＩＬＭテーブルとＮＨＬＦＥテーブルにラベル交換関係を新規に登録し、さらに、上流とのラベル転送に使用するラベル値と、さらに自身のノードアドレスが設定されたツリーベースの経路登録情報ＴＲＲＯに追加し、さらに、当該ラベル値と修正されたＴＲＲＯ情報をＲｅｓｖメッセージに格納して上流のＰＨＯＰに対して瞬時に転送し、さらに、当該受信ノードが既に別の下流ノードよりＲｅｓｖメッセージを受信してＲｅｓｖ処理を上流へのＲｅｓｖメッセージ送信を完了して部分Ｐ２ＭＰ  ＬＳＰを設定している場合に、新たに設定されたＰ２ＭＰ  ＬＳＰに対して、別の下流の方路よりＲｅｓｖメッセージを受信した場合には、登録されているＲｅｓｖＳｔａｔｅ情報より対応するＲｅｓｖＳｔａｔｅ情報を特定し、新規追加設定した下流部分Ｐ２ＭＰ  ＬＳＰ経路を示すツリーベースのＲＲＯ情報をＲｅｓｖメッセージにより抽出し、ＲｅｓｖＳｔａｔｅ情報に登録されている既設定されているＴＲＲＯ情報を修正し、追加設定された部分を反映したツリーベースの設定経路情報ＴＲＲＯに変更し登録すると同時に、上流のラベル転送に付与されているＭＰＬＳラベルを特定し、該ＴＲＲＯと同時にＲｅｓｖメッセージに格納し、即座に上流のＰＨＯＰノードに対して転送し、この処理を設定すべきＰ２ＭＰ  ＬＳＰ上の全てのノードでＲｅｓｖメッセージが送信ＰＥノードまで到達するまで繰り返し、
送信ＰＥノードは、設定すべきＰ２ＭＰ  ＬＳＰに対して初めてＲｅｓｖメッセージを受信した場合には、Ｒｅｓｖメッセージより下流のＭＰＬＳラベル転送に必要なラベル値を抽出するのと同時に、設定された下流のツリーベースの経路情報ＴＲＲＯを抽出し、ＲｅｓｖＳｔａｔｅ情報に登録し、さらに、設定されたＰ２ＭＰ  ＬＳＰに対してＭＰＬＳフォワーディングを可能にするために、入ＰＥのＦＴＮテーブル、ＮＨＬＦＥテーブルのラベル転送関係を登録し、
さらに、送信ＰＥノードが、異なる下流ノードから設定すべきＰ２ＭＰ  ＬＳＰに対するＲｅｓｖメッセージを受信した場合には、登録された対応するＲｅｓｖＳｔａｔｅ情報を特定し、新規に追加された下流の部分Ｐ２ＭＰ  ＬＳＰに対するＴＲＲＯ情報を抽出し、登録されているＴＲＲＯ情報に追加修正し、現段階での既設定ツリー登録情報となるように加工修正すると同時に、ＭＰＬＳフォワーディングを可能にするためにＦＴＮテーブル、ＮＴＬＦＥテーブルに新規に追加された部分ツリー向けのラベル交換関係を追記し、
送信ＰＥノードは、Ｐａｔｈメッセージとして設定したＰ２ＭＰ  ＬＳＰに対して、上記のＭＰＬＳシグナリングを用いて送信ＰＥノードから、複数の受信ＰＥノードまで、全てのＰ２ＭＰ  ＬＳＰを構成するノードに対してＰ２ＭＰのラベル交換関係を設定すると、受信したパケットを設定したＰ２ＭＰ  ＬＳＰに従って送信ＰＥノードから複数の受信ＰＥノードまでＰ２ＭＰベースでラベルスイッチングし、
Ｐ２ＭＰ  ＬＳＰ確立後はノード間のＰａｔｈＳｔａｔｅとＲｅｓｖＳｔａｔｅとの周期的なリフレッシュ用のＰａｔｈ・Ｒｅｓｖメッセージの交換により状態メインテナンスを実行する。
【０００６】
また、本発明は、既に設定されたＰ２ＭＰ  ＬＳＰに部分Ｐ２ＭＰ  ＬＳＰを設定する場合に、
既設定されたツリーベースの経路情報ＴＥＲＯに追加する部分Ｐ２ＭＰツリー情報を、初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち任意の受信リーフＰＥノードまでのＥＲＯによって経路指示し、当該追加Ｐ２ＭＰ  ＬＳＰの部分経路であるＥＲＯの宛先までの集合{ＥＲＯ}ｓを部分追加用のツリーベースのＴＥＲＯ（Ｇｒａｆｔ）として、既設定されたツリーベースのＴＥＲＯに追加して追加後のＰ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、
修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送信ＰＥノードが送出し、
Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが新規のＰａｔｈメッセージである場合には、上記のＰ２ＭＰ  ＬＳＰの設定方法に応じてＰ２ＭＰ  ＬＳＰを設定し、
Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には受信したＰａｔｈメッセージからセッション情報を抽出して、セッション情報に変化がない場合には周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、セッション情報のうち、ツリーベースの転送経路情報に関しては、受信ノードはＰａｔｈメッセージよりＴＥＲＯ情報を抽出、ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送経路アドレス情報を抽出し、その後抽出した次ホップアドレスとそれ以降の転送経路アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路情報と比較を行い、このとき、当該ノードより下流の部分で部分Ｐ２ＭＰツリーの部分追加が発生する場合には受信したＰａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報に含まれていない、アドレスグループが含まれるので、当該新規アドレスグループを含む下流の転送経路に対しては、同一下流ノードを経由するグループ毎にグルーピングし、ツリー情報を表すＴＥＲＯ情報を更新し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送を行い、部分Ｐ２ＭＰ  ＬＳＰの追加設定を行い、さらに、抽出次ホップアドレスとそれ以降の転送経路アドレス情報と、記録次ホップアドレスとそれ以降の転送経路アドレス情報が全く同一の下流部分については、経路メインテナンス状態に移行する。
【０００７】
また、本発明は、既に設定されたＰ２ＭＰから部分Ｐ２ＭＰ  ＬＳＰを削除する場合に、
既設定されたツリーベースの経路情報ＴＥＲＯから削除する部分に対応するＰ２ＭＰツリー情報を、削除すべき部分ツリーを構成する送信ＰＥノードから削除する部分ツリーの複数の受信リーフＰＥノードグループのうち、任意の受信リーフＰＥノードまでに対応するＥＲＯを、既に設定されたツリーベースのＴＥＲＯ情報を構成する{ＥＲＯ}ｓ集合から削除して、Ｐ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、
送信ＰＥノードが修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送出し、
Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には受信したＰａｔｈメッセージからセッション情報を抽出して、該セッション情報に変化がない場合には、周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、該セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、該セッション情報のうち、ツリーベースの転送経路情報に関しては、受信ノードは、ＰａｔｈメッセージよりＴＥＲＯ情報を抽出し、ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送アドレス情報を抽出し、さらに、抽出した次ホップアドレスとそれ以降の転送アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路アドレス情報と比較を行い、当該ノードより下流の経路で部分Ｐ２ＭＰツリーの部分削除が発生する場合には、受信したＰａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスグループには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報から削除されている、次ホップアドレスグループが含まれるので、当該削除アドレスが含まれている下流ノードについては、同一下流ノードを経由するグループ毎にＥＲＯをグルーピングし、ツリー情報を表すＴＥＲＯ情報に変更し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送し、さらに、当該ノード直下の次ホップ情報から経路情報が削除されている場合には、次ホップアドレス情報が削除されている下流転送経路に対して当該ノードが即座にＰａｔｈＴｅａｒメッセージを送信し、対応する部分Ｐ２ＭＰ  ＬＳＰを削除する。
【０００８】
また、本発明は、既に設定されたＰ２ＭＰ  ＬＳＰに部分Ｐ２ＭＰ  ＬＳＰを設定する場合に、
既設定されたツリーベースの経路情報ＴＥＲＯに追加する部分Ｐ２ＭＰツリー情報を、初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち、任意の受信リーフＰＥノードまでのＥＲＯによって経路指示し、当該追加Ｐ２ＭＰ  ＬＳＰの部分経路であるＥＲＯの宛先までの集合{ＥＲＯ}ｓを部分追加用のツリーベースのＴＥＲＯ（Ｇｒａｆｔ）として、既設定されたツリーベースのＴＥＲＯに追加して、追加後のＰ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送信ＰＥノードが送出し、
Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが新規のＰａｔｈメッセージである場合には、上記のＰ２ＭＰ  ＬＳＰの設定方法に応じてＰ２ＭＰ  ＬＳＰを設定し、
Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には、受信したＰａｔｈメッセージからセッション情報を抽出して、セッション情報に変化がない場合には周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、セッション情報のうち、ツリーベースの転送経路情報に関しては、受信ノードはＰａｔｈメッセージよりＴＥＲＯ情報を抽出し、ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送経路アドレス情報を抽出し、その後抽出した次ホップアドレスとそれ以降の転送経路アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路情報と比較を行い、このとき、当該ノードより下流の部分で部分Ｐ２ＭＰツリーの部分追加が発生する場合には受信したＰａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報に含まれていない、アドレスグループが含まれるので、当該新規アドレスグループを含む下流の転送経路に対しては、同一下流ノードを経由するグループ毎にグルーピングし、ツリー情報を表すＴＥＲＯ情報を更新し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送を行い、部分Ｐ２ＭＰＬＳＰの追加設定を行い、さらに、抽出された次ホップアドレスとそれ以降の転送経路アドレス情報と、記録次ホップアドレスとそれ以降の転送経路アドレス情報が全く同一の下流部分については、経路メインテナンス状態に移行する追加処理と、
既に設定されたＰ２ＭＰから部分Ｐ２ＭＰ  ＬＳＰを削除する場合に、既設定されたツリーベースの経路情報ＴＥＲＯから削除する部分に対応するＰ２ＭＰツリー情報を、削除すべき部分ツリーを構成する送信ＰＥノードから削除する部分ツリーの複数の受信リーフＰＥノードグループのうち、任意の受信リーフＰＥノードまでに対応するＥＲＯを、既に設定されたツリーベースのＴＥＲＯ情報を構成する{ＥＲＯ}ｓ集合から削除して、Ｐ２ＭＰ  ＬＳＰ全体の経路指示を行うツリーベースのＴＥＲＯ情報に加工修正し、送信ＰＥノードが修正されたＴＥＲＯ情報のみを変更して、Ｐａｔｈメッセージに格納して、送出し、
Ｐａｔｈメッセージを受信したノードは、受信Ｐａｔｈメッセージが設定すべきＰ２ＭＰ  ＬＳＰセッションに対して２度目以降のＰａｔｈメッセージである場合には、受信したＰａｔｈメッセージからセッション情報を抽出して、該セッション情報に変化がない場合には、周期的なＰａｔｈメッセージのメインテナンス状態に移行し、抽出したセッション情報に変化がある場合、該セッション情報の変化を反映すべき経路に対してＰａｔｈメッセージを即座に転送し、特に、該セッション情報のうち、ツリーベースの転送経路情報に関しては、受信ノードは、ＰａｔｈメッセージよりＴＥＲＯ情報を抽出し、ＰａｔｈＳｔａｔｅ処理に従い、ＴＥＲＯを構成する{ＥＲＯ}ｓ情報から自身のノードアドレス情報を削除して、各々のＥＲＯ情報から次ホップアドレスとそれ以降の転送アドレス情報を抽出し、さらに、抽出した次ホップアドレスとそれ以降の転送アドレス情報をＰａｔｈＳｔａｔｅ情報に格納されている設定済みのＰ２ＭＰ  ＬＳＰ情報を反映した記録次ホップアドレスとそれ以降の転送経路アドレス情報と比較を行い、このとき、当該ノードより下流の経路で部分Ｐ２ＭＰツリーの部分削除が発生する場合には受信したＰａｔｈメッセージから抽出した、次ホップアドレスグループとそれ以降の転送経路アドレスグループには登録された記録次ホップアドレスグループとそれ以降の転送経路アドレス情報から削除されている、次ホップアドレスグループが含まれるので、当該削除アドレスが含まれている下流ノードについては、同一下流ノードを経由するグループ毎にＥＲＯをグルーピングし、ツリー情報を表すＴＥＲＯ情報に変更し、Ｐａｔｈメッセージに格納して即座に下流ノードに転送し、さらに、当該ノード直下の次ホップ情報から経路情報が削除されている場合には、次ホップアドレス情報が削除されている下流転送経路に対して当該ノードが即座にＰａｔｈＴｅａｒメッセージを送信し、対応する部分Ｐ２ＭＰ  ＬＳＰを削除する削除処理とを、同時に行う。
【０００９】
また、本発明は、Ｐａｔｈメッセージを受信した中間ノードがＰａｔｈメッセージに含まれるＴＥＲＯ情報から次ホップ情報を特定するときに、次ホップ情報にＬｏｏｓｅ指定されているアドレス情報が含まれている場合に、Ｌｏｏｓｅ指定されているアドレスグループに対してＰ２ＭＰのツリーベースのＬＳＰ拡張を行う。
【００１０】
また、本発明は、Ｐ２ＭＰ  ＬＳＰ識別子を持つＰ２ＭＰ  ＬＳＰを設定したとき、異なる受信ＰＥノードグループを持つ複数のＰ２ＭＰ  ＬＳＰを同一のＰ２ＭＰ  ＬＳＰ識別子を用いて設定した場合に、複数の異なるＰ２ＭＰ  ＬＳＰのＰ２ＭＰ転送経路を共有する部分で共通のＭＰＬＳ転送ラベルを用いてＰ２ＭＰ  ＬＳＰを共有する。
【００１１】
また、本発明は、Ｐ２ＭＰ  ＬＳＰを設定するときに、ＲＳＶＰのＳＥ予約スタイルを用いてＬＳＰ設定を行い、Ｐ２ＭＰの共有経路をＳＥ共有する。
【発明の効果】
【００１２】
本発明は、マルチキャストラベルスイッチング経路を設定するときに、ＲＳＶＰ−ＴＥのＰａｔｈメッセージに指定すべきＰ２ＭＰ  ＬＳＰのツリーベースの経路情報をＴＥＲＯを設定し、Ｐａｔｈメッセージがそのツリーベースの経路情報に従ってネットワーク内に転送できるため、ＴＥＲＯに設定したいＰ２ＭＰ経路を記述することにより、容易にＰ２ＭＰ  ＬＳＰの転送経路、ネットワーク内のコピー分岐ポイントを設計できる点を主要な特徴とする。従来の技術とは、Ｐ２ＰのＬＳＰのみならず、同一のプロトコルを用いて、Ｐ２ＭＰのＬＳＰを任意の転送経路でトラヒックエンジニアリングして設定できる点、Ｐ２ＭＰだけでなく、Ｐ２ＭＰとＰ２ＰのＬＳＰを同時に設定できる点が大きく異なる。
【００１３】
さらに、第２の特徴として、ツリーベースの経路情報がＰ２ＰのＭＰＬＳの経路指定情報であるＥＲＯによって構成されるため、設定すべきＰ２ＭＰ  ＬＳＰのツリー形状を指定するときにツリー全体を送信ＰＥから複数受信リーフＰＥまでのＰ２Ｐ経路の重ね合わせとして指定できるため、直感的な経路指定を可能にする点、さらにＴＥＲＯを保持したＰａｔｈメッセージがネットワーク内でＰ２ＭＰ  ＬＳＰを設定するときに、ＬＳＰ分岐ポイントでＴＥＲＯがＥＲＯの集合として定義されているため、既存のＰ２ＰのＲＳＶＰ−ＴＥの実装資産を用いて容易にＰ２ＭＰの拡張が可能となる。
【００１４】
さらに、第３の特徴として、Ｐ２ＭＰ  ＬＳＰ設定時に、Ｐ２ＭＰ  ＬＳＰを識別するＰ２ＭＰ  ＬＳＰ−ｉｄ情報をセッション情報に保持しながら、Ｐ２ＭＰ  ＬＳＰを設定するために、異なる物理トポロジを備えるＰ２ＭＰ  ＬＳＰを複数本設定したときに、同一のＰ２ＭＰ  ＬＳＰ−ｉｄで設定しておけば複数のＰ２ＭＰ  ＬＳＰを同一のＰ２ＭＰ  ＬＳＰとして結合できる。
【発明を実施するための最良の形態】
【００１５】
以下、図面と共に本発明の実施の形態を説明する。
【００１６】
［第１の実施の形態］
第１の実施の形態として、マルチキャストラベルスイッチングの例を説明する。
【００１７】
以下に、マルチキャストラベルスイッチングの通信経路設定方法とパケット転送メカニズムについて説明する。
【００１８】
図１は、本発明の第１の実施の形態におけるＰ２ＭＰセッションオブジェクトを示す。
【００１９】
Ｐ２ＭＰのＬＳＰを設定する場合には、Ｐ２Ｍセッションとして、トンネル識別子とトンネルの送信者アドレスを使用する。図１は、ＩＰｖ４のＰ２ＭＰセッションオブジェクトを示す。また、図１に示すように、Ｐ２ＭＰセッションオブジェクトには異なるＰ２ＭＰ  ＬＳＰを結合するために必要となる、Ｐ２ＭＰＴｕｎｎｅｌＩＤ情報も含まれている。
【００２０】
このＰ２ＭＰＴｕｎｎｅｌＩＤは、送信ＰＥノードを共有し、宛先受信リーフノードが異なる複数のＰ２ＭＰＬＳＰで送信ＰＥノードから宛先受信ＰＥリーフノードまでの転送経路を複数の異なるＰ２ＭＰＬＳＰで共有するような場合に、異なるＰ２ＭＰＬＳＰを用いて共通のＰ２ＭＰコミュニケーショントラヒックを転送する場合に、異なるＰ２ＭＰＬＳＰをひとつのＰ２ＭＰＬＳＰに結合して使用する場合に有効である。
【００２１】
図２は、本発明の第１の実施の形態におけるツリーベースのＴＥＲＯ情報要素を示す。図２の例では、送信ＰＥノードＡから４つの受信ＰＥノードＧ，Ｆ，Ｃ，ＤまでのＰ２ＭＰ転送経路を示す。このＴＥＲＯ情報は、異なるＰ２Ｐ転送経路の重ね合わせとして表現できる。例えば、図２の場合には、送信ＰＥノードＡより受信ＰＥリーフノードＧまでの転送経路は、Ｐ２Ｐ経路１：{Ａ，Ｂ，Ｅ，Ｇ}、どうように送信ＰＥノードＡより受信ＰＥリーフノードＦまでの転送経路はＰ２Ｐ経路２：{Ａ，Ｂ，Ｅ，Ｆ}で、同様に送信ＰＥノードＡより受信ＰＥリーフノードＤまでの転送経路はＰ２Ｐ経路３：{Ａ，Ｂ，Ｄ}で、また、同様に、送信ＰＥノードＡより受信ＰＥリーフノードＣまでの転送経路はＰ２Ｐ経路４：{Ａ，Ｂ，Ｃ}で表現することが可能である。従って、図２のＰ２ＭＰ転送経路であるツリーベースの転送経路情報ＴＥＲＯは、Ｐ２Ｐの転送経路情報であるＥＲＯの集合として表現できて、ＴＥＲＯ＝{ＥＲ０１（Ａ，Ｂ，Ｅ，Ｇ），ＥＲＯ２（Ａ，Ｂ，Ｅ，Ｆ），ＥＲＯ３（Ａ，Ｂ，Ｄ），ＥＲＯ４（Ａ，Ｂ，Ｃ）}として表現できる。
【００２２】
次に、本発明で使用するＰａｔｈメッセージ、Ｒｅｓｖメッセージについて説明する。Ｐａｔｈメッセージは、
<Path Message>::=<Common Header>[<INTEGITY>]
[[<MESSAGE_ID_ACK>｜<MESSAGE_ID_NACK>]…]
[<MESSAGE_ID>]<SESSION><RSVP_HOP>
<TIME_VALUES><TREE_EXPLICIT_ROUTE>
<LABEL_REQUEST>[<PROTECTION>]
[<LABEL_SET>][<SESSION_ATTRIBUTE>]
[<NOTIFY_REQUEST>][<ADMIN_STATUS>]
[<POLICY_DATA>…]<sender descriptor>
<sender descriptor>::<SENDER_TEMPLATE><SENDER_TSPEC>
のフォーマットで表現される。従来のＰ２ＰのＲＳＶＴ−ＴＥとの大きな違いは前述したようにＳＥＳＳＩＯＮオブジェクトフォーマット、ＴＥＲＯオブジェクトフォーマットが異なる点に注意する。また、Ｒｅｓｖメッセージは、
<Resv Message>::=<Common Header>[<INTEGRITY>]
[[<MESSAGE_ID_ACK>｜<MESSAGE_ID_NACK>]…]
[<MESSAGE_ID>]<SESSION><RSVP_HOP>
<TIME_VALUES>[<RESV_CONFIRM>][<SCOPE>]
[<NOTIFY_REQUEST>][<ADMIN_STATUS>]
[<POLICY_DATA>…]<STYLE><flow descriptor list>
<flow descriptor list>::=<FF flow descriptor list>｜<SE flow descriptor>
<FF flow descriptor list>::=<FLOWSPEC><FILTER_SPEC>
<LABEL>[<TREE_RECORD_ROUTE>]
｜<FF flow descriptor list><FF flow descriptor>
<FF flow descriptor>::=[<FLOWSPEC>]<FILTER_SPEC>
<LABEL>[<TREE_RECORD_ROUTE>]
<SE flow descriptor>::=,FLOWSPEC><SE filter spec list>
<SE filter spec list>::=<SE filter spec>
｜<SE filter spec list><SE filter spec>
<SE filter spec＞::=<FILTER_SPEC><LABEL>[<TREE_RECORD_ROUTE>
のフォーマットで表現される。従来のＰ２ＰのＲＳＶＰ−ＴＥとの大きな違いはＳＥＳＳＩＯＮオブジェクトとともにＴＲＲＯオブジェクトフォーマットが異なる点に注意する。
【００２３】
次に、図３、図４を用いてＰ２ＭＰＬＳＰの基本設定メカニズムを説明する。図３では、送信ＰＥノードが受信ＰＥリーフノードであるＣ，Ｄ，Ｆ，ＣまでＰ２ＭＰＬＳＰを設定する例を示している。設定されるＰ２ＭＰＬＳＰは図２の転送経路に従う。送信ＰＥノードＡは、設定すべきＰ２ＭＰＬＳＰの転送経路を決定すると、その転送経路情報をツリーベースの転送経路情報ＴＥＲＯオブジェクトに格納する。この例では、
TERO={ERO(A,B,C),ERO(A,B,D),ERO(A,B,E,F),ERO(A,B,E,G)}
となっている。さらに送信ＰＥノードは設定すべきＰ２ＭＰＬＳＰのＴｕｎｎｅｌＩＤとＰ２ＭＰＴｕｎｎｅｌＩＤをＳＥＳＳＩＯＮオブジェクトに格納する。同時にＬＳＰＩＤをSENDER TEMPLATEで指定する。同時に、LSPIDをSENDER TEMPLATEで指定する。
【００２４】
この後、送信ＰＥノードＡは、Ｐａｔｈメッセージに、
・Common Header；
・SESSION；
・RSVP_HOP
・TIME＿VALUE；
・先に示したTERO；
・LABEL_REQUEST；
・SENDER_TEMPULATE；
・SENDER_TSPEC：
・RECOD_ROUTEオブジェクト
を格納して、下流ノードＢに送信する。当該Ｐａｔｈメッセージを受信したノードＢは、そのPathState情報を検索し、当該Ｐ２ＭＰセッションが新規のＰ２ＭＰセッションであることを判定すると、そのPathStateにセッション情報として、
・SESSION
・RSVP_HOP
・TERO
・LABEL_REQUEST
・SENDER_TEMPULATE
・SENDER_TSPEC
・RECORD_ROUTEオブジェクト
として情報登録を実施する。このとき、ノードＢは同時に当該Path設定要求のＰ２ＭＰLSPが当該ノードに設定可能かどうかを判定し、設定が可能な場合には、Pathメッセージを下流ノードに転送するために、次のホップをツリーベースのTEROオブジェクトより特定する。
【００２５】
まず、TERO情報に含まれている、ERO情報を取り出し、自身のノードアドレス番号をホップ情報から削除して、各リーフまでの次ホップアドレスを特定する。図３の例では、リーフＣまでの次のホップがノードＣ、リーフＤまでの次ホップがノードＤ、リーフＦまでの次ホップがノードＥ、リーフＧまでの次ホップがノードＥとなっていることを特定する。
【００２６】
さらに、ノードＢは次ホップが全てストリクト指定されている場合には、特定した次ホップから、下流のＰ２ＭＰサブツリー毎にERO集合を修正して下流のサブツリーを指定するツリーベースのTEROに修正しなおす。図３の場合、リーフＣまでは、ツリーがリーフしか存在しないのでERO(C)がリーフＣまでのTERO情報となり、同様に、リーフＤまではERO（D）がリーフＤまでのTERO情報となり、リーフＦ、リーフＧについては同一の次ホップアドレスEをもつため、同一の下流サブツリーを構成できるため、ツリーベースのTERO情報としては、両者を併せて、
TERO={ERO(E,F),ERO(E,G)}
と整形される。
【００２７】
この処理の後、ノードＢはそれぞれの下流のサブツリーに向かって同一のPathメッセージ情報で(SESSION,TERO以外は図３では省略)、先に修正したTERO情報を格納して下流ノードに転送する。
【００２８】
図３の例では、下流ノードＥに向けには、
Path(…,SESSION,…TERO{ERO(E,F),ERO(E,G)}…)
が送出される。その後ノードＥでも同様の操作が繰り返されて、PathメッセージがリーフノードＦ，Ｇに送出される。
【００２９】
Pathメッセージを受信したリーフノードＣ，Ｄ，Ｆ，Ｇは、当該P２MPLSPが設定可能であるときには、ResvState情報を確定して、上流のPHOPノードにＰ２ＭＰＬＳP予約確定メッセージのResvメッセージを送出する。このとき、下流のリーフノードは上流のPHOPノードが当該ノードとの間でP２MPトラヒックをラベル転送するときに使用するラベル値を自身のラベル空間より確定してResvメッセージを格納して転送する。図４の例では、ノードＢとノードＣ，Ｄ間でラベル転送用としてラベル値、５１，１０５が付与されて、ノードＥとノードＦ，Ｇ間でラベル転送用としてラベル値、１０，２３が付与されている例を示している。下流からResvメッセージが送出されて上流のノードが当該Resvメッセージを受信すると、そのResvメッセージにより、ResvState情報を登録する。図４では、ノードＢがまず始めに、ノードＣ，Ｄから同時にResvメッセージを受信した場合の例が記載されている。
【００３０】
ノードＢは、受信したResvメッセージより、ResvState情報に必要な情報を抽出して格納する。このとき、下流ノードは、Ｐ２ＭＰＬＳＰの設定経路を記録するツリーベースのTERO情報を保持していることに注意する。ノードＣからはP2MPLSPリーフが確定しているので、TERO{RRO（C）}の情報が通知される。
【００３１】
TEROの情報構成要素は、TERO情報と同じようにＰ２Ｐの経路記録オブジェクトであるRROオブジェクトの集合として記録される。同様にリーフノードDより
TRRO={RRO(D)}
の情報が通知される。
【００３２】
これらのResvメッセージを受信したノードＢは、更に上流のP２MPLSPが設定可能である場合には、上流のノードＡとの間で使用するラベル値を自身のラベル空間より付与する。図４の例では、ラベル値２００が付与されている。このラベル付与と同時にノードＢは、下流ノードとのラベル交換関係；入力ラベル２００→出力ラベル１：５１、出力ラベル２：１０５をILMテーブル、NHLFEテーブルに記録登録する。同時にフォワーディング部分のラベル交換関係を登録する。また、このとき、ノードＢは、２つのResvメッセージを受信しているので、それらの情報をマージする。パス設定記録情報以外の部分は共通なので、TRROをマージする、まずは自身のノードアドレス情報を先頭ヘッダに付与して図４の例では、２つのリーフまでの経路(B、Ｃ)と（B、D）がマージされるので、ツリーベースの経路記録情報としては、
TERRO={RRO(B,C),RRO(B,D)}
となる。
【００３３】
このマージされたTRRO情報、先に付与された上流ノードとの間で使用するラベル値をResvメッセージに格納し、上流ノードに即座に転送する。図４の例では、このような操作がノードＥ、ノードＦ，Ｇの間でも実施されて、ノードＢにはノードＥからも少し遅れてマージされたResvメッセージが到着する。
【００３４】
このマージされたResvメッセージを受信したノードＢは、そのセッション情報より当該Resvメッセージが既に設定されているＰ２ＭＰＬＳＰに関するResvメッセージであることをそのResvState情報を検索することにより判定する。ノードＢは、既に設定されているILMテーブル、NHLFEテーブルのラベル交換関係；入力ラベル２００→出力ラベル１：５１、出力ラベル２：１０５に新たに受信した下流のラベル値；５０５を追加して、修正されたラベル交換関係；入力ラベル２００→出力ラベル１：５１、出力ラベル２：１０５、出力ラベル３：５０５を追加登録する。この操作と同時に、下流から受信した設定ツリー情報TRRO={RRO(E,F),RRO(E,G)}を記録しているResvState情報に追記する。
【００３５】
修正追記されたTRRO情報は、現在の設定サブツリー情報を示すので、
TRRO={ERO(B,E,F),RRO(B,E,G)RRO(B,C),RRO(B,D)}
となっている。
【００３６】
この操作の終了後、ノードＢは、LSP状態の変化を即座に上流に通知するためにResvメッセージに先に付与した同一のラベル値：２００と現に修正したRRRO情報を格納し、上流のノードＡに即座にResvメッセージを通知する。
【００３７】
送信ノードＡはこのように、２つのResvメッセージを下流ノードより受信することによりその格納されているResvメッセージ内のツリーベースの設定経路情報を判定し、設定要求したP２MPLSPが完全に設定されたことを判定する。このような処理により図４に示すように設定Ｐ２ＭＰＬＳＰに対して
ノードA→(２００)→ノードB→(５１)→ノードＣ
→(１０５)→ノードＤ
→(５０５)→ノードE→(１０)→ノードＦ
→(２３)→ノードG
のラベル交換関係が設定されて、P2MPラベルスイッチングが可能になる。
【００３８】
［第２の実施の形態］
本実施の形態では、マルチキャストＭＰＬＳGraftingの例を説明する。
【００３９】
図５，６の例を用いて、本発明の部分P2MPLSPの追加処理であるGraftingメカニズムについて説明する。
【００４０】
図５の例では、既に設定されたツリーに対して、ノードE配下にノードHまでのリーフLSP:EHをGrafting処理する例を示す。
【００４１】
リーフLSP:EHをGraftingするための送信ＰＥノードＡは、追加受信リーフHまでの指定経路ERO=(A,B,E,H)を既設定済みのツリーベースの経路指定情報TEROに追加する。
送信ＰＥノードＡは、Pathメッセージとして既設定のＰ２ＭＰセッション情報を含み、TERO情報に追加修正部分の新たなERO情報を包含する。
【００４２】
当該Pathメッセージを受信したノードＢは、自身のPathState情報を検索し、当該Pathメッセージが新規のP２MPLSP設定用か既設定のP２MPLSP向けのPathメッセージかどうかを判定する。図５の場合は、既に設定済みのP２MPLSP設定用のPathメッセージであり、これを判定すると、Path要求情報が既に設定済みの情報を異なった情報を含んでいるかどうかを判定する。この場合はTERO情報として登録されていない、ERO(B,E,H)経路が特定されるので、ノードBは、同一の既に設定されているP2MPLSPに対するGrafting処理要求であることを判定する。この新規Grafting用のERO(B,E,H)情報をPathState情報に新規追加する。
【００４３】
この処理と同時に、下流でのGrafting処理を瞬時に実行するために、同一の下流次ホップを備える。ERO(E,F),ERO(E,G),ERO(E,H)をツリーベースのTERO情報に修正して下流ノードEに対してPathメッセージに格納して通知する。このときノードＢ配下のサブツリーBC,BDについての状態変化要求は存在しないので、トリガのPathメッセージは送付されないことに注意する。この下流ノードについては通常のPath/Resvステート保持に基づくリフレッシュ用のPath/Resvメッセージ交換が実施される。
【００４４】
トリガのPathメッセージを受信したノードＥは、同様にその登録PathState情報と受信Pathメッセージの情報比較を行い、このPathメッセージがリーフH向けのGrafting処理要求であることを判定するため、リーフＨに向けてトリガのPathメッセージを送出する。このとき、リーフＦ，Ｇには通常のリフレッシュ状態のままであり、トリガのＰathメッセージが送出されないことに注意する。このとき、リーフノードHは、当該Grafting要求が可能で、リーフLSPを設定可能な場合は、図６にあるように、Ｅ，Ｈ間で使用するラベル値を付与して上流のノードEにResvメッセージを送出する。このとき、ノードEは、下流の変化を登録しているResvState情報と受信したResvメッセージの比較により認識するので、ResvStateの下流設定ツリー情報のTRRO情報をアップデートして、上流の既に付与されたラベル値とともにResvメッセージに格納して当該Resvメッセージとトリガメッセージとして上流に通知する。
【００４５】
図６の例では、このトリガResvメッセージを受信したノードＢの処理動作を説明している。ノードＢは、Ｅ配下のサブツリー変更情報を
TRRO={RRO(E,F),RRO(E,G),RRO(E,H)}
として受信するので、自身のノードアドレスをヘッダ情報に付与して、
TRRO={RRO(B,C),RRO(B,D)RRO(B,E,F),RRO(B,E,G),RRO(B,E,Ｈ)}
としてResvState情報に登録すると同時に、Resvメッセージに格納して上流のノードＡにトリガメッセージとして通知する。
【００４６】
このResvメッセージをノードAが受信することにより、Grafting処理が完成する。
【００４７】
［第３の実施の形態］
本実施の形態では、マルチキャストMPLSのPruning処理を説明する。
【００４８】
以下では、図７，８を用いて説明する。図７の例では、既に設定されたＰ２ＭＰＬＳＰのノードE配下からリーフLSP：EHをPruning処理する例を示している。
【００４９】
送信ＰＥノードＡは、既に設定されているP2MPLSPのツリーベースの経路設定情報を表すTEROから削除すべきリーフに対するサブツリー情報であるTERO={ERO(A,B,E,H)}を削除する。
【００５０】
ノードＡは、削除修正したTERO情報を含むPathメッセージを既に設定しているP2MPLSPに対して送出する。
【００５１】
当該Pathメッセージを受信したノードＢは既に登録しているPathState情報より対応するPath情報を検索し、受信したＰathメッセージ情報と比較し、修正要求条件がないかどうかをチェックする。この例の場合では、TERO情報に、PathState情報に登録されているERO(B,E,H)情報が削除されていることをノードＢが検知するので、リーフHに対するPruning処理要求であることを判定して、自身の登録からERO(B,E,H)を削除すると同時に、Hノードを下流サブツリーに含むノードEに向けて修正された
TERO={ERO(E,F),ERO(E,G)}
を送付する。
【００５２】
このときノードＢ配下のノードC，Ｄに対しては、変化要求がないので、通常のＰath/Ｒesvのリフレッシュ状態を保持することに注意されたい。トリガの修正されたPathメッセージを受信したノードEは、同様に自身のPathState登録情報を判定し、リーフＥＨに対するPruning処理要求であることを判定すると、自身のERO=(E,H)情報をPathState情報から削除し、リーフＥＨのLSPを削除するためにPathTearメッセージをトリガメッセージとして送出する。
【００５３】
このトリガPathTearメッセージによりノードE配下のリーフLSP:EHは削除される。この削除と同時にノードEは、図８にあるように自身のResvState情報もアップデートし、P２MPLSPの変更状態を上流に通知するために変更されたP2MPLSP情報を含むResvメッセージを上流にトリガメッセージとして送出する。
【００５４】
図８の例では、リーフEHのLSPが削除されているので、
TRRO={RRO(E,F),RRO(E,G)}
を保持するResvメッセージが上流にトリガメッセージとして送付される。
【００５５】
さらに、当該Resvメッセージを受信したノードＢは、自身のResvState情報を更新すると同時に、上流のノードAにその変更をResvメッセージに格納して通知する。こうして、ノードＡがサブツリーの変更をResvメッセージの通知により受信することによりPruning処理が完了する。
【００５６】
［第４の実施の形態］
本実施の形態では、マルチキャストＭＰＬＳのP2MPLSPの結合処理について説明する。
【００５７】
図９では、同一の送信PEノードAからトポロジの異なるP2MPLSPを設定している例を示す。このとき、リーフＣ，Ｄに向かうP2MPLSPのTunnelIDとリーフＥ，Ｇに向かうP2MPLSPのTunnelIDは異なるＩＤを持って設定されているが、P2MPTunnelIDは同一のＩＤで処理されていることとする。
【００５８】
この２つのP2MPLSPはツリー経路ABを共有している。この例では、先にリーフＣ，Ｄ向けのP2MPLSPが設定されたものとする。この場合、リーフＦ，Ｇ向けのP2MPLSP設定のシグナリング時にノードのコントロール部分が同一のP2MPTunnelIDを持つことを判定して、ノードＢがＡ，Ｂ間にラベル値を付与してLSPの予約を確定するときに、先にリーフＣ、ＤのLSPに対して設定したラベル値を付与することで、２つのP2MPLSPのデータプレーンを結合することができる。
【００５９】
さらに、本発明は、両者のP2MPLSPの予約スタイルがSE予約スタイルであるときにデータプレーンの結合、Resvメッセージのフィルタリング結合により、マージング処理において、既存のＰ２Ｐのメカニズムを適用できるメリットがある。
【００６０】
［第５の実施の形態］
本実施の形態では、P2MPLSPを設定時に途中ノードがTERO情報から次ホップアドレス情報を特定するときに、複数のLooseホップ指定された複数の次ホップアドレスノードまでＰ２ＭＰのツリーベースでLSP拡張できる。
【００６１】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【産業上の利用可能性】
【００６２】
本発明は、マルチキャストＭＰＬＳ転送経路を設定するＭＰＬＳ通信プロトコル技術、そのシステム化技術に適用可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の第1の実施の形態におけるＰ２ＭＰセッションオブジェクトを示す図である。
【図２】本発明の第1の実施の形態におけるツリーベースのＴＥＲＯ情報要素を示す図である。
【図３】本発明の第1の実施の形態におけるＰ２ＭＰＬＳＰを設定するＰａｔｈメッセージのシーケンス図である。
【図４】本発明の第1の実施の形態におけるＰ２ＭＰを設定するＲｅｓｖメッセージのシーケンス図である。
【図５】本発明の第２の実施の形態におけるＰ２ＭＰＬＳＰ追加処理のＰａｔｈメッセージのシーケンス図である。
【図６】本発明の第２の実施の形態におけるＰ２ＭＰＬＳＰの追加処理のＲｅｓｖメッセージのシーケンス図である。
【図７】本発明の第３の実施の形態におけるＰ２ＭＰＬＳＰの削除処理のＰａｔｈメッセージのシーケンス図である。
【図８】本発明の第３の実施の形態におけるＰ２ＭＰＬＳＰの削除処理のＲｅｓｖメッセージのシーケンス図である。
【図９】本発明の第４の実施の形態におけるＰ２ＭＰＬＳＰの結合処理を示す図である。
【図１】
2005167482.tif 000003
【図２】
2005167482.tif 000004
【図３】
2005167482.tif 000005
【図４】
2005167482.tif 000006
【図５】
2005167482.tif 000007
【図６】
2005167482.tif 000008
【図７】
2005167482.tif 000009
【図８】
2005167482.tif 000010
【図９】
2005167482.tif 000011