Inhoud

Inleiding

1. Er is een statische route nodig voor de opties B & C van Inter-AS MPLS VPN

2. De routedoelstellingen op de ASBR's voor Inter-AS optie B behouden

3. IPv4-adressen met een label worden niet door ASBR geadverteerd

4. Er is een donkere iBGP-buurman nodig voor eBGP-eBGP (back-to-back eBGP) VPN V4

5. Inter-AS optie C - Het BGP-label wordt geprefereerd boven het LDP-label

6. Inter-AS optie B - Het BGP-label wordt eerder gebruikt dan het LDP-label

7. Multihop-BGP-sessie over VPN (of 6PE of EVPN) Onderhoud

8. Herverdeling van BGP in LDP

9. MPLS activeert de interfaceopdracht

Voorbeeld 1. IGP maar geen LDP

Voorbeeld 2. Verbond

Inleiding

Dit document beschrijft een aantal scenario's die een speciaal gedrag en een speciale configuratie hebben voor de combinatie van Multiprotocol Label Switching (MPLS) en Border Gateway Protocol (BGP) in Cisco IOS-XR.

1. Er is een statische route nodig voor de opties B & C van Inter-AS MPLS VPN

In deze afbeelding wordt een instelling voor Inter-AS optie B weergegeven.

Afbeelding 1.

De PE-router (Provider Edge) heeft een route voor het VRF-voorvoegsel 10.200.1.2/32, maar deze wordt niet opgelost.

RP/0/0/CPU0:PE1#show cef vrf one 10.200.1.2

10.200.1.2/32, version 3, internal 0x5000001 0x0 (ptr 0xa140be74) [1], 0x0 (0x0), 0x208 (0xa14a7118)

Updated Apr  7 14:36:45.628

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

via 10.3.1.4/32, 0 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

unresolved

labels imposed {24004}

PE1 heeft geen route voor 10.3.1.4/32. Het heeft een route voor 10.3.1.0/24.

RP/0/0/CPU0:PE1#show route 10.3.1.4

Routing entry for 10.3.1.0/24

Known via "ospf 1", distance 110, metric 3, type intra area

Installed Apr  7 14:07:01.140 for 00:32:48

Routing Descriptor Blocks

10.1.1.2, from 10.100.1.3, via GigabitEthernet0/0/0/0

Route metric is 3

No advertising protos.

Er moet een statische route op de Autonomous System Border Route (ASBR) zijn voor de volgende hop. U moet deze statische route op elke ASBR configureren en deze opnieuw verdelen in het Interior Gateway Protocol (IGP).

router static

address-family ipv4 unicast

10.3.1.4/32 GigabitEthernet0/0/0/1

!

!

router ospf 1

redistribute static

De route is nu afgewikkeld.

RP/0/0/CPU0:PE1#show cef vrf one 10.200.1.2

10.200.1.2/32, version 3, internal 0x5000001 0x0 (ptr 0xa140be74) [1], 0x0 (0x0), 0x208 (0xa14a7118)

Updated Apr  7 14:36:45.628

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

via 10.3.1.4/32, 3 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

next hop 10.3.1.4/32 via 24005/0/21

next hop 10.1.1.2/32 Gi0/0/0/0    labels imposed {24003 24004}

ASBR1 installeert een label van POP naar ASBR2 voor de VPNv4/6 prefixes:

RP/0/0/CPU0:ASBR1#show mpls forwarding prefix 10.3.1.4/32

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24005  Pop         10.3.1.4/32        Gi0/0/0/1    10.3.1.4        2506

Zelfs met next-hop-self op de ASBR in de richting van de iBGP-buren zal het verzenden van label tussen de ASBR's worden verbroken, indien de statische route niet is ingesteld op de ASBR.

Met next-hop-self op ASBR1 naar PE1 en geen statische route:

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24006 detail

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24006  24004       2:2:10.200.1.2/32               10.3.1.4        0

Updated: Apr  7 14:49:58.190

Path Flags: 0x6000 [  ]

Label Stack (Top -> Bottom): { }

MAC/Encaps: 0/0, MTU: 0

Packets Switched: 0

Merk op dat de uitgaande interface in de kolom Uitgaande interface ontbreekt. De statische route is nodig op ASBRs voor Inter-AS optie B en C.

2. De routedoelstellingen op de ASBR's voor Inter-AS optie B behouden

Er is een opdracht nodig om ervoor te zorgen dat de ASBR de vpnv4/6-routes opslaat/bijhoudt en ze vervolgens adverteert. Zonder deze opdracht slaat ASBR de routes niet op als er geen lokale VRF is ingesteld op de ASBR die een van de routedoelstellingen van de routes importeert, of als het geen routereflector (RR) is voor adresfamilie vpnv4/6.

router bgp 1

address-family ipv4 unicast

!

address-family vpnv4 unicast

retain route-target all

!

3. IPv4-adressen met een label worden niet door ASBR geadverteerd

IPv4-geëtiketteerd-unicast is nodig in Inter-AS Optie C of Naadloze MPLS (Unified MPLS) netwerken. Dit komt doordat vpnv4/6-prefixes standaard zijn geëtiketteerd, maar dit is niet het geval voor IPv4 (IPv6)-unicast. Als dit niet het geval is, wordt het end-to-end einde van het Label Switched Path (LSP) onderbroken en end-to-end verkeer mislukt.

Kijk naar afbeelding 2, deze toont een instelling voor Inter-AS optie C.

Afbeelding 2.

De P1- en P2-routers zijn ook de routereflectors in hun Autonomous System (AS) voor VPN4.

De geëtiketteerde Unicast (LU) wordt gebruikt om de loopback prefixes van het ene AS naar het andere te vervoeren.

ASBR1 heeft deze adresfamilie ingesteld, maar er zijn geen routes in:

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast

RP/0/0/CPU0:ASBR1#

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast summary

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: 41

BGP main routing table version 41

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

BGP is operating in STANDALONE mode.

Process       RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer

Speaker              41         41         41         41          41           0

Neighbor        Spk    AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd

10.3.1.4          0     2     150     151       41    0    0 00:06:29          0

10.100.1.2        0     1      52      52       41    0    0 00:06:42          0

De reden is dat de ASBR de volgende opdracht moet hebben, zodat zij een MPLS-label (Multi-Protocol Label Switching) voor elke route kan toewijzen en de routes kan adverteren.

RP/0/0/CPU0:ASBR1#show run router bgp

router bgp 1

address-family ipv4 unicast

redistribute ospf 1

