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 Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro Introdução • Cenário atual – Redes baseadas somente em IP – Endereços determinados por DNS, DHCP etc. – Sem suporte explícito a middle boxes Pouco suporte à inovação! • 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 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 Como podemos experimentar arquiteturas para a Internet do Futuro? • Instanciar, migrar e desligar um roteador virtual Uma Rede de Testes Interuniversitária com Técnicas de Virtualização Híbridas Projeto ReVir http://www.gta.ufrj.br/virtualtestbed Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro 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 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 Solução por Conectar uma • Universidades protegidas Firewalls e NATs rede Ethernet através de uma conexão TCP/IP – 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 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 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 HTTP Internet Controlador Árvore de Cobertura Topologia Web Server Migração de Fluxos Gerenciador de Fluxos Estatísticas HTTP NOX Comutadores OpenFlow Interface de Administração Aplicações da OMNI • Desenvolvidas como aplicações do controlador NOX • Aplicações – – – – – – Migração de fluxos Desenvolvidas Gerenciamento de fluxos Estatísticas Extensões do NOX Servidor Web Descoberta de topologia Adaptadas para interagir com Cálculo da árvore de cobertura 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 HTTP Internet Controlador Árvore de Cobertura Topologia Web Server Migração de Fluxos Gerenciador de Fluxos Estatísticas HTTP NOX Comutadores OpenFlow Interface de Administração 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 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 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 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 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 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 Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro