Você está na página 1de 39

TECNOLOGIA EM REDES DE

COMPUTADORES

REDES DE COMPUTADORES
Prof. Norberto Santos
Relembrando
Arquitetura
Funcionalidades SND
• Quem provê os serviços de rede definidos por software oferecem
uma ampla seleção de arquiteturas concorrentes, porém no mais
simples, o método SDN centraliza o controle da rede separando a
lógica de controle dos recursos de computação fora do dispositivo.
Os modelos SDN possuem:

• Controlador SDN;
• APIs southbound;
• APIs northbound.
Funcionalidades SDN
Controladores SDN
• Os "cérebros" da rede, os Controladores SDN oferecem uma visão
centralizada da rede global e permitem que os administradores de
rede ditem aos sistemas subjacentes (como switches e roteadores)
como o plano de encaminhamento deve lidar com o tráfego da
rede.
Funcionalidades SDN
APIs Southbound
• São utilizadas para retransmitir informações para os switches e
roteadores "abaixo". O OpenFlow, considerado o primeiro padrão
do SDN, era a API original do lado sul e permanece como um dos
protocolos mais comuns.
Funcionalidades SND
APIs Northbound
• Utilizamos para se comunicar com os aplicativos e a regra de
negócios "acima". Estes ajudam os administradores de rede a
configurar o tráfego e implantar serviços de forma programática.
Tendências
• A SDN aborda o fato de que a arquitetura estática de redes convencionais é mal
adequada para as necessidades de computação e armazenamento dinâmicos dos
dias de hoje, como os data centers. A chave das tendências de computação que
impulsiona a necessidade de um novo paradigma de rede incluem:

• A mudança dos padrões de tráfego


• O "consumerização de TI"
• O aumento de serviços em nuvem
• Big Data
Open Networking Foundation
• É uma organização orientada e dedicada à promoção e adoção da SDN,
e vem implementando SDN por meio de padrões abertos, tais quais são
necessários para avançar a indústria de redes. O OpenFlow Standard é
o primeiro e único fornecedor de interface de comunicação padrão
definido entre as camadas de controle e de encaminhamento de uma
arquitetura SDN.

https://opennetworking.org/
Controladores SDN
• Aplicação em SDN que gerencia o controle de fluxo para permitir uma
rede inteligente. São baseados em protocolos, como o OpenFlow, que
permitem aos servidores comunicar os comutadores para onde enviar
os pacotes.
• O controlador funciona como uma espécie de sistema operacional para
a rede. Ao retirar o plano de controle do hardware da rede e
executando como software, o controlador facilita o gerenciamento
automatizado da rede, facilitando a integração e administração de
aplicativos.
Controladores SDN
NOX --> foi o primeiro controlador SDN, desenvolvido inicialmente
pela NiciraNetworks, junto com o OpenFlow. Foi doado para a comunidade
SDN open source, virando a base para as próximas soluções de controladores.

• NOX clássico: Versão disponível sob licença pública geral. Suporta as linguagens
C++ e Python.
• NOX: O "Novo NOX" Apenas contém suporte para C++ e possui menos
aplicações que o clássico, mas esta versão é mais rápida e possui melhor código
base.
• POX: Fornece suporte para Python, é conhecido como "irmão" do NOX. Por
permitir desenvolvimentos mais rápido e prototipagem, está sendo mais
utilizado que o NOX.
Controladores SDN
FloodLight --> Como o Beacon, é um controlador com base em Java, sendo
considerado hoje em dia, o mais popular entre os controladores. Podemos dizer que
sua popularidade vem da facilidade que os desenvolvedores tem para desenvolver
aplicações, dado que elas podem ser construídas utilizando a arquitetura REST. Outra
vantagem do FloodLight é a possibilidade de controlar uma rede que contém redes
OpenFlow conectadas com redes comuns, não OpenFlow.

https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller/overview​
Controladores SDN

Beacon --> Controlador com base em Java, Beacon é um dos mais populares
controladores. Foi o primeiro a possibilitar programadores iniciantes a criarem e
trabalharem com ambientes SDN, porém é limitado a topologia de estrela.

https://floodlight.atlassian.net/wiki/spaces/Beacon/overview
Controladores SDN

Open DayLight --> Deriva do design original do Beacon, sendo


também com base em Java, o OpenDaylight é capaz de ser implementado em uma
variedade de ambientes de rede de produção. Pode suportar uma estrutura de
controlador modular e para outros padrões de SDN e protocolos futuros.

https://www.opendaylight.org/
Controladores SDN
Onos --> Foi projetado para operar como um cluster de nós que são
idênticos em termo de sua pilha de software e pode suportar falhas de nós individuais
sem causar interrupções em sua capacidade de controlar a operação da rede.

