Upload
wanderson-paim
View
320
Download
4
Embed Size (px)
DESCRIPTION
Presented at SBRC 2013 in Brasília-DF, Brazil
Citation preview
Wanderson Paim de Jesus Ricardo L. S., Oscar M. C. R. e Lisandro Z. G.
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
Computer Networks UFRGS
SBRC – Maio de 2013 – Brasília/DF
SUMÁRIO
1. MoOvação 2. Problema 3. Solução 4. ProtóOpo 5. Avaliação 6. Considerações finais
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
1 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
• Computadores pessoais
• Dispositivos móveis
• Servidores
• Coisas (IoT)
Borda das Redes de Computadores
MOTIVAÇÃO
INOVAÇÃO
1 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
Núcleo das Redes de Computadores
• Routers
• Switches
• APs
MOTIVAÇÃO
INOVAÇÃO
1 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
Aplicações da Borda das Redes de Computadores
• Fácil acesso • Grande número de desenvolvedores • Rápida implantação e disponibilização
Mais inovação
MOTIVAÇÃO
INOVAÇÃO
1 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
MOTIVAÇÃO
INOVAÇÃO
• IPv6 • BGP • IPSec
• MPLS • Multicast • QoS
Aplicações do Núcleo das Redes de Computadores
• Difícil acesso • Poucos desenvolvedores • Implantação e disponibilização lentas
Menos inovação
1 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
MOTIVAÇÃO
BARREIRAS
• Grandes modificações para adoção de novas soluções
• LenOdão no processo de padronização
• Dependência no interesse comercial dos fornecedores de equipamentos de rede
• Hardware e so_ware proprietários no núcleo das redes
1 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
MOTIVAÇÃO
VISÃO HISTÓRICA
• Redes AOvas (PSOUNIS,1999)
• Open Signaling (CAMPBELL et al., 1999)
• Node OperaOng Systems
• Click Modular Router (MORRIS et al., 1999)
• Cisco AON
• Juniper JunOS SDK
• OpenFlow (MCKEOWN et al., 2008)
• So_ware-‐Defined Networking (MCKEOWN, 2009)
SUMÁRIO
1. MoOvação 2. Problema 3. Solução 4. ProtóOpo 5. Avaliação 6. Considerações finais
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
2 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
PROBLEMA
DESCRIÇÃO
Sistema Operacional de Rede
vSwitch
pSwitch
App App App Acesso
Usuários Finais X
2 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
PROBLEMA
PROPOSTAS
• ProtoGENI (FLACK)
2 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
PROBLEMA
PROPOSTAS
• OFELIA Control Framework
2 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
PROBLEMA
PROPOSTAS
• XenServer Distributed Virtual Switch Controller
SUMÁRIO
1. MoOvação 2. Problema 3. Solução 4. ProtóOpo 5. Avaliação 6. Considerações finais
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
CONCEITUAL
Virtualização de Redes
Programabilidade de Redes
Computação em Nuvem
Redes Definidas por So_ware
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
CONCEITUAL
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Sistema Operacional de Rede
vSwitch
pSwitch
App App App
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
ARQUITETURA
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Slices da RVP
Pool de Controle
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Provimento de Rede Virtual
Slices da RVP
Pool de Controle
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
PROVIMENTO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
PROVIMENTO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
PROVIMENTO
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
PROVIMENTO
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
PROVIMENTO
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
PROVIMENTO
hop://usuario1.provinet.local
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Programação de Rede Virtual
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
PROGRAMAÇÂO
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
PROGRAMAÇÂO
Slices da RVP
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS Provedor de Infraestrutura
Virtual
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
Pool$de$Execução$
Pool$de$Controle$
Slices$
1$
2$ SBAPI
NBAPI
Usuário Final
Pool de Controle
PROGRAMAÇÂO
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
ABORDAGEM
Pool$de$Controle$
...
Formato de chamada REST (http://<referenciacontrolador>/<serviço>)
Pool$de$Execução$
...
Hypervisor Hypervisor
Exemplo: http://user1.provinet.local/getTopology
Exemplo: http://user2.provinet.local/sw/1/setFlow
user1.provinet.local : 192.168.1.20, 192.168.1.21 <nome> : <IP-do-controlador-principal>, <secundário>,...
user2.provinet.local : 192.168.1.30, 192.168.1.31
...
...
...
Máquinas virtuais rodando o(s) controlador(es)
.20
Máquina virtual rodando o aplicativo do usuário
Slice do user1
.21
.30 .31
Servidor de DNS
SBAPI
NBAPI Slice do user2
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
VANTAGENS
Pool$de$Controle$
...
Formato de chamada REST (http://<referenciacontrolador>/<serviço>)
Pool$de$Execução$
...
Hypervisor Hypervisor
Exemplo: http://user1.provinet.local/getTopology
Exemplo: http://user2.provinet.local/sw/1/setFlow
user1.provinet.local : 192.168.1.20, 192.168.1.21 <nome> : <IP-do-controlador-principal>, <secundário>,...
user2.provinet.local : 192.168.1.30, 192.168.1.31
...
...
...
Máquinas virtuais rodando o(s) controlador(es)
.20
Máquina virtual rodando o aplicativo do usuário
Slice do user1
.21
.30 .31
Servidor de DNS
SBAPI
NBAPI Slice do user2
Isolamento
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
VANTAGENS
Pool$de$Controle$
...
Formato de chamada REST (http://<referenciacontrolador>/<serviço>)
Pool$de$Execução$
...
Hypervisor Hypervisor
Exemplo: http://user1.provinet.local/getTopology
Exemplo: http://user2.provinet.local/sw/1/setFlow
user1.provinet.local : 192.168.1.20, 192.168.1.21 <nome> : <IP-do-controlador-principal>, <secundário>,...
user2.provinet.local : 192.168.1.30, 192.168.1.31
...
...
...
Máquinas virtuais rodando o(s) controlador(es)
.20
Máquina virtual rodando o aplicativo do usuário
Slice do user1
.21
.30 .31
Servidor de DNS
SBAPI
NBAPI Slice do user2
Balanceamento de Carga
3 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
SOLUÇÃO
VANTAGENS
Pool$de$Controle$
...
Formato de chamada REST (http://<referenciacontrolador>/<serviço>)
Pool$de$Execução$
...
Hypervisor Hypervisor
Exemplo: http://user1.provinet.local/getTopology
Exemplo: http://user2.provinet.local/sw/1/setFlow
user1.provinet.local : 192.168.1.20, 192.168.1.21 <nome> : <IP-do-controlador-principal>, <secundário>,...
user2.provinet.local : 192.168.1.30, 192.168.1.31
...
...
...
Máquinas virtuais rodando o(s) controlador(es)
.20
Máquina virtual rodando o aplicativo do usuário
Slice do user1
.21
.30 .31
Servidor de DNS
SBAPI
NBAPI Slice do user2
Tolerância a Falha
SUMÁRIO
1. MoOvação 2. Problema 3. Solução 4. ProtóOpo 5. Avaliação 6. Considerações finais
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
4 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
PROTÓTIPO
TECNOLOGIAS
Slices da RVP
Pool de Controle
Pool de Execução
Controle de Usuários Usuário
Controle de AplicaOvos Servidor
DNS HyFS
Web GUI
Controle de Slices e Referências
VXDL
a
b
c Módulo de
Administração Administrador
d
Bootstrap
BIND
SUMÁRIO
1. MoOvação 2. Problema 3. Solução 4. ProtóOpo 5. Avaliação 6. Considerações finais
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
AVALIAÇÂO
CASO de ESTUDO 5 Parte 1 – Provimento
VXDL
Controladores 2 Topologia da rede virtual 7 switches e 4 hosts
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
AVALIAÇÂO
CRIAÇÃO de SLICES
Instanciação de 2 controladores 12,82s
Provimento da Infra (PIV) 57,81s
Configuração dos Subdomínios 0,04s
Total 70,67s
5
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
AVALIAÇÂO
CASO de ESTUDO 5 Parte 2 – Programação
• Chamada entre o Pool de Execução e o de Controle
• h8p://provinet.local/wm/core/controller/switches/json
Controladores [1 – 5] Topologia da rede virtual 7 switches e 4 hosts
5 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
AVALIAÇÂO
Plano de Controle
20 40 60 80 100
1
2
3
4
5
6
7
8
Número de requisições
Tem
po (s
egun
dos)
12345
Número de Controladores
SUMÁRIO
1. MoOvação 2. Problema 3. Solução 4. ProtóOpo 5. Avaliação 6. Considerações finais
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
6 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
CONSIDERAÇÕES FINAIS
VISÃO GERAL
• Problema: Falta de acesso a usuários finais em redes virtuais
• Hipótese: Aumentando o número de usuários aptos a propor e implantar soluções de rede, maior será a quanOdade de soluções inovadoras
• Solução: Plataforma de gerenciamento de RVP
• Contribuições:
• Abordagem de gerenciamento do Plano de Controle
• Arquitetura para coordenar a programação de RVP
6 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
CONSIDERAÇÕES FINAIS
TRABALHOS FUTUROS
• Aprimorar metodologia de programabilidade
• Explorar a alta disponibilidade no plano de controle
• Executar avaliações qualitaOvas
• Padronização de chamadas entre ProViNet e PIV
• Promover o comparOlhamento de soluções
6 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
CONSIDERAÇÕES FINAIS
TRABALHOS FUTUROS
• Prateleiras de serviços de rede virtual
IPv8
Usuários Finais
6 ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
CONSIDERAÇÕES FINAIS
FOLLOWING ProViNet
• Wanderson P. J., Juliano A. W., Lisandro Z. G. (2013). ProViNet – An Open Plauorm for Programmable Virtual Network Management. Em Proceedings of 37th IEEE Computer SoGware and ApplicaIons Conference (COMPSAC 2013)
• hop://github.com/computer-‐networks-‐ufrgs/provinet
• hop://www.futureinternet.br
• YouTube: “ProViNet – SDN Management Plauorm”
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
N ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
BACKUP
N ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
BACKUP
PROGRAMA de REDE
N ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
BACKUP
VXDL
N ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
BACKUP
VXDL
N ProViNet: Uma Plataforma para Gerenciamento de Redes Virtuais Programáveis
BACKUP
VXDL