目錄

簡介

核心樹協定的遷移

C-Multicast協定遷移

案例 1.

案例 2.

案例 3.

案例 4.

問題

解決方案

結論

簡介

本檔案介紹將多點傳送VPN(mVPN)通訊協定無關多點傳送(PIM)核心樹型多點傳送分佈樹(MDT)移轉至多點標籤分配通訊協定(mLDP)核心樹型多點傳送分佈樹(MDT)的過程。此外，還詳細說明了資料MDT在遷移時的訊號傳送方式。本檔案介紹僅為執行Cisco IOS®-XR的輸入提供器邊緣(PE)路由器進行的移轉。

核心樹協定的遷移

Dual-encap是指能夠同時將客戶(C)組播流轉發到不同型別核心樹上的入口路由器。例如，輸入PE路由器將一個C組播流同時轉發到基於PIM的核心樹和基於mLDP的核心樹上。這是將mVPN從一個核心樹型別成功遷移到另一個核心樹型別的要求。

PIM和mLDP支援雙封裝。

多重協定標籤交換(MPLS)P2MP流量工程(TE)不支援雙封裝。

預設MDT Generic Routing Encapsulation(GRE)和預設MDT mLDP遷移或共存依賴於入口PE路由器將一個C組播流同時轉發到基於PIM的核心樹和基於mLDP的核心樹這一事實。當輸入PE轉發到兩個MDT時，輸出PE路由器可以逐一從一個核心樹型別遷移到另一個核心樹型別。

通常，PE路由將從使用基於PIM的核心樹的最早的mVPN部署模式遷移到使用基於mLDP的樹的mVPN部署模式。最舊的mVPN實現是Profile 0，這是基於PIM的核心樹、無邊界網關協定(BGP)自動發現(AD)和重疊信令中的PIM。然而，遷移也可能以相反的方式發生。

讓我們看看此遷移方案，因為這是最常見的遷移：從核心中的GRE（配置檔案0）到預設MDT mLDP配置檔案。

可能有幾種可能的預設mLDP配置檔案。

我們來看看以下幾點：

- 不含BGP AD的mLDP

- 含BGP AD和PIM C訊號傳送的mLDP

- 含BGP AD和BGP C訊號傳送的mLDP

在後一種情況下，也存在C-signaling協定的遷移。

需要注意的事項之一是，使用BGP AD時，預設情況下由BGP發出資料MDT訊號。如果沒有BGP AD，則資料MDT無法由BGP發訊號。

在任何情況下，輸入PE必須同時配置配置檔案0和mLDP配置檔案。輸入PE將C組播流量轉發到兩個核心樹協定的兩個MDT（預設或資料）上。因此，必須在輸入PE上配置兩個預設MDT。

如果出口PE能夠運行核心樹協定PIM和mLDP，它可以決定從哪個樹中提取C組播流量。這是通過在輸出PE上配置反向路徑轉發(RPF)策略來實現的。

如果出口PE路由器只能配置配置檔案0，則該PE將只加入核心中的PIM樹，並在基於PIM的樹上接收C-multicast流。

註：如果使用PIM稀疏模式，則必須在基於GRE和基於mLDP的MDT上同時訪問RP-PE和S-PE。

C-Multicast協定遷移

C-multicast協定可以從PIM遷移到BGP，反之亦然。這是通過將輸出PE配置為選擇PIM或BGP作為重疊協定來實現的。它是通過PIM或BGP發出加入的輸出PE。在遷移方案中，輸入PE可以接收和處理兩者。

以下是輸出PE上配置的C-multicast協定的遷移示例：

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

BGP已作為重疊訊號通訊協定啟用。預設值為PIM。

案例

請參見圖1。以檢視用於這些方案的設定。

圖1.

在這些情況下，至少有一個傳統PE路由器作為接收器PE路由器。此路由器僅運行配置檔案0（預設MDT - GRE - PIM C-mcast信令）。

此路由器必須配置BGP IPv4 MDT。

至少有一台Receiver-PE路由器運行基於mLDP的配置檔案。這些都是預設MDT mLDP配置檔案(1、9、13、12、17)、所有分割槽的MDT mLDP配置檔案(2、4、5、14、15)和配置檔案7。還支援P2MP TE的配置檔案8。

輸入PE路由器是雙封裝路由器：它運行配置檔案0和基於mLDP的配置檔案。

此輸入PE路由器始終必須在基於PIM的MDT和基於mLDP的MDT上轉發流量。這些MDT可以是預設的MDT和資料的MDT。

作為傳統路由器，選擇運行IOS的路由器，該路由器只能運行配置檔案0。舊版路由器的配置如下。

vrf definition one

rd 1:3

vpn id 1:1

route-target export 1:1

route-target import 1:1

!

address-family ipv4

mdt default 232.1.1.1

exit-address-family

需要配置BGP IPv4 MDT:

router bgp 1

…

address-family ipv4 mdt

