Multiprotocol Label Switching (MPLS) : MPLS

Exemplo unificado da configuração de MPLS

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback

Introdução

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

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 não se restringe a versões de software e hardware específicas.

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.

Background

A finalidade do MPLS unificado é toda sobre a escamação. A fim escalar uma rede MPLS, onde haja uns tipos diferentes de patforms e uns 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) o 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.

Arquitetura

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, assim que significa que o BGP envia o prefixo do IPv4 + a etiqueta (AFI/SAFI 1/4).

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. Para que isto trabalhe, um botão novo é precisado.

Somente os RR precisam um software mais novo 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 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 rotas iBGP refletidas, você deve configurar o comando all do seguinte-salto-auto do vizinho x.x.x.x.

Configurar

Esta é a configuração dos roteadores de PE e dos ABR para a encenação 2.

Nota: O toplogy é mostrado em figura 2. O exemplo de serviço é o xconnect (MPLS L2VPN). Entre os roteadores de PE e os ABR, há BGP para o IPv4 + a etiqueta.

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: A redistribução do núcleo IGP (OSPF 1) na agregação IGP (ospf2 ou OSPF 3) é executada com um mapa de rotas. Este mapa de rotas permite que os prefixos do laço de retorno do RR redistribuam na agregação IGP. A razão para esta é que o prefixo do laço de retorno do RR está anunciado somente diretamente no núcleo IGP (OSPF 1). 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 RR.

Verificar

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

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

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

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

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: Mostras do salto 5? 5 * * *?. Isto é porque o roteador P2 não tem uma rota para o endereço IP de origem 10.100.1.4 (PE1) do traceroute. Assim, o roteador P2 não pode enviar o Mensagem de Erro do Internet Control Message Protocol (ICMP) de volta ao PE1. Isto é normal, porque o ponto do MPLS unificado é não ter os prefixos do laço de retorno de todos os roteadores de PE em uma peça da agregação a aparecer nos IGP das outras peças da agregação. O roteador P2 não tenta encaminhar o mensagem de erro ICMP com a pilha de rótulo original. Isto é porque a pilha de rótulo original tem somente uma etiqueta. Se esta pilha de rótulo original do pacote tem dois ou mais etiquetas, o mensagem de erro ICMP é encaminhado ao longo do LSP e pode receber de volta à fonte do traceroute. Se a pilha de rótulo original tem somente uma etiqueta, o roteador que gerencie o mensagem de erro ICMP tenta uma consulta da rota e tenta-a distribui-la com uso da tabela de roteamento (sem o uso da pilha de rótulo original).

P2#show ip route 10.100.1.4
% Subnet not in table

Troubleshooting

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

Informações Relacionadas



Document ID: 116127