Resumo

  • A RFC 1112 tornou a associação multicast visível por Consultas e Relatórios locais, mas a espera aleatória permitia que a mensagem de um host representasse o grupo sem enumerar seus membros.
  • O IGMPv1 não tinha mensagem de saída: o roteador só sabia que o último receptor havia partido depois que os relatórios cessavam e o estado expirava. A RFC 2236 acrescentou um sinal de saída mais rápido.

Um endereço de grupo não era uma lista de participantes

Um endereço IP multicast podia ser permanente mesmo quando nenhum host pertencia ao grupo. Um host também podia enviar datagramas para o grupo sem participar dele. Na RFC 1112, Stephen Deering separou esses fatos: o endereço de destino identificava o grupo, enquanto a associação era mantida por host e interface de rede. Uma aplicação podia pedir ao IP para entrar ou sair; o roteador vizinho precisava responder a outra pergunta: ainda havia alguém interessado naquela rede local?

A norma descreveu dois níveis de suporte. Um host de Nível 1 podia transmitir multicast, mas não entrava em grupos nem implementava IGMP. O Nível 2 acrescentava a associação e o protocolo que avisava o roteador multicast vizinho. O endereço, sozinho, portanto não dizia quem receberia os pacotes: era preciso um sinal recente do segmento local.

Por que o primeiro relatório não vinha sozinho

O roteador enviava uma Host Membership Query ao endereço de todos os hosts, 224.0.0.1. Cada host de Nível 2 examinava seus grupos naquela interface. Respostas imediatas de todos produziriam uma rajada de mensagens de controle duplicadas. A RFC 1112 atribuiu a cada associação um temporizador aleatório. Se o host ouvisse antes um relatório válido do mesmo grupo, cancelava o seu. Uma resposta bastava para dizer ao roteador que pelo menos um membro ainda estava presente.

Era uma compressão deliberada de evidência. O roteador não recebia uma contagem, uma lista de máquinas nem prova de que todas as aplicações estavam prontas para consumir o tráfego. Recebia uma indicação de presença do grupo naquela rede local. O desenho reduzia mensagens redundantes, mas descartava detalhes desnecessários para a decisão de encaminhamento.

A entrada em um grupo novo tinha outra regra. O host devia reportá-la imediatamente, pois talvez fosse o primeiro participante daquela rede. Repetir o relatório uma ou duas vezes depois de um breve intervalo era recomendado para cobrir uma possível perda. Ainda assim, o multicast tinha a mesma confiabilidade best effort do IP unicast: não garantia chegada íntegra a todos nem uma ordem comum dos datagramas. O sinal de associação informava o roteador, mas não prometia entrega.

O silêncio depois do último receptor

O IGMPv1 definiu Consultas e Relatórios, mas não uma mensagem Leave Group. Quando um host saía, seu módulo IP local deixava de tratá-lo como membro; o roteador não recebia aviso imediato. Consultas periódicas renovavam a informação. Se ninguém mais reportasse o grupo, o temporizador de associação expirava. A simplicidade do protocolo deixava um estado residual depois da saída do último receptor.

Não era uma crença permanente do roteador: o atraso era limitado pelos temporizadores de consulta e de associação. Mas, em grupos de alto volume ou redes com mudanças frequentes, o tráfego podia continuar sendo encaminhado para um segmento sem receptores até o estado expirar.

A RFC 2236 incluiu no IGMPv2 uma mensagem Leave Group para acelerar o aviso. O roteador consultante enviava então consultas específicas ao grupo e aguardava uma resposta antes de concluir que o segmento estava vazio. A mudança não transformou silêncio em certeza: encurtou o período de incerteza e verificou se outro receptor permanecia.

A troca de 1989 é precisa. O IGMPv1 economizou tráfego de controle ao tratar a associação como uma pergunta de presença. Um relatório podia silenciar os demais e ainda dar ao roteador informação suficiente para decidir se continuava encaminhando o grupo naquela rede. O que ele não revelava era quantos membros estavam por trás daquela única mensagem — nem quando o último acabara de sair.

Fontes