Colaboração : Multiprotocol Label Switching (MPLS)

Configurar o MPLS unificado no Cisco IOS XR

18 Junho 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (21 Abril 2016) | Feedback

Introdução

Este documento descreve a finalidade do Multiprotocol Label Switching (MPLS) unificado e fornece um exemplo de configuração no ® XR do Cisco IOS.

Contribuído por Luc De Ghein, engenheiro de TAC da Cisco.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

Este documento é específico ao Cisco IOS XR, mas não é restringido a um software release ou a um hardware específico.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Informações de Apoio

A finalidade do MPLS unificado é toda sobre a escamação. A fim escalar uma rede MPLS, onde haja uns tipos diferentes de Plataformas e de serviços nas partes da rede, faz o sentido rachar a rede em áreas diferentes. Um projeto típico introduz uma hierarquia que tenha um núcleo no centro com agregação no lado. A fim escalar, lá pode ser os protocolos Interior Gateway Protocols diferentes (IGP) no núcleo contra a agregação. A fim escalar, você não pode distribuir os prefixos IGP de um IGP no outro. Se você não distribui os prefixos IGP de um IGP no outro IGP, os caminhos comutados por rótulo fim-a-fim (LSP) não são possíveis.

A fim entregar os serviços MPLS fim-a-fim, você precisa o LSP de ser fim-a-fim. O objetivo é manter os serviços MPLS (MPLS VPN, MPLS L2VPN) porque são, mas introduzir a maior escalabilidade. A fim fazer isto, mova alguns dos prefixos IGP no Border Gateway Protocol (BGP) (os prefixos do laço de retorno do Roteadores da ponta de provedor (PE)), que distribuem então os prefixos fim-a-fim.

Configurar

Nota: Use a Command Lookup Tool ( somente clientes registrados) para obter mais informações sobre os comandos usados nesta seção.

Diagrama de Rede

Figura 1 mostra uma rede com três áreas diferentes: um núcleo e duas áreas da agregação no lado. A cada área executa seu próprio IGP, sem a redistribução entre eles no roteador de borda de área (ABR). O uso do BGP é precisado a fim fornecer um MPLS fim-a-fim LSP. O BGP anuncia os laços de retorno dos roteadores de PE com uma etiqueta através do domínio inteiro, e fornece um LSP fim-a-fim. O BGP é distribuído entre os PE e os ABR com o RFC 3107 (unicast etiquetado BGP), assim que significa que o BGP envia o prefixo do IPv4 + a etiqueta (identificador da família do endereço (AFI) 1 e identificador subsequente da família do endereço (SAFI) 4).

Figura 1

Desde que as peças do núcleo e da agregação da rede são integradas e os LSP fim-a-fim são fornecidos, a solução MPLS unificada é referida igualmente como “o MPLS sem emenda.”

As novas tecnologias ou os protocolos não são usados aqui, somente MPLS, protocolo de distribuição de rótulo (LDP), IGP, e BGP. Desde que você não quer distribuir os prefixos do laço de retorno dos roteadores de PE de uma parte da rede em uma outra parte, você precisa de levar os prefixos no BGP. O internal border gateway protocol (iBGP) é usado em uma rede, assim que no endereço de próximo salto dos prefixos é os prefixos do laço de retorno dos roteadores de PE, que não é sabido pelo IGP nas outras partes da rede. Isto significa que o endereço de próximo salto não pode ser usado ao recurse a um prefixo IGP. O truque é fazer os refletores de rota dos roteadores ABR (RR) e ajustar o salto seguinte ao auto, mesmo para os prefixos refletidos do iBGP.

Somente os RR precisam o software de apoiar esta arquitetura. Desde que os RR anunciam os prefixos BGP com o salto seguinte ajustado a se, atribuem uma etiqueta local MPLS aos prefixos BGP. Isto significa que no plano dos dados, os pacotes enviados nestes LSP fim-a-fim têm uma etiqueta extra MPLS na pilha de rótulo. Os RR estão no trajeto de encaminhamento.

Nota: Sobre esta arquitetura, todo o serviço MPLS é proporcionado. Por exemplo, o MPLS VPN do serviço ou o MPLS L2VPN são fornecidos entre os roteadores de PE. A diferença no plano dos dados para estes pacotes é que têm agora três etiquetas na pilha de rótulo, visto que tiveram duas etiquetas na pilha de rótulo quando o MPLS unificado não foi usado.

