Contenido

Introducción

Requisito previo

Requirements

Componentes Utilizados

Antecedentes

Problema

Solución

Bloque global de SR

Servidor de asignación SR

Cliente de mapeo

Topología - Opción C de Inter-AS (con Route-Reflectors)

Descripción general breve del diagrama de topología

Esquema de direccionamiento IP

Configuraciones

Información Relacionada

Introducción

Este documento describe cómo se puede utilizar una implementación de SR parcial para proporcionar beneficios de SR al tráfico basado en LDP, incluida una posible aplicación de SR en el contexto de casos prácticos de MPLS entre dominios.

Requisito previo

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Routing de segmentos

- MPLS

- Inter-AS

- LDP

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- Routing de segmentos compatibles

- NCS5500 y ASR9000

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

Este documento describe los mecanismos a través de los cuales SR interactúa con LDP en los casos en que una mezcla de routers con capacidad SR y no con capacidad SR coexista dentro de la misma red y más precisamente en el mismo dominio de ruteo.

Un cliente de plano de control multidifusión (MCC), que funcione en un nodo, debe garantizar que la etiqueta entrante que instala en el plano de datos MPLS del nodo se ha asignado de forma exclusiva y el enrutamiento de segmentos utiliza el bloque global de enrutamiento de segmentos (SRGB) para la asignación de etiquetas. El uso del SRGB permite que SR coexista con cualquier otro MCC.

Consejo: Esta información le ayuda con la solución Inter-AS para MPLS SR y MPLS LDP usando la opción C de Inter-AS.

Problema

Implementación de SR en un entorno heterogéneo con interoperabilidad del plano de control de SR MPLS con el plano de control de MPLS LDP mediante la opción C de Inter-AS definida en RFC 4364.

Este documento describe un método por el cual la red del proveedor de servicio que utiliza MPLS LDP y SR MPLS proporciona una red privada virtual que utiliza la opción C de Inter-AS.

Solución

Breve descripción general de la opción C de Inter-AS:

La opción C de Inter-AS es la tercera opción para interconectar las redes troncales de varios AS cubiertas en RFC 4364. Es la opción más escalable de las tres hasta el momento y tiene sus propios escenarios de aplicabilidad que debemos tener en cuenta para aplicar este diseño correctamente.

La opción C es una buena candidata porque es escalable. Los ASBR no llevan ninguna ruta VPN y solo se ocupan de la distribución de rutas IPv4 etiquetadas de los PE dentro de su propio AS.

Para mejorar la escalabilidad, una sesión MP-EBGP VPNv4 transporta todas las rutas VPN (rutas externas) entre PE o RR. En el caso de utilizar RR para intercambiar las rutas externas, se debe conservar el salto siguiente de las rutas VPNv4.

El ASBR utiliza EBGP para intercambiar la información de ruteo PE interna entre AS (rutas internas). Estas rutas internas corresponden a los saltos siguientes BGP de las rutas externas anunciadas a través de la sesión MP-EBGP de saltos múltiples entre PE o RR. Las rutas internas anunciadas por los ASBR se pueden utilizar para establecer las sesiones MP-EBGP entre los PE y permite la configuración de LSP desde el ingreso al PE de egreso.

La opción C es una muy buena solución desde el punto de vista de la escalabilidad y es el camino a seguir para las mismas redes SP multi-AS.

Breve descripción general de Segment Routing:

El routing de segmentos (SR) aprovecha los paradigmas de routing de origen y tunelación. Un nodo dirige un paquete a través de un conjunto controlado de instrucciones, denominado segmentos, anteponiendo el paquete a un encabezado SR. Un segmento puede representar cualquier instrucción, topológica o basada en servicios. SR permite aplicar un flujo a través de cualquier ruta topológica y cadena de servicio mientras mantiene un estado por flujo solamente en el nodo de ingreso del dominio SR. La arquitectura de Segment Routing se puede aplicar directamente al plano de datos MPLS con un pequeño cambio en el plano de reenvío. Requiere extensiones menores a los protocolos de ruteo de estado de link existentes. El routing de segmentos también se puede aplicar a IPv6 con un nuevo tipo de encabezado de extensión de routing.

