Você está na página 1de 15

ROTEAMENTO

Protocolo de
roteamento DVMRP
Leandro Salenave Gonçalves

OBJETIVOS

>> Descrever o protocolo DVMRP e o algoritmo de encaminhamento pelo ca-


minho reverso.
>> Explicar o algoritmo de broadcast pelo caminho reverso.
>> Analisar a árvore multicast do algoritmo multicast pelo caminho reverso.

Introdução
Roteadores são equipamentos físicos que conectam computadores por meio do
tráfego de pacote de dados, ligando duas ou mais diferentes redes diferentes. Desse
modo, as organizações escolhem as tecnologias de rede que mais se adequem ao
que precisam, para que possam se conectar à internet. Os protocolos de rede, por
sua vez, “[…] definem formatos, ordens de mensagens enviadas e recebidas entre
entidades de rede e ações tomadas” (SEMPREBOM, [2020?], documento on-line).
Existem vários modelos de transmissão quanto ao destino dos pacotes, como
o multicast, em que a transmissão é feita de um emissor para vários receptores de
rede, mas não necessariamente todos; o broadcast (difusão), em que a transmissão
ocorre de um emissor para todos receptores da rede; o anycast, de uma ponta
para o mais próximo; e o unicast, que é um para um em específico. No modelo
multicast, há um protocolo de roteamento por vetor de distância, denominado
pela sigla em inglês DVMRP (Distance Vector Routing Protocol), que “[…] usa a
abordagem de árvore baseadas nas origens para realizar o multicast” (FOROUZAN;
MOSHARRAF, 2013, p. 339).
2 Protocolo de roteamento DVMRP

Neste capítulo, você vai estudar esses modelos e como os pacotes trafegam
dentro dos roteadores, além de conhecer o protocolo DVMRP e o algoritmo de
encaminhamento pelo caminho reverso, o algoritmo de broadcast e a análise do
multicast também pelo caminho reverso.

Protocolo DVMRP e algoritmo de


encaminhamento pelo caminho reverso
Com o constante avanço tecnológico e as crescentes demandas por uso de
equipamentos ligados à rede, novas tecnologias são testadas, e algumas
acabam tendo maior aderência. Mesmo que uma comunicação tenha um
destino específico até sua chegada, acaba havendo a passagem por diferentes
grupos. Conforme a definição de Tanenbaum (2002, p. 287), “[…] o envio de
uma mensagem a um desses grupos denomina-se multidifusão (multicasting)
e seu algoritmo de roteamento é chamado roteamento por multidifusão”.
O protocolo DVMRP é baseado em roteamentos de vetores multicast.
Segundo Monteiro ([2016?], p. 7), “[…] cada roteador mantém uma entrada na
tabela de roteamento para cada sub-rede e troca mensagens de roteamento
periodicamente com seus vizinhos”. Na prática a diferença entre o broadcast
e o multicast pode ser vista na Figura 1.

Figura 1. Comunicação multicast.


Fonte: Adaptada de Forouzan e Mosharraf (2013).
Protocolo de roteamento DVMRP 3

Note que na Figura 1, um dos terminais no bloco denominado origem de-


seja realizar uma transmissão de dados com destino específico, neste caso,
os dispositivos conectados ao switch 1 do roteador 3 (descrito na imagem
como R3) e aos switches 1 e 2 do roteador 4 (descrito na imagem como R4). A
possibilidade de alcançar destinos específicos é a característica diferencial
do multicast. Se o modelo utilizado fosse o broadcast, ao disparar o pacote
na origem, todos os roteadores e switches receberiam os dados.
De acordo com Waitzman e Partridge (1988, documento on-line, tradução
nossa), o DVMRP “[…] é adequado para uso dentro de um sistema autônomo,
mas não entre diferentes sistemas autônomos”, pois em sua origem não foi
desenvolvido para roteadores não multicast. Assim, “[…] roteadores que
executam multicast e unicast devem executar os dois processos separada-
mente” (WAITZMAN; PARTRIDGE, 1988, documento on-line, tradução nossa).
Para que haja a possibilidade de estabelecer na prática o que a teoria do
multicast prega, é necessário que os roteadores saibam qual é a origem de
cada dispositivo conectado a ele. Assim, é possível montar uma árvore com o
caminho percorrido pelo dado até o momento. Esse caminhamento em rede
baseado na origem acontece nas seguintes fases.

