Вы находитесь на странице: 1из 88

RouteSpray: Um algoritmo de

roteamento de múltiplas cópias


baseado em rotas de trânsito

Maurı́cio José da Silva


Universidade Federal de Ouro Preto

Dissertação submetida ao
Instituto de Ciências Exatas e Biológicas
Universidade Federal de Ouro Preto
para obtenção do tı́tulo de Mestre em Ciência da Computação
2
S586r Silva, Maurício Jose da.
RouteSpray [manuscrito]: um algoritmo de roteamento de multiplas copias
baseado em rotas de trâ / Maurício Jose da Silva. - 2014.
62f.: il.: color; grafs; tabs.

Orientador: Prof. Dr. Ricardo Augusto Rabelo Oliveira.

Dissertação (Mestrado) - Universidade Federal de Ouro Preto. Instituto de


Ciências Exatas e Biológicas. Departamento de Computação. Programa de Pós
Graduação em Ciências da Computação.
Área de Concentração: Ciências da Computação.

1. Engenharia de trafego. 2. Redes veiculares. 3. TCP/IP (Protocolo de rede


de computação). 4. . I. Oliveira, Ricardo Augusto Rabelo. II. Universidade
Federal de Ouro Preto. III. Titulo.

CDU: 004.738.5:625.7

Catalogação: www.sisbin.ufop.br
Dedico este trabalho a Deus e aos meus pais Sandra e Vicente, pessoas de suma
importância em minha vida.

i
ii
RouteSpray: Um algoritmo de roteamento de múltiplas
cópias baseado em rotas de trânsito

Resumo

Redes veiculares são um tipo especial de redes wireless que ganharam a atenção dos
pesquisadores nos últimos anos. Protocolos de roteamento para esse tipo de rede têm
que lidar com diversos desafios como alta mobilidade, altas velocidades e frequentes des-
conexões na rede. Neste artigo é proposto o RouteSpray, um algoritmo de roteamento
veicular que, além de utilizar as rotas dos veı́culos para tomar as decisões de roteamento,
também utiliza a pulverização controlada para encaminhar múltiplas cópias de mensa-
gens, garantindo melhores taxas de entrega sem sobrecarregar a rede. Os resultados
dos experimentos mostram que o RouteSpray entregou 13,12% mensagens a mais do que
outras propostas da literatura e manteve a ocupação do buffer 73,11% menor.

iii
iv
RouteSpray: A Multiple-Copy Routing Algorithm Based
on Transit Routes

Abstract

Vehicular networks represent a special type of wireless network that has gained the
attention of researchers over the past few years. Routing protocols for this type of
network must face several challenges, such as high mobility, high speeds and frequent
network disconnections. This paper proposes a vehicular routing algorithm called Rou-
teSpray that in addition to using vehicular routes to help make routing decisions, uses
controlled spraying to forward multiple copies of messages, thus ensuring better deli-
very rates without overloading the network. The results of experiments performed in
this study indicate that the RouteSpray algorithm delivered 13.12% more messages than
other algorithms reported in the literature. In addition, the RouteSpray algorithm kept
the buffer occupation 73.11% lower.

v
vi
Declaração

Esta dissertação é resultado de meu próprio trabalho, exceto onde referência explı́cita é
feita ao trabalho de outros, e não foi submetida para outra qualificação nesta nem em
outra universidade.

Maurı́cio José da Silva

vii
viii
Agradecimentos

A Deus, por me acompanhar em mais esta caminhada.

A meus pais e a minha namorada, pela paciência e pelo apoio incondicional.

Aos meus irmãos e amigos, pelos conselhos e por ouvir minhas reclamações.

Aos professores, pelos ensinamentos transmitidos.

Ao Ricardo Rabelo, meu orientador.

A UFOP e ao IMobilis, pela infraestrutura.

A Seva e Conselho Nacional de Desenvolvimento Cientı́fico e Tecnológico (CNPq).

A todos que contribuı́ram direta ou indiretamente para a realização deste trabalho.

Muito Obrigado.

ix
x
Sumário

Lista de Figuras xv

Lista de Tabelas xvii

Nomenclatura 1

1 Introdução 3

1.0.1 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.0.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.0.3 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Referencial Teórico 9

2.1 Redes DTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.2 Roteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Redes Veiculares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.2 Caracterı́sticas das redes VANETs . . . . . . . . . . . . . . . . . . 15

2.2.3 Pilha de protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.4 Aplicações para VANET . . . . . . . . . . . . . . . . . . . . . . . 19

xi
2.3 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Trabalhos Relacionados 23

3.1 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Protocolo de Roteamento Route Spray 31

4.1 Algoritmo RouteSpray . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 Utilização de Rotas . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1.2 Binary Spray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 VeNeM - Gerador De Mobilidade Veicular Real 37

5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2 Simulações em Redes Veiculares . . . . . . . . . . . . . . . . . . . . . . . 38

5.2.1 Modelos de mobilidade . . . . . . . . . . . . . . . . . . . . . . . . 38

5.2.2 Evolução dos simuladores . . . . . . . . . . . . . . . . . . . . . . 39

5.2.3 Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.3 Simuladores existentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3.1 BonnMotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3.2 VanetMobiSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3.3 Veins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3.4 Framework de Mobilidade veicular . . . . . . . . . . . . . . . . . 43

5.3.5 VeNeM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6 Resultados e Discussões 49

xii
6.1 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.2.1 Taxa de entrega de mensagens . . . . . . . . . . . . . . . . . . . . 51

6.2.2 Ocupação dos buffers . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.2.3 Quantidade de mensagens enviadas na rede . . . . . . . . . . . . . 53

6.2.4 Atraso médio de entrega das mensagens . . . . . . . . . . . . . . . 54

7 Conclusões 57

7.1 Conclusões e Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . 57

Referências Bibliográficas 59

xiii
xiv
Lista de Figuras

2.1 A camada de agregação. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Contato previsı́vel em uma rede rural. . . . . . . . . . . . . . . . . . . . . 12

3.1 Exemplo do cálculo do NP do destino do pacote. . . . . . . . . . . . . . . 29

4.1 Rotas pré-estabelecidas para três veı́culos. . . . . . . . . . . . . . . . . . 34

5.1 Modelo de um grafo de Voronoi. . . . . . . . . . . . . . . . . . . . . . . . 40

5.2 Framework de Gerenciamento de rede móvel. . . . . . . . . . . . . . . . . 43

5.3 Rota entre a Estação central de metrô – Belo Horizonte e Paróquia de


Nossa Senhora de Fátima – Belo Horizonte (Retirada do Google Maps
em 02/09/2014). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.1 Mensagens entregues na rede. . . . . . . . . . . . . . . . . . . . . . . . . 52

6.2 Ocupação do buffer : comparação entre os três algoritmos . . . . . . . . . 53

6.3 Ocupação do buffer entre os algoritmos que utilizam a técnica de “spray”. 54

6.4 Mensagens enviadas na rede. . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.5 Tempo médio de entrega de mensagens. . . . . . . . . . . . . . . . . . . . 56

xv
xvi
Lista de Tabelas

3.1 Valores estimados de L para uma rede de 100 nós. . . . . . . . . . . . . . 27

5.1 Visão geral das classes de modelos de mobilidade . . . . . . . . . . . . . 41

6.1 Parâmetros utilizados na simulação . . . . . . . . . . . . . . . . . . . . . 50

xvii
xviii
Lista de Algoritmos

4.1 Pseudo-código RouteSpray . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

xix
xx
“”O próximo grande salto evolutivo da humanidade será a descoberta de que cooperar é
melhor que competir””
— Prof. Pietro Ubaldi

xxi
xxii
Nomenclatura

DTN Delay Tolerant Network


IPN Interplanetary Networking
DTNRG Delay Tolerant Network Research Group
STI Sistemas de Transporte Inteligentes
VANET Vehicular Ad Hoc Network
V2V Veı́culo para veı́culo
V2I Veı́culo para infra estrutura
MANET Mobile ad hoc Network
NS Navigation System
DSRC Dedicated Short-Range Communication
BCH Basic Chanell
VTP Veicular Transport Protocol
MCTP Mobile Control Transport Protocol
QoS Qualidade de serviço
VITP Veicular Information Transfer Protocol
EI Estações de Informação
ETA Estimated Time to Arrive
METD Minimum Estimated Time to Delivery
NP Nearest Point

1
2
Capı́tulo 1

Introdução

Em 1923 foi desenvolvida por um policial australiano uma forma de comunicação bidi-
recional entre carros (?). Essa técnica foi aprimorada com a segunda guerra mundial,
facilitando a comunicação entre as tropas. Com o avanço da tecnologia, os equipamen-
tos de rádio se tornaram mais comuns em carros, atualmente os veı́culos são sistemas
interligados possibilitando o seu monitoramento, controle e gerenciamento.

Com o grande aumento da frota de veı́culos presentes nas rodovias, surgiu a necessi-
dade de comunicação entre eles, com isto, primeiramente surgiram os semáforos, depois
dispositivos que indicavam direção nos veı́culos. Grande parte dessa comunicação ge-
ralmente está presente nas rodovias, e é compartilhado entre todos os veı́culos. Com
a constante evolução das redes móveis, e com a possibilidade de trocar informações a
qualquer momento e a qualquer hora possibilitando uma grande variedade de aplicações
em redes veiculares, este cenário mudou. Atualmente redes veiculares constituem objeto
de pesquisa em ascendência, o que fez com que esse tipo de rede ganhasse a atenção dos
pesquisadores nos últimos anos.

Redes veiculares possuem diversas aplicação, e podem oferecer, a partir dos Sistemas
de Transporte Inteligentes (ITS), serviços como: (i) assistência ao motorista, auxiliando-
o durante seu trajeto informando-o sobre condições do trânsito, pontos de interesse
(abastecimento, alimentação, etc); (ii) disseminação de informações, propagando para
regiões geográficas especificas informações sobre acidentes e propagandas, por exem-
plo; e (iii) entretenimento, permitindo aos passageiros de um veı́culo uma viagem mais
agradável (Taysi & Yavuz 2012).

3
4 Introdução

1.0.1 Justificativa

Redes wireless são redes cujo meio fı́sico de comunicação é o ar, ou seja, não há a
necessidade de fios para conectar dois ou mais nós permitindo que se comuniquem. Redes
veiculares constituem um tipo especial de redes wireless, com alguns desafios a serem
enfrentados. Em redes wireless, geralmente os nós são conectados a partir de um Ponto
de Acesso, e esse ponto de acesso é responsável por rotear e entregar a mensagem para
o nós de destino. Implantar uma infra estrutura as margens da rodovia para permitir
tal topologia teria um alto custo, o que faz com que surja a necessidade de formação de
uma rede completamente ad hoc (rede entre os nós).

Apesar de redes VANETs serem um subtipo de redes wireless, elas possuem suas
próprias caracterı́sticas, como exemplo podemos citar a alta mobilidade dos veı́culos, que
provoca frequentes desconexões entre os nós da rede. Como impacto, tal caracterı́stica
particiona a rede e impossibilita a utilização dos protocolos de roteamento feitos para
redes ad hoc. Isso, porque os algoritmo projetados para serem aplicados a redes ad
hoc assumem a existência de um caminho fim a fim antes de iniciar a transmissão de
dados, o que pode nunca acontecer em uma rede veicular. Para resolver tal problema, os
algoritmos de roteamento para VANETs utilizam a técnica de store-carry-and-foward,
que faz com que mensagem seja armazenada em cada nó até que ela atinja o destino.

Porém, algumas caracterı́sticas das redes VANETs podem ser utilizadas para au-
xiliar no roteamento, como por exemplo, padrões de mobilidade limitados pelas rodo-
vias, tendência dos veı́culos se locomoverem em grupos e a integração de sensores aos
veı́culos (Toor, Muhlethaler & Laouiti 2008) (Li & Wang 2007). Os padrões de mo-
bilidade limitados pelas rodovias permitem que os algoritmos de roteamento consigam
prever, mesmo que com uma margem de erro, as possı́vel direções que os veı́culos irão
seguir, e tal caracterı́stica pode ser utilizada para aprimorar o processo de roteamento.
Já a tendência dos veı́culos se locomoverem em grupos auxilia por aumentar a área
de alcance de uma mensagem. Mesmo que por um tempo imprevisto e possivelmente
pequeno, o fato dos veı́culos se moverem em uma mesma direção e com velocidades
constantes faz com que sejam formados pequenos clusters em que todos os nós estejam
conectados entre si. Essa caracterı́stica abre um campo de pesquisa relacionado com
roteamento baseados em clusters (Luo, Zhang & Hu 2010), que não constituem objetos
de estudo dessa dissertação. Por fim, outra caracterı́stica que beneficia o roteamento é
a integração de sensores aos veı́culos. A cada dia se torna mais comum veı́culos serem
fabricados com sensores que aprimoram a experiência com o usuários, os dados destes
Introdução 5

sensores podem ser utilizados para aferir informações que podem auxiliar na tomada de
decisões a até mesmo no roteamento. Como exemplo, os sensores de temperatura dos
veı́culos podem ser utilizados para aferir com alta precisão a temperatura média de uma
determinada região. Ou utilizando o sensor de combustı́vel o algoritmo pode calcular
uma rota de forma que o veı́culo passe próximo a um posto antes que o combustı́vel
termine. Enfim, uma grande variedade de aplicações surgirão nos próximos anos.

Existem vários algoritmos de roteamento propostos para VANETs, mas os recentes


avanços tecnológicos e sua popularização como aconteceu com o GPS, por exemplo,
abriram a possibilidade de propor protocolos ainda mais eficientes. Isso, porque um dos
maiores desafio em rotear uma mensagem por uma rede dinâmica, e prever a mobilidade
do nó de forma que a mensagem seja propagada em direção ao destino, ou ela poderá se
perder e nunca será entregue. Se veı́culos possuem informações de localização, explorá-las
para aprimorar o processo de roteamento tem se tornado uma das principais premissas
entre as novas propostas de roteamento. Por esse motivo tornou-se objeto principal de
pesquisa desse estudo.

1.0.2 Objetivos

