Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Background

Arquitectura

Configurar

Verificación

Troubleshoot

Información Relacionada

Introducción

En este documento se describe la finalidad del switching por etiquetas multiprotocolo (MPLS, Multiprotocol Label Switching) unificado y se presenta un ejemplo de configuración.

Prerequisites

Requirements

No hay requisitos específicos para este documento.

Componentes Utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Background

El objetivo de Unified MPLS es la ampliación. Para escalar una red MPLS, donde hay diferentes tipos de plataformas y servicios en partes de la red, tiene sentido dividir la red en diferentes áreas. Un diseño típico introduce una jerarquía que tiene un núcleo en el centro con agregación en el lado. Para escalar, puede haber diferentes protocolos de gateway interior (IGP) en el núcleo en comparación con la agregación. Para escalar, no puede distribuir los prefijos IGP de un IGP al otro. Si no distribuye los prefijos IGP de un IGP al otro IGP, las rutas de conmutación de etiquetas (LSP) de extremo a extremo no son posibles.

Para ofrecer los servicios MPLS de extremo a extremo, necesita que el LSP sea de extremo a extremo. El objetivo es mantener los servicios MPLS (MPLS VPN, MPLS L2VPN) tal como están, pero introducir una mayor escalabilidad. Para hacer esto, mueva algunos de los prefijos IGP al protocolo de gateway fronterizo (BGP) (los prefijos de loopback de los routers de borde del proveedor (PE)), que luego distribuye los prefijos de extremo a extremo.

Arquitectura

La figura 1 muestra una red con tres áreas diferentes: un núcleo y dos áreas de agregación en el lado. Cada área ejecuta su propio IGP, sin redistribución entre ellos en el router de borde de área (ABR). Se necesita el uso de BGP para proporcionar un MPLS LSP de extremo a extremo. BGP anuncia los loopbacks de los routers PE con una etiqueta en todo el dominio y proporciona un LSP de extremo a extremo. BGP se implementa entre los PE y los ABR con RFC 3107, lo que significa que BGP envía el prefijo IPv4 + etiqueta (AFI/SAFI 1/4).

Dado que las partes de núcleo y agregación de la red están integradas y se proporcionan LSP integrales, la solución Unified MPLS también se denomina "MPLS sin problemas".

Aquí no se utilizan nuevas tecnologías o protocolos, sólo MPLS, Label Distribution Protocol (LDP), IGP y BGP. Dado que no desea distribuir los prefijos de loopback de los routers PE de una parte de la red en otra parte, debe cargar los prefijos en BGP. El protocolo de gateway fronterizo interno (iBGP) se utiliza en una red, por lo que la dirección de salto siguiente de los prefijos es los prefijos de loopback de los routers PE, que el IGP no conoce en las otras partes de la red. Esto significa que la dirección del siguiente salto no se puede utilizar para volver a un prefijo IGP. El truco es hacer que los routers ABR Route Reflector (RR) y establecer el salto siguiente en sí mismos, incluso para los prefijos iBGP reflejados. Para que esto funcione, se necesita una nueva perilla.

Sólo los RR necesitan software más nuevo para admitir esta arquitectura. Dado que los RR anuncian los prefijos BGP con el salto siguiente configurado a sí mismos, asignan una etiqueta MPLS local a los prefijos BGP. Esto significa que en el plano de datos, los paquetes reenviados en estos LSP de extremo a extremo tienen una etiqueta MPLS adicional en la pila de etiquetas. Los RR están en la trayectoria de reenvío.

Nota: En esta arquitectura, se proporciona cualquier servicio MPLS. Por ejemplo, MPLS VPN o MPLS L2VPN se proporcionan entre los routers PE. La diferencia en el plano de datos para estos paquetes es que ahora tienen tres etiquetas en la pila de etiquetas, mientras que tenían dos etiquetas en la pila de etiquetas cuando no se utilizó Unified MPLS.

Hay dos escenarios posibles:

- El ABR no configura el salto siguiente en sí para los prefijos anunciados (reflejados por BGP) por el ABR en la parte de agregación de la red. Debido a esto, el ABR necesita redistribuir los prefijos de loopback de los ABR del IGP de núcleo en el IGP de agregación. Si esto se hace, todavía hay escalabilidad. Sólo los prefijos de loopback ABR (del núcleo) deben anunciarse en la parte de agregación, no los prefijos de loopback de los routers PE de las partes de agregación remota.

- El ABR establece el salto siguiente en sí mismo para los prefijos anunciados (reflejados por BGP) por el ABR en la parte de agregación. Debido a esto, el ABR no necesita redistribuir los prefijos de loopback de los ABR del IGP de núcleo en el IGP de agregación.

En ambos escenarios, el ABR configura el salto siguiente en sí para los prefijos anunciados (reflejados por BGP) por el ABR desde la parte de agregación de la red a la parte principal. Si esto no se hace, el ABR necesita redistribuir los prefijos de loopback de los PE del IGP de agregación en el IGP de núcleo. Si esto se hace, no hay escalabilidad.

