SlideShare uma empresa Scribd logo
1 de 45
Sessão 4 – Abordagem Dirigida a Modelos para o 
Gerenciamento de Redes Definidas por Software 
Felipe Lopes, Stenio Fernandes 
{fal3, sflf}@cin.ufpe.br
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Introdução 
 A Internet se tornou um sistema altamente 
complexo para gerenciar. 
– Não muito flexível para implantar novos serviços. 
 Internet Ossification. 
– Oportunidade para novas técnicas: 
 Network Virtualization (NV); 
 Software-Defined Networking (SDN); 
 Network Functions Virtualization (NFV). 
Maceió, Brasil 
15-17 de outubro, 2014
Introdução 
 SDN e sua importância: 
– Eliminação da integração vertical entre o plano de 
controle da rede e seu plano de dados; 
– Surgimento de controladores de rede; 
– Flexibilidade na rede; 
– Controladores são softwares, e é possível modelar 
software. 
Maceió, Brasil 
15-17 de outubro, 2014
Introdução 
 Motivação: 
– Se o controlador é software, o desenvolvimento de 
software é propenso à erros; 
– O comportamento da rede é definido por políticas em 
forma de algoritmos executados no controlador; 
– Controladores ≈ Sistemas Operacionais tradicionais. 
 Políticas inconsistentes e o comportamento 
errôneo da rede. 
Maceió, Brasil 
15-17 de outubro, 2014
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
O que é... SDN? 
“É uma arquitetura emergente que é dinâmica, 
gerenciável, custo-efetiva e adaptável. Esta 
arquitetura separa o controle da rede e funções de 
encaminhamento, permitindo que a rede seja 
diretamente programável e a infraestrutura 
subjacente seja abstraída para aplicações e serviços 
de rede.” 
Open Networking Foundation (ONF) 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... SDN? 
“É uma arquitetura emergente que é dinâmica, 
gerenciável, custo-efetiva e adaptável. Esta 
arquitetura separa o controle da rede e funções de 
encaminhamento, permitindo que a rede seja 
diretamente programável e a infraestrutura 
subjacente seja abstraída para aplicações e serviços 
de rede.” 
Open Networking Foundation (ONF) 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... SDN? 
Arquitetura tradicional. Arquitetura SDN. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... SDN? 
 Para tornar os conceitos SDN mais claros, 
destacam-se algumas funcionalidades: 
– Plano de controle e dados são separados; 
– A rede possui um plano de controle programável; 
– O controle lógico é movido para uma unidade externa 
aos switches; 
– Decisões de encaminhamento são baseadas em fluxo, 
ao invés das baseadas em cabeçalhos/destinos; 
– Plano de controle logicamente centralizado: 
 Pode ser fisicamente distribuído. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... SDN? 
 Para tornar os conceitos SDN mais claros, 
destacam-se algumas funcionalidades: 
– Plano de controle e dados são separados; 
– A rede possui um plano de controle programável; 
– O controle lógico é movido para uma unidade externa 
aos switches; 
– Decisões de encaminhamento são baseadas em fluxo, 
ao invés das baseadas em cabeçalhos/destinos; 
– Plano de controle logicamente centralizado: 
 Pode ser fisicamente distribuído. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... SDN? 
Visão geral da arquitetura SDN. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... SDN? 
Controladores SDN e o protocolo OpenFlow. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Gerenciamento SDN? 
 Definição de políticas para o comportamento 
correto da rede: 
– Eventos de rede (ex.: aumento de tráfego, falhas de 
comunicação, etc.). 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Gerenciamento SDN? 
Maceió, Brasil 
15-17 de outubro, 2014 
• Autenticação 
• Identidade do 
dispositivo 
• Porta de 
entrada/saída 
• Destino 
• Quantidade 
utilizada 
• Taxa de tráfego 
• Horários de pico 
• Período de 
férias 
Tempo 
Uso de 
Dados 
Fluxo Status 
Domínio definido por Kim e Feamster (2013).
O que é... Gerenciamento SDN? 
 Utilização de Domain-Specific Languages (DSLs) 
