Inhoud

Inleiding

Voorwaarde

Vereisten

Gebruikte componenten

Achtergrondinformatie

Probleem

Oplossing

ASR Global Block

ASR-toepassingsserver

Toepassingsclient

Topologie - Inter-AS Optie C (met routereflectoren)

Kort overzicht van het topologiediagram

IP-adresseringsschema

Configuraties

Gerelateerde informatie

Inleiding

In dit document wordt beschreven hoe een gedeeltelijke SR-implementatie kan worden gebruikt om SR-voordelen te bieden aan op LDP gebaseerd verkeer, inclusief een mogelijke toepassing van SR in de context van MPLS-use-cases tussen domeinen.

Voorwaarde

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Segmentrouting

- MPLS

- Inter-AS

- LDP

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Ondersteuning van segmentrouting

- NCS 5500, ASR 9000

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 zorgen dat u de potentiële impact van elke opdracht begrijpt.

Achtergrondinformatie

Dit document schetst de mechanismen waardoor SR met LDP samenwerkt in gevallen waarin een combinatie van SR-geschikte en niet-SR-geschikte routers binnen hetzelfde netwerk en preciezer in hetzelfde routeringsdomein naast elkaar bestaan.

Een Multicast Control Plane Client (MCC), die bij een knooppunt werkt, moet ervoor zorgen dat het inkomende label dat door de client in het MPLS-dataplatform van Node wordt geïnstalleerd, uniek is toegewezen en dat Segment Routing gebruik maakt van het Segment Routing Global Block (SRGB) voor de labeltoewijzing. Het gebruik van SRGB maakt het mogelijk dat SR naast andere MCC's kan bestaan.

Tip: deze informatie helpt u met de Inter-AS oplossing voor MPLS SR en MPLS LDP met Inter-AS Option C.

Probleem

SR-implementatie in een heterogene omgeving met SR MPLS Control-vlak werkt samen met MPLS LDP Control Plane met behulp van Inter-AS optie C gedefinieerd in RFC 4364.

Dit document beschrijft een methode waarmee een netwerk van serviceproviders met MPLS LDP en SR MPLS wordt gebruikt om Virtual Private Network te bieden met Inter-AS optie C.

Oplossing

Een kort overzicht van Inter-AS Optie C:

Inter-AS Option C is de derde optie voor het onderling verbinden van multi-AS backbones die beschermd worden in RFC 4364. Het is de meest schaalbare optie van de drie tot nu toe en het heeft zijn eigen toepassingsscenario’s die we moeten kennen om dit ontwerp goed toe te passen.

Optie C is een goede kandidaat omdat deze schaalbaar is. ASBR’s dragen geen VPN-routes en ze verzorgen alleen de distributie van gelabelde IPv4-routes van de PE’s binnen hun eigen AS.

Om de schaalbaarheid te verbeteren, transporteert één MP-EBGP VPNv4-sessie alle VPN-routes (externe routes) tussen PE’s of RR. In het geval van het gebruik van RR om de externe routes te ruilen, moet de volgende-hop van de VPNv4 routes behouden blijven.

ASBR gebruikt EBGP om de interne PoE-routing tussen AS (interne routes) uit te wisselen. Deze interne routes komen overeen met de BGP next-hops van de externe routes die geadverteerd worden door de multi-hop MP-EBGP sessie tussen PE's of R's. De interne routes die door de ASBRs worden geadverteerd kunnen worden gebruikt om de MP-EBGP sessies tussen PEs te vestigen en staat voor LSP opstelling van de toegang aan de uitgang PE toe.

Optie C is vanuit het oogpunt van schaalbaarheid een zeer goede oplossing en is de juiste weg voor dezelfde SP multi-AS-netwerken.

Een kort overzicht van segmentrouting:

Segment Routing (SR) benut de paradigma's voor bronrouting en -tunneling. Een knooppunt bestuurt een pakket via een gecontroleerde set instructies, segmenten genoemd, door het pakket met een SR-header vooraf te sturen. Een segment kan elke instructie, topologisch of servicegerelateerd vertegenwoordigen. SR maakt het mogelijk om een stroom door een topologische pad en serviceketen af te dwingen terwijl een per-flow status alleen bij de ingangsknooppunt van het SR-domein behouden blijft. De architectuur van het Segment Routing kan direct op het MPLS- gegevensvliegtuig met een kleine verandering op het door:sturen vliegtuig worden toegepast. Het vereist minder belangrijke uitbreidingen aan de bestaande verbinding-staat die protocollen routing. Segment Routing kan ook worden toegepast op IPv6 met een nieuw type routing extensie header.

