Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

Netwerkdiagram

Configuratie op PE1

Configuratie op ABR1

Verifiëren

Problemen oplossen

Gerelateerde informatie

Inleiding

Dit document beschrijft het doel van Unified Multiprotocol Label Switching (MPLS) en biedt een configuratievoorbeeld in Cisco IOS® XR.

Voorwaarden

Vereisten

Er zijn geen specifieke vereisten van toepassing op dit document.

Gebruikte componenten

Dit document is specifiek voor Cisco IOS XR, maar is niet beperkt tot een specifieke softwarerelease of hardware.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.

Achtergrondinformatie

Het doel van Unified MPLS draait allemaal om schalen. Om een MPLS-netwerk te schalen, waar er verschillende soorten platforms en services zijn in delen van het netwerk, is het verstandig om het netwerk in verschillende gebieden te splitsen. Een typisch ontwerp introduceert een hiërarchie die een kern in het centrum met samenvoeging aan de kant heeft. Om te kunnen schalen, kunnen er verschillende Interior Gateway Protocols (IGP’s) in de kern zijn tegenover de aggregatie. Om te schalen, kunt u niet de IGP prefixes van één IGP in andere verdelen. Als u de IGP-prefixes niet van de ene IGP naar de andere IGP verdeelt, zijn de end-to-end Label-Switched Paths (LSP’s) niet mogelijk.

Om de MPLS-services end-to-end te kunnen leveren, moet de LSP end-to-end zijn. Het doel is om de MPLS-services (MPLS VPN, MPLS L2VPN) te behouden zoals ze zijn, maar grotere schaalbaarheid te introduceren. Om dit te doen, verplaats een aantal van de IGP-prefixes naar BGP (BGP) (de loopback prefixes van de Provider Edge (PE) routers), die vervolgens de prefixes end-to-end distribueert.

Configureren

Opmerking: Zie Best Practices voor het zoeken naar opdrachten (alleen geregistreerde klanten) voor meer informatie over het onderzoeken van opdrachten.

Netwerkdiagram

Afbeelding 1 toont een netwerk met drie verschillende gebieden: een kern en twee aggregatiegebieden aan de zijkant. Elk gebied voert zijn eigen IGP uit, zonder herverdeling tussen deze gebieden op de Area Border Router (ABR). Het gebruik van BGP is nodig om een end-to-end MPLS LSP te kunnen leveren. BGP adverteert de loopbacks van de PE routers met een label over het gehele domein en biedt een end-to-end LSP. BGP wordt geïmplementeerd tussen de PE’s en ABR’s met RFC 3107 (BGP-labelling Unicast), wat betekent dat BGP het IPv4-prefix + -label (Address Family Identifier (AFI) 1 en Next Address Family Identifier (SAFI) 4) verstuurt.

Afbeelding 1

Aangezien de kern- en aggregatiedelen van het netwerk zijn geïntegreerd en end-to-end LSP’s worden geleverd, wordt de Unified MPLS-oplossing ook wel "Naadloze MPLS" genoemd.

Nieuwe technologieën of protocollen worden hier niet gebruikt, alleen MPLS, Label Distribution Protocol (LDP), IGP en BGP. Aangezien u niet de loopback prefixes van de PE routers van één deel van het netwerk in een ander deel wilt verdelen, moet u de prefixes in BGP dragen. Het Internal Border Gateway Protocol (iBGP) wordt gebruikt in één netwerk, dus het volgende hopadres van de prefixes is de loopback prefixes van de PE routers, die niet bekend is bij IGP in de andere delen van het netwerk. Dit betekent dat het volgende hopadres niet kan worden gebruikt om terug te keren naar een IGP-prefix. De truc is om de ABR routers Route Reflectors (RR) te maken en de volgende hop naar zelf te stellen, zelfs voor de gereflecteerde iBGP prefixes.

Alleen de RR's hebben software nodig om deze architectuur te ondersteunen. Aangezien de RRs de BGP prefixes adverteren met de volgende hop die aan zich wordt geplaatst, wijzen zij een lokaal MPLS- etiket aan de BGP prefixes toe. Dit betekent dat in het gegevensvlak de pakketten die op deze end-to-end LSP’s worden doorgestuurd een extra MPLS-label in de labelstack hebben. De RR's bevinden zich in het voorwaartse pad.

Opmerking: boven deze architectuur wordt elke MPLS-service geleverd. De service MPLS VPN of MPLS L2VPN wordt bijvoorbeeld geleverd tussen de PE-routers. Het verschil in het gegevensvlak voor deze pakketten is dat zij nu drie etiketten in de etiketstapel hebben, terwijl zij twee etiketten in de etiketstapel hadden toen Unified MPLS niet werd gebruikt.

