SlideShare uma empresa Scribd logo
1 de 1
Baixar para ler offline
Verificação formal em redes definidas por software
Levindo Gabriel Taschetto Neto
Professor Alberto Egon Schaeffer-Filho
Instituto de Informática - Universidade Federal do Rio Grande do Sul
Atualmente a necessidade por mais programabilidade e flexibilidade encoraja a utilização de abs-
trações de software para realizar atividades relacionadas à operação da rede, como por exemplo,
algoritmos de roteamento e balanceadores de carga. Concomitante, a centralização do plano de con-
trole torna-se necessária para flexibilizar o gerenciamento da rede, principalmente no que diz respeito
à lógica de encaminhamento de pacotes executada por switches e roteadores. Um conceito que visa
centralizar o plano de controle da rede, e permitir sua programabilidade, é o de redes definidas por
software (ou Software Defined Networking (SDN)). SDN é uma abordagem que propõe separar o
plano de controle e os dispositivos de encaminhamento de dados.
O foco do presente trabalho é investigar métodos para verificar formalmente, em tempo real,
propriedades em redes definidas por software, tais como isolation e ausência de loops. Nosso estudo
inclui a verificação de conflitos e redundâncias entre regras de encaminhamento de pacotes na rede,
e a verificação de propriedades de cunho global, tais como reachability (verificar se um determinado
pacote que sai de um switch A chega em um switch B) e isolation (verificar quais pacotes conseguem
alcançar determinado dispositivo na rede).
Como primeiro estudo de caso, foi abordado o problema de encontrar redundâncias e conflitos
em uma rede e em regras de um Firewall, com o uso de uma aplicação criada na linguagem de
programação Python. Os testes foram realizados com a utilização do emulador de rede, Mininet,
e com o Floodlight OpenFlow Controller. A aplicação desenvolvida para detecção de conflitos e
redundâncias em SDN faz um snapshot da rede para capturar seu estado atual, e retorna os dados
referentes a cada switch em uma topologia de rede qualquer. Esses dados estão contidos na flow-
table, a qual é uma tabela com as regras de encaminhamento de pacotes. Os dados podem ser, por
exemplo, match, que são dados de reconhecimento de pacotes, e action, que se referem a ações a
serem tomadas pelo switch para cada pacote que chega no mesmo.
Na aplicação desenvolvida é possível manipular os dados coletados e formar uma tabela de fácil
visualização com eles, a fim de utilizá-la para encontrar regras redundantes e conflitantes na rede, no
formato de expressões lógicas. O algoritmo proposto para essa aplicação é baseado na comparação de
todas combinações entre regras de encaminhamento da rede, verificando quais combinações de regras
possuem mesmo match e diferente action (conflito), e quais possuem mesmo match e mesmo action
(redundância). Esse algoritmo apresenta complexidade O(n2
).
Nossa pesquisa na área de verificação formal de redes SDN tem o propósito de tornar a rede mais
robusta e confiável em tempo real. Atualmente estamos investigando a verificação de reachability
em redes definidas por software, com a utilização de dados na forma de vetores de bits e com o
uso de operações lógicas bit a bit, visando performance. Trabalhos futuros incluem implementar a
aplicação de verificação de reachability, além de explorar outras propriedades globais de redes, como
detecção de loops e black holes (verificar se existe sumidouros de pacotes na rede), e trabalhar no
aprimoramento do algoritmo proposto para detecção de conflitos e redundâncias na rede.

Mais conteúdo relacionado

Semelhante a Resumo SIC 2016

Semelhante a Resumo SIC 2016 (20)

Pôster SIC 2016 - Levindo GTN
Pôster SIC 2016 - Levindo GTNPôster SIC 2016 - Levindo GTN
Pôster SIC 2016 - Levindo GTN
 
artigo (douglas)
artigo (douglas)artigo (douglas)
artigo (douglas)
 
Redes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar ViegasRedes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar Viegas
 
Poster08
Poster08Poster08
Poster08
 
121 redes
121 redes121 redes
121 redes
 
Gerenciamento-redes
Gerenciamento-redesGerenciamento-redes
Gerenciamento-redes
 
Artigo Atividade 1 Gredes
Artigo Atividade 1 GredesArtigo Atividade 1 Gredes
Artigo Atividade 1 Gredes
 
Rest
RestRest
Rest
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
TCC Marcelo Siqueira
TCC Marcelo SiqueiraTCC Marcelo Siqueira
TCC Marcelo Siqueira
 
Rede Definida Por Software - SDN
Rede Definida Por Software - SDNRede Definida Por Software - SDN
Rede Definida Por Software - SDN
 
Aula 7 de Arquitetura
Aula 7 de ArquiteturaAula 7 de Arquitetura
Aula 7 de Arquitetura
 
TRABALHO DE TI
TRABALHO DE TITRABALHO DE TI
TRABALHO DE TI
 
Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
 
Analisando O Caminho Dos Pacotes No Wireshark Stalin
Analisando O Caminho Dos Pacotes No Wireshark   StalinAnalisando O Caminho Dos Pacotes No Wireshark   Stalin
Analisando O Caminho Dos Pacotes No Wireshark Stalin
 