1. Algoritmo de encaminhamento pelo caminho reverso (RPF — reverse


path forwarding): simula a criação de uma parte da árvore, onde o
caminho segue da origem até ele próprio.
2. Algoritmo de broadcast pelo caminho reverso (RPB — reverse path
broadcasting): cria uma árvore de abrangência em que a raiz é o próprio
roteador e as folhas são as redes na internet.
3. Algoritmo multicast pelo caminho reverso (RPM — reverse path mul-
ticast): cria uma árvore multicast cortando os galhos das folhas sem
correspondência.
4 Protocolo de roteamento DVMRP

A topologia em árvore, ou topologia hierárquica, constitui-se em


barras interconectadas, em que ramos menores são conectados
a uma barra central, por um ou mais hubs, switches e repetidores que inter-
conectam outras redes. Quando observada em diagramas, em relação a uma
árvore da natureza, como demonstra a Figura 2, a leitura que se faz é de uma
árvore invertida.

Figura 2. Estrutura de dados árvore.

Todos esses caminhos que estabelecem busca do melhor e mais assertivo


caminho para entrega dos pacotes ao seu destino precisam obrigatoria-
mente carregar em seu sistema o(s) algoritmo(s) que realizam a atividade, o
que gera uma carga adicional de processamento. Para detalhar a lógica do
caminho reverso que o DVMRP faz uso, vamos detalhar cada uma das fases
desse processo.

RPF
Para estabelecer a atividade de caminhamento reverso, o RPF usa um co-
nhecimento de coleta de informação executado sempre que um roteador é
conectado à rede, priorizando as estações sem interesse nos grupos. Mesmo
que esse seja o fundamento do unicast, tal atividade possibilita mapear as
distância entre roteadores, comparando-as para criar uma árvore de cone-
xões. A Figura 3 demonstra o caminho percorrido para origem até o destino e,
nesse processo, como os demais roteadores ligados nessa rede são afetados
com esses dados.
Protocolo de roteamento DVMRP 5

Figura 3. Uso do RFP demonstra que N recebe duas cópias do pacote propagado multicast.
Fonte: Forouzan e Mosharraf (2013, p. 340).

Com o objetivo de reduzir os loops de pacotes dentro dos caminhos mul-


ticast, esse tipo de protocolo acaba se mostrando útil na atividade de evitar
falsificação de endereço de IP em roteamentos unicast. Uma das formas de
evitar esses loops é adicionar um rótulo ao pacote quando o primeiro atingir
o destino. Analisando a Figura 3, é possível identificar que os roteadores R1 e
R2 chegam ao destino N, onde ambos farão a entrega, mas apenas o primeiro
rótulo a atingir N será considerado.
O menor caminho entre a origem e o destino se dá pela interpretação
do conhecimento que os roteadores estabelecem ao se conectarem uns aos
outros. Um mapa das ligações e suas distâncias se estabelece e, mesmo que
o roteador não conheça a distância mais curta entre ele mesmo e a origem,
conhece o caminho contrário com esse mapeamento. Forouzan e Mosharraf
(2013, p. 39) descrevem que “[…] o roteador simplesmente consulta a tabela
unicast como se quisesse mandar um pacote para a origem; a tabela de ro-
teamento fornece o próximo roteador e a interface pela qual o pacote deve
ser enviado na direção reversa”.

RPB
Diferentemente do RPF, o RPB tem a capacidade de identificar se uma rede
possui mais de um roteador ligado a ela. Quando esses múltiplos caminhos
são identificados, um roteador é eleito como pai (parent). Na prática, quando
um roteador não é o pai e este recebe um pacote, simplesmente o conteúdo
é descartado. A Figura 4 demonstra a funcionalidade descrita, comparando
o RPF com o RPB.
6 Protocolo de roteamento DVMRP

Figura 4. Comparativo entre o RPF e o RPB em relação à propagação de cópias dos pacotes.
Fonte: Forouzan e Mosharraf (2013, p. 340).

Analisando a Figura 4, em relação às entregas de pacotes realizadas pelos


