DANIEL HENRIQUE JOPPI. Implementação do Protocolo de Roteamento AntHocNet no Network Simulator 2



Documentos relacionados
Tabela de roteamento

Arquitetura de Rede de Computadores

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

Capítulo 4 - Roteamento e Roteadores

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

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

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

COMPONENTES BÁSICOS DE

Márcio Leandro Moraes Rodrigues. Frame Relay

Tecnologia de Redes de Computadores - aula 5

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Fundamentos de Redes de Computadores. Elementos de Redes Locais

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

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Entendendo como funciona o NAT

Rede de Computadores II

Roteamento em Redes de Computadores

PROJETO DE REDES

Inteligência Computacional Aplicada a Engenharia de Software

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

Introdução Ligação direta Ligação direta Default

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

A Otimização Colônia de Formigas

Inteligência de Enxame: ACO

O que é? Swarm Intelligence. Qual a origem? Cardume. Qualquer tentativa de projetar algoritmos ou técnicas de resolução distribuída de

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

Mobile Communications. RedesAd-hoc

Equipamentos de Redes. Professor Leonardo Larback

DIFERENÇAS ENTRE HUB, SWITCH E ROOTER

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

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

Consulte a exposição. Qual declaração descreve corretamente como R1 irá determinar o melhor caminho para R2?

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord

Dinâmicas de Acesso ao Espectro

Prof. Samuel Henrique Bucke Brito

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

Roteamento e Comutação

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Redes de Computadores II INF-3A

09/06/2011. Profª: Luciana Balieiro Cosme

Capítulo 3: Implementar a segurança por meio de VLANs

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

Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace.

Sistemas Distribuídos

Prof. Samuel Henrique Bucke Brito

Voltar. Placas de rede

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

SISTEMAS DISTRIBUÍDOS

Prefixo a ser comparado Interface Senão 3

REDE DE COMPUTADORES

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

APOSTILA DE REDES DE COMPUTADORES PARTE - I I

REDE DE COMPUTADORES

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

UNIVERSIDADE FEDERAL DO PIAUI UFPI Colégio Técnico de Teresina CTT. Professor: José Valdemir dos Reis Junior. Disciplina: Redes de Computadores II

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

PROJETO DE REDES

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva

Firewalls. Firewalls

Engenharia de Sistemas Computacionais

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

Conheça melhor os equipamentos de Rede de Computadores

Equipamentos de rede. Repetidores. Repetidores. Prof. Leandro Pykosz

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Uso do Netkit no Ensino de Roteamento Estático

Unidade 3 Visão Geral de Equipamentos de Rede

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

REDES DE COMPUTADORES

Evolução na Comunicação de

REDES DE COMPUTADORES

SISTEMAS DISTRIBUÍDOS

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

3 Arquitetura do Sistema

Subcamada MAC. O Controle de Acesso ao Meio

Processos Técnicos - Aulas 4 e 5

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Engenharia de Software III

A camada de rede. A camada de rede. A camada de rede. 4.1 Introdução. 4.2 O que há dentro de um roteador

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Redes de Computadores

Aula 03 Regras de Segmentação e Switches

Protocolo OSPF. O p e n S h o r t e s t P at h F i r s t. E s pec i a li s ta

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Gerenciamento de Redes de Computadores. Resolução de Problemas

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Módulo 8 Ethernet Switching

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

:: Telefonia pela Internet

SISTEMAS DISTRIBUÍDOS

ARP. Tabela ARP construída automaticamente. Contém endereço IP, endereço MAC e TTL

UNIVERSIDADE FEDERAL DE PELOTAS

CHECK - LIST - ISO 9001:2000

Transcrição:

DANIEL HENRIQUE JOPPI Implementação do Protocolo de Roteamento AntHocNet no Network Simulator 2 Joinville 2011

UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DANIEL HENRIQUE JOPPI IMPLEMENTAÇÃO DO PROTOCOLO DE ROTEAMENTO ANTHOCNET NO NETWORK SIMULATOR 2 Trabalho de conclusão de curso submetido à Universidade do Estado de Santa Catarina como parte dos requisitos para a obtenção do grau de Bacharel em Ciência da Computação Orientador: Doutor, Claudio Cesar de Sá Joinville 2011

DANIEL HENRIQUE JOPPI IMPLEMENTAÇÃO DO PROTOCOLO DE ROTEAMENTO ANTHOCNET NO NETWORK SIMULATOR 2 Este Trabalho de Conclusão de Curso foi julgado adequado para a obtenção do título de Bacharel em Ciência da Computação e aprovado em sua forma final pelo Curso de Ciência da Computação Integral do CCT/UDESC. Banca Examinadora: Orientador: Doutor, Claudio Cesar de Sá Membro: Doutor, Rafael Rodrigues Obelheiro Membro: Doutor, Cristiano Damiani Vasconcellos Joinville, 23 de novembro de 2011

A Deus. À minha mãe. Aos meus familiares e amigos. Àqueles que lutam por um mundo melhor.

AGRADECIMENTOS Aos professores do Departamento de Ciência da Computação pelos seus ensinamentos, em especial aos professores Claudio Cesar de Sá, Rafael Rodrigues Obelheiro e Roberto Silvio Ubertino Rosso Junior, pelos muitos puxões de orelha, pois sem eles não teria concretizado o trabalho. Aos meus pais, Nelson Luiz Joppi e Lucia Anita Zancanella Joppi, pelo grande incentivo na realização deste trabalho. Ao Bahia (Danilo Gonçalves da Cruz), Bolha (Fernando de Souza Rebelo), Cabelo (Cristian Rossi), Carioca (Fábio Merciris Dutra Thuller), Cavalo (Alessandro Hoss), Cicero (Cicero Gazola), Geladeira (Pedro Roman), Germano (Estevan Eduardo Diedrich), Joelho (Reinaldo Besen), Jogador (Rafael Ledoux Rosa), Julhote (Júlio César Zambonin), Lesko (Silvio Antônio Teston), Pepê (Pedro Lyra de Toledo e Gazel), Piraberaba (Fábio Haertel Kochhann), Sabugo (Fernando Garcia), Tchê (Éverton Da Silva Amorim), Velhão (Marcelo Preis Ferreira), Xunda (Tacio Basso) e demais Rangos Compatriotas pela confiança depositada nessa grande caminhada de realizações e conquistas.

Se nós soubéssemos o que estavamos fazendo, isto não seria chamado de pesquisa, seria? - Albert Einstein O único modo de evitar os erros é adquirindo experiência. Contudo, a única maneira de adquirir experiência é cometendo erros. (Autor Desconhecido)

RESUMO Neste trabalho será apresentada a implementação do protocolo de roteamento AntHocNet para redes móveis ad hoc (MANET - Mobile Ad hoc NETwork) no simulador de rede Network Simulator 2 (NS-2), pois atualmente não existe uma implementação válida para este protocolo, neste simulador. Com isso, o trabalho reforça o uso da Inteligência de Enxames (SI - Swarm Inteligence) em roteamento de redes. O projeto foi validado ao comparar os resultados obtidos entre o AntHocNet e AODV no NS-2, utilizando as mesmas métricas e cenários aplicados por Di Caro (Di Caro, Ducatelle e Gamberdella 2005), ao usar simulador QualNet. PALAVRAS-CHAVE: AntHocNet, AODV, Inteligência de Enxames, Rede Móvel Ad Hoc, NS-2, Simulação

ABSTRACT This work will present the implementation of the routing protocol AntHocNet for Mobile Ad Hoc Networks (MANET) in the network simulator Network Simulator 2 (NS-2), because currently there isn t a valid implementation for this protocol, this simulator. With that, the work reinforces the use of Swarm Intelligence (SI) in routing networks. The project was validated by comparing the results between the AntHocNet and AODV in NS-2, using the same metrics and scenarios applied by Di Caro (Di Caro, Ducatelle and Gamberdella 2005), using QualNet simulator. KEYWORDS: AntHocNet, AODV, MANET, Mobile Ad Hoc Networks, NS-2, Simulation, Swarm Intelligence

LISTA DE FIGURAS 2.1 Mobilidade dos nós na MANET........................ 10 2.2 Descoberta de rota do AODV na MANET, onde o nó N6 deseja iniciar uma comunicação com o nó N1........................... 17 3.1 Trilha de Feromônio entre a Colônia e a Fonte de Alimento......... 22 3.2 Trilhas de feromônio entre o nó origem N1 e o nó destino N8........ 32 3.3 Gráfico comparativo entre AntHocNet e o AODV, no Cenário 1, verificando a média de delay, proporção de pacotes entregues e a taxa de overhead causado a rede (Di Caro, Ducatelle e Gamberdella 2005)........... 35 3.4 Gráfico comparativo entre AntHocNet e o AODV, no Cenário 2, verificando a média de delay, proporção de pacotes entregues e a taxa de overhead causado a rede(di Caro, Ducatelle e Gamberdella 2005)........... 36 3.5 Gráfico comparativo entre AntHocNet e o AODV, no Cenário 3, verificando a média de delay, proporção de pacotes entregues e a taxa de overhead causado a rede (Di Caro, Ducatelle e Gamberdella 2005)........... 37 4.1 Configuração da Máquina Virtual........................ 40 4.2 Interfaces implementadas pelo AntHocNet para interagir com o NS-2.... 42 4.3 Diagrama da hierarquia das classes de formigas................ 48 4.4 Classe PheromoneTable gerencia as tabelas de feromônio........... 50 4.5 Diagrama de classe de PheromoneTable.................... 51 4.6 Trilhas de feromônio gerenciadas pelo formigueiro............... 53 4.7 Algorítimo de atualização de feromônio.................... 54 4.8 Diagrama de classe de AntNest......................... 55

