Acredito que a maioria aqui já está familiarizada com os conceitos e operação do “traceroute” - comando utilizado para mapear o caminho de camada 3 (rede) que um pacote de dados atravessa. Outro dia, porém, me ocorreu que poucos devem conhecer a aplicação do mesmo comando para mapeamento de caminhos em camada 2 (enlace). Estou certo?

O L2 traceroute pode ser utilizado para identificar o trajeto percorrido por um pacote de dados na camada 2. Até onde eu sei (ao menos no que se refere à experiência com este recurso), L2 traceroute encontra-se disponível em alguns (não em todos) switches Cisco. Não estou certo se outros fabricantes implementam - e como eles implementam - este recurso.

Basicamente, o L2 traceroute permite à um switch identificar o caminho físico tomado por um pacote partindo de um endereço MAC de origem até um endereço MAC de destino, e apenas endereços MAC do tipo unicast podem ser usados (broadcast e multicast não são suportados). Para determinação do caminho, as informações das tabelas MAC dos switches intermediários é usada. Um dos problemas é que, se no meio do caminho existir algum switch que não suporte L2 traceroute, provavelmente um timeout será recebido como resposta. Outra limitação é que se você deseja identificar o caminho de um host conectado ao switch origem até um host conectado à um switch destino, o L2 traceroute irá traçar a rota apenas do switch origem até o switch destino. Ou seja, apenas um trace parcial é apresentado (bom, melhor do que nada, certo?).

Requisitos:

  1. Antes de mais nada, é vital que o CDP esteja habilitado em todos os switches existentes no caminho à ser mapeado;
  2. Todos os switches existentes no caminho devem ter conectividade L3 (ex: IP de gerência configurado e acessível). Isso permite que os comandos sejam executados até de um switch que não se encontre no caminho entre o endereço MAC de origem e o de destino.
  3. O número máximo de hops suportado é 10;
  4. Ambos os comandos “traceroute mac” ou “traceroute mac ip” são suportados. O primeiro apresenta o caminho L2 entre os dois endereços MAC (origem e destino). O segundo apresenta o caminho L2 quando o endereço IP de origem e destino encontram-se na mesma subrede. Quando o endereço IP é especificado, o switch utiliza o ARP para associar o endereço IP ao endereço MAC correspondente. É importante ressaltar que apenas quando o MAC origem e o MAC destino pertencerem à mesma VLAN é que o caminho físico será mapeado.
  5. Se múltiplos dispositivos encontram-se conectados à um HUB, e este à um switch (via uma única porta, por exemplo), o comando L2 traceroute não será suportado.

Como utilizar:

A utilização do L2 traceroute é relativamente simples, e muito semelhante ao L3 traceroute.

Switch# traceroute mac {source-mac-address} {destination-mac-address}

ou

Switch# traceroute mac ip {source-mac-address} {destination-mac-address}

Exemplo 1:

Switch# traceroute mac 0000.0201.0601 0000.0201.0201

Source 0000.0201.0601 found on con6[WS-C2950G-24-EI] (2.2.6.6)  

con6 (2.2.6.6) :Fa0/1 => Fa0/3  

con5                 (2.2.5.5        )  :    Fa0/3 => Gi0/1  

con1                 (2.2.1.1        )  :    Gi0/1 => Gi0/2  

con2                 (2.2.2.2        )  :    Gi0/2 => Fa0/1  

Destination 0000.0201.0201 found on con2[WS-C3550-24] (2.2.2.2)  

Layer 2 trace completed

Exemplo 2:

Switch# traceroute mac ip 2.2.66.66 2.2.22.22 detail  

Translating IP to mac .....  

2.2.66.66 => 0000.0201.0601  

2.2.22.22 => 0000.0201.0201

Source 0000.0201.0601 found on con6[WS-C2950G-24-EI] (2.2.6.6)  

con6 / WS-C2950G-24-EI / 2.2.6.6 :  

        Fa0/1 [auto, auto] => Fa0/3 [auto, auto]  

con5 / WS-C2950G-24-EI / 2.2.5.5 :  

        Fa0/3 [auto, auto] => Gi0/1 [auto, auto]  

con1 / WS-C3550-12G / 2.2.1.1 :  

        Gi0/1 [auto, auto] => Gi0/2 [auto, auto]  

con2 / WS-C3550-24 / 2.2.2.2 :  

        Gi0/2 [auto, auto] => Fa0/1 [auto, auto]  

Destination 0000.0201.0201 found on con2[WS-C3550-24] (2.2.2.2)  

Layer 2 trace completed.

É isso! Espero que seja útil para alguns! Lembrando que L2 traceroute não é suportado em todos os switches Cisco (especialmente os mais antigos).