neighbor 10.1.100.7 activate

neighbor 10.1.100.7 send-community extended

exit-address-family

!

…

案例 1.

有一個或多個傳統PE路由器作為接收器 — PE路由器。

有一個或多個PE路由器作為執行Profile 1（預設MDT - mLDP MP2MP PIM C-mcast信令）的接收器 — PE路由器。

根本沒有BGP AD或BGP C多點傳送訊號傳送。

運行配置檔案1的Receiver-PE路由器的配置：

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

mdt default mldp ipv4 10.1.100.7

mdt data 100

rate-per-route

interface all enable

!

accounting per-prefix

!

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

輸入PE路由器的配置：

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

interface all enable

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

mdt data 255

mdt data 232.1.2.0/24

!

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

輸入PE路由器必須具有BGP地址系列IPv4 MDT，與傳統PE路由器相同。

輸入PE必須轉發到兩種型別的MDT上：

Ingress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.2.2.9 Flags: RPF MT

MT Slot: 0/1/CPU0

Up: 00:56:09

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 00:56:09

Outgoing Interface List

mdtone Flags: F NS MI MT MA, Up: 00:22:59      <<< PIM-based tree

Lmdtone Flags: F NS LMI MT MA, Up: 00:56:09    <<< mLDP-based tree

輸入PE應該將介面模組上的傳統PE和介面Lmdtone上的配置檔案1 PE視為PIM鄰居：

Ingress-PE#show pim vrf one neighbor

PIM neighbors in VRF one

Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,

E - ECMP Redirect capable

* indicates the neighbor created for this router

Neighbor Address             Interface             Uptime   Expires DR pri   Flags

10.1.100.1                   Lmdtone 6w1d     00:01:29 1     P

10.1.100.2*                  Lmdtone               6w1d     00:01:15 1 (DR) P

10.1.100.2*                  mdtone                 5w0d     00:01:30 1     P

10.1.100.3                   mdtone 00:50:20 00:01:30 1 (DR) P

輸入PE上的「debug pim vrf one mdt data」：

您會看到傳送了第1類（PIM核心樹）和第2類（mLDP核心樹）PIM加入TLV。第一個在mdtone上，第二個在Lmdtone上。

pim[1140]: [13] MDT Grp lookup: Return match for grp 232.1.2.4 src 10.1.100.2 in local list (-)

pim[1140]: [13] In mdt timers process...

pim[1140]: [13] Processing MDT JOIN SEND timer for MDT null core mldp pointer in one

pim[1140]: [13] In join_send_update_timer: route->mt_head 50c53b44

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x1

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x1

pim[1140]: [13] TLV added for one mtu 1348 size 16

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x1, core (10.1.100.2,232.1.2.4), for vrf one [local, -], mt_lc 0x11, mdt_if 'mdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'mdtone'

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x2

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x2, o_type 0x2

pim[1140]: [13] TLV added for one mtu 1348 size 36

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src 10.1.100.2, id [mdt 1:1 1], for vrf one [local, -], mt_lc 0x11, mdt_if 'Lmdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'Lmdtone'

pim[1140]: [13] Set next send time for core type (0x0/0x2) (v: 10.2.2.9,232.100.1.1) in one

pim[1140]: [13] 2. Flush MDT Join for one on Lmdtone(10.1.100.2) 6 (Cnt:1, Reached size 36 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] 2. Flush MDT Join for one on mdtone(10.1.100.2) 6 (Cnt:1, Reached size 16 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

Ingress-PE#show pim vrf one mdt cache

Core Source     Cust (Source, Group)               Core Data       Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             232.1.2.4       00:02:36

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]     00:02:36

註:PIM聯接類型長度值(TLV)是通過預設MDT傳送的PIM消息，用於傳送資料MDT的訊號。它定期傳送，每分鐘一次。

舊版輸出PE:

"debug ip pim vrf one 232.100.1.1":

PIM(1): Receive MDT Packet (55759) from 10.1.100.2 (Tunnel3), length (ip: 44, udp: 24), ttl: 1PIM(1): TLV type: 1 length: 16 MDT Packet length: 16

傳統PE快取PIM加入TLV:

Legacy-PE#show ip pim vrf one mdt receive

Joined MDT-data [group/mdt number : source] uptime/expires for VRF: one

[232.1.2.4 : 10.1.100.2] 00:01:10/00:02:45

傳統PE將資料MDT加入核心：

Legacy-PE#show ip mroute vrf one 232.100.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.2.2.9, 232.100.1.1), 00:08:48/00:02:34, flags: sTY

Incoming interface: Tunnel3, RPF nbr 10.1.100.2, MDT:[10.1.100.2,232.1.2.4]/00:02:46

Outgoing interface list:

GigabitEthernet1/1, Forward/Sparse, 00:08:48/00:02:34

配置檔案1接收器 — PE也接收PIM加入TLV，但對於基於mLDP的資料MDT:

Egress-PE#debug pim vrf one mdt data

