SDN Introdu - PowerPoint PPT Presentation

About This Presentation
Title:

SDN Introdu

Description:

SDN Introdu o Baseado em: SDN: Software Defined Networks by Thomas D. Nadeau and Ken Gray Material de treinamento do Prof. Cesar Marcondes (UFSCAR) – PowerPoint PPT presentation

Number of Views:148
Avg rating:3.0/5.0
Slides: 44
Provided by: CECI231
Category:

less

Transcript and Presenter's Notes

Title: SDN Introdu


1
SDN Introdução
  • Baseado em
  • SDN Software Defined Networks by Thomas D.
    Nadeau and Ken Gray
  • Material de treinamento do Prof. Cesar Marcondes
    (UFSCAR)
  • Livro do Tanenbaum Sistemas Operacionais

2
Motivação - 1
  • Conceitos motivacionais
  • Estamos entrando na era da computação elástica
    A flexibilidade na operação da computação,
    armazenamento e recursos de rede .
  • Com a virtualização de SOs, é possível mover ou
    expandir servidores para data centers em
    qualquer localização com uma simples operação.
  • As empresas programam o crescimento e adquirem
    recursos previamente para atender as demandas,
    todavia, parte do recurso fica em desuso se não
    houver flexibilização.

Nível Aplicação
2
3
Motivação - 2
  • Caso Amazon dobrava a cada seis meses, investia
    para ter recursos à altura, mas eles não eram
    eficientemente utilizados comercializar recursos
    não utilizados até atingir aproximadamente 100
    de uso - arrumar inquilinos e atribuir recursos à
    demanda. O livro chama esta flexibilização de
    hyper virtualization.
  • Máquinas Virtuais devem ter endereços IPs
    dedicados aos respectivos SOs, válidos e
    roteáveis e a flexibilização implica em gerir
    estes endereços.
  • A utilização de protocolos específicos com a
    flexibilização também requer que os mesmos
    protocolos estejam disponíveis em todos os
    ambientes.
  • Gerência de flexibilização enquanto no interno de
    apenas um data-center não é crítico, mas quando
    cresce...

4
Parênteses Máquinas Virtuais
  • Virtualização Diferentes servidores funcionam em
    diferentes máquinas virtuais (VM) que podem
    estar hospedadas em um único computador, mantendo
    o modelo de falha parcial a baixo custo e fácil
    manutenção.
  • É a base da chamada computação elástica.
  • O computador no qual o chamado hipervisor roda
    uma ou mais máquinas virtuais, chama-se
    computador hospedeiro. Cada máquina virtual é
    chamada hóspede.

5
Virtualização (1)
  • Motivação Pode acontecer de uma empresa ter
    múltiplos servidores (e-mail, web, ftp) não
    porque a carga é excessiva, mas por segurança se
    um serviço falhar, os outros continuam a
    funcionar. Deseja-se flexibilizar as
    configurações de serviços e distribuir a potência
    computacional facilmente.
  • Justificativas
  • A maioria das interrupções nos serviços não é
    por hardware, mas pelo conjunto de software
    inchado, não confiável e com erros (em especial
    SOs!)

6
Virtualização (2)
  • Justificativa (ainda)
  • O único software que rodaria no modo núcleo
    seria o hipervisor que tem menos linhas de código
    que o SO, e portanto menos erros.
  • Economia em hardware (menos máquinas) implica
    também economia de energia
  • Cada aplicação leva consigo seu próprio ambiente
    um dos benefícios é permitir rodar aplicações
    mais antigas e novas outro benefício é não
    precisar particionar o disco e assim ter que
    reiniciar o computador para mudar de SO.

7
Virtualização (3)
  • Conceito utilizado
  • Emulação  as instruções são executadas via
    software permitindo emular um hardware
    totalmente diferente do hardware da máquina real.
    Ex emuladores de consoles de video-games emulam
    o hardware do video-game onde o jogo pensa
    estar executando no video-game mas na verdade
    esta sendo executado por um emulador no
    computador. Através da emulação pode-se executar
    programas para outras arquiteturas, como por
    exemplo emular um MACintosh no PC, ou um hardware
    totalmente diferente.
  • A emulação tem desempenho pior do que a execução
    no ambiente nativo.

