DEBORA HELENA JOB ARQUITETURA PARA A CAMADA DE AGREGAÇÃO EM REDES TOLERANTES A ATRASOS E DESCONEXÕES



Documentos relacionados
MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

Redes de Computadores. Prof. André Y. Kusumoto

Informática I. Aula Aula 22-03/07/06 1

RC e a Internet: noções gerais. Prof. Eduardo

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

MÓDULO 8 Modelo de Referência TCP/IP

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

PROJETO DE REDES

Arquitetura de Rede de Computadores

Universidade Tuiuti do Paraná Faculdade de Ciências Exatas. Tecnologia de Análise e Desenvolvimento de Sistemas. TCP/IP x ISO/OSI

Capítulo 7 CAMADA DE TRANSPORTE

Redes de Computadores. Prof. Dr. Rogério Galante Negri

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Aula 6 Modelo de Divisão em Camadas TCP/IP

INTERNET = ARQUITETURA TCP/IP

Márcio Leandro Moraes Rodrigues. Frame Relay

Protocolos de Redes Revisão para AV I

Camadas da Arquitetura TCP/IP

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Cap 01 - Conceitos Básicos de Rede (Kurose)

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

RC e a Internet. Prof. Eduardo

Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco.

Capítulo 4 - Roteamento e Roteadores

SISTEMAS DISTRIBUIDOS

O que são DNS, SMTP e SNM

IW10. Rev.: 02. Especificações Técnicas

REDES DE COMPUTADORES

Modelos de Camadas. Professor Leonardo Larback

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Evolução na Comunicação de

Protocolos Hierárquicos

(Open System Interconnection)

Introdução à Computação Móvel IP Móvel. Movimentação de Host. Movimentação de Host. Francisco José da Silva e Silva

Rede de Computadores

Roteamento e Comutação

Redes de computadores. Redes para Internet

Redes de Computadores

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Sistemas Distribuídos

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Tabela de roteamento

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

TECNOLOGIA WEB INTERNET PROTOCOLOS

Arquitetura de Redes de Computadores. Bruno Silvério Costa

Administração de Sistemas de Informação I

APOSTILA DE REDES DE COMPUTADORES PARTE - I I

CAMADA DE REDE. UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN

Serviço de datagrama não confiável Endereçamento hierárquico. Facilidade de fragmentação e remontagem de pacotes

A Camada de Transporte

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos

Prof. Manuel A Rendón M

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

3 Arquitetura do Sistema

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Comunicando através da rede

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

:: Telefonia pela Internet

Prof. Marcelo Cunha Parte 5

Redes Overlay. Estrutura. Exemplo. Um Exemplo Histórico. Aldo Monteiro do Nascimento, Dionei Marcelo Moraes. 08 de novembro de 2006

Capítulo 9. Gerenciamento de rede

1

Arquitetura dos Sistemas de Informação Distribuídos

REDES DE COMPUTADORES. Arquiteturas de Redes

Entendendo como funciona o NAT

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Camada de Transporte TCP/IP e Aplicação

Servidor de s e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes

Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas


Gerencia de Rede (Desempenho) Professor: Guerra (Aloivo B. Guerra Jr.)

Redes de Computadores e a Internet

Servidor de Correio Eletrônico Postfix

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Tópicos Especiais em Redes de Telecomunicações

3 Qualidade de serviço na Internet

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Cap 03 - Camada de Aplicação Internet (Kurose)

UNIVERSIDADE. Sistemas Distribuídos

Transcrição:

MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO DEBORA HELENA JOB ARQUITETURA PARA A CAMADA DE AGREGAÇÃO EM REDES TOLERANTES A ATRASOS E DESCONEXÕES Rio de Janeiro 2010

INSTITUTO MILITAR DE ENGENHARIA DEBORA HELENA JOB ARQUITETURA PARA A CAMADA DE AGREGAÇÃO EM REDES TOLERANTES A ATRASOS E DESCONEXÕES Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Sistemas e Computação. Orientador: Prof. Ronaldo Moreira Salles - Ph.D. Rio de Janeiro 2010

c2010 INSTITUTO MILITAR DE ENGENHARIA Praça General Tibúrcio, 80-Praia Vermelha Rio de Janeiro-RJ CEP 22290-270 Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluílo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do autor e do orientador. J62 Job, D. H. Arquitetura para a Camada de Agregação em Redes Tolerantes a Atrasos e Desconexões/ Debora Helena Job. Rio de Janeiro: Instituto Militar de Engenharia, 2010. 100 p.: il., tab. Dissertação (mestrado) Instituto Militar de Engenharia Rio de Janeiro, 2010. 1. Correio Eletrônico. 2. Redes DTN. 3. Camada de Agregação I. Título. II. Instituto Militar de Engenharia. CDD 004.692 2

INSTITUTO MILITAR DE ENGENHARIA DEBORA HELENA JOB ARQUITETURA PARA A CAMADA DE AGREGAÇÃO EM REDES TOLERANTES A ATRASOS E DESCONEXÕES Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Sistemas e Computação. Orientador: Prof. Ronaldo Moreira Salles - Ph.D. Aprovada em 10 de Agosto de 2010 pela seguinte Banca Examinadora: Prof. Ronaldo Moreira Salles - Ph.D. do IME - Presidente Prof. Carlos Alberto Vieira Campos - DSc, da UNIRIO Prof. Ricardo Choren Noya - DSc, do IME Rio de Janeiro 2010 3

Dedico esta dissertação ao Verdadeiro DEUS, aos meus pais Decio e Heloisa, ao meu marido Alain e ao meu irmão Decio Junior. 4

AGRADECIMENTOS Em primeiro lugar ao Verdadeiro DEUS, por toda força e persistência que me concedeu nos momentos mais difíceis. A todos os meus familiares pelo apoio incondicional durante todo tempo dedicado à esta dissertação. Ao meu Orientador, Ronaldo Salles, por todo incentivo, apoio, paciência e conselhos para realização deste trabalho. Por fim, a todos os professores e funcionários do Departamento de Engenharia de Sistemas (SE/8) do Instituto Militar de Engenharia. Debora Helena Job 5

