• Nenhum resultado encontrado

Protocolos de Comunica¸c˜ao da Camada de Liga¸c˜ao de Dados

2.2 Protocolos de Comunica¸c˜ao

2.2.1 Protocolos de Comunica¸c˜ao da Camada de Liga¸c˜ao de Dados

A camada de Liga¸c˜ao de Dados tem a fun¸c˜ao de identificar bem como corrigir eventuais erros, particionar os dados em frames e controlar o fluxo das mesmas. Os protocolos desta camada s˜ao conhecidos como protocolos de acesso ao meio, ou simplesmente protocolos MAC [10]. Estes influenciam o consumo de energia dos dispositivos da rede, na forma como o meio ´e acedido. Como em todas as camadas, os requisitos desta camada variam de acordo com o tipo de aplica¸c˜ao. Como exemplo, uma rede que tenha como objetivo detetar determinados fen´omenos apenas durante a noite, os N´os sensores durante o dia podem e devem ter o seu transceiver inativo. Por´em, durante a noite, v´arios N´os est˜ao no estado ativo. Se a rede for constitu´ıda por um elevado n´umero de N´os sensores na mesma ´area, a ocorrˆencia de determinado fen´omeno leva a que diversos N´os tentem aceder ao meio para transmitirem os seus dados, o que pode causar colis˜oes. Deste modo, torna-se imprescind´ıvel um controlo de acesso ao meio [10].

A Rede de Sensores Sem Fios desenvolvida tem como base de suporte para comu- nica¸c˜oes a norma IEEE 802.15.4. A comunica¸c˜ao ´e realizada atrav´es de m´odulos XBee, que utilizam como m´etodo de acesso ao meio o CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance).

O m´etodo CSMA/CA ´e baseado em conten¸c˜ao, onde os N´os disputam o acesso ao canal. Este m´etodo ´e mais prop´ıcio `a ocorrˆencia de colis˜oes, por isso os protoco- los baseados neste m´etodo necessitam de quadros de controlo para estabelecer a comunica¸c˜ao entre os v´arios dispositivos [11].

V´arios protocolos tˆem vindo a ser desenvolvidos baseados no m´etodo CSMA/CA.

• Protocolo S-MAC:

O protocolo S-MAC, baseia-se no m´etodo CSMA/CA e utiliza sincroniza¸c˜ao para organizar os modos de opera¸c˜ao de r´adio. Este protocolo destina-se a aplica¸c˜oes dirigidas a eventos e com baixa taxa de envio de mensagens [11]. O m´etodo de comunica¸c˜ao ´e baseado em RTS (Request-To-Send), CTS (Clear-To-Send), DATA e ACK (Acknowledgement). O ciclo de opera¸c˜ao dos N´os corresponde a per´ıodos de tempos fixos, ativo (listen) e repouso (sleep). A Fig. 2.7 demonstra o ciclo de opera¸c˜ao do protocolo.

Figura 2.7– Ciclos de opera¸c˜ao do S-MAC com per´ıodos ativos e de repouso fixos, baseada em [11].

Atrav´es deste ciclo de opera¸c˜ao, cada N´o repousa durante um determinado per´ıodo de tempo. Posteriormente, o N´o acorda e fica `a escuta para ver se tem algum outro N´o que lhe quer transmitir informa¸c˜oes. A dura¸c˜ao do tempo de repouso e de escuta ´e definida com base na aplica¸c˜ao pretendida. Durante o per´ıodo de repouso o N´o mant´em desligado o seu r´adio, no qual acorda mais tarde atrav´es de um temporizador. A sincroniza¸c˜ao dos N´os ´e efetuada atrav´es do envio de um pacote de sincroniza¸c˜ao denominado SYNC. O SYNC cont´em o endere¸co do emissor bem como o tempo do pr´oximo repouso. Este protocolo utiliza t´ecnicas que permitem uma poupan¸ca de energia, que prolongam o tempo de vida da rede, por´em apresenta a desvantagem de utilizar um ciclo de atividade (duty cycle) fixo. Deste modo, n˜ao possui um controle dinˆamico do tempo dos modos de opera¸c˜ao de escuta e repouso [11].

