Switches : Switching por etiquetas multiprotocolo (MPLS)

MPLS unificado configuración en el Cisco IOS XR

18 Junio 2016 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (21 Abril 2016) | Comentarios

Introducción

Este documento describe el propósito del Multiprotocol Label Switching (MPLS) unificado y proporciona un ejemplo de configuración en el ® XR del Cisco IOS.

Contribuido por Lucas De Ghein, ingeniero de Cisco TAC.

Prerrequisitos

Requisitos

No hay requisitos específicos para este documento.

Componentes Utilizados

Este documento es específico al Cisco IOS XR, pero no se restringe a una versión de software o a un hardware específica.

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 la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Antecedentes

El propósito del MPLS unificado está todo sobre el escalamiento. Para escalar una red MPLS, donde hay diversos tipos de Plataformas y de servicios en las partes de la red, tiene sentido de partir la red en diversas áreas. Un diseño típico introduce una jerarquía que tenga una base en el centro con la agregación en el lado. Para escalar, allí puede ser diversos protocolos Interior Gateway Protocols (IGP) en la base contra la agregación. Para escalar, usted no puede distribuir los prefijos IGP a partir de un IGP en el otro. Si usted no distribuye los prefijos IGP a partir de un IGP en el otro IGP, las trayectorias conmutadas de etiquetas de punta a punta (LSP) no son posibles.

Para entregar los servicios MPLS de punta a punta, usted necesita el LSP ser de punta a punta. La meta es guardar los servicios MPLS (MPLS VPN, MPLS L2VPN) pues son, sino introducir el mayor scalability. Para hacer esto, trasládese algunos de los prefijos IGP al Border Gateway Protocol (BGP) (los prefijos del loopback del Routers del borde del proveedor (PE)), que entonces distribuye los prefijos de punta a punta.

Configurar

Nota: Use la Command Lookup Tool (clientes registrados solamente) para obtener más información sobre los comandos usados en esta sección.

Diagrama de la red

El cuadro 1 muestra una red con tres diversas áreas: una base y dos áreas de la agregación en el lado. La cada área ejecuta su propio IGP, sin la redistribución entre ellas en el router del borde del área (ABR). El uso del BGP es necesario para proporcionar un MPLS de punta a punta LSP. El BGP hace publicidad de los loopback del Routers PE con una escritura de la etiqueta a través de la totalidad del dominio, y proporciona un LSP de punta a punta. El BGP se despliega entre los PE y los ABR con el RFC 3107 (unicast etiquetado BGP), así que significa que el BGP envía el prefijo del IPv4 + la escritura de la etiqueta (identificador de la familia del direccionamiento (AFI) 1 e identificador subsiguiente de la familia del direccionamiento (SAFI) 4).

Figura 1

Puesto que las partes de la base y de la agregación la red son integradas y se proporcionan los LSP de punta a punta, las Soluciones MPLS unificadas también se refieren como “MPLS inconsútil.”

Las tecnologías nuevas o los protocolos no se utilizan aquí, solamente MPLS, Protocolo de distribución de etiquetas (LDP), IGP, y el BGP. Puesto que usted no quiere distribuir los prefijos del loopback del Routers PE a partir de una parte de la red en otra parte, usted necesita llevar los prefijos en el BGP. El Internal Border Gateway Protocol (iBGP) se utiliza en una red, así que la dirección del salto siguiente de los prefijos es los prefijos del loopback del Routers PE, que no es conocida por el IGP en las otras partes de la red. Esto significa que la dirección del salto siguiente no puede ser utilizada al recurse a un prefijo IGP. El truco es hacer los routeres ABR los reflectores de ruta (RR) y fijar el salto siguiente al uno mismo, incluso para los prefijos reflejados del iBGP.

Solamente los RR necesitan el software soportar esta arquitectura. Puesto que los RR hacen publicidad de los prefijos BGP con el salto siguiente fijado a ellos mismos, asignan una escritura de la etiqueta local MPLS a los prefijos BGP. Esto significa que en el avión de los datos, los paquetes remitidos en estos LSP de punta a punta tienen una escritura de la etiqueta adicional MPLS en la pila de etiquetas. Los RR están en el trayecto de reenvío.

Nota: Sobre esta arquitectura, se proporciona cualquier servicio MPLS. Por ejemplo, el MPLS VPN o el MPLS L2VPN del servicio se proporciona entre el Routers PE. La diferencia en el avión de los datos para estos paquetes es que él ahora tiene tres escrituras de la etiqueta en la pila de etiquetas, mientras que él tenía dos escrituras de la etiqueta en la pila de etiquetas cuando el MPLS unificado no fue utilizado.

