Multicast вещание на cisco IOS XR ASR9K(mLDP)
В документации от cisco упоминается девять разных способов вещания мультикаст трафика для vrf. Ранее я описывал способ "класический" Rosen GRE с PIM деревьями. В данной заметке отмечу вариант с использованием mLDP, где на мультикаст пакеты навешивается метка и они текут по LSP, который в свою очередь может строиться по разному - p2mp, mp2mp. Если правильно посчитал, то есть 6 способов с mLDP.
Схема как и в прошлой заметке, выдержки конфигурационных файлов:
на PE2(мультикаст источник ближе к нему):
vrf Be-Be
vpn id 1:123
address-family ipv4 unicast
import route-target
1:123
!
export route-target
1:123
!
!
!
multicast-routing
address-family ipv4
interface Bundle-Ether1
enable
!
mdt source Loopback0
rate-per-route
interface all enable
accounting per-prefix
!
vrf Be-Be
address-family ipv4
mdt default mldp ipv4 x.x.247.2
rate-per-route
interface all enable
accounting per-prefix
!
!
!
router pim
vrf Be-Be
address-family ipv4
rp-address 172.16.1.1 override
log neighbor changes
!
!
!
на PE1(приёмник ближе к нему)
vrf Be-Be
vpn id 51789:123
address-family ipv4 unicast
import route-target
1:123
!
export route-target
1:123
!
!
!
multicast-routing
address-family ipv4
mdt source Loopback0
rate-per-route
interface all enable
accounting per-prefix
!
vrf Be-Be
address-family ipv4
mdt default mldp ipv4 x.x.247.2
rate-per-route
interface all enable
accounting per-prefix
router pim
vrf Be-Be
address-family ipv4
rpf topology route-policy mpldp-1
rp-address 172.16.1.1 override
!
!
!
route-policy mpldp-1
set core-tree mldp-default
end-policy
Немного вывода.
на PE1(ближе к приёмнику):
RP/0/RSP0/CPU0:pe1#sh mrib route
(*,224.0.0.0/24) Flags: D
Up: 1d01h
(*,224.0.1.39) Flags: S
Up: 1d01h
(*,224.0.1.40) Flags: S
Up: 1d01h
Outgoing Interface List
Loopback0 Flags: II LI, Up: 1d01h
(*,232.0.0.0/8) Flags: D
Up: 1d01h
RP/0/RSP0/CPU0:pe1#sh mrib vrf Be-Be route
(*,224.0.0.0/4) RPF nbr: x.x.247.2 Flags: C
Up: 23:08:39
(*,224.0.0.0/24) Flags: D
Up: 1d01h
(*,224.0.1.39) Flags: S
Up: 1d01h
(*,224.0.1.40) Flags: S
Up: 1d01h
Outgoing Interface List
TenGigE0/1/0/7.30300100 Flags: II LI, Up: 1d01h
(*,232.0.0.0/8) Flags: D
Up: 1d01h
(*,233.233.233.233) RPF nbr: x.x.247.2 Flags: C
Up: 00:25:34
Incoming Interface List
LmdtBe-Be Flags: A NS LMI, Up: 00:25:34
Outgoing Interface List
TenGigE0/1/0/7.30300100 Flags: F NS LI, Up: 00:25:34
(172.16.1.1,233.233.233.233) RPF nbr: x.x.247.2 Flags:
Up: 00:25:20
Incoming Interface List
LmdtBe-Be Flags: A LMI, Up: 00:25:20
Outgoing Interface List
TenGigE0/1/0/7.30300100 Flags: F NS, Up: 00:25:20
(*,239.255.255.250) RPF nbr: x.x.247.2 Flags: C
Up: 03:17:01
Incoming Interface List
LmdtBe-Be Flags: A NS LMI, Up: 03:17:01
Outgoing Interface List
TenGigE0/1/0/7.30300100 Flags: F NS LI, Up: 03:17:01
RP/0/RSP0/CPU0:pe1#sh mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
16000 Pop x.x.247.2/32 tt1 x.x.247.2 673407
16001 Aggregate Be-Be: Per-VRF Aggr[V] \
Be-Be 731280
16002 16003 MLDP LSM ID: 0x1 BE1 x.x.247.129 176418
16003 Unlabelled MLDP LSM ID: 0x1
на PE2(ближе к источнику)
RP/0/RSP0/CPU0:pe2#sh mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
16000 Pop x.x.247.1/32 tt1 x.x.247.1 153728
16001 Aggregate Be-Be: Per-VRF Aggr[V] \
Be-Be 144784
16002 16003 MLDP LSM ID: 0x1 BE1 x.x.247.128 685916462
16003 Unlabelled MLDP LSM ID: 0x1
RP/0/RSP0/CPU0:pe2#sh mrib route
(*,224.0.0.0/24) Flags: D
Up: 1d01h
(*,224.0.1.39) Flags: S
Up: 1d01h
(*,224.0.1.40) Flags: S
Up: 1d01h
Outgoing Interface List
Loopback0 Flags: II LI, Up: 1d01h
(*,232.0.0.0/8) Flags: D
Up: 1d01h
RP/0/RSP0/CPU0:pe2#sh mrib vrf Be-Be route
(*,224.0.0.0/4) RPF nbr: 172.16.1.1 Flags: C
Up: 23:15:38
(*,224.0.0.0/24) Flags: D
Up: 1d01h
(*,224.0.1.39) Flags: S
Up: 1d01h
(*,224.0.1.40) Flags: S
Up: 1d01h
Outgoing Interface List
TenGigE0/1/0/7.30300200 Flags: II LI, Up: 1d01h
(*,232.0.0.0/8) Flags: D
Up: 1d01h
(*,233.233.233.233) RPF nbr: 172.16.1.1 Flags: C
Up: 00:30:24
Incoming Interface List
TenGigE0/1/0/7.30300200 Flags: A, Up: 00:30:24
Outgoing Interface List
LmdtBe-Be Flags: F NS LMI, Up: 00:30:24
(172.16.1.1,233.233.233.233) RPF nbr: 172.16.1.1 Flags:
Up: 00:30:09
Incoming Interface List
TenGigE0/1/0/7.30300200 Flags: A, Up: 00:30:09
Outgoing Interface List
LmdtBe-Be Flags: F NS LMI, Up: 00:30:09
Encapstunnel1 Flags: F NS EI, Up: 00:30:09
(*,239.255.255.250) RPF nbr: 172.16.1.1 Flags: C
Up: 03:21:51
Incoming Interface List
TenGigE0/1/0/7.30300200 Flags: A, Up: 03:21:51
Outgoing Interface List
LmdtBe-Be Flags: F NS LMI, Up: 03:21:51
RP/0/RSP0/CPU0:pe2#sh pim neighbor
PIM neighbors in VRF default
Neighbor Address Interface Uptime Expires DR pri Flags
x.x.247.2* Loopback0 1d01h 00:01:29 1 (DR) B P
x.x.247.128 Bundle-Ether1 22:48:52 00:01:37 1 B
x.x.x.129* Bundle-Ether1 1d01h 00:01:39 1 (DR) B P
RP/0/RSP0/CPU0:pe2#sh pim vrf Be-Be neighbor
PIM neighbors in VRF Be-Be
Neighbor Address Interface Uptime Expires DR pri Flags
x.x.247.1 LmdtBe-Be 1d00h 00:01:28 1
x.x.247.2* LmdtBe-Be 1d00h 00:01:18 1 (DR)
172.16.1.2* TenGigE0/1/0/7.30300200 1d01h 00:01:40 1 (DR) B P