Ferramentas para Gerência de Redes Virtuais Xen, OpenFlow e Híbrida UFRJ – Universidade Federal do Rio de Janeiro Diogo Menezes Ferrazani Mattos Prof. Otto Carlos Muniz Bandeira Duarte UERJ – Universidade do Estado do Rio de Janeiro Prof. Marcelo Gonçalves Rubinstein Projeto ReVir Março 2012
Pouco suporte à inovação! Introdução Cenário atual Redes baseadas somente em IP Endereços determinados por DNS, DHCP etc. Sem suporte explícito a middle boxes Experimentação em redes Restrita a redes locais Pequena escala + ambiente controlado Simulação Cenários idealizados Redes de testes internacionais Alto custo de implantação/operação de infraestrutura Pouco suporte à inovação!
Virtrualização de Redes Redes em Paralelo Uma rede por serviço Infraestrutura de rede compartilhada entre redes virtuais Proposta para a Internet do Futuro Virtualização de Redes Divisão lógica das redes Isolamento entre as redes Rede com QoS Rede Experimental Rede de Produção Rede Física
Experimentação na Internet do Futuro Redes mais complexas do que no cenário atual Distribuir os recursos físicos entre as redes virtuais Controlar e gerenciar os recursos de cada uma das múltiplas redes virtuais Maior número de variáveis de rede a serem monitoradas Maior a possibilidade de uma decisão afetar o desempenho de outras redes Novas funcionalidades que agregam mais possibilidades ao gerenciamento Instanciar, migrar e desligar um roteador virtual Como podemos experimentar arquiteturas para a Internet do Futuro? Nesse cenário, é praticamente impossível manter um estado completo da rede e controlar o que acontece na rede de forma acurada.
Projeto ReVir http://www.gta.ufrj.br/virtualtestbed Uma Rede de Testes Interuniversitária com Técnicas de Virtualização Híbridas Projeto ReVir http://www.gta.ufrj.br/virtualtestbed
Rede de Teste Híbrida Rede de Testes Interuniversitária Experimentação de larga escala Experimentos não ficam restritos a redes locais ou ambientes controlados Baixo custo de implantação / operação Computadores pessoais conectados pela Internet Condições realísticas de experimentação Conexão entre os nós através da Internet Tráfego de teste sujeito às condições de encaminhamento da Internet Suporte a duas tecnologias de virtualização de redes Xen OpenFlow
Universidades Participantes Já conectadas UFRJ UFF Unicamp UFRGS UECE UFSC UFES A conectar Universidade de Lisboa Portugal LIP6 França
Xen Usado para criar roteadores virtuais Uma rede virtual é composta de roteadores virtuais Cada roteador físico é dividido em diferentes roteadores virtuais Um para cada rede virtual da qual pertence Aumenta a programabilidade da rede Roteador convencional Um plano de controle e um plano de dados Roteador com Xen Cada roteador virtual implementa seus próprios planos de controle e de dados Nesse cenário, é praticamente impossível manter um estado completo da rede e controlar o que acontece na rede de forma acurada.
Xen Novas tecnologias de virtualização de redes Rede de teste Ilhas disponíveis na rede Virtualização de E/S assistida por hardware Máquinas virtuais acessam diretamente instancias virtuais de dispositivos físicos SR-IOV um dispositivo físico apresenta-se como diversos dispositivos virtuais
OpenFlow Tecnologia de programação de redes Desenvolvimento de inovações nas redes universitárias Redes de teste em paralelo com redes de produção Controle da tabela de fluxos em comutadores e roteadores comerciais Flexibilidade no núcleo da rede Núcleo da rede programável Centralizado Controlador Programação da rede + protocolo OpenFlow
OpenFlow OpenFlow em Hardware Computadores com placas NetFPGA Ilhas de teste OpenFlow instalado nas placas NetFPGA Suporte a ilhas de comutadores OpenFlow Comutadores OpenFlow conectados à Rede de Testes
Requisito Conexão entre Universidades Necessidade de criação de uma rede Ethernet comum entre as Universidades OpenFlow Rede comutada Necessidade de se definir uma camada Ethernet comum Universidades protegidas por Firewalls e NATs Políticas de segurança de rede diferentes entre Universidades Dificuldade em abrir portas no Firewall Máquinas de testes protegidas por NATs IP não alcançável pela Internet Solução Conectar uma rede Ethernet através de uma conexão TCP/IP
Requisito Conexão entre Universidades Soluções Criação de duas VPNs Dados e Controle Isolamento e políticas distintas para cada rede Limitação Não passa o tráfego de dados da rede OpenFlow Pacotes como o LLDP não são encaminhados pela VPN Criação de túneis Capsulator Ferramenta criada por Stanford OpenRoads Interconexão de redes OpenFlow sobre IP Novo Protocolo de Transporte Criação dos enlaces virtuais
Topologia GTA/UFRJ
Encapsulamento
Arquitetura de um Nó Controle das plataformas de Virtualização Encaminhamento de Pacotes Interconexão das Universidades
Gerenciamento: OpenFlow OMNI: OpenFlow MaNagement Infrastructure Objetivos Gerenciar redes OpenFlow Simplificar a interação administrador-controlador Prover uma interface de gerenciamento de rede remota Principais recursos Estatísticas da rede em tempo real Gerenciamento dinâmico de fluxos Visualização da topologia e da árvore de cobertura Interface de gerenciamento remota API para programação do controlador
Arquitetura da OMNI NOX Internet Comutadores OpenFlow HTTP Controlador Estatísticas Gerenciador de Fluxos Migração de Fluxos Web Server Topologia Árvore de Cobertura Interface de Administração NOX Comutadores OpenFlow
Adaptadas para interagir com o servidor Web Aplicações da OMNI Desenvolvidas como aplicações do controlador NOX Aplicações Migração de fluxos Gerenciamento de fluxos Estatísticas Servidor Web Descoberta de topologia Cálculo da árvore de cobertura Desenvolvidas Extensões do NOX Adaptadas para interagir com o servidor Web
Servidor Web Proxy entre entidades de controle remotas e o controlador da rede OpenFlow Interface para controle remoto da rede OpenFlow Interface para interação com aplicações desenvolvidas Uso de XML Funcionamento Recepção de requisições de primitivas de controle Chamada da função correspondente Envio da resposta gerada pela função
Arquitetura da OMNI NOX Internet Comutadores OpenFlow HTTP Controlador Estatísticas Gerenciador de Fluxos Migração de Fluxos Web Server Topologia Árvore de Cobertura Interface de Administração NOX Comutadores OpenFlow
Apresentação da Interface
Gerenciamento: Xen VNEXT (Virtual NEtwork management for Xen-based Testbeds) Ferramenta de controle e gerenciamento de redes virtuais Auxiliar a tomada de decisões dos administradores de rede Baseada na plataforma Xen Específica para gerenciar e controlar roteadores e redes virtuais Diferente das existentes Datacenters Nesse cenário, é praticamente impossível manter um estado completo da rede e controlar o que acontece na rede de forma acurada.
Funcionalidades do VNEXT Criação de roteadores Criação de redes virtuais e controle individual de cada rede Monitoramento do estado dos roteadores e enlaces Reorganização da topologia virtual Migração sem perdas Nesse cenário, é praticamente impossível manter um estado completo da rede e controlar o que acontece na rede de forma acurada.
Arquitetura do VNEXT
Arquitetura do VNEXT Adqurir, formatar e processar dados monitorados Memória, banda, # de processadores e % de processamento Medidas ativas e passivas Executar requisições do controlador: atuação Ex.: migrar ou desligar roteadores virtuais
Arquitetura do VNEXT Recebe comandos dos administradores Envia requisições para os daemons Manter o estado dos roteadores físicos e virtuais controlados
Arquitetura do VNEXT Visualização e controle das redes físicas e virtuais pelos administradores
Arquitetura do VNEXT Daemons de monitoramento e atuação Hierarquia de comunicação reduzir o envio de requisições Controlador daemons dos roteadores físicos daemons dos roteadores virtuais Escritos na linguagem Python Detalhes de implementação
Arquitetura do VNEXT Controlador das redes virtuais Implementado em Java na forma de Web Service Axis2 e Apache Tomcat6 Comunicação entre o controlador e os daemons usa TCP Mensagens trocadas são no formato XML Exporta uma interface de serviços de controle Protocolo SOAP para encapsular as mensagens XML Detalhes de implementação
Arquitetura do VNEXT Interface gráfica Implementada em Python com as bibliotecas Qt e OpenGL Comunicação com o controlador usando um empacotador Transforma os serviços SOAP para métodos em Python Detalhes de implementação
1. Visualização da topologia Visualizar, girar e desenhar novas redes
2. Painel de propriedades Mostrar as informações do roteadores e enlaces
3. Lista de nós registrados Mostrar os roteadores físicos e virtuais atuais Desligar/ligar roteadores
4. Painel de opções Executar a migração de roteadores virtuais Configurar um novo roteador virtual
5. Lista de redes Mostrar/ocultar redes da janela de visualizção de topologia Mudar a cor de visualização da rede
Integração Xen e OpenFlow Rede de Teste Híbrida Para todo nó Comutador OpenFlow Criação de máquinas virtuais Xen Máquinas virtuais Xen Interconectadas por comutador OpenFlow Marcação de pacotes por Rede Virtual VLAN Pacotes só são entregues às interfaces com o identificador de VLAN que está no pacote
Conclusão Interconexão de universidades geograficamente distribuídas VPN (conectividade) + Capsulator (enlace virtual) Fase de implantação 7 universidades participantes Criação de Redes Virtuais Híbridas OpenFlow e Xen Primitivas Instanciar, migrar e remover redes virtuais Administração da rede interface Web + Gráfica Ilhas de Novas Tecnologias Virtualização de dispositivos de E/S assistida por hardware NetFPGA
Trabalhos Futuros Experimentação de novas arquiteturas de rede Content Centric Network Integração da rede de teste com outras propostas Oferta de qualidade de Serviço XTC VIPER Roteamento Flexível XenFlow
Ferramentas para Gerência de Redes Virtuais Xen, OpenFlow e Híbrida UFRJ – Universidade Federal do Rio de Janeiro Diogo Menezes Ferrazani Mattos Prof. Otto Carlos Muniz Bandeira Duarte UERJ – Universidade do Estado do Rio de Janeiro Prof. Marcelo Gonçalves Rubinstein Projeto ReVir Março 2012