|
ホワイト ペーパー
マルチキャストVPN
概要
この資料では、Virtual Private Network(VPN;仮想私設網)との関係におけるIPマルチキャストについて概要を示すとともに、マルチキャストVPNソリューションのためのシスコ アーキテクチャについて詳しく説明します。この資料は、エンタープライズ カスタマー向けMVPNを提供するサービス プロバイダーのみを対象とします。
VPN
VPNは、共有型インフラストラクチャ(ISPなど)によるネットワーク接続です。プライベート ネットワークと同じポリシーおよび「パフォーマンス」を、より低いTCOで提供することを目的とするVPNは、運用およびインフラストラクチャの両面でさまざまなコスト節減効果をもたらします。
VPN上のトンネル
従来、サービス プロバイダー ネットワーク経由での接続には、IP / Generic Route Encapsulation(GRE)トンネル上でIPを使用する方法しかありませんでした。このようなトンネル型ネットワークはスケーラビリティの問題がありがちですが、VPN経由でIPマルチキャスト トラフィックを伝送するための唯一の手段であることは確かです。
MPLS
Multiprotocol Label Switching(MPLS)は、ルーティングのインテリジェンスとスイッチングのハイ パフォーマンスを組み合わせることにより、IPルーテッド ネットワークのスケーラビリティとパフォーマンスを強化するタグ スイッチング、およびその他のさまざまなベンダー方式によるIPスイッチング サポート拡張機能から派生しました。
VPNには現在、MPLSが使用されていますが、これは適切な組み合わせです。MPLSはIPヘッダーで伝送される情報から、IPパケットの転送に使用される情報(ラベル)を切り離します。
MPLS VPNでは、次のものを任意に組み合わせることができます。
ラベル スイッチングの対象になるパスは、VPN-IPルートに接続し、VPNサービス プロバイダーに範囲が限定されます。
マルチキャストの概要
マルチキャストとユニキャスト
IPマルチキャストは、TCP/IPプロトコル スイートの一部です。IPユニキャストがクラスA、クラスB、およびクラスCアドレスを使用するのに対し、IPマルチキャストはクラスDアドレスを使用します。
マルチキャストにはグループ アドレスという概念があるので、同じデータを複数の受信者に伝送するための効率的なパラダイムになっています。グループ アドレスによって、特定の受信者グループが1つのアドレスをリスンすることができます。
ネットワーク上のルータは、データのコピーを必要とするサブネットワークが2つ以上ある場合、IPマルチキャスト パケットを複製します。IPユニキャストでは、送信元が個々の受信者に対して個別にIPストリームを作成しなければなりません。マルチキャストがグループ通信のための安定したスケーラブルなソリューションである理由は、データの複製と分散により、リンク上で伝送するパケットが1コピーしか必要ないからです。
たとえば、ある企業の社長が全社員にプレゼンテーションを送信する場合を仮定します。
IPマルチキャストの場合:1人の視聴者が使用する帯域幅は、全視聴者が使用する帯域幅と同じです。
IPユニキャストの場合:受信者ごとに個別のデータ ストリームを使用することは、ネットワーク インフラストラクチャのコスト上、不可能です。
IPマルチキャストが役立つアプリケーション分野としては、企業内コミュニケーション、遠距離ラーニング、ソフトウェアの配布などがありますが、これらに限定されません。
次に、IPマルチキャストの基本概念をいくつか紹介します(IPマルチキャスト テクノロジーを完全に網羅した説明ではありません)。詳細については、この資料の付録を参照してください。
ツリー
送信元が送信するパケットは1つだけなので、ネットワーク上の個々の分岐点でパケットを複製する必要があります。その結果、マルチキャスト配信ツリーが作成されます。ツリーには次の2つの基本タイプがあります。
送信元ツリー/最短パス ツリー
データの送信元をルートとする単方向ツリーです。dense(稠密)モードのフラッディング/プルーニング ネットワークでは唯一のツリー タイプですが、sparse(希薄)モードのネットワークでも使用されます。
共有ツリー
ある共通のポイントをルートとする単方向ツリーです。共有ツリーは、受信者がまばらにしか存在せず、アクティブである送信元について学習するのにデータのフラッディングを使用するのは非効率的である場合に使用されます。Protocol Independent Multicast Sparse Mode(PIM SM)では、共有ツリーの共通のルートのことを、Rendezvous Point(RP;ランデブー ポイント)といいます。受信者はここに加入し、アクティブである送信元について学習します。
マルチキャスト ルーティング プロトコル
歴史
IPマルチキャストと連携させるためのルーティング プロトコルがいくつか開発されました。これらのプロトコルは、IPマルチキャスト トラフィックごとのルーティング テーブルを個別に必要とする、「そのとき限りの」アプローチを使用していました。
Distance Vector Multicast Routing Protocol(DVMRP)は最初のマルチキャスト ルーティング プロトコルであり、送信元ツリー ルーティング プロトコルの一例です。
Multicast Open Shortest Path First(MOSPF)はマルチキャスト ルーティングとOSPFの併用を試みたプロトコルです。これも、送信元ツリー ルーティング プロトコルの一例です。
Core Base Trees(CBT)は、共有ツリーを使用してマルチキャスト データを配信するように設計されましたが、試験用ネットワーク以外に実装されることはありませんでした。
事実上の標準
Protocol Independent Multicast(PIM)は「そのとき限りの」アプローチを使用するのではなく、標準のユニキャスト ルーティング テーブルを使用してIPマルチキャスト トラフィックを転送するように設計されています。PIMはユニキャスト ルーティング テーブルを使用して、IPマルチキャスト パケットが送信元からの最適パスで着信したかどうかを判別します。RPFチェックと呼ばれるこのプロセスは、特定のルーティング プロトコルに依存せず、ユニキャスト ルーティング テーブルの内容に基づいて行われます。PIMプロトコルには、Dense Mode(DM)およびSparse Mode(SM)の2タイプがあります。
PIM SMのほうが効率的なマルチキャストであることが実証されたので、PIM DMは現在ではあまり使用されていません。
PIM SMは何年にもわたって機能拡張された結果、試行的なスタンダードからドラフト スタンダードに進化し、現在、最も普及しているマルチキャスト プロトコルです。PIM SMは最初、共有ツリーを使用しますが、最終ホップ ルータが選択した場合に送信元ツリーに加入できるようになっています。データを最適なパスで転送しながら、データのフラッディングと関連するリソースの浪費を防止できる、効率的な方式です。
アプリケーションでIPマルチキャストが使用されることが多くなったために、次に説明する2つの新しい配信パラダイムが必要になりました。
PIM Bi-Dirは、狭帯域での多対多コミュニケーション(たとえば、金融取引アプリケーション)のための効率的な伝送方式となる、2方向転送ツリーを作成します。
Source Specific Multicast(SSM)は、送信元に関する知識を帯域外で入手するソリューションです。SSMは1つの送信元ツリーだけを使用しますが、送信元の学習は帯域外で行われるので、データのフラッディングは発生しません。SSMは、インターネット ブロードキャスティング、社内コミュニケーションなどで最も有益です。
提案されている3つのMVPNソリューション
Draft-rosen-vpn-mcast-03.txtでは、IETF VPN仕様を拡張し、IPマルチキャストVPNをサポートするために必要なプロトコルおよび手順が記述されています。
マルチキャスト ドメイン
このソリューションでは、プロバイダーが自身のネットワーク上でIPマルチキャストをイネーブルにする必要があります。プロバイダーは各Provider Edge(PE;プロバイダー エッジ)ルータ上で、Multicast Tunnel Interface(MTI;マルチキャスト トンネル インターフェイス)およびマルチキャストVPN Routing and Forwarding(VRF;VPNルーティングおよびフォワーディング)をカスタマー単位で作成します。MTIは、カスタマーごとに固有な(そのカスタマー用のすべてのPEが属する)宛先グループを指定した独自のマルチキャスト パケットで、カスタマーのマルチキャスト データをカプセル化します。
図1
MTIのカプセル化

