Redes de Computadores I Redes Definidas por Software Antonio Gonzalez Pastana Lobato Ulisses da Rocha Figueiredo
Redes de Computadores I Introdução
Introdução Aplicações Atuais Data-Centers Muitas máquinas Sistemas operacionais diferentes Simulações de ambientes realistas Muitas máquinas Alto custo Requer versatilidade Virtualização Diversas máquinas virtuais Uma máquina física Compartilhamento de recursos
Introdução Virtualização de Rede Abstração Compartilhamento de Recursos Infraestrutura de Rede Desacoplagem Hardware vs. Função Função Independente do Hardware Função Elemento Virtual de Rede Exercida pelo Ambiente Virtual Abordagens Redes Programáveis Redes Definidas por Software Isolamento Virtualização dos Elementos de Rede Virtualização de computadores para elementos de rede
Redes de Computadores I Definição
Definição Programabilidade da rede Gerenciamento Abstração das funcionalidades em baixo-nível da rede Estrutura de SDN (Software Defined Network) Separação de Planos Plano de Dados Plano de Controle
Separação de Planos Plano de Dados Encaminhamento de pacotes Age como um comutador Plano de Controle Responsável pela inteligência da rede Definição do próximo salto dos pacotes Requer um controlador
Separação de Planos
Controlador Definição do próximo salto do pacote Atualiza o plano de dados Interface de programação Mais alto nível para os desenvolvedores Aplicações mais sofisticadas Visão global da rede Vários elementos encaminhadores Um controlador Melhor tomada de decisões
Controlador
Redes de Computadores I Principais Ferramentas
OpenFlow Desenvolvido por: Universidade de Stanford Universidade da Califórnia Definição Protocolo base para criação de SDN Regras e padrões Software aberto
OpenFlow Baseado no paradigma da separação de planos Requer um controlador Definição da rota 12 campos do cabeçalho Atualiza a tabela de fluxos nos comutadores OpenFlow Tabela de fluxos Fluxo definido Pacote comutado no plano de dados Fluxo não definido Primeiro pacote encaminhado para o plano de controle Definição do fluxo Atualiza a tabela
Aplicação 1 Aplicação 2 Aplicação 3 Aplicação N Arquitetura OpenFlow Rede 2 Rede N Rede 1... Controlador Controlador Nox A Header Canal Seguro Conexão SSL Header B C Header E D
FlowVisor Desenvolvido por: Universidade de Stanford Controlador especial para o OpenFlow Proxy transparente Comutadores OpenFlow Controlador(es) Fatia a rede Isolamento Controle distribuído
Demais Ferramentas Open vswitch Comutador controlado por software Implementa diversos protocolos OpenFlow Possui controlador próprio Permite o uso de um controlador externo Controladores Fornecem APIs (Application Programming Interface) Desenvolvimento de protótipos de SDN Exemplos NOX POX
Redes de Computadores I Principais Aplicações
Garantia de QoS Ferramenta QFlow [1][2] Xen Virtualização dos elementos de rede Plano de controle OpenFlow Plano de dados Recursos da rede física Controle Monitoramento Distribuição Definição de prioridades Recursos ociosos
Gestão de Energia Redes Definidas por Software Redefinição do fluxo Desvio do tráfego de pacotes [3] Desvio parcial do fluxo de uma máquina Evitar sobrecarga Desvio total do fluxo de uma máquina Permite o desligamento Manutenção Economia
Redes de Computadores I Conclusão
Conclusão Redes Definidas por Software Separação de Planos Plano de Dados Plano de Controle Controlador Programabilidade da rede Gerenciamento Aplicações mais sofisticadas
Redes de Computadores I Perguntas
Perguntas 1 - Qual a diferença entre plano de controle e plano de dado? O plano de controle é responsável pela inteligência da rede, ou seja, ele define as próximas rotas do fluxo de pacotes na rede, podendo rodar, por exemplo, um protocolo de roteamento ou algo parecido. Já o plano de dados é responsável por encaminhar pacotes na rede, ou seja, ele simplesmente encaminha os pacotes para seu destino que é determinado pelo plano de controle. 2 - Qual a vantagem de se ter um plano de controle separado? Essa separação fornece a facilidade de que vários switches podem compartilhar o mesmo plano de controle. Com isso, para mudar as regras de definição de fluxo desses elementos encaminhadores, basta modificar o plano de controle. Além disso, com o plano de controle separado, é possível que o controlador possua a visão global da rede, o que pode ser levado em conta na tomada de decisões.
Perguntas 3 - Explique como ocorre o encaminhamento de pacotes no protocolo Openflow quando: a) O fluxo já está definido. Quando o fluxo já está definido o pacote é simplesmente comutado. b) O fluxo ainda não foi definido. Quando chega o primeiro pacote de um fluxo não definido, ele é então mandado para o controlador, que então define qual será o próximo destino desse pacote e adiciona essa linha na tabela de encaminhamento do comutador OpenFlow.
Perguntas 4 - Como é possível garantir QoS com SDN? Na ferramenta QFlow por exemplo, temos que a qualidade de serviço é garantida através do controle, monitoramento e distribuição dos recursos da rede física para as diversas redes virtuais, de acordo com o tipo da rede e sua prioridade com relação às outras redes. 5 - Como o uso de SDN pode contribuir para um melhor aproveitamento da energia elétrica? Com o uso de SDN é possível desviar parte do tráfego para não sobrecarregar uma máquina ou até mesmo desviar todo o tráfego de pacotes para que a máquina possa ser desligada, o que é conhecido como migração de fluxo.
Mininet* Simulador de redes virtuais Kernel Comutadores Protocolos Suporte ao protocolo OpenFlow Desenvolvimento de protótipos de SDN * Lantz, B., Heller, B., & McKeown, N. (2010, October). A network in a laptop: rapid prototyping for Software-defined networks. In Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks (p. 19). ACM
Redes de Computadores I Referências
Referência [1] Mattos, D. M. F., and Duarte, O. C. M. B. - "QFlow: Um Sistema com Garantia de Isolamento e Oferta de Qualidade de Serviço para Redes Virtualizadas", in XXX Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos - SBRC'2012, pp. 536-549, Ouro Preto, MG, Brazil, May 2012 [2] Figueiredo, U. da R., Lobato, A. G. P., Mattos, D. M. F., Ferraz L. H. G., and Duarte, O. C. M. B. - "Análise de Desempenho de Mecanismos de Encaminhamento de Pacotes em Redes Virtuais", in XXXI Workshop de Gerência e Operação de Redes e Serviços (WGRS 2013) - SBRC'2013, pp. 61-84, Brasília, DF, Brazil, May 2013 [3] Minicurso 4 do XXX Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos 30 de Abril a 4 de Maio de 2012, Ouro Preto, MG Título: Redes Definidas por Software: uma abordagem sistemica para o desenvolvimento de pesquisas em Redes de Computadores Autores: Dorgival Guedes, Luiz Filipe Menezes Vieira, Marcos Menezes Vieira, Henrique Rodrigues e Rogerio Vinhal Nunes, (2012, Maio)
Redes de Computadores I Redes Definidas por Software Antonio Gonzalez Pastana Lobato Ulisses da Rocha Figueiredo