Lora ns3
Lora ns3Lora ns3
Lora ns3
 
Artigo Gerencia De Redes Mauricio Moda
Artigo Gerencia De Redes Mauricio ModaArtigo Gerencia De Redes Mauricio Moda
Artigo Gerencia De Redes Mauricio Moda
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redes
 
Net framework
 Net framework Net framework
Net framework
 
Comparativo nagios zabbix
Comparativo nagios zabbixComparativo nagios zabbix
Comparativo nagios zabbix
 

Mais de Levindo Gabriel Taschetto Neto

Mais de Levindo Gabriel Taschetto Neto (6)

Certificado SIC 2016
Certificado SIC 2016Certificado SIC 2016
Certificado SIC 2016
 
Apresentação SIC 2016
Apresentação SIC 2016Apresentação SIC 2016
Apresentação SIC 2016
 
Relatório Parcial de Atividades de Bolsa de Iniciação Científica - Projeto SP...
Relatório Parcial de Atividades de Bolsa de Iniciação Científica - Projeto SP...Relatório Parcial de Atividades de Bolsa de Iniciação Científica - Projeto SP...
Relatório Parcial de Atividades de Bolsa de Iniciação Científica - Projeto SP...
 
Acompanhamento - IC - Levindo GTN [02]
Acompanhamento - IC - Levindo GTN [02]Acompanhamento - IC - Levindo GTN [02]
Acompanhamento - IC - Levindo GTN [02]
 
Acompanhamento - IC - Levindo GTN [01]
Acompanhamento - IC - Levindo GTN [01]Acompanhamento - IC - Levindo GTN [01]
Acompanhamento - IC - Levindo GTN [01]
 
Resumo SIC 2015
Resumo SIC 2015Resumo SIC 2015
Resumo SIC 2015
 

Resumo SIC 2016

  • 1. Verificação formal em redes definidas por software Levindo Gabriel Taschetto Neto Professor Alberto Egon Schaeffer-Filho Instituto de Informática - Universidade Federal do Rio Grande do Sul Atualmente a necessidade por mais programabilidade e flexibilidade encoraja a utilização de abs- trações de software para realizar atividades relacionadas à operação da rede, como por exemplo, algoritmos de roteamento e balanceadores de carga. Concomitante, a centralização do plano de con- trole torna-se necessária para flexibilizar o gerenciamento da rede, principalmente no que diz respeito à lógica de encaminhamento de pacotes executada por switches e roteadores. Um conceito que visa centralizar o plano de controle da rede, e permitir sua programabilidade, é o de redes definidas por software (ou Software Defined Networking (SDN)). SDN é uma abordagem que propõe separar o plano de controle e os dispositivos de encaminhamento de dados. O foco do presente trabalho é investigar métodos para verificar formalmente, em tempo real, propriedades em redes definidas por software, tais como isolation e ausência de loops. Nosso estudo inclui a verificação de conflitos e redundâncias entre regras de encaminhamento de pacotes na rede, e a verificação de propriedades de cunho global, tais como reachability (verificar se um determinado pacote que sai de um switch A chega em um switch B) e isolation (verificar quais pacotes conseguem alcançar determinado dispositivo na rede). Como primeiro estudo de caso, foi abordado o problema de encontrar redundâncias e conflitos em uma rede e em regras de um Firewall, com o uso de uma aplicação criada na linguagem de programação Python. Os testes foram realizados com a utilização do emulador de rede, Mininet, e com o Floodlight OpenFlow Controller. A aplicação desenvolvida para detecção de conflitos e redundâncias em SDN faz um snapshot da rede para capturar seu estado atual, e retorna os dados referentes a cada switch em uma topologia de rede qualquer. Esses dados estão contidos na flow- table, a qual é uma tabela com as regras de encaminhamento de pacotes. Os dados podem ser, por exemplo, match, que são dados de reconhecimento de pacotes, e action, que se referem a ações a serem tomadas pelo switch para cada pacote que chega no mesmo. Na aplicação desenvolvida é possível manipular os dados coletados e formar uma tabela de fácil visualização com eles, a fim de utilizá-la para encontrar regras redundantes e conflitantes na rede, no formato de expressões lógicas. O algoritmo proposto para essa aplicação é baseado na comparação de todas combinações entre regras de encaminhamento da rede, verificando quais combinações de regras possuem mesmo match e diferente action (conflito), e quais possuem mesmo match e mesmo action (redundância). Esse algoritmo apresenta complexidade O(n2 ). Nossa pesquisa na área de verificação formal de redes SDN tem o propósito de tornar a rede mais robusta e confiável em tempo real. Atualmente estamos investigando a verificação de reachability em redes definidas por software, com a utilização de dados na forma de vetores de bits e com o uso de operações lógicas bit a bit, visando performance. Trabalhos futuros incluem implementar a aplicação de verificação de reachability, além de explorar outras propriedades globais de redes, como detecção de loops e black holes (verificar se existe sumidouros de pacotes na rede), e trabalhar no aprimoramento do algoritmo proposto para detecção de conflitos e redundâncias na rede.