Er zijn twee mogelijke scenario's:

- De ABR stelt de volgende hop niet in op zichzelf voor de prefixes die door de ABR worden geadverteerd (weergegeven door BGP) in het aggregatiedeel van het netwerk. Daarom moet de ABR de loopback prefixes van de ABR's van de kern-IGP herverdelen in de aggregatie-IGP. Als dit gebeurt, is er nog schaalbaarheid. Alleen de ABR-loopback-prefixes (van de kern) moeten worden geadverteerd in het aggregatieonderdeel, niet de loopback-prefixes van de PE-routers van de externe aggregatieonderdelen.

- De ABR stelt de volgende hop in op 'zelf' voor de voorvoegsels die door de ABR worden geadverteerd (weergegeven door BGP) in het aggregatieonderdeel. Daarom hoeft de ABR de loopback prefixes van de ABR's niet opnieuw te verdelen van de kern-IGP naar de aggregatie-IGP.

In beide scenario's stelt de ABR de volgende hop naar zichzelf in voor de prefixes die geadverteerd (weergegeven door BGP) door de ABR van het aggregatiedeel van het netwerk naar het kerndeel. Als dit niet gebeurt, moet de ABR de loopback prefixes van de PE's van de aggregatie IGP herverdelen in de kern IGP. Als dit gebeurt, is er geen schaalbaarheid.

Er kunnen verschillende configuraties worden toegepast om de volgende hop in te stellen voor gereflecteerde iBGP-gelabelde Unicast-routes op de ABR's.

Deze oplossingen werken niet om RFC 3107 in Cisco IOS XR in te schakelen:

- Next-hop-self werkt niet.

Voorbeeld:

router bgp 1

neighbor 10.100.1.1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

next-hop-self

!

- RPL met set next-hop zelf werkt niet.

Voorbeeld:

router bgp 1

neighbor 10.100.1.1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

route-policy nhs-ibgp-3107 out

!

route-policy nhs-ibgp-3107

set next-hop self

end-policy

- de reeks volgende-hop aan peer-adres is geen geldige exploitant voor het aanhechtingspunt.

Voorbeeld:

router bgp 1

neighbor 10.100.1.1

address-family ipv4 labeled-unicast

route-policy nhs-ibgp-3107-peer out

!!% Could not find entry in list: Policy [nhs-ibgp-3107-peer]

uses 'set-to-peer-address next-hop'. 'set' is not a valid

operator for the 'next-hop' attribute at the bgp neighbor-out-dflt attach point.

!

!

!

route-policy nhs-ibgp-3107-peer

set next-hop peer-address

end-policy

- zet volgende-hop aan een specifiek adres in een route-beleid en ibgp beleid uit afdwingen-wijzigingen werkt niet

Voorbeeld:

router bgp 1

ibgp policy out enforce-modifications

!

neighbor 10.100.1.1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

route-policy nhs-ibgp-3107 out

!

!

route-policy nhs-ibgp-3107-peer

set next-hop 10.100.1.3

end-policy

Deze oplossingen werken wel.

Zorg ervoor dat ibgp policy out afdwingbaar-wijzigingen!

Voorbeeld:

router bgp 1

ibgp policy out enforce-modifications

!

neighbor 10.100.1.1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

next-hop-self

!

!

Voorbeeld:

router bgp 1

ibgp policy out enforce-modifications

!

neighbor 1.100.1.1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

route-policy nhs-ibgp-3107 out

!

!

route-policy nhs-ibgp-3107

set next-hop self

end-policy

Voorbeeld:

router bgp 1

ibgp policy out enforce-modifications

!

neighbor 10.100.1.1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

route-policy nhs-ibgp-3107 out

next-hop-self

!

!

!

route-policy nhs-ibgp-3107

set next-hop self

end-policy

Voorbeeld:

router bgp 1

ibgp policy out enforce-modifications

!

neighbor 10.100.1.1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

route-policy nhs-ibgp-3107 out

next-hop-self

!

!

!

route-policy nhs-ibgp-3107

set next-hop 10.100.1.3

end-policy

Configuratie op PE1

hostname PE1

!

vrf one     <<< MPLS service is MPLS VPN

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

address-family ipv6 unicast

import route-target

1:1

!

export route-target

1:1

!

!

interface Loopback0

ipv4 address 10.100.1.1 255.255.255.255

!

!

interface GigabitEthernet0/0/0/0

ipv4 address 10.1.1.1 255.255.255.0

!

!

interface GigabitEthernet0/0/0/1   <<< VRF interface to CE1

vrf one

ipv4 address 10.9.1.3 255.255.255.0

!

!

router ospf 1

router-id 10.100.1.1

area 0

interface Loopback0

!

interface GigabitEthernet0/0/0/0

network point-to-point

!

!

!

router bgp 1

address-family ipv4 unicast

network 10.100.1.1/32    <<< advertise PE loopback in BGP

allocate-label all

!

address-family vpnv4 unicast

!

neighbor 10.100.1.3

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

!

!

neighbor 10.100.1.7     <<< vpnv4 iBGP session to PE2

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

!

vrf one

rd 1:1

address-family ipv4 unicast

!

neighbor 10.9.1.2    <<< eBGP session to CE1

remote-as 65001

address-family ipv4 unicast

route-policy pass in

route-policy pass out

!

!

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

router-id 10.100.1.1

address-family ipv4

!

interface GigabitEthernet0/0/0/0

address-family ipv4

!

!

!

Configuratie op ABR1

hostname ABR1

!

interface Loopback0

ipv4 address 10.100.1.3 255.255.255.255

!

!

interface GigabitEthernet0/0/0/0

ipv4 address 10.1.3.3 255.255.255.0

!

interface GigabitEthernet0/0/0/1

ipv4 address 10.1.2.3 255.255.255.0

!

route-policy nhs-ibgp-3107

set next-hop 10.100.1.3    <<< set next hop to loopback

end-policy

!

route-policy connected-into-ospf2

if destination in (10.100.1.3/32) then

pass

endif

end-policy

!

router ospf 1

router-id 10.100.1.3

area 0

interface Loopback0

!

interface GigabitEthernet0/0/0/1

network point-to-point

!

!

!

router ospf 2

redistribute connected route-policy connected-into-ospf2

area 0

interface GigabitEthernet0/0/0/0

network point-to-point

!

!

!

router bgp 1

ibgp policy out enforce-modifications

address-family ipv4 unicast

allocate-label all

!

neighbor 10.100.1.1     <<< iBGP neighbor PE1

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-reflector-client

route-policy nhs-ibgp-3107 out

next-hop-self

!

!

neighbor 10.100.1.5      <<< iBGP neighbor ABR2

remote-as 1

update-source Loopback0

address-family ipv4 labeled-unicast

route-policy nhs-ibgp-3107 out

next-hop-self

!

!

!

mpls ldp

mldp

address-family ipv4

!

!

router-id 10.100.1.3

interface GigabitEthernet0/0/0/0

address-family ipv4

discovery transport-address interface

!

!

interface GigabitEthernet0/0/0/1

address-family ipv4

!

!

Opmerking: allocatielabel all of allocatielabel routebeleid is nodig. Anders hebben de geëtiketteerde unicastroutes geen lokaal etiket dat zij nodig hebben aangezien ABR de volgende-hop voor de iBGP weerspiegelde routes is.

Opmerking: herdistributie van de kern-IGP (OSPF 2) in de aggregatie-IGP (OSPF 1 of OSPF 3) of omgekeerd wordt niet uitgevoerd. De loopback prefix van de RR moet echter ook bekend zijn in de aggregatie IGP, zodat BGP op de PE router kan doordringen met de loopback van de ABR/RR. Hiervoor wordt de herverdeling van verbonden routes in de aggregatie IGP uitgevoerd met RPL. De herverdeelde verbonden routes zijn beperkt tot de loopbackprefix van de ABR met RPL.

Verifiëren

Zie figuur 2 om de werking van het bedieningsvlak te verifiëren:

Afbeelding 2

Zie afbeelding 3 om de MPLS-labeladvertenties te controleren:

Afbeelding 3

Zie Afbeelding 4 om te controleren of het pakket door:sturen:

Afbeelding 4

Zo worden pakketten doorgestuurd van PE1 naar PE2. De loopback prefix van PE2 is 10.100.1.7/32, dus dat prefix is van belang.

RP/0/0/CPU0:PE1#traceroute

Protocol [ipv4]:

Target IP address: 10.100.1.7

Source address: 10.100.1.1

Numeric display? [no]:

Timeout in seconds [3]:

Probe count [3]:

Minimum Time to Live [1]:

Maximum Time to Live [30]:

Port Number [33434]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Type escape sequence to abort.

Tracing the route to 10.100.1.7

1  10.1.1.2 [MPLS: Labels 24000/24005 Exp 0] 439 msec  119 msec  109 msec

2  10.1.2.3 [MPLS: Label 24005 Exp 0] 109 msec  109 msec  109 msec

3  10.1.3.4 [MPLS: Labels 24001/24003 Exp 0] 99 msec  99 msec  149 msec

4  10.1.4.5 [MPLS: Label 24003 Exp 0] 119 msec  119 msec  99 msec

5  10.1.5.6 [MPLS: Label 24001 Exp 0] 109 msec  139 msec  99 msec