Een segment wordt gecodeerd als een MPLS-label. Een geordende lijst van segmenten wordt gecodeerd als een stapel etiketten. Het te verwerken segment bevindt zich bovenaan de stapel. Na voltooiing van een segment wordt het bijbehorende etiket uit de stapel gezogen.  Segment-routing MPLS datavliegoperaties zijn push, swap en pop zoals bij de traditionele MPLS-doorgifte. De volgende segmenttypes worden gedefinieerd in Segment Routing:

- Segment voorvoegsel

- Adjacentiesegment

- BGP-peeringssegment

- BGP-prefixsegment

ASR Global Block

Het Segment Routing Global Block (SRGB) is de reeks labelwaarden die behouden blijven voor segmentrouting in de LSD. De SRGB-labelwaarden worden toegewezen als prefixsegment-identificatoren (SID’s) aan SR-compatibele knooppunten en hebben een wereldwijde betekenis in het hele domein.

- Het bereik van het SR-label kan NIET starten onder de 16.000. Het standaard universele SR blok is: 16.000 - 24.000.

- De SRGB-configuratie is NIET specifiek voor de adresfamilie omdat de "SR-Capabilities Sub-TLV" van de routercapaciteit van TLV niet specifiek is voor de adresfamilie.

- Als CLI resulteert in het vergroten of verplaatsen van de standaard SRGB, dan is het OK om een herladen te vereisen maar alleen als er klanten zijn die labels in het nieuwe bereik hebben.

- Alvorens SRGB te configureren moet de beheerder ervoor zorgen dat een deel van de labelbasis die wordt geconfigureerd voor segmentrouting vrij is en niet wordt gebruikt door andere MPLS LSD-clients.

ASR-toepassingsserver

Mapping Server wijst centraal prefix-SID's toe voor sommige of alle bekende prefixes. Een router moet kunnen optreden als een mapping server, mapping client, of beide.

- Een mapping server is een control plane mechanism en de positie ervan is vergelijkbaar met een BGP-routereflector

- Hiermee kan de gebruiker niet-overlappende SID-toewijzingsvermeldingen configureren om de prefix-SID's voor sommige of alle prefixes te specificeren.

- ISIS adverteert met het lokale SID-mapping-beleid in 'SID/Label Binding TLV'

- De mapping server moet veerkrachtig zijn, redundantie moet worden geleverd

De belangrijkste functies van Mapping Server omvatten:

- Adverteer prefix-to-SID-toewijzingen in IGP namens andere niet-SR-compatibele knooppunten. prefix-to-sid toewijzingen zijn geconfigureerd op de toewijzingsserver

- Schakel knooppunten die geschikt zijn voor SR in op interactie met (niet-SR-geschikte) LDP-knooppunten. Er is een toewijzingsserver nodig voor SR/LDP-interworking

Toepassingsclient

- Ontvangt en parseert op afstand ontvangen SID/Label Binding TLV om externe SID-mapping-vermeldingen te maken. Gebruik van de lokaal aangeleerde en lokaal geconfigureerde mapping-ingangen om het niet-overlappende consistente actieve mapping-beleid te construeren.

- IGP-instantie gebruikt het actieve afbeeldingsbeleid om de prefix-SID's van sommige of alle prefixes te (opnieuw) berekenen.

Deze sectie helpt u om L3 Virtual Private Network (VPN)-service te begrijpen en te configureren tussen providernetwerk met SR Capable Network Pering/Connecting with Non-SR Capable Network. In deze sectie, leert u hoe u optie C te configureren die is gedefinieerd in RFC "4364" en Use Cases.

Topologie - Inter-AS Optie C (met routereflectoren)

Kort overzicht van het topologiediagram

Naar de bovenkant van het topologiediagram toe hebben we een SR-netwerk dat bestaat uit routereflectoren, Provider Edge-routers en Customer Edge-routers.

De customer edge routers CE1 en CE2 hebben respectievelijk VRF A en VRF B. Dit is eigendom van AS 65002.

Naar de onderkant van het topologiediagram toe hebben we een LDP-netwerk dat bestaat uit routereflectoren, Provider Edge-routers en customer edge-routers.

De Customer Edge-routers CE3 en CE4 hebben respectievelijk VRF A en VRF B. Dit is eigendom van AS65001.

VRF A en VRF B aan beide uiteinden van de SR- en LDP-netwerken om met elkaar te moeten communiceren.

IP-adresseringsschema

Hostname

IP-adres

RR-01

10.0.0.1

RR-02,

10.0.0.2

PE1

10.0.0.3

PE2

10.0.0.4

CE1