4.9 Diagrama de classe de AntHocNet....................... 57 4.10 Algorítimo de recebimento de pacotes..................... 58 5.1 Movimento dos nós n, representados por vetores n.............. 64 6.1 Emissão de formiga proativa por broadcast nos 2 primeiros saltos...... 71 6.2 Gráfico comparativo entre AntHocNet e AODV no Cenário 1, sobre o Atraso Médio Fim-a-Fim............................ 73 6.3 Gráfico comparativo entre AntHocNet e AODV no Cenário 1, sobre a Taxa de Pacotes Entregues............................... 73 6.4 Gráfico comparativo entre AntHocNet e AODV no Cenário 1, sobre o Overhead de Roteamento............................ 74 6.5 Gráfico comparativo entre AntHocNet e AODV no Cenário 2, sobre o Atraso Médio Fim-a-Fim............................ 75 6.6 Gráfico comparativo entre AntHocNet e AODV no Cenário 2, sobre a Taxa de Pacotes Entregues............................... 76 6.7 Gráfico comparativo entre AntHocNet e AODV no Cenário 2, sobre o Overhead de Roteamento............................ 76 6.8 Gráfico comparativo entre AntHocNet e AODV no Cenário 3, sobre o Atraso Médio Fim-a-Fim............................ 77 6.9 Gráfico comparativo entre AntHocNet e AODV no Cenário 3, sobre a Taxa de Pacotes Entregues............................... 78 6.10 Gráfico comparativo entre AntHocNet e AODV no Cenário 3, sobre o Overhead de Roteamento............................ 79

LISTA DE TABELAS 2.1 Tabela comparativa entre as classificações dos protocolos de roteamentos para MANET (Przybysz e Júnior 2005).................... 14 2.2 Tabela de roteamento do nó N6, antes do deslocamento do nó N1...... 17 2.3 Tabela de roteamento do nó N6, após o recebimento da RERR....... 17 2.4 Nova tabela de roteamento do nó N6, após o deslocamento do nó N1.... 18 2.5 Nova tabela de roteamento do nó N7...................... 18 4.1 Tabela com as estruturas de dados do AntHocNet............... 45 4.2 Tabela com as constantes globais disponibilizadas pela classe AntHocNetUtils. 46 4.3 Tabela metadados da classe AntBasicPacket.................. 47 4.4 Tabela metadados da classe AntBackPacket.................. 48 4.5 Tabela metadados da classe AntRepairPacket................. 49 4.6 Tabela das estruturas de armazenagem da classe PheromoneTable...... 50 4.7 Tabela das estruturas de dados da classe AntNest............... 52 4.8 Tabela de formigas que são enviadas periodicamente............. 59

LISTA DE ABREVIATURAS ACO Ant Colony Optimization ANSI Ad Hoc Networking with Swarm Intelligence AODV Ad-hoc On demand Distance Vector ARA Ant-Colony Based Routing Algorithm CBR Constant Bit Rate DSDV Destination Sequenced Distance Vector DSR Dynamic Source Routing IETF Internet Engineering Task Force MANET Mobile Ad-hoc NETwork NS-2 Network Simulator 2 PRBA PRoactive Backward Ant PRFA PRoactive Forward Ants PSO Particle Swarm Optimization REBA REactive Backward Ant REFA REactive Forward Ant RERR Route ERRor RRBA Route Repair Backward Ant RREP Route REPly RREQ Route REQuest RRFA Route Repair Forward Ant RWP Random Waypoint SI Swarm Intelligence TSP Traveling Salesman Problem VM Virtual Machine ZRP Zone Routing Protocol

