Post on 10-Nov-2018
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmos Distribuıdos para Roteamento emRedes Ad Hoc
Tiago Rodrigues Chaves
Orientador: Ricardo Augusto Rabelo de Oliveira
Programa de Pos-Graduacao em Ciencia da ComputacaoPPGCC/UFOP
26 de julho de 2011
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 1 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
1 IntroducaoRedes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
2 Objetivos
3 MetodologiaDAJTopologias de Rede
4 Algoritmos de RoteamentoAlgoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
5 Experimentos/Analise de ComplexidadeExperimentos com o Algoritmo FloodingAnalise de Complexidade
6 Conclusao/Trabalhos FuturosConclusaoTrabalhos Futuros
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 2 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
Redes Ad Hoc/MANET
Uma rede ad hoc, tambem e conhecida como Mobile Ad hocNETwork (MANET).
Figura: Rede ad hoc
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 3 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
Rede Convencional
E necessario que exista um ponto de acesso centralizador.
Figura: Rede convencionalPPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 4 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
Redes Ad Hoc/MANET
Redes ad hoc nao sao restritas apenas para uso decomputadores.
Figura: Rede ad hoc com diferentes dispositivos.PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 5 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
Protocolos de Roteamento
Protocolos Pro-ativos X Protocolos Reativos
1 Pro-ativos: todo no da rede possui informacoes para todos ospossıveis destinos.
2 Reativos: uma rota so e determinada quando um no desejaenviar um pacote.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 6 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
Algoritmos Distribuıdos
Algoritmo + Distribuıdo (processamento e comunicacao)
Cada processo tipicamente executa o mesmo algoritmo;
Interligados por um canal de comunicacao;
Processos comunicam entre si apenas usando mensagens.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 7 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
Modelagem do Sistema de Memoria Distribuıda
Sistema de memoria distribuıda pode ser modelado por umgrafo nao dirigido Gp = (Np,Ep), onde:
Np: conjunto de processadores.
Ep: conjunto de enlaces de comunicacao full-duplex.
O roteamento da mensagem (q,Msg) e feito por umprocessador r usando a funcao nextr (q).
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 8 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Redes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
Algoritmo Auto-estabilizavel
A propriedade de auto-estabilizacao modela a habilidade deum sistema se recuperar automaticamente de falhastransientes.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 9 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
1 IntroducaoRedes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
2 Objetivos
3 MetodologiaDAJTopologias de Rede
4 Algoritmos de RoteamentoAlgoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
5 Experimentos/Analise de ComplexidadeExperimentos com o Algoritmo FloodingAnalise de Complexidade
6 Conclusao/Trabalhos FuturosConclusaoTrabalhos Futuros
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 10 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Objetivos
Estudar e apresentar os algoritmos distribuıdos de roteamentoFlooding e AODV;
Comparar os algoritmos em relacao ao numero de troca demensagens;
Simular os algoritmos em diferentes topologias de rede.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 11 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
DAJTopologias de Rede
1 IntroducaoRedes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
2 Objetivos
3 MetodologiaDAJTopologias de Rede
4 Algoritmos de RoteamentoAlgoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
5 Experimentos/Analise de ComplexidadeExperimentos com o Algoritmo FloodingAnalise de Complexidade
6 Conclusao/Trabalhos FuturosConclusaoTrabalhos Futuros
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 12 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
DAJTopologias de Rede
Metodologia
Foram implementados em linguagem Java;
O Algoritmo de Flooding foi simulado no DistributedAlgorithms in Java(DAJ);
As simulacoes consideraram diferentes topologias de rede.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 13 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
DAJTopologias de Rede
Distributed Algorithms in Java(DAJ)
Figura: DAJ
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 14 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
DAJTopologias de Rede
Topologias de Rede
Figura: Topologias de Rede
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 15 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
1 IntroducaoRedes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
2 Objetivos
3 MetodologiaDAJTopologias de Rede
4 Algoritmos de RoteamentoAlgoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
5 Experimentos/Analise de ComplexidadeExperimentos com o Algoritmo FloodingAnalise de Complexidade
6 Conclusao/Trabalhos FuturosConclusaoTrabalhos Futuros
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 16 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Algoritmo de inundacao (Flooding)
Figura: Estado inicial: no azul deseja enviar uma mensagem para o novermelho.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 17 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Este algoritmo utiliza as seguintes variaveis:
Identificador fonte (SrcID);
Identificador do destino (DestID);
Numero de sequencia da fonte (SrcSeqNum);
Numero de sequencia do destino (DestSeqNum);
Identificador de broadcast (BcastID);
Tempo de vida das mensagens (TTL);
Numero de hops.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 18 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
O algoritmo possui as seguintes mensagens:
Route Request (RREQ);
Route Reply (RREP);
Mensagens HELLO;
Route Error (RERR).
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 19 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Descobrimento de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 20 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Descobrimento de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 21 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Descobrimento de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 22 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Descobrimento de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 23 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Descobrimento de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 24 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Manutencao de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 25 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Manutencao de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 26 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Manutencao de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 27 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Manutencao de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 28 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Manutencao de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 29 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Algoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Figura: AODV - Manutencao de Rotas
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 30 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Experimentos com o Algoritmo FloodingAnalise de Complexidade
1 IntroducaoRedes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
2 Objetivos
3 MetodologiaDAJTopologias de Rede
4 Algoritmos de RoteamentoAlgoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
5 Experimentos/Analise de ComplexidadeExperimentos com o Algoritmo FloodingAnalise de Complexidade
6 Conclusao/Trabalhos FuturosConclusaoTrabalhos Futuros
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 31 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Experimentos com o Algoritmo FloodingAnalise de Complexidade
Experimentos com o Algoritmo Flooding
Topologia RREQ RREP RREP-ENC
Ring 7 14 0Mesh 7 18 0Star 7 12 0Line 7 12 0Tree 7 10 72Fully Conected 7 42 0
Tabela: Experimentos com o Algoritmo de Flooding.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 32 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Experimentos com o Algoritmo FloodingAnalise de Complexidade
Analise de Complexidade
O fator a ser analisado e a ordem de complexidade das trocas demensagem entre os nos de uma rede.
Considerando a topologia de um grafo completo, onde todosos nos estao interligados a todos os outros nos.
Figura: Grafo Completo G
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 33 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Experimentos com o Algoritmo FloodingAnalise de Complexidade
Analise de Complexidade
Suponha:
n e o numero de vertices em um grafo completo G .
d(n) e o grau do vertice, ou seja, numero de arestas quechegam e saem do vertice.
Cada vertice do grafo contribuira com:
Θ(d(n)) = Θ(n − 1) (1)
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 34 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
Experimentos com o Algoritmo FloodingAnalise de Complexidade
Analise de Complexidade
Assim, a ordem de complexidade das trocas de mensagem erepresentada por(numero − de − vertices) × (grau − do − vertice).
Θ(n × d(n)) = Θ(n × (n − 1)) = Θ(n2 − n) = Θ(n2) (2)
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 35 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
ConclusaoTrabalhos Futuros
1 IntroducaoRedes Ad Hoc/MANETProtocolos de RoteamentoAlgoritmos DistribuıdosModelagem do Sistema de Memoria DistribuıdaAlgoritmo Auto-estabilizavel
2 Objetivos
3 MetodologiaDAJTopologias de Rede
4 Algoritmos de RoteamentoAlgoritmo de inundacao (Flooding)Ad hoc On Demand Distance Vector (AODV)
5 Experimentos/Analise de ComplexidadeExperimentos com o Algoritmo FloodingAnalise de Complexidade
6 Conclusao/Trabalhos FuturosConclusaoTrabalhos Futuros
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 36 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
ConclusaoTrabalhos Futuros
Conclusao
Ainda nao existe nenhum algoritmo que tenha umdesempenho razoavel em todos os possıveis ambientes;
O Flooding e uma abordagem simples e ingenua, onde ademanda por escalabilidade da rede torna o algoritmoproibitivo;
O AODV com estabelecimento dinamico das tabelas deroteamento evita a sobrecarga de troca de mensagens na rede.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 37 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
ConclusaoTrabalhos Futuros
Trabalhos Futuros
Estudar o algoritmo distribuıdo de roteamento, o ATR(Augmented Tree-based Routing);
Combinar os algoritmos AODV e ATR
Propor um algoritmo distribuıdo de roteamento, que apresenteresultados melhores em relacao ao numero de troca demensagens em redes ad hoc.
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 38 / 39
IntroducaoObjetivos
MetodologiaAlgoritmos de Roteamento
Experimentos/Analise de ComplexidadeConclusao/Trabalhos Futuros
ConclusaoTrabalhos Futuros
PPGCC/UFOP - Projeto e Analise de Algoritmos Algoritmos Distribuıdos para Roteamento 39 / 39