SUMÁRIO LISTA DE ILUSTRAÇÕES................................................ 8 LISTA DE TABELAS..................................................... 10 LISTA DE ABREVIATURAS E SÍMBOLOS................................. 11 1 INTRODUÇÃO.................................................. 14 1.1 Motivação.......................................................... 16 1.2 Objetivo........................................................... 17 1.3 Contribuições desta Dissertação....................................... 17 1.4 Organização da Dissertação........................................... 18 2 REDES TOLERANTES A ATRASOS E DESCONEXÕES....... 19 2.1 Os Fundamentos DTN............................................... 19 2.2 Arquitetura da Redes DTN........................................... 22 2.2.1 A camada de agregação.............................................. 23 2.2.2 Convenção de termos................................................ 25 2.2.3 Tipos de Contatos................................................... 28 2.2.4 Roteamento........................................................ 28 3 ARQUITETURA DE CORREIO ELETRÔNICO................. 30 3.1 Protocolos e RFCs.................................................. 32 3.2 Semelhanças entre as arquiteturas..................................... 34 4 TRABALHOS RELACIONADOS................................ 37 5 ARQUITETURA PROPOSTA................................... 43 5.1 A Subcamada Arquitetura de Correio Eletrônico........................ 45 5.1.1 Tabelas de Pesquisa (LOOKUP)...................................... 46 5.1.2 Filtro de Mensagens................................................. 48 5.1.3 Filas de Mensagens.................................................. 48 5.2 Subcamada de Adaptadores.......................................... 49 5.2.1 Eleição do Retransmissor............................................. 50 5.2.2 Subcamada Conversor da Aplicação................................... 52 6

6 IMPLEMENTAÇÃO DA ARQUITETURA PROPOSTA......... 53 6.1 Configuração Arquitetura............................................ 54 7 TESTES E RESULTADOS....................................... 56 7.1 Ambiente Emulado.................................................. 56 7.1.1 Resultados do Ambiente Emulado..................................... 57 7.2 Ambiente Real...................................................... 59 7.2.1 Cenários de Desconexões............................................. 61 7.2.1.1 Intervalo de tempo de conexão e desconexão fixo........................ 62 7.2.1.2 Intervalo de tempo de conexão e desconexão uniformemente distribuído..... 62 7.2.1.3 Intervalo de tempo de conexão e desconexão exponencialmente distribuído.. 63 7.2.2 Resultados do Ambiente Real......................................... 64 7.2.2.1 Intervalo de tempo de conexão e desconexão fixo........................ 64 7.2.2.2 Intervalo de tempo de conexão e desconexão uniformemente distribuído..... 65 7.2.2.3 Intervalo de tempo de conexão e desconexão exponencialmente distribuído.. 66 8 CONSIDERAÇÕES FINAIS..................................... 70 8.1 Trabalhos Futuros................................................... 72 9 REFERÊNCIAS BIBLIOGRÁFICAS........................... 74 10 APÊNDICES.................................................... 78 10.1 Apêndice 1: Um possível cenário para aplicação da arquitetura desenvolvida 79 10.2 Apêndice 2: Instalação da arquitetura concebida........................ 83 10.3 Apêndice 3: Procedimento PC do Módulo Adaptador.................... 85 10.4 Apêndice 4: Procedimento do Módulo Conversor da Aplicação............ 94 10.5 Apêndice 5: Procedimento de conexão e desconexão da interface de rede sem fio........................................................ 98 7

LISTA DE ILUSTRAÇÕES FIG.2.1 Formas de encaminhamento de mensagens. Figura adaptada de (DEMMER, 2004).............................................. 23 FIG.2.2 Modelo de camadas, contendo a camada de agregação................ 24 FIG.3.1 Fluxo de email. Figura adaptada (DENT, 2003)..................... 31 FIG.3.2 Processo de troca de comando em um conexão estabelecida com o servidor de SMTP. Figura retirada de (STALLINGS, 2005).......... 32 FIG.3.3 Exemplo de uma cabeçalho de mensagem. Figura retirada de (STALLINGS, 2005)......................................................... 33 FIG.5.1 Retransmissores de mensagens.................................... 44 FIG.5.2 Visão geral da localização da Camada de Agregação proposta......... 44 FIG.5.3 Visão ampliada e completa das subcamadas da Camada de Agregação 45 FIG.5.4 Exemplo de um mapa de transporte. Figura retirada de (DENT, 2003)......................................................... 47 FIG.5.5 Indexação das tabelas de pesquisa................................. 47 FIG.5.6 Eleição do retransmissor de mensagens............................. 50 FIG.5.7 Situação de loop................................................ 51 FIG.5.8 Funcionamento procedimento PC da subcamada adaptadores......... 52 FIG.7.1 Ambiente de emulação de máquinas virtuais. Adaptado de (AG- GRADI, 2008)................................................. 56 FIG.7.2 Taxas de entrega e perda das mensagens no ambiente emulado......... 58 FIG.7.3 Retardo médio das mensagens no ambiente emulado.................. 58 FIG.7.4 Número médio de saltos no ambiente emulado....................... 59 FIG.7.5 Resultados do teste com intervalos de tempo de conexão e desconexão fixo.................................................. 65 FIG.7.6 Taxa de Entrega para intervalos de tempo de conexão e desconexão uniformemente variado.......................................... 66 FIG.7.7 Taxa de Perda para intervalos de tempo de conexão e desconexão uniformemente variado.......................................... 67 8

FIG.7.8 FIG.7.9 FIG.7.10 FIG.7.11 Retardo Médio para intervalos de tempo de conexão e desconexão uniformemente variados......................................... 68 Taxa de Entrega e Perda Média para intervalos de tempo de conexão e desconexão exponencialmente variado............................ 68 Retardo Médio para intervalos de tempo de conexão e desconexão exponencialmente variado....................................... 69 Salto Médio para intervalos de tempo de conexão e desconexão exponencialmente variado....................................... 69 FIG.10.1 Fluxo do Atendimento da Dengue, Figura retirada de (DO GOVERDO DO ESTADO DO RIO DEJANEIRO)............................ 80 FIG.10.2 Hospital de Campanha do Exército, Figura retirada de (EXÉRCITO) 80 FIG.10.3 KioskNet, Figura retirada de (KESHAV, 2007)...................... 81 FIG.10.4 Modelo de infraestrutura de rede de comunicação própria............. 82 9

LISTA DE TABELAS TAB.6.1 Parâmetros configurados do main.cf............................... 55 TAB.7.1 Parâmetros de entrada e saída gerada pelo algoritmo genunif.c........ 63 TAB.7.2 Parâmetros de entrada e saída gerada pelo algoritmo genexp.c......... 63 TAB.7.3 Valores do teste com intervalos de tempo de conexão e desconexão fixo........................................................... 64 TAB.7.4 Valores de Salto Médio para os intervalos de tempo de conexão e desconexão uniformemente variado................................ 66 10