x SUMÁRIO 1 INTRODUÇÃO................................... 1 1.1 CONTRIBUIÇÃO DO TRABALHO........................ 3 1.2 OBJETIVO GERAL................................. 4 1.2.1 Objetivos Específicos............................... 4 1.3 ORGANIZAÇÃO DO TRABALHO........................ 5 1.3.1 Capítulo 1: Introdução.............................. 5 1.3.2 Capítulo 2: Roteamento em Rede Ad Hoc.................... 5 1.3.3 Capítulo 3: Inteligência de Enxames....................... 5 1.3.4 Capítulo 4: Implementação da Proposta..................... 6 1.3.5 Capítulo 5: Modelagem dos Cenários....................... 6 1.3.6 Capítulo 6: Simulação do AntHocNet...................... 6 1.3.7 Capítulo 7: Conclusão............................... 6 2 ROTEAMENTO EM REDE AD HOC.................... 8 2.1 PROTOCOLOS................................... 11 2.1.1 Classificação.................................... 12 2.1.1.1 Pró-ativo...................................... 12 2.1.1.2 Reativo...................................... 13 2.1.1.3 Híbrido....................................... 14 2.1.2 AODV - Ad-hoc On demand Distance Vector.................. 15 2.2 CONSIDERAÇÕES DO CAPÍTULO....................... 18 3 INTELIGÊNCIA DE ENXAMES........................ 20 3.1 PRINCÍPIO BIOLÓGICO............................. 21

3.2 HEURÍSTICA DE COLÔNIA DE FORMIGAS.................. 23 3.3 ACO APLICADO A ROTEAMENTO....................... 24 3.3.1 AntHocNet..................................... 27 3.3.1.1 Componente Reativa............................... 28 3.3.1.2 Componente Pró-ativo.............................. 30 3.3.1.3 Quebras de Conexão............................... 32 3.3.2 Comparativo entre AntHocNet e AODV..................... 33 3.4 CONSIDERAÇÕES DO CAPÍTULO....................... 38 4 IMPLEMENTAÇÃO DA PROPOSTA..................... 39 4.1 AMBIENTE DE DESENVOLVIMENTO..................... 39 4.2 NETWORK SIMULATOR 2............................ 40 4.3 IMPLEMENTAÇÃO DO ANTHOCNET..................... 42 4.3.1 Estruturas de Dados do AntHocNet....................... 43 4.3.2 Classe AntHocNetUtils: constantes globais.................... 45 4.3.3 Classe AntBasicPacket: formiga......................... 46 4.3.4 Classe PheromoneTable: tabela de feromônio.................. 49 4.3.5 Classe AntNest: formigueiro........................... 52 4.3.6 Classe AntHocNet: protocolo........................... 56 4.4 CONSIDERAÇÕES DO CAPÍTULO....................... 59 5 MODELAGEM DOS CENÁRIOS....................... 61 5.1 CRIAÇÃO AUTOMATIZADA DE TCL...................... 62 5.2 CENÁRIO 1: AUMENTO DO TEMPO DE PARADA DOS NÓS........ 63 5.3 CENÁRIO 2: AUMENTO DE NÓS........................ 65 5.4 CENÁRIO 3: AUMENTO DA ÁREA....................... 67 5.5 CONSIDERAÇÕES DO CAPÍTULO....................... 68 xi

6 SIMULAÇÃO DO ANTHOCNET....................... 69 6.1 IMPLICAÇÕES NA IMPLEMENTAÇÃO..................... 70 6.2 SIMULAÇÃO E VALIDAÇÃO........................... 71 6.2.1 Resultado da Simulação no Cenário 1...................... 72 6.2.2 Resultado da Simulação no Cenário 2...................... 74 6.2.3 Resultado da Simulação no Cenário 3...................... 77 6.3 CONSIDERAÇÕES DO CAPÍTULO....................... 79 7 CONCLUSÃO.................................... 80 REFERÊNCIAS.................................... 84

1 1 Introdução A facilidade de encontrar informações nos dias de hoje, se deve ao grande desenvolvimento das redes de comunicação. Isto é, a troca de informações onde antes seria praticamente impossível, devido às dificuldades de acesso ou mesmo pela complexidade do terreno. Tendo como exemplo um desastre natural ou uma guerra onde facilmente superadas ao se transmitir dados via rede wireless ou rede sem fio (Harte 2004). Esse tipo de rede, diferencia-se a grosso modo, das redes guiadas convencionais, pela simples troca da transmissão de dados física, via cabos, por uma transmissão de dados utilizando ondas de rádio. Essa mudança, ao se utilizar transmissões de dados sem fio possibilita uma grande flexibilidade ao se montar uma rede, mas isso, segundo Johnson (Johnson e Maltz 1996), também proporcionou o surgimento de tipos mais específicos de redes wireless, isto é, de acordo com a sua topologia ela pode ser separada em redes wireless estruturadas e redes wireless não estruturadas. A rede wireless não estruturada, ou rede móvel Ad Hoc (MANET - Mobile Ad hoc NETwork), tema deste trabalho, é caracterizada por não precisar de nenhuma infraestrutura, nem na fase de formação (Haas et al. 2002). Isto é, diferente da rede wireless estruturada, que necessita de pontos de acesso fixos ou de estação base para se poder iniciar uma transmissão de dados. A MANET é formada por um conjunto de nós interligados, com liberdade de movimentação, sendo esta é a causa da constante alteração nas tabelas de roteamento de todo o conjunto (Haas et al. 2002). Assim sendo, a topologia das MANETs proporcionam um desafio para a determinação de rotas, devido à sua forma dinâmica, que pode mudar de maneira imprevisível, afetando as tabelas de roteamento de todo o conjunto. Uma vez que um nó entre ou saia do conjunto da MANET, é gerada uma modificação nas rotas da rede. Essa mudança pode ter consequências significativas, no caso de um nó intermediário desligar-se do conjunto e causar uma quebra de comunicação, e, consequentemente, gerar perdas de pacotes entre nós que dele dependem. Outra característica da MANET, é que o roteamento de pacotes é realizado em cada nó do conjunto.