Un segmento se codifica como una etiqueta MPLS. Una lista ordenada de segmentos se codifica como una pila de etiquetas. El segmento a procesar se encuentra en la parte superior de la pila. Al finalizar un segmento, la etiqueta relacionada se extrae de la pila.  Las operaciones de plano de datos MPLS de routing de segmentos son push, swap y pop según el reenvío MPLS tradicional. Los siguientes tipos de segmentos se definen en Segment Routing:

- Segmento de prefijo

- Segmento de adyacencia

- Segmento de Peering BGP

- Segmento de Prefijo BGP

Bloque global de SR

El Bloque Global de Ruteo de Segmentos (SRGB) es el rango de valores de etiqueta conservados para el ruteo de segmentos en el LSD. Los valores de etiqueta SRGB se asignan como identificadores de segmento de prefijo (SID) a los nodos habilitados para SR y tienen importancia global en todo el dominio.

- El intervalo de etiquetas SR NO puede comenzar por debajo de 16.000. El bloque global de SR predeterminado es: 16 000 - 24 000.

- La configuración SRGB NO es específica de la familia de direcciones porque el "SR-Capabilities Sub-TLV" de la capacidad TLV del router definida en no es específica de la familia de direcciones.

- Si CLI resulta en ampliar o mover el SRGB predeterminado, entonces está bien solicitar una recarga, pero solo si hay clientes que tienen etiquetas en el nuevo rango.

- Antes de configurar SRGB, el administrador debe asegurarse de que una parte de la base de etiquetas que se está configurando para Segment-Routing es libre y no está siendo utilizada por ningún otro cliente MPLS LSD.

Servidor de asignación SR

El servidor de mapeo asigna centralmente SID de prefijo para algunos o todos los prefijos conocidos. Un router debe ser capaz de actuar como servidor de mapeo, cliente de mapeo o ambos.

- Un servidor de mapeo es un mecanismo de plano de control y su posición es comparable a un reflector de ruta BGP

- Permite al usuario configurar entradas de asignación SID no superpuestas para especificar los SID de prefijo para algunos o todos los prefijos.

- ISIS anuncia la política de asignación de SID local en 'SID/Label Binding TLV'

- El servidor de asignación debe ser resistente, debe proporcionarse redundancia

Entre las funciones principales de Mapping Server se incluyen:

- Anunciar las asignaciones de prefijo a SID en IGP en nombre de otros nodos no compatibles con SR. Las asignaciones de prefijo a SID se configuran en el servidor de asignaciones

- Habilite los nodos compatibles con SR para interactuar con los nodos LDP (no compatibles con SR); se requiere un servidor de asignación para la interconexión SR/LDP

Cliente de mapeo

- Recibe y analiza el SID/Label Binding TLV recibido remotamente para crear entradas de asignación SID remotas. Mediante las entradas de asignación aprendidas remotamente y configuradas localmente, construya la política de asignación activa coherente y no superpuesta.

- La instancia de IGP utiliza la política de asignación activa para (re)calcular los SID de prefijo de algunos o todos los prefijos.

Esta sección le ayuda a comprender y configurar el servicio de red privada virtual (VPN) de capa 3 entre la red del proveedor con iguales de red con capacidad SR/Conexión con redes sin capacidad SR. En esta sección, aprenderá a configurar la opción C definida en RFC "4364" y casos de uso.

Topología - Opción C de Inter-AS (con Route-Reflectors)

Descripción general breve del diagrama de topología

Hacia la parte superior del diagrama de topología, tenemos una red habilitada para SR que consta de reflectores de ruta, routers de borde del proveedor y routers de borde del cliente.

Los routers periféricos del cliente CE1 y CE2 tienen VRF A y VRF B respectivamente. Esto pertenece a AS 65002.

Hacia la parte inferior del diagrama de topología, tenemos una red habilitada para LDP que incluye reflectores de ruta, routers de borde del proveedor y routers de borde del cliente.

Los routers periféricos del cliente CE3 y CE4 tienen VRF A y VRF B respectivamente. Esto pertenece a AS65001.

VRF A y VRF B en cualquiera de los extremos de las redes habilitadas para SR y LDP para tener que comunicarse entre sí.

Esquema de direccionamiento IP

Hostname

IP Address

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

Configuraciones

Se describen las configuraciones de los dispositivos.

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

!

Información Relacionada

- Soporte Técnico y Documentación - 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