• Protocolo T-MAC:

O protocolo T-MAC ´e similar ao S-MAC. Por´em, resolve a quest˜ao do ciclo de atividade fixo, atrav´es da implementa¸c˜ao de ciclos de atividade e repouso dinˆamicos. Assim, o tempo de idle listening ´e mais reduzido, no qual se obt´em uma diminui¸c˜ao do consumo de energia do N´o. O tempo ativo ´e controlado por um temporizador (Time-Out)e aquando o seu t´ermino, coloca o r´adio em repouso, conforme mostra a Fig. 2.8. O tempo ativo ´e utilizado apenas quando um N´o for transmitir ou receber pacotes.

Figura 2.8 – Ciclos de opera¸c˜ao do T-MAC utilizando tempo ativo dinˆamico, baseada em [11].

Do mesmo modo que o S-MAC, a comunica¸c˜ao dos N´os ´e feita com o di´alogo RTS, CTS, DATA, ACK de modo a evitar colis˜oes. Os N´os transmitem as suas informa¸c˜oes de comunica¸c˜ao atrav´es de pacotes SYNC. Esta transmiss˜ao ´e feita para os N´os vizinhos. A renova¸c˜ao do tempo de Time-Out ´e feita atrav´es da rece¸c˜ao de pacotes RTS ou CTS. O tempo de Time-Out ´e determinado pelo tamanho do esquema de conten¸c˜ao do RTS-CTS-DATA-ACK, pelo tamanh˜ao de um pacote RTS e o tempo entre o final de um pacote RST e in´ıcio de um pacote CTS [11].

2.2.2

Protocolos de Comunica¸c˜ao da Camada de Rede

A principal fun¸c˜ao da camada de rede ´e prover o servi¸co de routing, na qual a rede tem de estar preparada para identificar o destinat´ario das mensagens e encontrar

um caminho entre a origem e o destino desta mensagem. O planeamento de uma RSSF depende do seu objetivo e ´area de aplica¸c˜ao, pois a aplica¸c˜ao influenciar´a diretamente nas fun¸c˜oes exercidas pelos N´os da rede, assim como a arquitetura desses N´os. Assim sendo, consoante a aplicabilidade e arquitetura de rede, os protocolos de routing diferem [12]. O routing apresenta alguns desafios e algumas quest˜oes acerca do seu design. Como foi referido anteriormente, uma Rede de Sensores sem Fios apresenta algumas restri¸c˜oes, que afetam os protocolos de todas as camadas. Um dos objetivos destas redes ´e realizar uma comunica¸c˜ao de dados eficiente enquanto se tenta prolongar o tempo de vida da rede atrav´es da utiliza¸c˜ao de t´ecnicas de gest˜ao de energia. O design dos protocolos de routing ´e influenciado por alguns fatores, tais como [12]:

• Implanta¸c˜ao do N´o: A implanta¸c˜ao do N´o, que ´e dependente da aplica¸c˜ao, pode ser determinista ou aleat´oria. Na primeira, os sensores s˜ao colocados deterministicamente e os dados s˜ao encaminhados atrav´es de caminhos pr´e- determinados. Na implanta¸c˜ao aleat´oria, os sensores s˜ao espalhados aleatori- amente, criando uma infraestrutura de routing Ad Hoc. Se a distribui¸c˜ao re- sultante dos N´os n˜ao for uniforme, a utiliza¸c˜ao de clusters torna-se necess´aria para permitir a conetividade e a eficiˆencia energ´etica. A comunica¸c˜ao entre N´os sensores ´e normalmente curta bem como as faixas de transmiss˜ao devido `a limita¸c˜ao de energia e de largura de banda. Portanto, ´e mais prov´avel que a rota consista em m´ultiplos hops [12].

• Consumo de energia sem perdas de precis˜ao: As formas de conserva¸c˜ao de energia relativamente `a comunica¸c˜ao bem como computa¸c˜ao s˜ao essenciais. A vida de um N´o sensor est´a fortemente dependente do tempo de vida ´util da bateria. Numa RSSF multi-hop, cada N´o pode servir como remetente de dados bem como router de dados. O mau funcionamento de alguns N´os sensores devido `a falha de energia podem causar mudan¸cas de topologia significantes, sendo necess´ario a retransmiss˜ao de pacotes e a reorganiza¸c˜ao da rede.

• M´etodo de comunica¸c˜ao de dados: Como tudo est´a dependente da aplica¸c˜ao, a comunica¸c˜ao de dados n˜ao ´e exce¸c˜ao, dependendo tamb´em do tempo cr´ıtico

dos dados. A comunica¸c˜ao de dados pode ser categorizada como Time-Driven, Event-Driven, Query-Driven ou Hybrid [12]. O m´etodo Time-Driven ´e ade- quado para aplica¸c˜oes que requerem uma peri´odica monitoriza¸c˜ao dos dados. Como tal, os N´os sensores periodicamente ativam os seus transmissores e sen- sores, monitorizam o ambiente e enviam os dados num per´ıodo de tempo cons- tante e peri´odico. Nos m´etodos Event-Driven e Query-Driven, os N´os sensores reagem imediatamente a uma s´ubita altera¸c˜ao no valor de um atributo dete- tado devido `a ocorrˆencia de um determinado evento, ou como resposta a uma consulta gerada pela BS ou outro N´o na rede. Como tal, estes m´etodos s˜ao adequados para aplica¸c˜oes de tempo critico e uma combina¸c˜ao destes tamb´em ´e poss´ıvel.

• Tolerˆancia a Falhas: Os N´os sensores podem falhar devido `a falta de energia, danos f´ısicos ou interferˆencias ambientais. A falha de N´os n˜ao deve afetar a tarefa geral da rede de sensores. Se ocorrer a falha de alguns N´os, os protocolos de routing devem acomodar a forma¸c˜ao de novas liga¸c˜oes e rotas para que os dados sejam entregues `a BS. Atrav´es disto, pode ser necess´ario ajustar a transmiss˜ao para reduzir o consumo de energia, ou o reencaminhamento de pacotes atrav´es de regi˜oes da rede aonde exista mais energia dispon´ıvel. • Escalabilidade: O n´umero de N´os implantados numa ´area pode estar na ordem

das centenas, ou mais. Por isso, qualquer esquema de routing deve ser capaz de trabalhar com um elevado n´umero de N´os sensores. Al´em disso, os protocolos de routing devem ser escal´aveis o suficiente para responder aos eventos no ambiente.

• Dinˆamica da rede: Em algumas situa¸c˜oes, os N´os sensores s˜ao fixos. No en- tanto, em algumas aplica¸c˜oes, tanto os N´os como a BS podem ser m´oveis. Como tal, as mensagens de routing para a mobilidade dos N´os ´e mais desa- fiante uma vez que as rotas e a estabilidade topol´ogica se tornam quest˜oes importantes, al´em da energia, largura de banda, entre outros. Al´em disso, o fen´omeno pode ser m´ovel (aplica¸c˜ao de dete¸c˜ao/ rastreamento de alvos). • Agrega¸c˜ao dos dados: Uma vez que os N´os podem gerar dados redundantes,

pacotes semelhantes a partir de m´ultiplos N´os podem ser agregados por forma a reduzir o n´umero de transmiss˜oes. A supress˜ao de duplicados por exemplo, ´e uma das t´ecnicas utilizadas para poupar energia.

Classifica¸c˜ao dos Protocolos de routing