Hay dos escenarios posibles:

  • El ABR no fija el salto siguiente al uno mismo para los prefijos des divulgación (reflejado por el BGP) por el ABR en la parte de la agregación la red. Debido a esto, el ABR necesita redistribuir los prefijos del loopback de los ABR de la base IGP en la agregación IGP. Si se hace esto, todavía hay scalability. Solamente los prefijos del loopback ABR (de la base) necesitan ser hechos publicidad en la pieza de la agregación, no los prefijos del loopback del Routers PE de las piezas remotas de la agregación.
  • El ABR fija el salto siguiente al uno mismo para los prefijos des divulgación (reflejado por el BGP) por el ABR en la partición de la agregación debido a esto, el ABR no necesita redistribuir los prefijos del loopback de los ABR de la base IGP en la agregación IGP.

En ambos escenarios, el ABR fija el salto siguiente al uno mismo para los prefijos des divulgación (reflejado por el BGP) por el ABR de la parte de la agregación la red en la partición de la base. Si esto no se hace, el ABR necesita redistribuir los prefijos del loopback de los PE de la agregación IGP en la base IGP. Si se hace esto, no hay scalability.

Para fijar el salto siguiente al uno mismo para el iBGP reflejado etiquetó las rutas del unicast, usted debe configurar el lenguaje de la directiva de la ruta (RPL) en los ABR.

Estas soluciones no trabajan para habilitar el RFC 3107 en el Cisco IOS XR:

  • el siguiente-salto-uno mismo no trabaja.

    Por ejemplo:

    router bgp 1
     neighbor 10.100.1.1
      remote-as 1
      update-source Loopback0
      address-family ipv4 labeled-unicast
       route-reflector-client
        next-hop-self
      !
  • El RPL con el uno mismo del Next-Hop del conjunto no trabaja.

    Por ejemplo:

    router bgp 1
     neighbor 10.100.1.1
      remote-as 1
      update-source Loopback0
      address-family ipv4 labeled-unicast
       route-reflector-client
       route-policy nhs-ibgp-3107 out
       !

    route-policy nhs-ibgp-3107
      set next-hop self
    end-policy
  • fije el Next-Hop a la dirección de peer no es un operador válido para la punta de fijación.

    Por ejemplo:

    route-policy nhs-ibgp-3107-peer
      set next-hop peer-address
    end-policy

    router bgp 1
     neighbor 10.100.1.1
      address-family ipv4 labeled-unicast
       route-policy nhs-ibgp-3107-peer out

    !!% Could not find entry in list: Policy [nhs-ibgp-3107-peer]
    uses 'set-to-peer-address next-hop'. 'set' is not a valid
    operator for the 'next-hop' attribute at the bgp neighbor-out-dflt attach point.
      !
     !
    !
    end

La única solución que trabaja es fijar a la dirección del salto siguiente a un IP Address válido, tener el salto-uno mismo siguiente, y tener aplicar-modificaciones de la directiva del ibgp hacia fuera.

Por ejemplo:

router bgp 1
 ibgp policy out enforce-modifications
!
neighbor 10.100.1.1
  remote-as 1
  update-source Loopback0
  address-family ipv4 labeled-unicast
   route-reflector-client
   route-policy nhs-ibgp-3107 out
   next-hop-self
  !
 !
!

route-policy nhs-ibgp-3107
  set next-hop 10.100.1.3
end-policy

Configuración en el PE1

hostname PE1
!
vrf one     <<< MPLS service is MPLS VPN
 address-family ipv4 unicast
  import route-target
   1:1
  !
  export route-target
   1:1
  !
 !
 address-family ipv6 unicast
  import route-target
   1:1
  !
  export route-target
   1:1
  !
 !
interface Loopback0
 ipv4 address 10.100.1.1 255.255.255.255
!
!
interface GigabitEthernet0/0/0/0
 ipv4 address 10.1.1.1 255.255.255.0
!
!
interface GigabitEthernet0/0/0/1   <<< VRF interface to CE1
 vrf one
 ipv4 address 10.9.1.3 255.255.255.0
!
!
router ospf 1
 router-id 10.100.1.1
 area 0
  interface Loopback0
  !
  interface GigabitEthernet0/0/0/0
   network point-to-point
  !
 !
!
router bgp 1
 address-family ipv4 unicast
  network 10.100.1.1/32    <<< advertise PE loopback in BGP
  allocate-label all
 !
 address-family vpnv4 unicast
 !
 neighbor 10.100.1.3
  remote-as 1
  update-source Loopback0
  address-family ipv4 labeled-unicast
  !
 !
 neighbor 10.100.1.7     <<< vpnv4 iBGP session to PE2
  remote-as 1
  update-source Loopback0
  address-family vpnv4 unicast
  !
 !
 vrf one
  rd 1:1
  address-family ipv4 unicast
  !
  neighbor 10.9.1.2    <<< eBGP session to CE1
   remote-as 65001
   address-family ipv4 unicast
    route-policy pass in
    route-policy pass out
   !
  !
 !
