ONOS - Open Network Operating System

O que é SDN e Openflow

SDN permite a programação de elementos de rede, tais como roteadores, comutadores, etc. Se fundamenta na separação dos planos de Controle e de Dados, tornando a rede programável e flexível. Ela é formada por três camadas principais: camada de aplicação, camada de controle e camada de infraestrutura.

A camada de aplicação utiliza uma API para especificar o comportamento da rede. A camada de controle é responsável por traduzir requisitos da camada de aplicação para a camada de infraestrutura, e oferece uma visão abstrata da rede às aplicações. A camada de infraestrutura é composta pelos elementos da rede, e dispositivos que realizam a transmissão de dados.

Existe um protocolo padronizado que permite a comunicação entre a camada de controle (plano de controle) e a camada de infraestrutura (plano de dados). Portanto, as duas camadas são capazes de interpretar este protocolo. Este protocolo, proposto pela Universidade de Stanford, é o OpenFlow, responsável pela comunicação entre as camadas. Um switch OpenFlow é responsável por encaminhar fluxo de pacotes para determinada porta, encapsular fluxo de pacotes e enviar ao Controlador e descartar fluxo de pacotes (e se nenhuma ação for especificada, o pacote é descartado).

O que é ONOS

O nome ONOS significa Open Network Operating System. É um controlador SDN, composto de código aberto, que permite usabilidade em larga escala, com alto desempenho. Este sistema proporciona abstrações de alto nível, podendo aprender sobre a rede e controlar o fluxo sobre ela. Assim, é possível descrever como se quer utilizar a rede, e não como isso deve ser feito, resolvendo situações que seriam de conflito para o desenvolvimento de uma aplicação. O ONOS atua sobre uma rede definida por SDN (software-defined network), gerenciando seus componentes. Seus casos de uso geralmente envolvem serviços personalizados de roteamento, gerenciamento ou monitoramento de comunicação para redes definidas por software, possibilitando customização do roteamento.

O kernel ONOS e os serviços principais, assim como os aplicativos ONOS, são descritos em Java como pacotes configuráveis, que são carregados em contêiner OSGi. O sistema pode suportar falhas de nós individuais sem causar interrupções em sua capacidade de operação.