Como mostra a Fig. 2.9, em geral os protocolos de routing podem ser classificados de acordo com a estrutura da rede como Flat-Based Routing, Hierarchical-Based Routing e Location-Based Routing. Al´em disso, estes protocolos podem ser clas- sificados em Multipath-Based, Query-Based, Negotiation-Based, Quality of Service, e Cohrent-Based. Estas t´ecnicas de routing dependem da opera¸c˜ao do protocolo. Al´em do referido, os protocolos de routing podem ser classificados em trˆes catego- rias, Proactive, Reactive, Hybrid, dependendo de como a fonte encontra uma rota para o destino [12]. Nos protocolos Proactive as rotas s˜ao calculadas antes de se- rem necess´arias, enquanto que nos protocolos Reactive as rotas s˜ao calculadas On- Demand. Os protocolos Hybrid utilizam uma combina¸c˜ao dos protocolos referidos anteriormente. Quando os N´os sensores s˜ao est´aticos, ´e prefer´ıvel utilizar um proto- colo Proactive em vez de um protocolo Reactive, pois uma quantidade significativa de energia ´e utilizada na descoberta de rotas e configura¸c˜ao dos protocolos Reactive. Quando o n´umero de N´os ´e muito elevado e visto que estes s˜ao pobres a n´ıvel de recursos ´e necess´ario ter em aten¸c˜ao ao espa¸co de armazenamento de tabelas de routing relativamente grandes.

Protocolos Baseados na Estrutura de Rede

Como mostra a Fig. 2.10, os protocolos de routing s˜ao classificados consoante a estrutura de rede, como Flat-Based Routing, Hierarchical-Based Routing e Location- Based Routing.

Flat-Based Routing

A primeira categoria dos protocolos de routing s˜ao os protocolos multi-hop flat rou- ting. Em redes Flat, cada N´o desempenha tipicamente o mesmo papel e os N´os

Figura 2.9 – Classifica¸c˜ao dos Protocolos de routing, baseada em [12].

Figura 2.10 – Protocolos baseados na estrutura de rede, baseada em [12].

sensores trabalham coordenados para realizar as tarefas de dete¸c˜ao. Neste tipo de routing (Data-Centric), os dados s˜ao centralizados, na qual a BS envia consultas a certas regi˜oes e aguarda os dados dos sensores localizados em certas regi˜oes [12].

• SPIN

O SPIN, assume que todos os N´os s˜ao potenciais Sinks, na qual, de uma forma eficiente dissemina informa¸c˜ao entre os N´os numa rede de energia limitada. Cada N´o utiliza meta-dados, ou seja, descritores de alto-n´ıvel, para nomear os seus dados e utiliza negocia¸c˜oes para eliminar a transmiss˜ao de dados redundante na rede. A negocia¸c˜ao dos meta-dados resolve o cl´assico problema de inunda¸c˜ao, conseguindo assim uma eficiˆencia energ´etica. Para a comunica¸c˜ao entre os N´os sensores s˜ao usa- dos trˆes tipos de mensagens, ADVertise, REQuest e DATA. O ADV ´e utilizado para