Vários protocolos que objetivam realizar o roteamento em redes VANETs têm sido apre-
sentados. A principal diferença entre esses protocolos são as informações que eles con-
sideram para realizar o roteamento (histórico de contato entre os nós, informações de
localização, etc) e a estratégia que utilizam para encaminhar a mensagem (número de
réplicas geradas por mensagem). Contudo, existe um consenso entre a comunidade ci-
entı́fica de que não existe um protocolo de roteamento ideal para todos os cenários. O
protocolo RouteSpray tem o objetivo de ser aplicado em cenários onde tem-se conhe-
cimento prévio das rotas dos veı́culos, caracterı́stica que tornou-se comum nos dias de
hoje devido à popularização dos dispositivos de navegação, principalmente se considerar-
mos frotas com mobilidade controlada, como ônibus, caminhões e táxis. Tal protocolo
foi projetado para utilizar as rotas dos veı́culos para tomar as decisões de roteamento,
sendo essa a única premissa exigida.

1.0.3 Contribuições

Neste estudo é proposto o algoritmo RouteSpray. Tal algoritmo combina quatro concei-
tos importantes para tomar as decisões de roteamento, sendo: (i) utilização da técnica de
6 Introdução

store-carry-and-forward (Zhao & Cao 2008) para rotear as mensagens; (ii) transmissão
das mensagens baseando-se em contato direto (Spyropoulos, Psounis & Raghavendra
2008a); (iii) utilização das rotas dos veı́culos para auxiliar no roteamento (Leontiadis
& Mascolo 2007), considerando-se que os veı́culos são esquipados com GPS e (iv) uti-
lização da técnica de pulverização controlada de mensagens (Spyropoulos, Psounis &
Raghavendra 2008b). Tendo em mente que todas as técnicas citadas acima são estu-
dada pela literatura com o objetivo de melhorar o processo de roteamento, as principais
contribuições do RouteSpray são:

• Combinar a técnica de pulverização controlada com a utilização de rotas para


melhorar o processo de roteamento, campo de estudo em aberto e pouco explorado
pela comunidade cientı́fica;

• Explorar o roteamento geográfico para destinos móveis.

• Oferecer um estudo comparativo e uma análise de desempenho entre as técnicas de


pulverização controlada, roteamento de uma única cópia, e inundação de mensa-
gens. Utilizadas juntamente com informações das rotas doa veı́culos para melhorar
o processo de roteamento.

Os resultados e contribuições deste estudo resultaram em uma publicação em Periódico:

• DA SILVA, MAURÍCIO JOSÉ ; TEIXEIRA, FERNANDO ; OLIVEIRA, RI-


CARDO AUGUSTO RABELO . RouteSpray: A multiple-copy routing algorithm
based on transit routes. Journal of Applied Computing Research, v. 3, p. 11-18,
2013. (Qualis B5)

e duas publicações em Anais de Congresso:

• SILVA, M. J. ; SILVA, S. E. D. ; TEIXEIRA, F. A. ; OLIVEIRA, R. A. R. .


Combining the Spray Technique with Routes to Improve the Routing Process in
VANETS. In: 16th International Conference on Enterprise Information Systems,
2014, Lisbon. Proceedings of the 16th International Conference on Enterprise
Information Systems. p. 583-590. (Qualis B1)

• SILVA, M. J. ; TEIXEIRA, F. A. ; OLIVEIRA, R. A. R. . RouteSpray: Um


algoritmo de roteamento de múltiplas cópias baseado em rotas de trânsito.. In:
Introdução 7

SBCUP - V Simpósio Brasileiro de Computação Ubı́qua e Pervasiva, 2013, Maceió.


SBCUP - V Simpósio Brasileiro de Computação Ubı́qua e Pervasiva, 2013. (Qualis
B5)
8
Capı́tulo 2

Referencial Teórico

Redes veiculares constituem o principal foco de estudo desta dissertação. Porém, para
que seja possı́vel a compreensão de nossa proposta, antes precisamos revisar alguns con-
ceitos. Este capı́tulo está dividido em duas Seções: na primeira é apresentado os prin-
cipais desafios encontrados em redes DTN, abordando sua arquitetura e as limitações
enfrentadas por algoritmos de roteamento desenvolvidos para esse tipo de rede. Adici-
onalmente entenderemos como esse tipo de rede está relacionado com redes veiculares.
Por fim, na segunda Seção são apresentados os conceitos relacionados às redes veiculares.

2.1 Redes DTN

Desde seu surgimento, a arquitetura TCP/IP se tornou um modelo de comunicação de


sucesso na internet. A arquitetura foi construı́da utilizando um modelo em camadas,
onde, em cada camada, é definido um conjunto de tarefas que fornecem serviços bem
definidos para a camada de nı́vel superior. Tal caracterı́stica garante a interoperabili-
dade, que é a capacidade de dois sistemas conversarem de forma transparente, sejam
eles semelhantes ou não. Talvez este seja o grande motivo de sucesso da arquitetura
TCP/IP.

Porém, para que seja possı́vel a transmissão de dados em redes TCP/IP, é necessário
que as duas pontas estejam conectadas. Somente depois de estabelecida a conexão entre
os dóis nós o protocolo TCP inicia a transmissão de dados. Isso acontece porque o TCP é
um protocolo confiável, ou seja, ele exige que haja confirmação de entrega de cada pacote
enviado. Caracterı́stica inclusive que impacta em dois outros fatores, a exigência de

9
10 Referencial Teórico

baixas taxas de erro e de pequenos atrasos na entrega da mensagem (Tanenbaum 2003).

Porém as caracterı́sticas exigidas para que haja comunicação em redes de protocolos


TCP/IP não são atendidas em todos os tipos redes (Fall 2003), como por exemplo: (i)
redes militares, onde a concentração dos pontos de comunicação facilita ação inimiga, o
que exige que os nós dessa rede sejam móveis, além da necessidade de prever que podem
ser destruı́dos a qualquer momento; ou (ii) redes interplanetárias, onde o contato entre
os nós da rede (planetas e satélites) podem ser programados, uma vez que temos conhe-
cimento prévio das órbitas de seus elementos e do tempo de propagação da mensagem
no espaço; ou ainda, (iii) redes de sensores, onde os elementos da rede possuem grandes
restrições de recursos, e geralmente permanecem desligados grande parte do tempo com
o objetivo de poupar energia. Além destes, existem diversos outros tipos de rede onde
grandes atrasos de propagação de mensagem e falta da existência de um caminho fim
a fim tornam-se problemas a serem enfrentados. Essas caracterı́sticas deram origem a
um novo tipo de rede, que ficou conhecido como redes DTN (Delay Tolerant Network )
() (Cerf, Burleigh, Hooke, Torgerson, Durst, Scott, Fall, Travis & Weiss 2002) (Cerf,
Burleigh, Hooke, Torgerson, Durst, Scott, Fall & Weiss 2007) .

2.1.1 Arquitetura

A arquitetura DTN surgiu durante o desenvolvimento do projeto de Internet Interpla-


netária (IPN) 1 , e tinha como objetivo criar uma rede capaz de integrar a rede TCP/IP
com uma rede interplanetária. Rede interplanetária é caracterizada por não existir um
caminho fim a fim durante todo o tempo. Para que isso aconteça é necessário que os as-
tros esteja alinhados, o que pode provocar um grande atraso na entrega das mensagens.
Com isso, surge a necessidade de criação de uma técnica para armazenar a mensagem a
cada salto, e aguardar a oportunidade de contato para transmiti-la para o próximo nó,
esse processo é repetido até que a mensagem alcance o destino. Observou-se que essas
caracterı́sticas estão presentes em diversos tipos de redes terrestres, e os esforços foram
estendidos com a criação de um grupo de pesquisa chamado DTNRG (Delay Tolerant
Network Research Group) 2 . O grupo DTNRG surge com o como objetivo estudar e criar
padrões de protocolos que permitam a comunicação nesse tipo de rede (Oliveira 2007).

A arquitetura DTN prevê a utilização de uma camada de persistência de dados.


A essa camada deu-se o nome de Camada de Agregação (Scott & Burleigh 2007) e
1
Disponı́vel em: http://ipnpr.jpl.nasa.gov/index.cfm
2
Disponı́vel em: http://www.dtnrg.org/wiki/Home
Referencial Teórico 11

ela fica situada acima da Camada de Transporte e abaixo da Camada de Aplicação,


como podemos ver na Figura 2.1. Dessa forma, é possı́vel manter a interoperabilidade
com qualquer tipo de rede, permitindo a integração de uma rede DTN com as redes já
existentes, sejam redes TCP/IP ou não. Cada nó da rede é conhecido como nó DTN, e
ele pode ser um host, um roteador ou um gateway (ou uma combinação), e agir como a
origem, o destino ou um encaminhador do agregado.

Figura 2.1: A camada de agregação.

Em redes DTN os nós são alcançáveis durante todo o tempo, por esse motivo, o
contato e a transferência de dados acontecem em situações favoráveis (Voyiatzis 2012).
Dependendo das caracterı́sticas da rede DTN, algumas possibilidades de contato po-
dem ser exploradas, sendo elas: contatos persistentes, contatos sob demanda, contatos
programados, contatos previsı́veis e contatos oportunistas. Contatos persistentes são
contatos que sempre estão ativos, ou seja, nunca ficam indisponı́veis. Já os contatos
sob demanda, são contatos que, em um primeiro momento, não existem, mas que uma
vez estabelecidos permanecem ativos até o final da sessão. Contatos programados são
contatos em que o horário e a duração do contato é conhecida, muito comum em redes de
sensores por exemplo, onde os nós da rede permanecem desligados para poupar energia,
e em determinado momento ficam ativos para coletar e trocar informações com os demais
nós da rede. Muito parecido com os contatos programados, mas com um certo grau de
imprecisão, são os contatos previsı́veis. Neste tipo de contato os nós conseguem prever o
momento do próximo contato. Para isso, eles utilizam informações sobre as ocorrências
de contatos anteriores, porém, essa premissa pode provocar grandes taxas de erro. Po-
demos ter como exemplo as redes rurais Figura 2.2, onde os ônibus trafegam entre um
12 Referencial Teórico

centro urbano, potencialmente conectado a internet, e uma área rural. O ônibus tem o
papel do agente que transporta dados entre as duas regiões, permitindo que informações
cheguem ate a área rural. Obviamente, todo ônibus tem horários pré-definidos, o que
permite com que seja estabelecido um contato programado com algum outro nó DTN.
Por outro lado, pode acontecer algum imprevisto que faça com o que o ônibus chegue ao
seu destino atrasado, e com isso a oportunidade de contato será perdida comprometendo
a comunicação entre as duas regiões.

Figura 2.2: Contato previsı́vel em uma rede rural.

Por fim, temos o contato oportunista. O contato oportunista acontece quando o nós
não têm nenhuma informação sobre os demais nós da rede, caracterı́stica comum em
redes móveis, pois cada nó tem sua mobilidade de forma independente. Nessa forma
de contato um nó DTN aproveita que o outro entrou em sua área de transmissão e o
entrega a mensagem, encarregando-o de encaminhar a mensagem até o destino. Essa é a
forma de contato mais utilizada pelos algoritmos de roteamento para redes móveis, que
combinada com alguma polı́tica de encaminhamento de mensagem, como por exemplo,
o nó que viaja em direção ao destino, ou o nó que tem histórico de encontros anteriores
com o destino, têm constituı́do boas técnicas de roteamento.

2.1.2 Roteamento

Um dos maiores desafios das redes DTN é realizar o roteamento das mensagens. Isso
porque nesse tipo de rede os contatos são imprevisı́veis, ou pior ainda, pode ser que
nunca seja estabelecido um caminho entre a origem e o destino. Para contornar esses
problemas, algoritmos de roteamento para redes DTN confiam na mobilidade dos nós
para entregar a mensagem para o destino, e adotam alguma polı́tica de encaminhamento
Referencial Teórico 13

de mensagem para aumentar as chances da mensagem ser entregue. Alguns algoritmos


de roteamento geram réplicas da mensagem durante o processo de roteamento, fazendo
com que em um determinado instante existam várias cópias da mensagem em pontos
distintos da rede. Apesar de tal técnica aumentar a probabilidade da mensagem ser
entregue, ela tem suas limitações. Uma boa polı́tica de roteamento pode diminuir o
número de mensagens na rede ou até mesmo o tempo que as mensagens gastam para
atingir seus destinos. Algumas das principais técnicas de roteamento são:

• Contato Direto: Nessa técnica o nó de origem A entrega a mensagem para um


outro nó DTN B, que passará a ser o novo custódio da mensagem, se B for um
contato direto do nó de destino C. Ou seja, B não entregará a mensagem para
nenhum outro nó na rede, senão C, que é o destino da mensagem. Essa técnica
de roteamento geralmente é utilizada em algoritmos de uma única cópia, o que
significa que em qualquer instante existe somente uma cópia da mensagem na
rede. Geralmente a mobilidade dos nós da rede é a principal responsável pelo
sucesso na entrega.

• Primeiro Contato: O Nó de origem A envia a mensagem para o primeiro nó DTN
B que vier a estabelecer contato. O nó B por sua vez encaminha a mensagem
para o primeiro no C que vier estabelecer contato, esse processo se repete até que
a mensagem alcance o destino.

• Epidêmico: Essa técnica não exige nenhum conhecimento prévio sobre a rede, o que
a torna uma das principais técnicas de roteamento. Consistem em gerar réplicas
da mensagem a cada contato e espalhar a mensagem para todos os nós da rede.
Apesar dessa técnica ter os melhores resultados quanto ao número de mensagens
entregues e ao tempo que a mensagem demora para chegar ao destino, ela provoca
grandes degradações da rede. Como as mensagens são pulverizadas para todos os
nós, é preciso adotar alguma polı́tica de descarte de mensagens, permitindo que
mensagens que já foram entregues seja descartadas. Essa técnica de roteamento
consiste objeto de estudo dessa dissertação, e será explorado de forma detalhada
a frente.

• Probabilı́stico: Nos contatos previsı́veis, apesar do momento exato do estabeleci-


mento de cada contato entre dois nós da rede ser desconhecido, existe uma previsão
do intervalo dentro do qual cada contato poderá acontecer. É estabelecida uma
probabilidade de ocorrência de cada contato baseada em ocorrências de contatos
14 Referencial Teórico

anteriores. A imprecisão dessa técnica faz com que ela tenha seu desempenho
comprometido, uma vez que o contato pode não acontecer.

Como vimos, redes DTN foram projetadas para serem aplicadas em ambientes consi-
derados desafiadores. Ou seja, ambientes em que as condições ideais de transmissão não
são atendidas. Vários tipos de redes são considerados desafiadores, dentre eles estão as
redes veiculares. Várias caracterı́sticas tornam este tipo de rede uma rede de desafios à
qual os conceitos de redes DTN podem ser aplicados. Essa caracterı́sticas são melhores
explicadas na Seção a seguir.