8
Hipervisores Tipo 1
  • Ele é o SO, o único no modo núcleo, gerencia
    máquinas virtuais e processos.
  • O SO hóspede acredita estar no modo núcleo, mas
    de fato está no modo usuário (Modo Núcleo
    virtual). Em CPUs com Virtualization Technology
    (VT), quando uma instrução falha, dispara uma
    armadilha para o núcleo (hipervisor) que
    inspeciona a origem da instrução (SO ou processo
    do user), permitindo ou não sua execução,
    emulando ou não.

9
Hipervisores Tipo 2
  • Hipervisor do tipo 2 é um programa de usuário
    sobre um SO hospedeiro.
  • VMWare carrega um SO hóspede na carga varre o
    binário procurando blocos de instruções que
    terminem com instruções que alterem o fluxo de
    controle (jump, call, trap). Acontece uma
    tradução binária substitui instruções sensíveis
    (q só podem ser executadas no modo núcleo) por
    instruções do VMWare que as emula. v

10
Hipervisores Tipo 2
  • Após executar um bloco básico o controle retorna
    ao VMWare que localiza o próximo bloco. Blocos
    vão sendo traduzidos, armazenados e executados.
    Nenhuma instrução vinda do SO hóspede é executada
    pelo hardware real, mas emuladas.
  • Máquinas que não tem VT podem usar este tipo de
    virtualização.
  • Estudos mostram que máquinas com VT também tem
    seu custo como problemas de cache, TLBs e
    dependendo da carga de trabalho pode ter
    desempenho pior.

11
VirtualBox
  • Uma das ferramentas de virtualização disponíveis
    (Oracle) https//www.virtualbox.org/
  • Presently, VirtualBox runs on Windows, Linux,
    Macintosh, and Solaris hosts and supports a large
    number of guest operating systems including but
    not limited to Windows (NT 4.0, 2000, XP, Server
    2003, Vista, Windows 7, Windows 8), DOS/Windows
    3.x, Linux (2.4, 2.6 and 3.x), Solaris and
    OpenSolaris, OS/2, and OpenBSD.
  • Uma máquina virtual (Virtual Machine  VM) pode
    ser , definida como uma duplicata eficiente e
    isolada de uma máquina real. A IBM define uma
    máquina virtual como uma cópia isolada de um
    sistema físico, e esta cópia está totalmente
    protegida.
  • -

12
VirtualBox
  • Esta cópia pode ser importada , exportada,
    configurada para atender a demanda.
  • A extensão .VDI é o formato nativo do VirtualBox
    e significa apenas Imagem de Disco Virtual. 
  • A extensão .VMDK é o formato original da VMWare,
    aceito pelo VirtualBox.

13
Paravirtualização
  • SO Paravirtualizado instruções sensíveis foram
    removidas e substituídas por uma chamada de uma
    API para realizar operações como E/S, modificação
    de registros internos, etc.
  • O hipervisor pode ter parte que faz emulação e
    parte que é apenas um micronúcleo.

14
Virtualização de Rede (1)
Infra-estrutura tradicional de rede http//www.ibm
.com/developerworks/linux/library/l-virtual-networ
king/
Infra-estrutura de rede virtualizada. OBS  Linux
incorpora um switch de nível 2 simples dentro
do kernel.
15
Virtualização de Rede (2)
Switch virtual distribuído Liga vNics e vNics a
Nics. Enables cross-server bridging , making the
underlying server architecture transparent. A
virtual switch within one server can
transparently join with a virtual switch in
another server making migration of VMs between
servers (and their virtual interfaces) much
simpler, because they can attach to the
distributed virtual switch in another server and
transparently join its virtual switched
network. OpenvSwitch foi comprado pela VMWare .
É muito utilizado por cloud
16
Fecha Parênteses... Motivação - 3
  • Um dispositivo de rede é constituído por um plano
    de dados que liga as várias portas de rede e um
    plano de controle que é o cérebro de um
    dispositivo (implementa um protocolo).
  • Como concebidos os equipamentos de rede, exigem
    que determinada função seja implementada de forma
    distribuída, onde o controle está em cada um dos
    equipamentos. Roteadores e switches são muito
    caros principalmente devido aos componentes de
    controle
  • Ao mesmo tempo que cresce a computação elástica,
    o custo da potência computacional estava
    diminuindo ao ponto de ter milhares de
    processadores à disposição.