1 Introdução 2 A variação da topologia da MANET, a torna suscetível às quebras de conexões necessitando que os protocolos de roteamento sejam capazes de se adaptar a esse ambiente dinâmico. Os protocolos de roteamento usados na MANET podem ser classificados em: Pró-ativos como o DSDV (Perkins e Bhagwat 1994), que exige que cada nó da rede possua rotas sempre atualizadas para os demais integrantes, o que pode causar uma sobrecarga devido a quantidade elevada de pacotes emitidos, sugerindo altas taxas de overhead. Em contrapartida, os protocolos classificados como Reativos, como por exemplo o AODV (Perkins e Roye 1999) e DSR (Johnson e Maltz 1996), possibilitam uma redução no overhead ao restringir o envio de pacotes broadcast apenas quando houver a necessidade de buscar novos nós ou quando é detectada uma quebra de conexão. Em muitos casos, a MANET necessita da participação de um terceiro nó, ou mais nós intermediários, para encaminhar dados de um ponto a outro na rede. Essa cooperação entre o conjunto de nós interligados da MANET se assemelha ao comportamento coletivo de alguns insetos como abelhas, formigas ou cupins. Isolados, são como agentes com capacidades limitadas de resolver seus problemas, mas quando agrupados, seja na intenção de buscar alimento ou para proteger a colônia, tais insetos, tendem a apresentar um comportamento coletivo inteligente (White, Pagurek e Oppache 1998). Essa observação do comportamento coletivo de certas espécies, possibilitou o desenvolvimento de pesquisas e estudos, inclusive na computação como o Swarm Intelligence (SI) (Beni e Wang 1989) ou Inteligência de Enxames que pode ser divido em duas ramificações: Particle Swarm Optimization (PSO) ou Otimização por Enxames de Partículas, desenvolvida por (Kennedy e Eberhart 2001), cuja heurística é inspirada na observação da coreografia de animais, como a de pássaros voando em bando e de peixes nadando em cardumes; Ant Colony Optimization (ACO) ou Otimização por Colônias de Formigas, desenvolvido por (Dorigo e Stützle 2006), esta heurística é inspirada no comportamento da colônia de formigas em sua busca por alimento. O ACO foi inicialmente utilizado para resolver problemas como do caixeiro viajante, mas hoje é possível encontrar várias aplicações, sendo uma delas no uso do descobrimento de rotas numa rede ao aplicar o uso de agentes móveis (exemplo: formigas) e estigmergia (exemplo: feromônio). Estas propriedades, de acordo com Kassabalidis

1 Introdução 3 (Kassabalidis et al. 2001), tornam o SI capaz de atender aos requisitos da MANET. Isto é, conseguem se adaptar muito bem à estrutura dinâmica que essa rede possui, usufruindo do sistema de comunicação indireta, no caso o feromônio, que pode ser utilizado para decidir uma rota adequada até o destino. A escolha da rota é probabilística, geralmente o caminho que contém a maior quantidade de feromônio têm preferência, e é um método comum em protocolos de roteamento que se baseiam em ACO, tais como os protocolos: ARA (Gunes, Sorges e Bouazzi 2002), AntHocNet (Ducatelle 2007), ANSI (Rajagopalan e Shen 2005) e o Termite (Roth e Wicker 2003). Neste trabalho, é proposto uma implementação do protocolo de roteamento AntHoc- Net (Ducatelle 2007). Visto que em comparações feitas com o AODV, o AntHocNet se mostrou mais escalável ao apresentar melhores taxas na entrega de pacotes, atraso médio de delay, num cenário onde a quantidade de nós variava conforme o tempo. Tendo sido testados e simulados no QualNet (QualNet 2011). A proposta é realizar as mesmas simulações, só que desta vez no Network Simulator 2 (NS-2) (NS-2 2011). O NS-2 é um simulador de código fonte aberto e gratuito, além de ser muito utilizado nos meios acadêmicos. A validação é feita através da comparação dos protocolos AntHoc- Net e o AODV, após a simulação e análise dos resultados obtidos no NS-2. Os parâmetros para a avaliação seguem os mesmos modelos de cenários e métricas usadas por Di Caro (Di Caro, Ducatelle e Gamberdella 2005) no QualNet. 1.1 Contribuição do Trabalho Dada a importância do protocolo de roteamento AntHocNet para MANET, e a análise dos seus experimentos no QualNet (QualNet 2011), um simulador comercial, neste trabalho é apresentado a implementação do protocolo de roteamento AntHocNet no simulador de rede NS-2 (NS-2 2011). O NS-2 é um simulador é livre e gratuito, além de estar difundido nos meios acadêmicos. Atualmente não exitei uma implementação válida para o protocolo de roteamento AntHocNet, em tal simulador. Esta implementação reforça o uso da SI em roteamento de

