SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
ReVir – Programabilidade em Redes Virtualizadas
UFRGS
Liane Maria Rockenbach Tarouco; Ricardo Luis dos Santos; Wanderson Paim de Jesus


UFPR
Elias P. Duarte Jr.; Gustavo Bassil Heimovski


UFRJ
Luci Pirmez; Renato Pinheiro de Souza


                                    Instituto de Informática – UFRGS
Agenda


• Introdução
• Virtualização de Redes
• Programabilidade de Redes - Propostas Históricas
   – Redes Ativas
   – Agentes Móveis
   – MIBs DISMAN
• Programabilidade de Redes - Propostas Atuais
   –   IOS (CISCO)
   –   JunOS (Juniper)
   –   Click
   –   OpenFlow
• Considerações Finais
• Status do Projeto
                                                     2
Introdução


• Internet
   – É um dos principais alicerces da sociedade atual
   – Popularização dos serviços de Internet
   – Facilidade para implementação, aliado ao baixo custo das tecnologias
• Serviços da Internet
   – Borda
      • O “valor” da Internet, para o usuário final, está principalmente nas
        bordas
      • Aplicações (DropBox, Skype, BitTorrent, Twitter)
   – Núcleo
      • Comunicação


                                                                            3
Introdução


• Ossificação da Internet
• Programabilidade de Redes
   – Foi concebida como uma forma para desenvolver novos serviços
   – É definida como a capacidade de um dispositivo de rede (e.g., um
     roteador) executar código no próprio dispositivo (LAZAR, 1997)
• Várias propostas que encontraram uma grande resistência,
  por parte dos administradores de rede
   –   Impacto de possíveis erros na aplicação de novas soluções
   –   Erros podem causar indisponibilidade de serviços importantes
   –   Equipamentos e soluções proprietárias dificultam a implementação
   –   Sem padronização


                                                                          4
VIRTUALIZAÇÃO DE REDES


                         5
Virtualização de Redes


• A virtualização de redes é vislumbrada como uma alternativa
  para experimentar e implementar novas funcionalidades
  sobre a rede de produção
• Alguns dos principais benefícios da utilização da virtualização
  de redes
   – Isolamento
   – Flexibilidade e disponibilidade
   – Escalabilidade
   – Redução de custos
   – Segurança

                                                                    6
Virtualização de Redes




                         7
Virtualização de Redes


• Soluções que permitem a virtualização de hosts
   – VMWare
   – VirtualBox
   – Xen
   – ...
• Alguns exemplos de sistemas operacionais de dispositivos de
  rede que podem ser utilizados para virtualização de redes
   – Open vSwitch – OvS
   – Quagga
   – Vyatta
   – ...
                                                                8
PROGRAMABILIDADE DE REDES


                            9
Propostas Históricas
Redes Ativas




• Redes Ativas
   – São caracterizadas pela possibilidade dos nós da rede realizarem
     alterações ou computações no conteúdo de um pacote
   – Propõe-se que dispositivos executem aplicações
   – Os apps podem ser enviados aos nós através da própria rede
   – Pacotes ativos precisam ser diferenciados dos pacotes comuns
• Abordagens
   – Nós ativos
   – Pacotes ativos
   – Híbridas




                                                                        10
Propostas Históricas
Redes Ativas




• Algumas aplicações possíveis
   – Gerência de Redes
       • O monitoramento atual exige pooling
       • Com o crescimento das redes isso é um problema
       • Com Redes Ativas diversos centros de gerenciamento poderiam
         ser configurados, deslocando o ponto de decisão para perto do nó
   – Implementação de cache para beneficiar multicasting
• Limitações
   – Segurança
      • Quais códigos podem ser executados?
      • Trade-off entre flexibilidade e segurança
      • Dependendo da solução seriam necessárias constantes
        atualizações nos nodos
                                                                        11
Propostas Históricas
Agentes Móveis




• Agentes Móveis
   – Agente trafega livremente entre os hosts da rede, decidindo seu
     destino e ações
   – Transfere tanto o código como o status anterior para o novo host,
     continuando sua execução de onde havia parado
   – Hosts devem estar preparados para executar os agentes móveis
• Benefícios
   –   Propõem mover o algoritmo para perto dos dados e não o contrário
   –   Menor latência
   –   Execução assíncrona e autônoma
   –   Tolerância a falhas



                                                                          12
Propostas Históricas
Agentes Móveis




