Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Grafos como uma primitiva do plano de controle ...

Grafos como uma primitiva do plano de controle para análise e gerenciamento de Redes Definidas por Software

Slides da minha dissertação de mestrado apresentados durante a minha banca em Julho de 2015 na sala 2077 do ICEX (Instituto de Ciências Exatas) da UFMG pelo DCC (Departamento de Ciência da Computação).

Abstract:
As redes definidas por software (SDN) representam uma arquitetura emergente dinâ- mica, flexível, gerenciável e de baixo custo, condizente com a dinamicidade das apli- cações modernas. Essa arquitetura desacopla o plano de controle do plano de dados. Redes tipicamente são representadas em forma de grafos. Em função disso, esse tra- balho apresenta um modelo de representação da rede em grafos através do plano de controle de um controlador SDN. O protocolo OpenFlow é um meio para construção de soluções em SDN. Esse trabalho é baseado no POX, um controlador SDN compatí- vel com dispositivos OpenFlow. Essa abordagem em grafos fornece uma visão global da rede em tempo real e com consistência. Os experimentos demonstram que o grafo proposto representa de maneira fiel o estado da rede assim como suas mudanças em função dos eventos ocorridos ao longo do tempo dentro da rede, facilitando assim, o gerenciamento em Redes Definidas por Software.

Palavras-chave: Sistemas Distribuídos, Redes Definidas por Software, Plano de Con- trole, Arquitetura de Software.

Avatar for Gustavo Pantuza

Gustavo Pantuza

July 06, 2015
Tweet

More Decks by Gustavo Pantuza

Other Decks in Science