1 Introdução 4 redes, possibilitando que novos estudos possam ser desenvolvidos a partir desse trabalho. 1.2 Objetivo Geral O principal objetivo deste trabalho é implementar o protocolo de roteamento AntHoc- Net no simulador de rede NS-2. Sendo a validação feita ao realizar a comparação dos resultados obtidos entre o AntHocNet e o AODV no NS-2. A análise é realizada seguindo as mesmas configurações de cenários e métricas utilizadas nas simulações feitas por Di Caro no simulador QualNet 4.0. 1.2.1 Objetivos Específicos Os objetivos específicos para a resolução deste trabalho envolvem o estudo dos conceitos que tratam sobe: Embasamento teórico sobre das MANET; Estudado do roteamento numa MANET, dando enfoque à análise do protocolo de roteamento AODV; Embasamento teórico sobre SI; Estudar SI para ambiente de roteamento para MANET, dando enfoque ao estudo do protocolo de roteamento AntHocNet; Implementar o protocolo de roteamento AntHocNet no simulador de rede NS-2; Modelagem dos cenários a serem usados nas simulações no NS-2; Análise das métricas utilizadas no QualNet 4.0, a serem usadas no comparativo dos protocolos no NS-2. Executar as simulações dos cenários modelados no NS-2 para comparar os resultados entre os protocolos: AODV e AntHocNet; Validar a proposta através dos resultados obtidos na simulação do NS-2.

1 Introdução 5 1.3 Organização do Trabalho A formulação deste trabalho é dividida em sete capítulos. Dos quais as primeiras partes tratam dos levantamentos bibliográficos das definições da MANET e SI. Apresentando as características dos protocolos de roteamento AODV e AntHocNet. O estudo das partes teóricas serve de base para o desenvolvimento das próximas partes, criando capítulos que descrevem a implementação do protocolo AntHocNet no NS-2, assim como a modelagem dos cenários e as métricas a serem usadas nas simulações. A simulação dos protocolos AODV e AntHocNet, é apresentada nas últimas partes do trabalho, onde são gerados gráficos comparativos, proporcionando a análise dos resultados obtidos. 1.3.1 Capítulo 1: Introdução No Capítulo 1 é apresentada a síntese do trabalho sobre a implementação do protocolo de roteamento AntHocNet. Assim como o objetivo geral do trabalho e seus objetivos específicos para a confecção e organização de cada capítulo. 1.3.2 Capítulo 2: Roteamento em Rede Ad Hoc No Capítulo 2 são estudados o funcionamento e características da MANET. O levantamento bibliográfico é feito de forma a descrever os diferentes tipos de protocolos de roteamento utilizados nas MANETs. Esse estudo caracteriza a análise dos protocolos pró-ativos, reativos e híbridos, como também, serve de base para apresentar o protocolo de roteamento AODV. 1.3.3 Capítulo 3: Inteligência de Enxames No Capítulo 3 é apresentado o levantamento bibliográfico da utilização da Inteligência de Enxames no roteamento de redes, dando enfoque à heurística das Colônias de Formigas no descobrimento de rotas.

