Escolar Documentos
Profissional Documentos
Cultura Documentos
Dissertao apresentada Universidade de Aveiro para cumprimento dos requisitos necessrios obteno do grau de Mestre em Engenharia Electrnica e Telecomunicaes, realizada sob a orientao cientfica da Prof. Dra. Susana Sargento, Professora Auxiliar do Departamento de Electrnica, Telecomunicaes e Informtica da Universidade de Aveiro e do Prof. Dr. Paulo Salvador, Professor Auxiliar do Departamento de Electrnica, Telecomunicaes e Informtica da Universidade de Aveiro
o jri
presidente Prof. Doutor Nuno Borges de Carvalho
professor associado com agregao do Departamento de Engenharia Electrnica Telecomunicaes e Informtica da Universidade de Aveiro
orientadora
co-orientador
vogal
agradecimentos
palavras-chave
Redes de prxima gerao, Gesto distribuda e autnoma, In-Network Management, Redes sem fios, Protocolo 802.11, Camada MAC, Ad hoc, Mtrica social, NS-3, Redes com fios, Hide & Seek, testbed.
resumo
Com o aumento da dimenso, complexidade e dinamismo das redes de prxima gerao, os protocolos de gesto tradicionais tornar-se-o ineficientes devido s suas caractersticas centralizadas e limitaes em termos de escalabilidade. neste ponto que surge a necessidade de criar diferentes solues de gesto de rede que respondam a requisitos como a automatizao da resposta s alteraes nas condies do meio, a optimizao de recursos, a adaptabilidade s mudanas de topologia, a escalabilidade e a eficincia de processos. Como resposta s necessidades apresentadas surge o paradigma de InNetwork Management (INM) cuja ideia principal inserir nas vrias entidades que compem a rede, capacidades e funcionalidades de forma a que estas se tornem autnomas e a gesto da rede deixe de depender de entidades agregadoras externas/servidores. Isto implica um nvel elevado de automatizao, sincronismo e actualizao da informao entre os vrios elementos, podendo facilmente conduzir a um forte aumento do overhead. no contexto do paradigma de INM que a presente dissertao se insere, na qual so propostos vrios mecanismos de interaco entre entidades, de modo a incluir processos de comunicao cooperativa. De modo sucinto, ao nvel das redes com fios, testado um protocolo de descoberta, baseado na estratgia Hide & Seek. Ao nvel das redes sem fios, usando como base o protocolo 802.11 MAC, so propostos mecanismos de comunicao entre entidades e um critrio de classificao baseado em relaes sociais entre ns (mtrica social). As solues apresentadas so avaliadas segundo diferentes parmetros, em cenrios com e sem fios. Os cenrios de redes com fios foram avaliados numa testbed virtual, ao nvel do overhead de mensagens e do tempo de convergncia da informao do protocolo de descoberta desenvolvido, tendo sido ainda elaborada uma anlise comparativa com outros protocolos. Nos cenrios de redes sem fios implementados no simulador NS-3, analisou-se o impacto ao nvel de alguns parmetros de nvel MAC. objectivo futuro a avaliao do impacto ao nvel da camada IP.
keywords
Next generation networks, Distributed and Autonomous Management, In-Network Management, Wireless Networks, 802.11 Protocol, MAC layer, Ad hoc, Social metric, NS-3, Wired Networks, Hide & Seek, testbed.
abstract
With the increasing size, complexity and dynamism of next generation networks, the traditional management protocols will become highly inefficient due to their centralizing characteristics and limitations in terms of scalability. This is the point where the need to create different network management solutions that answer to requirements such as automation of the response to changes in environmental conditions, resource optimization, adaptability to topology changes, scalability and efficiency. In response to the needs presented, the In-Network Management (INM) paradigm arises, whose main idea is to place capabilities and features into the various entities that comprise the network, so that they become autonomous and network management no longer rely on external servers. This implies a high level of automation, synchronization and update of the information among all elements, which can easily lead to a high increase in overhead. This Master's Thesis works in part of the architecture proposed by the INM paradigm, in the proposed mechanisms of interaction between entities in order to enable the overall process of cooperative communication. Briefly, in the wired networks, we propose a discovery protocol, based on the Hide & Seek strategy. In terms of wireless networks, using the 802.11 MAC protocol as base, we propose mechanisms for communication between entities and a social based classification criterion (social metric). The presented solutions are evaluated according to different parameters, in wired and wireless scenarios. In wired scenarios, the discovery protocol developed was evaluated in terms of messages overhead and convergence time on a virtual testbed, and it was also performed a comparative analysis with other protocols. The wireless scenario was implemented in the NS-3 simulator with an analysis of the impact on some MAC level parameters. It is also a future goal the evaluation of the impact on IP layer parameters.
ndice
ndice Lista de Figuras Lista de Tabelas Lista de Acrnimos 1 Introduo
1.1 1.2 1.3 1.4 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Organizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i v vii ix 1
1 2 3 3
Estado de Arte
2.1 2.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arquitecturas de gesto de redes 2.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5 5 5 6 7 8 9 12 13 14 14 15 16 17 18 18 19 19 20 20
Abordagem cooperativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 2.3
In-Network Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Requisitos funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
2.5
Gesto de redes sem os pelo padro 802.11 . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 Arquitectura geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Camadas protocolares
ii
NDICE
2.5.6 2.5.7
CSMA/CA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21 22 22 24 28
2.6
Concluses
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mecanismos de Cooperao
3.1 3.2 3.3 3.4 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arquitectura global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Redes sem os 3.4.1 3.4.2 3.4.3 3.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31 31 32 33 33 33 35 36 36 37 38 39 39 40 40 42 43 44 46 46 47 47 48 49 49
Funcionamento dos principais mecanismos . . . . . . . . . . . . . . . . . . . . . Processos e conceitos associados 3.4.4.1 3.4.4.2 3.4.4.3 Associao ao melhor n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parmetros de entrada
Desaos inerentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bootstrapping
Descoberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eleio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 3.6
Desaos inerentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concluses
Implementao
4.1 4.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Redes sem os 4.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
51 51 51 51 52 52 52 52 53 54
Protocolo 802.11 MAC e PHY em NS-3 4.2.1.1 4.2.1.2 4.2.1.3 4.2.1.4 4.2.1.5 4.2.1.6
Camada MAC de baixo nvel . . . . . . . . . . . . . . . . . . . . . . . Camada MAC de alto nvel . . . . . . . . . . . . . . . . . . . . . . . . Interligao de camadas ao nvel 2 . . . . . . . . . . . . . . . . . . . . Algoritmos de controlo de taxas de transmisso . . . . . . . . . . . . .
4.2.2
Soluo implementada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NDICE
iii
4.2.2.1 4.2.2.2 4.2.2.3 4.2.2.4 4.2.2.5 4.2.2.6 4.2.2.7 4.2.2.8 4.2.2.9 4.2.2.10 4.2.2.11 4.2.3 4.3
54 55 55 56 58 58 63 64 65 66 68 69 70 70 70 71 71 71 71 72 72 72 72 72 73 74
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bootstrapping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Desaos enfrentados
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mdulos funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1.1 4.3.1.2 4.3.1.3 4.3.1.4 4.3.1.5 4.3.1.6 4.3.1.7 4.3.1.8 4.3.1.9
Repository
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LnDiscover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concluses
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resultados
5.1 5.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Redes sem os 5.2.1 5.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
75 75 75 76 76 83 88 88 90
Cenrios usados
Inuncia da mtrica social e dos seus prametros individuais . . . . . . . . . . 5.2.2.1 5.2.2.2 Variao do nmero de ns em simulao . . . . . . . . . . . . . . . . Evoluo das comunidades nais no tempo . . . . . . . . . . . . . . .
5.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4
Concluses
93 95
Bibliograa
iv
NDICE
Lista de Figuras
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Sistema de gesto clssica da rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 7 8 8 9 12 13 18 19 19 19 20 21 22 22 24 24 27 27 28 28 Esquema ilustrativo da gesto centralizada . . . . . . . . . . . . . . . . . . . . . . . . . Esquema ilustrativo da gesto fracamente distribuda . . . . . . . . . . . . . . . . . . . Esquema ilustrativo da gesto fortemente distribuda . . . . . . . . . . . . . . . . . . . Esquema ilustrativo da gesto cooperativa . . . . . . . . . . . . . . . . . . . . . . . . . Ciclo de controlo autonmico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10 Constituio do BSSID numa IBSS segundo o protocolo 802.11 2.11 Camadas protocolares do 802.11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.13 Modos de Scanning/Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14 Mecanismo CSMA/CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15 Problema do n escondido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16 Mecanismo CSMA/CA com RTS/CTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.17 Formato do cabealho do padro 802.11 ao nvel MAC . . . . . . . . . . . . . . . . . . 2.18 Constituio do campo Frame Control . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.19 Constituio do campo Duration /ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.20 Constituio do campo Sequence Control . . . . . . . . . . . . . . . . . . . . . . . . .
2.21 Constituio do Frame Body para os diferentes pacotes de gesto . . . . . . . . . . . . 2.22 Estrutura de um Information Element . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
32 33 35 36 36 37 38 38 39 39 41
Interligao entre as vrias funcionalidades e mecanismos implementados . . . . . . . . Representao genrica do processo de bootstrapping Etapas genricas do processo de descoberta . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
vi
LISTA DE FIGURAS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41 42 46 47
3.14 Processo de sinalizao envolvida nos vrios mecanismos do INM-Discovery 3.15 Etapas genricas da descoberta pelo INM-Discovery
. . . . . . . . . . . . . . . . . . .
4.1
Sub-camadas atravessadas ao nvel 2 para transmisso e recepo de pacotes em redes sem os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 56 57 59 60 60 61 61 62 62 62 63 64 65 65 66 68 73
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 Estrutura genrica de um pacote 802.11 MAC em NS-3 4.11 Estrutura do Community-Based Beacon IE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.13 Processos envolvidos na aquisio e manuteno do identicador da comunidade 4.14 Estrutura da tabela Partial View de cada n
. . . . . . . . . . . . . . . . . . . . . . .
4.15 Estrutura da tabela de Known Nodes de cada n . . . . . . . . . . . . . . . . . . . . . 4.16 Processo de eleio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17 Exemplo de um vector de ns conhecidos 4.18 Esquema geral da testbed . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77 77 78
Evoluo do nmero total de associaes provocadas pela mtrica social e pelo alcance limitado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 79 80 81 82 83 84 86 87
. . . . . . . . . . . . . . . . .
Evoluo do tempo para estabelecimento da primeira associao em todos os ns . . . Evoluo do overhead de manuteno Evoluo do overhead de manuteno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.11 Evoluo da mdia das FQN nas comunidades nais em simulaes com 100 ns
5.12 Evoluo da melhor mtrica social nas comunidades nais em simulaes com 100 ns 5.13 Evoluo dos componentes da melhor mtrica social das comunidades nais em simulaes com 100 ns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.14 Evoluo do tempo de convergncia da descoberta . . . . . . . . . . . . . . . . . . . .
88 88 89 89
5.15 Evoluo do overhead de mensagens na rede . . . . . . . . . . . . . . . . . . . . . . . . 5.16 Evoluo do comportamento do protocolo INM-Discovery com o nmero de ns na rede
Lista de Tabelas
2.1 2.2 2.3 2.4 Requisitos funcionais do INM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identicadores Type e Subtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Signicado dos bits To DS e From DS . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 25 26 27
Signicado dos parmetros da frmula 3.3 . . . . . . . . . . . . . . . . . . . . . . . . . Signicado dos parmetros da frmula 3.4 . . . . . . . . . . . . . . . . . . . . . . . . . Signicado dos parmetros da frmula 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . Signicado das variveis da equao 3.7 . . . . . . . . . . . . . . . . . . . . . . . . . .
40 41 42 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58 67 67 69
Esquema de cdigos para estimativa do tamanho da comunidade Deciso local baseada no esquema de cdigos da tabela 4.2
. . . . . . . . . . . . . . .
5.1
. . . . . . . . . . . . . . . . . . . . . .
76
vii
viii
LISTA DE TABELAS
Lista de Acrnimos
AARF Adaptative Auto Rate Fallback ACE ACK Autonomic Communication Element Acknowledge
ALBA Autonomic Load Balancing Algorithm AM AMS ANA Agent Manager Autonomic Management System Autonomic Network Architecture
ANEMA Autonomic Network Management Architecture AON AP ARB ARF ARP ASA Application-Oriented Networking Access Point Autonomic Resource Broker Auto Rate Fallback Address Resolution Protocol Autonomic Service Architecture
AUTOI Autonomic Internet BER BSS Bit Error Rate Basic Service Set
CARA Collision-Aware Rate Adaptation CASCADAS Component ware of Autonomic, Situation-aware Communication and Dynamically Adaptable Service CCA Clear Channel Assessment ix
Lista de Acrnimos
CD CDP CFP
CMIP Common Management Information Protocol CP CQE Contentio Period Community Quality of Nodes
CSMA Carrier Sense Multiple Access CTS CUE CW DCF Clear to Send Channel Utilization Estimate Contention Window Distributed Coordination Function
DDNS Dynamic Domain Name System DiServ Dierentiated Services DIFS DNS DS DSSS DTN Distributed Inter Frame Space Domain Name System Domain System Direct Sequence Spread Spectrum Delay Tolerant Networks
EDCAF Enhanced Distributed Channel Access Function EIFS ESS Extended Inter Frame Space Extendend Service Set
FCAPS Fault, Conguration, Accounting, Performance, Security FHSS FIN Frequency Hopping Spread Spectrum Friendship Indicator of Nodes
FOCALE Foundation Observation Comparison Action Learn Reason FQN FTP Friendship Quality of Nodes File Transfer Protocol
GPRS General Packet Radio Service HSDPA High-Speed Downlink Packet Access
Lista de Acrnimos
xi
HTTP Hypertext Transfer Protocol IBSS ID IDM IE IEEE INM LAN LSA LSR LTE MAC MIB Independent Service Set Identier Information Dissemination Management Information Element Institute of Electrical and Electronics Engineers In-Network Management Local Area Network Link State Advertisement Link State Routing Long Term Evolution Media Access Control Management Information Base
MPDU Media Access Control Protocol Data Unit MPLS Multiprotocol Label Switching NGN NLE NMS Next Generation Networks Network Leader Election Network Management System
OSKMV Orchestration, Service Enablers, Knowledge, Management and Virtualization OSPF P2P PCF PHY PIFS Open Shortest Path First Peer-to-Peer Distributed Coordination Function Physical Layer Point Inter Frame Space
xii
Lista de Acrnimos
Routing Information Protocol Request to Send Round-Trip-Time Short Inter Frame Space Service Level Agreement
SNMP Simple Network Management Protocol SNR SOA SSID STA STP TMN TTL Signal-to-Noise Ratio Service-Oriented Architecture Service Set Identier Station Spanning Tree Protocol Telecommunications Management Network Time-To-Live
UMTS Universal Mobile Telecommunications System VoIP WEP Voice over Internet Protocol Wired Equivalent Privacy
Captulo 1
Introduo
1.1 Motivao
Quando as dimenses das redes eram relativamente reduzidas, os protocolos de gesto tradicionalmente usados eram sobretudo o Simple Network Management Protocol (SNMP) [1] ou Common Management
exponencial de equipamentos de rede, introduzem problemas srios em termos de escalabilidade. Como forma de ultrapassar esta limitao comearam a surgir alguns protocolos de gesto distribuda [3, 4], no entanto estes ainda apresentam algumas lacunas, nomeadamente em termos de complexidade exigida. A crescente dimenso e dinamismo que se esperam das redes de prxima gerao exigem protocolos de gesto que respondam s necessidades das mesmas, quer em termos de automatizao, optimizao e ecincia de processos, como tambm ao nvel da interaco entre as diversas entidades que compem a rede. As Next Generation Networks (NGNs) trazem novos desaos que necessitam de diferentes solues relativamente s redes tradicionais, por exemplo, em termos da mobilidade dos equipamentos, topologia dinmica de rede, conectividade intermitente, heterogeneidade de terminais e de tecnologias de acesso [5, 6]. Todos estes factores implicam uma constante recongurao da rede, o que por si s exige protocolos de encaminhamento com requisitos muito especcos. De forma a ultrapassar estes novos desaos, novas arquitecturas, plataformas, mecanismos e funcionalidades devem ser elaboradas usando conceitos do estado da arte, como a computao e gesto autonmica [7, 8, 9, 10, 11, 12]. A presente Dissertao insere-se no mbito do paradigma de In-Network Management (INM) [13] cuja ideia principal inserir nas vrias entidades que compem a rede, capacidades e funcionalidades de gesto de forma a que esta adquira capacidade autonmica, tal como referido em [14]. Para
que tal seja possvel, diversos mecanismos tm de ser implementados, nomeadamente o bootstrapping autonmico de cada entidade, a comunicao cooperativa, a tomada de decises e a disseminao das mesmas pela rede. Pretende-se assim alcanar uma gesto distribuda da rede, isto , que no dependa de entidades agregadoras externas/servidores. Isto implica no s um elevado nvel de automatismo da rede, como de sincronismo e actualizao da informao entre as vrias entidades, contribuindo para um possvel aumento do overhead. O maior foco da presente Dissertao so os mecanismos base da arquitectura global representada 1
CAPTULO 1.
INTRODUO
na gura 3.1.
inicializar e congurar de forma autonmica), mecanismos para descoberta de ns na rede e identicao das melhores entidades de cada domnio para a eleio. Face a isto, pretendem-se desenvolver mecanismos de comunicao distribuda entre elementos da rede, atravs dos quais se far a troca de informaes entre ns, de forma a alcanar a colaborao entre os mesmos.
1.2 Objectivos
A presente Dissertao visa desenvolver mecanismos de comunicao que permitam construir, de forma
bottom-up , uma plataforma de gesto distribuda da rede, de forma a responder aos desaos impostos
pelas redes de prxima gerao. Estes mecanismos so a chave para uma gesto eciente, escalvel e robusta, ou seja, deve ter baixo overhead de mensagens, responder bem em cenrios de larga escala e possuir tolerncia a falhas em ambientes dinmicos. De forma sucinta, os objectivos desta Dissertao so:
Estudar o estado da arte dos vrios conceitos envolvidos, nomeadamente a gesto autonmica e distribuda da rede;
Identicar as alteraes necessrias a realizar ao protocolo de controlo existente no simulador para redes sem os;
Bootstrapping dos vrios ns (redes com os e sem os); Descoberta de outros ns na rede (redes com os e sem os); Troca de informaes (redes com os e sem os); Associao de ns com base em parmetros dinmicos (redes sem os); Agregao dos ns em comunidades (redes sem os); Disseminao de informaes relevantes (redes com os e sem os); Recolha de informaes necessrias para a eleio dos lderes (redes com os e sem os).
Recolher e analisar os resultados obtidos, bem como elaborar anlises comparativas com outros modelos existentes.
1 Neste tipo de abordagens os elementos e mecanismos base so implementados e especcados em detalhe. Apenas numa fase posterior se faz a juno destes formando subsistemas que se integraro num sistema de maior dimenso e complexidade.
1.3.
CONTRIBUIES
1.3 Contribuies
As solues implementadas no mbito desta Dissertao inserem-se no paradigma INM, estando nele includas como mecanismos base sobre os quais assenta toda a restante arquitectura. Estas permitem o desenvolvimento de processos de comunicao cooperativa para a gesto distribuda da rede atravs da implementao de mecanismos como bootstrapping, descoberta e eleio. Para tal so usadas solues inovadoras, nomeadamente o conceito de mtrica social como forma de avaliao quantitativa do n e da sua comunidade nas redes sem os e a tcnica Hide & Seek [15] no protocolo de descoberta das redes com os [16]. Como resultado do cumprimento dos objectivos previamente mencionados, a presente Dissertao fornecer uma avaliao concreta do desempenho de parmetros relacionados com os mecanismos implementados. Em termos de simulao de redes sem os, a avaliao incidir mais em caractersticas ao nvel da camada Media Access Control (MAC); na testbed virtual de redes com os, a avaliao ir reectir o desempenho ao nvel da camada IP. Este trabalho deu j origem submisso e aceitao de um artigo cientco com a avaliao dos mecanismos implementados ao nvel das redes com os. Este foi aceite recentemente na MONAMI, 3rd International ICST Conference on Mobile Networks & Management 2011, intitulado Nodes Discovery in the In-Network Management Communication Framework. A publicao dos mecanismos de comunicao para redes sem os encontram-se em preparao.
1.4 Organizao
A presente Dissertao est organizada da seguinte forma:
Captulo 2 descreve o estado da arte dos tpicos abrangidos por esta Dissertao, nomeadamente ao nvel da gesto autonmica e distribuda da rede, do paradigma de INM, bem como dos mecanismos e protocolos que servem de base comunicao entre entidades e domnios;
Captulo 3 introduz a soluo desenvolvida de um ponto de vista de alto nvel, indicando os objectivos a atingir com os mecanismos implementados e a descrio dos conceitos fundamentais dos mesmos. So tambm aqui abordados os principais desaos inerentes Dissertao.
Captulo 4 aborda a implementao das solues propostas. Ao nvel das redes sem os, comease por introduzir o simulador utilizado para o efeito, nomeadamente ao nvel do protocolo de gesto usado e, em seguida, so apresentados os detalhes dos mecanismos e funcionalidades implementadas. Nas redes com os feita uma descrio aprofundada dos mdulos funcionais desenvolvidos na testbed virtual;
Captulo 5 apresenta os resultados e a discusso dos mesmos, para os cenrios de simulao sem os e para a testbed com os. tambm apresentada uma concluso da avaliao geral que os resultados reectem;
So tambm propostas
as principais linhas de investigao que o trabalho pode seguir, tanto ao nvel de possveis melhoramentos dos mecanismos, como de novas funcionalidades a implementar.
CAPTULO 1.
INTRODUO
Captulo 2
Estado de Arte
2.1 Introduo
Neste captulo apresentado um conjunto de conceitos de carcter mais terico, bem como referncias para trabalhos relacionados com os vrios temas abordados. Na seco 2.2 apresentada uma descrio dos vrios tipos de arquitecturas de gesto de redes. Na seco 2.3 abordado o conceito de In-Network Management, no qual a presente Dissertao se insere. Em 2.4 so referenciadas e analisadas, de forma breve, vrias abordagens j existentes ao nvel da comunicao entre ns, ao nvel do bootstrapping, descoberta, disseminao de informao e eleio. Em 2.5 apresentado em detalhe o protocolo 802.11 ao nvel MAC e fsico, uma vez que, este a base em que assentam as redes sem os simuladas. Em 2.6 realizada uma breve descrio de trs protocolos de descoberta em redes com os, que posteriormente sero comparados com a nossa proposta. Por m, em 2.7 apresentado um breve sumrio relativo ao captulo.
coordenao entre os diversos dispositivos, bem como para garantir a qualidade dos servios prestados por esta. Usualmente, o ciclo de gesto iniciado pela etapa de recolha de informao. Atravs das informaes recolhidas feita uma anlise sobre o estado actual da rede. Em seguida, pode ser tomado um conjunto de aces, dependendo da anlise previamente extrada da rede. As tarefas de gesto funcionais esto agrupadas e descritas em [17]. O Network Management System (NMS) geralmente composto pelo gestor, pelo agente, pelo
Management Information Base (MIB) e pelo protocolo de gesto (gura 2.1). O gestor tem como
5
CAPTULO 2.
ESTADO DE ARTE
funo controlar os agentes atravs do protocolo de gesto, sendo estes os processos que fazem a recolha de informaes da rede, armazenando-as em repositrios de informao (MIBs).
Ao nvel das principais funcionalidades de gesto de redes usados pelo protocolo Telecommunica-
tions Management Network (TMN) [19, 20] encontram-se o Fault, Conguration, Accounting, Performance, Security (FCAPS). Os modelos de gesto utilizados so o CMIP e SNMP.
Em [21] proposta uma classicao para as diferentes abordagens gesto de redes: centralizada, fracamente e fortemente distribuda, e colaborativa. abordados em seguida. Os aspectos mais relevantes de cada uma so
2.2.1.1
Abordagem centralizada
A caracterstica fundamental deste tipo de abordagem a existncia de um gestor central que agrega e controla todas os agentes, como ilustrado pela gura 2.2. Este tipo de gesto centralizada tem como principais limitaes:
a falta de escalabilidade para cenrios de larga escala, onde ocorrer sobrecarga do gestor central, sendo o desempenho global da rede degradado;
a inexistncia de comunicao entre os diversos agentes, cabendo a estes apenas a recolha de informao, sendo a anlise executada em exclusivo pelo gestor;
o ponto de falha do sistema estar concentrado num nico ponto, uma vez que o possvel colapso da rede se encontra no gestor central. A incluso de redundncia uma possvel soluo mas implicar sempre o aumento dos gastos nanceiros.
2.2.
2.2.1.2
Abordagem distribuda
Neste tipo de gesto distinguem-se dois tipos de abordagens: fracamente (gura 2.3) e fortemente (gura 2.4) distribudas. Na primeira destaca-se a introduo de elementos intermdios de proO objectivo destes conseguir executar um prNo entanto, continua sem existir
comunicao entre agentes e a comunicao entre AMs tambm inexistente. Devido a estes factores percebe-se que todas as comunicaes continuam a ter de passar obrigatoriamente pelo gestor, j que no ocorre colaborao entre entidades. importante tambm realar que os pontos de falha continuam a existir: o gestor ponto de falha global da rede e os vrios AMs so os pontos de falha de blocos da rede. Contornar este problema atravs de redundncia pode ser muito dispendioso. Por m, importante referir a falta de robustez nas ligaes crticas entre AMs e gestor, tornando a abordagem impraticvel em ambientes dinmicos.
No outro tipo de abordagem (fortemente distribudas) passa a existir colaborao entre AMs, ou seja, deixam de fazer apenas recolha de informao dos agentes. Desta forma, possvel implementar mecanismos de disseminao de decises e de gesto entre AMs. O papel do gestor passa a ser o de coordenador das tarefas da rede, apesar da distribuio destas poder ser feita atravs da comunicao entre AMs.
CAPTULO 2.
ESTADO DE ARTE
O facto de existir colaborao entre AMs obriga a que haja um aumento do overhead. No entanto no existe comunicao entre agentes e estes continuam a estar dependentes de um nico ponto (o AM correspondente). A estas, acresce ainda a desvantagem de que os AMs esto subordinados ao
gestor, ou seja, apesar da comunicao entre este tipo de entidades, no h tomadas de deciso por parte destas.
2.2.1.3
Abordagem cooperativa
Como possvel observar pela gura 2.5 o gestor central deixa de existir neste tipo de abordagem e passa a existir cooperao entre as diferentes entidades, no estanto esta limitada a um nico ponto da rede. Devido a este facto, esta abordagem passvel de ser implementada em cenrios muito
dinmicos. Assim, atravs deste tipo de caractersticas, as entidades passam a ter um nvel elevado de autonomia e maiores ndices de inteligncia. Porm, mais inteligncia implica maior complexidade interna. Pode tambm referir-se o facto de que o overhead de controlo que necessrio acrescentar para implementar os mecanismos de colaborao pode degradar o desempenho da rede em cenrios de larga escala. Por ltimo, questes relacionadas com a segurana, devido inexistncia de pontos de gesto central, tm de ser tidas em considerao.
2.2.
informao, anlise da mesma, passando pela deciso de acordo com os resultados obtidos e regras pr-determinadas e, por m, a execuo dessas mesmas decises e a sua disseminao pela rede (gura 2.6).
10
CAPTULO 2.
ESTADO DE ARTE
Em termos de gesto autonmica, esta vista como uma alternativa gesto tradicional de redes, que vem acumulando diculdades nos ltimos tempos [26, 8]. Para as ultrapassar, novas abordagens tm sido propostas, envolvendo arquitecturas, estratgias e tecnologias inovadoras [27, 28, 29]. Em [30] proposto um framework para gesto de recursos e servios de internet, designado Au-
tonomic Service Architecture (ASA). A sua arquitectura permite a gesto autonmica de recursos
respeitando polticas de Service Level Agreement (SLA). As entidades responsveis pelos servios de gesto so designadas Autonomic Resource Brokers (ARBs) e esto organizadas numa estrutura hierrquica, interagindo entre elas e com recursos virtuais. Os autores demonstram a possibilidade de aplicar este framework na gesto de Multiprotocol Label Switching - Dierentiated Services (MPLSDiServ) atravs de mecanismos de ajuste da largura de banda de acordo com a carga, e utilizao eciente de recursos respeitando SLAs. Embora possua uma arquitectura genrica, a implementa-
o de novas funcionalidades no simples devido complexidade da organizao hierrquica e da arquitectura interna dos ARBs. Em [31] apresentada a arquitectura Autonomic Network Architecture (ANA), que possui suporte ao nvel da aplicao (Hypertext Transfer Protoco l (HTTP), File Transfer Protocol (FTP), Peer-
to-Peer (P2P), Voice over Internet Protocol (VoIP), Domain Name System (DNS), etc), ns mveis,
multidomnios e mecanismos de registo, autenticao e comunicao entre ns. Atravs desta possvel uma gesto autonmica da rede, adaptada a condies dinmicas e reorganizao do trfego segundo requisitos do utilizador. No entanto, apresenta problemas semelhantes aos indicados na anlise da
abordagem referenciada em [30]. Em [32] descrito o projecto Component ware of Autonomic, Situation-aware Communication and
Dynamically Adaptable Service (CASCADAS) e as entidades que o compem. Estas so designadas de Autonomic Communication Element s (ACEs) e integram todas as capacidades de auto-organizao,
sendo responsveis pela gesto da rede. Em termos de camadas, a arquitectura est desenhada do seguinte modo: ao nvel da aplicao existe uma distino clara entre o desenvolvimento e a integrao de componentes para aplicaes autnomas; ao nvel da rede est prevista a integrao de diversos controladores e a partilha de recursos de rede tambm abordada. Contudo, a abordagem apresenta limitaes em termos de escalabilidade e de intolerncia a falhas devido ao facto dos ACEs serem pontos centralizadores de servios. Em [33] proposta a arquitectura Haggle para redes autonmicas com suporte a ligaes intermitentes. Em relao ao modelo do n, existe a preocupao em implementar as diversas camadas do modelo OSI, onde se destaca o suporte ao nvel da camada fsica, da transmisso em redes Ethernet e sem os segundo o padro 802.11 e Bluetooth. As limitaes encontradas relacionam-se sobretudo com a falta de suporte a transmisses extremo-a-extremo e requisitos de QoS. Em [34] abordado o projecto designado de Foundation Observation Comparison Action Learn
Reason (FOCALE), no qual se insere uma arquitectura adaptvel a mudanas do meio envolvente,
regras e requisitos impostos pelo utilizador. Na base da sua constituio esto elementos que podem incorporar todas as funcionalidades de gesto autonmica e que colocam a necessidade de interveno directa apenas ao nvel da denio de objectivos. As caractersticas diferenciadoras deste projecto so: a capacidade de lidar com terminais com diferentes sistemas operativos; a comunicao atravs protocolos distintos e em ambientes dinmicos. O sistema , por isso, bastante complexo e apresenta diculdades em recuperar caso ocorram falhas ao nvel da gesto, nomeadamente quando surgem situaes imprevistas no meio. Isto implica que haja degradao em termos de segurana e QoS.
2.2.
11
Autonomic Internet (AUTOI). A sua principal caracterstica a existncia de cinco planos de abstraco (planos Orchestration, Service Enablers, Knowledge, Management and Virtualization (OSKMV)), que no so mais que funes distribudas para controlo da infra-estrutura de rede. O uso do AUTOI no adequado a redes de grande escala devido ao elevado nvel de sincronizao requerido pelos elementos constituintes da arquitectura (Autonomic Management System - AMS)).
Em [36] realizado um estudo usando mtodos computacionais autonmicos para a gesto de NGNs. Demonstrou-se que o uso destes mtodos permite optimizar as comunicaes, ao efectuar
um controlo da rede sem interveno directa, evitando assim alguma da complexidade dos sistemas actuais. So consideradas duas perspectivas, uma que considera os equipamentos, outra em que
feita uma abstraco dos mesmos. Porm, no so propostos cenrios concretos para avaliao dos mecanismos.
Em [9] apresentado um prottipo de um framework para gesto autonmica de servios em NGNs, que integra mecanismos como Service-Oriented Architecture (SOA), Application-Oriented Networking (AON) e computao autonmica. Neste prottipo est j prevista uma aplicao de gesto que
permite a denio automtica de requisitos de QoS extremo-a-extremo para servios padro de forma distribuda, e a sua gesto ser realizada autonomamente de acordo com polticas de SLA. No entanto, as restries impostas por SLAs ao nvel de QoS tornam a tarefa de gesto autonmica do framework bastante complexa, tornando-se difcil encontrar um ponto de equilbrio entre a soluo adoptada e as regras impostas.
Em [37] proposta a Autonomic Network Management Architecture (ANEMA), cujo objectivo principal a implementao de mecanismos que permitam a gesto autonmica de redes baseadas em IP. Como forma de o demonstrar foi desenvolvido um simulador do sistema com diferentes cenrios e tambm uma testbed de pequena escala para comprovar a soluo apresentada. Contudo, no
demonstrado o impacto das decises locais na rede global, bem como o modo da sua disseminao entre as entidades. Seria tambm relevante elaborar um conjunto de testes reais em maior escala.
Em [27] proposto o Autonomic Load Balancing Algorithm (ALBA) que pretende aumentar a utilizao da capacidade de uma Wireless Local Area Network (WLAN), garantindo simultaneamente QoS em aplicaes VoIP. A sua arquitectura permite ainda lidar com mudanas da topologia de rede, uma vez que os Access-Points (APs) esto dotados de funcionalidades autonmicas. Atravs
de simulao demonstrado que estas funcionalidades resultam num comportamento de regulao consistente da carga para fora das zonas sobrecarregadas. Esta avaliao feita atravs da mtrica
Channel Utilization Estimate (CUE) em vez da largura de banda. Seria importante a integrao de
outros critrios para fazer o balanceamento de carga e analisar o impacto de cada um, bem como a implementao de mecanismos para a disseminao de requisitos de QoS aos melhores APs vizinhos. No entanto, as limitaes em termos de escalabilidade estaro sempre presentes, uma vez que as capacidades de gesto autonmica esto implementadas em APs.
12
CAPTULO 2.
ESTADO DE ARTE
2.3
In-Network Management
O paradigma de INM [13] foi apresentado no projecto europeu 4WARD [38] e pretende implementar um novo design de arquitecturas de rede que responda s exigncias das NGNs. Este novo design
incorporar arquitecturas distribudas, atravs do qual a gesto da rede ser feita. O principal objectivo ser ter as entidades e os servios de rede muito prximos, ou seja, que as capacidades de gesto estejam incorporadas nos elementos de rede. Com este paradigma espera-se atingir um maior nvel de automatizao na medida em que, cada uma das entidades ser capaz de tomar decises por si s, tendo como base o conhecimento partilhado entre os diversos elementos que compem a rede. A colaborao ser tambm til na adaptao da rede a mudanas que ocorram nesta (falhas, mobilidade, entrada e sada de ns, etc) bem como em termos de escalabilidade da mesma.
De acordo com a gura 2.7, na abordagem tradicional o administrador controla toda a gesto de decises da rede, estando os servidores fora do plano da rede onde executado todo o processamento. J na abordagem autonmica, todo o controlo e decises esto inseridas num ciclo de gesto (gura 2.6). Existe comunicao entre entidades para a gesto da rede, no entanto, as regras so
determinadas externamente por servidores especcos para o efeito, introduzindo limitaes ao nvel da escalabilidade da arquitectura. Por ltimo, segundo o paradigma de INM, existem interaces P2P entre entidades com o objectivo de partilhar conhecimento para atingir uma gesto descentralizada da rede, isto , sem haver necessidade de recorrer a servidores externos para executar decises. Desta forma, espera-se conseguir uma arquitectura escalvel, robusta, auto-organizada e totalmente distribuda. Em termos de viso global, a gura 2.8 ilustra a organizao do plano de gesto segundo o paradigma de INM. Verica-se que este se encontra inserido na prpria rede e que as entidades deste plano apresentam um elevado nvel de interaco, sendo executado pelos processos de gesto incorporados em cada equipamento.
2.3.
IN-NETWORK MANAGEMENT
13
14
CAPTULO 2.
ESTADO DE ARTE
mover livremente, de modo a apenas ser necessrio que estas possuam vises parciais da estrutura global da rede, outro dos requisitos deste tipo de arquitectura. Nas seces seguintes so apresentadas abordagens a mecanismos de bootstrapping, descoberta e eleio que permitiro optimizar o processo de comunicao entre os ns.
abordagens para arquitecturas centralizadas em [44, 45, 46, 47], para arquitecturas hbridas em [43] e para arquitecturas distribudas em [48]. O grande desao deste mecanismo que a sua implementao no deve comprometer a robustez, o automatismo e a escalabilidade do sistema, portanto, o overhead de mensagens necessrio ao warm-up da rede deve ser baixo. Em [43] apresentado um mecanismo de bootstrapping para redes ad hoc mveis completamente distribudo. Este mecanismo cumpre, portanto, o requisito de ser escalvel, uma vez que no de-
pende de qualquer ponto central coordenador. Neste mtodo so usados P2P multicast join queries e responses, bem como o armazenamento dos resultados de todos os ns. No entanto, o overhead de mensagens apresentado um problema a ter em considerao. Em [49] abordada a necessidade de implementar um mecanismo de bootstrapping se for integrado um gestor autonmico na rede. Esta soluo pode resolver alguns dos problemas de consenso existentes em sistemas distribudos e possivelmente diminuir o overhead necessrio gesto da informao. Contudo, a escalabilidade ca comprometida, uma vez que, em redes de larga escala, o gestor autonmico car sobrecarregado. Tambm a segurana do sistema colocada em causa, pois uma falha no gestor autonmico afecta a rede no seu todo. Em [50] proposto um mecanismo de bootstrapping baseado em Dynamic Domain Name System (DDNS). Atravs desta abordagem, so detectadas comunicaes P2P e os ns envolvidos so automticamente inseridos na rede. O objectivo do bootstrapping encontrar um membro j existente no sistema, para que a rede P2P no funcione de forma isolada e seja possvel melhorar o seu desempenho global. Em [51] os autores propem um modelo de bootstrapping auto-organizado para redes sem-os direccionais. Os seus requisitos so um algoritmo para organizao dos ns de forma bottom-up formando uma spanning-tree, um algoritmo de descoberta de recursos para a disseminao eciente de informaes de conectividade local, e ainda um protocolo de sincronismo que garanta a conectividade a partir de interaces P2P. Os autores identicam como principais desaos a integrao destes algoritmos, a escolha de protocolos para determinao do estado das ligaes, a troca de informaes entre ns de forma coordenada, o sincronismo e coerncia da informao local.
2.4.
15
reduo do overhead imposto pelo protocolo de encaminhamento ao nvel IP. No entanto, a soluo apresentada revela limitaes ao nvel da escalabilidade, uma vez que recorre ao uso de ns forwarding da informao. Em [63] o problema da descoberta em redes sem os abordado tendo em conta o nvel fsico e do meio de acesso. Para tal proposto o protocolo gossip-based T-Man que cria a topologia de
rede de forma distribuda, rpida e robusta, exigindo porm um elevado nmero de mensagens para a sincronizao da informao sobre a topologia da rede. O mecanismo permite ainda aos ns ter uma viso global ou parcial da rede, o que vantajoso devido aos recursos limitados dos dispositivos sem os. Por outro lado, existe a necessidade de uma sincronizao global da informao da rede, o que torna a soluo pouco ecaz em cenrios reais. Em [65] apresentado o protocolo Spanning Tree Protocol (STP) [66] aplicado a redes sem os. Atravs deste protocolo os ns sem os e mveis de uma rede ad hoc estabelecem e mantm ligaes, sendo as informaes armazenadas em tabelas locais. Estas so usadas posteriormente para estabelecer as melhores rotas entre ns; no entanto, o critrio para o custo o nmero de saltos que inecaz quando as ligaes se encontram congestionadas. Alm disso, no existe critrio para a associao ao n vizinho que, como j foi referido em [59], ir ter impacto ao nvel do encaminhamento na camada IP. Em [67] abordado o problema da descoberta ad hoc em cenrios sem os estticos. Para tal realizada uma comparao entre a descoberta directa e usando algoritmos gossip-based. Em ambos necessrio ocorrer, pelo menos, a recepo bem sucedida de uma mensagem vinda de cada um dos seus vizinhos, para assim o receptor passar a conhec-los. Esta limitao implica a degradao do
desempenho global da rede quando a estimativa do nmero de ns se afasta do valor real. Em [68] proposta uma abordagem inspirada na comunicao das colnias de formigas (atravs de feromonas), aplicando-a na troca de informaes entre ns da rede. Nas solues inspiradas na biologia necessrio conhecer bem o modelo real, nomeadamente ao nvel das interaces entre indivduos. Por isso, os mtodos usados para modelar estes comportamentos devem ser bastante especcos, impossibilitanto por vezes a sua integrao noutras solues. Ao nvel das redes com os, os protocolos de encaminhamento (e.g. Routing Information Protocol
16
CAPTULO 2.
ESTADO DE ARTE
(RIP), Open Shortest Path First (OSPF), etc) integram mecanismos de descoberta de forma a criar as tabelas de adjacncia. O OSPF [69] um protocolo de encaminhamento adaptativo que usa pacotes
Link State Advertisement (LSA) para descoberta de ns vizinhos, sendo enviada a topologia de rede
localmente conhecida atravs destes, e propagada a todos os ns da mesma rea. O valor de intervalo por defeito 5s, porm, o tempo de convergncia a principal desvantagem em cenrios de larga escala, podendo ainda ser melhorados outros aspectos [70]. Tambm a sua complexidade exige um planeamento adequado, tornando a tarefa do gestor de rede mais complexa em redes de grandes dimenses. Tambm o Cisco Discovery Protocol (CDP) [71] usado em redes com os, apresentando informao sobre as interfaces dos vrios equipamentos de rede onde o protocolo esteja em execuo. No entanto, o software proprietrio, impedindo a implementao de novas funcionalidades ou modicaes s existentes, encontrando-se restrito a equipamentos Cisco. O mecanismo de descoberta
realizado atravs do envio de pacotes CDP Hello em intervalos xos (e.g. o valor por defeito 60s), sendo o tempo necessrio para a convergncia uma das suas desvantagens. Por ltimo, o protocolo Fing [72] desenvolvido pela Overlook apresenta um overhead elevado de mensagens para efectuar o processo de descoberta. Este resultado deve-se ao facto do mecanismo
se basear no Address Resolution Protocol (ARP), ou seja, no envio de ARP-Requests para todos os endereos IP da sua rede, aguardando resposta dos ns existentes (ARP-Reply).
diversas tcnicas, como ooding [73], baseada em probabilidades [74] ou na localizao [75], de forma epidmica [76] ou com base em domnios [77]. importante que as diversos dispositivos de rede colaborem entre si e, para isso, fundamental que o seu conhecimento individual seja propagado pela rede, de modo a colocar as informaes de cada um ao servio de todos. Apenas desta forma possvel atingir uma gesto distribuda da rede. Em [78] apresentado um conjunto de mecanismos integrados para especicao, implementao e disseminao das regras de gesto num domnio hierrquico. Para o efeito usado um coordenador central que agrega e dissemina todas as regras do domnio. Este facto compromete, contudo, toda a escalabilidade da soluo proposta. Em [79] os autores propem o mecanismo Information Dissemination Management (IDM), atravs do qual so coordenadas todas as etapas da disseminao de informao. No entanto, quando o nmero de regras e informao a serem propagadas tende a ser elevado (cenrios de larga escala), ter um nico mecanismo de controlo que consiga englobar toda a disseminao torna-se bastante complexo. Em [80] so abordadas algumas tcnicas baseadas em ontologias , cujo benefcio a organizao da informao para disseminao. Porm, exigido como pr-requisito uma classicao bem denida da semntica aplicada. comum a utilizao de mtricas sociais em Delay Tolerant Networks (DTNs) uma vez que neste tipo de redes ns podem mover-se livremente, fazendo com que nem sempre existam ligaes entre os eles. Como possvel soluo, proposto em [81] um algoritmo para identicao de ns bridge A soluo apresenta menor overhead que o algoritmo
1
1 Nas
cincias de computao corresponde a uma descrio de conceitos considerados por um conjunto de entidades.
2.4.
17
epidmico, dado que a partilha de informao entre os ns se faz apenas com informaes parciais da rede. Contudo, os resultados em termos de atraso m-a-m e nmero de saltos cam abaixo do algoritmo epidmico. Em [82] proposta uma organizao dos ns em comunidades sociais para o envio de informao em multicast em DTNs. Em termos do encaminhamento de dados, o custo em nmero de relays menor na soluo proposta comparativamente ao algoritmo epidmico. No entanto, o desempenho em termos de atraso e a percentagem de entrega de pacotes pior. Em [83] proposto um outro algoritmo distribudo com aplicao no mesmo tipo de redes. Neste, o encaminhamento de dados atravs das vrias comunidades de ns formadas resulta num custo menor em termos de mensagens necessrias comparativamente ao algoritmo de ooding, porm, a taxa de entregas bem sucedidas menor. Em [84] so propostos trs algoritmos para deteco distribuda de comunidades estticas e dinmicas. No entanto as solues apresentam vrias limitaes: apenas apresentada uma anlise do
estado nal e no da evoluo ao longo do tempo; os valores dos limiares so denidos inicialmente de forma esttica, em vez de serem dinmicos ou usar-se lgica fuzzy ; apenas realizada a deteco de um tipo de relao social entre ns; a informao recolhida permanente em vez de ser dinmica com o tempo e com a evoluo das relaes entre ns.
18
CAPTULO 2.
ESTADO DE ARTE
ao nvel do nmero de mensagens necessrio para esta sinalizao. Percebe-se ainda que, em cenrios com elevada dinmica, esta abordagem pode-se tornar pouco eciente. Em [91] os autores apresentam o protocolo de eleio Network Leader Election (NLE) baseado em
Link State Routing (LSR), garantindo consenso mesmo em situaes de quebra de ligaes e parties
da rede. O protocolo apresenta um bom desempenho ao nvel de overhead necessrio em situaes de falha do lder de um grupo. A dependncia do LSR uma limitao em cenrios de larga escala, podendo levar a uma degradao do desempenho global do sistema. Em [92] referido um modelo de eleio uniforme, no qual cada estao transmite, com probabilidade igual, a sua informao em janelas de tempo denidas. Apesar de ter sido apresentada uma soluo para melhor denir o nmero de janelas temporais, os autores no explicam como esperam resolver os problemas de coordenao da informao para obter uma eleio consensual entre os vrios ns.
SSID Infrastructure
SSID Ad hoc
IBSS 2
ESS 1
BSS 1
1 3 5
4 7 2
IBSS 1 BSS 2
4 7 1 3 5
DS
IBSS 3
8 6
2.5.
19
Numa rede infra-estruturada, o Basic Service Set Identier (BSSID) identica cada uma das BSS, sendo por isso o endereo MAC do AP dessa clula. Numa IBSS, o BSSID um endereo MAC gerado localmente, contendo 46 bits aleatrios, o bit universal/local a '1' e o bit individual/group a '0' [93]. Um BSSID com todos os bits a '1' indica que broadcast e s pode ser usado no modo active probing, durante o envio de Probe Requests. Os bits universal/local e individual/group so os bits menos signicativos do primeiro octeto. Os restantes 46
bits so aleatrios, de modo a que seja provvel a criao de endereos nicos (gura 2.10).
individual / group bit universal / local bit
01
...
1 octeto
2 octeto
6 octeto
Hopping Spread Spectrum (FHSS), Direct Sequence Spread Spectrum (DSSS), Orthogonal Frequency Division Multiplexing (OFDM).
STAs e os APs so possveis pontos de falha do sistema, uma vez que a sua avaria isola determinadas pores da rede. J no modo ad hoc, a comunicao feita sem recurso a qualquer tipo de infra-
20
CAPTULO 2.
ESTADO DE ARTE
Modo passivo:
mesmo que o seu. Aps receber este tipo de pacote, o n iniciar o processo de associao com o envio de um Association Request. Uma das possveis vantagens deste modo ser o reduzido nmero de pacotes trocados, isto , o baixo overhead de mensagens, potenciando o throughput da rede.
Modo activo:
outras entidades, envia de imediato um pacote Probe Request (em broadcast ), onde vai o SSID da rede em que est congurado. Haver respostas (Probe Responses ) por parte de todos os ns ao alcance que pertencam ao mesmo SSID. O n pode, alternativamente, enviar Probe Request com broadcast SSID, fazendo com que todos os ns ao alcance respondam. Uma das possveis vantagens do modo activo ser a rpida descoberta de ns ao alcance, que importante no s no start-up da rede, como na manuteno da mesma (quando ocorrem perdas de ligao).
Node 1
Node 2
Node 1
Probe Request
Node 2
Beacon Probe Response Association Request Association Request Association Response Association Response
Short Inter Frame Space (SIFS): o menor espaamento possvel, sendo usado para separar
pacotes ou fragmentos de um dilogo nico, permitindo estao em transmisso ter prioridade sobre todas as outras. Segundo o 802.11 FH PHY o valor 28 ms;
Point Inter Frame Space (PIFS): usado pelo AP para que este consiga o acesso ao meio antes
de qualquer STA, sendo calculado atravs de SIFS + 78 ms ;
2.5.
21
Distributed Inter Frame Space (DIFS): o tempo que as STAs tm de aguardar at conseguirem
acesso ao meio, sendo calculado atravs de PIFS + 128 ms;
Extended Inter Frame Space (EIFS): o intervalo de tempo mximo que uma STA pode aguardar
caso tenha recebido um pacote que no consiga interpretar, de forma a evitar que ocorram pedidos de retransmisso e colises derivadas de transmisses/dilogos incompletos.
2.5.6 CSMA/CA
O acesso ao meio em redes sem os com o protocolo 802.11 realizado atravs do mecanismo Carrier
Sense Multiple Access/Collision Avoidance (CSMA/CA) [98] que se assemelha ao mecanismo Collision Detection (CSMA/CD) usado em redes Ethernet. Atravs deste mecanismo, um elemento da rede que
queira enviar um pacote comea por escutar o canal. Se este se encontrar desocupado, ou seja, no existirem transmisses de outros ns, o pacote enviado. Caso contrrio, necessrio aguardar um perodo de conteno (Contention Period - CP), que um intervalo de tempo aleatrio que todos os ns aguardam aps qualquer transmisso, permitindo que todos os ns tenham igual probabilidade de acesso ao meio. Se no nal deste perodo o canal se encontrar desocupado, o n envia o pacote; seno, repete o processo anterior at detectar o meio livre. Este mecanismo ilustrado na gura 2.14. O algoritmo designado de Exponential Backo e tem de ser executado sempre que um n tenta fazer o primeiro envio de um pacote e o meio est ocupado, aps qualquer retrasmisso ou transmisso com sucesso. O algoritmo no usado unicamente quando um n decide enviar um pacote e o meio est livre, pelo menos, ao tempo correspondente ao DIFS. O mecanismo pode ser distribudo ou centralizado, sendo utilizada respectivamente a Distributed Coordination Function (DCF) ou a Point
Legenda D S CW MPDU A
Distributed Inter Frame Space (DIFS) Short Inter Frame Space (SIFS) Contention Window (CW)
MAC Protocol Data Unit (MPDU)
Acknowledge (ACK)
Acknowledgement consiste no seguinte: se um pacote for bem recebido, retornado um ACK; caso o
pacote seja recebido com erros ou nem sequer seja recebido, o receptor no responder. Isto permite ao emissor saber quando que a sua informao chega ao destino e, caso no se verique, pode proceder retransmisso da mesma. O CP iniciado aps o instante em que o ACK deveria ter sido enviado. Como forma de reduzir a probabilidade de erro dos pacotes de tamanho elevado, existe a possibilidade
22
CAPTULO 2.
ESTADO DE ARTE
de fragmentao dos mesmos em pacotes de menor dimenso que so reagrupados no receptor. Desta forma, tanto a probabilidade de erro como a de retransmisso so reduzidas. Os pacotes Request to Send (RTS) e Clear to Send (CTS) fazem parte de uma tcnica de handshake usada no mecanismo de CSMA/CA para resolver um problema conhecido como n escondido (hidden
node problem ). Na gura 2.15, o n B consegue ouvir tanto o n A como o n C; no entanto estes
no se conseguem ouvir. Assim, os ns A e C podem transmitir simultaneamente, cando o n B com dados corrompidos.
Uma soluo proposta foi a introduo de maior controlo nas transmisses, recorrendo ao envio dos pacotes RTS e CTS antes da transmisso do pacote de dados. Na situao da gura 2.16, o n A envia um pacote RTS que recebido pelo n B. Este envia um pacote CTS que recebido tanto por A como por C, e assim o n C j no iniciar a transmisso, tendo por isso de aguardar.
Legenda D S CW MPDU A
Distributed Inter Frame Space (DIFS) Short Inter Frame Space (SIFS) Contention Window (CW)
MAC Protocol Data Unit (MPDU)
Acknowledge (ACK)
Pacotes de gesto:
Beacon : so gerados periodicamente como forma de anunciar a presena e informaes da entidade que os envia (e.g. timestamp, SSID, etc). As entidades varrem continuamente os canais
2.5.
23
Probe Request : os pacotes de Probe so usados no modo Active Scanning, quando uma STA
necessita de obter informao acerca da presena de entidades no meio envolvente, em vez de aguardar o envio de Beacons por parte destas.
Probe Response : a resposta ao pedido anterior, onde estaro encapsuladas informaes acerca
da entidade que o envia (e.g. capability information, supported data rates, etc).
Deauthentication : este pacote enviado quando se deseja terminar uma comunicao segura
entre duas entidades.
rates ).
Reassociation Request : uma STA que se afaste demasiado do AP onde realizou a associao e
encontre um outro AP, poder realizar um pedido de reassociao com o novo AP. Este car responsvel por encaminhar os dados que possam estar ainda em la de espera no AP anterior para serem transmitidos STA.
Reassociation Response : ser semelhante ao pacote Association Response, mas neste caso relacionase com o pedido de reassociao.
Disassociation : uma STA enviar este pacote quando deseja terminar a associao previamente
estabelecida (e.g. bateria fraca). Desta forma, a entidade onde estiver associada pode libertar os recursos associados a essa associao e eliminar essa STA da tabela local de associaes.
24
CAPTULO 2.
ESTADO DE ARTE
Pacotes de controlo:
RTS: o mecanismo de handshake RTS/CTS de uso opcional e visa reduzir as colises entre pacotes quando ocorre o fenmeno do n escondido. A primeira fase consiste no envio do
pacote RTS por parte da entidade que pretende enviar o pacote de dados.
CTS: na segunda fase, a entidade que recebe o RTS responde com um CTS, possibilitando o envio do pacote de dados e impedindo simultaneamente o envio de dados por parte de outras estaes durante um determinado perodo de tempo.
ACK: se o pacote de dados foi recebido sem erros, enviado um ACK de volta. Caso a entidade emissora no receba o ACK durante um determinado perodo de tempo aps o envio dos dados, proceder retransmisso dos mesmos.
Pacotes de dados:
informao que estes transportam estar encapsulada ao nvel do campo Frame Body.
2.5.7.2
Formato genrico
Os pacotes trocados tero, ao nvel do cabealho MAC [101], a seguinte estrutura da gura 2.17:
Campo
Frame Control
(gura 2.18)
Protocol Version :
Indica qual a verso do protocolo 802.11 MAC que est contida no pacote.
Apesar de apenas existir a verso '00', todas as outras combinaes esto reservadas para futuras verses que se concluam incompatveis com as especicaes iniciais do padro;
Type
Sub-Type :
2.5.
25
Valor do sub-tipo
Nome do sub-tipo
Management frames
(type =00) 0000 0001 0010 0011 0100 0101 1000 1001
2
Association Request Association Response Reassociation Request Reassociation Response Probe Request Probe Response Beacon Annoucement trac indication message
(ATIM)
Valor do sub-tipo
Nome do sub-tipo
3
(b)
(a)
Valor do sub-tipo
Nome do sub-tipo
4
Data Data + CF-Ack Data + CF-Poll Data + CF-Ack + CF-Poll Null data (sem transmisso de dados) CF-Ack (sem transmisso de dados) CF-Poll (sem transmisso de dados) CF-Ack + CF-Poll (sem transmisso de dados)
QoS Data
5
QoS Data + CF-Ack QoS Data + CF-Poll QoS Data + CF-Ack + CF-Poll QoS Null (sem transmisso de dados) QoS CF-Ack (sem transmisso de dados) QoS CF-Poll (sem transmisso de dados) QoS CF-Ack + CF-Poll (sem transmisso de dados)
(c)
Tabela 2.2: Campos Type e Subtype, adaptado de [102]
2 Nos management frames, os sub-tipos 0110-0111 e 1110-1111 so reservados e no esto actualmente 3 Nos control frames, os sub-tipos 0000-0111 so reservados e no esto actualmente em uso 4 Nos data frames, o tipo 11 reservado 5 Proposto pelo protocolo 802.11e mas ainda no standardizado
em uso
26
CAPTULO 2.
ESTADO DE ARTE
Estes bits indicam se o pacote est a ser trocado num modo centralizado
ou distribudo. Todos os pacotes de redes infra-estruturadas tm de ter pelo menos um dos bits DS a
To DS = 0 From DS = 0 From DS = 1
Todos os pacotes de gesto e dados trocados numa IBSS Pacotes de dados recebidos de uma estao no modo infra-estrutura
To DS = 1
Pacotes de dados transmitidos de uma estao no modo infra-estrutura Pacotes de dados de uma
Bit Retry :
Campo
Duration/ID
(gura 2.19)
NAV:
Representa o nmero de microssegundos que expectvel que o meio esteja ocupado para
a transmisso em progresso. Todas as estaes tm de monitorizar os cabealhos de todos os pacotes que recebem e actualizar o valor do campo NAV caso seja aumentado o tempo em que o meio est ocupado. O meio permanecer bloqueado durante esse intervalo de tempo adicional;
Tramas
(CFP):
o Beacon sinalizando um perodo de conteno livre, possam actualizar o valor do NAV com um valor elevado adequado, de forma a no interferir com transmisses neste perodo;
Tramas
se- em determinados perodos e, para que no sejam perdidos pacotes, a estao ir requisit-los ao ponto de acesso. Para tal ir ser enviado um PS-Poll, de forma a que a estao tenha acesso aos
2.5.
27
Campos de Endereos
endereos, cada um constitudo por 48 bits. Os seus papis sero diferentes conforme o tipo de pacote em questo (tabela 2.4).
To DS
0 0 1 1
From DS
0 1 0 1
Address 1
DA DA BSSID RA
Address 2
SA BSSID SA TA
Address 3
BSSID SA DA DA
Address 4
N/A N/A N/A SA
Tabela 2.4: Papel desempenhado pelos vrios campos de endereos [103] DA = Destination Address; SA = Source Address; TA = Transmitter; RA = Receiver.
Campo
Sequence Control
composto por dois sub-campos que permitem reorden-los: o nmero de fragmento e o nmero de sequncia (gura 2.20).
Campo
Frame Body
em questo. Os campos xos e Information Elements (IE) que podem ser encontrados no Frame Body dos diferentes pacotes de gesto esto sumarizados na tabela 2.21:
28
CAPTULO 2.
ESTADO DE ARTE
Figura 2.21: Constituio do Frame Body para os diferentes pacotes de gesto, adaptado de [104]
Information Element:
MAC. a forma usada pelos equipamentos para transmitir informao sobre si mesmos. por isso comum serem enviados vrios IEs em cada pacote de gesto, obedecendo o seu formato a uma estrutura pr-denida de tamanho dinmico (gura 2.22).
Element Id
1 bit
Length
1 bit
Information
length
Campo
permite s estaes vericar a integridade dos pacotes recebidos. Caso a FCS seja positiva, enviado um acknowledge pelo receptor. Caso seja negativa, o pacote deve ser retransmitido.
2.6 Concluses
No presente captulo comearam por se apresentar as abordagens tradicionais gesto de redes. Da anlise s mesmas pode concluir-se que:
a gesto centralizada apresenta problemas srios ao nvel da escalabilidade, da falta de comunicao entre agentes e do ponto de falha central do sistema;
a gesto fracamente distribuda tenta mascarar o problema da escalabilidade, introduzindo agentes intermdios de gesto, mas em rigor mantm as limitaes da gesto centralizada;
a gesto fortemente distribuda introduz a colaborao entre os agentes intermdios de gesto, mantendo, no entanto, o gestor central e, por isso, o ponto de falha central do sistema;
2.6.
CONCLUSES
29
a gesto cooperativa elimina a necessidade do gestor central, aumenta o nvel de cooperao e torna as ligaes dinmicas entre agentes de gesto. complexas e maior overhead. Para isso exige implementaes mais
Aps identicadas estas limitaes, e devido crescente investigao no captulo da gesto autonmica e distribuda, foram identicados os requisitos e desaos que so esperados das redes de prxima gerao. Como possvel soluo foi apresentado o paradigma de INM que visa alcanar uma gesto distribuda da rede, incorporando capacidades de gesto em cada um dos elementos que a compem. Neste sentido, necessrio implementar diversos mecanismos que permitam a comunicao entre elementos de rede, possibilitando a colaborao entre estes de modo a alcanar uma gesto mais eciente em termos de escalabilidade, robustez e tolerncia a falhas. Aps descritas as limitaes de algumas abordagens a estes mecanismos encontradas na literatura, pretende-se na presente Dissertao desenvolver processos de bootstrapping, mecanismos de descoberta de entidades e de disseminao de informaes na rede, bem como efectuar a eleio dinmica de ns para atribuio de funes especiais. Todos estes mecanismos tero de cumprir os requisitos exigidos pelas NGNs (escalabilidade, integrao com os restantes mdulos, inexistncia de pontos de falha crticos, adaptao a topologias dinmicas, prescindir da sincronizao global de informao da rede, etc). As solues desenvolvidas pretendem ser adaptveis em termos de nmero de ns e dinmica da rede, fazendo uso em simultneo de conceitos inovadores como as mtricas sociais [52, 106, 107], de forma a dar resposta aos desaos apresentados pelas NGNs.
30
CAPTULO 2.
ESTADO DE ARTE
Captulo 3
Mecanismos de Cooperao
3.1 Introduo
De forma a implementar uma gesto distribuda e autonmica da rede necessrio que exista comunicao colaborativa entre os vrios elementos que a constituem. O modelo de comunicao desenvolvido no mbito da presente Dissertao est dotado dessa mesma colaborao, no qual se inserem os mecanismos que permitem a partilha de conhecimento entre os ns. Contudo, inmeros desaos tm de ser levados em conta quando se pretende uma gesto sem recurso a elementos centralizadores. No presente captulo dada uma viso geral dos mecanismos implementados, bem como de alguns conceitos e processos associados. Em 3.2 so indicados os principais objectivos da soluo implementada. Na seco 3.3 so abordadas as redes sem os e na seco 3.4 so abordadas as redes com os. O captulo termina na seco 3.5 onde apresentado um breve resumo do mesmo.
3.2 Objectivos
De modo a que a comunicao entre as vrias entidades conduza a uma gesto autonmica e distribuda da rede, os vrios mecanismos e funcionalidades desenvolvidas tm por objectivo conseguir realizar:
A estes objectivos transversais juntam-se ainda dois especcos das redes sem os:
Associao ponderada entre ns, com recurso a mtricas sociais; Agregao dos ns em comunidades.
32
CAPTULO 3.
MECANISMOS DE COOPERAO
desenvolvidos que servem como base a todas as interaces entre as entidades INM. De uma forma geral, cada entidade ter funcionalidades que lhe permitiro iniciar o processo de gesto por si s e, em seguida, descobrir e contactar os vizinhos. As informaes recolhidas destes contactos sero
guardadas em repositrios locais e serviro de base s decises de gesto que sero tomadas, sendo necessria a disseminao destas atravs dos mltiplos domnios. Em destaque no topo da gura 3.1 encontra-se a parte da arquitectura geral em que se inserem os mecanismos desenvolvidos, tanto para as redes com os como sem os.
3.4.
33
hoc at ao desenvolvimento das funcionalidades de mais alto nvel. Os mecanismos em seguida apre-
34
CAPTULO 3.
MECANISMOS DE COOPERAO
sentados visam alcanar uma gesto eciente, escalvel, robusta, com baixo overhead de mensagens e complexidade reduzida do ponto de vista externo, mesmo considerando ambientes dinmicos. Aqueles que se consideram mais relevantes so:
Bootstrapping : o processo de inicializao de cada entidade. constitudo por diversas chamadas de funes que conguram diferentes parmetros fundamentais existncia daquela entidade na rede, de modo a que funcione segundo o protocolo usado (802.11). Como exemplo temos a atribuio do identicador nico, endereo MAC, BSSID, conhecimento das suas capacidades de hardware, parmetros temporais, etc. A partir desta fase o n est preparado a iniciar a sua actividade na rede.
Descoberta: o mecanismo que permite a uma entidade descobrir outros ns na rede, de forma a que seja possvel posteriormente criar ligaes de associao. No presente trabalho a descoberta pode ser feita por contacto directo (informao recolhida directamente desse n) ou indirecto (informao transmitida por outro n). Assim, quando uma entidade recebe um Beacon pode car no s a conhecer o n que o enviou, como tambm todos os ns que este j conhecia e que pertencem sua comunidade. necessariamente um processo contnuo j que, num cenrio com mobilidade, as condies vo variando ao longo do tempo.
Troca de informao entre vizinhos: corresponde ao contacto directo, ou seja, entre entidades a 1-salto. O mecanismo usado para este efeito a troca de pacotes de gesto do padro IEEE 802.11 MAC modicados. A estes foram acrescentados novos IEs que visam permitir uma gesto colaborativa e mais eciente da rede, possibilitando por exemplo, a associao ao melhor n ao alcance, deixando de ser feita de forma indiferenciada.
Disseminao de conhecimento: corresponde ao contacto indirecto entre entidades, ou seja, troca de informaes a mltiplos saltos. Os mecanismos para a partilha de conhecimento de
forma distribuda tm como objectivo aumentar a ecincia e rapidez na convergncia da informao. Este conhecimento relaciona-se sobretudo com os ns que, num determinado momento, pertencem a um domnio e algumas caractersticas associadas aos mesmos. Para isso h que ter em considerao o elevado grau dinmico dos cenrios considerados, nos quais os ns podem entrar ou sair de uma comunidade em qualquer momento.
Suporte criao de multi-domnios: ter a rede dividida em domnios auto-organizados vantajoso na medida em que cada entidade no necessita de ter uma viso global da rede, mas apenas do domnio em que se encontra, diminuindo a quantidade de informao necessria a recolher e a armazenar. No entanto, esta diviso no pode isolar partes da rede, porque se pretende
que exista comunicao e colaborao no s dentro como entre domnios. Esta poder ser realizada atravs dos lderes eleitos em cada domnio, alcanando assim uma gesto distribuda e comunicao entre toda a rede.
Eleio: paralelamente ao processo de descoberta ocorre o mecanismo de eleio. Atravs deste so escolhidas as melhores entidades de cada domnio, com base nas mtricas sociais, s quais sero atribudas funcionalidades especcas. Contudo, este processo dinmico, ou seja, a eleio no denitiva, podendo novos lderes serem eleitos caso as condies assim o exijam. necessrio encontrar a melhor soluo tanto para a sinalizao dessas entidades, como para o
3.4.
35
consenso das entidades eleitas, j que o processo de eleio totalmente distribudo. Acresce ainda a estes desaos o elevado grau de dinmismo dos cenrios, fazendo com que as condies se alterem rapidamente. por isso importante denir os critrios para que no ocorram mudanas constantes de lder, o que levaria a perodos de interrupo das comunicaes, degradando parmetros ao nvel da camada IP, como o throughput ou o atraso m-a-m.
2
2 3
3
Figura 3.3: Representao genrica do processo de bootstrapping
O mecanismo de descoberta implementado baseia-se tanto no contacto directo como indirecto entre ns, de forma a estes conhecerem determinadas caractersticas associadas a cada um. O processo
de decoberta constante, no s pela busca contnua por novos ns, como pela actualizao das informaes dos j conhecidos. Inicialmente os ns apenas se conhecem a eles prprios (etapa inicial da gura 3.4) e, atravs do contacto directo (e.g. recepo de Beacons ), os ns passam a conhecer tambm o n de origem do pacote. As informaes relevantes so recolhidas e armazenadas na tabela local Partial View,
correspondente s entidades na vizinhana (etapa intermdia da gura 3.4). No entanto, devido ao raio de alcance limitado, o contacto directo entre ns apenas permite um conhecimento muito reduzido da rede, isto , em cada instante o n apenas consegue visualizar a sua vizinhana. Surge ento a necessidade de introduzir cooperao entre entidades ao nvel da descoberta, permitindo aos ns propagar o seu conhecimento pelas vrias entidades (etapa nal da gura 3.4). Isto resulta num conhecimento mais abrangente da rede, permitindo ao n ter mais informao na qual se pode basear para tomar decises. Para possibilitar este mecanismo, algum do conhecimento do n inserido ao nvel do Community-Based Beacon IE, e quando o pacote recepcionado, a informao desencapsulada e adicionada ao repositrio de informao local de ns conhecidos: tabela Known
36
CAPTULO 3.
MECANISMOS DE COOPERAO
1 1
1 1
1
1 1
1 2 3
2
2
3
3 1 2
3
1, 3
1, 2, 3
2
1, 2
1 2 3
2
1, 2
Ao nvel do processo de eleio, necessrio que cada entidade envie as informaes associadas ao n que considera ser o melhor (e.g. ID e mtrica), tal como representado na etapa inicial da gura 3.5. Como o processo realizado de forma distribuda, necessrio que todas as entidades recolham essa informao e a propaguem (etapa intermdia da gura 3.5), de forma a que seja antigida a convergncia/consenso da eleio (etapa nal da gura 3.5). Na abordagem proposta considera-se que o n com maior mtrica considerado o lder dentro de uma determinada comunidade. No entanto, como os cenrios so muito dinmicos, quer em termos da mobilidade dos ns, quer do valor da prpria mtrica de cada um, o processo de sinalizao dos ns eleitos requer ainda bastantes desenvolvimentos. Tambm as caractersticas e funes especcas que os lderes tero de desempenhar no esto ainda concretamente denidas, prevendo-se porm que o seu papel ser fundamental ao nvel do controlo do envio de informao entre ns para minimizar o trfego na rede.
3 (51)
1 (87)
3 (51)
1 (87)
1 (87)
1 (87)
1 (87)
3 (51)
1 (87) 3 (51)
1 (87) 3 (51) 1 (87)
1 (87) 1 (87)
1 (87) 2 (23)
1 (87)
2 (23)
2 (23)
1 (87) 2 (23)
2 (23)
1 (87) 2 (23)
3.4.
37
Desta forma conseguir-se- ter, em qualquer momento, o grafo de associao estabelecido com as melhores ligaes de acordo com os parmetros denidos.
Node 3 Node 5
Node 3 Metric 51
Node 2 Node 1 Node 4
Node 5 Metric 23
Node 2 Metric 15
Node 1 Metric 47
Node 4 Metric 82
(a)
(b)
Para evitar mudanas constantes na associao por diferenas ligeiras da mtrica social, foi denido um limiar superior at ao qual os valores de mtricas sociais recebidas no despoletam um novo processo de associao. Est ainda denido que este limiar adaptativo conforme o valor do peso imposto a cada um dos parmetros de entrada da mtrica social. Deste modo consegue-se que o valor a partir do qual realizada uma nova associao seja proporcional aos pesos impostos (w1 ,
w2
w3 ).
Assim, o limiar
(3.1)
uma percentagem do somatrio dos pesos considerados (e.g. 10% nas simulaes reali-
3.4.4.2
Aps ser criada uma associao entre dois ns, estes podem afastar-se pelo facto de possuirem mobilidade, resultando na quebra de ligao entre ambos. Esta situao ocorre devido ao alcance limitado dos ns, originando situaes de interrupo das comunicaes. Este tipo de fenmeno implica que a associao seja terminada, sendo necessrio que, uma vez detectada esta situao, o n seja capaz de despoletar um novo processo de associao assim que se aperceber de outro n no seu raio de alcance (gura 3.7). Neste sentido foi implementado um mecanismo do tipo break-before-make [108]. Para tal usou-se um watchdog timer com escala igual a cinco vezes o intervalo entre Beacons indicado pelo n onde a associao foi estabelecida. A cada recepo de Beacons vindos desse n o timer reiniciado. Ao atingir o m de escala, o n detecta a perda de ligao, permitindo-lhe iniciar uma nova associao, ou seja, nesta situao a mquina de estados reiniciada.
38
CAPTULO 3.
MECANISMOS DE COOPERAO
(a)
(b)
(c)
3.4.4.3
Identicador da comunidade
Uma comunidade no mais que um conjunto de ns associados entre si, ou seja, numa comunidade h a garantia que existe sempre um caminho de ligaes de associao entre quaisquer dois ns. Este conceito importante do ponto de vista da gesto dado que, numa rede cuja arquitectura seja distribuda, caso as entidades estejam organizadas numa nica comunidade, o encaminhamento de dados entre quaisquer dois ns garantido. Caso existam mltiplas comunidades na rede, a transferncia de informao entre comunidades complexa: tero de ser denidas entidades responsveis por realizar essa funo; e tambm ser necessrio introduzir maior conhecimento ao nvel do n, dado que este necessitar no s de conhecer os ns da sua comunidade, como tambm os que pertencem a cada uma das restantes, de modo a poder realizar o encaminhamento correcto. A formao de comunidades ocorre quando o canal de comunicao deixa de ser ideal e passa a apresentar perdas e/ou atrasos devido propagao no meio livre. Nesta situao os ns deixam de se conseguirem ver todos uns aos outros, ou seja, passa a existir um raio de alcance limitado em cada um. Assim sendo, os ns iro associar-se a outros que estejam na sua proximidade, podendo haver a formao de mltiplos domnios, isto , conjuntos distintos de ns associados entre si. Cada um destes domnios designa-se por comunidade, que identicada com um ID nico .
1
CommunityID 164
43 7 19
CommunityID 307
33
21 59 18 3 51 39
81
21
37
Uma vez que tudo realizado de forma distribuda, a gesto do identicador de cada comunidade ter de ser feita pelos vrios ns que o constituem. desse mesmo identicador entre os vrios elementos. Portanto ter de ser garantida a concordncia
1 Inteiro
aleatrio de 32 bits
3.4.
39
cador da comunidade que lhe for enviado (comunidade onde estabeleceu a ligao) pelo n onde efectuou a associao. No entanto, alm da entrada e sada de ns individuais numa comunidade,
existem situaes especiais como a unio e a separao de comunidades, que exigem a adopo de medidas adequadas para que seja evitada a inconsistncia deste identicador.
Unio de comunidades
comunidade, mas tambm entre ns de diferentes comunidades, dando origem a uma nica comunidade de maior dimenso. Para garantir a coerncia do identicador da comunidade necessrio que os ns adoptem apenas um deles. Para isso, o n que efectua a associao adopta o identicador da nova comunidade e propaga-o ao(s) n(s) a ele associado(s) e assim por diante, at que todos os elementos da comunidade concordem no identicador actual (gura 3.9).
CommunityID 723
58
CommunityID 84
32
CommunityID 723
32 58
9 47 14 CommunityID 723 11 6 89
9 47 14
26
13
26 11 6 89
13
23
41
23
41
Separao de comunidades
de ligao pode ocorrer no s nos extremos da comunidade, como tambm no interior da mesma. Neste caso, a comunidade separa-se em duas de menores dimenses. Uma das comunidades manter o seu identicador e a outra ter de adoptar um novo ID. Para tal, o n que perdeu a ligao ser o responsvel por gerar um novo identicador da comunidade e propag-lo- ao(s) n(s) a si associado(s) e assim por diante, at que todos concordem no identicador actual da comunidade em que se encontram (gura 3.10).
CommunityID 723
32 47
CommunityID 147
CommunityID 723
58
32
9
58 47
14
CommunityID 147 6
26 11 13 89
14 11 6 89
26
13
23
41
23
41
40
CAPTULO 3.
MECANISMOS DE COOPERAO
pelo padro MAC do protocolo 802.11, no qual a associao realizada ao primeiro n detectado, independentemente das suas caractersticas. O principal objectivo possibilitar a criao de comunidades nas quais as ligaes esto optimizadas segundo determinados critrios, potenciando o desempenho global da rede. A aplicao deste conceito no est limitada associao, sendo igualmente usado ao nvel da eleio e do intervalo adaptativo entre Beacons. Na essncia da mtrica social esto as relaes existentes entre os ns num determinado momento e que podem potenciar no s as interaces directas como a disseminao mais rpida, eciente e com menos interrupes da informao na rede. Como referido em [59], a correcta ponderao
ao nvel da associao pode potenciar o desempenho da rede na camada IP. Em [88, 89] mostra-se que possvel melhorar o desempenho de alguns parmetros da rede recorrendo eleio atravs de frmulas ponderadas. No entanto, o facto dos cenrios serem bastante dinmicos ser um dos desaos a enfrentar, nomeadamente ao nvel da variao do valor da mtrica social de cada n, j que este depende do conhecimento e das caractersticas que cada n tem sobre a rede em cada instante.
3.4.5.2
Frmula ponderada
(3.2)
w1 , w2
w3
3.4.5.3
ni
e os seus vizinhos
nj .
Como
ni
nj
nj
de amizade entenda-se:
A relao entre o nmero de Beacons recebidos por total de Beacons recebidos recentemente por
ni
nj
e o nmero
ni
(frequency factor :
f f(nj ,ni ) ); ni .
nj
e o nmero de vizinhos de
ni
como:
f f(nj ,ni ) + nj
N
(3.3)
F IN =
onde, Terminologia
ni nj |P V iew| N
ni
3.4.
41
F IN [0; 1].
(FQN)
ni
e o n
na
ni
entenda-se o n a verde da
na
de amizade entenda-se:
As caractersticas (processador, memria, disco, etc) e estado actual (bateria restante, interfaces livres, etc) do hardware de
ni ; ni
e o n
na
ni
como:
F QN = R.e
onde, Terminologia
(3.4)
association
ni
recursos disponveis em funo do tempo n onde est a ser calculada a FQN n ao qual
ni
est associado
ni
vindos de
na
na
e
ni
na
F QN [0; 1].
42
CAPTULO 3.
MECANISMOS DE COOPERAO
(CQE)
ni
se encontra.
Os vrios ns
pertencentes a uma comunidade tero de estar interligados entre si atravs de associaes, como
CQE =
onde, Terminologia
|Communityni | + N
F QNnc nc
(3.5)
ni |Communityni | N nc F QNnc
ni ni
nc
3.4.5.4
Beacons
Na presente soluo foi tambm analisado o impacto que o intervalo entre Beacons tem na rede. Para tal implementou-se um intervalo adaptativo baseado em relaes entre parmetros da mtrica social, comparando-se estes resultados com os obtidos com intervalo xo. Quanto maior for o nmero de vizinhos de um determinado n, maior a probabilidade de este j ser conhecido (i.e. algum j ter recebido um Beacon seu) e de o seu ID j estar a ser propagado pela comunidade. Ainda assim, se a comunidade for de dimenses considerveis, a disseminao do seu ID demorar mais tempo a chegar a todos os ns. Neste caso, tendo em conta que o n possui mobilidade e que por isso pode atravessar a comunidade e transmitir o seu ID, o intervalo entre Beacons dever ser mais curto. Esta primeira anlise mais simples serve como base para o desenvolvimento do raciocnio, sabendo partida que muitos outros factores podiam entrar em considerao para o clculo do intervalo adaptativo. Assim, foram reaproveitados dois dos parmetros de entrada da mtrica social, uma vez que fornecem dados directamente relacionveis com os factores apresentados anteriormente mas de forma mais robusta e completa.
3.4.
43
Uma relao possvel o intervalo entre Beacons ser proporcional FIN e inversamente proporcional CQE. Uma vez que, por anlise experimental, o valor mdio da FIN bastante inferior ao da CQE, optou-se por adicionar um peso a esta de forma a balancear o resultado nal:
BeaconInterval =
F IN CQE
(3.6)
Devido oscilao do valor dos parmetros no incio de simulao, correspondente aquisio inicial de conhecimento, deniu-se uma zona desde os 0s aos 0.5s de simulao (correspondente a cinco vezes o intervalo por defeito entre Beacons ), na qual a frequncia de Beacons se mantm xa, para que a relao 3.6 no oscile bruscamente. Ainda assim, por uma questo de segurana, o intervalo dinmico pode variar apenas dentro de uma zona entre 0.1s e 1s. Atravs de anlise experimental, obteve-se um valor de
= 2).
necessrio ter em ateno que a alterao deste intervalo implicar problemas cruciais no desempenho da rede se aplicada sem qualquer alterao ao nvel estrutural do n, uma vez que:
a monitorizao da associao feita atravs de um intervalo mximo esperado entre Beacons a serem recebidos vindos desse mesmo n. Caso o n altere o seu intervalo para um valor muito elevado, a associao pode ser dada como perdida quando na realidade isso no aconteceu;
a parcela da FQN que mede a estabilidade da ligao calculada com base nos Beacons que supostamente devem ser recebidos vindos do n onde est associado. Caso o n altere o seu
intervalo para um valor muito elevado, a estabilidade pode ser subavaliada quando na verdade se mantm na mesma. Como forma de contornar os problemas expostos, cada n ter de actualizar o intervalo esperado entre Beacons vindos do n a que se encontra associado de cada vez que receba um pacote deste tipo cuja origem seja esse n, de acordo com o BeaconInterval encapsulado. Como foi denida uma zona inicial de aquisio de informao e limites para o valor do intervalo dado pela relao 3.6, a evoluo dos valores produzidos por esta tender para um valor mdio dependente do cenrio simulado, contribuindo para a no ocorrncia de falsas deteces de perda de associao.
ao nvel dos pacotes de gesto Beacon e Association Response, a introduo de novos IEs no campo Frame Body, inserido-os juntamente aos j existentes. Com as novas informaes inseridas pretende-se possibilitar a cooperao e partilha de conhecimento entre as vrias entidades da rede;
44
CAPTULO 3.
MECANISMOS DE COOPERAO
ao nvel da associao, a introduo de novas informaes nos pacotes de gesto do protocolo 802.11 MAC permitiro realizar associaes ponderadas entre ns. Pretende-se que, com a introduo de deciso ao nvel local, a associao passe a ser baseada em determinados parmetros e no de forma determinstica ao primeiro n ao alcance.
ao nvel do espaamento temporal entre Beacons, passar do intervalo xo e pr-estabelecido para um intervalo adaptativo, calculado dinamicamente atravs dos parmetros da mtrica social. Pretende-se desta forma garantir a gesto igualmente eciente da rede com menor overhead de mensagens.
Inexistncia de pacotes de gesto especcos para as funcionalidades acrescentadas: os mecanismos implementados para solucionar os desaos inerentes gesto distribuda da rede foram alcanados mesmo sem a existncia de pacotes de gesto especcos para essas funes. No
presente trabalho, a base da colaborao ao nvel MAC assenta sobretudo na informao inserida, atravs de novos IEs, nos pacotes de gesto do padro 802.11 MAC. Pode armar-se que o Beacon o pacote de gesto fundamental devido sua periodicidade, uma vez que todos os outros so despoletados por eventos;
Escassez de informao ao nvel MAC: a denio e implementao do conceito da mtrica social foi outro dos desaos. O objectivo nal seria construir comunidades cujas ligaes entre ns fossem adaptativas e optimizadas de acordo com determinados parmetros. Contudo, na
camada MAC, o nvel de informao limitado, sendo ainda mais escasso no ambiente de simulao. Assim, teve de haver alguma ponderao nos parmetros para o clculo da mtrica social, bem como a implementao de mecanismos para a recolha da informao necessria para os mesmos e ainda a simulao dos parmetros de hardware de cada entidade;
Dinmismo dos cenrios: um dos pontos crticos dos cenrios simulados a constante mudana nas condies do cenrio, devido no s mobilidade dos ns como constante recolha de informao. A justicao para os cenrios no convergirem, isto , no tenderem para um ponto estvel por mais que se prolongue a simulao, est relacionada com o facto de existirem sempre perdas/aquisies de associao, entrada/sada de ns nas comunidades, etc. Assim sendo, a
possibilidade de ocorrncia destes eventos implica a partilha de informao e a actualizao constante do conhecimento que cada n tem da rede;
3.4.
45
Deteco da perda de associao: um n tem de ter a capacidade de monitorizar o estado da ligao de associao, isto , saber se o n a que est associado ainda se encontra dentro do raio de alcance. Quando os ns estiverem fora do alcance um do outro sero incapazes de fazer a sinalizao, indicando a quebra da ligao de associao. usado um watchdog timer
2
com escala igual a cinco vezes o intervalo entre Beacons indicado por
esse n de associao. A cada recepo de Beacons vindos desse n o timer reiniciado. Caso atinga o m de escala, o n detecta a perda de ligao, permitindo-lhe iniciar uma nova, ou seja, a mquina de estados reiniciada;
Conceito/abstraco de comunidade (gerao, aceitao, rejeio e coerncia): a agregao dos ns em comunidades de forma a criar parties na rede, visa permitir que cada entidade no necessite de manter conhecimento de toda a rede mas apenas de pequenos blocos desta. Porm, este conceito uma abstraco lgica, na medida em que no existe uma circunscrio fsica nem nenhuma entidade centralizadora que represente a comunidade em questo. Sendo assim, numa gesto distribuda, cada entidade ser responsvel por conhecer e actualizar o identicador da comunidade em que se encontra. Para responder a este desao, ao ser estabelecida uma
associao, o n requerente deve adoptar o identicador da comunidade em que se est a inserir. Se ocorrer a perda de associao, o identicador da comunidade deve ser eliminado do repositrio local do n. se associam. Notar ainda que uma nova comunidade gerada quando, pelo menos, dois ns Caso haja separao ou unio de comunidades, a coerncia do identicador
garantida, dado que os ns aceitaram o novo identicador recebido pela ligao de associao;
Conhecimento do nmero de ns numa comunidade: devido aos parmetros da mtrica social, nomeadamente da CQE, exigido que se saiba qual o nmero de ns de uma determinada comunidade. Pelo facto de no existir uma entidade controladora central onde os ns de cada comunidade se registem, necessria a colaborao entre as vrias entidades de modo a partilharem o seu conhecimento. No problema considerado, esta cooperao deve ocorrer na partilha do conhecimento do nmero de ns que, em determinado instante, cada entidade sabe que existem na sua comunidade;
Conhecimento da qualidade de uma comunidade: pelo mesmo motivo referido anteriormente, tambm exigido que se saiba a qualidade de uma determinada comunidade. O desao
basicamente o mesmo que foi referido na contagem de ns da comunidade, embora neste caso seja necessrio trocar informao sobre a qualidade, ou seja, a FQN de cada um dos ns que pertence comunidade. Desta forma, localmente poder ser determinada a qualidade mdia que cada entidade tem da sua comunidade.
2 um mecanismo genrico que permite reactivar o sistema ou executar um determinado mecanismo de correco quando o m de escala atingido. Para isso necessrio executar sucessivos resets ao timer sempre que ocorrem determinados eventos. No contexto actual, o timer est programado para reiniciar a mquina de estados do n, ou seja, fazer com que este inicie um novo processo de associao.
46
CAPTULO 3.
MECANISMOS DE COOPERAO
locais so inicializados e congurado o intervalo inicial entre pacotes Hello, passando as entidades para a fase da troca de pacotes. O papel desempenhado em cada instante por cada entidade dinmico, ou seja, pode ser alterado conforme as circunstncias da rede (e.g. contacto de outras entidades).
Figura 3.14: Processo de sinalizao envolvida nos vrios mecanismos do INM-Discovery [22]
3.5.
47
3.5.1.1
Bootstrapping
Estes identicadores in-
Este processo corresponde congurao inicial de uma nova entidade da rede, atravs do qual so inicializados, por exemplo, os repositrios e os identicadores locais.
ternos so gerados localmente e compostos pelo endereo MAC e por um nmero aleatrio (e.g. 00:35:FF:48:B3:12-349870). Pode ser denido um de dois papis para cada entidade:
INM_Seeker e INM_Hider.
Se ini-
cialmente for congurada como INM_Seeker, ento o processo de descoberta inicia-se de imediato. Caso a entidade seja congurada como INM_Hider, e se no for entretanto contactada por outra entidade, ento ter de aguardar um tempo aleatrio (e.g. 1s a 60s) at poder mudar o seu papel
para INM_Seeker. Caso j tenha sido contactada, ento o seu papel automaticamente alterado e o processo continua. visvel na gura 3.14 os dois tipos de entidades (INM_Seeker e INM_Hider ), bem como a congurao do identicador nico, a inicializao dos repositrios locais e a determinao o intervalo inicial entre pacotes Hello durante a fase de bootstrapping.
3.5.1.2
Descoberta
Para o mecanismo de descoberta implementado, o INM_Seeker enviar pacotes Hello multicast para a sua vizinhana de maneira a recolher informao acerca dos seus vizinhos. Como forma de denir a profundidade destes pacotes na vizinhana, o campo Time-To-Live (TTL) pode ser especicado. Em seguida, a informao recolhida armazenada em repositrios locais, designados Partial View s. O
outro tipo de entidade, designado INM_Hider, adopta uma postura passiva, aguardando o contacto por parte das outras entidades e, aps ser detectado, muda o seu papel para INM_Seeker, contribundo activamente no processo de descoberta. Cada entidade possui os seus repositrios locais, designados
Partial Views, onde armazena a informao recolhida atravs dos seus vizinhos. Nestes podem ser
guardadas informaes como IP origem e destino do pacote Hello, % livre de RAM e CPU, nmero de interfaces de rede, endereo MAC, Round-Trip-Time (RTT), largura de banda das ligaes. De acordo com a gura 3.15, as entidades INM_Seekers trocam pacotes Hello usando TTL de 1 (e.g. para evitar ciclos longos de mensagens) como forma de realizar o processo de descoberta, sendo o papel de cada entidade dinmico. Note-se que, nesta abordagem, cada entidade no necessita de conhecer toda a rede, diminuindo assim a quantidade de informao necessria a guardar localmente. importante referir tambm que o intervalo entre pacotes Hello adaptativo, variando conforme o nmero de INM_Seekers na Partial View de cada entidade. Este repositrio local contm informaes como identicadores (e.g. Endereo MAC e identicador interno), endereos IP (e.g. origem e destino do Hello recebido) e papel (INM_Seeker e INM_Hider ).
48
CAPTULO 3.
MECANISMOS DE COOPERAO
Os pacotes Hello enviados pelos INM_Seekers contm os campos (MsgType, Hello ID ), sendo enviada a resposta da entidade contactada no pacote NodeInfo, que contm os campos (MsgType,
O impacto do
mecanismo em termos de overhead de mensagens reduzido devido colaborao entre INM_Seekers, nomeadamente atravs das suas Partial Views. Na comunicao entre INM_Seekers vericado se aquela entidade j foi previamente contactada (i.e. est presente na Partial View ), sendo em seguida a informao sincronizada entre os repositrios. importante referir que, quando se formam grupos multicast, as mensagens so propagadas de imediato aos restantes INM_Seekers, de forma a que a informao entre eles esteja sempre actualizada. Ao nvel da comunicao, o protocolo tem suporte para IPv4 e IPv6, bem como para mensagens de grupos multicast. Na zona intermdia da gura 3.14 possvel observar o envio de um pacote Hello por parte do INM_Seeker-1, e aps ser recebido pelo INM_Hider, o seu papel alterado para INM_Seeker, passando a colaborar activamente no processo de descoberta. As respostas so enviadas na mensagem
3.5.1.3
Eleio
Aps o n recolher informao sobre a sua vizinhana, inicia-se o processo de eleio, atravs do qual escolhida a entidade considerada ser a melhor. Para iniciar este processo necessrio o clculo do
ranking dos vrios ns, onde se tem em conta vrias caractersticas previamente recolhidas dos diversos
ns:
(3.7)
Round-Trip-Time (ms)
Nmero de ns na vizinhana Nmero de interfaces Pesos das vrias parcelas
De acordo com a equao 3.7, o n que possuir maior ranking considerado lder localmente. De forma a evitar o problema de consenso de sistemas distribudos, cada entidade envia o seu lder e ranking respectivo para a entidade com maior ID e nmero de interfaces. Esta entidade ser a
responsvel por reunir todas as eleies locais e denir qual dos ns eleitos efectivamente o melhor lder, noticando em seguida todos os ns sobre essa deciso. Este processo contnuo, uma vez que a descoberta e a actualizao de informao podem conduzir a novos lderes. Na gura 3.14 possvel vericar o envio de um pacotes LeaderInfo onde estar colocado o ID do n com maior ranking, de acordo com a equao 3.7.
3.6.
CONCLUSES
49
Sincronizao e consistncia da informao entre diferentes entidades; Processo de descoberta realizado de forma distribuda exige colaborao entre os vrios elementos de rede;
Disseminao da informao seja realizada recorrendo a um nmero reduzido de mensagens; Convergncia da informao de descoberta entre as vrias entidades seja realizada num
intervalo de tempo reduzido.
3.6 Concluses
Neste captulo foi descrita de forma conceptual a arquitectura geral e as solues para os diferentes mecanismos propostos de um ponto de vista macroscpico, apresentando-se no incio de cada seco um diagrama geral com a interaco entre entidades da rede e a interligao entre os principais mecanismos e funcionalidades desenvolvidos. Concretamente nas redes sem os, so descritas as funes dos principais mecanismos implementados, bem como alguns processos e conceitos associados aos mesmos. So apresentados alguns complementos includos ao protocolo 802.11 MAC, necessrios para que a comunicao entre entidades conduza a uma gesto distribuda da rede. tambm introduzido o conceito de mtrica social e
os objectivos que se pretendem alcanar com este. So ainda descritos alguns desaos inerentes ao processo de gesto autonmica da rede e aos mecanismos de cooperao distribuda apresentados. Nas redes com os foram abordados os mecanismos de bootstrapping, de descoberta baseado na tcnica Hide & Seek e de eleio de forma a introduzir os conceitos abordados em detalhe na implementao dos mesmos.
50
CAPTULO 3.
MECANISMOS DE COOPERAO
Captulo 4
Implementao
4.1 Introduo
Com o intuito de avaliar os mecanismos propostos no captulo 3, procedeu-se implementao das solues correspondentes a redes sem os em ambiente de simulao e s correspondentes a redes com os em testbed virtual. A seco 4.2 relativa s redes sem os, onde se apresenta em detalhe o protocolo 802.11 MAC e PHY, ao nvel do simulador NS-3 e pormenores relativos implementao das solues anteriormente apresentadas. A seco 4.3 trata das redes com os, na qual so apresentados detalhes relativos implementao dos mecanismos de bootstrapping, descoberta e eleio na testbed virtual. Em 4.4 so abordados alguns desaos enfrentados especicamente ao nvel da implementao. Em 4.5 elaborado um breve resumo do captulo.
Modelos MAC de baixo nvel que implementam DCF e EDCAF (MAC low level models );
Modelos MAC de alto nvel: Ad hoc, STA e AP (MAC high level models );
Algoritmos de controlo de taxas de transmisso usados pelos modelos MAC de baixo nvel (Rate
control algorithms ).
51
52
CAPTULO 4.
IMPLEMENTAO
4.2.1.2
Camada fsica
Ao nvel fsico, o modelo PHY baseado na implementao descrita em [111]. O modelo fsico impe uma nica interface de rdio que opera em modo half-duplex . Possui ainda uma mquina de estados bem denida, cujos estados possveis so:
1
IDLE - quando no se encontra ocupada; CCA_BUSY - quando detecta o meio ocupado atravs do mecanismo Clear Channel Assessment
(CCA);
TX - quando se encontra a enviar um pacote; RX - quando est numa operao de recepo de um pacote; SWITCHING - quando se encontra a trocar para outro canal.
O modelo PHY depende das perdas e atrasos introduzidos pelo canal de comunicao, modelados pelas classes PropagationLossModel e PropagationDelayModel respectivamente.
4.2.1.3
MacLow que trata da troca de mensagens RTS, CTS, DATA e ACK; DcfManager e DcfState que implementam a DCF para acesso ao meio; DcaTxOp e EdcaTxOpN que gere as las de espera, fragmentao e retransmisso de pacotes.
As classes MAC de alto nvel sem QoS usam a DcaTxOp, enquanto aquelas que tm QoS activo usam EdcaTxOpN.
4.2.1.4
Nos modelos MAC de alto nvel podemos encontrar os trs modelos correspondentes s duas topologias sem os mais comuns:
Infra-estrutura: AP e STA;
4.2.1.5
A tentativa de aproximao el realidade do simulador NS-3 conseguida, no s pelo uso de modelos rigorosos, como pela interligao (recorrendo por vezes ao uso de callbacks as vrias camadas.
2
dos primeiros problemas encontrados foi a no recepo de pacotes pelos ns. Apesar de estar referenciado que existe, por defeito, o mecanismo de backo time, foi necessrio inserir um atraso entre o incio da transmisso dos vrios ns, de modo a evitar as designadas startup storms. 2 Mecanismo de programao cujo objectivo permitir que num dado mdulo seja chamada uma determinada funo/mtodo sem que haja uma dependncia especca entre o mdulo onde a funo chamada e aquele onde est denida. 3 Tipo abstrato de dados que permite, entre outras funcionalidades, gesto de memria mais eciente atravs da automtica libertao de recursos.
1 Um
4.2.
53
Em ambientes sem os, a interligao entre as vrias camadas ao nvel 2 pode ser ilustrada pelo uxograma da gura 4.1:
Send(packet, dest, proto) ForwardUp
WiNetDevice
Enqueue(packet, to)
ForwardUp NqstaWiMac "an active probing and association state machine which handles automatic re-association whenever too many beacons are missed"
Enqueue(packet)
Receive "handles the packe queue, packet fragmentation, and packet retransmission, if they are needed"
Send WiChannel
StartReceivePacket
Figura 4.1: Sub-camadas atravessadas ao nvel 2 para transmisso e recepo de pacotes em redes sem os [109]
Assim, quando ocorre o envio de um pacote, noticado o controlador do dispositivo (num exemplo real corresponderia ao device driver da interface de rede) que coloca o pacote na la de espera do n sem os. O gestor DCF encarrega-se de retransmitir o pacote se o envio no for bem sucedido e de gerir a la de espera do n. Assim que seja possvel iniciar a transmisso, o pacote enviado camada MAC de baixo nvel, que tratar das negociaes RTS, CTS, DATA, ACK. Ultrapassada esta fase, o pacote entregue camada fsica (corresponde interface de rede) que o coloca no canal de comunicao, cujos atrasos e perdas podem ser modelados (num exemplo real, o meio de propagao seria o ar). Um processo anlogo e simtrico ocorre quando se d a recepo de um pacote.
4.2.1.6
ArfWiManager :
em [112]. Esta implementao difere da descrio inicial pois usa um temporizador baseado em pacotes (packet-based timer ) em vez do original baseado em tempo (time-based timer );
AarfWiManager : IdealWiManager :
Receiver-Based AutoRate (RBAR) descrito em [114]. Todas as estaes guardam o Signal-toNoise Ratio (SNR) de todos os pacotes recebidos e enviam de volta este SNR ao transmissor
54
CAPTULO 4.
IMPLEMENTAO
original atravs de um mecanismo fora-de-banda (out-of-band mechanism ). Cada transmissor guarda o ltimo SNR enviado de volta pelo receptor e usa-o para conseguir um modo de transmisso baseado num conjunto de limites de SNR construdos atravs de um valor de Bit Error Rate (BER) pretendido e de um modo de transmisso especco de acordo com a relao SNR/BER;
muito popular por ser usado como algoritmo de controlo por defeito do
driver madwi [115]. A sua implementao foi desenvolvida por Atsushi Onoe;
AarfcdWiManager :
No presente trabalho, foi utilizado o modelo simples ConstantRateWiManager que usa taxas de transmisso constantes para o envio de pacotes de dados e controlo, uma vez que o que se pretende implementar ao nvel da troca de pacotes de gesto da camada MAC.
Em termos de modelos j existentes no simulador utilizado e com possibilidades de reaproveitamento, destacam-se os modelos da designada camada MAC de alto nvel. O mais simples destes modelos existentes o n ad hoc uma vez que no efectua qualquer gerao de pacotes de gesto de acordo com o padro 802.11 MAC, mas sim uma troca de simples sockets. Tambm no possvel extrair uma mquina de estados, ainda que lgica, devido simplicidade da troca de pacotes entre ns deste modelo. Facilmente se percebe que, apesar de se inserir no modo de comunicao pretendido (ad hoc ), no contexto deste trabalho o modelo existente no ter grande utilidade. Os modelos do modo infra-estrutura so bastante mais complexos. implementar active probing
4
quando deixa de receber um determinado nmero Beacons. Ainda assim, esta recepo independente do n origem, que neste caso deveria ser o AP associado. A classe AP gera Beacons periodicamente e aceita quaisquer tentativas de associao por parte das STAs. Como facilmente se percebe, no existe qualquer tipo de comunicao entre STAs, apenas destas com os APs, demonstrando que o modo infra-estrutura centralizado. A abordagem para desenvolvimento do nosso modelo ad hoc foi, de um modo geral, englobar as funcionalidade tanto do AP como da STA num nico modelo e efectuar a comunicao e associao entre ns deste tipo, tornando a arquitectura da rede distribuda.
4 Apesar
4.2.
55
4.2.2.2
o ad hoc
implementado
Capacidade de comunicao entre ns sem recurso a entidades centralizadas; Envio de Beacons em broadcast periodicamente; Escolha entre modo de scanning activo ou passivo; Escolha entre padro de mobilidade aleatria ou esttica; Escolha entre modo de associao indiscriminada ou baseada na mtrica social; Deteco, quando associado, do limite mximo de Beacons perdidos, valor para o qual inicia automaticamente um novo processo de associao.
4.2.2.3
Canal de Comunicao
Por defeito, o ambiente de simulao no impe nenhuma restrio ao nvel do canal de comunicao, ou seja, considera-o ideal. Isto implica que quaisquer dois ns conseguem contactar directamente,
independentemente da distncia relativa entre ambos. No contexto da soluo implementada signicaria que a colaborao de conhecimento entre ns seria redundante, j que qualquer n receberia informao de todos os outros, eliminando todas as diculdades inerentes sincronizao e consenso da informao. Assim, de modo a tornar a simulao o mais semelhante possvel ao ambiente real, congurou-se o canal de comunicao quer em termos de atrasos, quer em termos de perdas de propagao. O atraso do canal modulado pela classe PropagationDelayModel, da qual herdam os modelos
ConstantSpeedPropagationDelayModel e RandomPropagationDelayModel.
Devido inexistncia de
modelos baseados, por exemplo, em coordenadas geogrcas, optou-se pelo modelo de propagao com velocidade constante dado que o raio de alcance dos ns reduzido, no impondo atrasos muito signicativos em vez do que poderia acontecer ao se impor um atraso aleatrio em todos os pacotes. As perdas so modeladas pela classe PropagationLossModel, da qual herdam os modelos Ran-
Pr = Gt Gr Pt
onde
4d
2
(4.1)
Pr
Pt
Gr
Gt
so os ganhos das antenas do receptor e transmissor respectivamente (em unidades lineares e no em decibis), o comprimento de onda e
Utilizando a equao anterior, possvel calcular o valor da potncia que deve ser detectada a uma determinada distncia d. Os parmetros utilizados na congurao da interface rdio so:
56
CAPTULO 4.
IMPLEMENTAO
3108 2.4109
= 0.125 m
d = 100 m
Logo, pela equao 4.1:
Pr = Pt Gr Gt
2 4d
Assim, o limiar de deteco dos ns da rede deve ser congurado para apenas receber pacotes cuja potncia do sinal seja superior a -63.056 dBm. O valor para o limiar de deteco encontra-se na gama comum das potncias de sinal recebidas em redes sem os das variantes 802.11 (-60 a -80 dBm [119]). Isto signica que o raio de alcance adequado realidade. Porm, num cenrio real poderia ser necessrio encontrar uma modulao digital adequada, cujo ganho de processamento permitisse atingir as especicaes de delidade de transmisso (SNR em funo da probabilidade de erro), algo que no ambiente de simulao utilizado no acontece (gura 4.2).
Figura 4.2: Relao entre a probabilidade de erro e a SNR para diferentes tipos de modelao [120]
4.2.2.4
O modelo do n ad hoc implementado possui uma mquina de estados interna (gura 4.3), da qual fazem parte os seguintes estados:
Request (modo active scanning ), portanto necessrio esperar por uma resposta ou pelo timeout
para reenviar o pacote. Este estado partilhado pelo modo passive scanning, signicando que o n no est ainda associado e portanto aguarda a recepo de Beacons para iniciar o processo.
4.2.
57
necessrio esperar por uma resposta (concedendo ou recusando a associao) ou pelo timeout
Ser iniciado
Associated :
Beacon Missed :
a que est associado, a ligao entre ambos eliminada. O motivo para que tal possa acontecer est relacionado com a mobilidade dos ns. Ser iniciado um novo processo de associao assim que um n entre no raio de alcance daquele cuja associao foi perdida.
Bootstrapping
Beacon Missed
Active
Passive
Wait Beacon
No
Received Beacon
Yes No Yes
Positive
Associated
Check number of lost Beacons from the node which is associated with
Refused
58
CAPTULO 4.
IMPLEMENTAO
4.2.2.5
Bootstrapping
O bootstrapping pode ser decomposto nas vrias funes de congurao que o constituem ao nvel MAC. Muitas destas so herdadas da classe WiMac existente no simulador NS-3, nomeadamente as de conguraes standard das camadas PHY e MAC de acordo com o protocolo 802.11. Mtodo Descrio
SetAddress (Mac48Address address) SetSsid (Ssid ssid) SetBssid (Mac48Address bssid) SetNodeId (uint32_t id) SetLiderId (uint32_t id) SetActiveProbing (bool enable) SetBeaconInterval (time interval) SetBeaconGeneration (bool enable) SetSocialBasedAssoc (bool enable) SetSocialMetric (uint32_t value) SetSocialWeights (uint8_t w1, uint8_t w2, uint8_t w3) SetMaxMissedBeacons (uint32_t missed) SetProbeReqTimeout (Time timeout) SetAssocReqTimeout (Time timeout)
Conguraes caractersticas do n
Atribui o endereo MAC entidade em questo Atribui o SSID entidade em questo Atribui o BSSID entidade em questo Dene o identicador nico da entidade Dene o identicador do lder Dene o modo de scanning (activo ou passivo) Atribui o intervalo de tempo entre Beacons Dene se o n tem capacidade de enviar Beacons Dene o modo de associao (Standard ou Social-based ) Dene o valor da mtrica social Dene o valor dos pesos dos parmetros da mtrica social Dene o nmero mximo de Beacons perdidos at se considerar que ocorreu quebra de associao Atribui o tempo mximo que um n aguarda por um
Termina a congurao da camada fsica, congurando as las de espera da DCF de acordo com o padro 802.11 escolhido
Callback
stack
Callbacks
4.2.2.6
Nesta seco so ilustradas as decises que so tomadas ao nvel do n para cada tipo de pacote de gesto.
4.2.
59
Beacon
o pacote fundamental para a troca de informaes entre os ns a nvel MAC. Para tal,
foram encapsuladas nos novos IEs algumas das informaes que se querem transmitir entre os vrios ns de forma a determinar, por exemplo, os parmetros necessrios ao clculo das mtricas sociais. Aproveitando ainda o facto do seu envio ser feito em broadcast e em intervalos de tempo regulares, desempenha tambm o papel de pacote Hello, de forma a que se saiba quando a ligao de associao se perde devido ao afastamento entre ns. A gura 4.4 ilustra o processamento efectuado quando se d a recepo deste tipo de pacote. Aps ser desencapsulada a informao contida no pacote, realiza-se o processo de eleio, ilustrado em mais detalhe na gura 4.16. Em seguida adiciona-se a origem do pacote tabela Partial View, dado que foi recebido um Beacon de um n vizinho. Posteriormente, caso o tipo de associao da
simulao em questo for Social-based, poder-se- realizar uma nova associao ao n de origem do pacote dependendo do valor da sua mtrica social. Independentemente do tipo de associao, o
watchdog timer responsvel por monitorizar a ligao de associao poder ser reiniciado dependendo
da origem do pacote. Por m, caso o n no esteja associado ou decida alterar a sua associao,
ser enviado um Association Request, cando-se a aguardar pela respectiva resposta (Association
Response ).
No Other Management packet type processing Standard Is Standard or Social-based Association Social-based
Check SSID
No
No
Yes
No
Yes
Check node ID
No Reset number of missed Beacons No Is source ID equal to the node ID which it is associated with No node ID where i'm associated != source of Beacon
Yes Update local info related to the associated node Wait Association Response Send Disassociation to where he was associated
60
CAPTULO 4.
IMPLEMENTAO
Probe Request
tada perda de ligao ao n associado. Assim, em vez de aguardar o envio de Beacons por parte de um n nas imediaes, anuncia a sua presena para iniciar um processo de associao. A gura 4.5 ilustra o processamento efectuado quando se d a recepo deste tipo de pacote.
Is Probe Request
Yes
Check SSID
Is from my SSID
No
No
Yes
Probe Response
scanning. Ser enviado por todos os ns que recebam o Probe Request, indicando a sua presena e
disponibilidade para iniciar o processo de associao. A gura 4.6 ilustra o processamento efectuado quando se d a recepo deste tipo de pacote.
Is Probe Response
Yes
Check SSID
Is from my SSID
No
Discard packet
No
Yes
No
Association Request
no modo activo por parte de um n no associado, d-se incio ao processo de associao entre dois ns. A gura 4.7 ilustra o processamento efectuado quando se d a recepo deste tipo de pacote, na qual se pode observar que, aps ser recebido o pedido de associao, so vericados se os Supported Rates do n correspondem aos do n que requer a associao. Dependendo do resultado desta vericao, enviada uma resposta positiva ou negativa relativamente realizao da associao.
4.2.
61
Is Association Request
Yes
Is node's address
No
Discard packet
Yes
Yes
No
Association Response
n esteja a aguardar a concluso do processo de associao, e se a resposta conceder a ligao de associao, ento iro ser guardadas no repositrio local as informaes relativas ao n em que a associao passa a ser estabelecida. A gura 4.8 ilustra o processamento efectuado quando se d a recepo deste tipo de pacote.
No
Discard packet
No
Yes
Disassociation
apenas usado no modo Social-based Association (gura 3.6). Uma vez que neste
modo cada n se encontra sempre associado quele que esteja ao alcance e com melhor mtrica social, sempre que chegue um n melhor, necessrio noticar o antigo que a ligao de associao vai deixar
62
CAPTULO 4.
IMPLEMENTAO
de existir (uxo do lado direito da gura 4.4). A gura 4.9 ilustra o processamento efectuado quando se d a recepo deste tipo de pacote.
Is Disassociation
Yes
Check Destination
No
Information Element
ciation Response. Estes contm informaes relevantes que vo ser trocadas entre os vrios ns e que
permitem, por exemplo, a associao ao melhor n ao alcance. O encapsulamento destes ao nvel do pacote de gesto 802.11 MAC em NS-3 ilustrado na gura 4.10.
Mac Header
Mac Data
Management Header
Management Data
Information Elements
Community-Based Beacon IE
a principal fonte de informao e tira partido dos Beacons Este IE est encapsulado
no Beacon e, quando o pacote de gesto recebido por um determinado n, desencapsulado e a informao contida guardada numa tabela local, de acordo com critrios pr-estabelecidos. A sua estrutura apresentada na gura 4.11. A necessidade de enviar tambm um vector com os IDs dos ns conhecidos da comunidade onde o n se encontra prende-se com a necessidade de estimar o tamanho da mesma (ver seco 4.2.2.10).
Element Id 1 bit
Length 1 bit
Information length
SourceID 32 bits
LiderID 32 bits
CommunityID 32 bits
SrcSocialMetric 8 bits
LiderSocialMetric 8 bits
PViewSize 8 bits
4.2.
63
manuteno e consistncia da informao relativamente s caractersticas do n e comunidade onde se vai estabelecer a associao. A sua estrutura apresentada na gura 4.12.
Element Id 1 bit
Length 1 bit
Information length
SourceID 32 bits
SrcSocialMetric 8 bits
CommunityID 32 bits
4.2.2.7
Identicador da comunidade
Neste trabalho deniu-se que uma comunidade um conjunto de dois ou mais ns associados entre si, ou seja, existe um conjunto de ligaes de associao entre ns tal que existe um caminho entre um qualquer n A e um qualquer n B. Neste trabalho uma comunidade distinguida de outra atravs de um identicador nico . Num sistema distribudo o processo de manuteno desse identicador realizado pelos vrios ns pertencentes comunidade. Devido ausncia de elementos centrais que possam garantir, em cada instante, a coerncia do identicador, necessrio desenvolver mecanismos que garantam, de forma distribuda, no s a aquisio como a manuteno do ID de cada comunidade, nas situaes j referidas na seco 3.4.4.3.
5
O processo ilustrado na gura 4.13, na qual possvel observar que h dois tipos de pacotes envolvidos: o Association Response e o Beacon. O primeiro responsvel por garantir que, um n que entre numa comunidade ir adoptar o identicador da mesma no momento da associao. O
segundo permite realizar o processo de manuteno do ID da comunidade, dado que a mobilidade dos ns pode fazer com que as comunidades se fragmentem ou se unam. Para que a coerncia do
mesmo seja garantida, sempre que recebido um Beacon cuja origem o n a que est associado, o identicador actualizado, garantindo que mesmo nas situaes referidas, o ID propagado aos vrios ns da comunidade. Alm disso, um novo ID gerado sempre que um n perde (fragmentao da
5 Inteiro
aleatrio de 32 bits
64
CAPTULO 4.
IMPLEMENTAO
Is Beacon
Yes
Election
Is Association Response
Yes
No
No
No
Discard packet
Yes Send Association Request No Is Associated Yes Check node ID Check Association Response status
Keep Community ID
No
Yes
Check Community ID
Yes
No
No
Yes
Update Community ID
4.2.2.8
Partial View
ns ao alcance.
cimento relativamente aos vizinhos. Nela encontram-se as informaes recebidas recentemente pelos
Esta tabela local dinmica, isto , o seu tamanho varia conforme seja inserida nova informao ou apagada aquela que se encontra desactualizada, ou seja, ns dos quais no foi recebido nenhum contacto h algum tempo (e.g. mais de 1s) e portanto se deduz que j no se encontram no raio de alcance. A sua estrutura est denida da seguinte forma (gura 4.14):
Cada entrada da tabela contm campos onde esto informaes obtidas atravs dos IE recebidos atravs dos pacotes de gesto;
Cada IE recebido s d origem a uma nova entrada na Partial View se no existir nenhuma relacionada com esse ID;
4.2.
65
Caso no seja recebida informao vinda de um n durante um determinado perodo de tempo, a entrada relativa a esse ID removida.
Known Nodes
Ou seja, no contm apenas os ns no raio de alcance mas tambm aqueles que foram conhecidos atravs de outros. Esta tabela local tambm dinmica, isto , o seu tamanho cresce conforme seja inserida nova informao, sendo a sua estrutura denida na gura 4.15. A necessidade da existncia desta tabela prende-se com o facto de um dos parmetros de entrada da mtrica social (CQE) ser a estimativa do tamanho e qualidade da comunidade em que o n se encontra. A tabela preenchida conforme a informao presente nos vectores Known Nodes e Quality
4.2.2.9
Eleio
O processo de eleio da presente soluo tem como critrio base o valor da mtrica social. Assim, o n eleito numa determinada comunidade ser aquele que possuir a mtrica social mais elevada. Este um processo contnuo e dinmico, sendo neste momento feita apenas a deciso local, isto , ainda no se encontram implementados os mecanismos para a sinalizao e a atribuio de funes especcas a essas entidades. O processo comea por, no bootstrapping, cada n se considerar lder. recebendo informaes dos outros ns (e.g. sendo localmente actualizado. medida que se vo
comunidade, ou seja, em cada instante, cada comunidade ter pelo menos um lder. cumpridas estas premissas, o critrio de eleio o valor da mtrica social.
o mesmo, apenas ser realizada a actualizao do valor da sua mtrica social. Caso o identicador recebido seja referente a outro n, acontecer uma de duas situaes: o lder mantido se a mtrica social recebida for menor que a existente; o lder alterado caso a mtrica social recebida seja superior existente. Este processo ilustrado na gura 4.16.
66
By default, each node is the Lider
CAPTULO 4.
IMPLEMENTAO
Beacon received
No
Received Lider ID is from my community No Yes Lider ID != Received Lider ID Yes Compare Lider Social Metric with the Received Lider
No
Yes
Outros critrios, como o tempo enquanto lder, podem complementar a indicao dada pela mtrica social e serem tambm considerados na eleio. Contudo, solues para os problemas de consenso e sincronizao de sistemas distribudos tero sempre de ser denidas (e.g. eleio em janelas intervalos de tempo regulares). importante denir tambm critrios de desempate que garantam o consenso do lder em toda a comunidade (e.g. atravs do ID), bem como a escolha ou manuteno de ambos os lderes quando comunidades se separam ou se unem, so desaos a ter no desenvolvimento do processo de eleio.
4.2.2.10
Um dos parmetros de entrada da mtrica social, a CQE, necessita de saber o tamanho e a qualidade mdia das amizades dentro de uma comunidade. Devido no s s limitaes do simulador (tipos de dados permitidos ao nvel dos IEs), como s caractersticas dinmicas do sistema, extremamente difcil assegurar, de forma distribuda, o nmero exacto de ns existentes e a qualidade das amizades numa determinada comunidade. Uma vez que o alcance de cada n limitado, o seu conhecimento directo ser constitudo pelos ns que, em cada instante, esto na sua vizinhana (tabela local Partial View ). Para ser possvel que, localmente, cada n consiga estimar parmetros relativos ao estado da sua comunidade, necessria a colaborao entre as vrias entidades. necessrio que este mecanismo se consiga adaptar s condies dinmicas do sistema, isto , que seja possvel sinalizar a entrada e sada de ns de uma comunidade, bem como distinguir as informaes mais recentes das mais antigas (o timestamp do pacote refere-se ao momento da sua gerao e no ao da recolha da informao nele contida). Para possibilitar a partilha de conhecimento entre as vrias entidades, inseriram-se dois vectores nos IEs criados (Community-Based Beacon IE ): um que transportar os IDs que pertencem a uma
4.2.
67
dada comunidade e outro que ter o valor da FQN de cada um desses ns.
Tamanho da Comunidade
em que cada n est inserido, necessrio no s propagar quais os ns que cada entidade conhece dentro da sua comunidade, como tambm sinalizar quando ocorre a sada e entrada de ns. Caso
contrrio, nos cenrios com mobilidade considerados, o tamanho estimado por cada n acerca da sua comunidade seria sempre crescente. Para tal foi denido um esquema de cdigos baseado no tipo de conhecimento que cada n tem sobre determinado ID. Os cdigos pretendem distinguir os vrios tipos de conhecimento possveis sobre os diversos ns, de forma a melhorar a estimativa do tamanho da comunidade. A necessidade de existir um cdigo '0' para assinalar os IDs desconhecidos tem como nica justicao o facto de, em NS-3, os IEs no poderem ser dinmicos, ou seja, exigido um tamanho pr-denido no momento da sua declarao. Assim, o ndice do vector em questo corresponde ao ID do n respectivo.
Cdigo 0 1 2 3
Signicado ID desconhecido ID conhecido indirectamente ID conhecido directamente ID com o qual se perdeu ligao
Embora localmente seja mantida informao relativa a ns pertencentes a outras comunidades (para facilitar a aquisio de conhecimento caso o n mude de comunidade), no envio apenas so colocados os IDs daqueles que pertenam comunidade actual do n. Na recepo dos cdigos
apresentados na tabela 4.3, a deciso de qual o cdigo associado ao ID a inserir na tabela local Known
Beacon
Known Nodes
Atravs da deciso ilustrada na tabela 4.3 consegue-se no s detectar e propagar a entrada e sada de ns na comunidade como garantir que a informao de um n que tenha sado de uma comunidade no seja propagada indenidamente, o que originaria incoerncia da informao no caso de ocorrer reentrada desse n na comunidade. A gura 4.17 ilustra o envio de informao de um n que, da sua comunidade, conhece o vizinho (forma directa) com o ID 3 e os ns com os IDs 1 e 5 (de forma indirecta). Tem ainda conhecimento que o n com ID 6 abandonou a comunidade:
68
CAPTULO 4.
IMPLEMENTAO
ndice:
0 0
1 1
2 0
3 2
4 0
5 1
6 3
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
da amizade (FQN) de cada n o esquema seguido foi semelhante, optando-se tambm aqui por fazer corresponder o ndice do vector ao IDs do n correspondente pelas limitaes do simulador anteriormente referidas. O contedo corresponde directamente ao valor da FQN. Embora localmente seja mantida informao relativa a ns pertencentes a outras comunidades (para facilitar a aquisio de conhecimento caso o n mude de comunidade), no envio apenas so colocados os IDs dos ns pertencentes comunidade actual do n que est a transmitir. Na recepo estabeleceu-se que o
ltimo pacote recebido contm a informao mais actual, sabendo-se partida que nem sempre verdade. No entanto, o timestamp do pacote apenas fornece uma referncia relativa ao tempo em que foi enviado e no de quando foi recolhida a informao nele contida. Alm disso, como localmente ser calculada uma mdia dos valores recebidos, no exigido demasiado rigor a este nvel.
4.2.2.11
Cenrio de simulao
O cenrio de simulao pode ser visto como o patamar de mais alto nvel, ou seja, onde se pode ter a maior abstraco. Este foi desenvolvido com o intuito de executar a avaliao das vrias solues propostas. De forma a obter resultados em diferentes situaes sem necessidade de alterar o cdigo do mesmo, foi denido um conjunto de parmetros de entrada no cenrio genrico. Assim o utilizador pode denir o tipo de simulao de uma maneira muito simples. Em termos genricos o cenrio constitudo por quatro mtodos:
AdhocTest:
defeito;
construtor por defeito que inicializa as variveis da simulao com os valores por
Configure: Run:
Report:
Ao nvel da passagem de parmetros de entrada como forma de denir algumas variveis da simulao, existem as seguintes opes:
--verbose: --pcap:
--useCChange: --size:
nmero de ns por linha da grelha de alocao inicial ; numero de ns ad hoc sem os; distncia inicial entre ns no eixo X;
--nWifi:
--step_x:
4.2.
69
--step_y:
--simTime: --mobile:
--activeScan:
importante referir que, variando o nmero de ns, a janela de simulao dinamicamente adaptada, de forma a que o comportamento das vrias simulaes seja directamente comparvel. Sendo assim, para executar uma simulao o utilizador apenas ter de introduzir um comando do tipo:
NS_GLOBAL_VALUE="RngRun=valA " ./waf --run "scratch/adhoc-test --param1=valB --param2=valC ... --paramN=valN " > log.dat 2>&1
onde, Designao Signicado nmero da semente da simulao a usar parmetros de entrada do cenrio valores a atribuir a cada um respectivamente cheiro para redireccionamento do output
Tabela 4.4: Signicado das variveis do comando para execuo de uma simulao
70
CAPTULO 4.
IMPLEMENTAO
Comunicao half duplex : este foi um dos primeiros problemas aps ser criado o modelo do n
ad hoc. Apesar de no ser referenciado em [111], o modelo PHY utilizado half duplex, ou seja,
possvel haver tanto transmisso como recepo, no entanto no possvel que ambas ocorram em simultneo. O que acontecia era que, como o envio de Beacons por parte dos vrios ns
era peridico, todos transmitiam exactamente no mesmo instante, criando as designadas startup
storms. A soluo adoptada passou por, mantendo o intervalo xo, introduzir um ligeiro atraso
entre o incio de transmisso de cada n.
ID aleatrio vs ID sequencial: como forma de garantir que cada n possui um identicador nico, inicialmente optou-se por atribuir um ID aleatrio a cada um. Contudo, devido s limitaes do simulador ao nvel dos IEs, abordadas em 4.2.2.10, foi necessrio recorrer a IDs sequnciais de forma a ser possvel seguir a estratgia descrita na mesma seco. Sabe-se ainda que, num contexto real, este facto implicaria o recurso a um servidor central ( semelhana do DHCP) que fornecesse os identicadores conforme fossem recebidos os pedidos. Contudo, se a dimenso dos IEs adicionados pudesse ser dinmica, o identicador do n poderia ser gerado localmente e de forma aleatria;
foi reportado por ns em [118]. Foi posteriormente proposta uma soluo que no entanto no funciona quando o modo activado em mltiplas STAs. Como forma de ultrapassar o problema, deniu-se que os ns entravam em simulao usando o modo passivo e a partir desse momento, de cada vez que perdessem associao, o modo em funcionamento seria o activo (i.e. com recurso a Probe Request/Response ).
AuxFunctions e LnDiscover.
4.3.1.1
Repository
Classe Node : a sua funo guardar informao caracterstica do n, nomeadamente o identicador nico, o IP, o RTT da troca de mensagens, o nmero de interfaces, a interface em que o protocolo est a correr e a largura de banda da mesma, a percentagem de CPU e de RAM livre, o nmero de ns j descobertos pela entidade e o seu prprio ranking.
Classe Repository : onde est armazenada toda a informao da rede recolhida pela entidade. garantida excluso mtua dado poderem ocorrer tentativas de acessos simultneos. O repositrio local constitudo pela Partial View que o n tem da rede, onde constam as informaes das entidades j conhecidas. Est ainda presente informao acerca do lder actual.
4.3.
71
Classe Rank : onde esto armazenados os ranking (equao 3.7) dos vrios ns conhecidos, de forma a que haja uma correspondncia entre a posio do n nesta classe e no repositrio.
4.3.1.2
Proxy
O mdulo Proxy o responsvel pela troca correcta de mensagens entre os ns, sendo que, por cada pacote recebido lanada uma nova thread que ir realizar todo o processamento e envio da resposta. Dado que o mecanismo de descoberta se baseia na troca de pacotes Hello, este mdulo considerado a base desse mecanismo. Como o protocolo suporta tanto IPv4 como IPv6, necessrio que existam funes para processamento dos pacotes na recepo segundo ambos. Informaes como quais as
interfaces em a resposta vai ser enviada, a sua largura de banda e o porto de destino segundo o protocolo usado so tambm aqui denidas.
4.3.1.3
MmMsg
O mdulo MmMsg contm a denio de todas as mensagens que so trocadas no protocolo: Hello,
NodeInfo e LeaderInfo.
Classe Hello : representa o pacote Hello que enviado por cada entidade INM_Seeker de forma a descobrir os outros ns na rede. Apenas contm dois campos (MsgType, Hello ID ) de forma a que seja possvel o clculo do RTT. O intervalo entre o envio destes pacotes adaptativo, sendo dependente do nmero de INM_Seekers presentes na Partial View de cada n.
Classe NodeInfo : representa o pacote NodeInfo que enviado por cada entidade aps ter sido contactada, ou seja, aps a recepo de um Hello. Neste pacote de resposta sero enviados
os recursos locais do n (e.g. percentagem de CPU e RAM livre), informaes da interface de resposta (e.g. nome e largura de banda) e informaes complementares como o nmero de ns conhecidos, o endereo MAC e o identicador do n que envia a mensagem.
Classe LeaderInfo : representa a mensagem LeaderInfo que apenas enviada pelo n eleito a todos os seus vizinhos. Neste pacote apenas ser enviado o identicador dessa mesma entidade lder.
4.3.1.4
Throughput
Este mdulo existe para que seja possvel calcular o parmetro de throughput em relao ao nmero de mensagens enviadas e recebidas durante um determinado tempo de observao.
4.3.1.5
TimeSampling
Desta forma possvel,
A funo deste mdulo unicamente calcular o tempo entre dois eventos consecutivos, de modo a se saber o tempo que um n demora a construir a sua vista parcial. posteriormente, saber o tempo de convergncia da informao na rede.
72
CAPTULO 4.
IMPLEMENTAO
4.3.1.6
InetAddrv6
O mdulo InetAddrv6 o responsvel pela criao de endereos IPv6. Neste esto denidos mtodos para a denio do scope e do IP do endereo.
4.3.1.7
HelloReceivedLocal
A funo deste mdulo apenas registar os identicadores dos ns dos quais j foram recebidos pacotes
Hello, ou seja, os ns j conhecidos. O objectivo que, caso seja posteriormente recebido um Hello,
no seja necessrio realizar o seu processamento.
4.3.1.8
AuxFunctions
Neste mdulo encontra-se denido um conjunto de mtodos auxiliares com o intuito de facilitar a tarefa de implementao. Podem-se destacar os mtodos de obteno do endereo MAC a partir do nome da interface, da percentagem de CPU e RAM livre, de uma lista de todas as interfaces de rede de um n, de uma lista dos endereos IPv6 de uma interface, etc.
4.3.1.9
LnDiscover
Neste mdulo encontra-se a funo main do algoritmo, na qual so inicializadas todas as estruturas de dados necessrias. Aps o incio da sua execuo, lanada uma thread para cada interface existente que aguardar a recepo de novas mensagens. Sempre que for recebido um pacote ser lanada uma nova thread do tipo Proxy que executar o processamento e respectivo envio de mensagem de resposta. Caso a entidade seja congurada como INM_Seeker, ir enviar pacotes Hello em broadcast (IPv4) ou em multicast para o endereo All-Hosts (IPv6) em intervalos de tempo adaptativos. Caso seja
congurada como INM_Hider, ento aguardar o contacto por parte de outra entidade, mudando nesse instante o seu papel.
-a:
inicia o protocolo em modo IPv6; dene o TTL dos pacotes Hello e consequentemente limita a profundidade
-d [profundidade]:
da vista parcial do n;
-h: -s:
mostra o menu de ajuda; inicia a entidade como INM_Seeker (por defeito inicia como INM_Hider ); faz a contagem do tempo at sejam descobertos
-t [nmero de ns]:
entidade;
[nmero de ns]
pela
Para que a interaco com o utilizador seja simples, foram ainda denidos quatro scripts de inicializao:
auto_hider_test.sh.
auto_seeker.sh:
presentes na rede;
4.3.
73
auto_hider.sh:
auto_seeker_test.sh:
e o nmero de mensagens recebidas e enviadas. Para tal dever ser seleccionada a opo w enquanto se iniciam os ns e a opo s no ltimo n, de forma a iniciar o processo de forma sncrona;
auto_hider_test.sh:
e o nmero de mensagens recebidas e enviadas. Para tal dever ser seleccionada a opo w enquanto se iniciam os ns e a opo s no ltimo n, de forma a iniciar o processo de forma sncrona;
4.3.3 Testbed
A testbed utilizada constituda por 25 mquinas em grelha 5x5, cada uma com 558 MHz CPU, 512 MB RAM, 1 GB de disco e OS Debian Lenny 2.6.26, sendo criadas sobre um servidor atravs de virtualizao (Xen). O atraso extremo-a-extremo (i.e. da mquina 1 24) 0.745 ms e a largura de banda de cada ligao virtual de 1 Mbps. O esquema geral da ligao entre mquinas apresentado na gura 4.18.
O desenvolvimento e teste da soluo numa testbed virtual implica algumas diculdades de carcter mais tcnico, como:
A capacidade limitada do servidor onde est colocada a testbed, dicultando a anlise da escalabilidade da soluo;
A gesto dos terminais de cada mquina virtual, devido necessidade de congurao de cada uma com parmetros especcos.
74
CAPTULO 4.
IMPLEMENTAO
4.4 Concluses
Neste captulo foi apresentada a implementao das solues propostas no captulo 3. Para as redes sem os, o desenvolvimento dos vrios mecanismos descritos foi realizado no simulador NS-3. Neste ambiente de simulao foi necessrio, antes de mais, implementar o modelo de
comunicao ad hoc ao nvel MAC do protocolo IEEE 802.11. A justicao deve-se ao facto do objectivo ltimo ser atingir a gesto distribuda e autonmica da rede. sobre este modelo que assentam todos os mecanismos de cooperao e funcionalidades desenvolvidas, nomeadamente o bootstrapping, a descoberta e a eleio, cujos requisitos de informaes exigem a incluso de novos IEs nos pacotes de gesto do protocolo 802.11 para possibilitar a partilha de conhecimento entre entidades. Foi ainda apresentado o cenrio de simulao que aceita vrios parmetros de entrada de forma a facilitar a interaco com o utilizador. Para as redes com os, o desenvolvimento foi realizado ao nvel de uma testbed virtual. Neste
captulo so apresentados detalhes relativos aos mdulos implementados e que servem de base aos mecanismos de bootstrapping, descoberta e eleio.
Captulo 5
Resultados
5.1 Introduo
O presente captulo prentende avaliar as caractersticas das solues implementadas, recorrendo anlise de diferentes cenrios. semelhana dos captulos anteriores, tambm este se encontra dividido em duas seces principais: redes sem os e redes com os. Em 5.2 so apresentados os resultados das redes sem os atravs dos quais se pretende avaliar os seus mecanismos e a inuncia da mtrica social e dos seus parmetros individuais. Em 5.3 realizada uma anlise aos resultados obtidos na testbed de redes com os, como forma de avaliar o desempenho do protocolo desenvolvido comparativamente a outros protocolos de descoberta mais populares.
simulao so o nmero de ns, o uso de scanning activo ou passivo, o intervalo entre Beacons xo ou adaptativo, o uso ou no de mtrica social e o peso de cada um dos parmetros que a constitui (w1 ,
w2
w3 ).
Um outro parmetro importante em simulao o valor da semente usada na simulao, a qual foi diferente em cada simulao. Esta responsvel por alterar o valor de parmetros aleatrios, ou seja, simulaes do mesmo cenrio produzem resultados diferentes com valores de sementes distintos. Os resultados apresentados foram obtidos atravs da mdia de 5 repeties independentes com intervalos de conana a 90%. 75
76
CAPTULO 5.
RESULTADOS
Parmetro Tempo de simulao Alocao inicial dos ns Padro de mobilidade Separao inicial Nmero de ns Dimenso da janela de simulao Tipo de scanning Intervalo entre Beacons Uso de mtrica social Pesos dos parmetros da mtrica social Semente
5.2.2.1
Na gura 5.1 apresentado o nmero de comunidades que existem no nal da simulao, ou seja, aquelas onde os ns tendem a agrupar-se nos diferentes cenrios simulados. Em 5.1a mostra-se que na curva FIN+FQN+CQE, em simulaes at 64 ns, o nmero de comunidades fortemente inuenciado pelo valor da CQE. Para simulaes com maior nmero de ns, a rede tende a fragmentar-se em comunidades de menores dimenses, sendo que o nmero nal de comunidades na rede obedece a uma inuncia idntica entre a FQN e a CQE. Caso no seja usada a mtrica social, ou seja, caso as associaes sejam realizadas sem critrio de deciso, a rede tende a fragmentar-se, numa relao ncomunidades:nns que tende a ser constante no valor de 1:10. Em 5.1b, na curva FIN+FQN+CQE, os ns tendem a juntar-se numa nica comunidade, independentemente do nmero de ns em simulao. O facto da menor inuncia da FQN neste tipo
de simulaes justicado por ter sido retirado o parmetro correspondente aos recursos fsicos do n, deixando-se apenas a estabilidade da associao. Esta opo tem como justicao o facto de se estar a impor algo que no corresponde s caractersticas do n em simulao, dado que no ambiente de simulao NS-3, os recursos de todos os ns so iguais. Assim, apesar da informao fornecida
pela estabilidade da ligao ser relevante, no resulta num valor diferenciador entre ns por variar em perodos muito curtos de tempo (diminui na iminncia da perda de associao e volta a recuperar o valor mximo quando ocorre uma nova associao). J que a FIN exerce uma fraca inuncia a este
5.2.
77
nvel, assemelhando-se ao comportamento da simulao sem mtrica social, o nmero de comunidades ser maioritariamente imposto pela CQE.
Evolution of the number of final communities 8 7 Number of Communities 6 5 4 3 2 1 0 4 9 16 25 36 49 Number of nodes 64 81 100 9
Use of Social Metric none FIN FQN CQE FIN+FQN+CQE Use of Social Metric
Evolution of the number of final communities 8 Number of Communities 7 6 5 4 3 2 1 0 4 9 16 25 36 49 Number of nodes 64 81 100
Na gura 5.2 apresentado o tamanho mdio das comunidades existentes no nal da simulao, ou seja, a quantidade de ns que essas comunidades tendem a agrupar nos vrios cenrios simulados. O grco 5.2a complementar ao apresentado em 5.1a, mostrando de forma explcita o nmero mdio de ns em cada comunidade nal. As ligeiras discrepncias no tamanho de comunidades nais nas simulaes da CQE e FIN+FQN+CQE com 25 e 30 ns so mais evidentes neste grco, sendo a contribuio principal o valor da FQN. Em 5.2b tambm destacada a discrepncia entre as simulaes da CQE e FIN+FQN+CQE com 81 ns, novamente a ser maioritariamente inuenciada pelo valor da FQN. relevante referir ainda que, pela anlise das guras 5.1 e 5.2, se pode concluir que o mecanismo distribudo de estimao do tamanho das comunidades 4.2.2.10 conduz, em mdia, a um resultado acertado, dado que
80 Size of Communities
60
60
40
40
20
20
0 4
Na gura 5.3 apresentado o nmero de associaes foradas pela mtrica social, ou seja, devido entrada de novos ns no raio de alcance de cada um, haver a possibilidade de descoberta de mtricas sociais superiores quela onde cada um est associado. Este facto implicar a realizao de uma nova associao, que pode ser provocada no s pela mobilidade como tambm pela recolha contnua e partilha de conhecimento. Assim, o melhor n ao alcance poder no ser sempre o mesmo e, se o valor da mtrica social recebida passar um determinado limiar superior (equao 3.1), ser realizada uma nova associao.
78
CAPTULO 5.
RESULTADOS
No grco 5.3a, o nmero total de associaes na simulao FIN+FQN+CQE tende a situar-se entre as simulaes com cada um dos parmetros individualmente. Este aspecto justicado pelo
facto do limiar (equao 3.1) ser adaptativo em funo dos pesos usados no clculo da mtrica. Na simulao sem recurso mtrica social, as associaes so feitas indiscriminadamente, da no grco a sua linha se situar sobre o valor 0.
Na gura 5.3b, devido menor inuncia individual da FQN na mtrica social j explicada anteriormente, o resultado da simulao FIN+FQN+CQE est situada entre o nmero de associaes foradas nos cenrios individuais FIN e CQE. No entanto, h uma tendncia para que a curva da FIN+FQN+CQE siga a curva da simulao CQE, devido grande inuncia desta no valor nal da mtrica social, apresentando aproximadamente menos 100 associaes nas simulaes de 25 a 100 ns.
Evolution of the number of associations caused by social metric 350 300 Number of Associations 250 200 150 100 50 0 4 9 16 25 36 49 Number of nodes 64 81 100
Use of Social Metric none FIN FQN CQE FIN+FQN+CQE
Evolution of the number of associations caused by social metric 350 Number of Associations 300 250 200 150 100 50 0 4 9 16 25 36 49 Number of nodes 64 81 100
Use of Social Metric none FIN FQN CQE FIN+FQN+CQE
Figura 5.3: Evoluo do nmero total de associaes provocadas pela mtrica social
Na gura 5.4 apresentado o nmero total de associaes, isto , aquelas que so foradas pela mtrica social (gura 5.3) e aquelas que so provocadas pelo raio de alcance limitado de cada n. Caso seja detectada esta ltima situao, necessrio proceder a uma nova associao. Uma vez que o padro de mobilidade e o raio de alcance usados so sempre os mesmos, esperado que o nmero de associaes provocadas pela perda de conectividade entre os ns seja semelhante para todas as simulaes, algo que pode ser conrmado atravs da comparao entre as guras 5.4 e 5.3.
Como a simulao none no apresenta associaes devido metrica social, os valores apresentados na gura 5.4 representam o nmero de associaes provocadas pela sada de ns do raio de alcance daquele a que esto associados. Somando cada um destes valores s curvas da gura 5.3 verica-se que o resultado aproximadamente o apresentado em 5.4. Desta forma demonstra-se que o padro de mobilidade usado e o raio de alcance do n so factores que afectam de igual forma os cenrios com e sem mtrica social ao nvel do nmero de associaes provocadas pela perda de conectividade.
5.2.
79
Evolution of the number of associations caused either by social metric or limited range 450
Use of Social Metric
Evolution of the number of associations caused either by social metric or limited range 450
Use of Social Metric
Number of Associations
16
25
36 49 Number of nodes
64
81
100
16
25
36 49 Number of nodes
64
81
100
Figura 5.4: Evoluo do nmero total de associaes provocadas pela mtrica social e pelo alcance
Nos grcos da gura 5.5 feita uma comparao entre os dois modos possveis de scanning /probing implementados de acordo com protocolo 802.11. Com o intervalo entre Beacons xo em 0.1s (gura 5.5a), o valor mdio para readquirir associao aproximadamente 0.025s no modo passivo. Ainda assim, usando o modo activo este tempo praticamente nulo em simulaes at 64 ns. Em simulaes com 81 e 100 ns, o nmero de colises de pacotes bastante superior, da que o modo activo deixe de ser to eciente. A acrescentar a isto, h ainda o facto de que, em cenrios com elevado nmero de ns, existe uma elevada densidade de Beacons em cada instante, fazendo com que os dois modos de scanning /probing se tornem semelhantes. Com o intervalo entre Beacons adaptativo (gura 5.5b), o valor mdio para readquirir associao aproximadamente 0.04s no modo passivo, valor ligeiramente superior ao do grco 5.5a. Usando
o modo activo este tempo volta a ser praticamente nulo em simulaes at 64 ns, semelhana da gura 5.5a. Em simulaes com 81 e 100 ns, o modo activo continua a ser bastante mais eciente que o modo passivo, demorando aproximadamente menos 0.035s a readquirir associao. Um dos factores que contribui para a diferena relativamente gura 5.4b o facto da densidade de Beacons ser menor, o que implica menor nmero de colises e, por isso, o modo activo apresentar melhor desempenho.
0.12 0.1
0.08
active passive
Time (s)
0.06
0.04
Os grcos da gura 5.6 tm como objectivo demonstrar que a introduo da mtrica social no tem implicaes ao nvel do tempo para associao. Atravs dos grcos 5.6a e 5.6b mostra-se que o tempo mdio que todos os ns demoram para adquirir a sua primeira associao aproximadamente 0.011s, tanto para simulaes com intervalo entre Beacons xo como adaptativo. Isto acontece porque em 5.6b est denida uma zona inicial de
80
CAPTULO 5.
RESULTADOS
aquisio de informao na qual o intervalo entre Beacons se mantm xo e com o seu valor por defeito (0.1s). Assim os grcos da gura 5.6 correspondem a zonas iniciais em que o comportamento do
intervalo entre Beacons semelhante. A informao apresentada demonstra tambm que a introduo da mtrica social no degrada o tempo necessrio ao estabelecimento da associao de todos os ns. Caso a comparao no fosse relativa primeira associao mas ao tempo de reassociao (anlise da gura 5.5), o resultado seria semelhante (curvas sobrepostas mas deslocadas verticalmente em relao gura 5.6).
Evolution of the time for all nodes to establish their first association 0.12 0.1 0.08 Time (s) 0.06
Use of Social Metric
Evolution of the time for all nodes to establish their first association 0.12 0.1 0.08 Time (s) 0.06
Use of Social Metric
0.04 0.02 0
0.04 0.02 0
16
25
36 49 Number of nodes
64
81
100
16
25
36 49 Number of nodes
64
81
100
A gura 5.7 mostra o overhead necessrio manuteno da rede. Designou-se como overhead a relao entre o tamanho em kilobytes do frame body dos pacotes de gesto em que foram adicionados IE (Beacons e Association Responses ) e a diferena de tempo ilustrado na gura 5.6 e o nal de simulao:
overhead =
sizeof (F rameBody (Beacon) + F rameBody (AssocResp)) time (total) time (allGetF irstAssoc)
(5.1)
O overhead de manuteno com recurso mtrica social , em mdia, reduzido em aproximadamente 35% quando usado intervalo adaptativo entre Beacons (grco 5.7a) relativamente situao em que usado intervalo xo (grco 5.7b). O aumento do overhead comparativamente ao cenrio que no usa mtrica social fortemente inuenciado pela estratgia adoptada em 4.2.2.10, da que a componente principal do seu aumento seja o nmero de Beacons enviados. Assim, no caso do grco 5.7b, como o intervalo entre Beacons maior que em 5.7a, o overhead na rede diminui. Ao nvel individual dos pacotes, o tamanho do frame body quando usada a mtrica social nos
Beacons e Association Responses , no pior caso (i.e. simulao com 100 ns), 131 bytes e 20 bytes
respectivamente, contra os 30 bytes e 14 bytes do padro. respeita a relao expressa na equao 5.2: O tamanho do frame body, em bytes,
nodestotal 4
(5.2)
5.2.
81
200
without with
Overhead (kB/s)
150
100 80 60 40 20
100
50
A gura 5.8 mostra o resultado em termos de overhead caso a estratgia implementada para descoberta de ns descrita na seco 4.2.2.10 pudesse evitar a sinalizao dos ns ainda no conhecidos (ndices do vector KnownNodes com valor '0'). Contudo, como j descrito, o simulador NS-3 impe a criao de tipos de dados de tamanho pr-denido ao nvel dos Information Elements, ou seja, a reserva de memria mxima necessria a este nvel no pode ser feita dinamicamente. O overhead
manteve a mesma relao da equao 5.1, porm, o tamanho do frame body passou apenas a ter em considerao o tamanho nal das comunidades geradas por cada cenrio, uma vez que este ser o nmero de ns que cada elemento ter de disseminar pela sua comunidade (valor obtido atravs da gura 5.2):
|communitiesf inal | 4
Em 5.8a observvel uma tendncia para um valor nal de overhead de aproximadamente 100kB/s, que representa menos de metade do overhead apresentado em 5.7a. Alm de ser bastante inferior,
o facto de estabilizar em torno de um valor nal muito importante em termos de escalabilidade com a rede. Nesta abordagem, o factor que mais inuencia o overhead o tamanho para o qual Ou seja, de acordo com o grco 5.2a, o tamanho das comunidades no
as comunidades tendem.
nal de simulao tende a estabilizar, ou seja, o aumento de ns na rede implica que se gerem mais comunidades e no comunidades maiores.
Uma vez que no grco 5.8b, o intervalo entre Beacons dinmico e igual ou maior ao de 5.8a, poder-se-ia esperar que o overhead diminuisse. No entanto, como foi referido, na abordagem ilustrada pela equao 5.3, o factor que mais inuencia o overhead o tamanho das comunidades nais. De acordo com 5.2b, os ns tendem a agregar-se todos numa nica comunidade, implicando que tenham de enviar informaes relativamente a um maior nmero de ns, gerando um aumento do overhead da rede. devido a este factor que os grcos 5.7b e 5.8b so idnticos.
82
CAPTULO 5.
RESULTADOS
80 Overhead (kB/s)
without with
60
40
Beacon e
Association Response. Foram seleccionados estes tipos de pacotes por duas razes: serem aqueles em
que foram introduzidos novos IEs, e por serem os pacotes de gesto fundamentais. A segunda razo justicada pelo facto de que, enquanto os pacotes Probe Request/Response apenas so usados no modo de scanning activo, os tipos de pacotes apresentados na gura 5.9 so comuns aos dois modos (activo e passivo). Alm disso, por cada Association Request h um Association Response (positivo ou negativo), pelo que apenas h necessidade de apresentar um deles. Os valores apresentados nos grcos 5.9a e 5.9b correspondem mdia de pacotes de gesto enviados por cada n durante a simulao. Em 5.9a verica-se que o nmero de Beacons igual para as simulaes com ou sem mtrica social. A justicao simples: o envio de Beacons peridico e com o intervalo xo entre os mesmos (e.g. o valor por defeito 0.1s) no h qualquer impacto resultante do uso de mtrica social. Ao nvel do nmero de Association Request, o recurso mtrica social aumenta em aproximadamente 2 associaes por n relativamente ao padro. As associaes acrescentadas tm em vista o melhoramento da interligao dos ns ao nvel MAC, possibilitando o melhor desempenho da rede ao nvel da camada IP. No entanto, o impacto gerado ao nvel das interrupes de conectividade provocadas pela mudana de associao dos ns no muito relevante devido ao baixo nmero de ocorrncias. Alm disso, o facto deste fenmeno ter uma durao muito curta (i.e. o tempo entre a terminao da ligao anterior e a execuo da nova muito reduzido), contribui tambm para que o impacto da mtrica social ao nvel 3 melhore o desempenho global da rede. Em 5.9b verica-se que o nmero de Beacons substancialmente inferior no cenrio com mtrica social, apresentando um comportamento logartmico que tende para aproximadamente 2100 Beacons por n. Este comportamento era esperado uma vez que, com o aumento do nmero de ns, estes O facto contribui, por um lado, para
o aumento do valor da CQE (comunidade maior), e por outro, para a diminuio do valor da FIN (devido ao menor nmero de vizinhos em relao ao nmero total de ns na rede) que, de acordo com a equao 3.6, implica um menor espaamento entre Beacons. Ao nvel do nmero de Association Request, o recurso mtrica social aumenta em mdia aproximadamente 3.5 associaes por n relativamente ao padro. O facto de existir um ligeiro aumento no nmero de associaes relativamente gura 5.9a est relacionado com a diferente organizao dos ns na rede (diferentes dimenses das comunidades de (a) para (b) - gura 5.2 - que inuencia o prprio valor da mtrica social). Tal como referido anteriormente, o nmero de associaes foradas
5.2.
83
pela mtrica social tm como objectivo o melhoramento da interligao dos ns ao nvel MAC. A escolha ponderada dessa associao ir potenciar o desempenho da rede ao nvel IP. Ainda assim, as mudanas de ligao entre ns iro provocar perodos de desconectividade local, sendo contudo muito curtos, devido mudana de associao ser preparada antes de ser terminada. Alm disso, o nmero destas ocorrncias adicionais apenas ligeiramente mais elevado que o padro, pelo que esperado que o impacto benco suplantar os instantes de conectividade intermitente. Em ambos os grcos 5.9a e 5.9b, ainda importante considerar que o limiar denido para que ocorra a realizao de uma nova associao devido a uma mtrica social superior, ter uma forte contribuio no nmero total de associaes executadas. Este factor aproximar ou afastar a curva 'with / Assoc Resp ' da curva 'without / Assoc Resp ' conforme seja maior ou menor respectivamente.
Evolution of the number of MAC type packets sent 6 Number of Association Response per node Number of Association Response per node 3000 Number of Beacons per node 2500 2000 1500 1000 500 0 4 9 16 25 36 49 64 81 100 Number of nodes 5 4 3 2 1 0 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 4
Evolution of the number of MAC type packets sent 3000 2500 2000 1500 1000 500 0 9 16 25 36 49 64 81 100 Number of nodes Number of Beacons per node
Use of Social Metrics / MAC Packet Type without / Beacon without / Assoc Resp with / Beacon with / Assoc Resp
Use of Social Metrics / MAC Packet Type without / Beacon without / Assoc Resp with / Beacon with / Assoc Resp
5.2.2.2
Para complementar o estudo anterior que reecte a anlise completa da simulao para um determinado nmero de ns, foi elaborado um outro conjunto de resultados que mostra a evoluo de determinados parmetros das comunidades ao longo do tempo de simulao. Uma vez que h comunidades que so geradas e que, devido s posteriores associaes entre ns, deixam de existir, esta nova anlise foi apenas realizada s comunidades que esto presentes no nal da simulao. Ainda assim, nas vrias repeties, haver simulaes que podero ter diferentes nmeros de comunidades no nal, o que implica que o processo de clculo de mdias e intervalos de conana se adapte de forma autnoma a essa situao. Neste caso apenas so apresentados os grcos das simulaes de 100 ns, existindo porm, o mesmo conjunto de resultados para simulaes com diferentes nmeros de ns (4, 9, 16, 25, 36, 49, 64 e 81 ns). Contudo, a sua discusso seria semelhante que em seguida se apresenta.
Na gura 5.10 so apresentados os resultados da evoluo ao longo do tempo do tamanho das comunidades que existem no nal da simulao. Do grco 5.10a importante analisar a curva decrescente da simulao CQE. O pico inicial obtido no primeiro segundo justicado por trs factores: o intervalo entre Beacons ser xo e suciente para que at este instante de tempo tivessem sido enviados 10 Beacons por cada n; ainda no ter decorrido muito tempo para que a mobilidade dos ns se tivesse feito reectir ao nvel das associaes; e ainda o facto do parmetro CQE ser fortemente agregador. Assim, at ao instante referido, a informao presente em todos os ns coerente, mas comea a degradar-se medida que a dinmica dos ns
84
CAPTULO 5.
RESULTADOS
se faz sentir, uma vez que a propagao da informao numa comunidade de dimenso considervel lenta. As restantes curvas tendem para um valor estvel, correspondente ao tamanho mdio das
comunidades nais. O valor considervel dos intervalos de conana da simulao FIN+FQN+CQE reecte a diferente dinmica de crescimento das comunidades obtidas no nal de simulao para as vrias repeties executadas. No grco 5.10b, devido ao intervalo dinmico entre Beacons, o pico inicial da simulao CQE desaparece, passando a sua curva a variar em torno de um valor mdio em vez de decrescer constantemente como em 5.10a. Isto acontece porque o intervalo entre actualizaes de informao consecutivas (envio de Beacons ) maior. A simulao com a FQN apresenta um crescimento mdio de aproximadamente mais 15 ns nas comunidades nais relativamente a 5.10a, ou seja, passou a ter um maior poder de agregao dos ns, facto justicado fundamentalmente pela eliminao do factor aleatrio que simulava as caractersticas de hardware na equao 3.4. As simulaes none e FIN mantm-se semelhantes, reforando a ideia da fraca inuncia da FIN no valor da mtrica social. O valor considervel dos intervalos de conana, especialmente nas simulaes CQE e FIN+FQN+CQE, reecte a diferente dinmica de crescimento das comunidades obtidas no nal de simulao para as vrias repeties executadas. A simulao FIN+FQN+CQE cresce de forma mais lenta mas atinge um valor nal mais elevado comparativamente a 5.10a, facto justicado tanto pela baixa contribuio da FIN no valor nal da mtrica social, como pela menor distino entre ns atravs da FQN (agora s quantica a qualidade da ligao de associao) e, por isso a CQE passa a ser o factor de maior inuncia na mtrica social.
Evolution of the Final Communities Average Size 100 90 80 Community Size Community Size 70
Use of Social Metric
50
100
200
250
300
Figura 5.10: Evoluo do tamanho das comunidades nais em simulaes com 100 ns
importante comparar tambm estes resultados com os da gura 5.2, nomeadamente nos valores do
eixo y :
x = 100 no s,
dado que a gura 5.2 tambm trata apenas das comunidades nais.
Desta forma, possvel obter informao acerca da inuncia directa do tamanho da comunidade na propagao da informao em cenrios dinmicos, ou seja, conseguir de alguma forma quanticar a coerncia da informao entre os vrios ns. Nesta anlise, a informao indicada pela gura 5.2
deve ser considerada como o tamanho real das comunidades no nal da simulao, e a gura 5.10 como sendo a mdia da informao que cada n indica acerca do tamanho da comunidade em que se encontra em cada instante. Verica-se que, comparando 5.2a com 5.10a, as simulaes em que o nmero de ns em cada comunidade baixo (at aproximadamente 20 ns - simulaes none, FIN e FQN), h uma elevada coerncia entre a informao mdia de cada n e a real. Na simulao FIN+FQN+CQE as comunidades tendem a ter um tamanho mdio nal de aproximadamente 35 ns, existindo uma diferena de
5.2.
85
aproximadamente 5 ns entre o tamanho real e aquele que , em mdia, reportado por cada n. Este um valor aceitvel dada a mobilidade constante dos ns, a possibilidade de mudanas de associaes baseadas em melhores mtricas sociais, e a perda destas devido ao alcance limitado. Quando o tamanho da comunidade muito elevado (os 100 ns da simulao tendem a agrupar-se numa mesma comunidade), como acontece no cenrio em que apenas usada a CQE, e devido tambm elevada dinmica dos cenrios j referida, a diferena mdia entre a informao do tamanho real e o que os vrios ns reportam aumenta para aproximadamente 35 ns. Este valor no pode ser desprezado pois representa uma grande parte dos ns da comunidade, concluindo-se que a informao demora muito tempo a ser propagada, e portanto, a actualizao e sincronizao do conhecimento entre todos os ns lenta relativamente dinmica do prprio sistema. Deste ponto de vista, a gesto de comunidades de tamanho considervel mais difcil. A anlise comparativa das guras 5.2b e 5.10b semelhante, podendo-se acrescentar que na simulao com apenas a CQE, a diferena mdia entre o valor real e aquele que reportado pelos vrios ns aproximadamente 20 ns e que, quando os ns tendem a car todos na mesma comunidade (simulao FIN+FQN+CQE) a diferena aumenta para aproximadamente 35 ns, tal como acontece na anlise realizada para a simulao com a CQE das guras 5.2a e 5.10a. possvel acrescentar
ainda que, apesar do intervalo entre actualizaes da informao ser ligeiramente maior (intervalo dinmico entre Beacons ), no h relao directa com o nvel de coerncia da informao na comunidade.
Na gura 5.11 so apresentados os resultados da evoluo ao longo do tempo do valor mdio das FQN nas comunidades existentes no nal de simulao. um facto que, sem os mecanismos
implementados, no existe forma de medio da qualidade das associaes. Ou seja, a medio desta caracterstica deve-se aos requisitos do parmetro FQN da mtrica social. No entanto, a funcionalidade foi deixada activa na simulao none de forma a ser possvel ter um ponto de comparao. No grco 5.11a importante salientar que a diminuio ao longo do tempo da qualidade das associaes nas comunidades se deve existncia de um factor de decrscimo constante presente na equao 3.4, que apesar de pequeno, se reecte no valor nal das FQNs. O motivo para no se o facto de ser
vericarem quebras abruptas nas curvas do grco justicado por dois factores:
apresentada uma mdia das FQNs dos vrios ns e o perodo de amostragem ser 1 segundo. Ainda que o perodo de amostragem pudesse ser diminudo, pelo grco 5.5a verica-se que o tempo que um n demora a readquirir associao aproximadamente 0.03s para 100 ns. Esse intervalo de tempo vai desde o valor mnimo da FQN at esta voltar ao valor mximo. Ou seja, um observador exterior ter diculdades em detectar estas variaes e, ainda assim, estas sero atenuadas pela mdia com as restantes FQNs da comunidade. No grco 5.11b a interpretao semelhante; porm, o decrscimo constante desaparece porque, mais uma vez, a parte da equao 3.4 que simulava os recursos do n foi retirada de modo a provar que este era o factor responsvel pela diminuio constante da qualidade da comunidade. Observa-se ainda que todas as simulaes tendem para o mesmo valor mdio; contudo, a simulao FIN+FQN+CQE apresenta uma ligeira oscilao num perodo inicial (at aproximadamente 80s) devido a dois factores em simultneo: o maior nmero de desassociaes/associaes provocadas pela evoluo da mtrica social, e a mais lenta propagao da informao devido agregao dos ns numa nica comunidade (note-se a tendncia das curvas FIN+FQN+CQE e CQE se seguirem em 5.11b e em 5.1b).
86
CAPTULO 5.
RESULTADOS
Uma vez que, pelo grco 5.11b, o valor nal semelhante para os vrios tipos de cenrios, a diferena entre a simulao none e a FIN+FQN+CQE (
0.05)
justicada pelo parmetro aleatrio usado em 3.4 como forma de simular os recursos do n.
Evolution of the Final Communities Average Quality 0.9 0.8 0.7 Community Quality Community Quality 0.6 0.5 0.4 0.3 0.2 0.1 0 0 50 100 150 Time (s) 200 250 300
Use of Social Metric none FIN FQN CQE FIN+FQN+CQE
0.6 0.5 0.4 0.3 0.2 0.1 0 0 50 100 150 Time (s) 200 250 300
Figura 5.11: Evoluo da mdia das FQN nas comunidades nais em simulaes com 100 ns
Na gura 5.12 so apresentadas informaes relevantes para a implementao do processo da eleio, atravs da evoluo do valor mais elevado da mtrica social, ou seja, do n potencialmente lder em cada instante. Atravs da indicao sobre o valor e sobre a curva de tendncia deste parmetro possvel antecipar mecanismos para que o processo de eleio no provoque mudanas constantes de lder (e.g. denir limites relativamente ao valor da mtrica social ou aos seus parmetros individuais (FIN, FQN e CQE) que provocam mudana de lder, durao do tempo como lder, etc).
No grco 5.12a conrma-se a fraca inuncia da FIN no valor da mtrica social e uma diminuio praticamente constante nas simulaes FQN e CQE, uma vez que a FQN tem um factor de decrscimo ao longo do tempo (j referido) e h uma relao de inuncia directa desta na CQE. Na simulao com a mtrica social completa (FIN+FQN+CQE), a curva varia em torno de aproximadamente 125, no apresentando variaes bruscas. Este facto bastante importante porque demonstra que, independentemente do instante de tempo de simulao, haver pelo menos um n (potencial lder) que ter os valores de mtrica social apresentados no grco.
A principal diferena no grco 5.12b o facto de a FQN e a CQE se manterem praticamente constantes (o factor de perdas constantes da FQN foi eliminado como j referido). Devido no s ao maior espaamento entre o envio de Beacons consecutivos, como ao maior nvel de agregao dos ns (comparativamente a 5.12a), a simulao FIN+FQN+CQE tende mais lentamente para o valor nal, ou seja, necessrio mais tempo at que os ns renam o conhecimento suciente para que atinjam o valor nal apresentado para a mtrica social (
160).
valor mdio da mtrica social em 5.12a e em 5.12b se deve ao nmero nal de comunidades (ver gura 5.1). Ou seja, dependendo do nvel de agregao dos ns, a mtrica social evolui de formas distintas e tende para valores ligeiramente diferentes.
5.2.
87
Evolution of the Best Node Average Social Metric in the Final Communities 140 120 100 Social Metric
Use of Social Metric
Evolution of the Best Node Average Social Metric in the Final Communities 180 160 140 Social Metric 120 100 80 60 40
Use of Social Metric FIN FQN CQE FIN+FQN+CQE
Figura 5.12: Evoluo da melhor mtrica social nas comunidades nais em simulaes com 100 ns
A gura 5.13 complementar 5.12, apresentando a evoluo individual dos parmetros (FIN, FQN e CQE) que constituem o valor da mtrica social. Tal como referido na seco 3.4.5, estes
encontram-se normalizados no intervalo [0;1], uma vez que so apresentados antes da multiplicao pelos pesos
w1 , w2 e w3
respectivamente.
No grco 5.13a possvel perceber a inuncia individual e relativa de cada um dos parmetros da mtrica social. Analisando a simulao FIN+FQN+CQE, a FIN o parmetro que apresenta
menor contribuio, conrmando as anlises efectuadas aos resultados anteriores, pelo que pode ser necessrio ajustar o peso correspondente (w1 ). O parmetro CQE tem uma inuncia intermdia e a FQN a parcela com maior contribuio; no entanto a sua relevncia diminui com o tempo devido ao j referido factor de decrscimo simulado dos recursos do n. O facto da FQN ser o parmetro que mais contribui para o valor nal da mtrica social no implica necessariamente que seja o factor dominante, por exemplo, ao nvel da eleio. A justicao simples: como a FQN ser constante (exceptuando os perodos de tempo em torno da perda de ligao) para os vrios ns, a sua contribuio ser no valor absoluto e no no valor relativo da mtrica social. importante ainda analisar a simulao CQE / CQE, na qual a contribuio do parmetro em anlise superior observada em FIN+FQN+CQE / CQE, devido ao diferente nmero de comunidades gerado por cada uma das simulaes. Ou seja, em CQE / CQE h uma aco mais agregadora, criando comunidades maiores relativamente a FIN+FQN+CQE / CQE, o que implica que o prprio valor do parmetro em anlise (CQE) aumente. Como a simulao FIN+FQN+CQE tende a dividir as comunidades a partir de um certo tamanho (ver 5.2a), a contribuio do parmetro CQE neste cenrio menor. No grco 5.13b, uma vez que a parcela da FQN que simulava o decrscimo dos recursos do n ao longo do tempo foi retirada, a FIN+FQN+CQE ganhou poder de agregao e, tal como j discutido anteriormente, a mtrica social passou a seguir o comportamento agregador da CQE. Ou seja, apesar da FQN se manter praticamente no valor mximo ao longo da simulao, isto ocorre para todos os ns ( excepo de intervalos de tempo curtos em que a ligao de associao se degrada ou se perde efectivamente). Portanto, neste caso no um factor diferenciador, isto , tem uma contribuio para o aumento do valor absoluto da mtrica social mas no em termos relativos. Assim, atravs deste
grco, possvel indicar que: a FIN mantm uma fraca inuncia no valor da mtrica social; a FQN, apesar de ter uma forte contribuio, praticamente idntica para todos os ns; portanto, a maior inuncia da mtrica social a CQE. A partir destas informaes possvel antecipar a forma como evolui a mtrica de um n potenci-
88
CAPTULO 5.
RESULTADOS
Evolution of the Best Node Average Social Metric Inputs in the Final Communities 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 50 100 150 Time (s) 200 250 300
Use of Social Metric / Input analysed FIN / FIN FQN / FQN CQE / CQE FIN+FQN+CQE / FIN FIN+FQN+CQE / FQN FIN+FQN+CQE / CQE
Evolution of the Best Node Average Social Metric Inputs in the Final Communities 1.2 1 0.8 0.6 0.4 0.2 0 0 50 100 150 Time (s) 200 250 300
Use of Social Metric / Input analysed FIN / FIN FQN / FQN CQE / CQE FIN+FQN+CQE / FIN FIN+FQN+CQE / FQN FIN+FQN+CQE / CQE
Figura 5.13: Evoluo dos componentes da melhor mtrica social das comunidades nais em simulaes
trfego total da rede; o tempo de convergncia o tempo necessrio at que todos os ns na rede sejam descobertos. O trfego de rede em situao estacionria (i.e. quando no h mecanismos de descoberta em execuo) aproximadamente 900 pacotes. Uma vez que os mecanismos de descoberta do OSPF, CDP e Fing usam uma frequncia xa de pacotes Hello, foram realizadas medies com diferentes intervalos entre pacotes (1, 5, 10 e 20 s). J no mecanismo de descoberta INM-Discovery, o intervalo entre pacotes Hello 5 s durante o bootstrapping e adaptativo no restante tempo, de acordo com o nmero de INM_Seekers na Partial View. O nmero inicial de entidades INM_Seekers e INM_Hiders foi aleatoriamente atribudo. Os resultados 5.14, 5.15 e 5.16 foram recolhidos com a topologia de rede ilustrada na gura 4.18, usando tempos de observao de 60s e 5 repeties independentes. Os resultados apresentam intervalos de conana a 90%.
5.3.
89
Pela gura 5.14 visvel que, nas situaes em que o intervalo entre Hello 1 e 5 s, o tempo de convergncia da descoberta de todos os ns na rede superior atravs do INM-Discovery comparativamente aos restantes protocolos. Ainda assim, enquanto que o tempo para o protocolo INM-Discovery se mantm constante nos vrios cenrios, nos restantes ele aumenta proporcionalmente com o intervalo entre pacotes Hello. No caso do CDP e do OSPF-Discovery, o tempo de descoberta tende a ser semelhante ao intervalo entre pacotes Hello. No caso do Fing, com 20 s de intervalo entre pacotes
Hello, tende a demorar mais do dobro do tempo do INM-Discovery. O resultado explicado pelo
intervalo adaptativo do INM-Discovery, ou seja, independentemente do intervalo xo que colocado na fase de bootstrapping (e.g. 5 s), tender a adaptar-se automaticamente de acordo com os critrios estabelecidos.
Pela gura 5.15 possvel vericar que o overhead introduzido tanto pelo INM-Discovery como pelo Fing praticamente constante para os vrios cenrios, enquanto que no CDP e no OSPF-Discovery inversamente proporcional ao intervalo entre pacotes Hello. O elevado overhead do Fing resulta do seu mecanismo de descoberta se basear no protocolo ARP e, portanto, no envio de ARP-Requests em broadcast para todos os IPs da sub-rede. O protocolo INM-Discovery tem um impacto bastante inferior a todos os protocolos analisados, facto explicado tanto pela colaborao entre entidades INM_Hiders e INM_Seekers, como pelo papel dinmico e despoletado por eventos que cada entidade desempenha.
Evolution of the Convergence Time and Overhead for INM-Discovery Convergence Time Overhead Overhead (Control Packets/Total Packets) 14 12 10 Time (s) 8 6 4 2 0 4 9 16 Number of Nodes 25 36 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
90
CAPTULO 5.
RESULTADOS
Atravs da gura 5.16 pode-se armar que, em cenrios com 4 e 9 mquinas virtuais, o tempo de convergncia semelhante, no entanto o overhead aumenta. Uma possvel explicao pode ser o nmero de INM_Seekers existentes na rede numa fase inicial ser proporcional ao nmero mquinas virtuais em ambos os cenrios, fazendo com que o tempo de convergncia da informao se mantenha idntico, custa de um aumento do overhead devido ao maior nmero de mensagens trocadas (pacotes
Hello e NodeInfo ).
Acontece a situao inversa nos cenrios com 9 e 16 mquinas virtuais, ou seja, o tempo de convergncia aumenta mas o overhead mantm-se constante. A explicao possvel anloga anterior: a quantidade de INM_Seekers atribuda probabilisticamente na fase inicial de cada cenrio deve ser semelhante, fazendo com que o overhead se mantenha idntico, aumentando com isso o tempo necessrio para a convergncia da informao. Nos cenrios com o nmero mquinas virtuais entre 16 e 36, o tempo de convergncia e o overhead apresentam um crescimento idntico, que pode ser justicado por uma relao constante entre o nmero de INM_Seekers e de mquinas virtuais de cada cenrio. De facto, a quantidade de INM_Seekers numa fase inicial da rede determina desempenho do protocolo, tendo de existir um compromisso entre overhead e tempo de convergncia. importante realar tambm que o papel de INM_Seeker atribudo probabilisticamente e que cada INM_Hider poder converter-se em INM_Seeker aps um determinado perodo de tempo, caso no seja entretanto contactado. Assim, em redes de pequena dimenso, os INM_Hiders sero rapidamente contactados, fazendo com que a convergncia de informao ocorra num intervalo de tempo reduzido. No entanto, quando a dimenso da rede aumenta, passam a existir mltiplos saltos entre as entidades, exigindo-se por isso colaborao entre os ns para uma maior ecincia nas comunicaes. Contudo, tanto em redes de pequena como de mdia dimenso, o nmero de INM_Seekers presentes numa fase inicial ser sempre o factor com maior contribuio no desempenho do protocolo.
5.4 Concluses
De forma sucinta, as concluses que se podem retirar da discusso individual dos resultados obtidos anteriormente para as redes sem os so:
Em relao ao nmero e dimenso das comunidades existentes na rede, ter de existir um compromisso, na medida em que:
* * *
menor inconsistncia da informao devido rpida propagao (g. 5.10); menor overhead devido ao menor tamanho das comunidades (g. 5.8); no entanto, h possibilidade de constante re-aprendizagem devido s mudanas de comunidade.
vantagens do ponto de vista da gesto, uma vez que h garantia que todos os ns esto interligados entre si, ou seja, possvel chegar a qualquer n partindo de qualquer outro. Este facto potenciar menores atrasos no encaminhamento de pacotes de dados;
5.4.
CONCLUSES
91
reaprendizagens menos recorrentes dado que o conhecimento de cada n sobre a rede j foi previamente adquirido, ocorrendo apenas actualizaes de informaes especcas. A separao dos ns em domnios poder ser deixada para o gestor ao nvel IP;
maior impacto em termos de overhead, uma vez que existem mais ns a serem conhecidos e, portanto, uma maior quantidade informao a ser partilhada entre os ns. No entanto, abordagens probabilsticas na disseminao do conhecimento podem ser vantajosas a este nvel.
O nmero elevado de trocas de associao que a mtrica social provoca est directamente
relacionado com o valor do limiar (+10%) denido para a realizao da mudana de associao quando uma melhor mtrica detectada num vizinho. Ou seja, a anao deste parmetro fundamental para a maximizao do desempenho global da rede. Apesar do maior esforo na camada IP devido s reconguraes das tabelas de encaminhamento, principalmente na fase inicial, os perodos de desconectividade ao nvel MAC so mnimos. Assim, a introduo de deciso ao nvel da escolha da associao recorrendo a critrios que avaliam determinadas condies e caractersticas do n e da sua comunidade, podero melhorar o desempenho da rede.
Em termos de overhead, considerando apenas o tamanho do campo Frame Body dos Beacons
e Association Responses (no qual se introduziram os novos IEs):
na abordagem implementada, a qual est limitada devido denio esttica imposta pelo simulador ao nvel dos IEs, o overhead fundamentalmente imposto pelos Beacons, nomeadamente ao nvel das listas de ns para determinao do tamanho e da FQN mdia da comunidade de forma distribuda. Pode ainda armar-se que, nesta abordagem, o overhead introduzido independente do nmero de comunidades formadas;
caso fosse possvel introduzir alguma dinmica no tamanho destas listas, enviando apenas IDs pertencentes comunidade do n, o overhead passaria a ser proporcional ao tamanho da comunidade, ou seja, tendo em conta apenas este aspecto, o overhead introduzido pela soluo proposta tende para a abordagem sem mtricas sociais quanto menor for a comunidade.
92
CAPTULO 5.
RESULTADOS
Com o intervalo xo entre Beacons, tanto na soluo com mtrica social como no cenrio sem mtrica, o nmero de Beacons enviados por cada n o mesmo, uma vez que estes so peridicos. Ao nvel de Association Responses, recorrendo mtrica social h mais
ligao de associao;
Com o intervalo adaptativo entre Beacons, a soluo com mtrica social apresenta um comportamento logartmico ao nvel do nmero de Beacons enviados, que tende para
2100
que apresenta
3000 Beacons
ao cenrio com intervalo xo entre Beacons deve-se diferente organizao dos ns na rede, nomeadamente ao nvel do nmero de comunidades para o qual os ns tendem.
o valor
da mtrica social mais elevada), verica-se que a sua evoluo ao longo do tempo tende a manter-se numa faixa estreita de valores. Esta constatao extremamente importante, na
medida em que permite antecipar vrios mecanismos que evitem a mudana constante de lder que resultaria certamente numa degradao do desempenho da rede. Por exemplo, denio
de limites relativamente ao valor da mtrica social ou aos seus parmetros individuais (FIN, FQN e CQE) que provocam a mudana de lder, perodo mnimo de tempo como lder aps ser eleito, histrico de tempo que o n j esteve como lder, etc. Em termos de valor absoluto, o valor mximo da mtrica social est directamente dependente dos pesos individuais
w1 , w2 , w3
atribudos a cada uma das suas parcelas, pelo que todos os mecanismos relacionados com a eleio se devero adaptar automaticamente ao valor destes, de modo a que diferentes cenrios sejam directamente comparveis. Para as redes com os, pode concluir-se de forma resumida que:
O mecanismo de bootstrapping e de descoberta proposto apresenta caractersticas fundamentais em sistemas distribudos como (1) intervalo adaptativo entre pacotes Hello de acordo com a quantidade de entidades INM_Seekers presentes na rede; (2) cooperao entre entidades na partilha dos seus repositrios locais; (3) papel desempenhado por cada entidade alterado dinamicamente, de acordo com as condies da rede;
O protocolo de descoberta apresenta-se mais eciente comparativamente aos protocolos de descoberta CDP, OSPF e Fing, tanto ao nvel de tempo de convergncia, como de overhead de mensagens. Demonstra-se, desta forma, que o seu impacto na rede bastante reduzido;
O comportamento do protocolo em termos de overhead e tempo de convergncia fortemente inuenciado pelo nmero de INM_Seekers existentes numa fase inicial da rede. Existe um compromisso entre estes parmetros, ou seja, a quantidade inicial de INM_Seekers inversamente proporcional ao tempo de convergncia e proporcional ao overhead. No entanto, o papel de cada entidade atribudo inicialmente de forma probabilstica, e dinmico, ou seja, um INM_Hider pode passar a INM_Seeker dependendo de factores especcos j referidos anteriormente.
Captulo 6
tion Elements ao nvel de alguns pacotes de gesto (Beacon e Association Response ), permitindo a
associao baseada em mtricas sociais estabelecidas. Ao nvel das redes com os, o protocolo INM-Discovery apresenta papis dinmicos, colaborao entre as entidades da rede e intervalo adaptativo entre pacotes Hello, caractersticas que contribuem para um desempenho superior em termos de overhead e de tempo de convergncia comparativamente aos restantes protocolos de descoberta analisados. Como forma de analisar as solues propostas, elaboraram-se alguns cenrios teste dos quais se retiraram os principais resultados. Outras variaes dos mesmos poderiam ser realizadas, no entanto os cenrios apresentados foram denidos aps alguma ponderao e observao de resultados preliminares de outras simulaes. A discusso e concluso dos mesmos reecte a compreenso dos conceitos
envolvidos e os compromissos que so necessrios denir. Em termos de linhas futuras de investigao nas redes sem os, os principais pontos so:
94
CAPTULO 6.
anlise variao de parmetros especcos (e.g. limiar do valor da mtrica social que
origina mudana de associao e pesos rede.
w1 , w2 , w3
Interface grca para mais fcil interaco com o utilizador; Estudo de mecanismos para garantir requisitos de QoS, segurana e poupana de energia em redes ad hoc.
Ao nvel das redes com os, algumas funcionalidades no discutidas nesta Dissertao encontram-se j em funcionamento, como:
Contudo, podem destacar-se as seguintes linhas futuras com as principais funcionalidades a implementar:
Implementao da funcionalidade para a deteco da sada de ns; Introduo de tolerncia a falhas na soluo proposta.
Bibliograa
[1] J. D. J. M. Fedor, M. Schostall, Rfc 1157 - simple network management protocol (snmp), tech. rep., 1990. [2] U. Warrier and et al., Rfc 1189 - common management information services and protocols, tech. rep., 1990. [3] A. M. Barotto and et al., Distributed network management using snmp, java, www and corba,
Journal of Network and Systems Management, vol. 8, no. 4, pp. 483497, 2000.
[4] T. M. Chen and et al., A model and evaluation of distributed network management approaches,
SIGSOFT Softw. Eng. Notes, vol. 30, no. 4, pp. 17, 2005.
[8] B. Jennings, S. van der Meer, S. Balasubramaniam, D. Botvich, M. Foghlu, W. Donnelly, and J. Strassner, Towards autonomic management of communications networks, Communications
3rd Annual Conference on Autonomic Networking, Autonomic Communication Workshop (IFIP AN/WAC), Paris France, September 2006.
[11] S. White, J. Hanson, I. Whalley, D. Chess, , and J. Kephart, An architectural approach to autonomic computing, In Proceedings of the International Conference on Autonomic Computing
216041 4WARD Architecture and Design for the Future Internet, 2009.
95
96
BIBLIOGRAFIA
[14] D. Dudkowski and et al., Architectural principles and elements of in-network management, pp. 529536, 1-5 June 2009. [15] M. Flood, The hide and seek game of von neumann, p. 107 to 109, 1972. [16] L. Guardalben, V. Mirones, P. Salvador, and S. Sargento, A cooperative hide and seek discovery over in network management, 2nd IFIP/IEEE International Workshop on Management of the
Future Internet (ManFi 2010), IEEE/IFIP Network Operations and Management Symposium,
January 2010. [17] M. Subramanian, T. Gonsalves, and U. Rani, Network Management: Principles and Practice. Pearson Education India, 2010. [18] A. Clemm, Network Management Fundamentals: A Guide to understanding how network ma-
BIBLIOGRAFIA
97
[31] A. Project, Autonomic network architecture (ana), Project funded by the European Union
[34] J. Strassner, N. Agoulmine, and E. Lehtihet, Focale: A novel autonomic networking architecture, 2006.
http://www.ist.autoi.eu/autoi/.
[36] S. Schuetz, K. Zimmermann, G. Nunzi, S. Schmid, and M. Brunner, Autonomic and decentralized management of wireless access networks, Network and Service Management, IEEE
[38] 4WARD, 4ward project http://www.4ward-project.eu/, 2008. [39] R. Roth and F. Wol, D4.1 - denition of scenarios and use cases, FP7 ICT 2007 1 216041
[42] C. G. Dickey and C. Grotho, Bootstrapping of peer-to-peer networks, pp. 205208, July 28 2008-Aug. 1 2008.
[43] A. Mawji and H. Hassanein, Implementation of bootstrapping for p2p overlays in manets, pp. 1417, 12-14 May 2010.
[44] D. Doval and D. O'Mahony, Overlay networks: A scalable alternative for p2p, vol. 7, pp. 7982, JulyAug. 2003.
[45] I. Stoica, R. Morris, D. Karger, M. Kaashoek, and H. Balakrishnan, Chord: A scalable peerto-peer lookup service for internet applications, ACM SIGCOMM Computer Communication
98
BIBLIOGRAFIA
[47] B. Zhao, L. Huang, J. Stribling, S. Rhea, A. Joseph, and J. Kubiatowicz, Tapestry: A resilient global-scale overlay for service deployment, Selected Areas in Communications, IEEE Journal
Parallel and Distributed Systems, 2008. ICPADS'08. 14th IEEE International Conference on,
pp. 271278. [49] G. W. Cox, W. L. Johnson, J. Strassner, and D. Raymer, Bootstrapping device state in managed systems, pp. 767770, 711 April 2008. [50] M. Knoll, A. Wacker, G. Schiele, and T. Weis, Decentralized bootstrapping in pervasive applications, in Proc. Fifth Annual IEEE International Conference on Pervasive Computing and
Communications Workshops PerCom Workshops '07, pp. 589592, 1923 March 2007.
[51] S. Milner, J. Llorca, A. Anibha, and U. Vishkin, A bootstrapping model for directional wireless networks, vol. 10, pp. 840842, dec 2006. [52] Y. Jiang, C.-H. Lung, and N. Goel, A Tree-Based Multiple-Hop Clustering Protocol for Wireless
Sensor Networks, vol. 49 of Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, pp. 371383. Springer Berlin Heidelberg, 2010.
[53] A. Abbasi and et al., Restoring connectivity in wireless sensor-actor networks with minimal topology changes, pp. 15, 23-27 May 2010. [54] J. Wang, M. Li, and Y. Liu, Fractured voronoi segments: Topology discovery for wireless sensor networks, pp. 137145, 8-12 Nov. 2010. [55] F. Yasir, Maximal weight topology discovery in ad hoc wireless sensor networks, vol. 0, pp. 715 722, 2010. [56] C. Peiwei and et al., The implementation of a new topology discovery algorithm in mobile ad hoc network, pp. 14, 29-31 Oct. 2010. [57] C. Yonghui, Z. Chunfeng, and L. Zhiqin, Energy ecient routing protocol for ad hoc networks, vol. 5, pp. V5320V5323, 25-27 June 2010. [58] S. Hariharan and et al., Secure neighbor discovery through overhearing in static multihop wireless networks, pp. 16, 21-21 June 2010. [59] L. Raju and et al., Beacon assisted discovery protocol (bead) for self-organizing hierarchical ad-hoc networks, vol. 3, pp. 16761680 Vol.3, 29 Nov.-3 Dec. 2004. [60] K. M. Konwar and et al., Node discovery in networks, Journal of Parallel and Distributed
posium on Intelligent Signal Processing and Communication Systems ISPACS 2007, pp. 706709,
Nov. 28 2007Dec. 1 2007.
BIBLIOGRAFIA
99
[63] S. A. Borbash and et al., An asynchronous neighbor discovery algorithm for wireless sensor networks, vol. 5, pp. 998 1016, 2007. [64] P. Dutta and et al., Practical asynchronous neighbor discovery and rendezvous for mobile sensing applications, 2008. [65] P. He, H. Pan, X. Li, and Q. Zheng, Physical topology discovery based on spanning tree protocol, vol. 14, pp. V14308V14311, 22-24 Oct. 2010. [66] J. L. Guangyu Dong, The spanning tree protocol, tech. rep., MNG Group, 2005. [67] S. Vasudevan, Self-organization in largescale wireless networks, Master's thesis, University of Massachusetts, Dept Computer Science, sep 2006. [68] B. T. Nassu, T. Nanya, and E. P. Duarte, Topology discovery in dynamic and decentralized networks with mobile agents and swarm intelligence, in Proc. Seventh International Conference
on Intelligent Systems Design and Applications ISDA 2007, pp. 685690, 2024 Oct. 2007.
[69] J. Moy, Rfc2328: Ospf version 2, RFC Editor United States, 1998. [70] A. Siddiqi and B. Nandy, Improving network convergence time and network stability of an ospf-routed ip network, NETWORKING 2005, pp. 469485, 2005. [71] inc Cisco Systems, Cisco discovery protocol (cdp).
[72] inc
look.com/site/index.php/documentation/ng-manual. [Acedido em 13.02.2011]. [73] C. Chi, D. Huang, D. Lee, and X. Sun, Lazy ooding: A new technique for information dissemination in distributed network systems, vol. 15, pp. 8092, Feb. 2007. [74] V. Drabkin, R. Friedman, G. Kliot, and M. Segal, Rapid: Reliable probabilistic dissemination in wireless ad-hoc networks, in Proc. 26th IEEE International Symposium on Reliable Distributed
pp. 43954400, March 2007. [77] C. Chen, J. Ma, and J. Salomaa, Simulation study of cluster based data dissemination for wireless sensor networks with mobile sinks, in Proc. 10th International Conference on Advanced
Communication Technology ICACT 2008, vol. 1, pp. 231236, 1720 Feb. 2008.
[78] N. Damianou, N. Dulay, E. Lupu, M. Sloman, and T. Tonouchi, Tools for domain-based policy management of distributed systems, pp. 203217, 2002. [79] Z. Zhou, Distribution policy based information dissemination management system, vol. 4, pp. 325328, 26-27 Dec. 2009.
100
BIBLIOGRAFIA
[80] M. L. Sbodio and W. Thronicke, Ontology-based context management components for service oriented architectures on wearable devices, pp. 129133, 10-12 Aug. 2005. [81] E. Daly and M. Haahr, Social network analysis for routing in disconnected delay-tolerant manets, in Proceedings of the 8th ACM international symposium on Mobile ad hoc networking and
adhoc networks, in Personal Wireless Communications, pp. 135146, Springer, 2006. [88] M. Chatterjee, S. K. Das, and D. Turgut, Wca: A weighted clustering algorithm for mobile ad hoc networks, Cluster Computing, vol. 5, no. 2, pp. 193204, 2002. [89] M. Brust, A. Andronache, and S. Rothkugel, Waca: A hierarchical weighted clustering algorithm optimized for mobile hybrid networks, in Wireless and Mobile Communications, 2007.
http://technet.microsoft.com/en-us/library/cc757419(WS.10).aspx.
03.10.2010].
[Acedido
em
[95] [96]
http://posit.hfoss.org/research.
[Acedido em 20.04.2011].
http://www.juliobattisti.com.br/tutoriais/paulocfarias/redeswireless020.asp.
[Acedido em 15.11.2010].
BIBLIOGRAFIA
101
http://www.sss-mag.com/pdf/
802_11tut.pdf,
1997.
[98] P. Wireless, CWAP Certied Wireless Analysis Professional Ocial Study Guide (Exam PW0-
http://www.zytrax.com/tech/wireless/802_mac.htm.
[Acedido em 11.12.2010].
[101] M. S. Gast, 802.11 wireless networks - the denitive guide: creating and administering wireless
http://www.wifi-doc.com/O.Reilly-802.11.Wireless.Netwo/0596100523/ wireless802dot112-chp-3-sect-5.html. [Acedido em 10.10.2010]. http://www.slidefinder.net/m/mobile_communications_chapter_wireless_lans/ 14368166. [Acedido em 29.09.2010]. http://www.wireless-net.org/McGraw.Hill-CWAP.Certified.Wir/8156final/LiB0062. html. [Acedido em 11.10.2010]. http://www.willhackforsushi.com/papers/ 80211_Pocket_Reference_Guide.pdf.
[103]
[104]
[106] M. A. A. Martin May, Christophe Diot, Peoplerank: Social opportunistic forwarding, EEE
vol. 10, pp. 48184823, IEEE, 2006. [109] NS-3, Manual ns-3.9. http://www.nsnam.org/docs/release/3.9/manual.pdf, 2010. [110] NS-3, Tutorial ns-3.9. http://www.nsnam.org/docs/release/3.9/tutorial.pdf, 2010. [111] M. Lacage and T. Henderson, Yet another network simulator, in Proceeding from the 2006
102
BIBLIOGRAFIA
[115]
http://www.thinkwiki.org/wiki/Madwifi.
[Acedido em 02.11.2010].
[116] J. Kim, S. Kim, S. Choi, and D. Qiao, Cara: Collision-aware rate adaptation for ieee 802.11 wlans, in IEEE INFOCOM, pp. 111, Citeseer, 2006. [117] F. Maguolo, M. Lacage, and T. Turletti, Ecient collision detection for auto rate fallback algorithm, in Computers and Communications, 2008. ISCC 2008. IEEE Symposium on, pp. 25 30, IEEE. [118]
https://www.nsnam.org/bugzilla/show_bug.cgi?id=1060.
[Acedido em 22.02.2011].
[119] H. P. Pfeifer, On the validation of radio propagation models - analytical validation of network simulator used propagation and bit error rates models.
http://www.jauu.net/data/pdf/
propagation-models.pdf.
[120]
http://www.eetimes.com/design/signal-processing-dsp/4017668/ Modulation-roundup-error-rates-noise-and-capacity?pageNumber=1.
17.01.2011].
[Acedido
em