2.2 Redes Veiculares

2.2.1 Introdução

A crescente evolução dos dispositivos de comunicação têm nos permitido conectar carros
entre si ou a uma rede de infraestrutura. Com isso, surgiram os Sistemas de Transporte
Inteligentes (STI), cujo objetivo é tornar a viagem mais eficiente, mais segura e mais
divertida. Por eficiência, entende-se redução de congestionamento e poluição, melhorias
no sistema de transporte público, rotas menores e mais rápidas, menores custos de via-
gem e manutenção de veı́culos e estradas. Mais segurança significa oferecer informações
sobre acidentes, congestionamentos, condições da estrada e do clima, pontos de parada e
de interesse (restaurantes, postos de gasolina, etc). Para tornar a viagem mais divertida
os SITs podem, por exemplo, fornecer acesso a internet, download de arquivos, chats e
informações sobre pontos turı́sticos.

Um componente importante dos STIs sãos as VANETs. VANETs são um tipo espe-
cial de MANETS (Mobile Ad Hoc Network ) voltado para veı́culos. Com a implantação
de dispositivos de comunicação sem fio nos veı́culos, será possı́vel a comunicação até
mesmo onde não se tem outros tipos de estrutura, como telefonia móvel por exem-
plo. Atualmente, muitos veı́culos já são fabricados com equipamentos de comunicação,
computadores de bordo, equipamentos de navegação, e estes equipamentos podem ser
utilizados para auxiliar o motorista na tomada de decisões. Órgãos interessados neste
cenário estão em busca de normalizações para desenvolver padrões.

Além das classificações apresentadas na Seção ??, VANETs também podem ser clas-
sificadas quanto a sua extensão geográfica, sendo pequenas áreas ou grandes áreas de
Referencial Teórico 15

cobertura. Em termos gerais ela se apoia em duas categorias: assistência ao condutor e


disseminação de informação. Outro fator importante é a qualidade de serviço exigida,
que vai depender da necessidade das aplicações podendo ser onde os dados não precisam
ser transmitidos em tempo real, onde os dados precisam ser transmitidos em tempo real
e onde uma falha ou atraso na transmissão pode causar sérios problemas.

2.2.2 Caracterı́sticas das redes VANETs

VANETs e MANETs possuem muitas caracterı́sticas em comum: ambas têm padrões


de mobilidade semelhantes, são auto gerenciáveis e se auto organizam. Porém, existem
algumas diferenças que faz com que seja inviável a utilização dos conceitos de redes
MANETs em redes VANETs. Como por exemplo, em redes VANETs os dispositivos
não possuem restrições de energia, a mobilidade é limitada por rodovias, porém pre-
visı́vel, e sofrem grandes variação de conexões em pouco intervalo de tempo. Algumas
caracterı́sticas serão estudadas a seguir:

• Processamento, capacidade de comunicação, sensoreamento e energia: Em uma


MANET processamento, capacidade de comunicação, sensoriamento e energia são
limitados. Em uma VANET é diferente, veı́culos podem possuir computadores com
grande capacidade de processamento, várias interface de comunicação, sensores de
todos os tipos e pode fornecer energia de forma continua. Além de ainda poder se
comunicar com outros veı́culos com a finalidade de distribuir algum processamento.

• Ambiente, modelo de mobilidade e conectividade: Ambientes influenciam direta-


mente no tipo de comunicação, edifı́cios pequenos ou grandes, rodovias, podem
alterar a qualidade da comunicação. Outro fator importante, é que no caso de
VANET, a mobilidade está diretamente ligada a forma com que o veı́culo é condu-
zido. Ou seja, a velocidade do veı́culo altera a topologia da rede de forma rápida,
além disso, ainda há a existência de interferência de comunicação provocada por
obstáculos que podem entrar no entre dois dispositivos, como caminhões e pontes,
por exemplo.

• Padrão de mobilidade: Outro fator importante e que tem que ser levado em conta
são as restrições espaço temporal, principalmente em redes V2V. Pois, neste cenário
temos um padrão de mobilidade muito heterogêneo, carros e caminhões não tem
uma mobilidade previsı́vel, enquanto bondes elétricos tem uma velocidade contro-
lada e um padrão na mobilidade.
16 Referencial Teórico

• Tipos de comunicação: Uma das principais aplicações de redes VANET é para


prevenção e segurança nas rodovias, para esse tipo de comunicação geralmente
utilizam-se mensagens multicast. Ou seja, as mensagens são destinadas somente
aos veı́culos que estiverem perto da rodovia, aos quais a mensagem é interessante.

• Armazenando informações: Diversas aplicações distribuı́das exigem abordagens


para armazenar e distribuir as informações. Porém em VANETs, devido a alta
mobilidade, conexões intermitentes e heterogeneidade dos dispositivos, distribuir
estas informações é uma tarefa complexa. Para isto, a maioria da aplicações VA-
NETs utilizam algoritmos epidêmicos para produzir e distribuir informações entre
os nós vizinhos.

2.2.3 Pilha de protocolos

Pilha de protocolo têm que lidar com diversos desafios, considerando veı́culos próximos
e equipamentos fixos na rodovia. Faremos um estudo sobre cada camada da pilha de
protocolo.

Camada Fı́sica

Os protocolos da camada fı́sica tem que considerar os efeitos gerados pela movimentação
dos nós, como o Efeito Doppler e Desvanecimento múltiplo.

Redes V2V experimentais tem utilizado ondas de rádio com frequência alta. Isto,
porque ondas de banda VHF permitem conexões a longa distância, mas somente a baixas
velocidades. DSRC (Dedicated Short-Range Communication) é uma faixa de frequência
de médio e curso alcance que tem sido aplicado em redes VANETs. Essa banda opera na
faixa de 5.9GHz, com variações em diversos paı́ses, e permite comunicação entre veı́culos
com velocidade de até 200 km/h, em uma faixa de distância de 300m a 1km, chegando
a uma taxa de transferência de dados que varia de 6Mbps a 27Mbps. A banda DSRC é
divida em 7 canais de comunicação, onde 1 deles é dedicado a transmissão de informações
de segurança e outros 6 a transmissão de dados. As mensagem transmitidas pela banda
tem diferentes prioridades, onde as mensagem de segurança tem alta prioridade e as de
dados tem baixa prioridade.
Referencial Teórico 17

Camada MAC

A camada MAC tem que oferecer acesso ao canal de forma integra, eficiente e confiável.
Os protocolos da camada MAC tem que levar em consideração os tipos de aplicações
que podem existir. Tem que oferecer uma conexão confiável e com pouca latência para
aplicações de segurança por exemplo, e prever grandes taxas de transmissão de dados
mesmo em momentos em que o cenário não é o ideal, pensando em aplicações de mul-
timı́dia.

O protocolo IEEE 802.11p WAVE surgiu a partir de alterações no conjunto de pro-


tocolos do padrão 802.11. O objetivo do IEEE 802.11p WAVE é atender os requisitos
apresentados em redes V2V e V2I, onde baixa latência e confiabilidade são extremamente
importantes. Por exemplo, é desejável que veı́culos sejam fabricados com sensores inte-
grados que sejam capazes de enviar informações, em meio segundo, com todos os veı́culos
equipados que estejam em um raio de 500m. WAVE utiliza CSMA/CA como técnica de
acesso ao meio para compartilhamento de link.

Em ADHOC MAC propõe o uso do RR-ALOHA (Reliable Reservation ALOHA) que


cria uma canal de transmissão confiável BCH (Basic Chanell ) onde cada canal transporta
informações de sinalização para resolver problemas de sombra e garantir uma conexão
confiável, permitindo a inclusão de novos dispositivos a rede. O principal problema é
que o número de veı́culos que conseguem se conectar está limitado ao número de slots
de tempo que se consegue a partir de um espaço de tempo.

Levando em consideração que carros são restritos a regras de direção, surge a pos-
sibilidade de utilização de antenas direcionais para aprimorar a transmissão entre os
veı́culos. Visto que, quando temos tráfego de dados é direcional, a interferência de da-
dos e o número de colisões é reduzido. Com base nesse cenário surgiu a proposta de
um protocolo direcional para a camanda MAC, o D-MAC (Diretional MAC ). D-MAC
propõem dois esquemas semelhantes ao protocolo 802.11 em alguns aspectos. Um pa-
cote ACK é enviado logo depois dos dados, se um terminal identifica uma transmissão
que não o pertence ele não participa dela. D-MAC pode utilizar somente frames RTS
direcionais, quanto pode utilizar uma combinação entre frames RTS direcionais e frames
RTS omnidirecionais. Em resumo, seu princı́pio básico é que se a comunicação estiver
bloqueada para um terminal, ele poderá se comunicar com algum outro ao qual não
esteja bloqueado. Com isto, diminui-se as colisões a aumenta a reutilização de canal.
18 Referencial Teórico

Camada de Rede

Duas estratégia básicas comumente utilizadas em redes wireless multiponto para rotea-
mento são protocolos baseados na topologia e protocolos baseados na posição. Protoco-
los baseados na topologia utilizam informações dos caminhos de transmissão, guardando
uma tabela de roteamento em cada nó da rede. Esta topologia pode ser divida em duas,
sendo: proativa ou reativa. Protocolos Baseados na posição assumem que o destino, os
nós vizinhos e a origem são conhecidos, e podem ser divididos entre: tolerantes a atrasos
(DTN), não tolerantes a atrasos (Non-DTN) e hı́bridos.

Em princı́pio, poderia-se aplicar os protocolos de roteamento AODV (Perkins &


Royer 1999) e DSR (Johnson & Maltz 1996) pra VANETs, porém, a alta velocidade
e as rápidas desconexões fazem com estes protocolos percam muito desempenho. Por
outro lado, os protocolos baseados em posição têm demonstrado ser boas propostas para
VANETs, pois são mais robustos e promissores para ambiente altamente dinâmicos.
Além disso, eles não mantêm informações de estado, o que os diferencia dos protocolos
baseados na topologia.

GPSR (Karp & Kung 2000) é um conhecido protocolo de roteamento baseado em


posição para MANETs, porém ele não tem bom desempenho em redes veiculares. GPCR
(Lochert, Mauve, Fussler & Hartenstein 2005) e GPSRJ+ (Lee, Haerri, Lee & Gerla
2007) são protocolos baseados em posição com base no GPSR que foram aprimorados
para resolver o problema de rotas em redes veiculares. D-Greedy/D-MinCost (Skordylis
& Trigoni 2008) e VADD (Zhao & Cao 2008) são também protocolos baseados em posição
aprimorados sob o GPSR para descoberta de rotas em redes veiculares. Basicamente,
eles decidem se devem transmitir o pacote ou aguardar por até que um nó melhor de en-
caminhamento seja encontrado. No entanto estes protocolos não consideram informações
importantes, como congestionamento de tráfego. A-Start (Seet, Liu, Lee, Foh, Wong &
Lee 2004) e CAR (Naumov & Gross 2007) fazem entrega de pacotes de forma efici-
ente considerando congestionamento de tráfego, ambos são otimizados para lidar com
problema de conectividade, porém não são projetados para trabalhar com aplicações
sensı́veis a atraso. PROMPT (Jarupan & Ekici 2010) é um protocolo de comunicação de
cruzamento de camadas baseado em posição consistente a atraso que melhora a conexão
fim a fim utilizando mensagens geradas por veı́culos enquanto propagam informações de
sinal (estado da rede).

O desempenho de protocolos de roteamento depende de diferentes fatores, tais como


modelo de mobilidade veicular, a divulgação de dados, o tráfego de dados e layouts de
Referencial Teórico 19

estrada. Disseminação de dados pode melhorar significativamente a taxa de entrega de


dados se, por exemplo, buffers de dados estão localizados nas interseções das estradas.

Camada de transporte

Como mencionado, redes veiculares são caracterizadas por frequentes desconexões e mu-
danças rápidas de topologia. Em contraste com outras redes móveis, porém, também
tem um padrão de mobilidade. As frequentes desconexões faz com que os protocolos
TCP e UDP não seja uma boa opção. Muitas das aplicações unicast requerem serviços
confiáveis para entrega de dados, semelhante ao TCP, para isto o protocolo VTP (Vei-
cular Transport Protocol ) (Schmilz, Leiggener, Festag, Eggert & Effelsberg 2006) utiliza
dados estatı́sticos para melhorar o desempenho quando uma conexão é interrompida,
garantindo certa confiabilidade para aplicações unicast. MCTP (Mobile Control Trans-
port Protocol ) seus princı́pios são baseados em protocolos TCP para redes ad hoc, mas
é aprimorado para oferecer QoS em comunicação fim-a-fim entre veı́culos e hosts na
internet através de uma infraestrutura rodoviária.

Estes protocolos para VANETs são baseados em aplicações unicast, porém muitas
aplicações veiculares são multicast, e a projeção de um protocolo para este fim é um
desafio.

Camada de aplicação

Os protocolos na camada de aplicação devem prever uma pequeno atraso fim a fim,
isto, para garantir que um motorista seja notificado a tempo sobre eventos recentes
na rodovia. Outras aplicações também podem ser previstas na camada de aplicação,
como protocolos para aplicações de multimı́dia, de marketing e de venda de produtos.
VITP (Veicular Information Transfer Protocol ) é um protocolo da camada de aplicação
projetado para suportar o estabelecimento de um infraestrutura de serviços distribuı́dos
sobre redes ad hoc, semelhante ao HTTP.

2.2.4 Aplicações para VANET

Eficiência e segurança são os dois fatores que movem as redes veiculares, porém, eles
não são completamente distintos, muito pelo contrário, estão diretamente ligados. Por
20 Referencial Teórico

exemplo, quando acontecer um acidente em uma rodovia, mensagens podem ser enviadas
para os veı́culos mais próximos, ajudando os motoristas na tomada de decisão, ou ainda,
para aumentar a eficiência, estas mensagens podem se propagar pela vias alternativas,
informando aos veı́culos que pretendem passar pelo local do acidente do ocorrido e
sugerindo caminhos alternativos, para aliviar o trânsito no local.

Discutiremos a seguir domı́nios de aplicativos para redes veiculares, que são divididos
em assistência ao motorista e disseminação de informação.

Requisitos básicos

Redes veiculares vem surgindo para tornar o transporte mais seguro e eficiente, e isto só
é possı́vel através de dois requisitos, que são coleta de dados e comunicação de dados.