6  10.1.6.7 109 msec  *  109 msec

Label 24000 is het LDP-label dat via P2 is aangeleerd voor het prefix 10.100.1.3/32. Label 24005 is het BGP RFC 3107-label dat is geleerd voor het prefix 10.100.1.7/32.

RP/0/0/CPU0:PE1#show route 10.100.1.7/32

Routing entry for 10.100.1.7/32

Known via "bgp 1", distance 200, metric 0, [ei]-bgp, type internal

BIER rid=0x0, flags=0x0, count=0

Installed May 27 02:52:07.184 for 00:08:52

Routing Descriptor Blocks

10.100.1.3, from 10.100.1.3      <<< next-hop is ABR1

Route metric is 0

No advertising protos.

RP/0/0/CPU0:PE1#show cef 10.100.1.7/32

10.100.1.7/32, version 89, internal 0x1000001 0x0 (ptr 0xa1470f74)

[1], 0x0 (0xa1456614), 0xa08 (0xa16181e0)

Updated May 27 02:52:07.203

Prefix Len 32, traffic index 0, precedence n/a, priority 4

via 10.100.1.3, 3 dependencies, recursive [flags 0x6000]

path-idx 0 NHID 0x0 [0xa16806f4 0x0]

recursion-via-/32

next hop 10.100.1.3 via 24001/0/21

local label 24003

next hop 10.1.1.2/32 Gi0/0/0/0    labels imposed {24000 24005}

RP/0/0/CPU0:PE1#show bgp ipv4 unicast labels

BGP router identifier 10.100.1.1, local AS number 1

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 44

BGP main routing table version 44

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

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        Rcvd Label      Local Label

*> 10.100.1.1/32      0.0.0.0         nolabel         3

*>i10.100.1.7/32      10.100.1.3      24005           24003

Processed 2 prefixes, 2 paths

Er is voorlaatste-hop popping (PHP) richting ABR1.

RP/0/0/CPU0:P2#show mpls forwarding labels 24000

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

24000  Pop         10.100.1.3/32      Gi0/0/0/1    10.1.2.3        694765

Label 24005 wordt vervangen door label 24003 op ABR1.

RP/0/0/CPU0:ABR1#show bgp ipv4 unicast labels

BGP router identifier 10.100.1.3, local AS number 1

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 60

BGP main routing table version 60

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

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        Rcvd Label      Local Label

*>i10.100.1.1/32      10.100.1.1      3               24003

*>i10.100.1.7/32      10.100.1.5      24003           24005

Processed 2 prefixes, 2 paths

RP/0/0/CPU0:ABR1#show mpls forwarding labels 24005

Wed May 27 04:08:24.255 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

24005  24003       10.100.1.7/32                   10.100.1.5      6347

Er is PHP van P1 naar ABR2.

RP/0/0/CPU0:P1#show mpls forwarding labels 24001

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

24001  Pop         10.100.1.5/32      Gi0/0/0/1    10.1.4.5        348835

Het BGP-label voor de RFC 3107-route 10.100.1.7/32 die door ABR2 van PE2 wordt ontvangen, is 3. Dit is het impliciete null label dat PHP aanduidt.

RP/0/0/CPU0:ABR2#show bgp ipv4 unicast labels

BGP router identifier 10.100.1.5, local AS number 1

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 47

BGP main routing table version 47

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

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        Rcvd Label      Local Label

*>i10.100.1.1/32      10.100.1.3      24003           24005

*>i10.100.1.7/32      10.100.1.7      3               24003

Processed 2 prefixes, 2 paths

Label 24003 wordt geruild met label 24001 op ABR2.

RP/0/0/CPU0:ABR2#show mpls forwarding labels 24003

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

24003  24001       10.100.1.7/32      Gi0/0/0/0    10.1.5.6        403676

Er is PHP van P3 naar PE2.

RP/0/0/CPU0:P3#show mpls forwarding labels 24001

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

24001  Pop         10.100.1.7/32      Gi0/0/0/1    10.1.6.7        685191

RP/0/0/CPU0:PE2#show bgp ipv4 unicast labels

BGP router identifier 10.100.1.7, local AS number 1

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 42

BGP main routing table version 42

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

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        Rcvd Label      Local Label

*>i10.100.1.1/32      10.100.1.5      24005           24004

*> 10.100.1.7/32      0.0.0.0         nolabel         3

Processed 2 prefixes, 2 paths

Problemen oplossen

Er is momenteel geen specifieke troubleshooting-informatie beschikbaar voor deze configuratie.

Gerelateerde informatie

- Naadloze MPLS-architectuur

- Technische ondersteuning en documentatie – Cisco Systems