Einleitung
Dieses Dokument beschreibt eine Migrationsstrategie vom mVPN-Profil 0 (Multicast Virtual Private Network) zu einem mLDP-basierten (Multipoint Label Distribution Protocol) Profil in Cisco IOS®-XR unter Verwendung eines Turnaround-Routers.
In einem Netzwerk wird das mVPN-Profil 0 ausgeführt. Dies ist das Profil mit PIM (Protocol Independent Multicast) im Core-Netzwerk und PIM im Overlay. Das Netzwerk wird mithilfe von mLDP im Core zu einem Profil migriert. Hier ist die Migration zu Profil 6: In-Band-Signalisierung mit mLDP und Verwendung von VRF (Virtual Routing/Forwarding) auf den PE-Routern (Provider Edge).
Die Migrationslösung funktioniert für SSM- (Source Specific Multicast) und ASM-Datenverkehr (Any Source Multicast).
Schauen Sie sich Bild 1 an.
Bild 1
Abbildung 1 zeigt das Netzwerkprofil 0. Die Quellen liegen hinter PE1. Die Migration verläuft zu Profil 6, aber das Problem besteht darin, dass der Eingangs-PE-Router (Provider Edge), PE1, ein Legacy-Router ist, der nicht sofort zu Profil 6 migriert werden kann. Die Lösung besteht darin, weiterhin Profil 0 auf PE1 zu verwenden und im Netzwerk einen TurnAround (TA)-PE-Router zu verwenden, der den Multicast-Datenverkehr von Profil 0 auf 6 umleitet. Die Lösung mit einem Turnaround-Router ist eine temporäre Lösung, bis der Quell-PE auch zu Profil 6 migriert werden kann. Die Pfeile in der Topologie zeigen den Multicast-Datenverkehrsfluss.
Lösung
Die Lösung benötigt folgende Komponenten:
- Ein Turnaround-Router, der Profil 0 und Profil 6 ausführen kann.
- SAFI (Follow Address Family Identifier) 2-Routing muss auf den Nicht-Legacy-Routern aktiviert werden. Dies ist der Schlüssel zu dieser Lösung. Der RPF (Reverse Path Forwarding, Umkehrweg-Weiterleitung) an die Quelle (oder der RP (Rendez-Vous Point) für ASM) muss zum TA-PE-Router geleitet werden. Dazu müssen statische Routen für Quellen und RP (wenn ASM verwendet wird) in der VRF-Instanz in SAFI 2 auf dem Turnaround-Router vorhanden sein. Diese statischen Routen werden vom BGP im SAFI 129 (vpnv4-Multicast) auf dem TA-PE-Router angekündigt. Die statischen Routen befinden sich in SAFI 2, um die Routen in SAFI 1 (Unicast) nicht zu überschreiben und die Unicast-Weiterleitungsentscheidung auf dem TA-PE-Router und den PE-Routern, die die SAFI-129-Routen empfangen, nicht außer Kraft zu setzen.
- SAFI 129 im BGP wird auf den PE- und RR-Routern des Profils 6 (Routen-Reflektor) verwendet. SAFI 2 im BGP wird auf den PE-Routern des Profils 6 verwendet. Diese SAFI 2 überträgt die Multicast-Routen im BGP, die für Multicast-RPF verwendet werden, und überschreibt die Unicast-Routen. SAFI 2 ist die Multicast-Routen in der VRF-Instanz, und die SAFI-129-Routen sind die Multicast-Routen für VPNv4.
Der Trunk-PE-Router ist dafür verantwortlich, den Multicast-Datenverkehr in Profil 0 anzuziehen und über Profil 6 wieder an den Core zu senden. Dies macht ihn zum Turnaround-Router. Die Umdrehung erfordert keinen lokal angeschlossenen Receiver, sondern einen solchen.
Konfiguration
Konfiguration der 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
Der RR reflektiert Routen für das Profil 0 (AF ipv4 mdt). MDT steht für Multicast Distribution Tree.
Der RR benötigt SAFI 129. Dies ist die Adresse für VPNv4-Multicast der Familie. Für diesen AF müssen BGP-Sitzungen zwischen dem RR und jedem Router, auf dem das Profil 6 ausgeführt wird, vorhanden sein.
Konfiguration des Quell-PE
Anmerkung: Die Quell-PE-Konfiguration muss jedem anderen Profil 0-PE hinzugefügt werden, das Teil der Migration ist.
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
Der Quell-PE-Router hat die Konfiguration nur für Profil 0. Es ist kein SAFI 129 oder SAFI 2 konfiguriert. Es gibt keine Konfiguration für Profil 6.
Konfiguration des 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
Der TA-PE benötigt SAFI 129. Dies ist die Adresse für VPNv4-Multicast in Richtung RR.
SAFI 2 wird für VRF und BGP benötigt.
Die statische Route in der VRF-Instanz zur Quelle (oder RP für ASM) wird benötigt, die auf den Eingangs-PE-Router verweist. Diese statische SAFI 2-Route muss als SAFI 129-Route im BGP neu verteilt werden. Diese SAFI 129-Route wird von den PE-Routen des Profils 6 im BGP als SAFI 129-Route empfangen und als SAFI 2-Route in der VRF installiert.
Die Konfiguration des Profils 0 und 6 ist erforderlich. Der RPF-Topologiebefehl wird für Profil 0 konfiguriert, da hier die Quelle (oder der RP) vorhanden ist.
Anmerkung: Der Umdrehungsrouter muss über eine physische (Sub-)Schnittstelle (keine Loopback-Schnittstelle) verfügen, die für Multicast-Routing in der VRF-Instanz aktiviert ist. Ist dies nicht der Fall, werden die Multicast-Routen nicht auf den Linecards installiert, und der Multicast-Datenverkehr wird nicht umgekehrt.
Konfiguration des Ausgangs-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.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
Der Egress-PE-Router hat die Konfiguration für Profil 6. Darüber hinaus: Damit der Egress-PE-Router erfolgreich RPF zum TA-PE-Router für die Quelle (oder zum RP für ASM) sendet, muss die Konfiguration für SAFI 2 und SAFI 129 konfiguriert werden.
Überprüfung
Profil 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
Der Next-Hop ist 10.0.0.4, der TA-PE-Router.
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
Der RPF verläuft zum TA-PE-Router.
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
Die Eingangsschnittstelle ist Profil 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
Diese Route ist lokal, der Next-Hop ist jedoch der Quell-PE (10.0.0.1). Die Route wird dem RR angekündigt (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
Der RPF wird mithilfe des Profils 0 zum Quellrouter weitergeleitet.
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
Die eingehende Schnittstelle ist ein MDT des Profils 0, und die ausgehende Schnittstelle ist ein MDT des Profils 6. Das ist die Wende.
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
Die eingehende Schnittstelle ist ein MDT des Profils 0, und die ausgehende Schnittstelle ist ein MDT des Profils 6. Das ist die Wende.
Profil 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
Der RPF verläuft zum PE-Router für den Eingangs-PE des Profils 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
Die Eingangsschnittstelle ist das Profil 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
Die Route zur Quelle wird den PE-Routern des Profils 6 angekündigt und vom TA-Router (10.0.0.4) empfangen.
Exit-Strategie
Die Migrationslösung mit einem Umdrehungsrouter ist eine temporäre Lösung. Die Migration sollte abgeschlossen werden, indem jeder PE-Router zu Profil 6 migriert wird. Gehen Sie wie folgt vor:
- Neuen Quell-PE-Router hinzufügen
- Fügen Sie dem Legacy-PE-Router (Profil 0) oder dem TA-PE-Router (Profil 6) oder dem neuen Quell-PE-Router (Profil 6) eine Routenrichtlinie für PE-Router hinzu (Profil 6).
- Geben Sie eine Quelle und/oder eine Gruppe in der Routenrichtlinie an.
- Verschieben der Multicast-Quelle zum neuen Quell-PE-Router
- Entfernen Sie den alten Quell-PE-Router, sobald alle Multicast-Gruppen auf den neuen Quell-PE-Router migriert wurden.
Schlussfolgerung
Die Verwendung eines Turnaround-Routers für das mVPN kann die Migration von Profil 0 zu einem neuen mVPN-Profil als temporäre Lösung erleichtern, während gleichzeitig auf einen neueren Quell-PE-Router gewartet wird, der das neue mVPN-Profil ausführen kann.