VPN-IP PIM
VPN-IP PMでは、カスタマーのマルチキャスト データをプロバイダーのネットワーク経由でネイティブに配信する必要があります。各カスタマーVRFが、グローバル テーブルに漏出されます。このソリューションでは、マルチキャスト ツリーの送信元が知らされ、そのツリーのVRFを使用してルート識別素が作成される必要があります。これは[RD:S,G]または[RD:*,G]で表され、mrouteエントリはカスタマーごとに固有になります。このRDによりプロバイダーがマルチキャスト データを一意に識別することができますが、データを転送するには、MPLSマルチキャスト ラベルを使用してパケットをカプセル化する必要があります。
PIM Non-Broadcast Multi-Access(NBMA)技法によるマルチキャスト ドメイン(MD)
このソリューションは、PE上のトンネル インターフェイスを使用します。GREトンネリングとは異なり、ポイントツーポイント トンネルではありません。このトンネル インターフェイスはリモートPEを追跡し、マルチキャスト パケットをリモートPEに対してユニキャストします。このソリューションではコアの外部でマルチキャスト ステートを維持できるので、初段階では有望と思われます。ただし、PEルータによる大量の複製を必要とし、ユニキャスト トラフィックを大幅に増大させます。
図2
NBMA技法によるマルチキャストのユニキャスト転送

Cisco MVPNの詳細
前述したMVPNソリューションにはそれぞれ、展開上の重大な障壁となる問題点がありますが、それでもマルチキャスト ドメインが最も有望な選択肢となっている理由は次のとおりです。
マルチキャスト ドメイン ソリューション
この方式では、カスタマーに接続するすべてのPEルータが、そのロケーションに受信者がいるかいないかに関わらず、カスタマーのマルチキャスト データをすべて受信しなければならないので、当初は最適なパフォーマンスに達しませんでした。新しい方法での拡張機能によりこの特性が解決された結果、真に有望なソリューションになりました。
図3
デフォルトMDTの概念