Abs!

Marco Filippetti

Popularity: 5% [?]

Share
Leia também:

19 Respostas para “Mapeando o caminho em camada 2 (L2 Traceroute)”
  1. DecoNo Gravatar diz:

    Ahhhhhhh! dessa eu não sabia! Legal Marco, muito bom saber. Aliás não tinha pensado ainda em um traceroute layer 2 ;)

    Parabéns, e vivendo e aprendendo novamente!

    abs!

  2. Sérgio F.SNo Gravatar diz:

    Ha haha, eu também não sabia, para falar a verdade, nunca nem imaginei que era possível um tracer de L2. Dica muito boa hem Marco.

    Obrigado pelo post.

  3. Fabio RibeiroNo Gravatar diz:

    Também não conhecia…mais uma dica excelente…vou testar segunda-feira na empresa.

    Parabéns e obrigado!

    Abs!

  4. charlesrochaNo Gravatar diz:

    Valeu marco boa dica!

  5. charlesrochaNo Gravatar diz:

    boa dica marco valeu!

  6. Alexandre AvelarNo Gravatar diz:

    Tb não conhecia…
    no mínimo é interessante.

  7. cieraisNo Gravatar diz:

    Show de bola… não conhecia essa função! apenas para curiosidade, outros fabricantes utilizam um padrão aberto chamado de LLDP….

  8. CleberNo Gravatar diz:

    Vlw Marco por mais essa informação, não passava pela minha cabeça um tracer de L2

  9. vstrabelloNo Gravatar diz:

    Eu tinha lido isso uma vez em outro fórum, mas nunca cheguei a entender ele direito :P

  10. robk9eNo Gravatar diz:

    Muito bom,encontrei esse artigo traduzido pelo nosso amigo Vinicius de Lima da Comunidade CCNA BRAsil do orkut…

    Parabéns!

    http://www.megaupload.com/?d=23NVVBLH

  11. Marcelo NunesNo Gravatar diz:

    Muito boa a dica. Valeu.

  12. William LanzarinNo Gravatar diz:

    Show de bola Marco, obrigado por compartlhar ;D

    robk9e, obrigado por compartilhar este artigo também, lá ele explica mais detalhadamente como funciona.

    Abraços

  13. douglasfcNo Gravatar diz:

    Tb nao conhecia esta funcionalidade.

    Partindo deste principio, existe algum software que faz o desenho da minha rede, mostrado as ligações entre swtiches e tals?

  14. Israel SilvaNo Gravatar diz:

    Obrigado Marco !!!

  15. André OrtegaNo Gravatar diz:

    Legal mesmo.
    Tinha feito um post sobre isso a um tempo atrás http://www.brainwork.com.br/blog/2009/12/29/identificando-o-caminho-fsico/
    Valeu.

  16. Fernando GuerreiroNo Gravatar diz:

    Fazem uns dois meses que eu estou tentando achar uma solução como essa!!!!! Vai me ajudar mtu!!! mtu bom! obrigado!

  17. Luciane de MedeirosNo Gravatar diz:

    Marco,

    Seguem algumas informações interessantes sobre o Post bem pontuado por você:

    - Os comandos foram introduzidos na Release 12.1(14)EA1

    - A feature traceroute Layer 2 é suportada pelos seguintes switches:

    Catalyst 2950 switches running Release 12.1(12c)EA1 or later

    Catalyst 2955 switches running Release 12.1(12c)EA1 or later

    Catalyst 2970 switches running Release 12.1(14)EA1 or later

    Catalyst 3550 switches running Release 12.1(12c)EA1 or later

    Catalyst 3750 switches running Release 12.1(14)EA1 or later

    Catalyst 4000 switches running Catalyst software Release 6.2 or later for the supervisor engine

    Catalyst 5000 switches running Catalyst software Release 6.1 or later for the supervisor engine

    Catalyst 6000 switches running Catalyst software Release 6.1 or later for the supervisor engine

    - O link abaixo apresenta maiores informações sobre os comandos traceroute mac e traceroute mac ip:

    http://www.cisco.com/en/US/docs/switches/lan/catalyst2970/software/release/12.1_14_ea1/command/reference/cli3.pdf

    Parabéns pelo Post.

    Abraço,

    Luciane de Medeiros

  18. Luciane de MedeirosNo Gravatar diz:

    Olá André,

    Consegui acessar teu Post somente utilizando o link abaixo:

    http://www.brainwork.com.br/blog/2009/12/

    ;-)

    Abraço,

    Luciane de Medeiros

  19. André OrtegaNo Gravatar diz:

    Olá Luciane, realmente o blog está com problema…

Deixe um Comentário

Você deve estar logado para postar um comentário. Login »