• Limitações
   – Exigem hosts compatíveis para execução dos agentes
   – Equipamentos heterogêneos espalhados pela Internet (diferentes
     capacidades de processamento e memória)
   – Segurança
       • Uma vez disparados os agentes móveis não dependem do
         dispositivo que os originou
       • Agente trafega livremente entre os hosts da rede, decidindo seu
         destino e ações
       • Como definir o que executar na rede?




                                                                           13
Propostas Históricas
MIBs DISMAN




• DISMAN (Distributed Management)
   –   RFC 3165 (Script MIB)
   –   RFC 2981 (Event MIB)
   –   RFC 2982 (Expression MIB)
   –   RFC 4560 (Remote Operations MIB)
   –   RFC 3231 (Schedule MIB)




                                          14
Propostas Históricas
MIBs DISMAN




• Script MIB
   – Define um ambiente de execução que permite a criação de operações
     mais complexas codificadas em scripts
   – Além de permitir a manipulação dos scripts através de requisições
     SNMP, o ambiente de execução possibilita
      • A instalação de scripts nos nós da rede através de requisições
         SNMP
      • Escrita destes scripts em qualquer linguagem de programação,
         desde que esta seja suportada pelo ambiente de execução




                                                                     15
Propostas Históricas
MIBs DISMAN




• Permite a delegação de scripts para gerentes distribuídos
  fornecendo os seguintes atributos
   – Transferência de scripts para locais distribuídos (push ou pull)
   – Gerenciamento dos scripts (inicialização, suspensão, reinicialização e
     finalização)
   – Passagem de parâmetros
   – Monitoramento e controle dos scripts que estão em execução
   – Transferência para o gerente dos resultados produzidos
• Limitações
   – Necessidade de liberar acesso de administrador para inserir códigos
     nos dispositivos
   – Escopo limitado ao Gerenciamento de Redes

                                                                              16
Propostas Atuais
JunOS (Juniper)




• JunOS
    – Baseado em FreeBSD
    – Está dividido em 3 camadas: Plano de Controle, Dados e Serviço
       • Plano de Controle: Gerenciar e controlar o funcionamento do
          equipamento como um todo, incluindo os dois outros planos
       • Plano de Dados ou Packet Forwarding Engine (PFE): Hardware
          dedicado com a função de encaminhar ou filtrar o tráfego de
          acordo com a tabela de roteamento
       • Plano de Serviço: Extensão opcional do Plano de Dados que
          executa funções não nativas no PFE
    – Cada plano é executado em módulos de hardware instaláveis nos
      equipamentos Juniper


                                                                        17
Propostas Atuais
JunOS (Juniper)




• JunOS SDK
    – Funciona integrado ao Sistema Operacional de Rede JunOS
    – Provê APIs que permitem a incorporação de aplicações no JunOS
    – Uma vez implantados, as aplicações rodam nativamente nos
      equipamentos
    – Com o objetivo de evitar possíveis conflitos, a área de instalação dos
      módulos é controlada
       • São instalados em locais diferentes
       • Precisam de um ID fornecido pela Juniper extraído de um
         certificado assinado




                                                                               18
Propostas Atuais
IOS (CISCO)




• IOS (Internetwork Operating System)
   – Utilizado nos equipamentos da CISCO
   – Sistema operacional multitarefas que integra soluções de:
       • Roteamento
       • Switching
       • Interligação de redes (Internetworking)
       • Telecomunicações




                                                                 19
Propostas Atuais
IOS (CISCO)




• Cisco AON (Application-Oriented Networking)
   – Atua na camada de aplicação
   – Permite alterações no conteúdo dos pacotes
   – Exige equipamento dedicado (CADE – Cisco Application Deployment
     Engine)
   – Switches ou roteadores redirecionam o tráfego para o equipamento
     AON de maneira transparente, o qual aplica as políticas definidas
• Aplicações
   – Pode atuar como gateway entre empresas parceiras, tratando
     autenticação e autorização de acesso
   – Pode assumir papel de IDS, criar logs de ataques
   – Controlar qualidade de serviço, atribuindo prioridades

                                                                         20
Propostas Atuais
Click Modular Router




• Click Modular Router
   – Roteador baseado em software que implementa as funcionalidades de
     um roteador através de módulos
   – Os módulos podem ser escritos em C/C++
• Exemplo Contador de Pacotes




                                                                    21
