• No results found

4. Results

4.1 Findings

A interrup¸c˜ao dos servi¸cos oferecidos pelas redes de computadores pode trazer grandes problemas em um mundo que est´a dependente da sua oferta (CHOLDA et al., 2007). Em muitas situa¸c˜oes, j´a n˜ao se consegue mais pensar em um n´ıvel adequado de realiza¸c˜ao de atividades sem a utiliza¸c˜ao de servi¸cos de rede de forma eficiente e ininterrupta. No entanto, v´arios fatores podem levar `a indisponibilidade total ou parcial da rede, como problemas em equipamentos, falhas de software ou mesmo falha humana. Por isso, ´e preciso pensar em maneiras de prover mecanismos de detec¸c˜ao e recupera¸c˜ao de situa¸c˜oes de degrada¸c˜ao dos servi¸cos.

Em (STERBENZ et al., 2010), encontramos a defini¸c˜ao de resiliˆencia como “a habilidade da rede de prover e manter um n´ıvel de servi¸co aceit´avel em vista de v´arias falhas e desafios `a opera¸c˜ao normal”. Nesse mesmo trabalho, um framework ´e proposto para fornecer resiliˆencia a redes de comunica¸c˜ao. A estrat´egia baseia-se nos seguintes pontos: defesa, detec¸c˜ao, remedia¸c˜ao, recupera¸c˜ao, diagn´ostico e refinamento.

Segundo o framework, inicialmente ´e necess´ario utilizar mecanismos de defesa, de forma a evitar amea¸cas ao funcionamento normal da rede. Como pode haver falha em proteger a rede de amea¸cas, ´e preciso que os elementos sejam capazes de detectar quando surgir uma situa¸c˜ao adversa. A partir da´ı, mecanismos de remedia¸c˜ao s˜ao respons´aveis por levar a rede a um estado de opera¸c˜ao satisfat´orio, minimizando o impacto causado pela amea¸ca sofrida. Por fim, depois que houver passado a situa¸c˜ao que gerou o problema, a rede deve recuperar-se e voltar ao estado inicial. Al´em disso, o diagn´ostico sobre o ocorrido e o refinamento das pr´aticas adotadas ser˜ao ´uteis para propiciar a evolu¸c˜ao da resiliˆencia da rede.

Em (NOGUEIRA et al., 2012), uma estrat´egia de sobrevivˆencia para redes sem fio ad hoc ´e proposta, em que inicialmente um componente ´e respons´avel pelos mecanismos de defesa (resistˆencia). A seguir, caso a primeira barreira de prote¸c˜ao tenha falhado, um outro componente (reconhecimento) ser´a encarregado de reagir aos ataques sofridos. Um terceiro componente (recupera¸c˜ao) ser´a respons´avel pelo restabelecimento do servi¸co, atrav´es de mecanismos de replica¸c˜ao ou redundˆancia. Al´em desses, um outro componente ´e respons´avel pela adapta¸c˜ao, ajudando os demais nas tarefas de utiliza¸c˜ao de mecanismos de preven¸c˜ao, rea¸c˜ao e tolerˆancia a falhas.

descritos, que promovam defesa, detec¸c˜ao e recupera¸c˜ao. Como se trata de uma rede dinˆamica, uma VANET necessita de solu¸c˜oes que a levem a alterar seu comportamento de acordo com o que vier a ocorrer. Assim, as solu¸c˜oes para os desafios de redes veicula- res geralmente prop˜oem a adapta¸c˜ao de algum dos parˆametros de comunica¸c˜ao (SONG; LEE, 2013) (FOGUE et al., 2013b), levando a rede a se tornar resiliente aos problemas enfrentados.

