목차

소개

코어 트리 프로토콜 마이그레이션

C-멀티캐스트 프로토콜 마이그레이션

시나리오 1.

시나리오 2.

시나리오 3.

시나리오 4.

문제

솔루션

결론

소개

이 문서에서는 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 프로파일이 있습니다.

다음 항목을 살펴보겠습니다.

- mLDP(BGP AD 없음)

- mLDP(BGP AD 및 PIM C 신호 포함)

- mLDP - BGP AD 및 BGP C-시그널링

후자의 경우, 또한 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-멀티캐스트 프로토콜 마이그레이션

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

!

…

시나리오 1.

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

시나리오 2.

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

시나리오 3.

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로 전송됩니다.

시나리오 4.

이 시나리오에서는 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-전환이 발생하지 않도록 하는 것이지만, 그러면 멀티캐스트 트래픽의 라우팅이 네트워크 코어의 최단 경로를 통과하지 못할 수 있습니다.