!
mpls ldp
 mldp
  logging notifications
  address-family ipv4
  !
 !
 router-id 10.100.1.1
 address-family ipv4
 !
 interface GigabitEthernet0/0/0/0
  address-family ipv4
  !
 !
!

Configuración en ABR1

hostname ABR1
!
interface Loopback0
 ipv4 address 10.100.1.3 255.255.255.255
!
!
interface GigabitEthernet0/0/0/0
 ipv4 address 10.1.3.3 255.255.255.0
!
interface GigabitEthernet0/0/0/1
 ipv4 address 10.1.2.3 255.255.255.0
!
route-policy nhs-ibgp-3107
  set next-hop 10.100.1.3    <<< set next hop to loopback
end-policy
!
route-policy connected-into-ospf2
  if destination in (10.100.1.3/32) then
    pass
  endif
end-policy
!
router ospf 1
 router-id 10.100.1.3
 area 0
  interface Loopback0
  !
  interface GigabitEthernet0/0/0/1
   network point-to-point
  !
 !
!
router ospf 2
 redistribute connected route-policy connected-into-ospf2
 area 0
  interface GigabitEthernet0/0/0/0
   network point-to-point
  !
 !
!
router bgp 1
 ibgp policy out enforce-modifications
 address-family ipv4 unicast
  allocate-label all
 !
 neighbor 10.100.1.1     <<< iBGP neighbor PE1
  remote-as 1
  update-source Loopback0
  address-family ipv4 labeled-unicast
   route-reflector-client
   route-policy nhs-ibgp-3107 out
   next-hop-self
  !
 !
 neighbor 10.100.1.5      <<< iBGP neighbor ABR2
  remote-as 1
  update-source Loopback0
  address-family ipv4 labeled-unicast
   route-policy nhs-ibgp-3107 out
   next-hop-self
  !
 !
!
mpls ldp
 mldp
  address-family ipv4
  !
 !
 router-id 10.100.1.3
 interface GigabitEthernet0/0/0/0
  address-family ipv4
   discovery transport-address interface
  !
 !
 interface GigabitEthernet0/0/0/1
  address-family ipv4
  !
 !

Nota: la afectar un aparato-escritura de la etiqueta toda o la ruta-directiva de la afectar un aparato-escritura de la etiqueta es necesaria. Si no las rutas etiquetadas del unicast no tienen una escritura de la etiqueta local que necesiten puesto que el ABR es el Next-Hop para las rutas reflejadas iBGP.

Nota: Redistribución de la base IGP (OSPF 2) en la agregación IGP (el OSPF1 o el OSPF 3) o no se realiza viceversa. Sin embargo, el prefijo del loopback del RR se debe saber en la agregación IGP también, de modo que el BGP en el router PE pueda mirar con el loopback del ABR/RR. Para esto, la redistribución de los Routeconectad en la agregación IGP se realiza con el RPL. Los Routeconectad redistribuidos se limitan al prefijo del loopback del ABR con el RPL.

Verificación

La herramienta del Output Interpreter (clientes registrados solamente) apoya los ciertos comandos show. Utilice la herramienta del Output Interpreter para ver una análisis de la salida del comando show.

Véase el cuadro 2 para verificar la operación del avión del control:

Figura 2

Véase el cuadro 3 para verificar los anuncios de la escritura de la etiqueta MPLS:

Figura 3

Véase el cuadro 4 para el verificar el reenvío de paquete:

‘Figura 4’

Éste es cómo los paquetes se remiten del PE1 al PE2. El prefijo del loopback del PE2 es 10.100.1.7/32, de modo que el prefijo esté de interés.

RP/0/0/CPU0:PE1#traceroute                                  
Protocol [ipv4]:
Target IP address: 10.100.1.7
Source address: 10.100.1.1
Numeric display? [no]:
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.7

 1  10.1.1.2 [MPLS: Labels 24000/24005 Exp 0] 439 msec  119 msec  109 msec
 2  10.1.2.3 [MPLS: Label 24005 Exp 0] 109 msec  109 msec  109 msec
 3  10.1.3.4 [MPLS: Labels 24001/24003 Exp 0] 99 msec  99 msec  149 msec
 4  10.1.4.5 [MPLS: Label 24003 Exp 0] 119 msec  119 msec  99 msec
 5  10.1.5.6 [MPLS: Label 24001 Exp 0] 109 msec  139 msec  99 msec
 6  10.1.6.7 109 msec  *  109 msec