para implementar políticas de gerenciamento. 
Arquitetura SDN e o uso de DSLs. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Gerenciamento SDN? 
Select(packets) * 
GroupBy([srcmac]) * 
SplitWhen([inport]) * 
Limit(1) 
Exemplo de sintaxe na linguagem Frenetic. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Model-Driven Development (MDD)? 
“O paradigma MDD foca na automação de várias 
tarefas complexas, tais como: suporte para 
persistência de sistemas, interoperabilidade e 
distribuição, tendo como objetivo subjacente a 
redução da complexidade no desenvolvimento de 
aplicações ou gerenciamento de ambientes 
computacionais.” 
Atkinson e Kuhne (2003) 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Model-Driven Development (MDD)? 
“O paradigma MDD foca na automação de várias 
tarefas complexas, tais como: suporte para 
persistência de sistemas, interoperabilidade e 
distribuição, tendo como objetivo subjacente a 
redução da complexidade no desenvolvimento de 
aplicações ou gerenciamento de ambientes 
computacionais.” 
Atkinson e Kuhne (2003) 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Model-Driven Development (MDD)? 
“O paradigma MDD foca na automação de várias 
tarefas complexas, tais como: suporte para 
persistência de sistemas, interoperabilidade e 
distribuição, tendo como objetivo subjacente a 
redução da complexidade no desenvolvimento de 
aplicações ou gerenciamento de ambientes 
computacionais.” 
Atkinson e Kuhne (2003) 
Maceió, Brasil 
15-17 de outubro, 2014 
Modelos Executáveis
O que é... Model-Driven Development (MDD)? 
 Uma das formas de seguir MDD é através de 
Domain-Specific Modeling Languages (DSMLs): 
– Uma DSML é uma 5-tupla: 
 L = < C, A, S, MS, MC > 
– Sintaxe Concreta (C): notação específica para expressar modelos; 
– Sintaxe Abstrata (A): conceitos, relacionamentos, restrições de 
integridade; 
– Semântica do Domínio (S): formalismo matemático para descrever 
o significado dos modelos; 
– Mapeamento Semântico (MS): atribui conceitos ao domínio 
semântico; 
– Mapeamento Sintático (MC): atribui construções gráficas aos 
elementos abstratos. 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Model-Driven Development (MDD)? 
 DSML►Geração de ferramentas CASE (Computer- 
Aided Software Engineering). 
Maceió, Brasil 
15-17 de outubro, 2014
O que é... Model-Driven Development (MDD)? 
Maceió, Brasil 
15-17 de outubro, 2014 
Visão geral MDD.
O que é... Model-Driven Development (MDD)? 
Maceió, Brasil 
15-17 de outubro, 2014 
Visão geral MDD.
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Abordagem MDD-SDN 
 Aproveitamento de todo potencial de abstração 
possibilitado pelas SDNs: 
– Definição do escopo de domínio 
no gerenciamento SDNs; 
– Criação de uma DSML: 
 Domínio; 
 Sintaxe abstrata (meta-modelo); 
 Sintaxe concreta; 
 Mapeamentos; 
 Geração de código. 
Maceió, Brasil 
15-17 de outubro, 2014 
• Autenticação 
• Identidade do 
dispositivo 
• Porta de 
entrada/saída 
• Destino 
• Quantidade 
utilizada 
• Taxa de tráfego 
• Horários de 
pico 
• Período de 
férias 
Tempo 
Uso de 
Dados 
Fluxo Status
Abordagem MDD-SDN 
 Utilização de frameworks para implementar a 
DSML proposta: 
– Para a modelagem: 
 Graphical Modeling Framework (GMF), do projeto Eclipse. 
Composto por Eclipse Modeling Framework e Graphical 
Editing Framework (EMF). 
– Para geração de código: 
 Eclipse Generation Language (EGL). 
 Open-source, abrangência e compatibilidade 
maior em comparação com MetaEdit+ e AToM³. 
Maceió, Brasil 
15-17 de outubro, 2014
Abordagem MDD-SDN 
 Aproveitamento de todo potencial de abstração 
