Redes Definidas por Software

Vimos diversos avanços na tecnologia e atualmente esse progresso possibilita um mundo mais dinâmico e automatizado de um jeito nunca visto. Desde o hardware até a forma de programar, houve diversas mudanças. Porém quando se fala na comunicação, seja interna ou externa, a parte da rede é a que menos evoluiu em questão das demais.

Notamos alguns avanços como mudança do par metálico por fibra óptica e como foi possível notar a velocidade da transação das informações. Mas a rotina em que são tratados os dados atualmente é a mesma, e hoje podemos ver um grande volume de transação de dados que antigamente não existia, como Streaming , VOIP, etc., e para que esses tipos de informações sejam tratados corretamente temos um problema com relação à profissionais de redes que tem a função de monitoramento dos tráfegos, checar os gargalos na rede, resolver problemas com a latência interna, evitar looping dentro do switch, e várias outras funções. Tal problema se deve ao fato de que cada switch, modem, roteadores, backbones, entre outros dispositivos, são produzidos por empresas que montam desde o hardware, o sistema inteligente embarcado para tratar os pacotes de acordo com os órgãos reguladores (IANA, IEEE, etc.), como cada equipamento vai operar e como podemos mexer ou modificar essa estrutura, o que faz cada pacote que entra ser tratado de formas e configurações diferentes pelos diversos equipamentos da rede, exigindo do profissional mais conhecimento sobre esses tipos de equipamentos e como trabalhar com eles.

Uma comparação é com os computadores para uso pessoal. Antigamente os computadores saiam das fábricas já com o hardware compatível com o sistema operacional, não sendo possível a mudança. Hoje o cenário é outro, você compra um computador, notebook e até servidor na preferência pela marca e também pelo hardware que aquele equipamento vai lhe fornecer, pois, independente da aquisição, você poderá instalar o sistema operacional que melhor lhe atenda e, se caso pretenda mudar no futuro, você poderá sem que tenha que substituir o hardware aproveitando o mesmo equipamento. Na questão de rede isso é impossível, pois os fabricantes do hardware não possibilitam a troca de sistema, o hardware vem com os sistemas proprietários, o que torna a cada aquisição de redes, a cada projeto, a cada mudança de rotas, fluxos de pacotes, etc., um serviço muito mais complexo, do que já é, por essa limitação.

Por esse motivo “engessado” da rede surgiu o conceito de Redes Definidas por Sotware (SDN no inglês Software Defined Network), que tem com o objetivo tornar as redes dinâmicas e programáticas melhorando seu desempenho de acordo com a regra de negócio de cada empresa. A finalidade é transformar o ambiente de rede (infraestrutura) com rápidas mudanças através da orquestração. Da mesma maneira que vem sendo utilizados para computadores e servidores onde podemos virtualizar máquinas, para ambientes locais, ou aumentarmos o hardware quando se aumenta a demanda em questão de minutos ou até segundos, para os ambientes em nuvem, o SDN vem para tornar essa facilidade no dia a dia do ambiente de rede.

Uma alteração em um ambiente de rede hoje levaria horas para ser implementada e com diversos profissionais da área, trabalhando em conjunto para atenderem essa demanda. Cada equipamento que estiver incluso nessa alteração precisaria ser reprogramado, acessando cada um desses por vez. Já com a estrutura de Redes Definidas por Software apenas a implementação do serviço em si, seja uma API feita em uma linguagem suportada por ela, ele replicará para toda a estrutura da rede propagando esse serviço e deixando-o disponível o mais rápido possível sem que seja necessário que os profissionais de rede vá em cada dispositivo e reprograme, dinamizando tempo e processos para uma implementação em larga escala.

Para que isso seja possível a estrutura do SDN conta com uma interface norte (northbound) responsável por gerenciar as APIs, os códigos escritos em diversas linguagens, que ditam as regras de fluxos, tabelas ARP, pacotes ICMPs, etc., com a regra dos caminhos e processos que a rede deverá seguir; e uma interface sul (southbound) responsável por tratar com os equipamentos no nível mais baixo da topologia, os hardwares de roteadores, switchs, etc. Ambas interfaces são responsáveis pela abstração de toda a rede, e conectadas por uma controladora, um sistema operacional voltado para SDN, que realiza a gestão centralizada da rede como um todo, permitindo através dela ditar como deve tratar cada pacote que passa pela infraestrutura. Da mesma forma que o sistema operacional trabalha recebendo requisições, alocando memória, estabelecendo conexão com a internet tudo isso de forma automática, o sistema da controladora tem o mesmo objetivo, porém voltado para a rede. Caso um switch receba um pacote e não saiba como tratar ele fará uma solicitação à controladora pela interface sul, que por sua vez verificará as APIs instaladas na interface norte para tratar a requisição, assim que encontrada ela devolve a solicitação com a regra, instala a mesma no switch e replica para que todos possam saber como tratar aquele pacote.

Podemos fazer uma analogia entre os sistemas operacionais usados como Windows, Linux, Mac, dentre outros, caso necessite de um programa que tenha funções para escritório podemos instalar e se caso esse mesmo programa não for mais útil ou não ter as ferramentas que necessitamos podemos remover, da mesma maneira poderemos fazer isso para as aplicações na controladora, a que nos atende conforme a demanda poderá ser instalada e removida em questões de minutos e toda a rede será replicada com a regra.

Com o SDN podemos tornar mais barato o preço dos equipamentos já que eles só precisam ter o hardware, um shell sem um sistema inteligente e com a configuração de protocolos para redes definidas por software, atualmente a maioria utiliza o protocolo OpenFlow, esse é responsável pela abstração do dispositivo com a interface sul e o controlador, pois toda a inteligência ficará a cargo da controladora. A controladora pode ser instalada em cima de um sistema operacional, normalmente Linux. As mais utilizadas são Onos, OpenDaylight, Pox, etc. Independente da máquina, podendo ser um servidor ou até um notebook, se essa tiver os requisitos mínimos para tais controladoras elas podem ser instaladas e tornar-se operacionais.

As Redes Definidas por Software já é quase uma realidade. Grandes empresas como Google, Microsoft, entre outras, estão na corrida para desenvolver as pesquisas e tornar isso a realidade em seus ambientes. Hoje grandes empresas fabricantes de hardware já estão se manifestando para que seus equipamentos venham com o protocolo OpenFlow, porém ainda vem com o sistema embarcado proprietário, encarecendo os equipamentos e não permitindo a utilização da maneira proposta pelo SDN. Um pouco mais de maturidade no mercado e em alguns anos essa ideia virará uma realidade nos ambientes de praticamente todas as empresas, facilitando a implantação de projetos e até mudanças de rotinas que atualmente são consideradas difíceis em relação ao tempo e ao custo.