この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Multicast over VPN(mVPN)用の厳密なリバース パス フォワーディング(RPF)機能について説明します。 このドキュメントでは、Cisco IOS® での例および実装を使用して、動作を示します。
RPF では、入力インターフェイスが送信元に対してチェックされます。送信元に対する正しいインターフェイスであることを確認するためのチェックは行われますが、そのインターフェイス上の正しい RPF ネイバーであることを確認するチェックは行われません。マルチアクセス インターフェイスでは、RPF が可能なネイバーが複数ある場合があります。その場合、ルータがそのインターフェイス上で同じマルチキャスト ストリームを 2 回受信し、そのどちらも転送する可能性があります。
Protocol Independent Multicast(PIM)がマルチアクセス インターフェイスで動作するネットワークにおいては、マルチキャスト ストリームが重複しているとアサート機能が動作して、マルチキャスト ストリームの一方を受信しなくなるため、問題にはなりません。場合によっては、マルチアクセス インターフェイスであるマルチキャスト配布ツリー(MDT)上で PIM が動作しません。そのような場合、ボーダー ゲートウェイ プロトコル(BGP)は、オーバーレイ シグナリング プロトコルです。
パーティション MDT を伴うプロファイルにおいては、PIM がオーバーレイ プロトコルとして実行されていても、アサートが不可能な場合があります。これは、複数の入力 PE ルータのあるシナリオで、1 つの入力のプロバイダー エッジ(PE)は別の入力 PE からのパーティション MDT に結合しないためです。各入力 PE ルータは、マルチキャスト トラフィックが表示されている他の入力 PE ルータなしで、パーティション MDT にマルチキャスト ストリームを転送できます。同じマルチキャスト ストリームについて、2 つの出力 PE ルータがそれぞれ、別の入力 PE ルータへ MDT に結合するというのは、有効なシナリオです。これはエニーキャスト ソースと呼ばれます。これにより、複数の異なる受信側が、マルチプロトコル ラベル スイッチング(MPLS)コア内の異なるパスで、同じマルチキャスト ストリームに結合できるようになります。エニーキャスト ソースの例については、図 1 を参照してください。
図 1:
2 つの入力 PE ルータがあります。PE1とPE2。出力PEルータは2つあります。PE3およびPE4。各出力PEルータには、RPFネイバーとして異なる入力PEルータがあります。PE3 の RPF ネイバーは PE1 です。PE4 の RPF ネイバーは PE2 です。出力 PE ルータは、RPF ネイバーとして最も近い入力 PE ルータを選択します。
S1 から Receiver 1 へのストリーム(S1、G)は最上位パス、S1 から Receiver 2 へは最下位パスになります。2 つのパス上で 2 つのストリームの交差点はありません(MPLS コアの各パスは異なるパーティション MDT です)。
MDT がデフォルト MDT(デフォルト MDT プロファイルに含まれるものなど)の場合、2 つのマルチキャスト ストリームが同じデフォルト MDT 上にあり、アサート メカニズムが動作するため、これは機能しません。MDT がデフォルト MDT プロファイルのデータ MDT である場合は、すべての入力 PE ルータは他の入力 PE ルータからのデータ MDT に結合するため、互いのマルチキャスト トラフィックが表示され、アサート機能が再び動作します。オーバーレイ プロトコルが BGP の場合、アップストリーム マルチキャスト ホップ(UMH)の選択があり、1 つの入力 PE ルータのみがフォワーダとして選択されますが、これは MDT によって異なります。
エニーキャスト ソースは、パーティション MDT を実行する大きな利点の 1 つです。
定期的な RPF チェックにより、パケットが正しい RPF インターフェイスからルータに到着することが確認されます。パケットがそのインターフェイス上の正しい RPF ネイバーから受信していることを確認するチェックはありません。
図2を参照してください。パーティションMDTを使用したシナリオで、重複トラフィックが永続的に転送される問題を示しています。パーティション MDT の場合の定期的な RPF チェックでは、重複トラフィック回避のために十分ではないことが示されています。
図 2
次の 2 つのレシーバがあります。最初のレシーバはトラフィックを受信するように設定されています(S1、G)および(S2、G)。 2 番目のレシーバは、(S2、G)についてのみトラフィックを受信するように設定されています。パーティション MDT があり、BGP はオーバーレイ シグナリング プロトコルです。送信元S1はPE1とPE2の両方を介して到達可能です。コアツリープロトコルはMultipoint Label Distribution Protocol(mLDP)です。
各 PE ルータは、パーティション MDT のルートの候補であることを示すタイプ 1 BGP IPv4 mVPN ルートをアドバタイズします。
PE3#show bgp ipv4 mvpn vrf one
BGP table version is 257, local router ID is 10.100.1.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-pah, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:3 (default for vrf one)
*>i [1][1:3][10.100.1.1]/12
10.100.1.1 0 100 0 ?
*>i [1][1:3][10.100.1.2]/12
10.100.1.2 0 100 0 ?
*> [1][1:3][10.100.1.3]/12
0.0.0.0 32768 ?
*>i [1][1:3][10.100.1.4]/12
10.100.1.4 0 100 0 ?
PE3 は、S1 のユニキャスト ルートの照合後に、S1 の RPF ネイバーとして PE1 を検出しました。
PE3#show bgp vpnv4 unicast vrf one 10.100.1.6/32
BGP routing table entry for 1:3:10.100.1.6/32, version 16
Paths: (2 available, best #2, table one)
Advertised to update-groups:
5
Refresh Epoch 2
65001, imported path from 1:2:10.100.1.6/32 (global)
10.100.1.2 (metric 21) (via default) from 10.100.1.5 (10.100.1.5)
Origin incomplete, metric 0, localpref 100, valid, internal
Extended Community: RT:1:1 MVPN AS:1:0.0.0.0 MVPN VRF:10.100.1.2:1
Originator: 10.100.1.2, Cluster list: 10.100.1.5
mpls labels in/out nolabel/20
rx pathid: 0, tx pathid: 0
Refresh Epoch 2
65001, imported path from 1:1:10.100.1.6/32 (global)
10.100.1.1 (metric 11) (via default) from 10.100.1.5 (10.100.1.5)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:1:1 MVPN AS:1:0.0.0.0 MVPN VRF:10.100.1.1:1
Originator: 10.100.1.1, Cluster list: 10.100.1.5
mpls labels in/out nolabel/29
rx pathid: 0, tx pathid: 0x0
PE3#show ip rpf vrf one 10.100.1.6
RPF information for ? (10.100.1.6)
RPF interface: Lspvif0
RPF neighbor: ? (10.100.1.1)
RPF route/mask: 10.100.1.6/32
RPF type: unicast (bgp 1)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base, originated from ipv4 unicast base
PE3 は、(S1、G)の RPF ネイバーとして PE1 を選択し、PE1 をルートとして持つパーティション MDT に結合します。PE3 は、(S2、G)の RPF ネイバーとして PE2 を選択し、PE2 をルートとして持つパーティション MDT に結合します。
PE3#show bgp vpnv4 unicast vrf one 10.100.1.7/32
BGP routing table entry for 1:3:10.100.1.7/32, version 18
Paths: (1 available, best #1, table one)
Advertised to update-groups:
6
Refresh Epoch 2
65002, imported path from 1:2:10.100.1.7/32 (global)
10.100.1.2 (metric 21) (via default) from 10.100.1.5 (10.100.1.5)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:1:1 MVPN AS:1:0.0.0.0 MVPN VRF:10.100.1.2:1
Originator: 10.100.1.2, Cluster list: 10.100.1.5
mpls labels in/out nolabel/29
rx pathid: 0, tx pathid: 0x0
PE3#show ip rpf vrf one 10.100.1.7
RPF information for ? (10.100.1.7)
RPF interface: Lspvif0
RPF neighbor: ? (10.100.1.2)
RPF route/mask: 10.100.1.7/32
RPF type: unicast (bgp 1)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base, originated from ipv4 unicast base
PE4 は、(S1、G)の RPF ネイバーとして PE2 を選択し、PE1 をルートとして持つパーティション MDT に結合します。
PE4#show bgp vpnv4 unicast vrf one 10.100.1.6/32
BGP routing table entry for 1:4:10.100.1.6/32, version 138
Paths: (2 available, best #1, table one)
Advertised to update-groups:
2
Refresh Epoch 2
65001, imported path from 1:2:10.100.1.6/32 (global)
10.100.1.2 (metric 11) (via default) from 10.100.1.5 (10.100.1.5)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:1:1 MVPN AS:1:0.0.0.0 MVPN VRF:10.100.1.2:1
Originator: 10.100.1.2, Cluster list: 10.100.1.5
mpls labels in/out nolabel/20
rx pathid: 0, tx pathid: 0x0
Refresh Epoch 2
65001, imported path from 1:1:10.100.1.6/32 (global)
10.100.1.1 (metric 21) (via default) from 10.100.1.5 (10.100.1.5)
Origin incomplete, metric 0, localpref 100, valid, internal
Extended Community: RT:1:1 MVPN AS:1:0.0.0.0 MVPN VRF:10.100.1.1:1
Originator: 10.100.1.1, Cluster list: 10.100.1.5
mpls labels in/out nolabel/29
rx pathid: 0, tx pathid: 0
PE4#show ip rpf vrf one 10.100.1.6
RPF information for ? (10.100.1.6)
RPF interface: Lspvif0
RPF neighbor: ? (10.100.1.2)
RPF route/mask: 10.100.1.6/32
RPF type: unicast (bgp 1)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base, originated from ipv4 unicast base
RPF インターフェイスが、S1(10.100.1.6)と S2(10.100.1.7)の両方について Lspvif0 であることに注意してください。
PE3 は(S2、G)の PE2 からパーティション MDT に結合し、PE4 は(S1、G)の PE2 からパーティション MDT に結合します。PE1 は、(S1、G)の PE1 からパーティション MDT に結合します。 PE1 および PE2 で受信されたタイプ 7 BGP IPv4 mVPN ルートによりこれを確認できます。
PE1#show bgp ipv4 mvpn vrf one
BGP table version is 302, local router ID is 10.100.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf one)
*>i [7][1:1][1][10.100.1.6/32][232.1.1.1/32]/22
10.100.1.3 0 100 0 ?
PE2#show bgp ipv4 mvpn vrf one
BGP table version is 329, local router ID is 10.100.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:2 (default for vrf one)
*>i [7][1:2][1][10.100.1.6/32][232.1.1.1/32]/22
10.100.1.4 0 100 0 ?
*>i [7][1:2][1][10.100.1.7/32][232.1.1.1/32]/22
10.100.1.3 0 100 0 ?
PE3 および PE4 上のマルチキャスト エントリ:
PE3#show ip mroute vrf one 232.1.1.1
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(10.100.1.7, 232.1.1.1), 21:18:24/00:02:46, flags: sTg
Incoming interface: Lspvif0, RPF nbr 10.100.1.2
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 00:11:48/00:02:46
(10.100.1.6, 232.1.1.1), 21:18:27/00:03:17, flags: sTg
Incoming interface: Lspvif0, RPF nbr 10.100.1.1
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 00:11:48/00:03:17
PE4#show ip mroute vrf one 232.1.1.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(10.100.1.6, 232.1.1.1), 20:50:13/00:02:37, flags: sTg
Incoming interface: Lspvif0, RPF nbr 10.100.1.2
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 20:50:13/00:02:37
これは、PE3 が PE1 をルートとするポイントツーマルチポイント(P2MP)ツリーに結合し、さらに PE2 をルートとするツリーにも結合します。
PE3#show mpls mldp database
* Indicates MLDP recursive forwarding is enabled
LSM ID : A Type: P2MP Uptime : 00:18:40
FEC Root : 10.100.1.1
Opaque decoded : [gid 65536 (0x00010000)]
Opaque length : 4 bytes
Opaque value : 01 0004 00010000
Upstream client(s) :
10.100.1.1:0 [Active]
Expires : Never Path Set ID : A
Out Label (U) : None Interface : Ethernet5/0*
Local Label (D): 29 Next Hop : 10.1.5.1
Replication client(s):
MDT (VRF one)
Uptime : 00:18:40 Path Set ID : None
Interface : Lspvif0
LSM ID : B Type: P2MP Uptime : 00:18:40
FEC Root : 10.100.1.2
Opaque decoded : [gid 65536 (0x00010000)]
Opaque length : 4 bytes
Opaque value : 01 0004 00010000
Upstream client(s) :
10.100.1.5:0 [Active]
Expires : Never Path Set ID : B
Out Label (U) : None Interface : Ethernet6/0*
Local Label (D): 30 Next Hop : 10.1.3.5
Replication client(s):
MDT (VRF one)
Uptime : 00:18:40 Path Set ID : None
Interface : Lspvif0
これは、PE4 が PE2 をルートとする P2MP ツリーに結合することを示しています:
PE4#show mpls mldp database
* Indicates MLDP recursive forwarding is enabled
LSM ID : 3 Type: P2MP Uptime : 21:17:06
FEC Root : 10.100.1.2
Opaque decoded : [gid 65536 (0x00010000)]
Opaque value : 01 0004 00010000
Upstream client(s) :
10.100.1.2:0 [Active]
Expires : Never Path Set ID : 3
Out Label (U) : None Interface : Ethernet5/0*
Local Label (D): 29 Next Hop : 10.1.6.2
Replication client(s):
MDT (VRF one)
Uptime : 21:17:06 Path Set ID : None
Interface : Lspvif0
S1 と S2 は、10 pps でグループ 232.1.1.1 を流れます。PE3とPE4でストリームを確認できますが、PE3では(S1,G)のレートを20 ppsとして確認できます。
PE3#show ip mroute vrf one 232.1.1.1 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
3 routes using 1692 bytes of memory
2 groups, 1.00 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.1.1.1, Source count: 2, Packets forwarded: 1399687, Packets received:
2071455
Source: 10.100.1.7/32, Forwarding: 691517/10/28/2, Other: 691517/0/0
Source: 10.100.1.6/32, Forwarding: 708170/20/28/4, Other: 1379938/671768/0
PE4#show ip mroute vrf one 232.1.1.1 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
2 routes using 1246 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.1.1.1, Source count: 1, Packets forwarded: 688820, Packets received:
688820
Source: 10.100.1.6/32, Forwarding: 688820/10/28/2, Other: 688820/0/0
PE3#show interfaces ethernet0/0 | include rate
Queueing strategy: fifo
30 second input rate 0 bits/sec, 0 packets/sec
30 second output rate 9000 bits/sec, 30 packets/sec
重複ストリームがあります。この重複は、PE1からのパーティションMDTとPE2からのパーティションMDTにストリーム(S1,G)が存在する結果です。このPE2からの2番目のパーティションMDTは、ストリーム(S2,G)を取得するためにPE3によって結合されました。 ただし、PE4がPE2からパーティションMDTに参加して(S1,G)を取得したため、(S1,G)はPE2からのパーティションMDTにも存在します。したがって、PE3は参加した両方のパーティションMDTからストリーム(S1,G)を受信します。
PE3は、PE1とPE2から受信する(S1、G)のパケットを区別できません。両方のストリームが正しいRPFインターフェイスで受信されます。Lspvif0 で受信されます。
PE3#show ip multicast vrf one mpls vif
Interface Next-hop Application Ref-Count Table / VRF name Flags
Lspvif0 0.0.0.0 MDT N/A 1 (vrf one) 0x1
パケットが PE3 上の異なる入力物理インターフェイスに到着する場合と、同じインターフェイスに到着する場合とがあります。いずれの場合も、(S1、G)の異なるストリームからのパケットは、PE3 で異なる MPLS ラベルで到着します。
PE3#show mpls forwarding-table vrf one
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
29 [T] No Label [gid 65536 (0x00010000)][V] \
768684 aggregate/one
30 [T] No Label [gid 65536 (0x00010000)][V] \
1535940 aggregate/one
[T] Forwarding through a LSP tunnel.
View additional labelling info with the 'detail' option
解決策は、厳密な RPF を使用することです。厳密な RPF では、RPF インターフェイスで受信されるパケットがどのネイバーからのものかがルータによりチェックされます。厳密な RPF がない場合には、入力インターフェイスが RPF インターフェイスかどうかというチェックのみ実行され、パケットがそのインターフェイス上の正しい RPF ネイバーから受信したものかどうかはチェックされません。
Cisco IOS での RPF についての重要な注意事項を次に示します。
Virtual Routing and Forwarding(VRF)については、PE3 上で厳密な RPF を設定できます。
vrf definition one
rd 1:3
!
address-family ipv4
mdt auto-discovery mldp
mdt strict-rpf interface
mdt partitioned mldp p2mp
mdt overlay use-bgp
route-target export 1:1
route-target import 1:1
exit-address-family
!
RPF 情報が変更されました。
PE3#show ip rpf vrf one 10.100.1.6
RPF information for ? (10.100.1.6)
RPF interface: Lspvif0
Strict-RPF interface: Lspvif1
RPF neighbor: ? (10.100.1.1)
RPF route/mask: 10.100.1.6/32
RPF type: unicast (bgp 1)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base, originated from ipv4 unicast base
PE3#show ip rpf vrf one 10.100.1.7
RPF information for ? (10.100.1.7)
RPF interface: Lspvif0
Strict-RPF interface: Lspvif2
RPF neighbor: ? (10.100.1.2)
RPF route/mask: 10.100.1.7/32
RPF type: unicast (bgp 1)
Doing distance-preferred lookups across tables
RPF topology: ipv4 multicast base, originated from ipv4 unicast base
PE3 により、入力 PE ごとに Lspvif インターフェイスが作成されました。Lspvif インターフェイスは、入力 PE、アドレス ファミリ(AF)、および VRF ごとに作成されます。10.100.1.6 の RPF が Lspvif1 を参照し、10.100.1.7 インターフェイスがインターフェイス Lspvif2 を参照するようになります。
PE3#show ip multicast vrf one mpls vif
Interface Next-hop Application Ref-Count Table / VRF name Flags
Lspvif0 0.0.0.0 MDT N/A 1 (vrf one) 0x1
Lspvif1 10.100.1.1 MDT N/A 1 (vrf one) 0x1
Lspvif2 10.100.1.2 MDT N/A 1 (vrf one) 0x1
PE1からのパケット(S1,G)のRPFチェックはRPFインターフェイスLspvif1に対して行われます。これらのパケットはMPLSラベル29に対して行われます。RPFチェックはRPFインターフェイスLspvif2にに対して行されます30.ストリームは異なる着信インターフェイスを介してPE3に到着しますが、これは同じインターフェイスである可能性もあります。ただし、mLDP が Penultimate Hop Popping(PHP)が使用することはないため、マルチキャスト パケットには常に通常の MPLS ラベルがあります。PE1 および PE2 から到着する(S1、G)パケットは 2 つの異なるパーティション MDT 上にあるため、それらの MPLS ラベルは異なります。したがって、PE3はPE1から来る(S1,G)ストリームとPE2から来る(S1,G)ストリームを区別できます。これにより、パケットはPE3によって分離され、RPFは異なる入力PEルータに対して実行できます。
PE3 上の mLDP データベースには、入力 PE ごとに異なる Lspvif インターフェイスが示されるようになります。
PE3#show mpls mldp database
* Indicates MLDP recursive forwarding is enabled
LSM ID : C Type: P2MP Uptime : 00:05:58
FEC Root : 10.100.1.1
Opaque decoded : [gid 65536 (0x00010000)]
Opaque length : 4 bytes
Opaque value : 01 0004 00010000
Upstream client(s) :
10.100.1.1:0 [Active]
Expires : Never Path Set ID : C
Out Label (U) : None Interface : Ethernet5/0*
Local Label (D): 29 Next Hop : 10.1.5.1
Replication client(s):
MDT (VRF one)
Uptime : 00:05:58 Path Set ID : None
Interface : Lspvif1
LSM ID : D Type: P2MP Uptime : 00:05:58
FEC Root : 10.100.1.2
Opaque decoded : [gid 65536 (0x00010000)]
Opaque length : 4 bytes
Opaque value : 01 0004 00010000
Upstream client(s) :
10.100.1.5:0 [Active]
Expires : Never Path Set ID : D
Out Label (U) : None Interface : Ethernet6/0*
Local Label (D): 30 Next Hop : 10.1.3.5
Replication client(s):
MDT (VRF one)
Uptime : 00:05:58 Path Set ID : None
Interface : Lspvif2
マルチキャスト ストリームは入力 PE ごとに異なる MPLS ラベルで入力 PE に到達するため、厳密な RPF または入力 PE ごとの RPF が動作します。
PE3#show mpls forwarding-table vrf one
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
29 [T] No Label [gid 65536 (0x00010000)][V] \
162708 aggregate/one
30 [T] No Label [gid 65536 (0x00010000)][V] \
162750 aggregate/one
[T] Forwarding through a LSP tunnel.
View additional labelling info with the 'detail' option
厳密なRPFが動作している証拠は、PE3に転送された重複ストリーム(S1,G)がなくなったことです。重複ストリームは引き続きPE3に到達しますが、RPFの障害によりドロップされます。RPF 障害カウンタは 676255 であり、10 pps の一定速度で増えていきます。
PE3#show ip mroute vrf one 232.1.1.1 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
3 routes using 1692 bytes of memory
2 groups, 1.00 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.1.1.1, Source count: 2, Packets forwarded: 1443260, Packets received:
2119515
Source: 10.100.1.7/32, Forwarding: 707523/10/28/2, Other: 707523/0/0
Source: 10.100.1.6/32, Forwarding: 735737/10/28/2, Other: 1411992/676255/0
この時点で PE3 での出力速度は 20 pps です。つまり、ストリーム(S1、G)と(S2、G)のそれぞれで 10 pps です。
PE3#show interfaces ethernet0/0 | include rate
Queueing strategy: fifo
30 second input rate 0 bits/sec, 0 packets/sec
30 second output rate 6000 bits/sec, 20 packets/sec
パーティション MDT を使用する mVPN 導入モデルでは、厳密な RPF チェックを使用する必要があります。
パーティション MDT を持つ mVPN 導入モデルに対して厳密な RPF チェックを設定しなくても、一見うまくいくように見えます。マルチキャスト ストリームはレシーバに配信されます。しかし、発信元が複数の入力 PE ルータに接続されている場合、重複したマルチキャスト トラフィックが存在する可能性があります。これはネットワークにおける帯域幅の浪費につながり、レシーバでのマルチキャスト アプリケーションに悪影響を与える可能性があります。そのため、パーティション MDT を使用する mVPN 導入モデルでは、厳密な RPF チェックを設定することは必須です。