Roteamento por difusão

Para algumas aplicações os hosts precisam enviar mensagens a muitos outros hosts. Um exemplo é o serviço de distribuição de relatórios sobre o tempo, atualizações do mercado de ações ou programas de rádio ao vivo. O envio de um pacote a todos os destinos simultaneamente é chamado difusão (broadcasting).

Um método de difusão que não exige recursos especiais da sub-rede permite à origem simplesmente enviar um pacote específico a cada destino. O método não só desperdiça largura de banda como também exige que a origem tenha uma lista completa de todos os destinos. Na prática, essa pode ser a única possibilidade. No entanto, esse é o menos desejável dos métodos.

O algoritmo destacado na figura é conhecido como encaminhamento pelo caminho inverso. Quando um pacote de difusão chega a um roteador, este verifica se o pacote chegou pela linha que normalmente é utilizada para o envio de pacotes à origem da difusão. Em caso afirmativo, há um excelente possibilidade de que o pacote de difusão tenha seguido a melhor rota a partir do roteador e seja, portanto, a primeira cópia a chegar ao roteador. Se for esse o caso, o roteador encaminhará cópias do pacote para todas as linhas, exceto aquela por onde ele chegou. No entanto, se o pacote de difusão tiver chegado em uma linha diferente da preferencial para alcançar a origem, ele será descartado como uma provável duplicata.

A figura (a) mostra uma sub-rede, a parte (b) mostra uma árvore de escoamento para o roteador I dessa sub-rede, e a parte (c ) mostra como funciona o algoritmo de encaminhamento pelo caminho inverso. No primeiro hop, I envia pacotes para F, H, J e N, como indica a segunda linha da árvore. Cada um desses pacotes chega ao caminho preferencial para I e é então indicado por um círculo em torno da letra. No segundo hop, são gerados oito pacotes, dois por cada um dos roteadores que receberam um pacote no primeiro hop. Por sua vez, todos os oito pacotes chegam a roteadores não-visitados anteriormente, e cinco deles chegam ao longo da linha preferencial. Dos seis pacotes gerados no terceiro hop, somente três chegam pelo caminho preferencial (em C, E e K); os outros são duplicatas. Depois de cinco hops e 24 pacotes, a difusão termina, em comparação com quatro hops e 14 pacotes que haveria se a árvore de escoamento fosse seguida exatamente.