Propostas Atuais
Click Modular Router




• Modos de operações
   – Kernel (alto desempenho para um roteador baseado em software)
   – UserLevel (nível de aplicação)
   – Simulação (módulo do NS-2 NSClick)
• Novos elementos podem ser desenvolvidos ou baixados da
  biblioteca de elementos prontos no site do Click
• Ferramenta gratuita e de código aberto
• Limitações
   – Não suporta migração de código e estado de execução
   – Carece de mecanismos que garantam seu funcionamento em caso de
     falha na rede


                                                                     22
Propostas Atuais
Openflow




• OpenFlow
   – Utiliza tabelas de fluxo internas e uma interface padronizada para
     adicionar e remover fluxos
   – Exige que os dispositivos de rede tenham suporte à OpenFlow
   – Utiliza modelo em camadas
      • Camada de controle
      • Camada de dados
   – Componentes
      • OpenFlow Switch/Router
      • Controlador
      • Protocolo



                                                                          23
Propostas Atuais
Openflow




                   [Brandon Heller, Srini Seetharaman]

                                             24
Propostas Atuais
Openflow




• Vantagens
   – Visão geral da topologia de rede
   – Por ser uma solução livre, pode reduzir os custos finais dos
     equipamentos
   – Segurança
   – Aplicações podem ser desenvolvidas em Java, C/C++ e Python
• Limitações
   – O controlador é um ponto de falha centralizado
   – Não suporta processamento por pacotes, apenas por fluxos
   – Escalabilidade limitada, devido à exigência de equipamentos de rede
     com suporte à OpenFlow



                                                                           25
Considerações Finais


• Propostas da comunidade científica
   – Recentemente, Agentes Móveis e OpenFlow têm sido foco de um
     grande número de pesquisas
   – As MIBs do DISMAN foram atualizadas diversas vezes ao longo da
     ultima década e muitos equipamentos oferecem suporte
   – A Script MIB permite a execução de scripts desenvolvidos em
     diferentes linguagens de programação, porém limita-se ao escopo do
     gerenciamento de redes
   – O OpenFlow possui a capacidade de separar os fluxos isolando as
     aplicações que compartilham os mesmos equipamentos
   – Porém, todas as tecnologias estudadas pecam na segurança, pois para
     executar os programas desenvolvidos nos dispositivos de rede, o
     administrador deverá fornecer acesso total aos equipamentos

                                                                      26
Considerações Finais


• Tecnologias disponíveis no mercado
   – Por serem soluções proprietárias, tanto o Cisco IOS quanto o JunOS
     SDK, possuem diversas semelhanças
       • Possuem otimizações e funcionam perfeitamente nos hardwares
         que oferecem suporte
       • Exigem equipamentos de um fabricante específico
       • Custo tanto dos equipamentos, quanto do suporte é elevado
   – O JunOS SDK destaca-se por limitar o que cada aplicação pode realizar,
     bem como a maneira como estas afetam o tráfego
   – O Click peca pela falta de mecanismos que garantam seu
     funcionamento em caso de falha na rede, bem como em relação a
     segurança


                                                                         27
Considerações Finais


• Tendências
   – OpenFlow
   – Apoio de diversas empresas
       • Google, IBM, Yahoo!, Juniper, CISCO, HP ... ONF (Open Networking
         Foundation)
   – Economia na compra de software de rede
   – Testbeds com suporte à OpenFlow: Ofelia, GENI
   – Ponto de falha central (controlador)
• Apesar de inserir “inteligência” nos dispositivos de rede, ainda
  são necessárias pesquisas para disponibilizar uma plataforma
  de rede programável pelo usuário final


                                                                        28
Status do Projeto


• Atividades concluídas
   – Estudo Teórico sobre virtualização e programabilidade de redes
• Atividades em desenvolvimento
   – Projeto de uma plataforma para programabilidade em redes
     virtualizadas
• Próximas atividades
   – Avaliação do projeto da plataforma – uma avaliação do design da
     plataforma será realizada por operadores de rede afim de aprimorar o
     projeto
   – Implementação – de posse de um projeto preliminar consistente com
     a opinião dos operadores, na etapa de implementação serão criados
     protótipos de roteadores e switches programáveis


                                                                       29
Status do Projeto


