Carina Teixeira de Oliveira
CPE 825 - Roteamento em Redes de Computadores Prof. Luís Henrique M. K. Costa
Ad Hoc On-Demand Distance Vector
(AODV)
http://www.gta.ufrj.br
Sumário
z Introdução
z Características do AODV z Descoberta de Rotas z Caminho Reverso
z Manutenção de Rotas z Conclusão
z Bibliografia
Introdução
z 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
4
Características do AODV
z Protocolo baseado em Vetor de Distância
z 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
Características do AODV
z 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
http://www.gta.ufrj.br
6
Características do AODV
z Mensagens de Roteamento
•
Route Request (RREQ)•
Route Reply (RREP)•
Route Error (RERR)z 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
Descoberta de Rotas
z Inundação de Route Requests (RREQ)
z Identificam de forma exclusiva um RREQ
Endereço da Fonte
Número de Seqüência
da Fonte
Endereço do Destino
Número de Seqüência do Destino Identificador de
Broadcast
Contador de Saltos
http://www.gta.ufrj.br
8
Descoberta de Rotas
z Inundação de Route Requests (RREQ)
z Usado para manter as informações mais recentes no caminho reverso para a origem
Endereço da Fonte
Número de Seqüência
da Fonte
Endereço do Destino
Número de Seqüência do Destino Identificador de
Broadcast
Contador de Saltos
Descoberta de Rotas
z Inundação de Route Requests (RREQ)
z Atualizado sempre que um nó recebe uma nova informação sobre um destino
z Especifica o quão recente uma rota para um destino deve estar antes de ser aceita pela origem
z Garante a ausência de loops
Endereço da Fonte
Número de Seqüência
da Fonte
Endereço do Destino
Número de Seqüência do Destino Identificador de
Broadcast
Contador de Saltos
http://www.gta.ufrj.br
10
Descoberta de Rotas
z Inundação de Route Requests (RREQ)
z Valor inicial = 0
Endereço da Fonte
Número de Seqüência
da Fonte
Endereço do Destino
Número de Seqüência do Destino Identificador de
Broadcast
Contador de Saltos
Descoberta de Rotas
Nó intermediário
recebeu um RREQVerifica o par
<Endereço da Fonte, Identificador de Broadcast>
É um novo RREQ?
Sim Não
Incrementa
<Contador de Saltos>
É duplicata.
Descarta RREQ
Nó intermediário não possui rota válida para
alcançar o destino
http://www.gta.ufrj.br
12
Descoberta de Rotas
Nó intermediário possui rota válida
para alcançar o destino
Nó
recebeu um novo RREQCompara <N° de Seqüência do Destino>
É maior ou igual?
Envia RREP
Sim
Incrementa
<Contador de Saltos>
Inunda RREQ para seus vizinhos
Não
Descoberta de Rotas
Nó Destino
recebeu um novo RREQEnvia RREP
http://www.gta.ufrj.br
14
Descoberta de Rotas
z RREP
• unicast
z 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
Endereço da Fonte
Endereço do Destino
Número de Seqüência do Destino
Contador de Saltos
Tempo de Vida da Rota
Caminho Reverso
z Cada nó que inunda a rede com um RREQ deve armazenar automaticamente:
•
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 fontez 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
Exemplo
B A
S E
F
H
J
D C
G
K
N M
• Nó S deseja enviar pacotes de dados ao nó D
B A
S E
F
H
J
D C
G
K
Broadcast
M
N
Exemplo
http://www.gta.ufrj.br
Caminho reverso
Exemplo
B A
S E
F
H
J
D C
G
K
N
M
Exemplo
B A
S E
F
H
J
D C
G
K
N
M
http://www.gta.ufrj.br
Exemplo
• Nó D não encaminha RREQ B
A
S E
F
H
J
D C
G
K
N
M
Exemplo
B A
S E
F
H
J
D C
G
K
N M
Dest Next Saltos
D E 4
http://www.gta.ufrj.br
Exemplo
Caminho estabelecido B
A
S E
F
H
J
D C
G
I
K
N M
Dest Next Saltos
D E 4
Exemplo
z 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 atualizadasz 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
24
Manutenção de Rotas
z Nó Fonte
z Movimenta-se durante uma sessão ativa
•
Reiniciar ou não um processo de descobrimento de rota z Nó Destino ou Nó Intermediárioz Movimentam-se z São desativados z Quebra de Enlace
Manutenção de Rotas
z 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
26
Manutenção de Rotas
z 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 predecessoresz Todas as rotas que dependiam do enlace inativo são retiradas de todas as tabelas de roteamento da rede
z Quando nó fonte recebe notificação de quebra de link, decide se reinicia ou não um novo processo de descobrimento de rota
Manutenção de Rotas
z Término do processo é garantido
z Rotas livres de loops z Número de nós finito
z AODV mais vantajoso em relação ao DSR
z AODV informa todos os nós que usam o enlace quando uma
falha ocorre
http://www.gta.ufrj.br
Conclusão
z AODV foi apresentado como um protocolo de roteamento dinâmico para redes móveis ad hoc
z 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
Bibliografia
z Perkins, C. E.; Belding-Royer, E. M.; Das, S. R.; Ad Hoc On- Demand Distance Vector Routing, Request for Comments:
3561, rfc3561.txt, julho de 2003.
z 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.
z AODV site, http://moment.cs.ucsb.edu/AODV/aodv.html.
Acessado em 30 de julho de 2006.
z Tanenbaum, A. S.; Redes de Computadores. 4a Ed. Rio de
Janeiro: Campus, 2003.
http://www.gta.ufrj.br