10.0.0.5

CE2

10.0.0.6

RR-03,

10.0.1.1

RR-04,

10.0.1.2

PE5

10.0.1.3

PE6

10.0.1.4

CE3

10.0.1.5

CE4

10.0.1.6

Configuraties

De configuraties van de apparaten worden beschreven.

RR-1

segment-routing mpls

!

mapping-server

!

prefix-sid-map

address-family ipv4

10.0.0.1/32 index 200 range 10

exit-address-family

!

!

interface Loopback0

description Loopback0

ip address 10.0.0.1 255.255.255.255

ip router isis 65002

!

!

router isis 65002

net xx.xxxx.xxxx.xxxx.xx

metric-style wide

segment-routing mpls

segment-routing prefix-sid-map advertise-local

!

router bgp 65002

bgp router-id 10.0.0.1

neighbor 10.0.0.3 remote-as 65002

neighbor 10.0.0.3 description rr client

neighbor 10.0.0.3 update-source Loopback0

neighbor 10.0.0.4 remote-as 65002

neighbor 10.0.0.4 description rr client

neighbor 10.0.0.4 update-source Loopback0

neighbor 10.0.0.2 remote-as 65002

neighbor 10.0.0.2 description iBGP peer

neighbor 10.0.0.2 update-source Loopback0

neighbor 10.0.1.1 remote-as 65001

neighbor 10.0.1.1 ebgp-multihop 255

neighbor 10.0.1.1 update-source Loopback0

neighbor 10.0.1.2 remote-as 65001

neighbor 10.0.1.2 ebgp-multihop 255

neighbor 10.0.1.2 update-source Loopback0

!

address-family ipv4

neighbor 10.0.0.3 activate

neighbor 10.0.0.3 route-reflector-client

neighbor 10.0.0.4 activate

neighbor 10.0.0.4 route-reflector-client

neighbor 10.0.0.2 activate

neighbor 10.0.1.1 activate

neighbor 10.0.1.2 activate

exit-address-family

!

address-family vpnv4

neighbor 10.0.0.3 activate

neighbor 10.0.0.3 send-community extended

neighbor 10.0.0.3 route-reflector-client

neighbor 10.0.0.4 activate

neighbor 10.0.0.4 send-community extended

neighbor 10.0.0.4 route-reflector-client

neighbor 10.0.0.2 activate

neighbor 10.0.0.2 send-community extended

neighbor 10.0.1.1 activate

neighbor 10.0.1.1 send-community both

neighbor 10.0.1.1 next-hop-unchanged

neighbor 10.0.1.2 activate

neighbor 10.0.1.2 send-community both

neighbor 10.0.1.2 next-hop-unchanged

exit-address-family

!

RR-2

segment-routing mpls

!

mapping-server

!

prefix-sid-map

address-family ipv4

10.0.0.2/32 index 200 range 10

exit-address-family

!

!

interface Loopback0

description Loopback0

ip address 10.0.0.2 255.255.255.255

ip router isis 65002

!

!

router isis 65002

net xx.xxxx.xxxx.xxxx.xx

metric-style wide

segment-routing mpls

segment-routing prefix-sid-map advertise-local

!

router bgp 65002

bgp router-id 10.0.0.2

neighbor 10.0.0.3 remote-as 65002

neighbor 10.0.0.3 description rr client

neighbor 10.0.0.3 update-source Loopback0

neighbor 10.0.0.4 remote-as 65002

neighbor 10.0.0.4 description rr client

neighbor 10.0.0.4 update-source Loopback0

neighbor 10.0.0.1 remote-as 65002

neighbor 10.0.0.1 description iBGP peer

neighbor 10.0.0.1 update-source Loopback0

neighbor 10.0.1.1 remote-as 65001

neighbor 10.0.1.1 ebgp-multihop 255

neighbor 10.0.1.1 update-source Loopback0

neighbor 10.0.1.2 remote-as 65001

neighbor 10.0.1.2 ebgp-multihop 255

neighbor 10.0.1.2 update-source Loopback0

!

address-family ipv4

neighbor 10.0.0.3 activate

neighbor 10.0.0.3 route-reflector-client

neighbor 10.0.0.4 activate

neighbor 10.0.0.4 route-reflector-client

neighbor 10.0.0.1 activate

neighbor 10.0.1.1 activate

neighbor 10.0.1.2 activate

exit-address-family

!

address-family vpnv4

neighbor 10.0.0.3 activate

neighbor 10.0.0.3 send-community extended

neighbor 10.0.0.3 route-reflector-client

neighbor 10.0.0.4 activate

neighbor 10.0.0.4 send-community extended

