Multiprotocol Label Switching (MPLS) : MPLS

O comando traceroute no MPLS

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


Índice


Introdução

Este documento explica a maneira que o comando traceroute funciona em um ambiente de Multiprotocol Label Switching (MPLS).

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

  • Conhecimento básico de MPLS

Refira MPLS FAQ para novatos para mais informação.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

Convenções

Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.

Comando traceroute normal

Esta seção descreve como um comando traditional traceroute funciona. Este diagrama mostra um provedor de serviços setup onde roteador1 (r1) e Roteador4 (R4) é Roteadores da ponta de provedor (PE) e o roteador2 (R2) e o roteador3 (R3) é o fornecedor (P) Roteadores.

/image/gif/paws/26585/mpls_traceroute1.gif

Este exemplo conduz a um traceroute para o loopback 14 do R4 a partir de R1. O r1 usa uma datagrama do User Datagram Protocol (UDP) com um valor de porta do destino arbitrário maior de 32000. Se você seleciona tal alto valor para o número de porta, assegura-se de que tal porta não exista nos receptores intencionados. Põe esta datagrama em um pacote IP.

Nota: Em todo este documento, toda vez que um pacote de IP for mencionado, será um pacote de IP que contém o datagrama de UDP.

Esta é uma sequência de evento para um comando traceroute normal:

  1. O r1 envia o pacote IP com um endereço de destino de 14 e um Time to Live (TTL) de 1 através de sua relação eth1.

  2. O R2 recebe o pacote e nota que não é os receptores intencionados e o TTL do pacote é 1. Deixa cair o pacote e envia uma mensagem TTL expirado do Internet Control Message Protocol (ICMP) ao r1. O endereço de origem dessa mensagem ICMP é o endereço IP do R2 eth0 (o endereço da interface que recebeu o pacote original).

  3. No recibo do mensagem ICMP, o r1 envia um outro pacote IP destinado para 14 com um TTL de 2 através de sua relação eth1.

  4. O R2 recebe o pacote e nota que não é os receptores intencionados e os receptores intencionados podem ser alcançados com o R3. Decresce o TTL (2 a 1) e para a frente o pacote ao R3. O R3 recebe o pacote e vê que não é os receptores intencionados. O TTL é 1. Deixa cair o pacote e envia um mensagem ICMP TTL expirado ao r1 com seu endereço do eth0 como o endereço de origem.

  5. O r1 recebe o mensagem ICMP e envia um outro pacote IP a 14 através de sua relação eth1 com um valor TTL de 3. Na maneira, o R2 e o R3 decrescem o TTL e passam-no sobre ao R4. O R4 recebe o pacote, verifica se esse é o destinatário pretendido e tenta se conectar ao valor de porta no datagrama UDP. O R4 encontra que esta porta não existe e envia a uma porta ICMP o Mensagem de Erro inacessível ao r1.

    Como antes, o endereço de origem deste mensagem ICMP é eth0 do R4. O programa Traceroute agora tem todos os mensagens de erro ICMP com os endereços de origem correspondentes e tem a rota completa ao destino.

Comando traceroute MPLS

Considere isto a mesma encenação detalhado na seção de comando traceroute normal, a não ser que todo o Roteadores, r1 com o R4, faça agora o Label Switching em vez do encaminhamento de IP. A instalação do aparelho de teste é mostrada é este diagrama. Todas as relações mostradas no aparelho de teste estão na rede de 10.13.0.0.

mpls_traceroute2.gif

Com a finalidade deste documento, supõe isso:

  • O r1 usa uma etiqueta de 47 para alcançar o R4 e para a frente os pacotes ao R2.

  • O R2 usa uma etiqueta de 45 para alcançar o R4 e para a frente os pacotes ao R3.

  • R3 exibe o rótulo e encaminha o pacote para R4.

  • O R4 utiliza um rótulo de 28 para alcançar o R1 e encaminha pacotes para o R3.

  • O R3 usa uma etiqueta de 26 para alcançar o r1 e para a frente os pacotes ao R2.

  • O R2 estala a etiqueta e para a frente o pacote ao r1.

