Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmos Distribu´ıdos para Roteamento em
Redes Ad Hoc
Tiago Rodrigues Chaves
Orientador: Ricardo Augusto Rabelo de Oliveira
Programa de P´
os-Gradua¸
c˜
ao em Ciˆ
encia da Computa¸
c˜
ao
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
1
Introdu¸c˜aoRedes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
2
Objetivos3
MetodologiaDAJ
Topologias de Rede
4
Algoritmos de RoteamentoAlgoritmo de inunda¸c˜ao (Flooding) Ad hoc On Demand Distance Vector (AODV)
5
Experimentos/An´alise de ComplexidadeExperimentos com o Algoritmo Flooding An´alise de Complexidade
6
Conclus˜ao/Trabalhos FuturosConclus˜ao Trabalhos Futuros
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET
Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
Redes Ad Hoc/MANET
Uma rede ad hoc, tamb´
em ´
e conhecida como Mobile Ad hoc
NETwork (MANET).
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET
Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
Rede Convencional
´
E necess´
ario que exista um ponto de acesso centralizador.
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET
Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
Redes Ad Hoc/MANET
Redes ad hoc n˜
ao s˜
ao restritas apenas para uso de
computadores.
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET
Protocolos de Roteamento
Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
Protocolos de Roteamento
Protocolos Pr´
o-ativos X Protocolos Reativos
1
Pr´
o-ativos: todo n´
o da rede possui informa¸
c˜
oes para todos os
poss´ıveis destinos.
2
Reativos: uma rota s´
o ´
e determinada quando um n´
o deseja
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET Protocolos de Roteamento
Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
Algoritmos Distribu´ıdos
Algoritmo + Distribu´ıdo (processamento e comunica¸
c˜
ao)
Cada processo tipicamente executa o mesmo algoritmo;
Interligados por um canal de comunica¸
c˜
ao;
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda
Algoritmo Auto-estabiliz´avel
Modelagem do Sistema de Mem´
oria Distribu´ıda
Sistema de mem´
oria distribu´ıda pode ser modelado por um
grafo n˜
ao dirigido Gp = (Np, Ep), onde:
Np: conjunto de processadores.
Ep: conjunto de enlaces de comunica¸
c˜
ao full-duplex.
O roteamento da mensagem (q, Msg ) ´
e feito por um
processador r usando a fun¸
c˜
ao next
r
(q).
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Redes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda
Algoritmo Auto-estabiliz´avel
Algoritmo Auto-estabiliz´
avel
A propriedade de auto-estabiliza¸c˜
ao modela a habilidade de
um sistema se recuperar automaticamente de falhas
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
1
Introdu¸c˜aoRedes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
2
Objetivos3
MetodologiaDAJ
Topologias de Rede
4
Algoritmos de RoteamentoAlgoritmo de inunda¸c˜ao (Flooding) Ad hoc On Demand Distance Vector (AODV)
5
Experimentos/An´alise de ComplexidadeExperimentos com o Algoritmo Flooding An´alise de Complexidade
6
Conclus˜ao/Trabalhos FuturosConclus˜ao Trabalhos Futuros
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Objetivos
Estudar e apresentar os algoritmos distribu´ıdos de roteamento
Flooding e AODV;
Comparar os algoritmos em rela¸
c˜
ao ao n´
umero de troca de
mensagens;
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
DAJ Topologias de Rede
1
Introdu¸c˜ao Redes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdosModelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
2
Objetivos3
MetodologiaDAJ
Topologias de Rede
4
Algoritmos de RoteamentoAlgoritmo de inunda¸c˜ao (Flooding) Ad hoc On Demand Distance Vector (AODV)
5
Experimentos/An´alise de ComplexidadeExperimentos com o Algoritmo Flooding An´alise de Complexidade
6
Conclus˜ao/Trabalhos FuturosConclus˜ao Trabalhos Futuros
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
DAJ
Topologias de Rede
Metodologia
Foram implementados em linguagem Java;
O Algoritmo de Flooding foi simulado no Distributed
Algorithms in Java(DAJ);
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
DAJ
Topologias de Rede
Distributed Algorithms in Java(DAJ)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
DAJ
Topologias de Rede
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding) Ad hoc On Demand Distance Vector (AODV)
1
Introdu¸c˜aoRedes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
2
Objetivos3
MetodologiaDAJ
Topologias de Rede
4
Algoritmos de RoteamentoAlgoritmo de inunda¸c˜ao (Flooding) Ad hoc On Demand Distance Vector (AODV)
5
Experimentos/An´alise de ComplexidadeExperimentos com o Algoritmo Flooding An´alise de Complexidade
6
Conclus˜ao/Trabalhos FuturosConclus˜ao Trabalhos Futuros
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Este algoritmo utiliza as seguintes vari´
aveis:
Identificador fonte (SrcID);
Identificador do destino (DestID);
N´
umero de sequˆ
encia da fonte (SrcSeqNum);
N´
umero de sequˆ
encia do destino (DestSeqNum);
Identificador de broadcast (BcastID);
Tempo de vida das mensagens (TTL);
N´
umero de hops.
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (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).
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Algoritmo de inunda¸c˜ao (Flooding)
Ad hoc On Demand Distance Vector (AODV)
Ad hoc On Demand Distance Vector (AODV)
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Experimentos com o Algoritmo Flooding An´alise de Complexidade
1
Introdu¸c˜aoRedes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdos
Modelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
2
Objetivos3
MetodologiaDAJ
Topologias de Rede
4
Algoritmos de RoteamentoAlgoritmo de inunda¸c˜ao (Flooding) Ad hoc On Demand Distance Vector (AODV)
5
Experimentos/An´alise de ComplexidadeIntrodu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Experimentos com o Algoritmo Flooding
An´alise de Complexidade
Experimentos com o Algoritmo Flooding
Topologia
RREQ
RREP
RREP-ENC
Ring
7
14
0
Mesh
7
18
0
Star
7
12
0
Line
7
12
0
Tree
7
10
72
Fully Conected
7
42
0
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Experimentos com o Algoritmo Flooding
An´alise de Complexidade
An´
alise de Complexidade
O fator a ser analisado ´
e a ordem de complexidade das trocas de
mensagem entre os n´
os de uma rede.
Considerando a topologia de um grafo completo, onde todos
os n´
os est˜
ao interligados a todos os outros n´
os.
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Experimentos com o Algoritmo Flooding
An´alise de Complexidade
An´
alise de Complexidade
Suponha:
n ´
e o n´
umero de v´
ertices em um grafo completo G .
d (n) ´
e o grau do v´
ertice, ou seja, n´
umero de arestas que
chegam e saem do v´
ertice.
Cada v´
ertice do grafo contribuir´
a com:
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Experimentos com o Algoritmo Flooding
An´alise de Complexidade
An´
alise de Complexidade
Assim, a ordem de complexidade das trocas de mensagem ´
e
representada por
(numero − de − vertices) × (grau − do − vertice).
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Conclus˜ao Trabalhos Futuros
1
Introdu¸c˜ao Redes Ad Hoc/MANET Protocolos de Roteamento Algoritmos Distribu´ıdosModelagem do Sistema de Mem´oria Distribu´ıda Algoritmo Auto-estabiliz´avel
2
Objetivos3
MetodologiaDAJ
Topologias de Rede
4
Algoritmos de RoteamentoAlgoritmo de inunda¸c˜ao (Flooding) Ad hoc On Demand Distance Vector (AODV)
5
Experimentos/An´alise de ComplexidadeExperimentos com o Algoritmo Flooding An´alise de Complexidade
6
Conclus˜ao/Trabalhos FuturosConclus˜ao Trabalhos Futuros
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Conclus˜ao
Trabalhos Futuros
Conclus˜
ao
Ainda n˜
ao existe nenhum algoritmo que tenha um
desempenho razo´
avel em todos os poss´ıveis ambientes;
O Flooding ´
e uma abordagem simples e ingˆ
enua, onde a
demanda por escalabilidade da rede torna o algoritmo
proibitivo;
O AODV com estabelecimento dinˆ
amico das tabelas de
roteamento evita a sobrecarga de troca de mensagens na rede.
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Conclus˜ao
Trabalhos 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 apresente
resultados melhores em rela¸
c˜
ao ao n´
umero de troca de
Introdu¸c˜ao Objetivos Metodologia Algoritmos de Roteamento Experimentos/An´alise de Complexidade Conclus˜ao/Trabalhos Futuros
Conclus˜ao