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
Download

Grupo UFRJ/UERJ