pim[1161]: [13] Received MDT Packet on Lmdtone (vrf:one) from 10.1.100.2, len 36

pim[1161]: [13] Processing type 2 tlv

pim[1161]: [13] Received MDT Join TLV from 10.1.100.2 for cust route 10.2.2.9,232.100.1.1

MDT number 1 len 36

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] MDT cache upd: pe 10.1.100.2, (10.2.2.9,232.100.1.1), mdt_type 0x2, core

src 10.1.100.2, id [mdt 1:1 1], for vrf one [remote, -], mt_lc 0xffffffff, mdt_if 'xxx',

cache NULL

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] Cache get: Found entry for 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2

in one

RP/0/RP1/CPU0:Nov 27 16:04:02.726 : Return match for [mdt 1:1 1] src 10.1.100.2 in remote

list (one)

pim[1161]: [13] Remote join: MDT [mdt 1:1 1] known in one. Refcount (1, 1)

Egress-PE#show pim vrf one mdt cache

Core Source     Cust (Source, Group)               Core Data       Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]     00:02:12

Egress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.1.100.2 Flags: RPF

Up: 00:45:20

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:45:20

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS LI, Up: 00:45:20

案例 2.

有一個或多個傳統PE路由器作為接收器 — PE路由器。

有一個或多個PE路由器作為執行Profile 9（預設MDT - mLDP MP2MP BGP-AD PIM C-mcast Signaling）的接收器 — PE路由器。

涉及BGP AD，但不涉及BGP C組播信令。

運行配置檔案9的Receiver-PE路由器的配置：

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default mldp ipv4 10.1.100.7

!

!

!

router bgp 1

!

address-family vpnv4 unicast

!

!

address-family ipv4 mvpn

!

!

neighbor 10.1.100.7     <<< iBGP neighbor

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:1

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

輸入PE路由器必須具有BGP地址系列IPv4 MDT，與傳統PE路由器相同。輸入PE路由器必須具有BGP地址系列IPv4 MVPN，與Profile 9 Egress PE路由器相同。

輸入PE路由器的配置：

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

address-family ipv6 unicast

!

!

router pim

vrf one

address-family ipv4

mdt c-multicast-routing pim

announce-pim-join-tlv

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

interface all enable

bgp auto-discovery mldp

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

mdt data 255

mdt data 232.1.2.0/24

!

!

!

router bgp 1

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

neighbor 10.1.100.7     <<< iBGP neighbor

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:2

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

如果沒有「announce-pim-join-tlv」命令，如果啟用BGP自動發現(AD)，輸入PE路由器不會通過預設MDT傳送PIM加入TLV消息。如果沒有此命令，輸入PE路由器只會發出BGP IPv4 mvpn route-type 3更新。Profile 9 Egress PE路由器收到BGP更新並在快取中安裝Data MDT消息。傳統PE路由器不運行BGP AD，因此不能通過BGP獲取Data MDT Join消息。

輸入PE必須將C組播流量轉發到兩種型別的MDT上：

Ingress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.2.2.9 Flags: RPF MT

MT Slot: 0/1/CPU0

Up: 05:03:56

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 05:03:56

Outgoing Interface List

mdtone Flags: F NS MI MT MA, Up: 05:03:56

Lmdtone Flags: F NS LMI MT MA, Up: 05:03:12

輸入PE應該將介面模組上的傳統PE和介面Lmdtone上的配置檔案9 PE視為PIM鄰居：

Ingress-PE#show pim vrf one neighbor

PIM neighbors in VRF one

Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,

E - ECMP Redirect capable

* indicates the neighbor created for this router

Neighbor Address             Interface             Uptime   Expires DR pri   Flags

10.1.100.1                   Lmdtone               6w1d     00:01:18 1     P

10.1.100.2*                  Lmdtone               6w1d     00:01:34 1 (DR) P

10.1.100.2*                  mdtone                5w0d     00:01:18 1     P

10.1.100.3                   mdtone                06:00:03 00:01:21 1 (DR)

Profile 9輸出PE接收資料MDT消息，作為BGP更新地址系列IPv4 MVPN中的路由型別3:

Egress-PE#show bgp ipv4 mvpn vrf one

BGP router identifier 10.1.100.1, local AS number 1

BGP generic scan interval 60 secs

BGP table state: Active

Table ID: 0x0   RD version: 1367879340

BGP main routing table version 92

BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best

i - internal, r RIB-failure, S stale, N Nexthop-discard

Origin codes: i - IGP, e - EGP, ? - incomplete

Network           Next Hop           Metric LocPrf Weight Path

Route Distinguisher: 1:1 (default for vrf one)

*> [1][10.1.100.1]/40 0.0.0.0                               0 i

*>i[1][10.1.100.2]/40 10.1.100.2                   100     0 i

