Carina Teixeira de Oliveira CPE 825

Propaganda
Ad Hoc On-Demand Distance
Vector (AODV)
Carina Teixeira de Oliveira
CPE 825 - Roteamento em Redes de Computadores
Prof. Luís Henrique M. K. Costa
Rio de Janeiro, Agosto de 2006.
Sumário
 Introdução
 Características do AODV
 Descoberta de Rotas
 Caminho Reverso
 Manutenção de Rotas
 Conclusão
 Bibliografia
http://www.gta.ufrj.br
Introdução

Ad hoc On-Demand Distance Vector (AODV)
•
Projetado para uso em redes móveis ad hoc
• Redes sem infra-estrutura
• Nós auto-organizáveis
• Topologia arbitrária e temporária
• Tabelas de roteamento precisam ser atualizadas de forma
rápida o suficiente para retratar a topologia da rede o mais
próximo possível do atual
http://www.gta.ufrj.br
3
Características do AODV
 Protocolo baseado em Vetor de Distância
 Protocolo Reativo
•
Atua sob demanda
• Só existe a necessidade de um nó A conhecer uma rota para
um nó B quando a comunicação entre eles for necessária
• Evita o desperdício de banda
• Minimiza o uso de memória e processamento nos nós que
atuam como roteadores
• Rotas para destinos com os quais os nós não estejam em
comunicação ativa não são mantidas
http://www.gta.ufrj.br
4
Características do AODV
 Combinação
• Dynamic Source Routing (DSR)
• Mecanismos de descoberta e manutenção de rotas
• Diferença: confia no estabelecimento dinâmico das entradas
nas tabelas de roteamento dos nós intermediários
• evita sobrecarga da rede
• não é preciso que cada pacote contenha todo o caminho da
fonte até o destino
•
Destination-Sequence Distance-Vector (DSDV)
• Adota o conceito de número de seqüência
• Diferença: cada nó ad hoc mantém um contador de número de
seqüência monotonicamente crescente usado pra substituir rotas
passadas
• assegura roteamento livre de loops
http://www.gta.ufrj.br
5
Características do AODV
 Mensagens de Roteamento
•
•
•
Route Request (RREQ)
Route Reply (RREP)
Route Error (RERR)
 Cada nó possui dois contadores
•
Número de seqüência
•Incrementado em duas situações:
•Imediatamente antes de iniciar um processo de
descobrimento de rota
•Imediatamente antes de enviar um RREP em resposta a um
RREQ
•
Identificador de Broadcast
•
•
Mantido separadamente por cada nó
Incrementado sempre que um novo RREQ é transmitido
http://www.gta.ufrj.br
6
Descoberta de Rotas

Inundação de Route Requests (RREQ)
Endereço da
Fonte

Número de
Seqüência
da Fonte
Identificador de
Broadcast
Endereço do
Destino
Número de
Seqüência
do Destino
Contador de
Saltos
Identificam de forma exclusiva um RREQ
http://www.gta.ufrj.br
7
Descoberta de Rotas

Inundação de Route Requests (RREQ)
Endereço da
Fonte

Número de
Seqüência
da Fonte
Identificador de
Broadcast
Endereço do
Destino
Número de
Seqüência
do Destino
Contador de
Saltos
Usado para manter as informações mais recentes no caminho reverso
para a origem
http://www.gta.ufrj.br
8
Descoberta de Rotas

Inundação de Route Requests (RREQ)
Endereço da
Fonte



Número de
Seqüência
da Fonte
Identificador de
Broadcast
Endereço do
Destino
Número de
Seqüência
do Destino
Contador de
Saltos
Atualizado sempre que um nó recebe uma nova informação sobre um
destino
Especifica o quão recente uma rota para um destino deve estar antes
de ser aceita pela origem
Garante a ausência de loops
http://www.gta.ufrj.br
9
Descoberta de Rotas

Inundação de Route Requests (RREQ)
Endereço da
Fonte

Número de
Seqüência
da Fonte
Identificador de
Broadcast
Endereço do
Destino
Número de
Seqüência
do Destino
Contador de
Saltos
Valor inicial = 0
http://www.gta.ufrj.br
10
Descoberta de Rotas
Nó intermediário recebeu um RREQ
Nó intermediário não
possui rota válida para
alcançar o destino
Verifica o par
<Endereço da Fonte, Identificador de Broadcast>
É um novo RREQ?
Sim
Incrementa
<Contador de Saltos>
Não
É duplicata.
Descarta RREQ
Inunda RREQ
para seus vizinhos
http://www.gta.ufrj.br
11
Descoberta de Rotas
Nó recebeu um novo RREQ
Nó intermediário
possui rota válida
para alcançar o
destino
Compara <N° de Seqüência do Destino>
É maior ou igual?
Sim
Envia RREP
Não
Incrementa
<Contador de Saltos>
Inunda RREQ
para seus vizinhos
http://www.gta.ufrj.br
12
Descoberta de Rotas
Nó Destino recebeu um novo RREQ
Envia RREP
http://www.gta.ufrj.br
13
Descoberta de Rotas
RREP
• unicast

Endereço da
Fonte

Endereço do
Destino
Número de
Seqüência
do Destino
Contador de
Saltos
Tempo de Vida
da Rota
Antes de enviar o RREP um nó destino deve atualizar seu número de
seqüência para o MÁXIMO entre o seu valor atual e o seu valor que
constava no RREQ
http://www.gta.ufrj.br
14
Caminho Reverso
 Cada nó que inunda