17
Motivação - 4
  • Ideia A potência de processamento pode ser
    aproveitada para executar um plano de controle
    logicamente centralizado e usar hardware de
    comutação barato
  • SDN Software Defined Networks ou Redes
    Definidas por Software
  • Os propositores de SDN perceberam que os
    fornecedores de equipamentos de rede não atendiam
    suas necessidades, particularmente quanto a
    inovação e desenvolvimento.
  • Se alguém quisesse experimentar um novo protocolo
    , como o firmware não suportava, fazia-se uma
    requisição ao fabricante e esperava-se todas as
    etapas do desenvolvimento (meses, anos).

Nível Aplicação
17
18
Motivação - 5
  • ONF Open Network Foundation suporta
    comercialmente os esforços de SDN e é a
    autoridade de padronização.
  • Previsão de crescimento de SDN
    ao redor do mundo, divulgada pela ONF
    em Abril/2013.
  • ( em Millions )

Nível Aplicação
18
19
Motivação - 6
  • Alguns engenheiros de Stanford criaram um
    protocolo Openflow que implementou esta
    ideia.
  • Baseado nesta arquitetura básica, imagina-se o
    quão rápido e fácil seria projetar um novo
    protocolo apenas implementando no data center
    usando hardware em preço de commodities.
  • Ainda melhor, é possível implementar isto em um
    ambiente de computação elástica em uma máquina
    virtual.
  • A motivação para SDN e OpenFlow foi a
    flexibilidade de como programar o dispositivo de
    rede e não onde está a programação.

Nível Aplicação
19
20
Motivação - 7
  • OpenFlow foi arquitetado para ter diversos
    dispositivos contendo apenas planos de dados que
    respondem a comandos enviados para eles de um
    controlador centralizado que hospeda um único
    plano de controle para aquela rede

A função de data-path ainda reside no switch,
enquanto que as decisões de roteamento de alto
nível são movidas para um Controlador,
normalmente localizado em um servidor. Os
Switches e o Controlador se comunicam através do
protocolo OF. Um Controlador adiciona e ou remove
entradas da tabela de fluxos em nome da aplicação.
Nível Aplicação
20
21
Motivação - 6
  • Joga fora o que foi feito até hoje ? É mais
    provável uma abordagem híbrida
  • pelo qual uma parte das redes sejam operadas por
    um controlador logicamente centralizado
  • outras partes seria executadas pelo plano de
    controle distribuído mais tradicional.
  • Isso implica que esses dois mundos devem
    interagir uns com os outros.

Nível Aplicação
21
22
Espectro da Distribuição
Revolucionário Para novas redes
Evolucionário Dispositivos mantém algumas funções
23
Motivação - 7
  • O esforço de empresas (Juniper, Cisco, Level3)
    está direcionado para desenvolver programação de
    rede chamada Interface to the Routing System
    (I2RS).
  • Há discussões com IETF e os primeiros rascunhos
    do IETF estão surgindo.
  • Ideia básica do I2RS criar um protocolo e
    componentes para programar a base de informação
    de roteamento do dispositivo (routing information
    base - RIB) usando um protocolo rápido para
    permitir interação em tempo-real da RIB com o
    gerente que a controla.
  • Estudam-se conceitos chaves para acelerar o
    feedback dado pelos elementos de rede. A chave do
    sucesso do SDN está na otimização desta
    comunicação.

24
Definição SDN
  • Software-defined networks (SDN)
  • Uma abordagem arquitetônica que otimiza e
    simplifica as operações de redes ligando
    intimamente aplicações e serviços de rede reais
    ou virtuais. Para este objetivo emprega um ponto
    de controle central o controlador SDN que
    media e facilita a comunicação entre aplicações
    que pretendem interagir com os elementos de rede
    e os elementos de rede que querem transmitir
    informações a estas aplicações. O controlador
    expõe e abstrai funções de rede e operações via
    uma interface programável, bidirecional, moderna
    e application-friendly.