上記の拡張機能とは、処理中に作成される一時的ツリーの追加を指します。これらのツリーでは、設定された帯域幅(BW)スレッシュホールドを超過するマルチキャスト グループ データは、この新しいツリーに加入しているPEにしか配信されません。これらのツリーを、MDTデータ ツリーといいます。データという語が付いているのは、データ配信のため大量の帯域幅を必要とするグループ向けに設計されたグループだからです。
図4
データMDTの概念

この図は、データを受信する必要のあるCEルータに接続されたPEルータだけが、データMDTに加入することを表しています。
PEルータは、ポート番号3232のUDPパケットを使用して、データMDTの使用をシグナリングします。このパケットはデフォルトMDTで送信されます。このパケットには、all-PIM routersメッセージ(必要に応じて加入すべきグループを指定)が含まれます。
カスタマーとプロバイダー マルチキャスト ネットワークの相互運用
カスタマーのIPマルチキャスト ネットワークは、プロバイダーのマルチキャスト ネットワークとまったく無関係であることを理解しておく必要があります。プロバイダーの視点からは、カスタマーのIPマルチキャスト パケットは、プロバイダー独自のIPマルチキャスト ネットワーク宛のデータに過ぎません。
MVPNでサポートされるマルチキャスト プロトコルは、PIM、特にPIM-SMだけであることを理解しておく必要があります。Bi-Dir PIMがプロバイダー ネットワークのコアに使用できる程度に安定性があるとみなされれば、今後はBi-Dir PIMもサポートされる可能性があります。
図5
カスタマー PIMの隣接関係

CEルータは、プロバイダー ネットワークを通じてリモートのCEルータとPIM隣接関係を持つことはありませんが、ローカル ルータおよびPEルータと隣接関係があります。
PEルータがMDTパケットを受信すると、PEルータはRPFチェックを実行します。プロバイダー ネットワーク経由でのパケット伝送中には、通常のRPF規則が適用されます。ただし、リモートのPEでは、ルータは発信側PEルータがそのCEに対する適正なルータだったかどうかを確認する必要があります。そのために、カスタマー パケットの送信元アドレスのBGPネクスト ホップ アドレスをチェックします。このネクスト ホップ アドレスは、MDTパケットの送信元でなければなりません。PEはさらに、リモートPEとのPIM隣接関係があるかどうかもチェックします。
現時点では、カスタマーごとに1つのMVRFしかサポートされていません。この制約によって、カスタマーはインターネットまたはその他の外部ドメインのマルチキャスト トラフィックを受信することはできません。
カスタマーごとに固有のグループ アドレスをMDTとして使用する必要があります。プロバイダー ネットワーク上のマルチキャスト パケット用の固有の送信元アドレスも必要です。この送信元アドレスは、IBGPの送信元として使用されるループバック インターフェイスのアドレスにすることを推奨します。リモートPEでは、このアドレスがRPFチェックに使用されます。
プロバイダーがMDTデータ グループを使用する場合は、これらのグループも設定する必要があります。これらのMDTデータ グループは、カスタマーごとに固有でなければなりません。
PEルータは、相互にPIM隣接関係を持っている必要があります。他のルーティング プロトコルでは、これらのMTIは使用できません。
図6
プロバイダーPIMの隣接関係

BGPの要件
MVPNを認識する必要があり、MVPNに関するリモートPEの情報をシグナリングできなければならないルータは、PEルータだけです。したがって、すべてのPEルータが相互にBGP関係を持っている必要があります。それは直接でも、ルータ リフレクタ経由でも構いません。
デフォルトMDTの送信元アドレスは、同じVPNおよびMVRFに属するリモートPEルータとのiBGPセッションの送信元に使用されるものと同じアドレスです。プロバイダー コア内部での転送にPIM-SSMを使用する場合、PEがMVPN対応であり送信元検出を行うことを表明するのは、このBGP関係を介してです。この能力は、BGPアップデートによって伝えられます。
PEがRDおよびグループ情報を含むBGPアップデートを受信すると、PEはそのツリーのルートに加入し、それによってMDTに加入します。
PEに関するRPFチェックは、次の条件が満たされた場合に成功します。
1. CEデータの送信元のネクスト ホップが、MDTの送信元であるBGPネイバである。
用語集
参考資料
http://search.ietf.org/internet-drafts/draft-rosen-vpn-mcast-03.txt
http://www.cisco.com/go/ipmulticast
http://www.ietf.org/html.charters/idmr-charter.html
『Developing IP Multicast Networks, Volume I』
Beau Williamson, CCIE
ISBN:1578700779