O framework proposto neste trabalho utiliza conceitos de redes resilientes. Assim, uma das etapas do seu desenvolvimento tratou de classificar os problemas e solu¸c˜oes de acordo com suas caracter´ısticas, o que contribui para uma melhor compreens˜ao da situa¸c˜ao atual da pesquisa. Para isso, inicialmente apresentamos uma classifica¸c˜ao para as formas de solu¸c˜ao propostas para uma melhor dissemina¸c˜ao de mensagens em VANETs baseando- se na taxonomia para as t´ecnicas de tolerˆancia a falhas encontrada em (AVIZIENIS et al., 2004). Como pode ser visto na Figura 9, classificamos as solu¸c˜oes diante de trˆes fatores: (i) observa¸c˜ao do ambiente, (ii) a forma de detec¸c˜ao e (iii) recupera¸c˜ao da rede.

Figura 9: Tratamento de falhas

A observa¸c˜ao da rede ´e utilizada para determinar o ambiente em que o ve´ıculo se encontra. Assim, algumas vari´aveis s˜ao monitoradas, como a densidade de ve´ıculos na regi˜ao. Como mencionado anteriormente, os dispositivos poder˜ao se adaptar a situa¸c˜oes de alta densidade ou de uma rede esparsa. Um outro tipo de informa¸c˜ao que pode ser obtida s˜ao as caracter´ısticas do local, por exemplo, para que o ve´ıculo se adapte ao perfil de uma determinada cidade. Al´em disso, algumas informa¸c˜oes s˜ao obtidas dos ve´ıculos vizinhos, atrav´es dos beacons ou das mensagens de alerta enviadas por eles. Em uma das solu¸c˜oes, os autores de (ABUMANSOOR; BOUKERCHE, 2011) tratam da coopera¸c˜ao com os vizinhos, de forma que se possa verificar a localiza¸c˜ao de um outro ve´ıculo quando suas informa¸c˜oes n˜ao chegarem devido a obst´aculos que impedem a recep¸c˜ao do sinal.

Em rela¸c˜ao `a detec¸c˜ao de situa¸c˜oes que possam levar a problemas, algumas propostas utilizam modelos probabil´ısticos que fazem com que sejam estimadas, por exemplo, as possibilidades de a rede sofrer um ataque. Em (HAMIEH; BEN-OTHMAN; MOKDAD, 2009) os autores utilizam a rela¸c˜ao entre a probabilidade de erro e a correla¸c˜ao entre uma situa¸c˜ao normal e uma situa¸c˜ao de rede sob ataque para determinar se um n´o est´a sofrendo um ataque de nega¸c˜ao de servi¸co (DoS) devido a jamming. O desempenho da rede, que pode ser refletido por vari´aveis como a taxa de perda de pacotes, tamb´em pode ser utilizado para detectar uma situa¸c˜ao em que o funcionamento da rede est´a fora dos padr˜oes normais. Uma outra forma de detec¸c˜ao ´e a verifica¸c˜ao da disponibilidade dos canais de r´adio que podem ser utilizados, de forma a caracterizar situa¸c˜oes de interferˆencia ou congestionamento. Em (FAZIO et al., 2011), o roteamento ´e realizado a partir de informa¸c˜oes relacionadas ao acesso ao meio. Nessa proposta, os v´arios canais de r´adio s˜ao monitorados, permitindo aos n´os verificar aqueles com melhor rela¸c˜ao sinal-ru´ıdo. Essa informa¸c˜ao ´e utilizada como m´etrica para determinar o pr´oximo salto na escolha das rotas. Quanto `a recupera¸c˜ao da rede, a solu¸c˜ao mais frequentemente encontrada ´e a adapta¸c˜ao. Por exemplo, ajustando a potˆencia de transmiss˜ao em raz˜ao da observa¸c˜ao que foi reali- zada quanto `a densidade de ve´ıculos. Atrav´es da adapta¸c˜ao, os dispositivos passam a atuar de acordo com a situa¸c˜ao que foi detectada, de forma a garantir um bom desempenho.

Dessa forma, solu¸c˜oes que buscam adaptar o estado dos dispositivos contribuem para a forma¸c˜ao de uma rede resiliente. A classifica¸c˜ao das propostas em rela¸c˜ao `a resiliˆencia foi realizada de acordo com o seu objetivo ao realizar a adapta¸c˜ao. Assim, de uma forma geral, as solu¸c˜oes s˜ao classificadas em resiliˆencia `a falta de conectividade entre os dispositivos, resiliˆencia a situa¸c˜oes de congestionamento na rede e resiliˆencia a problemas no encaminhamento das mensagens, conforme a taxonomia apresentada na Figura 10.

Resiliˆencia `a falta de conectividade

