Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Jo˜o Gon¸alves Filho
a
c

7 de janeiro de 2014

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

1

Caracter´
ısticas e Problemas

3

Camadas

4

Network Simulator 3 (ns-3)

5

Network Simulator 3 (ns-3)

Defini¸˜o e Hist´rico
ca
o

2

Camadas

Referˆncias
e

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Defini¸˜o
ca

Uma rede sem fio ad hoc m´vel(MANET) ´ uma rede formada por
o
e
dispositivos m´veis que se comunicam sem a necessidade de uma
o
infra-estrutura.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Hist´rico
o

As pesquisas em redes sem fio ad hoc m´veis iniciaram-se em 1972
o
com o projeto PRNet(Packet Radio Network) desenvolvido pela
Darpa(Defense Advanced Research Projects Agency).
PRNet − > ALOHA, CSMA, DSSS, Algoritmo de Vetor Distˆncia,
a
Aplica¸˜o Militar.
ca
1983 PRNet Estendido para SURAN (Survivable Radio Networks)
com objetivo de resolver problemas pendentes no PRNet, tais como
escabilidade, seguran¸a, gerenciamento de processamento e de
c
energia, trabalho com clusters dinˆmicos e Low-cost Packet Radio
a
(LPR) technology.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Hist´rico
o

Na d´cada de 90 essas redes foram inclu´ no IEEE 802.11 e termo
e
ıda
ad hoc substituiu o packet radio network.
Surgimento de interesse de aplica¸˜es n˜o militares.
co
a
Programa Global Mobile Information System (GloMo).
Protocolo IEEE 802.11a.
Protocolo IEEE 802.11b.
Protocolo IEEE 802.11g.
Hist´rico extra´ em [2].
o
ıdo

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Caracter´
ısticas e Problemas

Herda todos os problemas de uma rede sem fio:
O meio sem fio ´ significantemente menos confi´vel do que uma
e
a
rede com fio.
O canal ´ desprotegido de sinais externos.
e
Problema do terminal oculto.
O canal sofre varia¸˜o no tempo possui propriedades de propaga¸˜o
ca
ca
assim´trica.
e

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Caracter´
ısticas e Problemas

Autonomia e ausˆncia de infra-estrutura
e
Topologia dinˆmica.
a
Roteamento distribu´ atrav´s de m´ltiplos saltos (n´s).
ıdo
e
u
o
Instala¸˜o r´pida e com baixo custo.
ca a
Largura de banda limitada, enlaces com capacidade vari´vel
a
Opera¸˜o com restri¸˜o de energia.
ca
ca
Seguran¸a f´
c ısica limitada.
Escalabilidade da rede.
Caracter´
ısticas extra´ em [2].
ıdo

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Arquitetura Simplificada de MANET

As 3 principais ´reas como podem ser vistas: As tecnologias
a
dispon´
ıveis, redes, Middleware e Aplica¸˜o [3].
ca
Temos as seguintes quest˜es que fometam as pesquisas em MANET:
o
Gerenciamento de energia, Seguran¸a, Qualidade de Servi¸o,
c
c
Roteamento, Acesso ao meio.
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Aplica¸oes
c˜

Inicialmente desevolvida para aplica¸˜es militares, mas com avan¸os
co
c
da pesquisa aplica¸˜es civis e comerciais tamb´m passaram a ser de
co
e
interesse.
Redes T´ticas: Comunica¸˜o em operac˜es militares, batalhas
a
ca
o
automatizadas.
Redes Sensores: Monitoramento de residˆncias, Medi¸˜o de
e
ca
parˆmetros como umidade, temperatura, radia¸˜o nuclear.
a
ca
Emergˆncia: Opera¸˜o de busca e resgate, Substitui¸˜o da
e
ca
ca
infra-estrutura fixa em caso desastres como furac˜es, terremotos.
o
Aplica¸˜es Educacionais: Cria¸˜o de uma rede de comunica¸˜o
co
ca
ca
r´pida em conferˆncia, encontros, palestras.
a
e

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Camada de Transporte

Em geral utiliza-se TCP ou UDP.
A pesquisa ataca a quest˜o de como se usar TCP em MANET, visto
a
que a proposta original dele era para redes cabeadas, nesse caso o
TCP enfrenta uma s´rie de Problemas.
e
Redes cabeadas possuem poucas taxas de erros.
Redes sem fio possuem altas taxas de erros.
O problema do TCP ´ que ele n˜o sabe o que causa as percas de
e
a
pacotes, isso pode causar diminui¸˜o desnecess´ria da janela de
ca
a
congestionamento, degradando o desempenho dele.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

´
Principais Areas de Pesquisa em Cima do Problema do
TCP

Impacto da Mobilidade
A mobilidade pode causar falhas nas rotas, causando perca de
pacotes e aumento dos atrasos.
O TCP interpreta erroneamente essas percas como
congestionamento.
Causa degrada¸˜o na vaz˜o.
ca
a
Restransmiss˜es desnecess´rias durante a reconstru¸˜o da tabela de
o
a
ca
rotas.
Saber solucionar esses problemas ´ importante para conseguir atingir
e
uma boa vaz˜o com TCP.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Impacto da Mobilidade

No trabalho realizado em [1] foi projeto um protocolo TCP chamado
R-TCP, um TCP de referˆncia que usando informa¸˜es do trace
e
co
simulador(ns-2), consegue saber em tempo de execu¸˜o o que
ca
causou a perca do pacote e assim tomar a melhor decis˜o baseado
a
no TPC-NewReno.
Uma das simula¸˜es realizadas nesse trabalho mostra o impacto da
co
mobilidade no desempenho do TCP.
A simula¸˜o foi configurada com os n´s fonte e destino e os outros
ca
o
n´s se movendo com 5m/s.
o

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Impacto da Mobilidade

Figura: Primeira figura possui apenas congestionamento, a segunda apresenta
mobilidade

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

´
Principais Areas de Pesquisa em Cima do Problema do
TCP

Impactos da camada MAC - Intera¸˜o Entre os N´s
ca
o
Mesmo quando todos os n´s s˜o est´ticos, o desempenho do TCP
o a
a
pode ficar longe do ideal.
A esta¸˜o ´ limitada pela atividade dos esta¸oes vizinhas no mesmo
ca e
c˜
TX Range, IF Range e PCS Range.
Disputas de acesso ao meio pode causar starvation em alguma
esta¸˜o, causando estouro no temporizador e consequentemente
ca
causar retransmiss˜es e altera¸oes na janela de congestionamento.
o
c˜
A camada MAC 802.11 tem um desempenho melhor quando os n´s
o
fonte e destino est˜o mais pr´ximos.
a
o

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

´
Principais Areas de Pesquisa em Cima do Problema do
TCP