neighbor 10.0.0.4 route-reflector-client

neighbor 10.0.0.1 activate

neighbor 10.0.0.1 send-community extended

neighbor 10.0.1.1 activate

neighbor 10.0.1.1 send-community both

neighbor 10.0.1.1 next-hop-unchanged

neighbor 10.0.1.2 activate

neighbor 10.0.1.2 send-community both

neighbor 10.0.1.2 next-hop-unchanged

exit-address-family

!

PE-1

interface Loopback0

description Loopback0

ip address 10.0.0.3 255.255.255.255

ip router isis 65002

!

vrf A                               # Define VRF A

address-family ipv4 unicast

import route-target

65000:1

!

export route-target

65000:1

!

!

vrf B                               # Define VRF B

address-family ipv4 unicast

import route-target

65000:2

!

export route-target

65000:2

!

!

router isis 65002                   # ISIS Level 2

is-type level-2-only

net xx.xxxx.xxxx.xxxx.xx

address-family ipv4 unicast

metric-style wide

advertise link attributes

mpls traffic-eng level-2-only

mpls traffic-eng router-id Loopback0

router-id Loopback0

segment-routing mpls sr-prefer

!

router bgp 65002                    # BGP

bgp router-id 10.0.0.3

neighbor-group RR

remote-as 65002

update-source Loopback0

address-family vpnv4 unicast

!

!

neighbor 10.0.0.1

use neighbor-group RR

!

neighbor 10.0.0.2

use neighbor-group RR

vrf A

rd 65000:1

address-family ipv4 unicast

redistribute connected

allocate-label all

!

neighbor 10.0.0.5           # IP address of CE1

remote-as 61001

ebgp-multihop 255

update-source Loopback100

address-family ipv4 unicast

!

vrf B

rd 65000:2

address-family ipv4 unicast

redistribute connected

allocate-label all

!

neighbor 10.0.0.6           # IP address of CE2

remote-as 61001

ebgp-multihop 255

update-source Loopback101

address-family ipv4 unicast

!

interface GigabitEthernet1         # Link to CE-01

vrf A

ipv4 address x.x.x.x 255.255.255.0

!

interface GigabitEthernet2         # Link to CE-02

vrf B

ipv4 address x.x.x.x 255.255.255.0

!

segment-routing

global-block 16000 23999

!

RR-3

interface Loopback0

description Loopback0

ip address 10.0.1.1 255.255.255.255

ip router isis 65001

!

!

router isis 65001

net xx.xxxx.xxxx.xxxx.xx

metric-style wide

segment-routing mpls

segment-routing prefix-sid-map advertise-local

!

router bgp 65001

bgp router-id 10.0.1.1

neighbor 10.0.1.3 remote-as 65001

neighbor 10.0.1.3 description rr client

neighbor 10.0.1.3 update-source Loopback0

neighbor 10.0.1.4 remote-as 65001

neighbor 10.0.1.4 description rr client

neighbor 10.0.1.4 update-source Loopback0

neighbor 10.0.1.2 remote-as 65001

neighbor 10.0.1.2 description iBGP peer

neighbor 10.0.1.2 update-source Loopback0

neighbor 10.0.0.1 remote-as 65002

neighbor 10.0.0.1 ebgp-multihop 255

neighbor 10.0.0.1 update-source Loopback0

neighbor 10.0.0.2 remote-as 65002

neighbor 10.0.0.2 ebgp-multihop 255

neighbor 10.0.0.2 update-source Loopback0

!

address-family ipv4

neighbor 10.0.1.3 activate

neighbor 10.0.1.3 route-reflector-client

neighbor 10.0.1.4 activate

neighbor 10.0.1.4 route-reflector-client

neighbor 10.0.1.2 activate

neighbor 10.0.0.1 activate

neighbor 10.0.0.2 activate

exit-address-family

!

address-family vpnv4

neighbor 10.0.1.3 activate

neighbor 10.0.1.3 send-community extended

neighbor 10.0.1.3 route-reflector-client

neighbor 10.0.1.4 activate

neighbor 10.0.1.4 send-community extended

neighbor 10.0.1.4 route-reflector-client

neighbor 10.0.1.2 activate

neighbor 10.0.1.2 send-community extended

neighbor 10.0.0.1 activate

neighbor 10.0.0.1 send-community both

neighbor 10.0.0.1 next-hop-unchanged

neighbor 10.0.0.2 activate

neighbor 10.0.0.2 send-community both

neighbor 10.0.0.2 next-hop-unchanged

exit-address-family

!

RR-4

interface Loopback0

description Loopback0