allocate-label all

!

Opmerking: De opdracht kan labels aan specifieke prefixes toewijzen als een route-beleid is opgegeven.

Het resultaat van deze opdracht is:

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast

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: 52

BGP main routing table version 52

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            Metric LocPrf Weight Path

*> 10.1.1.0/24        10.1.2.2                 2         32768 ?

*> 10.1.2.0/24        0.0.0.0                  0         32768 ?

*> 10.2.1.0/24        10.3.1.4                 0             0 2 ?

*> 10.2.2.0/24        10.3.1.4                 2             0 2 ?

*> 10.3.1.0/24        0.0.0.0                  0         32768 ?

*                     10.3.1.4                 0             0 2 ?

*> 10.100.1.1/32      10.1.2.2                 3         32768 ?

*> 10.100.1.2/32      10.1.2.2                 2         32768 ?

*> 10.100.1.3/32      0.0.0.0                  0         32768 ?

*> 10.100.1.4/32      10.3.1.4                 0             0 2 ?

*> 10.100.1.5/32      10.3.1.4                 2             0 2 ?

*> 10.100.1.6/32      10.3.1.4                 3             0 2 ?

Processed 11 prefixes, 12 paths

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.6/32

BGP routing table entry for 10.100.1.6/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 48          48

Local Label: 24008

Last Modified: Apr  7 16:20:04.509 for 00:00:49