roteadores às redes, é possível afirmar que tanto R1 quanto R2 têm o mesmo
destino. No entanto, R2 tem seu conteúdo descartado, pois, evidentemente,
R1 foi destinado como parent, ou roteador pai.
O processo da eleição de um roteador pai pelo algoritmo de broadcast
pelo caminho reverso obedece ao critério do caminho mais curto e, no caso
de empate, o que possui o menor número de IP. Ainda sobre o caminhamento
estipulado pelo RPB, Forouzan e Mosharraf (2013 p. 340) afirmam que “[…] o
RPB corta os galhos das árvores responsáveis por criar ciclos no grafo”.
Além disso, “[…] se usarmos o critério do caminho mais curto para escolher
o roteador pai, na verdade, estaremos criando uma árvore de broadcast de
menor custo” (FOROUZAN; MOSHARRAF, 2013, p. 340).

RPM
Para melhor entender a teoria do caminho reverso com multicast, é importante
conhecer o mecanismo do RPM. Douglas Comer (2016, p. 403) afirma que:

[…] quando um roteador descobre que um computador em uma de suas redes


ingressou em um grupo multicast, ele deve estabelecer um caminho com o trans-
missor deste grupo e encaminhar ao computador todos os datagramas que recebe
para esse determinado grupo.

Assim, a prática de controle da árvore multicast por parte dos roteadores


é uma atividade complexa, por necessitar de algumas atenções. Uma delas é
Protocolo de roteamento DVMRP 7

o ingresso de novos roteadores no grupo, obrigando-os a realizar esse reco-


nhecimento durante o processo, ou seja, de forma dinâmica. Outra atenção é
quanto ao tamanho e à topologia dos grupos que também se estabelecem de
forma variável nas aplicações realizadas. Por fim e como grande diferencial
em relação ao broadcast, apenas os grupos pertencentes ao destino (e apenas
por uma das vias) devem receber os pacotes enviados a partir de sua origem.
A Figura 5 demonstra o RPM, comparando-o ao RPB.

Figura 5. Comparativo entre o RPB e o RPM em relação à propagação de cópias dos pacotes.
Fonte: Forouzan e Mosharraf (2013, p. 341).

Na Figura 5, é possível identificar a permanência do conceito de roteador


pai empregado no RPB. No entanto, as redes que não pertencem ao grupo
1, aqui descritas como G1, não recebem os pacotes de dados, pois o destino
do emissor é atingir todos os membros G1. Na aplicação da técnica, consi-
derando a estrutura de árvore, todos os galhos sem correspondência foram
podados. Quando falamos do multicast pelo caminho reverso, entende-se que
essa poda acontece das folhas para a raiz. Ainda sobre o prisma da árvore
invertida da Figura 2, podemos dizer que a redução dos caminhos acontece
da base para o topo.
Forouzan e Mosharraf (2013, p. 341) explicam que “[…] o roteador pai pode
[…] distribuir esta informação usando uma árvore de menor custo reversa,
indo do roteador até a origem”. Quando a informação é propagada entre toda
a rede, há condições de estabelecer quais conexões precisam ser podadas.
Note que, como o processo é dinâmico, podendo incluir ou subtrair roteadores
e, até mesmo, os grupos de aplicações na rede, constantes atualizações são
necessárias.
8 Protocolo de roteamento DVMRP

Algoritmo broadcast pelo caminho reverso


Diferentemente dos caminhos do multicast explorados na seção anterior, o
broadcast se caracteriza pela propagação dos pacotes de um para todos os
roteadores nela conectados. Quando tratamos do assunto a nível de internet,
esse protocolo não se aplica, porque o volume de tráfego seria muito alto,
gerando uma necessidade de largura de banda incrivelmente grande.
A Figura 6 ilustra como se dá a propagação dos pacotes nesse formato de
rede. As representações com letras simbolizam os roteadores e seus nomes
fictícios, e os números em cada aresta representam a distância entre os
roteadores.

Figura 6. Modelo de rede com propagação broadcast dos pacotes.

Em uma interpretação de caminho reverso a partir da Figura 6, é possível


