本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹將多點傳送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配置檔案。
我們來看看以下幾點:
在後一種情況下,也存在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協定可以從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
!
…
有一個或多個傳統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
有一個或多個傳統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
有一個或多個傳統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。
在此場景中,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切換不會發生,但組播流量的路由可能不在網路核心的最短路徑上。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
19-May-2021 |
初始版本 |