O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve a migração de Multicast VPN (mVPN) Protocol Independent Multicast (PIM) core tree-based Multicast Distribution Trees (MDTs) para Multipoint Label Distribution Protocol (mLDP) core tree-based MDTs. Além disso, como os MDTs de dados são sinalizados no momento da migração em detalhes. Este documento descreve a migração somente para o roteador de borda do provedor de ingresso (PE) que executa o Cisco IOS®-XR.
Encap duplo refere-se a um roteador de entrada que pode encaminhar um fluxo de envio múltiplo de cliente (C) para diferentes tipos de árvore de núcleo ao mesmo tempo. Por exemplo, o roteador PE de entrada encaminha um fluxo multicast C para uma árvore de núcleo baseada em PIM e uma árvore de núcleo baseada em mLDP ao mesmo tempo. Esse é um requisito para migrar com êxito o mVPN de um tipo de árvore central para outro.
Dual-encap é suportado para PIM e mLDP.
Dual-encap não é suportado para Multiprotocol Label Switching (MPLS) P2MP Traffic Engineering (TE).
A migração ou coexistência do encapsulamento de roteamento genérico (GRE - Generic Routing Encapsulation) MDT padrão e mLDP padrão depende do fato de que o roteador PE de ingresso encaminha um fluxo multicast C para uma árvore de núcleo baseada em PIM e uma árvore de núcleo baseada em mLDP ao mesmo tempo. Enquanto o PE de entrada encaminha para ambos os MDTs, os roteadores PE de saída podem ser migrados um por um de um tipo de árvore de núcleo para outro.
Normalmente, as rotas PE migrarão do modelo de implantação mVPN mais antigo usando árvores de núcleo baseadas em PIM para um modelo de implantação mVPN usando árvores baseadas em mLDP. A implementação de mVPN mais antiga é o Perfil 0, que é de árvores de núcleo baseadas em PIM, nenhuma descoberta automática (AD) do protocolo de gateway de borda (BGP) e PIM na sinalização de sobreposição. No entanto, a migração também pode ocorrer da maneira oposta.
Vejamos esse cenário de migração, pois essa é a migração mais comum que ocorre: de GRE no núcleo (Perfil 0) para um Perfil mLDP MDT padrão.
Existem alguns perfis mLDP padrão possíveis.
Vejamos estes:
Neste último caso, também há uma migração do protocolo de sinalização C.
Uma das coisas a serem lembradas é que quando o BGP AD é usado, o MDT de dados é sinalizado pelo BGP por padrão. Se não houver AD de BGP, o MDT de dados não poderá ser sinalizado pelo BGP.
Em qualquer caso, o PE de entrada deve ter o perfil 0 e o perfil mLDP configurados. O PE de ingresso encaminhará o tráfego multicast C para ambos os MDTs (padrão ou dados) de ambos os protocolos da árvore principal. Portanto, ambos os MDTs padrão devem ser configurados no PE de entrada.
Se o PE de saída for capaz de executar os protocolos de árvore principais PIM e mLDP, ele poderá decidir de qual árvore receber o tráfego multicast C. Isso é feito pela configuração da política Reverse Path Forwarding (RPF) no PE de saída.
Se o roteador PE de saída for capaz apenas do Perfil 0, esse PE somente se juntará à árvore PIM no núcleo e receberá o fluxo multicast C na árvore baseada em PIM.
Observação: se o Modo PIM Esparso for usado, o RP-PE e o S-PE deverão estar acessíveis no MDT baseado em GRE e no mLDP.
O protocolo C-multicast pode ser migrado de PIM para BGP ou vice-versa. Isso é feito configurando o PE de saída para escolher PIM ou BGP como um protocolo de sobreposição. É o PE de saída que envia uma junção por PIM ou BGP. O PE de ingresso pode receber e processar ambos em um cenário de migração.
Este é um exemplo de migração do protocolo C-multicast, configurado no PE de saída:
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
!
O BGP é habilitado como o protocolo de sinalização de sobreposição. O padrão é PIM.
Veja a Figura 1 para ver a configuração usada para os cenários.
Figura 1.
Nesses cenários, você tem pelo menos um roteador PE legado como um roteador PE receptor. Esse é um roteador que executa apenas o Perfil 0 (Padrão MDT - GRE - Sinalização PIM C-mcast).
Esse roteador deve ter BGP IPv4 MDT configurado.
Há pelo menos um roteador Receiver-PE que executa um perfil baseado em mLDP. Esses são todos os perfis mLDP padrão do MDT (1, 9, 13, 12, 17), todos os perfis mLDP do MDT particionados (2, 4, 5, 14, 15) e o perfil 7. O perfil 8 para TE P2MP também é suportado.
O roteador PE de entrada é um roteador de encapsulamento duplo: ele executa o perfil 0 e um perfil baseado em mLDP.
Em todos os momentos, esse roteador PE de entrada deve encaminhar o tráfego nos MDTs baseados em PIM e nos MDTs baseados em mLDP. Esses MDTs podem ser os MDTs padrão e de dados.
Como um roteador legado, pegue um roteador que esteja executando o IOS, que só pode executar o Perfil 0. A configuração do roteador herdado é esta.
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
O BGP IPv4 MDT precisa ser configurado:
router bgp 1
…
address-family ipv4 mdt
neighbor 10.1.100.7 activate
neighbor 10.1.100.7 send-community extended
exit-address-family
!
…
Há um ou mais roteadores PE legados como um roteador PE do receptor.
Há um ou mais roteadores PE como roteador Receptor-PE que executa o Perfil 1 (Padrão MDT - mLDP MP2MP PIM C-mcast Signaling).
Não há sinalização BGP AD ou BGP C-multicast.
Configuração do roteador Receiver-PE, executando o Perfil 1:
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
Configuração do roteador PE de entrada:
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
!
!
!
O roteador PE de entrada deve ter a família de endereços BGP IPv4 MDT, correspondente ao que o roteador PE legado tem.
O PE de entrada deve estar encaminhando para os dois tipos de 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
O PE de entrada deve ver o PE legado no mdtone da interface e o PE do perfil 1 no Lmdtone da interface como um vizinho 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
"debug pim vrf one mdt data" no PE de entrada:
Você verá que um TLV de junção PIM tipo 1 (árvore principal do PIM) e um TLV de junção PIM tipo 2 (árvore principal do mLDP) são enviados. O primeiro em mdtone e o segundo em 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
Observação: o TLV (Type Length Value) de junção PIM é uma mensagem PIM enviada sobre o MDT padrão e é usado para sinalizar o MDT de dados. É enviado periodicamente, uma vez por minuto.
O PE de saída herdado:
"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
O PE legado armazena em cache o PIM Join 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
O PE legado une o MDT de dados no núcleo:
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
O receptor PE do perfil 1 também recebe o TLV de junção PIM, mas para o MDT de dados baseado em mLDP:
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
Há um ou mais roteadores PE herdados como roteadores PE Receptor.
Há um ou mais roteadores PE como roteador Receiver-PE que executam o Perfil 9 (Padrão MDT - mLDP MP2MP BGP-AD PIM C-mcast Signaling).
Há AD de BGP envolvido, mas nenhuma sinalização de multicast C de BGP.
Configuração do roteador Receiver-PE, executando o Perfil 9:
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
!
!
!
O roteador PE de entrada deve ter a família de endereços BGP IPv4 MDT, correspondente ao que o roteador PE legado tem. O roteador PE de entrada deve ter a família de endereços BGP IPv4 MVPN, correspondendo ao que o roteador PE de saída do perfil 9 tem.
Configuração do roteador PE de entrada:
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
!
!
!
Sem o comando "announce-pim-join-tlv", o roteador PE de entrada não envia mensagens TLV de junção PIM sobre os MDTs padrão, se a descoberta automática BGP (AD) estiver habilitada. Sem esse comando, o roteador de PE de entrada envia apenas uma atualização de rota BGP IPv4 mvpn tipo 3. O roteador PE de saída do perfil 9 recebe a atualização de BGP e instala a mensagem MDT de dados em seu cache. O roteador PE legado não executa o BGP AD e, portanto, não aprende a mensagem de união de MDT de dados através do BGP.
O PE de entrada deve estar encaminhando o tráfego multicast C para os dois tipos de MDT:
Ingress-PE#show mrib vrf one route 232.100.1.1
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface
(10.2.2.9,232.100.1.1) RPF nbr: 10.2.2.9 Flags: RPF MT
MT Slot: 0/1/CPU0
Up: 05:03:56
Incoming Interface List
GigabitEthernet0/1/0/0 Flags: A, Up: 05:03:56
Outgoing Interface List
mdtone Flags: F NS MI MT MA, Up: 05:03:56
Lmdtone Flags: F NS LMI MT MA, Up: 05:03:12
O PE de entrada deve ver o PE legado no mdtone da interface e o PE do perfil 9 na interface Lmdtone como vizinho 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)
O PE de saída do perfil 9 recebe a mensagem MDT de dados como uma atualização BGP para uma rota tipo 3 na família de endereços IPv4 MVPN:
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
Essa rota BGP é um tipo de rota 3, para o tipo de túnel de protocolo 2, que é mLDP P2MP LSP (o MDT de dados construído em um LSP mLSP P2MP). Não há entrada de tipo de rota 3 do BGP para nenhuma árvore PIM, pois o BGP AD não está habilitado para PIM.
"debug pim vrf one mdt data" no PE de entrada:
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
O PE de entrada envia um TLV de junção PIM para o MDT de dados baseado em PIM e baseado em mLDP.
No PE legado:
"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
O PE legado recebe e armazena em cache o PIM Join 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
O PE legado une o MDT de dados no núcleo:
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
O perfil 9 do receptor-PE.
"debug pim vrf one mdt data" no PE de saída do perfil 9:
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)
O receptor PE do perfil 9 recebe e armazena em cache o PIM Join TLV. O receptor PE do perfil 9 também aprendeu do MDT de dados devido ao recebimento da mensagem de atualização de BGP para um tipo de rota 3 do PE de entrada. O TLV de junção PIM e o tipo de rota de mensagem de atualização BGP são equivalentes e mantêm as mesmas informações com relação ao túnel de árvore de núcleo para o MDT de dados.
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
Há um ou mais roteadores PE legados como um roteador PE do receptor.
Há um ou mais roteadores PE como roteador Receiver-PE que executa o Perfil 13 (Default MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling).
Há AD de BGP envolvido e sinalização multicast de BGP C.
Configuração do roteador Receiver-PE, executando o Perfil 13:
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
!
!
!
Configuração do roteador PE de entrada:
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
!
!
!
Sem o comando announce-pim-join-tlv, o roteador PE de entrada não envia as mensagens TLV de junção PIM sobre o MDT padrão, se o BGP AD estiver habilitado. Sem esse comando, o roteador de PE de entrada envia apenas uma atualização de rota BGP IPv4 mvpn tipo 3. O roteador PE de saída do perfil 13 recebe a atualização de BGP e instala a mensagem Data MDT em seu cache. O roteador PE legado não executa o BGP AD e, portanto, não aprende a mensagem de união de MDT de dados através do BGP.
O PE de entrada deve estar encaminhando para os dois tipos de 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
O PE de entrada deve ver o PE legado no meio-tom da interface como um vizinho PIM. No entanto, não é necessário ter o Perfil 13 PE na interface Lmdtone como um vizinho PIM, porque o BGP agora é usado como um protocolo de sinalização C-multicast.
"debug pim vrf one mdt data" no PE de entrada:
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 (-)
O PE de entrada envia TLV de junção PIM para o MDT de dados baseado em PIM e baseado em mLDP.
"debug ip pim vrf one 232.100.1.1" no PE legado:
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
O PE legado armazena em cache o PIM Join 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
O PE legado une o MDT de dados no núcleo:
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
O perfil 13 do receptor-PE:
"debug pim vrf one mdt data" no PE de saída do perfil 13:
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
O receptor PE do perfil 13 recebe e armazena em cache o PIM Join TLV para o MDT baseado em mLDP. O receptor PE do perfil 13 também aprendeu do MDT de dados devido ao recebimento da mensagem de atualização de BGP para um tipo de rota 3 do PE de entrada. O TLV de junção PIM e o tipo de rota de mensagem de atualização BGP são equivalentes e mantêm as mesmas informações com relação ao túnel de árvore de núcleo para o MDT de dados.
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
Essa rota BGP é um tipo de rota 3, para o tipo de túnel de protocolo 2, que é mLDP P2MP LSP (o MDT de dados construído em um LSP mLSP P2MP). Não há rota BGP tipo 3 para nenhuma árvore PIM, pois o BGP AD não está habilitado para PIM.
Há também um tipo de rota 7 porque a sinalização multicast C é ativada entre o PE de saída do perfil 13 e o PE de entrada. A atualização do BGP tipo de rota 7 é enviada do PE de saída do perfil 13 para o PE de entrada.
Há um modo PIM Esparso no contexto VPN neste cenário.
Há um ou mais roteadores PE herdados como roteador PE de origem.
Há um ou mais roteadores PE como roteador Receiver-PE que executa o Perfil 13 (Default MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling). Há AD de BGP envolvido e sinalização multicast de BGP C. Como esses roteadores PE precisarão ser capazes de receber tráfego diretamente do PE de origem - o roteador PE legado - eles também precisarão executar o Perfil 0.
O RP-PE é um roteador PE que executa o Perfil 13 (Default MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling). Há AD de BGP envolvido e sinalização multicast de BGP C. Como o roteador RP-PE precisará ser capaz de receber o tráfego diretamente do Source-PE - o roteador PE herdado - eles também precisam executar o Perfil 0.
O roteamento multicast funcionou no cenário 3, mas isso só pode funcionar para Source-Specific Multicasting (SSM). Se a sinalização C for Modo escasso, o multicast poderá falhar. Isso pode depender de onde o Ponto de Rendez-Vous (RP) é colocado. Se a sinalização na sobreposição for apenas (S, G), o roteamento multicast funcionará como no cenário 3. Isso ocorre se o RP estiver localizado no local do receptor. Se o RP estiver no local de um Receptor, o PE do Receptor não enviará uma (*, G) Join na sobreposição, seja por PIM ou BGP. Se, no entanto, o RP estiver localizado no PE de origem ou em outro PE, haverá sinalização (*, G) e (S, G) na sobreposição. O roteamento multicast poderá falhar se isso for feito com a configuração como no cenário 3.
Veja a Figura 2. Ele mostra uma rede com um Source-PE (Legacy-PE), um RP-PE (PE2) e um Receiver-PE (PE1).
Figura 2.
Os roteadores PE de saída precisam enviar Joins para (*,G). O protocolo que eles usarão é determinado pela configuração. O Egress-PE usará BGP e o roteador Legacy-Source-PE usará PIM se ele também tiver um Receptor. A árvore compartilhada será, portanto, sinalizada bem. Ocorrerá um problema quando a origem começar a enviar: a árvore de origem não será sinalizada.
Quando a Origem começar a enviar, o RP receberá os pacotes de registro do roteador de primeiro salto (FHR) do PIM. Esse pode ser o roteador Legacy-Source-PE aqui. O RP-PE então precisaria enviar uma Junção PIM (S, G) em direção ao Legacy-Source-PE, já que o Legacy-Source-PE não executa o BGP como um protocolo de sinalização de sobreposição. No entanto, o RP-PE tem o BGP configurado como o protocolo de sinalização de sobreposição. Assim, o Legacy-Source-PE nunca receberá uma mensagem PIM (S, G) Join do RP-PE e, portanto, a árvore de origem de origem para RP não pode ser sinalizada. A configuração está paralisada na fase de registro. A OIL (Outgoing Interface List, Lista de interface de saída) no PE de origem herdada estará vazia:
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
Para corrigir isso, você precisa que o RP-PE envie uma Junção PIM para (S, G) para o Legacy-Source-PE, enquanto o RP-PE ainda tem o BGP habilitado como um protocolo de sinalização de sobreposição para os roteadores não herdados. Se uma origem ficar on-line por trás de um roteador não-legado, o RP-PE precisará enviar uma mensagem de atualização de BGP do tipo de rota 7 para esse roteador não-legado.
O RP-PE pode usar PIM e BGP como sinalização de sobreposição. A escolha de uma delas será determinada por uma política de rota. Você precisa ter o comando de migração no PIM do roteador para o VRF. Para a rede descrita na Figura 2, esta é a configuração necessária no 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
!
!
!
A política de rota PIM para BGP especifica que se o roteador PE remoto for 10.1.100.3 (Legacy-Source-PE), use o PIM como um protocolo de sinalização de sobreposição. Caso contrário (para o roteador PE não herdado), o BGP é usado como o protocolo de sinalização de sobreposição. Assim, o RP-PE agora envia um PIM (S, G) Join em direção ao Legacy-Source-PE no MDT padrão baseado em PIM. O Legacy-Source-PE agora tem a entrada (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
O Receptor pode receber os pacotes multicast se o RP-PE virar os pacotes: ele encaminha os pacotes multicast recebidos do MDT para a árvore Lmdt.
Observação: verifique se o roteador RP-PE tem suporte para o recurso PE turnaround nessa plataforma e software.
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
Não importa se o roteador de último salto (LHR) tem o switchover de SPT configurado ou não, o tráfego multicast continua a ser encaminhado pela árvore compartilhada, em direção ao RP-PE. Veja a Figura 3 para ver como o tráfego multicast é encaminhado.
Figura 3.
O Egress-PE não tem entrada (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
Se o PE de saída for o LHR, ele não terá uma entrada (S, G). O motivo pelo qual o Egress-PE não pode alternar para a entrada (S, G) é que ele não recebeu uma rota Ativa de Origem BGP de um roteador PE. O tráfego multicast é encaminhado como na Figura 3.
No entanto, é possível que o Egress-PE não seja o LHR, mas um roteador CE no local Egress-PE- seja o LHR. Se esse roteador CE fizer switchover para a árvore de origem, o Egress-PE receberá um PIM (S, G) Join e instalará a entrada (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
Mas o Egress-PE agora executará RPF para a Origem e encontrará o roteador Legacy-Source-PE como o vizinho RPF:
RP/0/RP1/CPU0:PE1#show pim vrf one rpf 10.2.3.10
Table: IPv4-Unicast-default
* 10.2.3.10/32 [200/0]
via Lmdtone with rpf neighbor 10.1.100.3
Connector: 1:3:10.1.100.3, Nexthop: 10.1.100.3
Como não há MDT entre Egress-PE e Legacy-Source-PE, o Egress-PE não pode enviar um Join para Legacy-Source-PE. Lembre-se de que o Egress-PE cria apenas árvores mLDP e faz a sinalização de cliente BGP. Lembre-se de que o Legacy-Source-PE só cria árvores baseadas em PIM e só faz a sinalização de cliente PIM.
No entanto, como o Egress-PE tem informações de RPF apontando para a interface Lmdt de entrada e o tráfego multicast chega ainda nesse MDT do RP-PE, o tráfego multicast será encaminhado para o receptor e não falhará no RPF. O motivo é que o RPF não faz uma verificação RPF rigorosa para verificar se o tráfego multicast realmente chega do vizinho RPF 10.1.100.3, o roteador Legacy-PE. Observe que não há adjacência de PIM para 10.1.100.3 em PE1 em Lmdt, porque o Legacy-PE não pode ter Lmdt porque ele executa somente PIM como protocolo de árvore de núcleo (Perfil 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)
O motivo pelo qual o PE1 escolhe Lmdt como a interface de entrada é que essas são as informações recebidas do comando de topologia RPF em PE1:
route-policy rpf-for-one
set core-tree mldp-default
end-policy
!
Se o RPF ainda estiver correto no PE1, o tráfego de multicast pode alcançar o Receptor atrás do PE1. Mas, o tráfego não segue o caminho mais curto do Legacy-PE para o PE1 no núcleo.
Para corrigir isso, o Egress-PE (PE1) deve ser configurado para sinalizar MDT e BGP baseados em PIM como sinalização de sobreposição também. Essa configuração é necessária no Egress-PE nesse caso:
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
!
!
!
Veja a Figura 4. Agora há um MDT baseado em PIM entre o Legacy-PE e o Egress-PE.
Figura 4.
O Egress-PE envia mensagens PIM Join através do MDT baseado em PIM em direção ao Legacy-Source-PE para (S, G) após switchover de SPT. A interface de entrada no Egress-PE agora é mdtone. O RP-PE não é mais um roteador de retorno para tráfego multicast.
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
E PE1 tem estas informações de PIM RPF para a Origem:
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
Isso significa que o tráfego agora flui diretamente do Legacy-Source-PE para o Egress-PE na rede central através do MDT baseado em PIM. Consulte a Figura 5.
Figura 5.
Todos os roteadores PE não legados, que são roteadores Receptor-PE ou RP-PE, devem ter a configuração estabelecida para migrar os protocolos de árvore de núcleo e os protocolos de sinalização C.
Como alternativa, uma solução alternativa é garantir que o switchover de SPT não ocorra, mas então o roteamento do tráfego de multicast pode não estar no caminho mais curto no núcleo da rede.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
19-May-2021 |
Versão inicial |