Estas etapas mostram a sequência de evento a fim conduzir um traceroute do r1 R4 ao laço de retorno 10.13.1.51.

  1. R1 envia um pacote comutado por rótulo com um rótulo 47 e um TTL 1 para R2. O campo TTL do pacote IP é copiado para o campo TTL do cabeçalho do rótulo.

  2. O R2 vê que não é os receptores intencionados e o TTL é 1. Deixa cair o pacote e cria um mensagem ICMP TTL expirado, como para um pacote IP regular. Neste caso, o pacote de mensagens de ICMP é gerado por extensões ICMP para o MPLS.

  3. O R2 adiciona a etiqueta 47 (o rótulo recebido que expirou) ao mensagem ICMP. Não envia o pacote ao r1 diretamente. Em lugar de, consulta sua base de informação de encaminhamento de rótulo (LFIB) e encontra-a que deve usar uma etiqueta de 45 para os pacotes recebidos com uma etiqueta de 47. Põe uma etiqueta de 45 sobre o pacote e envia o mensagem ICMP TTL expirado ao R3.

  4. O R3 preenche o rótulo e o envia para R4. O R4 identifica que o destino é R1, fornece um rótulo 28 para a mensagem e a envia por meio de R3 e R2 para R1.

  5. A mensagem de erro do ICMP viaja até a outra extremidade antes de ser enviada de volta para R1. Este exemplo fornece uma ilustração:

    /image/gif/paws/26585/mpls_traceroute3.gif

    Os pacotes aspirados na interface Ethernet no R4 confirmam etapas 1 – 5. Na saída do sniffer, o quadro 1 é o pacote de entrada e o quadro 2 é o pacote externo do R4. A saída é formatada para refletir esta discussão e os pontos a serem considerados estão em negrito.

    Frame 1 (182 on wire, 182 captured)
    Ethernet II 
    Destination: 00:04:4e:7a:74:00 (Cisco_7a:74:00)
    Source: 00:03:fd:1c:86:84 (Cisco_1c:86:84)
    Type: IP (0x0800)
    Internet Protocol 
    Version: 4 
    Header length: 20 bytes 
    Time to live: 254 
    Protocol: ICMP (0x01) 
    Header checksum: 0x1b8e (correct)
    Source: 10.13.2.33 (10.13.2.33)
    Destination: 10.13.2.34 (10.13.2.34) 
    Internet Control Message Protocol
    Type: 11 (Time-to-live exceeded) 
    Code: 0 (TTL equals 0 during transit)
    Checksum: 0x0c88 (correct) 
    Data (140 bytes) 
    04500 001c 9e19 0000 0111 044a 0a0d 0222E..........J..."
    100a0d 0133 989d 829a 0008 cd37 0000 0000...3.......7....  
    200000 0000 0000 0000 0000 0000 0000 0000................  
    300000 0000 0000 0000 0000 0000 0000 0000................ 
    400000 0000 0000 0000 0000 0000 0000 0000................ 
    500000 0000 0000 0000 0000 0000 0000 0000................
    600000 0000 0000 0000 0000 0000 0000 0000................ 
    700000 0000 0000 0000 0000 0000 0000 0000................ 
    802000 edf2 0008 0101 0002 f101........... 
    
    Frame 2 (186 on wire, 186 captured) 
    Ethernet II 
    Destination: 00:03:fd:1c:86:84 (Cisco_1c:86:84)
    Source: 00:04:4e:7a:74:00 (Cisco_7a:74:00) 
    Type: MPLS label switched packet (0x8847)
    MultiProtocol Label Switching Header 
    MPLS Label: Unknown (28) 
    MPLS Experimental Bits: 6 
    MPLS Bottom Of Label Stack: 1 
    MPLS TTL: 253 
    Internet Protocol 
    Version: 4 
    Header length: 20 bytes 
    Time to live: 253 
    Protocol: ICMP (0x01)
    Header checksum: 0x1c8e (correct)
    Source: 10.13.2.33 (10.13.2.33) 
    Destination: 10.13.2.34 (10.13.2.34) 
    Internet Control Message Protocol 
    Type: 11 (Time-to-live exceeded) 
    Code: 0 (TTL equals 0 during transit)
    Checksum: 0x0c88 (correct) 
    Data (140 bytes) 
    04500 001c 9e19 0000 0111 044a 0a0d 0222E..........J..." 
    100a0d 0133 989d 829a 0008 cd37 0000 0000...3.......7.... 
    200000 0000 0000 0000 0000 0000 0000 0000................ 
    300000 0000 0000 0000 0000 0000 0000 0000................ 
    400000 0000 0000 0000 0000 0000 0000 0000................ 
    500000 0000 0000 0000 0000 0000 0000 0000................ 
    600000 0000 0000 0000 0000 0000 0000 0000................ 
    700000 0000 0000 0000 0000 0000 0000 0000................ 
    802000 edf2 0008 0101 0002 f101........... 
    

    No quadro 1 da saída, o primeiro pacote recebido pelo R4 é o mensagem ICMP TTL expirado de R2 (10.13.2.33, a relação em que o pacote original foi recebido) ao r1 (10.13.2.34). Na porção de dados do mensagem ICMP, nos bytes 0x89 e na primeira mordidela de 0x8A, a etiqueta MPLS (20 bytes) é expirada e seu valor é 0x02F, ou 47. Este é o rótulo recebido do pacote com um TTL de 1. R2 adiciona esta etiqueta no mensagem de erro ICMP.

    No quadro 2 da saída, o tipo é mostrado como o pacote comutado da etiqueta MPLS, assim que significa que é um pacote de MPLS. O R4 põe uma etiqueta de 28 para quadro 1 e para a frente o ao r1 através do trajeto de switching de rótulo. O cabeçalho de MPLS no quadro está em corajoso. Igualmente, se você refere a parcela TTL do pacote, no quadro 1 seu valor é 254, e no quadro 2 é 253. O R4 decresceu-o por 1.

  6. O r1 recebe o mensagem ICMP e envia um outro pacote com uma etiqueta de 47 e um TTL de 2 ao R2. O R2 troca os rótulos, diminui o TTL (de 2 para 1) e encaminha para o R3. Como em etapa 2, o R3 envia um mensagem ICMP TTL expirado adicionado com o rótulo recebido que expirou ao R4, e o R4 a seguir envia-o de volta ao r1.

    O sniffer output no R4, mostrado aqui, confirma a etapa 6:

    Frame 3 (182 on wire, 182 captured)
    Ethernet II 
    Destination: 00:04:4e:7a:74:00 (Cisco_7a:74:00) 
    Source: 00:03:fd:1c:86:84 (Cisco_1c:86:84) 
    Type: IP (0x0800) 
    Internet Protocol 
    Version: 4 
    Header length: 20 bytes 
    Time to live: 255 
    Protocol: ICMP (0x01) 
    Header checksum: 0x146f (correct) 
    Source: 10.13.3.134 (10.13.3.134) 
    Destination: 10.13.2.34 (10.13.2.34) 
    Internet Control Message Protocol 
    Type: 11 (Time-to-live exceeded) 
    Code: 0 (TTL equals 0 during transit)
    Checksum: 0x0c88 (correct) 
    Data (140 bytes) 
    04500 001c 9e1b 0000 0211 0348 0a0d 0222E..........H..."  
    100a0d 0133 9292 829b 0008 d341 0000 0000...3.......A.... 
    200000 0000 0000 0000 0000 0000 0000 0000................ 
    300000 0000 0000 0000 0000 0000 0000 0000................ 
    400000 0000 0000 0000 0000 0000 0000 0000................ 
    500000 0000 0000 0000 0000 0000 0000 0000................ 
    600000 0000 0000 0000 0000 0000 0000 0000................ 
    700000 0000 0000 0000 0000 0000 0000 0000................
    802000 0df3 0008 0101 0002 d101........... 
    
    Frame 4 (186 on wire, 186 captured) 
    Ethernet II 
    Destination: 00:03:fd:1c:86:84 (Cisco_1c:86:84) 
    Source: 00:04:4e:7a:74:00 (Cisco_7a:74:00) 
    Type: MPLS label switched packet (0x8847) 
    MultiProtocol Label Switching Header 
    MPLS Label: Unknown (28) 
    MPLS Experimental Bits: 6 
    MPLS Bottom Of Label Stack: 1 
    MPLS TTL: 254 
    Internet Protocol 
    Version: 4 
    Header length: 20 bytes 
    Time to live: 254 
    Protocol: ICMP (0x01) 
    Header checksum: 0x156f (correct) 
    Source: 10.13.3.134 (10.13.3.134) 
    Destination: 10.13.2.34 (10.13.2.34) 
    Internet Control Message Protocol 
    Type: 11 (Time-to-live exceeded) 
    Code: 0 (TTL equals 0 during transit) 
    Checksum: 0x0c88 (correct) 
    Data (140 bytes) 
    04500 001c 9e1b 0000 0211 0348 0a0d 0222E..........H..."
    100a0d 0133 9292 829b 0008 d341 0000 0000...3.......A....  
    200000 0000 0000 0000 0000 0000 0000 0000................ 
    300000 0000 0000 0000 0000 0000 0000 0000................ 
    400000 0000 0000 0000 0000 0000 0000 0000................  
    500000 0000 0000 0000 0000 0000 0000 0000................ 
    600000 0000 0000 0000 0000 0000 0000 0000................ 
    700000 0000 0000 0000 0000 0000 0000 0000................ 
    802000 0df3 0008 0101 0002 d101........... 
    

    Do quadro 3 output, você pode determinar que o quadro 3 é o pacote ICMP do R3 ao r1. O endereço de origem (10.13.3.134) é o endereço em que o pacote original é recebido. A mensagem de erro do ICMP contém as informações sobre o rótulo expirado no final da porção de dados. Seu valor é 0x02d, que é 45. O quadro 4 é o pacote de MPLS que é enviado do R4 ao r1.

  7. Após recepção do mensagem ICMP, o r1 envia um outro pacote com uma etiqueta de 47 e um TTL de 3. Em sua maneira, o R2 e o R3 decrescem o TTL e encaminham o pacote ao R4. O R4 observa que ele é o receptor pretendido e encontra a porta do datagrama de UDP inalcançável. Envia um mensagem Unreachable da porta ICMP ao r1 com o R3 e o R2.

    Nesta saída do sniffer, os pontos importantes a ser notados estão no negrito:

    Frame 5 (60 on wire, 60 captured)
    Ethernet II 
    Destination: 00:04:4e:7a:74:00 (Cisco_7a:74:00)
    Source: 00:03:fd:1c:86:84 (Cisco_1c:86:84) 
    Type: IP (0x0800) 
    Trailer: 00000000000000000000000000000000... 
    Internet Protocol 
    Version: 4 
    Header length: 20 bytes 
    Time to live: 1 
    Protocol: UDP (0x11) 
    Header checksum: 0x0446 (correct) 
    Source: 10.13.2.34 (10.13.2.34)
    Destination: 10.13.1.51 (10.13.1.51) 
    User Datagram Protocol 
    Source port: 37647 (37647) 
    Destination port: 33436 (33436) 
    Length: 8 
    Checksum: 0xd2c3 (correct) 
    
    Frame 6 (74 on wire, 74 captured) 
    Ethernet II 
    Destination: 00:03:fd:1c:86:84 (Cisco_1c:86:84) 
    Source: 00:04:4e:7a:74:00 (Cisco_7a:74:00)
    Type: MPLS label switched packet (0x8847) 
    MultiProtocol Label Switching Header 
    MPLS Label: Unknown (28) 
    MPLS Experimental Bits: 6 
    MPLS Bottom Of Label Stack: 1 
    MPLS TTL: 255 
    Internet Protocol 
    Version: 4 
    Header length: 20 bytes 
    Time to live: 255 
    Protocol: ICMP (0x01) 
    Header checksum: 0x5694 (correct) 
    Source: 10.13.5.10 (10.13.5.10) 
    Destination: 10.13.2.34 (10.13.2.34) 
    Internet Control Message Protocol 
    Type: 3 (Destination unreachable) 
    Code: 3 (Port unreachable) 
    Checksum: 0x1485 (correct)
    Data (28 bytes) 
    04500 001c 9e1d 0000 0111 0446 0a0d 0222E..........F..." 
    100a0d 0133 930f 829c 0008 d2c3...3........ 
    

    O quadro 5 mostra que a datagrama de UDP está enviada pelo r1 ao R4. O valor de porta do destino na datagrama de UDP é 33436 (maior de 32000), como discutido na seção de comando traceroute normal.

    No quadro 6, o R4 envia a um destino o tipo inacessível ICMP e uma porta código inacessível ao r1. Toda os mensagens ICMP mais adiantados do R2 e do R3 tiveram o tipo conjunto de campo enquanto o tempo ao vivo excedeu. A saída do comando extended traceroute é mostrada aqui:

    R1#traceroute 
    Protocol [ip]:  
    Target IP address: 10.13.1.51 
    Source address: 10.13.2.34 
    Numeric display [n]:  
    Timeout in seconds [3]:
    Probe count [3]: 1 
    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.13.1.51
    1 10.13.2.33 [MPLS: Label 47 Exp 0] 0 msec 
    2 10.13.3.134 [MPLS: Label 45 Exp 0] 0 msec
    3 10.13.5.10 4 msec 
    R1# 
    

    À revelia, o comando traceroute usa três pontas de prova para cada valor TTL. Envia três pacotes com um TTL de 1, três pacotes com um TTL de 2, e assim por diante. Este comando traceroute é emitido com uma única ponta de prova, assim que é fácil seguir e debugar. Como visto na saída, o comando traceroute mostra o valor de rótulo expirado, também.

