Roteamento por multidifusão

O roteamento por multidifusão é empregado em aplicações que funcionam reunidos em grupo; por exemplo, um grupo de processos que implementa um sistema de banco de dados distribuídos. Nessas situações, muitas vezes é necessóario que um processo envie uma mensagem a todos os outros membro do grupo. A difusão pode ser utilizada para informar 1.000 máquina dentro de um universo de 1 milhão de máquinas. Desta forma, é necessário um meio para enviar mensagens a grupos bem definidos que têm um tamanho numericamente grande, mas que são pequenos em comparação ao total de hosts da sub-rede.

Para executar o roteamento por multidifusão, cada roteador calcula uma árvore de amplitude que engloba todo os outros roteadores da sub-rede. Por exemplo, na figura (a) acima, temos uma sub-rede com dois grupos, 1 e 2. Alguns roteadores estão associados a hosts que pertencem a um ou a ambos os grupos. Uma árvore de amplitude correspondente ao roteador situado mais à esquerda é mostrada na figura (b).

Quando um processo envia um pacote de multidifusão a um grupo, o primeiro roteador examina sua árvore de amplitude e a poda, removendo todas as linhas que não levam a hosts que são membros do grupo. No exemplo, a figura (c ) mostra a árvore de amplitude do grupo 1 podada. Da mesma forma, a figura (d) mostra a árvore de amplitude  do grupo 2 podada. Os pacotes de multidifusão só são encaminhados ao longo da árvore de amplitude apropriada.