um algoritmo distribuÍdo para redes de topologia …
TRANSCRIPT
UM ALGORITMO DISTRIBUÍDO PARA REDES DETOPOLOGIA DINÂMICA
Leandro Pacheco de SousaProfessor: Aldri Luiz dos Santos
Departamento de InformáticaUniversidade Federal do Paraná
28 de Junho de 2007
(Universidade Federal do Paraná) 2007 1 / 34
Roteiro da Apresentação
1 Introdução
2 O Algoritmo Original
3 O Algoritmo Proposto
4 A Simulação
5 Testes e Resultados
6 Conclusão
(Universidade Federal do Paraná) 2007 2 / 34
Sistemas de Gerência de Redes
Permitem controloar e monitorar os elementos de uma redeUma função destes sistemas é a gerência de falhas
Os algoritmos de diagnóstico distribuído podem ser utilizadoscomo base destes sistemas
(Universidade Federal do Paraná) 2007 3 / 34
Algoritmos de Diagnóstico
Modelo de DiagnósticoCentralizadoDistribuído
Tipos de RedeRepresentáveis por um grafo conexoRedes de topologia arbitrária
(Universidade Federal do Paraná) 2007 4 / 34
O Algoritmo DNR (Modificado)
Características do algoritmo Ditributed Network Reachabilitymodificado
Diagnóstico distribuídoRedes de topologia arbitráriaDiagnóstico on-lineComposto de 3 fases: teste, disseminação e diagnóstico
Disseminação modificada para inundaçãoNão suporta particionamento na rede
(Universidade Federal do Paraná) 2007 5 / 34
O Algoritmo Proposto
Modificação do algoritmo DNR com inundaçãoSuporte ao particionamento, como no DNR originalTopologias dinâmicas
(Universidade Federal do Paraná) 2007 6 / 34
O Algoritmo DNR com Disseminação por Inundação
Algoritmo de diagnóstico distribuído para redes de topologiaarbitrária
Tem como objetivo determinar o estado das unidades daredeUm enlace pode estar
Sem-falhaNão-respondendoInatingível
Um nó pode estarSem-falhaInatingível
(Universidade Federal do Paraná) 2007 7 / 34
Ambiguidade de Falhas
(Universidade Federal do Paraná) 2007 8 / 34
As Fases do Algoritmo
O Algoritmo possui três fasesFase de TestesFase de DisseminaçãoFase de Diagnóstico
(Universidade Federal do Paraná) 2007 9 / 34
A Fase de Testes
Executa continuamente em todos os nós sem-falhaTestes são executados durante os intervalos de testeTestes são realizados somente entre nós vizinhosEstratégia de Token-Test
(Universidade Federal do Paraná) 2007 10 / 34
O Token-Test
Estratégia de passagem de bastãoUm token para cada enlace da redeO nó que possui o token realiza o testeToken passa pra o outro nó ao fim do testeTestes two-way
(Universidade Federal do Paraná) 2007 11 / 34
O Token-Test
Detecção de novos eventosCada nó possui uma tabela contendo todos enlaces da redeTodo enlace é associado a um contador chamado detimestamp
Timestamp par indica um enlace sem-falhaTimestamp ímpar indica um enlace não-respondendo
Ao fim de um teste, o nó verifica se houve uma falha ourecuperação e incrementa o timestamp se necessário
(Universidade Federal do Paraná) 2007 12 / 34
A Fase de Disseminação
É iniciada quando um nó detecta um novo eventoA informação sobre o evento é distribuída pela redeEstratégia tolerante à novas falhasDisseminação por Inundação de Mensagens
(Universidade Federal do Paraná) 2007 13 / 34
Inundação de Mensagens
Mensagens contém informação sobre apenas um eventoO nó que descobre o evento envia a mensagem para todosos vizinhosQuando um nó recebe um evento desconhecido, este enviaa mensagem para todos os vizinhos, exceto para o nó dequem ele a recebeuSe a mensagem de disseminação não é nova, ignora
Chamamos este caso de mensagem redundante
(Universidade Federal do Paraná) 2007 14 / 34
A Fase de Diagnóstico
Pode ser iniciada em qualquer nó a qualquer instanteSão determinados os estados de nós e enlaces da redeCálculo de alcançabilidade feito com o uso de um algoritmode conectividade em grafosNão é o foco deste trabalho
(Universidade Federal do Paraná) 2007 15 / 34
Limitações do Algoritmo
Duas limitações deste algoritmo sãoNão suporta o particionamento da rede
Se a rede sofre particionamento e depois se recupera, não garantea consistência da informação nos nós
Ao início do algoritmo, a topologia da rede já está definida epermanece estática durante a execução
(Universidade Federal do Paraná) 2007 16 / 34
O Algoritmo Proposto
Algoritmo baseado no DNR com inundaçãoComposto também de três fasesModificações que visam eliminar as limitações citadasanteriormente
Suportar o particionamento e posterior recuperação da redeSuportar a inserção e remoção de enlaces e nós na rede
(Universidade Federal do Paraná) 2007 17 / 34
Particionamento na Rede
A solução para este problema é simplesRelacionada à recuperação de enlacesSe este enlace une duas componentes conexas
Após a recuperação, as duas extremidades do enlace devem trocarinformação sobre toda a rede
Seria necessária a detecção do particionamentoSolução
Disseminar informação sobre toda a rede em toda recuperação deenlace
(Universidade Federal do Paraná) 2007 18 / 34
Inserção e Remoção de Nós e Enlaces
A principal modificação no algoritmo éModificação na estrutura dos eventos
Inclusão de um novo campo, statusO status pode assumir os valores, "não-respondendo", "não-falho"e"removido"Dois novos eventos: entrada e saída de enlacesDisseminação não se modifica
(Universidade Federal do Paraná) 2007 19 / 34
Inserção e Remoção de Nós e Enlaces
Todo nó do algoritmo começa isolado. Nós se comunicam paracriar um "enlace do algoritmo"
Um dos nós inicia o processo enviando um pacoteCONNECTQuando um nó recebe um CONNECT
Devolve um pacote CONNACKAdiciona o evento sobre o novo enlaceDissemina este evento para seus outros vizinhosEnvia todos os eventos que ele possuí através do novo enlace
Quando o nó iniciador recebe o CONNACKAdiciona o evento sobre o novo enlaceDissemina este evento para seus outros vizinhosEnvia todos os eventos que ele possuí através do novo enlaceInicia os testes no enlace
Garante o suporte ao particionamentoNão suporta o caso de falha do enlace durante acomunicação de criação do mesmo
(Universidade Federal do Paraná) 2007 20 / 34
Inserção e Remoção de Nós e Enlaces
Para remover um enlace do algoritmo, os nós das pontas secomunicam
Um dos nós inicia o processo enviando um pacoteDISCONNECTQuando um nó recebe um pacote DISCONNECT
Devolve um pacote CONNACKAltera o estado do enlace para "removido"Dissemina este evento para seus outros vizinhosInterrompe os testes no enlace
Quando o nó iniciador recebe o CONNACKAltera o estado do enlace para "removido"Dissemina este evento para seus outros vizinhosInterrompe os testes no enlace
Manter a informação sobre nós removidos é fundamentalpara suportar o particionamento na rede
Enlaces podem ser removidos durante um particionamentoNão suporta o caso de falha no enlace durante acomunicação de remoção do mesmo
(Universidade Federal do Paraná) 2007 21 / 34
Inserção e Remoção de Nós e Enlaces
Inserção e remoção de nósNão existe uma operação explícita de inserção ou remoçãode nóSó existem a criação e remoção de enlacesPara um nó ser inserido na rede
Criar um enlace com qualquer um dos nós da redePara um nó ser removido da rede
Remover todos os enlaces com os nós da rede
(Universidade Federal do Paraná) 2007 22 / 34
O Simulador ns-2
O ns-2 é um simulador de eventos discretos focado na área deredes de computadores. Algumas de suas características:
Implementação nas linguagens C++ e oTclSuporte à simulação de protocolos de comunicação,roteamento e gerênciaSimulação definida em um script oTcl e executada pelosimuladorTem sido usado pela comunidade científica para avaliaçãode propostas
(Universidade Federal do Paraná) 2007 23 / 34
Implementação do Algoritmo DNR Modificado
São definidas algumas novas entidadesDNRAgent: Comunicação entre nósDNRApp: Execução do algoritmoDNRIntervalTimer: Controle de intervalos de testeDNRTestTimer: Controle de timeout dos testes
(Universidade Federal do Paraná) 2007 24 / 34
Exemplo de Configuração para Simulação doAlgoritmo
(Universidade Federal do Paraná) 2007 25 / 34
Suporte ao Particionamento
Modificação restrita à DNRAppNa detecção de uma recuperação ou inserção de novoenlace, dissemina toda informação que possuí através doDNRAgent deste enlace
(Universidade Federal do Paraná) 2007 26 / 34
Suporte à Remoção e Inserção de Enlaces
ModificaçõesNo pacote DNR
Inclusão de um campo StatusNo agente DNRAgent
Novos métodos sendConnect(), sendDisconnect() esendConnAck()
(Universidade Federal do Paraná) 2007 27 / 34
Suporte à Remoção e Inserção de Enlaces
Modificações na aplicação DNRAppForam as modificações mais complexasImplementação do algoritmo de entrada e saída de enlacesmostrado anteriormente
(Universidade Federal do Paraná) 2007 28 / 34
Suporte à Remoção e Inserção de Enlaces
Este é o funcionamento da simulação, de maneira simplificadaNo início da simulação, a topologia "física"da rede ja estádefinidaJá existem os nós, enlaces físicos, agentes, e aplicaçõesCada aplicação começa isolada com relação ao algoritmo.Não existe nenhum "enlace do algoritmo"Aplicações precisam se comunicar para criar os enlaces einiciar os testes
(Universidade Federal do Paraná) 2007 29 / 34
Testes e Resultados
Exemplos de Topologias Utilizadas
(Universidade Federal do Paraná) 2007 30 / 34
Testes e Resultados
Exemplos de Topologias Utilizadas
(Universidade Federal do Paraná) 2007 31 / 34
Testes e Resultados
Exemplos de Topologias Utilizadas
(Universidade Federal do Paraná) 2007 32 / 34
Testes e Resultados
Com base nos testes executados, foi possível verificar acorretude do algoritmo.
Foram realizados testes com particionamentoO algoritmo gerou os resultados esperados tanto no caso darecuperação de falhas, quanto na criação de novos enlaces
Com relação ao numero de mensagensNúmero relativamente alto de mensagens trocadasMensagens tem tamanho pequeno, o impacto na rede não étão grandeNos testes realizados, cerca de 30% das mensagenstrocadas eram redundantes
Este resultado irá variar de acordo com o número de eventosdetectados nas rodadas de teste. Quanto mais eventosdetectados, mais mensagens redundantes.
(Universidade Federal do Paraná) 2007 33 / 34
Conclusão
Apresentamos neste trabalho uma modificação do algoritmoDNR com inundaçãoModificações visaram
Incluir o suporte ao particionamento da redeAdaptar o algoritmo para funcionamento em topologias dinâmicas
O algoritmo proposto foi implementado e testado no ns-2Algoritmo se comportou como o esperadoAlto número de mensagens trocadasMensagens de tamanho pequeno. Não causa grande impacto narede
(Universidade Federal do Paraná) 2007 34 / 34