Transcript

  1. Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de

    2015 1 / 100 Grafos como uma primitiva do plano de controle para análise e gerencia- mento de Redes Definidas por Software DCC - UFMG Gustavo Pantuza 06 de Julho de 2015
  2. Agenda 1 Introdução 2 Fundamentação teórica SDN O protocolo OpenFlow

    Arquitetura 3 Uma avaliação do OpenFlow 4 Proposta de solução 5 Experimentação e resultados 6 Conclusão 7 Questions Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 2 / 100
  3. Motivação • A Internet demanda que a infraestrutura evolua em

    paralelo com as aplicações e serviços • Algoritmos em grafos são base para diversas aplicações em rede • Computação feita em diferentes nós da rede repetidamente • Logicamente centralizado, o plano de controle permite minimizar a quantidade de computações Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 4 / 100
  4. Problema • Uma visão topológica global é um dos principais

    aspectos do paradigma das Redes definidas por software. • Grafos representam de maneira natural e precisa a topologia de uma rede. • Grafos deveriam ser um recurso básico, uma premissa em controladores SDN Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 5 / 100
  5. Contribuições científicas • Uma abstração da rede na forma de

    um grafo dinamicamente atualizado. • Avaliações do controlador, da rede e do protocolo OpenFlow • Avaliação de grafos como primitiva em SDN Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 6 / 100
  6. SDN • Redes definidas por software (Software Defined Networking) Gustavo

    Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 7 / 100
  7. SDN • Modelo que separa o plano de controle (decisões)

    do plano de encaminhamento (comutação de pacotes). • Permite que pesquisadores façam experimentações e gerem inovações na área de Redes de computadores [McKeown et al., 2008]. • Torna os elementos de comutação de uma rede programáveis Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 8 / 100
  8. Plano de dados • Encaminhamento de pacotes • Comutação no

    hardware do switch Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 9 / 100
  9. Plano de controle • Decidir como encaminhar os pacotes •

    Roteamento, políticas e visão topológica Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 10 / 100
  10. SDN • SDN é apenas um modelo • Um design

    para construção e administração de redes • A separação dos planos de controle e de dados torna o funcionamento da rede mais flexível Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 11 / 100
  11. Openflow • Openflow é um protocolo que possibilita experimentos e

    aplicações em SDN Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 12 / 100
  12. Openflow • OpenFlow: Enabling Innovation in Campus Networks publicado em

    2008 • Permitiu que pesquisadores criassem experimentos com novos protocolos em redes convencionais. Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 13 / 100
  13. Definição • Interface de programação para o switch • Separa

    de maneira clara os planos de dados e de controle • Permite controlar a forma como um switch executa seu encaminhamento de pacotes • Padrão aberto Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 14 / 100
  14. Componentes Na arquitetura estabelecida pelo protocolo OpenFlow existem dois papéis

    principais. Figura: Da esquerda pra direita, plano de controle e plano de dados Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 15 / 100
  15. Tabela de fluxos Cabeçalho Contadores Ações Prioridade porta de ingresso=5

    55635 bytes Encaminhar porta=8 100 Endereço ip=192.168.1.42 porta=80 4032 bytes Rescrita ip=192.168.1.100 500 Protocolo IP=UDP 100 bytes Drop 700 Tabela: Tabela de fluxos simplificada Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 17 / 100
  16. Cabeçalho OpenFlow • Um fluxo é identificado pelos seguintes campos

    do cabeçalho Openflow: Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 18 / 100
  17. Tipos de ações • Forwarding • Drop • Set •

    strip • Copy-in • Copy-out • Push • Pop • Dec Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 20 / 100
  18. Controlador • Controladores Openflow: • Biblioteca Libfluid para criação de

    aplicações/controladores em SDN • Nox Controller • Beacon • Pox Controller • Ryu Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 21 / 100
  19. Uma avaliação do OpenFlow • Avaliar o protocolo OpenFlow através

    de um sistema de balanceamento de carga. • Através dos recursos fornecidos pelo protocolo é possível maximizar a justiça no balanceamento de carga em um serviço HTTP. Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 27 / 100
  20. Contexto da avaliação • Sistemas de balanceamento de carga são

    baseados em políticas de balanceamento. • Os serviços modernos devem ser escaláveis para atender a milhões ou milhares de clientes. • Os serviços devem ser distribuídos em vários servidores. • O OpenFlow permite políticas que podem se adaptar à aplicação ou serviço. Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 28 / 100
  21. Projeto de implementação • A solução resume-se em um balanceador

    de carga TCP. • Um IP lógico é atribuído ao serviço • Políticas de balanceamento decidem quais servidores serão escalonados Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 29 / 100
  22. Políticas de balanceamento 1 Round-robin 2 Aleatória 3 Carga 4

    Fila 5 Mistura Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 31 / 100
  23. Justiça em relação a carga dos servidores Figura: RoundRobin em

    serial Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 34 / 100
  24. Justiça em relação a carga dos servidores Figura: Carga em

    serial Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 35 / 100
  25. Justiça em relação a carga dos servidores Figura: RoundRobin em

    paralelo Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 36 / 100
  26. Justiça em relação a carga dos servidores Figura: Carga em

    paralelo Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 37 / 100
  27. Medição de justiça • Índice de justiça baseado na larguda

    de banda 1 ȷ (x1 , x2 , ..., xn ) = ( n i=1 xi )2 n · n i=1 x2 i 1A quantitative measure of fairness and discrimination for resource allocation in shared computer system[Jain et al., 1984] Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 38 / 100
  28. Largura de banda - TCP Gustavo Pantuza (DCC - UFMG)

    SDN 06 de Julho de 2015 40 / 100
  29. Tempo de resposta (latência) - HTTP Gustavo Pantuza (DCC -

    UFMG) SDN 06 de Julho de 2015 41 / 100
  30. Tempo de resposta (latência) - HTTP Gustavo Pantuza (DCC -

    UFMG) SDN 06 de Julho de 2015 42 / 100
  31. Proposta de solução • Uma abstração da rede em forma

    de um módulo em grafos • Esse grafo, em tempo real, é a base para computações na rede • A solução objetiva simplificar a análise e o gerenciamento em redes Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 45 / 100
  32. Modelagem do grafo • G = (V , A), em

    que V e A são conjuntos finitos de vértices e arestas, respectivamente. • Cada vértice v ∈ V é um computador ou switch. • Cada aresta u → v ∈ A é um enlace entre dois vértices. • O peso das arestas g(u, v) é quantidade de bytes trafegados na aresta entre os dois vértices. Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 46 / 100
  33. Classes • Graph • GraphEntity • Vertex • Edges •

    GraphManager Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 47 / 100
  34. Interface de programação • get_vertex(id) • get_adjacents(id) • snapshot() •

    get_mst() Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 48 / 100
  35. Ambiente de simulação - A rede Ipê Gustavo Pantuza (DCC

    - UFMG) SDN 06 de Julho de 2015 51 / 100
  36. Arquitetura da simulação Associação de Servidores à simulação da rede

    IPÊ UF N clientes Sub-rede local Servidor IP local IP Gateway AC 10 10.10.1.0 Shiva 10.10.42.51 AL 13 10.10.2.0 Shiva 10.10.42.52 AM 20 10.10.3.0 Shiva 10.10.42.53 AP 7 10.10.4.0 Shiva 10.10.42.54 10.10.42.50 BA 25 10.10.5.0 Shiva 10.10.42.55 CE 50 10.10.6.0 Shiva 10.10.42.56 DF 16 10.10.7.0 Shiva 10.10.42.57 ES 26 10.10.8.0 Eden 10.10.42.101 GO 26 10.10.9.0 Eden 10.10.42.102 MA 7 10.10.10.0 Eden 10.10.42.103 MG 32 10.10.11.0 Eden 10.10.42.104 10.10.42.100 MS 10 10.10.12.0 Eden 10.10.42.105 MT 8 10.10.13.0 Eden 10.10.42.106 PA 13 10.10.14.0 Eden 10.10.42.107 PB 14 10.10.15.0 Diablos 10.10.42.151 PE 41 10.10.16.0 Diablos 10.10.42.152 PI 25 10.10.17.0 Diablos 10.10.42.153 PR 71 10.10.18.0 Diablos 10.10.42.154 10.10.42.150 RJ 27 10.10.19.0 Diablos 10.10.42.155 RN 11 10.10.20.0 Diablos 10.10.42.156 RO 10 10.10.21.0 Diablos 10.10.42.157 RR 7 10.10.22.0 Leviathan 10.10.42.201 RS 10 10.10.23.0 Leviathan 10.10.42.202 SC 47 10.10.24.0 Leviathan 10.10.42.203 10.10.42.200 SE 13 10.10.25.0 Leviathan 10.10.42.204 SP 25 10.10.26.0 Leviathan 10.10.42.205 TO 11 10.10.27.0 Leviathan 10.10.42.206 Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 54 / 100
  37. Experimentos Experimento Quantidade Detecção de entidades 1 Remoção de entidades

    3 Visualização em tempo real 2 Identificação de tráfego 1 Avaliação do controlador 8 Avaliação do host_tracker 10 Avaliação da rede 10 Tabela: Tabela de experimentos Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 55 / 100
  38. Detecção de entidades 1 INFO:topology.graph:SwitchJoin id: 2 2 INFO:topology.graph:SwitchJoin id:

    1 3 INFO:topology.graph:1, 2 4 DEBUG:openflow.discovery:Dropping LLDP packet 275 5 INFO:topology.graph:LinkEvent fired 6 INFO: host_tracker :Learned 1 1 7e:e6:9b:89:39:2e got IP 10.0.0.1 7 INFO:topology.graph:HostJoin id: 7e:e6:9b:89:39:2e 8 INFO: host_tracker :Learned 2 1 62:77:44:24:13:49 got IP 10.0.0.2 9 INFO:topology.graph:HostJoin id: 62:77:44:24:13:49 Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 56 / 100
  39. Consumo de processador em relação ao SO Gustavo Pantuza (DCC

    - UFMG) SDN 06 de Julho de 2015 66 / 100
  40. Consumo de processador em relação ao SO Gustavo Pantuza (DCC

    - UFMG) SDN 06 de Julho de 2015 67 / 100
  41. Avaliação do módulo host_tracker Teste pingLim entryMove arpReply Teste 0

    5 50 5 Teste 1 4 40 4 Teste 2 3 30 3 Teste 3 2 20 2 Teste 4 1 10 1 Tabela: Tabela com a relação de parâmetros por teste Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 72 / 100
  42. Variação do número de pacotes na rede Gustavo Pantuza (DCC

    - UFMG) SDN 06 de Julho de 2015 76 / 100
  43. Avaliação da latência - rede local Gustavo Pantuza (DCC -

    UFMG) SDN 06 de Julho de 2015 81 / 100
  44. Avaliação da latência - rede local Gustavo Pantuza (DCC -

    UFMG) SDN 06 de Julho de 2015 82 / 100
  45. Avaliação da latência - rede Ipê Gustavo Pantuza (DCC -

    UFMG) SDN 06 de Julho de 2015 83 / 100
  46. Avaliação da latência - rede Ipê Gustavo Pantuza (DCC -

    UFMG) SDN 06 de Julho de 2015 84 / 100
  47. Trabalhos futuros • Avaliar se a redução de 2.5 MB

    na largura é constante em outros cenários • Implementar um algoritmo de roteamento utilizando o grafo e comparar com OSPF e BGP • Alterar mecanismo de sondagem para dobrar tempo quando o computador estiver ativo • Disponibilizar uma biblioteca de algoritmos em grafos Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 92 / 100
  48. Conclusão • Grafos em SDN dinamicamente atualizado • Baixo impacto

    na rede em se utilizar um módulo em grafos • O controlador se manteve estável à medida que a rede crescia Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 93 / 100
  49. Publicações • Aprovados • SBRC 2014 Análise e Gerenciamento de

    Rede através de Grafos em Redes Definidas por Software • CNSM 2014 Network Management through Graphs in Software Defined Networks • Não publicados • An efficient and dynamic Load Balancer based on Software Defined Networking • Em andamento • Survey on graphs as a software defined network abstraction • Grafos como uma primitiva do plano de controle para análise e gerenciamento de Redes Definidas por Software Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 94 / 100
  50. Agradecimentos • Colegas • Frederico Martins • Bruno Pereira •

    Erik de Britto • Henrique Moura • Lucas Silva • Rodrigo Caetano • Professores • Luiz Filipe • Dorgival Guedes • Marcos Augusto • Daniel Macedo • Antonio Loureiro • UFMG • PPGCC • WiNet • DCC Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 95 / 100
  51. Dúvidas? Contatos: • email: [email protected] • github: pantuza • twitter:

    @gpantuza • site: http://pantuza.com Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 96 / 100
  52. Referências I N. McKeown, H. B. Tom Anderson, G. Parulkar,

    L. Peterson, J. Rexford, S. Shenker, and J. Turner, OpenFlow: Enabling Innovation in Campus Networks. ACM, 2008. D. Guedes, L. Vieira, M. Vieira, and H. Rodrigues, “Redes definidas por software: uma abordagem sistêmica para o desenvolvimento de pesquisas em redes de computadores,” 2012. O. Open Networking Foundation. (2014, Dec.) Openflow 1.5 specification. [Online]. Available: https://www.opennetworking.org/ images/stories/downloads/sdn-resources/onf-specifications/ openflow/openflow-switch-v1.5.0.noipr.pdf R. Barath, K. Teemu, G. Ali, C. Martín, R. Sylvia, and S. Scott, “Software-defined internet architecture,” 2012. Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 97 / 100
  53. Referências II R. Raghavendra, J. Lobo, and K.-W. Lee, “Dynamic

    graph query primitives for SDN-based cloud network management,” in Proceedings of the Workshop on Hot Topics on Software Defined Networking, HotSDN’12, 2012. T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y. Iwata, H. Inoue, T. Hama, and S. Shenker, “Onix: a distributed control platform for large-scale production networks,” in Proceedings of the 9th USENIX conference on Operating systems design and implementation, ser. OSDI’10. Berkeley, CA, USA: USENIX Association, 2010, pp. 1–6. [Online]. Available: http://dl.acm.org/citation.cfm?id=1924943.1924968 Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 98 / 100
  54. Referências III N. Foster, R. Harrison, M. J. Freedman, C.

    Monsanto, J. Rexford, A. Story, and D. Walker, “Frenetic: a network programming language,” SIGPLAN Not., vol. 46, no. 9, pp. 279–291, Sep. 2011. [Online]. Available: http://doi.acm.org/10.1145/2034574.2034812 C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker, “Composing software-defined networks,” in Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation, ser. nsdi’13. Berkeley, CA, USA: USENIX Association, 2013, pp. 1–14. [Online]. Available: http://dl.acm.org/citation.cfm?id=2482626.2482629 A. David, B. Hari, K. Frans, and M. Robert, “Resilient overlay networks,” 2001. [Online]. Available: http://dl.acm.org/citation.cfm?doid=502034.502048 Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 99 / 100
  55. Referências IV van Jacobson, “Networking named content,” 2009. [Online]. Available:

    http://conferences.sigcomm.org/imc/2006/papers/p20-legout.pdf J. K. Bong, P. Vasileios, R. Ramya, S. Yang, B. D. Raheleh, L. Kang-Won, and V. Dinesh, “An information-centric architecture for data center networks,” 2012. C. Martín, K. Teemu, S. Scott, and T. Amin, “Fabric: A retrospective on evolving sdn,” 2012. R. Jain, D.-M. Chiu, and W. R. Hawe, A quantitative measure of fairness and discrimination for resource allocation in shared computer system. Eastern Research Laboratory, Digital Equipment Corporation Hudson, MA, 1984. Gustavo Pantuza (DCC - UFMG) SDN 06 de Julho de 2015 100 / 100