Comando no mpls ip propagate-ttl

Quando você configura o MPLS, uma etiqueta está imposta pelo Label Switch Router (LSR) quando um pacote IP é enviado no domínio de MPLS. Esse rótulo deve ter um valor no campo TTL. À revelia, o LSR lê o campo TTL no cabeçalho IP do pacote recebido, decresce-o por 1, e copia-o o que é deixado no campo TTL do cabeçalho de MPLS. O núcleo LSR olha somente a etiqueta a mais mais alta. Se o valor TTL não alcança 0, o pacote está enviado. O LSR da ponta de egresso que mostra o rótulo, copia o que é deixado no campo TTL do rótulo para o campo TTL do cabeçalho IP e, em seguida, encaminha o pacote IP para fora do domínio MPLS.

Este comportamento pode ser mudado com nenhum comando configuration dos mpls IP propagação-TTL. O LSR de extremidade de ingresso utiliza o valor 255 como o valor TTL no rótulo, ao impô-lo. A extremidade de saída LSR não copia o valor TTL da etiqueta no cabeçalho IP quando a etiqueta é acionada rapidamente. O resultado de rede é que o cabeçalho IP TTL não reflete os saltos tomados através do núcleo MPLS; assim quando os clientes executam um traceroute de um lado de sua rede a um outro lado, o Roteadores na rede central MPLS não aparece na informação de traceroute. É importante desabilitar a propagação TTL no ingresso e na borda LSR da saída. Se não, o cabeçalho IP pode ter um valor mais alto quando sae do domínio de MPLS do que teve quando entrou n.