Há dois cenários possíveis:

  • O ABR não ajusta o salto seguinte ao auto para os prefixos anunciados (refletido pelo BGP) pelo ABR na agregação parte da rede. Devido a isto, o ABR precisa de redistribuir os prefixos do laço de retorno dos ABR do núcleo IGP na agregação IGP. Se isto é feito, há ainda uma escalabilidade. Somente os prefixos do laço de retorno ABR (do núcleo) precisam de ser anunciados na peça da agregação, não os prefixos do laço de retorno dos roteadores de PE das peças remotas da agregação.
  • O ABR ajusta o salto seguinte ao auto para os prefixos anunciados (refletido pelo BGP) pelo ABR na divisória da agregação devido a este, o ABR não precisa de redistribuir os prefixos do laço de retorno dos ABR do núcleo IGP na agregação IGP.

Em ambas as encenações, o ABR ajusta o salto seguinte ao auto para os prefixos anunciados (refletido pelo BGP) pelo ABR da agregação parte da rede na divisória do núcleo. Se isto não é feito, o ABR precisa de redistribuir os prefixos do laço de retorno dos PE da agregação IGP no núcleo IGP. Se isto é feito, não há nenhuma escalabilidade.

A fim ajustar o salto seguinte ao auto para o iBGP refletido etiquetou rotas do unicast, você deve configurar a língua da política da rota (RPL) nos ABR.

Estas soluções não trabalham a fim permitir o RFC 3107 no Cisco IOS XR:

  • o seguinte-salto-auto não trabalha.

    Por exemplo:

    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
      !
  • O RPL com auto do salto seguinte do grupo não trabalha.

    Por exemplo:

    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
  • ajuste o salto seguinte ao endereço de peer não é um operador válido para o ponto de anexo.

    Por exemplo:

    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

A única solução que trabalha é ajustar para fora o endereço de próximo salto a um endereço IP válido, ter o salto-auto seguinte, e ter reforçar-alterações da política do iBGP.

Por exemplo:

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

Configuração no 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
  !
 !
!

Configuração em 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: a atribuir-etiqueta todas ou a rota-política da atribuir-etiqueta são precisadas. Se não as rotas etiquetadas do unicast não têm uma etiqueta local que precisem desde que o ABR é o salto seguinte para as rotas refletidas iBGP.

Nota: A redistribução do núcleo IGP (OSPF2) na agregação IGP (OSPF1 ou OSPF 3) ou não é executada vice-versa. Contudo, o prefixo do laço de retorno do RR deve ser sabido na agregação IGP igualmente, de modo que o BGP no roteador de PE possa espreitar com o laço de retorno do ABR/RR. Para isto, a redistribução das rotas conectadas na agregação IGP é executada com o RPL. As rotas conectadas redistribuídas são limitadas ao prefixo do laço de retorno do ABR com RPL.

Verificar

A ferramenta Output Interpreter (clientes registrados somente) apoia determinados comandos de exibição. Use a ferramenta Output Interpreter a fim ver uma análise do emissor de comando de execução.

Veja figura 2 a fim verificar a operação do plano do controle:

Figura 2

Veja figura 3 a fim verificar as propagandas da etiqueta MPLS:

Figura 3

Veja figura 4 a verificação o encaminhamento de pacote:

Figura 4

Isto é como os pacotes são enviados do PE1 ao PE2. O prefixo do laço de retorno do PE2 é 10.100.1.7/32, de modo que o prefixo seja do interesse.

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

A etiqueta 24000 é a etiqueta LDP aprendida do P2 para o prefixo 10.100.1.3/32. A etiqueta 24005 é a etiqueta do RFC 3107 BGP aprendida para o prefixo 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

Há um Penultimate Hop Popping (PHP) para 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      

A etiqueta 24005 é trocada com etiqueta 24003 em 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        

Há PHP do 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      

A etiqueta BGP para o receivd da rota 10.100.1.7/32 do RFC 3107 por ABR2 do PE2 é 3. Esta é a etiqueta nula implícita que indica o 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

A etiqueta 24003 é trocada com etiqueta 24001 em 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      

Há PHP do P3 ao 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

Atualmente, não existem informações disponíveis específicas sobre Troubleshooting para esta configuração.

Informações Relacionadas


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 119191