1 Introdução 6 O estudo se baseia na explicação do funcionamento biológico da heurística das Colônias de Formigas, bem como a sua utilização na resolução do problema do caixeiro viajante. Essa base é utilizada para a definição do ACO, aplicado no roteamento de redes, descrevendo o protocolo AntHocNet, onde também é realizado o estudo das análises de resultados de simulação realizadas entre o AntHocNet e o AODV no simulador de rede QualNet. 1.3.4 Capítulo 4: Implementação da Proposta No Capítulo 4 são apresentados os modelos das classes desenvolvidas para a implementação do protocolo de roteamento AntHocNet no NS-2, descrevendo o funcionamento das principais funções de roteamento da implementação, segundo a arquitetura de classes do simulador. 1.3.5 Capítulo 5: Modelagem dos Cenários No Capítulo 5 é descrita a modelagem dos cenários utilizados na simulação no NS- 2. Essa modelagem se baseia na estruturação de fórmulas matemáticas para a obtenção das informações do comportamento do cenário e assim, gerar os scripts em TCL com o comportamento semelhante ao descrito na mesma simulação feita por Di Caro (Di Caro, Ducatelle e Gamberdella 2005) no QualNet. 1.3.6 Capítulo 6: Simulação do AntHocNet No Capítulo 6 é realizada a simulação e validação do AntHocnet no NS-2, tendo como objetivo fundamental verificar os resultados gerados seguindo os mesmos parâmetros e cenários utilizados por Di Caro ao comparar o AntHocNet com o AODV. 1.3.7 Capítulo 7: Conclusão No Capítulo 7 é elaborada a síntese dos conhecimentos obtidos nas etapas anteriores, em que são apresentadas as conclusões sobre a implementação e os resultados gerados pela simulação dos protocolos AODV e AntHocNet, gerando as propostas de trabalhos futuros

1 Introdução 7 sobre possíveis melhorias no AntHocNet.

8 2 Roteamento em Rede Ad Hoc As redes wireless, ou redes sem fio, são caracterizadas por facilitarem a montagem de uma rede, pois não necessitam de cabos para conectar os computadores, apenas do ar. Em outras palavras, a transmissão de dados é feita via ondas de rádio. Isto descarta a utilização de switches e hubs, bastando apenas que cada computador possua uma placa de rede que emita e receba ondas de rádio direcionadas a um roteador fixo. Sendo assim, se houver o interesse de um novo nó entrar em determinada rede, este necessariamente precisa estar no raio de transmissão do roteador da mesma. Em seu livro, Tanenbaum (Tanenbaum 2003) descreve uma rede wireless formada por nós móveis, ou ainda: computadores móveis, com liberdade de se movimentarem pelo cenário, sem a necessidade de se prenderem a um roteador fixo para iniciarem uma transmissão de dados com outro membro da rede. Isso possibilita a introdução de um novo problema nos sistemas de comunicação, pois inicialmente é necessária a localização deste nó móvel na rede, para que assim seja gerada a rota e se inicie a transmissão dos pacotes de dados até ele. Esta nova característica de movimento dos nós possibilitou criar redes wireless livres de pontos acesso fixos, proporcionando criar redes sem fio totalmente móveis, também conhecidas como redes móveis Ad Hoc (MANET - Mobile Ad hoc NETwork). Assim segundo Johnson (Johnson e Maltz 1996), pode-se classificar as redes wireless em duas topologias. A primeira diz respeito às redes wireless estruturadas, já que estas necessitam de uma infraestrutura fixa previamente instalada, com por exemplo roteadores fixos. A outra forma são as redes wireless não estruturadas, ou MANETs, sendo que estas não necessitam de infraestrutura. As MANETs diferem significativamente das convencionais redes, pois apresentarem uma topologia dinâmica onde as interligações wireless entre os membros da rede são descentralizadas, isto é, não existem equipamentos que centralizam a função de roteamento, mas sim, um conjunto de indivíduos que cooperam entre si, dividindo as funções de roteamento. Assim, a saída de um dos nós da rede não acarretará no fim da mesma, pois os demais nós se auto-organizam para manter a estrutura de comunicação da rede

2 Roteamento em Rede Ad Hoc 9 funcionando. Os protocolos do roteamento utilizados em redes cabeadas podem ser divididos basicamente em protocolos de roteamento baseados em vetor de distância (distance-vector) e baseados em estado do enlace (link state) (Tanenbaum 2003). Qualquer um deles pode ser numa MANET. Ambos permitem que um nó-origem localize pelo menos uma rota para alcançar um determinado destino, mas estudos realizados mostram que ao utilizar protocolos de rede cabeada numa MANET geram inconveniências, como por exemplo na demora para convergirem as novas atualizações sobre a topologia da rede, além de inserirem muitas informações nos pacotes (Perkins e Bhagwat 1994). Devido à capacidade limitada de transmissão numa rede wireless, os pacotes devem possuir o mínimo de informações necessárias para o roteamento, de maneira a não comprometer a estrutura da rede. Uma qualidade da MANET, é que a sua estrutura de rede pode ser criada rapidamente, sem a existência prévia de nenhuma infraestrutura. Isto pode acarretar consequências que, de acordo com Haas et al. (Haas et al. 2002), proporcionam que seus nós possam entrar e sair da estrutura da rede a qualquer momento, muitas vezes sem nenhum aviso, e possibilitando quebras na comunicação entre outros nós da rede. Geralmente, as MANETs são formadas por poucos usuários ao atender uma finalidade específica e, em seguida são desfeitas. São alguns exemplos do uso das MANETs: Operações táticas - para estabelecer rapidamente uma rede militar durante o envio de tropas para um terreno hostil; Missões de resgate - para comunicação em áreas sem a devida cobertura wireless com pontos de acesso; Uso comercial - para uso em conferências ou em reuniões executivas. Esta mobilidade que os nós da rede possuem, podem gerar consequências para a topologia da MANET, como observado na Figura 2.1, onde o nó E é responsável pela comunicação de duas partes distintas da MANET (Figura 2.1a), sendo assim, a sua presença ou ausência, pode alterar a estrutura de comunicação de todo conjunto. Isto é demonstrado quando este nó se desliga da MANET, e causa uma quebra na comunicação entre os demais membros do conjunto. Desta forma, a MANET passará a ser dividida em