LISTA DE ABREVIATURAS E SÍMBOLOS ABREVIATURAS ASCII - American Standard Code for Information Interchange API - Aplication Programming Inteface BP - Bundle Protocol DHCP - Dynamic Host Configuration Protocol DTN - Delay Tolerant Networking DTNRG - Delay Tolerant Networking Research Group IDE - Integrated Development Environment IETF - Internet Engineering Task Force IMAP - Internet Message Access Protocol IME - Instituto Militar de Engenharia IP - Internet Protocol IPC - Inter Process Communication MDA - Mail Delivery Agent MIME - Multipurpose Internet Mail Extensions MTA - Mail Transfer Agent MUA - Mail User Agent OpenGL - Open Graphics Library PDA - Personal Digital Assistants POP3 - Post Office Protocol version 3 PRNG - Pseudo Random Number Generator RFC - Request For Coments RTT - Round-Trip Time SFTP - Simple File Transport Protocol SMTP - Simple Mail Transfer Protocol UUCP - UNIX-to-UNIX Copy Protocol WiFi - Trademark of a product based on IEEE 802.11 11

RESUMO A Internet é um fenômeno, devido em grande parte, a popularidade do protocolo TCP/IP. No entanto, a arquitetura da Internet não funciona eficientemente em alguns ambientes desafiadores de redes encontrados hoje. Tais ambientes compartilham a comum inabilidade de estabelecer e manter uma sessão de comunicação fim-a-fim com pouca perda e baixa latência. As Redes Tolerantes a Atrasos e Desconexões (DTN) surgem neste contexto propondo uma nova camada Bundle Layer para o modelo convencional de redes, com o objetivo de realizar dentre outras funcionalidades, o armazenamento persistente dos dados e o encaminhamento de mensagens salto a salto. A arquitetura DTN é baseada em uma abstração de entrega de mensagens muito similar ao correio eletrônico. As similaridades observadas tanto no correio eletrônico como na arquitetura DTN motivaram uma implementação para camada de agregação, fundamentada na arquitetura de correio eletrônico, que tem sido extensivamente testada, e provou ser confiável e robusta. Com base em todos os trabalhos pesquisados pode-se afirmar que este é o primeiro trabalho que emprega o correio eletrônico, não como uma aplicação, mas como o módulo principal para funcionar como se fosse a camada de agregação da arquitetura DTN. A arquitetura proposta foi elaborada, implementada e testada. Os testes foram realizados em um ambiente emulado e em um ambiente real, e os resultados obtidos confirmaram a viabilidade e a boa performance do modelo desenvolvido nesta dissertação. 12

ABSTRACT The Internet is a phenomenon, owing most of its popularity to the TCP/IP protocol stack. However, the Internet architecture does not operate efficiently in some challenged networks (chants) found today. Such environments share a common inability to establish and maintain a relatively low-loss and low-latency end-to-end communication session. Delay-Tolerant Networks (DTN) emerges in this context providing a new bundle layer to the conventional network architecture, with the goal to perform, among other features, the data persistent storage and the forwarding messages hop-by-hop. The DTN architecture is based on an abstraction of message delivery very similar to eletronic mail. Similarities observed both in the eletronic mail as in the DTN architecture to motivated an implementation to the aggregation layer, based on the electronic mail architecture, which has been extensively tested, and proved to be reliable and robust.with basis on all researched work, one can say this is the first work that employs email not as an application but as the main module to work as it were aggregation layer of the DTN architecture. The proposal architecture was elaborated, implemented and tested. The tests were performed in an emulate environment and in a real environment, and the results obtained confirmed the viability and good performance of the developed model included in this thesis 13

1 INTRODUÇÃO No presente século, a Internet é o centro tecnológico para realização de pesquisas sociais, econômicas e de negócios. O seu uso é vital não apenas para realização de pesquisas, mas também para permitir que as pessoas tenham fácil acesso a diversos tipos de informação, em seus trabalhos e residências e em seus dispositivos móveis. A Internet é uma história de sucesso graças ao arcabouço tecnológico que permite seu funcionamento. Os ambientes convencionais de redes, que são compostos por uma infraestrutura contemplada por diversos tipos de tecnologia, como por exemplo: satélite, celular, fibra ótica, linha telefônica, etc, e também pela flexibilidade, confiabilidade e robustez dos protocolos TCP/IP, permitiram o crescimento vertiginoso da rede mundial de computadores. Nos últimos anos, o aumento da produção de dispositivos de comunicação e computação móveis, tais como, telefones celulares, assistente pessoal digital PDAs (Personal Digital Assistants), computadores portáteis notebook/netbook e outros estão contribuindo para o surgimento de novos ambientes de redes. As redes formadas por esse tipo de dispositivo apresentam características como grande mobilidade, baixa autonomia de baterias e pouca ou nenhuma infraestrutura. Tais fatores colaboram para o aparecimento de cenários desafiadores, onde os atrasos e as desconexões ocasionam o funcionamento inadequado da rede. Ambientes totalmente ou parcialmente desconectados que compartilham a comum inabilidade para estabelecer e manter uma conexão fim-a-fim, com baixa perda de pacotes e pouca latência na rede são conhecidos como, redes tolerantes a atrasos e frequentes desconexões - DTN (Delay-Tolerant Networking) (DEMMER, 2004) ou redes de desafios - CHANTS (CHAllenged NeTworkS) (CHEN, 2006). O protocolo de controle de transporte TCP (Transport Control Protocol) é orientado à conexão, o que permite a confiabilidade na entrega fim-a-fim. Ele opera sobre o protocolo da Internet IP (Internet Protocol) que é uma tecnologia que permite o armazenamento e 14

encaminhamento de pacotes em escala de tempo na rede. O TCP e outros protocolos da camada de transporte garantem a confiabilidade ao protocolo IP. Segundo os experimentos realizados em (DEMMER, 2004), que avaliaram a utilização da largura de banda pelos protocolos Bundle Protocol, SMTP (Simple Mail Transport Protocol) e SFTP (Simple File Transport Protocol) utilizados tanto na configuração de conexão fim-a-fim quanto na conexão salto a salto, é possível afirmar que a performance dos protocolos TCP/IP, em ambientes onde eventuais desconexões ocorrem é insatisfatória. Os ambientes de comunicação que apresentam atrasos e desconexões, por falta de recurso ou pela grande mobilidade dos dispositivos, como alguns tipos de redes de sensores e redes MANETs (Mobily Ad Hoc Network), são cenários de atuação da arquitetura DTN (OBRACZKA, 2009). Esta também se adequa a ambientes de comunicações rurais, comunicações submarinas, comunicações de desastres, comunicaões militares e comunicações interplanetárias. As redes táticas militares são cenários típicos para uso das redes DTN, pois estão sujeitas a frequentes interrupções nas comunicações fim-a-fim, gerando assim, falta de confiabilidade que inviabiliza as comunicações em ambientes campos de batalha. Por isso, os projetos militares CONDOR (Command and Control on the Move Network, Digital Over the Horizon Relay) e Sistema Tático de Comunicações de Brigada (SISTAC/Bda) fazem uso das redes DTN para resolver os problemas de comunição em seus ambientes. O CONDOR é um sistema da Marinha Americana, que inclui roteadores, equipamentos de criptrografia, rádios e satélites, que procura fornecer conectividades para encaminhamento de mensagens entre usuários da brigada com outra unidades de rádios tático nos ambientes militares (SCOTT, 2005). O SISTAC/Bda do Exército Brasileiro, é um sistema composto por: sistemas multicanal, rádio, físico e mensageiro, que permite a comunicação entre as brigadas, e que segundo (MEDEIROS, 2009)mesmo sendo contemplados por inovações tecnológias ainda não sofreu alterações significativas. Sendo assim, desenvolver pesquisas sobre novas tecnologias que ofereçam melhoras significativas na forma de como é realizada a comunicação nos ambientes táticos militares, principalmente do Exército Brasileiro, mostra-se uma boa opção de trabalho. 15

