1. O documento descreve a motivação para o desenvolvimento de uma plataforma para gerenciamento de redes virtuais programáveis chamada ProViNet, visando superar barreiras à inovação na borda e no núcleo das redes de computadores.
2. A solução proposta é baseada nos conceitos de virtualização de redes, programabilidade de redes, computação em nuvem e redes definidas por software, com uma arquitetura composta por pools de controle e execução e interfaces para usuários e aplicações.
3. O ProViNet permite o prov
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
ProViNet Plataforma Gerenciamento Redes Virtuais Programáveis
1. 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
2. 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. 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
4. 1 ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
Núcleo das Redes de Computadores
• Routers
• Switches
• APs
MOTIVAÇÃO
INOVAÇÃO
5. 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
6. 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
7. 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
8. 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)
9. 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
10. 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
11. 2 ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
PROBLEMA
PROPOSTAS
• ProtoGENI
(FLACK)
12. 2 ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
PROBLEMA
PROPOSTAS
• OFELIA
Control
Framework
13. 2 ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
PROBLEMA
PROPOSTAS
• XenServer
Distributed
Virtual
Switch
Controller
14. 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
15. 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
16. 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
17. 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
18. 3 ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
SOLUÇÃO
Provimento
de
Rede
Virtual
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
25. 3 ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
SOLUÇÃO
Programação
de
Rede
Virtual
26. 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
27. 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
28. 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
29. 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
30. 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
31. 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
32. 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
33. 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
34. 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
35. 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
36. 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
37. 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
38. 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
39. 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
Tempo(segundos)
1
2
3
4
5
Número de
Controladores
40. 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
41. 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
42. 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
43. 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
44. 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”
45. ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
46. ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
wanderson.paim@inf.ufrgs.br
47. N ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
BACKUP
48. N ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
BACKUP
PROGRAMA de REDE
49. N ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
BACKUP
VXDL
50. N ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
BACKUP
VXDL
51. N ProViNet:
Uma
Plataforma
para
Gerenciamento
de
Redes
Virtuais
Programáveis
BACKUP
VXDL