La escritura de la etiqueta 24000 es la escritura de la etiqueta LDP aprendida del P2 para el prefijo 10.100.1.3/32. La escritura de la etiqueta 24005 es la escritura de la etiqueta del RFC 3107 BGP aprendida para el prefijo 10.100.1.7/32.

RP/0/0/CPU0:PE1#show route 10.100.1.7/32

Routing entry for 10.100.1.7/32
  Known via "bgp 1", distance 200, metric 0, [ei]-bgp, type internal
  BIER rid=0x0, flags=0x0, count=0
  Installed May 27 02:52:07.184 for 00:08:52
  Routing Descriptor Blocks
    10.100.1.3, from 10.100.1.3 <<< next-hop is ABR1
      Route metric is 0
  No advertising protos.
RP/0/0/CPU0:PE1#show cef 10.100.1.7/32  
10.100.1.7/32, version 89, internal 0x1000001 0x0 (ptr 0xa1470f74)
[1], 0x0 (0xa1456614), 0xa08 (0xa16181e0)
 Updated May 27 02:52:07.203
 Prefix Len 32, traffic index 0, precedence n/a, priority 4
   via 10.100.1.3, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0xa16806f4 0x0]
    recursion-via-/32
    next hop 10.100.1.3 via 24001/0/21
     local label 24003
     next hop 10.1.1.2/32 Gi0/0/0/0    labels imposed {24000 24005}
RP/0/0/CPU0:PE1#show bgp ipv4 unicast labels 
BGP router identifier 10.100.1.1, local AS number 1
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0000000   RD version: 44
BGP main routing table version 44
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        Rcvd Label      Local Label
*> 10.100.1.1/32      0.0.0.0         nolabel         3               
*>i10.100.1.7/32      10.100.1.3      24005           24003           

Processed 2 prefixes, 2 paths

Hay Penultimate Hop Popping (PHP) hacia ABR1.

RP/0/0/CPU0:P2#show mpls forwarding labels 24000
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
24000  Pop         10.100.1.3/32      Gi0/0/0/1    10.1.2.3        694765      

La escritura de la etiqueta 24005 se intercambia con la escritura de la etiqueta 24003 en ABR1.

RP/0/0/CPU0:ABR1#show bgp ipv4 unicast labels 
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: 60
BGP main routing table version 60
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        Rcvd Label      Local Label
*>i10.100.1.1/32      10.100.1.1      3               24003           
*>i10.100.1.7/32      10.100.1.5      24003           24005           

Processed 2 prefixes, 2 paths
RP/0/0/CPU0:ABR1#show mpls forwarding labels 24005
Wed May 27 04:08:24.255 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
24005  24003       10.100.1.7/32                   10.100.1.5      6347        

Hay PHP del P1 a ABR2.

RP/0/0/CPU0:P1#show mpls forwarding labels 24001
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
24001  Pop         10.100.1.5/32      Gi0/0/0/1    10.1.4.5        348835      

La escritura de la etiqueta BGP para el receivd de la ruta 10.100.1.7/32 del RFC 3107 por ABR2 del PE2 es 3. Ésta es la escritura de la etiqueta nula implícita que indica el PHP.

RP/0/0/CPU0:ABR2#show bgp ipv4 unicast labels 
BGP router identifier 10.100.1.5, local AS number 1
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0000000   RD version: 47
BGP main routing table version 47
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        Rcvd Label      Local Label
*>i10.100.1.1/32      10.100.1.3      24003           24005           
*>i10.100.1.7/32      10.100.1.7      3               24003           

Processed 2 prefixes, 2 paths

La escritura de la etiqueta 24003 se intercambia con la escritura de la etiqueta 24001 en ABR2.

RP/0/0/CPU0:ABR2#show mpls forwarding labels 24003
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
24003  24001       10.100.1.7/32      Gi0/0/0/0    10.1.5.6        403676      

Hay PHP del p3 al PE2.

RP/0/0/CPU0:P3#show mpls forwarding labels 24001
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
24001  Pop         10.100.1.7/32      Gi0/0/0/1    10.1.6.7        685191      
RP/0/0/CPU0:PE2#show bgp ipv4 unicast labels 
BGP router identifier 10.100.1.7, local AS number 1
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0000000   RD version: 42
BGP main routing table version 42
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        Rcvd Label      Local Label
*>i10.100.1.1/32      10.100.1.5      24005           24004           
*> 10.100.1.7/32      0.0.0.0         nolabel                       

Processed 2 prefixes, 2 paths

Troubleshooting

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

Información Relacionada


Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 119191