A rede DTN possui uma arquitetura proposta pelo grupo de pesquisa DTNRG (DTN Research Group) (FALL, 2003c). A arquitetura apresenta várias características, como, esquema de endereçamento, oráculos de conhecimento, camada de agregação e etc, que estão em processo de avaliação por pesquisadores. Por se tratar de um assunto relativamente novo, existem ainda muitos pontos em aberto, como por exemplo, a camada de agregação Bundle Layer. A camada de agregação é definida como uma sobrecamada orientada a mensagem fima-fim que situa-se entre a camada de aplicação e a camada de transporte dos modelos convencionais, OSI e TCP/IP, de arquitetura de redes. Os dispositivos que implementam a camada de agregação são chamados de nós DTN. A camada de agregação emprega o armazenamento persistente para combater a interrupção da rede além de incluir a responsabilidade de entrega confiável de mensagem na transferência salto a salto e um conhecimento fim-a-fim opcional. Também possui um número de diagnósticos e características de gerenciamento. Para permitir a interoperabilidade entre os diversos tipos de redes, a camada de agregação emprega um esquema de nomeação flexível (baseado em URI Uniform Resource Identifiers) capaz de encapsular diferentes esquemas de nome e endereçamento. Ela também tem um modelo de segurança básico habilitado opcionalmente (CERF, 2007). De forma geral, a arquitetura DTN fornece um método comum de interconectar redes heterogêneas, trabalhando com o paradigma do armazenamento e encaminhamento de mensagens roteadas em comunicações com interrupções, além de fornecer um serviço de transferência de mensagens similar ao correio eletrônico (FALL, 2003d). 1.1 MOTIVAÇÃO A arquitetura para redes DTN, de forma geral, se propõe a fornecer conectividade de rede em ambientes que possuem a inviabilidade do estabelecimento de conexão fim-a-fim sem intermitência. O problema observado neste trabalho é como a camada de agregação das redes DTN trata as questões inerentes aos mais variados tipos de ambientes. Como foi relatado por (FALL, 2003d), as redes DTN são baseadas em uma abstração de entrega de mensagens entre aplicações, conceitualmente muito similar ao correio eletrônico. Esta afirmação motivou o desenvolvimento desta pesquisa, até porque, o princípio fun- 16

damental do correio eletrônico se adequa a função principal das redes DTN: o armazenamento e repasse de mensagens. Todo e qualquer usuário do correio, seja ele eletrônico ou tradicional, está acostumado que ocorra um atraso entre o envio de uma mensagem e o recebimento de uma resposta. O correio eletrônico, também conhecido como e-mail, é uma aplicação que têm padrões bem definidos e amplamente implementados. É muito utilizado para negócios e comunicações pessoais, por possuir mecanismos que garantem uma forma segura e eficiente de comunicação. 1.2 OBJETIVO Empregar a arquitetura de correio eletrônico que é amplamente testada, confiável e robusta, para criar uma plataforma de comunicação em redes DTN, com poucos ajustes adicionais a esta arquitetura. Ou seja, desenvolver um modelo utilizando a arquitetura de correio eletrônico, para que possa fazer as vezes da Camada de Agregação em redes DTN. 1.3 CONTRIBUIÇÕES DESTA DISSERTAÇÃO Para propor esta dissertação, um estudo minucioso sobre Redes Tolerantes a Atrasos e Desconexões - DTN foi realizado. No decorrer da pesquisa bibliográfica constatou-se que a arquitetura DTN apresentava características comuns com o correio eletrônico, a partir daí, iniciou-se um estudo detalhado sobre a arquitetura de correio eletrônico. Logo, ao averiguar as similaridades encontradas nas duas arquiteturas, motivou o desenvolvimento deste trabalho. Durante a elaboração da proposta teórica foi feito um levantamento sobre como a arquitetura de correio eletrônico poderia ser usada para atender as necessidades de ambientes com frequentes desconexões. Assim, um modelo completo, que agrega as principais funcionalidades necessárias para atuar como se fosse a camada de agregação das redes DTNs, foi elaborado. O modelo proposto foi organizado em subcamadas, que contém módulos com funções específicas. A implementação iniciou-se pela subcamada da Arquitetura de Correio Eletrônico. 17

Um servidor de correio eletrônico foi instalado e devidamente adaptado para realizar a retransmissão de mensagens. Em seguida, verificou-se a necessidade da implementação das subcamadas de Adaptadores e Conversor da Aplicação para contribuir com a subcamada da Arquitetura de Correio Eletrônico. Depois do modelo formado e implementado, uma avaliação de desempenho foi realizada através de experimentos feitos em dois tipos de ambientes: um emulado e um real. Os resultados obtidos permitiram verificar a viabilidade, vantagens, desvantagens e a robustez da arquitetura idealizada. Sendo assim, o conjunto formado pelo desenvolvimento teórico, implementação e experimentos realizados, permitiram efetuar configurações específicas no agente de transferência de mensagem, e desenvolver as subcamadas de adaptadores e conversor da aplicação, que permitiram que os MTAs se comportem como nós retransmissores realizando a troca de mensagem nó a nó, configurando assim, as efetivas contribuições desta dissertação. 1.4 ORGANIZAÇÃO DA DISSERTAÇÃO Esta dissertação está dividida em 7 capítulos, sua organização é a seguinte: No Capítulo 2 são abordados os principais conceitos sobre redes tolerantes a atrasos e desconexões - DTN. No Capítulo 3 são detalhadas as principais funcionalidades da arquitetura de correio eletrônico, e também as similaridades entre as duas arquiteturas, DTN e correio. No Capítulo 4 são apresentados os trabalhos relacionados. O Capítulo 5 explica a arquitetura proposta e sua implementação. No Capítulo 6 são apresentadas as características dos experimentos realizados e seus resultados. Finalmente, no Capítulo 7 são realizadas as considerações finais juntamente com trabalhos futuros. 18

