Este documento propõe uma solução para programabilidade de redes baseada em virtualização. A solução conceitual envolve um programador de rede, um controlador de rede virtual e uma camada de virtualização. O objetivo é facilitar a criação, implantação e disponibilização de inovações no núcleo das redes por meio da virtualização e programabilidade de redes.
ProViNet : Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
Uma Solução para Programabilidade de Redes baseada em Virtualização
1. Uma Solução para Programabilidade
de Redes baseada em Virtualização
Wanderson Paim de Jesus Lisandro Zambenedetti Granville
wpjesus@inf.ufrgs.br granville@inf.ufrgs.br
Mestrando Orientador
Grupo de Redes
De Computadores
5. Introdução
Contextualização
Aplicações da Borda das Redes de Computadores
• Fácil acesso
• Grande número de desenvolvedores Mais inovação
• Rápida implantação e disponibilização
5
6. Introdução
Contextualização
Aplicações do Núcleo das Redes de Computadores
• IPv6 • MPLS
• Firewalls • Multicast
• Balanceador • QoS
de carga
• Difícil acesso
• Poucos desenvolvedores Menos inovação
• Implantação e disponibilização lentas
6
7. Introdução
Contextualização
• Propostas de programabilidade de redes discutidas no projeto
ReVir – Programabilidade em Redes Virtualizadas
• Redes Ativas
• Agentes Móveis
• MIBs DISMAN
• AON (CISCO)
• JunosSDK (Juniper)
• Click Modular Router
• OpenFlow
• NetFPGA
7
8. Introdução
Contextualização
• Propostas de programabilidade de redes discutidas no projeto
ReVir – Programabilidade em Redes Virtualizadas
• Redes Ativas
• Agentes Móveis Não ofereciam garantias de segurança aos
administradores de redes
• MIBs DISMAN
• AON (CISCO)
• JunosSDK (Juniper)
• Click Modular Router
• OpenFlow
• NetFPGA
8
9. Introdução
Contextualização
• Propostas de programabilidade de redes discutidas no projeto
ReVir – Programabilidade em Redes Virtualizadas
• Redes Ativas
• Agentes Móveis
• MIBs DISMAN
• AON (CISCO)
Não seguem nenhum padrão e
• JunosSDK (Juniper) por isso não interagem entre si
• Click Modular Router
• OpenFlow
• NetFPGA
9
10. Introdução
Contextualização
• Propostas de programabilidade de redes discutidas no projeto
ReVir – Programabilidade em Redes Virtualizadas
• Redes Ativas
• Agentes Móveis
• MIBs DISMAN
• AON (CISCO)
• JunosSDK (Juniper)
Oferece alto grau de programabilidade.
• Click Modular Router Porém, ainda com limitações de
• OpenFlow escalabilidade
• NetFPGA
10
11. Introdução
Contextualização
• Propostas de programabilidade de redes discutidas no projeto
ReVir – Programabilidade em Redes Virtualizadas
• Redes Ativas
• Agentes Móveis
• MIBs DISMAN
• AON (CISCO)
• JunosSDK (Juniper)
• Click Modular Router
• OpenFlow
Atualmente mais adotado
• NetFPGA
11
12. Introdução
Contextualização
• Propostas de programabilidade de redes discutidas no projeto
ReVir – Programabilidade em Redes Virtualizadas
• Redes Ativas
• Agentes Móveis
• MIBs DISMAN
• AON (CISCO)
• JunosSDK (Juniper)
• Click Modular Router
• OpenFlow Hardware programável muito utilizado
• NetFPGA em experimentos de laboratório
12
14. Introdução
Contextualização
Surgimento de um novo conceito: Virtualização de redes
• Isolamento
• Flexibilidade
• Escalabilidade
• Segurança
• Redução de
custos
14
15. Introdução
139
Contextualização
Surgimento de um novo conceito: Virtualização de redes
ring deploy-
Usuário networkvirtual
Virtual de rede user .... Usuário networkvirtual
Virtual de rede user
ation: Virtu-
t possible to
computation
o aggregate Service provider
Provedor de Serviços
chine, up to
number and
esses can be Virtual network operator
Operador de Rede Virtual
ware system
re, machine
nt migration
Virtual network provider
Provedor de Rede Virtual
nt machine,
ob migration
and energy
htly loaded Provedor de
Infrastructure provider .... Provedor de
Infrastructure provider
ng down the Infraestrutura Infraestrutura
es indepen- Figure 3. Network virtualization general architecture.
nd Adaptado de [Khan, A.; Zugenmaier, A.; Jurca, D.; Kellerer, W.; , "Network virtualization: a hypervisor for the Internet?," Communications Magazine,
the man-
es IEEE , vol.50, no.1, pp.136-143, January 2012]
easier.
devices, e.g. nologies, when applied to networking, can create 15
16. Introdução
Definição do Problema
Como facilitar a criação, implantação
e disponibilização de inovações no
núcleo das redes
Virtualização Programabilidade
• Isolamento • Mais Inovações
• Flexibilidade • Novas Arquiteturas
• Escalabilidade • Atender demandas
• Segurança da Internet
• Redução de Custos
16
17. Introdução
Objetivos
1 - Facilitar a interação de usuários com provedores de rede virtual
17
18. Introdução
Objetivos
1 - Facilitar a interação de usuários com provedores de rede virtual
2 - Prover o controle dos serviços de rede desenvolvidos a fim de permitir
sua disponibilização
18
19. Introdução
Objetivos
1 - Facilitar a interação de usuários com provedores de rede virtual
2 - Prover o controle dos serviços de rede desenvolvidos a fim de permitir
sua disponibilização
3 - Permitir a implantação de serviços de rede independentemente da
tecnologia de programabilidade
19
20. Trabalhos Relacionados
• Fonte de conceitos
• Matias, J. et. al. - An openflow based network virtualization framework for
the cloud. Em CloudCom, 2011 IEEE
• Salvadori, E. et. al. - Demonstrating generalized virtual topologies in an
openflow network. Em ACM SIGCOMM 2011
• Pisa, P. S. et. al. - VNEXT: Virtual NEtwork management for Xen-based
Testbeds’. Em IFIP NoF 2011
• Mais relacionados com a solução
• Naous, J. et. al. - Expedient: A Pluggable Non-Intrusive Exploratory
Control Framework for GENI - (Poster)
• Salvadori, E. et. al. - VeRTIGO: Network Virtualization in SDN-based
infrastructures, 2012 (Poster)
• Yuen, M. (2010). GENI in the Cloud. (Tese)
• ProtoGeni: Angu, P. et. al. - Experiences with dynamic circuit creation in a
regional network testbed. Em INFOCOM WKSHPS, 2011 IEEE
20
21. Trabalhos Relacionados
Nenhum dos trabalhos analisados oferece simultaneamente:
• A possibilidade de utilização de recursos da rede local e da Cloud para
instanciação da redes virtuais
• Uma interface gráfica para criação e visualização automatizada do
RSpec (representação da topologia em XML)
• Uma interface gráfica para controle de serviços de rede
• Uma arquitetura para programabilidade de redes fim-a-fim (considera
instanciação de nós e provimento de serviços na rede)
21
22. Trabalhos Relacionados
Recursos Recursos GUI para Controle de Deploy de
locais da Cloud RSpec Serviços Serviços
OMNI
Expedient
VeRTIGO
VNEXT
GENICloud
ProtoGENI
Minha
Solução
22
23. Solução Proposta
Solução Conceitual
Programador
de Rede
Solução
Comunicação com Rede Controlador de Rede
Virtual Virtual
Camada de Virtualização
Infraestrutura de Provedor de
Rede Virtual Rede Virtual
Camada de Recursos
23
24. Solução Proposta
Arquitetura
Programador
de Rede
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
24
25. Solução Proposta
Caso de Uso
Diferenciação de tráfego
Servidor de Streming
de vídeo
Vídeo
Vídeo Caminho otimizado
Vídeo
Caminho não otimizado
Vídeo
Vídeo
25
26. Solução Proposta
Caso de Uso
Programador
de Rede
1º
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
26
27. Solução Proposta
Caso de Uso
Programador
de Rede
2º
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
27
28. Solução Proposta
Caso de Uso
Objetivo 1 atingido! Programador
de Rede
2º
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
28
29. Solução Proposta
Caso de Uso
Programador
de Rede
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
3º Amazon
Azure CloudStack
Camada de Recursos
29
30. Solução Proposta
Caso de Uso
Programador
de Rede
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
4º
Amazon
Azure CloudStack
Camada de Recursos
30
31. Solução Proposta
Caso de Uso
Programador
de Rede
5º
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
31
32. Solução Proposta
Caso de Uso
Objetivo 2 atingido! Programador
de Rede
5º
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
32
33. Solução Proposta
Caso de Uso
Programador
de Rede
1º Implantação
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
6º Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
33
34. Solução Proposta
Caso de Uso
Programador
de Rede
2º Disponibilização
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços SSH
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
34
35. Solução Proposta
Caso de Uso
Programador
de Rede
2º Disponibilização
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
35
36. Solução Proposta
Caso de Uso
Objetivo 3 atingido! Programador
de Rede
2º Disponibilização
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
36
37. Solução Proposta
Caso de Uso
Programador
FIM! de Rede
Sistema de Autenticação
BD
Controlador de Projetos
GUI de definição do RSpec
Upload Repositório de Serviços
Controlador de Infraestrutura Virtual
Gerenciador de serviços
Módulo de comunicação Topologia Disponível APIs
Amazon
Azure CloudStack
Camada de Recursos
37