Impactos da camada MAC - Intera¸˜o do TCP com 802.11
ca
Os problemas dessa intera¸˜o surgi no ambiente de multi-hop.
ca
Ocorrem problemas devido ` m´ltiplos fluxos TPCs.
a u
A vaz˜o fica muito inst´vel.
a
a
Esse problema pode ser contornado com calibra¸˜o adequada da
ca
janela de congestionamento.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Impactos da Camada MAC

Figura: Primeira problema do multi-hop , a segunda figura janela de
congestionamento

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

´
Principais Areas de Pesquisa em Cima do Problema do
TCP

Impactos da Camada MAC - Erro de Canal
Os erros de canais de uma rede sem fio s˜o bem maiores do que
a
numa rede cabeada. Nesse caso o TCP precisa saber alguma forma
de identificar quando a camada MAC esta passando por erros de
canal.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Impactos da Camada MAC - Erro de Canal

Figura: Primeira figura sem erro de canal, a segunda com erro de canal

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Quais Caracter´
ısticas deve ter um TCP ideal para MANET

Conseguir Identificar a real raz˜o de perca de pacote:
a
Mudan¸a de rota devido mobilidade.
c
Erro de canal.
Congestionamento.

Saber contornar problemas da camada MAC.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

TCP para MANET

ATCP - Ad Hoc TCP [4]
O objetivo dos autores ao desenvolver o ATCP era fornecer uma
solu¸˜o completa para executar o TCP em cima de uma rede sem fio
ca
com m´ltiplos saltos.
u
O ATCP se utiliza de feedback da rede para inferir desconex˜o
a
(Destination Unreachable ICMP) e congestionamento(ECN).
Funciona colocando uma camada entre o TCP e camada de rede,
dessa forma ele pode interferir nas decis˜es do TCP e manter
o
compatibilidade.
Coloca o TCP em modo persistente quando est´ no estado de perda
a
ou desconex˜o.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Caracter´
ısticas do ATCP

Fornecer um bom desempenho em uma MANET:
Em caso de alta taxa de erros: simplesmente retransmitir pacotes
perdidos sem diminuir a janela de congestionamento.
Em caso de mudan¸a de rotas: o remetente deve parar a transmiss˜o
c
a
e recome¸ar quando uma nova rota for encontrada.
c
Em caso de parti¸˜o transit´ria: Deve se comportar da mesma forma
ca
o
como dito acima.
Em caso de m´ltiplas rotas: Nesse caso quando TCP recebe ACKs
u
duplicados ele n˜o deve invocar o controle de congestionamento.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Caracter´
ısticas do ATCP
Manter o comportamento do controle de congestionamento
do TCP
O ATCP deve funcionar como um TCP normal quando o
congestionamento realmente estiver acontecendo.

Ter um comportamento apropriado para janela de
congestionamento
No caso de mudan¸a de rota o tamanho da janela deve ser
c
reajustado.

Manter a Semˆntica Fim-a-Fim do TCP
a
A conex˜o do TCP deve ser mantida.
a

Compatibilidade com TCP padr˜o
a
N˜o ´ obrigado que todas as m´quinas usem o ATCP, alguma delas
a e
a
podem estar usando o TCP padr˜o.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Funcionamento do ATCP

Figura: M´quina de estados do ATCP
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Funcionamento do ATCP

Estado Normal
Conta o n´mero de ACKs, o terceiro ACK n˜o ´ encaminhado para o
u
a e
TCP, da mesma forma quando acontece um estouro do
temporizador, ele n˜o invoca o tratamento de congestionamento,
a
simplesmente coloca o TCP em persistente e no estado de perca.

Estado de Perca
O ATCP retransmiti todos os segmentos n˜o reconhecidos que estam
a
no buffer do TCP, dessa vez o ATCP mant´m o seu pr´prio
e
o
temporizador.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Funcionamento do ATCP

Estado de Congestionamento
Para entrar nesse estado basta que o remetente receba uma
notifica¸˜o ECN dentro de um ACK. Nesse estado todo o trabalho ´
ca
e
passado para o TCP.

Estado de Desconex˜o
a
Uma notifica¸˜o ICMP Destination Unreachable faz o ATCP entrar
ca
nesse estado, quando isso acontece o TCP ´ colocado em persistente
e
at´ que um novo ACK duplicado chegue indicando que uma nova
e
rota foi estabelecida. O valor da janela vai para um, para que o TCP
sonde um novo valor para janela.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Camada de Rede

A camada de rede deve fornecer meios para cobrir problemas de
Auto-organiza¸˜o, rede dinˆmica, instabilidade
ca
a
Nesse caso os protocolos devem ser novamente projetados.

O objetivo de um protocolo de rede ´ usar transmiss˜o de salto a
e
a
salto fornecida pela tecnologia do meio e construir um caminho
fim-a-fim entre fonte e destino.
Para isso ´ necess´rio um servi¸o de localiza¸˜o.
e
a
c
ca
Uma vez que a localiza¸˜o foi feita podemos ent˜o aplicar os
ca
a
algoritmos de roteamento atrav´s da MANET.
e

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Roteamento e Encaminhamento Ad-Hoc
Dificuldades como alto dinamismo e frequentes mudan¸as na
c
topologia da rede causam dificuldade na comunica¸˜o entre os n´s
ca
o
da rede, fazendo com que a ´rea de roteamento seja a mais atacada
a
na pesquisa.
Podemos classificar preliminarmente os protocolos de roteamento
pela propriedade “cast”.
Broadcast: Cada mensagem ´ transmitida geralmente para todos os
e
n´s dentro do raio de transmiss˜o.
o
a
´
Unicast: E a comunica¸˜o um a um.
ca
Multicast: Nesse caso a mensagem ´ transmitida para um grupo de
e
n´s.
o
Geocast: A mensagem s´ recebida por n´s de uma determinada
o
o
regi˜o.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Broadcast em MANET

Podemos utilizar broadcast em MANET basicamente para RREQ
(Routing Request) com finalidade de procurar rotas para um
determinado n´ e para dissemina¸˜o de mensagens que ´ mais
o
ca
e
utilizado em VANET.
Uma abordagem trivial seria o uso de uma inunda¸˜o cega, mas que
ca
gera o problema do broadcast storm
As t´cnicas de broadcast no campo da pesquisa est´ voltado para o
e
a
controle de redudˆncia para atenuar o prolema do broadcast storm.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Weighted p-persistence
Regra: Ap´s receber um pacote do n´ i, o n´ j checa o ID do
o
o
o
pacote e faz um rebroadcast com com probabilidade pi,j se for a
primeira vez que o pacote foi recebido. Caso contr´rio o pacote ´
a
e
descartado.
pi,j =

Di,j
R

Onde Di,j ´ a distˆncia entre i e j, R ´ o raio de alcance.
e
a
e
Se o n´ j n˜o fizer o rebroadcast ele guarda a mensagem no buffer e
o
a
espera o WAIT TIME + δ, (onde δ ´ o atraso de propaga¸˜o de um
e
ca
salto tipicamente menor que WAIT TIME ) , ent˜o o n´ j faz um
a
o
rebroadcast da mensagem com probabilidade 1, se ele n˜o escutar
a
algu´m transmitindo.
e
Se o n´ j receber pacote duplicado de m´tiplas fontes durante o
o
u
WAIT TIME ele escolhe o que tiver menor probabilidade.
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Slotted 1-persistence scheme

Regra: Ap´s receber um pacote o n´ checa o ID do pacote e faz um
o
o
rebroadcast com probabilidade 1 no tempo atribu´ Tsi,j , se ele
ıdo
estiver recebendo o pacote pela primeira vez.
Tsi,j = Si,j x δ
Di,j
Si,j = Ns (1 − R ); Di,j ; ≤ R;
Si,j = 0; Di,j > R
Onde Ns ´ o n´mero de slots utizados e Si,j ´ o n´mero do slot.
e
u
e
u
Pode-se usar tamb´m a abordagem Slotted p-Persistence
e
Broadcasting, onde junta as duas ideias.
O tempo de espera muda para (Ns − 1)xWAIT TIME + δ.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Figura: [5]
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Roteamento Unicast
O objetivo prim´rio dos protocolos de roteamento unicast ´
a
e
estabelecer de maneira correta e eficiente uma rota entre dois pares
de n´s para que a mensagem possa entregue de maneira correta e
o
oportuna.
Os protocolos para internet n˜o s˜o adequados para o ambiente
a a
MANET, pois eles foram projetados para topologias est´ticas, al´m
a
e
disso os n´s possuem abundˆncia de recursos.
o
a
Os protocolos de roteamento MANET operam em um ambiente com
topologia altamente dinˆmica e pode conter restri¸˜es de recursos.
a
co
Essas restri¸˜es tais como de energia/largura de banda levam a
co
conduzir a um conjunto de caracter´
ısticas desej´veis tais como:
a
controle de overhead, controle de loop, r´pido estabelecimento de
a
rota e manuten¸˜o.
ca

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Roteamento Proativo e Roteamento Reativo

Podemos dividir os protocolos de roteamento unicast em reativos e
proativos.
Proativos: Nesse caso os protocolos tentam manter informa¸˜es
co
atualizadas para cada todos os n´s da rede, propagando mensagens
o
proativas em intervalos fixos de tempo. As informa¸˜es ficam
co
armazenadas em uma tabela de rotas.
Reativos: De maneira diferente, nesse caso as rotas s˜o montadas
a
apenas que o n´ fonte inicia uma descoberta de rota por meio de
o
uma requisi¸˜o de rota, uma vez que a rota ´ estabelecida ela ´
ca
e
e
mantida at´ que o n´ destino fica inacess´
e
o
ıvel, a rota n˜o seja mais
a
utilizada ou simplesmente expirar.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Roteamento Proativo: DSDV

O Destination Sequenced Distance Vector (DSDV) [6] ´ um
e
protocolo de roteamento proativo que ´ uma modifica¸˜o do
e
ca
tradicional algoritmo de roteamento Bellman-Ford.
Ele adiciona um n´mero de sequˆncia para cada entrada da tabela,
u
e
isso para auxiliar na mobilidade da rede.
Cada n´ da rede armazena uma tabela de roteamento, contendo
o
todos os destinos poss´
ıveis com pr´ximo vizinho que a mensagem
o
deve ser encaminhada para chegar ao destino.
As informa¸˜es de roteamento s˜o trocadas por meio de mensagens
co
a
broadcast que s˜o trocadas em intervalos de tempos determinado.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

DSDV: Bellman-Ford

A equa¸˜o de Bellman-Ford ´ utilizada, pois estamos usando
ca
e
algoritmo de vetor de distˆncias:
a
dx (y ) = minv {c(x, y ) + dv (y )}
Onde dx (y ) ´ o menor caminho entre x e y e minv ´ calculado para
e
e
os vizinhos que atualizam as informa¸˜es da tabela roteamento com
co
entrada que possui o mesmo n´mero de sequˆncia.
u
e

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

0

inf

B

B

0

0

C

C

0

inf

D

D

0

inf
D

D

D

P

S

M

A

A

0

B

0

inf

D

P

S

C

0

inf

A

A

0

D

0

inf

B

B

0

C

0

D

0

inf

C

C

0

inf

D

0

0

0

D

0

inf

C

B

inf

D

inf

B

M

C

M

0

0

B

S

A

D

A

P

A

B

inf

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

0

0

C

C

0

inf

D

D

0

inf
D

D

D

P

S

M

A

A

2

B

0

inf

D

P

S

C

0

inf

A

A

0

D

0

inf

B

B

0

C

0

D

0

inf

C

C

0

inf

D

0

0

0

D

0

inf

C

B

inf

D

inf

B

M

C

M

0

0

B

S

A

D

A

P

A

B

inf

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

0

0

C

C

0

inf

D

D

0

inf
D

D

D

P

S

M

A

A

2

B

0

inf

D

P

S

C

0

inf

A

A

0

D

0

inf

B

B

0

C

0

D

0

inf

C

C

0

inf

D

0

0

0

D

0

inf

C

B

inf

D

inf

B

M

C

M

0

0

B

S

A

D

A

P

A

B

inf

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

2

0

C

C

0

inf

D

D

0

inf
D

D

D

P

S

M

A

A

2

B

2

1

D

P

S

C

0

inf

A

B

2

D

0

inf

B

B

2

C

0

D

0

inf

C

C

0

inf

D

0

0

0

D

0

1

C

B

2

D

inf

B

M

C

M

0

0

B

S

A

D

A

P

A

B

inf

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

2

0

C

C

0

inf

D

D

0

inf
D

D

D

P

S

M

A

A

2

B

2

1

D

P

S

C

0

inf

A

B

2

D

0

inf

B

B

2

C

0

D

0

inf

C

C

0

inf

D

0

0

0

D

0

1

C

B

2

D

inf

B

M

C

M

0

0

B

S

A

D

A

P

A

B

inf

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

2

0

C

C

0

inf

D

D

0

inf
D

D

D

P

S

M

A

A

2

B

2

1

D

P

S

C

0

inf

A

B

2

D

0

inf

B

B

2

C

0

D

2

inf

C

C

0

inf

D

2

0

0

D

0

1

C

B

2

D

inf

B

M

C

M

0

0

B

S

A

D

A

P

A

B

1

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

2

0

C

C

0

inf

D

D

0

inf
D

D

D

P

S

M

A

A

2

B

2

1

D

P

S

C

0

inf

A

B

2

D

0

inf

B

B

2

C

0

D

2

inf

C

C

0

inf

D

2

0

0

D

0

1

C

B

2

D

inf

B

M

C

M

0

0

B

S

A

D

A

P

A

B

1

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

2

0

C

C

2

1

D

D

2

2
D

D

D

P

S

M

A

A

2

B

2

1

D

P

S

C

0

inf

A

B

2

D

0

inf

B

B

2

C

2

D

2

2

C

C

2

1

D

2

0

0

D

2

1

C

C

2

D

3

B

M

C

M

2

0

B

S

C

D

A

P

A

B

1

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Exemplo de Funcionamento

D

P

S

M

A

A

2

1

B

B

2

0

C

C

2

1

D

D

2

2
D

D

D

P

S

M

A

A

2

B

2

1

D

P

S

C

0

inf

A

B

2

D

0

inf

B

B

2

C

2

D

3

inf

C

C

3

inf

D

2

0

0

D

3

1

C

C

2

D

inf

B

M

C

M

3

0

B

S

C

D

A

P

A

B

inf

Jo˜o Gon¸alves Filho
a
c

C

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

DSDV: Vantanges e Desvantagens

Vantagens:
´
E livre de loops.
Seleciona apenas o melhor caminho, causando um menor tamanho
da tabela de roteamento.

Desvantagens:
Dificuldade em manter um rede muito larga.
Gasto muito grande da largura de banda, na troca de informa¸oes de
c˜
roteamento.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Protocolo Reativo: AODV
AODV - Ad-hoc On-Demand Distance Vector [7] ´ um protocolo
e
reativo simples, onde um n´ fonte quando precisa enviar uma
o
mensagem para um n´ destino, ele antes faz uma descoberta de de
o
rota por meio de um RREQ que ´ respondido por um RREP com a
e
rota para o destino.
Utiliza ideias vindas do DSR para montagem de rota sobre demanda
e manuten¸˜o e tamb´m do DSDV em rela¸˜o aos n´meros de
ca
e
ca
u
sequˆncia para auxiliar nas informa¸˜es de roteamento.
e
co
Os Objetivos do protocolo s˜o:
a
Fazer uso de broadcast para descoberta de rotas, apenas quando
necess´rio.
a
Saber diferenciar entre gerenciamento de conectividade local
(detec¸˜o de vizinhos) e manuten¸˜o geral de topologia.
ca
ca
Disseminar informa¸˜es sobre mudan¸as da conectividade.
co
c
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

AODV: RREQ e RREP
A mensagem de requisi¸˜o RREQ serve para que o n´ fonte requisite
ca
o
rota quando precisar. Ele cont´m os seguintes campos:
e
<source addr; source sequence; broadcast id; dest addr; dest
sequence; hop cnt>
source addr com broadcast id identificam o RREQ.
O source sequence ´ usado para manter atualizada as informa¸oes a
e
c˜
cerca da rota reversa.
O dest sequence identifica o qu˜o ´ atualizado ´ uma rota para o
a e
e
destino.

Quando o destino ´ encontrado a mensagem RREP ´ criado e
e
e
propagada at´ a fonte por meio do caminho reverso, ela cont´m os
e
e
seguintes campos:
<source addr; dest addr; dest sequence; hop cnt; lifetime>

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

AODV: Descoberta de Rota

Para descoberta de rota s˜o montados dois caminhos, o primeiro ´ o
a
e
de rota reversa que serve para propagar a mensagem de RREP de
volta ao n´ fonte. O funcionamento ´ da seguinte forma, toda vez
o
e
que um n´ refaz um rebroadcast de um RREQ e guarda o endere¸o
o
c
do primeiro vizinho que receber o RREQ.
O outro caminho ´ o da rota por onde a mensagem vai fluir at´ o
e
e
destino, nesse caso quando a mensagem RREP chega ao n´ fonte,
o
todo o caminho fica montado ao longo dos n´s que montaram sua
o
tabela de rota.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

AODV: Descoberta de Rota

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

AODV: Passos para Descoberta de Rota

S

A

B

C

D

E

F

Jo˜o Gon¸alves Filho
a
c

G

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

AODV: Passos para Descoberta de Rota, baseado em [8]
1: O n´ fonte S tem uma mensagem para enviar para o n´ destino.
o
o
2: S envia a mensagem RREQ para os seus vizinhos A, B e C.
3: B encontra o caminho na sua tabela de roteamento ( com
n´mero de sequˆncia de destino 1 e n´mero de saltos c1), ent˜o
u
e
u
a
envia um RREQ de volta para o n´ S.
o
4 e 5: Como o n´ C n˜o encontra o destino, ent˜o ele seta o
o
a
a
caminho reverso e reenvia a RREQ para os seus vizinhos D e E.
6 e 7: O n´ E repete o mesmo processo de C.
o
8: Os n´s F e G n˜o retornam nada para o n´ E, nesse caso E ap´s o
o
a
o
o
tempo de expira¸˜o o n´ E apaga a entrada para o caminho reverso.
ca
o
9: D encontra o caminho para o destino ( com n´mero de sequˆncia
u
e
de destino 2 e n´mero de saltos c1), em sua tabela ent˜o responde
u
a
com RREP para o n´ C.
o

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

AODV: Passos para Descoberta de Rota, baseado em [8]

10: Ent˜o configura a rota de encaminhamento e encaminha o
a
RREP para S.
11: A configura o caminho reverso e reencaminha o RREQ para seus
vizinhos, ent˜o recebe um RREP com n´mero de sequˆncia destino
a
u
e
0 e n´mero de saltos c2 que ´ maior que c1 e ent˜o encaminha para
u
e
a
o n´ fonte.
o
12: Ent˜o S escolhe dentre os caminhos, a rota devolvida por C que
a
foi originalmente obtida atrav´s de D, pois ela cont´m o maio
e
e
n´mero de sequˆncia e menor n´mero de saltos.
u
e
u
Para manuten¸˜o das rotas, sempre que ´ dectado um quebra de
ca
e
link s˜o propagadas mensagens de RREP n˜o solicitadas, com valor
a
a
de n´mero de saltos ∞ e n´mero de sequˆncia atualizado.
u
u
e

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Explorando o AODV

O protocolo AODV deixa aberto v´rios campos que podemos
a
explorar com intuito de prover melhorias ao protocolo ou at´ mesmo
e
adapta-lo para ambientes com outras restri¸˜es. Por exemplo
co
implementar um novo tipo AODV que utilize uma outra m´trica
e
para saber qual melhor rota. Na literatura de protocolos de
roteamento o AODV tem sido usado como base.
Um trabalho publicado no Larces utiliza l´gica fuzzy para prover
o
uma melhoria no AODV. A ideia foi atacar a quest˜o do intervalo de
a
mensagens HELLO, utilizando a seguinte regra: quanto maior for a
rota, maior ser´ a probabilidade de haver uma quebra na rota, ent˜o
a
a
´ utilizado essa regra para calibrar um valor entre 0 e 1 que indicar´
e
a
quanto ser´ o intervalo das mensagens HELLO.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Roteamento Multicast

No roteamento multicast apenas um subgrupo ir´ receber um
a
determinado pacote.
As pesquisas de roteamento multicast em MANETs come¸aram por
c
adaptar abordagens usadas na internet.
As duas abordagens usadas s˜o:
a
Roteamento multicast usando uma ´rvore compartilhada pelo grupo:
a
nesse caso semelhante ao broadcast de spanning tree, o roteamento
´ feito por meio de uma ´rvore que ´ compartilhada por todo grupo.
e
a
e
Roteamento multicast usando uma ´rvore baseada na fonte: Nesse
a
caso uma ´rvore ´ construida para cada n´ fonte do grupo. Usa-se o
a
e
o
broadcast pelo caminho inverso com poda.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Roteamento Multicast

No ambiente MANET dois tipos b´sicos de roteamento de multicast
a
s˜o utilizados:
a
Baseado Em ´rvore: onde por meio de uma ´rvore ´ construido um
a
a
e
unico caminho entre fonte e destino. Sendo assim fica bem eficiente
´
no requisito a vaz˜o de dados.
a
Baseado em malha: nesse existem v´rios caminhos entre fonte e
a
destino, ele robusto conseguindo atingir boas taxas de entrega dos
pacotes, mas acaba causando um overhead maior na rede

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

MAODV - Multicast AODV [9]
´
E uma extens˜o do protocolo AODV.
a
Ele funciona compartilhando uma ´rvore broadcast para cada grupo
a
multicast.
Em rela¸˜o ao AODV apenas um novo tipo de mensagem de
ca
necess´ria, a mensagem multicast de ativa¸˜o (MACT), que serve
a
ca
para que um novo n´ possa se associar ao grupo multicast
o
Como ele utiliza a ideia de uma ´rvore compartilhada, se faz
a
necess´rio a n´ l´
a
o ıder para gerenciar o grupo, mas como inicialmente
um n´ se torna l´
o
ıder?
Um n´ que quer associar a um determinado grupo multicast faz
o
RREQ rreqletries total rebroadcasts vezes e falha, ent˜o conclui que
a
n˜o existe nenhum n´ no grupo, ent˜o se torna o l´
a
o
a
ıder.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

MAODV - Tipos de n´
o

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

MAODV - Associando ` um grupo
a

