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

Post on 24-Jun-2015

274 Views

Category:

Presentations & Public Speaking

0 Downloads

Preview:

Click to see full reader

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

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

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

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

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

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

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

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

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

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

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

O que é... SDN?

Maceió, Brasil15-17 de outubro, 2014

Arquitetura tradicional. Arquitetura SDN.

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

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

O que é... SDN?

Maceió, Brasil15-17 de outubro, 2014

Visão geral da arquitetura SDN.

O que é... SDN?

Maceió, Brasil15-17 de outubro, 2014

Controladores SDN e o protocolo OpenFlow.

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

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).

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.

O que é... Gerenciamento SDN?

Maceió, Brasil15-17 de outubro, 2014

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

Exemplo de sintaxe na linguagem Frenetic.

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

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

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

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

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

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

Maceió, Brasil15-17 de outubro, 2014

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

Maceió, Brasil15-17 de outubro, 2014

Visão geral MDD.

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

Maceió, Brasil15-17 de outubro, 2014

Visão geral MDD.

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

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

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

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

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).

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

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"     […]

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

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

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

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

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

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

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

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

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

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

top related