2 REDES TOLERANTES A ATRASOS E DESCONEXÕES O sucesso da Internet deve-se ao bom funcionamento dos protocolos TCP/IP em ambientes com tecnologia de redes disponíveis. Nos dias de hoje existem inúmeras tecnologias como: satélite, fibra óptica, 3G e 4G, e outros, que permitem a comunicação. Mas há ambientes onde a Internet apresenta-se com limitações por escassez ou falta desses recursos. Atualmente estão surgindo novos ambiente de redes, graças o aumento vertiginoso na produção de dispositivos móveis. As redes que são formadas por esses dispositivos contribuem para o aparecimento de cenários de atrasos e desconexões, ocasionados principalmente pelas características de grande mobilidade e autonomia de recursos de energia dos dispositivos. É no contexto dos ambientes desafiadores, que surgem as redes tolerantes a atrasos e desconexões DTN (FALL, 2004), que segundo (DEMMER, 2004) são ambientes que compartilham a comum inabilidade de estabelecer e manter uma sessão de comunicação fim-a-fim com pouca perda e baixa latência. As redes DTN incorporam o conceito de redes ocasionalmente conectadas, que podem sofrer frequentes partições sendo providas por mais de um conjunto de protocolos ou família de protocolos (CERF, 2007). 2.1 OS FUNDAMENTOS DTN No final da década de 90, a DARPA(Defense Advanced Research Projects Agency) fundou um grupo de estudos, o Projeto da Internet Interplanetária IPN (Interplanetary Internet project) (BURLEIGH). O IPN é composto por um time de pesquisadores da NASA Jet Propulsion Laboratory, MITRE Corporation, SPARTA, Global Science & Technology, USC/ISI, UCLA e CalTech. O foco principal do grupo é investigar como as técnicas e os protocolos da internet terrestre poderiam ser estendidos e/ou usados no espaço. 19

O objetivo do projeto da DARPA foi definir uma arquitetura e protocolos necessários para permitir a interoperabilidade da Internet terrestre com a Internet residente em planetas e astronaves. Todavia, através dos trabalhos realizados, foram constatados vários entraves, tais como: a propagação de atrasos muito longos, as entregas assimétricas e links reversos, as taxas de erros variáveis e extremamente altas, a conectividade de enlaces intermitentes, por exemplo problemas de energia, tamanho e restrições de custo para hardware de comunicação e desenvolvimento de protocolos (BURLEIGH, 2003). Observando as pesquisas em desenvolvimento, membros do IRTF (Internet Resource Task Force), associaram os problemas que ocorriam no ambiente interplanetário com algumas situações existentes em ambientes terrestres, e constataram que ao adequar as soluções concebidas pelo IPN poderiam minimizar problemas em aberto nas redes terrestres. Assim, em 2002 foi fundado o grupo chamado DTNRG, com a função de difundir o conceito DTN para ambientes terrestres. Os membros do DTNRG têm somado esforços para desenhar uma arquitetura e desenvolver protocolos necessários para proporcionar a interoperabilidade, entre ambientes desafiadores CHANTS, onde a continuidade de uma conexão fim-a-fim não pode ser assumida, o que é muito comum em ambientes espaciais, ambientes militar/tático, alguns ambientes de desastres, ambientes marítimos, e em algumas formas de redes ad hoc e de sensores (FALL, 2003c) (WOOD, 2004). As pesquisas em redes DTN estão objetivando a busca por soluções para atender as necessidades dos ambientes com atrasos e desconexões, pois há uma necessidade de mudança do paradigma das redes tradicionais para redes em ambiente desconectados. Soluções essas que permitam gerar uma forma de organizar um conjunto de nós para armazenar e encaminhar mensagens em ambientes desconectados (CERF, 2007), pois a aplicabilidade do protocolo TCP/IP nos ambientes com desconexões, longos e variados atrasos na transmissão apresenta-se com limitações (DEMMER, 2004). Os princípios da arquitetura DTN estão publicadas em duas RFCs, a 4838 (CERF, 2007) e a 5050 (SCOTT, 2007) são um produto do IRTF e ainda não foram padronizadas pelo IETF (The Internet Engineering Task Force), pois de acordo com os pesquisadores 20

do DTNRG, essas RFCs são publicações das pesquisas relacionadas a Internet e das avaliações das atividades em desenvolvimento. As redes DTN são apropriadas para ambientes de redes de desafios. Nestes tipos de ambientes, os enlaces de comunicação são instáveis inviabilizando o estabelecimento e a manutenção de uma conexão fim-a-fim. Essas redes podem englobar redes com infraestrutura, como a comunicação espacial, que pode ser fixa ou móvel, e redes sem infraestrutura, que é o caso das MANETs para comunicação interpessoal. Sendo assim, quando o paradigma de comunicação tradicional das redes falhar, as redes DTN entram em atuação. Nos ambientes desafiadores, a figura do roteador é cada vez menos necessária, pois os nós da rede são colaboradores uns com os outros, tendo responsabilidades de executar, como por exemplo: algoritmos de roteamento e controle de congestionamento, que anteriormente não lhes eram legadas (OBRACZKA, 2009). Tal fato é confirmado pela forma de funcionamento das redes ad hoc móveis, as MANETs. Todavia, quando a topologia das MANETs é caracterizada por alta mobilidade, frequentes desconexões ocorrem e o desempenho dos protocolos TCP/IP é afetado. As MANETs, de acordo com (GAST, 2005) são redes formadas por nós que se comunicam diretamente uns com os outros sem que exista um ponto de acesso para dar suporte a mobilidade. Este tipo de rede é composta por um conjunto de nós que cooperam entre si, que são configurados para um propósito específico, por um determinado período de tempo. Neste tipo de rede, o controle e o gerenciamento da rede são distribuídos através dos nós, e para realizar o roteamento já existe uma quantidade considerável de protocolos, como por exemplo: AODV(Ad hoc On Demand Distance Vector) (PERKINS, 1999), DSR(Dynamic Source Routing) (JOHNSON, 1996) e DSDV (Destination-Sequenced Distance-Vector) (PERKINS, 1994). Conforme explica (DALY, 2009), quando as MANETs sofrem frequentes alterações, como o aumento no número de nós, bem como, a alta mobilidade que estes apresentam, a performance da rede é prejudicada. Além disso, os protocolos para esse tipo de rede trabalham assumindo a existência de um caminho completo entre a origem e o destino no tempo de envio, porém em ambientes DTN, tal fato pode não ocorrer. Sendo assim, as 21

