Para chegar ao fim, criei uma rede virtual entre dois sistemas. A resposta para saber se a rota 224.0.0.0/4 é necessária depende da configuração da aplicação e da rede.
Essas respostas são válidas para meu aplicativo, que é um remetente cego. Ele não se junta a nenhum grupo de multidifusão, porque não está interessado em receber tráfego - enviando-o somente para outros sistemas associados ao grupo para o qual está enviando. Portanto, não avaliei os requisitos para ingressar em nenhum grupo de multidifusão específico.
Os cenários são os seguintes:
-
O aplicativo define o soquete para uma interface específica antes de enviar (por exemplo, com Java setNetworkInterface método). Isso não requer nenhuma cobertura de tabela de roteamento da rede 224.0.0.0/4. Pacotes multicast serão transmitidos na interface vinculada.
-
O aplicativo não configura o soquete para uma interface específica antes do envio e existe uma rota padrão. Os pacotes multicast serão transmitidos na interface especificada pela rota padrão.
-
O aplicativo não configura o soquete para uma interface específica antes do envio e não existe uma rota padrão; no entanto, há cobertura do endereço do grupo de multicast na tabela de roteamento. Pacotes multicast serão transmitidos na interface especificada pela rota que cobre o endereço do grupo multicast.
-
O aplicativo não configura o soquete para uma interface específica antes do envio e não existe rota que cubra o endereço do grupo multicast. O aplicativo falhará com "nenhuma rota para hospedar".
-
Cenário de bônus: o aplicativo não define o soquete para uma interface específica e uma rota padrão em uma interface e uma rota multicast na outra interface existem, o último cobrindo o endereço do grupo multicast. Os pacotes multicast serão transmitidos na última interface.
A resposta parece ser que uma rota multicast é realmente necessária se o aplicativo não selecionar uma interface para transmitir. Também previne a rota padrão, que em retrospectiva faz sentido. Apenas a parte da interface das rotas parece ser usada.