2 Roteamento em Rede Ad Hoc 10 duas redes distintas (Figura 2.1b): uma com os nós A, B e C (rede 1), e outra com os nós D e F (rede 2). Figura 2.1: Mobilidade dos nós na MANET Há duas situações para que essas redes possam se conectar novamente: a primeira seria o aparecimento de um nó que realize pelo menos uma ligação com as redes 1 e 2. A outra opção é a aproximação dos nós das redes em função do movimento, isto é, as redes poderiam se movimentar, e assim ficarem mais próximas fisicamente uma da outra não necessitando que um novo nó as interligue. Os nós da MANET, segundo Yoshitaka (Yoshitaka et al. 2006), podem se comunicar uns com os outros a qualquer momento, e sem restrições, exceto quando não existir nenhuma rota que os conecte. Essa característica possibilita que a MANET realize uma troca de informações que independe das mudanças na topologia da rede. Em Haas et al. (Haas et al. 2002) é comentado que as diferenças de padrões de hardware e da propagação das ondas eletromagnéticas, tornam as condições variáveis com o tempo, e podem resultar em distintas conexões entre os nós vizinhos, isto é, enviar uma informação de um nó A para um nó B por uma determinada rota, pode não ser a mesma ao enviar o mesmo pacote do nó B para o nó A. O resultado é uma variação de rota, proporcionado, por exemplo, pela diferença na capacidade de transmissão de cada nó, podendo gerar um tempo de resposta variado ao se detectar uma mudança na topologia de rede.

2 Roteamento em Rede Ad Hoc 11 Portanto, é necessário que os protocolos de roteamento para a MANET, sejam capazes de detectar estas variações de topologia, e realizarem as alterações nas rotas, de acordo com a necessidade da rede. Aliado a estas características, o protocolo deve ser capaz de lidar com as quebras de comunicação e com o atraso no roteamento de pacotes. Uma classificação bastante usada para dividir os protocolos de roteamento utilizados nas MANETs, podem ser separados em pró-ativos, reativos ou híbridos (Liang e Haas 2006). 2.1 Protocolos Os protocolos de roteamento são protocolos utilizados especificamente para realizar o gerenciamento de rotas numa rede de comunicação, isto é, são responsáveis por garantir que um membro da rede consiga enviar suas mensagens para seu destino, sem se preocupar como, ou por onde ela irá passar (Tanenbaum 2003). Normalmente, numa rede estruturada, existe pelo menos um nó responsável pela função de roteamento na rede, conhecido como roteador. Sendo assim, pode-se afirmar que numa MANET, todos os integrantes acumulam a função dos roteadores. Geralmente, cada roteador ao se conectar na rede, certifica-se de conhecer seus vizinhos, isto é, quais os nós que poderão auxiliá-lo no envio de pacotes, ou também chamados de gateways (Tanenbaum 2003). Dependendo do protocolo de roteamento adotado, o roteador irá procurar mais informações na rede para formar a sua tabela de roteamento, como por exemplo verificar a distância ou o custo da rota até o destino. Os protocolos de roteamento podem ser divididos em: Pró-ativos, Reativos e Híbridos. Um protocolo de roteamento pró-ativo, requer que cada nó mantenha uma tabela de roteamento atualizada, de forma a possuir uma rota sempre disponível para todos os nós da MANET. O DSDV (Perkins e Bhagwat 1994) é um exemplo de protocolo de roteamento pró-ativo. Nos protocolos de roteamento reativos, o nó não tem a responsabilidade de manter uma rota atualizada para um determinado destino, de maneira que quando necessite comunicar-se com tal destino, iniciará um processo de busca por rota. Os protocolos de roteamento AODV (Perkins e Roye 1999) e DSR (Johnson e Maltz 1996) são exemplos de protocolos reativos. Um protocolo reativo evita ficar emitindo pacotes de controle, com isso tentar diminuir