Aplicações VANETs irão monitorar condições dos veı́culos, estradas, trânsito e am-
biente. Estas informações serão utilizadas para auxiliar o motorista a trafegar com mais
segurança. Além disso, uma rede veicular pode ser uma boa opção para monitoramento
urbano, o fato do número de veı́culos dentro da cidade ser mais denso, e dos sensores de
bordo estarem cada vez mais presentes, possibilitará a utilização desta rede para moni-
torar as condições ambientais e atividades sociais, tornando-as assim um grande aliado
para detecção urbana.

Veı́culos podem receber poderosas unidades de processamento, sensores de diversos


tipos, câmeras, dispositivos de localização. Tornando possı́vel sua utilização para diver-
sas aplicações, desde vigilância ambiental, controle de tráfego a redes sociais móveis.

Veı́culos são conectados por meio de comunicação sem fio com outros veı́culos ou com
infraestrutura rodoviária. Uma caracterı́stica importante de VANET é a possibilidade
de troca de informações de forma rápida, principalmente quando se trata de mensagens
de segurança. Porém, protocolos utilizados nas camadas mais inferiores têm que evitar
colisões e garantir integridade das mensagens de emergência, e o problema é que os
protocolos atuais não garantem QoS para este tipo de aplicação.

Assistência ao motorista

O objetivo de redes VANET é evitar e diminuir o número de acidentes. Alguns dos


cenário que as aplicações de segurança podem ser úteis são:
Referencial Teórico 21

Acidentes: Em caso de colisão a aplicação deve informar aos carros que estão indo em
direção ao local do acidente sobre o ocorrido, oferecendo rotas alternativas e informações
para aumentar a segurança dos mesmos. Ainda é desejável que vı́deos sejam enviados à
equipes de paramédicos mostrando o ocorrido e auxiliando na tomada de decisão com a
finalidade de agilizar o socorro às vı́timas. Porém, é desejável que aplicações de segurança
sejam projetadas para fornecer informações prévias evitando acidentes.

Intercessões: Controle e gestão de tráfego é uma boa área de pesquisa. Uma vez que
em um cruzamento dois fluxos de carros convergem, os riscos de acidentes são maiores.
Uma aplicação poderia auxiliar o motorista nesta situação com um semáforo virtual, ou
mesmo com informações que podem diminuir os riscos de uma colisão. Em ambos os
casos há requisitos rigorosos para atingir principalmente em tempo real e processamento
distribuı́do.

Aplicações de congestionamento podem oferecer melhores rotas para o motorista ou


até mesmo ajustar o semáforo de forma a otimizar o fluxo, e com isto melhorar o trânsito
evitando engarrafamentos.

Disseminação de Informação

Os pedidos de divulgação visam uma distribuição de entrega de informação para o mo-


torista, passageiro e veı́culo, o problema é como manter esta informação em contexto, já
que a rede é altamente dinâmica. Alguns possı́veis tipos de informação que podem ser
disseminadas em redes VANET são informações sobre mobilidade (trânsito, acidentes,
informações turı́sticas e de assistência), comércio eletrônico e entretenimento (acesso a
internet, jogos e chats).

2.3 Considerações Finais

Rede veicular sem fio é uma tecnologia essencial para os STI. A comunicação entre
veı́culos pode criar uma malha de comunicação trazendo mais segurança e mais eficiência.
E com isso, tornar as viagens mais agradáveis aos usuários. Redes veiculares futuramente
estarão entre os tipos de redes móveis mais importantes.

As caracterı́sticas distintas de redes veiculares geram diversos desafios a serem estuda-


dos. A alta mobilidade e a velocidade introduzem um cenário completamente diferente,
22 Referencial Teórico

onde novos protocolos têm que surgir. Os diversos desafios introduzidos pelas redes
VANETs, principalmente se considerarmos uma implantação real, fará com que surjam
vários algoritmos que deverão ser projetados especificamente para resolvê-los.
Capı́tulo 3

Trabalhos Relacionados

Nos últimos anos, vários trabalhos propuseram resolver o problema de roteamento em


redes ad hoc, como o DSR (Dynamic Source Routing) (Johnson & Maltz 1996) e o AODV
(Ad-hoc On-demand Distance Vector) (Perkins & Royer 1999). Esses protocolos iniciam
a transmissão de dados somente após estabelecerem um caminho entre a origem e o
destino, caracterı́stica que na maior parte do tempo não é satisfeita em VANETs. Isso,
porque esse tipo de rede sofre frequentes desconexões provocadas pela alta velocidade e
alta mobilidade dos veı́culos. Com a finalidade de evitar perdas de dados, os protocolos
de roteamento para VANETs consideram a utilização da técnica de store-carry-and-
forward (Lee & Gerla 2010).

Outra caracterı́stica que pode beneficiar algoritmos de roteamento para VANETs, é


a utilização de informações de localização dos nós da rede, que tornou-se possı́vel devido
à integração de Sistemas de Navegação (NS) aos veı́culos. Protocolos de roteamento
que utilizam essa técnica são classificados como protocolos position-based, ou geografic-
based (Allal & Boudjit 2012).

3.1 Trabalhos Relacionados

Uma das principais técnicas de roteamento utilizadas em redes móveis é a técnica de


inundação. Tal técnica compreende em gerar réplicas da mensagem e enviar para todos os
nós da rede, até que a mensagem alcance o nó de destino. Um esquema de roteamento
que utiliza a técnica de inundação para rotear as mensagens em uma rede móvel, é
conhecido como roteamento Epidêmico (Vahdat & Becker 2000). Além da técnica de

23
24 Trabalhos Relacionados

inundação, o algoritmo de roteamento Epidêmico utiliza a técnica de store-carry-and-


forward para evitar que uma mensagem seja perdida durante a transmissão. Isso porque
a alta mobilidade dos nós provoca frequentes desconexões da rede, fazendo com que o
algoritmo tenha que lidar com situações onde não existe um caminho entre a origem e o
destino.

O funcionamento do algoritmo Epidêmico se dá da seguinte forma: o nó A gera uma


mensagem para um nó B e a armazena em seu buffer. Quando outro nó C entra na
área de transmissão de A, C envia para A informações sobre as mensagens armazenadas
em seu buffer. Ao receber essas informações, A seleciona as mensagens que possuı́ em
seu buffer e que C não possui, e transmite cópias dessas mensagens para C. O mesmo
processo é feito pelo nó C, até que, ao final desse processo, ambos os nós possuam as
mesmas mensagem eu seus buffers. Referências futuras ao processo citado acima serão
feitas como processo de sincronização de mensagens.

Algumas hipóteses podem ser levantadas com relação ao processo de sincronização e


de transmissão de mensagens do algoritmo Epidêmico. A primeira delas é com relação
ao tempo de contato entre os nós.

Considerando que em alguns tipos de redes móveis os nós se movem em alta velo-
cidade, como por exemplo em redes VANETs, e que o tempo de associação entre os
nós algumas vezes excede o tempo de contato, prejudicando a troca de informações en-
tre eles. Temos um cenário no qual o processo de sincronização falhará. Porém, essa
caracterı́stica não é determinante para que o algoritmo Epidêmico perca desempenho,
uma vez que as mensagens não transmitidas em um primeiro momento, poderão ser
transmitidas em contatos futuros.

Prova de conceito: Considere um nó A com as mensagens de id: 001, 003 e 004 ar-
mazenadas em buffer. O nó B, que está com o buffer vazio, entra na área de transmissão
de A. A descobre que B não possui nenhuma de suas mensagens, e inicia o processo
de sincronização de mensagens. Porém, durante a transmissão da segunda mensagem
o nó B saı́ da área de transmissão de A, fazendo com que as mensagens 003 e 004 não
sejam entregues. Ao final do processo, B possuı́ em seu buffer somente a mensagem
de id: 001. Em um segundo momento, o nó A, ou qualquer outro nó que entrar na
área de transmissão de B, perceberá que B não possui as mensagens de id: 003 e 004 e
transmitirá essas mensagens para B.

Outra hipótese que podemos levantar com relação ao roteamento Epidêmico é que ele
atinge o limite superior com relação ao número de mensagens entregues. Isso acontece
Trabalhos Relacionados 25

porque o algoritmo Epidêmico replica as mensagens para todos os nós da rede, fazendo
com que réplicas da mensagem sejam enviadas para todos os caminhos possı́veis. Se
réplicas da mensagem são enviadas para todos os caminhos, obviamente, se houver um
caminho até o destino, uma das réplicas será enviada por esse caminho. Portanto,
considerando que não haverá perdas das mensagens transmitidas na rede, o algoritmo
Epidêmico entregará o maior número de mensagens possı́veis.

Prova de conceito: Considere uma rede com N nós, onde o nó A deseja entregar uma
mensagem para o nó Z. No instante de tempo t0, o nó B entra na área de transmissão
de A dando inı́cio ao processo de sincronização de mensagens, ao final do processo, ele
também transportará uma cópia da mensagem destinada à Z. No instante de tempo
t1, os nós C e D entram nas áreas de transmissões dos nós A e B respectivamente,
fazendo com que, ao final do processo de sincronização, todos os nós possuam cópias da
mensagem endereçada a Z. No instante de tempo tx, D entra na área de transmissão de
Z e realiza a entrega da mensagem. O fato da mensagem ter sido replicada para todos
os caminhos possı́veis, faz com que no instante de tempo tx + y outros nós entreguem a
mensagem para Z.

A prova de conceito levantada acima nos oferece suporte para mais uma hipótese.
O algoritmo Epidêmico entrega a mensagem no menor tempo possı́vel. Se o algoritmo
Epidêmico envia a mensagem para todos os caminhos possı́veis, obviamente a mensagem
seguirá o menor caminho entre a origem e o destino, e com isso, será entregue no menor
tempo. Utilizando o exemplo acima, a mensagem foi entregue ao nó Z no instante de
tempo tx, portanto, x é o menor tempo que a mensagem gastaria para alcançar Z, ou
seja, qualquer outro caminho que a mensagem siga, ela precisará de x + y unidades de
tempo para alcançar Z. Isso faz do algoritmo Epidêmico limite inferior com relação ao
tempo que a mensagem precisa para ser entregue ao destino.

Apesar do algoritmo Epidêmico ter o melhor desempenho quanto ao número de men-


sagens entregues e ao tempo que a mensagem demora para alcançar seu destino, ele
inunda a rede com réplicas das mensagens, o que torna proibitivo sua utilização em
cenários em que existem restrições de recursos. Uma das restrições encontradas em re-
des móveis é o espaço de armazenamento, como o algoritmo Epidêmico replica todas as
mensagens para todos os nós da rede, para enviar N mensagens é necessário que cada
nó da rede tenha buffer suficiente para armazenar as N mensagens, caso contrário, as
mensagens serão descartadas prejudicando o desempenho do algoritmo. Outra restrição
encontrada é a largura de banda, que geralmente é limitada devido ao meio de trans-
missão de dados e a necessidade de poupar energia, esta, que também está entre as
26 Trabalhos Relacionados

limitações encontradas em dispositivos de redes móveis. Porém, o algoritmo Epidêmico


exerce um importante papel para academia, pois seus resultados oferecem excelentes
referências para medir o desempenho de novas propostas de algoritmos.

Outra categoria de algoritmos que podem ser aplicados a redes sem fio, são os al-
goritmo de uma única cópia, como o GeOpps, que será estudado mais a frente. Nessa
categoria de algoritmo existe somente uma cópia da mensagem na rede durante todo
o tempo, e essa mensagem é transportando entre os nós da rede até atingir o destino.
Para que isso seja possı́vel, esses algoritmos introduzem o uso de um agente importante,
que é conhecido como Mula. O nó Mula, ou transportador da mensagem, é o nó que
tem a custódia da mensagem e é responsável por carregar a mensagem, e transmiti-la
para o próximo nó que passará a ser o novo custódio da mensagem. Esse processo se
repete até que a mensagem alcance o destino. Para escolher qual será o próximo salto da
mensagem, o nó custódio leva em consideração algumas informações, como por exemplo,
dados de contatos entre os nós, transmissão por contato oportunista, informações de
localização, etc. Esse processo que diferencia os diversos algoritmos de roteamento para
esse tipo de rede. Porém, algoritmos de uma única cópia de mensagem provocam gran-
des atrasos na entrega da mensagem em redes móveis, o que impossibilita sua aplicação
em cenários que exigem comunicação em tempo real, como por exemplo, aplicações de
resgate de acidentes, alertas de perigo, stream de vı́deo, etc.

Com o objetivo de entregar as mensagens com menor atraso do que algoritmos de


uma única cópia, e sem degradar a rede como os algoritmos de inundação (Spyropoulos,
Psounis & Raghavendra 2008b) propuseram uma nova categoria de algoritmos, a qual
denominaram algoritmos de “spray”. Essa categoria tem como objetivo gerar somente
algumas cópias da mensagem, e com isso, explorar caminhos alternativos, conseguindo
tempos de entrega melhores do que os algoritmos de uma única cópia, e sem provocar
degradação da rede sobrecarregando-a com número excessivo de réplicas de mensagens,
como os algoritmos de inundação. Apesar dos autores introduzirem sua utilização em
redes esparsas, a técnica de “spray” foi utilizada pela primeira vez em redes de celulares.
Sua utilização objetivava pulverizar as mensagens entre os pontos que os usuários mais
frequentavam (Tchakountio & Ramanathan 2001).

Apesar da técnica de “spray” ser uma boa alternativa para resolver o problema de
roteamento em redes móveis, ela introduz dois problemas que não existem em outras
categorias de algoritmos, que são: (i) como estimar o número de nós presentes na rede;
(ii) e como estimar o número de réplicas (L) ideal para reduzir o tempo de entrega de
mensagens sem sobrecarregar a rede. Para o primeiro problema os autores sugerem que
Trabalhos Relacionados 27

pode ser utilizado uma contagem dos identificadores únicos de cada nó da rede e com isso
estimar aproximadamente o número de nós. Porém, tal método exigiria uma grande base
de dados para manter as informações dos nós da rede e ainda uma operação de pesquisa
teria que acontecer a cada contato. Os modelos de mobilidade para redes móveis tem
tempos de contato entre os nós representados por uma distribuição exponencial. Com
isso em mente, os autores sugerem que o número de nós da rede pode ser estimado
considerando a distribuição exponencial dos contatos de um nó com os dois próximos
nós que ele encontrar. Calcular o número de réplicas necessário para serem pulverizadas
pela rede, é considerado um problema difı́cil de forma geral, para facilitar a utilização
da técnica de “spray” pela comunidade acadêmica, os autores sugerem alguns valores
para serem utilizados como número de réplica de mensagens para uma rede de 100 nós.
Esses valores podem ser conferidos na tabela 3.1.

