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.
No hay requisitos específicos para este documento.
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.
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.
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.
Hay dos escenarios posibles:
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.
Esta es la configuración de los routers PE y ABR para el escenario 2.
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
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
P2#show ip route 10.100.1.4
% Subnet not in table
Actualmente, no hay información específica de troubleshooting disponible para esta configuración.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
03-Jul-2013 |
Versión inicial |