*>i[3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

10.1.100.2                   100     0 i

Processed 3 prefixes, 3 paths

Egress-PE#show bgp ipv4 mvpn vrf one [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

BGP routing table entry for [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120, Route

Distinguisher: 1:1

Versions:

Process           bRIB/RIB SendTblVer

Speaker                 92         92

Last Modified: Nov 27 20:25:32.474 for 00:44:22

Paths: (1 available, best #1, not advertised to EBGP peer)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

Local

10.1.100.2 (metric 12) from 10.1.100.7 (10.1.100.2)

Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate,

imported

Received Path ID 0, Local Path ID 1, version 92

Community: no-export

Extended community: RT:1:1

Originator: 10.1.100.2, Cluster list: 10.1.100.7

PMSI: flags 0x00, type 2, label 0, ID

0x060001040a016402000e02000b0000010000000100000001

Source VRF: default, Source Route Distinguisher: 1:2

此BGP路由是協定隧道型別2的路由型別3，即mLDP P2MP LSP（在P2MP mLSP LSP上構建的資料MDT）。由於未為PIM啟用BGP AD，因此任何PIM樹都沒有BGP route-type 3條目。

輸入PE上的「debug pim vrf one mdt data」：

pim[1140]: [13] In mdt timers process...

pim[1140]: [13] Processing MDT JOIN SEND timer for MDT null core mldp pointer in one

pim[1140]: [13] In join_send_update_timer: route->mt_head 50c53b44

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x1

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x1

pim[1140]: [13] TLV added for one mtu 1348 size 16

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x1, core

(10.1.100.2,232.1.2.5), for vrf one [local, -], mt_lc 0x11, mdt_if 'mdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one

(found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in

one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'mdtone'

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x2

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x2, o_type 0x2

pim[1140]: [13] TLV added for one mtu 1348 size 36

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src

10.1.100.2, id [mdt 1:1 1], for vrf one [local, -], mt_lc 0x11, mdt_if 'Lmdtone', cache

NULL

: pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in

one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'Lmdtone'

pim[1140]: [13] Set next send time for core type (0x0/0x2) (v: 10.2.2.9,232.100.1.1) in

one

pim[1140]: [13] 2. Flush MDT Join for one on Lmdtone(10.1.100.2) 6 (Cnt:1, Reached size

36 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] 2. Flush MDT Join for one on mdtone(10.1.100.2) 6 (Cnt:1, Reached size 16

MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

輸入PE傳送基於PIM和基於mLDP的資料MDT的PIM加入TLV。

在傳統PE上：

"debug ip pim vrf one 232.100.1.1":

PIM(1): Receive MDT Packet (56333) from 10.1.100.2 (Tunnel3), length (ip: 44, udp: 24), ttl: 1

PIM(1): TLV type: 1 length: 16 MDT Packet length: 16

傳統PE接收並快取PIM加入TLV:

Legacy-PE#show ip pim vrf one mdt receive

Joined MDT-data [group/mdt number : source] uptime/expires for VRF: one

[232.1.2.5 : 10.1.100.2] 00:23:30/00:02:33

傳統PE將資料MDT加入核心：

Legacy-PE#show ip mroute vrf one 232.100.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.2.2.9, 232.100.1.1), 05:13:35/00:03:02, flags: sTY

Incoming interface: Tunnel3, RPF nbr 10.1.100.2, MDT:[10.1.100.2,232.1.2.5]/00:02:37

Outgoing interface list:

GigabitEthernet1/1, Forward/Sparse, 05:13:35/00:03:02

Profile 9 Receiver-PE。

配置檔案9輸出PE上的「debug pim vrf one mdt data」：

pim[1161]: [13] Received MDT Packet on Lmdtone (vrf:one) from 10.1.100.2, len 36

pim[1161]: [13] Processing type 2 tlv

pim[1161]: [13] Received MDT Join TLV from 10.1.100.2 for cust route 10.2.2.9,232.100.1.1

MDT number 1 len 36

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] MDT cache upd: pe 10.1.100.2, (10.2.2.9,232.100.1.1), mdt_type 0x2, core

src 10.1.100.2, id [mdt 1:1 1], for vrf one [remote, -], mt_lc 0xffffffff, mdt_if 'xxx',

cache NULL

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] Cache get: Found entry for 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2

in one

pim[1161]: [13] MDT lookup: Return match for [mdt 1:1 1] src 10.1.100.2 in remote list

(one)

pim[1161]: [13] Remote join: MDT [mdt 1:1 1] known in one. Refcount (1, 1)

配置檔案9接收器 — PE接收並快取PIM加入TLV。由於從入口PE接收路由型別3的BGP更新消息，因此配置檔案9接收器PE也獲知了資料MDT。PIM加入TLV和BGP更新消息路由型別是等效的，並且包含有關資料MDT的核心樹隧道的相同資訊。

Egress-PE#show pim vrf one mdt cache

Core Source     Cust (Source, Group)               Core Data       Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]     00:02:35

Egress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.1.100.2 Flags: RPF

Up: 05:10:22

Incoming Interface List

Lmdtone Flags: A LMI, Up: 05:10:22

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS LI, Up: 05:10:22

案例 3.

有一個或多個傳統PE路由器作為接收器 — PE路由器。

有一個或多個PE路由器作為執行Profile 13的Receiver-PE路由器（預設MDT - mLDP MP2MP BGP-AD BGP C-mcast訊號）。

存在涉及BGP AD和BGP C-multicast信令。

運行配置檔案13的Receiver-PE路由器的配置：

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default mldp ipv4 10.1.100.7

!

!

!

router bgp 1

!

address-family vpnv4 unicast

!

!

address-family ipv4 mvpn

!

!

neighbor 10.1.100.7     <<< iBGP neighbor

remote-as 1

update-source Loopback0

!

address-family vpnv4 unicast

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:1

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

輸入PE路由器的配置：

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

address-family ipv6 unicast

!

!

router pim

vrf one

address-family ipv4

mdt c-multicast-routing bgp

announce-pim-join-tlv

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

interface all enable

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

mdt data 255

mdt data 232.1.2.0/24

!

!

!

router bgp 1

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

neighbor 10.1.100.7      <<< iBGP neighbor

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:2

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

如果沒有命令announce-pim-join-tlv，如果啟用BGP AD，輸入PE路由器不會通過預設MDT傳送PIM加入TLV消息。如果沒有此命令，輸入PE路由器只會發出BGP IPv4 mvpn route-type 3更新。Profile 13 Egress PE路由器收到BGP更新並在快取中安裝Data MDT消息。傳統PE路由器不運行BGP AD，因此不能通過BGP獲取Data MDT Join消息。

輸入PE必須轉發到兩種型別的MDT上：

Ingress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.2.2.9 Flags: RPF MT

MT Slot: 0/1/CPU0

Up: 19:49:27

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 19:49:27

Outgoing Interface List

mdtone Flags: F MI MT MA, Up: 19:49:27

Lmdtone Flags: F LMI MT MA, Up: 01:10:15

輸入PE應將介面模組上的傳統PE視為PIM鄰居。但是，不必將介面Lmdtone上的配置檔案13 PE作為PIM鄰居，因為BGP現在被用作C組播信令協定。

輸入PE上的「debug pim vrf one mdt data」：

pim[1140]: [13] In mdt timers process...

pim[1140]: [13] Processing MDT JOIN SEND timer for MDT null core mldp pointer in one

pim[1140]: [13] In join_send_update_timer: route->mt_head 50c53b44

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x1

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x1

pim[1140]: [13] TLV added for one mtu 1348 size 16

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x1, core (10.1.100.2,232.1.2.5), for vrf one [local, -], mt_lc 0x11, mdt_if 'mdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'mdtone'

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x2

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x2, o_type 0x2

pim[1140]: [13] TLV added for one mtu 1348 size 36

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src 10.1.100.2, id [mdt 1:1 1], for vrf one [local, -], mt_lc 0x11, mdt_if 'Lmdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'Lmdtone'

pim[1140]: [13] Set next send time for core type (0x0/0x2) (v: 10.2.2.9,232.100.1.1) in one

pim[1140]: [13] 2. Flush MDT Join for one on Lmdtone(10.1.100.2) 6 (Cnt:1, Reached size 36 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] 2. Flush MDT Join for one on mdtone(10.1.100.2) 6 (Cnt:1, Reached size 16 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] MDT Grp lookup: Return match for grp 232.1.2.5 src 10.1.100.2 in local list (-)

輸入PE傳送基於PIM和基於mLDP的資料MDT的PIM加入TLV。

傳統PE上的「debug ip pim vrf one 232.100.1.1」：

PIM(1): Receive MDT Packet (57957) from 10.1.100.2 (Tunnel3), length (ip: 44, udp: 24), ttl: 1

PIM(1): TLV type: 1 length: 16 MDT Packet length: 16

傳統PE快取PIM加入TLV:

Legacy-PE#show ip pim vrf one mdt receive

Joined MDT-data [group/mdt number : source]  uptime/expires for VRF: one

[232.1.2.5 : 10.1.100.2]  00:03:36/00:02:24

傳統PE將資料MDT加入核心：

Legacy-PE#show ip mroute vrf one 232.100.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.2.2.9, 232.100.1.1), 18:53:53/00:02:50, flags: sTY

Incoming interface: Tunnel3, RPF nbr 10.1.100.2, MDT:[10.1.100.2,232.1.2.5]/00:02:02

Outgoing interface list:

GigabitEthernet1/1, Forward/Sparse, 18:53:53/00:02:50

配置檔案13 Receiver-PE:

配置檔案13輸出PE上的「debug pim vrf one mdt data」：

pim[1161]: [13] Received MDT Packet on Lmdtone (vrf:one) from 10.1.100.2, len 36

pim[1161]: [13] Processing type 2 tlv

pim[1161]: [13] Received MDT Join TLV from 10.1.100.2 for cust route 10.2.2.9,232.100.1.1 MDT number 1 len 36

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1161]: [13] MDT cache upd: pe 10.1.100.2, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src 10.1.100.2, id [mdt 1:1 1], for vrf one [remote, -], mt_lc 0xffffffff, mdt_if 'xxx', cache NULL

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1161]: [13] Cache get: Found entry for 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

