(57)【要約】【課題】  ＲＳＶＰ−ＴＥのＭＰＬＳシグナリングプロトコルを拡張して、プロバイダネットワーク内の最適な分岐ポイントでP2MPトラヒックをコピー可能でネットワーク全体で最適なP2MPトラヒックのコピーを可能にする。【解決手段】  本発明は、マルチキャストラベルスイッチング経路を設定する時に、ＲＳＶＰ−ＴＥのパスメッセージに設定対象のP2MP LSPを指定するP2MPセッション情報を指定し、設定するP2MPの部分Ｐ２Ｐ経路を指定するERO情報を保持した複数のパスメッセージをP2MP経路を構成するＰ２Ｐ経路分送信して、中間のツリー分岐ノードがデータプレーンの分岐設定を行う。【選択図】  図２
2005130258.tif 000002
【特許請求の範囲】
【請求項１】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）通信ネットワークにおいて、ＭＰＬＳネットワークの境界に配置されたプロバイダエッジ（ＰＥ）ノードが、ＩＰマルチキャストトラヒックを含むポイントツーマルチポイント（P2MP）コミュニケーショントラヒックを複数該境界に配置されたプロバイダエッジ（ＰＥ）ノードまでＭＰＬＳ転送するポイントツーマルチポイントＭＰＬＳ通信方法において、
送信ＰＥノードが、複数の受信ＰＥノードまで、ＭＰＬＳシグナリングプロトコルを用いてプロバイダエッジ内の複数の中継ノードにコピーポイントを設置してP2MPのツリー形状のラベルスイッチパス（ＬＳＰ）を設定することでＭＰＬＳ転送経路を設定する処理を行い、
前記P2MPのツリー形状のラベルスイッチングパス（P2MP LSP）を設定するときに、マルチプロトコルラベルスイッチング（ＭＰＬＳ）プロトコルであるＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）をベースにして、P2MPトラヒックのP2MPセッションを識別するために、P2MP LSPの送信ＰＥアドレスとトンネル識別子、さらに、該トンネル識別子の拡張としてP2MPトンネル識別子、シーケンス番号で構成されるP2MPセッションオブジェクトを定義し、
さらに、前記ＰＥノードは、
P2MP LSP形状を指定するために、設定対象のP2MP LSPの送信ＰＥから複数の受信リーフＰＥノードまでのツリー状の経路を送信ＰＥノードから各受信ＰＥノード迄のポイントツーポイント（Ｐ２Ｐ）のＭＰＬＳ転送経路で分解する処理を行い、
分解した、Ｐ２Ｐ経路をＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）で定義されたＰ２Ｐの転送経路指示オブジェクトであるEROオブジェクトにより経路指定する処理を行い、
P2MP LSPを設定する時に、前記送信ＰＥノードが外部からのP2MP LSP経路指示、または、内部のＩＰルーティングプロトコルのトラヒックエンジニアリング拡張機能との連携により送信ＰＥ間と複数の受信ＰＥノード間の設定すべきP2MP LSP経路計算を行うことにより、設定すべきP2MP LSP経路を把握したときに、ツリー経路をＰ２Ｐ経路に分解する手段により、P2MP LSP設定経路に変換する処理を行い、
前記送信ＰＥノードは、P2MP LSP設定時にパスメッセージとして共通ヘッダ、定義した前記P2MPセッションオブジェクトに設定対象のP2MPツリーを指定するP2MP_LSP_idとそのツリー形式のために必要となる複数のメッセージの送出番号を指定するシーケンス番号を０に指定し、RSVP_HOPオブジェクト、TIME_VALUESオブジェクト、分解した第１のＰ２Ｐ経路を指定するEROオブジェクト、LABEL_REQUESTオブジェクト、SENDERオブジェクト、SENDER_TEMPLATEオブジェクト、SENDER_TSPECオブジェクトを含んだパスメッセージを送信ＰＥノードから設定すべきP2MP LSPを構成する最隣接する下流ノードに送出する処理を行い、
前記送信ＰＥノードは、設定すべきP2MPのツリー状の経路が複数のＰ２Ｐ経路で設定されて、前記第１のＰ２Ｐ経路以外にもＰ２Ｐ経路が複数存在する場合には、第２のＰ２Ｐ経路を指定するEROを用意して、パスメッセージとして共通ヘッダ、定義した前記P2MPセッションオブジェクトに設定対象のP2MPツリーを指定するP2MP_LSP_idとそのツリー形式のために必要となるシーケンス番号を１に指定し、RSVP_HOPオブジェクト、TIME_VALUESオブジェクト、分解した第２のＰ２Ｐ経路を指定するEROオブジェクト、LABEL_REQUESTオブジェクト、SENDER_TEMPLATEオブジェクト、SENDER_TSPECオブジェクトを含んだパスメッセージを送信ＰＥノードから設定すべきP2MP LSPを構成する最隣接する下流ノードに送出する処理を行い、
前記送信ＰＥノードは、上記の手順をP2MPのツリー状の経路を構成する最終Ｐ２Ｐ経路まで設定を繰り返し、最終Ｐ２Ｐ経路を指定するEROを用意して、パスメッセージとして共通ヘッダ、定義した前記P2MPセッションオブジェクトに設定対象のP2MPツリーを指定するP2MP_LSP_idとそのツリー形成のために必要となるシーケンス番号に（繰り返し番号―１）、さらに、Ｅｎｄ指定ビットを設定し、該パスメッセージが最終パスメッセージであることを指定し、RSVP_HOPオブジェクト、TIME_VALUESオブジェクト、分解した最終のＰ２Ｐ経路を指定するEROオブジェクト、LABEL_REQUESTオブジェクト、SENDER_TEMPLATEオブジェクト、SENDER_TSPECオブジェクトを含んだパスメッセージ送信ＰＥノードから設定すべきP2MP LSPを構成する最隣接する下流ノードに送出する処理を行い、
前記パスメッセージを受信した下流ノードは、
その登録されているPathステート情報を検索し、該パスメッセージが新規受信パスメッセージである場合、パスメッセージよりセッション情報を抽出し、設定要求のパスが設定可能な場合には、Pathステート情報として新たに登録する処理を行い、
さらに、パスメッセージよりP2MP LSPの部分Ｐ２Ｐ経路として設定すべきEROを抽出し、さらに、ERO情報から自身のノードアドレスの次のホップとして定義されている下流次ホップアドレスを抽出する処理を行い、
前記パスメッセージを受信した下流ノードは、
上流ノードが複数のパスメッセージを送出するときには、該受信パスメッセージより、該パスメッセージが同一のP2MPセッションに対してのP2MP LSP経路設定要求メッセージであることを判定し、該パスメッセージが格納しているERO情報により次に設定すべきP2MP LSPの部分Ｐ２Ｐ経路をEROとして抽出し、さらに、該ERO情報から自身のノードアドレスの次のホップとして定義されている下流次ホップアドレスを抽出する処理を行い、
前記パスメッセージを受信する下流ノードは上流からのパスメッセージのP2MPセッションオブジェクトにP2MP設定経路の最終部分Ｐ２Ｐ経路設定用のパスメッセージであることを指示するEndビット設定のパスメッセージを受信するまで、上記の処理を繰り返し、Endビットが設定されている最終パスメッセージを受信すると、上記と同様に、そのパスメッセージを保持する、最終Ｐ２Ｐ経路をEROとして抽出する処理と同時に、次ホップアドレスを特定する処理を行い、
さらに、各ERO情報から抽出した次ホップ情報を抽出すると同時に自身のノードアドレスを各ERO情報から削除し、次ホップアドレスが各ERO情報の先頭格納情報となるようにERO情報を整形する処理、さらに、共通の次ホップアドレスグループが複数存在する場合には、同一の次ホップアドレスを持つERO情報をグルーピングする処理を行い、
上記の処理の後に、次ホップに対応する下流ノード毎に当該下流ノードを宛先にする再度グルーピングされたパスメッセージを該下流ノード配下の部分P2MP LSPを指定する再構築されたERO情報を格納して下流の次ホップノードに上記の同一のP2MP_LSP_id情報に対してシーケンス番号を付与して、最終パスメッセージについては、Endビットを設定して送出する処理を行い、
前記Pathステート情報の登録、パスメッセージの再グルーピング化とグループ毎のシーケンス番号を指定した次下流ノードへの転送を繰り返し、当該処理を最下流のリーフノードである受信ＰＥノード迄パスメッセージが到達するまで繰り返し、P2MP LSP経路上のノードにPathステートを登録して、全受信リーフＰＥノードがパスメッセージを受信すると、受信リーフＰＥノードは、自身がP2MP LSPのリーフエッジノードであることを判定し、該受信ノードが要求されたP2MP LSPを設定可能な場合には、“Resvステート”を登録後、該受信ノードが上流ノードよりP2MPトラヒックをラベル転送受信するために使用するラベル値を自ノードのラベル空間より付与し、さらに、P2MP LSP内データフォワーディングを可能にするために、ラベル交換関係をＩＬＭテーブル、ＮＨＬＦＥテーブルに登録する処理を行い、さらに、上流に付与したラベル値とLABELオブジェクトに、P2MP LSPの設定経路情報を示すRROオブジェクトに自身のノードアドレスを格納して、さらに、SESSIONオブジェクトにP2MP_LSP_id識別子、シーケンス番号０番とEndビットを設定して格納し、それらをResvメッセージに格納し、パスメッセージが転送された上流のＰＨＯＰノードにResvメッセージを即座に送信する処理を行い、
前記ＰＨＯＰノードは、前記Resvメッセージを初めて受信した場合には、該Resvメッセージに対応する、下流ノードに対して設定されたP2MP LSPの転送経路記録を表すRRO情報、下流ノードにP2MPトラヒックを転送する場合にパケットに付与すべきラベル値を含む“Resvステート”を登録する処理を行い、
前記“Resvステート”登録後、前記ＰＨＯＰノードは、さらに上流のＰＨＯＰノードとの間でP2MPトラヒックをラベル転送受信するために使用するラベル値を自ノードのラベル空間より付与し、P2MP LSP内のP2MPデータフォワーディングを可能にするために、ラベル交換関係を前記ＩＬＭテーブル及び前記ＮＨＬＦＥテーブルに登録する処理を行い、
さらに上流に付与したラベル値とP2MP LSPの設定経路情報をＲＲＯに自身のノードアドレスを先頭に付与し、さらに、P2MPセッションオブジェクトには、P2MP_LSP_idと、初めてのResvメッセージを示すシーケンス番号０番を付与し、さらに、当該ノードの下流に既に複数のパスメッセージを送出している場合には、Endビットを設定せずに、当該下流ノードに対して単一のパスメッセージしか送信していない場合には、Endビットを設定して、それらをResvメッセージに格納して、上流のＰＨＯＰノードにResvメッセージとして即座に転送する処理を行い、
さらに、当該ノードが複数の下流ノードを持ち、同一の設定対象のP2MP LSPの異なる下流ノードから初期のResvメッセージ以外のResvメッセージを受信すると、Resvメッセージのセッション情報により既設定済みの“Resvステート”を検索し、既に登録されたResvステート情報に当該対応する、下流ノードに対して設定されたP2MP LSPの転送経路記録であるRRO情報を含む追加情報を追加登録する処理を行い、
前記Resvメッセージを受信したノードは、
登録されたResvステート情報より設定すべきP2MP LSPの上流のＰＨＯＰのＬＳＰが設定されていることを判定すると、上流に付与されたＭＰＬＳラベルを特定する処理を行い、
さらに、対象とするP2MP LSPに対して新たに受信したResv方路に対して新規にP2MP LSPのＭＰＬＳフォワーディングを可能にするために、既に設定されている前記ＩＬＭテーブルと前記ＮＨＬＦＥテーブルに対して、上流に付与したラベルを該ＩＬＭテーブルから特定し、そのエントリである該ＮＨＬＦＥテーブルに受信したResvメッセージから特定した下流ＭＰＬＳ転送用のラベル値を新エントリとして新規に登録する処理を行い、
さらに、先に抽出した上流ＰＨＯＰに使用するＭＰＬＳラベル値と、当該ノード配下に設定された設定ツリー情報を記録するために、新規に受信した方路配下に設定されたツリーベースのＲＲＯ情報に当該ノードアドレス情報を先頭に付与することにより、新たに設定された部分ツリー情報をＲＲＯ情報として加工する処理を行い、
前記加工されたＲＲＯ情報をResvステート情報に追加登録する処理を行い、
さらに、既に設定されており、上流のラベル転送に使用されるＭＰＬＳラベル値を特定して、一緒にResvメッセージに格納する処理を行い、
前記Resvメッセージを設定されたツリーの状態変化（新規部分P2MP LSP追加）を通知するために上流のＰＨＯＰノードに瞬時に転送する処理を行い、
前記Resvメッセージを上流に通知する場合、２番目以降の下流ノードへの設定情報を通知する場合には、先に送付した一番のResvメッセージのP2MPセッション情報のP2MP_LSP_idを保持し、そのシーケンス番号を１増加させて通知する処理を行い、
前記Resvメッセージが当該ノードから下流に設定した最後のP2MP経路のResvメッセージである場合には、当該Resvメッセージを上流のＰＨＯＰに通知するときに、シーケンス番号を１増加させるのみならず、Endビットも設定して送出する処理を行い、
前記Resvメッセージを受信したノードは、
設定すべきP2MP LSPに対して初めてResvメッセージを受信した場合には、新規にResvステート情報を登録する処理を行い、
さらに、上流のＰＨＯＰとの間でラベル転送に使用するＭＰＬＳラベルを自身のラベル空間から抽出し、さらに、ＭＰＬＳラベル転送を可能にするためにフォワーディング部分の前記ＩＬＭテーブルと前記ＮＨＬＦＥテーブルにラベル交換関係を新規に登録し、さらに上流とのラベル転送に使用するラベル値と、さらに自身のノードアドレスを経路登録情報ＲＲＯに追加する処理を行い、
さらに、前記ラベル値と修正されたＲＲＯ情報をResvメッセージに格納して上流のＰＨＯＰに対して瞬時に転送する処理を行い、
さらに、当該受信ノードが、既に別の下流ノードよりResvメッセージを受信してResv処理を上流へのResvメッセージ送信を完了して部分P2MP LSPを設定している場合、新たに設定されたP2MP LSPに対して、別の下流の方路よりResvメッセージを受信した場合には、登録されているResvステート情報より対応するResvステート情報を特定し、新規追加設定した下流部分P2MP LSP経路を示すＲＲＯ情報をResvメッセージにより抽出し、Resvステート情報に登録されている既設定されているＲＲＯ情報を修正し、追加設定し、同時に、上流のラベル転送に付与されているＭＰＬＳラベルを特定し、先の新規追加に対応するＲＲＯをResvメッセージに格納し、この新規追加部分が当該ノードの下流経路の最終経路である場合には、P2MPセッションオブジェクトのEndビットを設定して即座に上流のＰＨＯＰに対して転送する処理を行い、
上記の処理を設定すべきP2MP LSPの全てのノードでResvメッセージが送信ＰＥノード迄到達するまで繰り返し、
前記送信ＰＥノードは、設定すべきP2MP LSPに対して初めてResvメッセージを受信した場合には、Resvメッセージより下流のＭＰＬＳラベル転送に必要なラベル値を抽出するのと同時に、設定された下流の経路情報ＲＲＯを抽出し、Resvステート情報に登録する処理を行い、
さらに、設定されたP2MP LSPに対してＭＰＬＳフォワーディングを可能にするために、入ＰＥのＦＴＮテーブル及び、ＮＨＬＦＥテーブルにラベル転送関係を登録する処理を行い、
さらに、前記送信ＰＥノードは、異なる下流ノードから設定すべきP2MP LSPに対するResvメッセージを受信した場合には、登録された対応するResvステート情報を特定し、新規に追加された下流の部分P2MP LSPに対応するＲＲＯ情報を抽出し、登録されているＲＲＯ情報に追加修正し、現段階での既設定ツリー登録情報となるように加工修正すると同時に、ＭＰＬＳフォワーディングを可能にするために前記ＦＴＮテーブル及び、前記ＮＨＬＦＥテーブルに新規に追加された部分ツリー向けのラベル交換関係を追記する処理を行い、
前記送信ＰＥノードは、パスメッセージとして設定したP2MP LSPに対して、ＭＰＬＳシグナリングを用いて当該送信ＰＥノードから、複数の受信ＰＥノードまで、全てのP2MP LSPを構成するノードに対して、P2MPのラベル交換関係を設定すると、受信したパケットを設定したP2MP LSPに従って、当該送信ＰＥノードから複数の受信ＰＥノードまでP2MPベースでラベルスイッチングする処理を行い、
P2MP LSP確立後は、ノード間の“Pathステート”と“Resvステート”との周期的なリフレッシュ用のPath・Resvメッセージの交換により、周期的なリフレッシュにおいては、上流ノードと下流ノードの間で下流ノード配下に複数の受信リーフＰＥノードが存在する場合には、受信リーフＰＥノード分の複数のPath・Resvメッセージの交換で、単一のPath・Resvメッセージが設定されているP2MP LSPの部分状態の保持・交換を実施する処理を行い、
最終情報がPath・Resvメッセージと共にEndビットが設定されることにより最終状態の交換を行う処理を行うことにより、状態メインテナンスを実行する処理を行うことを特徴とするポイントツーマルチポイントＭＰＬＳ通信方法。
【請求項２】
前記送信ＰＥノードにおいて、
既に設定されたP2MP LSPに部分P2MP LSPを設定する場合に、
初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち、受信リーフＰＥノードまでのEROによって経路を指示し、当該追加P2MP LSPの部分経路であるEROの宛先までの集合｛ERO｝ｓを部分追加用のERO（Graft）情報として、既設定されたP2MPセッションオブジェクトで指定されている同一のP2MP_LSP_idを用いて、ERO情報が複数ある場合には、先に設定されたP2MP LSPの最終部分ツリーを構成するＰ２Ｐ経路用に指定された、最終シーケンス番号を１増加させて、最初の部分追加用のERO情報を含むパスメッセージに追加して、当該修正されたP2MPセッション情報と新規のERO情報を含むパスメッセージを送出する処理と、
前記部分追加用のERO情報を含むパスメッセージをP2MPセッションオブジェクトのP2MP_LSP_idを保持しながら、シーケンス番号を１ずつインクリメントして、部分追加用の最終ERO情報になるまで、隣接下流ノードに送出する処理と、
さらに、最終ERO情報となると、最終シーケンス番号に前記パスメッセージがP2MP LSPの最終状態要素であることを通知するEndビットを設定して該パスメッセージを近接下流ノードに送付する処理と、
前記パスメッセージを受信した前記下流近接ノードにおいて、
受信した前記パスメッセージが、既に受信したパスメッセージが保持する、P2MP_LSP_idに対して、より大きなシーケンス番号を含むことを検出することにより、当該パスメッセージが新規のパスメッセージであることを特定する場合には、P2MP LSPを設定する処理に応じて、新規の受信したパスメッセージ群のみを下流隣接ノードに即座に転送して、P2MP LSPを設定する処理と、
前記パスメッセージを受信したノードにおいて、
受信パスメッセージが、同一のP2MP_LSP_idを保持し、既に設定されたシーケンス番号以下のシーケンス番号を持つ場合には、当該パスメッセージの情報内容が登録されたPathステート情報と比較して、その情報要素に変化がない場合には、周期的なパスメッセージのメインテナンス状態に移行する処理と、
抽出したセッション情報に変化がある場合には、セッション情報の変化を反映すべき経路に対してパスメッセージを即座に転送する処理と、
即座に転送された前記パスメッセージを受信したリーフＰＥノードにおいて、
上流のとのＰＨＯＰとのＭＰＬＳ転送に使用するラベル付与、自身のノードの“Resvステート”の更新、ラベル交換関係の更新を実施する処理からなる追加処理を行う請求項１記載のポイントツーポイントＭＰＳＬ通信方法。
【請求項３】
前記送信ＰＥノードにおいて、
既に設定されたP2MPから部分P2MP LSPを削除する場合に、
既設定された経路情報{ERO}ｓ集合から部分P2MP LSPとして削除する部分に対応するP2MPツリーに対応する削除対象経路{ERO}ｓ集合を特定する処理と、
削除対象の部分P2MP LSPに対応する{ERO}ｓ集合を新たにPathTearメッセージに拡張・格納する処理と、
拡張・格納されたPathTearメッセージのP2MPセッション情報には、P2MP＿ＬＳＰ＿ｉｄを保持して、削除対象の部分Ｐ２ＰＬＳＰに対応する既設定のERO情報に対応するシーケンス番号を格納されているPathステート情報より抽出し、P2MPセッション情報に格納し、PathTearメッセージに格納する処理と、
削除対象のP2MP転送経路を下流に備える隣接下流ノードに前記PathTearメッセージを送出する処理と、
前記パスメッセージを受信した下流ノードにおいて、
受信した前記PathTearメッセージのP2MPセッション情報より、既に設定されているPathステート情報に格納されている削除対象部分P2MP LSPを含むP2MP LSPを特定し、該パステート情報より、削除対象の部分ツリー情報に対応するERO情報を削除する処理と、
前記対応するERO情報を削除したノードにおいて、
PathTearメッセージに含まれる、ERO情報から自ノードアドレス情報を削除して、新たに下流方向の削除対象ルートを指定するERO情報に変更する処理と、
変更したERO情報を先に指定された、同一のP2MPセッション情報を持つPathTearメッセージに格納しなおし、隣接する下流ノードに対して即座に転送する処理と、
前記PathTearメッセージの送出により、下流ノードにおける削除対象のP2MP部分ＬＳＰを構成するPathステート情報を削除する処理と、
前記PathTearメッセージを削除対象の部分P2MP LSPの受信リーフＰＥノードに到達させる処理と、
当該複数のPathTearメッセージが削除対象の部分P2MP LSPの全受信リーフＰＥノードに到達することで、全削除対象の部分P2MP LSPを削除する処理と、からなる削除処理を行う請求項１記載のポイントツーマルチポイントＭＰＳＬ通信方法。
【請求項４】
前記送信ＰＥノードにおいて、
既に設定されたP2MP LSPに部分P2MP LSPを設定する場合に、
初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち、受信リーフＰＥノードまでのEROによって経路を指示し、当該追加P2MP LSPの部分経路であるEROの宛先までの集合｛ERO｝ｓを部分追加用のERO（Graft）情報として、既設定されたP2MPセッションオブジェクトで指定されている同一のP2MP_LSP_idを用いて、ERO情報が複数ある場合には、先に設定されたP2MP LSPの最終部分ツリーを構成するＰ２Ｐ経路用に指定された、最終シーケンス番号を１増加させて、最初の部分追加用のERO情報を含むパスメッセージに追加して、当該修正されたP2MPセッション情報、と新規のERO情報を含むパスメッセージを送出する処理と、
前記部分追加用のERO情報を含むパスメッセージをP2MPセッションオブジェクトのP2MP_LSP_idを保持しながら、シーケンス番号を１ずつインクリメントして、部分追加用の最終ERO情報になるまで、隣接下流ノードに送出する処理と、
さらに、最終ERO情報となると、最終シーケンス番号に前記パスメッセージがP2MP LSPの最終状態要素であることを通知するEndビットを設定して該パスメッセージを近接下流ノードに送付する処理と、
前記パスメッセージを受信した前記下流近接ノードにおいて、
受信した前記パスメッセージが、既に受信したパスメッセージが保持する、P2MP_LSP_idに対して、より大きなシーケンス番号を含むことを検出することにより、当該パスメッセージが新規のパスメッセージであることを特定する場合には、P2MP LSPを設定する処理に応じて、新規の受信したパスメッセージ群のみを下流隣接ノードに即座に転送して、P2MP LSPを設定する処理と、
前記パスメッセージを受信したノードにおいて、
受信パスメッセージが、同一のP2MP_LSP_idを保持し、既に設定されたシーケンス番号以下のシーケンス番号を持つ場合には、当該パスメッセージの情報内容が登録されたPathステート情報と比較して、その情報要素に変化がない場合には、周期的なパスメッセージのメインテナンス状態に移行する処理と、
抽出したセッション情報に変化がある場合には、セッション情報の変化を反映すべき経路に対してパスメッセージを即座に転送する処理と、
即座に転送された前記パスメッセージを受信したリーフＰＥノードにおいて、
上流のとのＰＨＯＰとのＭＰＬＳ転送に使用するラベル付与、自身のノードの“Resvステート”の更新、ラベル交換関係の更新を実施する処理からなるP2MP LSPの追加処理と、
既に設定されたP2MPから部分P2MP LSPを削除する場合に、
既設定された経路情報{ERO}ｓ集合から部分P2MP LSPとして削除する部分に対応するP2MPツリーに対応する削除対象経路{ERO}ｓ集合を特定する処理を行い、
削除対象の部分P2MP LSPに対応する{ERO}ｓ集合を新たにPathTearメッセージに拡張格納する処理と、
拡張格納されたPathTearメッセージのP2MPセッション情報には、P2MP_LSP_idを保持して、削除対象の部分P２PLSPに対応する既設定のERO情報に対応するシーケンス番号を格納されているPathステート情報より抽出し、P2MPセッション情報に格納し、PathTearメッセージに格納する処理と、
削除対象のP2MP転送経路を下流に備える隣接下流ノードにおいて、
前記PathTearメッセージを送信ＰＥノードが送出する処理と、
前記パスメッセージを受信した下流ノードにおいて、
受信した前記PathTearメッセージのP2MPセッション情報より、既に設定されているPathステート情報に格納されている削除対象部分P2MP LSPを含むP2MP LSPを特定し、該パステート情報より、削除対象の部分ツリー情報に対応するERO情報を削除する処理と、
前記対応するERO情報を削除したノードにおいて、
PathTearメッセージに含まれる、ERO情報から自ノードアドレス情報を削除して、新たに下流方向の削除対象ルートを指定するERO情報に変更する処理と、
変更したERO情報を先に指定された、同一のP2MPセッション情報を持つPathTearメッセージに格納しなおし、隣接する下流ノードに対して即座に転送する処理と、
前記PathTearメッセージの送出により、下流ノードにおける削除対象のP2MP部分ＬＳＰを構成するPathステート情報を削除する処理と、
前記PathTearメッセージを削除対象の部分P2MP LSPの受信リーフＰＥノードに到達させる処理と、
当該複数のPathTearメッセージが削除対象の部分P2MP LSPの全受信リーフＰＥノードに到達することで、全削除対象の部分P2MP LSPを削除する処理と、からなるP2MP LSPの削除処理と、
を同時に行う請求項１記載のポイントツーマルチポイントＭＰＬＳ通信方法。
【請求項５】
複数のパスメッセージを受信した中間ノードが、該複数のパスメッセージに含まれるＴERO情報から次ホップ集合情報を特定するときに、次ホップ情報にLoose指定されているアドレス情報が含まれている場合、該Loose指定されているアドレスグループに対してP2MPのツリーベースのＬＳＰ拡張を可能にする処理を行う請求項１乃至４記載のポイントツーマルチポイントＭＰＳＬ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポイントツーマルチポイントＭＰＬＳ通信方法に係り、特に、ＭＰＬＳ転送技術における、P2MPコミュニケーション用のトラヒックをネットワークで効率的にＴＥ(Traffic Engineering)しながら、ＱｏＳ(Quality of Service)保証してＭＰＬＳ転送するためのマルチポイントＭＰＬＳ技術の、ポイントツーマルチポイントＭＰＬＳ転送経路を設定するＭＰＬＳ通信プロトコル技術及びそのシステム化技術のためのポイントツーマルチポイントＭＰＬＳ通信方法に関する。
【背景技術】
【０００２】
ＭＰＬＳ（マルチプロトコルラベルスイッチング）のシグナリングプロトコルとしては、ＲＳＶＰ(Resource ReSerVation Protocol)−ＴＥがあり、Ｐ２ＰのＬＳＰを設定するＭＰＬＳシグナリングプロトコルがある（例えば、非特許文献１参照）。
【非特許文献１】“RSVP-TE: Extensions to RSVP for LSP Tunnels”,RFC3209, IETF
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ＲＳＶＰ−ＴＥは、Ｐ２Ｐ（ポイントツーポイント）のＬＳＰ（ラベルスイッチングパス）を設定するＭＰＬＳシグナリングプロトコルであるため、P2MP（ポイントツーマルチポイント）のコミュニケーショントラヒックを転送しようとすると、送信ＰＥ（プロバイダエッジ）ノードでP2MPコミュニケーションの宛先である複数の受信ＰＥノード迄Ｐ２ＰのＬＳＰを複数本設定して、送信ＰＥノードで受信トラヒックをコピーし、複数の設定されたＰ２ＰのＬＳＰにコピーして載せ替える必要が生じるため、送信ＰＥノードでのコピー性能を圧迫し、ネットワークの転送効率を下げる問題がある。
【０００４】
本発明は、上記の点に鑑みなされたもので、ＲＳＶＰ−ＴＥのＭＰＬＳシグナリングプロトコルを拡張して、プロバイダネットワーク内の最適な分岐ポイントでP2MPトラヒックをコピー可能でネットワーク全体で最適なP2MPトラヒックのコピーが可能となるポイントツーマルチポイントＭＰＬＳ通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、マルチプロトコルラベルスイッチング（ＭＰＬＳ）通信ネットワークにおいて、ＭＰＬＳネットワークの境界に配置されたプロバイダエッジ（ＰＥ）ノードがＩＰマルチキャストトラヒックを含むポイントツーマルチポイント（P2MP）コミュニケーショントラヒックを複数該境界に配置されたプロバイダエッジ（ＰＥ）ノードまでＭＰＬＳ転送するポイントツーマルチポイントＭＰＬＳ通信方法において、
送信ＰＥノードが、複数の受信ＰＥノードまで、ＭＰＬＳシグナリングプロトコルを用いてプロバイダエッジ内の複数の中継ノードにコピーポイントを設置してP2MPのツリー形状のラベルスイッチパス（ＬＳＰ）を設定することでＭＰＬＳ転送経路を設定する処理を行い、
P2MPのツリー形状のラベルスイッチングパス（P2MP LSP）を設定するときに、マルチプロトコルラベルスイッチング（ＭＰＬＳ）プロトコルであるＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）をベースにして、P2MPトラヒックのP2MPセッションを識別するために、P2MP LSPの送信ＰＥアドレスとトンネル識別子、さらに、該トンネル識別子の拡張としてP2MPトンネル識別子、シーケンス番号で構成されるP2MPセッションオブジェクトを定義し、
さらに、ＰＥノードは、
P2MP LSP形状を指定するために、設定対象のP2MP LSPの送信ＰＥから複数の受信リーフＰＥノードまでのツリー状の経路を送信ＰＥノードから各受信ＰＥノード迄のポイントツーポイント（Ｐ２Ｐ）のＭＰＬＳ転送経路で分解する処理を行い、
分解した、Ｐ２Ｐ経路をＲＳＶＰ−ＴＥ（ＲＦＣ３２０９）で定義されたＰ２Ｐの転送経路指示オブジェクトであるEROオブジェクトにより経路指定する処理を行い、
P2MP LSPを設定する時に、送信ＰＥノードが外部からのP2MP LSP経路指示、または、内部のＩＰルーティングプロトコルのトラヒックエンジニアリング拡張機能との連携により送信ＰＥ間と複数の受信ＰＥノード間の設定すべきP2MP LSP経路計算を行うことにより、設定すべきP2MP LSP経路を把握したときに、ツリー経路をＰ２Ｐ経路に分解する手段により、P2MP LSP設定経路に変換する処理を行い、
送信ＰＥノードは、P2MP LSP設定時にパスメッセージとして共通ヘッダ、定義したP2MPセッションオブジェクトに設定対象のP2MPツリーを指定するP2MP_LSP_idとそのツリー形式のために必要となる複数のメッセージの送出番号を指定するシーケンス番号を０に指定し、RSVP_HOPオブジェクト、TIME_VALUESオブジェクト、分解した第１のＰ２Ｐ経路を指定するEROオブジェクト、LABEL_REQUESTオブジェクト、SENDERオブジェクト、SENDER_TEMPLATEオブジェクト、SENDER_TSPECオブジェクトを含んだパスメッセージを送信ＰＥノードから設定すべきP2MP LSPを構成する最隣接する下流ノードに送出する処理を行い、
送信ＰＥノードは、設定すべきP2MPのツリー状の経路が複数のＰ２Ｐ経路で設定されて、第１のＰ２Ｐ経路以外にもＰ２Ｐ経路が複数存在する場合には、第２のＰ２Ｐ経路を指定するEROを用意して、パスメッセージとして共通ヘッダ、定義したP2MPセッションオブジェクトに設定対象のP2MPツリーを指定するP2MP_LSP_idとそのツリー形式のために必要となるシーケンス番号を１に指定し、RSVP_HOPオブジェクト、TIME_VALUESオブジェクト、分解した第２のＰ２Ｐ経路を指定するEROオブジェクト、LABEL_REQUESTオブジェクト、SENDER_TEMPLATEオブジェクト、SENDER_TSPECオブジェクトを含んだパスメッセージを送信ＰＥノードから設定すべきP2MP LSPを構成する最隣接する下流ノードに送出する処理を行い、
送信ＰＥノードは、上記の手順をP2MPのツリー状の経路を構成する最終Ｐ２Ｐ経路まで設定を繰り返し、最終Ｐ２Ｐ経路を指定するEROを用意して、パスメッセージとして共通ヘッダ、定義したP2MPセッションオブジェクトに設定対象のP2MPツリーを指定するP2MP_LSP_idとそのツリー形成のために必要となるシーケンス番号に（繰り返し番号―１）、さらに、Ｅｎｄ指定ビットを設定し、該パスメッセージが最終パスメッセージであることを指定し、RSVP_HOPオブジェクト、TIME_VALUESオブジェクト、分解した最終のＰ２Ｐ経路を指定するEROオブジェクト、LABEL_REQUESTオブジェクト、SENDER_TEMPLATEオブジェクト、SENDER_TSPECオブジェクトを含んだパスメッセージ送信ＰＥノードから設定すべきP2MP LSPを構成する最隣接する下流ノードに送出する処理を行い、
パスメッセージを受信した下流ノードは、
その登録されているPathステート情報を検索し、該パスメッセージが新規受信パスメッセージである場合、パスメッセージよりセッション情報を抽出し、設定要求のパスが設定可能な場合には、Pathステート情報として新たに登録する処理を行い、
さらに、パスメッセージよりP2MP LSPの部分Ｐ２Ｐ経路として設定すべきEROを抽出し、さらに、ERO情報から自身のノードアドレスの次のホップとして定義されている下流次ホップアドレスを抽出する処理を行い、
パスメッセージを受信した下流ノードは、
上流ノードが複数のパスメッセージを送出するときには、該受信パスメッセージより、該パスメッセージが同一のP2MPセッションに対してのP2MP LSP経路設定要求メッセージであることを判定し、該パスメッセージが格納しているERO情報により次に設定すべきP2MP LSPの部分Ｐ２Ｐ経路をEROとして抽出し、さらに、該ERO情報から自身のノードアドレスの次のホップとして定義されている下流次ホップアドレスを抽出する処理を行い、
パスメッセージを受信する下流ノードは上流からのパスメッセージのP2MPセッションオブジェクトにP2MP設定経路の最終部分Ｐ２Ｐ経路設定用のパスメッセージであることを指示するEndビット設定のパスメッセージを受信するまで、上記の処理を繰り返し、Endビットが設定されている最終パスメッセージを受信すると、上記と同様に、そのパスメッセージを保持する、最終Ｐ２Ｐ経路をEROとして抽出する処理と同時に、次ホップアドレスを特定する処理を行い、
さらに、各ERO情報から抽出した次ホップ情報を抽出すると同時に自身のノードアドレスを各ERO情報から削除し、次ホップアドレスが各ERO情報の先頭格納情報となるようにERO情報を整形する処理、さらに、共通の次ホップアドレスグループが複数存在する場合には、同一の次ホップアドレスを持つERO情報をグルーピングする処理を行い、
上記の処理の後に、次ホップに対応する下流ノード毎に当該下流ノードを宛先にする再度グルーピングされたパスメッセージを該下流ノード配下の部分P2MP LSPを指定する再構築されたERO情報を格納して下流の次ホップノードに上記の同一のP2MP_LSP_id情報に対してシーケンス番号を付与して、最終パスメッセージについては、Endビットを設定して送出する処理を行い、
Pathステート情報の登録、パスメッセージの再グルーピング化とグループ毎のシーケンス番号を指定した次下流ノードへの転送を繰り返し、当該処理を最下流のリーフノードである受信ＰＥノード迄パスメッセージが到達するまで繰り返し、P2MP LSP経路上のノードにPathステートを登録して、全受信リーフＰＥノードがパスメッセージを受信すると、受信リーフＰＥノードは、自身がP2MP LSPのリーフエッジノードであることを判定し、該受信ノードが要求されたP2MP LSPを設定可能な場合には、“Resvステート”を登録後、該受信ノードが上流ノードよりP2MPトラヒックをラベル転送受信するために使用するラベル値を自ノードのラベル空間より付与し、さらに、P2MP LSP内データフォワーディングを可能にするために、ラベル交換関係をＩＬＭテーブル、ＮＨＬＦＥテーブルに登録する処理を行い、さらに、上流に付与したラベル値とLABELオブジェクトに、P2MP LSPの設定経路情報を示すRROオブジェクトに自身のノードアドレスを格納して、さらに、SESSIONオブジェクトにP2MP_LSP_id識別子、シーケンス番号０番とEndビットを設定して格納し、それらをResvメッセージに格納し、パスメッセージが転送された上流のＰＨＯＰノードにResvメッセージを即座に送信する処理を行い、
ＰＨＯＰノードは、Resvメッセージを初めて受信した場合には、該Resvメッセージに対応する、下流ノードに対して設定されたP2MP LSPの転送経路記録を表すRRO情報、下流ノードにP2MPトラヒックを転送する場合にパケットに付与すべきラベル値を含む“Resvステート”を登録する処理を行い、
“Resvステート”登録後、ＰＨＯＰノードは、さらに上流のＰＨＯＰノードとの間でP2MPトラヒックをラベル転送受信するために使用するラベル値を自ノードのラベル空間より付与し、P2MP LSP内のP2MPデータフォワーディングを可能にするために、ラベル交換関係をＩＬＭテーブル及びＮＨＬＦＥテーブルに登録する処理を行い、
さらに上流に付与したラベル値とP2MP LSPの設定経路情報をＲＲＯに自身のノードアドレスを先頭に付与し、さらに、P2MPセッションオブジェクトには、P2MP_LSP_idと、初めてのResvメッセージを示すシーケンス番号０番を付与し、さらに、当該ノードの下流に既に複数のパスメッセージを送出している場合には、Endビットを設定せずに、当該下流ノードに対して単一のパスメッセージしか送信していない場合には、Endビットを設定して、それらをResvメッセージに格納して、上流のＰＨＯＰノードにResvメッセージとして即座に転送する処理を行い、
さらに、当該ノードが複数の下流ノードを持ち、同一の設定対象のP2MP LSPの異なる下流ノードから初期のResvメッセージ以外のResvメッセージを受信すると、Resvメッセージのセッション情報により既設定済みの“Resvステート”を検索し、既に登録されたResvステート情報に当該対応する、下流ノードに対して設定されたP2MP LSPの転送経路記録であるRRO情報を含む追加情報を追加登録する処理を行い、
Resvメッセージを受信したノードは、
登録されたResvステート情報より設定すべきP2MP LSPの上流のＰＨＯＰのＬＳＰが設定されていることを判定すると、上流に付与されたＭＰＬＳラベルを特定する処理を行い、
さらに、対象とするP2MP LSPに対して新たに受信したResv方路に対して新規にP2MP LSPのＭＰＬＳフォワーディングを可能にするために、既に設定されているＩＬＭテーブルとＮＨＬＦＥテーブルに対して、上流に付与したラベルを該ＩＬＭテーブルから特定し、そのエントリである該ＮＨＬＦＥテーブルに受信したResvメッセージから特定した下流ＭＰＬＳ転送用のラベル値を新エントリとして新規に登録する処理を行い、
さらに、先に抽出した上流ＰＨＯＰに使用するＭＰＬＳラベル値と、当該ノード配下に設定された設定ツリー情報を記録するために、新規に受信した方路配下に設定されたツリーベースのＲＲＯ情報に当該ノードアドレス情報を先頭に付与することにより、新たに設定された部分ツリー情報をＲＲＯ情報として加工する処理を行い、
加工されたＲＲＯ情報をResvステート情報に追加登録する処理を行い、
さらに、既に設定されており、上流のラベル転送に使用されるＭＰＬＳラベル値を特定して、一緒にResvメッセージに格納する処理を行い、
Resvメッセージを設定されたツリーの状態変化（新規部分P2MP LSP追加）を通知するために上流のＰＨＯＰノードに瞬時に転送する処理を行い、
Resvメッセージを上流に通知する場合、２番目以降の下流ノードへの設定情報を通知する場合には、先に送付した一番のResvメッセージのP2MPセッション情報のP2MP_LSP_idを保持し、そのシーケンス番号を１増加させて通知する処理を行い、
Resvメッセージが当該ノードから下流に設定した最後のP2MP経路のResvメッセージである場合には、当該Resvメッセージを上流のＰＨＯＰに通知するときに、シーケンス番号を１増加させるのみならず、Endビットも設定して送出する処理を行い、
Resvメッセージを受信したノードは、
設定すべきP2MP LSPに対して初めてResvメッセージを受信した場合には、新規にResvステート情報を登録する処理を行い、
さらに、上流のＰＨＯＰとの間でラベル転送に使用するＭＰＬＳラベルを自身のラベル空間から抽出し、さらに、ＭＰＬＳラベル転送を可能にするためにフォワーディング部分のＩＬＭテーブルとＮＨＬＦＥテーブルにラベル交換関係を新規に登録し、さらに上流とのラベル転送に使用するラベル値と、さらに自身のノードアドレスを経路登録情報ＲＲＯに追加する処理を行い、
さらに、ラベル値と修正されたＲＲＯ情報をResvメッセージに格納して上流のＰＨＯＰに対して瞬時に転送する処理を行い、
さらに、当該受信ノードが、既に別の下流ノードよりResvメッセージを受信してResv処理を上流へのResvメッセージ送信を完了して部分P2MP LSPを設定している場合、新たに設定されたP2MP LSPに対して、別の下流の方路よりResvメッセージを受信した場合には、登録されているResvステート情報より対応するResvステート情報を特定し、新規追加設定した下流部分P2MP LSP経路を示すＲＲＯ情報をResvメッセージにより抽出し、Resvステート情報に登録されている既設定されているＲＲＯ情報を修正し、追加設定し、同時に、上流のラベル転送に付与されているＭＰＬＳラベルを特定し、先の新規追加に対応するＲＲＯをResvメッセージに格納し、この新規追加部分が当該ノードの下流経路の最終経路である場合には、P2MPセッションオブジェクトのEndビットを設定して即座に上流のＰＨＯＰに対して転送する処理を行い、
上記の処理を設定すべきP2MP LSPの全てのノードでResvメッセージが送信ＰＥノード迄到達するまで繰り返し、
送信ＰＥノードは、設定すべきP2MP LSPに対して初めてResvメッセージを受信した場合には、Resvメッセージより下流のＭＰＬＳラベル転送に必要なラベル値を抽出するのと同時に、設定された下流の経路情報ＲＲＯを抽出し、Resvステート情報に登録する処理を行い、
さらに、設定されたP2MP LSPに対してＭＰＬＳフォワーディングを可能にするために、入ＰＥのＦＴＮテーブル及び、ＮＨＬＦＥテーブルにラベル転送関係を登録する処理を行い、
さらに、送信ＰＥノードは、異なる下流ノードから設定すべきP2MP LSPに対するResvメッセージを受信した場合には、登録された対応するResvステート情報を特定し、新規に追加された下流の部分P2MP LSPに対応するＲＲＯ情報を抽出し、登録されているＲＲＯ情報に追加修正し、現段階での既設定ツリー登録情報となるように加工修正すると同時に、ＭＰＬＳフォワーディングを可能にするためにＦＴＮテーブル及び、ＮＨＬＦＥテーブルに新規に追加された部分ツリー向けのラベル交換関係を追記する処理を行い、
送信ＰＥノードは、パスメッセージとして設定したP2MP LSPに対して、ＭＰＬＳシグナリングを用いて当該送信ＰＥノードから、複数の受信ＰＥノードまで、全てのP2MP LSPを構成するノードに対して、P2MPのラベル交換関係を設定すると、受信したパケットを設定したP2MP LSPに従って、当該送信ＰＥノードから複数の受信ＰＥノードまでP2MPベースでラベルスイッチングする処理を行い、
P2MP LSP確立後は、ノード間の“Pathステート”と“Resvステート”との周期的なリフレッシュ用のPath・Resvメッセージの交換により、周期的なリフレッシュにおいては、上流ノードと下流ノードの間で下流ノード配下に複数の受信リーフＰＥノードが存在する場合には、受信リーフＰＥノード分の複数のPath・Resvメッセージの交換で、単一のPath・Resvメッセージが設定されているP2MP LSPの部分状態の保持・交換を実施する処理を行い、
最終情報がPath・Resvメッセージと共にEndビットが設定されることにより最終状態の交換を行う処理を行うことにより、状態メインテナンスを実行する処理を行う。
【０００６】
また、本発明は、送信PEノードにおいて、既に設定されたP2MP LSPに部分P2MP LSPを設定する場合に、
初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち、受信リーフＰＥノードまでのEROによって経路を指示し、当該追加P2MP LSPの部分経路であるEROの宛先までの｛ERO｝ｓ集合を部分追加用のERO（Graft）情報として、既設定されたP2MPセッションオブジェクトで指定されている同一のP2MP_LSP_idを用いて、ERO情報が複数ある場合には、先に設定されたP2MP LSPの最終部分ツリーを構成するＰ２Ｐ経路用に指定された、最終シーケンス番号を１増加させて、最初の部分追加用のERO情報を含むパスメッセージに追加して、当該修正されたP2MPセッション情報と新規のERO情報を含むパスメッセージを送出する処理と、
部分追加用のERO情報を含むパスメッセージをP2MPセッションオブジェクトのP2MP_LSP_idを保持しながら、シーケンス番号を１ずつインクリメントして、部分追加用の最終ERO情報になるまで、隣接下流ノードに送出する処理と、
さらに、最終ERO情報となると、最終シーケンス番号にパスメッセージがP2MP LSPの最終状態要素であることを通知するEndビットを設定して該パスメッセージを近接下流ノードに送付する処理と、
パスメッセージを受信した下流近接ノードにおいて、
受信したパスメッセージが、既に受信したパスメッセージが保持する、P2MP_LSP_idに対して、より大きなシーケンス番号を含むことを検出することにより、当該パスメッセージが新規のパスメッセージであることを特定する場合には、P2MP LSPを設定する処理に応じて、新規の受信したパスメッセージ群のみを下流隣接ノードに即座に転送して、P2MP LSPを設定する処理と、
パスメッセージを受信したノードにおいて、
受信パスメッセージが、同一のP2MP_LSP_idを保持し、既に設定されたシーケンス番号以下のシーケンス番号を持つ場合には、当該パスメッセージの情報内容が登録されたPathステート情報と比較して、その情報要素に変化がない場合には、周期的なパスメッセージのメインテナンス状態に移行する処理と、
抽出したセッション情報に変化がある場合には、セッション情報の変化を反映すべき経路に対してパスメッセージを即座に転送する処理と、
即座に転送されたパスメッセージを受信したリーフＰＥノードにおいて、
上流のとのＰＨＯＰとのＭＰＬＳ転送に使用するラベル付与、自身のノードの“Resvステート”の更新、ラベル交換関係の更新を実施する処理と、からなる追加処理を行う。
【０００７】
また、本発明は、既に設定されたP2MPから部分P2MP LSPを削除する場合に、
既設定された経路情報{ERO}ｓ集合から部分P2MP LSPとして削除する部分に対応するP2MPツリーに対応する削除対象経路{ERO}ｓ集合を特定する処理と、
削除対象の部分P2MP LSPに対応する{ERO}ｓ集合を新たにPathTearメッセージに拡張・格納する処理と、
拡張・格納されたPathTearメッセージのP2MPセッション情報には、P2MP_LSP_idを保持して、削除対象の部分P２PLSPに対応する既設定のERO情報に対応するシーケンス番号を格納されているPathステート情報より抽出し、P2MPセッション情報に格納し、PathTearメッセージに格納する処理と、
削除対象のP2MP転送経路を下流に備える隣接下流ノードにPathTearメッセージを送信ＰＥノードが送出する処理と、
パスメッセージを受信した下流ノードにおいて、受信したPathTearメッセージのP2MPセッション情報より、既に設定されているPathステート情報に格納されている削除対象部分P2MP LSPを含むP2MP LSPを特定し、該Pathステート情報より、削除対象の部分ツリー情報に対応するERO情報を削除する処理と、
対応するERO情報を削除したノードにおいて、PathTearメッセージに含まれる、ERO情報から自ノードアドレス情報を削除して、新たに下流方向の削除対象ルートを指定するERO情報に変更する処理と、
変更したERO情報を先に指定された、同一のP2MPセッション情報を持つPathTearメッセージに格納しなおし、隣接する下流ノードに対して即座に転送する処理と、
PathTearメッセージの送出により、下流ノードにおける削除対象のP2MP部分ＬＳＰを構成するPathステート情報を削除する処理と、
PathTearメッセージを削除対象の部分P2MP LSPの受信リーフＰＥノードに到達させる処理と、
当該複数のPathTearメッセージが削除対象の部分P2MP LSPの全受信リーフＰＥノードに到達することで、全削除対象の部分P2MP LSPを削除する処理と、からなる削除処理を行う。
【０００８】
また、本発明は、送信PEノードにおいて、既に設定されたP2MP LSPに部分P2MP LSPを設定する場合に、
初期ツリー設定情報と同じように追加する部分ツリーを構成する送信ＰＥノードから部分ツリーの複数の受信リーフＰＥノードグループのうち、受信リーフＰＥノードまでのEROによって経路を指示し、当該追加P2MP LSPの部分経路であるEROの宛先までの集合｛ERO｝ｓを部分追加用のERO（Graft）情報として、既設定されたP2MPセッションオブジェクトで指定されている同一のP2MP_LSP_idを用いて、ERO情報が複数ある場合には、先に設定されたP2MP LSPの最終部分ツリーを構成するＰ２Ｐ経路用に指定された、最終シーケンス番号を１増加させて、最初の部分追加用のERO情報を含むパスメッセージに追加して、当該修正されたP2MPセッション情報、と新規のERO情報を含むパスメッセージを送出する処理と、
部分追加用のERO情報を含むパスメッセージをP2MPセッションオブジェクトのP2MP_LSP_idを保持しながら、シーケンス番号を１ずつインクリメントして、部分追加用の最終ERO情報になるまで、隣接下流ノードに送出する処理と、
さらに、最終ERO情報となると、最終シーケンス番号にパスメッセージがP2MP LSPの最終状態要素であることを通知するEndビットを設定して該パスメッセージを近接下流ノードに送付する処理と、
パスメッセージを受信した下流近接ノードにおいて、
受信したパスメッセージが、既に受信したパスメッセージが保持する、P2MP_LSP_idに対して、より大きなシーケンス番号を含むことを検出することにより、当該パスメッセージが新規のパスメッセージであることを特定する場合には、P2MP LSPを設定する処理に応じて、新規の受信したパスメッセージ群のみを下流隣接ノードに即座に転送して、P2MP LSPを設定する処理と、
パスメッセージを受信したノードにおいて、
受信パスメッセージが、同一のP2MP_LSP_idを保持し、既に設定されたシーケンス番号以下のシーケンス番号を持つ場合には、当該パスメッセージの情報内容が登録されたPathステート情報と比較して、その情報要素に変化がない場合には、周期的なパスメッセージのメインテナンス状態に移行する処理と、
抽出したセッション情報に変化がある場合には、セッション情報の変化を反映すべき経路に対してパスメッセージを即座に転送する処理と、
即座に転送されたパスメッセージを受信したリーフＰＥノードにおいて、
上流のとのＰＨＯＰとのＭＰＬＳ転送に使用するラベル付与、自身のノードの“Resvステート”の更新、ラベル交換関係の更新を実施する処理と、からなるP2MP LSPの追加処理と、
既に設定されたP2MPから部分P2MP LSPを削除する場合に、
既設定された経路情報{ERO}ｓ集合から部分P2MP LSPとして削除する部分に対応するP2MPツリーに対応する削除対象経路{ERO}ｓ集合を特定する処理を行い、
削除対象の部分P2MP LSPに対応する{ERO}ｓ集合を新たにPathTearメッセージに拡張格納する処理と、
拡張格納されたPathTearメッセージのP2MPセッション情報には、P2MP_LSP_idを保持して、削除対象の部分P２PLSPに対応する既設定のERO情報に対応するシーケンス番号を格納されているPathステート情報より抽出し、P2MPセッション情報に格納し、PathTearメッセージに格納する処理と、
削除対象のP2MP転送経路を下流に備える隣接下流ノードにPathTearメッセージを送信ＰＥノードが送出する処理と、
パスメッセージを受信した下流ノードにおいて、受信したPathTearメッセージのP2MPセッション情報より、既に設定されているPathステート情報に格納されている削除対象部分P2MP LSPを含むP2MP LSPを特定し、該パステート情報より、削除対象の部分ツリー情報に対応するERO情報を削除する処理と、
対応するERO情報を削除したノードにおいて、PathTearメッセージに含まれる、ERO情報から自ノードアドレス情報を削除して、新たに下流方向の削除対象ルートを指定するERO情報に変更する処理と、
変更したERO情報を先に指定された、同一のP2MPセッション情報を持つPathTearメッセージに格納しなおし、隣接する下流ノードに対して即座に転送する処理と、
PathTearメッセージの送出により、下流ノードにおける削除対象のP2MP部分ＬＳＰを構成するPathステート情報を削除する処理と、
PathTearメッセージを削除対象の部分P2MP LSPの受信リーフＰＥノードに到達させる処理と、
当該複数のPathTearメッセージが削除対象の部分P2MP LSPの全受信リーフＰＥノードに到達することで、全削除対象の部分P2MP LSPを削除する処理と、からなるP2MP LSPの削除処理と、を同時に行う。
【０００９】
また、本発明は、複数のパスメッセージを受信した中間ノードが、該複数のパスメッセージに含まれるＴERO情報から次ホップ集合情報を特定するときに、次ホップ情報にLoose指定されているアドレス情報が含まれている場合、該Loose指定されているアドレスグループに対してP2MPのツリーベースのＬＳＰ拡張を可能にする処理を行う。
【００１０】
上記のように、本発明は、マルチキャストラベルスイッチング経路を設定する時に、ＲＳＶＰ−ＴＥのパスメッセージに設定対象のP2MP LSPを指定するP2MPセッション情報を指定し、設定するP2MPの部分Ｐ２Ｐ経路を指定するERO情報を保持した複数のパスメッセージを、P2MP経路を構成するＰ２Ｐ経路分送信して、中間のツリー分岐ノードがデータプレーンの分岐設定を行うため、{ERO}ｓ集合に設定したいP2MP経路を記述することにより容易にP2MP LSPの転送経路をネットワーク内にコピー分岐ポイントを設定しながら設定できる点を主要な特徴とする。
【００１１】
従来の技術とは、Ｐ２ＰのＬＳＰのみならず、同一のプロトコルを用いて、P2MPのＬＳＰを任意の転送経路でトラヒックエンジニアリングして設定できる点、P2MPだけでなく、P2MPとＰ２ＰのＬＳＰを同時に設定できる点が大きく異なる。
【００１２】
さらに、ツリーベースの経路情報がＰ２ＰのＭＰＬＳの経路指定情報であるEROによって構成されるため、設定すべきP2MP LSPのツリー形状を指定するときにツリー全体を送信ＰＥから複数受信リーフＰＥまでのＰ２Ｐ経路の重ね合わせてとして指定できるため、直感的な経路指定を可能にする点、さらに、既存のＰ２Ｐで既に実装されているEROを保持したパスメッセージ機構を用いて、P2MP LSPを設定可能なため、既存のＰ２ＰのＲＳＶＰ−ＴＥの実装資産を用いて容易にP2MPの拡張が可能となる。
【発明の効果】
【００１３】
本発明によれば、P2MPトラヒックを効率的に、高性能でマルチキャスト転送可能なＭＰＬＳ転送網を構築することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面と共に本発明の実施の形態を説明する。
【００１５】
［第１の実施の形態］
本実施の形態では、マルチキャストラベルスイッチングの通信経路設定方法とパケット転送メカニズムについて説明する。
【００１６】
図１は、本発明の第１の実施の形態におけるP2MPセッションオブジェクトを示す。
【００１７】
P2MPのＬＳＰを設定する場合には、P2MPセッションとして、トンネル識別子とトンネルの送信者アドレスを使用する。図１は、ＩＰｖ４のP2MPセッションオブジェクトを示している。また、図１に示すようにP2MPセッションオブジェクトにはP2MP LSPを特定するために必要となる、P2MPTunnel ID情報、同一のP2MP LSPに対して異なる複数のPath/Resvメッセージオペレーションを可能にするsequence ID, Path/Resvメッセージの最終オペレーションを指定するEndビットも含まれている。
【００１８】
図２は、本発明の第１の実施の形態におけるP2MP LSPの例である。同図では、送信ＰＥノードＡから４つの受信ＰＥリーフノードＧ，Ｆ，Ｃ，ＤまでのP2MP転送経路の例を示す。このＴERO情報は、異なるＰ２Ｐ転送経路の重ね合わせとして表現できる。例えば、図２の場合には、送信ＰＥノードＡより受信ＰＥリーフノードＧまでの転送経路は、Ｐ２Ｐ経路１：｛Ａ，Ｂ，Ｅ，Ｇ｝、同様に送信ＰＥノードＡより受信ＰＥリーフノードＦまでの転送経路は、Ｐ２Ｐ経路２：｛Ａ，Ｂ，Ｅ，Ｆ｝で、同様に送信ＰＥノードＡより受信ＰＥリーフノードＤまでの転送経路はＰ２Ｐ経路３：｛Ａ，Ｂ，Ｄ｝で、また、同様に、送信ＰＥノードＡより受信ＰＥリーフノードＣまでの転送経路はＰ２Ｐ経路４：｛Ａ，Ｂ，Ｃ｝で表現することが可能である。従って、図２のP2MP転送経路であるツリーベースの転送経路情報TEROは、Ｐ２Ｐの転送経路情報であるEROの集合として表現できるため、{ERO}ｓ＝{ERO１（Ａ，Ｂ，Ｅ，Ｇ）、ERO２（Ａ，Ｂ，Ｄ），ERO４（Ａ，Ｂ，Ｃ）}として表現できる。
【００１９】
次に、本発明で使用するパスメッセージ、Resvメッセージについて説明する。パスメッセージは、
<Path Message> ::＜Common Header＞ [<INTEGRITY>]
［［<MESSAAGE_ID_ACK>│<MESSAGE_ID_NACK>］．．．］
［<MESSAGE_ID>］<P2MP_SESSION><RSVP_HOP>
<TIME_VALUES><EXPLICIT_ROUTE>
<LABEL_REQUEST>［<PROTECTION>］
［<LABEL_SET>］［<SESSION_ATTRIBUTE>］
［<NOTIFY_REQUEST>］［<ADMIN_STATUS>］
［<POLICY_DATA>．．．］<sender descriptor>
<sender descriptor>::=<SENDER_TEMPLATE><SENDER_TSPEC>
のフォーマットで表現される。従来のＰ２ＰのＲＳＶＰ−ＴＥとの大きな違いは、前述したようにP2MPのＬＳＰのオペレーションを可能にするためにP2MPＳＥＳＳＩＯＮオブジェクトフォーマットを定義している点が異なる。また、Resvメッセージは、
<Resv Message>::=<Common Header>［<INTEGRITY>］
［［<MESSAGE_ID_ACK>│<MESSAGE_ID_NACK>］…］
［<MESSAGE_ID>］<P2MP_SESSION><RSVP_HOP>
<TIME_VALUES>［<RSVP_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>［<RECORD_ROUTE>］
│<FF flow descriptor list><FF flow descriptor>
<FF flow descriptor>::=［<FLOWSPEC>］<FILTER_SPEC>
<LABEL>［<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>］
のフォーマットで表現される。従来のＰ２ＰのＲＳＶＰ−ＴＥとの大きな違いは、P2MPSESSIONオブジェクトが異なる。
【００２０】
次に、図２，３を用いて、P2MP LSPの基本設定メカニズムを説明する。
【００２１】
図２では、送信ＰＥノードが受信ＰＥリーフノードであるＣ，Ｄ，Ｆ，ＧまでP2MP LSPを設定する例を示している。
【００２２】
設定されるP2MP LSP経路は、図２の転送経路に従う。送信ＰＥノードＡは、設定すべきP2MP LSPの転送経路を決定すると、その転送経路情報を転送経路情報{ERO}ｓ集合として管理する。
【００２３】
この例では、{ERO}ｓ={ERO（Ａ，Ｂ，Ｃ），ERO（Ａ，Ｂ，Ｄ），ERO（Ａ，Ｂ，Ｅ，Ｆ），ERO（Ａ，Ｂ，Ｅ，Ｇ）}となっている。さらに、送信ＰＥノードは、設定すべきP2MP LSPのTunnel IDと、P2MPTunnel IDをP2MP SESSIONオブジェクトに格納する。同時に、ＬＳＰＩＤをSENDER TEMPLATEで指定する。この後、送信ＰＥノードＡは、パスメッセージにCommon Header、P2MP SESSIONにTunnel IDとP2MP Tunnel IDを指定すると同時に、設定すべきP2MP LSPのツリー情報を構成する{ERO}ｓ集合から始めのＰ２Ｐ経路情報ERO（Ａ，Ｂ，Ｃ）を特定して、その情報用にP2MP SESSIONのシーケンス番号０(初期値)を設定し、Ｅｎｄビットを指定しない。さらに、RSVP-HOP、TIME_VALUE、先に指定したERO（Ｂ，Ｃ）、LABEL_REQUEST、SENDER_TSPEC、RECORD_ROUTEオブジェクトをパスメッセージに格納して、下流ノードＢに転送する。
【００２４】
このとき、送信ＰＥノードＡはさらに、設定すべきP2MP LSPの第２の部分Ｐ２Ｐ経路である、ERO（Ａ，Ｂ，Ｄ）を特定して、パスメッセージにCommon Header、P2MP SESSIONにTunnel IDとP2MP Tunnel IDを指定すると同時に、設定すべき、P2MP LSPの部分経路ERO（Ａ，Ｂ，Ｃ）のために、P2MP SESSIONのシーケンス番号１(インクリメント)を設定し、Ｅｎｄビットは指定しない。さらに、RＳＶＰ＿HOP、TIME_VALUE、先に指定したERO(B,D)、LABEL_REQUEST、SENDER_TEMPULATE、SENDER_TSPEC、RECORD_ROUTEオブジェクトをパスメッセージに格納して、下流ノードＢに送信する。
【００２５】
このとき、送信ＰＥノードＡは、さらに設定すべきP2MP LSPの第３の部分のＰ２Ｐ経路である、ERO（Ａ，Ｂ，Ｅ，Ｆ）を特定して、パスメッセージにCommon Header、P2MPSESSIONにTunnel IDとP2MPTunnel IDを指定すると同時に、設定すべき、P2MP LSPの部分経路ERO（Ａ，Ｂ，Ｅ，Ｆ）のために、P2MPSESSIONのシーケンス番号２(インクリメント)を設定し、Endビットは指定しない。さらに、RSVP_HOP、TIME_VALUE、先に指定したERO（Ｂ，Ｅ，Ｆ）、LABEL_REQUEST、SENDER_TEMPULATE、SENDER_TSPEC、RECORD_ROUTEオブジェクトをパスメッセージに格納して、下流ノードＢに送信する。
【００２６】
このとき、送信ＰＥノードＡは、さらに設定すべきP2MP LSPの第４の(最後)の部分Ｐ２Ｐ経路である、ERO（Ａ，Ｂ，Ｅ，Ｇ）を特定して、パスメッセージにCommon Header、P2MPSESSIONにTunnel IDとP2MPTunnel IDを指定すると同時に、設定すべきP2MP LSPの部分経路ERO（Ａ，Ｂ，Ｅ，Ｇ）のために、P2MPSESSIONのシーケンス番号３(インクリメント)を設定し、さらに、この部分経路は設定対象のP2MP LSPを構成する最後の部分Ｐ２Ｐ経路となるから、Endビットを指定して、さらに、RSVP_HOP、TIME_VALUE、先に指定したERO(B、E，G)、LABEL_REQUEST、SENDER_TEMPULATE、SENDER_TSPEC、RECORD_RUTEオブジェクトをパスメッセージに格納して、下流ノードＢに送信する。
【００２７】
当該パスメッセージを受信したノードＢは、記憶手段からそのPathステート情報を検索し、当該P2MPセッションが新規のP2MPセッションであることを判定すると(前述のERO（Ｂ，Ｃ）を含む初めてのパスメッセージを受信した場合)、さらに、当該パス設定要求のP2MP LSPが当該ノードに設定可能な場合には、そのPathステートにセッション情報として、SESSION、RSVP_HOP、LABEL_REQUEST、SENDER_TEMPLATE、RECORD_ROUTEオブジェクトとして情報登録を実施する。
【００２８】
図２の例では、その後当該ノードＢは、２番目のERO(B,D)経路、Seq=1のパスメッセージを受信する。当該ノードＢは、当該パスメッセージを既に受信して当該ノードＢの記憶手段のPathステートに登録されているPathステート内のP2MP LSP向けのメッセージであることをそのP2MPセッション情報により特定できるので、記憶手段に登録されているPathステート情報を検索し、登録されている情報を、当該設定要求されているP2MP LSPが設定可能と判定した場合には新たに設定要求された情報、ERO(B,D)をその対応するPathステート情報に登録する。
【００２９】
このとき、さらに、図２の例では、その後、当該ノードＢは３番目のERO（Ｂ，Ｅ，Ｆ）経路、Seq=２番のパスメッセージを受信する。当該ノードＢは、当該パスメッセージが既に受信して当該ノードの記憶手段のPathステートに登録されているPathステート内のP2MP LSP向けのメッセージであることを、そのP2MPセッション情報により特定できるので、登録されているPathステート情報を検索し、登録されている情報、当該設定要求されているP2MP LSPが設定可能と判定した場合には、新たに設定要求された情報ERO(B,E,F)をその対応するPathステート情報に登録する。
【００３０】
このとき、さらに、図２の例では、その後当該ノードＢは、４番目（最後）のERO（Ｂ，Ｅ，Ｇ）経路、seq＝３番のパスメッセージを受信する。このパスメッセージが設定要求の最終メッセージであることは当該パスメッセージに包含されているP2MPセッション情報のEndビットが設定されていることにより判定される。当該ノードは、当該パスメッセージが既に受信して当該ノードのPathステートに登録されているPathステート内のP2MP LSP向けのメッセージであることを、そのP2MPセッション情報により特定できるので、記憶手段に登録されているPathステート情報を検索し、登録されている情報、当該設定要求されているP2MP LSPが設定可能と判定した場合には、新たに設定要求された情報、ERO(B,E,G)をその対応するPathステート情報に登録する。
【００３１】
この後、当該ノードＢは、記憶手段に登録されたPathステート情報から設定すべき、P2MP LSPに対して、次ホップとしてパスメッセージを送出しなければならない対象を判定する。まず、そのPathステート情報を検索して、当該設定対象のP2MP_LSP_idに対して、ERO(B,C、F)より次ホップ:Eを特定し、さらに、ERO(B,E,G)より次ホップE:を特定する。この判定により当該ノードＢは、次ホップＣ，Ｄに対しては単一のパスメッセージを送付すればよいことを判定するので、それぞれ、ERO（Ｃ），ERO（Ｄ）を指定し、さらに新規シーケンス番号：０、最後のパスメッセージであるEndビットをP2MPセッションオブジェクトに指定して下流ノード、Ｃ、Ｅに対して即座にパスメッセージを送付する。このとき、下流ノードＥに対しては、先の判定により、リーフＥ，Ｇに対して２つのパスメッセージを送付しなくてはいけないことを判定しているので、この例では、まずは、ノードＦに向けてERO（Ｅ，Ｆ）を指定して、シーケンス番号：０、Endビット指定なしでP2MPセッション情報を指定してパスメッセージに格納して即座に送信し、次に、ノードGに向けてERO(E,G)を指定して、シーケンス番号：１（インクリメント）Endビット指定してP2MPセッション情報をパスメッセージに格納して即座に送信する。
【００３２】
当該２つのパスメッセージを受信したノードＥは、２つ目のパスメッセージ受信後に先に説明したメカニズムにより、Pathステート情報を記憶手段に登録し、さらに、下流のノードＦ、Ｇに向けてパスメッセージを送出する。
【００３３】
図３に当該パスメッセージを受信した各リーフの動作メカニズムを示す。各受信リーフノードともパスメッセージを受信して、Pathステートを登録し、さらに、当該パス設定要求に対してＬＳＰを予約確定できる場合には、当該ノードにResvステートを登録するのと同時に、上流のＰＨＯＰとの間の転送で使用するラベル値を付与して、上流のＰＨＯＰにResvメッセージを即座に送り返す。このとき、各ノードでは、同時に内部のフォワーディングプレーンの設定が行われ、記憶手段内にＩＬＭテーブル、ＨＮＬＦＥテーブルの設定が行われ、上流に通知したＭＰＬＳラベルに対するフォワーディング関係が設定されている。
【００３４】
また、図３の例では、ノードＣ，Ｄ，Ｆ，ＧがResvメッセージを送信している例を示す。このとき、P2MPセッションオブジェクトには同一のP2MP_LSP_idが設定されていて、シーケンス番号はResvメッセージを１メッセージ受信することでリーフからのLSPが確定するので、Seq=0、これが最後のResvメッセージであることを通知するEndビットが設定されている。図３の例では、まず、ノードＢが、リーフＣ、Ｄより２つのResvメッセージを受信する例を示している。
【００３５】
ノードＢは、まず始めに、リーフＣからのResvメッセージを受信してResvステートを記憶手段に登録すると同時に、上流との間で使用するラベル値の付与を実施するのと同時に、ラベル交換関係を設立するためにILMテーブルに上流に通知したラベル、NHLFEテーブルに下流から通知されたラベル値を登録し、ラベル交換関係を構築する。この動作と同時に、ＢＣ経路の確定を知らせるためにＲＲＯオブジェクトをアップデートして即座にResvメッセージにラベル、RRO情報を格納して上流に通知する。このとき、ノードＢは、先のパスメッセージにより、当該Resvメッセージが設定要求のあるP2MP LSPに対して最後のResvメッセージではないことを判定しているので、Resvメッセージには、Seq=0、Endビット指定なしのP2MPセッション情報が登録されている。さらに、同様に、ノードＢがリーフＤからResvメッセージを受信すると、ノードＢにおけるラベル交換関係を設定すると同時に、やはり最後のResvメッセージではないので先にノードＡ−Ｂ間の転送に付与されたラベル値、さらに、ＢＤ経路のＲＲＯ情報を含んだResvメッセージを上流に即座に転送する。
【００３６】
当該Resvメッセージを受信した送信PEノードＡは、自身のResvステートを登録すると同時に、FTNテーブル、NHLFEテーブルにラベル転送関係を設定し、リーフＣ,Ｄに到達する部分的なP2MP LSPの設定が完了する。
【００３７】
この操作と同時に、ノードＥでは、ノードＢで説明したのと同様のメカニズムにより下流ノードＦ，ＧによりResvメッセージを受信している。ノードEにおけるResvステートの確定、ラベル交換関係の構築の後に、ノードEは同様に2つの対応するResvメッセージを上流ノードのノードBに即座に送付する。このとき、1番目のResvメッセージはシーケンス番号：０、Endビット指定無し、２番目のResvメッセージはシーケンス番号：１で、しかも、Endビットが設定されていて、このResvメッセージが下流から最終のResvメッセージであることを示している。このようにしてさらに2つのResvメッセージがノードBに下流から到達し、ノードBは対応するResvメッセージを上流に送付するが、最後の4番目のResvメッセージを送付するときには、Seqビットの更新と共にEndビットが設定されて送信される。
【００３８】
以上のメカニズムを通じてエンド・エンドでP2MPのMPLS転送経路が設定される。
【００３９】
図４には、ノードＡ−Ｂ間のPath/Resvステートメンテナンス状態におけるメッセージ交換シーケンスを示す。
【００４０】
先に述べたように当実施の形態では、４つのリーフノードＣ，Ｄ，Ｆ，Ｇに対してP2MP LSPが設定されているので、ノードＡは、ノードＢに対して自身が保持しているステート情報に基づいて、4つのパスメッセージを図に示す形態で送出している。同図にあるように、各リーフに向けた部分情報保持用にシーケンス番号が振られており、最後の部分情報である（Ｂ，Ｅ，Ｇ）の状態情報交換時には最終状態であることを示すEndビットが付与されて状態保持が実施されている。さらに、このパスメッセージに呼応して、部分状態確認のResvメッセージが送信される。こちらも同様に最後の部分状態メッセージについて（B,E,G）については同じくEndビットが付与されている。
【００４１】
［第２の実施の形態］
本実施の形態では、図５、図６を用いて本発明の部分P2MP LSPツリーの追加処理であるGraftingメカニズムについて説明する。
【００４２】
図５の例では、既に設定されたツリーに対して、ノードＥ配下にノードHまでのリーフLSP:EHをGrafting処理する例を示す。
【００４３】
リーフLSP:EHをGraftingするために送信PEノードＡは、追加受信リーフHまでの指定経路ERO=(A,B,E,H)を用意する。その後、送信ノードは既に設定されているP2MP LSPに対して部分状態が何個あるかを特定する。この場合、リーフノードＣ、Ｄ，Ｆ，Ｇと４つの部分情報が存在しており、送信ＰＥノードは、当該P2MP LSPを設定するのに、既にそのP2MPセッション情報のシーケンス番号として０〜３の値を使用しているものとする（３がEndビット指定された最後のオペレーション）。送信PEノードＡは、この情報を保持しているので、P2MP LSPのパスメンテナンスだけでなく、新たな部分ツリーの追加処理のために、新規のシーケンス番号m＝４を用意する。その後、送信ノードは、P2MPセッション情報に既に設定されていて部分P2MP LSPが追加設定されるP2MP LSPを特定するP2MP_LSP_idを用いて、さらに、新規のシーケンス番号M=4を特定して、さらに、この場合EHの１本のみのLSP追加なので、Endビットを設定したP2MPセッションオブジェクトと、EROとしてERO(Ｂ,E,H)をパスメッセージに格納して下流ノードＢに即座に送信する。
【００４４】
ノードＢは、当該パスメッセージを受信すると、当該パスメッセージが状態メインテナンス用のパスメッセージではなくて、ツリー変更要求のメッセージであることをそのシーケンス番号ｍにより判定するので、Pathステート情報を検索して、新規情報を登録するのと同時に、当該パスメッセージを、その保持するERO情報を解析し、対応する下流ノードであるノードEに即座に転送する。このとき、ノードＢ,E間では既に２つのパスメッセージ（部分情報が登録されているので）当該パスメッセージのP2MPセッションのシーケンス番号は「２」に設定される。
【００４５】
さらに、当該パスメッセージを受信したノードEは、ノードE−Hの部分LSP追加要求情報であることを判定して、ノードEH方向に新たにパスメッセージを送信する。このP2MPセッションオブジェクトのシーケンス番号は「０」、Endビットは設定されていることに注意されたい。こうし、パスメッセージがリーフHに到達すると、図６にあるようにリーフHは当該部分LSP追加要求が許容可能な場合には、Resvメッセージを即座に上流に送信することにより、P2MP LSPを確定する。このとき、ノードE−H間では、先に述べたように初めての部分情報なので、シーケンス番号：０でEndビット設定されて上流に通知される。さらに、ノードB−E間では、３つ目の部分情報の登録となるので、Seq=2、Endビット設定されて上流に即座に通知される。さらに、ノードＡ−Ｂ間では、５つ目の部分情報の追加となるので、Seq＝４、Endビット設定されて上流に通知される。
【００４６】
［第３の実施の形態］
本実施の形態では、図７を用いてマルチキャストMPLSPruningについて説明する。
【００４７】
図７の例では、既設定されたP2MP LSPのノードＥ配下からリーフLSP:EHをPruning処理する例を示している。
【００４８】
送信ノードAは既に設定されているP2MP LSPのツリーベースの経路設定情報を表す{ERO}s情報から削除すべきリーフに対するサブツリー情報であるERO(A,B,E,H)を特定する。ノードＡは、削除対象の{ERO}情報、ＡＢ間におけるERO(B,E,H)情報の既に設定されているシーケンス番号を特定する。この例では、先のGraftingの例で示したように、ノードＡＢ間では、ERO(B，E、H)は、seq=4として登録されている。このシーケンス番号を特定すると送信PEノードＡは、P2MPセッション情報として部分LSPを削除する対象となるP2MP LSPを識別するP2MP_LSP_id情報を用いて、先のSeq=4を用いて、さらにオペレーションはこの一つなので、Endビットを設定してPathTearメッセージのP2MPセッション情報として、さらに削除する対象経路であるERO(B,E,H)の情報を付与して、PathTearメッセージに格納して下流のノードBに送付する。ノードBは、その受信したPathTearのセッション情報より対応するPathステートを特定して、そのERO(B,E,H)情報を削除すると共に、削除対象ツリーを含む下流ノードEを特定する。このときノードB−E間では、BEHはSeq=2で管理されているので、Seq=2を指定して、さらに削除オペレーションはこの１つなので、Endビットを設定して、さらにERO(E,H)を指定して、また、PathTearメッセージを下流ノードのEに即座に送付する。当該PathTearメッセージを受信したノードEは、さらに同様に、その登録されているPathステートからEH情報を削除して、下流のHに向けてSeq=0、Endビットを設定してPathTearメッセージを送付する。この操作を上流から下流に向けて実施することにより対象とする削除ツリーが既設定ツリーより削除される。
【００４９】
［第４の実施の形態］
図８は、本発明の第４の実施の形態におけるルース（Loose）指定時のP2MP LSPのパスメッセージのシーケンス図である。
【００５０】
同図に示すように、複数のパスメッセージを受信した中間ノードが、該複数のパスメッセージに含まれるＴERO情報から次ホップ集合情報を特定するときに、次ホップ情報にLoose指定されているアドレス情報が含まれている場合、Loose指定されているアドレスグループに対してP2MPのツリーベースのＬＳＰ拡張を可能にする処理を行う。
【００５１】
また、上記の第１〜第４の実施の形態におけるノード毎の動作をプログラムとして構築し、各ノードのコンピュータにインストールし、ＣＰＵ等の制御手段により実行する、または、ネットワークを介して流通させることも可能である。
【００５２】
さらに、構築されたプログラムを各ノードのコンピュータに接続されるハードディスクや、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールして実行することも可能である。
【００５３】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【産業上の利用可能性】
【００５４】
本発明は、P2MP(ポイントツーマルチポイント)コミュニケーション用のトラヒックをネットワークデーターベース効率的にTEしながら、ＱｏＳ保証してMPLS転送するポイントツーマルチポイントMPLS転送経路を設定する技術に適用可能である。
【図面の簡単な説明】
【００５５】
【図１】本発明の第１の実施の形態におけるP2MPセッションオブジェクトのフォーマットである。
【図２】本発明の第１の実施の形態におけるP2MＰ  ＬＳＰのパスメッセージのシーケンスである。
【図３】本発明の第１の実施の形態におけるP2MP LSPのResvメッセージのシーケンスである。
【図４】本発明の第１の実施の形態におけるノードＡ−Ｂ間のPath/Resvステートメンテナンス状態におけるメッセージ交換シーケンスである。
【図５】本発明の第２の実施の形態におけるサブツリーP2MP LSPのパスメッセージのシーケンスである。
【図６】本発明の第２の実施の形態におけるP2MP LSP grafting Resvメッセージのシーケンスである。
【図７】本発明の第３の実施の形態におけるサブツリーP2MP LSP Pruningのパスメッセージのシーケンスである。
【図８】本発明の第４の実施の形態におけるルース（Ｌｏｏｓｅ）指定時のP2MP LSPのパスメッセージのシーケンス図である。
【図１】
2005130258.tif 000003
【図２】
2005130258.tif 000004
【図３】
2005130258.tif 000005
【図４】
2005130258.tif 000006
【図５】
2005130258.tif 000007
【図６】
2005130258.tif 000008
【図７】
2005130258.tif 000009
【図８】
2005130258.tif 000010