
Os Switches
As redes locais de computadores evoluíram (antigamente uma LAN era um cabo coaxial) para um estrutura centralizada em switches. Os computadores, impressoras, servidores, enfim tudo na rede se conecta a um switch e esse switch pode se conectar a outros switches no caso de redes mais complexas.
No entanto esse switches funcionam de maneira bastante rígida, seguindo padrões. Um switch pode ser configurado com VLANs e autenticação além de protocolos como Spanning Tree ou IGMP, porém o administrador apenas define parâmetros, o modo de funcionamento e protocolos são rígidos. Repare que essa rigidez não é necessariamente algo ruim pois, por exemplo, restringe os erros que um operador poderia cometer e garante e interoperabilidade entre fabricantes.
Ocorre que em algumas situações um administrador pode se deparar com problemas ou necessidades que poderiam ser facilmente resolvidas se ele tivesse maior controle sobre o comportamento dos switches, ou seja, se ele pudesse realmente programar o switch e não apenas configurar parâmetros.
A Necessidade é a Mãe de Todas as Invenções
O conceito de Software Defined Networks começou nas Universidades, aonde alunos de pós-graduação e doutorado em redes queriam colocar à prova suas teses e novas propostas de redes. Obviamente muitas dessas propostas acabam se provando inviáveis, mas é assim que a tecnologia avança, através de tentativas, erros e acertos.
Esses pesquisadores tinham grande dificuldade em testar e provar novos conceitos usando os switches e roteadores tradicionais, que tinham pouca flexibilidade para receberem novos protocolos.
Sendo assim surgiu um esforço por parte de alguns desses pesquisadores de criar uma maneira de trabalho que permitisse uma reconfiguração fácil da forma de processar pacotes nos switches.
O OpenFlow
De um desses esforços na Universidade de Standford nos EUA surgiu o OpenFlow. Através dessa tecnologia um switch se torna escravo de um servidor OpenFlow e esse servidor então é quem define a forma de trabalho e consequentemente o protocolo de funcionamento do switch.
De modo simplista, o OpenFlow funciona assim:
- toda vez que o switch recebe da rede um pacote diferente ele envia um pedido de ajuda ao servidor OpenFlow.
- O servidor OpenFlow analisa o pacote e decide o que fazer: descartar, mudar informações, encaminhar para uma ou mais portas, etc.
- O servidor OpenFlow envia a ordem ao switch
- O switch obedece às instruções do servidor OpenFlow e a partir dai todo pacote desse tipo é tratado da mesma forma.
Assim podemos criar servidores de OpenFlow para fazer praticamente qualquer coisa que desejarmos. Obviamente que o conceito do OpenFlow não é o de transformar os administradores de rede em programadores, mas sim o de permitir com que outros desenvolvedores criem servidores de OpenFlow que os administradores possam usar e resolver seus problemas de rede.
Exemplo de Aplicação do SDN
Imagine que você é o administrador de um datacenter onde o conceito de virtualização é usado em grande escala. Graças à virtualização você pode criar e eliminar servidores rapidamente e a qualquer momento. Além disso você pode mover os servidores virtuais de uma máquina real para outra com apenas um clique do mouse.
O problema é fazer a rede acompanhar essas mudanças. A cada novo servidor virtual deve-se criar ou eliminar VLANs, ACLs, políticas de QoS, etc.Para isso seria necessário modificar a configuração dos switches da rede, e quanto mais switches, mais trabalho. Além disso no caso de termos switches de distintos fabricantes teremos comandos e formas de configuração diferentes.
Com o uso de switches que suportem SDN como o OpenFlow o administrador poderia usar um sistema de virtualização que não apenas permita a migração fácil dos servidores virtuais, mas que também fosse integrado com o servidor de OpenFlow, de forma que a criação ou eliminação de um servidor virtual seja automaticamente sincronizada com a mudança adequada na forma de operação dos switches.
Futuro, Performance e Segurança
O conceito de SDN ainda está na sua infância, a tecnologia ainda precisa evoluir e alguns aspectos ainda estão em desenvolvimento, como performance e segurança.
A preocupação com performance vem do fato de que o switch precisa obedecer ordens genéricas, o que dificulta a criação de switches com processamento de protocolo em hardware. No entanto a evolução natural de performance dos processadores e da tecnologia SDN deve resolver esse problema.
Já a questão de segurança vem do receio de que hackers encontrem maneira de interceptar e modificar as mensagens de OpenFlow (ou protocolo equivalente que esteja sendo usado) e usar essa habilidade para re-rotear informações ou fazer by-pass (desviar) de firewalls. Mas essas preocupações já estão também resolvidas através da evolução dessa tecnologia.
De qualquer maneira parece que os switches controlados por software devem se tornar cada vez mais populares e isso vai permitir uma integração incrível entre serviços e rede o que deve facilitar em muito a vida dos administradores de redes e gerentes de TI que precisem de agilidade na implementação de novas funcionalidades na rede.
Por último, se você achou útil este artigo não esqueça de compartilhar usando os botões de Twitter, Facebook ou Google+ abaixo, porque outros podem também se interessar por este artigo.
Para Saber Mais
Site Oficial OpenFlow
Site da OpenNetworking Fundation
Comentários