Introduzione
Questo documento descrive una strategia di migrazione dal profilo mVPN (multicast Virtual Private Network) 0 a un profilo basato su mLDP (multipoint Label Distribution Protocol) in Cisco IOS®-XR utilizzando un router di risposta.
Una rete esegue il profilo mVPN 0, che è il profilo con PIM (Protocol Independent Multicast) nella rete principale e PIM nella sovrapposizione. La rete eseguirà la migrazione a un profilo utilizzando mLDP nel core. In questo caso, la migrazione è al profilo 6: Segnalazione in-band con mLDP e utilizzo di VRF (Virtual Routing/Forwarding) sui router PE (Provider Edge).
La soluzione di migrazione funziona per il traffico SSM (multicast specifico dell'origine) e ASM (multicast di origine).
Guarda l'immagine 1.
Immagine 1
Nell'immagine 1 è illustrato il profilo di esecuzione di rete 0. Le origini si trovano dietro PE1. La migrazione è verso il profilo 6, ma il problema è che il router PE (Provider Edge) in entrata, PE1, è un router legacy che non può eseguire immediatamente la migrazione al profilo 6. La soluzione consiste nel continuare a utilizzare il profilo 0 in PE1 e utilizzare un router PE TurnAround (TA) nella rete, che si occupa di commutare il traffico multicast dal profilo 0 al profilo 6. La soluzione che utilizza un router di risposta è una soluzione temporanea finché non è possibile eseguire la migrazione anche del PE di origine al profilo 6. Le frecce sulla topologia mostrano il flusso del traffico multicast.
Soluzione
La soluzione richiede quanto segue:
- Un router di risposta in grado di eseguire il profilo 0 e il profilo 6.
- È necessario abilitare il routing SAFI (Successive Address Family Identifier) 2 sui router non legacy. Questa è la chiave di questa soluzione. L'RPF (Reverse Path Forwarding) verso l'origine (o l'RP (Rendez-Vous Point) per ASM) deve essere verso il router TA PE. A tal fine, devono essere presenti route statiche per le origini e RP (se si utilizza ASM) nel VRF in SAFI 2 sul router di risposta. Queste route statiche vengono pubblicizzate sul router TA PE da BGP in SAFI 129 (multicast vpnv4). Le route statiche si trovano in SAFI 2 in modo da non ignorare le route in SAFI 1 (unicast) e non ignorare la decisione di inoltro unicast sul router TA PE e sui router PE che ricevono le route SAFI 129.
- Il protocollo SAFI 129 in BGP viene utilizzato sul profilo 6 dei router PE e RR (Route Reflector). Il protocollo SAFI 2 in BGP viene utilizzato sui router Profile 6 PE. Questo SAFI 2 porta le route multicast in BGP utilizzate per il multicast RPF, ignorando le route non cast. SAFI 2 è le route multicast nel VRF e le route SAFI 129 sono le route multicast per vpnv4.
Il router PE di risposta è responsabile di attirare il traffico multicast nel profilo 0 e di inviarlo di nuovo al core nel profilo 6. Questo lo rende il router di risposta. Il sistema di inversione non necessita di un ricevitore collegato localmente, ma potrebbe averne uno.
Configurazione
Configurazione del record di risorse
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
Il record di risorse riflette le route per il profilo 0 (AF ipv4 mdt). MDT è l'acronimo di Multicast Distribution Tree (albero di distribuzione multicast).
Per il ripristino di emergenza è necessario SAFI 129. Si tratta della famiglia di indirizzi multicast vpnv4. Le sessioni BGP per questa ASA tra l'RR e ciascun router con profilo 6 devono essere presenti.
Configurazione del file PE di origine
Nota: La configurazione PE di origine deve essere aggiunta a qualsiasi altro profilo 0 PE incluso nella migrazione.
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
Il router PE di origine dispone della configurazione solo per il profilo 0. Non è configurato alcun SAFI 129 o SAFI 2. Nessuna configurazione del profilo 6.
Configurazione di 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
TA PE richiede SAFI 129. Si tratta della famiglia di indirizzi multicast vpnv4 verso RR.
SAFI 2 è richiesto nell’ambito del VRF e del BGP.
È necessario il percorso statico nel VRF verso l'origine (o RP per ASM), che punta al router PE in entrata. Questa rotta statica SAFI 2 deve essere ridistribuita come una rotta SAFI 129 in BGP. Questa rotta SAFI 129 è ricevuta dalle rotte di profilo 6 PE in BGP come rotta SAFI 129 e installata come rotta SAFI 2 nel VRF.
È necessaria la configurazione dei profili 0 e 6. Il comando topologia RPF è configurato per il profilo 0, in quanto è presente l'origine (o RP).
Nota: Il router di risposta deve avere un'interfaccia fisica (secondaria) (non un'interfaccia di loopback) abilitata per il routing multicast nel VRF. In caso contrario, le route multicast non verranno installate nelle schede di linea e il traffico multicast non verrà invertito.
Configurazione del file PE in uscita
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
Il router PE in uscita ha la configurazione per il profilo 6. Oltre a ciò: affinché il router PE in uscita esegua correttamente il RPF verso il router PE TA per l'origine (o il RP per ASM), è necessaria la configurazione per SAFI 2 e SAFI 129.
Verifica
Profilo 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
L'hop successivo è la versione 10.0.0.4, che è il router 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
L'RPF è diretto al router 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
L'interfaccia in entrata è il profilo 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
Questa route è locale, ma l'hop successivo è il file PE di origine (10.0.0.1). Il percorso viene annunciato al record di risorse (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
L'RPF si dirige verso il router di origine usando il profilo 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
L'interfaccia in ingresso è MDT del profilo 0 e l'interfaccia in uscita è MDT del profilo 6. Questa è la soluzione.
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
L'interfaccia in ingresso è MDT del profilo 0 e l'interfaccia in uscita è MDT del profilo 6. Questa è la soluzione.
Profilo 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
L'RPF si dirige verso il router PE in entrata con profilo 0.
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
L'interfaccia in entrata è il profilo 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
Il percorso verso l'origine viene annunciato ai router PE con profilo 6 e ricevuto dal router AT (10.0.0.4).
Esci dalla strategia
La soluzione di migrazione che utilizza un router di risposta è temporanea. La migrazione deve essere completata eseguendo la migrazione di ogni router PE al profilo 6. A tale scopo, eseguire le operazioni seguenti:
- Aggiungere un nuovo router PE di origine
- Aggiungere un criterio di route sui router PE a RPF al router PE di origine legacy (profilo 0), al router PE TA (profilo 6) o al nuovo router PE di origine (profilo 6)
- Specificare un'origine e/o un gruppo nel criterio di route
- Sposta l'origine multicast nel nuovo router PE di origine
- Rimuovere il vecchio router PE di origine dopo la migrazione di tutti i gruppi multicast nel nuovo router PE di origine
Conclusioni
L'utilizzo di un router di risposta per mVPN può essere un modo semplice per facilitare la migrazione dal profilo 0 a un nuovo profilo mVPN come soluzione temporanea in attesa di un router PE di origine più recente in grado di eseguire il nuovo profilo mVPN.