UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS TECNOLÓGICAS CURSO DE ENGANHARIA DE TELECOMUNICAÇÕES BRUNO GABRIEL DA SILVA GERÊNCIAMENTO DE REDES COM SDN (SOFTWARE DEFINED NETWORK) BLUMENAU 2014 BRUNO GABRIEL DA SILVA GERÊNCIAMENTO DE REDES COM SDN (SOFTWARE DEFINED NETWORK) Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Engenharia de Telecomunicações do Centro de Ciências Tecnológicas da Universidade Regional de Blumenau, como requisito parcial para a obtenção do grau de bacharel em Engenharia de Telecomunicações. Prof. Francisco Adell Péricas – Orientador BLUMENAU 2014 BRUNO GABRIEL DA SILVA Dedico este trabalho aos meus pais, amigos de turma e família. AGRADECIMENTOS Agradeço primeiramente a minha namorada Ana Carolina Raulino, dado o apoio necessário para conseguir me dedicar à realização deste trabalho aos meus pais Orlando da Silva e Márcia Rita da Silva por proporcionar financeiramente e emocionalmente minha caminhada ao longo do curso, além da minha irmã Flavia Cristiane da Silva. Agradeço também aos meus colegas de curso, em especial Henrique Olinger e Rafael Rodrigo Lang que me ajudaram ao longo de toda a graduação e ao meu gestor Claudio Marcio Wocikowski da empresa Benner Sistemas, além de todos os colaboradores e pessoas que tive contato durante todo o período que estive na universidade, no qual contribuíram para desenvolvimento de conhecimento e troca de experiências. Agradeço ainda a um colega de longa data, também formado em Engenharia de Telecomunicações na FURB, Tiago Cadorin, o qual me fez perceber a importância do curso e da caminhada pelas dificuldades. Além de ter sido responsável por direcionar meus estudos em busca do tema para este trabalho. “Acredito que se você mostrar às pessoas os problemas e depois as soluções elas se motivarão a agir.” William Henry Gates III (Bill Gates) RESUMO Com o crescente aumento de demanda por serviços de acesso a redes de dados, sejam elas móveis ou não, foi necessário criar novos métodos de gerenciamento desta rede pelos engenheiros de tráfego de dados. Através do SDN (Software Defined Network) o escalonamento de demanda e gerenciamento ficou mais simplificado e unificado, através de novas técnicas para que equipamentos de fabricantes diferentes possam se comunicar de forma fácil e eficiente. Com a virtualização da camada de rede do modelo TCP/IP foi possível a criação de novos protocolos e controles que consigam atender em tempo hábil o crescimento das redes, sejam elas dos provedores de serviços de telecomunicações ou das redes locais de grandes corporações com seus serviços locais e em ambientes cloud. Além de prover o projeto de criação e implantação de um ambiente contendo a tecnologia SDN para uma corporação. Palavras-chave: SDN, OPENFLOW, VIRTUALIZAÇÃO DE REDE, CLOUD COMPUTING, SOFTWARE. ABSTRACT With the increasing demand for access to data networks services whether they are mobile or not, it was necessary to create new methods of managing this network engineers for data traffic. Through the SDN (Software Defined Network), escalation of demand and management became more simplified and unified. Using new techniques so that equipment from different manufacturers can communicate easily and efficiently. Through virtualization of the TCP / IP network layer model was possible to create new protocols and controls that are able to meet in a timely manner the growth of networks, be they of telephone services or local networks of enterprises corporations with their local Service Providers and cloud environments. Besides providing the project creation and implementation of an environment containing the SDN technology for enterprise. Keywords: SDN, OPENFLOW, NETWORK VIRTUALIZATION, CLOUD COMPUTING, SOFTWARE. LISTA DE FIGURAS Figura 1 – Demonstração de concorrência de aplicações do Sistema Operacional Host com o Hypervisor. ............................................................................................................................ 15 Figura 2 – Virtualização Bare Metal ..................................................................................... 16 Figura 3 – Comparação entre a evolução da era Mainframe para a computação pessoal versus a era “Mainframe de rede” para o SDN.................................................................... 17 Figura 4 – Diferença de estilos de processamento de switches convencionais e switches preparados para tecnologia SDN. ......................................................................................... 19 Figura 5 – Esquema básico comunicação OpenFlow........................................................... 20 Figura 6 – Cabeçalho do OpenFlow ...................................................................................... 21 Figura 7 – Ênfase no Header Ethernet do OpenFlow........................................................... 22 Figura 8 – Concepção de camadas do SDN da Juniper Networks ..................................... 23 Figura 9 - Chassi Dell M100e com quatro Lâminas de processamento e um Storage. .... 35 Figura 10 – Estrutura de Ligação dos Chassis e Switches .................................................. 36 Figura 11 – Cluster Hyper-V ................................................................................................. 37 Figura 12 – Distribuição de carga das VM’s ........................................................................ 38 Figura 13 – Comunicação entre VM’s do mesmo Cliente .................................................. 38 Figura 14 – v-switch do Host DTC-HV005 ........................................................................... 39 Figura 15 – v-switch CLUSTER_SWITCH Networks ......................................................... 40 Figura 16 – VM Network ....................................................................................................... 41 Figura 17 – IP POOL SCVMM ............................................................................................. 42 LISTA DE TABELAS Tabela 1 – Hardware BennerCloud ....................................................................................... 34 Tabela 2 – Tipos de Cluster ................................................................................................... 37 LISTA DE ABREVIATURAS E SIGLAS VM – Virtual Machine SDN – Software Defined Network LAN – Local Area Network WAN – Wide Area Network ACL – Access Control List VLAN – Virtual Local Area Network SP – Service Provider ADSL – Asymmetric Digital Subsciber Line IRC – Internet Relay Chat TI – Tecnologia da Informação SCVMM – System Center Virtual Machine Manager WS2012 – Windows Server 2012 IaaS – Infraestructure as a Service PaaS – Plataform as a Service Saas – Software as a Service CP – Control Plane FP – Forward Plane SSL – Secure Socket Layer DDoS – Distributed Denial of Service SA – Source Address DA – Destination Address CLI – Command Line Interface API – Application Programming Interface DNS – Domain Name System SUMÁRIO 1 INTRODUÇÃO ................................................................................................................... 12 1.1 OBJETIVO DO TRABALHO ...................................................................................... 13 2 FUNDAMENTAÇÃO ......................................................................................................... 14 2.1 CLOUD COMPUTING ...................................................................................................... 14 2.2 SDN: INTRODUÇÃO E MÉTODOS DE ABORDAGEM ............................................... 16 2.3 SDN: ESPECIFICAÇÕES SERVICE PROVIDERS E ENTERPRISES ................. 25 2.3.1 SDN PARA SERVICE PROVIDERS ............................................................................... 25 2.3.2 SDN PARA ENTERPRISES ............................................................................................ 28 3 DESENVOLVIMENTO DE CASO BENNERCLOUD SERVICES .............................. 32 3.1 DESCRIÇÃO DE MODELO DE NEGÓCIO E TECNOLOGIA...................................... 32 3.2 APLICAÇÃO DO SDN NO BENNERCLOUD SERVICE ............................................... 33 4 CONCLUSÃO...................................................................................................................... 43 REFERÊNCIAS ..................................................................................................................... 44 12 1 INTRODUÇÃO Com o consumo de serviços de banda larga móvel crescendo a cada dia é de suma importância lembrar da mudança necessária do core de rede. Nos últimos anos o crescimento de acesso por dispositivos móveis teve um grande aumento, e com isto a estrutura necessária para manter o serviço ativo precisou ser reavaliada. Importante lembrar que o acesso móvel de dados 3G ou 4G dado pela Estação Rádio Base em Rádio Frequência é apenas a chamada última milha, ou seja entre o dispositivo móvel e a antena da operadora, ou em alguns casos para comunicação entre duas Estações Rádio Bases. Porém no momento que o pacote de dados, seja ele voz ou dados propriamente ditos, é convertido em formato TCP/IP, a engenharia de rede e tráfego devem ter o controle desses dados para poder criar suas rotas entre outras operadoras ou até mesmo outros clientes. Devido à expansão já mencionada a partir dos dados, iniciou-se um processo importante no desenvolvimento de novas tecnologias para o controle de fluxo de dados. Além da Banda larga móvel, a fixa, geralmente sendo por meio de ADSL, cresceu em número de acessos e velocidade, pois no início as demandas eram por serviços de baixa banda, como emails e comunicadores de texto. A evolução de softwares e suas especificações fica bem clara nos antigos programas de chat, como o IRC ou ICQ, os quais possuem interface gráfica simples e assim era possível garantir alto desempenho nas comunicações de texto. Isto se justifica devido a conexão disponível naquela época para grande maioria da população, sendo ela o acesso discado limitando a no máximo 56Kb/s. Nos dias atuais fica evidente o aumento de consumo. Basta olhar para as grandes aquisições no mundo da TI e Service Providers, por exemplo Whatsapp, Instagram e o consumo direto de redes sociais de forma geral. Existe também a demanda por Streaming, seja ela de forma por demanda, por exemplo Youtube, Netflix etc, ou até mesmo sites de conteúdo disponibilizando ao vivo uma partida de Futebol. Além do segmento privado citado anteriormente existe o crescimento de demanda por banda e acessos por parte dos governos, onde pode-se citar o Plano Nacional de Acesso a Banda Larga além das integrações de diversos setores espalhados pelo país. Basta fazer uma retrospectiva em relação ao Imposto de renda, no qual a partir de 2014 teve de ser feito exclusivamente de forma online e entregue “aos servidores de dados” do governo. Para atender esta demanda crescente de acessos, aplicativos e velocidade, os Service Providers e as grandes empresas precisaram recorrer a uma nova tecnologia de rede, para que 13 seja possível entregar essa demanda de forma rápida e consistente. A tecnologia atual de implantação de redes, possui um alto tempo de parametrização não acompanhando a regra de negócio do mercado e impossibilitando que empresas possam expandir seus lucros e negócios. Com a mudança de paradigma de rede para o SDN (Software Defined Network), será possível atender de forma mais rápida e eficiente as demandas de rede para acesso à internet para os Service Providers e redes LAN (Local Area Network) com alta capacidade e dinamismo, necessárias hoje para grandes empresas. Em função desta tendência, a Benner Sistemas decidiu investir horas de projeto e financiamento para disponibilizar uma solução a seus clientes através de uma estrutura de cloud em modelo Saas utilizando as tecnologias de virtualização de sistemas operacionais e o SDN para gerência em manutenção da rede. 1.1 OBJETIVO DO TRABALHO Este trabalho tem como objetivo descrever a importância do estudo do SDN para um ambiente em cloud computing, além de demonstrar o projeto e a implantação de uma solução de virtualização de serviços baseados em cloud, utilizando o SDN. Este projeto é denominado BennerCloud Services e é apresentado em profundidade na sessão 3. 14 2 FUNDAMENTAÇÃO 2.1 CLOUD COMPUTING Devido ao crescimento de demanda por processamento, os fabricantes de hardware e software retornaram a um conceito lançado nos anos 60 pela IBM, a virtualização. Naquela época a virtualização atuava no sentido de viabilizar computadores pessoais até então muito caros. Os antigos mainframes eram divididos através de time-sharing (tempo compartilhado) entre usuários que usavam ambientes de aplicação totalmente diferentes. No entanto, com os avanços da tecnologia implicando em diminuição dos preços, o acesso às máquinas se tornou mais comum e essa técnica perdeu força. A indústria de computadores pessoais evoluiu de forma a difundir a computação pelo mundo. Adquirir um computador já não era tão custoso e, por vezes, era mais interessante utilizar uma máquina por processo. Um programa executado em um ambiente virtual podia ser menos eficiente que se executado direto em uma máquina real, pois a virtualização possuía um limite entre físico e virtual. Por isso essa técnica foi parcialmente abandonada nas décadas de 80 e 90. No caminhar dessa evolução, os computadores passaram a ter maior capacidade com preço cada vez menor. Em muitos casos passou a ser viável ter um processador com a capacidade muito maior que a necessária, o que gerou muita ociosidade e a virtualização ressurgiu a fim de aproveitar esses recursos. Ainda, com a evolução das redes de computadores, usuários podem utilizar máquinas virtuais remotamente. Outros fatores também influenciam esse crescente interesse. Máquinas virtuais criam aspectos diferenciados quanto à segurança, confiabilidade, disponibilidade, balanceamento de carga e suporte a softwares legados. Esses últimos são programas muito antigos e de difícil 15 atualização, projetados para funções críticas dos sistemas computacionais e, naturalmente, desconhecem invenções mais recentes. Hoje a virtualização se deve a necessidade de obter diferentes sistemas operacionais, ou até mesmo funções isoladas sobre uma gerência centralizada e em um mesmo host, ou seja um mesmo hardware. A grande vantagem é aproveitar ao máximo o poder do hardware para diversas VM’s (Virtual Machines), para quando houver ociosidade em uma a “potência” do hardware possa ser utilizada por outra. Para que isto fosse possível, foi criado o software monitor de máquina virtual conhecido como Hypervisor, que controla os acessos das máquinas virtuais ao hardware. Hoje existem dois tipos de virtualização de sistemas operacionais, o Hypervisor hosted e o Hypervisor Bare metal. O tipo Hosted é um software instalado sobre o sistema operacional já iniciado para emular uma nova máquina virtual, sendo estes casos utilizados geralmente para testes em sistemas operacionais desktop. O problema deste tipo de virtualização é que ele possui duas camadas de Software para alcançar o hardware, assim sua eficiência fica comprometida. Exemplos desta tecnologia são o Virtual PC da Microsoft e Virtual Box da Oracle([2]). Figura 1 – Demonstração de concorrência de aplicações do Sistema Operacional Host com o Hypervisor. Fonte:[2] O tipo Bare metal necessita que o processador suporte virtualização, isto é devido a necessidade do Hypervisor ter uma camada de acesso direto ao processador e memória, assim gerando alto desempenho. Este é o tipo de virtualização mais utilizado, sendo ele grande responsável pelo crescimento da computação em nuvem e também da infraestrutura local de empresas. Os fabricantes tradicionais de processadores para servidores Intel e AMD possuem em sua linha de produtos as características Intel-VT e AMD-V com o suporte à virtualização. 16 Dentre os virtualizadores mais famosos se destacam no mercado o Microsoft Hyper-V, VMWARE, XEN Server e KVM. Figura 2 – Virtualização Bare Metal Fonte: [2] Outra vantagem da virtualização está na abstração dos recursos, ou seja, a não necessidade de drivers em cada máquina virtual, tornando-se também uma excelente alternativa para migração de sistemas. Nos dias atuais, ao adquirir um servidor para instalação de sistema operacional, seja ele Linux, Unix, Windows dentre outros, o suporte a virtualização é obrigatório por parte dos fabricantes. O foco neste trabalho será o virtualizador da Microsoft, o Hyper-V, devido a sua integração com o Software Defined Network e o estudo de caso BennerCloud Services, sendo estes detalhados ao longo do trabalho na sessão 2.3.2. 2.2 SDN: INTRODUÇÃO E MÉTODOS DE ABORDAGEM O SDN (Software Defined Network) é um termo que surgiu a pouco mais de três anos na indústria de redes. 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. 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 não gerenciáveis. 17 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. 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. As redes implantadas hoje seguem a mesma ideia das que se implantavam à 10 e 20 anos atrás, e o SDN vem para mudar este conceito e evoluir e revolucionar parte de Networking assim como a virtualização de Sistemas Operacionais já é realidade hoje. – (Tradução do autor, Bethany Mayer CEO Networking HP).[1] 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. Assim os administradores podem controlar sua rede de uma forma similar à que fazem com seus servidores x86, ou seja onde rodam sistemas operacionais como Windows, Linux dentre outros. Figura 3 – Comparação entre a evolução da era Mainframe para a computação pessoal versus a era “Mainframe de rede” para o SDN. Fonte: [6], (2012, p. 3) Tecnicamente o SDN é uma nova abordagem para o fornecimento de redes com mais inteligência, dinamismo e elasticidade. Sendo estes um dos preceitos para que o Cloud computing possa atender as demandas de mercado. O Cloud computing consiste em distribuir a computação por meio de rede, onde um programa ou determinado aplicativo pode ser 18 executado em vários servidores ao mesmo tempo, assim o terminal utilizado pelo usuário sendo ele um computador pessoal, tablet ou até mesmo um smartphone consome processamento, memória e armazenamento de um serviço através da internet. Para o Cloud computing a rede é um ponto fortíssimo na regra de negócio. Na verdade para o nível de Services Providers como operadoras de telecomunicações, todo seu negócio se baseia na rede, seja em disponibilidade acesso ou cobrança por uso. O Cloud computing pode ser separado basicamente em 3 tipos de serviços: a) IaaS (Infrastructure as a service) - sendo o modelo mais básico de Cloud, oferece acesso a softwares rodando dentro de máquinas virtuais, sendo estas distribuídas pelos softwares de virtualização, se adequando ao processamento, memoria, armazenamento e rede para uma infraestrutura definida, como por exemplo Email Corporativo Próprio, Virtual Desktops, acesso a ERP etc; b) PaaS (Platform as a service) – oferece ao usuário um acesso a uma plataforma como um todo, sendo ela tipicamente incluindo um ambiente de linguagem de programação, Sistema operacional, Base de dados e Web Server. Exemplos hoje de líderes no segmento são a Microsoft com o Windows Azure, e a Amazon com os serviços Amazon Web Services e Amazon Elastic Compute Cloud; c) SaaS (Software as a service) – neste modelo os clientes não possuem gerência sobre a camada de sistema operacional nem das suas configurações abaixo, apenas consumindo o serviço, sem se preocupar com balanceamento de carga para sites Web, ou qual banco de dados está sendo utilizado para salvar as tabelas. Como exemplo atuais tem-se Facebook (Serviço de rede social), Gmail (Serviço de e-mail do Google). A concepção básica do SDN ao ser implementado é separar os Planos, (Control Plane e o Forwarding Plane) utilizando protocolos não proprietários para interconexão de dispositivos e por consequência de redes. Deixar com que os dispositivos de borda, switches em especial, 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 de VLAN’S e ACL’S([9]). O processamento hoje realizado em um equipamento de rede se divide em duas categorias, o encaminhamento utilizando processadores ASIC (Application Specific Integrated 19 Circuit) ou seja processador com uma tarefa específica a realizar e a CPU para as demais tarefas. 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. 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([6]). 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 como VLAN’S e ACL’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. Figura 4 – Diferença de estilos de processamento de switches convencionais e switches preparados para tecnologia SDN. Fonte: [6] (2012, p. 3) 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. 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. Ele se destaca por ter reunido em seu código tabela de fluxos com características de diversos fabricantes, assim 20 sendo possível a interoperabilidade. Importante levar em conta que um equipamento idealizado para operar com OpenFlow, não consegue atender as solicitações comuns de Layer2 e Layer3([3]). Figura 5 – Esquema básico comunicação OpenFlow Fonte: [3], (2008, p.2) 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 Switch como processá-la; b) um canal seguro SSL que conecta o switch com o controlador remoto de processos (controlador), assegurando que os pacotes possam ser enviados entre os dois dispositivos com uma chave de criptografia; c) 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. Um Fluxo de dados para o OpenFlow pode ser uma conexão TCP, todos os pacotes de um determinado MAC ADDRESS, todos os pacotes marcados com a mesma VLAN Tag, de um 21 determinado IP ou até mesmo todos os pacotes vindos da mesma porta física do switch. 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; b) encapsular e transmitir o fluxo de pacotes até o controlador. O pacote deve ser entregue ao canal seguro (SSL), para ser encapsulado e enviado; c) 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. Uma entrada de fluxo possui três campos 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. Figura 6 – Cabeçalho do OpenFlow Fonte: [3], (2012 p. 3) Podem se destacar alguns exemplos de implantação do OpenFlow pelos seus criadores: a) 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; b) 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 22 VLAN em especifico. 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; c) 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ão aceitar 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. 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 apresentado na figura 7. Figura 7 – Ênfase no Header Ethernet do OpenFlow Fonte: [3], (2012 p. 3) O consórcio OpenFlow visa manter o OpenFlow Switch Especification, sendo este consórcio liderado por um grupo de administrares de redes em universidades. Sua associação é gratuita para que qualquer pesquisador possa contribuir e garantir que nenhuma indústria de Switch e roteadores possa influenciar nas pesquisas. [3] O licenciamento do protocolo se dá pelas regras impostas pela Stanford University. O OpenFlow Switch Especification é grátis para aplicações comerciais e não comerciais, apenas devem seguir os protocolos mínimos do padrão. A marca é licenciada para a Universidade e protegida por lei. Uma demonstração clara da confiabilidade e ganhos da plataforma OpenFlow é o caso apresentado na Opennetsummit em abril de 2012([8]) onde o Google apresentou seus resultados de testes e produção utilizando o OpenFlow e SDN, sendo primeiramente em rede de testes e após utilizando em produção até mesmo para sua rede externa WAN, que interconecta seus Data Centers. A conclusão apresentada é que estas tecnologias incrementaram o gerenciamento 23 das redes, além de diminuírem custos. O processo levou em torno de 18 meses para ser concluído. O SDN é logicamente agregado, porém fisicamente separado devido à alta disponibilidade dos serviços, pois caso um equipamento fique sem alimentação de energia elétrica, ou até mesmo ocorra um defeito de hardware, as cópias de configurações de um novo controlador entrarão em ação, assim a rede não precisa ser reconfigurada. Ponto importante a ressaltar é a automatização. Como descrito no White Paper da Juniper([4]), as configurações de dispositivos de controle de rede são geralmente feitos por modo CLI, ou seja acesso a um terminal de linha de comando e se utilizando de um teclado para enviar os parâmetros, o qual pode gerar diversos erros pois a visualização final fica prejudicada de um “todo da rede”. Dentro das redes e dos dispositivos de segurança, em cada switch, roteador e firewall, é possível separar o software em quatro camadas ou planos. Quando muda-se para SDN, esses planos precisam ser claramente entendidos e separados. Isso é absolutamente essencial para construir uma rede altamente escalável e de última geração([4]). Figura 8 – Concepção de camadas do SDN da Juniper Networks Fonte: [4], (2013 p. 3) Gerenciamento: Como todos os computadores, os dispositivos de rede precisam ser configurados e gerenciados. O plano de Gerenciamento fornece instruções básicas sobre como o dispositivo de rede deve interagir com o restante da rede. O plano de Controle pode aprender sozinho tudo o que precisa saber sobre a rede e o plano de Gerenciamento precisa saber o que fazer. Atualmente, os dispositivos de rede são configurados individualmente e, com frequência, manualmente com o uso de uma interface de linha de comando (CLI – Command Line Interface) complexa e compreendida por um pequeno número de especialistas de rede. Como a 24 configuração é manual, os enganos são frequentes e, às vezes, esses enganos têm sérias consequências como um corte de tráfego de todo um Data Center ou interrupção de tráfego em uma importante rota do país. Os Services Providers se preocupam com as retroescavadeiras que cortam fisicamente seus cabos de fibra ótica, mas esquecem que há o corte virtual de cabos realizado por seus engenheiros quando cometem um simples engano na complexa CLI usada para configurar os roteadores da rede ou firewalls de segurança. Serviços: Às vezes o tráfego da rede requer mais processamento e, para isso, o plano de Serviços faz o trabalho. Nem todos os dispositivos de rede têm um plano de Serviços, não se encontra esse plano em um switch simples. Mas, para muitos roteadores e todos os firewalls, o plano de Serviços faz o raciocínio, executando as operações complexas dos dados da rede que não podem ser realizadas pelo hardware de encaminhamento. No plano de Serviços, os firewalls bloqueiam os invasores e é onde o controle de regras é aplicado. Além disso, permite que um smartphone navegue na web ou transmita um vídeo, garantindo que seja corretamente cobrado pelo tipo de serviço. Controle: Se o plano de Encaminhamento corresponde aos músculos da rede, o Controle é o cérebro. O plano de Controle entende a topologia da rede e toma as decisões sobre o destino do fluxo do tráfego da rede. O plano de Controle é como um guarda de trânsito que entende e decodifica os símbolos e regras dos protocolos da rede e assegura que o tráfego flua uniformemente. Um dado muito importante é que o plano de Controle aprende tudo que é necessário saber sobre a rede, conversando com seus pares em outros dispositivos. Esta é uma característica que pode ser comparado a como hoje funciona a Internet resistente às falhas com fluidez do tráfego mesmo quando um desastre afeta diversos dispositivos de rede. Encaminhamento: O plano fundamental, o Encaminhamento, faz o serviço de processar o envio dos pacotes de dados da rede, sendo otimizado para trafegar dados o mais rápido possível. O plano de Encaminhamento pode ser implementado no software mas, geralmente, é construído com o uso de circuitos integrados específicos do aplicativo (ASICs) que são projetados para essa finalidade. Fornecedores terceirizados fornecem os ASICs para algumas peças dos switches, roteadores e firewalls. Para obter desempenho elevado e alta escala, os ASICs de encaminhamento tendem a ser especializados e cada fornecedor oferece uma implementação diferenciada. A demanda aparentemente insaciável por maior capacidade das redes gerada por milhares de novas aplicações para usuários finais e negócios criam oportunidades significativas para a diferenciação do hardware e dos sistemas de rede de encaminhamento. 25 2.3 SDN: ESPECIFICAÇÕES SERVICE PROVIDERS E ENTERPRISES 2.3.1 SDN PARA SERVICE PROVIDERS Vários fabricantes foram evoluindo seus produtos com nomes comerciais utilizando as novas tecnologias de SDN. Neste trabalho serão abordados dois grandes players deste mercado, sendo eles a Juniper Networks (Empresa de TI que atua no ramo de redes, que fabrica, desenvolve, pesquisa e comercializa e roteadores, switches e protocolos de redes) e a Microsoft (Empresa de TI que desenvolve, fabrica, licencia apoia e vende softwares de computador e smartphones, além de sua linha de hardware) sendo esta última utilizada como um caso de uso do SDN que será demonstrado neste trabalho na sessão 3. Um Service Provider é uma empresa que fornece atendimento especializado ou serviços especializados, em vez de um produto real. O termo é geralmente utilizado para as empresas relacionadas com a comunicação ou tecnologia, como empresas de telefonia móvel ou prestadores de serviços Internet. É comum que as empresas neste campo forneçam assinaturas para seus clientes, em vez de trabalhar através de vendas individuais. Há muitos tipos diferentes de Service Providers. Essas empresas normalmente tem um foco estreito e uma grande base de clientes. Outra característica é a utilização de apenas um Service Provider para um determinado serviço, como por exemplo a TV a cabo, ou serviço de banda Larga ADSL. Um exemplo bem claro de Service Providers no Brasil são as operadoras de Telecomunicações. Os Service Providers ao redor do mundo estão no centro de uma profunda mudança para redes em nuvem. Incentivados por acesso a alta performance, banda larga de baixo custo, a mudança sem precedentes para a mobilidade, e o sucesso de software fornecido como um serviço, Service Providers estão investindo altas quantias para hospedar e entregar soluções baseadas em Cloud para atender a demanda do cliente, bem como gerar novas receitas. A tecnologia de virtualização amadureceu rapidamente para se tornar fornecedor chave, fornecendo uma plataforma para prestação de serviços. No entanto, o mesmo nível de agilidade ainda não está disponível para redes. Para Service Providers que entregam rede como um serviço, é necessária uma nova abordagem para atender às demandas de uma nova arquitetura de nuvem. 26 A disponibilidade de redes de dados móveis de alto desempenho e fixa, bem como smartphones e tablets, mobilizou uma enorme força de trabalho, perceptível nos dias de hoje. As aplicações sempre disponíveis, sempre on-line e serviços de rede são geradas pelas pessoas que podem trabalhar em qualquer lugar e em qualquer momento. Para atender a essa necessidade, os Service Providers de rede tradicionais, bem como novos Service Providers em nuvem, estão se expandindo rapidamente para atender às necessidades de XaaS [(Anything as a Service) (TI como um serviço, Infraestrutura como serviço, software como serviço, plataforma como serviço, etc )]. Arquiteturas de rede existentes não conseguem atender às demandas de rápido crescimento de empresas e consumidores. Tecnologias de virtualização tradicionais, desenvolvidos para atender às necessidades da empresa em ambientes de TI, têm amadurecido para conseguir uma escalabilidade fornecedor chave e exigência de confiabilidade exigidos de ambientes de serviços em nuvem comerciais. A Virtualização inaugurou uma era de computação onde recursos sobre demanda de uma CPU para lidar com um serviço específico, estão disponíveis em uma questão de segundos. No entanto, a rede dessas máquinas virtuais e serviços virtuais manteve-se um processo muito manual. Na verdade, a configuração de redes, ainda hoje, muitas vezes é gerida através de uma interface de linha de comando (CLI), e não ao contrário de programação de computadores antigos comandados através de comandos de texto do DOS ou UNIX. Enquanto o mundo da programação evoluiu, envolvendo interfaces de linguagem natural mais simples e mais em torno do computador, a programação de redes orientadas é a mesma da década de 1980. Tecnologias mais antigas, como VLAN’s têm limitações que são rapidamente ultrapassados em operações comerciais de Cloud e restringem a capacidade de operar a rede com os mesmos princípios de virtualização disponíveis para aplicações e recursos de serviços. Isto se deve ao fato de que o protocolo 802.1Q (Virtual Lan) ser possível para separar até no máximo aproximadamente 4000 redes distintas. A plataforma com nome Contrail é a solução da Juniper Networks para difundir suas tecnologias de SDN no mercado baseados nas especificações da OpenContrail, sendo o OpenContrail um projeto licenciado para Apache 2.0, que é construído usando protocolos baseados em padrões e fornece componentes necessários para um rede virtualizada. Seja ele um Controlador SDN, um vRouter (Roteador virtual) ou uma ferramenta de análise e API’s([11]). O Juniper Networks Contrail, controlador aberto de SDN da Juniper, traz um novo paradigma de rede otimizado especificamente para o mundo virtual. Trazendo a agilidade da 27 virtualização de rede, automação e suporte para a network function virtualization (NFV). Sendo ele integrado por API’s ao protocolo OpenFlow e plataformas de orquestração e gerenciamento como o OpenStack([13]). Ele permite que os Service Providers possam escalar rapidamente a arquiteturas em nuvem com a sua simplificada solução de rede. Devido a sua natureza de arquitetura ser de software livre, os Service Providers possuem a liberdade de personalizar a rede sem ficar preso a um único fornecedor. O Contrail é uma solução de entrega definida pelo software de virtualização de rede e serviço que oferece recursos de virtualização de rede avançadas em ambientes de nuvem. Automatizando o provisionamento de redes em um ambiente virtualizado, podendo orquestrar redes públicas, nuvens privadas e híbridas permitindo o encadeamento de redes e serviços de segurança de forma elástica. Além de fornecer capacidades analíticas avançadas e visualização em tempo real das operações de rede para solução de problemas mais rápidas e simples. Sendo suas principais características: Network Function Virtualization (NFV); Rede programável e automatizada; Big Data; Open Source, e conectivo com outras redes([5]). a) Network Function Virtualization: Sendo uma das primeiras soluções de virtualizações de rede funcional, garante um gerenciamento abrangente sobre a infraestrutura de serviço de redes físicas ou virtuais. Possui suporte para outras aplicações da Juniper, além de para empresas terceiras. Os serviços de redes podem ser escalonados através de demanda de rede, balanceamento de carga através de diversas instancias de serviços de rede, além de realizar o monitoramento das atividades em tempo real. Possui capacidade de encadeamento de serviços legados e já integrados como o MPLS (Multi Protocol Label Switch) e BGP (Border Gateway Protocol) para que não haja interrupção nas redes físicas atuais. b) Rede Programável: O Contrail apresenta o conceito “SDN como um compilador”, por possuir a capacidade de “traduzir” comandos abstratos em regras e políticas específicas para automatizar provisionamentos e cargas de trabalho, assim permitindo interconexão entre serviços de rede e segurança. Possui um modelo unificado de API’s (Application Programming Interface) e biblioteca de diversas linguagens de programação como por exemplo Python e JavaScript. 28 c) Big Data: Em sua concepção o Contrail foi projetado e dimensionado para grandes escalas. Com interface gráfica ele permite que se tenha uma visão mais ampla da infraestrutura, fornecendo em tempo real dados como logs, fluxos de rede, latências e jitter. Por ter a característica de API’s ele consegue se integrar a técnicas modernas de “mineração de grandes dados” como o Apache Hadoop. d) Open Source: Devido a sua característica de software aberto, o Contrail provê suporte a diversos protocolos, assim permitindo a interoperabilidade entre diversas redes, podendo ser elas físicas ou virtuais e até mesmo de fabricantes diferentes. Rede definida por Software é uma área chave de interesse para a China Mobile Research Institution para avaliar a agilidade, utilização e escalabilidade na implementação de nuvem para os nossos clientes e nós mesmos. Nós temos trabalhado em estreita colaboração com a Juniper e a equipe Contrail para entender suas inovações nesta área e estão atualmente testando a plataforma de forma satisfatória em nosso ambiente. Estamos satisfeitos com a decisão da Juniper para open source Contrail como acreditamos que este vai acelerar avanços SDN e a criação de novas aplicações. " (tradução do autor - Lu Huang, technical manager, China Mobile Research Institute)[14] 2.3.2 SDN PARA ENTERPRISES Ao abordar o mundo empresarial em ambientes de virtualização de VM se pode definir três tipos de cloud: a) Public Cloud: onde os serviços de TI são fornecidos em ambiente de Internet. Possuindo um alto nível de eficiência em compartilhamento de recursos, geralmente utilizados para prover serviços a um grande grupo de pessoas a determinado serviços, como e-mail ou PaaS e SaaS; b) Private Cloud: onde os serviços de TI são mantidos dentro de uma rede privada da organização. Este tipo de nuvem oferece uma maior segurança e controle devido a sua administração estar totalmente nas mãos do TI da empresa. Apresenta alto custo devido a aquisição de toda a infraestrutura de hardware e software para manter determinado aplicativo online. Necessário quando a regra de negócio da empresa envolve redes locais de alto desempenho ou de extrema segurança; 29 c) Hybrid Cloud: onde os serviços de TI são divididos entre estar em uma rede interna e estar disponíveis na nuvem pública. A grande vantagem é a segmentação dos serviços, classificando-os por criticidade e necessidade de acesso e segurança. Além de ser uma forma para se comparar vantagens e desvantagens dos modelos públicos e privado. Ao aplicar o conceito destas cloud’s em Data Centers se iniciou um movimento percebendo que a virtualização não estava conseguindo alcançar seu potencial pleno. A virtualização de VM estava totalmente dominada, porém a agilidade em relação às redes ainda não. Com a necessidade de migrar VM a partir de uma private cloud para uma public ou hybrid surgiu um dificultador, o endereço IP. Ao transportar uma VM de uma rede para outra, a necessidade de comunicação, políticas de acesso e publicações WAN não consegue entregar com o dinamismo que a regra de negócio exige. Para cumprir as promessas de virtualização, você precisa virtualizar tanto a máquina virtual como sua rede, com o Hyper-V Network Virtualization é possível coordenar a agilidade e flexibilidade da virtualização de rede, você precisa do SDN. Tradução do autor – Jeffrey Snover, Engineer na Lead Achitect for the Windows Server Division)[10] A tecnologia utilizada para abordar o SDN para Enterprises será da Microsoft, sendo estas o Windows Server 2012, Windows Server 2012 R2 e System Center Virtual Machine Manager 2012 R2(SCVMM). Utilizando-se SDN em grandes corporações é possível alcançar a automação, flexibilidade e confiabilidade para uma cloud multiusuários. Antes da implementação do SDN o Control Plane tende a ser proprietário, resultando em ambientes de datacenter que são incapazes de se moldar de forma eficaz às necessidades de mudança dinâmica das cargas de trabalho. Ao ser lançado o Windows Server 2012 foi projetado para já estar apto a integração com outras redes e protocolos, assim permitindo a utilização do SDN. Ao utilizar o SCVMM, software de gestão de servidores virtuais e virtualizadores da Microsoft, é possível utilizar de uma automação que suporte flexibilidade e escalabilidade para missões de aplicações críticas. Seguindo a arquitetura do SDN, a Microsoft possibilitou em sua tecnologia a utilização de protocolos abertos no qual provê interconexão com diversos fabricantes terceiros. O licenciamento da tecnologia já está embutido nos softwares previamente citados, não tendo nenhum custo adicional para implementação em um determinado ambiente. A liberação desta 30 tecnologia para consumidores finais teve estreia no lançamento público do Windows Server 2012 em 04 de setembro de 2012, porém esta tecnologia já era empregada em produção nos bastidores de infraestrutura da Microsoft, mais especificamente em seus datacenters e produtos de larga utilização como Hotmail (serviço de e-mail público), Bing (serviço de buscas) e Windows Azure (plataforma SaaS;PaaS;IaaS online). Tradicionalmente as redes em empresas foram definidas por sua topologia física, ou seja, como os servidores, switches e roteadores estão conectados por cabos. Após a implantação do SDN foi possível criar redes virtuais que rodam sobre as redes físicas já existentes, assim sendo possível por exemplo em uma public cloud, que um determinado cliente envie sua VM para o Windows Azure, ou até mesmo seu mesmo ambiente Cloud em um data center, sem ter que se preocupar com o IP devido à camada de abstração da virtualização, assim garantindo uma mobilidade de uma VM por toda sua estrutura de TI. Com a abstração é possível criar políticas de garantias de banda para um determinado serviço, como por exemplo acesso de uma VM a uma rede SAN (Storage Area Network), assim tendo sempre uma boa qualidade na interconexão e deixando o tráfego externo como secundário. Ainda conta com as vantagens destas políticas poderem ser migradas junto da VM de um host a outro sem intervenção. Com a integração do Windows Server 2012 e 2012 R2 com o SCVMM ([7])é possível entregar uma solução fim-a-fim para todos os tipos de cloud, sendo isto possível pois o SDN da Microsoft é implantando a partir do seu Hypervisor e gerênciado pelo SCVMM. A virtualização de redes do Hyper-V consegue entregar para cliente uma rede virtual completa incluindo diversas sub-redes virtuais e seus roteamentos. Em cada Host Hyper-V a política de SDN é dinamicamente atualizada para associar a rede de um cliente a um determinado tipo de tráfego de rede, assim como limitar sua conexão por ACL’s caso necessário. O SCVMM desempenha um papel fundamental nas configurações das políticas de SDN do Hyper-V, sendo que é possível definir e criar as redes virtuais de forma centralizada. Assim ao criar uma nova rede pelo SCVMM, o mesmo se encarrega de se conectar a cada host Hyper-V e criar as cópias das configurações, garantindo assim a alta disponibilidade e escalabilidade que a topologia SDN propõe, além da não necessidade de mudanças na rede física como switches, sendo o SCVMM o Control Plane. Ao utilizar o centralizador de rede para criar uma política, seja de controle de acesso, publicação, balanceamento de carga e até mesmo de largura de banda, esta se move junto com a VM para o outro host de forma transparente e online. O Hyper-V ainda possui a habilidade de utilizar switches extensíveis de outros fabricantes para que seja possível configurar ainda mais parâmetros conforme desejo do administrador, o destaque fica com o vswitch da NEC o qual possui uma camada de comunicação com o protocolo OpenFlow ([12]). 31 Para garantir uma solução fim-a-fim de gerenciamento o SCVMM ainda possui API’s e extensões para se interconectar a outros dispositivos de hardware de diversos fabricantes para seu gerenciamento, como por exemplo um storage da DELL ou um balanceador de carga Layer4-7 da F5 Networks. Esta habilidade é possível devido a Microsoft ter investido em desenvolvimento para utilizar protocolos abertos, neste caso o padrão GRE (Generic Routing Encapsulation) proposto pelo IETF (Internet Engineering Task Force). A robustez da solução da Microsoft é demonstrada em sua linha de produtos da nuvem como o Windows Azure o qual possui mais de 4000 hosts físicos interconectando seus data centers pelo mundo. 32 3 DESENVOLVIMENTO DE CASO BENNERCLOUD SERVICES 3.1 DESCRIÇÃO DE MODELO DE NEGÓCIO E TECNOLOGIA Em 15 anos de existência, a Benner é um provedor de soluções de gestão de negócios em ERP, RH, Compliance e Saúde para organizações que buscam inovação, parceiras comprometidas com o seu resultado, garantias de continuidade de longo prazo e atendimento personalizado focado no seu negócio. Com 100% de capital nacional está posicionada entre as três maiores empresas do segmento. Sua experiência está comprovada em mais de 3.500 sistemas implantados em 750 organizações de todo o território nacional. Em 2004, em parceria com a empresa Corpflex iniciou hospedagem a baixo nível de soluções de ERP e RH. No ano de 2005 criou uma operação de outsourcing para o segmento Jurídico, sendo responsável pela hospedagem de toda infraestrutura, operação e monitoramento em servidores virtuais. Observando o movimento de mercado frente às novas soluções, em 2009 a Benner expandiu sua operação criando uma divisão de Software no modelo de SaaS (Software como Serviço). Em 2013 se lançou no mercado com solução completa ao cliente com Software, Hardware e Serviços chamando então o produto de BennerCloud Services. Para suportar toda a operação foram necessários investimentos em consultoria, capacitação, regras de governança além de parcerias com os principais fornecedores do mercado. A Benner tinha como desafio definir 4 grandes verticais para composição do produto final: Hospedagem/Datacenter, Hardware, Software e Processos. Foi necessário criar os grupos de pesquisa e qualificação. O primeiro desafio foi encontrar um parceiro que possuísse todos os requisitos para a hospedagem física da solução. O processo de seleção do Datacenter levou aproximadamente 6 meses onde vários itens foram analisados além de visitas para validações das regras e certificações. A escolha se deu pelo Terremark Verizon, datacenter com presença internacional, além de ser uma subdivisão de umas das maiores operadoras de Telecomunicações da América, a Verizon. As certificações de TIER, modelo utilizado para definir o nível de um datacenter, deveriam atender ao mínimo de nível 3, e ter presença em diversos PTT’s (Ponto de Troca de Tráfego) de operadoras, assim garantindo rápido acesso a troca de dados entre redes de operadoras distintas. Além de diversas normas de segurança física, como câmeras, acesso monitorado por CFTV dentre outros. Outro ponto importante que foi avaliado, foi a questão de 33 disponibilidade de expansão em termos de energia elétrica e banda de internet, sendo estes últimos entregues nos Racks com redundâncias de caminho físico e lógico no caso da rede. Ainda em relação a conexão com internet o Terremark oferece uma saída para rede orientada a operadora, ou seja, caso um cliente que está na rede da GVT acesse o datacenter, o mesmo terá uma rota de saída pelo peering da GVT, assim evitando saltos desnecessários em outros roteadores. O segundo parceiro seria a escolha pelo conjunto de Hardware desejável para suportar o crescimento, fácil escalabilidade e que proporcionasse o ROI (Retorno Sobre Investimento) desejado. Neste caso o fabricante escolhido foi a DELL Computadores, por prover a solução de lâminas de processamento e memória, storage com alta robustez, Racks nos padrões para diversos equipamentos e conectividade em switches e Appliance. Além de possuir um suporte com SLA (Service Level Agrement) de poucas horas para aplicações críticas. Uma vez definido o local físico e solução de hardware, foi desenhado o processo de virtualização e comercialização dos produtos da empresa. O processo levou em consideração o menor TCO (Custo de Propriedade) buscando melhor aderência a alternativa de mercado. Já com toda solução selecionada o maior desafio ficou por conta dos processos e regras de governança. Aplicando-se metodologias internacionais como o ITIL (Information Technology Infrastructure Library), que consiste em um conjunto de boas práticas para serem aplicadas em infraestrutura, assim promovendo foco no cliente e na qualidade dos serviços de TI (Tecnologia da Informação). 3.2 APLICAÇÃO DO SDN NO BENNERCLOUD SERVICE Para a criação do projeto, foi necessário estabelecer certas diretivas: as topologias de rede, forma de acesso para clientes, plataforma de virtualização, dentre outras. Para a segmentação e organização de rede, foi selecionado a classe C de rede, sendo utilizado o prefixo 192.168.x.y onde “x” seria o número do cliente para fácil identificação e “y” o IP da máquina. Assim o Cliente 020 tem a sua rede definida pela range de IP 192.168.20.0/24 tendo como seu primeiro IP o 192.168.20.1 e estando situado na VLAN 0020. A solução de Software escolhida para a virtualização das VM’s e de rede foi o Microsoft Windows Server 2012, devido a equipe técnica selecionada para desenhar o projeto possuir 2 especialistas com a certificação MCSA (Microsoft Certified Solution Associate) Windows Server 2012, sendo esta conferida após ser 34 aprovado em 3 provas sobre o produto aplicadas pela Microsoft ou um de seus parceiros. Para a gerência dos hosts, redes virtuais e das VM’s foi escolhido o Microsoft System Center Virtual Machine 2012, devido a sua eficiência em integração com os outros serviços da Microsoft. A forma de acesso para clientes se voltou para um modelo com características diferenciadas de mercado em soluções de cloud, devido a necessidade de isolamento de ambiente de clientes, porém o compartilhamento de alguns recursos de rede como o Active Directory, DNS, Backup e Banco de dados. Por ser uma solução customizada por cliente existem diversas topologias aplicadas, em relação a quantidade de máquinas virtuais e suas configurações de memória e processamento. Seguindo a topologia da Benner Sistemas, para um sistema é necessário possuir três camadas: Banco de dados, Camada Aplicação, Camada Cliente, sendo esta última por acesso via página web, acesso desktop por aplicação instalada ou ambos. A solução de Hardware utilizada para montar o projeto está descrita na tabela 1. Tabela 1 – Hardware BennerCloud Fabricante/Equipamento/Quantidade Função/Características Configuração Dell/Chassis M100e/2 Agregador de Laminas - Dell/PowerEdge M620/11 Lamina de processamento e 256 GB RAM | 20 Dell/ Force10 S4810p /2 memória Logical CPU Switch de ligação Chassis 48 10GBe + 4 QSFP+ 40Gb Dell/SonicWall/2 Applice,Firewall,Router A10/ThunderAx/2 Balanceador de - Carga - Layer 4 – 7 Dell/Storage PS6110XS/2 Agregador de Disco 7TB SDD/SAS 10k 35 Figura 9 - Chassi Dell M100e com quatro Lâminas de processamento e um Storage. Para garantir que um ambiente possua alta disponibilidade é necessário possuir sempre no mínimo paridade de equipamentos e interconexões, para caso haver uma falha física ou lógica no equipamento a operação não seja afetada. A figura 10 demonstra como isto é projetado através das redundâncias de cabos e equipamentos. 36 Figura 10 – Estrutura de Ligação dos Chassis e Switches Para a solução de virtualização com o WS2012 foi utilizada a função Cluster HyperV, já embutida no sistema. O Cluster Hyper-V consiste em juntar diversos Hosts (Laminas) com a função de Virtualização Hyper-V instalado para balanceamento de carga e garantia de alta disponibilidade. Para utilizar esta tecnologia todos os Hosts devem ter acesso a um disco compartilhado denominado CSV (Cluster Shared Volume) onde o arquivo de configuração dos dados da VM e seu arquivo de disco em formato .VHD ou .VHDX estão salvos fisicamente. Este acesso se dá por meio de uma rede ISCI (Internet Small Computer System Interface), o qual consiste em enviar comandos para o storage manipular os arquivos, sendo estes encapsulados em protocolo IP. Assim foi criado uma segmentação lógica nas placas de redes dos Hosts para que seja possível ter garantias de acesso à rede ISCI com alta performance. Dentre a disposição lógica foram criados 2 Cluter’s, sendo um para os clientes determinados Cluster Clientes no SCVMM e com o nome DNS DTC-CLUSTERHV, e outro para as máquinas de gerência de estrutura denominado Cluster Gerência no SCVMM e nome DNS DTC-CLUSTER. Esta estrutura lógica sempre respeita a regra de alta disponibilidade sendo que todos os Hosts possuem sempre nível de carga inferior D-1, ou seja o Cluster suporta que uma lamina esteja off-line e consiga absorver as outras VM’s sem perda de performance. A figura 11 demonstra a configuração de quais Hosts pertencem a cada Cluster. Adicionalmente ao projeto de estrutura lógica de base, duas lâminas foram designadas para criação do Oracle RAC (Real Applocation Cluster), o qual possui instalação do Sistema Operacional Linux RED HAT, e Banco de dados Oracle. Na tabela 2 é possível verificar as capacidades de cada Cluster. 37 Tabela 2 – Tipos de Cluster Tipo de Cluster Quantidade de Hosts Processamento/Memória Hyper-V 7 140 Logical CPU / 1.792 GB Hyper-V 2 40 Logical CPU / 512 GB Oracle RAC 2 40 Logical CPU / 512 GB Figura 11 – Cluster Hyper-V 38 Figura 12 – Distribuição de carga das VM’s O grande desafio do projeto se deu nas definições de isolamento de rede e virtualização da mesma. Como já definido anteriormente cada cliente possui seu intervalo próprio, porem a mesma deve estar disponível em todos os hosts para que a comunicação entre elas seja possível. A figura 12 demonstra várias VM’s do cliente 020 espalhadas em diversos hosts isto é devido a suas configurações de memória e processamento, além da alocação de recursos por outros clientes no mesmo host. Na figura 13 é demonstrado que a comunicação entre as VM’s DC020SQL02, que se encontra no Host DTC-HV006 é possível se comunicar com a VM DC020FTP01 que se encontra no Host DTC-HV010. Figura 13 – Comunicação entre VM’s do mesmo Cliente 39 Ao implantar somente uma rede no Cluster Hyper-V, situação típica em ambientes de pequeno porte, sua configuração é fácil e rápida, não sendo necessário utilizar o SCVMM para sua gerência, porém no caso do BennerCloud Services, que possui mais de 20 clientes esta tarefa se torna muito dificultosa e susceptível a erros. Aplicando-se o conceito do SDN foi estabelecido um Control Plane, o SCVMM. Toda a configuração de rede, VLAN e controle de banda por serviço, deve ser criada e gerenciada por ele, assim ao aplicar as configurações as mesmas são replicadas para todos os v-switches que regem as regras de roteamento e encaminhamento no Host se tornando o Forward Plane. A figura 14 demonstra que todos os Hosts possuem apenas um v-switch, denominado CLUSTER_SWITCH. Figura 14 – v-switch do Host DTC-HV005 Ao examinar as propriedades do CLUSTER_SWITCH, pelo console do SCVMM é possível identificar que ele possui um perfil denominado PORTA_PADRAO, ao visualizar suas propriedades, é possível identificar todas as redes que ele agrega. 40 Figura 15 – v-switch CLUSTER_SWITCH Networks Outra grande exigência do SDN é que a rede possa ser alterada de forma dinâmica para atender as regras de negócio. A figura 16 demonstra como este processo se torna fácil, rápido e preciso ao se utilizar o SCVMM. Basta selecionar qual a rede que a VM deve pertencer e ele é ajustado automaticamente recebendo um endereço de IP. Este endereço não é entregue via DHCP, para que não ocorra sobreposição de IP’s na mesma rede e sim por um agente do SCVMM que aloca o IP da VM para modo fixo e já define o seu valor, assim garantido que não é necessária interação do administrador de redes nas configurações diretas da VM. A figura 17 demonstra o IP POOL do SCVMM, recurso que controla o IP das VM’s mencionado anteriormente. 41 Figura 16 – VM Network 42 Figura 17 – IP POOL SCVMM Outra automação essencial utilizada no BennerCloud é quanto a necessidade de manutenção em um determinado host. Ao ser acionado o modo manutenção no SCVMM o host migra todas as VM’s para outro host em modo online, utilizando o recurso denominado Live Migration, o qual, para o usuário final consumindo os serviços, não representa indisponibilidade de serviço. 43 4 CONCLUSÃO Este trabalho, em seus capítulos iniciais, serviu para caracterizar o conceito de Cloud Computing e como o aumento por demanda de rede está crescendo no setor público e privado. Fica evidente que o crescimento do SDN no meio de redes é imprescindível devido sua arquitetura já prover diversas vantagens em relação a gerenciamento e dinamismo, além da mudança de paradigma de configurações por CLI, para interface gráfica unificada. Para o segmento de Service Providers onde a regra de negócio se baseia na cobrança por uso da rede ou disponibilidade da mesma o SDN se torna uma vertente indispensável. Ainda em ambiente de grandes corporações que criam suas cloud, sejam elas públicas, hibridas, ou privadas também necessitam de uma automatização mais eficiente das redes. Com o estudo de caso do BennerCloud apresentado na sessão 3.2, o SDN foi implementado a nível de virtualização porem a nível de Switches e Roteamento externo não foi aplicado devido aos altos preços dos equipamentos de alto nível e desconhecimento da equipe técnica para a atuação de solução de problemas. Após participar de todo o projeto do BennerCloud, desde as cotações dos hardawer’s, topologia de sistemas operacionais e segurança o maior desafio foi a concepção da rede. Devido ao conhecimento adquirido no curso de Engenharia de Telecomunicações, dentre as diversas matérias 3 se destacam, sendo elas responsáveis por abordar o assunto sobre redes de computadores base deste trabalho, posso destacar a importância desta formação acadêmica em minha vida e a reflexão direta dos conhecimentos adquiridos terem sido aplicados diretamente no mercado de trabalho. Hoje o serviço BennerCloud já está em produção e conta com aproximadamente 20 clientes, sendo que através do curso de Engenharia de Telecomunicações, sou o responsável pela segurança e disponibilidade das suas redes. 44 REFERÊNCIAS [1] Por que a rede definida por software muda tudo. Disponível em: <http://h17007.www1.hp.com/br/pt/networking/solutions/technology/SDN/#SDN-video> Acesso em: 06 maio 2014. [2] Virtualização de Sistemas Operacionais Disponível em: <http://www.gta.ufrj.br/grad/09_1/versaofinal/virtualizacao/ferramentas%20de%20virtualizacao.html> Acesso em: 10 abril 2014. [3] OpenFlow White Paper, março 2008. Disponível em: <http://archive.OpenFlow.org/documents/OpenFlow-wp-latest.pdf> Acesso em: 12 maio 2014. [4] SDN_Juniper_Withepaper Disponível em: <http://www.juniper.net/us/en/dm/SDN/> Acesso em: 20 maio 2014. [5] DAY ONE: UNDERSTANDING OPENCONTRAIL ARCHITETURE BOOK Disponível em: <http://www.juniper.net/us/en/dm/SDN/> Acesso em: 20 maio 2014. [6] Dell Networking SDN POV. Disponível em: <http://i.dell.com/sites/doccontent/business/large-business/en/Documents/Dell-NetworkingSDN-POV.pdf> Acesso em: 10 abril 2014. [7] Overview System Center 2012 R2 em: < http://download.microsoft.com/download/7/7/2/7721670F-DEF0-40D3-977143146DED5132/System_Center_2012%20R2_Overview_White_Paper.pdf> Acesso em: 06 maio 2014 [8] OpenFlow opennetsummit 2012 Disponível em: <http://www.opennetsummit.org/archives/apr12/hoelzle-tue-OpenFlow.pdf> Acesso em: 10 junho 2014. [9] SDN COURSE ONLINE. Disponível em:< https://www.coursera.org/course/SDN> Acesso em: 1 jun. 2014. [10] Software Defined Networking, Enabled in Windows Server 2012 and System Center 2012 SP1, Virtual Machine Manager Disponível em: <http://blogs.technet.com/b/windowsserver/archive/2012/08/22/software-defined-networkingenabled-in-windows-server-2012-and-system-center-2012-sp1-virtual-machinemanager.aspx> Acesso em: 10 abril 2014. [11] CONTRAIL FOR ENTERPRISES Disponível <http://www.juniper.net/us/en/forms/contrail-wp/> Acesso em: 20 maio 2014. em: [12] Hyper-V Network Virtualization Disponível em: <http://technet.microsoft.com/enus/library/jj134230> Acesso em: 10 junho 2014. [13] CONTRAIL FOR SERVICE PROVIDERS Disponível <http://www.juniper.net/us/en/forms/contrail-sp-wp/> Acesso em: 20 maio 2014. em: 45 [14] OPEN CONTRAIL Disponível em: < http://opencontrail.org/ > Acesso em: 10 junho 2014.