Apresentação SIC 2016
-
Upload
levindo-gabriel-taschetto-neto -
Category
Documents
-
view
106 -
download
0
Transcript of Apresentação SIC 2016
![Page 1: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/1.jpg)
Título do capítulo Autor: Levindo Gabriel Taschetto NetoOrientador: Alberto Egon Schaeffer-Filho 15/09/2016
Verificação Formal em Redes Definidas por Software
![Page 2: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/2.jpg)
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
![Page 3: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/3.jpg)
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
![Page 4: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/4.jpg)
Propriedades Exploradas em SDN
ConflitosRegras com mesmo match (dados de reconhecimento de pacote), mas ações diferentes.
![Page 5: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/5.jpg)
Propriedades Exploradas em SDN
ConflitosRegras com mesmo match (dados de reconhecimento de pacote), mas ações diferentes.RedundânciasRegras com mesmo match (dados de reconhecimento de pacote) e ações iguais.
![Page 6: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/6.jpg)
Propriedades Exploradas em SDN
ConflitosRegras com mesmo match (dados de reconhecimento de pacote), mas ações diferentes.RedundânciasRegras com mesmo match (dados de reconhecimento de pacote) e ações iguais.ReachabilityDeterminado pacote que sai de um switch A chega em um switch B de maneira certa.
![Page 7: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/7.jpg)
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.
![Page 8: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/8.jpg)
Placidus: Localização na rede
ControladorSDN
Dispositivomal configurado
Fluxos
![Page 9: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/9.jpg)
Placidus: Coleta de Dados
![Page 10: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/10.jpg)
Placidus: Coleta de Dados
![Page 11: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/11.jpg)
Placidus: Coleta de Dados
![Page 12: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/12.jpg)
Placidus: Módulos
Verificador de Conflitos e
Redundâncias
Verificador de Reachability
![Page 13: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/13.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Estrutura de Dados
SW1
SW2
SW3
Switches Lista de regras de cada switchMatch Ação
![Page 14: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/14.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Match 0
Match 1
Match 2
Match 3
Match 4
AlgoritmoCompara dados de reconhecimento
![Page 15: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/15.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Algoritmo
Match 0
Match 1
Match 2
Match 3
Match 4
Compara dados de reconhecimento
![Page 16: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/16.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Algoritmo
Match 0
Match 1
Match 2
Match 3
Match 4
Compara dados de reconhecimento
![Page 17: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/17.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Algoritmo
Match 0
Match 1
Match 2
Match 3
Match 4
Compara dados de reconhecimento
![Page 18: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/18.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Algoritmo
Match 0
Match 1
Match 2
Match 3
Match 4
Remove a primeira regra
![Page 19: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/19.jpg)
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
![Page 20: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/20.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Match 1
Match 2
Match 3
Match 4
Iguais
AlgoritmoSegue com as comparações até encontrar regras com mesmo match
![Page 21: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/21.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Ação 1
Ação 2
AlgoritmoCompara as ações das regras com iguais dados de reconhecimento
![Page 22: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/22.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Ação 1
Ação 2
Diferentes
AlgoritmoCompara as ações das regras com iguais dados de reconhecimento
![Page 23: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/23.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Ação 1
Ação 2
DiferentesConflito
AlgoritmoCompara as ações das regras com iguais dados de reconhecimento
![Page 24: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/24.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Ação 1
Ação 2
Iguais
AlgoritmoCompara as ações das regras com iguais dados de reconhecimento
![Page 25: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/25.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Ação 1
Ação 2
IguaisRedundância
AlgoritmoCompara as ações das regras com iguais dados de reconhecimento
![Page 26: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/26.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Comparações a cada iteração
Desempenho
Comparações
![Page 27: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/27.jpg)
Placidus: Verificador de Conflitos e Redundâncias
Execução
Switches contidos na topologia
![Page 28: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/28.jpg)
Placidus: Verificador de Conflitos e Redundâncias
SaídaSã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
![Page 29: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/29.jpg)
Placidus: Verificador de Reachability
Estrutura de DadosLista com listas de vetores de bits
Match Ação
SW1
SW2
SW3
![Page 30: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/30.jpg)
Placidus: Verificador de Reachability
AlgoritmoConverte 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”
![Page 31: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/31.jpg)
Placidus: Verificador de Reachability
AlgoritmoConverte 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
![Page 32: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/32.jpg)
Placidus: Verificador de Reachability
AlgoritmoA tabela de bits é convertida em listas de vetores de bits
010101101 1
101111011 0
110110001 1
111101110 0
010001101 1
110100111 0
![Page 33: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/33.jpg)
Placidus: Verificador de Reachability
AlgoritmoO 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
![Page 34: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/34.jpg)
Placidus: Verificador de Reachability
AlgoritmoO 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
![Page 35: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/35.jpg)
Placidus: Verificador de Reachability
AlgoritmoO 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
![Page 36: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/36.jpg)
Placidus: Verificador de Reachability
AlgoritmoO pacote é encontrado nos n-1 bits de uma das listas
010101101 1
101111011 0
110110001 1
111101110 0
010001101 1
110100111 0
110110001
1
![Page 37: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/37.jpg)
Placidus: Verificador de Reachability
AlgoritmoÉ feito um AND entre a ação da regra encontrada com o bit 1
110110001 1
1
1
![Page 38: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/38.jpg)
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
![Page 39: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/39.jpg)
Placidus: Verificação de Reachability
Execução
![Page 40: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/40.jpg)
Placidus: Resultados Experimentais
Configurações da máquina utilizada
ProcessadorIntel Core I7-4790 3.6GhZ de 8 núcleos
Memória RAM15.6 GB
![Page 41: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/41.jpg)
Resultados Experimentais: Conflitos e Redundâncias
nº de regras
tempo (s)
![Page 42: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/42.jpg)
Resultados Experimentais: Reachability
tempo (s)
nº de regras
![Page 43: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/43.jpg)
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.
![Page 44: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/44.jpg)
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.
![Page 45: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/45.jpg)
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
![Page 46: Apresentação SIC 2016](https://reader031.fdocumentos.com/reader031/viewer/2022022413/58a7f9e21a28abfa488b595d/html5/thumbnails/46.jpg)
Título do capítuloObrigado!
Salão de Iniciação Científica UFRGS 2016
Autor: Levindo Gabriel Taschetto NetoOrientador: Alberto Egon Schaeffer-Filho 15/09/2016