https://opennetworking.org/onos/
Controladores SDN

Cisco ACI --> A Cisco parece estar protegendo suas apostas no mercado
SDN, tendo suas mãos em uma série de plataformas SDN. Mas suas contribuições SDN
mais conhecidas são a infraestrutura centrada em aplicativos (ACI). ACI é uma
arquitetura SDN de data center implantada na linha Nexus de switches de data center
da Cisco. Um diferencial é que as práticas recomendadas da Cisco recomendam o uso
do OpFlex ao implementar a ACI. OpFlex é o protocolo sul da própria Cisco, que foi
proposto à comunidade de código aberto.

https://www.cisco.com/c/en/us/solutions/data-center-virtualization/application-centric-infrastructure/index.html
Controladores SDN
VMware NSX --> O maior obstáculo para a adoção de SDN é
o fato de que a maioria dos equipamentos de rede em produção hoje não tem a
capacidade de entender as instruções para o sul de protocolos como o OpenFlow. A
plataforma de virtualização de rede NSX da VMware usa o conceito de VXLANs para criar
uma sobreposição de software em componentes de fala não SDN. Ao fazer isso, ele
permite a implantação de inteligência e flexibilidade do tipo SDN sem o alto custo inicial
de extração e substituição de hardware.

https://www.vmware.com/br/products/nsx.html
Controladores SDN
Juniper Contrail --> OpenContrail é uma plataforma de virtualização de
rede de código aberto focada em implantações em nuvem. A Juniper empacotou uma
versão comercial conhecida como Contrail Cloud Platform . Esta solução combina
Contrail para NFV e OpenStack para orquestração. O principal fator de diferenciação
entre o Contrail e outras plataformas SDN, como OpenDaylight, é que o Contrail foca no
uso de sobreposições NFV usando protocolos padrão como BGP e MPLS.

https://www.juniper.net/br/pt/products-services/sdn/
Controladores SDN
VortiQa --> VortiQa é uma plataforma SDN de nível comercial desenvolvida
pela Freescale Semiconductor, que foi recentemente adquirida pela NXP . A plataforma
é compatível com OpenFlow e também inclui recursos de API para o sul na camada OSI
3 e superior.

https://www.nxp.com/design/software/embedded-software/vortiqa-software-for-networking:VORTIQA
Open vSwitch (OVS)
• Como o nome sugere, é um comutador virtual com código aberto que
implementa o protocolo OpenFLow. Simulando comutadores em
ambientes virtuais, ele permite que máquinas virtuais se
comuniquem entre si em um mesmo host ou até mesmo realizar a
comunicação com a rede física.
• O OVS é executado como se fosse uma distribuição Linux, porém
pode ser utilizado em nível de usuário ao custo de perder
desempenho e acesso à alguns recursos. Ele também pode ser
executado na maioria das plataformas virtuais, como por
exemplo VirtualBox, facilitando assim a realização de testes.
Open vSwitch (OVS)
Recursos para segurança
– VLAN
– Isolamento
– Firewall
– Tunelamento
Recursos para Monitoramento
– Netflow
– sFlow
– SPAN
– RSPAN
Recursos para QoS
– Modelagem de tráfego https://www.openvswitch.org/
– Enfileiramento de tráfego
FlowVisor
O FlowVisor não passa de um controlador OpenFlow que tem como principal
característica atuar como um middleware entre os comutadores e os outros
controladores OpenFlow. Todas as mensagens que são trocadas entre comutadores e
o controlador são transmitidas por ele.
A sua principal função é dividir a rede entre os outros controladores OpenFlow
de maneira a garantir o isolamento entre as divisões, ou seja, ele deve garantir que
cada controlador só possa ter visão e controle sobre seu pedaço da rede. Essa divisão
pode ser feita de diversas maneira como por exemplo utilizando os endereços IP ou
portas TCP
RouteFlow
Projeto de código aberto que tem como objetivo fornecer serviços virtualizados
de roteamento IP utilizando o protocolo OpenFlow. Ele facilita a criação, remoção
e aperfeiçoamento de protocolos das redes IP realizando a separação do plano
de controle do plano de encaminhamento. Podemos definir o RouteFlow em três
partes:

• RouteFlow Protocol

• RouteFlow Controller

