Introduction
Este documento descreve uma estratégia de migração do perfil 0 do mVPN (Multicast Virtual Private Network) para um perfil baseado em mLDP (Multipoint Label Distribution Protocol) no Cisco IOS®-XR usando um roteador giratório.
Uma rede está executando o perfil mVPN 0, que é o perfil com PIM (Protocol Independent Multicast) na rede central e PIM na sobreposição. A rede migrará para um perfil usando mLDP no núcleo. Aqui, a migração é para o perfil 6: Sinalização em banda com mLDP e usando VRF (Virtual Routing/Forwarding) nos roteadores PE (Provider Edge).
A solução de migração funciona para o tráfego SSM (Source Specific Multicast) e para o ASM (Any Source Multicast).
Veja a imagem 1.
Imagem 1
A Imagem 1 mostra o perfil de rede em execução 0. As fontes estão atrás de PE1. A migração é para o perfil 6, mas o problema é que o roteador de entrada PE (Provider Edge), PE1, é um roteador herdado que não pode migrar imediatamente para o perfil 6. A solução é continuar usando o perfil 0 em PE1 e usar um roteador TurnAround (TA) PE na rede, que cuida da comutação do tráfego multicast do perfil 0 para 6. A solução que usa um roteador de ciclo é uma solução temporária até que o PE de origem também possa ser migrado para o perfil 6. As setas na topologia mostram o fluxo de tráfego multicast.
Solução
A solução precisa do seguinte:
- Um roteador giratório capaz de executar o perfil 0 e o perfil 6.
- O roteamento SAFI (Identificador da família de endereços subsequente) 2 deve ser ativado nos roteadores não herdados. Essa é a chave para essa solução. O RPF (Reverse Path Forwarding) para a origem (ou RP (Rendez-Vous Point) para ASM) precisa estar em direção ao roteador TA PE. Para isso, deve haver rotas estáticas para origens e RP (se o ASM for usado) no VRF no SAFI 2 no roteador de ciclo. Essas rotas estáticas são anunciadas no roteador TA PE pelo BGP no SAFI 129 (multicast vpnv4). As rotas estáticas estão no SAFI 2 como não substituir as rotas no SAFI 1 (unicast) e não substituir a decisão de encaminhamento unicast no roteador PE TA e nos roteadores PE que recebem as rotas SAFI 129.
- O SAFI 129 no BGP é usado nos roteadores PE e RR (Route Reflector) do perfil 6. O SAFI 2 no BGP é usado nos roteadores PE do perfil 6. Esse SAFI 2 transporta as rotas de multicast no BGP usadas para RPF multicast, substituindo as rotas de unicast. SAFI 2 são as rotas multicast no VRF, e as rotas SAFI 129 são as rotas multicast para vpnv4.
O roteador PE de ciclo é responsável por atrair o tráfego multicast no perfil 0 e enviá-lo de volta ao núcleo pelo perfil 6. Isso o torna o roteador de ciclo. A reviravolta não precisa de um receptor conectado localmente, mas pode ter um.
Configuração
Configuração do RR
router bgp 65001
bgp router-id 10.0.0.5
address-family ipv4 unicast
!
address-family vpnv4 unicast
!
address-family ipv4 mdt ## for profile 0
!
address-family ipv4 mvpn
!
address-family vpnv4 multicast ## SAFI 129
!
neighbor 10.0.0.1 ## profile 0 peer
remote-as 65001
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
address-family ipv4 mdt
route-reflector-client
!
!
neighbor 10.0.0.2 ## profile 0 peer
remote-as 65001
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
address-family ipv4 mdt
route-reflector-client
!
!
neighbor 10.0.0.3 ## TA peer
remote-as 65001
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
address-family ipv4 mvpn
route-reflector-client
!
address-family vpnv4 multicast ## SAFI 129
route-reflector-client
!
!
neighbor 10.0.0.4 ## profile 6 peer
remote-as 65001
update-source Loopback0
address-family vpnv4 unicast
route-reflector-client
!
address-family ipv4 mdt
route-reflector-client
!
address-family ipv4 mvpn
route-reflector-client
!
address-family vpnv4 multicast
route-reflector-client
O RR está refletindo rotas para o perfil 0 (AF ipv4 mdt). MDT significa Multicast Distribution Tree (Árvore de distribuição multicast).
O RR precisa do SAFI 129. Esta é a família de endereços multicast vpnv4. As sessões de BGP para este AF entre o RR e cada roteador que executa o perfil 6 precisam estar lá.
Configuração do PE de origem
Note: A configuração do PE de origem deve ser adicionada a qualquer outro perfil 0 PE que faça parte da migração.
vrf one
address-family ipv4 unicast
import route-target
65001:1
!
export route-target
65001:1
router bgp 65001
bgp router-id 10.0.0.1
address-family vpnv4 unicast
!
address-family ipv4 mdt
!
neighbor 10.0.0.5
remote-as 65001
update-source Loopback0
address-family vpnv4 unicast
!
address-family ipv4 mdt
!
!
vrf one
rd 1:2
address-family ipv4 unicast
redistribute onnected
multicast-routing
address-family ipv4
interface Loopback0
enable
!
interface GigabitEthernet0/0/0/0
enable
!
!
vrf one
address-family ipv4
interface GigabitEthernet0/0/0/1
enable
!
mdt source Loopback0
rate-per-route
mdt default ipv4 232.1.1.1 ## profile 0 Default MDT
O roteador PE de origem tem a configuração somente para o perfil 0. Não há SAFI 129 ou SAFI 2 configurado. Não há configuração do perfil 6.
Configuração do TA PE
vrf one
address-family ipv4 unicast
import route-target
65001:1
!
export route-target
65001:1
!
!
address-family ipv4 multicast ## SAFI 2
import route-target
65001:1
!
export route-target
65001:1
router bgp 65001
bgp router-id 10.0.0.4
address-family ipv4 unicast
!
address-family ipv4 multicast ## this is needed to have the static route in SAFI 2
!
address-family vpnv4 unicast
!
address-family ipv4 mdt ## for profile 0
!
address-family ipv4 mvpn
!
address-family vpnv4 multicast ## SAFI 129
!
neighbor 10.0.0.5 ## RR peer
remote-as 65001
update-source Loopback0
address-family vpnv4 unicast
!
address-family ipv4 mdt
!
address-family ipv4 mvpn
!
address-family vpnv4 multicast ## SAFI 129
!
!
vrf one
rd 1:4
address-family ipv4 unicast
redistribute connected
redistribute static
!
address-family ipv4 multicast ## SAFI 2
redistribute connected
redistribute static ## redistribute SAFI 2 static routes
!
!
router static
vrf one
address-family ipv4 multicast
10.1.6.0/24 vrf default 10.0.0.1 ## SAFI 2 static route
route-policy rpf-PE-TA
set core-tree pim-default
end-polic
multicast-routing
address-family ipv4
interface Loopback0
enable
!
interface GigabitEthernet0/0/0/0
enable
!
!
vrf one
address-family ipv4
mdt source Loopback0
rate-per-route
mdt default ipv4 232.1.1.1 ## profile 0
mdt mldp in-band-signaling ipv4 ## profile 6
!
!
!
router pim
vrf one
address-family ipv4
rpf topology route-policy rpf-PE-TA
O assistente precisa do SAFI 129. Esse é o multicast da família de endereços vpnv4 para o RR.
O SAFI 2 é necessário sob o VRF e o BGP.
A rota estática no VRF em direção à origem (ou RP para ASM) é necessária, apontando para o roteador PE de entrada. Essa rota SAFI 2 estática deve ser redistribuída, como uma rota SAFI 129 no BGP. Essa rota SAFI 129 é recebida pelo perfil 6 rotas PE no BGP como uma rota SAFI 129 e instalada como uma rota SAFI 2 no VRF.
A configuração dos perfis 0 e 6 é necessária. O comando de topologia RPF é configurado para o perfil 0, pois é aqui que a origem (ou RP) está presente.
Note: O roteador de ciclo precisa ter uma (sub)interface física (não uma interface de loopback) habilitada para o roteamento multicast no VRF. Se esse não for o caso, as rotas multicast não serão instaladas nas placas de linha e o tráfego multicast não será revertido.
Configuração do PE de saída
vrf one
address-family ipv4 unicast
import route-target
65001:1
export route-target
65001:1
!
address-family ipv4 multicast ## SAFI 2
import route-target
65001:1
!
export route-target
65001:1
router bgp 65001
bgp router-id 10.0.0.3
address-family ipv4 unicast
!
address-family vpnv4 unicast
!
address-family ipv4 mvpn
!
address-family vpnv4 multicast ## SAFI 129
!
neighbor 10.0.0.5 ## RR peer
remote-as 65001
update-source Loopback0
address-family vpnv4 unicast
!
address-family ipv4 mvpn
!
address-family vpnv4 multicast ## SAFI 129
!
!
vrf one
rd 1:3
address-family ipv4 unicast
redistribute connected
!
address-family ipv4 multicast ## SAFI 2
redistribute connected
redisribute static
route-policy in-band-mldp
set core-tree mldp-inband ## profile 6
end-polic
multicast-routing
address-family ipv4
interface Loopback0
enable
!
!
vrf one
address-family ipv4
interface GigabitEthernet0/0/0/1
enable
!
mdt source Loopback0
rate-per-route
mdt mldp in-band-signaling ipv4 ## profile 6
!
!
!
router pim
address-family ipv4
interface Loopback0
enable
!
!
vrf one
address-family ipv4
rpf topology route-policy in-band-mldp ## profile 6
O roteador PE de saída tem a configuração para o perfil 6. Além disso: para que o roteador PE de saída tenha um RPF bem-sucedido para o roteador TA PE para a origem (ou RP para ASM), ele precisa da configuração para SAFI 2 e SAFI 129.
Verificação
Perfil 6 PE - PE3
RP/0/RP0/CPU0:PE3#show bgp vpnv4 multicast rd 1:3 10.1.6.0/24
BGP routing table entry for 10.1.6.0/24, Route Distinguisher: 1:3
Versions:
Process bRIB/RIB SendTblVer
Speaker 136 136
Last Modified: Jul 7 12:02:27.278 for 00:49:22
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 30) from 10.0.0.5 (10.0.0.4)
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 136
Extended community: RT:65001:1
Originator: 10.0.0.4, Cluster list: 10.0.0.5
Connector: type: 1, Value:1:4:10.0.0.4
Source AFI: VPNv4 Multicast, Source VRF: default, Source Route Distinguisher: 1:4
O próximo salto é 10.0.0.4, que é o roteador TA PE.
RP/0/RP0/CPU0:PE3#show route vrf one ipv4 multicast 10.1.6.0/24
Routing entry for 10.1.6.0/24
Known via "bgp 65001", distance 200, metric 0, type internal
Installed Jul 7 12:02:27.236 for 00:50:44
Routing Descriptor Blocks
10.0.0.4, from 10.0.0.5
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:PE3#show pim vrf one rpf 10.1.6.6
Table: IPv4-Multicast-default
* 10.1.6.6/32 [200/0]
via Imdtone with rpf neighbor 10.0.0.4
Connector: 1:4:10.0.0.4, Nexthop: 10.0.0.4
O RPF está em direção ao roteador TA PE.
RP/0/RP0/CPU0:PE3#show mrib vrf one route 232.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, 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, TRMI - TREE SID MDT Interface, MH - Multihome Interface
(10.1.6.6,232.1.1.1) RPF nbr: 10.0.0.4 Flags: RPF
Up: 09:29:38
Incoming Interface List
Imdtone Flags: A LMI, Up: 00:47:04
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 09:29:38
A interface de entrada é o perfil 6.
TA PE
RP/0/RP0/CPU0:TA-PE#show bgp vpnv4 multicast rd 1:4 10.1.6.0/24
BGP routing table entry for 10.1.6.0/24, Route Distinguisher: 1:4
Versions:
Process bRIB/RIB SendTblVer
Speaker 80 80
Last Modified: Jul 7 12:02:27.317 for 01:04:42
Paths: (1 available, best #1)
Advertised to peers (in unique update groups):
10.0.0.5
Path #1: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5
Local
10.0.0.1 (metric 30) from 0.0.0.0 (10.0.0.4)
Origin incomplete, metric 0, localpref 100, weight 32768, valid, redistributed, best, group-best, import-candidate
Received Path ID 0, Local Path ID 1, version 80
Extended community: RT:65001:1
Essa rota é local, mas o próximo salto é o PE de origem (10.0.0.1). A rota é anunciada para o RR (10.0.0.5).
RP/0/RP0/CPU0:TA-PE#show route vrf one ipv4 multicast 10.1.6.0/24
Routing entry for 10.1.6.0/24
Known via "static", distance 1, metric 0
Installed Jul 7 12:02:27.234 for 01:07:01
Routing Descriptor Blocks
10.0.0.1
Nexthop in Vrf: "default", Table: "default", IPv4 Multicast, Table Id: 0xe0100000
Route metric is 0, Wt is 1
No advertising protos.
RP/0/RP0/CPU0:PE-TA#show pim vrf one rpf 10.1.6.6
Table: IPv4-Multicast-default
* 10.1.6.6/32 [1/0]
via mdtone with rpf neighbor 10.0.0.1
O RPF é direcionado ao roteador de origem usando o perfil 0.
RP/0/RP0/CPU0:TA-PE#show mrib vrf one route 232.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, 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, TRMI - TREE SID MDT Interface, MH - Multihome Interface
(10.1.6.6,232.1.1.1) RPF nbr: 10.0.0.1 Flags: RPF
Up: 01:13:28
Incoming Interface List
mdtone Flags: A MI, Up: 01:13:28
Outgoing Interface List
Imdtone Flags: F LMI, Up: 01:13:28
A interface de entrada é MDT do perfil 0 e a interface de saída é MDT do perfil 6. Esta é a virada.
RP/0/RP0/CPU0:TA-PE#show mfib vrf one route 232.1.1.1 detail
IP Multicast Forwarding Information Base
Entry flags: C - Directly-Connected Check, S - Signal, D - Drop,
IA - Inherit Accept, IF - Inherit From, EID - Encap ID,
ME - MDT Encap, MD - MDT Decap, MT - MDT Threshold Crossed,
MH - MDT interface handle, CD - Conditional Decap,
DT - MDT Decap True, EX - Extranet, RPFID - RPF ID Set,
MoFE - MoFRR Enabled, MoFS - MoFRR State, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
EG - Egress, EI - Encapsulation Interface, MI - MDT Interface,
EX - Extranet, A2 - Secondary Accept
Forwarding/Replication Counts: Packets in/Packets out/Bytes out
Failure Counts: RPF / TTL / Empty Olist / Encap RL / Other
(10.1.6.6,232.1.1.1), Flags: EID RPFID
Up: 01:15:01
Last Used: never
SW Forwarding Counts: 0/0/0
SW Replication Counts: 0/0/0
SW Failure Counts: 0/0/0/0/0
Route ver: 0xd672
MVPN Info :-
Associated Table ID : 0xe0000000
MDT Handle: 0x0, MDT Probe:N [N], Rate:Y, Acc:N
MDT SW Ingress Encap V4/V6, Egress decap: 0 / 0, 0
Encap ID: 262146, RPF ID: 3
Local Receiver: False, Turnaround: True
mdtone Flags: A MI, Up:01:15:01
Imdtone Flags: F LMI, Up:01:15:01
A interface de entrada é MDT do perfil 0 e a interface de saída é MDT do perfil 6. Esta é a virada.
Perfil 0 PE - PE2
RP/0/RP0/CPU0:PE2#show pim vrf one rpf 10.1.6.6
Table: IPv4-Unicast-default
* 10.1.6.6/32 [200/0]
via mdtone with rpf neighbor 10.0.0.1
Connector: 1:1:10.0.0.1, Nexthop: 10.0.0.1
O RPF está em direção ao perfil 0 do roteador PE de entrada.
RP/0/RP0/CPU0:PE2#show mrib vrf one route 232.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, 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, TRMI - TREE SID MDT Interface, MH - Multihome Interface
(10.1.6.6,232.1.1.1) RPF nbr: 10.0.0.1 Flags: RPF
Up: 1d22h
Incoming Interface List
mdtone Flags: A MI, Up: 02:49:35
Outgoing Interface List
GigabitEthernet0/0/0/1 Flags: F NS, Up: 1d22h
A interface de entrada é o perfil 0.
RR
RP/0/RP0/CPU0:P#show bgp vpnv4 multicast rd 1:4 10.1.6.0/24
BGP routing table entry for 10.1.6.0/24, Route Distinguisher: 1:4
Versions:
Process bRIB/RIB SendTblVer
Speaker 84 84
Last Modified: Jul 7 12:02:27.979 for 00:54:33
Paths: (1 available, best #1)
Advertised to update-groups (with more than one peer):
0.2
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.4 (metric 20) from 10.0.0.4 (10.0.0.4)
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, not-in-vrf
Received Path ID 0, Local Path ID 1, version 84
Extended community: RT:65001:1
Connector: type: 1, Value:1:4:10.0.0.4
A rota em direção à origem é anunciada para o perfil 6 dos roteadores PE e é recebida do roteador TA (10.0.0.4).
Estratégia de saída
A solução de migração usando um roteador de ciclo é uma solução temporária. A migração deve ser concluída com a migração de cada roteador PE para o perfil 6. Isso pode ser feito por meio das seguintes etapas:
- Adicionar um novo roteador PE de origem
- Adicione uma política de rota em roteadores PE a RPF para o roteador PE de origem herdado (Perfil 0), para o roteador PE TA (perfil 6) ou para o novo roteador PE de origem (perfil 6)
- Especificar uma origem e/ou um grupo na política de rotas
- Mover a origem multicast para o novo roteador PE de origem
- Remova o roteador PE de origem antiga assim que todos os grupos multicast forem migrados para o novo roteador PE de origem
Conclusão
Usar um roteador de ciclo para mVPN pode ser uma maneira fácil de facilitar a migração do perfil 0 para um novo perfil mVPN como uma solução temporária enquanto espera por um roteador PE de origem mais recente, capaz de executar o novo perfil mVPN.