• Próximas atividades
   – Implantação/piloto – nesta etapa os protótipos desenvolvidos serão
     colocadas em um ambiente próximo ao ambiente de produção, de
     forma a analisar o comportamento da solução
   – Avaliação – a etapa de avaliação será de fato contínua e fornecerá
     resultados intermediários para que os desenvolvimentos nas etapas
     anteriores possam ser constantemente aprimorados




                                                                          30
Status do Projeto


• Pesquisas Ativas
   – Gustavo Bassil Heimovski (UFPR)
      Utilizando Redes Programáveis oferecer suporte à Anycast
   – Renato Pinheiro de Souza (UFRJ)
      Análise da influência na rede, ocasionada pela separação dos planos
      de controle e de dados em redes com suporte à OpenFlow
   – Ricardo Luis dos Santos (UFRGS)
      Desenvolver uma solução para programabilidade que habilite o
      desenvolvimento de serviços e aplicações sobre a rede núcleo
   – Wanderson Paim de Jesus (UFRGS)
      Desenvolver uma solução que permita disponibilizar para o cliente
      uma infraestrutura de rede virtual baseada em suas especificações


                                                                        31
ReVir
Programabilidade em Redes Virtualizadas




   Perguntas?
                              32

Contenu connexe

Similaire à Programabilidade em Redes Virtualizadas

20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
Juarez Junior
 
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIAula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Dalton Martins
 
Arquitetura control logix
Arquitetura control logixArquitetura control logix
Arquitetura control logix
Saddam Lande
 
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdfBR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
odairjose23
 

Similaire à Programabilidade em Redes Virtualizadas (20)

Em Direção às Redes Programáveis na Internet do Futuro
Em Direção às Redes Programáveis na Internet do FuturoEm Direção às Redes Programáveis na Internet do Futuro
Em Direção às Redes Programáveis na Internet do Futuro
 
Aws for Developers
Aws for DevelopersAws for Developers
Aws for Developers
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
 
Enucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarizationEnucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarization
 
Rede Definida Por Software - SDN
Rede Definida Por Software - SDNRede Definida Por Software - SDN
Rede Definida Por Software - SDN
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
 
ADR00 - Conceitos de Sistemas Operacionais de Redes
ADR00 - Conceitos de Sistemas Operacionais de RedesADR00 - Conceitos de Sistemas Operacionais de Redes
ADR00 - Conceitos de Sistemas Operacionais de Redes
 
Minicurso Virtualizacao com Proxmox - Maicon Wendhausen - FLISOL Natal 2017
Minicurso Virtualizacao com Proxmox - Maicon Wendhausen - FLISOL Natal 2017Minicurso Virtualizacao com Proxmox - Maicon Wendhausen - FLISOL Natal 2017
Minicurso Virtualizacao com Proxmox - Maicon Wendhausen - FLISOL Natal 2017
 
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIAula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte II
 
Gerência de redes e computadores
Gerência de redes e computadoresGerência de redes e computadores
Gerência de redes e computadores
 
Gerência - Aula 01
Gerência - Aula 01Gerência - Aula 01
Gerência - Aula 01
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
O futuro do Openstack, NFV, SDN e Cloud Computing - FISL 2014
 
Apresentação cloud computing
Apresentação   cloud computingApresentação   cloud computing
Apresentação cloud computing
 
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
 
Arquitetura control logix
Arquitetura control logixArquitetura control logix
Arquitetura control logix
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdfBR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
BR - Fabric Connect Workshop LAB Slides v0 PTBR.pdf
 
Aula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computingAula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computing
 

Plus de Ricardo Luis dos Santos (7)

Identifying the Root Cause of Failures in IT Changes: Novel Strategies and Tr...
Identifying the Root Cause of Failures in IT Changes: Novel Strategies and Tr...Identifying the Root Cause of Failures in IT Changes: Novel Strategies and Tr...
Identifying the Root Cause of Failures in IT Changes: Novel Strategies and Tr...
 
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
 
A Solution for Identifying the Root Cause of Problems in IT Change Management
A Solution for Identifying the Root Cause of Problems in IT Change ManagementA Solution for Identifying the Root Cause of Problems in IT Change Management
A Solution for Identifying the Root Cause of Problems in IT Change Management
 
Ávores de Decisão
Ávores de DecisãoÁvores de Decisão
Ávores de Decisão
 