• RouteFlow Slaves
OpenFlow
É um protocolo de comunicação que dá acesso ao plano de
encaminhamento de um switch de rede ou roteador pela rede de
computadores.
INTERNET
Aplicações SDN
O uso de SDN vem atraindo cada vez mais
investimentos de empresas que buscam diminuir
custos com implantação e manutenção de redes e
aumentar a qualidade da sua infraestrutura e dos
seus serviços. Com esses objetivos definidos,
algumas aplicações vêm surgindo ao longo do
tempo
SDMN - Software-defined Mobile
Network

A Rede Móvel Definida por Software é uma abordagem que aplica nas
redes móveis atuais os conceitos das SDNs com o intuito de melhorar a
qualidade do serviço que hoje é prestado pelas operadoras. A
infraestrutura atual da rede é baseada em hardware especializado,
como antenas e comutadores, muitas vezes fabricados por empresas
especializadas, criando uma certa dependência entre as prestadoras de
serviço e os fornecedores de hardware.
SD-WAN

É a aplicação dos conceitos das SDNs em redes geograficamente


distantes, e utiliza a característica principal desse novo conceito
(a separação da camada de controle da camada de hardware)
para simplificar o gerenciamento dessas redes. Essa tecnologia
tem sido utilizada por companhias para para interligar filiais ou
data-centers através de redes de alto desempenho com baixo
custo.
SD-LAN

Tem como objetivo facilitar e centralizar o gerenciamento das redes


cabeada e sem-fio, principalmente com o aumento das políticas de
BYOD (Bring Your Own Device - Traga Seu Próprio Dispositivo) em
empresas de todos os portes, simplificando, por exemplo, a criação
e o gerenciamento de políticas de segurança para esses dispositivos.
SDN em Data-Centers

O uso de SDN em data-centers também vem sendo muito estudado


devido a alta programabilidade que o controlador centralizado oferece.
Com essa arquitetura, todo o cálculo das rotas dentro do data-center é
feito por software na máquina controladora, e qualquer mudança
necessária é feita rapidamente sem a necessidade de alterações na
camada física da rede. Esse aspecto facilita, por exemplo, a virtualização
de redes.
SDN e QoS

Há ainda o uso das SDNs para garantir Qualidade de Serviço (QoS) em


redes de computadores. Um exemplo dessa aplicação é o QFlow, um
sistema que utiliza o paradigma das Redes Definidas por Software
(SDN) para garantir o isolamento de recursos e qualidade de serviço
para redes virtualizadas. Esse sistema possui arquitetura baseada no
XenFlow, que utiliza máquinas virtuais Xen para implementar o plano
de controle e a API do OpenFlow para o encaminhamento de pacotes
(plano de dados).
Laboratório
• Maquina Virtual Ubuntu
– Container Docker (Virtualizar Controlador)
– Controlador ONOS (via Docker)
– Aplicações Mininet (Rodando Python)
Docker é um conjunto de produtos de plataforma como
serviço que usam virtualização de nível de sistema operacional
para entregar software em pacotes chamados contêineres. Os
contêineres são isolados uns dos outros e agrupam seus
próprios softwares, bibliotecas e arquivos de configuração.
Controladores SDN
Onos --> Foi projetado para operar como um cluster de nós que são
idênticos em termo de sua pilha de software e pode suportar falhas de nós individuais
sem causar interrupções em sua capacidade de controlar a operação da rede.

https://opennetworking.org/onos/
Mininet é um emulador de rede que cria uma rede de hosts virtuais,
switches, controladores e links. Os hosts Mininet executam software de
rede Linux padrão e seus switches oferecem suporte a OpenFlow para
roteamento personalizado altamente flexível e rede definida por software.
O Mininet suporta pesquisa, desenvolvimento, aprendizagem,
prototipagem, teste, depuração e qualquer outra tarefa que possa se
beneficiar de uma rede experimental completa em um laptop ou outro PC.

http://mininet.org/
Funcionalidades
• Fornece um ambiente de teste de rede simples e barato para o desenvolvimento de aplicativos
OpenFlow
• Permite que vários desenvolvedores simultâneos trabalhem independentemente na mesma
topologia
• Suporta testes de regressão no nível do sistema , que são repetíveis e facilmente empacotados
• Permite testes de topologia complexos , sem a necessidade de conectar uma rede física
• Inclui uma CLI com reconhecimento de topologia e OpenFlow, para depuração ou execução de
testes em toda a rede
• Suporta topologias arbitrárias personalizadas e inclui um conjunto básico de topologias
parametrizadas
• pode ser usado imediatamente sem programação, mas
• também fornece uma API Python simples e extensível para criação e experimentação de rede
Python é uma linguagem de programação de alto nível,
interpretada de script, imperativa, orientada a objetos,
funcional, de tipagem dinâmica e forte. Foi lançada por
Guido van Rossum em 1991

Você também pode gostar