anunciar novos dados, REQ para solicitar dados e DATA s˜ao os dados propriamente ditos. O protocolo ´e inicializado quando um N´o SPIN obt´em dados novos e quer compartilha-los. F´a-lo, fazendo o broadcast de uma mensagem ADV que cont´em os meta-dados. Se um vizinho estiver interessado nos dados, envia uma mensagem REQ. O N´o que cont´em os dados reponde `a requisi¸c˜ao com uma mensagem DATA. Depois de receber os dados, repete o processo com os seus vizinhos. Este protocolo apresenta algumas desvantagens, n˜ao ´e escal´avel, os N´os em torno do Sink podem esgotar a bateria rapidamente se o Sink estiver interessado em demasiados eventos al´em de que os eventos s˜ao sempre enviados para toda a rede [13].

• Directed Diffusion

´

E um paradigma de agrega¸c˜ao de dados DC (Data-Centric) [12], onde os dados dos N´os sensores s˜ao nomeados por atribute-value pairs. A principal ideia do paradigma DC ´e combinar os dados provenientes de diferentes fontes em rota (em rede de agrega¸c˜ao) eliminando a redundˆancia, minimizando o n´umero de transmiss˜oes, no qual se obt´em uma diminui¸c˜ao no consumo de energia. O routing DC encontra rotas a partir de m´ultiplas fontes para um destino. Neste m´etodo, os sensores medem eventos e criam gradientes de informa¸c˜ao. A BS requisita os dados fazendo o broadcast de interesses. Um interesse descreve uma tarefa a ser realizada pela rede e difunde-se pela rede hop por hop no qual ´e transmitido por cada N´o aos seus vizinhos. Como ´e propagado pela rede, os gradientes s˜ao criados para extrair os dados correspondentes `a consulta do N´o que requisita essa informa¸c˜ao (por exemplo, a BS pode fazer uma consulta de dados atrav´es da divulga¸c˜ao de interesses e os n´os intermedi´arios propagam esses interesses). Cada N´o que recebe o interesse estabelece um gradiente para o N´o sensor de onde recebeu o interesse. Este processo continua at´e que os gradientes s˜ao estabelecidos a partir das fontes de volta para a BS. Geralmente, um gradiente espec´ıfica um valor de atributo e dire¸c˜ao. Na Fig. 2.11

est´a exemplificado o trabalho da Directed Diffusion (envio de interesses, constru¸c˜ao de gradientes e propaga¸c˜ao dos dados).

Figura 2.11 – Directed Diffusion [12].

Quando os interesses servem gradientes, caminhos de fluxo de informa¸c˜ao s˜ao for- mados a partir de m´ultiplos caminhos, e, em seguida, os melhores caminhos s˜ao refor¸cados para evitar mais inunda¸c˜oes. A Directed Diffusion permite economizar energia devido `a sele¸c˜ao de bons caminhos al´em do processamento e cache dos da- dos na rede. O cache pode aumentar a eficiˆencia, robustez e a escalabilidade da coordena¸c˜ao entre os N´os sensores, que ´e a essˆencia deste paradigma. Outra uti- liza¸c˜ao da Directed Diffusion ´e espontaneamente propagar um evento importante para algumas sec¸c˜oes da rede.

A Directed Diffusion apresenta algumas diferen¸cas em rela¸c˜ao ao SPIN. Esta emite consulta de dados On-Demand como a BS envia consultas aos N´os sensores atrav´es da inunda¸c˜ao de algumas tarefas. No SPIN, no entanto, os sensores anunciam a dis- ponibilidade dos dados, permitindo que os N´os interessados consultem esses dados. Todas as comunica¸c˜oes na Directed Diffusion s˜ao feitas de vizinho para vizinho no qual cada N´o possui a capacidade de executar a agrega¸c˜ao de dados e cache. Hierarchical-Based Routing

O m´etodo Hierarchical Routing ou Cluster-Based, apresenta vantagens especiais re- lacionadas com a escalabilidade e comunica¸c˜ao eficiente. Os N´os com mais ener- gia podem ser usados para processamento e envio de informa¸c˜ao, enquanto que os N´os com menor energia podem ser utilizados para o sensoriamente em quest˜ao. A cria¸c˜ao de clusters e atribui¸c˜ao de tarefas especiais contribui para a escalabilidade

do sistema, durabilidade e eficiˆencia energ´etica. O Hierarchical Routing ´e uma ma- neira eficiente de diminuir o consumo de energia dentro de um cluster, realizando a agrega¸c˜ao de dados, a fim de diminuir o n´umero de mensagens transmitidas `a BS. Este tipo de routing ´e principalmente constitu´ıdo por duas camadas de routing, aonde uma das camadas ´e utilizada para selecionar os CHs e a outra ´e usada para o routing [12].

• LEACH