a 1.5 2 3 4 5 6 7 8 9 10
recursão 21 13 8 6 5 4 3 3 3 2
limite superior N.A. N.A. 11 7 6 5 4 3 3 2
série de taylor N.A. N.A. 10 7 5 4 3 3 3 2

Tabela 3.1: Valores estimados de L para uma rede de 100 nós.

Para comprovar a eficiência da técnica de “spray”, (Spyropoulos, Psounis & Raghavendra


2008b) propuseram um algoritmo chamado spray and wait. O algoritmo é divido em
duas fases que são: fase de “spray” e fase de “wait”, que serão explicadas a seguir:

• Na fase “spray”, o nó de origem calcula o número de cópias que devem ser pulve-
rizadas. Esse cálculo é baseado no número de nós da rede e no tempo de atraso
desejado para que a mensagem alcance o destino. Essas cópias são pulverizadas
de forma oportunista entre os nós que entram na área de transmissão do nó de
origem. Se a mensagem não for entregue ao destino na fase “spray”, os nós iniciam
a fase “wait”. Existem duas formas de pulverizar as mensagens, que são o Binary
spray e o Source Spray, ambas serão estudadas mais a frente.

• Quando o nó entra na fase de “wait”, ele contém somente uma cópia da mensagem,
e será encarregado de entregar essa mensagem ao destino. Para isso, o algoritmo
“Spray and wait” utiliza a técnica de contato direto, onde a mensagem transpor-
tada pode ser entregue somente para o nó de destino. Dessa forma cada uma das
28 Trabalhos Relacionados

cópias da mensagem é encaminhada de forma independente, seguindo modelos de


roteamento presentes em algoritmos de uma única cópia.

Os algoritmos acima constituem objetos de estudo dessa dissertação por se tratarem


dos principais algoritmos de roteamento para redes esparsas. Porém, ambos foram de-
senvolvidos para serem aplicados à redes móveis de uma forma geral, não se beneficiando
de caracterı́sticas especı́ficas de um tipo de rede. Por esse motivo, o próximo algoritmo
estudado foi o GeOpps (Leontiadis & Mascolo 2007), que é um dos principais algoritmos
desenvolvidos para ser aplicado em redes VANETs, e utiliza a transmissão de forma
oportunista e informações de contexto para melhorar o processo de roteamento.

O algoritmo GeOpps é um algoritmo de uma única cópia, que tem como objetivo
rotear mensagens de dados para uma região geográfica especı́fica. Para que isso seja
possı́vel, o algoritmo considera que os veı́culos são equipados com Sistemas de Navegação
(SN), onde os motoristas informam seus destinos a cada viagem, permitindo que o SN
calcule a rota que o veı́culo percorrerá para alcançar o destino. Além disso, o algoritmo
assume que o SN possuı́ informações sobre as localizações das Estações de Informação
(EI) que compõem à rede juntamente com os veı́culos. Essas EI estão potencialmente
conectadas à internet, e são utilizadas como uma espécie de backbone de rede, para onde
o fluxo de dados deve ser direcionado. Cada veı́culo da rede atua como uma espécie
de sensor, que é capaz de coletar informações sobre o trânsito (velocidade, aceleração,
etc.) e sobre as condições das estradas (buracos, etc.). Essas informações são enviadas,
através das EI, para um Sistema Centralizado que combinará os dados recebidos de várias
origens e produzirá estimativas sobre as condições de trânsito atuais. Após tal processo,
os Sistemas Centralizados produzirão alertas sobre trechos de estrada especı́ficos, e os
encaminhará para a EI mais próxima de tal trecho, encarregando os veı́culos vizinhos
de rotear a mensagem até a área afetada.

O funcionamento do algoritmo GeOpps consiste em: (i) trocar informações das men-
sagens com os nós que estão a um salto de distância; (ii) Calcular o METD (Tempo
Mı́nimo Estimado para Entregar a Mensagem ao Destino) e encaminhar o resultado
para o nó requisitante; (iii) Manter a custódia da mensagem se tiver o METD menor,
ou encaminhá-la para o vizinho encarregando-o de entregar a mensagem.

De forma semelhante aos demais algoritmos de uma única cópia, o algoritmo GeOpps
utiliza contato oportunista e informações de contexto para garantir que a mensagem seja
entregue ao destino. O que o torna uma solução melhor do que os demais algoritmos é
a utilização do METD para escolher qual é o melhor transportador para a mensagem.
Trabalhos Relacionados 29

Para isso, uma função de utilidade é aplicada. Tal função estima o METD da seguinte
forma: o algoritmo percorre a rota do veı́culo procurando o ponto mais próximo do
destino (NP); depois de descoberto NP, o algoritmo solicita do SN o tempo estimado de
viagem (ETA) de sua posição corrente até o NP; finalmente, o algoritmo soma o tempo
retornado pelo SN com o tempo estimado para que o veı́culo viaje em linha reta do NP
até o destino. Em linhas gerais, o METD pode ser calculado da seguinte forma:

M ET D = ET A para o N P + ET A do N P para o D.

Para uma melhor compreensão do processo de roteamento, considere a Figura 3.1.


O veı́culo a possui uma mensagem destinada ao ponto D. No ponto P 1, o veı́culo a
encontra com o veı́culo b e o escolhe para ser o transportador da mensagem, pois o
METD de b é menor do que o METD de a. Observe que a mensagem nunca alcançará
o N P b, pois no instante de tempo P 2, o veı́culo b cruza com outro veı́culo c, e o escolhe
como o novo transportado da mensagem, encarregando-o de levar a mensagem para
próximo de D.

Figura 3.1: Exemplo do cálculo do NP do destino do pacote.

Porém, nem sempre as condições ideais para as quais o algoritmo foi projetado são
30 Trabalhos Relacionados

satisfeitas, como por exemplo quando o motorista desvia ou ignora a rota sugerida, ou
quando ele para o veı́culo antes de concluir a rota. Para resolver esses problemas, o
algoritmo GeOpps assume que o veı́culo corrente não é capaz de entregar a mensagem,
e a encaminha para o nó vizinho.

Apesar de o algoritmo GeOpps ter sido projetado para redes veiculares, e utilizar
as rotas dos veı́culos para otimizar o processo de roteamento. O fato dele não explorar
rotas alternativas utilizando múltiplas cópias de mensagens faz com que ele tenha seu
desempenho comprometido, e torna inviável sua utilização prática. Em contrapartida, o
algoritmo Spray and Wait se beneficia de redes densas, porém em redes veiculares essa
caracterı́stica se torna uma armadilha e compromete o desempenho do algoritmo. Isso
acontece porque o fluxo de carros se concentra em cruzamentos ou em semáforos, e os
veı́culos se dividem entre as opções de direções que podem seguir. Tal comportamento
faz com que algumas cópias das mensagens sejam levadas para longe do destino.

3.2 Considerações Finais

Com o objetivo de eliminar os problemas provocados por algoritmos de inundação e


de evitar a propagação de mensagem para regiões distantes da região do destino da
mensagem, o algoritmo RouteSpray utiliza as rotas dos veı́culos para escolher qual é
a melhor opção para carregar a mensagem. Ele pulveriza as mensagens somente en-
tre os nós que encontrarão com o destino, e com isso, impede que sejam pulverizadas
desnecessariamente para nós que nunca poderão entregá-las.
Capı́tulo 4

Protocolo de Roteamento Route Spray

4.1 Algoritmo RouteSpray

Para realizar o roteamento, o protocolo RouteSpray assume que os veı́culos são equi-
pados com GPS e que além de conhecer sua própria rota, o veı́culo precisa conhecer
a rota do destino da mensagem. Considerando que algoritmos position-based assumem
conhecimento da localização do destino da mensagem, esse se torna um requisito básico.
Sendo que o algoritmo RouteSpray se diferencia dos demais por prever a mobilidade do
nó de destino. Uma vez que, grande parte desses algoritmos assumem que o destino da
mensagem é um nó estacionário, ou ainda, uma região geográfica. Além disso, não é ne-
cessária a existência de nenhuma infraestrutura fixa de rede, ou seja, é possı́vel realizar
o roteamento entre os veı́culos de forma totalmente ad hoc.

O funcionamento do protocolo é baseado no uso de dois tipos de mensagens, sendo


elas as mensagens de controle e as mensagens de dados. As mensagens de controle são
utilizadas para manter o estado da rede, enviando informações de contexto para os nós
vizinhos. Cada mensagem gerada na rede possui um identificar único, que é composto
pelo endereço do nó de origem, o horário de criação da mensagem e um contador, que
tem como objetivo evitar conflitos de mensagens criadas no mesmo horário.

O processo de troca de informações e a tomada de decisão de roteamento pode ser


dividido em três etapas distintas. Na primeira etapa a comunicação inicia-se através
de um handshake, onde os nós trocam informações dos pacotes que já foram entregues
pela rede, permitindo fazer o controle de mensagens armazenadas em buffer, o que é
conseguido apagando as que já foram entregues. Já na segunda e terceira etapas, os nós

31
32 Protocolo de Roteamento Route Spray

trocam informações sobre o estado do buffer. O nó de origem envia para seus vizinhos
uma lista contendo um identificador e o destino de cada mensagem que possui em seu
buffer. Com essas informações o vizinho calcula, utilizando as rotas pré-estabelecidas, o
tempo em segundos que demorará para entregar cada mensagem. Após a origem receber
a resposta do nó vizinho, ela é capaz de decidir qual é o melhor transportador para a
mensagem. Mais detalhes sobre as etapas de roteamento são apresentadas a seguir.

Considerando que o nó X entrou na área de transmissão do nó Y . Na primeira


etapa, X envia para Y uma mensagem de handshake que possui como carga de dados
a lista das mensagens que já foram entregues na rede. Ao receber essas informações,
Y é capaz de percorrer seu buffer apagando as mensagens que já foram entregues aos
seus respectivos destinos. Ao final deste processo, com o buffer consistente, Y realiza a
entrega das mensagens endereçadas a X, e envia para ele a lista de mensagens que Y
possui em seu buffer.

Na segunda etapa, quando X recebe a lista das mensagens presentes no buffer de


Y , X calcula o tempo que ele precisa para entregar cada uma dessas mensagens. Em
seguida envia para Y uma relação contendo o identificador e o tempo necessário para
entregar cada mensagem. Para calcular o tempo de entrega da mensagem, X percorre
a rota do destino da mensagem a procura de um ponto de interseção com sua rota. Ao
final desse processo, caso X encontre um ponto de interseção, ele retorna o tempo em
segundos que demora para ir de sua posição corrente até esse ponto. Caso tal ponto não
exista, o algoritmo retorna um valor negativo, indicando que X não é capaz de entregar
a mensagem.

Finalmente, na terceira etapa, ao receber as informações do tempo que X precisa para


entregar cada mensagem, Y é capaz de decidir quem é o melhor transportador para a
mensagem. Para isso Y precisa calcular quanto tempo ele precisa para realizar a entrega
da mensagem e comparar com o tempo retornado por X. Caso Y possua mais de uma
cópia da mensagem, ele irá utilizar a técnica de binary spray para pulverizar as cópias
da mensagem para X. Caso o tempo de entrega retornado por X seja menor do que o
tempo de entrega calculado por Y , Y encaminha a mensagem para X, encarregando-o
de entregá-la ao destino. Todo o processo de roteamento descrito anteriormente pode
Protocolo de Roteamento Route Spray 33

ser visto com mais detalhes no Algoritmo 4.1.

Algoritmo 4.1: Pseudo-código RouteSpray


Input: mensagem
1 if recebeu mensagem de controle then
2 if mensagem de handshake then
3 LimpaBuffer;
4 AtualizaListaDeMensagensEntregues;
5 EntregaMensagensEndereçadasOrigem;
6 RespondeListaMensagensBuffer();

7 else if resposta a mensagem de handshake then


8 RecebeRelaçãoMensagensVizinho;
9 EnviaTempoDeContatoMensagem();

10 else
11 ProcessaRespostaTempoDeContato;
12 DecideQualMelhorTransmissor();

13 else if recebeu mensagem de dados then


14 if mensagem endereçada a mim then
15 ProcessarMensagem();

16 else
17 ArmazenarNoBuffer();

A melhoria no desempenho do RouteSpray se dá pela combinação de dois conceitos


importantes: (i) utilização de rotas para obter conhecimento prévio dos contatos entre
os nós e (ii) utilização da técnica de Binary Spray. Tal combinação garante melhores
taxas de entrega sem sobrecarregar a rede. Ambos os conceitos são explicados com mais
detalhes a seguir.

4.1.1 Utilização de Rotas

As informações de geolocalização em uma rede permitem ter conhecimento prévio sobre


a posição de seus nós. Tal caracterı́stica possibilita o encaminhamento de pacotes na
direção do destino e melhora a taxa de entrega de dados. A utilização das rotas dos
34 Protocolo de Roteamento Route Spray

veı́culos garante que o algoritmo consiga prever os contatos entre os nós da rede. Assim,
ele pode tomar a melhor decisão de encaminhamento.

Considerando que três veı́culos seguirão rotas pré-estabelecidas (Figura 4.1), e que o
veı́culo B possui um pacote destinado ao veı́culo C, apesar das rotas dos veı́culos B e C
se cruzarem o veı́culo B escolherá o veı́culo A como melhor transportador da mensagem
até o destino. Isso porque o veı́culo A se encontrará com o veı́culo C antes do veı́culo
B. Esse processo garante que a mensagem seja entregue no menor tempo possı́vel.

Figura 4.1: Rotas pré-estabelecidas para três veı́culos.


Protocolo de Roteamento Route Spray 35

4.1.2 Binary Spray

Esquemas de encaminhamento baseados em uma única cópia de mensagem provocam


grandes atrasos na entrega. Por outro lado, esquemas de encaminhamento baseados em
inundação provocam degradação na rede. Visando obter o menor atraso na entrega sem
degradar a rede, em (Spyropoulos, Psounis & Raghavendra 2008b) os autores propuse-
ram a técnica de “spray”, que consiste em gerar um número controlado de cópias de
mensagens e pulverizá-las entre os nós da rede. Quando um veı́culo deseja transmitir
uma mensagem, ele gera um número controlado de cópias (L). Para calcular o valor de
L, é levado em consideração o número de nós presentes na rede e o tempo desejado de
atraso para que a mensagem alcance o destino. A pulverização pode acontecer de duas
formas diferentes, as quais os autores deram os nomes de Source Spray e Binary Spray.

