Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro Ferramentas...

Post on 18-Apr-2015

105 views 0 download

Transcript of Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro Ferramentas...

Programa de Engenharia Elétrica - PEE/COPPE/UFRJ

Universidade Federal do Rio de Janeiro

Ferramentas para Gerência de Redes Virtuais Xen, OpenFlow e Híbrida

UFRJ – Universidade Federal do Rio de JaneiroDiogo Menezes Ferrazani Mattos

Prof. Otto Carlos Muniz Bandeira Duarte

UERJ – Universidade do Estado do Rio de JaneiroProf. Marcelo Gonçalves Rubinstein

Projeto ReVirMarço 2012

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 Física

Rede de Produção

Rede Experimental

Rede com QoS

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?

Programa de Engenharia Elétrica - PEE/COPPE/UFRJ

Universidade Federal do Rio de Janeiro

Uma Rede de Testes Interuniversitária com Técnicas de

Virtualização HíbridasProjeto 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

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

RequisitoConexã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

RequisitoConexã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ó

Interconexão das Universidades

Controle das plataformas

de Virtualização

Plataformas de

Virtualização

Encaminhamento de Pacotes

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

InternetHTTP

Interface de Administração

HTTP

Comutadores OpenFlow

Controlador

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

InternetHTTP

Interface de Administração

HTTP

Comutadores OpenFlow

Controlador

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 topologiaVisualizar, girar e desenhar novas redes

2. Painel de propriedadesMostrar as informações do roteadores e enlaces

3. Lista de nós registradosMostrar os roteadores físicos e virtuais atuaisDesligar/ligar roteadores

4. Painel de opçõesExecutar a migração de roteadores virtuaisConfigurar um novo roteador virtual

5. Lista de redesMostrar/ocultar redes da janela de visualizção de topologiaMudar 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

Programa de Engenharia Elétrica - PEE/COPPE/UFRJ

Universidade Federal do Rio de Janeiro

Ferramentas para Gerência de Redes Virtuais Xen, OpenFlow e Híbrida

UFRJ – Universidade Federal do Rio de JaneiroDiogo Menezes Ferrazani Mattos

Prof. Otto Carlos Muniz Bandeira Duarte

UERJ – Universidade do Estado do Rio de JaneiroProf. Marcelo Gonçalves Rubinstein

Projeto ReVirMarço 2012