O LEACH (Low Energy Adaptive Clustering Hierarchy) ´e um protocolo baseado em clusters, que inclui a forma¸c˜ao de clusters distribu´ıdos, Fig. 2.12. Alguns N´os sensores s˜ao aleatoriamente selecionados como CHs e esta regra roda para uniforme- mente distribuir energia entre os N´os da rede. No LEACH, os N´os CHs comprimem os dados que chegam dos N´os que pertencem ao seu cluster e enviam um pacote agregado `a BS, a fim de reduzir a quantidade de informa¸c˜ao que deve ser transmi- tida `a BS. Como acesso ao meio utiliza TDMA/CDMA a fim de reduzir as colis˜oes inter-clusters e intra-clusters. No entanto, a recolha de dados ´e centralizada e exe- cutada periodicamente. Por isto, este protocolo ´e mais apropriado para situa¸c˜oes na qual h´a uma necessidade de monitoriza¸c˜ao constante dos sensores. No caso de a aplica¸c˜ao n˜ao necessitar de todos os dados imediatamente, a transmiss˜ao de dados peri´odicos ´e desnecess´aria [12].

A opera¸c˜ao do LEACH ´e separada em duas fases, Setup-Phase e Steady State Phase. Na Setup-Phase, os clusters s˜ao organizados e os clusters-heads s˜ao selecionados. Na Steady State Phase, a transferˆencia de dados toma lugar.

Durante a Setup-Phase, uma determinada fra¸c˜ao de N´os, elegem-se como CHS. Todos os CHs eleitos transmitem uma mensagem de an´uncio aos restantes N´os na rede comunicando que s˜ao os novos CH. Todos os N´os n˜ao clusters-Heads, depois de receberem este an´uncio, decidem qual o cluster a que querem pertencer. Esta decis˜ao ´e tomada com base na intensidade do sinal. Os N´os n˜ao CH informam os CHs apropriados que v˜ao ser um membro do cluster. Depois de receberem todas as mensagens dos N´os que gostariam de ser inclu´ıdos no cluster e com base no n´umero de N´os de um cluster, os n´os CHs criam um calend´ario TDMA e atribuem a cada N´o um time slot no qual ele pode transmitir. Este calend´ario ´e transmitido para todos os N´os do cluster.

Durante a Steady State Phase, os N´os sensores podem come¸car a dete¸c˜ao e a trans- mitir dados para os CHs. O N´o CH, depois de receber todos os dados, agrega-os antes de enviar `a BS. Depois de um determinado per´ıodo de tempo, determinado `a priori, a rede volta ´a Setup-Phase novamente e inicializa outra ronda de sele¸c˜ao de CHs. Cada cluster comunica utilizando diferentes c´odigos CDMA para reduzir a interferˆencia de outros n´os pertencentes a outros clusters.

Embora o LEACH seja capaz de aumentar o tempo de vida da rede, ainda h´a uma s´erie de quest˜oes sobre os pressupostos utilizados neste protocolo. O LEACH assume que todos os N´os podem transmitir, com energia suficiente, para alcan¸car a BS se ne- cess´ario e que cada n´o tem poder computacional para suportar diferentes protocolos MAC. Portanto, n˜ao ´e aplic´avel a redes implementadas em grandes regi˜oes. N˜ao ´e percet´ıvel como o n´umero predeterminado de CHs vai ser uniformemente distribu´ıdo pela rede. Portanto, existe a possibilidade que os CHs eleitos estejam concentrados numa parte da rede, da´ı, alguns N´os n˜ao ter˜ao CHs na sua vizinhan¸ca. Al´em disso, a ideia de clusters dinˆamicos traz um overhead extra (mudan¸cas de CHs, an´uncios, etc), no qual pode diminuir o ganho em consumo de energia. Por fim, o protocolo

assume que todos os N´os come¸cam com a mesma quantidade e capacidade de ener- gia em cada ronda de elei¸c˜ao, assumindo que um CH consome aproximadamente a mesma quantidade de energia para cada N´o.

A Tabela 2.1, adaptada de [12] compara SPIN, LEACH e Directed Diffusion de acordo com diferentes parˆametros.

Documentos relacionados