Nesse tipo de comprometimento, a pr´opria comunica¸c˜ao na camada de acesso `a rede ´e afe- tada. Os dispositivos n˜ao conseguem receber ou processar as mensagens, devido a falhas na rede decorridas de problemas em equipamentos ou a ataques de nega¸c˜ao de servi¸co. A existˆencia de um atacante realizando jamming na rede, como apresentado em (HAMIEH; BEN-OTHMAN; MOKDAD, 2009), ´e uma das causas desse tipo de problema, que pode ocor- rer tamb´em por interferˆencia no sinal de r´adio ou, simplesmente, pela ausˆencia de ve´ıculos nas proximidades. Para cada um desses casos, os dispositivos ir˜ao se adaptar para pro- mover a resiliˆencia. Exemplos desse tipo de proposta s˜ao aquelas em que estrat´egias para redes tolerantes a atrasos (Delay Tolerant Networks – DTN) s˜ao utilizadas, como arma- zenar os dados e os levar at´e que seja poss´ıvel realizar um repasse (store-carry-forward). Em outros casos pode haver uma sele¸c˜ao dos canais de r´adio para evitar interferˆencia ou podem ser utilizados mecanismos de resistˆencia a ataques.

Resiliˆencia a situa¸c˜oes de congestionamento na rede

Nesses casos, apesar de haver conectividade, a taxa de entrega de pacotes ´e muita baixa, devido ao excesso de colis˜oes causado pelo congestionamento na rede. O congestiona- mento, por sua vez, pode ter origem na alta densidade de ve´ıculos que ir˜ao realizar o repasse das mensagens. Dessa forma, ´e necess´ario controlar o acesso ao meio, por exem- plo, atrav´es dos ajustes dos parˆametros da comunica¸c˜ao, como a potˆencia de transmiss˜ao. Uma outra forma de lidar com esse problema ´e regular a forma com que as mensagens em broadcast s˜ao replicadas, adotando uma estrat´egia de repasse adaptada ao que est´a sendo observado na rede (AL-HUMOUD; MACKENZIE, 2013; SANGUESA et al., 2013).

Resiliˆencia a problemas no encaminhamento das mensagens

Nessa situa¸c˜ao, a preocupa¸c˜ao ´e com a impossibilidade do encaminhamento dos pacotes. Mesmo que o tr´afego n˜ao seja do tipo malicioso, situa¸c˜oes de falha em equipamentos, in- terrup¸c˜ao na estrutura da rede ou a inexistˆencia de uma quantidade suficiente de ve´ıculos a quem encaminhar os pacotes podem levar a uma situa¸c˜ao em que a rede fique inope- rante. Para esse tipo de problema, as propostas de solu¸c˜oes tˆem procurado restabelecer a conectividade, buscando uma nova estrat´egia de roteamento, como atrav´es da utiliza¸c˜ao de m´ultiplos caminhos. Ou, ainda, utilizar mecanismos como o uso dos pr´oprios ve´ıculos para funcionar temporariamente como um elemento da rede da infraestrutura que possa estar danificado, de forma a garantir a manuten¸c˜ao dos enlaces de rede. Solu¸c˜oes como as apresentadas em (YAO; KIEN, 2010) ilustram esse tipo de situa¸c˜ao.

Considerando a dissemina¸c˜ao de mensagens, muitas das solu¸c˜oes propostas buscam tornar a rede resiliente `as modifica¸c˜oes no ambiente. Essas solu¸c˜oes, em geral, utilizam algum tipo de adapta¸c˜ao como forma de recupera¸c˜ao diante de um problema. O princ´ıpio