Suponha que o n´ S queira se juntar ao grupo, ele precisa:
o
1: Criar uma mensagem RREQ para localizar o n´ l´
o ıder. Essa
mensagem ser´ unicast caso o n´ contenha registrado o n´ l´
a
o
o ıder em
seus registros. caso contr´rio ´ feito um RREQ por meio de
a e
broadcast.
2: Quando um n´ pertencente a ´rvore receber o RREQ, ele
o
a
responde ent˜o com RREP de volta para fonte, podemos perceber
a
que da mesma forma do AODV tradicional, v´rios caminhos reversos
a
podem ser montados.
3: A rota ´ escolhida baseado no n´mero de saltos, ent˜o a
e
u
a
mensagem MACT ´ feita para que o n´ S entre no grupo.
e
o

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

ns-3

O ns-3 ´ um simulador de redes baseado em eventos discretos
e
desenvolvido especialmente para pesquisa e uso educacional. O
projeto ns-3 iniciou em 2006 e tem seu c´digo aberto.
o
O ns-3 n˜o ´ uma extens˜o do ns-2.
a e
a
No ns-3, todo o simulador ´ escrito em C++ com suporte opcional a
e
Python. Desta forma, os c´digos de simula¸˜o podem ser escritos
o
ca
somente em C++ ou Python.
O an´lise de pacotes pode ser feito por diversas ferramentas como
a
por exemplo o wireshark.
Usar ns-2 ou ns-3?
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Constribuindo com ns-3

Licen¸a de c´digo aberto compat´ com GNU GPLv2.
c
o
ıvel
Wiki.
P´gina para contribui¸˜o com o c´digo, similar a p´gina de
a
ca
o
a
contribui¸˜o do ns-2.
ca
Registro de erros (bugs) aberto.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Conceitos B´sicos
a

