Apresentação SIC 2016

92 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
92
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Apresentação SIC 2016

  1. 1. Título do capítulo Autor: Levindo Gabriel Taschetto Neto Orientador: Alberto Egon Schaeffer-Filho 15/09/2016 Verificação Formal em Redes Definidas por Software
  2. 2. Introdução Atualmente a necessidade por mais programabilidade e flexibilidade encoraja a utilização de abstrações de software. Isso serve para realizar atividades relacionadas à operação da rede. Exemplos • Algoritmos de roteamento • Balanceadores de carga Software fechado rodando em um hardware proprietário Manipulação de fluxos de dados usando software independentemente do hardware
  3. 3. Objetivo do Trabalho O objetivo do presente trabalho é investigar métodos, e desenvolver aplicações para verificar formalmente as seguintes propriedades em redes definidas por software • Conflitos • Redundâncias • Reachability
  4. 4. Propriedades Exploradas em SDN Conflitos Regras com mesmo match (dados de reconhecimento de pacote), mas ações diferentes.
  5. 5. Propriedades Exploradas em SDN Conflitos Regras com mesmo match (dados de reconhecimento de pacote), mas ações diferentes. Redundâncias Regras com mesmo match (dados de reconhecimento de pacote) e ações iguais.
  6. 6. Propriedades Exploradas em SDN Conflitos Regras com mesmo match (dados de reconhecimento de pacote), mas ações diferentes. Redundâncias Regras com mesmo match (dados de reconhecimento de pacote) e ações iguais. Reachability Determinado pacote que sai de um switch A chega em um switch B de maneira certa.
  7. 7. Placidus: A Platform for Formal Verification in Software Defined Networks O Placidus é uma plataforma de verificação formal para redes definidas por software. A plataforma conta com dois módulos que verificam as seguintes propriedades • Conflitos e Redundâncias de regras lógicas formados a partir de uma topologia. • Reachability dentro de uma rede.
  8. 8. Placidus: Localização na rede Controlador SDN Dispositivo mal configurado Fluxos
  9. 9. Placidus: Coleta de Dados
  10. 10. Placidus: Coleta de Dados
  11. 11. Placidus: Coleta de Dados
  12. 12. Placidus: Módulos Verificador de Conflitos e Redundâncias Verificador de Reachability
  13. 13. Placidus: Verificador de Conflitos e Redundâncias Estrutura de Dados SW1 SW2 SW3 Switches Lista de regras de cada switch Match Ação
  14. 14. Placidus: Verificador de Conflitos e Redundâncias Match 0 Match 1 Match 2 Match 3 Match 4 Algoritmo Compara dados de reconhecimento
  15. 15. Placidus: Verificador de Conflitos e Redundâncias Algoritmo Match 0 Match 1 Match 2 Match 3 Match 4 Compara dados de reconhecimento
  16. 16. Placidus: Verificador de Conflitos e Redundâncias Algoritmo Match 0 Match 1 Match 2 Match 3 Match 4 Compara dados de reconhecimento
  17. 17. Placidus: Verificador de Conflitos e Redundâncias Algoritmo Match 0 Match 1 Match 2 Match 3 Match 4 Compara dados de reconhecimento
  18. 18. Placidus: Verificador de Conflitos e Redundâncias Algoritmo Match 0 Match 1 Match 2 Match 3 Match 4 Remove a primeira regra
  19. 19. Placidus: Verificador de Conflitos e Redundâncias Algoritmo Match 1 Match 2 Match 3 Match 4 Segue com as comparações até encontrar regras com mesmo match
  20. 20. Placidus: Verificador de Conflitos e Redundâncias Match 1 Match 2 Match 3 Match 4 Iguais Algoritmo Segue com as comparações até encontrar regras com mesmo match
  21. 21. Placidus: Verificador de Conflitos e Redundâncias Ação 1 Ação 2 Algoritmo Compara as ações das regras com iguais dados de reconhecimento
  22. 22. Placidus: Verificador de Conflitos e Redundâncias Ação 1 Ação 2 Diferentes Algoritmo Compara as ações das regras com iguais dados de reconhecimento
  23. 23. Placidus: Verificador de Conflitos e Redundâncias Ação 1 Ação 2 DiferentesConflito Algoritmo Compara as ações das regras com iguais dados de reconhecimento
  24. 24. Placidus: Verificador de Conflitos e Redundâncias Ação 1 Ação 2 Iguais Algoritmo Compara as ações das regras com iguais dados de reconhecimento
  25. 25. Placidus: Verificador de Conflitos e Redundâncias Ação 1 Ação 2 IguaisRedundância Algoritmo Compara as ações das regras com iguais dados de reconhecimento
  26. 26. Placidus: Verificador de Conflitos e Redundâncias Comparações a cada iteração Desempenho Comparações
  27. 27. Placidus: Verificador de Conflitos e Redundâncias Execução Switches contidos na topologia
  28. 28. Placidus: Verificador de Conflitos e Redundâncias Saída São gerados três arquivos após a execução ● Regras conflitantes ● Regras redundantes ● Todas as regras da topologia No seguinte formato ... 00:04 ^00:02 ^0x0x806 -> output=1 Match Ação
  29. 29. Placidus: Verificador de Reachability Estrutura de Dados Lista com listas de vetores de bits Match Ação SW1 SW2 SW3
  30. 30. Placidus: Verificador de Reachability Algoritmo Converte a tabela de dados geradas na coleta para uma tabela de bits “2” “5” “5” “1” “5” “7” “3” “0” “6” “6” “1” “1” “7” “5” “6” “1” “2” “1” “5” “0” “6” “4” “7” “0”
  31. 31. Placidus: Verificador de Reachability Algoritmo Converte a tabela de dados geradas na coleta para uma tabela de bits “2” “5” “5” “1” “5” “7” “3” “0” “6” “6” “1” “1” “7” “5” “6” “1” “2” “1” “5” “0” “6” “4” “7” “0” 010 101 101 1 101 111 011 0 110 110 001 1 111 101 110 1 010 001 101 0 110 100 111 0
  32. 32. Placidus: Verificador de Reachability Algoritmo A tabela de bits é convertida em listas de vetores de bits 010101101 1 101111011 0 110110001 1 111101110 0 010001101 1 110100111 0
  33. 33. Placidus: Verificador de Reachability Algoritmo O pacote de entrada é procurado nos n-1 bits das listas, por meio de um XNOR bit a bit 010101101 1 101111011 0 110110001 1 111101110 0 010001101 1 110100111 0 110110001 0
  34. 34. Placidus: Verificador de Reachability Algoritmo O pacote de entrada é procurado nos n-1 bits das listas, por meio de um XNOR bit a bit 010101101 1 101111011 0 110110001 1 111101110 0 010001101 1 110100111 0 110110001 0
  35. 35. Placidus: Verificador de Reachability Algoritmo O pacote de entrada é procurado nos n-1 bits das listas, por meio de um XNOR bit a bit 010101101 1 101111011 0 110110001 1 111101110 0 010001101 1 110100111 0 110110001 0
  36. 36. Placidus: Verificador de Reachability Algoritmo O pacote é encontrado nos n-1 bits de uma das listas 010101101 1 101111011 0 110110001 1 111101110 0 010001101 1 110100111 0 110110001 1
  37. 37. Placidus: Verificador de Reachability Algoritmo É feito um AND entre a ação da regra encontrada com o bit 1 110110001 1 1 1
  38. 38. Placidus: Verificador de Reachability Algoritmo É feito um AND entre a ação da regra encontrada com o bit 1 110110001 1 1 1 Pacote pode passar
  39. 39. Placidus: Verificação de Reachability Execução
  40. 40. Placidus: Resultados Experimentais Configurações da máquina utilizada Processador Intel Core I7-4790 3.6GhZ de 8 núcleos Memória RAM 15.6 GB
  41. 41. Resultados Experimentais: Conflitos e Redundâncias nº de regras tempo (s)
  42. 42. Resultados Experimentais: Reachability tempo (s) nº de regras
  43. 43. Trabalhos em andamento Atualmente tem se trabalhado em uma solução para a verificação de Reachability com a utilização de grafos aliados aos vetores de bits.
  44. 44. Trabalhos relacionados Alguns trabalhos que foram utilizados como inspiração para os algoritmos desenvolvidos para a plataforma Placidus • Formal Correctness of Conflict Detection for Firewalls Caprett, V; Stepien, B; Felty, A; Matwin, S. • Header Space Analysis: Static Checking For Networks Kazemian,P; Varghese,G; McKeown,N.
  45. 45. Conclusão e Trabalhos Futuros Nossa pesquisa na área de verificação formal de redes SDN tem o propósito de tornar a rede mais robusta e confiável. Trabalhos futuros incluem • Uniformização das Estruturas de Dados • Detecção de loops • Detecção de black holes • Aprimoramento dos algoritmos para verificação das propriedades já verificadas
  46. 46. Título do capítuloObrigado! Salão de Iniciação Científica UFRGS 2016 Autor: Levindo Gabriel Taschetto Neto Orientador: Alberto Egon Schaeffer-Filho 15/09/2016

×