automaticamente:
•
•
•
a
rede
com
um
RREQ
deve
armazenar
Endereço do vizinho de quem recebeu a primeira cópia do RREQ
Número de Seqüência da Fonte
Tempo de Expiração
• o caminho reverso é mantido o tempo suficiente para que o
RREQ atravesse a rede e produza uma resposta para o nó fonte
Todas
essas informações devem ser armazenadas em uma
entrada relativa ao endereço da fonte
 Todos os nós no caminho reverso aprendem a rota para o destino como
um sub-produto da descoberta da rota de origem
http://www.gta.ufrj.br
15
Exemplo
S
E
F
B
C
A
J
M
G
H
K
D
N
• Nó S deseja enviar pacotes de dados ao nó D
http://www.gta.ufrj.br
Exemplo
Broadcast
S
E
F
B
C
A
J
M
G
H
K
D
N
RREQ
http://www.gta.ufrj.br
Exemplo
S
E
F
B
C
A
J
M
G
H
K
D
N
Caminho reverso
http://www.gta.ufrj.br
Exemplo
S
E
F
B
C
A
J
M
G
H
K
D
N
• Nó C recebe RREQ de G e H
• C não encaminha RREQ (duplicata)
http://www.gta.ufrj.br
Exemplo
S
E
F
B
C
A
J
M
G
H
K
D
N
• Nó D não encaminha RREQ
http://www.gta.ufrj.br
Exemplo
Dest
Next
Saltos
D
E
4
S
E
F
B
C
A
J
M
G
H
K
D
N
• Nó D recebe primeiro RREQ de J
• Nó D envia um RREP para J (unicast)
http://www.gta.ufrj.br
Exemplo
Dest
Next
Saltos
D
E
4
S
E
F
B
C
J
A
M
G
H
K
I
Caminho estabelecido
http://www.gta.ufrj.br
D
N
Exemplo

Se outros RREPs forem recebidos por S, somente os RREPs com
<Número de Seqüência do Destino> maior ou igual com menor
número de saltos serão atualizados pelo nó fonte
•

Assegura informações de roteamento mais rápidas e atualizadas
Ao aprender uma rota melhor, o AODV atualiza as informações de
roteamento de forma transparente para a aplicação
http://www.gta.ufrj.br
Manutenção de Rotas
 Nó Fonte
 Movimenta-se durante uma sessão ativa
•
Reiniciar ou não um processo de descobrimento de rota
 Nó Destino ou Nó Intermediário
 Movimentam-se
 São desativados
 Quebra de Enlace
http://www.gta.ufrj.br
24
Manutenção de Rotas
 Maneira de um nó conhecer seus vizinhos
(atestar conectividade)
•
•
Escutando pacotes broadcast de outros nós
Mensagens Hello
• Time-to-Live (TTL) = 1
• Receber resposta dos vizinhos
• Não receber confirmação dos vizinhos (quebra de enlace)
• Receber resposta de novos vizinhos
http://www.gta.ufrj.br
25
Manutenção de Rotas
 Nó que detectou a falha deve informar sobre a quebra do enlace
•
•
•
Nós predecessores são mantidos em cada entrada da tabela de
roteamento
RERR (unicast ou broadcast)
Nó que recebe o RERR encaminha para todos os seus
predecessores
 Todas as rotas que dependiam do enlace inativo são retiradas
de todas as tabelas de roteamento da rede
 Quando nó fonte recebe notificação de quebra de link, decide se
reinicia ou não um novo processo de descobrimento de rota
http://www.gta.ufrj.br
26
Manutenção de Rotas
 Término do processo é garantido
 Rotas livres de loops
 Número de nós finito
 AODV mais vantajoso em relação ao DSR
 AODV informa todos os nós que usam o enlace quando uma
falha ocorre
http://www.gta.ufrj.br
27
Conclusão
 AODV foi apresentado como um protocolo de roteamento dinâmico
para redes móveis ad hoc
 Características:
•
Descoberta de rotas sob demanda
•
Único encaminhamento de um pacote RREQ
•
Armazenamento de uma rota por destino
•
Utilização de números de seqüência
•
Mecanismos que evitam loops
•
Rotas mais atualizadas
http://www.gta.ufrj.br
Bibliografia
 Perkins, C. E.; Belding-Royer, E. M.; Das, S. R.; Ad Hoc OnDemand Distance Vector Routing, Request for Comments:
3561, rfc3561.txt, julho de 2003.

Cordeiro, C. M.; Agrawal, D. P.; Mobile Ad hoc Networking,
Tutorial/Short Course in 20 th Brazilian Symposium on
Computer Networks, May 2002, pp. 125-186.
 Perkins, C. E.; Belding-Royer, E. M.; Ad hoc On-Demand
Distance Vector Routing. Proceedings of the 2nd IEEE
Workshop on Mobile Computing Systems and Applications,
New Orleans, LA, February 1999, pp. 90-100.
 AODV
site,
http://moment.cs.ucsb.edu/AODV/aodv.html.
Acessado em 30 de julho de 2006.
 Tanenbaum, A. S.; Redes de Computadores. 4a Ed. Rio de
Janeiro: Campus, 2003.
 Perkins, C. E.; Belding-Royer, E. M.; Das, S. R.; Marina, M.
K.; Performance Comparison of Two On-Demand Routing
Protocols
for
Ad
Hoc
Networks,
IEEE
Personal
Communications, fevereiro de 2001.
http://www.gta.ufrj.br
Ad Hoc On-Demand Distance Vector (AODV)
Carina Teixeira de Oliveira
[email protected]
http://www.gta.ufrj.br/~carina
http://www.gta.ufrj.br
Download