que seguimos neste trabalho ´e o de tornar a entrega de mensagens de seguran¸ca mais confi´avel, o que pode ser alcan¸cado atrav´es da manuten¸c˜ao de uma rede robusta.

Para alcan¸car esse objetivo, utilizamos conceitos de redes resilientes, em que inicial- mente mecanismos s˜ao utilizados para evitar problemas para a rede. Como eventualmente os problemas acontecer˜ao, ´e preciso monitorar as condi¸c˜oes da rede para que sejam de- tectados. Finalmente, estrat´egias de adapta¸c˜ao devem ser utilizadas para permitir o funcionamento da rede, de forma a manter seu desempenho satisfat´orio mesmo diante de situa¸c˜oes desfavor´aveis.

3.3

Resumo

Para lidar com os problemas existentes no ambiente de VANETs, muitas solu¸c˜oes propos- tas utilizam a adapta¸c˜ao ao contexto da rede. Dessa forma, os parˆametros dos dispositivos s˜ao alterados de acordo com as situa¸c˜oes que venham a comprometer o desempenho. Os parˆametros mais utilizados com esse objetivo s˜ao a potˆencia de transmiss˜ao, o tamanho da janela de conten¸c˜ao, a taxa de envio de dados e o esquema de broadcast. As solu¸c˜oes podem atuar sobre apenas um desses parˆametros ou sobre uma combina¸c˜ao deles.

As informa¸c˜oes utilizadas para a tomada de decis˜ao sobre a adapta¸c˜ao s˜ao coletadas a partir de vari´aveis que expressam a situa¸c˜ao da rede, como atraso, pacotes perdidos e tempo de ocupa¸c˜ao do canal. Tamb´em s˜ao utilizadas vari´aveis relativas `a situa¸c˜ao do trˆansito, como a densidade de ve´ıculos e o perfil de determinada regi˜ao. Em muitas situa¸c˜oes ´e necess´ario utilizar informa¸c˜oes de mais de uma camada, fazendo com que uma abordagem do tipo crosslayer seja utilizada. Al´em disso, frameworks foram sugeridos de forma a controlar os elementos utilizados na adapta¸c˜ao.

Diante dos problemas encontrados em redes veiculares e das situa¸c˜oes que podem ocorrer, a dissemina¸c˜ao de mensagens de seguran¸ca de forma robusta torna-se um desafio. Devido `a dinamicidade da rede, ´e necess´ario utilizar solu¸c˜oes que, a partir da observa¸c˜ao da rede e do trˆansito, promovam a adapta¸c˜ao dos dispositivos de forma controlada para que ajustes em uma determinada camada n˜ao venham a comprometer funcionalidades de outra camada. Al´em disso, ajustes realizados localmente n˜ao podem comprometer o bom desempenho de outros n´os participantes da rede. Com esse objetivo, propomos o framework para a gerˆencia da dissemina¸c˜ao adaptativa de mensagens, apresentado no pr´oximo cap´ıtulo.

Cap´ıtulo 4

FRAMEWORK PARA A DISSEMINAC¸ ˜AO

DE MENSAGENS DE SEGURANC¸ A

