この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Next Generation Multicast over VPN(mVPN)のプロファイル6であるインバンドシグナリングVRF MLDPについて説明します。 動作を説明するために、Cisco IOSの例と実装を使用します。
Multicast Label Distribution Protocol(MLDP)インバンドシグナリング:ボーダーゲートウェイプロトコル(BGP)やProtocol Independent Multicast(PIM)などのアウトオブバンドシグナリングを使用せずに、MLDPコアが(S、G)または(*、G)状態を作成できるようにします。
MLDP対応マルチキャストVPN(MVPN)により、VPNマルチキャストストリームをVPN固有のツリーで集約できます。
MLDPコアには顧客状態は作成されません。デフォルトおよびデータマルチキャスト配信ツリー(MDT)には唯一の状態があります。
特定のシナリオでは、VPNストリームに対して作成される状態は制限されており、リスクや制限要因ではないようです。これらのシナリオでは、MLDPは中継ラベルスイッチドパス(LSP)であるインバンドMDTを構築できます。
VPNスペースで使用されるツリーはMDTです。グローバルテーブルで使用されるツリーは、中継ポイントツーマルチポイント(P2MP)またはマルチポイント(MP2MP)LSPです。
いずれの場合も、単一のマルチキャストストリーム(VPNまたはVPN)は、MPLSコア内の単一のLSPに関連付けられます。ストリーム情報は、LSPのForwarding Equivalence Class(FEC;転送等価クラス)で符号化されます。これはインバンドシグナリングです。
LSMは、コア内で顧客のトラフィックを転送するために現在使用されているGREコアトンネルと比較して利点を提供し、MPLSインフラストラクチャを利用してIPマルチキャストパケットを転送し、ユニキャストとマルチキャストに共通のデータプレーンを提供します。
MLDPシグナリングには、次の2つの機能があります。
[Typed Wildcard FEC Element]は、制約を満たす指定タイプのすべてのFECを参照します。 これは、「FEC要素タイプ」と、追加情報を提供するためのオプションの制約を指定します。
型指定ワイルドカードFEC要素の形式は次のとおりです。
型指定ワイルドカード:1オクテットのFECエレメントタイプ(0x05)。
LDP [RFC5036]は、転送等価クラス(FEC)のラベルを配布します。 LDPはFEC TLVをLDPメッセージで使用してFECを指定します。
LDP FEC TLVには1つ以上のFEC要素が含まれます。 FEC要素は、FEC型とオプションの型依存値とを含む。
RFC 5036では2つのFECタイプ(プレフィクスとワイルドカード)が規定されており、その他のドキュメントでは追加のFECタイプが規定されています。たとえば、[RFC4447]および[MLDP]を参照してください。
RFC 5036で規定されているとおり、ワイルドカードFEC要素は、オプションの制約に関連するすべてのFECを参照します。
唯一の制約RFC 5036は、ワイルドカードFEC要素の範囲を「特定のラベルにバインドされたすべてのFEC」に制限するものです。
ワイルドカードFEC要素のRFC 5036仕様には、そのユーティリティを制限する次の欠陥があります。
ステップ1:コアノードでMPLS MLDPを有効にします。
# mpls mldp logging
ステップ2:コアでMLDPインバンドシグナリングを有効にします。
PE1、PE2、およびPE3
# ip multicast vrf INBAND-MLDP mpls mldp
# ip pim vrf INBAND-MLDP mpls source loopback 0
ステップ3:すべてのCEインターフェイスとPE VRFインターフェイスでPIM SMを有効にします。
CE1、CE2、CE3、およびすべてのVRFインターフェイスPE1、PE2、およびPE3上
# interface x/x
# ip pim sparse-mode
# interface loopback x/x
# ip pim sparse-mode
注:PIMモードは、プロバイダエッジルータのCE側インターフェイスでのみ有効にします。コアに必要ありません。
手順4:VRFでマルチキャストを有効にします。
PE1、PE2、およびPE3
# ip multicast-routing vrf inband-MLDP
ステップ5:PEルータのPE-CEインターフェイスx/xでVRFを有効にします。
# interface x/x
# ip vrf forwarding INBAND-MLDP
ステップ6:CEおよびPEノードでモードSSMを設定します(VRFのみ)。
CEノード上
# ip pim ssm default
PE1、PE2、PE3(VRF下)
# ip pim vrf inband-MLDP ssm default
ステップ7:IGMPグループSSM 232.1.1.1(レシーバ)を設定します。
レシーバ2および3
CE #interface x/x
# ip pim join-group 232.1.1.1 source 10.1.0.2
IGP、MPLS LDP、BGPはネットワーク全体でエンドツーエンドで正常に動作します。
このセクションでは、コア/アグリゲーションネットワークのVPN AF隣接関係を確認するために検証を行います。CE-PE間の隣接関係がチェックされ、コントロールプレーンも、MPLSネットワーク上のVPNトラフィックのデータプレーンとともにチェックされます。
ローカルおよびリモートのカスタマーエッジ(CE)デバイスがマルチプロトコルラベルスイッチング(MPLS)コア経由で通信できることを確認するには、次のタスクを実行します。
タスク 1:物理的な接続の確認.
タスク 2:BGPアドレスファミリVPNv4ユニキャストを確認します。
タスク 3:マルチキャストトラフィックのエンドツーエンドを確認します。
PE1、PE2、およびPE3のPE VRF mRIBエントリ
タスク 4:MPLS COREを確認します。
PEルータがIPヘッダーに基づいて転送し、MPLSネットワークへの入力時にパケットにMPLSラベルを追加するときに、ラベルインポジション(LMPLS)が発生するコントロールプレーンを確認します。
ラベルインポジションの方向では、ルータはCEFテーブルルックアップに基づいてパケットをスイッチングし、ネクストホップを見つけ、宛先のFIBに保存されている適切なラベル情報を追加します。ルータがMPLSパケットのコアでラベルスワッピングを実行すると、ルータはMPLSテーブルルックアップを実行します。ルータは、CEFテーブルとラベル情報ベース(LIB)の情報からこのMPLSテーブル(LFIB)を取得します。
ラベルの廃棄は、PEルータがMPLSパケットを受信し、MPLSラベルに基づいて転送決定を行い、ラベルを削除し、IPパケットを送信すると発生します。PEルータは、この方向のパケットのパス決定にLFIBを使用します。前述したように、特別なiBGPセッションは、PEルータ間のVPNv4プレフィックスとそのラベルのアドバタイズを容易にします。アドバタイジングPEでは、BGPはローカルで学習されたVPNプレフィックスにラベルを割り当て、MPLS転送テーブルであるLFIBにラベルをインストールします。
ステップ1:コアでMLDPを設定すると、これらのメッセージが交換されます。
MLDP: P2MP Wildcard label request sent to 11.11.11.11:0 success MLDP: MP2MP Wildcard label request sent to 11.11.11.11:0 success MLDP-MFI: Enabled MLDP MFI client on Lspvif0; status = ok LDP Peer 11.11.11.11:0 re-announced MLDP-NBR: 11.11.11.11:0 UP sess_hndl: 1, (old ID: 0.0.0.0:0) mLDP-RW: Sending RW notification message to process: mLDP Process mLDP-RW: RW Tracking started for: 11.11.11.11 MLDP-LDP: [id 0] Wildcard label request from: 11.11.11.11:0 label: 0 root: 6.2.0.0 Opaque_len: 0 sess_hndl: 0x1 MLDP-LDP: [id 0] Wildcard label request from: 11.11.11.11:0 label: 0 root: 8.2.0.0 Opaque_len: 0 sess_hndl: 0x1 Neighbor 11.11.11.11 request for the label request to PE1.
このデバッグを使用して、上記の確立を確認します。
# debug mpls mldp all
注:プレフィックスのラベルデータベースを再生して、ピアから受信したTyped Wildcard Label Requestsに応答します。ピアに対してTyped Wildcard Label Requestsを使用して、プレフィックスのピアラベルデータベースの再生を要求します。
ステップ2:VRFでインバンドシグナリングを有効にします。
PE1 # Config t # ip pim vrf MLDP-INBAND mpls source loopback 0 # ip multicast vrf MLDP-INBAND mpls mldp MLDP: Enabled IPv4 on Lspvif0 unnumbered with Loopback0 MLDP-MFI: Enable lsd on int failed; not registered; MLDP: Enable pim on lsp vif: Lspvif0 MLDP: Add success lsp vif: Lspvif0 address: 0.0.0.0 application: MLDP vrf_id: 1 MLDP-DB: Replaying database events for opaque type value: 250 %LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif0, changed state to up PIM(1): Check DR after interface: Lspvif0 came up! PIM(1): Changing DR for Lspvif0, from 0.0.0.0 to 1.1.1.1 (this system) %PIM-5-DRCHG: VRF MLDP-INBAND: DR change from neighbor 0.0.0.0 to 1.1.1.1 on interface Lspvif0 Use this Debug to check the preceding establishment # debug ip pim vrf LDP-INBAND6 PE1#sh interfaces lspvif 0 Lspvif0 is up, line protocol is up Hardware is Interface is unnumbered. Using address of Loopback0 (1.1.1.1) MTU 17940 bytes, BW 8000000 Kbit/sec, DLY 5000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation LOOPBACK, loopback not set
注:レシーバがまだオンラインでないため、MPLS MLDPはまだ作成されていません。
レシーバがオンラインになると:
レシーバ3がオンラインになり、PIM JOIN(S、G)メッセージをPE3に送信します。
PIM(1): Received v2 Join/Prune on Ethernet0/2 from 10.2.0.2, to us PIM(1): Join-list: (10.1.0.2/32, 232.1.1.1), S-bit set MRT(1): Create (*,232.1.1.1), RPF (unknown, 0.0.0.0, 2147483647/0) MLDP: Interface Lspvif1 moved from VRF (default) to VRF MLDP-INBAND MLDP: Enabled IPv4 on Lspvif1 unnumbered with Loopback0 MLDP-MFI: Enabled MLDP MFI client on Lspvif1; status = ok MRT(1): Add interface Lspvif1 MLDP: Enable pim on lsp vif: Lspvif1 MLDP: Add success lsp vif: Lspvif1 address: 1.1.1.1 application: MLDP vrf_id: 1 MLDP: LDP root 1.1.1.1 added mLDP-RW: Sending RW notification message to process: mLDP Process mLDP-RW: RW Tracking started for: 1.1.1.1 MLDP: Route watch started for 1.1.1.1 topology: base ipv4 MLDP-DB: Added [vpnv4 10.1.0.2 232.1.1.1 1:1] DB Entry MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] Added P2MP branch for MRIBv4(1) label %MLDP-5-ADD_BRANCH: [vpnv4 10.1.0.2 232.1.1.1 1:1] Root: 1.1.1.1, Add P2MP branch MRIBv4(1) remote label MLDP: nhop 10.0.2.2 added MLDP-NBR: 11.11.11.11:0 mapped to next_hop: 10.0.2.2 MLDP: Root 1.1.1.1 old paths: 0 new paths: 1 MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] Changing peer from none to 11.11.11.11:0 MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] Add accepting element nbr: 11.11.11.11:0 MLDP: [vpnv4 10.1.0.2 232.1.1.1 1:1] label mappping msg sent to 11.11.11.11:0 success MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] path to peer: 11.11.11.11:0 changed None:0.0.0.0 to Ethernet0/3:10.0.2.2
レシーバ(S,G)参加からの通信はすべてMLDPに変換され、すべてのメッセージがLspvif 1に向けて送信されます
PIM JOIN(S,G)をMLDPがレシーバ駆動プロトコルとして使用すると、MLDPデータベースの構築をレシーバからソースに開始します。これは、P2MP MLDPのダウンストリームラベル割り当てです。
P2MPパケット転送は、Resource Reservation Protocol(RSVP)P2MP - Traffic Engineering(P2MP-TE)を使用して実装され、M2Mパケット転送は、マルチキャストラベル配布プロトコル(MLDP)を使用してIPv4マルチキャストVPNをでで実行されます。
パケットは、次の3種類のルータ経由で転送されます。
・ヘッドエンドルータ:1つ以上のラベルでIPパケットをカプセル化します。
・ミッドポイントルータ:in-labelをout-labelに置き換えます。
・テールエンドルータ:パケットからラベルを削除します。
MLDPベースのMVPNネットワークでのパケットフロー着信パケットごとに、MPLSは複数の出力ラベルを作成します。送信元ネットワークからのパケットは、受信側ネットワークへのパスに沿って複製されます。CE1ルータはネイティブIPマルチキャストトラフィックを送信します。PE1ルータは、着信マルチキャストパケットにラベルを付け、ラベル付きパケットをMPLSコアネットワークに複製します。パケットがコアルータ(P)に到達すると、パケットはMP2MPデフォルトMDTまたはP2MPデータMDTに適切なラベルで複製され、すべての出力PEに転送されます。パケットが出力PEに到達すると、ラベルが削除され、IPマルチキャストパケットがVRFインターフェイスに複製されます
PE1#sh mpls mldp database * For interface indicates MLDP recursive forwarding is enabled * For RPF-ID indicates wildcard value > Indicates it is a Primary MLDP MDT Branch LSM ID : 1 Type: P2MP Uptime : 00:23:11 FEC Root : 1.1.1.1 (we are the root) Opaque decoded : [vpnv4 10.1.0.2 232.1.1.1 1:1] Opaque length : 16 bytes Opaque value : FA 0010 0A010002E80101010000000100000001 Upstream client(s) : None Expires : N/A Path Set ID : 1 Replication client(s): 11.11.11.11:0 Uptime : 00:23:11 Path Set ID : None Out label (D) : 21 Interface : Ethernet0/1* Local label (U): None Next Hop : 10.0.1.2 RR-P#sh mpls mldp database * For interface indicates MLDP recursive forwarding is enabled * For RPF-ID indicates wildcard value > Indicates it is a Primary MLDP MDT Branch LSM ID : 2 Type: P2MP Uptime : 00:28:12 FEC Root : 1.1.1.1 Opaque decoded : [vpnv4 10.1.0.2 232.1.1.1 1:1] Opaque length : 16 bytes Opaque value : FA 0010 0A010002E80101010000000100000001 Upstream client(s) : 1.1.1.1:0 [Active] Expires : Never Path Set ID : 2 Out Label (U) : None Interface : Ethernet0/1* Local Label (D): 21 Next Hop : 10.0.1.1 Replication client(s): 3.3.3.3:0 Uptime : 00:28:12 Path Set ID : None Out label (D) : 26 Interface : Ethernet0/2* Local label (U): None Next Hop : 10.0.3.1 2.2.2.2:0 Uptime : 00:24:41 Path Set ID : None Out label (D) : 25 Interface : Ethernet0/3* Local label (U): None Next Hop : 10.0.2.1 RR-P#sh mpls forwarding-table labels 21 Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 21 26 [vpnv4 10.1.0.2 232.1.1.1 1:1] \ 0 Et0/2 10.0.3.1 25 [vpnv4 10.1.0.2 232.1.1.1 1:1] \ 0 Et0/3 10.0.2.1
PEデバイスで作成されたMRIB:
PE1#sh ip mroute vrf MLDP-INBAND 232.1.1.1 verbose IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet, U - URD, I - Received Source Specific Host Report, (10.1.0.2, 232.1.1.1), 00:00:17/00:02:42, flags: sTI Incoming interface: Ethernet0/2, RPF nbr 10.1.0.2 Outgoing interface list: Lspvif0, LSM ID: 1, Forward/Sparse, 00:00:17/00:02:42
Sourceがストリーミングを開始するとき:
マルチキャストソースがトラフィックの送信を開始すると、[10.1.0.2, 232.1.1.1]が次の図のように発生します。
送信元10.1.0.2からのトラフィックが232.1.1.1からストリーミングされます。ethernet0/2から入ります。
パケットはLspvif 0経由で転送されました。
PIM(0): Insert (10.1.0.2,232.1.1.1) join in nbr 10.1.0.2's queue PIM(0): Building Join/Prune packet for nbr 10.1.0.2 PIM(0): Adding v2 (10.1.0.2/32, 232.1.1.1), S-bit Join PIM(0): Send v2 join/prune to 10.1.0.2 (Ethernet0/2) MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Ethernet0/2 (FS) accepted for forwarding MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Ethernet0/2 (FS) sent on Lspvif0, LSM NBMA/4
このパケットはLspvif 0にトンネリングされます。
受信側:
受信側では、パケットはLspvif 1に到達します。
MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Lspvif1 (FS) accepted for forwarding MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Lspvif1 (FS) sent on Ethernet0/0 PIM(0): Received v2 Join/Prune on Ethernet0/0 from 10.3.0.2, to us PIM(0): Join-list: (10.1.0.2/32, 232.1.1.1), S-bit set PIM(0): Update Ethernet0/0/10.3.0.2 to (10.1.0.2, 232.1.1.1), Forward state, by PIM SG Join
パケットがPE1に到達すると、LSM IDをチェックしてトラフィックを転送し、マルチキャストパケットに割り当てるラベルを確認します。
次の図は、LSPVIFインターフェイスの確認を示しています。
着信パケットごとに、MPLSは複数の出力ラベルを作成します。送信元ネットワークからのパケットは、受信側ネットワークへのパスに沿って複製されます。CE1ルータはネイティブIPマルチキャストトラフィックを送信します。PE1ルータは、着信マルチキャストパケットにラベルを付け、ラベル付きパケットをMPLSコアネットワークに複製します。
パケットがコアルータ(P)に到達すると、パケットはMP2MPデフォルトMDTまたはP2MPデータMDTに適切なラベルで複製され、すべての出力PEに転送されます。パケットが出力PEに到達すると、ラベルが削除され、IPマルチキャストパケットがVRFインターフェイスに複製されます。
MLDP MVPN設定により、MPLSを使用したIPv4マルチキャストパケット配信が可能になります。この設定では、MPLSラベルを使用して、デフォルトおよびデータのマルチキャスト配信ツリー(MDT)を構築します。
MPLSレプリケーションは、コアネットワークの転送メカニズムとして使用されます。MLDP MVPN設定が機能するには、グローバルMPLS MLDP設定が有効になっていることを確認します。