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