25
Plano de Controle
  • No alto nível, o plano de controle estabelece os
    dados locais a serem utilizados para criar as
    tabelas de encaminhamento que serão utilizadas
    pelo plano de dados para encaminhar o tráfego
    entre portas de entrada e saída de um
    dispositivo.
  • Routing Information Base (RIB) conjunto de dados
    utilizado para armazenar a topologia da rede
  • Forwarding Information Base (FIB) tabela com
    entradas dos encaminhamentos . A FIB é programada
    uma vez que a RIB for considerada consistente e
    estável.

26
Plano de Dados
  • Um datagrama correto é processado no plano de
    dados realizando buscas na FIB que são
    programadas antecipadamente pelo plano de
    controle.
  • Ações resultantes da pesquisa de encaminhamento
    do plano de dados são Encaminhar (ou replicar
    em casos como multicast), descartar, remarcar,
    contar, enfileirar. Algumas destas ações podem
    ser combinadas.

27
Controle e Dados em Rede típica
Situação no interno de um switch Chegou um
pacote no plano de dados (1) que não se sabe o
MAC é passado para o plano de controle (4)
aprende informação, atualiza RIB (C). Devolve ao
plano de dados (2), eventualmente alterando a
FIB, encaminha o pacote (3). OBS Esquema
semelhante para tratar questões do Nível 3.
28
Control and Data planes not a new concept
Qualquer roteador ou switch moderno multislot tem
seu plano de controle rodando em processador
dedicado e o plano de dados executando
independente em uma ou mais linhas, cada uma com
um processador dedicado. O processador do
roteador e as linhas estão conectados sobre uma
rede pequena interna de alta velocidade.
29
Benefícios da Separação
  • Fatores beneficiados com a separação
  • Escalabilidade e inovação cada parte pode
    crescer e inovar independente da outra (com menos
    amarras)
  • Custo deve ser reavaliado hardware mais
    barato pois menos especializado, software mais
    sofisticado.
  • Evolução possibilidade de desenvolver novas
    soluções independentes de fabricante.
  • Estabilidade código em expansão se torna
    colcha de retalho, sendo complexo e frágil
    espera-se código menor e portanto mais estável.
  • Complexidade o número de executores de
    protocolo em um modelo consistente de controle
    distribuído pode criar complexidade de gerência e
    operações. ( quanto tempo vai levar para o plano
    de controle estabilizar a respeito de uma rede
    livre de loops? )

30
Planos Distribuídos/Centralizados
  • Modelo distribuído os elementos participam para
    desenvolver uma visão local consistente (livre de
    loops). Pelo tempos de propagação envolvidos com
    as atualizações de alcance, o modelo é chamado de
    consenso eventual, pois, a menos de uma rede
    caseira, formam-se grafos complexos que por
    alguns instantes podem conter inconsistências.
  • O modelo distribuído de controle existe em parte
    por que não existiam características disponíveis
    nas bases de dados, e seria difícil conseguir a
    sincronização exigida para alta disponibilidade
    entre dois ou mais pontos de controle.
  • Com a abordagem centralizada, uma rede grande que
    tenha uma mudança não precisa tocar
    individualmente cada elemento, mas interage com
    poucos pontos de controle que cuidam dos detalhes.

31
Lógico x Literal
  • A centralização literal traz as dificuldades
  • Escalabilidade como um ponto central daria conta
    de sessões com cada equipamento gerenciado?
  • Alta disponibilidade se um único ponto falhar, a
    rede toda falhará
  • Distância geográfica Manter um ponto próximo
    facilita operação e minimiza atrasos.
  • Plano de controle centralizado logicamente faz
    mais sentido que centralizado literalmente
    algum protocolo deve sincronizar os controladores
    fisicamente distribuídos.

32
Arquitetura Openflow
Alguns aplicativos de controle estão no topo do
controlador emulando o comportamento dos
aplicativos de controle tradicionais.
33
OF - Operation
34
Controlador
  • No mundo OF, o controlador é o rei! Um
    Controlador adiciona e ou remove entradas da
    tabela de fluxos em nome da aplicação
  • Controladores estáticos estaticamente
    estabelecem fluxos que interliguem um cjto de
    comps de teste durante um experimento.
  • Controladores dinâmicos mais sofisticados
    adicionam / removem fluxos enquanto a experiência
    progride.
  • Existem diversas maneiras para customizar o
    experimento OF
  • Fazer o Download, e configurar um controlador
    existente.
  • Ler as Especificações do OpenFlow e fazer tudo do
    zero Escrever o seu proprio controlador para
    manipular cerca de 20 mensagens do protocolo
    OpenFlow
  • Mais Recomendavel extender um controlador
    existente. Ex. Escrever um Modulo para NOX
    www.noxrepo.org