Na pulverização baseada no Source Spray, o nó de origem encaminha as L cópias da


mensagem para os primeiros L nós distintos que encontrar. No Binary Spray, o nó de
origem inicia com L cópias; enquanto o nó A possuir n > 1 cópias (for a origem ou o
transportador) e encontrar com outro nó B (que não possui nenhuma cópia) ele entregará
ao nó B b(n/2)c cópias e manterá d(n/2)e consigo; quando o nó possuir somente uma
cópia, ele escolherá o contato direto para realizar a entrega.

Uma caracterı́stica do Source Spray é que a mensagem realiza somente dois saltos
até atingir o destino, ou seja, o origem encaminha a mensagem para o transportador
tornando-o o responsável por entregá-la ao destino. Essa caracterı́stica provoca atrasos
na entrega em redes com mobilidade controlada, o que inviabiliza seu uso em VANETs.
Já no Binary Spray, o fato do nó transportador receber mais de uma cópia da mensagem
encaminhando-as em contatos futuros, faz com que esta técnica realize o encaminha-
mento baseado em múltiplos saltos, diminuindo o tempo de entrega da mensagem. Por
este motivo, optou-se por utilizar o Binary Spray como polı́tica de encaminhamento de
mensagem no RouteSpray.

4.2 Considerações Finais

Como vimos, o algoritmo RouteSpray combina o melhor dos mundos de duas categorias
de roteamento para redes móveis, que são o controle de cópias pulverizadas e o uso de
informações de geoposicionamento. A combinação de tais caracterı́sticas faz com que
o RouteSpray consiga, de forma robusta, simples e estável, rotear a mensagem pelo
36 Protocolo de Roteamento Route Spray

caminho ótimo, quando o princı́pio de otimização for aplicado a tempo de entrega e


sobrerga da rede. Para avaliar a nossa proposta, foi desenvolvido um framework de
mobilidade que permite a coleta de dados de mobilidade em tempo real, garantindo
mais realismo nas simulações. Mais detalhes sobre tal framework serão vistos a seguir.
Capı́tulo 5

VeNeM - Gerador De Mobilidade


Veicular Real

5.1 Introdução

Redes Ad Hoc Veiculares (VANETs) ganharam destaque entre os Sistemas Inteligentes


(SI) nos últimos anos. Com isto, surgem diversos pesquisadores interessados em resolver
os desafios encontrados nesse tipo de rede. Porém, para que os pesquisadores consigam
validar suas propostas é necessário à experimentação, que geralmente advém de ambi-
entes simulados [1]. Isso acontece porque conseguir pessoal e equipamentos suficientes
para realizar experimentos em ambientes reais é inviável, devido as dificuldade de es-
calabilidade e aos altos custos envolvidos. Uma das maiores dificuldades para simular
uma rede veicular está em garantir que a os padrões de mobilidade de um ambiente real
sejam reproduzidos. Segundo [2] e [3], os simuladores existentes que possibilitam experi-
mentações com padrões de mobilidade semelhantes aos reais, geralmente são complexos
de serem utilizados e estão disponı́veis somente em uma determinada região. Tal carac-
terı́stica faz com que mais de 50% das novas propostas de algoritmos sejam avaliadas em
simuladores customizados, o que dificulta a implementação desses algoritmos por outros
membros da comunidade cientı́fica [4].

37
38 VeNeM - Gerador De Mobilidade Veicular Real

5.2 Simulações em Redes Veiculares

Um importante aspecto para avaliação de novas propostas de algoritmos para redes


veiculares é o padrão de mobilidade dos nós, o qual determina quando há contato entre
os nós, e qual sua duração. De acordo com [5-8], os modelos de mobilidade podem ser
influenciados por diversos fatores. Aos quais são divididos em duas classes, que são
parâmetros relacionados com a micro-mobilidade e com a macro-mobilidade.

Micro-mobilidade tem como objetivo descrever o comportamento de cada veı́culo in-


dividualmente. Certamente, esses parâmetros não são comuns a todos os nós da rede,
mas desempenham um papel importante durante a simulação. Isso porque a mobilidade
individual de cada veı́culo influencia diretamente na formação da rede. Parâmetros
como velocidade, aceleração, comportamento em interseções (com ou sem semáforos)
são modelados pelo comportamento e pela maturidade do motorista e podem ser influ-
enciados por diversos fatores, como pontos de interesse, humor, sexo, idade. Levar esses
parâmetro do mundo real para o mundo simulado é um desafio que tem sido atacado
pelos principais simuladores de rede [9].

Além dos parâmetro de micro-mobilidade, que estão relacionados com o comporta-


mento individual de cada veı́culo, modelos de mobilidade têm que lidar com parâmetros
de macro-mobilidade. Tais parâmetros descrevem o comportamento de um grupo de
veı́culos, como por exemplo a densidade dos veı́culos, a velocidade média de viagem, os
pontos de interesse aos quais o maior fluxo tente a convergir, dentre outros.

5.2.1 Modelos de mobilidade

Cada modelo de mobilidade tem suas caracterı́sticas especı́ficas, podendo ser aplicado em
determinado cenário ou não. Para entendermos melhor como os modelos de mobilidade
se comportam e como esses parâmetros afetam nos resultados, será apresentado uma
breve descrição de alguns dos modelos presentes nos simuladores de VANTEs, uma lista
mais exaustiva pode se encontrada em [5-8].

(a) Random-Waypoint: Segundo [10-11], o Random-Waypoing é um simples modelo


estocástico no qual o nó viaja entre dois pontos da área de simulação durante um
tempo gerado aleatoriamente. Primeiramente, os nós são colocados aleatoriamente
na área de simulação. Cada nó aguarda durante um tempo de espera que é gerado
utilizando distribuição normal, quando o tempo de espera termina, o nó viaja até
VeNeM - Gerador De Mobilidade Veicular Real 39

um outro ponto escolhido aleatoriamente dentro da área de simulação. Então o


nó aguarda um novo tempo de espera e viaja até um novo ponto escolhido alea-
toriamente. Esse processo se repete durante toda a simulação. Existem algumas
variações desse modelo que tentam tornar o ambiente um pouco mais real, como
por exemplo a inserção de velocidade média para os veı́culos viajarem entre os
pontos ou ainda a inserção de pontos de interesse, aos quais tendem ter maior
fluxo de veı́culos. Porém, o Random-Waypoint não considera o uso de nenhum
parâmetro real, e a mobilidade é completamente aleatória, o que não corresponde
a realidade, pois veı́culos devem respeitar os limites de estradas e rodovias.

(b) Grid de Manhattan: Proposto por [12], no Grid de Manhattan o cenário é dividido
em quadrados, lembrando os quarteirões de uma cidade planejada. Inicialmente
os nós são distribuı́dos pelo cenário de forma aleatória, depois cada nó escolhe a
direção em que ele deve viajar, e vai até o outro ponto a uma velocidade constante.
Ao alcançar um cruzamento, o nó escolhe aleatoriamente uma nova direção pela
qual ele seguirá com uma velocidade diferente, (também escolhida aleatoriamente).
Essa direção, geralmente é distribuı́da como sendo, 50% de probabilidade do veı́culo
seguir em linha reta, e 25% de probabilidade do veı́culo virar para qualquer um
dos lados (direita ou esquerda).

(c) Cluster de Voronoi: Segundo [13], várias cidades não crescem de forma planeja-
das, fazendo com que as ruas formem um grafo complexo que se assemelha ao
Diagrama de Voronoi (Figura 5.1). Por esse motivo, nesse modelo de mobilidade
a disposição das ruas são representadas por um Diagrama de Voronoi. Os veı́culos
são distribuı́dos uniformemente pela área da simulação e se move em uma velo-
cidade inicial escolhida entre 0 e a velocidade máxima predefinida. Quando o nó
esbarra em uma borda, que representa as construções às margens da via, ele con-
tinua o movimento seguindo o ângulo de reflexão, quando acontece a refração o
movimento do nó é espelhado. Em algum instante o nó interrompe o movimento e
aguarda por um momento de pausa, também predefinido, ao decorrer de tal tempo,
o nó volta a se movimentar em um novo ângulo e uma nova velocidade.

5.2.2 Evolução dos simuladores

Segundo [14] evolução histórica dos simuladores de redes VANETs pode ser facilmente
percebida. Quando os modelos de mobilidade que utilizam parâmetros aleatórios para
40 VeNeM - Gerador De Mobilidade Veicular Real

Figura 5.1: Modelo de um grafo de Voronoi.

representar o movimento dos nós deixaram de atender as expectativas da academia. O


que deixou claro a necessidade do surgimento de propostas que repliquem de forma mais
fiel o comportamento real do nó nesse tipo de rede. Com isso surgem simuladores que
modelam a mobilidade dos nós da rede utilizando traces de rotas veiculares coletadas a
partir de sistemas de navegação. Porém, apesar da mobilidade dos nós da rede estarem
limitadas pelas fronteiras entre as ruas e as construções ao seu entorno, a falta de um
modelo para prever o comportamento do motorista provocam resultados indesejados.

Para resolver tal problema, surgem os simuladores de redes com casamento bidire-
cinal [15], ou seja, uma integração entre dois tipos de simuladores distintos, que são
os simuladores de redes veiculares e os simuladores de tráfego. Ambos os simuladores
trocam informações para auxiliar na tomada de decisões sobre o movimento dos nós na
rede. Com isso conseguem simular de forma dinâmica o comportamento do motorista ao
encontrar um cruzamento, um semáforo fechado, ou algum incidente que possa refletir
na simulação (como uma freada para evitar colisão com o carro da frente, mudanças de
pista, etc). As vantagens e desvantagens de cada classe de modelo de mobilidade pode
ser vista em mais detalhes na Tabela 5.1.
VeNeM - Gerador De Mobilidade Veicular Real 41

Classe de Modelo de Mobilidade Vantagens Desvantagens


Simples,
Movimento randômico intuitivo, Impreciso
Sempre disponı́vel
Movimento do nó mais reais Caro
Rotas reais
Rotas reutilizáveis Consome tempo
Movimento do nó realista
Rotas artificiais Sem feedback do motorista
Rotas reutilizáveis
Movimento do nó realista
Casamento Bidirecional impossı́vel replicar
feedback das ações do motorista

Tabela 5.1: Visão geral das classes de modelos de mobilidade

Como consequência, juntamente com a evolução da riqueza de realismo dos simu-


ladores de redes, os simuladores também evoluı́ram em nı́vel de complexidade, onde o
simuladores da classe de Casamento Bidirecional são consideravelmente mais complexos
e os da classe de Movimento randômico são menos complexos. Tal complexidade faz com
que a curva de aprendizado para utilizar tais simuladores seja muito grande, comprome-
tendo os testes para pesquisas de curto prazo e incentivando a utilização de simuladores
customizados.

5.2.3 Discussão

Percebemos que a maioria das novas propostas de algoritmos de roteamento são testa-
das em simuladores customizados. Além dos simuladores customizados prejudicarem a
implementação das propostas por outros membros da comunidade, geralmente os expe-
rimentos são reportados com ausência de alguns parâmetros. Isso faz com que autores
de novas propostas optem por comparar seus algoritmos com algoritmos básicos.

Com isso, percebemos que apesar das pesquisas que envolvem simulações em redes
veiculares estarem em constante evolução, ainda há lacunas que tornam este, um campo
de pesquisa ainda em aberto.
42 VeNeM - Gerador De Mobilidade Veicular Real

5.3 Simuladores existentes

Nesta seção será apresentado uma sucinta descrição de alguns dos geradores de mobili-
dade veicular mais utilizados pela comunidade cientı́fica.

5.3.1 BonnMotion

BonnMotion [12] é uma ferramenta para gerar mobilidade veicular com foco em gerar
modelos de mobilidade para os principais simuladores de redes sem fio (ns-2, glomosim,
qualnet, cooja e mixim). Porém, os modelos de mobilidade são gerados a partir de
modelos estatı́sticos, e o simulador permite que dados seja controlados, como velocidade
e aceleração. Como pontos positivos o autor destaca a facilidade de uso e uma boa
descrição dos modelos de mobilidade suportados.

5.3.2 VanetMobiSim

VanetMobSim [16] é uma extensão do simulador CanuMobiSim [17], e tem como objetivo
gerar modelos de mobilidade mais próximos da realidade. Para isso, entre seus geradores
de topologia de rodovias possuı́ modelos extraı́dos de bases públicas, que compreende
pequenas regiões geográficas.

5.3.3 Veins

O Veins [15] é construı́do a partir da união do simulador de redes OMNeT++ [18] com o
microsimulador de tráfego SUMO. O Veins é um simulador de casamento bidirecional que
permite que eventos provocados pela mobilidade dos veı́culos tenham influência sobre
a simulação de rede. Como ponto positivo, o Veins trás consigo a possibilidade de que
sejam feitas simulações com alto grau de realismo. Como ponto negativo, o Veins é um
simulador complexo de ser utilizado, e parâmetros reais de simulação estão disponı́veis
somente para um pequeno trecho da Europa.
VeNeM - Gerador De Mobilidade Veicular Real 43

5.3.4 Framework de Mobilidade veicular

Propomos um framework que é capaz de coletar dados de veı́culos a partir de um web


service e transportar esses dados para um simulador de redes veiculares, Figura 5.2. Com
isso seria possı́vel fazer uma simulação em tempo real, considerando o comportamento do
motorista no momento da simulação. Esse framework possui três componentes principais
cujas funções são: coletar dados, gerar a simulação, e exibir os resultados.

Figura 5.2: Framework de Gerenciamento de rede móvel.

A parte de coleta de dados consiste em sensores instalados nos veı́culos, que podem
ser integrados com sistemas de navegação. Esse dados são enviados para um sistema
centralizado, onde as informações de todos os veı́culos serão coletadas e tratadas para
serem disponibilizadas para a parte responsável por gerar as simulações. Após coletados
e tratados, os dados serão organizados e publicados em um web service RESTFULL. A
escolha por um web service RESTFULL é justificada pelo falto dele ser implementado
44 VeNeM - Gerador De Mobilidade Veicular Real

sob a camada de aplicação, o que garante a interoperabilidade em qualquer tipo de rede,