N´ (Node): No jarg˜o da Internet, um dispositivo computacional
o
a
que conecta-se a uma rede ´ chamado de host ou em alguns casos
e
de terminal. Devido ao fato do ns-3 ser um simulador de rede, e n˜o
a
um simulador da Internet, o termo host ´ intencionalmente n˜o
e
a
utilizado, pois est´ intimamente associado com a Internet e seus
a
protocolos.
Aplica¸˜o (Application): Aplica¸˜es s˜o executadas nos n´s para
ca
co
a
o
uma determinada simula¸˜o, essa abstra¸˜o de aplica¸˜o deve ser
ca
ca
ca
instalada no n´. exemplo de aplica¸˜es, UdpEchoClientApplication e
o
co
UdpEchoServerApplication, essa aplica¸˜o passa suas mensagens
ca
geradas para um socket.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Conceitos B´sicos
a

Canal de Comunica¸˜o (Channel): No mundo real, computadores
ca
est˜o conectados em uma rede. Normalmente, o meio sobre o qual
a
os dados trafegam ´ chamada de canal (channel). essa abstra¸˜o
e
ca
fica na classe Channel que pode ser especializada em outras diversas
tais como: CsmaChannel, PointToPointChannel e WifiChannel.
Dispositivos de Rede (Net Device): A abstra¸˜o do dispositivo
ca
de rede ´ representado em C++ pela classe NetDevice, que fornece
e
m´todos para gerenciar conex˜es para objetos Node e Channel, assim
e
o
podemos especialza¸˜es para net device para canais espec´
co
ıficos tais
como: CsmaNetDevice, PointToPointNetDevice e WifiNetDevice.
Assistentes de Topologia (Topology Helpers): Interface para
configura¸˜o das entidades da simula¸˜o.
ca
ca

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Execu¸˜o e Debug
ca
A compila¸˜o do c´digo ´ feita com auxilio do waf que ´ construido
ca
o
e
e
em python, com ele vocˆ configura, compila, podemos dizer que ´ o
e
e
Makefile do ns3, quando o ns ´ baixado o configure ´ chamado da
e
e
seguinte forma:
$ ./waf configure
Ent˜o ´ poss´ compilar todo o c´digo do ns3, utilizando o
a e
ıvel
o
comando abaixo:
$ ./waf build
Os scripts de teste devem ficar na pasta scratch, assim o simulador
vai saber encontrar script para execut´-lo , assim por exemplo se
a
temos arquivo teste.cc na pasta, ele ´ executado pelo seguinte
e
comando:
$./waf −−run teste
Esse comando tamb´m ir´ compilar o script teste.cc.
e
a
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Execu¸˜o e Debug
ca

Podemos passar programas auxiliares para execu¸˜o do teste,
ca
programas de Debug como valgrind, gdb, al´m disso, podemos
e
configurar parˆmetros do script facilmente via linha de comando. Os
a
comandos abaixo mostra como podemos fazer essas execu¸˜es:
co
$./waf −−run teste −−command-template=”valgrind %s”
$./waf −−run teste −−command-template=”gdb −−args %s
$./waf −−run ”teste −−parametro=valor −−parametro2=valor2”

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Execu¸˜o e Debug
ca

Podemos escolher quais m´dulos de todos do teste ter˜o os
o
a
”prints”de DEBUG exibidos na tela, para isso podemos utilizar o
seguinte comando para exibir de todos os m´dulos:
o
$export ’NS LOG=*=level all|prefix func|prefix time’
level all indica que ir´ ser todos os n´
a
ıveis de LOG, prefix func ir´
a
prefixar o nome da fun¸˜o que chamou o LOG, e prefix time indica
ca
que ser´ exibido o tempo de simula¸˜o atual que o LOG foi
a
ca
chamado. Se quisermos para um m´dulos espec´
o
ıfico utilizamos:
$export ’NS LOG=nome do modulo=level all|prefix func|
prefix time:nome do modulo2=level all|prefix func|prefix time’

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Simula¸˜o de uma MANET
ca

Simularemos uma rede MANET baseado no arquivo
manet-routing-compare.cc, que um arquivo de exemplos que j´ vem
a
no ns-3.
Explicaremos como funciona o script de teste, em cima da
montagem das camadas que envolvem um n´ MANET. todas as
o
entidades das camadas devem ser instaladas no objeto n´ do ns-3.
o

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Simula¸˜o de uma MANET
ca
Aplica¸˜o A aplica¸˜o cuidar´ de gerar os pacotes que ser˜o
ca
ca
a
a
enviados de um n´ fonte para o destino. Para essa simula¸˜o foi
o
ca
utilizada a aplica¸˜o OnOff.
ca
Config::SetDefault(”ns3::OnOffApplication::PacketSize”,StringValue
(”64”));
Config::SetDefault (”ns3::OnOffApplication::DataRate”, StringValue
(rate));
OnOffHelper onoff1 (”ns3::UdpSocketFactory”,Address ());
onoff1.SetAttribute (”OnTime”, StringValue
(”ns3::ConstantRandomVariable[Constant=1.0]”));
onoff1.SetAttribute (”OffTime”, StringValue
(”ns3::ConstantRandomVariable[Constant=0.0]”));
A camada de Transporte tamb´m foi definida nessas configura¸oes, onde
e
c˜
escolhemos o protocolo UDP.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Simula¸˜o de uma MANET
ca

Rede: Nela definimos o endera¸amento usada, assim como qual
c
protocolo de roteamento que ser´ usado.
a
Ipv4ListRoutingHelper list;
InternetStackHelper internet;
AodvHelper aodv;
list.add(aodv,100);
internet.SetRoutingHelper (list);
internet.Install (adhocNodes);
Ipv4AddressHelper addressAdhoc;
addressAdhoc.SetBase (”10.1.1.0”, ”255.255.255.0”);
Ipv4InterfaceContainer adhocInterfaces;
adhocInterfaces = addressAdhoc.Assign (adhocDevices);

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Simula¸˜o de uma MANET
ca
Uma quest˜o importante que causa desafios em MANET ´ a
a
e
quest˜o da mobilidade de n´s, para essa simula¸˜o foi utilzada o
a
o
ca
modelo Randow-Way-Point, onde os n´s se movem aleatoriamente
o
pelo cen´rio.
a
MobilityHelper mobilityAdhoc;
ObjectFactory pos;
pos.SetTypeId (”ns3::RandomRectanglePositionAllocator”);
pos.Set (”X”, StringValue
(”ns3::UniformRandomVariable[Min=0.0—Max=300.0]”));
pos.Set (”Y”, StringValue
(”ns3::UniformRandomVariable[Min=0.0—Max=1500.0]”));
Ptr<PositionAllocator> taPositionAlloc = pos.Create
()− >GetObject<PositionAllocator> ();
mobilityAdhoc.SetMobilityModel (”ns3::RandomWaypointMobilityModel”,
”Speed”, StringValue (ssSpeed.str ()),
”Pause”, StringValue (ssPause.str ()),
”PositionAllocator”, PointerValue (taPositionAlloc));
mobilityAdhoc.SetPositionAllocator (taPositionAlloc);
mobilityAdhoc.Install (adhocNodes);
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Simula¸˜o de uma MANET
ca
Enlace: Para essa camada iremos definir o acesso ao meio, tal como
um padr˜o IEEE de rede sem fio utilizado. Configuramos o canal da
a
rede, tal como tamb´m modelo de propaga¸˜o e modelo de perca de
e
ca
pacote
WifiHelper wifi;
wifi.SetStandard (WIFI PHY STANDARD 80211b);
YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
YansWifiChannelHelper wifiChannel;
wifiChannel.SetPropagationDelay
(”ns3::ConstantSpeedPropagationDelayModel”);
wifiChannel.AddPropagationLoss
(”ns3::FriisPropagationLossModel”);
wifiPhy.SetChannel (wifiChannel.Create ());

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Configura¸˜o da Simula¸˜o
ca
ca

O cen´rio ´ executado em cima de uma ´rea 300x1500.
a e
a
Cada n´ dos 50 alcan¸a no m´ximo velocidade de 20/ms
o
c
a
O Wifi roda em modo ad hoc com 2Mb/s 802.11b
A potˆncia de transmiss˜o ´ de 7,5dBm
e
a e
Existem 10 n´s fontes e 10 destinat´rio
o
a
Os n´s fontes geram pacotes com taxa de 2, 048kb/s
o
S˜o Avaliados o desempenho de 3 protocolos de roteamento
a
cl´ssicos AODV,DSDV e OLSR.
a

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Framework para Coletar M´tricas de Desempenho
e

sim.sh

Escreve Resultados das Métricas
Em Arquivo

AODV, DSDV, OLSR

manet-routing-compare.cc
Ler Resultados
Calcula_Estatística

Escreve Estatísticas

Ler Resultados
Gera Gráfico

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Referˆncias
e
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Gr´ficos dos Testes
a

Testes Protocolos de Roteamento MANET

Testes Protocolos de Roteamento MANET
16

8

12

6

10

5

AODV
DSDV
7 OLSR

Vazão

Pacotes Recebidos

AODV
DSDV
14 OLSR

8

4

6

3

4

2

2

1
0

0
0

20

40

60

80
100 120 140
Tempo de Simulação (s)

160

180

200

Jo˜o Gon¸alves Filho
a
c

0

20

40

60

80
100
120
140
Tempo de Simulação (s)

160

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

180

200
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Referˆncias
e
1 FU, Zhenghua; MENG, Xiaoqiao; LU, Songwu. How bad TCP can
perform in mobile ad hoc networks. In: Computers and
communications, 2002. Proceedings. ISCC 2002. Seventh
international symposium on. IEEE, 2002. p. 298-303.
2 Tamashiro, Clytia Higa. ”Uma an´lise de protocolos de roteamento
a
anˆnimo para redes sem fio ad hoc m´veis.”(2012).
o
o
3 Chlamtac, Imrich, Marco Conti, and Jennifer J-N. Liu. ”Mobile ad
hoc networking: imperatives and challenges.”Ad Hoc Networks 1.1
(2003): 13-64.
4 Liu, Jian, and Suresh Singh. ”ATCP: TCP for mobile ad hoc
networks.”Selected Areas in Communications, IEEE Journal on 19.7
(2001): 1300-1315.
5 Tonguz, Ozan K., et al. ”On the broadcast storm problem in ad hoc
wireless networks.”Broadband Communications, Networks and
Systems, 2006. BROADNETS 2006. 3rd International Conference
on. IEEE, 2006.
Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Defini¸˜o e Hist´rico
ca
o