pim[1161]: [13] MDT lookup: Return match for [mdt 1:1 1] src 10.1.100.2 in remote list (one)

pim[1161]: [13] Remote join: MDT [mdt 1:1 1] known in one. Refcount (1, 1)

RP/0/RP1/CPU0:Legacy-PE#show pim vrf one mdt cache

Core Source      Cust (Source, Group)                Core Data        Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]      00:02:21

配置檔案13接收器 — PE接收並快取基於mLDP的MDT的PIM加入TLV。由於從入口PE接收到路由型別3的BGP更新消息，因此配置檔案13接收方PE也獲知了資料MDT。PIM加入TLV和BGP更新消息路由型別是等效的，並且包含有關資料MDT的核心樹隧道的相同資訊。

Ingress-PE#show bgp ipv4 mvpn vrf one

BGP router identifier 10.1.100.1, local AS number 1

BGP generic scan interval 60 secs

BGP table state: Active

Table ID: 0x0   RD version: 1367879340

BGP main routing table version 93

BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best

i - internal, r RIB-failure, S stale, N Nexthop-discard

Origin codes: i - IGP, e - EGP, ? - incomplete

Network            Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:1 (default for vrf one)

*> [1][10.1.100.1]/40 0.0.0.0                                0 i

*>i[1][10.1.100.2]/40 10.1.100.2                    100      0 i