seja ela TCP/IP ou não. O fato dos componentes do framework estarem organizados
em camadas, possibilita alterações na camada de coleta de dados sem afetar o restante
do framework, o que deixa cada componente aberto a novas propostas.

O web service deve publicar um conjunto mı́nimo de informações composto por:


id, latitude, longitude, altitude (para simulações em 3D, o que permite integração com
VANTs por exemplo) e timestamp. Porém, o framework não está limitado a esse pequeno
conjunto de informações, o que permite sua extensão de acordo com a necessidade de
cada aplicação. Essas informações serão coletadas pelo componente responsável por
gerar a simulação, que atuará com um middleware entre o web service e um simulador
de rede. O objetivo desse middleware é coletar as informações dos nós presentes na rede
e exportá-las em um formato compatı́vel com algum dos simuladores de redes existentes,
que pode ser o OMNeT++, NS-2, OPNeT, ou qualquer outro simulador consolidado pela
comunidade.

O framework proposto acima permite que empresas (empresas de logı́stica, frotas de


ônibus, caminhões, taxis, etc) gerenciem seus veı́culos. A integração de tal framework
com sistemas de mapas que fornecem informações sobre as vias, possibilita prever eventos
futuros, gerar alertas aos administradores da frota permitindo-os notificar o motorista,
dentre várias aplicações. Como exemplo de sistemas de mapas que poderiam ser utili-
zados temos o google maps1 e o openStreetMaps2 . O google maps tem a API limitada,
o que faz que com que seja necessário a utilização de biblioteca de terceiros para co-
letar os dados da via(sentido do trânsito, velocidade permitida, etc). Por outro lado,
como ponto positivo, o google maps tem um sistema de análise de trânsito em tempo
real, o que permite coletar o tempo médio de viagem de acordo com as condições de
trânsito em determinados horários com alto nı́vel de precisão. Já o openStreetMaps é
open source e livre e fornece informações considerando inclusive a categoria do veı́culo,
ex: caminhões têm velocidade máxima permitida menor do que carro de passeio, ou
motocicletas, ou veı́culo de resgate. Porém, como ponto negativo ele está disponı́vel em
um número restrito de paı́ses e regiões.

Restringindo nosso cenário a redes veiculares, considerando a classe de simuladores


que utilizam arquivos de traces reais para gerar a mobilidade dos nós da rede, e utilizando
o simulador de rede OMNeT+++, nós propomos o VeNeM. Um software que tem como
objetivo gerar a mobilidade dos nós da rede respeitando parâmetros reais, e que valida
1
Google Maps, disponı́vel em: https://www.google.com.br
2
OpenStreetMaps, disponı́vel em: http://www.openstreetmap.org/
VeNeM - Gerador De Mobilidade Veicular Real 45

o framework proposto acima abrindo a comunidade diversas frentes de utilização.

5.3.5 VeNeM

O VeNeM determina a mobilidade dos veı́culos através de rotas pré-configuradas. Para


isso ele realiza uma consulta da rota na API de mapas do google. Tal comportamento faz
com que o VeNeM gere a rede respeitando a topologia das estradas. Essa caracterı́stica
é conseguida porque o google maps retorna a rota respeitando as direções que o veı́culo
deve seguir. Porém, a API de mapas do google retorna somente os pontos em que
devem acontecer mudanças de direção, ignorando os pontos intermediários. Os efeitos
provocados por tal caracterı́stica é percebido em ruas que possuem curvas acentuadas.
Como são retornadas somente informações dos extremos da rua, o veı́culo corta a curva
indo até a outra extremidade em linha reta. Ainda assim, utilizar a API de mapas do
google para obter estas informações é uma decisão melhor do que escolher algum modelo
randômico, pois modelos randômicos os veı́culos se movem de forma que não represente
a realidade.

A partir da utilização da API de mapas do google, o VeNeM consegue simular o


comportamento de um veı́culo respeitando os parâmetros retornado para cada trecho da
rota, isso acontece porque a velocidade do trecho é calculada a partir da diferença do
tempo entre o ponto de partida e de chegada dividido pela distância entre os pontos.
Além disso, para os grandes centros urbanos o google consegue retornar informação con-
siderando as condições do tráfego em tempo real, o que pode ser visto na Figura 5.3.
Isso permite que simulações sejam realizadas considerando situações de tráfego ameno
(durante a noite) e em situações de tráfego intenso (horário de pico). Com os parâmetros
retornados pela api, pode-se considerar como sendo uma situação média de comporta-
mento do motorista, porém, dados como semáforos e comportamento do motorista em
interseções são descartados, pois a API introduz esta limitação.

Quando os problemas apresentados acima tornam inviável o uso do VeNeM para


alguma aplicação, o VeNeM permite ainda a utilização de arquivos de traces. Estes
arquivos são obtidos facilmente utilizando dispositivos de navegação, como GPS ou até
mesmo smartphones, que tornaram-se acessórios comuns entre os passageiros de veı́culos.
A utilização de arquivos de traces permitem que o usuário tenha controle sobre as coor-
denadas coletadas, pegando todos os pontos necessários para que a mobilidade do veı́culo
respeite todos os limites de ruas, isso faz com que não existam trechos da simulação que
não sejam cobertos, gerando a topologia da rede respeitando de forma fiel o layout das
46 VeNeM - Gerador De Mobilidade Veicular Real

Figura 5.3: Rota entre a Estação central de metrô – Belo Horizonte e Paróquia
de Nossa Senhora de Fátima – Belo Horizonte (Retirada do Google Maps em
02/09/2014).

ruas. Além da precisão com relação a macro mobilidade, os arquivos de traces refletem
as ações tomadas pelo motorista, como por exemplo as reduções de velocidade antes
de interseções, o tempo esperando o semáforo abrir, e qualquer outro evento que possa
refletir em alterações da micro mobilidade. Esse comportamento é desejável durante as
simulações pois podem auxiliar em uma tomada de decisão. Simular uma rede igno-
rando o comportamento individual dos veı́culos, ou assumindo que esse comportamento
é baseado em empirismo, pode fazer com que os resultados obtidos não correspondam a
realidade, isso porque o comportamento do motorista é influenciado por diversos fatores,
como pontos de interesse, humor, sexo, idade e não pode ser estimado com uma amostra
estatı́stica.

As principais caracterı́sticas do VeNeM são:

• Software Open Source;

• É simples e fácil de ser utilizado;

• Permite que o usuário utilize traces de mobilidade real, coletados a partir de dis-
positivos de GPS;
VeNeM - Gerador De Mobilidade Veicular Real 47

• Gera padrões de mobilidade respeitando as condições de cada trecho da rota (Ex.:


velocidade, reduções de velocidade);

• Permite que simulações sejam reproduzidas em diferentes condições de tráfego


(Ex.: horário de pico);

• É suportado por um dos mais conceituados simuladores de redes sem fio da atua-
lidade, OMNeT++.

5.4 Considerações Finais

Redes veiculares tem ganhado crescente atenção da comunidade cientı́fica nos últimos
anos. Isso acontece porque há uma crescente preocupação em tornar viagens de carro
mais seguras. Porém, as altas velocidades que os veı́culos se movem introduzem diversos
desafios nesse tipo de rede, o que tem resultado no surgimento de várias propostas de
novos algoritmos.

Avaliar essas propostas em ambiente real é inviável, pois, além do alto custo envol-
vido, seria necessário a mobilização de uma grande quantidade de pessoas. Isso faz com
que pesquisadores recorram a simulações para avaliarem suas propostas, o que imprime
a necessidade de simuladores que reflitam melhor as condições reais. A falta de um
simulador que atenda as necessidades da comunidade cientı́fica é o principal motivador
dessa pesquisa.

A constante evolução tecnológica levou dispositivos de comunicação sem fio a todos


os lugares. Explorar os recursos oferecidos por esses dispositivos (gps, wi-fi, 3G) para
coletar informações de mobilidade tem se tornado cada vez mais fácil. Tais caracterı́sticas
viabilizam a construção de um framework para interligar o mundo simulado ao mundo
real.

O VeNeM é uma ferramenta que permite gerar a mobilidade veı́cular respeitando


parâmetros reais, onde, as decisões do motorista durante a viagem refletem na mobili-
dade gerada, conseguindo assim reproduzir efeitos como comportamento em interseções,
em semáforos, etc. Com isso, juntamente com o OMNeT++, o VeNeM nos permite
reproduzir simulações mais próximas da realidade, o que nos garante melhores resul-
tados ao avaliar o desempenho do protocolo proposto comparando-o com as principais
propostas de protocolos para VANETs presentes na literatura. Tal avaliação pode ser
vista em detalhes no Capı́tulo a seguir.
48
Capı́tulo 6

Resultados e Discussões

6.1 Experimentos

Apesar de ser desejável a avaliação de protocolos de roteamento em ambientes reais, o


alto custo de implementação e a dificuldade em mobilizar pessoal suficiente para realizar
os experimentos tornam inviável tal implementação. Por esse motivo, a comunidade
cientı́fica avalia os protocolos de roteamento através de simulações. Para avaliar o de-
sempenho do RouteSpray, foram realizadas simulações comparando-o com os protocolos
Epidêmico, Spray and Wait e GeOpps, que são os principais protocolos de roteamento
existentes para redes esparsas e redes veiculares.

Para o cenário de simulação foram geradas 16 rotas entre os pontos de interesse da


cidade de Barbacena-MG, no Brasil. Onde, por se tratar de uma cidade que surgiu
e cresceu sem planejamento as ruas e avenidas foram construı́das de forma complexa.
Com isso, o grafo que representa tal cenário não possui nenhum padrão, diferentemente
do grafo de Manhathan. Para a simulação a quantidade de veı́culos variou entre 5 e 100,
gerando redes com diferentes densidades. Simulações cujo número de veı́culos é maior
do que o número de rotas, mais de um veı́culo realiza o mesmo percurso. Nesse caso,
além dos veı́culos serem distribuı́dos de forma uniforme entre as rotas, eles partem em
tempos diferentes. Considerou-se ainda que a velocidade de transmissão é maior do que
a velocidade de locomoção.

Para cada cenário, existe somente uma mensagem sendo entregue na rede ao mesmo
tempo. Ou seja, um veı́culo aleatório gera uma mensagem para um destino também
aleatório. Quando a mensagem alcança o destino, este tem como tarefa gerar uma outra

49
50 Resultados e Discussões

mensagem para outro desistino aleatório. Esse processo se repetea até que o tempo de
simulação chegue ao final. Cada cenário foi repetido 15 vezes, em cada repetição variou-
se a aleatoriedade dos veı́culos. Os resultados apresentados na próxima Seção 6.2 foram
calculados considerando um Intervalo de Confiança de 95%.

As simulações foram realizadas utilizado o framework MiXiM (Kopke, Swigulski,


Wessel, Willkomm, Haneveld, Parker, Visser, Lichte & Valentin 2008), que é uma ex-
tensão ao simulador de redes OMNeT++ (Varga 1999). Simulações de mobilidade
veicular baseadas em modelos de mobilidade randômicos, não correspondem à reali-
dade (Gamess, Acosta & Hernandez 2012). Isso, porque a movimentação dos veı́culos
esta limitada às restrições das ruas e avenidas. Além disso, parâmetros como velocidade
e direção sofrem variações. Por esse motivo, a mobilidade veicular foi gerada utilizando
o software VeNeM (Silva 2012).

Os parâmetros utilizados na simulação podem ser conferidos na Tabela 6.1.

Parâmetros Valores
Tempo de simulação 2700s
Playground X 2.41km
Playground Y 4.05km
Número de nós 5, 10, 25, 50, 75, 100
Valores de L 2, 3, 6, 8, 12, 20
Frequência de banda 2.4GHz
Potência de transmissão 110.11mW
Atenuação de sinal -70dBm
Tamanho do pacote 512bits

Tabela 6.1: Parâmetros utilizados na simulação

No parâmetro tempo de simulação, foi utilizado o valor 2700 segundos por correspon-
der ao tempo necessário para que os veı́culos realizem um percurso circular, passando
por alguns pontos de interesse da cidade. Para o tamanho do playground foi utiliza-
dos os valores retornados pelo software VeNeM, e correspondem ao tamanho necessário
para cobrir todas as rotas. O parâmetro Valores de L varia de acordo com o número
de nós da rede, e respeita os limites mı́nimos sugeridos por (Spyropoulos, Psounis &
Raghavendra 2008b). Já os parâmetros referentes ao meio fı́sico, que são: frequência de
banda, potência de transmissão, atenuação de sinal e Tamanho do pacote, foram confi-
gurados com valores utilizados pelo protocolo 802.11b. O padrão 802.11b foi escolhido
Resultados e Discussões 51

porque o padrão 802.11p que foi projetado para ser utilizado em redes veiculares foi
descontinuado (IEEE 2010).

6.2 Resultados

O desempenho do protocolo RouteSpray foi avaliado segundo as seguintes métricas: (i)


taxa de entrega de mensagens; (ii) ocupação dos buffers; (iii) quantidade de mensagens
enviadas na rede e (iv) atraso médio de entrega das mensagens. A taxa de entrega
de mensagens refere-se ao número de mensagens entregues ao destino, e é importante
para comprovar a eficácia do protocolo. A ocupação dos buffers é definida como a
soma de todas as mensagens armazenadas nos nós da rede, e deve ser analisada porque
dispositivos que são utilizados em redes móveis possuem restrições de armazenamento.
A quantidade de mensagens enviadas na rede é a soma de todas as mensagens enviadas,
incluindo as de controle, e indica a quantidade de transmissões necessárias para garantir
a entrega das mensagens. Já o atraso médio de entrega das mensagens é útil para indicar
a eficiência do algoritmo ao realizar o roteamento.

6.2.1 Taxa de entrega de mensagens

Quando o cenário não impõe restrições de armazenamento, o algoritmo Epidêmico realiza


a entrega de todas as mensagens enviadas, o que o torna uma importante ferramenta de
comparação entre os algoritmos de roteamento. Outro algoritmo conhecido pela comuni-
dade cientı́fica por garantir boas taxas de entrega e provocar menor degradação da rede,
é o Spray and Wait. Apesar de ambos os algoritmos se tratarem de boas fontes de re-
ferências, eles são projetados para redes esparsas, e não se beneficiam das caracterı́sticas
das redes veiculares. Por esse motivo, além do RouteSpray ser comparado com estes dois
algoritmo, ele também é comparado com o algoritmo GeOpss, que é um algoritmo que se
beneficia das rotas dos veı́culos para realizar o roteamento de mensagens. Considerando
que o algoritmo Epidêmico entrega 100% das mensagens enviadas, os algoritmo RouteS-
pray, Spray and Wait e GeOpps entregaram 87,68%, 62,61% e 12,88%, respectivamente.
Os valores obtidos são apresentados mais detalhadamente na Figura 6.1.

