Estratégia para forçar atualizações de tabela de cam de hardware personalizado

1

Eu tenho um sistema que consiste em um PC de controle, duas camadas de switches e 50 dispositivos personalizados. O PC transmite continuamente um total de 5,8MB / seg (6000 ethernet frames / seg) para os dispositivos.

Descobri que cada um dos pontos de extremidade do dispositivo está vendo todo esse tráfego, não apenas o tráfego destinado a esse dispositivo. Isso está causando o firmware nos dispositivos para sufocar um pouco.

Minha teoria sobre o porquê isso está acontecendo é: O PC é configurado com uma tabela ARP estática. As únicas vezes que os dispositivos enviam dados são em resposta a solicitações de eco ou ARP de ICMP. Como não fazemos o ping dos dispositivos durante a operação normal e como a tabela ARP do PC é estática (e, portanto, nenhuma solicitação ARP é feita), os dispositivos nunca enviam dados e os switches nunca aprendem seus endereços MAC.

Pergunta 1 : esta análise está correta?

Eu tenho que resolver esse problema. Existem quatro opções:

  1. Configure manualmente as tabelas de cames em todos os switches.
  2. Atualize o firmware do dispositivo para enviar periodicamente algo, atualizando assim as tabelas de câmeras dos comutadores.
  3. Faça com que o PC de controle faça um ping periodicamente nos dispositivos, fazendo com que os dispositivos respondam, levando à troca de atualizações.
  4. Dos comentários: ative o ARP dinâmico no PC de controle, configure o ttl para ser menor que o das entradas do comutador.

Então, pergunta 2 : a opção 1 é a maneira correta de fazer isso?

Agora, o problema com a opção 1 é que os switches em vigor não são gerenciados e não posso configurá-los. Para usar a opção 1, precisamos substituir os switches por gerenciados. Eu acredito que isso vale a pena a longo prazo, mas agora não é viável por uma série de razões.

Eu não quero usar a opção 3 ou 4 porque quero que a solução para esse problema seja transparente para o PC de controle e por várias outras razões (Em particular, a opção 4 tem problemas de desempenho sutis, mas perceptíveis neste aplicativo, descritos nos comentários abaixo).

Portanto, estou buscando a opção 2 agora. Eu escolhi modificar o firmware em cada dispositivo para enviar solicitações ARP gratuitas com um destino MAC de broadcast aproximadamente a cada 30 segundos. Eu escolhi o ARP porque, conceitualmente, parece ser o mais apropriado, embora eu também pudesse enviar, e. quadros de ethernet em branco. Eu escolhi o destino de broadcast na esperança de que o pacote passe pelos switches L2 e alcance os switches L1 e faça com que eles atualizem suas tabelas também.

Pergunta 3: Embora essa não seja a opção mais correta, funcionará? O envio periódico de solicitações ARP gratuitas de todos os 50 dispositivos causará efeitos colaterais inesperados? Eu não sei qual é o ttl das entradas da tabela de cames do switch, eu escolhi arbitrariamente 30 segundos.

Pergunta 4: Existe outra opção que não estou considerando?

    
por Jason C 14.02.2014 / 21:52

1 resposta

1

Problema: os switches Ethernet estão inundando pacotes em todas as portas devido a tabelas MAC estéreis e esse tráfego está causando problemas para alguns dispositivos.

Solução: Como você já pensou: gere algum tráfego para que as tabelas MAC sejam criadas. Uma maneira seria ter um programa de monitoramento de rede fazendo ping em cada dispositivo. Isso permitiria que as tabelas MAC fossem criadas e permitisse que você verifique se alguns dispositivos estão saindo da rede na ocasião.

Nota: removeu uma resposta incorreta de ser desviado sobre o ARP

    
por 15.02.2014 / 21:49