Isso fornece um exemplo:

mpls_traceroute4.gif

O C1 executa um traceroute ao C2. Com a operação da propagação TTL do IP padrão, o traceroute no C1 olha como este:

C1#traceroute C2.cust.com

Tracing the route to C2.cust.com
  1 A.provider.net       44 msec  36 msec  32 msec
  2 B provider.net      164 msec  132 msec  128 msec
  3 C.provider.net	148 msec  156 msec  152 msec
  4 C2.cust.com         180 msec  *  181 msec

Essa saída ilustra o comportamento traceroute típico na rede MPLS. Porque o encabeçamento da etiqueta de um pacote rotulado leva o valor TTL do pacote IP original, as rotas no trajeto deixam cair os pacotes para que o TTL é excedido. Assim, traceroute mostra todos os roteadores do caminho. O comportamento é este:

  1. O primeiro pacote é um pacote IP com o TTL igual a 1. roteadores que A decresce o TTL e deixa cair o pacote porque alcança 0. Uma mensagem TTL-excedida ICMP é enviada à fonte.

  2. O segundo pacote enviado é um pacote IP com TTL igual a 2. O Roteador A reduz o TTL, rotula o pacote e o encaminha para o Roteador B.

  3. O roteador B diminui o valor de TTL no cabeçalho do MPLS, descarta o pacote e envia uma mensagem de TTL de ICMP excedido para a origem. Como o que foi cancelado foi um pacote MPLS, o endereço de devolução da mensagem ICMP deve ser derivado do endereço de origem do cabeçalho IP, dentro do pacote MPLS. Mas esse endereço IP de Um ou Mais Servidores Cisco ICM NT realmente não pode ser sabido ao roteador B, assim que o roteador B encaminha os mensagens ICMP ao longo do mesmo caminho comutado por rótulo (LSP) que o pacote descartado viajava (na direção no sentido de roteador C). No fim do LSP, a etiqueta é removida e os mensagens ICMP são encaminhados de acordo com o endereço de destino no cabeçalho IP (para o roteador C1).

  4. O terceiro pacote (TTL é 3) passa por um processamento parecido com o dos pacotes anteriores, exceto que o roteador C é quem está descartando o pacote agora, com base no TTL do cabeçalho IP. O Roteador B, devido ao Penultimate Hop Popping (PHP), removeu anteriormente o rótulo, e o TTL foi copiado no cabeçalho IP.

  5. O quarto pacote (TTL é 4) alcança o destino final onde o TTL do cabeçalho IP é examinado.

