Protocolos de Roteamento para Redes Tolerantes a Atrasos e Desconexões

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.

Introdução

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:

  1. Epidemic
  2. Spray and Wait
  3. PRoPHET - Protocolo de Roteamento Probabilístico usando Histórico de Encontros e Transitividade

Contexto Histórico

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.

Evolução dos Protocolos de Roteamento

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:

  1. Epidemic Routing (2005): Este protocolo é simples e eficaz, mas pode ser ineficiente para redes com um grande número de nós.
  2. Prophet Routing (2006): Este protocolo usa informações históricas de encontros entre nós para prever a probabilidade de um nó encontrar outro nó no futuro. Isso permite que o protocolo roteie os dados de forma mais eficiente do que o Epidemic Routing.
  3. Spray and Wait (2007): Este protocolo divide os dados em pacotes menores e os envia para um conjunto aleatório de nós. Isso aumenta a probabilidade de que pelo menos alguns dos pacotes cheguem ao destino.

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:

  • MaxProp (2007): Este protocolo usa um algoritmo de aprendizado de reforço para maximizar a probabilidade de entrega de dados.
  • Spray and Focus (2008): Este protocolo combina as vantagens do Spray and Wait e do Prophet Routing para melhorar o desempenho em redes com um grande número de nós.
  • COPE Routing (2013): Este protocolo é baseado em conteúdo, o que significa que ele roteia os dados com base no conteúdo dos pacotes, em vez de apenas nos endereços dos nós.
  • CAR Routing (2014): Este protocolo leva em consideração o contexto dos nós, como localização, velocidade e direção, para melhorar o desempenho do roteamento.
  • Protocolo de Roteamento Epidêmico

    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:

    1. Supondo um nó (N0) qualquer, este irá enviar as mensagens armazenadas para os nós adjacentes;
    2. Os vizinhos de N0 recebem a informação e verificam se essa está na memória. Caso não esteja, eles encaminham para todos os seus adjacentes (com exceção de N0) através de broadcast. Sendo esse processo repetido até o pacote chegar no destino.
    Método do Protoclo de Roteamento Epidêmico
    Figura 1. Método do Protocolo de Roteamento Epidêmico

    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.

    Arquitetura de Sistemas EPR

    Objetivos e problemas

    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.

    Detalhando o funcionamento

    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.

    Spray and Wait

    É 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.

    fases_do_protocolo_spray_and_wait
    Figura 2. Fases do Protocolo Spray and Wait

    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.

    Protocolo de Roteamento Probabilístico usando Histórico de Encontros e Transitividade

    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:

    Formula 1
    Figura 3. Probabilidade de Entrega entre os nós A e B

    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:

    Formula 2
    Figura 4. Probabilidade de Entrega entre os nós A e C sendo B intermediário

    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.

    fases_do_protocolo_spray_and_wait
    Figura 5. Fases do Protocolo Spray and Wait

    Conclusão

    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.

    Lista de Siglas e Acrônimos

  • ADU - Unidades de Dados da Aplicação
  • DTN - Rede Tolerante a Atrasos e Desconexões
  • IP - Protocolo de Internet
  • PDU - Unidade de Dados de Protocolo
  • PROPHET - Protocolo de Roteamento Probabilístico usando Histórico de Encontros e Transitividade
  • TCP - Protocolo de Controle de Transmissão
  • Referências

    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.