Redes Definidas por Software - GTA / COPPE / UFRJ · Com o uso de SDN é possível desviar parte do...
Transcript of Redes Definidas por Software - GTA / COPPE / UFRJ · Com o uso de SDN é possível desviar parte do...
Redes deComputadores I
Redes Definidaspor Software
Antonio Gonzalez Pastana LobatoUlisses da Rocha Figueiredo
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
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 dePlanos
• 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
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
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
ArquiteturaOpenFlow
D
B
C
A
E
Canal SeguroConexão SSL
Controlador
Header
Header
Header
Controlador Nox
Ap
lica
ção
1
Ap
lica
ção
2
Ap
lica
ção
3
Ap
lica
ção
N
...
Rede 1Rede 2 Rede N
FlowVisor
• Desenvolvido por:
• Universidade de Stanford
• Controlador especial para o OpenFlow
• Proxy transparente
• Comutadores OpenFlow
• Controlador(es)
• Fatia a rede
• Isolamento
• Controle distribuído
DemaisFerramentas
• 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
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
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
Perguntas
1 - Qual a diferença entre plano de controle e plano de dado?
2 - Qual a vantagem de se ter um plano de controle separado?
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.
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.
b) O fluxo ainda não foi definido.
Quando o fluxo já está definido o pacote é simplesmente comutado.
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?
5 - Como o uso de SDN pode contribuir para um melhor aproveitamento da energia elétrica?
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.
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: rapidprototyping for Software-defined networks. In Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks (p. 19). ACM
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, MGTítulo: Redes Definidas por Software: uma abordagem sistemica para o desenvolvimento de pesquisas em Redes de ComputadoresAutores: Dorgival Guedes, Luiz Filipe Menezes Vieira, Marcos Menezes Vieira, Henrique Rodrigues e Rogerio Vinhal Nunes, (2012, Maio)