Conversão de endereço MAC por porta?

1

Apenas um tiro no escuro aqui, mas pensei em perguntar se alguém tem algumas ideias:

Tenho um cenário de teste em que alguns dispositivos IPv6 (sem GUI / incorporados) serão temporariamente conectados às portas de um comutador Ethernet gerenciado e a um programa de controle (executado em um PC Linux separado, também conectado para o switch) detectará quando um desses dispositivos aparecer na LAN e executará automaticamente um teste para garantir que o dispositivo esteja funcionando corretamente.

Normalmente haverá uma dúzia desses dispositivos conectados ao mesmo tempo (para que possamos executar testes em paralelo), e os dispositivos serão conectados e desconectados regularmente por pessoas que não necessariamente sabem nada sobre rede; eles só sabem como conectar um cabo Ethernet, então (algumas horas depois) olham para a tela do PC para ver se o teste foi aprovado ou não.

O problema em questão é como indicar à pessoa que está testando quando um determinado dispositivo falhou em um teste. Uma opção é o log / mensagem de erro incluir o endereço MAC do dispositivo (derivado de seu endereço IPv6 de link local), e isso pode ser suficiente, mas seria muito melhor se o programa de teste também dissesse algo como "O dispositivo conectado à porta # 5 não está funcionando corretamente, dê uma olhada nisso". Dessa forma, o testador pode simplesmente seguir o cabo Ethernet para o dispositivo defeituoso, em vez de ter que descobrir qual é o endereço MAC de cada dispositivo até encontrar o correspondente.

Eu não acho que é possível para o computador Linux dizer a qual porta de switch um dispositivo específico está conectado (deixe-me saber se estou errado sobre isso). Mas, supondo que seja esse o caso, a próxima melhor coisa seria se eu pudesse programar o comutador para fazer traduções de endereço MAC, por ex. para que qualquer dispositivo que esteja conectado à porta #n sempre apareça (no computador Linux) como se tivesse o endereço MAC foo: bar: baz: n e, portanto, apareça como endereço IPv6 fe80 :: 2foo: bar: baz: n. Se o switch fizesse a tradução do endereço MAC desse jeito, então o software de controle poderia determinar a qual porta o dispositivo estava conectado simplesmente olhando para a última seção do endereço MAC falso.

Então, minha pergunta é: esse comportamento é algo que qualquer switch Ethernet gerenciado suporta? Em caso afirmativo, como esse recurso é chamado (para que eu possa encontrar um switch que o faça)? Se não, existe uma abordagem melhor para esse problema que eu deveria estar considerando?

    
por Jeremy Friesner 09.03.2012 / 02:14

1 resposta

5

Eu nunca ouvi falar de um switch que possa traduzir um endereço MAC. O que a maioria dos bons switches gerenciados permitirão, no entanto, é consultar a tabela de ponte via SNMP: dot1dBridge.dot1dTpFdbTable no Bridge MIB padrão parece ser o caminho a ser seguido. Você precisará converter o endereço MAC em decimal e anexá-lo ao prefixo MIB, e ele cuspirá a porta em que ele foi aprendido. Há alguns truques adicionais se você precisar lidar com VLANs.

link tem um exemplo.

    
por 09.03.2012 / 02:48