Paths: (1 available, best #1)

Advertised to peers (in unique update groups):

10.100.1.2

Path #1: Received by speaker 0

Advertised to peers (in unique update groups):

10.100.1.2

2

10.3.1.4 from 10.3.1.4 (10.100.1.4)

Received Label 24002

Origin incomplete, metric 3, localpref 100, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 48

Origin-AS validity: not-found

Om het kort te houden:

- Label-toewijzing moet worden geconfigureerd (op alle ASBR-routers en PE-routers)

- Adresfamilie ipv4 geëtiketteerd-unicast moet voor de BGP buurman worden geconfigureerd

4. Er is een donkere iBGP-buurman nodig voor eBGP-eBGP (back-to-back eBGP) VPN V4

Kijk naar afbeelding 3.

Afbeelding 3.

Er zijn drie ASBR's op een rij. ASBR3 voert eBGP vpnv4 unicast naar ASBR1 en ASBR2 uit.

Opmerking: U moet ook de statische routes op ASBR3 configureren.

RP/0/0/CPU0:ASBR3#show bgp vpnv4 unicast

BGP router identifier 10.100.1.7, local AS number 3

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0x0   RD version: 0

BGP main routing table version 3

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            Metric LocPrf Weight Path

Route Distinguisher: 1:1

*> 10.200.1.1/32      10.4.1.3                               0 1 ?

Route Distinguisher: 2:2

*> 10.200.1.2/32      10.4.2.4                               0 2 ?

Processed 2 prefixes, 2 paths

RP/0/0/CPU0:ASBR3#show bgp vpnv4 unicast rd 1:1 10.200.1.1/32

BGP routing table entry for 10.200.1.1/32, Route Distinguisher: 1:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  2           2

Last Modified: Apr  7 18:45:21.510 for 00:03:30

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

1

10.4.1.3 from 10.4.1.3 (10.100.1.3)

Received Label 24009

Origin incomplete, localpref 100, valid, external, best, group-best, import-candidate, not-in-vrf

Received Path ID 0, Local Path ID 1, version 2

Extended community: RT:1:1

Er is een probleem met reclame voor de vpnv4-routes vanuit ASBR3: ASBR3 maakt geen reclame voor de externe vpnv4-routes.

De oplossing is om een dummy iBGP buurman op ASBR3 te configureren en next-hop-zelf mogelijk te maken: De dummy iBGP buurman hoeft niet omhoog te zijn.

router bgp 3

address-family vpnv4 unicast

retain route-target all

!

neighbor 10.4.1.3

remote-as 1  address-family vpnv4 unicast

route-policy PASS in

route-policy PASS out

!

!

neighbor 10.4.2.4

remote-as 2

address-family vpnv4 unicast

route-policy PASS in

route-policy PASS out

!

!

neighbor 10.99.99.99

remote-as 3

description dummy-iBGP neighbor for back-to-back eBGP vpnv4

update-source Loopback0

address-family vpnv4 unicast

next-hop-self

!

!

!

Het resultaat is dat de Vpnv4-route nu wordt geadverteerd:

RP/0/0/CPU0:ASBR3#show bgp vpnv4 unicast rd 1:1 10.200.1.1/32

BGP routing table entry for 10.200.1.1/32, Route Distinguisher: 1:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 12          12

Local Label: 24002

Last Modified: Apr  7 18:58:04.510 for 00:01:46

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

1

10.4.1.3 from 10.4.1.3 (10.100.1.3)

Received Label 24009

Origin incomplete, localpref 100, valid, external, best, group-best, import-candidate, not-in-vrf

Received Path ID 0, Local Path ID 1, version 12

Extended community: RT:1:1

5. Inter-AS optie C - Het BGP-label wordt geprefereerd boven het LDP-label

Raadpleeg dit beeld om een instelling te zien met de twee ASBR's die via meerdere koppelingen zijn aangesloten. Om dit te kunnen doen, moet de eBGP ipv4 LU-sessie tussen de ASBR's meervoudig zijn, aangezien er parallelle koppelingen tussen de ASBR's zijn.

Afbeelding 4.

Dit is Inter-AS optie C. De routers P1 en P2 zijn ook de Route-Reflectors voor v4.

Er is IPv4-geëtiketteerde unicast tussen de PE routers en ASBRs. De ASBR's zijn rechtstreeks verbonden via meerdere koppelingen.

In de ASBR zie je:

router bgp 1

…

neighbor 10.100.1.4

remote-as 2

ebgp-multihop 2

update-source Loopback0

address-family ipv4 labeled-unicast

route-policy PASS in

route-policy PASS out

Er is geen Label Distribution Protocol (LDP) nodig tussen de ASBR’s. BGP zorgt voor het MPLS-doorsturen op de verbindingen tussen de ASBR's.

RP/0/0/CPU0:ASBR1#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     Yes      No       No       Yes

GigabitEthernet0/0/0/1     No       No       No       Yes

GigabitEthernet0/0/0/2     No       No       No       Yes

GigabitEthernet0/0/0/3     No       No       No       Yes

GigabitEthernet0/0/0/4     No       No       No       Yes

Tot nu toe zo goed. De kwestie is met het scenario zoals in deze afbeelding weergegeven.

Afbeelding 5.

Dit is Inter-AS optie C. De routers P1 en P2 zijn ook de Route-Reflectors voor v4.

Er is IPv4-geëtiketteerde unicast tussen de PE routers en ASBRs. ASBR1 en ASBR2 zijn niet rechtstreeks verbonden. Ze zijn verbonden met multi-hop, door een netwerk dat een IGP en LDP runt. In afbeelding 5 wordt dit intermediaire netwerk weergegeven door de router ASBR3, die een IGP en LDP met ASBR1 en ASBR2 draait.

Met eBGP multi-hop op de ASBR's is er een probleem. De BGP-sessie tussen de RR's in elk AS komt niet eens naar voren.

RP/0/0/CPU0:P1#show cef 10.100.1.5

10.100.1.5/32, version 263, internal 0x1000001 0x0 (ptr 0xa13bde74) [1], 0x0 (0xa1389560), 0xa28 (0xa14a72a8)

Updated Apr  8 09:38:02.551

local adjacency 10.1.2.3

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

via 10.1.2.3/32, GigabitEthernet0/0/0/1, 5 dependencies, weight 0, class 0 [flags 0x0]

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

next hop 10.1.2.3/32

local adjacency

local label 24004      labels imposed {24007}

Om van P1, de RR in AS 1, naar P2, de RR in AS 2 te komen, is het uittredende etiket 24007. Op ASBR1 wordt dit etiket omgewisseld met etiket 24000.

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24007

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24007  24000       10.100.1.5/32                   10.100.1.4      1404

RP/0/0/CPU0:ASBR1#show cef 10.100.1.5

10.100.1.5/32, version 155, internal 0x5000001 0x0 (ptr 0xa13be174) [1], 0x0 (0xa138965c), 0xa08 (0xa14a72d0)

Updated Apr  8 10:02:38.101

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

via 10.100.1.4/32, 5 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.100.1.4/32 via 24004/0/21

local label 24007

next hop 10.4.1.7/32 Gi0/0/0/4    labels imposed {ImplNull 24000}

Het etiket 24000 is het etiket dat op ASBR1 door BGP LU van ASBR2 is ontvangen.

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.5

BGP routing table entry for 10.100.1.5/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 76          76

Local Label: 24007

Last Modified: Apr  8 09:37:57.509 for 00:04:05

Paths: (1 available, best #1)

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.1      10.100.1.2

Path #1: Received by speaker 0

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.1      10.100.1.2

2

10.100.1.4 from 10.100.1.4 (10.100.1.4)

Received Label 24000

Origin incomplete, metric 2, localpref 100, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 76

Origin-AS validity: not-found

De ASBR-router ertussen werkt BGP echter niet en kan dus niet met dit label pakketten verzenden. Er is namelijk geen label 24000 toegewezen. Het label dat moet worden gebruikt om de pakketten naar 10.100.1.5 te brengen, is het label van LDP:

RP/0/0/CPU0:ASBR1#show route 10.100.1.5/32

Routing entry for 10.100.1.5/32

Known via "bgp 1", distance 20, metric 2, [ei]-bgp, labeled unicast (3107)

Tag 2, type external

Installed Apr  8 10:02:38.082 for 01:24:37

Routing Descriptor Blocks

10.100.1.4, from 10.100.1.4, BGP external

Route metric is 2

No advertising protos.

Dit herleidt naar next-hop 10.100.1.4, de loopback van ASBR2.

Het etiket dat door LDP van ASBR3 is ontvangen moet worden gebruikt, maar is het niet.

De toegevoegde labelstapel is {ImlNull 24000} in plaats van {24002 24000}.

RP/0/0/CPU0:ASBR1#show mpls ldp bindings 10.100.1.4/32

10.100.1.4/32, rev 146

Local binding: label: 24004

Remote bindings: (2 peers)

Peer                Label

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

10.100.1.2:0        24003

10.100.1.7:0        24002

ASBR1 moet het LDP-label 24002 dat hij van de ASBR3-router heeft ontvangen, invoeren. Om het BGP MPLS-verzenden uit te schakelen, voegt u het multihopsleutelwoord toe aan de eBGP multi-hop opdracht.

ASBR1:

router bgp 1

…

neighbor 10.100.1.4

remote-as 2

ebgp-multihop 2 mpls

update-source Loopback0

address-family ipv4 labeled-unicast

route-policy PASS in

route-policy PASS out

!

ASBR1 heeft nu de juiste labelherkenning:

RP/0/0/CPU0:ASBR1#show cef 10.100.1.5

10.100.1.5/32, version 155, internal 0x5000001 0x0 (ptr 0xa13be174) [1], 0x0 (0xa138965c), 0xa08 (0xa14a72d0)

Updated Apr  8 10:02:38.102

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

via 10.100.1.4/32, 5 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.100.1.4/32 via 24004/0/21

local label 24007

next hop 10.4.1.7/32 Gi0/0/0/4    labels imposed {24002 24000}

Van de opdrachtreferentie:

Gebruik van de optie mpls in de opdracht ebgp-multihop voorkomt dat BGP MPLS op de peerinterface toelaat en voorkomt ook de toewijzing van Impliciet-NULL herschrijflabels voor volgende-hopadressen die van de peer geleerd zijn. Dit is handig in sommige scenario's waarin MPLS-verzendlabels naar de nexters al geleerd heeft via BGP-geëtiketteerd-unicast of LDP.

In andere woorden, in IOS-XR, wanneer BGP aanbiedt om een label aan de LFIB toe te wijzen, zal dit voorrang hebben op LDP. Het scenario van Inter-AS Optie C met meerdere sprongen tussen de ASBR routers is zo'n scenario.

6. Inter-AS optie B - Het BGP-label wordt eerder gebruikt dan het LDP-label

Afbeelding 6.

Dit is Inter-AS optie B. Er zijn echter meerdere parallelle koppelingen tussen de twee ASBR's. Er is RFC3107 (het uitwisselen van IPv4-routes en MPLS-labels) tussen de ASBR's in plaats van een IGP en LDP te gebruiken.

Om de eBGP multihop sessie tussen de loopback interfaces van ASBR1 en ASBR2 te verhogen, is eBGP LU nodig tussen de twee ASBR's. Er zijn twee koppelingen tussen de ASBR's, dus er zijn twee eBGP LU-sessies nodig. Het commando toewijzen-label is nodig voor de adresfamilie IPv4.

router bgp 65001

address-family ipv4 unicast

network 10.100.1.3/32

allocate-label all

!

neighbor 10.3.1.4

remote-as 65002

address-family ipv4 labeled-unicast

route-policy pass in

route-policy pass out

!

!

neighbor 10.3.2.4

remote-as 65002

address-family ipv4 labeled-unicast

route-policy pass in

route-policy pass out

!

!

De statische routes uit punt 1 zijn nog steeds nodig:

router static

address-family ipv4 unicast

10.3.1.4/32 GigabitEthernet0/0/0/1

10.3.2.4/32 GigabitEthernet0/0/0/2

!

!

De eBGP v4-sessie tussen de ASBR's:

router bgp 65001

address-family ipv4 unicast

network 10.100.1.3/32

allocate-label all

!

address-family vpnv4 unicast

retain route-target all

!

neighbor 10.100.1.4

remote-as 65002

ebgp-multihop 255

update-source Loopback0

address-family vpnv4 unicast

route-policy pass in

route-policy pass out

!

!

Merk op dat het trefwoord mpls hier niet nodig is, zoals in sectie 5. Ook dat de iBGP LU sessies tussen PE en ASBRs niet nodig zijn als next-hop-self is geconfigureerd voor de iBGP v4 sessies. Het etiket dat door ASBR2 voor 10.100.1.4/32 wordt geadverteerd, is etiket 3:

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.4/32

Fri Jun  2 11:50:16.178 UTC

BGP routing table entry for 10.100.1.4/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  8           8

Local Label: 24005

Last Modified: Jun  2 11:48:39.920 for 00:01:36

Paths: (4 available, best #1)

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

Path #1: Received by speaker 0

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

65002

10.3.1.4 from 10.3.1.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 8

Origin-AS validity: not-found

Path #2: Received by speaker 0

Not advertised to any peer

65002

10.3.2.4 from 10.3.2.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #3: Received by speaker 0

Not advertised to any peer

65003 65002

10.3.3.9 from 10.3.3.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, valid, external, group-best

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #4: Received by speaker 0

Not advertised to any peer

65003 65002

10.3.4.9 from 10.3.4.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Fri Jun  2 11:51:06.994 UTC

10.100.1.4/32, version 254, internal 0x1000001 0x0 (ptr 0xa13be474) [1], 0x0 (0xa13896ec), 0xa20 (0xa14a70f0)

Updated Jun  2 11:48:39.634

local adjacency 10.3.1.4

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

via 10.3.1.4/32, GigabitEthernet0/0/0/1, 5 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0xa0e8b1fc 0xa0e8b34c]

next hop 10.3.1.4/32

local adjacency

local label 24005      labels imposed {ImplNull}

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

Fri Jun  2 11:51:20.204 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24005  Pop         10.100.1.4/32      Gi0/0/0/1    10.3.1.4        610

Wanneer er een ander pad tussen de ASBR's is, en dat pad IGP + LDP of MPLS TE gebruikt, dan is het sleutelwoord mpls nodig voor het multihopbevel eBGP.

Afbeelding 7.

Een BGP-routebeleid op ASBR1 naar P3 wordt gebruikt om het gewicht zeer hoog in te stellen, zodat prefixes van P3 de voorkeur genieten boven die van ASBR2 rechtstreeks.

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.4/32

Fri Jun  2 11:57:23.789 UTC

BGP routing table entry for 10.100.1.4/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  9           9

Local Label: 24005

Last Modified: Jun  2 11:51:58.920 for 00:05:24

Paths: (4 available, best #3)

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

Path #1: Received by speaker 0

Not advertised to any peer

65002

10.3.1.4 from 10.3.1.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external, group-best

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #2: Received by speaker 0

Not advertised to any peer

65002

10.3.2.4 from 10.3.2.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #3: Received by speaker 0

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

65003 65002

10.3.3.9 from 10.3.3.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, weight 65535, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 9

Origin-AS validity: not-found

Path #4: Received by speaker 0

Not advertised to any peer

65003 65002

10.3.4.9 from 10.3.4.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

ASBR1 moet nu het label 24001 gebruiken als een traditioneel label voor 10.100.1.4/32. Het is niet:

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Fri Jun  2 11:59:46.519 UTC

10.100.1.4/32, version 255, internal 0x1000001 0x0 (ptr 0xa13be474) [1], 0x0 (0xa13896ec), 0xa20 (0xa14a7140)

Updated Jun  2 11:51:58.741

local adjacency 10.3.3.9

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

via 10.3.3.9/32, GigabitEthernet0/0/0/3, 7 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0xa0e8b544 0xa0e8b5ec]

next hop 10.3.3.9/32

local adjacency

local label 24005      labels imposed {ImplNull}

De oplossing is dezelfde als in rubriek 5: Gebruik het trefwoord mpls voor de eBGP multihop opdracht.

RP/0/0/CPU0:ASBR1# conf t

Fri Jun  2 13:56:45.618 UTC

RP/0/0/CPU0:ASBR1(config)#router bgp 65001

RP/0/0/CPU0:ASBR1(config-bgp)# neighbor 10.100.1.4

RP/0/0/CPU0:ASBR1(config-bgp-nbr)#ebgp-multihop 255 mpls

RP/0/0/CPU0:ASBR1(config-bgp-nbr)#commit

ASBR1 gebruikt nu label 24001 als een traditioneel label voor 10.100.1.4/32.

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Fri Jun  2 13:58:13.402 UTC

10.100.1.4/32, version 200, internal 0x5000001 0x0 (ptr 0xa13be474) [1], 0x0 (0xa13895cc), 0xa08 (0xa14a71b8)

Updated Jun  2 13:56:59.378

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

via 10.3.3.9/32, 3 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.3.3.9/32 via 24014/0/21

local label 24005

next hop 10.3.3.9/32 Gi0/0/0/3    labels imposed {ImplNull 24001}

ASBR1 drukt op dit extra label. Een traceroute in het Virtual Routing and Forwarding (VRF) van PE1 tot PE2 toont de extra geduwde labels.

RP/0/0/CPU0:PE1#trace vrf one 10.99.1.2

Fri Jun  2 13:49:38.959 UTC

Type escape sequence to abort.

Tracing the route to 10.99.1.2

1  10.1.1.5 [MPLS: Labels 24002/24012 Exp 0] 29 msec  39 msec  39 msec

2  10.1.2.3 [MPLS: Label 24012 Exp 0] 29 msec  29 msec  39 msec

3  10.3.1.4 [MPLS: Label 24007 Exp 0] 39 msec  39 msec  39 msec

4  10.2.1.6 [MPLS: Labels 24001/24005 Exp 0] 39 msec  39 msec  29 msec

5  10.2.2.2 39 msec  *  239 msec

IGP en LDP werden gebruikt tussen ASBR1 en P3 en ASBR2 en P3. Dezelfde probleem en oplossing zijn er wanneer MPLS Traffic Engineering (TE) tussen deze routers wordt gebruikt.

Er is geen LDP van ASBR1 naar P3, maar er is MPLS TE.

Zonder het multihop sleutelwoord van eBGP is het zelfde probleem terug:

Pakketten die naar 10.10.1.4 worden doorgestuurd, krijgen het BGP LU-label 24000 niet ingedrukt.

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Tue Jun  6 10:36:56.528 UTC

10.100.1.4/32, version 50, internal 0x1000001 0x0 (ptr 0xa12cc1fc) [1], 0x0 (0xa12b18c0), 0xa20 (0xa14a7258)

Updated Jun  6 10:36:32.930

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

via 10.3.3.9/32, tunnel-te1, 7 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0xa15d58f8 0xa15d5840]

next hop 10.3.3.9/32

local adjacency

local label 24012      labels imposed {ImplNull}

Terwijl met het sleutelwoord van de mpls het etiket 24000 aanwezig is:

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Tue Jun  6 10:36:03.241 UTC

10.100.1.4/32, version 34, internal 0x5000001 0x0 (ptr 0xa12cc1fc) [1], 0x0 (0xa12b15a8), 0xa08 (0xa14a70f0)

Updated Jun  6 09:39:24.56

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

Extensions: context-label:24012

via 10.3.3.9/32, 3 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.3.3.9/32 via 24011/0/21

local label 24012

next hop 10.3.3.9/32 tt1          labels imposed {ImplNull 24000}

Met het trefwoord mpls ziet het herschrijven er zo uit:

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24012

Tue Jun  6 10:43:50.559 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24012  24000       10.100.1.4/32      tt1          10.3.3.9        0

Zonder het trefwoord mpls ziet het herschrijven er zo uit:

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24012

Tue Jun  6 10:45:08.734 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24012  Pop         10.100.1.4/32      tt1          10.3.3.9        0

Dit label 14012 wordt niet gebruikt voor verkeer van VRF naar VRF of PE naar PE, maar indien aangetroffen, kan het een indicatie zijn dat de ingang van Label Forwarding Instance Base (LFIB) verkeerd is of was.

RP/0/0/CPU0:PE1# trace vrf one 10.99.1.2

Type escape sequence to abort.

Tracing the route to 10.99.1.2

1  10.1.1.5 [MPLS: Labels 24001/24015 Exp 0] 129 msec  229 msec  129 msec

2  10.1.2.3 [MPLS: Label 24015 Exp 0] 219 msec  439 msec  349 msec

3  10.3.3.9 [MPLS: Labels 24000/24011 Exp 0] 169 msec  249 msec  139 msec

4  10.3.5.4 [MPLS: Label 24011 Exp 0] 89 msec  129 msec  109 msec

5  10.2.1.6 [MPLS: Labels 24004/24008 Exp 0] 139 msec  99 msec  139 msec

6  10.2.2.2 129 msec  *  219 msec

Wanneer u de trefwoordmodems op de eBGP multihop-opdracht omdraait, kan dit het syslg-bericht voor BGP-labelbotsing veroorzaken:

bgp[1051]: %ROUTING-BGP-4-LABEL_COLLISION : Label 24012 collision: prev: [T: 3 RD:0:0:0 PFX/NHID:10.100.1.4/32] curr: [T: 13 RD:0:0:0 PFX/NHID:10.100.1.4/32]

Dit bericht is voor het lokale label 24012.

De controle wordt uitgevoerd om er zeker van te zijn dat een actief etiket van BGP niet opnieuw door BGP wordt toegewezen voor iets anders. Deze controle geldt alleen voor labels per prefix.

Dit bericht is een symptoom en niet de oorzaak van een probleem in dit artikel.

7. Multihop-BGP-sessie over VPN (of 6PE of EVPN) Onderhoud

Als er een eBGP multi-hop sessie is, dan kan de route voor het volgende-hopadres niet worden geleerd via een v4/6 of 6PE (IPv6 over MPLS) of Ethernet Virtual Private Network (EVPN) route, tenzij de router de Cisco IOS®-XR 6.3.2 of hoger release heeft. Raadpleeg deze afbeelding.

Afbeelding 8.

Mogelijke mislukkingsscenario's:

1. eBGP multi-hop sessie van PE1 (binnen een VRF) aan PE2 (binnen een VRF)

2. eBGP multi-hop sessie van PE1 (binnen een VRF) aan CE2

Dit geldt voor:

De eBGP multi-hop sessie wordt geconfigureerd onder het VRF gedeelte onder router BGP op de PE router.

De eBGP multi-hop sessie van PE1 (binnen VRF) aan PE2 (binnen VRF), of de eBGP multi-hop sessie is van PE1 (binnen VRF) aan CE2, wordt slechts ondersteund beginnend met Cisco IOS®-XR 6.3.2.

Het eBGP peer adres is bereikbaar over de underlay die uit één van beide vnpv4 bestaat. Vpnv6, 6PE of EVPN.

In Cisco IOS® releases voorafgaand aan 6.3.2 zal de eBGP-sessie leeg zijn.

Bijvoorbeeld, de eBGP multi-hop zitting PE1 tot PE2 in VRF wordt gevormd.

De relevante configuratie voor de eBGP multi-hop sessie van PE1 tot PE2 op PE1:

interface Loopback100

vrf one

ipv4 address 10.2.100.1 255.255.255.255

router bgp 1

address-family vpnv4 unicast

!

neighbor 10.100.1.2

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

!

vrf one

rd 1:1

address-family ipv4 unicast

redistribute connected

!

neighbor 10.2.100.2

remote-as 65002

ebgp-multihop 255

local-as 65001

update-source Loopback100

address-family ipv4 unicast

route-policy pass in

route-policy pass out

!

!

!

!

De eBGP-sessie blijft onbelangrijk:

RP/0/0/CPU0:PE1#show bgp vrf one neighbors

BGP neighbor is 10.2.100.2, vrf one

Remote AS 65002, local AS 65001, external link

Remote router ID 0.0.0.0

BGP state = Idle (No route to multi-hop neighbor)

De route voor het eBGP peer adres is aanwezig in VRF één routingtabel:

RP/0/0/CPU0:PE1# show route vrf one

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, su - IS-IS summary null, * - candidate default

U - per-user static route, o - ODR, L - local, G - DAGR

A - access/subscriber, a - Application route, (!) - FRR Backup path

Gateway of last resort is not set

L 10.2.100.1/32 is directly connected, 00:23:25, Loopback100

B 10.2.100.2/32 [200/0] via 10.100.1.2 (nexthop in vrf default), 00:19:28

RP/0/0/CPU0:PE1# show route vrf one 10.2.100.2/32

Routing entry for 10.2.100.2/32

Known via "bgp 1", distance 200, metric 0, type internal

Installed May 29 09:07:53.368 for 00:19:36

Routing Descriptor Blocks

10.100.1.2, from 10.100.1.2

Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000

Route metric is 0

No advertising protos.

De onderliggende oorzaak van de kwestie is dat de route voor het peeradres een geïmporteerde route is:

RP/0/0/CPU0:PE1# show bgp vpnv4 unicast vrf one 10.2.100.2/32

BGP routing table entry for 10.2.100.2/32, Route Distinguisher: 1:1

Versions:

Process bRIB/RIB SendTblVer

Speaker 7 7

Last Modified: May 29 09:07:53.524 for 00:21:20

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

Local

10.100.1.2 (metric 2) from 10.100.1.2 (10.100.1.2)

Received Label 16001

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported

Received Path ID 0, Local Path ID 1, version 7

Extended community: RT:1:1

Source VRF: one, Source Route Distinguisher: 1:1

Dit wordt ondersteund na Cisco IOS®-XR 6.3.2.

8. Herverdeling van BGP in LDP

Dit is wat Unified of Seamless MPLS is en hoe het met IOS-XR wordt geconfigureerd: Unified MPLS met IOS-XR

Met regelmatige Unified MPLS is er BGP LU tussen alle PE- en ABR-routers zoals in de afbeelding.

Afbeelding 9.

Afbeelding 10.

In dit voorbeeld is er een IGP gebied/niveau zonder BGP LU. Aan de linkerkant is het aggregatiegebied in feite Open Kortste Pad Eerste (OSPF) proces 1, dat geen herdistributie met OSPF proces 2 in de kern heeft. In het gedeelte van het netwerk met OSPF 1, is er geen BGP LU tussen PE en Area Border Router (ABR) routers.

Afbeelding 11.

De BGP LU prefixes worden opnieuw verdeeld in IGP OSPF 1 op ABR1 zoals in de afbeelding.

Afbeelding 12.

U hebt BGP nodig om het label toe te wijzen aan de ontvangen iBGP LU prefixes. Dit label wordt echter niet automatisch door LDP geadverteerd in de labelbinding voor het opnieuw gedistribueerde voorvoegsel. Dit doet de IOS(-XE) standaard.

Merk op dat ABR interne BGP-routes herverdeelt naar IGP in het linkergebied. Dit betekent dat het commando bgp is herverdelen-intern nodig onder router bgp.

router bgp 1

bgp redistribute-internal

router ospf 1

router-id 10.100.1.3

redistribute bgp 1 metric 10 route-policy select-to-allocate

area 0

interface Loopback0

!

interface GigabitEthernet0/0/0/0

network point-to-point

!

!

!

route-policy select-to-allocate

if destination in (10.100.1.7/32) then

pass

else

drop

endif

end-policy

Het ABR kent een lokaal etiket toe aan de ontvangen iBGP LU-routes wanneer de lokale toewijzing van het label is ingeschakeld.

router bgp 1

bgp redistribute-internal

ibgp policy out enforce-modifications

address-family ipv4 unicast

redistribute ospf 1 metric 10 route-policy ospf-1-loopbacks-PE

allocate-label route-policy select-to-allocate

De selectie-toe te wijzen route-beleid kan worden gebruikt om te specificeren welke ontvangen BGP LU prefixes toegewezen worden aan een lokaal etiket.

route-policy select-to-allocate

if destination in (10.100.1.7/32) then

pass

else

drop

endif

end-policy

!

Het voorvoegsel van een loopback van PE2 wordt op ABR1 met een lokaal etiket gezien, maar LDP ziet dit lokale etiket niet:

RP/0/0/CPU0:ABR1#show bgp ipv4 labeled-unicast 10.100.1.7/32

BGP routing table entry for 10.100.1.7/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  6           6

Local Label: 24006

Last Modified: Sep  5 06:55:47.368 for 06:40:23

Paths: (1 available, best #1)

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.2

Path #1: Received by speaker 0

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.2

Local, (Received from a RR-client)

10.100.1.5 (metric 20) from 10.100.1.5 (10.100.1.7)

Received Label 24003

Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 1, version 6

Originator: 10.100.1.7, Cluster list: 10.100.1.5

RP/0/0/CPU0:ABR1#show mpls ldp bindings 10.100.1.7/32

10.100.1.7/32, rev 0 (no route)

No local binding

Remote bindings: (1 peers)

Peer                Label

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

10.100.1.2:0        18

Dit betekent dat het LSP van PE1 naar PE2 wordt onderbroken:

RP/0/0/CPU0:PE1#traceroute 10.100.1.7 source 10.100.1.1

Type escape sequence to abort.

Tracing the route to 10.100.1.7

1  10.1.1.2 [MPLS: Label 18 Exp 0] 9 msec  0 msec  0 msec

2  10.1.2.3 0 msec  0 msec  0 msec <<< no MPLS labels

3  10.1.3.4 [MPLS: Labels 16/24003 Exp 0] 29 msec  19 msec  29 msec

4  10.1.4.5 [MPLS: Label 24003 Exp 0] 9 msec  9 msec  9 msec

5   *  *  *

6  10.1.6.7 9 msec  *  19 msec

De LSP wordt bij P2 onderbroken omdat er geen etiket op afstand via LDP van ABR1 is. ABR1 heeft het lokaal toegewezen etiket voor het voorvoegsel 10.100.1.7/32 in LDP niet.

Er is een configuratie nodig op het ABR-kanaal om BGP in LDP te herverdelen op de router waar de BGP-route wordt herverdeeld in het IGP.

ABR1 maakt geen reclame voor een LDP-labelbinding voor het voorvoegsel 10.100.1.7/32 op de P2-router.

ABR1 moet de volgende configuratie hebben (het AS-nummer moet zijn geconfigureerd) om de LDP-labelbinding voor de geherdistribueerde iBGP-prefixes bekend te maken.

mpls ldp

mldp

address-family ipv4

!

!

router-id 10.100.1.3

address-family ipv4

redistribute

bgp

as 1

!

!

!

U kunt een LDP-filter hebben om de advertenties te filteren. U kunt bijvoorbeeld een filter zo configureren:

mpls ldp

mldp

address-family ipv4

!

!

router-id 10.100.1.3

address-family ipv4

redistribute

bgp

as 1

advertise-to 1

!

ipv4 access-list 1

10 permit ipv4 host 10.100.1.2 any

U specificeert de LDP router-ID in de toegangslijst.

Met dit voorbeeld adverteert ABR alleen LDP-bindingen voor de herverdeelde iBGP-routes naar de LDP-buurman P2 (en niet naar P1), aangezien 10.100.1.2 de LDP-router-ID van P2 is.

De LSP van PE1 naar PE2 is nu ononderbroken:

RP/0/0/CPU0:PE1#traceroute 10.100.1.7 source 10.100.1.1

Type escape sequence to abort.

Tracing the route to 10.100.1.7

1  10.1.1.2 [MPLS: Label 20 Exp 0] 39 msec  49 msec  29 msec

2  10.1.2.3 [MPLS: Label 24006 Exp 0] 29 msec  49 msec  39 msec

3  10.1.3.4 [MPLS: Labels 16/24003 Exp 0] 29 msec  19 msec  29 msec

4  10.1.4.5 [MPLS: Label 24003 Exp 0] 29 msec  19 msec  29 msec

5   *  *  *

6  10.1.6.7 19 msec  *  19 msec

Afbeelding 13.

Het BGP-label (24006) dat door LDP in het linkse aggregatiegebied wordt geadverteerd, wordt nu gebruikt voor het verkeer van PE1 naar PE2.

In het linkeraggregatiegebied wordt slechts één MPLS-label gebruikt. Er zullen twee labels worden gebruikt als dit een reguliere Unified MPLS is.

Op dit moment kunt u niet filteren welke van de opnieuw gedistribueerde LU iBGP-routes in LDP, een lokaal label ontvangen en welke niet. Zodra de herverdeling van iBGP LU-routes naar LDP is ingeschakeld, krijgen ze allemaal een plaatselijk label.

PE2 adverteert ook voorvoegsel 10.100.1.99/32 in BGP LU. Dit voorvoegsel wordt niet door ABR1 opnieuw verdeeld in OSPF 1. Maar zodra de herdistributie van iBGP LU-routes in LDP is ingeschakeld, kreeg het voorvoegsel 10.100.1.99/32 ook een lokaal label.

RP/0/0/CPU0:ABR1#show mpls ldp bindings 10.100.1.99/32

10.100.1.99/32, rev 24

Local binding: label: 24007

No remote bindings

9. MPLS activeert de interfaceopdracht

Voorbeeld 1. IGP maar geen LDP

De mpls activeren opdracht is nodig als er een IGP is die de interne routing controleert, maar er is geen LDP om de labelbindingen aan te geven. Als elke hop BGP draait, kan BGP LU worden gebruikt om prefixes en etiketten te publiceren. Wanneer het iBGP over een link is, moet die link worden ingeschakeld onder router BGP met de actieve commando mpls. Raadpleeg dit beeld.

Afbeelding 14.

R1 en R2 voeren een IGP en iBGP LU tussen hen uit. R1 en R2 zijn rechtstreeks verbonden. R2 heeft een eBGP LU sessie aan R3.

R3 adverteert het voorvoegsel 10.100.100.3/2 tot R2 tijdens een eBGP LU-sessie. R2 adverteert dit voorvoegsel met R1 tijdens een iBGP LU-sessie.

Het doel is een ononderbroken LSP van R1 tot R3. Is dat er?

RP/0/0/CPU0:R1#trace 10.100.100.3 so 10.100.100.1

Type escape sequence to abort.

Tracing the route to 10.100.100.3

1 100.1.1 !N *  !N

Bij de eerste hop is er geen label voor dit voorvoegsel.

RP/0/0/CPU0:R1#traceroute mpls ipv4 10.100.100.3/32 ttl 5

Tracing MPLS Label Switched Path to 10.100.100.3/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 0.0.0.0 MRU 0 [No Label]

Q 1 *

Er is dus geen label. Dit is geen verrassing omdat MPLS niet op de interface naar R2 is ingeschakeld:

RP/0/0/CPU0:R1#show mpls interfaces

RP/0/0/CPU0:R1#

Het door R3 geadverteerde LU-voorvoegsel is echter op R1 aanwezig:

RP/0/0/CPU0:R1#show bgp ipv4 labeled-unicast 10.100.100.3/32

BGP routing table entry for 10.100.100.3/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  7           7

Local Label: 24001

Last Modified: Sep 13 14:27:17.510 for 00:11:39

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

65001

10.100.1.2 (metric 2) from 10.100.1.2 (10.100.1.2)

Received Label 24002

Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 1, version 7

U vormt de actieve opdracht mpls op R1 voor de interface naar R2:

router bgp 65000

mpls activate

interface GigabitEthernet0/0/0/0

!

address-family ipv4 unicast

network 10.100.100.1/32

allocate-label all

!

neighbor 10.100.1.2

remote-as 65000

update-source Loopback0

address-family ipv4 labeled-unicast

!

!

!

MPLS is nu ingeschakeld op de uitgaande interface.

RP/0/0/CPU0:R1#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     No       No       No       Yes

De traceroute toont nu dat de LSP ononderbroken is.

RP/0/0/CPU0:R1#trace 10.100.100.3 so 10.100.100.1

Type escape sequence to abort.

Tracing the route to 10.100.100.3

1  10.1.2.2 [MPLS: Label 24002 Exp 0] 39 msec  9 msec  9 msec

2  10.2.3.3 19 msec *  9 msec

RP/0/0/CPU0:R1#traceroute mpls ipv4 10.100.100.3/32 ttl 5 source 10.100.100.1

Tracing MPLS Label Switched Path to 10.100.100.3/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx labl,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 10.1.2.1 MRU 1500 [Labels: implicit-null/24002 Exp: 0/0]

L 1 10.1.2.2 MRU 1500 [Labels: implicit-null/implicit-null Exp: 0/0] 0 ms

! 2 10.2.3.3 10 ms

Voorbeeld 2. Verbond

Dit voorbeeld illustreert dat de mpls-activeringsopdracht nodig is op eBGP (inter-AS) confederatie links wanneer u BGP LU (RFC 3107) gebruikt en geen LDP gebruikt.

Het netwerk in deze afbeelding is een confederatie 65000 met subautonome systemen 65501, 65502, 65503 en 65504.

Afbeelding 15.

Het idee is om een MPLS LSP te hebben van R1 tot R8 (10.0.0.8/32 wordt door R8 geadverteerd in BGP LU) door BGP LU in beide autonome systemen te gebruiken.

Er is regelmatig eBGP LU tussen R7 en R8. Er is een verwarde iBGP tussen R2 en R4 en tussen R5 en R6. Er is een verwarde eBGP tussen R1 en R2, R4 en R5, en tussen R6 en R7. Er is next-hop-self op elke eBGP-sessie.

De statische route naar de volgende hop van de eBGP peer (typisch voor interAS BGP sessies) is nodig omdat er eBGP is tussen de subautonome systemen binnen de confederatie.

Is dit genoeg om verbinding te maken tussen R1 en R8? Dit betekent dat het doel is een ononderbroken LSP te hebben van R1 tot R8.

Controleer dit.

RP/0/0/CPU0:R1#traceroute 10.0.0.8

Type escape sequence to abort.

Tracing the route to 10.0.0.8

1   *  *  *

2   *  *  *

3   *  *  *

4   *  *  *

5   *  *  *

De traceroute geeft geen hop/etiketten terug en zou verder gaan als er geen TTL limiet op de opdracht was verstrekt. De routers beantwoorden waarschijnlijk de traceroute, maar de pakketten zouden het niet terug naar R1 kunnen maken. Doe mpls tracoute, wat een veiliger weddenschap is.

Opmerking: MPLS-traceroute werkt alleen als MPLS-OAM op elke router langs het pad is ingeschakeld.

RP/0/0/CPU0:R1#trace mpls ipv4 10.0.0.8/32

Tracing MPLS Label Switched Path to 10.0.0.8/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 10.1.2.1 MRU 1500 [Labels: implicit-null/24015 Exp: 0/0]

L 1 10.1.2.2 MRU 1500 [Labels: 24003/24014 Exp: 0/0] 10 ms

L 2 10.2.3.3 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 10 ms

N 3 10.3.4.4 MRU 0 [No Label] 10 ms

Je ziet dat het probleem op R4 staat. De vertrekkende interface ontbreekt in de LFIB:

RP/0/0/CPU0:R4#show mpls forwarding prefix 10.0.0.8/32

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24014  24014       10.0.0.8/32                     10.4.5.5        5140

De vermelding in CEF wordt niet opgelost:

RP/0/0/CPU0:R4#show cef 10.0.0.8/32

10.0.0.8/32, version 109, drop adjacency, internal 0x5000001 0x0 (ptr 0xa14160e4) [1], 0x0 (0xa13f83c8), 0xa08 (0xa16cd370)

Updated Sep 13 12:43:30.252

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

via 10.4.5.5/32, 0 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

unresolved

local label 24014

labels imposed {24014}

MPLS is niet ingeschakeld op de GE0/0/1 interface:

RP/0/0/CPU0:R4#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     Yes      No       No       Yes

Het probleem wordt opgelost met de opdracht om MPLS voor BGP te activeren op de link tussen R4 en R5. R4 en R5 hebben een eBGP confederatiesessie via deze link. In werkelijkheid is dit een iBGP-sessie binnen confederatie 65000. Als resultaat hiervan is de opdracht om MPLS te activeren nodig om ervoor te zorgen dat het voorvoegsel op R4 wordt opgelost in de volgende hop R5. In andere reguliere netwerken zou er een LDP zijn die hier voor zorgt, maar er is geen LDP tussen R4 en R5 omdat het een eBGP-sessie is federatie.

Voeg de mpls activeer opdracht toe voor de interfacestap 0/0/1 op R4:

router bgp 65502

bgp confederation peers

65501

65503

65504

!

bgp confederation identifier 65000

mpls activate

interface GigabitEthernet0/0/0/1

!

…

RP/0/0/CPU0:R4#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     Yes      No       No       Yes

GigabitEthernet0/0/0/1     No       No       No       Yes

De traceroute onthult nu een ononderbroken LSP van R1 tot R8.

RP/0/0/CPU0:R1#trace mpls ipv4 10.0.0.8/32

Tracing MPLS Label Switched Path to 10.0.0.8/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 10.1.2.1 MRU 1500 [Labels: implicit-null/24015 Exp: 0/0]

L 1 10.1.2.2 MRU 1500 [Labels: 24003/24014 Exp: 0/0] 10 ms

L 2 10.2.3.3 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 10 ms

L 3 10.3.4.4 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 10 ms

L 4 10.4.5.5 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 20 ms

L 5 10.5.6.6 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 30 ms

L 6 10.6.7.7 MRU 1500 [Labels: implicit-null/implicit-null Exp: 0/0] 30 ms

! 7 10.7.8.8 30 ms

RP/0/0/CPU0:R1#traceroute 10.0.0.8

Type escape sequence to abort.

Tracing the route to 10.0.0.8

1  10.1.2.2 [MPLS: Label 24015 Exp 0] 69 msec  29 msec  29 msec

2  10.2.3.3 [MPLS: Labels 24003/24014 Exp 0] 49 msec  29 msec  29 msec

3  10.3.4.4 [MPLS: Label 24014 Exp 0] 19 msec  19 msec  19 msec

4  10.4.5.5 [MPLS: Label 24014 Exp 0] 49 msec  19 msec  29 msec

5  10.5.6.6 [MPLS: Label 24014 Exp 0] 19 msec  19 msec  29 msec

6  10.6.7.7 [MPLS: Label 24014 Exp 0] 29 msec  29 msec  29 msec

7  10.7.8.8 29 msec  *  29 msec

Voor deze vermelding is er nu een vertrekkende interface in de LFIB:

RP/0/0/CPU0:R4#show mpls forwarding prefix 10.0.0.8/32

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24014  24014       10.0.0.8/32        Gi0/0/0/1    10.4.5.5        2890

Het uitrollabel is aanwezig op R4 voor het voorvoegsel en CEF toont het voorvoegsel zoals opgelost:

RP/0/0/CPU0:R4#show cef 10.0.0.8/32

Updated Sep 13 12:43:30.252

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

via 10.4.5.5/32, 3 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

next hop 10.4.5.5/32 via 24016/0/21

local label 24014

next hop 10.4.5.5/32 Gi0/0/0/1    labels imposed {ImplNull 24014}