Para configurar el salto siguiente en self para las rutas iBGP reflejadas, debe configurar el comando neighbor x.x.x.x.x next-hop-self all.

Configurar

Esta es la configuración de los routers PE y ABR para el escenario 2.

Nota: La topología se muestra en la figura 2. El servicio de ejemplo es xconnect (MPLS L2VPN). Entre los routers PE y los ABR, hay BGP para la etiqueta IPv4 +.

PE1

interface Loopback0

ip address 10.100.1.4 255.255.255.255

!

interface Ethernet1/0

no ip address

xconnect 10.100.1.5 100 encapsulation mpls

!

router ospf 2

network 10.2.0.0 0.0.255.255 area 0

network 10.100.1.4 0.0.0.0 area 0

!

router bgp 1

bgp log-neighbor-changes

network 10.100.1.4 mask 255.255.255.255

neighbor 10.100.1.1 remote-as 1

neighbor 10.100.1.1 update-source Loopback0

neighbor 10.100.1.1 send-label

RR1

interface Loopback0

ip address 10.100.1.1 255.255.255.255

router ospf 1

network 10.1.0.0 0.0.255.255 area 0

network 10.100.1.1 0.0.0.0 area 0

!

router ospf 2

redistribute ospf 1 subnets match internal route-map ospf1-into-ospf2

network 10.2.0.0 0.0.255.255 area 0

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.100.1.2 remote-as 1

neighbor 10.100.1.2 update-source Loopback0

neighbor 10.100.1.2 next-hop-self all

neighbor 10.100.1.2  send-label

neighbor 10.100.1.4 remote-as 1

neighbor 10.100.1.4 update-source Loopback0

neighbor 10.100.1.4 route-reflector-client

neighbor 10.100.1.4 next-hop-self all

neighbor 10.100.1.4 send-label

ip prefix-list prefix-list-ospf1-into-ospf2 seq 5 permit 10.100.1.1/32

route-map ospf1-into-ospf2 permit 10

match ip address prefix-list prefix-list-ospf1-into-ospf2

RR2

interface Loopback0

ip address 10.100.1.2 255.255.255.255

router ospf 1

network 10.1.0.0 0.0.255.255 area 0

network 10.100.1.2 0.0.0.0 area 0

!

router ospf 3

redistribute ospf 1 subnets match internal route-map ospf1-into-ospf3

network 10.3.0.0 0.0.255.255 area 0

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.100.1.1 remote-as 1

neighbor 10.100.1.1 update-source Loopback0

neighbor 10.100.1.1 next-hop-self all

neighbor 10.100.1.1 send-label

neighbor 10.100.1.5 remote-as 1

neighbor 10.100.1.5 update-source Loopback0

neighbor 10.100.1.5 route-reflector-client

neighbor 10.100.1.5 next-hop-self all

neighbor 10.100.1.5 send-label

ip prefix-list prefix-list-ospf1-into-ospf3 seq 5 permit 10.100.1.2/32

route-map ospf1-into-ospf3 permit 10

match ip address prefix-list prefix-list-ospf1-into-ospf3

PE2

interface Loopback0

ip address 10.100.1.5 255.255.255.255

interface Ethernet1/0

no ip address

xconnect 10.100.1.4 100 encapsulation mpls

router ospf 3

network 10.3.0.0 0.0.255.255 area 0

network 10.100.1.5 0.0.0.0 area 0

router bgp 1

bgp log-neighbor-changes

network 10.100.1.5 mask 255.255.255.255

neighbor 10.100.1.2 remote-as 1

neighbor 10.100.1.2 update-source Loopback0

neighbor 10.100.1.2 send-label

Nota: La redistribución del IGP de núcleo (ospf 1) en el IGP de agregación (ospf2 o ospf 3) se realiza con un route-map. Este route-map permite que los prefijos de loopback del RR se redistribuyan en el IGP de agregación. La razón de esto es que el prefijo de loopback del RR sólo se anuncia directamente en el IGP de núcleo (ospf 1). Sin embargo, el prefijo de loopback del RR también se debe conocer en el IGP de agregación, de modo que BGP en el router PE pueda hacer peer con el loopback del RR.

Verificación

Consulte la figura 2 para verificar el funcionamiento del plano de control.

Consulte la Figura 3 para verificar los anuncios de etiquetas MPLS.

Consulte la Figura 4 para verificar el reenvío de paquetes.

Así es como se reenvían los paquetes de PE1 a PE2. El prefijo de loopback de PE2 es 10.100.1.5/32, por lo que ese prefijo es de interés.

PE1#show ip route 10.100.1.5

Routing entry for 10.100.1.5/32

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

Last update from 10.100.1.1 00:11:12 ago

Routing Descriptor Blocks:

* 10.100.1.1, from 10.100.1.1, 00:11:12 ago

Route metric is 0, traffic share count is 1

AS Hops 0

MPLS label: 22

PE1#show ip cef 10.100.1.5

10.100.1.5/32

nexthop 10.2.2.6 Ethernet0/0 label 19 22

PE1#show ip cef 10.100.1.5 detail

10.100.1.5/32, epoch 0, flags rib defined all labels

1 RR source [no flags]

recursive via 10.100.1.1 label 22

nexthop 10.2.2.6 Ethernet0/0 label 19

PE1#show bgp ipv4 unicast labels

Network          Next Hop      In label/Out label

10.100.1.4/32    0.0.0.0         imp-null/nolabel

10.100.1.5/32    10.100.1.1      nolabel/22

P1#show mpls forwarding-table labels 19 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

19         Pop Label  10.100.1.1/32    603468        Et1/0      10.2.1.1

MAC/Encaps=14/14, MRU=1504, Label Stack{}

AABBCC000101AABBCC0006018847

No output feature configured

RR1#show mpls forwarding-table labels 22 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

22         21         10.100.1.5/32    575278        Et0/0      10.1.1.3

MAC/Encaps=14/22, MRU=1496, Label Stack{17 21}

AABBCC000300AABBCC0001008847 0001100000015000

No output feature configured

RR1#show bgp ipv4 unicast labels

Network          Next Hop      In label/Out label

10.100.1.4/32    10.100.1.4      19/imp-null

10.100.1.5/32    10.100.1.2      22/21

P3#show mpls forwarding-table labels 17 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

17         Pop Label  10.100.1.2/32    664306        Et1/0      10.1.2.2

MAC/Encaps=14/14, MRU=1504, Label Stack{}

AABBCC000201AABBCC0003018847

No output feature configured

RR2#show mpls forwarding-table labels 21 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

21         17         10.100.1.5/32    615958        Et0/0      10.3.1.7

MAC/Encaps=14/18, MRU=1500, Label Stack{17}

AABBCC000700AABBCC0002008847 00011000

No output feature configured

RR2#show bgp ipv4 unicast labels

Network          Next Hop      In label/Out label

10.100.1.4/32    10.100.1.1      22/19

10.100.1.5/32    10.100.1.5      21/imp-null

P2#show mpls forwarding-table labels 17 detail

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

17         Pop Label  10.100.1.5/32    639957        Et1/0      10.3.2.5

MAC/Encaps=14/14, MRU=1504, Label Stack{}

AABBCC000500AABBCC0007018847

No output feature configured

PE1#trace

Protocol [ip]:

Target IP address: 10.100.1.5

Source address: 10.100.1.4

DSCP Value [0]:

Numeric display [n]:

Timeout in seconds [3]:

Probe count [3]:

Minimum Time to Live [1]:

Maximum Time to Live [30]:

Port Number [33434]:

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

Type escape sequence to abort.

Tracing the route to 10.100.1.5

VRF info: (vrf in name/id, vrf out name/id)

1 10.2.2.6 [MPLS: Labels 19/22 Exp 0] 3 msec 3 msec 3 msec

2 10.2.1.1 [MPLS: Label 22 Exp 0] 3 msec 3 msec 3 msec

3 10.1.1.3 [MPLS: Labels 17/21 Exp 0] 3 msec 3 msec 2 msec

4 10.1.2.2 [MPLS: Label 21 Exp 0] 2 msec 3 msec 2 msec

5  *  *  *

6 10.3.2.5 4 msec *  4 msec

Nota: El salto 5 muestra 5 ? * * ?. Esto se debe a que el router P2 no tiene una ruta para la dirección IP de origen 10.100.1.4 (PE1) del traceroute. Por lo tanto, el router P2 no puede enviar el mensaje de error de protocolo de mensajes de control de Internet (ICMP) de vuelta a PE1. Esto es normal, ya que el punto de Unified MPLS es no tener los prefijos de loopback de todos los routers PE en una parte de agregación para aparecer en los IGP de las otras partes de agregación. El router P2 no intenta reenviar el mensaje de error ICMP con la pila de etiquetas original. Esto se debe a que la pila de etiquetas original sólo tiene una etiqueta. Si esta pila de etiquetas original del paquete tiene dos o más etiquetas, el mensaje de error ICMP se reenvía a lo largo del LSP y puede volver al origen del traceroute. Si la pila de etiquetas original tiene solamente una etiqueta, el router que genera el mensaje de error ICMP intenta una búsqueda de ruta e intenta rutearla con el uso de la tabla de ruteo (sin el uso de la pila de etiquetas original).

P2#show ip route 10.100.1.4

% Subnet not in table

Troubleshoot

Actualmente, no hay información específica de troubleshooting disponible para esta configuración.

Información Relacionada

- Arquitectura MPLS perfecta

- Soporte Técnico y Documentación - Cisco Systems