analisar que entre os roteadores a e f, considerando o roteador a como origem
e f como destino, os caminhos possíveis são: (f, b, a); (f, c, a); (f, c, d, a); (f, d, a).
Já se considerar a distância do caminho percorrido para o roteador a atingir
o roteador f, temos: (f, b, a = 7); (f, c, a = 4); (f, c, d, a = 6); (f, d, a = 6).
Com isso, é possível verificar que o caminho f, c, a é o mais curto, ou,
como tratado em redes, o caminho de menor custo. No entanto, ao aplicar
algoritmicamente esse mapeamento é necessário verificar individualmente
Protocolo de roteamento DVMRP 9

a distância de cada roteador. O Quadro 1 demonstra os resultados passo a


passo das distâncias desse mapeamento.

Quadro 1. Distâncias entre os roteadores com base na Figura 6.

f B C d A

F 4 1 3

B 4 3

C 1 2 3

D 3 2 3

A 3 3 3

Analisando o Quadro 1, na coluna f, a menor distância entre b, c e d é c.


Seguindo o grafo e analisando a coluna c, mesmo que a ligação com a linha
d tenha uma distância menor, a soma da próxima parcial inviabiliza o menor
caminho. Assim, a ligação correta da coluna c é com a linha a.
Há várias formas de solucionar computacionalmente o broadcast com
caminhamento reverso; uma delas é pelo algoritmo de Dijkstra. O nome é
uma homenagem ao cientista da computação holandês Edsger Dijkstra, que
teve seu código publicado em 1959. A solução prevê o caminho mais curto num
grafo dirigido ou não, considerando o somatório do tamanho das arestas.
Ainda sobre o Quadro 1 e a Figura 6, aplicando o conhecimento do algoritmo
de Dijkstra, teríamos o caminho inicial f a c de tamanho 1. Na sequência, para
atingir o roteador a, a menor distância é a ligação direta entre c e a com o
tamanho 3. Veja a seguir.
10 Protocolo de roteamento DVMRP

Em linhas gerais, este algoritmo mapeia a origem, o destino e a distância


entre eles. Com base neste mapa, é possível realizar os caminhos para loca-
lizar os melhores caminhos entre a origem e o destino. A partir do destino, é
igualmente possível chegar à origem, realizando um caminhamento reverso.
É dos mapeamentos realizados pela metodologia do broadcast que os
caminhos de uma rede multicast podem ser criados. Se por um lado a ati-
vidade desse protocolo na internet representaria um problema de largura
de banda, é pela natureza da sua estrutura que todas as ligações possíveis
entre os diferentes pontos podem ser descobertos.

Análise da árvore multicast do algoritmo


multicast pelo caminho reverso
É correto afirmar que, para realizar o multicast, os roteadores envolvidos
no processo precisam implementar essa tecnologia. Os caminhamentos
executados na forma de uma estrutura de dados de árvore são construídos
com as informações provenientes diretamente dos roteadores.
Há diferentes algoritmos possíveis para atender às árvores multicast, o
dilúvio, que consiste na técnica de receber um pacote e replicá-lo a todas as
interfaces, exceto de onde recebeu. Caso identifique que o pacote já tenha
sido recebido, o roteador simplesmente o descarta. O algoritmo baseado
na árvore geradora é semelhante ao dilúvio, diferenciando-se por escolher
Protocolo de roteamento DVMRP 11

apenas um caminho no caso da identificação de duplicidade de caminhos.


RPF, RPB e árvores baseadas em núcleos são exemplos de algoritmos que os
roteadores multicast também fazem uso.
Nesta seção, vamos analisar o protocolo multicast pelo caminho reverso
(RPM) mais detalhadamente, vendo como se estabelece o caminhamento
nessa estrutura de árvore. Como já analisamos na Figura 5, o RPM possui a
capacidade de entregar os pacotes apenas para os grupos que estão no es-
copo de entrega, executando uma poda na árvore de roteadores. Mas como é
possível um algoritmo definir quais elementos devem ser podados? É por meio
do caminho reverso que os roteadores conseguem executar o entendimento
de que ligações serão desfeitas a nível lógico para atender às necessidades
desse protocolo multicast. No nível das folhas, os roteadores realizam uma
coleta de informações sobre os grupos que estão conectados a ele. Como
guardam os dados de a quais redes pertencem, é possível estabelecer uma
estrutura de conexões em forma de árvore, elegendo os roteadores pais
em caso de identificação de duplicidade nas ligações. Segundo Forouzan e
Mosharraf (2013, p. 341):