Se a propagação TTL IP é desabilitada com o comando no mpls ip propagate-ttl no modo de configuração global, o valor TTL não está copiado no cabeçalho IP e o traceroute no C1 ao C2 olha como este:

C1#traceroute C2.cust.com

Tracing the route to C2.cust.com
  1 A.provider.net   44 msec  36 msec  32 msec
  2 C2.cust.com     180 msec  *  181 msec

Quando o comando traceroute é usado nesta situação, as respostas de ICMP estão recebidas somente daquele Roteadores que vê o TTL real armazenado no cabeçalho IP. Nesta situação, o roteador C1 está executando um comando traceroute (como mostrado), mas os roteadores centrais não copiam o TTL a e da etiqueta. Conduz a este comportamento:

  1. O primeiro pacote é um pacote IP com o TTL igual a 1. roteadores que A decresce o TTL, deixa cair o pacote, e envia uma mensagem TTL-excedida ICMP à fonte.

  2. O segundo pacote é um pacote IP com o TTL igual ao roteador que 2. A decresce o TTL, etiqueta o pacote, e ajusta o TTL no cabeçalho de MPLS a 255.

  3. O theTTL dos decremetns do roteador B no cabeçalho de MPLS a 254, remove a etiqueta MPLS, e copia o valor TTL no cabeçalho de MPLS no campo TTL do cabeçalho IP.

  4. O C do roteador decresce o IP TTL e envia o pacote ao roteador de próximo salto C2. O pacote atingiu o destino final.

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.


Informações Relacionadas


Document ID: 26585