Protocolos de roteamento para DTN são fundamentais para diversas aplicações, como satelites, redes veiculares e redes de sensores. Entender a historia e o funcionamento desses protocolos é essencial para o desenvolvimento de novas tecnologias que resolvam problemas reais. A linha do tempo mostra a evolução dos protocolos de roteamento para DTN. E os mais relevantes como o Epidemic, Spray and Wait e o PRoPHET são explicados em detalhes.
Determinadas aplicações, como aquelas que envolvem comunicação em tempo real com uma taxa de bits constante, podem demandar um caminho completamente conectado para que a comunicação seja significativa. Contudo, há outros tipos de aplicações que se beneficiam da entrega eventual e pontual de mensagens, especialmente em situações onde interrupções frequentes na conexão dificultam ou impedem que as mensagens alcancem seus destinos.
Nesse contexto, surge o conceito de Redes Tolerantes a Atrasos (DTN - Delay and Disruption Tolerant Networking), que emprega técnicas para maximizar a probabilidade de entrega de dados mesmo quando não existe um caminho completamente conectado entre a fonte e o destino.
As DTNs fazem poucas suposições sobre a conectividade em redes ad hoc, algumas delas são: i) o remetente não sabe a posição do destinatário ou a melhor rota para ele, ii) pares de nós (não necessariamente o remetente e o destinatário) entram em alcance de comunicação em intervalos periódicos e aleatórios através da mobilidade dos nós.O foco deste trabalho será demonstrar os tipos, princípios e aspectos do funcionamento dos principais protocolos de roteamento em DTN, tais como:
No contexto da Guerra Fria e da corrida espacial, à medida que as
viagens espaciais evoluíram e a necessidade de comunicação entre
equipamentos na Terra e dentro e fora da órbita terrestre cresceu,
a humanidade enfrentou um desafio significativo nesse campo: as
tecnologias convencionais em redes não eram apropriadas para
transmissão de informações no espaço. Algumas das principais
dificuldades encontradas residem no atraso na troca de pacotes e
na interrupção da conexão entre as estações, causados pelas
consideráveis distâncias e pela mobilidade entre elas.
Dessa forma, a pesquisa nesse contexto começou com projetos
financiados pelo governo dos Estados Unidos relacionados à
necessidade de tecnologias de rede que pudessem suportar os
atrasos significativos e a corrupção de pacotes em viagens
espaciais. Inicialmente, esses projetos visavam apenas a
comunicação de curto alcance entre missões tripuladas à lua, mas o
campo logo se expandiu em um subcampo completo de Redes de
Telecomunicações Disruptivas (DTNs), que criaram avanços
tecnológicos para permitir a Internet Interplanetária.
Na década de 1970, os pesquisadores começaram a desenvolver
tecnologia para roteamento entre computadores em locais não fixos.
O uso generalizado de protocolos sem fio na década de 1990
reacendeu o interesse na área, com foco em roteamento ad hoc móvel
e redes ad hoc veiculares.
Na década de 2000, o crescente interesse em roteamento ad hoc
móvel e a crescente complexidade da Internet Interplanetária
levaram ao surgimento de um grande número de conferências
acadêmicas sobre DTNs. Nesse campo, muitas otimizações foram
feitas em algoritmos clássicos de roteamento ad hoc e tolerante a
atrasos, e questões como segurança, confiabilidade,
verificabilidade e outras áreas de pesquisa bem compreendidas em
redes de computadores tradicionais começaram a ser examinadas.
Os protocolos de roteamento DTN (Delay Tolerant Network) foram
desenvolvidos para lidar com as características únicas dessas
redes, como conectividade intermitente, alta latência e baixa taxa
de transferência. Esses protocolos são projetados para entregar
dados de forma confiável, mesmo quando os nós da rede não estão
conectados diretamente. Alguns dos primeiros protocolos de
roteamento DTN incluem:
Ao longo do tempo, novos protocolos de roteamento DTN foram desenvolvidos para melhorar o desempenho e a eficiência das redes DTN. Alguns exemplos incluem:
Epidemic Routing Protocol (ERP) configura-se como um protocolo baseado em encaminhamento por inundação - o que se significa que todos os nós realizam a difusão (broadcast) das mensagens para todos os vizinhos -, visando minimizar o uso de recursos, reduzir a latência da arquitetura DTN e aumentar a taxa de entrega[1]. Isto é, cada nó continuamente replica e transmite mensagens para nós recém descobertos que ainda não possuem uma cópia da mensagem. A tecnologia em questão funciona da seguinte maneira:
Observa-se que esse protocolo é do tipo “melhor-esforço”
(best-effort) e, com isso, existe um alto uso da memória, energia
e banda da rede - muitas vezes causando congestionamentos devido a
inundação. Diante disso, o ERP deve ser usado apenas quando não há
outra alternativa de tecnologia ou quando não se conhece muito bem
a topologia da rede.
Antes de adentrar no detalhamento do Roteamento Epidêmico, é justo
elencar o objetivo e problemas relacionados ao seu “design”.
Quanto aos propósitos, tendo em vista o que foi dito
anteriormente, fica claro que o EPR visa: uma melhor performance
na distribuição de mensagens por intermédio do uso probabilístico
de redes parcialmente conectadas ad hoc; A maior quantidade de
mensagens entregues ao destino; e, por fim, um dos aspectos mais
importantes, diminuir o consumo de recursos na entrega de uma
única mensagem.
Contudo, este protocolo está também envolto em alguns problemas
como, incertezas - os diversos remetentes não conhece toda a
topologia da rede -, alocação de recursos - pois, visto que o EPR
se fundamenta em inundações, a rede pode ficar congestionada se
tiver recursos limitados -, performance - devido a quantidade de
processamento requerido para a transmissão, o consumo de energia
pode se elevar -, confiabilidade - devido ao quesito
probabilístico, muitas aplicações podem querer ACKs -, segurança -
pelo fato de que a mensagem é propagada por diversos hosts antes
de chegar ao destino, sendo assim, um “nó invasor” pode se passar
como um remetente, dando a ideia de autenticidade por um
destinatário.
Quanto a segurança, convém fazer alguns apontamentos. Muitas
aplicações podem pedir certos parâmetros de autenticidade, sendo
que, além disso, existem técnicas de criptografia que podem dar
algumas garantias[de segurança]. Desse modo, os destinatários
podem aprender se uma mensagem foi exposta a algum invasor.
Para compreender mais a fundo o ERP devemos olhar o funcionamento
intermediário entre os nós e ter em mente alguns conceitos
importantes. Cada nó possui uma memória(buffer) que detém a
mensagens a serem transmitidas - tanto as originadas de si mesmo
como as a serem encaminhadas. Para aumentar a eficiência na
armazenagem de dados é usado uma tabela indexada em hash com um
identificador associado a cada pacote. Além disso, cada host
armazenará as entradas de suas tabelas em um 'bit vector' - também
conhecido como vetor sumário.
Quando dois nós iniciam a comunicação, ambos verificam os
identificadores um do outro, sendo que, para evitar redundância
nas conexões, cada host mantém um cache dos hosts com os quais
falou recentemente - tal mecanismo é chamado de anti-entropia.
Durante isso, os dois hosts trocarão seus vetores sumários para
verificar quais mensagens ainda não estão em suas próprias listas.
Caso um host verifique alguma mensagem faltante, ele enviará uma
requisição pedindo uma cópia delas. No entanto, o destinatário
poderá ou não atender a essa requisição, visto que esse possui
total autonomia ante este processo.
É uma modificação do algoritmo epidêmico e tem como objetivo reduzir o consumo de recursos e conflitos de competição causados pelo excesso de replicação de mensagens em redes de comunicação DTN (Delay-Tolerant Networks). Esse algoritmo implementa um limite no número máximo de cópias de mensagens na rede e realiza apenas um número limitado de transmissões de cópias de mensagens. A ideia por trás do "Spray and Wait" é melhorar a utilização dos recursos da rede.
Quando uma mensagem é gerada, ela determina o número máximo de cópias que podem ser criadas. Na fase "Spray", quando um nó que possui uma cópia da mensagem não encontra outro nó que também tenha a mesma mensagem, ele repassa metade da cópia da mensagem para o outro nó e, assim, prossegue até que um nó tenha apenas uma cópia da mensagem. Nesta fase, a rede está "espalhando" as cópias da mensagem de maneira mais controlada.
A segunda fase é chamada de "Wait". Nesta fase, cada nó que entra na fase "Wait" possui apenas uma cópia da mensagem. A transmissão da mensagem não é concluída até que o nó de destino seja encontrado. Isso significa que a rede espera até que a mensagem seja entregue ao seu destino. O "Spray and Wait" é eficaz na redução do consumo de recursos e competição por recursos, uma vez que limita o número de cópias de mensagens na rede e adota um processo de entrega mais controlado, aguardando até que o destino seja encontrado. Essa abordagem visa melhorar a eficiência do uso de recursos em redes DTN, onde as conexões entre nós podem ser intermitentes e os recursos são limitados.
O PRoPHET (Probabilistic Routing using History of Encounters and Transitivity) tem uma abordagem que se baseia na probabilidade e na previsibilidade de entrega (DP - Delivery Predictability) em redes ad hoc, onde os nós estão em constante movimento. O PRoPHET considera que os nós não se movem aleatoriamente, mas sim seguindo padrões de encontros e mobilidade que podem ser estimados. Essa abordagem tem como objetivo melhorar o desempenho do roteamento em comparação com protocolos tradicionais, como o Epidemic Routing. O funcionamento do PRoPHET se baseia na criação de uma métrica de previsibilidade (DP) para cada nó em relação a todos os destinos conhecidos. Quando dois nós se encontram, eles trocam informações de suas tabelas DP e as atualizam com base nas informações recebidas. Essas atualizações são feitas com base em equações que levam em consideração a frequência dos encontros e a transmissão das informações de nós intermediários. A métrica DP é calculada usando a fórmula:
Essa métrica reflete a probabilidade de entrega de um nó A a um nó B, sendo que Penc é um parâmetro configurável que ajusta a influência dos encontros frequentes na previsibilidade. Além disso, o PRoPHET leva em consideração a transitividade das informações. Se um nó A frequentemente se encontra com um nó B e o nó B frequentemente se encontra com um nó C, isso significa que o nó A é um bom intermediário para encaminhar mensagens para o nó C, mesmo que o nó A não se encontre diretamente o nó C. Isso é calculado usando a fórmula:
O protocolo PRoPHET também inclui um mecanismo para eliminar informações desatualizadas da rede, envelhecendo a tabela DP ao longo do tempo. Uma caraterística marcante do PRoPHET é sua estratégia de encaminhamento. Diferentemente de protocolos tradicionais que escolhem o caminho mais curto ou de menor custo, o PRoPHET usa a métrica DP para decidir para qual não encaminhar uma mensagem. Quando dois nós se encontram, a mensagem é transferida para o outro nó somente se a DP desse nó for maior, o que aumenta a probabilidade de entrega bem-sucedida.
O objetivo deste trabalho foi apresentar os principais protocolos de roteamento para DTN, bem como suas características e funcionamento. A partir da pesquisa realizada, foi possível observar que os protocolos de roteamento para DTN são fundamentais para garantir a entrega de mensagens em redes parcialmente conectadas. Além disso, foi possível observar que existem diversos protocolos de roteamento para DTN, cada um com suas características e objetivos específicos. Os protocolos apresentados neste trabalho são apenas alguns exemplos de protocolos de roteamento para DTN, mas existem muitos outros protocolos que podem ser utilizados em diferentes cenários e aplicações.
Fall, K. J. e Farrell, S. (2008). DTN: an architectural retrospective. IEEE Communications Magazine, 26(5). PDF
Oliveira, C. T., Moreira, M. D. D., Rubinstein, M. G., Costa, L. H. M. K. e Duarte, O. C. M. B. (2007). Redes Tolerantes a Atrasos e Desconexões. Relatório Técnico GTA/UFRJ. PDF
Nazário, D. C., Menegazzo, C., Cezar, N. L., Pereira, J. V. e Albini, L. C. P. (2018). Avaliação de Protocolos de Roteamento em Redes Tolerante a Atrasos e Desconexões. Computer on the Beach IX, 160. PDF
Grasic, S., Davies, E., Lindgren, A. e Doria, A. (2011). The Evolution of a DTN Routing Protocol - PRoPHETv2. CHANTS '11: Proceedings of the 6th ACM workshop on Challenged networks, 27-30. PDF
Mehta, N. e Shah, M. (2014). Performance of Efficient Routing Protocol in Delay Tolerant Network: A Comparative Survey. International Journal of Future Generation Communication and Networking , 7(1), 151-158. PDF
Mangrulka, R. S. e Atique, M. (2023). Routing Protocol for Delay Tolerant Network: A Survey and Comparison. Journal of Network and Computer Applications, 159, 102570. PDF
ALAOUI, E. A. A., AGOUJIL, S., HAJAR, M. e QARAAI Y. (2015). The Performance of DTN Routing Protocols: A Comparative Study. WSEAS Transactions on Communications, 14(12), 121-130. PDF
Vahdat, A. e Becker, D. (2000). Epidemic Routing for Partially-Connected Ad Hoc Networks. Disponível em: PDF Acesso em: 2023-11-10.
Tabarelli, A. e Silva, C. C. (2009). Redes Tolerantes a Atrasos, Protocolos de Disseminação e Aplicações. Monografia. Instituto Militar de Engenharia. Disponível em: PDF Acesso em: 2023-11-10.
Ozório, G. e Saytson, T. (2023). DTN - Delay Tolerant Networks: Spray and Wait Rounting Protocol. Disponível em: PDF Acesso em: 2023-11-10.