redes MANETs estão incorporando o conceito DTN, para superar essas limitações. Estas redes estão sendo chamadas de DDTMs (disconnected delay-tolerant MANETs). Logo, conforme explica (FALL, 2004), são vários os fatores que motivaram propor uma arquitetura para redes DTN, no entanto, a questão da arquitetura TCP/IP não funcionar adequadamente para esses ambientes é o que impulsionou-os definir o modelo DTN. Contudo, a principal questão que permeia as redes para ambientes desconectados são norteadas principalmente pelos longos atrasos e as frequentes desconexões. 2.2 ARQUITETURA DA REDES DTN O problema dos atrasos e frequentes desconexões nas redes DTN são o ponto chave para todo o desenvolvimento da arquitetura DTN. Os atrasos em rede DTN podem levar horas e até mesmo dias, gerados tanto pela propagação do sinal, quanto na transmissão da mensagem. Já as desconexões podem ser causadas por questões de alta mobilidade dos nós, pelas péssimas condições de comunicação da rede, por negação de serviço para não sujar a frequência em operações militares, economia de recursos energéticos dos dispositivos (OLIVEIRA, 2008). Contudo, para resolver os problemas relacionados as redes DTN, foi proposto utilizar a tecnologia de comutação de mensagens com o armazenamento persistente dos dados. A técnica de comutação de mensagens é um dos principais paradigmas para as comunicações, onde não se faz necessário o estabelecimento de um caminho dedicado entre origem e destino. Este processo é semelhante ao que ocorre na comutação de pacotes, quando dois roteadores de uma rede não compartilham uma linha de transmissão e necessitam comunicar-se e para que isso aconteça, roteadores intermediários recebem, armazenam e posteriormente repassam os pacotes, até que estes alcancem o destino (STALLINGS, 2005). Por utilizar a comutação de mensagens e o armazenamento persistente dos dados, as rede DTNs são um neologismo usado para uma nova arquitetura de store-carry-andforward com um protocolo adaptado para atender as necessidades dos ambientes desafiadores (OBRACZKA, 2009). 22

FIG. 2.1: Formas de encaminhamento de mensagens. Figura adaptada de (DEMMER, 2004) A FIG. 2.1 ilustra como uma mensagem é encaminhada em ambientes de redes convencionais, onde uma conexão fim-a-fim é estabelecida entre a origem e o destino, e esboça também, como é realizada a dinâmica do envio da mensagem usando a comutação de mensagem salto a salto, através do uso de nós intermediários. O armazenamento e repasse da mensagem ocorrem por um determinado período de tempo, onde a mensagem é carregada, devido à mobilidade dos nós, até o estabelecimento de um contato para ser repassada. Um fator que é levado em consideração é a capacidade de armazenamento que um nó possui, pois devido a isso pode-se ou não armazenar grandes quantidades de mensagens neste nó. Como explica (BIGWOOD, 2008), ao aplicar conceitos de redes sociais em ambientes DTN, é possível verificar que dependendo de quão social seja um nó na rede DTN, e este dispuser de recursos de armazenamento e energia, como é no caso de redes de sensores, maior será a probabilidade das mensagens alcançarem o seu destino. Cabe ressaltar que as redes DTN utilizam-se de contatos oportunísticos para realizar o encaminhamento das mensagens, constatando assim, que a semântica fim-a-fim, herdada da confiabilidade do protocolo TCP, torna-se obsoleta, para esse tipo de ambiente, pois todo encaminhamento da rede ocorre salto a salto. 2.2.1 A CAMADA DE AGREGAÇÃO A arquitetura DTN foi desenvolvida não apenas para acomodar interrupção de conexão da rede, mas também para fornecer uma estrutura de suporte para o relacionamento 23

com os mais diversos tipos de redes existentes (FALL, 2008). Assim, foi definida uma nova camada orientada a mensagem (overlay), denominada camada de agregação situada abaixo da camada de aplicação e acima da camada de transporte. A camada de agregação é a principal contribuição da arquitetura DTN (DALY, 2009), pois emprega o conceito de armazenamento persistente, que ajuda combater a perda de dados com interrupções na rede, além de, incluir a transferência salto a salto com entrega confiável desses dados. Esta camada apresenta ainda uma série de diagnósticos e características de gerenciamento, que são implementadas pelo BP (Bundle Protocolo) (SCOTT, 2007). O BP é um dos principais protocolos das redes DTN. Ele reúne dados vindos da camada de aplicação e uma série de dados de controle, que permite que a informação seja transmitida na rede. Todas as especificações deste protocolo estão documentadas na RFC 5050 (SCOTT, 2007). Para manter a interoperabilidade, a camada de agregação usa um esquema flexível de nomeação capaz de encapsular diferentes nomes e esquemas de endereçamento, visando minimizar grandes impactos que pudessem ocorrer entre aos diversos tipos de redes. Como forma de proteção, a camada de agregação permite o uso de um modelo de segurança habilitado opcionalmente (CERF, 2007). FIG. 2.2: Modelo de camadas, contendo a camada de agregação 24

A FIG. 2.2 possibilita uma visão do modelo de camadas de redes de comunicação destacando a camada de agregação, que é uma camada que está em desenvolvimento. É possível verificar o comportamento das mensagens ou agregados percorrendo cada camada, onde cada nó intermediário que possui a responsabilidade do repasse da mensagem (FALL, 2003d) é denominado custódio, armazena e repassa a mensagem para o próximo custódio, até que a mensagem alcance o destino. 2.2.2 CONVENÇÃO DE TERMOS A arquitetura DTN convencionou alguns termos, como agregados (Bundles), nós custódios (Custodian), mula de dados (data MULEs), ponto de extremidade (End point), vinculação tardia (Late binding) e outros que iremos descrever, de forma sucinta, a seguir. Todavia, para detalhamento mais específico consultar (CERF, 2007). OS AGREGADOS O termo agregado, conceituado como DTN PDUs (Protocol Data Units ) envolve uma coleção de tipos de blocos, que contém metadados e alguns contém dados da aplicação. De forma geral, o bloco dos metadados compõe o cabeçalho do agregado com todas as informações pertinentes para o repasse do mesmo, enquanto os dados da aplicação são anexados ao final do cabeçalho do agregado (SCOTT, 2007). Logo, os metadados permitem que o BP tenha total conhecimento sobre o agregado, como por exemplo, se o agregado pode ser descartado, quais são suas funções de roteamento, qual é a sua prioridade e outras características a mais. Sendo assim, é possível classificar o agregado com sendo um pacote ou mensagem que contém os dados em uma rede DTN. Conforme coloca (FALL, 2008), um agregado pode ser fragmentado, ter seus dados codificados, além de poder realizar alguma forma de detecção de erros. A fragmentação é um ponto ainda em discussão, apesar de apresentar semelhança com a fragmentação do protocolo IP. Todavia, sua principal função é permitir que agregados com tamanho relativamente grande, possam ser armazenados e repassados até seu destino sem que haja descarte por falta de espaço para armazenamento nos nós da rede. Ela é realizada através da especificação de um campo especial no bloco de cabeçalho do agregado, além de usar a fragmentação existente no protocolo IP para colaborar com a montagem do 25

