본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 mVPN(Multicast VPN) PIM(Protocol Independent Multicast) 코어 트리 기반 MDT(Multicast Distribution Tree)를 mLDP(Multipoint Label Distribution Protocol) 코어 트리 기반 MDT로 마이그레이션하는 방법에 대해 설명합니다. 또한 마이그레이션 시 데이터 MDT가 어떻게 시그널링되는지 자세히 설명합니다. 이 문서에서는 Cisco IOS®-XR을 실행하는 PE(Ingress Provider Edge) 라우터의 마이그레이션에 대해서만 설명합니다.
Dual-encap은 Customer(C)-multicast 스트림을 여러 유형의 코어 트리에 동시에 전달할 수 있는 인그레스(Ingress) 라우터를 의미합니다. 예를 들어, 인그레스 PE 라우터는 하나의 C-멀티캐스트 스트림을 PIM 기반 코어 트리와 mLDP 기반 코어 트리로 동시에 전달합니다. 이는 하나의 코어 트리 유형에서 다른 코어 트리 유형으로 mVPN을 성공적으로 마이그레이션하기 위한 요구 사항입니다.
PIM 및 mLDP에는 듀얼 캡슐화 기능이 지원됩니다.
MPLS(Multiprotocol Label Switching) P2MP TE(Traffic Engineering)에는 듀얼 인캡이 지원되지 않습니다.
기본 MDT Generic Routing Encapsulation(GRE) 및 기본 MDT mLDP 마이그레이션 또는 공존은 인그레스 PE 라우터가 하나의 C-멀티캐스트 스트림을 PIM 기반 코어 트리와 mLDP 기반 코어 트리로 동시에 전달한다는 사실에 기반합니다. 인그레스 PE가 두 MDT로 포워딩하는 동안 이그레스 PE 라우터는 하나의 코어 트리 유형에서 다른 코어 트리 유형으로 하나씩 마이그레이션할 수 있습니다.
일반적으로 PE 경로는 PIM 기반 코어 트리를 사용하는 가장 오래된 mVPN 구축 모델에서 mLDP 기반 트리를 사용하는 mVPN 구축 모델로 마이그레이션됩니다. 가장 오래된 mVPN 구현은 PIM 기반 코어 트리인 프로파일 0이며, BGP(Border Gateway Protocol) AD(Auto-Discovery) 및 오버레이 시그널링의 PIM입니다. 그러나 마이그레이션은 이와 반대로 발생할 수도 있습니다.
이 마이그레이션 시나리오를 살펴보겠습니다. 이 마이그레이션은 코어에서 GRE(프로파일 0)에서 기본 MDT mLDP 프로파일로 가장 많이 발생하는 마이그레이션입니다.
가능한 몇 가지 기본 mLDP 프로파일이 있습니다.
다음 항목을 살펴보겠습니다.
후자의 경우, 또한 C-시그널링 프로토콜의 마이그레이션이 존재한다.
BGP AD를 사용할 때 기본적으로 Data MDT가 BGP에 의해 시그널링된다는 점에 유의해야 합니다. BGP AD가 없으면 BGP에서 데이터 MDT를 시그널링할 수 없습니다.
어떤 경우에도 인그레스 PE에는 프로파일 0과 mLDP 프로파일이 모두 구성되어 있어야 합니다. 인그레스 PE는 두 코어 트리 프로토콜의 두 MDT(Default 또는 Data) 모두에 C-멀티캐스트 트래픽을 전달합니다. 따라서 인그레스 PE에서 두 Default MDT를 모두 구성해야 합니다.
이그레스 PE가 코어 트리 프로토콜 PIM 및 mLDP를 실행할 수 있는 경우, C-멀티캐스트 트래픽을 끌어올 트리를 결정할 수 있습니다. 이 작업은 이그레스 PE에서 RPF(Reverse Path Forwarding) 정책을 구성하여 수행합니다.
이그레스 PE 라우터가 프로파일 0만 지원하는 경우 해당 PE는 코어의 PIM 트리에만 참여하고 PIM 기반 트리에서 C-멀티캐스트 스트림을 수신합니다.
참고: PIM Sparse Mode(PIM 스파스 모드)를 사용하는 경우 GRE 기반 및 mLDP 기반 MDT 모두에서 RP-PE 및 S-PE에 연결할 수 있어야 합니다.
C-멀티캐스트 프로토콜은 PIM에서 BGP로 또는 그 반대로 마이그레이션할 수 있습니다. 이는 이그레스 PE가 PIM 또는 BGP를 오버레이 프로토콜로 선택하도록 구성하는 방식으로 수행됩니다. PIM 또는 BGP를 통해 조인을 전송하는 이그레스 PE입니다. 인그레스 PE는 마이그레이션 시나리오에서 두 가지를 모두 수신하고 처리할 수 있습니다.
이그레스 PE에 구성된 C-멀티캐스트 프로토콜의 마이그레이션 예입니다.
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(Default MDT - GRE - PIM C-mcast Signaling)만 실행하는 라우터입니다.
이 라우터에는 BGP IPv4 MDT가 구성되어 있어야 합니다.
mLDP 기반 프로필을 실행하는 Receiver-PE 라우터가 하나 이상 있습니다. 모든 기본 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는 Default 및 Data 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
!
…
Receiver-PE 라우터로서 하나 이상의 레거시 PE 라우터가 있습니다.
Profile 1(Default MDT - mLDP MP2MP PIM C-mcast Signaling)을 실행하는 Receiver-PE 라우터로서 하나 이상의 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 라우터에는 레거시 PE 라우터와 일치하는 BGP 주소군 IPv4 MDT가 있어야 합니다.
인그레스 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는 인터페이스 mdtone의 레거시 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":
type 1(PIM 코어 트리) 및 type 2(mLDP 코어 트리) PIM Join 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(Join Type Length Value)는 기본 MDT를 통해 전송되는 PIM 메시지이며 데이터 MDT를 시그널링하는 데 사용됩니다. 1분에 한 번씩 정기적으로 전송됩니다.
레거시 이그레스 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는 mLDP 기반 데이터 MDT를 위해 PIM Join TLV도 수신합니다.
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
Receiver-PE 라우터로서 하나 이상의 레거시 PE 라우터가 있습니다.
Profile 9(Default MDT - mLDP MP2MP BGP-AD PIM C-mcast Signaling)를 실행하는 Receiver-PE 라우터로서 하나 이상의 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 라우터에는 레거시 PE 라우터와 일치하는 BGP 주소군 IPv4 MDT가 있어야 합니다. 인그레스 PE 라우터에는 프로파일 9 이그레스 PE 라우터와 일치하는 BGP 주소군 IPv4 MVPN이 있어야 합니다.
인그레스 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(Auto-Discovery)가 활성화된 경우 인그레스 PE 라우터는 기본 MDT를 통해 PIM 조인 TLV 메시지를 전송하지 않습니다. 이 명령이 없으면 인그레스 PE 라우터는 BGP IPv4 mvpn route-type 3 업데이트만 전송합니다. 프로파일 9 이그레스 PE 라우터는 BGP 업데이트를 수신하고 Data MDT 메시지를 캐시에 설치합니다. 레거시 PE 라우터는 BGP AD를 실행하지 않으므로 BGP를 통해 Data MDT Join 메시지를 학습하지 않습니다.
인그레스 PE는 두 가지 MDT 유형으로 C-멀티캐스트 트래픽을 전달해야 합니다.
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는 인터페이스 mdtone의 레거시 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)
프로파일 9 이그레스 PE는 주소군 IPv4 MVPN의 경로 유형 3에 대한 BGP 업데이트로 데이터 MDT 메시지를 수신합니다.
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에 구축된 데이터 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 Join 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
프로파일 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)
Profile 9 Receiver-PE는 PIM Join TLV를 수신하고 캐시합니다. 또한 Profile 9 Receiver-PE는 인그레스 PE로부터 경로 유형 3에 대한 BGP 업데이트 메시지를 수신했기 때문에 데이터 MDT에 대해 알게 되었습니다. PIM Join TLV와 BGP 업데이트 메시지 route-type은 동일하며 데이터 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
Receiver-PE 라우터로서 하나 이상의 레거시 PE 라우터가 있습니다.
Profile 13(Default MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling)을 실행하는 Receiver-PE 라우터로서 하나 이상의 PE 라우터가 있습니다.
관련된 BGP AD 및 BGP C-멀티캐스트 시그널링이 있습니다.
프로파일 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 업데이트만 전송합니다. 프로파일 13 이그레스 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는 인터페이스 mdtone의 레거시 PE를 PIM 네이버로 확인해야 합니다. 그러나 이제 BGP가 C-멀티캐스트 시그널링 프로토콜로 사용되므로 인터페이스 Lmdtone에 프로필 13 PE를 PIM 인접 디바이스로 가져와야 하는 것은 아닙니다.
인그레스 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 Join 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 Join TLV를 수신하고 캐시합니다. 프로파일 13 Receiver-PE는 인그레스 PE로부터 경로 유형 3에 대한 BGP 업데이트 메시지를 수신했기 때문에 데이터 MDT에 대해서도 알게 되었습니다. PIM Join TLV와 BGP 업데이트 메시지 route-type은 동일하며 데이터 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에 구축된 데이터 MDT)입니다. PIM에 대해 BGP AD가 활성화되지 않았으므로 PIM 트리에 대한 BGP route-type 3은 없습니다.
Profile 13 Egress PE와 Ingress PE 간에 C-multicast 시그널링이 켜져 있기 때문에 route-type 7도 있습니다. route-type 7 BGP 업데이트는 프로파일 13 이그레스 PE에서 인그레스 PE로 전송됩니다.
이 시나리오에서는 VPN 컨텍스트에 PIM Sparse 모드가 있습니다.
Source-PE 라우터로 하나 이상의 레거시 PE 라우터가 있습니다.
Profile 13(Default MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling)을 실행하는 Receiver-PE 라우터로서 하나 이상의 PE 라우터가 있습니다. 관련된 BGP AD 및 BGP C-멀티캐스트 시그널링이 있습니다. 이러한 PE 라우터는 Source-PE(레거시 PE 라우터)에서 직접 트래픽을 수신할 수 있어야 하므로 프로필 0도 실행해야 합니다.
RP-PE는 Profile 13(Default MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling)을 실행하는 PE 라우터입니다. 관련된 BGP AD 및 BGP C-멀티캐스트 시그널링이 있습니다. RP-PE 라우터는 Source-PE(레거시 PE 라우터)에서 직접 트래픽을 수신할 수 있어야 하므로 프로필 0도 실행해야 합니다.
멀티캐스트 라우팅은 시나리오 3에서 작동했지만, 이는 SSM(Source-Specific Multicasting)에서만 작동할 수 있습니다. C-signaling이 Sparse Mode(스파스 모드)이면 멀티캐스트가 실패할 수 있습니다. 이는 Rendez-Vous Point(RP)가 배치된 위치에 따라 달라질 수 있습니다. 오버레이의 시그널링이 (S, G)뿐인 경우, 멀티캐스트 라우팅은 시나리오 3에서와 같이 작동합니다. 이는 RP가 수신기 사이트에 있는 경우 발생합니다. RP가 수신기 사이트에 있는 경우 Receiver-PE는 PIM 또는 BGP를 통해 오버레이에서 (*, G) 조인을 전송하지 않습니다. 그러나 RP가 Source-PE 또는 다른 PE에 있는 경우 오버레이에 (*, G) 및 (S, G) 시그널링이 있습니다. 시나리오 3과 같은 컨피그레이션에서 이 작업을 수행하면 멀티캐스트 라우팅이 실패할 수 있습니다.
그림 2를 보십시오. 여기에는 Source-PE(Legacy-PE), RP-PE(PE2) 및 Receiver-PE(PE1)가 있는 네트워크가 나와 있습니다.
그림 2.
이그레스 PE 라우터는 (*,G)에 대한 조인을 전송해야 합니다. 어떤 프로토콜을 사용할지는 컨피그레이션에 따라 결정됩니다. Egress-PE는 BGP를 사용하며, Legacy-Source-PE 라우터는 수신기가 있는 경우에도 PIM을 사용합니다. 따라서 공유 트리는 정상적으로 신호를 보낼 수 있습니다. 소스가 전송을 시작할 때 문제가 발생합니다. 소스 트리에 신호가 표시되지 않습니다.
소스가 전송을 시작하면 RP는 PIM FHR(First Hop Router)에서 레지스터 패킷을 수신합니다. 레거시-소스-PE 라우터가 될 수 있습니다. 그러면 Legacy-Source-PE는 오버레이 시그널링 프로토콜로서 BGP를 실행하지 않으므로 RP-PE는 Legacy-Source-PE를 향해 PIM(S, G) 조인을 전송해야 합니다. 그러나 RP-PE에는 오버레이 시그널링 프로토콜로 구성된 BGP가 있습니다. 따라서 Legacy-Source-PE는 RP-PE로부터 PIM(S, G) Join 메시지를 수신하지 않으므로 소스에서 RP로의 소스 트리에 신호를 보낼 수 없습니다. 등록 단계에서 설치가 중단되었습니다. Legacy-Source-PE의 OIL(Outgoing Interface List)은 비어 있습니다.
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 아래에 migration 명령이 있어야 합니다. 그림 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
!
!
!
route-policy PIM-to-BGP는 원격 PE 라우터가 10.1.100.3(Legacy-Source-PE)인 경우 PIM을 오버레이 시그널링 프로토콜로 사용하도록 지정합니다. 그렇지 않으면(레거시 PE 라우터가 아닌 경우) BGP가 오버레이 신호 프로토콜로 사용됩니다. 따라서 RP-PE는 이제 PIM 기반 Default MDT에서 레거시 소스 PE에 대한 PIM(S, G) Join을 전송합니다. 이제 레거시-소스-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-turn하는 경우 수신기는 멀티캐스트 패킷을 수신할 수 있습니다. 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(Last Hop Router)에 SPT-switchover가 구성되어 있는지 여부에 관계없이 멀티캐스트 트래픽은 공유 트리를 통해 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) 항목이 없습니다. Egress-PE가 (S, G) 엔트리로 전환할 수 없는 이유는 PE 라우터에서 BGP 소스 활성 경로를 수신하지 않았기 때문입니다. 멀티캐스트 트래픽은 그림 3과 같이 전달됩니다.
그러나 Egress-PE가 LHR이 아니라 Egress-PE 사이트의 CE 라우터가 LHR일 수 있습니다. CE 라우터가 소스 트리로 전환되면 Egress-PE는 PIM(S, G) Join을 수신하고 (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
그러나 이그레스 PE는 이제 소스에 RPF를 수행하고 RPF 인접 디바이스로 라우터 레거시-소스-PE를 찾습니다.
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에 Join을 전송할 수 없습니다. Egress-PE는 mLDP 트리만 구축하고 BGP 고객 신호 처리를 수행합니다. Legacy-Source-PE는 PIM 기반 트리만 구축하고 PIM 고객 신호만 생성한다는 점을 기억하십시오.
그러나 Egress-PE에는 수신 인터페이스 Lmdt를 가리키는 RPF 정보가 있으며 멀티캐스트 트래픽이 RP-PE에서 해당 MDT에 여전히 도착하므로, 멀티캐스트 트래픽은 수신기로 전달되며 RPF에 실패하지 않습니다. 그 이유는 RPF가 RPF 인접 라우터인 Legacy-PE 라우터에서 멀티캐스트 트래픽이 실제로 도착하는지 확인하기 위해 엄격한 RPF 검사를 수행하지 않기 때문입니다. Lmdt의 PE1에는 10.1.100.3에 대한 PIM 인접성이 없습니다. 레거시 PE는 PIM만 코어 트리 프로토콜로 실행하기 때문에 Lmdt를 가질 수 없기 때문입니다(프로파일 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 뒤의 Receiver에 도달할 수 있습니다. 그러나 트래픽이 Legacy-PE에서 PE1까지 가는 가장 짧은 경로를 사용하지 않습니다.
이를 수정하려면 PE1(Egress-PE)이 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.
이그레스 PE는 SPT 전환 후 PIM 기반 MDT를 통해 레거시 소스 PE(S, G)를 향해 PIM 가입 메시지를 전송합니다. 이제 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.
Receiver-PE 또는 RP-PE 라우터인 모든 레거시 PE 라우터는 코어 트리 프로토콜을 마이그레이션하고 C 신호 프로토콜을 마이그레이션하기 위한 컨피그레이션을 갖추어야 합니다.
또는, 해결 방법은 SPT-전환이 발생하지 않도록 하는 것이지만, 그러면 멀티캐스트 트래픽의 라우팅이 네트워크 코어의 최단 경로를 통과하지 못할 수 있습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
19-May-2021 |
최초 릴리스 |