Prévia do material em texto
PÓS GRADUAÇÃO EM TELECOMUNICAÇÕES PROF :DJACIR MACIEL maciel.estacio@gmail.com Aula01- Conceitos de SDN Faculdade Estácio Sá – PE Conceito Histórico das Redes Os primeiros modelos de redes eram baseados em hardware e pouca inteligência por software; Os primeiros modelos instalados no Brasil foram os mainframes; Mainframes eram computadores centralizados que processavam praticamente todos os dados solicitados pelos clientes; Primeiros modelos de Redes Conceito Histórico das Redes A comutação das informações são feitas nos equipamentos (nós) instalados no centro das redes ou mesmos nos usuários finais; Conceito Histórico das Redes Depois as redes começaram a ser divididas : Conceito Histórico das Redes Modo Datagrama Conceito Histórico das Redes Circuito Virtual Conceito Histórico das Redes Switching e Roteamento Switching : Se refere a tudo que é feito a nível de comutação; Conceito Histórico das Redes Roteadores Conceito Histórico das Redes Roteamento • Requisitos essenciais para um bom roteamento : – Correção – Simplicidade – Robustez – Estabilidade – Eficiência Conceito Histórico das Redes Critérios de Performance de um Roteamento: Menor Custo que são baseados em : Métricas Comprimento do caminho (Saltos) Retardo Confiabilidade Taxa de Transmissão Carga Conceito Histórico das Redes Roteamento Os protocolos de roteamentos são baseados em algoritmos; Esses algoritmos são instalados dentro do equipamento, juntamente com o seu sistema operacional; Conceito Histórico das Redes Alguns protocolos de Roteamentos e seus Algortimos : Vetor de Distância : Bellman-Ford Routing Information Protocol (RIP) ; Conceito Histórico das Redes Estado de Link – Link State : algoritmo de Djikstra - OSPF Conceito Histórico das Redes Vetor de Caminho – BGP Border Gateway Protocolo : Conceito Histórico das Redes O que esses protocolos possuem incomum ? Os algoritmos ou sistemas operacionais não são configuráveis, ou seja, em muitas ocasiões se subutiliza os recursos que um determinado ativo possui; Isso acaba consumindo recursos do equipamento, como memória e CPU; Conceito Histórico das Redes Um exemplo : Conceitos de Virtualização A virtualização consiste na emulação de ambientes isolados, capazes de rodar diferentes sistemas operacionais dentro de uma mesma máquina; Com isso, aproveitando ao máximo a capacidade do hardware, que muitas vezes fica ociosa em determinados períodos do dia, da semana ou do mês.. Conceitos de Virtualização Esse aproveitamento é maior devido à possibilidade de fornecer ambientes de execução independentes a diferentes usuários em um equipamento físico ao mesmo tempo; Conceitos de Virtualização Além disso, esse procedimento diminui o poder dos sistemas operacionais, que, muitas vezes, restringem o uso do hardware, quanto à utilização de software; Isso acontece porque softwares normalmente só rodam sobre o sistema operacional para o qual foram projetados para rodar; Diferentes sistemas operando em uma mesma máquina aumentam a gama de softwares que podem ser utilizados sobre o mesmo hardware. Conceitos de Virtualização Origem da Necessidade No início dos sistemas de computação, as máquinas eram muito grandes e muito caras. Eram projetadas para realizar certo conjunto de operações que, combinadas, seriam capazes de criar diversas aplicações; Rapidamente, vários setores da sociedade passaram a projetar aplicações específicas nas suas áreas que usassem o poder dos computadores. Conceitos de Virtualização Origem da Necessidade Conceitos de Virtualização Classificações da Virtualização I) Quanto à Arquitetura –TIPO I Nesse tipo de arquitetura, o Monitor de Máquina Virtual (MMV ou VMM) é implementado diretamente sobre o hardware hospedeiro, como indicado no esquema abaixo. Conceitos de Virtualização I) Quanto à Arquitetura –TIPO I Conceitos de Virtualização II) Quanto à Arquitetura –TIPO II Essa arquitetura se caracteriza pela implementação do Monitor de Máquina Virtual sobre o sistema operacional instalado no hardware anfitrião e opera como um processo desse sistema operacional. O esquema que ilustra essa arquitetura segue no próximo slide: Conceitos de Virtualização II) Quanto à Arquitetura –TIPO II As operações que seriam controladas pelo sistema operacional do hospedeiro são simuladas pelo monitor para as máquinas virtuais. Conceitos de Virtualização III) Quanto à Arquitetura –TIPO III Arquitetura Híbrida Temos ainda a arquitetura híbrida, que reúne qualidades das duas arquiteturas anteriores; Nessa modelo, podem ser agregadas características da arquitetura tipo I à arquitetura tipo II ou o contrário; Tais mudanças são feitas habitualmente, pois a aplicação pura de apenas uma das arquiteturas citadas nos itens anteriores pode comprometer o desempenho da máquina virtual. Conceitos de Virtualização III) Quanto à Arquitetura –TIPO III Arquitetura Híbrida Conceitos de Virtualização Quanto à Técnica I) Virtualização Completa Como o nome sugere, o hardware hospedeiro é completamente abstraído e todas as características de um equipamento virtual são emulados, ou seja, todas as instruções solicitadas pelo sistema convidado são interpretados no Monitor de MáquinaVirtual Conceitos de Virtualização Quanto à Técnica I) Virtualização Completa O sistema hospedado ignora a existência da máquina virtual e opera como se funcionasse diretamente sobre o sistema operacional para o qual foi projetado para funcionar. Conceitos de Virtualização Quanto à Técnica II) Paravirtualização Nessa técnica, a máquina virtual não é idêntica ao equipamento físico original, para que o sistema hospedado possa enviar as instruções mais simples diretamente para o hardware, restando apenas as instruções de nível mais alto para serem interpretadas pelo MMV. Conceitos de Virtualização Quanto à Técnica II)Paravirtualização Entretanto, esse procedimento requer que o sistema operacional convidado seja modificado para interagir com o MMV e selecionar quais instruções devem ser interpretadas nele ou diretamente no hardware hospedeiro. Conceitos de Virtualização Empregos da Virtualização Softwares podem ser usados para gerar abstrações de recursos (reais ou virtuais) de forma que eles pareçam ser diferentes do que realmente são; Essa possibilidade é no que consiste a virtualização. Esse conceito é estendido para ser executado em três frentes: virtualização de hardware, virtualização de sistema operacional e virtualização de linguagem de programação. Conceitos de Virtualização Empregos da Virtualização Virtualização de hardware é a técnica que imita a máquina real; A máquina virtual executa em cima de um sistema operacional e outros sistemas operacionais podem ser executados em cima dela; O sistema abaixo da máquina pode ser um Monitor de Máquina Virtual ou um sistema operacional real. Exemplos de sua utilização sãoVMware e Xen na plataforma x86. Conceitos de Virtualização Virtualização de sistema operacional é a técnica que cria a simulação de um sistema operacional, mas é implementada em cima de outro sistema; Serve para resolver, sem muitos outros ganhos significativos, a necessidade de execução de aplicações em sistemas operacionais incompatíveis; O FreeBsd Jail e o User-mode Linux representamessa categoria. Conceitos de Virtualização Outra forma de virtualização é a de linguagens de programação; Com ela é possível fingir que o computador se comporte diferente, ou seja, com outras instruções; A máquina virtual é responsável por executar o programa de acordo com esse comportamento fictício, do jeito que o usuário definir; Conceitos de Virtualização Empregos da Virtualização Conceitos de Virtualização Redes Virtuais Utilizadas na comunicação de MV É uma rede construída através da virtualização de recursos de rede que podem ser compartilhados por um conjunto de MV; Possui duas arquiteturas básicas : Conceitos de Virtualização bus-based switch-based Conceitos de Virtualização Conceitos de Virtualização Virtualização em Roteadores –VRF Conceitos de Computação nas Nuvens Conceitos de Computação nas Nuvens Computação em nuvem não é o mesmo que virtualização; Na verdade, computação em nuvem é algo que você pode fazer usando virtualização; A computação em nuvem descreve o fornecimento de recursos compartilhados de computação (software e/ou dados) sob demanda pela Internet; Quer esteja na nuvem ou não, você poderá começar virtualizando seus servidores e, em seguida, passar para a computação em nuvem para obter ainda mais agilidade e melhor autoatendimento. Conceitos de Computação nas Nuvens Computação em nuvem refere-se a entrega de serviços de computação através de um rede privada ou da internet; Cloud computing é a capacidade de computação infinitamente disponível e flexível; A nuvem é tudo aquilo que fica por detrás da conexão. Conceitos de Computação nas Nuvens As preocupações com a largura de banda, espaço de armazenamento, poder de processamento, fiabilidade e segurança, são colocadas à parte; Basta uma ligação à nuvem, e as necessidades, em termos de tecnologias de informação, são satisfeitas. Conceitos de Computação nas Nuvens Para concretizar esse ideal, a computação na nuvem compreende os seguintes recursos: Serviço Self-Service - O consumidor pode, unilateralmente, requerer ou dispensar capacidades de computação, tais como o tempo do servidor, a capacidade de armazenamento, ou outros, conforme necessário e de forma automática; Tudo, sem necessidade de interação humana com o fornecedor de cada serviço. Conceitos de Computação nas Nuvens Itens importantes em Cloud Computing Acesso à rede em banda larga : Todas as funcionalidades estão disponíveis através da rede e são acessíveis por meio de mecanismos standard, que promovem o uso de plataformas-cliente heterogêneas (telefones móveis, laptops, PDAs, etc). Conceitos de Computação nas Nuvens Pool de recursos : Os recursos de computação de cada fornecedor são concebidos para servir vários clientes, num modelo multirrecursos, com diferentes recursos físicos e virtuais, distribuídos e alocados dinamicamente; Existem recursos diversos disponibilizados dentro da nuvem; Conceitos de Computação nas Nuvens Existe uma sensação de independência uma vez que o cliente geralmente não tem nenhum controle ou conhecimento sobre a localização exata dos recursos disponibilizados; Mas poderá ser capaz de especificar o local num nível maior de abstração (por exemplo, país, estado ou centro de dados) Exemplos de recursos incluem o armazenamento, processamento, memória, largura de banda de rede, máquinas virtuais, entre outros. Conceitos de Computação nas Nuvens Elasticidade : Os recursos podem ser rapidamente alocados e, em alguns casos, de forma automática, para aumentar as capacidades disponíveis ou para as libertar quando já não são necessárias; Para o cliente, os recursos de alocação têm inúmeras possibilidades, podendo ser adquiridos em qualquer quantidade e a qualquer momento. Conceitos de Computação nas Nuvens Existem três modelos de serviços importantes dentro da área de computação em nuvem, que são : SaaS – Software as a Service (Software como Serviço) IaaS – Infrastructure as a Service (Infraestrutura como Serviço) PaaS – Platform as a Service (Plataforma como Serviço): Conceitos de Computação nas Nuvens SaaS – Software as a Service (Software como Serviço) Modelo de serviço onde o fornecedor disponibiliza aplicativos que são acessados por meio deWeb Browsers (navegadores web) ou via desktop; Esse modelo vem revolucionando a forma de como os aplicativos são comercializados, uma vez que o usuário não compra a licença do aplicativo como normalmente acontece, mas paga apenas pelo serviço que utiliza; Existem diversos vários serviços disponíveis como Google Docs, Google Tradutor, Photoshop Express Editor dentre outros, alguns gratuitos e outros pagos. Conceitos de Computação nas Nuvens Plataforma como Serviço (Platform as a Service - PaaS): Modelo de serviço destinado a desenvolvedores de soluções para Cloud Computing, pois fornece um ambiente com sistema operacional, frameworks para desenvolvimento de aplicativos em nuvem, controle de transações, serviços e também hospedagem para os aplicativos desenvolvidos (cloud apps). Conceitos de Computação nas Nuvens Cada provedor fornece suas próprias bibliotecas de desenvolvimento, banco de dados e infraestrutura para o desenvolvedor; Aqui o usuário não pode administrar ou controlar os recursos da infraestrutura como processamento, armazenamento, memória entre outros recursos, mas tem controle sobre os aplicativos desenvolvidos e as configurações no ambiente de hospedagem do servidor. Conceitos de Computação nas Nuvens Infraestrutura como Serviço (Infrastructure as a Service - IaaS): Modelo de serviço que oferece controle sobre processamento, armazenamento, redes e outros recursos básicos da computação em nuvem; Aqui o usuário poderá instalar o sistema operacional e as aplicações para o funcionamento da máquina virtual, além do total acesso para administrar ou controlar a infraestrutura do servidor; Conceitos de Computação nas Nuvens SDN (Software Defined Network) Atualmente , os clientes já estão contratando serviços de Infraestruturas (IaaS),(PaaS) e (SaaS), que possuem diversos sistemas e softwares proprietários vindos de vários fabricantes, mas o que dizer de se utilizar a rede como um serviço? Apesar do fato de a nuvem estar ligada através da rede, ouve- se pouco ou nada sobre um novo paradigma para a nuvem SDN (Software Defined Network Rede como um serviço não só é real, mas é provável que se torne universal. No entanto, pode ser necessário utilizar um software de rede definida (SDN) sob a forma de OpenFlow para que isso aconteça; Redes definidas por Software são realizadas através da virtualização de elementos de rede, como roteadores, switches, entre outros. SDN (Software Defined Network As redes, de forma geral, sempre foram gerenciadas por softwares, como IOS da Cisco, Junos OS da Juniper, HP, Dell e diversos outros fabricantes; Entretanto as redes têm sido limitadas pelo modo como estes softwares têm sido configurados, fornecidos e gerenciados. SDN (Software Defined Network Sendo a distribuição “dentro de uma caixa”, ou seja, um hardware o qual possui seu sistema embarcado,com as especificações prontas; Porém, estes não são “Unpack and Go” (desembalar e utilizar), ou seja, necessitam de uma configuração para serem integrados a rede atual; Importante ressaltar que a abordagem está em dispositivos de redes de média a alta complexidade, excluindo determinados hardwares como switches e roteadores nãogerenciáveis. SDN (Software Defined Network As corporações e Services Providers estão buscando soluções para os desafios impostos pelas redes atuais; A necessidade é de que as redes passem a se ajustar e responder de forma mais dinâmica, alinhadas à política de negócios, sendo estas políticas automatizadas, reduzindo o custo com pessoal que administra a rede. SDN (Software Defined Network Além disso a escalabilidade das redes precisa ser mais rapidamente alcançada; Sem que a rede atual sofra qualquer instabilidade ou indisponibilidade de serviço, evitando perda de receita; Outro grande diferencial do SDN é ele ter sido criado com a intenção de ser um padrão aberto de comunicação, retirando a restrição de certos fabricantes sobre o domínio de determinadas áreas em uma infraestrutura de rede. SDN (Software Defined Network SDN (Software Defined Network Definição Redes Definidas por Software permitem que administradores de redes gerenciem os serviços da rede de uma maneira mais simples, com uma maior abstração da funcionalidade em baixo nível da rede, isso é feito através da virtualização; O que evita ter que configurar o hardware manualmente; Para fazer essa abstração, a Rede Definida por Software realiza a separação do plano de dados do de controle, e essa separação requer um controlador. SDN (Software Defined Network Separação de Planos A concepção básica do SDN ao ser implementado é separar os Planos, Control Plane(controle) e o Forwarding (dados) utilizando protocolos não proprietários para interconexão de dispositivos e por consequência de redes; SDN (Software Defined Network Separação de Planos Deixar com que os dispositivos de borda, switches e roteadores, fiquem com seu poder de processamento totalmente voltado para o encaminhamento dos pacotes na rede, sem ter de se preocupar com decisões de montar tabelas de fluxos, configurações deVLAN’S eACL’S. SDN (Software Defined Network Plano de Controle x Controle de Dados SDN (Software Defined Network Um exemplo da separação em Switches SDN (Software Defined Network O processamento hoje realizado em um equipamento de rede se divide em duas categorias : O encaminhamento utilizando processadores ASIC (Application Specific Integrated Circuit) ou seja processador com uma tarefa específica a realizar e a CPU para as demais tarefas. SDN (Software Defined Network Com a introdução do SDN esta topologia é alterada para seguir o padrão de planos descentralizados, ou seja, o processamento de regras e protocolos é enviado para o centralizador da rede o qual tem a função de ser o Control Plane; Tomando as decisões a nível de toda a rede e não de cada dispositivo de modo isolado. SDN (Software Defined Network Assim em vez de cada dispositivo, seja ele um roteador, ou switch ethernet, criar suas tabelas e regras a partir de análise do tráfego que passa por ele.. Recebe uma cópia do que deve ser feito do Control Plane não exigindo interação do operador de redes para suas configurações; SDN (Software Defined Network Fica evidente o quanto a rede pode ser escalonada de forma mais rápida nestes casos quando um operador precisa criar uma série de configurações comoVLAN’S eACL’S; Ao invés de programar estas regras uma a uma, ou até mesmo copiando o arquivo de configuração de um outro dispositivo similar na rede, o controlador envia uma cópia do que o switch precisa, para “estar” disponível na rede. SDN (Software Defined Network SDN (Software Defined Network Arquitetura OpenFlow Para realizar esta mudança de layout de estrutura de processamento e camadas, os pesquisadores de Stanford, que idealizaram o SDN, propuseram uma arquitetura de rede conhecida como OpenFlow. SDN (Software Defined Network O OpenFlow é uma arquitetura de rede aberta, programável, virtualizado em switches e roteadores; Uma das grandes vantagens é que administradores de redes com equipamentos que suportam o OpenFlow podem ficar despreocupados com novos protocolos lançados por pesquisadores devido a plataforma já ser concebida para estas atualizações. SDN (Software Defined Network Ele se destaca por ter reunido em seu código tabela de fluxos com características de diversos fabricantes, assim sendo possível a interoperabilidade; Importante levar em conta que um equipamento idealizado para operar com OpenFlow, deve respeitar também as condições de estruturas e cabeçalhos existentes nos modelos OSI eTCP/IP; SDN (Software Defined Network Para que um dispositivo seja incorporado pela plataforma OpenFlow, o fabricante deve respeitar ao menos três aspectos técnicos: a)A tabela de Fluxo, com ação associada a cada fluxo entrante, para justificar ao ativo como processá-la; SDN (Software Defined Network Um canal seguro SSL que conecta o ativo com o controlador remoto de processos (controlador), assegurando que os pacotes possam ser enviados entre os dois dispositivos com uma chave de criptografia; Conter o protocolo OpenFlow padrão, para que seja possível a sua operação com um controlador também utilizando o OpenFlow, sendo as tabelas de fluxos definidas por outro dispositivo. SDN (Software Defined Network Esquema básico comunicação OpenFlow SDN (Software Defined Network Um Fluxo de dados para o OpenFlow pode ser : Uma conexãoTCP; Todos os quadros de um determinado MAC ADDRESS; Todos os pacotes marcados com a mesma VLAN Tag, de um determinado IP Ou até mesmo todos os pacotes vindos da mesma porta física do switch. SDN (Software Defined Network Cada fluxo de entrada deve respeitar três regras básicas: a) Encaminhar pacotes deste fluxo para uma determinada porta (ou portas), isso permite que os pacotes sejam roteados através da rede; Encapsular e transmitir o fluxo de pacotes até o controlador. O pacote deve ser entregue ao canal seguro (SSL), para ser encapsulado e enviado; SDN (Software Defined Network Descartar fluxo de pacotes, isto pode ser utilizado como uma forma de segurança, evitando ataques de DDoS (negação de serviço), além de reduzir excessivos broadcast na rede; SDN (Software Defined Network Uma entrada de fluxo possui três campos ou componentes sendo eles: a) Um cabeçalho que define o fluxo; b) Uma ação, que define como o pacote deve ser processado; c) Estatísticas, que devem manter o controle de número de pacotes, bytes para cada fluxo e tempo decorrido desde o último pacote afim de auxiliar na detecção de fluxos inativos. SDN (Software Defined Network Componentes do OpenFlow SDN (Software Defined Network Componentes do OpenFlow Cada entrada de fluxo da tabela de fluxo apresenta um conjunto de ações correspondentes que permitem encaminhar os pacotes, modificar os campos, ou descartar o pacote. Quando um “ativo” recebe um pacote que não possui uma entrada em sua tabela de fluxos ele envia esse pacote para o controlador. Este então toma as decisões de como lidar com esse pacote podendo descartá-lo ou adicionar uma entrada de fluxo para encaminhar pacotes semelhantes no futuro. SDN (Software Defined Network Componentes do OpenFlow SDN (Software Defined Network Cabeçalho do OpenFlow SDN (Software Defined Network Estabelecimento de um fluxo SDN (Software Defined Network Na figura anterior podemos acompanhar um exemplo do estabelecimento de um fluxo seguindo os seguintes passos: No primeiro passo é feita uma solicitação de algum conteúdo, como um vídeo por exemplo; No segundo passo essa solicitação é respondida e o fluxo éentão encaminhado para o "switch", que consulta as suas tabelas de fluxo e identifica um novo fluxo; SDN (Software Defined Network No terceiro passo o "switch" envia uma solicitação para o controlador requisitando um caminho por onde ele deve encaminhar o novo fluxo; No quarto passo o controlador, que possui uma visão geral da rede, responde ao "switch" mostrando-lhe o caminho que o fluxo deve seguir; No quinto passo o fluxo é encaminhado para os demais "switches" para estabelecer o fluxo; No sexto passo o fluxo é estabelecido sem novas consultas ao controlador. SDN (Software Defined Network Mensagens do Protocolo OpenFlow O protocolo OpenFlow possui três tipos de mensagens, "controller- switch", assíncrona e simétrica; I)A "controller-switch" é inicializada no controlador e é usada para gerenciar o status do "switch“; II)A assíncrona é gerada no switch e comunica o controlador das eventuais mudanças da rede e o status do "switch“; III)Gerada tanto no controlador como no "switch" a mensagem simétrica é enviada sem solicitação. SDN (Software Defined Network I)Mensagens - Controlador-switch: “FEATURES": O controlador pode solicitar os recursos de um "switch" enviando um pedido de suas características e os "switches" devem responder com uma resposta que especifique suas capacidades; Isto é normalmente realizada após o estabelecimento da conexão através do canal seguro. SDN (Software Defined Network “Configuration": O controlador possui a capacidade de definir e consultar as configurações de um "switch". “Modify-State": As mensagens de modificação de estados são enviadas aos "switches" a fim de modificar seu estado atual; Tem como objetivo adicionar ou remover as entradas nas tabelas de fluxo e adicionar algumas propriedades em suas portas. SDN (Software Defined Network “Read State": São mensagens usadas pelo controlador para coletar estatísticas do "switch". "Packet-out": Mensagens usadas pelo controlador para enviar pacotes para uma determinada porta do "switch" por onde os pacotes devem ser encaminhados. "Barrier": "request/reply" são mensagens utilizadas pelo controlador para garantir que as solicitações foram cumpridas ou receber notificações de operações concluídas. SDN (Software Defined Network "Role-resquest": Essas mensagens são utilizadas pelo controlador para consulta de uma função; É útil quando o "switch" se conecta a vários controladores. "Asynchronous-Configuration": As mensagens de configuração assíncrona são usadas pelos controladores para definir filtros adicionais sobre as mensagens assíncronas que são recebidas sem solicitações. SDN (Software Defined Network II)Mensagens – Assíncrono Mensagens assíncronas são enviadas de um "switch" sem a solicitação do controlador. Essas mensagens são enviadas para indicar a chegada de novos pacotes, mudanças nos estados do "switch" ou algum respectivo erro; A seguir veremos os principais tipos de mensagens assíncronas: SDN (Software Defined Network "Packet-in": Transfere o controle de um pacote para o controlador, para que este especifique as medidas a serem tomadas, como as portas que o fluxo deve seguir; "Flow-removed": Informa o controlador sobre a remoção de uma tabela de entrada. Geralmente são geradas como resultado de uma requisição de exclusão do controlador ou quando o tempo de uma tabela expira. SDN (Software Defined Network "Port-status": Informa o controlador sobre a mudança de estado em uma porta, se essa sofreu mudanças de configurações ou ficou inativa. "Error": O "switch" notifica aos controladores algum erro ocorrido. SDN (Software Defined Network III)Mensagens – Síncrono Mensagens simétricas são enviadas sem solicitação, em qualquer direção. "Hello": Mensagens "Hello" são trocadas entre o "switch" e o controlador na inicialização de conexão; "Experimenter": Essas mensagens fornecem uma maneira padrão de opções para os "switches" para oferecer funcionalidades adicionais; É uma área destinada para futuras atualizações do protocolo OpenFlow. SDN (Software Defined Network OpenFlow em “Data Centers” SDN (Software Defined Network OpenFlow em “Data Centers” O protocolo OpenFlow foi proposto como base de uma nova tecnologia para as redes do futuro; Uma grande parte das empresas estão procurando esta tecnologia para otimizar suas redes; Veremos a seguir alguns dos principais requisitos para uma rede de "Data Centers", e como o uso do OpenFlow pode suprir estes requisitos e o porque da importância de tecnologias "open source". SDN (Software Defined Network OpenFlow em “Data Centers” Eficiência - Alcançar maior utilização dos servidores, obtendo uma melhor eficiência energética. Grande parte da ineficiência nos atuais "Data Centers" vem da necessidade de segmentar as redes em VLANs ou sub-redes IP; Uma Rede Definida por Software com uso do protocolo OpenFlow, permite que os usuários segmentem a rede programando-a, de acordo com as suas necessidades, consistindo na criação de uma rede sob medida, ao invés de redes em tamanhos que são potências de 2 como no caso de uma rede IP. SDN (Software Defined Network OpenFlow em “Data Centers” Escalabilidade Com a virtualização de servidores, centenas de MVs podem ser instaladas em um único servidor, o que significa que antes um administrador via milhares de endereço de servidores, agora ele vê endereços de maquinas virtuais; SDN (Software Defined Network OpenFlow em “Data Centers” É difícil para os administradores de rede conseguir organizar todos esses endereços, mas em uma rede definida por software baseada em OpenFlow pode ajudar a controlar centralmente esta explosão de endereços, fornecendo e permitindo que os administradores da rede descrevam as políticas destinadas para todos os "switches" da rede. SDN (Software Defined Network OpenFlow em “Data Centers” Simplicidade - Um das principais vantagens da SDN e do OpenFlow é a sua simplicidade, que permite que todos os requisitos sejam feitos a partir de um ponto central de controle, ou seja, o administrador faz as especificações em toda sua rede, baseado em questões de segurança e regra; Isto faz com que sejam reduzidas as configurações isoladas de centenas ou milhares de dispositivos e se torne uma configuração única e centralizada. SDN (Software Defined Network Podem se destacar alguns exemplos de implantação do OpenFlow pelos seus criadores: Um gerenciamento de rede e controle de acesso: Criando uma política centralizada no controlador da rede, este pode começar a analisar e classificar os fluxos da rede, assim podem ser definidos regras de acessos como: visitantes somente podem acessar o protocolo HTTP, telefone VOIP não podem se comunicar com outros dispositivos além de seus gateways; SDN (Software Defined Network Gerenciamento dinâmico de VLAN: O protocolo OpenFlow permite facilmente gerenciar as VLANS da rede para criar os isolamentos necessários; O dinamismo se torna eficiente quando o Controlador associa determinado tipo de fluxo a uma VLAN em especifico. SDN (Software Defined Network Assim um notebook pode trocar dentre diversas portas de rede, ou conexões WIFI distintas que sua máquina já estará na VLAN correta; Hoje existe um processo semelhante do fabricante CISCO, porém o mesmo é fechado e só funciona em seus equipamentos; SDN (Software Defined Network Rede não IP: Como o protocolo OpenFlow não tem exigência na formatação única dos pacotes, suas tabelas podem ser associadas a outros tipos de cabeçalhos; Devido ao seu cabeçalho padrãoaceitar diversos tipos de entradas para identificação, é possível criar uma rede de pesquisa de novos protocolos, sejam eles de roteamento ou até mesmo IP. SDN (Software Defined Network Por exemplo, pode ser possível definir novos tipos de roteamentos e encaminhamentos a partir do segmento de cabeçalho Ethernet onde somente é preciso o Source Address, Destination Address e Type, conforme a figura a seguir : Cabeçalho Ethernet do OpenFlow SDN (Software Defined Network •Controlador SDN (Software Defined Network O Controlador No plano de controle há a presença de um controlador; Esse controlador é o responsável pela definição da rota do próximo salto do fluxo de pacotes nos elementos encaminhadores; A definição da rota ocorre da seguinte maneira: o controlador fornece um ambiente de programação onde podem ser desenvolvidas aplicações que decidem a próximo salto de um fluxo. SDN (Software Defined Network Essa interface de programação provê um meio de mais alto nível para definir as funções dos elementos de rede, o que permite que mais desenvolvedores possam atuar nessa área; Além disso, essa programabilidade permite que sejam implementadas uma maior gama de funções lógicas mais sofisticadas para definição da rota e também para o monitoramento do fluxo na rede. SDN (Software Defined Network O Controlador SDN (Software Defined Network Outra importante característica do controlador é que ele possui uma visão global da topologia da rede, o que pode ser levado em conta na tomada de decisões; A partir do conhecimento da topologia lógica da rede é possível uma análise mais detalhada do funcionamento da rede, com funções de monitoramento que levam em conta essa topologia; SDN (Software Defined Network Outras Ferramentas além do OpenFlow : Open vSwitch A ferramenta Open vSwitch serve para a criação de múltiplos switchs virtuais, o que permitiria a automação da rede através da programação; Nestes switches é possível então implementar diversos protocolos, entre eles o OpenFlow, e também definir um controlador como o POX, o NOX, ou o próprio controlador nativo do Open vSwitch. O Open vSwitch também permite a criação de switchs virtuais em máquinas físicas diferentes, similar ao Software daVMware. SDN (Software Defined Network FlowVisor O FlowVisor é uma ferramenta desenvolvida em maio de 2009 em Stanford; Ele consiste em um controlador especial pro OpenFlow, e o que diferencia ele dos demais, é que ele atua como um proxy transparente entre um comutador OpenFlow e múltiplos controladores OpenFlow, ou seja, ele atua como um intermediador entre as requisições de um controlador e o comutador; . SDN (Software Defined Network Desta forma o FlowVisor permite que a rede seja fatiada e tenha um controle distribuído, já que quando um controlador OpenFlow envia algum comando para o comutador ele passa antes pelo FlowVisor que determina se ele tem autorização ou não para realizar esta ação; Ele trabalha semelhante a um proxi da rede; SDN (Software Defined Network RouteFlow O RouteFlow é um projeto do CPqD que visa reunir protocolos de roteamento IP e redes com protocolo OpenFlow, visando um desacoplamento efetivo entre o plano de encaminhamento e o plano de controle; É uma ideia simples para executar protocolos IP em plataformas centralizadas fornecendo aos dispositivos habilitados para o OpenFlow um plano de controle. SDN (Software Defined Network RouteFlow O projeto RouteFlow possui dois objetivos principais: o primeiro é que permite um caminho de migração implantada em SDN oferecendo um controlador com uma abordagem central em uma rede híbrida; O segundo é fornecer uma plataforma para inovação em torno de roteamento IP; O RouteFlow propõe uma arquitetura de roteamento de menor custo- benefício, que combina a flexibilidade do software "open source" e protocolos de roteamento com o desempenho do hardware com suporte ao OpenFlow ; SDN (Software Defined Network Redes Experimentais Definidas por Software no mundo Vários exemplos de redes experimentais SDN podem ser citados pelo mundo , como o GENI , projeto de iniciativa dos Estados Unidos, por intermédio da "National Science Foundation" (NSF), o FIRE na Europa, e demais projetos que iremos observar agora : SDN (Software Defined Network GENI (Estados Unidos) O GENI consiste em um ambiente global de inovações em redes, partindo de um laboratório virtual onde pesquisadores se unem para realizar experiências e criar novas possibilidades para a Internet do Futuro; O GENI tem como missão abrir caminhos para novas pesquisas em engenharia de redes, e acelerar o potencial das inovações que prometem explorar a Internet do futuro em grande escala, criando oportunidades para uma compreensão da transformação das redes globais e suas interações com a sociedade; SDN (Software Defined Network O GENI irá habilitar o OpenFlow na construção das LANs, WLANs e equipamentos de backbone em 8 campus universitários e de pesquisas importantes; O protocolo OpenFlow é adicionado como um recurso para os "switches", roteadores e pontos de acesso sem fio, fornecendo um padrão para permitir executar experiências, sem a necessidade dos fornecedores exporem o funcionamento interno de seus dispositivos de rede ou de pesquisadores terem que requerir software específico de controle aos seus fornecedores. SDN (Software Defined Network Na Figura a seguir identificamos os oitos primeiros campus com uso do OpenFlow que serão implementados pelo GENI; Em cada campus os pesquisadores são agrupados em equipes para planejar, implantar, e operar os switches e roteadores com suporte ao OpenFlow; SDN (Software Defined Network Projeto GENI com SDN SDN (Software Defined Network AKARI O objetivo do projeto AKARI é projetar a rede do futuro, tendo suporte do "National Institute of Information and CommunicationsTechnology" do Japão; O projeto pretende implementar uma rede de ultima geração até 2015, estabelecendo uma arquitetura e criando um projeto de rede com base em tecnologias inovadoras, pesquisando novas arquiteturas de rede, onde não há limitações, com a possibilidade da migração das condições existentes para outras que ainda serão criadas. SDN (Software Defined Network AKARI O objetivo é criar um projeto abrangente que esboce como a rede futura inteira deve ser; Lançada em 2006 o cronograma de concepção do projeto foi dividido em um primeiro período de cinco anos, até que a nova geração de diagramas de projeto de rede fossem obtidos, e um segundo período de cinco anos para o desenvolvimento de bancos de ensaio com base nesses diagramas; SDN (Software Defined Network AKARI O AKARI irá criar um projeto de uma nova geração de rede para ser incorporado em todo o Japão. Esta rede será baseada em tecnologias de ponta e atuará como base para o apoio a todos os outros serviços de comunicações; O projeto não só será de uma rede de nova geração inteira, mas também um indicador para as indústrias, de quais serão as possíveis novas tecnologias de rede da próxima geração com o qual a rede estará interagindo. SDN (Software Defined Network FIBRE (Brasil) O projeto é coordenado pela Universidade Federal do Pará, por intermédio do grupo de pesquisa em redes de computadores e comunicação multimídia; Desta forma o mesmo foi aprovado no edital de chamadas coordenadas no Brasil, pela União Europeia emTIC e do CNPq, além da Austrália; A RNP também tem participação no projeto FIBRE com cooperação internacional e com os parceiros brasileiros CPqD, Universidades Federais de Goiás (UFG), Rio de Janeiro (UFRJ) e SãoCarlos (UFSCar). SDN (Software Defined Network FIBRE (Brasil) O principal objetivo do projeto é a concepção, a implementação e a avaliação de um ambiente de experimentação compartilhado entre a Europa e o Brasil; As principais atividades são o desenvolvimento em um novo ambiente de experimentação no Brasil, o aprimoramento de dois ambientes de experimentação europeus já consagrados visando a criação de uma única instalação compartilhada desse sistema; Esses experimentos foram realizados em conjunto com pesquisadores europeus e ajudam a desenvolver essa tecnologia adaptando as necessidades brasileiras. SDN (Software Defined Network O ambiente brasileiro onde serão realizados todos os testes, terão incluídas estas localidades que serão denominadas ilhas localizadas nos principais colaboradores desse projeto; SDN (Software Defined Network Como visto , cada ilha terá um núcleo comum de comutadores, conjuntamente com seus controladores, bem como um cluster de servidores de computação e armazenamento e outro cluster de nós sem fio, ambos apropriadamente virtualizados; Cada ilha irá propor suas próprias extensões possíveis, integrando recursos específicos da ilha ao FIBRE, tais como redes de acesso sem fio (WiFi, WiMax, 3G/4G), assim auxiliando o monitoramento na questão do escoamento do tráfego fazendo o encaminhamento para as redes ópticas. SDN (Software Defined Network A colocação dessas novas ilhas experimentais no Brasil através do projeto FIBRE, terá uma valiosa contribuição na questão da infraestrutura, extremamente útil para a avaliação e análise comparativa de algoritmos inovadores entre outras técnicas para colocação dessa tecnologia no mercado atual; SDN (Software Defined Network A RNP e as Redes Definidas por Software A RNP tem se dedicado, desde 2000, à promoção do uso de aplicações e soluções avançadas em redes de computadores e telefonia sobre a rede; Ela apoia o desenvolvimento e o uso da Internet como forma de facilitar o progresso da educação e da ciência em geral. Essa rede nacional foi batizada de rede Ipê, alcançando todos os 26 estados da Federação e o Distrito Federal; Conta com uma capacidade suficiente para viabilizar não só o tráfego da Internet , mas também o uso de serviços e aplicações avançadas e experimentação. SDN (Software Defined Network A RNP e as Redes Definidas por Software A rede Ipê integra dois tipos de serviços: "backbones" para produção e "backbones" para experimentação; O "backbone" para produção tem a finalidade de conectar todas as Instituições Federais de Ensino Superior (IFES) com os Institutos de Pesquisa do Ministério de Ciência e Tecnologia, e o "backbone" de experimentação serve para dar suporte às aplicações avançadas como a Internet do Futuro e as Redes Definidas por Software (SDN). SDN (Software Defined Network Para as redes SDN, a RNP está contribuindo de forma a se dispor totalmente na realização de pesquisas e no desenvolvimento do ambiente de testes necessários para essa tecnologia, bem como na realização de eventos voltados a discussão e analise das soluções que poderão ser utilizadas nestas redes; Atualmente a RNP está realizando testes de SDN em alguns pontos de backbone da sua rede no Brasil; SDN (Software Defined Network Uma Visão do Mercado de Redes Definidas por Software As Redes Definidas por Software é a ponta do iceberg de um amplo processo, que visa revolucionar a indústria de rede, nos padrões do que representou a migração dos "mainframes"para a área da computação; Como exemplo, a VMware atraiu os olhares do mercado ao investir US$ 1,26 bilhão na compra da Nicira, especializada em uma tecnologia aberta de gestão de tráfego de rede baseada no padrão do protocolo OpenFlow; Esta aposta bilionária da empresa deixou claro que o mercado de SDN como um todo, no qual o protocolo OpenFlow é a parte mais visível por trás do negócio, deve saltar dos US$ 200 milhões registrados no fim do ano passado para chegar ao valor de US$ 2 bilhões até 2016 como é mostrado no Gráfico do slide a seguir : SDN (Software Defined Network Uma Visão do Mercado de Redes Definidas por Software SDN (Software Defined Network O argumento da expansão do mercado de SDN fundamenta-se no fato de que a utilização de padrões abertos, onde se pode citar como exemplo o protocolo OpenFlow, permite a abertura de um campo fértil para a criação de uma elevada gama de aplicativos para segurança, gerência de tráfego, cumprimento de regulações do governo e acesso a sites, que serão os "drivers" de valor dos produtos no futuro; SDN (Software Defined Network O SDN está deixando de ser uma tecnologia de laboratório para ser usada em grande escala pela indústria de redes; Empresas de telecomunicações continuam sendo as maiores adeptas do SDN e em termos de regiões a América do Norte possui o maior mercado para as soluções SDN, mas em cinco anos a Ásia poderá se tornar um dos maiores mercados do mundo; Junto com o SDN também cresce o mercado de "Cloud" já que por trás de cada nuvem existe um "Data Center". SDN (Software Defined Network Grandes empresas como IBM, HP, NEC, já desenvolvem aplicações que se utilizam dessa tecnologia, que cada vez mais vem ganhando destaque dentro deste cenário de Redes Definidas por Software; Apesar de ser uma tecnologia de rede ainda muito recente, algumas pesquisas revelam que em alguns anos será um negócio de bilhões de dólares; O SDN é uma das coisas mais relevantes da última década em se tratando de infraestrutura de redes, e vem chamando a atenção por sua simplicidade e facilidade de gerenciar e programar as redes SDN (Software Defined Network Casos de uso de Redes Definidas por Software Uso de SDN pela Google A Google oferece diferentes tipos de serviços, como, busca na web, email,YouTube, mapas e etc; A fim de atender uma gigante base global de usuários com disponibilidade e alta velocidade, grandes volumes de dados precisam ser movidos de uma região para outra fazendo uso de aplicações e serviços utilizando intensivos recursos da redeWAN; Quando se trata de gestão de custos e desempenho as coisas não são necessariamente as mesmas para aWAN. SDN (Software Defined Network Existe uma variedade de razões para isso, como maior desempenho, melhor tolerância a falhas e capacidade de gerenciamento, que são mais exigidas ao se gerenciar uma WAN como um todo e não apenas como elementos independentes; A WAN da Google está organizada em dois "backbones" – uma rede interna que transporta o tráfego dos usuários chamada de ("I-scale") e outra que carrega os dados entre "Data Centers" ("G-scale"); Estes dois "backbones" possuem necessidades e características diferentes e é na "G-scale" que a Google tem implantado o OpenFlow alimentado pelo SDN. SDN (Software Defined Network Quando a Google começou esse projeto não havia nenhum equipamento com suporte ao OpenFlow que atendesse as necessidades nessa escala; A Google então desenvolveu seu próprio "switch" com código aberto e suporte ao OpenFlow utilizando recursos mínimos, mas que foram suficientes; São "switches" que fornecem escalabilidade de largura de banda e tolerância a falhas; Os sites são conectados entre si e os controladores com o OpenFlow comunicam-se com os "switches", vários controladores garantem que não haja nenhum ponto de falha, garantindo assim uma conexão redundante. SDN (Software Defined Network SDN aplicada a Rede Wan da Google. SDN (Software Defined Network Nesta WAN a Google construiu um sistema centralizado de engenharia de tráfego; O serviço coleta em tempo real informações da utilização de dados, da topologia da rede subjacente e a demandapor banda a partir de aplicações e serviços; Com esses dados ela calcula as atribuições do caminho para o tráfego do fluxo, e em seguida, programa os caminhos para os switches OpenFlow; No caso de alguma eventual mudança o serviço recalcula as atribuições de caminho e reprograma os switches; SDN (Software Defined Network Obrigado !!!