um algoritmo distribuÍdo para redes de topologia …

34
UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA DINÂMICA Leandro Pacheco de Sousa Professor: Aldri Luiz dos Santos Departamento de Informática Universidade Federal do Paraná 28 de Junho de 2007 (Universidade Federal do Paraná) 2007 1 / 34

Upload: others

Post on 21-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 2: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 3: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 4: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 5: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 6: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 7: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 8: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

Ambiguidade de Falhas

(Universidade Federal do Paraná) 2007 8 / 34

Page 9: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 10: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 11: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 12: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 13: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 14: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 15: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 16: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 17: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 18: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 19: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 20: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 21: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 22: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 23: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 24: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 25: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

Exemplo de Configuração para Simulação doAlgoritmo

(Universidade Federal do Paraná) 2007 25 / 34

Page 26: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 27: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 28: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 29: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 30: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

Testes e Resultados

Exemplos de Topologias Utilizadas

(Universidade Federal do Paraná) 2007 30 / 34

Page 31: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

Testes e Resultados

Exemplos de Topologias Utilizadas

(Universidade Federal do Paraná) 2007 31 / 34

Page 32: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

Testes e Resultados

Exemplos de Topologias Utilizadas

(Universidade Federal do Paraná) 2007 32 / 34

Page 33: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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

Page 34: UM ALGORITMO DISTRIBUÍDO PARA REDES DE TOPOLOGIA …

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