Este cap´ıtulo apresenta o framework para a gerˆencia da dissemina¸c˜ao de mensagens de seguran¸ca em redes veiculares. O objetivo do framework ´e controlar a forma como a adapta¸c˜ao `as condi¸c˜oes da rede ´e realizada atrav´es de m´odulos atuantes nas v´arias etapas do processo de envio de mensagens em broadcast, com a finalidade de aumentar a sua confiabilidade. Esse controle permite que a adapta¸c˜ao seja realizada de forma a evitar que uma decis˜ao tomada localmente por um dos n´os comprometa a rede de uma forma geral.

A adapta¸c˜ao proposta pelo framework pode ocorrer em diversos momentos do en- caminhamento de mensagens. De acordo com a mensagem recebida e as informa¸c˜oes monitoradas pelo pr´oprio ve´ıculo, decis˜oes ser˜ao tomadas no sentido de ajustar algum parˆametro de comunica¸c˜ao ou decidir pelo repasse da mensagem de seguran¸ca. Para ilus- trar os momentos em que esses ajustes podem acontecer, na Figura 11 mostramos uma vis˜ao simplificada das etapas que comp˜oem a dissemina¸c˜ao de mensagens em broadcast. Quando uma transmiss˜ao ´e realizada, as mensagens devem passar por um momento de conten¸c˜ao devido `a possibilidade de outros n´os tamb´em precisarem transmitir. Por ocasi˜ao da recep¸c˜ao de uma mensagem, ser´a necess´ario decidir pelo seu encaminhamento ou n˜ao. Caso a mensagem deva ser encaminhada, passar´a da mesma forma `a etapa de conten¸c˜ao.

Transmissão Contenção Encaminhamento Recepção !" #" $" %"

Em cada uma das etapas apresentadas na Figura 11 ´e poss´ıvel atuar sobre os dis- positivos, de forma que se adaptem a condi¸c˜oes adversas percebidas no ambiente. Por exemplo, na etapa de Transmiss˜ao (1), a taxa com que as mensagens s˜ao geradas pode ser controlada. Um outro exemplo de ajuste que pode ser realizado nessa etapa ´e sobre a potˆencia de transmiss˜ao, que ir´a determinar o alcance da mensagem. Uma potˆencia maior pode proporcionar um alcance maior, por´em causar´a interferˆencia nos n´os vizinhos. No entanto, caso a potˆencia seja ajustada de acordo com o contexto da rede, poder´a se adequar a situa¸c˜oes de alta e baixa densidade de ve´ıculos.

Na etapa de Recep¸c˜ao (2), o n´o pode ser o destinat´ario da mensagem e esta ser´a tratada pela camada de aplica¸c˜ao. No entanto, caso seja apenas um encaminhador, a mensagem dever´a ser repassada. Nesse caso, as informa¸c˜oes trazidas pela pr´opria men- sagem determinam o comportamento do n´o receptor, que pode verificar se a mensagem deve ser descartada ou se ele deve realizar um reenvio (rebroadcast) da mensagem. Nessa etapa tamb´em s˜ao verificadas a distˆancia ao n´o transmissor e o tempo de expira¸c˜ao da mensagem.

Na etapa de encaminhamento (3), verifica-se se a mesma j´a foi encaminhada antes. Mecanismos de supress˜ao de broadcast tamb´em podem ser utilizados nessa etapa. O objetivo desses mecanismos ´e evitar repassar todas as mensagens. Assim, nessa ocasi˜ao, o repasse pode ser feito de acordo com a distˆancia a que o receptor se encontra da origem ou pode ser utilizada uma probabilidade para a realiza¸c˜ao do repasse.

Na etapa de conten¸c˜ao (4), utiliza-se o mecanismo DCF (Distributed Coordination Function) das redes sem fio do padr˜ao IEEE 802.11. De acordo com o tamanho da janela de conten¸c˜ao, um n´o deve esperar um tempo vari´avel para tentar o acesso ao meio. Como esse mecanismo baseia-se na quantidade de reconhecimentos (ACKs) recebidos, e o envio de mensagens de reconhecimento n˜ao ´e vi´avel com mensagens de broadcast, o tamanho da janela de conten¸c˜ao permanece o mesmo, inviabilizando o controle do tempo de acesso. Portanto, nessa etapa, outros mecanismos devem ser empregados para ajustar o tamanho da janela de conten¸c˜ao.

Como se est´a considerando v´arios tipos de ajuste que podem ser realizados, ´e necess´ario monitorar a aplica¸c˜ao desses ajustes, de forma que a altera¸c˜ao de um parˆametro n˜ao venha a comprometer o desempenho de outra funcionalidade. Al´em disso, o ajuste local realizado por um dos n´os pode trazer preju´ızo ao sistema como um todo. Para que seja poss´ıvel exercer esse controle sobre a adapta¸c˜ao, o framework proposto utiliza informa¸c˜oes contidas na mensagem de seguran¸ca e informa¸c˜oes obtidas com a verifica¸c˜ao do ambiente onde o ve´ıculo se encontra. As informa¸c˜oes sobre o ambiente, que representam o monitoramento das condi¸c˜oes de conectividade, congestionamento da rede e congestionamento do trˆansito, s˜ao mantidas localmente e compartilhadas com os n´os vizinhos.

4.1

Descri¸c˜ao do framework

O compartilhamento das informa¸c˜oes que permitem a atua¸c˜ao dos m´odulos ´e realizado por ocasi˜ao do envio das mensagem de seguran¸ca (beacons ou alertas). Assim, os ve´ıculos podem se aproveitar da verifica¸c˜ao feita al´em do local onde se encontram, de forma a ter uma vis˜ao maior do ambiente de rede. Considera-se, assim, que ser´a necess´aria a utiliza¸c˜ao de campos no cabe¸calho das mensagens para inserir essas informa¸c˜oes. A Figura 12 mostra os campos propostos para o cabe¸calho da mensagem de seguran¸ca.

!"#$ 4( 25 35 2 3 6 &789

4( !)*#$ ("+,-./"0 : ';' (7; ';8 !"*)+,0*#

Figura 12: Formato da mensagem

O campo “Tipo” indica se a mensagem ´e um beacon ou um alerta, necess´ario para determinar se a mensagem precisa ser reencaminhada. Em seguida, um campo ´e utilizado para identificar o ve´ıculo que originou a mensagem. Os campos “X0” e “Y0” fornecem as coordenadas do ve´ıculo que originou o alerta, para que seja poss´ıvel ao receptor determinar se est´a na cobertura da ´area de interesse. Al´em disso, outros dois campos “X” e “Y”s˜ao utilizados para indicar as coordenadas do ve´ıculo que fez o ´ultimo repasse. Essa informa¸c˜ao ´e necess´aria para determinar se o n´o atual deve reenviar a mensagem. O campo seguinte ´e utilizado para indicar a velocidade (“V”) e outro campo identifica a mensagem (“MSG ID”) de forma que um receptor possa reconhecer mensagens duplicadas.

Os campos seguintes,“Tempo”e “Distˆancia”, indicam o tempo de validade e o raio da ´area de interesse. O tempo de validade da mensagem relaciona-se `a aplica¸c˜ao, pois as informa¸c˜oes devem chegar em um tempo que permita a rea¸c˜ao dos condutores dos ve´ıculos. Assim, uma informa¸c˜ao recebida ap´os esse tempo n˜ao ter´a mais nenhuma utili- dade. Tamb´em relacionada `a aplica¸c˜ao, a ´area de interesse da mensagem indica a distˆancia em que deve ser propagada. Uma outra informa¸c˜ao ´e o n´umero de hops (“H”), utilizado para contar quantas vezes a mensagem foi replicada. Esse valor pode ser utilizado para verificar a distˆancia, em n´umero de hops, ao n´o de origem e para limitar o n´umero de replica¸c˜oes.

Al´em dessas informa¸c˜oes, para indicar as situa¸c˜oes relativas `a rede ou ao trˆansito, s˜ao utilizados trˆes flags, associados aos seguintes aspectos: conectividade (“CNC”), densidade de ve´ıculos (“DSN”) e congestionamento da rede (“CNG”). A partir da verifica¸c˜ao desses aspectos, os valores dos flags s˜ao definidos, como descrito na pr´oxima se¸c˜ao. Por fim, o campo “Timestamp ” indica o tempo de envio da mensagem, que servir´a para calcular sua validade na recep¸c˜ao.

Observamos que as informa¸c˜oes utilizadas na mensagem de seguran¸ca s˜ao comuns nas mensagens de seguran¸ca utilizadas em solu¸c˜oes propostas para redes veiculares. In- forma¸c˜oes relacionadas a velocidade e a localiza¸c˜ao, assim como tipo e identifica¸c˜ao, devem

estar presentes na mensagem. Timestamp, tempo e distˆancia tamb´em s˜ao necess´arios para