2. introdução
o Cloud computing – a evolução
o Paradigma geral de controle
o Provisão de serviços
o Foco em lógica ao invés de infraestrutura
3. introdução
o Modelo tradicional
o Dificuldade na criação de funções de controle
o Exige criação de protocolo próprio
o Envolvimento no aspecto baixo nível
4. introdução
o Plataforma genérica
o Controle em nível de rede
o Abstração de distribuição de estado
o Interface para desenvolvimento
o “Abaixo a tiqão de baixo nítel !”
5. introdução
o Plano de controle | Plano de encaminhamento
o Funções da plataforma
o Coletar informações dos switches e...
o ... Distribuir o estado apropriado entre eles
o Coordenar o estado entre servidores da plataforma
o Prover uma API para desenvolvimento
o Rede definida por software - SDN
6. introdução
o Modelo RDS
o Nova função implementada sobre a API
o Dificuldades por conta da plataforma
o Primitivas de distribuição de estado
o Uso de técnicas consolidadas
7. introdução
o Mas...
...e os...
Desafios!
o Generalidade
o Escalabilidade
o Confiabilidade
o Simplicidade
o Desempenho
8. arquitetura
o Componentes - Infraestrutura Física
o Switches
o Roteadores
o Outros elementos de rede manipuláveis
9. arquitetura
o Componentes - Conectividade
o Canal de controle
o In band x Out of band
o Comunicação bidirecional
o Protocolos padrão
10. arquitetura
o Componentes - Onix
o Sistema distribuído
o Cluster de um ou mais servidores
o Cada um Uma ou mais instâncias da Onix
o Responsabilidades
o Habilitar lógica das aplicações
o Operar sobre estados dos elementos
o Disseminar estados
11. arquitetura
o Componentes - Lógica de Controle
o Codificada sobre a API
o Determina comportamento da rede
o Determina características da aplicação
12. arquitetura
o API
o “... úril e genépica ...”
o Visibilidade da rede
o Ler escrever estados
o Modelo de dados
o Elemento de rede Objeto
o Ler, escrever
o NIB – Cópia da rede
13. arquitetura
1 n 2 1
Node Port Link
Forwarding
Host Network
Engine
1
n
Forwarding
Table
14. arquitetura
o NIB (Network Information Base)
o Mecanismo de replicação e distribuição
o Mantém entidades de rede
o Elementos de rede ou suas subpartes
o Identificador global 128-bits
o Atributos (chave-valor)
o Métodos
15. arquitetura
Categoria Finalidade
Consulta Buscar por entidades.
Criar, excluir Criar e excluir entidades.
Acesso a atributos Inspecionar e modificar entidades.
Notificações Receber atualizações sobre mudanças.
Sincronização Esperar que atualizações sejam aplicadas
no conteúdo dos elementos da rede e dos
controladores.
Configuração Configurar como os estados são
importados e exportados da NIB.
Pull Solicitar que entidades sejam importadas
sob demanda.
16. arquitetura
o NIB (Network Information Base)
o Consulta direta
o Notificações: adição, alteração ou remoção
o Manipulação {entidades estado da rede}
o Operações assíncronas
o Eventualmente!
o Sem garantia de ordenação ou latência
o Eficiência x Necessidade
o Primitiva de sincronização - callback
17. arquitetura
o NIB (Network Information Base)
o NIB Escalabilidade
o Consistência ajustável
o Detecção e resolução de conflitos
o Sem mecanismo de bloqueio distribuído
o {requisição, liberação} de acesso exclusivo
o Dependência dos mecanismos de distribuição
18. mecanismo de distribuição
o Observações sobre aplicações
o Escalabilidade
o Frequência de atualização
o Durabilidade
o Consistência
o Opções quanto a taxa de atualização
( ) Alta Disponibilidade
( ) Baixa Consistência e durabilidade
19. mecanismo de distribuição
o Distribuição de estado entre instâncias Onix
o Banco de dados replicado
o Durabilidade
o Consistência
o Problema de desempenho
o Dados com baixas taxas de mudança
o API SQL
o Suporte a Importação e Exportação
o Transações
o Mudanças Banco de Dados NIB
20. mecanismo de distribuição
o Distribuição de estado entre instâncias Onix
o Distributed Hash Table
o Disponibilidade
o Consistência eventual
o Armazenada em memória
o Dados com altas taxas de mudança
o Atualizações simultâneas
o Estados inconsistentes
o Aplicações resolvem
o Evitam o conflitos ou atuação simultânea
21. mecanismo de distribuição
o Gerenciamento de estado de elemento de rede
o Não usa protocolo particular
o Qualquer protocolo é aceito
o Condição
o Sincronização
o {Estado atual da rede, NIB}
o OpenFlow
o {Evento, Operações} Estados
o Manipulados como entidades da NIB
22. mecanismo de distribuição
o Consistência e Coordenação
o NIB é o point dos dados
o “Não mexe aqsi!”
o Aplicação declara que dados import./export.
o Integração sem exigências
o Estados inconsistentes são armazenados
o Fonte específica
o Inconsistência entre diferentes fontes
o Aplicações dizem como vão resolver
23. mecanismo de distribuição
o Consistência e Coordenação
o Dois modos são disponibilizados:
o Modo 1
o Entidades são classes C++
o Herança lógica de detecção de inconsistência
o Sem exposição a inconsistência
o Mas.... E se acontece?
o Mudanças inconsistentes ficam pendentes
o ( ) Aplicadas na NIB ( ) Inválidas
24. mecanismo de distribuição
o Consistência e Coordenação
o Dois modos são disponibilizados:
o Modo 2
o Resolução de conflito na importação
o {Fonte do dado, NIB}
25. escalabilidade e confiabilidade
o Utilização da NIB determina
o Propriedades de {escalabilidade, confiabilidade}
o número de elementos exaurir memória
o número de eventos saturar CPU
27. escalabilidade e confiabilidade
o Escalabilidade
o Suporte a três estratégias
o Particionamento
o Instância mantem parte atualizada da NIB
o Menor número de eventos para processar
o Agregação
o Expõe subconjunto da NIB como um agregado
28. escalabilidade e confiabilidade
o Escalabilidade
o Consistência e durabilidade
o Através de mecanismos de bloqueio e
o Algoritmos de consistência ou
o Detecção e resolução de conflitos
o Alta durabilidade e consistência
o Banco de dados
o Volatilidade e tolerância a inconsistência
o DHT
30. escalabilidade e confiabilidade
o Confiabilidade
o Gerência de falha
o Elementos de rede e link
o Desviar tráfego de elementos problemáticos
o Tempo mínimo: Disseminação + Recálculo
o Instâncias Onix
o Outra instância assume as responsabilidades
o Gerenciamento redundante
o Perda de atualização em atuação concorrente
o Alterações {pode, não pode} ser sobrescrita?
31. escalabilidade e confiabilidade
o Confiabilidade
o Gerência de falha
o Falha de conectividade
o Distribuição de estado separada da topologia
o Conectividade requerida
o {Elementos de rede, Instância Onix}
o {Instância Onix, Instância Onix}
o Rede {gerenciamento , tráfego} separadas
o Topologia física é conhecida pela Onix
o {Encaminhamento estático, Multipathing}
32. implementação
o 150000 linhas de código C++
o Bibliotecas de terceiros
o Contém lógica para
o Comunicação com elementos de rede
o Gestão de informação na NIB
o Framework para desenvolvedores
o Comunicação por RPC sobre conexões IPC
o Suporte a linguagens: C++, Python e Java
33. implementação
o Módulos escritos com baixo acoplamento
o Substituição sem recompilação
o Interface deve permanecer a mesma
o {Carga, descarga} dinâmica de componentes
o Desenvolvedor deve expressar as dependências
o Assegurar ordem apropriada de {carga, descarga}
34. aplicações
o Distributed Virtual Switch
o Ambientes corporativos virtualizados
o Switches Baseados em software
o Milhares ou dez. de milhares de VMs
o Ambientes altamente dinâmicos
o Criação, exclusão, migração on-the-fly
o Distributed Virtual Switch (DVS)
35. aplicações
o Distributed Virtual Switch
o DVS provê abstração lógico de switch
o Nas portas declaram-se políticas
o Ligadas nas VMs pelo hypervisor
o DVS assegura que
o Políticas (imagem) VMs
o Nada de reconfiguração manual
o Ok. Mas E A ONIX ?
36. aplicações
o Distributed Virtual Switch
o Onix não se envolve no encaminhamento
o Invocada quando as VMs são:
o Criadas, excluídas ou migradas
o Pools
o VMs tipicamente não migram entre pools
o A lógica de controle particiona-se em pools
o Uma instância Onix (1) (1) Pool
37. aplicações
o Distributed Virtual Switch
o Configuração dos switches armazenadas no BD
o Localização das VMs
o Desconhecida entre instâncias Onix
o Em caso de falha
o Rede ainda pode operar
o VMs dinâmicas no way !
38. aplicações
o Data centers virtualizados multi locatários
o Responsabilidades da rede
o Gerenciar a dinâmica de host
o Isolar endereçamento e recursos
o Ex.: Sobreposição de IP ou MAC
o Aplicação baseada na Onix
o Permite criar redes locatárias
o Cada uma com configuração independente
39. aplicações
o Data centers virtualizados multi locatários
o Funções da lógica de controle
o Estabelecer túneis entre hypervisor da mesmo rede
o Particionar a rede entre instâncias Onix
o Instância Onix
o Gerencia subconjunto de hypervisors
o Divulga seus pontos terminais na DHT
o Outras instâncias
o Configuram módulo importação DHT NIB
40. conclusão
o {Ambientes, Soluções, Protocolos} específicos
o Exigem abordagem baixo nível
o Onix
o Abstração de nível físico
o Foco em lógica
o Facilidade de inclusão de novas técnicas
o Facilidade de inclusão de novos algoritmos
o Customização baixo nível em serviço sob demanda
41. referências
1. Hurwitz, Judith, Bloor, Robin e Kaufman, Marcia. Cloud computing for dummies -
HP Special Edition. Hoboken, NJ : Wiley Publishing, Inc, 2010. 978-0-470-63881-1.
2. Koponen, Teemu, et al., et al. Onix: A Distribuited Control Platform for Large-Scale
Production Networks.
3. Tanenbaum, Andrew. Distribuited Systems, Principles and Paradigms. New Jersey :
Prentice Hall, 2007. 0-13-239227-5.
4. Kurose, James F. e Ross, Keith W. Computer networking, a top-down approach
featuring the Internet. 3ª. s.l. : Pearson, 2006. 85-88639-18-1.
5. Akella, Aditya. Multi-Path Routing: A Different Perspective. s.l. : Carnagie Mellon
University.
6. Elmasri, Ramez e Navathe, Shamkant B. Fundamentals of database systems. s.l. :
Pearson, 2004. 0-321-12226-7.
7. Mckeown, N., et al., et al. OpenFlow: Enabling Innovation in Campus Networks.
SIGCOMM CCR 38. 2, 2008.
8. Hunt, P., et al., et al. ZooKeeper: Wait-free Coordination for Internet-Scale
Systems. Usenix Annual Technical Conference. Junho de 2010.