Identificação Interativa da Causa Raiz de Problemas no Gerenciamento de Mudan...
Identificação Interativa da Causa Raiz de Problemas no Gerenciamento de Mudan...Identificação Interativa da Causa Raiz de Problemas no Gerenciamento de Mudan...
Identificação Interativa da Causa Raiz de Problemas no Gerenciamento de Mudan...
 
Mibs Disman
Mibs DismanMibs Disman
Mibs Disman
 
Statecharts
StatechartsStatecharts
Statecharts
 

Programabilidade em Redes Virtualizadas

  • 1. ReVir – Programabilidade em Redes Virtualizadas UFRGS Liane Maria Rockenbach Tarouco; Ricardo Luis dos Santos; Wanderson Paim de Jesus UFPR Elias P. Duarte Jr.; Gustavo Bassil Heimovski UFRJ Luci Pirmez; Renato Pinheiro de Souza Instituto de Informática – UFRGS
  • 2. Agenda • Introdução • Virtualização de Redes • Programabilidade de Redes - Propostas Históricas – Redes Ativas – Agentes Móveis – MIBs DISMAN • Programabilidade de Redes - Propostas Atuais – IOS (CISCO) – JunOS (Juniper) – Click – OpenFlow • Considerações Finais • Status do Projeto 2
  • 3. Introdução • Internet – É um dos principais alicerces da sociedade atual – Popularização dos serviços de Internet – Facilidade para implementação, aliado ao baixo custo das tecnologias • Serviços da Internet – Borda • O “valor” da Internet, para o usuário final, está principalmente nas bordas • Aplicações (DropBox, Skype, BitTorrent, Twitter) – Núcleo • Comunicação 3
  • 4. Introdução • Ossificação da Internet • Programabilidade de Redes – Foi concebida como uma forma para desenvolver novos serviços – É definida como a capacidade de um dispositivo de rede (e.g., um roteador) executar código no próprio dispositivo (LAZAR, 1997) • Várias propostas que encontraram uma grande resistência, por parte dos administradores de rede – Impacto de possíveis erros na aplicação de novas soluções – Erros podem causar indisponibilidade de serviços importantes – Equipamentos e soluções proprietárias dificultam a implementação – Sem padronização 4
  • 6. Virtualização de Redes • A virtualização de redes é vislumbrada como uma alternativa para experimentar e implementar novas funcionalidades sobre a rede de produção • Alguns dos principais benefícios da utilização da virtualização de redes – Isolamento – Flexibilidade e disponibilidade – Escalabilidade – Redução de custos – Segurança 6
  • 8. Virtualização de Redes • Soluções que permitem a virtualização de hosts – VMWare – VirtualBox – Xen – ... • Alguns exemplos de sistemas operacionais de dispositivos de rede que podem ser utilizados para virtualização de redes – Open vSwitch – OvS – Quagga – Vyatta – ... 8
  • 10. Propostas Históricas Redes Ativas • Redes Ativas – São caracterizadas pela possibilidade dos nós da rede realizarem alterações ou computações no conteúdo de um pacote – Propõe-se que dispositivos executem aplicações – Os apps podem ser enviados aos nós através da própria rede – Pacotes ativos precisam ser diferenciados dos pacotes comuns • Abordagens – Nós ativos – Pacotes ativos – Híbridas 10
  • 11. Propostas Históricas Redes Ativas • Algumas aplicações possíveis – Gerência de Redes • O monitoramento atual exige pooling • Com o crescimento das redes isso é um problema • Com Redes Ativas diversos centros de gerenciamento poderiam ser configurados, deslocando o ponto de decisão para perto do nó – Implementação de cache para beneficiar multicasting • Limitações – Segurança • Quais códigos podem ser executados? • Trade-off entre flexibilidade e segurança • Dependendo da solução seriam necessárias constantes atualizações nos nodos 11
  • 12. Propostas Históricas Agentes Móveis • Agentes Móveis – Agente trafega livremente entre os hosts da rede, decidindo seu destino e ações – Transfere tanto o código como o status anterior para o novo host, continuando sua execução de onde havia parado – Hosts devem estar preparados para executar os agentes móveis • Benefícios – Propõem mover o algoritmo para perto dos dados e não o contrário – Menor latência – Execução assíncrona e autônoma – Tolerância a falhas 12
  • 13. Propostas Históricas Agentes Móveis • Limitações – Exigem hosts compatíveis para execução dos agentes – Equipamentos heterogêneos espalhados pela Internet (diferentes capacidades de processamento e memória) – Segurança • Uma vez disparados os agentes móveis não dependem do dispositivo que os originou • Agente trafega livremente entre os hosts da rede, decidindo seu destino e ações • Como definir o que executar na rede? 13
  • 14. Propostas Históricas MIBs DISMAN • DISMAN (Distributed Management) – RFC 3165 (Script MIB) – RFC 2981 (Event MIB) – RFC 2982 (Expression MIB) – RFC 4560 (Remote Operations MIB) – RFC 3231 (Schedule MIB) 14
  • 15. Propostas Históricas MIBs DISMAN • Script MIB – Define um ambiente de execução que permite a criação de operações mais complexas codificadas em scripts – Além de permitir a manipulação dos scripts através de requisições SNMP, o ambiente de execução possibilita • A instalação de scripts nos nós da rede através de requisições SNMP • Escrita destes scripts em qualquer linguagem de programação, desde que esta seja suportada pelo ambiente de execução 15
  • 16. Propostas Históricas MIBs DISMAN • Permite a delegação de scripts para gerentes distribuídos fornecendo os seguintes atributos – Transferência de scripts para locais distribuídos (push ou pull) – Gerenciamento dos scripts (inicialização, suspensão, reinicialização e finalização) – Passagem de parâmetros – Monitoramento e controle dos scripts que estão em execução – Transferência para o gerente dos resultados produzidos • Limitações – Necessidade de liberar acesso de administrador para inserir códigos nos dispositivos – Escopo limitado ao Gerenciamento de Redes 16
  • 17. Propostas Atuais JunOS (Juniper) • JunOS – Baseado em FreeBSD – Está dividido em 3 camadas: Plano de Controle, Dados e Serviço • Plano de Controle: Gerenciar e controlar o funcionamento do equipamento como um todo, incluindo os dois outros planos • Plano de Dados ou Packet Forwarding Engine (PFE): Hardware dedicado com a função de encaminhar ou filtrar o tráfego de acordo com a tabela de roteamento • Plano de Serviço: Extensão opcional do Plano de Dados que executa funções não nativas no PFE – Cada plano é executado em módulos de hardware instaláveis nos equipamentos Juniper 17
  • 18. Propostas Atuais JunOS (Juniper) • JunOS SDK – Funciona integrado ao Sistema Operacional de Rede JunOS – Provê APIs que permitem a incorporação de aplicações no JunOS – Uma vez implantados, as aplicações rodam nativamente nos equipamentos – Com o objetivo de evitar possíveis conflitos, a área de instalação dos módulos é controlada • São instalados em locais diferentes • Precisam de um ID fornecido pela Juniper extraído de um certificado assinado 18
  • 19. Propostas Atuais IOS (CISCO) • IOS (Internetwork Operating System) – Utilizado nos equipamentos da CISCO – Sistema operacional multitarefas que integra soluções de: • Roteamento • Switching • Interligação de redes (Internetworking) • Telecomunicações 19
  • 20. Propostas Atuais IOS (CISCO) • Cisco AON (Application-Oriented Networking) – Atua na camada de aplicação – Permite alterações no conteúdo dos pacotes – Exige equipamento dedicado (CADE – Cisco Application Deployment Engine) – Switches ou roteadores redirecionam o tráfego para o equipamento AON de maneira transparente, o qual aplica as políticas definidas • Aplicações – Pode atuar como gateway entre empresas parceiras, tratando autenticação e autorização de acesso – Pode assumir papel de IDS, criar logs de ataques – Controlar qualidade de serviço, atribuindo prioridades 20
  • 21. Propostas Atuais Click Modular Router • Click Modular Router – Roteador baseado em software que implementa as funcionalidades de um roteador através de módulos – Os módulos podem ser escritos em C/C++ • Exemplo Contador de Pacotes 21
  • 22. Propostas Atuais Click Modular Router • Modos de operações – Kernel (alto desempenho para um roteador baseado em software) – UserLevel (nível de aplicação) – Simulação (módulo do NS-2 NSClick) • Novos elementos podem ser desenvolvidos ou baixados da biblioteca de elementos prontos no site do Click • Ferramenta gratuita e de código aberto • Limitações – Não suporta migração de código e estado de execução – Carece de mecanismos que garantam seu funcionamento em caso de falha na rede 22
  • 23. Propostas Atuais Openflow • OpenFlow – Utiliza tabelas de fluxo internas e uma interface padronizada para adicionar e remover fluxos – Exige que os dispositivos de rede tenham suporte à OpenFlow – Utiliza modelo em camadas • Camada de controle • Camada de dados – Componentes • OpenFlow Switch/Router • Controlador • Protocolo 23
  • 24. Propostas Atuais Openflow [Brandon Heller, Srini Seetharaman] 24
  • 25. Propostas Atuais Openflow • Vantagens – Visão geral da topologia de rede – Por ser uma solução livre, pode reduzir os custos finais dos equipamentos – Segurança – Aplicações podem ser desenvolvidas em Java, C/C++ e Python • Limitações – O controlador é um ponto de falha centralizado – Não suporta processamento por pacotes, apenas por fluxos – Escalabilidade limitada, devido à exigência de equipamentos de rede com suporte à OpenFlow 25
  • 26. Considerações Finais • Propostas da comunidade científica – Recentemente, Agentes Móveis e OpenFlow têm sido foco de um grande número de pesquisas – As MIBs do DISMAN foram atualizadas diversas vezes ao longo da ultima década e muitos equipamentos oferecem suporte – A Script MIB permite a execução de scripts desenvolvidos em diferentes linguagens de programação, porém limita-se ao escopo do gerenciamento de redes – O OpenFlow possui a capacidade de separar os fluxos isolando as aplicações que compartilham os mesmos equipamentos – Porém, todas as tecnologias estudadas pecam na segurança, pois para executar os programas desenvolvidos nos dispositivos de rede, o administrador deverá fornecer acesso total aos equipamentos 26
  • 27. Considerações Finais • Tecnologias disponíveis no mercado – Por serem soluções proprietárias, tanto o Cisco IOS quanto o JunOS SDK, possuem diversas semelhanças • Possuem otimizações e funcionam perfeitamente nos hardwares que oferecem suporte • Exigem equipamentos de um fabricante específico • Custo tanto dos equipamentos, quanto do suporte é elevado – O JunOS SDK destaca-se por limitar o que cada aplicação pode realizar, bem como a maneira como estas afetam o tráfego – O Click peca pela falta de mecanismos que garantam seu funcionamento em caso de falha na rede, bem como em relação a segurança 27
  • 28. Considerações Finais • Tendências – OpenFlow – Apoio de diversas empresas • Google, IBM, Yahoo!, Juniper, CISCO, HP ... ONF (Open Networking Foundation) – Economia na compra de software de rede – Testbeds com suporte à OpenFlow: Ofelia, GENI – Ponto de falha central (controlador) • Apesar de inserir “inteligência” nos dispositivos de rede, ainda são necessárias pesquisas para disponibilizar uma plataforma de rede programável pelo usuário final 28
  • 29. Status do Projeto • Atividades concluídas – Estudo Teórico sobre virtualização e programabilidade de redes • Atividades em desenvolvimento – Projeto de uma plataforma para programabilidade em redes virtualizadas • Próximas atividades – Avaliação do projeto da plataforma – uma avaliação do design da plataforma será realizada por operadores de rede afim de aprimorar o projeto – Implementação – de posse de um projeto preliminar consistente com a opinião dos operadores, na etapa de implementação serão criados protótipos de roteadores e switches programáveis 29
  • 30. Status do Projeto • Próximas atividades – Implantação/piloto – nesta etapa os protótipos desenvolvidos serão colocadas em um ambiente próximo ao ambiente de produção, de forma a analisar o comportamento da solução – Avaliação – a etapa de avaliação será de fato contínua e fornecerá resultados intermediários para que os desenvolvimentos nas etapas anteriores possam ser constantemente aprimorados 30
  • 31. Status do Projeto • Pesquisas Ativas – Gustavo Bassil Heimovski (UFPR) Utilizando Redes Programáveis oferecer suporte à Anycast – Renato Pinheiro de Souza (UFRJ) Análise da influência na rede, ocasionada pela separação dos planos de controle e de dados em redes com suporte à OpenFlow – Ricardo Luis dos Santos (UFRGS) Desenvolver uma solução para programabilidade que habilite o desenvolvimento de serviços e aplicações sobre a rede núcleo – Wanderson Paim de Jesus (UFRGS) Desenvolver uma solução que permita disponibilizar para o cliente uma infraestrutura de rede virtual baseada em suas especificações 31
  • 32. ReVir Programabilidade em Redes Virtualizadas Perguntas? 32