iii sbti - sessão 4 – abordagem dirigida a modelos para o gerenciamento de redes definidas por...

45
Felipe Lopes, Stenio Fernandes {fal3, sflf}@cin.ufpe.br Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Redes Definidas por Software

Upload: felipe-alencar

Post on 24-Jun-2015

274 views

Category:

Presentations & Public Speaking


0 download

DESCRIPTION

As Redes Definidas por Software (SDN) vêm obtendo grande atenção por parte da comunidade acadêmica e também da indústria, devido a diversos aspectos. Apesar disso, o gerenciamento e o desenvolvimento de aplicações voltadas para este novo campo em redes de computadores ainda são complexos, carentes de metodologias e ferramentas que permitam utilizar todo o nível de abstração possibilitado pelas SDNs. Com foco neste problema, o presente trabalho propõe uma Domain-Specific Modelling Language (DSML), aplicada à abordagem de SDN, aumentando o nível de abstração para o gerenciamento destas redes.

TRANSCRIPT

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

Felipe Lopes, Stenio Fernandes{fal3, sflf}@cin.ufpe.br

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

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

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

O que é... SDN?

Maceió, Brasil15-17 de outubro, 2014

Arquitetura tradicional. Arquitetura SDN.

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

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

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

O que é... SDN?

Maceió, Brasil15-17 de outubro, 2014

Visão geral da arquitetura SDN.

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

O que é... SDN?

Maceió, Brasil15-17 de outubro, 2014

Controladores SDN e o protocolo OpenFlow.

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

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ó, Brasil15-17 de outubro, 2014

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

O que é... Gerenciamento SDN?

Maceió, Brasil15-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

StatusFluxo

Domínio definido por Kim e Feamster (2013).

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

O que é... Gerenciamento SDN?

Utilização de Domain-Specific Languages (DSLs) para implementar políticas de gerenciamento.

Maceió, Brasil15-17 de outubro, 2014

Arquitetura SDN e o uso de DSLs.

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

O que é... Gerenciamento SDN?

Maceió, Brasil15-17 de outubro, 2014

Select(packets) * GroupBy([srcmac]) *SplitWhen([inport]) *Limit(1)

Exemplo de sintaxe na linguagem Frenetic.

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

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

Modelos Executáveis

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

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ó, Brasil15-17 de outubro, 2014

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

O que é... Model-Driven Development (MDD)?

DSML►Geração de ferramentas CASE (Computer-Aided Software Engineering).

Maceió, Brasil15-17 de outubro, 2014

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

O que é... Model-Driven Development (MDD)?

Maceió, Brasil15-17 de outubro, 2014

Visão geral MDD.

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

O que é... Model-Driven Development (MDD)?

Maceió, Brasil15-17 de outubro, 2014

Visão geral MDD.

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

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ó, Brasil15-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

StatusFluxo

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

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ó, Brasil15-17 de outubro, 2014

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

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

StatusFluxo

Meta-modelo criado para nossa abordagem (arquivo .ecore, EMF).

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

Abordagem MDD-SDN

Sintaxe concreta definida para a abordagem MDD-SDN (GMF Editor).

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

Abordagem MDD-SDN

Exemplo de mapeamento entre sintaxe concreta e abstrata.Maceió, Brasil15-17 de outubro, 2014

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

Abordagem MDD-SDN

Trecho de um dos templates EGL, definidos para geração de código.DSL subjacente: Pyretic/Python. Controlador: POX.

Maceió, Brasil15-17 de outubro, 2014

[%for (policy in Policy) {%]    [%if (policy.concession == 'Deny') {%]      try:          nb = [%=policy.condition%]            (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"     […]

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

Simulação

Utilização do simulador Mininet com o controlador POX.

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

Simulação

Duas políticas:– Controle de acesso

nos períodos especi-

ficados.– Execução do código

gerado no controlador

POX.

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

Simulação

Execução do teste:– Verificação da aplicação das políticas utilizando

comando pingall.

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

Agenda

Maceió, Brasil15-17 de outubro, 2014

Introdução

Por que SDN é importante?

O que é exatamente?

SDN

Gerenciamento SDN

MDD

Abordagem

MDD-SDN

Sintaxes

Simulação

Geração e teste de código

Considerações Finais

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

Considerações Finais

Comparação com outros trabalhos:Principais Funcionalidades

para Modelagem SDNMiniedit 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 controladores SIM SIM SIM SIM

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

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

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ó, Brasil15-17 de outubro, 2014

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

Felipe Lopes, Stenio Fernandes{fal3, sflf}@cin.ufpe.br

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