possibilitado pelas SDNs: 
– Definição do escopo de domínio 
no gerenciamento SDNs; 
– Criação de uma DSML. 
• Autenticação 
• Identidade do 
dispositivo 
• Porta de 
entrada/saída 
• Destino 
• Quantidade 
utilizada 
• Taxa de tráfego 
• Horários de 
pico 
• Período de 
férias 
Tempo 
Uso de 
Dados 
Fluxo Status 
Meta-modelo criado para nossa abordagem (arquivo .ecore, EMF).
Abordagem MDD-SDN 
Sintaxe concreta definida para a abordagem MDD-SDN (GMF Editor).
Abordagem MDD-SDN 
Exemplo de mapeamento entre sintaxe concreta e abstrata. 
Maceió, Brasil 
15-17 de outubro, 2014
Abordagem MDD-SDN 
[%for (policy in Policy) {%] 
[%if (policy.concession == 'Deny') {%] 
try: 
nb = [%=policy.condition%] 
Trecho de um dos templates EGL, definidos para geração de código. 
DSL subjacente: Pyretic/Python. Controlador: POX. 
Maceió, Brasil 
15-17 de outubro, 2014 
(str1,str2,str3) = nb.split(',') 
(access,period) = ((str1),(str2+str3)) 
ip1 = [%policy.source.ip%] 
ip2 = [%policy.target.ip%] 
action = ((access)) 
if(time.strftime("%H:%M:%S") in period) 
self.AddRule(ip1,ip2,action) 
except: 
print "Invalid Format" 
[…]
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Simulação 
 Utilização do simulador Mininet com o controlador 
POX.
Simulação 
 Duas políticas: 
– Controle de acesso 
nos períodos especi-ficados. 
– Execução do código 
gerado no controlador 
POX.
Simulação 
 Execução do teste: 
– Verificação da aplicação das políticas utilizando 
comando pingall.
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Agenda 
Introdução 
Por que SDN é 
importante? 
O que é 
exatamente? 
SDN 
Gerenciamento 
SDN 
MDD 
Maceió, Brasil 
15-17 de outubro, 2014 
Abordagem 
MDD-SDN 
Sintaxes 
Simulação 
Geração e teste 
de código 
Considerações 
Finais
Considerações Finais 
 Comparação com outros trabalhos: 
Principais Funcionalidades 
para Modelagem SDN 
Miniedit VND CIM-SDN MDD-SDN 
Modelar topologia SIM SIM SIM SIM 
Modelar comportamento e regras NÃO NÃO NÃO SIM 
Modelar aplicações NÃO NÃO NÃO SIM 
Suporte para múltiplos 
SIM SIM SIM SIM 
controladores 
Suporte para DSLs NÃO NÃO NÃO SIM 
Geração de código executável SIM SIM SIM SIM 
Validação NÃO NÃO SIM SIM 
Elementos gráficos descritivos SIM SIM NÃO SIM 
Maceió, Brasil 
15-17 de outubro, 2014
Considerações Finais 
 Propomos o conceito de MDD-SDN para gerenciar 
e desenvolver aplicações de redes: 
– DSML; 
– Ferramenta CASE. 
 A simulação é uma prova de conceito. 
 Os benefícios da proposta são vários: 
– Permitir a modelagem de SDN; 
– Suportar DSLs criadas para SDN; 
– Gerar código executável; 
– Suportar qualquer fornecedor de controlador; 
– Descrever graficamente os elementos de uma arquitetura SDN; 
– Validar tal arquitetura. 
Maceió, Brasil 
15-17 de outubro, 2014
Considerações Finais 
 Durante o desenvolvimento deste trabalho, 
originou-se o conceito de Model-Driven 
Networking (MDN). 
 Direções para trabalhos futuros incluem: 
– Definição formal do domínio para gerenciamento e 
desenvolvimento de SDN e suas aplicações; 
– Permitir transformações entre modelos: 
 Inclusive code-to-model. 
Maceió, Brasil 
15-17 de outubro, 2014
Sessão 4 – Abordagem Dirigida a Modelos para o 
Gerenciamento de Redes Definidas por Software 
Felipe Lopes, Stenio Fernandes 
{fal3, sflf}@cin.ufpe.br

Mais conteúdo relacionado

Semelhante a III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Redes Definidas por Software

Engenharia web seminário
Engenharia web   seminárioEngenharia web   seminário
Engenharia web seminárioBenedilosn
 
MPCT2018 - Iniciativas NFV no Brasil
MPCT2018 - Iniciativas NFV no BrasilMPCT2018 - Iniciativas NFV no Brasil
MPCT2018 - Iniciativas NFV no BrasilJúlio César Magro
 
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Pedro Castilho
 
Skalena - Overview de Soluções
Skalena - Overview de Soluções Skalena - Overview de Soluções
Skalena - Overview de Soluções Edgar Silva
 
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Joao Galdino Mello de Souza
 
Arquitetura para otimização de legado
Arquitetura para otimização de legadoArquitetura para otimização de legado
Arquitetura para otimização de legadoClóvis Wichoski
 
Microsoft Azure: Fundação para Transformação Digital
Microsoft Azure: Fundação para Transformação DigitalMicrosoft Azure: Fundação para Transformação Digital
Microsoft Azure: Fundação para Transformação DigitalRichard Chaves
 
Agenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG BrasilAgenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG BrasilJoao Galdino Mello de Souza
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosJeison Barros
 
NoSQL: Uma análise crítica
NoSQL: Uma análise críticaNoSQL: Uma análise crítica
NoSQL: Uma análise críticapichiliani
 
Gleidson rodrigues apresentação profissional
Gleidson rodrigues   apresentação profissionalGleidson rodrigues   apresentação profissional
Gleidson rodrigues apresentação profissionalGleidson Rodrigues
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceFernando Carvalho
 
Cloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCompanyWeb
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoCaio Candido
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 

Semelhante a III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Redes Definidas por Software (20)

Cloud computing
Cloud computingCloud computing
Cloud computing
 
SDN - Frost & Sullivan
SDN - Frost & SullivanSDN - Frost & Sullivan
SDN - Frost & Sullivan
 
Engenharia web seminário
Engenharia web   seminárioEngenharia web   seminário
Engenharia web seminário
 
MPCT2018 - Iniciativas NFV no Brasil
MPCT2018 - Iniciativas NFV no BrasilMPCT2018 - Iniciativas NFV no Brasil
MPCT2018 - Iniciativas NFV no Brasil
 
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
Codecon - Fundamentos da Arquitetura de Software: Estruturando Sistemas Sem P...
 
FabricioDoi
FabricioDoiFabricioDoi
FabricioDoi
 
20141128-Carlos-Eduardo-Capparelli
20141128-Carlos-Eduardo-Capparelli20141128-Carlos-Eduardo-Capparelli
20141128-Carlos-Eduardo-Capparelli
 
6381463 hhhghfdhdgfh
6381463 hhhghfdhdgfh6381463 hhhghfdhdgfh
6381463 hhhghfdhdgfh
 
Skalena - Overview de Soluções
Skalena - Overview de Soluções Skalena - Overview de Soluções
Skalena - Overview de Soluções
 
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
 
Arquitetura para otimização de legado
Arquitetura para otimização de legadoArquitetura para otimização de legado
Arquitetura para otimização de legado
 
Microsoft Azure: Fundação para Transformação Digital
Microsoft Azure: Fundação para Transformação DigitalMicrosoft Azure: Fundação para Transformação Digital
Microsoft Azure: Fundação para Transformação Digital
 
Agenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG BrasilAgenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG Brasil
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
NoSQL: Uma análise crítica
NoSQL: Uma análise críticaNoSQL: Uma análise crítica
NoSQL: Uma análise crítica
 
Gleidson rodrigues apresentação profissional
Gleidson rodrigues   apresentação profissionalGleidson rodrigues   apresentação profissional
Gleidson rodrigues apresentação profissional
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
 
Cloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCloud Computing - Computação em Nuvem
Cloud Computing - Computação em Nuvem
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como Código
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 

III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Redes Definidas por Software

  • 1. Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Redes Definidas por Software Felipe Lopes, Stenio Fernandes {fal3, sflf}@cin.ufpe.br
  • 2. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 3. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 4. Introdução  A Internet se tornou um sistema altamente complexo para gerenciar. – Não muito flexível para implantar novos serviços.  Internet Ossification. – Oportunidade para novas técnicas:  Network Virtualization (NV);  Software-Defined Networking (SDN);  Network Functions Virtualization (NFV). Maceió, Brasil 15-17 de outubro, 2014
  • 5. Introdução  SDN e sua importância: – Eliminação da integração vertical entre o plano de controle da rede e seu plano de dados; – Surgimento de controladores de rede; – Flexibilidade na rede; – Controladores são softwares, e é possível modelar software. Maceió, Brasil 15-17 de outubro, 2014
  • 6. Introdução  Motivação: – Se o controlador é software, o desenvolvimento de software é propenso à erros; – O comportamento da rede é definido por políticas em forma de algoritmos executados no controlador; – Controladores ≈ Sistemas Operacionais tradicionais.  Políticas inconsistentes e o comportamento errôneo da rede. Maceió, Brasil 15-17 de outubro, 2014
  • 7. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 8. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 9. O que é... SDN? “É uma arquitetura emergente que é dinâmica, gerenciável, custo-efetiva e adaptável. Esta arquitetura separa o controle da rede e funções de encaminhamento, permitindo que a rede seja diretamente programável e a infraestrutura subjacente seja abstraída para aplicações e serviços de rede.” Open Networking Foundation (ONF) Maceió, Brasil 15-17 de outubro, 2014
  • 10. O que é... SDN? “É uma arquitetura emergente que é dinâmica, gerenciável, custo-efetiva e adaptável. Esta arquitetura separa o controle da rede e funções de encaminhamento, permitindo que a rede seja diretamente programável e a infraestrutura subjacente seja abstraída para aplicações e serviços de rede.” Open Networking Foundation (ONF) Maceió, Brasil 15-17 de outubro, 2014
  • 11. O que é... SDN? Arquitetura tradicional. Arquitetura SDN. Maceió, Brasil 15-17 de outubro, 2014
  • 12. O que é... SDN?  Para tornar os conceitos SDN mais claros, destacam-se algumas funcionalidades: – Plano de controle e dados são separados; – A rede possui um plano de controle programável; – O controle lógico é movido para uma unidade externa aos switches; – Decisões de encaminhamento são baseadas em fluxo, ao invés das baseadas em cabeçalhos/destinos; – Plano de controle logicamente centralizado:  Pode ser fisicamente distribuído. Maceió, Brasil 15-17 de outubro, 2014
  • 13. O que é... SDN?  Para tornar os conceitos SDN mais claros, destacam-se algumas funcionalidades: – Plano de controle e dados são separados; – A rede possui um plano de controle programável; – O controle lógico é movido para uma unidade externa aos switches; – Decisões de encaminhamento são baseadas em fluxo, ao invés das baseadas em cabeçalhos/destinos; – Plano de controle logicamente centralizado:  Pode ser fisicamente distribuído. Maceió, Brasil 15-17 de outubro, 2014
  • 14. O que é... SDN? Visão geral da arquitetura SDN. Maceió, Brasil 15-17 de outubro, 2014
  • 15. O que é... SDN? Controladores SDN e o protocolo OpenFlow. Maceió, Brasil 15-17 de outubro, 2014
  • 16. O que é... Gerenciamento SDN?  Definição de políticas para o comportamento correto da rede: – Eventos de rede (ex.: aumento de tráfego, falhas de comunicação, etc.). Maceió, Brasil 15-17 de outubro, 2014
  • 17. O que é... Gerenciamento SDN? Maceió, Brasil 15-17 de outubro, 2014 • Autenticação • Identidade do dispositivo • Porta de entrada/saída • Destino • Quantidade utilizada • Taxa de tráfego • Horários de pico • Período de férias Tempo Uso de Dados Fluxo Status Domínio definido por Kim e Feamster (2013).
  • 18. O que é... Gerenciamento SDN?  Utilização de Domain-Specific Languages (DSLs) para implementar políticas de gerenciamento. Arquitetura SDN e o uso de DSLs. Maceió, Brasil 15-17 de outubro, 2014
  • 19. O que é... Gerenciamento SDN? Select(packets) * GroupBy([srcmac]) * SplitWhen([inport]) * Limit(1) Exemplo de sintaxe na linguagem Frenetic. Maceió, Brasil 15-17 de outubro, 2014
  • 20. O que é... Model-Driven Development (MDD)? “O paradigma MDD foca na automação de várias tarefas complexas, tais como: suporte para persistência de sistemas, interoperabilidade e distribuição, tendo como objetivo subjacente a redução da complexidade no desenvolvimento de aplicações ou gerenciamento de ambientes computacionais.” Atkinson e Kuhne (2003) Maceió, Brasil 15-17 de outubro, 2014
  • 21. O que é... Model-Driven Development (MDD)? “O paradigma MDD foca na automação de várias tarefas complexas, tais como: suporte para persistência de sistemas, interoperabilidade e distribuição, tendo como objetivo subjacente a redução da complexidade no desenvolvimento de aplicações ou gerenciamento de ambientes computacionais.” Atkinson e Kuhne (2003) Maceió, Brasil 15-17 de outubro, 2014
  • 22. O que é... Model-Driven Development (MDD)? “O paradigma MDD foca na automação de várias tarefas complexas, tais como: suporte para persistência de sistemas, interoperabilidade e distribuição, tendo como objetivo subjacente a redução da complexidade no desenvolvimento de aplicações ou gerenciamento de ambientes computacionais.” Atkinson e Kuhne (2003) Maceió, Brasil 15-17 de outubro, 2014 Modelos Executáveis
  • 23. O que é... Model-Driven Development (MDD)?  Uma das formas de seguir MDD é através de Domain-Specific Modeling Languages (DSMLs): – Uma DSML é uma 5-tupla:  L = < C, A, S, MS, MC > – Sintaxe Concreta (C): notação específica para expressar modelos; – Sintaxe Abstrata (A): conceitos, relacionamentos, restrições de integridade; – Semântica do Domínio (S): formalismo matemático para descrever o significado dos modelos; – Mapeamento Semântico (MS): atribui conceitos ao domínio semântico; – Mapeamento Sintático (MC): atribui construções gráficas aos elementos abstratos. Maceió, Brasil 15-17 de outubro, 2014
  • 24. O que é... Model-Driven Development (MDD)?  DSML►Geração de ferramentas CASE (Computer- Aided Software Engineering). Maceió, Brasil 15-17 de outubro, 2014
  • 25. O que é... Model-Driven Development (MDD)? Maceió, Brasil 15-17 de outubro, 2014 Visão geral MDD.
  • 26. O que é... Model-Driven Development (MDD)? Maceió, Brasil 15-17 de outubro, 2014 Visão geral MDD.
  • 27. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 28. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 29. Abordagem MDD-SDN  Aproveitamento de todo potencial de abstração possibilitado pelas SDNs: – Definição do escopo de domínio no gerenciamento SDNs; – Criação de uma DSML:  Domínio;  Sintaxe abstrata (meta-modelo);  Sintaxe concreta;  Mapeamentos;  Geração de código. Maceió, Brasil 15-17 de outubro, 2014 • Autenticação • Identidade do dispositivo • Porta de entrada/saída • Destino • Quantidade utilizada • Taxa de tráfego • Horários de pico • Período de férias Tempo Uso de Dados Fluxo Status
  • 30. Abordagem MDD-SDN  Utilização de frameworks para implementar a DSML proposta: – Para a modelagem:  Graphical Modeling Framework (GMF), do projeto Eclipse. Composto por Eclipse Modeling Framework e Graphical Editing Framework (EMF). – Para geração de código:  Eclipse Generation Language (EGL).  Open-source, abrangência e compatibilidade maior em comparação com MetaEdit+ e AToM³. Maceió, Brasil 15-17 de outubro, 2014
  • 31. Abordagem MDD-SDN  Aproveitamento de todo potencial de abstração possibilitado pelas SDNs: – Definição do escopo de domínio no gerenciamento SDNs; – Criação de uma DSML. • Autenticação • Identidade do dispositivo • Porta de entrada/saída • Destino • Quantidade utilizada • Taxa de tráfego • Horários de pico • Período de férias Tempo Uso de Dados Fluxo Status Meta-modelo criado para nossa abordagem (arquivo .ecore, EMF).
  • 32. Abordagem MDD-SDN Sintaxe concreta definida para a abordagem MDD-SDN (GMF Editor).
  • 33. Abordagem MDD-SDN Exemplo de mapeamento entre sintaxe concreta e abstrata. Maceió, Brasil 15-17 de outubro, 2014
  • 34. Abordagem MDD-SDN [%for (policy in Policy) {%] [%if (policy.concession == 'Deny') {%] try: nb = [%=policy.condition%] Trecho de um dos templates EGL, definidos para geração de código. DSL subjacente: Pyretic/Python. Controlador: POX. Maceió, Brasil 15-17 de outubro, 2014 (str1,str2,str3) = nb.split(',') (access,period) = ((str1),(str2+str3)) ip1 = [%policy.source.ip%] ip2 = [%policy.target.ip%] action = ((access)) if(time.strftime("%H:%M:%S") in period) self.AddRule(ip1,ip2,action) except: print "Invalid Format" […]
  • 35. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 36. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 37. Simulação  Utilização do simulador Mininet com o controlador POX.
  • 38. Simulação  Duas políticas: – Controle de acesso nos períodos especi-ficados. – Execução do código gerado no controlador POX.
  • 39. Simulação  Execução do teste: – Verificação da aplicação das políticas utilizando comando pingall.
  • 40. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 41. Agenda Introdução Por que SDN é importante? O que é exatamente? SDN Gerenciamento SDN MDD Maceió, Brasil 15-17 de outubro, 2014 Abordagem MDD-SDN Sintaxes Simulação Geração e teste de código Considerações Finais
  • 42. Considerações Finais  Comparação com outros trabalhos: Principais Funcionalidades para Modelagem SDN Miniedit VND CIM-SDN MDD-SDN Modelar topologia SIM SIM SIM SIM Modelar comportamento e regras NÃO NÃO NÃO SIM Modelar aplicações NÃO NÃO NÃO SIM Suporte para múltiplos SIM SIM SIM SIM controladores Suporte para DSLs NÃO NÃO NÃO SIM Geração de código executável SIM SIM SIM SIM Validação NÃO NÃO SIM SIM Elementos gráficos descritivos SIM SIM NÃO SIM Maceió, Brasil 15-17 de outubro, 2014
  • 43. Considerações Finais  Propomos o conceito de MDD-SDN para gerenciar e desenvolver aplicações de redes: – DSML; – Ferramenta CASE.  A simulação é uma prova de conceito.  Os benefícios da proposta são vários: – Permitir a modelagem de SDN; – Suportar DSLs criadas para SDN; – Gerar código executável; – Suportar qualquer fornecedor de controlador; – Descrever graficamente os elementos de uma arquitetura SDN; – Validar tal arquitetura. Maceió, Brasil 15-17 de outubro, 2014
  • 44. Considerações Finais  Durante o desenvolvimento deste trabalho, originou-se o conceito de Model-Driven Networking (MDN).  Direções para trabalhos futuros incluem: – Definição formal do domínio para gerenciamento e desenvolvimento de SDN e suas aplicações; – Permitir transformações entre modelos:  Inclusive code-to-model. Maceió, Brasil 15-17 de outubro, 2014
  • 45. Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Redes Definidas por Software Felipe Lopes, Stenio Fernandes {fal3, sflf}@cin.ufpe.br