Caracter´
ısticas e Problemas

Camadas

Network Simulator 3 (ns-3)

Referˆncias
e

Referˆncias
e
6 Perkins, Charles E., and Pravin Bhagwat. ”Highly dynamic
destination-sequenced distance-vector routing (DSDV) for mobile
computers.”ACM SIGCOMM Computer Communication Review.
Vol. 24. No. 4. ACM, 1994.
7 Perkins, Charles E., and Elizabeth M. Royer. ”Ad-hoc on-demand
distance vector routing.”Mobile Computing Systems and
Applications, 1999. Proceedings. WMCSA’99. Second IEEE
Workshop on. IEEE, 1999.
8 Gorantala, Krishna. ”Routing protocols in mobile ad-hoc
networks.”Master’s Thesis in Computing Science, June 15 (2006).
9 Royer, Elizabeth M., and Charles E. Perkins. ”Multicast operation of
the ad-hoc on-demand distance vector routing protocol.”Proceedings
of the 5th annual ACM/IEEE international conference on Mobile
computing and networking. ACM, 1999.

Jo˜o Gon¸alves Filho
a
c

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

Estudo Sobre Mobile Ad Hoc Networks(MANETs)

  • 1.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Estudo Sobre Mobile Ad Hoc Networks(MANETs) Jo˜o Gon¸alves Filho a c 7 de janeiro de 2014 Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 2.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas 1 Caracter´ ısticas e Problemas 3 Camadas 4 Network Simulator 3 (ns-3) 5 Network Simulator 3 (ns-3) Defini¸˜o e Hist´rico ca o 2 Camadas Referˆncias e Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 3.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Defini¸˜o ca Uma rede sem fio ad hoc m´vel(MANET) ´ uma rede formada por o e dispositivos m´veis que se comunicam sem a necessidade de uma o infra-estrutura. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 4.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Hist´rico o As pesquisas em redes sem fio ad hoc m´veis iniciaram-se em 1972 o com o projeto PRNet(Packet Radio Network) desenvolvido pela Darpa(Defense Advanced Research Projects Agency). PRNet − > ALOHA, CSMA, DSSS, Algoritmo de Vetor Distˆncia, a Aplica¸˜o Militar. ca 1983 PRNet Estendido para SURAN (Survivable Radio Networks) com objetivo de resolver problemas pendentes no PRNet, tais como escabilidade, seguran¸a, gerenciamento de processamento e de c energia, trabalho com clusters dinˆmicos e Low-cost Packet Radio a (LPR) technology. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 5.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Hist´rico o Na d´cada de 90 essas redes foram inclu´ no IEEE 802.11 e termo e ıda ad hoc substituiu o packet radio network. Surgimento de interesse de aplica¸˜es n˜o militares. co a Programa Global Mobile Information System (GloMo). Protocolo IEEE 802.11a. Protocolo IEEE 802.11b. Protocolo IEEE 802.11g. Hist´rico extra´ em [2]. o ıdo Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 6.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Caracter´ ısticas e Problemas Herda todos os problemas de uma rede sem fio: O meio sem fio ´ significantemente menos confi´vel do que uma e a rede com fio. O canal ´ desprotegido de sinais externos. e Problema do terminal oculto. O canal sofre varia¸˜o no tempo possui propriedades de propaga¸˜o ca ca assim´trica. e Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 7.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Caracter´ ısticas e Problemas Autonomia e ausˆncia de infra-estrutura e Topologia dinˆmica. a Roteamento distribu´ atrav´s de m´ltiplos saltos (n´s). ıdo e u o Instala¸˜o r´pida e com baixo custo. ca a Largura de banda limitada, enlaces com capacidade vari´vel a Opera¸˜o com restri¸˜o de energia. ca ca Seguran¸a f´ c ısica limitada. Escalabilidade da rede. Caracter´ ısticas extra´ em [2]. ıdo Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 8.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Arquitetura Simplificada de MANET As 3 principais ´reas como podem ser vistas: As tecnologias a dispon´ ıveis, redes, Middleware e Aplica¸˜o [3]. ca Temos as seguintes quest˜es que fometam as pesquisas em MANET: o Gerenciamento de energia, Seguran¸a, Qualidade de Servi¸o, c c Roteamento, Acesso ao meio. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 9.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Aplica¸oes c˜ Inicialmente desevolvida para aplica¸˜es militares, mas com avan¸os co c da pesquisa aplica¸˜es civis e comerciais tamb´m passaram a ser de co e interesse. Redes T´ticas: Comunica¸˜o em operac˜es militares, batalhas a ca o automatizadas. Redes Sensores: Monitoramento de residˆncias, Medi¸˜o de e ca parˆmetros como umidade, temperatura, radia¸˜o nuclear. a ca Emergˆncia: Opera¸˜o de busca e resgate, Substitui¸˜o da e ca ca infra-estrutura fixa em caso desastres como furac˜es, terremotos. o Aplica¸˜es Educacionais: Cria¸˜o de uma rede de comunica¸˜o co ca ca r´pida em conferˆncia, encontros, palestras. a e Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 10.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Camada de Transporte Em geral utiliza-se TCP ou UDP. A pesquisa ataca a quest˜o de como se usar TCP em MANET, visto a que a proposta original dele era para redes cabeadas, nesse caso o TCP enfrenta uma s´rie de Problemas. e Redes cabeadas possuem poucas taxas de erros. Redes sem fio possuem altas taxas de erros. O problema do TCP ´ que ele n˜o sabe o que causa as percas de e a pacotes, isso pode causar diminui¸˜o desnecess´ria da janela de ca a congestionamento, degradando o desempenho dele. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 11.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e ´ Principais Areas de Pesquisa em Cima do Problema do TCP Impacto da Mobilidade A mobilidade pode causar falhas nas rotas, causando perca de pacotes e aumento dos atrasos. O TCP interpreta erroneamente essas percas como congestionamento. Causa degrada¸˜o na vaz˜o. ca a Restransmiss˜es desnecess´rias durante a reconstru¸˜o da tabela de o a ca rotas. Saber solucionar esses problemas ´ importante para conseguir atingir e uma boa vaz˜o com TCP. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 12.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Impacto da Mobilidade No trabalho realizado em [1] foi projeto um protocolo TCP chamado R-TCP, um TCP de referˆncia que usando informa¸˜es do trace e co simulador(ns-2), consegue saber em tempo de execu¸˜o o que ca causou a perca do pacote e assim tomar a melhor decis˜o baseado a no TPC-NewReno. Uma das simula¸˜es realizadas nesse trabalho mostra o impacto da co mobilidade no desempenho do TCP. A simula¸˜o foi configurada com os n´s fonte e destino e os outros ca o n´s se movendo com 5m/s. o Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 13.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Impacto da Mobilidade Figura: Primeira figura possui apenas congestionamento, a segunda apresenta mobilidade Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 14.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e ´ Principais Areas de Pesquisa em Cima do Problema do TCP Impactos da camada MAC - Intera¸˜o Entre os N´s ca o Mesmo quando todos os n´s s˜o est´ticos, o desempenho do TCP o a a pode ficar longe do ideal. A esta¸˜o ´ limitada pela atividade dos esta¸oes vizinhas no mesmo ca e c˜ TX Range, IF Range e PCS Range. Disputas de acesso ao meio pode causar starvation em alguma esta¸˜o, causando estouro no temporizador e consequentemente ca causar retransmiss˜es e altera¸oes na janela de congestionamento. o c˜ A camada MAC 802.11 tem um desempenho melhor quando os n´s o fonte e destino est˜o mais pr´ximos. a o Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 15.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) ´ Principais Areas de Pesquisa em Cima do Problema do TCP Impactos da camada MAC - Intera¸˜o do TCP com 802.11 ca Os problemas dessa intera¸˜o surgi no ambiente de multi-hop. ca Ocorrem problemas devido ` m´ltiplos fluxos TPCs. a u A vaz˜o fica muito inst´vel. a a Esse problema pode ser contornado com calibra¸˜o adequada da ca janela de congestionamento. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 16.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Impactos da Camada MAC Figura: Primeira problema do multi-hop , a segunda figura janela de congestionamento Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 17.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) ´ Principais Areas de Pesquisa em Cima do Problema do TCP Impactos da Camada MAC - Erro de Canal Os erros de canais de uma rede sem fio s˜o bem maiores do que a numa rede cabeada. Nesse caso o TCP precisa saber alguma forma de identificar quando a camada MAC esta passando por erros de canal. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 18.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Impactos da Camada MAC - Erro de Canal Figura: Primeira figura sem erro de canal, a segunda com erro de canal Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 19.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Quais Caracter´ ısticas deve ter um TCP ideal para MANET Conseguir Identificar a real raz˜o de perca de pacote: a Mudan¸a de rota devido mobilidade. c Erro de canal. Congestionamento. Saber contornar problemas da camada MAC. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 20.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e TCP para MANET ATCP - Ad Hoc TCP [4] O objetivo dos autores ao desenvolver o ATCP era fornecer uma solu¸˜o completa para executar o TCP em cima de uma rede sem fio ca com m´ltiplos saltos. u O ATCP se utiliza de feedback da rede para inferir desconex˜o a (Destination Unreachable ICMP) e congestionamento(ECN). Funciona colocando uma camada entre o TCP e camada de rede, dessa forma ele pode interferir nas decis˜es do TCP e manter o compatibilidade. Coloca o TCP em modo persistente quando est´ no estado de perda a ou desconex˜o. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 21.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Caracter´ ısticas do ATCP Fornecer um bom desempenho em uma MANET: Em caso de alta taxa de erros: simplesmente retransmitir pacotes perdidos sem diminuir a janela de congestionamento. Em caso de mudan¸a de rotas: o remetente deve parar a transmiss˜o c a e recome¸ar quando uma nova rota for encontrada. c Em caso de parti¸˜o transit´ria: Deve se comportar da mesma forma ca o como dito acima. Em caso de m´ltiplas rotas: Nesse caso quando TCP recebe ACKs u duplicados ele n˜o deve invocar o controle de congestionamento. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 22.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Caracter´ ısticas do ATCP Manter o comportamento do controle de congestionamento do TCP O ATCP deve funcionar como um TCP normal quando o congestionamento realmente estiver acontecendo. Ter um comportamento apropriado para janela de congestionamento No caso de mudan¸a de rota o tamanho da janela deve ser c reajustado. Manter a Semˆntica Fim-a-Fim do TCP a A conex˜o do TCP deve ser mantida. a Compatibilidade com TCP padr˜o a N˜o ´ obrigado que todas as m´quinas usem o ATCP, alguma delas a e a podem estar usando o TCP padr˜o. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 23.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Funcionamento do ATCP Figura: M´quina de estados do ATCP a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 24.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Funcionamento do ATCP Estado Normal Conta o n´mero de ACKs, o terceiro ACK n˜o ´ encaminhado para o u a e TCP, da mesma forma quando acontece um estouro do temporizador, ele n˜o invoca o tratamento de congestionamento, a simplesmente coloca o TCP em persistente e no estado de perca. Estado de Perca O ATCP retransmiti todos os segmentos n˜o reconhecidos que estam a no buffer do TCP, dessa vez o ATCP mant´m o seu pr´prio e o temporizador. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 25.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Funcionamento do ATCP Estado de Congestionamento Para entrar nesse estado basta que o remetente receba uma notifica¸˜o ECN dentro de um ACK. Nesse estado todo o trabalho ´ ca e passado para o TCP. Estado de Desconex˜o a Uma notifica¸˜o ICMP Destination Unreachable faz o ATCP entrar ca nesse estado, quando isso acontece o TCP ´ colocado em persistente e at´ que um novo ACK duplicado chegue indicando que uma nova e rota foi estabelecida. O valor da janela vai para um, para que o TCP sonde um novo valor para janela. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 26.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Camada de Rede A camada de rede deve fornecer meios para cobrir problemas de Auto-organiza¸˜o, rede dinˆmica, instabilidade ca a Nesse caso os protocolos devem ser novamente projetados. O objetivo de um protocolo de rede ´ usar transmiss˜o de salto a e a salto fornecida pela tecnologia do meio e construir um caminho fim-a-fim entre fonte e destino. Para isso ´ necess´rio um servi¸o de localiza¸˜o. e a c ca Uma vez que a localiza¸˜o foi feita podemos ent˜o aplicar os ca a algoritmos de roteamento atrav´s da MANET. e Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 27.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Roteamento e Encaminhamento Ad-Hoc Dificuldades como alto dinamismo e frequentes mudan¸as na c topologia da rede causam dificuldade na comunica¸˜o entre os n´s ca o da rede, fazendo com que a ´rea de roteamento seja a mais atacada a na pesquisa. Podemos classificar preliminarmente os protocolos de roteamento pela propriedade “cast”. Broadcast: Cada mensagem ´ transmitida geralmente para todos os e n´s dentro do raio de transmiss˜o. o a ´ Unicast: E a comunica¸˜o um a um. ca Multicast: Nesse caso a mensagem ´ transmitida para um grupo de e n´s. o Geocast: A mensagem s´ recebida por n´s de uma determinada o o regi˜o. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 28.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Broadcast em MANET Podemos utilizar broadcast em MANET basicamente para RREQ (Routing Request) com finalidade de procurar rotas para um determinado n´ e para dissemina¸˜o de mensagens que ´ mais o ca e utilizado em VANET. Uma abordagem trivial seria o uso de uma inunda¸˜o cega, mas que ca gera o problema do broadcast storm As t´cnicas de broadcast no campo da pesquisa est´ voltado para o e a controle de redudˆncia para atenuar o prolema do broadcast storm. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 29.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Weighted p-persistence Regra: Ap´s receber um pacote do n´ i, o n´ j checa o ID do o o o pacote e faz um rebroadcast com com probabilidade pi,j se for a primeira vez que o pacote foi recebido. Caso contr´rio o pacote ´ a e descartado. pi,j = Di,j R Onde Di,j ´ a distˆncia entre i e j, R ´ o raio de alcance. e a e Se o n´ j n˜o fizer o rebroadcast ele guarda a mensagem no buffer e o a espera o WAIT TIME + δ, (onde δ ´ o atraso de propaga¸˜o de um e ca salto tipicamente menor que WAIT TIME ) , ent˜o o n´ j faz um a o rebroadcast da mensagem com probabilidade 1, se ele n˜o escutar a algu´m transmitindo. e Se o n´ j receber pacote duplicado de m´tiplas fontes durante o o u WAIT TIME ele escolhe o que tiver menor probabilidade. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 30.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Slotted 1-persistence scheme Regra: Ap´s receber um pacote o n´ checa o ID do pacote e faz um o o rebroadcast com probabilidade 1 no tempo atribu´ Tsi,j , se ele ıdo estiver recebendo o pacote pela primeira vez. Tsi,j = Si,j x δ Di,j Si,j = Ns (1 − R ); Di,j ; ≤ R; Si,j = 0; Di,j > R Onde Ns ´ o n´mero de slots utizados e Si,j ´ o n´mero do slot. e u e u Pode-se usar tamb´m a abordagem Slotted p-Persistence e Broadcasting, onde junta as duas ideias. O tempo de espera muda para (Ns − 1)xWAIT TIME + δ. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 31.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Figura: [5] Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 32.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Roteamento Unicast O objetivo prim´rio dos protocolos de roteamento unicast ´ a e estabelecer de maneira correta e eficiente uma rota entre dois pares de n´s para que a mensagem possa entregue de maneira correta e o oportuna. Os protocolos para internet n˜o s˜o adequados para o ambiente a a MANET, pois eles foram projetados para topologias est´ticas, al´m a e disso os n´s possuem abundˆncia de recursos. o a Os protocolos de roteamento MANET operam em um ambiente com topologia altamente dinˆmica e pode conter restri¸˜es de recursos. a co Essas restri¸˜es tais como de energia/largura de banda levam a co conduzir a um conjunto de caracter´ ısticas desej´veis tais como: a controle de overhead, controle de loop, r´pido estabelecimento de a rota e manuten¸˜o. ca Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 33.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Roteamento Proativo e Roteamento Reativo Podemos dividir os protocolos de roteamento unicast em reativos e proativos. Proativos: Nesse caso os protocolos tentam manter informa¸˜es co atualizadas para cada todos os n´s da rede, propagando mensagens o proativas em intervalos fixos de tempo. As informa¸˜es ficam co armazenadas em uma tabela de rotas. Reativos: De maneira diferente, nesse caso as rotas s˜o montadas a apenas que o n´ fonte inicia uma descoberta de rota por meio de o uma requisi¸˜o de rota, uma vez que a rota ´ estabelecida ela ´ ca e e mantida at´ que o n´ destino fica inacess´ e o ıvel, a rota n˜o seja mais a utilizada ou simplesmente expirar. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 34.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Roteamento Proativo: DSDV O Destination Sequenced Distance Vector (DSDV) [6] ´ um e protocolo de roteamento proativo que ´ uma modifica¸˜o do e ca tradicional algoritmo de roteamento Bellman-Ford. Ele adiciona um n´mero de sequˆncia para cada entrada da tabela, u e isso para auxiliar na mobilidade da rede. Cada n´ da rede armazena uma tabela de roteamento, contendo o todos os destinos poss´ ıveis com pr´ximo vizinho que a mensagem o deve ser encaminhada para chegar ao destino. As informa¸˜es de roteamento s˜o trocadas por meio de mensagens co a broadcast que s˜o trocadas em intervalos de tempos determinado. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 35.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e DSDV: Bellman-Ford A equa¸˜o de Bellman-Ford ´ utilizada, pois estamos usando ca e algoritmo de vetor de distˆncias: a dx (y ) = minv {c(x, y ) + dv (y )} Onde dx (y ) ´ o menor caminho entre x e y e minv ´ calculado para e e os vizinhos que atualizam as informa¸˜es da tabela roteamento com co entrada que possui o mesmo n´mero de sequˆncia. u e Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 36.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 0 inf B B 0 0 C C 0 inf D D 0 inf D D D P S M A A 0 B 0 inf D P S C 0 inf A A 0 D 0 inf B B 0 C 0 D 0 inf C C 0 inf D 0 0 0 D 0 inf C B inf D inf B M C M 0 0 B S A D A P A B inf Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 37.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 0 0 C C 0 inf D D 0 inf D D D P S M A A 2 B 0 inf D P S C 0 inf A A 0 D 0 inf B B 0 C 0 D 0 inf C C 0 inf D 0 0 0 D 0 inf C B inf D inf B M C M 0 0 B S A D A P A B inf Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 38.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 0 0 C C 0 inf D D 0 inf D D D P S M A A 2 B 0 inf D P S C 0 inf A A 0 D 0 inf B B 0 C 0 D 0 inf C C 0 inf D 0 0 0 D 0 inf C B inf D inf B M C M 0 0 B S A D A P A B inf Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 39.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 2 0 C C 0 inf D D 0 inf D D D P S M A A 2 B 2 1 D P S C 0 inf A B 2 D 0 inf B B 2 C 0 D 0 inf C C 0 inf D 0 0 0 D 0 1 C B 2 D inf B M C M 0 0 B S A D A P A B inf Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 40.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 2 0 C C 0 inf D D 0 inf D D D P S M A A 2 B 2 1 D P S C 0 inf A B 2 D 0 inf B B 2 C 0 D 0 inf C C 0 inf D 0 0 0 D 0 1 C B 2 D inf B M C M 0 0 B S A D A P A B inf Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 41.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 2 0 C C 0 inf D D 0 inf D D D P S M A A 2 B 2 1 D P S C 0 inf A B 2 D 0 inf B B 2 C 0 D 2 inf C C 0 inf D 2 0 0 D 0 1 C B 2 D inf B M C M 0 0 B S A D A P A B 1 Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 42.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 2 0 C C 0 inf D D 0 inf D D D P S M A A 2 B 2 1 D P S C 0 inf A B 2 D 0 inf B B 2 C 0 D 2 inf C C 0 inf D 2 0 0 D 0 1 C B 2 D inf B M C M 0 0 B S A D A P A B 1 Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 43.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 2 0 C C 2 1 D D 2 2 D D D P S M A A 2 B 2 1 D P S C 0 inf A B 2 D 0 inf B B 2 C 2 D 2 2 C C 2 1 D 2 0 0 D 2 1 C C 2 D 3 B M C M 2 0 B S C D A P A B 1 Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 44.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Exemplo de Funcionamento D P S M A A 2 1 B B 2 0 C C 2 1 D D 2 2 D D D P S M A A 2 B 2 1 D P S C 0 inf A B 2 D 0 inf B B 2 C 2 D 3 inf C C 3 inf D 2 0 0 D 3 1 C C 2 D inf B M C M 3 0 B S C D A P A B inf Jo˜o Gon¸alves Filho a c C Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 45.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e DSDV: Vantanges e Desvantagens Vantagens: ´ E livre de loops. Seleciona apenas o melhor caminho, causando um menor tamanho da tabela de roteamento. Desvantagens: Dificuldade em manter um rede muito larga. Gasto muito grande da largura de banda, na troca de informa¸oes de c˜ roteamento. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 46.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Protocolo Reativo: AODV AODV - Ad-hoc On-Demand Distance Vector [7] ´ um protocolo e reativo simples, onde um n´ fonte quando precisa enviar uma o mensagem para um n´ destino, ele antes faz uma descoberta de de o rota por meio de um RREQ que ´ respondido por um RREP com a e rota para o destino. Utiliza ideias vindas do DSR para montagem de rota sobre demanda e manuten¸˜o e tamb´m do DSDV em rela¸˜o aos n´meros de ca e ca u sequˆncia para auxiliar nas informa¸˜es de roteamento. e co Os Objetivos do protocolo s˜o: a Fazer uso de broadcast para descoberta de rotas, apenas quando necess´rio. a Saber diferenciar entre gerenciamento de conectividade local (detec¸˜o de vizinhos) e manuten¸˜o geral de topologia. ca ca Disseminar informa¸˜es sobre mudan¸as da conectividade. co c Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 47.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e AODV: RREQ e RREP A mensagem de requisi¸˜o RREQ serve para que o n´ fonte requisite ca o rota quando precisar. Ele cont´m os seguintes campos: e <source addr; source sequence; broadcast id; dest addr; dest sequence; hop cnt> source addr com broadcast id identificam o RREQ. O source sequence ´ usado para manter atualizada as informa¸oes a e c˜ cerca da rota reversa. O dest sequence identifica o qu˜o ´ atualizado ´ uma rota para o a e e destino. Quando o destino ´ encontrado a mensagem RREP ´ criado e e e propagada at´ a fonte por meio do caminho reverso, ela cont´m os e e seguintes campos: <source addr; dest addr; dest sequence; hop cnt; lifetime> Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 48.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e AODV: Descoberta de Rota Para descoberta de rota s˜o montados dois caminhos, o primeiro ´ o a e de rota reversa que serve para propagar a mensagem de RREP de volta ao n´ fonte. O funcionamento ´ da seguinte forma, toda vez o e que um n´ refaz um rebroadcast de um RREQ e guarda o endere¸o o c do primeiro vizinho que receber o RREQ. O outro caminho ´ o da rota por onde a mensagem vai fluir at´ o e e destino, nesse caso quando a mensagem RREP chega ao n´ fonte, o todo o caminho fica montado ao longo dos n´s que montaram sua o tabela de rota. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 49.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) AODV: Descoberta de Rota Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 50.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) AODV: Passos para Descoberta de Rota S A B C D E F Jo˜o Gon¸alves Filho a c G Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 51.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e AODV: Passos para Descoberta de Rota, baseado em [8] 1: O n´ fonte S tem uma mensagem para enviar para o n´ destino. o o 2: S envia a mensagem RREQ para os seus vizinhos A, B e C. 3: B encontra o caminho na sua tabela de roteamento ( com n´mero de sequˆncia de destino 1 e n´mero de saltos c1), ent˜o u e u a envia um RREQ de volta para o n´ S. o 4 e 5: Como o n´ C n˜o encontra o destino, ent˜o ele seta o o a a caminho reverso e reenvia a RREQ para os seus vizinhos D e E. 6 e 7: O n´ E repete o mesmo processo de C. o 8: Os n´s F e G n˜o retornam nada para o n´ E, nesse caso E ap´s o o a o o tempo de expira¸˜o o n´ E apaga a entrada para o caminho reverso. ca o 9: D encontra o caminho para o destino ( com n´mero de sequˆncia u e de destino 2 e n´mero de saltos c1), em sua tabela ent˜o responde u a com RREP para o n´ C. o Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 52.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e AODV: Passos para Descoberta de Rota, baseado em [8] 10: Ent˜o configura a rota de encaminhamento e encaminha o a RREP para S. 11: A configura o caminho reverso e reencaminha o RREQ para seus vizinhos, ent˜o recebe um RREP com n´mero de sequˆncia destino a u e 0 e n´mero de saltos c2 que ´ maior que c1 e ent˜o encaminha para u e a o n´ fonte. o 12: Ent˜o S escolhe dentre os caminhos, a rota devolvida por C que a foi originalmente obtida atrav´s de D, pois ela cont´m o maio e e n´mero de sequˆncia e menor n´mero de saltos. u e u Para manuten¸˜o das rotas, sempre que ´ dectado um quebra de ca e link s˜o propagadas mensagens de RREP n˜o solicitadas, com valor a a de n´mero de saltos ∞ e n´mero de sequˆncia atualizado. u u e Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 53.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Explorando o AODV O protocolo AODV deixa aberto v´rios campos que podemos a explorar com intuito de prover melhorias ao protocolo ou at´ mesmo e adapta-lo para ambientes com outras restri¸˜es. Por exemplo co implementar um novo tipo AODV que utilize uma outra m´trica e para saber qual melhor rota. Na literatura de protocolos de roteamento o AODV tem sido usado como base. Um trabalho publicado no Larces utiliza l´gica fuzzy para prover o uma melhoria no AODV. A ideia foi atacar a quest˜o do intervalo de a mensagens HELLO, utilizando a seguinte regra: quanto maior for a rota, maior ser´ a probabilidade de haver uma quebra na rota, ent˜o a a ´ utilizado essa regra para calibrar um valor entre 0 e 1 que indicar´ e a quanto ser´ o intervalo das mensagens HELLO. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 54.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Roteamento Multicast No roteamento multicast apenas um subgrupo ir´ receber um a determinado pacote. As pesquisas de roteamento multicast em MANETs come¸aram por c adaptar abordagens usadas na internet. As duas abordagens usadas s˜o: a Roteamento multicast usando uma ´rvore compartilhada pelo grupo: a nesse caso semelhante ao broadcast de spanning tree, o roteamento ´ feito por meio de uma ´rvore que ´ compartilhada por todo grupo. e a e Roteamento multicast usando uma ´rvore baseada na fonte: Nesse a caso uma ´rvore ´ construida para cada n´ fonte do grupo. Usa-se o a e o broadcast pelo caminho inverso com poda. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 55.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Roteamento Multicast No ambiente MANET dois tipos b´sicos de roteamento de multicast a s˜o utilizados: a Baseado Em ´rvore: onde por meio de uma ´rvore ´ construido um a a e unico caminho entre fonte e destino. Sendo assim fica bem eficiente ´ no requisito a vaz˜o de dados. a Baseado em malha: nesse existem v´rios caminhos entre fonte e a destino, ele robusto conseguindo atingir boas taxas de entrega dos pacotes, mas acaba causando um overhead maior na rede Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 56.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e MAODV - Multicast AODV [9] ´ E uma extens˜o do protocolo AODV. a Ele funciona compartilhando uma ´rvore broadcast para cada grupo a multicast. Em rela¸˜o ao AODV apenas um novo tipo de mensagem de ca necess´ria, a mensagem multicast de ativa¸˜o (MACT), que serve a ca para que um novo n´ possa se associar ao grupo multicast o Como ele utiliza a ideia de uma ´rvore compartilhada, se faz a necess´rio a n´ l´ a o ıder para gerenciar o grupo, mas como inicialmente um n´ se torna l´ o ıder? Um n´ que quer associar a um determinado grupo multicast faz o RREQ rreqletries total rebroadcasts vezes e falha, ent˜o conclui que a n˜o existe nenhum n´ no grupo, ent˜o se torna o l´ a o a ıder. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 57.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) MAODV - Tipos de n´ o Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 58.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e MAODV - Associando ` um grupo a Suponha que o n´ S queira se juntar ao grupo, ele precisa: o 1: Criar uma mensagem RREQ para localizar o n´ l´ o ıder. Essa mensagem ser´ unicast caso o n´ contenha registrado o n´ l´ a o o ıder em seus registros. caso contr´rio ´ feito um RREQ por meio de a e broadcast. 2: Quando um n´ pertencente a ´rvore receber o RREQ, ele o a responde ent˜o com RREP de volta para fonte, podemos perceber a que da mesma forma do AODV tradicional, v´rios caminhos reversos a podem ser montados. 3: A rota ´ escolhida baseado no n´mero de saltos, ent˜o a e u a mensagem MACT ´ feita para que o n´ S entre no grupo. e o Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 59.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e ns-3 O ns-3 ´ um simulador de redes baseado em eventos discretos e desenvolvido especialmente para pesquisa e uso educacional. O projeto ns-3 iniciou em 2006 e tem seu c´digo aberto. o O ns-3 n˜o ´ uma extens˜o do ns-2. a e a No ns-3, todo o simulador ´ escrito em C++ com suporte opcional a e Python. Desta forma, os c´digos de simula¸˜o podem ser escritos o ca somente em C++ ou Python. O an´lise de pacotes pode ser feito por diversas ferramentas como a por exemplo o wireshark. Usar ns-2 ou ns-3? Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 60.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Constribuindo com ns-3 Licen¸a de c´digo aberto compat´ com GNU GPLv2. c o ıvel Wiki. P´gina para contribui¸˜o com o c´digo, similar a p´gina de a ca o a contribui¸˜o do ns-2. ca Registro de erros (bugs) aberto. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 61.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Conceitos B´sicos a N´ (Node): No jarg˜o da Internet, um dispositivo computacional o a que conecta-se a uma rede ´ chamado de host ou em alguns casos e de terminal. Devido ao fato do ns-3 ser um simulador de rede, e n˜o a um simulador da Internet, o termo host ´ intencionalmente n˜o e a utilizado, pois est´ intimamente associado com a Internet e seus a protocolos. Aplica¸˜o (Application): Aplica¸˜es s˜o executadas nos n´s para ca co a o uma determinada simula¸˜o, essa abstra¸˜o de aplica¸˜o deve ser ca ca ca instalada no n´. exemplo de aplica¸˜es, UdpEchoClientApplication e o co UdpEchoServerApplication, essa aplica¸˜o passa suas mensagens ca geradas para um socket. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 62.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Conceitos B´sicos a Canal de Comunica¸˜o (Channel): No mundo real, computadores ca est˜o conectados em uma rede. Normalmente, o meio sobre o qual a os dados trafegam ´ chamada de canal (channel). essa abstra¸˜o e ca fica na classe Channel que pode ser especializada em outras diversas tais como: CsmaChannel, PointToPointChannel e WifiChannel. Dispositivos de Rede (Net Device): A abstra¸˜o do dispositivo ca de rede ´ representado em C++ pela classe NetDevice, que fornece e m´todos para gerenciar conex˜es para objetos Node e Channel, assim e o podemos especialza¸˜es para net device para canais espec´ co ıficos tais como: CsmaNetDevice, PointToPointNetDevice e WifiNetDevice. Assistentes de Topologia (Topology Helpers): Interface para configura¸˜o das entidades da simula¸˜o. ca ca Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 63.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Execu¸˜o e Debug ca A compila¸˜o do c´digo ´ feita com auxilio do waf que ´ construido ca o e e em python, com ele vocˆ configura, compila, podemos dizer que ´ o e e Makefile do ns3, quando o ns ´ baixado o configure ´ chamado da e e seguinte forma: $ ./waf configure Ent˜o ´ poss´ compilar todo o c´digo do ns3, utilizando o a e ıvel o comando abaixo: $ ./waf build Os scripts de teste devem ficar na pasta scratch, assim o simulador vai saber encontrar script para execut´-lo , assim por exemplo se a temos arquivo teste.cc na pasta, ele ´ executado pelo seguinte e comando: $./waf −−run teste Esse comando tamb´m ir´ compilar o script teste.cc. e a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 64.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Execu¸˜o e Debug ca Podemos passar programas auxiliares para execu¸˜o do teste, ca programas de Debug como valgrind, gdb, al´m disso, podemos e configurar parˆmetros do script facilmente via linha de comando. Os a comandos abaixo mostra como podemos fazer essas execu¸˜es: co $./waf −−run teste −−command-template=”valgrind %s” $./waf −−run teste −−command-template=”gdb −−args %s $./waf −−run ”teste −−parametro=valor −−parametro2=valor2” Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 65.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Execu¸˜o e Debug ca Podemos escolher quais m´dulos de todos do teste ter˜o os o a ”prints”de DEBUG exibidos na tela, para isso podemos utilizar o seguinte comando para exibir de todos os m´dulos: o $export ’NS LOG=*=level all|prefix func|prefix time’ level all indica que ir´ ser todos os n´ a ıveis de LOG, prefix func ir´ a prefixar o nome da fun¸˜o que chamou o LOG, e prefix time indica ca que ser´ exibido o tempo de simula¸˜o atual que o LOG foi a ca chamado. Se quisermos para um m´dulos espec´ o ıfico utilizamos: $export ’NS LOG=nome do modulo=level all|prefix func| prefix time:nome do modulo2=level all|prefix func|prefix time’ Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 66.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Simula¸˜o de uma MANET ca Simularemos uma rede MANET baseado no arquivo manet-routing-compare.cc, que um arquivo de exemplos que j´ vem a no ns-3. Explicaremos como funciona o script de teste, em cima da montagem das camadas que envolvem um n´ MANET. todas as o entidades das camadas devem ser instaladas no objeto n´ do ns-3. o Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 67.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Simula¸˜o de uma MANET ca Aplica¸˜o A aplica¸˜o cuidar´ de gerar os pacotes que ser˜o ca ca a a enviados de um n´ fonte para o destino. Para essa simula¸˜o foi o ca utilizada a aplica¸˜o OnOff. ca Config::SetDefault(”ns3::OnOffApplication::PacketSize”,StringValue (”64”)); Config::SetDefault (”ns3::OnOffApplication::DataRate”, StringValue (rate)); OnOffHelper onoff1 (”ns3::UdpSocketFactory”,Address ()); onoff1.SetAttribute (”OnTime”, StringValue (”ns3::ConstantRandomVariable[Constant=1.0]”)); onoff1.SetAttribute (”OffTime”, StringValue (”ns3::ConstantRandomVariable[Constant=0.0]”)); A camada de Transporte tamb´m foi definida nessas configura¸oes, onde e c˜ escolhemos o protocolo UDP. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 68.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Simula¸˜o de uma MANET ca Rede: Nela definimos o endera¸amento usada, assim como qual c protocolo de roteamento que ser´ usado. a Ipv4ListRoutingHelper list; InternetStackHelper internet; AodvHelper aodv; list.add(aodv,100); internet.SetRoutingHelper (list); internet.Install (adhocNodes); Ipv4AddressHelper addressAdhoc; addressAdhoc.SetBase (”10.1.1.0”, ”255.255.255.0”); Ipv4InterfaceContainer adhocInterfaces; adhocInterfaces = addressAdhoc.Assign (adhocDevices); Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 69.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Simula¸˜o de uma MANET ca Uma quest˜o importante que causa desafios em MANET ´ a a e quest˜o da mobilidade de n´s, para essa simula¸˜o foi utilzada o a o ca modelo Randow-Way-Point, onde os n´s se movem aleatoriamente o pelo cen´rio. a MobilityHelper mobilityAdhoc; ObjectFactory pos; pos.SetTypeId (”ns3::RandomRectanglePositionAllocator”); pos.Set (”X”, StringValue (”ns3::UniformRandomVariable[Min=0.0—Max=300.0]”)); pos.Set (”Y”, StringValue (”ns3::UniformRandomVariable[Min=0.0—Max=1500.0]”)); Ptr<PositionAllocator> taPositionAlloc = pos.Create ()− >GetObject<PositionAllocator> (); mobilityAdhoc.SetMobilityModel (”ns3::RandomWaypointMobilityModel”, ”Speed”, StringValue (ssSpeed.str ()), ”Pause”, StringValue (ssPause.str ()), ”PositionAllocator”, PointerValue (taPositionAlloc)); mobilityAdhoc.SetPositionAllocator (taPositionAlloc); mobilityAdhoc.Install (adhocNodes); Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 70.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Simula¸˜o de uma MANET ca Enlace: Para essa camada iremos definir o acesso ao meio, tal como um padr˜o IEEE de rede sem fio utilizado. Configuramos o canal da a rede, tal como tamb´m modelo de propaga¸˜o e modelo de perca de e ca pacote WifiHelper wifi; wifi.SetStandard (WIFI PHY STANDARD 80211b); YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default (); YansWifiChannelHelper wifiChannel; wifiChannel.SetPropagationDelay (”ns3::ConstantSpeedPropagationDelayModel”); wifiChannel.AddPropagationLoss (”ns3::FriisPropagationLossModel”); wifiPhy.SetChannel (wifiChannel.Create ()); Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 71.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Configura¸˜o da Simula¸˜o ca ca O cen´rio ´ executado em cima de uma ´rea 300x1500. a e a Cada n´ dos 50 alcan¸a no m´ximo velocidade de 20/ms o c a O Wifi roda em modo ad hoc com 2Mb/s 802.11b A potˆncia de transmiss˜o ´ de 7,5dBm e a e Existem 10 n´s fontes e 10 destinat´rio o a Os n´s fontes geram pacotes com taxa de 2, 048kb/s o S˜o Avaliados o desempenho de 3 protocolos de roteamento a cl´ssicos AODV,DSDV e OLSR. a Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 72.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Framework para Coletar M´tricas de Desempenho e sim.sh Escreve Resultados das Métricas Em Arquivo AODV, DSDV, OLSR manet-routing-compare.cc Ler Resultados Calcula_Estatística Escreve Estatísticas Ler Resultados Gera Gráfico Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs) Referˆncias e
  • 73.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Gr´ficos dos Testes a Testes Protocolos de Roteamento MANET Testes Protocolos de Roteamento MANET 16 8 12 6 10 5 AODV DSDV 7 OLSR Vazão Pacotes Recebidos AODV DSDV 14 OLSR 8 4 6 3 4 2 2 1 0 0 0 20 40 60 80 100 120 140 Tempo de Simulação (s) 160 180 200 Jo˜o Gon¸alves Filho a c 0 20 40 60 80 100 120 140 Tempo de Simulação (s) 160 Estudo Sobre Mobile Ad Hoc Networks(MANETs) 180 200
  • 74.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Referˆncias e 1 FU, Zhenghua; MENG, Xiaoqiao; LU, Songwu. How bad TCP can perform in mobile ad hoc networks. In: Computers and communications, 2002. Proceedings. ISCC 2002. Seventh international symposium on. IEEE, 2002. p. 298-303. 2 Tamashiro, Clytia Higa. ”Uma an´lise de protocolos de roteamento a anˆnimo para redes sem fio ad hoc m´veis.”(2012). o o 3 Chlamtac, Imrich, Marco Conti, and Jennifer J-N. Liu. ”Mobile ad hoc networking: imperatives and challenges.”Ad Hoc Networks 1.1 (2003): 13-64. 4 Liu, Jian, and Suresh Singh. ”ATCP: TCP for mobile ad hoc networks.”Selected Areas in Communications, IEEE Journal on 19.7 (2001): 1300-1315. 5 Tonguz, Ozan K., et al. ”On the broadcast storm problem in ad hoc wireless networks.”Broadband Communications, Networks and Systems, 2006. BROADNETS 2006. 3rd International Conference on. IEEE, 2006. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)
  • 75.
    Defini¸˜o e Hist´rico ca o Caracter´ ısticase Problemas Camadas Network Simulator 3 (ns-3) Referˆncias e Referˆncias e 6 Perkins, Charles E., and Pravin Bhagwat. ”Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers.”ACM SIGCOMM Computer Communication Review. Vol. 24. No. 4. ACM, 1994. 7 Perkins, Charles E., and Elizabeth M. Royer. ”Ad-hoc on-demand distance vector routing.”Mobile Computing Systems and Applications, 1999. Proceedings. WMCSA’99. Second IEEE Workshop on. IEEE, 1999. 8 Gorantala, Krishna. ”Routing protocols in mobile ad-hoc networks.”Master’s Thesis in Computing Science, June 15 (2006). 9 Royer, Elizabeth M., and Charles E. Perkins. ”Multicast operation of the ad-hoc on-demand distance vector routing protocol.”Proceedings of the 5th annual ACM/IEEE international conference on Mobile computing and networking. ACM, 1999. Jo˜o Gon¸alves Filho a c Estudo Sobre Mobile Ad Hoc Networks(MANETs)