Redes Tolerantes à Desconexões e Atrasos Um trabalho de: Gabriel Ribeiro Estêvão Carvalho Mateus Espanha Prof. Otto Duarte Introdução A internet é uma rede que executa com sucesso à conexão entre vários dispositivos em volta do globo. Isto têm sido feito com um grupo homogêneos de protocolos, chamados TCP/IP. Todos os dispositivos em redes e sub-redes utilizam este grupo de protocolos para roteamento e garantir a integridade da mensagem. Entretanto, em ambientes complexos, a transferência de dados contínua e de qualidade se torna um desafio, seja pelas grandes distâncias e intermitencia nas conexões. O surgimento e a Proposta das Redes DTN A proposta de utilizar redes DTN surgiu do interesse de fazer de forma eficiente transferência de dados em ambientes de difícil conexão ou de atrasos muito longos por exemplo: Comunicação com satélites, Comunicação com sensores, etc. As redes DTN se baseiam em comutação de mensagens, onde a ligação passa por vários nós que armazenam constantemente as mensagens e às repassam para outros nós (ligação salto-a-salto), até que chegue ao destinatário. Outro detalhe positivo se deve ao fato de não existir um caminho fixo em uma ligação, uma vez que a transferência de dados entre nós se baseia na técnica store-n-forward, que consiste em armazenagem da informação pelo nó e reenvio ao nó seguinte, caso o nó seguinte venha a estar desligado da rede, o nó que possui a custódia da mensagem, procurará por outro, garantindo a entrega da mensagem. O store-n-forward garante também que o destinatário receba a mensagem independente de estar ligado à rede ou não, uma vez que um nó pode armazenar a mensagem até que o destino esteja on novamente. Arquitetura de redes DTN. A arquitetura DTN consiste na comutação de mensagens e constante armazenamento de dados pelos nós e envio ao próximo nó (store-nforward). Apesar de já ter sido mencionado anteriormente, será abordado mais formalmente a definição de nó, e depois o conceito (store-n-forward. O que é um nó? Um nó é qualquer unidade capaz de receber, armazenar e enviar pacote. Cada nó, como este à esquerda, respeita o modelo OSI. Esta camada de agregação se deve ao store-n-forward, que é responsável pelo armazenamento persistente. Essencialmente, o store-n-forward é outro protocolo a ser seguido, o qual o modelo OSI não prevê. Trocas de mensagens usando a operação store-n-forward A transferência de dados ocorre por mensagens, que são compostos por dois blocos de tamanho arbitrário. Os blocos contém o conteúdo da mensagem ou informações sobre o endereço e dados de protocolos sobre a integridade da mensagem e sua transferência segura. As mensagens são passadas adiante para outro nó e este têm como objetivo passar a mensagem e sua custódia adiante. As mensagens, após a saírem da camada de aplicação, passam pelas outras camadas, onde são verificados é endereçado, verificado os erros, etc. Gerando um incremento nos headers, como sugere a imagem a seguir. As mensagens podem ser quebradas em pacotes menores que também são consideradas mensagens, e estas mensagens não precisam chegar em ordem ao destino (este deve ser Capaz de interpretar a mensagem independente da ordem). Diferente de redes IP onde a operação “store-n-foward”, espera-se que o “store” dure apenas um breve período, em redes DTN o nó é capaz de armazenar (disk, memória flash, etc.) por tempo determinado (tempo não depende do nó, mas sim do header) o dado, permitindo a integridade da mensagem mesmo que o sistema caia ou reinicie. Disponibilidade de Nós O grande diferencial das redes DTN a independência da disponibilidade do nó, uma vez que o store-n-forward conserva a mensagem independente da situação da rede no momento. Nesta parte será abordado os tipos que contatos que existem nas redes DTN, e é de sumária importância, pois com isto podem ser elaborados critérios para transferência de mensagens, evitando os nós de disponibilidade menos frequente, que eventualmente, irão implicar em maior atraso. A disponibilidade de redes segue às seguintes avaliações: 1) Contatos Persistentes 2) Contatos Sob Demanda 3) Contatos Programados 4) Contatos Previsíveis 5) Contatos Oportunistas O que é um nó DTN ? O Endpoint é/são o(s) nó(s) destinatário(s), uma mensagem só pode ser considerara entregue com sucesso, caso esta tenha sido entregue à um número mínimo de Endpoints destinatários chamados de minimum reception group (MRG). Os Endpoints são identificados por um Endpoint Identifier (EID) que está inserido no header. Transferência de Custódia As redes DTN se baseiam em transferências de mensagens nó-a-nó O nó que não for um endpoint deverá passar a mensagem adiante, essa obrigação se deve à transferência de custódia do nó anterior, em outras palavras, o nó anterior passa a mensagem e a obrigação da entrega ao endpoint ao nó seguinte. O processo ocorre até que o endpoint receba a mensagem. A transferência de custódia é um processo que exige acknowledgment, portanto o nó destinatário terá a opção de aceitar ou não a custódia, uma vez aceita, o nó terá de manter a corrente. O pedido pelo acknowledgment, possui tempo de validade, se este tempo expirar, o nó que possui a mensagem procurará outro nó para receber a custódia. Opções de Entrega Em uma rede DTN, após a transferência de um pacote, o nó remetente envia um sinal de pedido de custódia, que pode ser deferido ou não. Ao nó destinatário compete enviar relatórios sobre o estado do pacote e da entrega, de modo a garantir o sucesso na transferência de dados nó-a-nó. Estas opções de entrega se dividem em dois grupos de registro administrativo, o primeiro é denominado relatório de sinalização de custódia, que é a resposta à requisição da transferência de custódia do nó remetente, e o segundo grupo é um conjunto de relatórios que informam o estado dos pacotes e de sua transferência. Estes relatórios são: estado da entrega do agregado, estado do reconhecimento, estado da recepção do agregado, estado da aceitação da custódia, estado do encaminhamento do agregado e estado do agregado apagado. Pedido de transferência de custódia É o pedido feito pelo nó remetente e é respondido com um flag de sinalização de aceitação ou rejeição Notificação de entrega de pacotes A Notificação da entrega do pacote é feita apenas quando o pacote atinge o conjunto MRG. Assim que recebido o pacote, os nós enviam aos nós anteriores um notificação sobre o sucesso da transferência. Notificação de reconhecimento do agregado pela aplicação Exige um relatório de aceitação do pacote. A diferença entre a notificação do agregado pela aplicação e a notificação de aceitação do pacote descrita acima, se deve ao fato que na anterior, o relatório é emitido pela camada agregação (bundle layer ), e no segundo o relatório é emitido pela camada de aplicação Notificação de recebimento do pacote Esta notificação é emitida sempre quando um pacote é recebido em uma rede DTN. Diferente da notificação de entrega de pacote descrita acima, esta ocorre a cada salto da transferência nó-a-nó. Notificação de apagamento do pacote O objetivo desta notificação é informar quando um pacote é apagado da memória de um nó DTN. Notificação de Aceitação de Custódia Esta notificação é emitida sempre que um nó aceita receber um pacote, desta forma, garante a transferência ao nó seguinte mantendo a corrente. Notificação de recebimento de pacote Esta notificação é sempre recebida por um nó N-1 e gerada por um nó N quando um pacote é enviado ao nó N+1. O nó N-1, por sua vez, manda esta notificação ao nó N-2. Desta forma o primeiro nó estará sempre informado do estado de sua mensagem, sabendo se está está sendo encaminhada ou não. Notificação de recebimento de pacote (continuação) O grande número de notificações geradas em uma rede DTN pode ser muito grande caso o número de transferências seja elevado, implicando em sobrecarga da rede, tornando-a lenta e congestionada. Com intuito de melhorar a eficiência da rede, muitos destes relatórios são suprimidos e apenas um é obrigatório: quando um pacote aceito por um nó é apagado. Desta forma o nó original só saberá que sua mensagem não chegou, quando estourar a validade do pacote. Estratégias de roteamento Em redes onde os nós se movem, implicando conexões intermitentes, é necessário uma abordagem mais complexa sobre a rede, permitindo a eficiência da rede. Neste sentido, foi desenvolvido vários tipos de roteamento, dentre eles, serão abordados o Roteamento Epidêmico, Roteamento Probabilístico e Roteamento de Repasse Controlado. Roteamento Epidêmico Os pacotes se espalham pelos nós da rede ficando armazenados e sendo trocados quando entram em contato com outros nós aleatoriamente. Os nós requisitam cópias de mensagens que ainda não tem. Esse protocolo alastra a mensagem já que quanto mais cópias da mensagem forem enviadas maior chance de entrega e menor o atraso porem as mensagens ocupam muito espaço nos buffers e por isso quando se tem muitas mensagens fica inviável. Roteamento Probabilístico Os nós utilizam probabilidade de entrega para decidir quando e pra quais nós repassar a mensagem. Com isso os nós acabam conhecendo os outros nós da rede e utilizam o histórico de encontros para decidir as entregas. A previsibilidade aumenta quando dois nós se encontram e diminui se eles deixam de se encontrar. Roteamento com Repasse Controlado Gera poucas cópias e faz transmissões pequenas e controladas. Consiste em duas fases, a spray nos quais as mensagens são repassadas pra outros nós e na fase wait cada nó com a mensagem faz uma transmissão para o destino caso este ainda não tenha recebido uma copia da mensagem. Segurança: A segurança de redes em geral, é feita por trocas em pares de informação e até validação de uma terceira entidade reconhecidamente confiável para que seja estabelecido o contato entre as partes. Entretanto em redes DTN, o excesso dessas trocas não é favorável devido à escassez dos recursos empregados, sendo de vital importância a aplicação de outras técnicas para que não ocorram ataques. Um dos ataques mais simples que são realizados em redes dtn é fazer com que um dos nós descarte todos os pacotes que receber. Em protocolos de repasse, como não existem cópias das mensagens em cada nó, um pacote descartado se torna simplesmente perdido, fazendo com que a mensagem nunca chegue. A defesa para este tipo de ataque é simplesmente usar caminhos múltiplos para o envio da mensagem tornando mais difícil a sua total anulação e aumento da garantia de que a mesma chegará. Segurança (continuação) No que tange a detecção de intrusos, existem duas técnicas mais comuns: a centralizada e a descentralizada. Na centralizada, o centro de controle utiliza da sua grande disponibilidade de informações para a detecção do intruso. Na descentralizada, alguns ou todos os nós realizam procedimentos simples de detecção de intrusos. A grande vantagem da descentralizada é a disponibilidade instantânea de informação, permitindo detectar o ataque no momento exato em que ocorrer. Geralmente, quando um intruso é detectado na rede, ocorre a revogação do nó invadido e a exclusão do mesmo da rede, o que torna impossível a sua comunicação com seus vizinhos. Entretanto, o método mais comum para a segurança em DTN's é a autenticação e verificação dos seus usuários, do conteúdo das mensagens e gateways para que não ocorra o tráfego de informações indesejáveis e não autorizadas. No entanto, não ocorre a verificação dos roteadores que encaminham as mensagens. Segurança (continuação) Essa validação se dá da seguinte forma: o usuário que deseja mandar a mensagem a envia juntamente com a sua assinatura, que será avaliada pelo nó adjacente. O nó, dispondo do certificado do usuário (obtido através do próprio ou de uma autoridade autenticadora), avalia a mensagem. Em caso de falha ou ataque, a mensagem é retida e descartada, caso ocorra a validação a mensagem é assinada pelo nó ( com a assinatura do próprio nó) e envia ao próximo que repete o processo, sempre verificando e validando a assinatura do nó anterior e assinando até o destinatário da mensagem. Mobilidade em redes DTN: Nas redes com mobilidade, faz-se importante o estudo do movimento dos nós que podem ocasionalmente causar um atraso ou até mesmo a interrupção da rede. O estudo da movimentação desses nós geralmente é feito através de modelos matemáticos como o random walk, que acabam por sintetizar o processo. Essa síntese gera alguns problemas de representação e faz com que os mesmos sejam falhos em vários momentos na representação de redes móveis. Dessa maneira, é de vital importância a análise das redes dtn em um cenário mais realístico onde exista a movimentação de pessoas para que possamos avaliar funcionamento, influência do movimento e comportamento dos protocolos durante a movimentação. Mobilidade em redes DTN (continuação) Os dados para o estudo da rede devem coletados com o auxílio de algum aparelho, por exemplo um gps, para que o movimento das pessoas em um determinado tempo dentro da área que deseja-se estudar seja mapeado. Com tais dados, alguns estudos muito importantes podem ser realizados como o consumo de energia que reflete diretamente nos roteadores e na taxa de entrega dos pacotes. Outro estudo seria a quantidade de mensagens em buffer em cada nó, que poderia ocasionar a perda de mensagens fazendo com que a taca de entrega de mensagens caia. Todos esses dados são mapeados e mostrados em um gráfico de tempo de contato em que podemos avaliar se a rede foi efetiva ou não durante a coleta. Mobilidade em redes DTN (continuação) O gráfico mostra o tempo em que cada nó ficou em contato com outros, possibilitando assim a troca de pacotes. Perguntas 1) Qual é a diferença entre nó DTN e um nó de rede comum? Porque essa diferença é fundamental? 2) De que maneira se dá a forma mais comum de segurança em redes DTN? 3) Qual é a vantagem do roteamento em redes DTN em relação às redes dedicadas? 4) O que faz a rede DTN ser flexivél em relação a transferência de dados? 5) Qual é a principal desvantagem de um modelo matemático para mobilidade? Bibliografia http://www.lbd.dcc.ufmg.br/colecoes/sbrc/2010/003.pdf http://www.gta.ufrj.br/grad/06_2/gustavo/arquitetura.htm http://www.bibliotecadigital.ufmg.br/dspace/bitstream/1843/SLSS85BK5U/1/thiagorodriguesoliveira.pdf http://www.lbd.dcc.ufmg.br/colecoes/sbrc/2009/055.pdf http://www.unilasalle.edu.br/canoas/assets/upload/palestra_redes_cristina_nunes.pdf http://www.ipnsig.org/reports/DTN_Tutorial11.pdf Bibliografia (continuação) http://www.hjp.at/doc/rfc/rfc4838.html#sec_1 http://sbrc2007.ufpa.br/anais/2007/MC%20-%2005.pdf http://www.gta.ufrj.br/ftp/gta/TechReports/OTB07.pdf http://www.inf.pucrs.br/~fldotti/ads/exemplos/simulacao/sbrc2009-APRP.pdf http://brenojac.com/sbrc/ST06%20-%2003.pdf http://sbrc2007.ufpa.br/anais/2007/MC%20-%2005.pdf http://www.ime.usp.br/~cef/mac499-09/monografias/adriano-caio/monografia.pdf