*>i[3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

10.1.100.2                    100      0 i

*> [7][1:2][1][32][10.2.2.9][32][232.100.1.1]/184

0.0.0.0                                0 i

Processed 4 prefixes, 4 paths

Egress-PE#show bgp ipv4 mvpn vrf one [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

BGP routing table entry for [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120, Route Distinguisher: 1:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 92          92

Paths: (1 available, best #1, not advertised to EBGP peer)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

Local

10.1.100.2 (metric 12) from 10.1.100.7 (10.1.100.2)

Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, imported

Received Path ID 0, Local Path ID 1, version 92

Community: no-export

Extended community: RT:1:1

Originator: 10.1.100.2, Cluster list: 10.1.100.7

PMSI: flags 0x00, type 2, label 0, ID 0x060001040a016402000e02000b0000010000000100000001

Source VRF: default, Source Route Distinguisher: 1:2

此BGP路由是協定隧道型別2的路由型別3，即mLDP P2MP LSP（在P2MP mLSP LSP上構建的資料MDT）。任何PIM樹都不存在BGP路由型別3，因為未為PIM啟用BGP AD。

還有一個路由型別7，因為在配置檔案13輸出PE和輸入PE之間啟用了C組播信令。路由型別7 BGP更新從配置檔案13輸出PE傳送到輸入PE。

案例 4.

在此場景中，VPN情景中存在PIM稀疏模式。

有一個或多個傳統PE路由器作為源PE路由器。

有一個或多個PE路由器作為執行Profile 13的Receiver-PE路由器（預設MDT - mLDP MP2MP BGP-AD BGP C-mcast訊號）。存在涉及BGP AD和BGP C-multicast信令。因為這些PE路由器需要能夠直接從源PE（傳統PE路由器）接收流量，所以它們還需要運行配置檔案0。

RP-PE是運行配置檔案13（預設MDT - mLDP MP2MP BGP-AD BGP C-mcast信令）的PE路由器。存在涉及BGP AD和BGP C-multicast信令。因為RP-PE路由器需要能夠直接從源PE（傳統PE路由器）接收流量，所以它們還需要運行配置檔案0。

多點傳送路由在案例3中有效，但可能僅適用於來源特定多點傳送(SSM)。如果C信令為稀疏模式，則組播可能會失敗。這可能取決於Rendez-Vous Point(RP)的位置。如果重疊中的訊號只為(S，G)，則多點傳送路由將如案例3一樣運作。如果RP位於接收器站點，則會發生這種情況。如果RP位於接收方的站點，則接收方PE不會通過PIM或BGP在重疊中傳送(*, G)加入。但是，如果RP位於源PE或其他PE，則重疊中會出現(*, G)和(S， G)信令。如果使用場景3中的配置完成此操作，則組播路由可能會失敗。

檢視圖2。其中顯示了一個包含來源PE(Legacy-PE)、RP-PE(PE2)和接收器PE(PE1)的網路。

圖2.

出口PE路由器需要傳送(*,G)的聯合。它們將使用的協定取決於配置。輸出PE將使用BGP，而舊版源PE路由器也將使用PIM（如果它也有接收器）。因此，共用樹將發出良好的訊號。當源開始傳送時將出現問題：不會向源樹發出訊號。

問題

一旦來源開始傳送，RP將會收到來自PIM第一躍點路由器(FHR)的註冊封包。這裡可能是Legacy-Source-PE路由器。然後，RP-PE需要向Legacy-Source-PE傳送PIM(S，G)加入，因為Legacy-Source-PE不將BGP作為重疊信令協定運行。但是，RP-PE將BGP配置為重疊信令協定。因此，Legacy-Source-PE永遠不會收到來自RP-PE的PIM(S， G)加入消息，因此不能發出從源到RP的源樹訊號。安裝程式處於註冊階段。Legacy-Source-PE上的傳出介面清單(OIL)將為空：

Legacy-PE#show ip mroute vrf one 225.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

(*, 225.1.1.1), 00:05:47/stopped, RP 10.2.100.9, flags: SPF

Incoming interface: Tunnel3, RPF nbr 10.1.100.2

Outgoing interface list: Null

(10.2.3.10, 225.1.1.1), 00:05:47/00:02:42, flags: PFT

Incoming interface: GigabitEthernet1/1, RPF nbr 10.2.3.10

Outgoing interface list: Null

為了解決此問題，您需要讓RP-PE將(S， G)的PIM加入傳送到Legacy-Source-PE，而RP-PE仍然啟用BGP作為非舊版路由器的覆蓋信令協定。如果源在非舊版路由器之後聯機，則RP-PE需要向該非舊版路由器傳送路由型別7 BGP更新消息。

RP-PE可以使用PIM和BGP作為重疊信令。路由策略將決定選擇哪一個。您需要在VRF的路由器PIM下使用遷移命令。對於圖2中所示的網路，這是RP-PE上所需的配置：

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

migration route-policy PIM-to-BGP

announce-pim-join-tlv

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

if next-hop in (10.1.100.3/32) then

set core-tree pim-default

else

set core-tree mldp-default

endif

end-policy

!

route-policy PIM-to-BGP

if next-hop in (10.1.100.3/32) then

set c-multicast-routing pim

else

set c-multicast-routing bgp

endif

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

!

!

!

路由策略PIM-to-BGP指定如果遠端PE路由器是10.1.100.3(Legacy-Source-PE)，則使用PIM作為重疊信令協定。否則（對於非傳統PE路由器），BGP用作重疊信令協定。因此，RP-PE現在在基於PIM的預設MDT上向舊源PE傳送PIM(S，G)連線。Legacy-Source-PE現在具有(S， G)條目：

Legacy-PE#show ip mroute vrf one 225.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

(*, 225.1.1.1), 00:11:56/stopped, RP 10.2.100.9, flags: SPF

Incoming interface: Tunnel3, RPF nbr 10.1.100.2

Outgoing interface list: Null

(10.2.3.10, 225.1.1.1), 00:11:56/00:03:22, flags: FT

Incoming interface: GigabitEthernet1/1, RPF nbr 10.2.3.10

Outgoing interface list:

Tunnel3, Forward/Sparse, 00:00:11/00:03:18

如果RP-PE U轉換資料包，接收方可以接收組播資料包：它將從MDT接收的組播資料包轉發到Lmdt樹。

註：檢查RP-PE路由器是否支援該平台和軟體上的PE週轉功能。

RP/0/3/CPU1:PE2#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.2.2.9 Flags: C RPF

Up: 00:53:59

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 00:53:59

Outgoing Interface List

Lmdtone Flags: F LMI, Up: 00:53:59

(10.2.3.10,225.1.1.1) RPF nbr: 10.1.100.3 Flags: RPF

Up: 00:03:00

Incoming Interface List

mdtone Flags: A MI, Up: 00:03:00

Outgoing Interface List

Lmdtone Flags: F NS LMI, Up: 00:03:00

無論最後一個躍點路由器(LHR)是否配置了SPT切換，組播流量都會繼續通過共用樹轉發到RP-PE。請檢視圖3。以瞭解如何轉發組播流量。

圖3.

Egress-PE沒有(S， G)條目：

RP/0/RP1/CPU0:PE1#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Bas

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,   IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.1.100.2 Flags: C RPF

Up: 04:35:36

Incoming Interface List

Lmdtone Flags: A LMI, Up: 03:00:24

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 04:35:36

如果Egress-PE是LHR，則它沒有(S， G)條目。輸出PE無法切換到(S， G)條目的原因是它沒有收到來自PE路由器的BGP源活動路由。如圖3所示，組播流量被轉發。

但是，Egress-PE可能不是LHR，而Egress-PE站點的CE路由器是LHR。如果CE路由器確實切換到源樹，則輸出PE將接收PIM(S， G)加入並安裝(S， G)條目。

RP/0/RP1/CPU0:PE1#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.1.100.2 Flags: C RPF

Up: 00:04:51

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:04:51

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:04:51

(10.2.3.10,225.1.1.1) RPF nbr: 10.1.100.3 Flags: RPF

Up: 00:00:27

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:00:27

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:00:27

但是，Egress-PE現在將RPF連線到源，並查詢路由器Legacy-Source-PE作為RPF鄰居：

RP/0/RP1/CPU0:PE1#show pim vrf one rpf 10.2.3.10

Table: IPv4-Unicast-default

* 10.2.3.10/32 [200/0]

via Lmdtone with rpf neighbor 10.1.100.3

Connector: 1:3:10.1.100.3, Nexthop: 10.1.100.3

由於Egress-PE和Legacy-Source-PE之間沒有MDT，因此Egress-PE無法向Legacy-Source-PE傳送連線。請記得，Egress-PE僅構建mLDP樹並執行BGP客戶信令。請記住，Legacy-Source-PE僅構建基於PIM的樹，並且僅執行PIM客戶信令。

但是，由於輸出PE具有指向傳入介面Lmdt的RPF資訊，並且組播流量仍然到達來自RP-PE的MDT，因此組播流量將轉發到接收者，並且不會使RPF失敗。原因在於，RPF不會執行嚴格的RPF檢查，以檢查組播流量是否確實從RPF鄰居10.1.100.3（傳統PE路由器）到達。請注意，Lmdt上的PE1上沒有10.1.100.3的PIM鄰接關係，因為舊版PE不能具有Lmdt，因為它僅將PIM作為核心樹協定（配置檔案0）運行：

RP/0/RP1/CPU0:PE1#show pim vrf one neighbor

PIM neighbors in VRF one

Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,

E - ECMP Redirect capable

* indicates the neighbor created for this router

Neighbor Address             Interface             Uptime   Expires DR pri   Flags

10.1.100.1*                  Lmdtone               01:32:46 00:01:32 100 (DR) P

10.1.100.2                   Lmdtone               01:30:46 00:01:16 1     P

10.1.100.4                   Lmdtone               01:30:38 00:01:24 1     P

10.1.100.1*                  mdtone                 01:32:46 00:01:34 100 (DR) P

10.1.100.2                   mdtone                 01:32:45 00:01:29 1     P

10.1.100.3                   mdtone                 01:32:17 00:01:29 1     P

10.1.100.4                   mdtone                 01:32:43 00:01:20 1     P

10.2.1.1*                    GigabitEthernet0/0/0/9 01:32:46 00:01:18 100     B P E

10.2.1.8                     GigabitEthernet0/0/0/9 01:32:39 00:01:16 100 (DR)

PE1選擇Lmdt作為傳入介面的原因是，這是從PE1上的RPF topology命令接收的資訊：

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

如果PE1上的RPF仍然正常，則組播流量可以到達PE1後面的接收器。但是，流量不採用核心中PE1的Legacy-PE最短路徑。

解決方案

為了解決此問題，輸出PE(PE1)必須配置為將基於PIM的MDT和BGP也配置為重疊信令。這種情況下，Egress-PE上需要此配置：

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

migration route-policy PIM-to-BGP

announce-pim-join-tlv

!

rp-address 10.2.100.9 override

!

interface GigabitEthernet0/0/0/9

enable

!

!

!

!

route-policy rpf-for-one

if next-hop in (10.1.100.3/32) then

set core-tree pim-default

else

set core-tree mldp-default

endif

end-policy

!

route-policy PIM-to-BGP

if next-hop in (10.1.100.3/32) then

set c-multicast-routing pim

else

set c-multicast-routing bgp

endif

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

!

!

!

檢視圖4。現在，舊式PE和輸出PE之間有一個基於PIM的MDT。

圖4.

在SPT切換後，輸出 — PE通過基於PIM的MDT將PIM加入消息傳送到(S， G)的傳統源PE。Egress-PE上的傳入介面現在為mdtone。RP-PE不再是組播流量的週轉路由器。

RP/0/RP1/CPU0:PE1#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.1.100.2 Flags: C RPF

Up: 00:09:59

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:09:59

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:09:59

(10.2.3.10,225.1.1.1) RPF nbr: 10.1.100.3 Flags: RPF

Up: 00:14:29

Incoming Interface List

mdtone Flags: A MI, Up: 00:14:29

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:14:29

並且PE1具有源的PIM RPF資訊：

RP/0/RP1/CPU0:PE1#show pim vrf one rpf 10.2.3.10

Table: IPv4-Unicast-default

* 10.2.3.10/32 [200/0]

via mdtone with rpf neighbor 10.1.100.3

RT:1:1 ,Connector: 1:3:10.1.100.3, Nexthop: 10.1.100.3

這意味著流量現在通過基於PIM的MDT直接從核心網路中的傳統源PE流向出口PE。請參見圖5。

圖5.

結論

所有非傳統PE路由器（即Receiver-PE或RP-PE路由器）必須具備遷移核心樹協定和遷移C信令協定的配置。

或者，解決方法是確保SPT切換不會發生，但組播流量的路由可能不在網路核心的最短路徑上。