A melhor taxa de entrega de mensagens é obtida pelo algoritmo RouteSpray, con-


sequência da utilização das rotas dos veı́culos combinada com a pulverização de múltiplas
cópias de mensagens. Já o algoritmo GeOpps teve o menor desempenho com relação ao
52 Resultados e Discussões

número de mensagens entregues. Tal resultado mostra que os algoritmos de múltiplas


cópias de mensagens superam os algoritmos que utilizam as informações de rotas. Porém,
a combinação das duas caracterı́sticas mostrou-se mais eficiente do que a utilização de
ambas de forma individual.

Figura 6.1: Mensagens entregues na rede.

6.2.2 Ocupação dos buffers

Como mostrado na Figura 6.2, o algoritmo Epidêmico exige que os nós possuam gran-
des capacidades de armazenamento, porque cada nó da rede armazena uma cópia de
cada mensagem transmitida. Essa caracterı́stica pode ser percebida mais claramente
observando-se as transmissões necessárias para a rede com 100 nós onde, para entregar
15 mensagens, o algoritmo Epidêmico armazenou 1493 cópias destas. Já os algoritmos
Spray and Wait e o RouteSpray, provocaram pouca ocupação dos buffers, o que prova
a eficiência da técnica de spray, como podemos ver na Figura 6.3. O algoritmo RouteS-
pray obteve uma ocupação em buffer 87,35% menor do que o Spray and Wait, pois faz
controle das mensagens armazenadas em buffer, apagando as que já foram entregues. A
Resultados e Discussões 53

presença de mensagens nos buffers dos nós do algoritmo RouteSpray é um indicativo de


que a informação de que a mensagem foi entregue ainda não propagou o suficiente para
atingir todos os nós. O fato do algoritmo GeOpps não provocar replicas da mensagem,
faz com que seu uso não tenha impacto sob os buffers dos nós. Tal caracterı́stica pode
ser comprovada observando a Figura 6.3.

Figura 6.2: Ocupação do buffer : comparação entre os três algoritmos

6.2.3 Quantidade de mensagens enviadas na rede

Conforme apresentado, a utilização de mensagens de controle pelo algoritmo RouteS-


pray permite melhorar as taxas de entrega de dados e controlar a ocupação do buffer.
Porém, elas introduzem um custo adicional à rede, provocando um número maior de
transmissões de mensagens. Tal caracterı́stica pode ser vista na Figura 6.4. Porém, as
mensagens de controle possuem uma pequena carga de dados, pois transportam somente
informações das mensagens que já foram entregues na rede, o que faz com que o número
de bytes transmitidos na rede provoque menos impacto do que algoritmos epidêmicos,
cujos todas as mensagens possuem carga de dados. Entretanto, vários recursos (buffers
54 Resultados e Discussões

Figura 6.3: Ocupação do buffer entre os algoritmos que utilizam a técnica de


“spray”.

de enfileiramento de pacotes, canal de transmissão, processamento para calcular rotas


e gerar cabeçalhos, etc) são afetados pelo excesso de transmissões, pois transmissões de
mensagens disputam esses recursos em todos os nós aos quais estão envolvidos.

6.2.4 Atraso médio de entrega das mensagens

O tempo que a mensagem precisa para alcançar o destino é outras caracterı́stica impor-
tante de ser analisada. Com essa informação é possı́vel avaliar a eficiência dos algoritmos
ao rotear as mensagens até seus destinos. Se observarmos a Figura 6.5, veremos que o
algoritmo GeOpps demora mais tempo para entregar a mensagem ao destino, carac-
terı́stica provocada por se tratar de um algoritmo de uma única cópia, o que é esperado,
pois o algoritmo não explora caminhos alternativos aumentando as chances de entre-
gar a mensagem. Já, o fato do algoritmo Epidêmico enviar a mensagem para todos
os caminhos possı́veis faz com que a mensagem siga o menor caminho até o destino
garantindo-lhe o menor tempo de entrega. Ao analisarmos os casos em que a rede tem 5
Resultados e Discussões 55

Figura 6.4: Mensagens enviadas na rede.

e 10 veı́culos, perceberemos que o algoritmo RouteSpray possui tempo médio de entrega


de mensagens maior do que o Algoritmo Spray and Wait, porém, tais valores acontecem
porque o algoritmo RouteSpray entrega mais mensagens. Já nesses casos, o algoritmo
GeOpps não realiza a entrega de nenhuma mensagem, o que justifica a ausência dos
valores no gráfico.
56 Resultados e Discussões

Figura 6.5: Tempo médio de entrega de mensagens.


Capı́tulo 7

Conclusões

7.1 Conclusões e Trabalhos Futuros

Roteamento em redes veiculares ainda é um problema em aberto. Diversos algoritmos


surgem para cenários e condições especı́ficas. Considerando que em redes VANETs temos
recursos que não são presentes em outros tipos de redes, e que com isso conseguimos
informações que podem ser utilizadas no roteamento sem custo adicional à rede, foi
apresentado neste estudo, o algoritmo RouteSpray. Este se mostrou mais eficiente do
que os algoritmos até então apresentados pela comunidade cientı́fica para roteamento
veicular, utilizando como base a rota dos veı́culos.

Apesar do desafio de rotear pacotes por redes altamente dispersas, o que é comum
em redes VANETs, o algoritmo RouteSpray garantiu uma boa taxa de entrega de mensa-
gens, superando algoritmos cuja eficiência já foi comprovada pela comunidade cientı́fica.
Além da boa taxa de entrega de mensagens, o algoritmo RouteSpray demandou pouca
utilização de espaço de armazenamento, podendo ser utilizado em dispositivos com re-
cursos restritos.

O algoritmo RouteSpray tem um boa aplicação em redes onde se conhece a rota dos
veı́culos. Um exemplo prático de uma boa utilização seria em empresas de transporte,
como empresas de ônibus, de táxis ou transportadoras. O algoritmo RouteSpray oferece
a possibilidade de comunicação dinâmica mesmo em situações não rotineiras onde o
roteamento programado falharia, como quando ocorrem atrasos por razão de mudanças
no trânsito, pneu do veı́culo furado, etc.

57
58
Referências Bibliográficas

Allal, S. & Boudjit, S. (2012). Geocast routing protocols for vanets: Survey and gui-
delines, Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS),
2012 Sixth International Conference on, pp. 323–328.

Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst, R., Scott, K., Fall, K. & Weiss,
H. (2007). Delay-tolerant networking architecture, RFC 4838 (Informational).
URL: http://www.ietf.org/rfc/rfc4838.txt

Cerf, V. G., Burleigh, S. C., Hooke, A. J., Torgerson, L., Durst, R. C., Scott, K. L., Fall,
K., Travis, E. J. & Weiss, H. S. (2002). Delay-tolerant network architecture: The
evolving interplanetary internet.
URL: http://www.ipnsig.org/reports/draft-irtf-ipnrg-arch-01.txt

Fall, K. (2003). A delay-tolerant network architecture for challenged internets, Pro-


ceedings of the 2003 Conference on Applications, Technologies, Architectures, and
Protocols for Computer Communications, SIGCOMM ’03, ACM, New York, NY,
USA, pp. 27–34.
URL: http://doi.acm.org/10.1145/863955.863960

Gamess, E., Acosta, L. & Hernandez, D. (2012). Analyzing routing protocol perfor-
mance versus bitrate in vehicular networks, Global Information Infrastructure and
Networking Symposium (GIIS), 2012, pp. 1–4.

IEEE (2010). IEEE Standard Association.


URL: http://standards.ieee.org/findstds/standard/802.11p-2010.html

Jarupan, B. & Ekici, E. (2010). Prompt: A cross-layer position-based communication


protocol for delay-aware vehicular access networks, Ad Hoc Netw. 8(5): 489–505.
URL: http://dx.doi.org/10.1016/j.adhoc.2009.12.006

59
60 REFERÊNCIAS BIBLIOGRÁFICAS

Johnson, D. & Maltz, D. (1996). Dynamic source routing in ad hoc wireless networks,
in T. Imielinski & H. Korth (eds), Mobile Computing, Vol. 353 of The Kluwer
International Series in Engineering and Computer Science, Springer US, pp. 153–
181.

Karp, B. & Kung, H. T. (2000). Gpsr: greedy perimeter stateless routing for wireless
networks, Proceedings of the 6th annual international conference on Mobile compu-
ting and networking, MobiCom ’00, ACM, New York, NY, USA, pp. 243–254.

Kopke, A., Swigulski, M., Wessel, K., Willkomm, D., Haneveld, P. T. K., Parker, T.
E. V., Visser, O. W., Lichte, H. S. & Valentin, S. (2008). Simulating wireless and
mobile networks in omnet++ the mixim vision, Proceedings of the 1st internati-
onal conference on Simulation tools and techniques for communications, networks
and systems & workshops, Simutools ’08, ICST (Institute for Computer Sciences,
Social-Informatics and Telecommunications Engineering), ICST, Brussels, Belgium,
Belgium, pp. 71:1–71:8.
URL: http://dl.acm.org/citation.cfm?id=1416222.1416302

Lee, K. & Gerla, M. (2010). Opportunistic vehicular routing, Wireless Conference (EW),
2010 European, pp. 873–880.

Lee, K., Haerri, J., Lee, U. & Gerla, M. (2007). Enhanced perimeter routing for ge-
ographic forwarding protocols in urban vehicular scenarios, Globecom Workshops,
2007 IEEE, pp. 1–10.

Leontiadis, I. & Mascolo, C. (2007). Geopps: Geographical opportunistic routing for


vehicular networks, IEEE International Symposium on a World of Wireless, Mobile
and Multimedia Networks (WoWMoM 2007), pp. 1–6.

Li, F. & Wang, Y. (2007). Routing in vehicular ad hoc networks: A survey, IEEE
Vehicular Technology Magazine 2(2): 12–22.

Lochert, C., Mauve, M., Fussler, H. & Hartenstein, H. (2005). Geographic routing in
city scenarios, SIGMOBILE Mob. Comput. Commun. Rev. 9(1): 69–72.
URL: http://doi.acm.org/10.1145/1055959.1055970

Luo, Y., Zhang, W. & Hu, Y. (2010). A new cluster based routing protocol for vanet,
Networks Security Wireless Communications and Trusted Computing (NSWCTC),
2010 Second International Conference on, Vol. 1, pp. 176–180.
REFERÊNCIAS BIBLIOGRÁFICAS 61

Naumov, V. & Gross, T. (2007). Connectivity-aware routing (car) in vehicular ad-


hoc networks, INFOCOM 2007. 26th IEEE International Conference on Computer
Communications. IEEE, pp. 1919–1927.

Oliveira, C. T. (2007). Redes Tolerantes a Atrasos e Desconexões., Sociedade Brasileira


de Computação (SBC).

Perkins, C. & Royer, E. (1999). Ad-hoc on-demand distance vector routing, Second IEEE
Workshop on Mobile Computing Systems and Applications (WMCSA), pp. 90–100.

Schmilz, R., Leiggener, A., Festag, A., Eggert, L. & Effelsberg, W. (2006). Analysis of
path characteristics and transport protocol design in vehicular ad hoc networks,
Vehicular Technology Conference, 2006. VTC 2006-Spring. IEEE 63rd, Vol. 2,
pp. 528–532.

Scott, K. & Burleigh, S. (2007). Bundle protocol specification, RFC 5050 (EXPERI-
MENTAL).
URL: http://www.ietf.org/rfc/rfc5050.txt

Seet, B.-C., Liu, G., Lee, B.-S., Foh, C.-H., Wong, K.-J. & Lee, K.-K. (2004). A-
star: A mobile ad hoc routing strategy for metropolis vehicular communications, in
N. Mitrou, K. Kontovasilis, G. Rouskas, I. Iliadis & L. Merakos (eds), Networking
2004, Vol. 3042 of Lecture Notes in Computer Science, Springer Berlin Heidelberg,
pp. 989–999.

Silva, M. J. (2012). VeNeM: vehicular network mobility.


URL: https://github.com/badriciobq/VeNeM/

Skordylis, A. & Trigoni, N. (2008). Delay-bounded routing in vehicular ad-hoc networks,


Proceedings of the 9th ACM International Symposium on Mobile Ad Hoc Networking
and Computing, MobiHoc ’08, ACM, New York, NY, USA, pp. 341–350.
URL: http://doi.acm.org/10.1145/1374618.1374664

Spyropoulos, T., Psounis, K. & Raghavendra, C. (2008a). Efficient routing in intermit-


tently connected mobile networks: The single-copy case, Networking, IEEE/ACM
Transactions on 16(1): 63–76.

Spyropoulos, T., Psounis, K. & Raghavendra, C. S. (2008b). Efficient routing in inter-


mittently connected mobile networks: the multiple-copy case, IEEE/ACM Trans.
Netw. 16(1): 77–90.
62 REFERÊNCIAS BIBLIOGRÁFICAS

Tanenbaum, A. (2003). Redes de computadoras, Editorial Alhambra S. A. (SP).

Taysi, Z. & Yavuz, A. (2012). Routing protocols for geonet: A survey, Intelligent Trans-
portation Systems, IEEE Transactions on 13(2): 939–954.

Tchakountio, F. & Ramanathan, R. (2001). Tracking highly mobile endpoints, Pro-


ceedings of the 4th ACM international workshop on Wireless mobile multimedia,
WOWMOM ’01, ACM, New York, NY, USA, pp. 83–94.

Toor, Y., Muhlethaler, P. & Laouiti, A. (2008). Vehicle ad hoc networks: applications
and related technical issues, Communications Surveys Tutorials, IEEE 10(3): 74–
88.

Vahdat, A. & Becker, D. (2000). Epidemic routing for partially-connected ad hoc


networks, Technical report.

Varga, A. (1999). Using the omnet++ discrete event simulation system in education,
IEEE Transactions on Education 42(4): 11 pp.–.

Voyiatzis, A. (2012). A survey of delay- and disruption-tolerant networking applications,


Journal of Internet Engineering, 5(1): 331–344.

Zhao, J. & Cao, G. (2008). Vadd: Vehicle-assisted data delivery in vehicular ad hoc
networks, Vehicular Technology, IEEE Transactions on 57(3): 1910–1922.