agregado no destino. No caso da codificação dos dados, requer um esquema usado pelo BP, que textos (strings) de tamanho variado são agrupados em um dicionário localizado no fim do primeiro bloco. O BP não fornece mecanismos de correção e detecção de erro para um agregado realizar a checagem de integridade. É necessário a implementação, na camada de agregação, do protocolo de segurança de agregação Bundle Security Protocol (SYMINGTON, 2010). ESQUEMA DE NOMES O esquema de nomes e endereçamento são alguns dos aspectos fundamentais da arquitetura DTN. Nomes podem ser strings de tamanho variado, enquanto endereços tem identificadores de tamanho fixo. Nomes são amigáveis e de fácil memorização, identificadores de endereçamento geralmente não são. Por esses motivos existem formas de mapear ou utilizar funções de vinculação para efetuar a conversão de nome para endereços, como é o caso do DNS (Domain Name Server) na Internet. Nas redes DTN os nós possuem identificadores. Cada nó DTN tem um nome com duas partes, uma que é o identificador da região, que é conhecido entre todas as regiões da rede DTN e o identificador de entidade, que tem o escopo regional. Além disso, o BP usa os identificadores também para especificar o tipo de aplicação de interesse do nó. O sistema de nomeação usado pela arquitetura respeita as normas do identificador uniforme de recursos conhecido por URI (Uniform Resource Identifier) (BERNERS-LEE, 2005), e como explica (FALL, 2008), que o BP utiliza as propriedades a seguir: As URIs são da forma esquema : parte específica do esquema; Comprimento variável para as URIs; URIs obedecendo uma estrutura semântica, mas definindo seus próprios esquemas. IDENTIFICADOR DE PONTO DE EXTREMIDADE Ponto de extremidade é um agrupamento de nós da rede DTN. Cada ponto desse grupo possui um identificador, o EID (endpoint identifiers) cuja função é identificá-lo na rede. Os EIDS são nomeados usando as URIs. 26

VINCULAÇÃO TARDIA A vinculação tardia é uma técnica que mapeia o caminho do destinatário ao seu endereço IP. Todavia, ao contrário do que acontece com a vinculação antecipada, na Internet convencional, a vinculação tardia não tem o seu mapeamento realizado no ato de envio do agregado, mas sim, à medida que a mensagem percorre os nós intermediários da rede, esta é realizada. OS CUSTÓDIOS A transferência de custódia é uma função opcional fornecida a um agregado que implica na forma com que ele será entregue através da DTN. Quando a transferência de custódia é usada, o nó que recebe a custódia do agregado é denominado custódio e torna-se o responsável por entregá-lo com uma confiabilidade mínima, para outro custódio. De acordo com (FALL, 2003a) o nó custódio tem o objetivo de passar a responsabilidade da entrega de um agregado de um nó para outro nó, saindo da sua origem e chegando ao seu destino. Isto torna-se viável pela associação do modelo de transferência de custódia, ao uso do armazenamento persistente nos nós intermediários permitindo assim, formas de delegar responsabilidade sobre a transferência de dados. Nem todos os nós da rede DTN usam a transferência de custódia. Mas, em algumas redes DTN, para evitar perda de dados, todos os nós são custódios. É claro que o uso dos custódios de forma eficaz depende de uma rede DTN estável, que tenha recursos de armazenamento e energia disponíveis. MULA DE DADOS Mula de dados é o termo usado para representar um nó móvel da rede DTN que permite estender a cobertura da rede e/ou o número de oportunidades de comunicação. De forma geral, esses nós são representados por meios de transporte, pessoas ou animais, que são equipados com dispositivos móveis, com a arquitetura DTN instalada para realizarem o armazenamento, o deslocamento e o encaminhamento dos agregados. 27

CLASSES DE SERVIÇO As classes de serviço, que fornecem uma especificidade para o agregado. Os nós da rede recebem o agregado de acordo com sua prioridade. Existem três tipo de classes de serviços, a baixa prioridade, a prioridade normal e a prioridade expressa (SCOTT, 2007). REGISTRO DE ENTREGA Os registros de entrega provê informações sobre a entrega do agregado. Estes são de dois tipos, o de sinalização de custódia, cuja função é informar ao nó custódio que solicitou um transferência de custódio se esta foi ou não aceita. O outro tipo é o relatório que expressa qual é o estado que o agregado se encontra, se ele está na fase de entrega, reconhecimento, recepção, aceitação de custódia, encaminhamento ou de eliminação do agregado. 2.2.3 TIPOS DE CONTATOS Os contatos são de grande importância nesse tipo de ambiente, eles compõem a infraestrutura da rede pelas ligações (links), são chamados grafos dinâmicos. Como explica (DEMMER, 2004) o modelo de rede DTN é um grafo de uma topologia variando no tempo, onde os vértices são representados pelos nós e as oportunidades de comunicações que são os contatos são as arestas entre os nós. Em rede DTN são definidos cinco tipos de contatos, os persistentes, os sob demanda, os programados, os oportunistas e os previsíveis. Porém, são os contatos oportunistas que acontecem sem que exista nenhuma previsão para que eles ocorram, o tipo mais frequente em ambientes que apresentam atrasos e frequentes desconexões, e serão o tipo de contato usado nesta dissertação. 2.2.4 ROTEAMENTO Como explica (FALL, 2008), roteamento em redes DTN tem se tornado uma área de pesquisa independente. Existem vários esquemas de roteamento propostos em teses, dissertações e artigos. Porém, o roteamento em DTN não será contemplado pela arquitetura concebida neste trabalho. Sendo assim, apenas uma visão geral sobre esse assunto será descrita nesta seção. 28