35
Controladores disponíveis
  • Outras informações (Reunião Semestral da ANSP -
    RSA4)
  • MUL O melhor em C, focado em performance
  • Maestro segundo melhor, em Java
  • Floodlight Java terceiro melhor.
  • Ryu python - ruim o programador tem que
    conhecer a especificidade do OF

36
Ferramenta - Mininet (1)
  • Grande ferramenta de testes e desenvolvimento,
    ideal para fase de prototipação. Google usa algo
    como mininet antes da implantação.
  • Rede Virtual na Comodidade da sua Maquina (Espaço
    do usuário gt leve)
  • Topologias e Quantidades de Nós Arbitrárias
  • mininet.org
  • Mininet is distributed as a virtual machine (VM)
    image with all dependencies pre-installed,
    runnable on common virtual machine monitors such
    as VMware, Xen and VirtualBox. This provides a
    convenient container for distribution once a
    prototype has been developed, the VM image may be
    distributed to others to run, examine and modify.

37
Mininet (2)
  • É possível escrever scripts para ativá-lo
  • A API de Mininet permite criar redes customizadas
    com algumas poucas linhas de Python
  • from mininet.net import Mininet
  • from mininet.topolib import TreeTopo
  • tree4 TreeTopo(depth2,fanout2)
  • net Mininet(topotree4)
  • net.start()
  • h1, h4 net.hosts0, net.hosts3
  • print h1.cmd('ping -c1 \s' \ h4.IP())
  • net.stop()
  • Cria uma pequena rede (4 hosts, 3 switches), e
    realiza pings de um host para o outro (por cerca
    de 4 segundos)

38
Virtualização do OF com VLANs
Alguns equipamentos permitem usar VLANs com
diferentes controladores.
39
Virtualização com FlowVisor (1)
https//openflow.stanford.edu/display/DOCS/Flowvis
or FlowVisor is a special purpose OpenFlow
controller that acts as a transparent proxy
between OpenFlow switches and multiple OpenFlow
controllers. FlowVisor creates rich ''slices'' of
network resources and delegates control of each
slice to a different controller Slices can be
defined by any combination of switch ports (layer
1), src/dst ethernet address or type (layer 2),
src/dst IP address or type (layer 3), and src/dst
TCP/UDP port or ICMP code/type (layer
4). FlowVisor enforces isolation between each
slice, i.e., one slice cannot control another's
traffic
40
Virtualização com FlowVisor (2)
A rede física pode ser separada entre os 3
controladores oferecendo uma parte do controle
para cada um, de acordo com a política.
41
VLAN e FlowVisor
Um equipamento que tem VLAN de Produção normal,
VLAN com o uso de OpenFlow, VLAN para uso do
FlowVisor
42
Tarefas do Bimestre - 1
  • Áreas de Pesquisa a escolha do aluno
  • SDN for sharing resources QoS, load balancing,
    admission control...
  • SDN in Wireless (Mininet manipula? ) Abordagem
    atual usar Linux para Sistemas Embarcados
    (OpenWrt) inserindo OF
  • SDN and Security
  • SDN controllers estudar como centralizar
    logicamente, estratégias para hierarquizar
    controladores, flowvisor.
  • Passos da primeira tarefa do bimestre
  • Escolha uma área de seu interesse entre estas 4
    acima
  • Faça um levantamento bibliográfico do tema
    procure entender o estado da arte nesta área. Que
    problemas existem? Que soluções já foram
    encontradas? Quais as melhores soluções?
  • Monte uma apresentação contendo uma visão geral
    da área e a melhor solução que encontrou.

43
Tarefas do Bimestre - 2
  • Parte Prática
  • Instale o VirtuallBox com uma máquina Ubuntu e
    estude-o
  • Instale o mininet e crie uma minirede - estude-o
  • Enxergue o protocolo OF em operação
  • Instale um controlador de seu gosto e crie regras
    a serem discutidas ao longo do bimestre, de
    acordo com a área escolhida.
Write a Comment
User Comments (0)
About PowerShow.com