«

»

abr 16 2010

Mapeando o caminho em camada 2 (L2 Traceroute)

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

0
0

19 comentários

Pular para o formulário de comentário

  1. Deco

    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!

    0
    0
  2. Sérgio F.S

    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.

    0
    0
  3. Fabio Ribeiro

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

    Parabéns e obrigado!

    Abs!

    0
    0
  4. charlesrocha

    Valeu marco boa dica!

    0
    0
  5. charlesrocha

    boa dica marco valeu!

    0
    0
  6. Alexandre Avelar

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

    0
    0
  7. cierais

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

    0
    0
  8. Cleber

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

    0
    0
  9. vstrabello

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

    0
    0
  10. robk9e

    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

    0
    0
  11. Marcelo Nunes

    Muito boa a dica. Valeu.

    0
    0
  12. William Lanzarin

    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

    0
    0
  13. douglasfc

    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?

    0
    0
  14. Israel Carlos

    Obrigado Marco !!!

    0
    0
  15. André Ortega

    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.

    0
    0
  16. Fernando Guerreiro

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

    0
    0
  17. Luciane de Medeiros

    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

    0
    0
  18. Luciane de Medeiros

    Olá André,

    Consegui acessar teu Post somente utilizando o link abaixo:

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

    😉

    Abraço,

    Luciane de Medeiros

    0
    0
  19. André Ortega

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

    0
    0

Deixe uma resposta