[…] o roteador pai da rede pode, então, distribuir essa informação usando a árvore
de menor custo reversa, indo do roteador até a origem, da mesma forma que as
mensagens do vetor de distância são passadas de um vizinho para outro.

A Figura 7 demonstra o caminho percorrido desde a origem, simbolizado


na imagem como Fonte 1 até o destino, descrito como receptor (G1). Mesmo
com a possibilidade de chegar o dado até a Rede N4 pelos roteadores R6 e
R7, note que o tráfego nem acontece pelo R7. É como se a ligação entre R5 e
R7 nem existisse, pois, mesmo fisicamente permanecendo conectada, logica-
mente essa ligação foi desfeita, R6 foi eleito pai. Perceba que, na busca pelo
caminho mais curto, a ligação entre R2 e R3 foi cortada, ou como descrito
anteriormente, foi podada.
12 Protocolo de roteamento DVMRP

Figura 7. Estrutura multicast para entrega de pacotes.


Fonte: Costa e Duarte (2005, documento on-line).

Dentre os algoritmos multicast, mesmo apresentando limitações, certa-


mente o RPM é o melhor em relação à estrutura e à filosofia de uso. Um dos
principais problemas desse algoritmo está na necessidade que os roteadores
têm de manter informações de estado de cada um dos pares (fonte-grupo).
Outro trafego que acaba apresentando excesso é a necessidade de envio
periódico de pacotes a todos os roteadores de uma mensagem para definir
pais e podas. Em redes de grande expansão, como a internet, deficiências
tornam-se mais significativas.
As principais aplicações práticas de multicast acabaram ficando mais res-
tritas às aplicações de videoconferência. Na internet como um todo, acabaram
se mostrado ineficiente. Segundo Douglas Comer (2016, p. 405):

[…] as características dinâmicas do multicast na Internet tornaram o problema


da propagação de rotas multicast bastante complexo. Embora muitos protocolos
tenham proposto, a Internet não tem atualmente um uso generalizado de rote-
amento multicast.
Protocolo de roteamento DVMRP 13

Cada marca de roteador possui uma forma própria de configuração


dos seus processos de multicast. A Cisco, por exemplo, possui uma
série de comandos que definem não apenas o RPM, mas também outros proto-
colos de roteamento por vetor de distância. Para saber mais, acesse o manual
de referência em no site da marca.

Referências
COMER, D. E. Redes de computadores e internet. 6. ed. Porto Alegre: Bookman, 2016.
COSTA, L. H. M. K.; DUARTE, O. C. M. B. Roteamento multicast na internet. Rio de Janeiro,
2005. Disponível em: https://www.gta.ufrj.br/ftp/gta/TechReports/CoDu03.pdf. Acesso
em: 29 set. 2020.
FOROUZAN, B. A.; MOSHARRAF, F. Redes de computadores: uma abordagem top-down.
Porto Alegre: AMGH, 2013.
MONTEIRO, D. B. Protocolos de roteamento multicast. Niterói, [2016?]. Disponível em: ht-
tps://silo.tips/download/protocolos-de-roteamento-multicast. Acesso em: 29 set. 2020.

SEMPREBOM, T. Redes de computadores e internet. São José, SC, [2020?]. Apresentação


de slides. Disponível em: http://tele.sj.ifsc.edu.br/~tisemp/RES/aulas/cap1.pdf. Acesso
em: 29 set. 2020.
TANENBAUM, A. S. Computer networks. 4. ed. New Jersey: Prentice Hall, 2002.
WAITZMAN, D.; PARTRIDGE, C. Distance Vector Multicast Routing Protocol. In: IETF Tools.
[S. L.], 1988. Disponível em: https://tools.ietf.org/html/rfc1075. Acesso em: 29 set. 2020.

Os links para sites da web fornecidos neste capítulo foram todos


testados, e seu funcionamento foi comprovado no momento da
publicação do material. No entanto, a rede é extremamente dinâmica; suas
páginas estão constantemente mudando de local e conteúdo. Assim, os editores
declaram não ter qualquer responsabilidade sobre qualidade, precisão ou
integralidade das informações referidas em tais links.

Você também pode gostar