(57)【要約】【課題】既存のユニキャストMPLSネットワークを利用したユニキャスト・マルチキャストの混在したMPLSネットワーク環境で、マルチキャストMPLSシステムを構築する。【解決手段】本発明は、マルチキャストMPSLノードとユニキャストMPLSノードを含むマルチキャストMPLS指定経路を作成し、マルチキャストＭＰＬＳノードと、ユニキャストＭＰＬＳノードを識別し、ユニキャストMPLS要求メッセージ、マルチキャストMPLS要求メッセージ、ユニキャスト予約メッセージ、マルチキャスト予約メッセージの送受信を行う。【選択図】  図１
2005080244.tif 000002
【特許請求の範囲】
【請求項１】
ユニキャストMPLS（Multi Protocol Label Switching）とマルチキャストMPLSノードが混在するネットワークにおけるマルチキャスト転送経路メッセージ作成方法において、
送信マルチキャストMPLSノードが、ユニキャストMPLSノードを経由する帯域保証型経路設定要求をする際に、マルチキャストMPLSノードは、LSP(Label Switched Path)を構成するLSR（Label Switching Router）の情報やLSPを識別するための情報を含む、マルチキャストMPLSセッション情報と、ユニキャストMPLS、マルチキャストMPLS経路を明示的に指定した、マルチキャストMPLS経路情報の２つを含むマルチキャストMPLSの要求メッセージから、マルチキャストMPLSのセッション情報と経路情報を抽出する過程と、
前記マルチキャストMPLSのセッション情報をユニキャストMPLSのセッション情報に変換し、また、マルチキャストMPLSの経路情報から次のマルチキャストMPLSノードまでのユニキャストMPLSの経路情報に変換する過程と、
マルチキャストMPLSの経路情報をユニキャストMPLSの拡張領域に格納する過程と、
ユニキャストMPLSの要求メッセージ送信する過程と、
前記拡張領域にマルチキャストMPLSの経路情報を含むユニキャストMPSLの要求メッセージを受信したユニキャストMPLSノードは、経路情報や送信者情報を含むLSPの構築に必要な情報を内部テーブル内に保存し、経路情報に従って次のノードに転送する過程と、からなるユニキャストMPLS処理過程を、マルチキャストMPLSノードに到達するまで繰り返し、
前記マルチキャストMPLSノードが、前記拡張領域にマルチキャストMPLSの経路情報を含むユニキャストMPLSの要求メッセージを受信すると、該ユニキャストMPLSの拡張領域に格納されているマルチキャストMPLSの経路情報と、ユニキャストMPLSの送信者情報を含むLSP構築に必要な情報を、内部テーブルで保存する過程と、
ユニキャストMPLSのセッション情報を抽出し、経路情報に従って、次ノードがマルチキャストMPLSノードの場合には、該ユニキャストMPLSのセッション情報と前記送信者情報からマルチキャストMPLSのセッション情報を作成する過程と、
前記内部テーブルに保存してあるマルチキャストMPLSの経路情報を含む要求メッセージを次ノードに転送する過程と、
前記次ノードがユニキャストMPLSノードの場合は、新たなユニキャストMPLSのセッション情報と前記内部テーブルに保存してある前記マルチキャストMPLSの経路情報から作成したユニキャストMPLSの経路情報を含む要求メッセージを送信する過程と、からなるマルチキャストMPLS処理過程を、受信マルチキャストMPLSノードまで繰り返し、
前記要求メッセージを受信した受信マルチキャストMPLSノードは、
前記要求メッセージ対するラベルを入力ラベルとして割り当て、ラベル情報を格納する過程と、
送信ホストからのフローを受信するために必要とするリソース予約情報を設定し、該ラベル情報と該リソース予約情報を予約メッセージに格納する過程と、
前記要求メッセージが通過してきた経路と逆方向のノードを確認し、次ノードがマルチキャストMPLSノードの場合は、マルチキャストMPLSのセッション情報と自ノードの情報を追加したマルチキャストMPLSの記録経路情報を含む予約メッセージを送信する過程と、を行い、
前記予約メッセージを受信したマルチキャストMPLSノードは、
前記予約メッセージに従ってリソースを確保し、内部のパス情報との関連付けを行い、該予約メッセージに格納されている前記ラベル情報を出力用ラベルとして前記内部テーブルにマッピングする過程と、
内部で自分自身に対する入力用ラベルを割り当て、前記予約メッセージに格納する過程と、
自ノードの情報を追加したマルチキャストMPLSの記録経路情報を前記予約メッセージに格納する過程と、
前記要求メッセージが通過してきた経路と逆方向のノードを確認する処理を継続し、次のノードがユニキャストMPLSの場合は、セッション情報をユニキャストMPLSのセッション情報に変換し、該ユニキャストMPLSの拡張領域に自ノードの情報を追加したマルチキャストMPLSの記録経路情報を格納する過程と、
自ノードの情報を追加したユニキャストMPLSの記録経路情報を含む予約メッセージを送信する過程と、を行い、
前記予約メッセージを受信したユニキャストMPLSノードは、
ユニキャストMPLSの拡張領域に格納されたマルチキャストMPLSの記録経路情報を無視し、該予約メッセージに従ってリソースを確保し、内部のパス情報との関連付けを行い、該予約メッセージに格納されているラベル情報を出力用ラベルとして内部のテーブルにマッピングする過程と、
内部で自分自身に対する入力用ラベルを割り当て、前記予約メッセージ格納する過程と、
自ノードの情報を追加したユニキャストMPLSの記録経路情報を含む予約メッセージを上流方向に送信する過程と、をマルチキャストMPLSノードに到達するまで繰り返し、
マルチキャストMPLSノードは、
ユニキャストMPLSの拡張領域にマルチキャストMPLSの記録経路情報を含むユニキャストMPLSの予約メッセージを受信すると、ユニキャストMPLSの記録経路情報とマルチキャストMPLSの記録経路情報を抽出し、下流のマルチキャストMPLSから自ノードまでのマルチキャストMPLSの記録経路情報を、ユニキャストMPLSの記録経路情報から補完し、該予約メッセージの内容に従ってリソースを確保し、内部のパス情報との関連付けを行い、該予約メッセージに格納されているラベル情報を出力用ラベルとして内部のテーブルにマッピングする過程と、
内部で自分自身に対する入力用ラベルを割り当て、前記予約メッセージに格納し、自ノードの情報を追加したマルチキャストMPLSの記録経路情報を該予約メッセージに格納する過程と、
要求メッセージが通過してきた経路と逆方向のノードを確認する過程と、を送信マルチキャストMPLSノードに到達するまで繰り返し、
マルチキャストLSPを確立することを特徴とするマルチキャストMPLS転送経路設定方法。
【請求項２】
前記ユニキャストMPLSノードと前記マルチキャストMPLSノードにおいて、
前記マルチキャストMPLSノードが、ユニキャストMPLSノード、マルチキャストMPLSノードを識別するために、マルチキャストMPLSに対応しているかを識別するためのメッセージをMPLSノードに送信し、
マルチキャストMPLSに対応していれば、マルチキャストMPLSに対応していることを意味するフラグを立て、
マルチキャストMPLSに対応していなければ、前記マルチキャストMPLSに対応しているかを識別するためのメッセージを無視し、
ネットワーク内のマルチキャストMPLSノードを識別する請求項１記載のマルチキャストMPLS転送経路設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャスト転送経路設定方法に係り、特に、動作の異なる２つのプロトコル連携のためのマルチキャスト転送経路設定方法に関する。
【０００２】
また、ユニキャストMPLS、マルチキャストＭＰＬＳの混在するネットワークにおいて、ユニキャストノード、マルチキャストノードを含むＱｏＳ保証のマルチキャストＭＰＬＳ転送回路を設定するためのマルチキャスト転送経路設定方法に関する。
【０００３】
また、ユニキャストMPLS、マルチキャストＭＰＬＳの混在ネットワークにおいて、ユニキャストノード、マルチキャストノードを含むトラヒックエンジニアリング可能なマルチキャストＭＰＬＳ転送回路を設定するためのマルチキャスト転送経路設定方法に関する。
【背景技術】
【０００４】
従来の技術として、ネットワークリソースを予約するRSVP（RFC-2205〜RFC-2210）がある。RSVPは、ユーザアプリケーションから相手先に送信される個々のフローに対して、そのフローが要求するリソースの予約を行うシグナリングプロトコルである。RSVPが適用されているネットワークでは、特定のフローに対するリソースを予約するために、送信ホストと受信ホスト間でRSVPシグナリングプロトコルを交換し、通信用のパスを確立することによって実行される。データを送信するホストがリソース予約を促すRSVP要求メッセージを受信ホストに送信する。要求メッセージを受信したホストは、その要求メッセージが送信されてきた逆の経路に沿って、必要なリソース情報を格納したRSVP予約メッセージを送信する。これにより、送信ホストと受信ホスト間のリソースを確保することができる。
【０００５】
RSVPにはクラスが定義されており、クラスに様々な機能を追加することができる。また、クラスには、C−typeが定義されており、プロトコルによってクラスのフォーマットを区別している（ＩＰｖ４とＩＰｖ６はアドレス長が異なるため、クラスのフォーマットが異なる）。また、ＲＳＶＰのクラスには必須クラスが定義されており、SESSIONオブジェクトなどがあげられる。
【０００６】
RSVPのクラスは、拡張性のためのサポートしていないクラスであっても、エラー処理せずにそのクラスを無視し、次ノードに転送するというクラス番号が１９２から２５５という値で定義されている。しかし、C−typeにおいては、サポートしていない番号を受信するとエラーを返すようにＲＦＣで定義されている(RFC-2205)。RSVPのクラスとC−typeを図８に示す。
【０００７】
以上の技術がRSVPで、MPLSにおけるトラヒックエンジニアリングを実現する技術としてRSVP−TE（RFC−３２０９）がIETFで提案され標準化されている。RSVP−TEでは、SESSIONオブジェクトのC−typeにLSP_TUNNEL_IPv４などを定義し、FILTER_SPECのC−typeにLSP_TUNNEL_IPv４などを定義し、SENDER_TEMPLATEのC−typeにLSP_TUNNEL_IPv４などを定義し、SESSION_ATTRIBUTEのC−typeにLSP_TUNNELなどを定義し、新しいクラスオブジェクトとして、LABEL，LABEL_REQUEST，EXPLICIT_ROUTE，RECORD_ROUTE，HELLOを定義している。
【０００８】
RSVP−TEでは、リソース予約は、MPLSノードによって行われる。そしてMPLSノードは通常ルータで、RSVP−TEによるリソース予約は、MPLSノードで行われる。RSVP−TEでは、トラヒックエンジニアリングが取り扱う単位であるトラヒックトランクをリソースの予約単位とする。トラヒックトランクは、ＬＳＰ上に転送されるトラヒックのうち、ある特定のポリシーに従って、グループ化できるトラヒックの集合体を指す。RSVP−TEでは、トラヒックトランク単位で個別のＬＳＰを割り当てる。
【０００９】
ＬＳＰの確立は、ＬＳＰのIngress（入り口）MPLSノードからRSVP要求メッセージを送信することによって開始される。MPLSノードはRSVP要求メッセージを受信したら、RSVP要求メッセージ情報から、パス情報や送信者情報などのＬＳＰ構築に必要となる情報を内部テーブルから送信されてくるラベル情報やネットワークリソース情報なども保持する。RSVP要求メッセージを受信したEgressMPLSノードは、その要求に対するラベルを入力用ラベルとして割り当て、そのラベル情報をラベルオブジェクトに格納する。また、送信ホストからのフローを受信するために必要とするリソース予約情報をFILTER_SPECオブジェクトに設定する。以上の情報をRSVP予約メッセージとして上流の次ホップに送信する。RSVP予約メッセージを受信した各MPLSノードは、そのメッセージ内容に従って適切なリソースを確保し、内部のパス情報との関連付けを行う。また、RSVP予約メッセージ内に格納されているラベル情報を、トラヒックをラベルスイッチングするための出力用ラベルとして内部のテーブル上にマッピングする。そして内部で自分自身に対する入力用ラベルを割り当て、RSVP予約メッセージ内に格納し、上流に転送する。これによりIngressＭＰＬＳノードとEgressＭＰＬＳノード間のリソースを確保することができる。
【００１０】
以上の技術が、RSVP−TE、即ち、ユニキャストMPLSである。しかし、RSVP−TEを定義したＲＦＣ−３２０９では、マルチキャストMPLSは定義されていない。そして現在、マルチキャストMPLS(draft-yasukawa-mpls-rsvp-p2mp-02,June 2003)の仕様がIETFで議論されている。
【００１１】
マルチキャストMPLSでは、RSVP  SESSIONオブジェクトのC−typeにP２MP_LSP_TUNNEL_IPv4を新しく定義している。そして、SESSIONオブジェクトに送信元アドレスを格納するように定義している（ユニキャストMPLS）では、送信先アドレスを設定、（図９）。そして、マルチキャスト経路情報を明示的に記したTree Explicit Route Object(TERO)という新しいRSVPクラスオブジェクトを定義している。
【００１２】
また、マルチキャスト経路情報を記録するTree Route Record Object(TRRO)という新しいRSVPクラスオブジェクトを定義している（図１０）。TEROは、深さ優先探索で配置され、送信者からの到達ホップ数の情報を含む（図１１）。そして、マルチキャストMPLS送信者がTERO,SESSIONオブジェクト、リソース予約情報、フィルタ情報などRSVPに必要な情報を含むRSVP要求メッセージ送信する。マルチキャストMPLSノードは、TEROを送信する際、TEROから自ノード情報を削除して送信する（図１２）。
【００１３】
そして、RSVP要求メッセージを受信したマルチキャストMPLSノードでは、パス情報や送信者情報などのLSP構築に必要となる情報を内部テーブルに保持し、TEROに従って次ノードにRSVP要求メッセージを送信する。RSVP要求メッセージを受信する際、マルチキャストMPLSノードは、RSVP要求メッセージが自分宛に送られてきたかどうかをTEROの内容で確認を行う（図１３）。もし違う場合は破棄し、エラーをマルチキャストMPLS送信者に返す。また、要求したリソースを確保できなかった場合にも、エラーを送信する。終端のマルチキャストMPLSノードまで、RSVP要求メッセージが送信されたら、終端のマルチキャストMPLSノードは、リソースを予約して、RSVP予約メッセージを送信する。RSVP予約メッセージを受信したマルチキャストMPLSノードは、メッセージ内容に従ってリソースを確保し、内部のバス情報との関連付けを行う。
【００１４】
また、RSVP予約メッセージ内に格納されているラベル情報を、トラヒックをラベルスイッチングするための出力用ラベルとして内部のテーブルにマッピングする。そして、内部で自分自身に対する入力用ラベルを割り当て、RSVP予約メッセージ内に格納し、両流に転送する。RSVP予約メッセージをマルチキャストMPLS送信者が受信すると、マルチキャストMPLS経路が完成する。
【００１５】
異なるプロトコル間の通信を実現する技術として、トネリングという技術がある。Ａプロトコルで構築したA1,A2というネットワークがある（図１４）。図１４に示す、このA1とA2ネットワークは直接接続していない。そしてA1とA2ネットワークの間にBプロトコルで構築したB1というネットワークがある。A1ネットワークからAプロトコルを使ってA2ネットワークに接続させたいとき、トネリングを使用する。
【００１６】
トネリングはA1とB1ネットワークの境界ルータと、B1とA2ネットワークの境界ルータでトンネルの設定を行うことによって実現する。両境界ルータでトネリングの設定を行い、A1からA2にパケット転送すると、A1ネットワークのパケットはA1とB1境界ルータまで転送される。そして、A1とB1の境界ルータで、Aプロトコルのパケットは、Bプロトコルでカプセル化される。そして、B1ネットワークを通過し、B1とA2ネットワークの境界ルータまで転送される。カプセル化したパケットを受信したB1とA2の境界ルータは、Bプロトコルのカプセルを外し、Aプロトコルとして転送を行う。また、これは、A２からA1に対してのパケットも同様に転送することができる。このようにして異なるプロトコル間の通信を実現するのがトネリングである。
【００１７】
しかし、トネリングでは、両境界ルータでトネリングの設定をしておかなければならないという欠点を持っている。これは行きのパケットと帰りのパケットをトネリングしなければならないからである。また、トネリングでは、Aプロトコルで品質保証など特別な設定をしたパケットであったとしても、Bプロトコルであるトネリング区間のB1ネットワークにおいては、Aプロトコルの特別な設定が適用されないことを意味する（図１５）。これは、カプセル化されるプロトコル（A）がカプセル化するプロトコル（B）の制約を受けるという欠点を持っている。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
LSPをマルチキャスト設定するマルチキャストMPLSシステムが知られているが、このようなマルチキャストMPLSを構築するには、全てのMPLSノードがマルチキャストMPLS通信方法を実装していなければならない。しかし、ユニキャストMPLSノードが存在していたとしても、マルチキャストMPLSシステムの構築を実現することが望ましい。
【００１９】
上述したように、ユニキャストMPLSとマルチキャストMPLSとでは、RSVPのSESSIONオブジェクトのC-typeが異なるため、ユニキャストMPLSのRSVPシグナリングメッセージと、マルチキャストMPLSのRSVPシグナリングメッセージとの互換性がない。そのため、マルチキャストMPLSシステムを構築するには、全てのMPLSノードがマルチキャストMPLS通信方法を実装しているということが前提となる。即ち、既存に構築していたユニキャストMPLSネットワークを利用して、マルチキャストMPLSシステムを構築するには、全てのノードにマルチキャストMPLS通信方法を実装させなければならない。これは、費用、時間などの点において大きな欠点となる。
【００２０】
マルチキャストMPLSノードがユニキャストMPLSノード区間をトネリングして解決する方法もあるが、シグナリングというRSVPプロトコルの性質上、各ノードで予め設定をしなければならないトネリング技術を使用することは難しい（図１４）。また、トネリングでは、トネリングするプロトコルがトンネルプロトコルの制約を受けてしまう（図１５）。すると、MPLSプロトコルでトラヒックエンジニアリングを実現する明示的な指定経路の実現を困難にしてしまう。
【００２１】
本発明は、上記の点に鑑みなされたもので、既存のユニキャストMPLSネットワークを利用したユニキャストMPLS、マルチキャストMPLSの混在したMPLSネットワーク環境で、マルチキャストMPLSシステムを構築することが可能なマルチキャスト転送経路設定方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明は、ユニキャストMPLSとマルチキャストMPLSノードが混在するネットワークにおけるマルチキャスト転送経路メッセージ作成方法において、
送信マルチキャストMPLSノードが、ユニキャストMPLSノードを経由する帯域保証型経路設定要求をする際に、マルチキャストMPLSノードは、LSP(Label Switched Path)を構成するLSR（Label Switching Router）の情報やLSPを識別するための情報を含む、マルチキャストMPLSセッション情報と、ユニキャストMPLS、マルチキャストMPLS経路を明示的に指定した、マルチキャストMPLS経路情報の２つを含むマルチキャストMPLSの要求メッセージから、マルチキャストMPLSのセッション情報と経路情報を抽出する過程と、
マルチキャストMPLSのセッション情報をユニキャストMPLSのセッション情報に変換し、また、マルチキャストMPLSの経路情報から次のマルチキャストMPLSノードまでのユニキャストMPLSの経路情報に変換する過程と、
マルチキャストMPLSの経路情報をユニキャストMPLSの拡張領域に格納する過程と、
ユニキャストMPLSの要求メッセージ送信する過程と、
拡張領域にマルチキャストMPLSの経路情報を含むユニキャストMPSLの要求メッセージを受信したユニキャストMPLSノードは、経路情報や送信者情報を含むLSPの構築に必要な情報を、内部テーブル内に保存し、経路情報に従って次のノードに転送する過程と、からなるユニキャストMPLS処理過程を、マルチキャストMPLSノードに到達するまで繰り返し、
マルチキャストMPLSノードが、拡張領域にマルチキャストMPLSの経路情報を含むユニキャストMPLSの要求メッセージを受信すると、該ユニキャストMPLSの拡張領域に格納されているマルチキャストMPLSの経路情報と、ユニキャストMPLSの送信者情報を含むLSP構築に必要な情報を、内部テーブルで保存する過程と、
ユニキャストMPLSのセッション情報を抽出し、経路情報に従って、次ノードがマルチキャストMPLSノードの場合には、該ユニキャストMPLSのセッション情報と送信者情報からマルチキャストMPLSのセッション情報を作成する過程と、
内部テーブルに保存してあるマルチキャストMPLSの経路情報を含む要求メッセージを次ノードに転送する過程と、
次ノードがユニキャストMPLSノードの場合は、新たなユニキャストMPLSのセッション情報と内部テーブルに保存してあるマルチキャストMPLSの経路情報から作成したユニキャストMPLSの経路情報を含む要求メッセージを送信する過程と、からなるマルチキャストMPLS処理過程を、受信マルチキャストMPLSノードまで繰り返し、
要求メッセージを受信した受信マルチキャストMPLSノードは、
要求メッセージ対するラベルを入力ラベルとして割り当て、ラベル情報を格納する過程と、
送信ホストからのフローを受信するために必要とするリソース予約情報を設定し、該ラベル情報と該リソース予約情報を予約メッセージに格納する過程と、
要求メッセージが通過してきた経路と逆方向のノードを確認し、次ノードがマルチキャストMPLSノードの場合は、マルチキャストMPLSのセッション情報と自ノードの情報を追加したマルチキャストMPLSの記録経路情報を含む予約メッセージを送信する過程と、を行い、
予約メッセージを受信したマルチキャストMPLSノードは、
予約メッセージに従ってリソースを確保し、内部のパス情報との関連付けを行い、該予約メッセージに格納されているラベル情報を出力用ラベルとして内部テーブルにマッピングする過程と、
内部で自分自身に対する入力用ラベルを割り当て、予約メッセージに格納する過程と、
自ノードの情報を追加したマルチキャストMPLSの記録経路情報を予約メッセージに格納する過程と、
要求メッセージが通過してきた経路と逆方向のノードを確認する処理を継続し、次のノードがユニキャストMPLSの場合は、セッション情報をユニキャストMPLSのセッション情報に変換し、該ユニキャストMPLSの拡張領域に自ノードの情報を追加したマルチキャストMPLSの記録経路情報を格納する過程と、
自ノードの情報を追加したユニキャストMPLSの記録経路情報を含む予約メッセージを送信する過程と、を行い、
予約メッセージを受信したユニキャストMPLSノードは、
ユニキャストMPLSの拡張領域に格納されたマルチキャストMPLSの記録経路情報を無視し、該予約メッセージに従ってリソースを確保し、内部のパス情報との関連付けを行い、該予約メッセージに格納されているラベル情報を出力用ラベルとして内部のテーブルにマッピングする過程と、
内部で自分自身に対する入力用ラベルを割り当て、予約メッセージ格納する過程と、
自ノードの情報を追加したユニキャストMPLSの記録経路情報を含む予約メッセージを上流方向に送信する過程と、をマルチキャストMPLSノードに到達するまで繰り返し、
マルチキャストMPLSノードは、
ユニキャストMPLSの拡張領域にマルチキャストMPLSの記録経路情報を含むユニキャストMPLSの予約メッセージを受信すると、ユニキャストMPLSの記録経路情報とマルチキャストMPLSの記録経路情報を抽出し、下流のマルチキャストMPLSから自ノードまでのマルチキャストMPLSの記録経路情報を、ユニキャストMPLSの記録経路情報から補完し、該予約メッセージの内容に従ってリソースを確保し、内部のパス情報との関連付けを行い、メッセージに格納されているラベル情報を出力用ラベルとして内部のテーブルにマッピングする過程と、
内部で自分自身に対する入力用ラベルを割り当て、予約メッセージに格納し、自ノードの情報を追加したマルチキャストMPLSの記録経路情報を該予約メッセージに格納する過程と、
要求メッセージが通過してきた経路と逆方向のノードを確認する過程と、を送信マルチキャストMPLSノードに到達するまで繰り返し、マルチキャストLSPを確立する。
【００２３】
また、本発明は、ユニキャストMPLSノードとマルチキャストMPLSノードにおいて、
マルチキャストMPLSノードが、記ユニキャストMPLSノード、マルチキャストMPLSノードを識別するために、マルチキャストMPLSに対応しているかを識別するためのメッセージをMPLSノードに送信し、
マルチキャストMPLSに対応していれば、マルチキャストMPLSに対応していることを意味するフラグを立て、
マルチキャストMPLSに対応していなければ、マルチキャストMPLSに対応しているかを識別するためのメッセージを無視し、
ネットワーク内のマルチキャストMPLSノードを識別する。
【発明の効果】
【００２４】
本発明によれば、
（１）ユニキャストMPLS、マルチキャストMPLS混在ネットワークにおいて、マルチキャストMPLSを実現でき；
（２）ユニキャストMPLS、マルチキャストMPLS混在ネットワークにおいて、QoS保証されたマルチキャストLSPを作成することができ；
（３）ユニキャストMPLS、マルチキャストMPLS混在ネットワークにおいて、トラヒックエンジニアリング可能なマルチキャストLSPを設定することができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面と共に、本発明の実施の形態を説明する。
【００２６】
最初に、本発明の概要を説明する。
【００２７】
図１は、本発明の一実施の形態におけるユニキャスト、マルチキャストノードを含む拡張TEROを示す。
【００２８】
本発明では、図１に示すようなマルチキャストMPLSノードとユニキャストMPLSノードを含むマルチキャストMPLS指定経路を作成する。これにより、ユニキャストMPLS、マルチキャストMPLSの経路を明示的に指定することが可能となる。
【００２９】
そして、マルチキャストMPLSノードが、マルチキャストMPLSに対応しているかを識別するためのメッセージをMPLSノードに送信し、マルチキャストMPLSに対応していれば、マルチキャストMPLSに対応していることを示すフラグを立てて、マルチキャストMPLSに対応していなければ、そのメッセージを無視し、ネットワーク内のマルチキャストMPLSノードを識別する。
【００３０】
マルチキャストMPLSノードがユニキャストMPLSノードと通信する際、マルチキャストMPLSノードは、図２に示すように、ユニキャストMPLSの要求メッセージを使用し、また、ユニキャストのMPLSの拡張領域にマルチキャストMPLSの機能を格納して通信を行う。ユニキャストMPLSノードは、ユニキャストMPLSの拡張領域にマルチキャストMPLSの機能を格納したユニキャストMPLS要求メッセージを受信する際、ユニキャストMPLS要求メッセージの拡張領域の処理は行わずに、ユニキャストMPLS要求メッセージの処理のみを行い、マルチキャストMPLSノードがユニキャストMPLSの拡張領域にマルチキャストMPLSの機能を格納したユニキャストMPLS要求メッセージを受信したら、マルチキャストMPLSノードは、マルチキャストMPLS要求メッセージの処理を行い、マルチキャストMPLSノードが、マルチキャストMPLSノードと通信する際は、マルチキャストMPLS要求メッセージを使用して通信を行う。MPLSは、トネリングと異なり、両方向の設定をせずに、片方向の転送パスの設定を行うため、このような手法が有効となる。
【００３１】
図２の例においては、ノードAは、次ノードBがユニキャストMPLSなので、次のノードCがマルチキャストMPLSノードか識別する。ノードCは、マルチキャストMPLSノードなので、P2PのSESSIONオブジェクトを使い、宛先アドレスにCを設定する。ノードCは、次ノードNがマルチキャストMPLSなので、P2MPのSESSIONオブジェクトを使い、送信元アドレスにSENDER_TEMPLATEで使われている送信者Aを設定する。
【００３２】
明示的に指定した経路を処理する際には、図３に示すように、マルチキャストMPLSノードは、マルチキャストMPLS指定経路から次のマルチキャストMPLSノードまでのユニキャストMPLS指定経路に変換し、次のマルチキャストMPLSノードまでのユニキャストMPLSの経路を削除したマルチキャストMPLS指定経路をユニキャストMPLS要求メッセージの拡張領域に格納し、送信する。
【００３３】
図３の例では、ノードAは、TEROからB(2),D(3),F(4),G(5)の経路を見て、ノードBがユニキャストMPLSノードか確認する。ノードBはユニキャストMPLSノードなので、ノードDがマルチキャストMPLSノードか確認する。ノードDは、ユニキャストMPLSノードなので、ノードFがマルチキャストMPLSノードか確認する。ノードFは、マルチキャストMPLSノードなので、ノードGがマルチキャストMPLSノードか確認する。ノードGは、マルチキャストMPLSノードなので、EROに次のマルチキャストMPLSノードであるノードGまでの経路を使用し、TEROは、ノードGまでのユニキャストMPLSノードを削除する。
【００３４】
マルチキャストMPLSノードが記録経路を確認する際、図４に示すように、マルチキャストMPLSノードは、マルチキャストMPLSのマルチキャストMPLS記録経路をユニキャストMPLSの拡張領域に格納し、ユニキャストMPLS記録経路を含む予約メッセージを送信し、マルチキャストMPLSノードが、マルチキャストMPLS記録経路を含むユニキャストMPLS予約メッセージを受信したら、マルチキャストMPLSノードは、ユニキャストMPLS記録経路からマルチキャストMPLS記録経路を補完し、マルチキャストMPLS記録経路を設定する。
【００３５】
図４の例では、ノードAは、ユニキャストMPLSノードからRRO,TRROを含むRSVP予約メッセージを受信したので、下流のマルチキャストMPLSノードGから自ノードAまでの記録経路RROを使用して補完する。すると、ノードAのTRROは、TRRO=[A(1),B(2),D(3),F(4),G(5)]となる。
【００３６】
上記のような処理を行うことにより、OpaqueLSAを利用して、マルチキャストMPLSノードの判別を行うことができるので、図３に示すように、マルチキャストMPLSノードは、ユニキャストMPLSノードとマルチキャストMPLSノードとで、動作を切り替えることができる。マルチキャストMPLSノードは、次ノードがマルチキャストMPLSノードならば、通常通り処理を行う。次ノードがユニキャストMPLSノードならば、SESSIONオブジェクトのC-TypeをユニキャストMPLSに設定し、送信先アドレスを次のマルチキャストMPLSノードのアドレスに設定し、次のマルチキャストMPLSノードまでの経路を含むEROを作成し、次のマルチキャストMPLSノードまでのユニキャストMPLSノードを削除したTEROを含むユニキャストMPLSのRSVP要求メッセージを送信する。これにより、ユニキャストMPLSノードは、EROで指定した経路に従ってパスを設定し、TEROを処理せずに、RSVP要求メッセージを転送することができる。これにより、ユニキャスト、マルチキャストMPLS混在ネットワークにおいて、マルチキャストLSPを設定することができる。
【００３７】
また、予約メッセージを返すとき、上流の次ノードがユニキャストMPLSノードならば、SESSIONオブジェクトのC-TypeをユニキャストMPLSに設定し、送信先アドレスを自ノードのアドレスに設定し、自ノードの情報を追加したRRO,TRROを含むユニキャストMPLSのRSVP予約メッセージを送信する。
【００３８】
上記の予約メッセージを受信したユニキャストMPLSノードは、RROに自ノード情報を追加し、リソース予約を行う。TRROを含むユニキャストMPLS予約メッセージを受信したマルチキャストMPLSノードは、TRROの空白部分をRROから補完する。このことからユニキャスト・マルチキャストMPLS混在ネットワークにおいて、マルチキャストMPLSの経路を記録することができる。
【００３９】
また、RSVPによってマルチキャストLSPのリソースを確保することができるので、ユニキャスト・マルチキャストMPLS混在ネットワークにおいて、QoS保証されたマルチキャストLSPを作成することができる。
【００４０】
また、TEROによって、ユニキャストMPLSノード、マルチキャストMPLSノードを明示的にしたTEROを使用することができるので、ユニキャストMPLS、マルチキャストMPLS混在ネットワークにおいてトラヒックエンジニアリング可能なマルチキャストLSPを設定することができる。
【００４１】
なお、上記のネットワーク内のマルチキャストMPLSノード及びユニキャストMPLSノードのそれぞれの動作をプログラムとして構築し、各ノードのコンピュータにインストールする、または、ネットワークを介して流通させることも可能である。
【実施例】
【００４２】
以下、図面と共に、本発明の実施例を説明する。
【００４３】
図５は、本発明の一実施例のネットワークを示す。当該ネットワークは、マルチキャストMPLSノード、ユニキャストMPLSノード、送信者装置、受信者装置から構成されているものとする。図６は、本発明の一実施例のユニキャストMPLS区間でのRSVP要求メッセージの処理を示す図であり、図７は、本発明の一実施例のRSVP予約メッセージの処理を示す図である。以下では、図６及び図７に記載されているステップ番号と以下の説明におけるステップ番号は対応するものとする。
【００４４】
ノードAは、OSPF OpaqueLSAを利用して、どのノードがマルチキャストMPLSノードかを識別する。そしてノードAは、ユニキャスト、マルチキャストMPLSノードを含む
TERO=[A(1),B(2),C(3),N(4),H(4),I(5),B(2),D(3),F(4),G(5),J(6),K(7),M(8)]
を作成する。
【００４５】
ノードAは、TEROから次ノードがノードBと知り、次のマルチキャストMPLSノードを探索するために、TEROを走査する。そして、ノードBがユニキャストかマルチキャストMPLSノードかを識別する。ノードBはユニキャストMPLSノードなので、ノードAは、次のノードがマルチキャストMPLSノードかを識別する。すると、ノードCは、マルチキャストMPLSノードであるので、ノードCまでのユニキャストMPLSノードをTEROから削除する。
【００４６】
ノードBにｐ２ｐのC-TypeとノードCの宛先アドレスを設置したSESSIONオブジェクトと、
ERO=[B(2),C(3)],  TERO=[C(3),N(4),H(4),I(5)]
を含むユニキャストRSVP要求メッセージを送信する（ステップ１０１）。
【００４７】
ノードBは、ノードAのユニキャストRSVP要求メッセージを受信するが、TEROは処理せずに、EROから自ノードの情報を削除し、
ERO=[C(3)],  TERO=[C(3),N(4),H（4）,I(5)]
を含むユニキャストRSVP要求メッセージをノードCに送信する（ステップ１０２）。
【００４８】
ノードCは、ノードBのTEROを含むユニキャストRAVP要求メッセージを受信し、TEROから自ノードの情報を削除する。そして、ノードCは、TEROを調べ、次ノードがノードNと知り、ノードNがユニキャストMPLSノードかマルチキャストMPLSノードかを識別する。ノードNは、マルチキャストMPLSノードであるので、ｐ２ｍｐのC-TypeとSENDER_TEMPLATEから得たノードAの送信元アドレスを設定したSESSIONオブジェクトと、
TERO=[N(4)]
を含むマルチキャストRSVP要求メッセージをノードNに送信する（ステップ１０３）。
【００４９】
ノードCは、TEROから次ノードにノードHがあると知り、ノードHがユニキャストMPLSノードかマルチキャストMPLSノードかを識別する。ノードHは、ユニキャストMPLSノードであるので、次のノードIがユニキャストMPLSノードかマルチキャストMPLSノードかの識別を行う。ノードIはマルチキャストMPLSノードであるので、ノードCは、ｐ２ｐのC-TypeとノードIの宛先アドレスを設定したSESSIONオブジェクトと、
ERO=[H(4),I(5)],  TERO=[I(5)]
を含むユニキャストRSVP要求メッセージをノードHに送信する（ステップ１０４）。
【００５０】
ノードHは、ノードCのユニキャストRSVP要求メッセージを受信するが、TEROは処理せずに、EROから自ノードの情報を削除し、ERO=[I(5)]を含むユニキャストRSVP要求メッセージをノードIに送信する（ステップ１０５）。
【００５１】
ノードIは、ERO=[I(5)],TERO=[I(5)]を含むユニキャストRSVP要求メッセージを受信し、TEROに自ノードの情報しか記述されていないことから自分が最終ノードであることを確認する。ノードIは、RSVP_HOPに記述されている自分の上流ノードであるノードHがユニキャストMPLSノードかマルチキャストMPLSノードのどちらに対応しているかを識別し、ノードHは、ユニキャストMPLSノードであるため、ノードIは、ｐ２ｐのC-Typeと自ノードの情報を設定したSESSIONオブジェクトと、
RRO=[I(5)],  TRRO=[I(5)]
に自ノードの情報を設定し、リソースを予約して、RSVP予約メッセージをノードHに送信する（ステップ１０６）。
【００５２】
ノードHは、TRROを含むユニキャストRSVP予約メッセージを受信したら、TRRO=[I(5)]を無視し、RROに自ノードの情報を設定して
RRO=[H(4),I(5)]
とし、リソース予約して、それらを含むユニキャストRSVP予約メッセージをノードCに送信する（ステップ１０７）。
【００５３】
マルチキャストMPLSノードCは、ノードHから受信したユニキャストRSVP予約メッセージにRRO,TRROが含まれているので、RROに自ノードの情報を設定し、
RRO=[C(3),H(4),I(5)]
とし、TRROの空白部分、I(5)までのノードC(3),H(4)を補完し、
TRRO=[C(3),H(4),I(5)]
とし、リソース予約する（ステップ１０８）。
【００５４】
ノードNは、リソースを予約し、ノードCにTRRO=[N(4)]を含むマルチキャストRSVP予約メッセージを送信する（ステップ１０９）。
【００５５】
ノードCは、ノードNとノードHから受信したTRROをマージする。ノードCは、RSVP_HOPから上流ノードがノードBであることを知り、ノードBがユニキャストMPLSノードかマルチキャストMPLSノードかを識別する。ノードBはユニキャストMPLSノードであるので、ｐ２ｐのC-Typeと自ノードを設定したSESSIONオブジェクトとRROに自ノードの情報を設定し、リソースを予約して、
RRO=[C(3)]
とし、
TRRO=[C(3),N(4),H(4),I(5)]
を含むユニキャストRSVP予約メッセージをノードBに送信する（ステップ１１０）。
【００５６】
ノードBは、ノードCからユニキャストRSVP予約メッセージを受信し、TRROは無視し、RROに自ノードの情報を設定して、
RRO=[B(2),C(3)]
とし、リソースを予約して、
TRRO=[C(3),N(4),H(4),I(5)]
を含むユニキャストRSVP予約メッセージをノードAに送信する。
【００５７】
マルチキャストMPLSノードAは、ノードBから受信したユニキャストMPLS予約メッセージにRRO,TRROが含まれているので、RROに自ノードの情報を設定し、
RRO=[A(1),B(2),C(3)]
とし、TRROの空白部分、C(3)までのノードA(1),B(2)を補完し、
TRRO=[A(1),B(2),C(3),N(4),H(4),I(5)]
とする（ステップ１１２）。
【００５８】
また、ノードAは、TEROからもう１つの経路があることを知り、次ノードBがユニキャストMPLSノード、マルチキャストMPLSノードかの識別を行う。ノードBは、ユニキャストMPLSノードであるので、次のノードDがマルチキャストMPLSノードか否かの識別を行う。ノードDもユニキャストMPLSノードであるので、次のノードFがマルチキャストMPLSノードかどうかの識別を行う。ノードFもユニキャストMLSノードであるので、ノードGがマルチキャストMPLSノードか否かの識別を行う。ノードGは、マルチキャストMPLSノードであるので、p２pのC-TypeとノードGを宛先としたSESSIONオブジェクトと、自ノードの情報を削除した
ERO=[B(2),D(3),F(4),G(5)]、
次のマルチキャストMPLSノードまでのユニキャストMPLSノードを削除した
TERO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP要求メッセージをノードBに送信する（ステップ１１３）。
【００５９】
ノードBは、ノードAからTEROを含むユニキャストRSVP要求メッセージを受信し、TEROは無視し、自ノードの情報を削除した
ERO=[D(3),F(4),G(5)]、TERO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP要求メッセージをノードDに送信する（ステップ１１４）。
【００６０】
ノードDは、ノードBからTEROを含むユニキャストRSVP要求メッセージを受信し、TEROは無視し、自ノードの情報を削除した、
ERO=[F(4),G(5)],  TERO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP要求メッセージをノードFに送信する（ステップ１１５）。
【００６１】
ノードFは、ノードDからTEROを含むユニキャストRSVP要求メッセージを受信し、TEROは無視し、自ノードの情報を削除した
ERO=[G(5)],  TERO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP要求メッセージをノードGに送信する（ステップ１１６）。
【００６２】
マルチキャストMPLSノードGは、ノードFからERO,TEROを含むユニキャストRSVP要求メッセージを受信し、TEROの処理を行う。ノードGは、次ノードJが、ユニキャストMPLSノードかマルチキャストMPLSノート゛かの識別を行う。ノードJはユニキャストMPLSノードであるので、次のノードKがマルチキャストMPLSノードであるかの識別を行う。ノードKもユニキャストMPLSノードであるので、次のノードMがマルチキャストMPLSノードであるかの識別を行う。ノードMはマルチキャストMPLSノードであるので、ｐ２ｐのC-TypeとノードMを宛先としたSESSIONオブジェクトと、自ノードの情報を削除した
ERO=[J(6),K(7),M(8)]、
次のマルチキャストMPLSノードまでのユニキャストMPLSノードを削除した
TERO[M(8)]
を含むユニキャストRSVP要求メッセージをノードJに送る（ステップ１１７）。
【００６３】
ノードJは、ノードGからユニキャストRSVP要求メッセージを受信し、TEROは無視し、自ノードの情報を削除した
ERO=[K(7),M(8)],  TERO=[M(8)]
を含むユニキャストRSVP要求メッセージをノードKに送信する（ステップ１１８）。
【００６４】
ノードKは、ノードJからユニキャストRSVP要求メッセージを受信し、TEROは無視し、自ノードの情報を削除した
ERO=[M(8)],  TERO=[M(8)]
を含むユニキャストRSVP要求メッセージをノードMに送信する（ステップ１１９）。
【００６５】
ノードMは、ERO=[M(8)],  TERO=[M(8)]を含むユニキャストRSVP要求メッセージを受信し、TEROから自分が最終ノードと判断する。そして、上流ノードがユニキャストMPLSノードかマルチキャストMPLSノードかを識別する。ノードKは、ユニキャストMPLSノードであるので、ｐ２ｐのC-Typeと自ノードの情報を宛先アドレスとしたSESSIONオブジェクトと、自ノードの情報をRRO,TRROに設定し、リソースを予約して、
RRO=[M(8)],  TRRO=[M(8)]
を含むユニキャストRSVP予約メッセージをノードKに返す（ステップ１２０）。
【００６６】
ノードKは、ノードMからユニキャストRSVP予約メッセージを受信し、TRROを無視し、RROに自ノードの情報を設定し、リソースを予約して、
RRO＝[K(7),M(8)],  TRRO=[M(8)]
を含むユニキャストRSVP予約メッセージをノードJに返す（ステップ１２１）。
【００６７】
ノードJは、ノードKからユニキャストRSVP予約メッセージを受信し、TRROを無視し、RROに自ノードの情報を設定し、リソースを予約して、
RRO=[J(6),K(7),M(8)],  TRRO=[M(8)]
を含むユニキャストRSVP予約メッセージをノードGに返す（ステップ１２２）。
【００６８】
マルチキャストMPLSノードGは、ノードJから受信したユニキャストRSVP予約メッセージにRRO,TRROが含まれているので、TRROをPROで補完し、
TRRO=[G(5),J(6),K(7),M(8)]
とする。ノードGは、次ノードFがユニキャストMPLSノードかマルチキャストＭＰＬＳノードかを識別する。ノードFはユニキャストMPLSノードであるので、ｐ２ｐのC-Typeと自ノードの情報を宛先アドレスとしたSESSIONオブジェクトと、RROに自ノードの情報を設定し、リソースを予約して、
RRO=[G(5)],  TRRO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP予約メッセージをノードFに送信する（ステップ１２３）。
【００６９】
ノードFは、TRROを無視し、RROに自ノードの情報を設定し、リソースを予約して、
RRO=[F(4),G(5)],  TRRO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP予約メッセージをノードDに送信する（ステップ１２４）。
【００７０】
ノードDは、TRROを無視し、RROに自ノードの情報を設定し、リソースを予約して、
RRO=[D(3),F(4),G(5)],  TRRO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP予約メッセージをノードBに送信する（ステップ１２５）。
【００７１】
ノードBは、TRROを無視し、RROに自ノードの情報を設定し、リソースを予約して、
RRO=[B(2),D(3),F(4),G(5)]、  TRRO=[G(5),J(6),K(7),M(8)]
を含むユニキャストRSVP予約メッセージをノードAに送信する（ステップ１２６）。
【００７２】
マルチキャストＭＰＬＳノードAは、ノードBから受信したユニキャストRSVP予約メッセージにRRO,TRROが含まれているので、TRROをPROで補完し、
TRRO=[A(1),B(2),D(3),F(4),G(5),J(6),K(7),M(8)]
とする。そして、他のツリー
TRRO=[A(1),B(2),C(3),N(4),H(4),I(5)]
とマージを行う。そして、最終的な
TRRO=[A(1),B(2),C(3),N(4),H(4),I(5),B(2),D(3),F(4),G(5),J(6),K(7),M(8)]
を作成する（ステップ１２７）。
【００７３】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【産業上の利用可能性】
【００７４】
本発明は、マルチキャスト動作の異なる２つのプロトコル連携に適用できる。
【００７５】
また、ユニキャスト、マルチキャストＭＰＬＳの混在するネットワークにおいて、ユニキャストノード、マルチキャストノードを含むＱｏＳ保証のマルチキャストＭＰＬＳ転送回路を設定する場合に適用できる。
【００７６】
また、ユニキャスト、マルチキャストＭＰＬＳの混在ネットワークにおいて、ユニキャストノード、マルチキャストノードを含むトラヒックエンジニアリング可能なマルチキャストＭＰＬＳ転送回路を設定する場合に適用できる。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施の形態におけるユニキャスト・マルチキャストノードを含む拡張TEROを示す図である。
【図２】本発明の一実施の形態におけるSESSIONオブジェクト変換を説明するための図である。
【図３】本発明の一実施の形態におけるユニキャストMPLS区間でのRSVPパスメッセージを説明するための図である。
【図４】本発明の一実施の形態におけるMPLS区間でのRSVPリザーブメッセージ処理を説明するための図である。
【図５】本発明の一実施例のネットワーク図である。
【図６】本発明の一実施例のRSVP要求メッセージの処理を説明するための図である。
【図７】本発明の一実施例のRSVP予約メッセージの処理を説明するための図である。
【図８】ＲＳＶＰクラスオブジェクト及びC-Typeを示す図である。
【図９】ユニキャストMPLSとマルチキャストMPLSのSESSIONオブジェクトを示す図である。
【図１０】TEROとTRROを示す図である。
【図１１】従来の技術における深さ優先探索のマルチキャストツリーの図である。
【図１２】従来の技術においてTEROが処理されていく図である。
【図１３】従来の技術において自分宛でないTEROがきたときの図である。
【図１４】従来の技術におけるトネリングの図である。
【図１５】従来の技術におけるトネリングの制約を示す図である。
【符号の説明】
【００７８】
A,C,N,I,G,M  マルチキャストMPLSノード
B,D,E,F,H,J,K,L  ユニキャストMPLSノード
【図１】
2005080244.tif 000003
【図２】
2005080244.tif 000004
【図３】
2005080244.tif 000005
【図４】
2005080244.tif 000006
【図５】
2005080244.tif 000007
【図６】
2005080244.tif 000008
【図７】
2005080244.tif 000009
【図８】
2005080244.tif 000010
【図９】
2005080244.tif 000011
【図１０】
2005080244.tif 000012
【図１１】
2005080244.tif 000013
【図１２】
2005080244.tif 000014
【図１３】
2005080244.tif 000015
【図１４】
2005080244.tif 000016
【図１５】
2005080244.tif 000017