Por que meu host Linux pararia repentinamente de receber multicast? Todas as outras placas de rede na rede privada estão recebendo

Por que meu host Linux pararia repentinamente de receber multicast? Todas as outras placas de rede na rede privada estão recebendo

Aqui está o meu dilema. De repente, desde ontem, os pacotes multicast não estão mais sendo recebidos da eth1 (rede gigabit privada) de um nó. O roteamento entre todos os nós está correto, sem colisões, perda de pacotes, etc.

ifconfiginfo, inet addr, Bcast, Mask, estão todos bem - todos compartilham o mesmo bcast e netmask. Além disso, todos eles compartilham: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 on eth1 .

Todos esses nós são hospedados por um provedor de VM Xen. Todos os convidados estão vendo os endereços IP privados uns dos outros. Não há iptablesregras envolvidas. Pacotes multicast podem ser vistos entre todos os nós (20+), exceto um - usando tcpdump. O sistema foi reiniciado, etc.

só para acrescentar, o nó afetado, de acordo com netstat -g, não está sendo atribuído ao grupo multicast, "eth1 1 224.2.2.4" como todos os outros.

O que causaria algo assim? Parece que um nó não faz mais parte do grupo multicast - tenho um ticket aberto, mas tenho a sensação de que eles estão perplexos.

Responder1

Não tenho conhecimento de nenhuma política de expiração para associação ao grupo IGMP na pilha do Linux. Isso pode acontecer, mas duvido, já que há pelo menos duas maneiras de o kernel ser informado (uma explícita, a outra implícita) quando a associação ao IGMP de um programa deve ser eliminada.

Portanto, acho que você tem um bug no software que escuta os pacotes multicast. (Se importa de nomeá-lo?) O programa que recebe o multicast de alguma forma abandonou sua própria associação ou negligenciou adicioná-la na inicialização. Ao reiniciar o programa ouvinte multicast, tcpdumpa solicitação de adição de associação do grupo IGMPv2+ deverá ser enviada para a rede.

Talvez você nunca tenha notado esse bug ao testar em uma LAN pequena, já que switches de rede baratos não entendem IGMP. O recurso é chamado de espionagem IGMP e só é encontrado em switches com aproximadamente 5x o custo, por porta, das unidades mais baratas, ou mais. Um switch sem capacidade de espionagem de IGMP - ou um com o recurso desativado - transforma multicast em transmissão, portanto, mensagens de adição de grupo IGMP não são necessárias.

Aparentemente, seu provedor de hospedagem tem a espionagem IGMP ativada em sua estrutura de rede, uma vez que as mensagens multicast pararam de chegar depois que a associação ao grupo IGMP desapareceu na pilha de rede da máquina com problemas.

Também pode ser que as opções de espionagem IGMP do provedor de hospedagem estejam mal configuradas nos switches, então eles estão eliminando a associação ao grupo, mas isso não explica o netstat -gresultado.

informação relacionada