ip address 10.0.1.2 255.255.255.255

ip router isis 65001

!

!

router isis 65001

net xx.xxxx.xxxx.xxxx.xx

metric-style wide

segment-routing mpls

segment-routing prefix-sid-map advertise-local

!

router bgp 65001

bgp router-id 10.0.1.2

neighbor 10.0.1.3 remote-as 65001

neighbor 10.0.1.3 description rr client

neighbor 10.0.1.3 update-source Loopback0

neighbor 10.0.1.4 remote-as 65001

neighbor 10.0.1.4 description rr client

neighbor 10.0.1.4 update-source Loopback0

neighbor 10.0.1.1 remote-as 65001

neighbor 10.0.1.1 description iBGP peer

neighbor 10.0.1.1 update-source Loopback0

neighbor 10.0.0.1 remote-as 65002

neighbor 10.0.0.1 ebgp-multihop 255

neighbor 10.0.0.1 update-source Loopback0

neighbor 10.0.0.2 remote-as 65002

neighbor 10.0.0.2 ebgp-multihop 255

neighbor 10.0.0.2 update-source Loopback0

!

address-family ipv4

neighbor 10.0.1.3 activate

neighbor 10.0.1.3 route-reflector-client

neighbor 10.0.1.4 activate

neighbor 10.0.1.4 route-reflector-client

neighbor 10.0.1.1 activate

neighbor 10.0.0.1 activate

neighbor 10.0.0.2 activate

exit-address-family

!

address-family vpnv4

neighbor 10.0.1.3 activate

neighbor 10.0.1.3 send-community extended

neighbor 10.0.1.3 route-reflector-client

neighbor 10.0.1.4 activate

neighbor 10.0.1.4 send-community extended

neighbor 10.0.1.4 route-reflector-client

neighbor 10.0.1.1 activate

neighbor 10.0.1.1 send-community extended

neighbor 10.0.0.1 activate

neighbor 10.0.0.1 send-community both

neighbor 10.0.0.1 next-hop-unchanged

neighbor 10.0.0.2 activate

neighbor 10.0.0.2 send-community both

neighbor 10.0.0.2 next-hop-unchanged

exit-address-family

!

PE-6

interface Loopback0

description Loopback0

ip address 10.0.1.3 255.255.255.255

ip router isis 65001

!

vrf A                               # Define VRF A

address-family ipv4 unicast

import route-target

65000:1

!

export route-target

65000:1

!

vrf B                               # Define VRF B

address-family ipv4 unicast

import route-target

65000:2

!

export route-target

65000:2

!

router isis 65001

is-type level-2-only

net xx.xxxx.xxxx.xxxx.xx

address-family ipv4 unicast

metric-style wide

advertise link attributes

mpls traffic-eng level-2-only

mpls traffic-eng router-id Loopback0

router-id Loopback0

segment-routing mpls sr-prefer

!

router bgp 65001

bgp router-id 10.0.1.3

neighbor-group RR

remote-as 65002

update-source Loopback0

address-family vpnv4 unicast

!

!

neighbor 10.0.1.1

use neighbor-group RR

!

neighbor 10.0.1.2

use neighbor-group RR

vrf A

rd 65000:1

address-family ipv4 unicast

redistribute connected

allocate-label all

!

neighbor 10.0.1.5           # IP address of CE3

remote-as 61001

ebgp-multihop 255

update-source Loopback100

address-family ipv4 unicast

!

vrf B

rd 65000:2

address-family ipv4 unicast

redistribute connected

allocate-label all

!

neighbor 10.0.1.6           # IP address of CE4

remote-as 61001

ebgp-multihop 255

update-source Loopback101

address-family ipv4 unicast

!

interface GigabitEthernet1         # Link to CE3

vrf A

ipv4 address x.x.x.x 255.255.255.0

!

interface GigabitEthernet2         # Link to CE4

vrf B

ipv4 address x.x.x.x 255.255.255.0

!

Gerelateerde informatie

- Technische ondersteuning en documentatie – Cisco Systems

- https://tools.ietf.org/html/rfc8661

- https://tools.ietf.org/html/rfc4659

- https://tools.ietf.org/html/rfc4364

- https://tools.ietf.org/html/draft-ietf-spring-segment-routing-ldp-interop-08

- https://tools.ietf.org/html/draft-ietf-isis-segment-routing-extensions-19

- https://tools.ietf.org/html/draft-ietf-spring-segment-routing-ldp-interop-15#ref-I-D.ietf-isis-segment-routing-extensions

- https://learningnetwork.cisco.com/s/question/0D53i00000Ksqy9CAB/interas-option-c