Os métodos de roteamento envolvem inúmeras questões como a criação e a deleção dos agregados, vários graus de conhecimento sobre a topologia e padrões de tráfico da rede, fragmentação, reserva de recursos, roteamento diferente para diferentes classes de serviços e custódia (FALL, 2008). Devido a tais fatores, todo e qualquer tipo de roteamento baseia-se no grau das informações contidas nos cenários da rede. Os cenários podem ser determinísticos, onde as informações sobre comportamento da rede são conhecidas, ou estocástico, onde o comportamento da rede não é totalmente conhecido. Conforme explica (CAMPOS, 2009) as redes DTNs tem um roteamento baseado na forma como as mensagens são trocadas e encaminhadas a cada estabelecimento de contato, e devido a isso, os protocolos de roteamento são classificados como: encaminhadores e replicadores. Os primeiros, como, o PROPHET, o MEED, o MaxProp, selecionam as mensagens que serão transmitidas, e os replicadores, como, o Epidêmico e o RAPID, transmitem cópias das mensagens em cada contato. Este tipo de protocolo implica na desvantagem de duplicatas na rede. No entanto, mecanismos de controle para os algoritmos epidêmicos, em ambientes desconectados são cada dia mais presentes usando controles de saltos e probabilidade para o repasse. De forma geral, os protocolos de roteamento permitem armazenar um conhecimento prévio da rede, através de vários critérios que devem ser analisados como, por exemplo, o tempo do último contato, a frequência com que o nó está presente na rede numa janela de tempo, o quão social é aquele nó na rede. Todos esses critérios e outros mais, influenciarão diretamente no roteamento para decidir se o nó é bom ou não para carregar a mensagem, ou seja, descobrir os melhores retransmissores (relay) da rede. 29

3 ARQUITETURA DE CORREIO ELETRÔNICO Este capítulo apresenta as principais características da arquitetura de correio eletrônico, evidenciando seus protocolos e detalhando as semelhanças observadas entre esta arquitetura e as funcionalidades propostas para redes tolerantes a atraso e desconexões descritas no capítulo anterior. O correio eletrônico que é amplamente conhecido como e-mail, surgiu no início dos anos 70 com envio das primeiras mensagens através da Arpanet, predecessora da Internet. Desde então, esta aplicação é a mais utilizada na rede mundial de computadores. Contudo, no passado, seu principal objetivo era efetuar a transferência de mensagens entre computadores de grande porte, todavia, com passar do tempo e a popularização da Internet novas funcionalidades foram desenvolvidas. A complexidade e a flexibilidade da Internet impulsionaram o desenvolvimento de novas ferramentas para mover as mensagens entre os mais diferentes tipos de redes. Por conseguinte, os e-mails passaram a transferir mensagens com anexo, que não eram apenas textos, mas também, imagens, vídeos e outros, tornando a arquitetura de correio eletrônico, o serviço mais utilizado por fornecer um método confiável e conveniente de transferir informação. (COMER, 2006) Os e-mails são compostos por dois subsistemas: um possibilita a leitura e a escrita das mensagens e o outro a transferência das mesmas. O primeiro é denominado de MUA (Mail User Agent), como exemplo, o Mutt, Pine, Outlook Express. Já o segundo, o MTA (Mail Transfer Agent) que são dos deamons do sistemas, ou seja, processos que rodam em segundo plano na máquina e são os responsáveis por executar maior parte do trabalho da arquitetura de correio, e como exemplo o Postfix, Sendmail. A principal função do e-mail é a transmissão de mensagens. O ato de transferir uma mensagem é a forma com que esta é gerada em uma origem e atinge o seu destino. 30

A idéia geral do funcionamento do correio eletrônico está associada ao conceito de envelope e conteúdo. O conteúdo é composto por um cabeçalho e um corpo, que são encapsulados em um envelope, que contém todas as informações necessárias para realizar a transmissão e a entrega da mensagem. De forma geral, o repasse e entrega das mensagens ocorrem quando um cliente utilizando um MUA cria a mensagem e especifica o endereço do destinatário. Este MUA encaminha a mensagem para o seu MTA, que determina se ele deverá receber ou não a mensagem. Um MTA geralmente aceita mensagens para os seus próprios usuários locais; para sistemas de outros, ação conhecida como passar adiante; para usuários, sistemas, ou redes que são permitidas como retransmissoras de mensagens. O MTA aceita e encaminha a mensagem para o MDA (Mail Delivery Agent) que envia para uma área de armazenamento, quando o destinatário da mensagem faz parte do seu domínio, caso contrário, o MTA repassa a mensagem para outros MTAs intermediários, até que a mensagem chegue ao seu destino, conforme ilustrado na FIG 3.1. Se o MTA não consegue entregar a mensagem ou passá-la adiante, ele retorna uma mensagem, ao remetente original da mensagem, ou notifica o administrador do sistema a não realização da entrega (DENT, 2003). FIG. 3.1: Fluxo de email. Figura adaptada (DENT, 2003) Um servidor retransmissor de e-mail permite que qualquer usuário na Internet envie mensagens para um destino específico através dele. Eles foram criados para facilitar a retransmissão de mensagens entre sistemas de e-mail fechados e separados, como se fossem um gateway, como por exemplo, no caso do UUCP (UNIX-to-UNIX Copy Protocol), ou para permitir que administradores de rede fizessem depuração da conectividade da 31

mensagem. Entretanto, devido à expansão da Internet, eles estão sendo usados de forma errônea no envido de grandes volumes de mensagens não solicitadas na Internet, conhecidas com SPAM. Todavia, é comum encontrar MTA servindo como um nó intermediário no caminho que a mensagem percorre até o destino final (DENT, 2003). A arquitetura de correio eletrônico foi construída respeitando vários padrões e protocolos. Estes definem como as mensagens são compostas e transferidas do remetente ao seu destinatário. Sendo assim, todas as transformações ocorridas na arquitetura de correio eletrônico possuem padronização internacional mantida pelo IETF. 3.1 PROTOCOLOS E RFCS A RFC 2821 trata das informações sobre como é realizada a transmissão das mensagens, enquanto a RFC 2822 relata o que é necessário para o formato das mensagens, ambas implementadas pelo protocolo SMTP. Este é bastante simples e escrito no formato ASCII (American Standard Code for Information Interchange). O protocolo SMTP usando a RFC 2821 especifica como o correio eletrônico executa o repasse das mensagens na rede. Este protocolo é um texto no formato ASCII, que cria uma comunicação entre cliente e servidor através do estabelecimento de uma conexão TCP na porta 25 e em seguida é iniciada uma conversação entre o cliente e o servidor, que trocam uma série de comando mostrados na FIG. 3.2. FIG. 3.2: Processo de troca de comando em um conexão estabelecida com o servidor de SMTP. Figura retirada de (STALLINGS, 2005) 32