Vous êtes sur la page 1sur 11

OpenFlow e redes definidas por software: um

novo paradigma de controle e inovao em


redes de pacotes
Christian Esteve Rothenberg
*
, Marcelo Ribeiro Nascimento, Marcos Rogrio Salvador, Maurcio
Ferreira Magalhes**

H algum tempo observa-se o surgimento da necessidade de maior abertura e flexibilidade dos
equipamentos de rede, especialmente com o propsito de pesquisa e inovao. Os roteadores atuais
implementam uma arquitetura composta por uma camada de software fechada, que executada em um
hardware proprietrio. Esse modelo resulta em solues de alto custo, dificulta a insero de novas
funcionalidades e inviabiliza a experimentao de novas ideias. Com o avano da padronizao do
protocolo OpenFlow para programar o plano de encaminhamento dos equipamentos de redes de
pacotes, o conceito de redes programadas por software traz um novo paradigma de inovao cujo
potencial disruptivo assemelha-se ao da introduo de sistemas operacionais em computadores e, mais
recentemente, em dispositivos mveis. Este artigo introduz os princpios da tecnologia OpenFlow e
apresenta a arquitetura RouteFlow como exemplo de inovao para a funo de roteamento em um
ambiente aberto (open source), executado sobre hardware comercial (commodity).
Palavras-chave: Redes de pacotes. Roteamento. Encaminhamento. Software livre. Virtualizao.
Introduo
A infraestrutura das redes de pacotes
composta, atualmente, por equipamentos
proprietrios, fechados e de alto custo, cujas
arquiteturas bsicas so concebidas a partir da
combinao de circuitos dedicados,
responsveis por garantir alto desempenho
(Application Specific Integrated Circuit ASIC),
ao processamento de pacotes. A infraestrutura
complementada por uma camada de software de
controle, responsvel pelo suporte a uma
extensa pilha formada por um nmero elevado
de protocolos. No entanto, torna-se evidente a
necessidade de especializao da lgica de
controle de acordo com cada tipo e objetivo de
rede. Porm, qualquer mudana de configurao
avanada do equipamento ou especializao da
lgica de controle e tratamento dos pacotes ou,
ainda, insero de novas funcionalidades esto
sujeitas a ciclos de desenvolvimento e de testes
restritos ao fabricante do equipamento,
resultando em um processo demorado e custoso
(HAMILTON, 2009). No mbito da pesquisa,
essas exigncias so ainda maiores pois
requerem experimentaes de novos protocolos
e funcionalidades da rede em condies reais,
idealmente em ambientes espalhados da rede
em operao (SHERWOOD et al., 2010).
A ausncia de exibilidade no controle do
funcionamento interno dos equipamentos assim
como o alto custo da infraestrutura vigente so
barreiras para a evoluo das arquiteturas e para
a inovao decorrente da oferta de novos
servios e aplicaes de rede (ANWER et al.,
2010).
Este artigo faz um levantamento do estado da
arte da tecnologia OpenFlow como quebra de
paradigma de controle em software (remoto) dos
equipamentos de rede, habilitando o conceito de
redes definidas por software. Como exemplo de
utilizao, apresenta-se um trabalho em
desenvolvimento, voltado para uma arquitetura
de roteamento denominada RouteFlow
(NASCIMENTO et al., 2011), cujo controle
realizado remotamente via software. Essa
arquitetura implementvel em produtos
comerciais e utiliza ambientes de software de
domnio pblico para implementao das funes
de controle.
1 Redes definidas por software
Apesar da evoluo formidvel da Internet, em
termos de penetrao e de aplicaes, sua
tecnologia, representada pela arquitetura em
camadas e pelos protocolos do modelo TCP/IP,
no evoluiu suficientemente nos ltimos vinte
anos. A Internet tornou-se comercial e os
equipamentos de rede tornaram-se caixas
pretas, ou seja, implementaes integradas
verticalmente baseadas em software fechado
sobre hardware proprietrio. O resultado desse
modelo o j reconhecido engessamento da
Internet (CHOWDHURY; BOUTABA, 2009).
Em contraste com o desenho da arquitetura da
Internet, caracterizada por um plano de controle
(PC) distribudo, os avanos na padronizao de
APIs (Application Programming Interface)
independentes do fabricante do equipamento
*Autor a quem a correspondncia deve ser dirigida: esteve@cpqd.com.br.
** Faculdade de Engenharia Eltrica e de Computao Unicamp.
Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
(OPENFLOW, 2010; IETF, 2011) permitem
mover grande parte da lgica de tomada de
deciso dos dispositivos de rede para
controladores externos, que podem ser
implementados com o uso da tecnologia de
servidores comerciais (PCs), um recurso
abundante, escalvel e barato. Essa lobotomia
da inteligncia do equipamento da rede para
controladores logicamente centralizados
possibilita a definio do comportamento da rede
em software no apenas pelos fabricantes do
equipamento, mas tambm por fornecedores ou
pelos prprios usurios, como, por exemplo,
operadores de rede.
1.1 Arquiteturas de roteamento
Uma anlise da arquitetura atual dos roteadores
(Figura 1) permite observar que se trata de um
modelo formado basicamente por duas camadas
bem distintas: o software de controle e o
hardware dedicado ao encaminhamento de
pacotes (JUNIPER NETWORKS, 2010). O
primeiro, encarregado de tomar as decises de
roteamento, transfere essas decises para o
plano de encaminhamento atravs de uma API
proprietria. A nica interao da gerncia com o
dispositivo ocorre atravs de interfaces de
configurao (Web, SNMP, CLI, por exemplo),
limitando o uso dos dispositivos s
funcionalidades programadas pelo fabricante.
coerente pensar que se a arquitetura ,
atualmente, composta por duas camadas
autocontidas, elas no precisam estar fechadas
em um mesmo equipamento. Para isso, basta
que exista uma forma padro de se programar o
dispositivo de rede remotamente, permitindo que
a camada de controle possa ser movida para um
servidor dedicado e com alta capacidade de
processamento. Desse modo, mantm-se o alto
desempenho no encaminhamento de pacotes em
hardware aliado flexibilidade de se inserir,
remover e especializar aplicaes em software
por meio de um protocolo aberto para
programao da lgica do equipamento
(Figura 1). Com esse propsito, nasceu o
consrcio OpenFlow (MCKEOWN et al., 2008),
dando origem ao conceito de software-defined
networking as redes definidas por software
(GREENE, 2009).
Figura 1 Arquiteturas de roteadores: modelo atual
mainframe e modelo programvel OpenFlow
1.2 OpenFlow
O OpenFlow foi proposto pela Universidade de
Stanford para atender demanda de validao
de novas propostas de arquiteturas e protocolos
de rede (incluindo as abordagens clean slate)
sobre equipamentos comerciais. OpenFlow
define um protocolo-padro para determinar as
aes de encaminhamento de pacotes em
dispositivos de rede, como, por exemplo,
comutadores, roteadores e pontos de acesso
sem fio. As regras e aes instaladas no
hardware de rede so responsabilidade de um
elemento externo, denominado controlador, que
pode ser implementado em um servidor comum,
conforme Figura 2.
Figura 2 Exemplo de uma rede com OpenFlow
habilitado
A principal abstrao utilizada na especificao
OpenFlow o conceito de fluxo. Um fluxo
constitudo pela combinao de campos do
cabealho do pacote a ser processado pelo
dispositivo, conforme Figura 3. As tuplas podem
ser formadas por campos das camadas de
enlace, de rede ou de transporte, segundo o
modelo TCP/IP. Deve-se enfatizar que a
abstrao da tabela de fluxos ainda est sujeita a
refinamentos, com o objetivo de oferecer uma
melhor exposio dos recursos do hardware e,
nesse caso, permitir a concatenao de vrias
tabelas j disponveis, como, por exemplo,
tabelas IP/Ethernet/MPLS. Nesse sentido, a
contribuio mais importante do paradigma do
OpenFlow a generalizao do plano de dados
qualquer modelo de encaminhamento de dados
baseado na tomada de deciso fundamentada
em algum valor, ou combinao de valores, dos
campos de cabealho dos pacotes pode ser
suportado.
De forma pragmtica, a especificao OpenFlow
(OPENFLOW, 2010) procura reutilizar as
funcionalidades do hardware existente (por
66 Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011
Figura 3 Cabealhos disponveis no OpenFlow
para a especificao de fluxos
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
exemplo, Access Control List ACL em switches
e roteadores para implementar servios como
NAT, rewall e VLANs) atravs da definio de
um conjunto simples de regras e das aes
associadas: encaminhar, descartar, enviar para o
controlador, reescrever campos do cabealho,
etc.
1.2.1 Componentes
Basicamente, uma rede programvel com
OpenFlow consiste em equipamentos de rede
habilitados para que o estado das tabelas de
fluxos possa ser instalado atravs de um canal
seguro, conforme as decises de um controlador
em software:
1.2.1.1 Tabela de fluxos
Cada entrada na tabela de uxos do hardware de
rede consiste em regra, aes e contadores.
A regra formada com base na definio do
valor de um ou mais campos do cabealho do
pacote. Associa-se a ela um conjunto de aes
que denem o modo como os pacotes devem ser
processados e para onde devem ser
encaminhados. Os contadores so utilizados
para manter estatsticas de utilizao e para
remover uxos inativos. As entradas da tabela de
uxos podem ser interpretadas como decises
em cache (hardware) do plano de controle
(software), sendo, portanto, a mnima unidade de
informao no plano de dados da rede.
1.2.1.2 Canal seguro
Para que a rede no sofra ataques de elementos
mal-intencionados, o canal seguro garante
conabilidade na troca de informaes entre o
switch e o controlador. A interface de acesso
recomendada o protocolo SSL (Secure Socket
Layer). Interfaces alternativas (passivas ou
ativas) incluem TCP e pcap (packet capture), e
so especialmente teis em ambientes virtuais e
experimentais pela simplicidade de utilizao,
pois no necessitam de chaves criptogrcas.
1.2.1.3 Protocolo OpenFlow
Protocolo aberto para comunicao que usa uma
interface externa, definida pelo OpenFlow para a
troca de mensagens entre os equipamentos de
rede e os controladores. Essas mensagens
podem ser simtricas (hello, echo vendor),
assncronas (packet in, flow removed, port
status, error) ou, ainda, iniciadas pelo controlador
(features, configuration, modify state, send
packet, barrier).
1.2.1.4 Controlador
o software responsvel por tomar decises e
adicionar e remover as entradas na tabela de
fluxos, de acordo com o objetivo desejado.
O controlador exerce a funo de uma camada
de abstrao da infraestrutura fsica, facilitando a
criao de aplicaes e servios que gerenciem
as entradas de fluxos na rede. Esse modelo
assemelha-se a outros sistemas de software que
proveem abstrao do hardware e funcionalidade
reutilizvel. Dessa forma, o controlador
OpenFlow atua como um sistema operacional
(SO) para gerenciamento e controle das redes, e
oferece uma plataforma com base na reutilizao
de componentes e na definio de nveis de
abstrao (comandos da API). Contudo, novas
aplicaes de rede podem ser desenvolvidas
rapidamente (GUDE et al., 2008).
A programabilidade do controlador permite a
evoluo em paralelo das tecnologias nos planos
de dados e as inovaes na lgica das
aplicaes de controle. A Figura 4 mostra uma
abstrao de uma rede com OpenFlow e o
controlador NOX executando inmeras
aplicaes que necessitam de uma viso do
estado da rede (network view). Essa viso pode
ser armazenada, por exemplo, em um simples
banco de dados executado localmente ou em um
servidor remoto.
Figura 4 Elementos de uma rede OpenFlow
1.2.2 OpenFlow em ao
Quando um pacote chega a um equipamento
com OpenFlow habilitado, os cabealhos do
pacote so comparados s regras das entradas
das tabelas de fluxos, os contadores so
atualizados e as aes correspondentes so
realizadas. Se no houver correspondncia entre
o pacote e alguma entrada da tabela de fluxos, o
pacote encaminhado, por completo, ao
controlador. Alternativamente, apenas o
cabealho encaminhado ao controlador
mantendo o pacote armazenado no buffer do
hardware.
Normalmente, os pacotes que chegam ao
controlador correspondem ao primeiro pacote de
um novo fluxo ou, em funo do tipo de pacote e
da aplicao, o controlador pode optar por
instalar uma regra no switch para que todos os
pacotes de determinado fluxo sejam enviados
para o controlador para serem tratados
individualmente. Esse ltimo caso corresponde,
em geral, a pacotes de controle (ICMP, DNS,
DHCP) ou de protocolos de roteamento (OSPF,
BGP).
Como exemplo de fluxo, tm-se todos os pacotes
Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011 67
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
em uma faixa de endereos IP ( roteamento IP
tradicional), uma conexo TCP em uma porta
especfica ou, ainda, todos os pacotes
pertencentes a uma mesma VLAN. As aes
associadas aos fluxos incluem:
a) encaminhar o fluxo de pacotes para
determinada porta (ou portas);
b) modificar os campos do cabealho;
c) encapsular e transmitir o pacote para o
controlador;
d) descartar os dados, como medida de
segurana, com a implementao de
firewalls, ou ainda para inibir ataques de
negao de servio;
e) encaminhar o pacote para o
processamento normal do equipamento
nas camadas 2 ou 3.
O ltimo item garante que o trfego experimental
no interfira no processamento-padro do trfego
de produo. Conforme ilustrado na Figura 5,
outra forma de garantir isso definir um conjunto
de VLANs para fins experimentais. Essa
segmentao do trfego permite ter
equipamentos hbridos que processem trfego
legado conforme os protocolos e as
funcionalidades embarcadas no equipamento e,
ao mesmo tempo e de forma isolada, obter
trfego baseado na programabilidade do
OpenFlow.
Figura 5 Modelo de operao hbrido com VLANs
isolando trfego legado e OpenFlow
Na verso 1.1 do protocolo OpenFlow (ainda sob
especificao), est sendo considerado o suporte
a mltiplas tabelas de fluxos concatenadas
(Figura 6) mediante um novo conjunto de
instrues (Go-to-Table, Write-Metadata), bem
como novas aes (copy/decrement TTL,
push/pop tag, QoS) e campos de cabealho
(VLAN priority, MPLS label/traffic class, SCTP
port) para uma definio ainda mais completa
dos fluxos e do conjunto de aes associadas.
Figura 6 Diagrama detalhando o tratamento de um
pacote no pipeline de um switch OpenFlow
1.2.3 Fatores crticos de sucesso
Existem quatro razes fundamentais que
contribuem para a aceitao da tecnologia
OpenFlow:
a) o OpenFlow pode ser incorporado em
equipamentos de rede (roteadores,
switches, pontos de acesso Wi-Fi)
comerciais, atualmente, em operao, sem
modificao do hardware e mediante uma
atualizao do firmware, garantindo o
desempenho de tecnologias consolidadas
no encaminhamento de pacotes
IP/Ethernet, como, por exemplo, ASICs,
FPGAs, etc.;
b) o protocolo OpenFlow separa o plano de
controle do plano de dados, permitindo a
utilizao de controladores remotos
baseados em servidores com sistemas
operacionais e linguagens de programao
comuns na indstria de TI. O software do
controlador responsvel por definir o
modo como os fluxos de pacotes so
encaminhados e processados na rede.
Isso permite que o controle sobre o plano
de dados seja "terceirizado" a
pesquisadores, sistemas de gerncia,
desenvolvedores, operadores de rede,
plataformas de servios e, at mesmo, s
prprias aplicaes finais, como, por
exemplo, servidores de contedo ou
servios em nuvem. Dessa forma, o
controle da rede deixa de estar embarcado
nos equipamentos e limitado por
implementaes e padres com mais de
15 anos de existncia;
c) o OpenFlow no dependente da forma
como o software controla a rede, e oferece
um simples servio de encaminhamento
multicamada (L1-L4) orientado a fluxos
definidos por qualquer combinao de
mais de 20 cabealhos-padro. Uma rede
OpenFlow permite a definio de fatias de
rede (slices ou flow-spaces), com garantia
de isolamento entre os diferentes
controladores que operam sobre a rede,
permitindo que o trfego operacional
(conforme os protocolos tradicionais) e o
trfego experimental (conforme definido
pelo usurio/operador da rede) operem em
paralelo;
d) o OpenFlow compatvel com a Internet
atual, cujo trfego pode continuar em
operao em uma ou mais fatias da rede
OpenFlow.
Todos os argumentos citados, anteriormente,
apontam o OpenFlow como uma tecnologia
inovadora que abre uma srie de oportunidades
de desenvolvimento tecnolgico na rea das
redes de pacotes. Com a consolidao das
tecnologias de equipamentos programveis em
software no padro OpenFlow, ou tecnologias
68 Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
similares, o conceito de redes definidas por
software envolve novos paradigmas de gerncia
integrada, inovao em protocolos e servios
baseados em recursos de redes virtualizados,
como, por exemplo, Network as a Service
(CHOWDHURY; BOUTABA, 2009; KELLER;
REXFORD, 2010).
1.3 Mercado e cenrios de aplicao
Os fatores apontados anteriormente e o potencial
disruptivo da tecnologia OpenFlow tm atrado a
ateno da indstria, o que tem se traduzido:
a) no desenvolvimento dos primeiros prottipos
com suporte ao OpenFlow (HP, NEC,
Extreme, Arista, Ciena, Juniper, Cisco);
b) no suporte dos fornecedores de
processadores em silcio (Broadcom,
Marven);
c) na criao de novas empresas (Nicira, Big
Switch Networks); e
d) no interesse de operadoras, como Deutsche
Telekom e Docomo, e provedores de
servios em nuvem, como Google,
Facebook e Amazon).
Entre os vrios cenrios de rede em que a
adoo da tecnologia OpenFlow traz aspectos
promissores, vale destacar:
a) redes corporativas: novos mecanismos de
controle de acesso e segurana, gerncia
integrada de rede cabeada e sem fio,
configurao de VLANs, suporte
mobilidade, etc. (CASADO et al., 2007);
b) backbone: convergncia de redes de
pacotes e circuitos, (Figura 7), como, por
exemplo, agregao e gerncia dinmica e
flexvel do trfego, novos mecanismos de
roteamento e engenharia de trfego e
recuperao de falhas; balanceamento do
trfego Web; mobilidade de mquinas
virtuais; etc. (GUDLA et al., 2010);
c) redes celulares: uso transparente de
diversas redes de acesso
(Wi-Fi/3G/WiMAX), separao do provedor
de infraestrutura do provedor de servios
(por exemplo, virtual network operators),
etc. (YAP et al., 2010);
d) data center: tcnicas de conservao de
energia, engenharia de trfego, roteamento
plano e multicaminho, suporte
virtualizao de hosts e software switches
(KOPONEN et al., 2010);
e) redes domsticas: terceirizao
(outsourcing) da gerncia de rede,
compartilhamento da rede com vrios
provedores de servios e usurios, como,
por exemplo, Open Wi-Fi, e gerncia de
energia com medidores inteligentes, como
smart grid;
f) redes de ensino e pesquisa: infraestrutura
de experimentao de novas arquiteturas de
rede e paradigmas de encaminhamento de
pacotes, compartilhamento de uma
infraestrutura experimental multicamada,
multidomnio e multitecnologia, validao
sobre hardware comercial, etc.
Fonte: GUDLA et al., 2010
Figura 7 Rede hbrida com switches TDM, WDM e
roteadores IP controlados por OpenFlow (NOX),
que implementa as funcionalidades em software
2 Arquitetura RouteFlow
O RouteFlow uma proposta de oferta de
servios de roteamento IP remoto de forma
centralizada, e que visa um desacoplamento
efetivo entre o plano de encaminhamento e o
plano de controle (ROUTEFLOW, 2011). O
objetivo tornar as redes IP mais flexveis pela
facilidade de adio, remoo e especializao
de protocolos e algoritmos. O RouteFlow
armazena a lgica de controle dos switches
OpenFlow na infraestrutura de rede, atravs de
uma rede virtual composta por mquinas virtuais
(MV), cada uma executando um cdigo (engine)
de roteamento de domnio pblico (open source).
Essas MVs podem ser interconectadas de
maneira a formar uma topologia lgica,
espelhando a topologia de uma rede fsica
correspondente ou uma topologia virtual
simplificada. O ambiente virtual armazenado
em um servidor externo, ou um conjunto deles,
que se comunicam com os equipamentos do
plano de dados atravs de um controlador
OpenFlow, que transporta para o plano de
encaminhamento as decises tomadas pelos
protocolos de roteamento no plano de controle
(OSPF, BGP, RIP). A Figura 8 ilustra uma
sub-rede com switches programveis, em que a
lgica de roteamento implementada no servidor
RouteFlow.
O resultado consiste numa soluo flexvel de
alto desempenho e comercialmente competitiva,
a partir da combinao de recursos disponveis,
como, por exemplo:
a) switches programveis de baixo custo e
software embarcado reduzido (OpenFlow);
b) pilhas de protocolos de roteamento open
source (QUAGGA, 2009; XORP, 2011); e
Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011 69
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
c) servidor de prateleira de alto poder de
processamento e, tambm, de baixo custo.
Cabe ressaltar que, apesar de o controle estar
fisicamente centralizado, ele continua distribudo
logicamente. Dessa forma, no necessria
qualquer alterao dos protocolos de roteamento
existentes. Alm disso, a soluo pode tornar-se
mais escalvel no futuro, com o uso de vrios
servidores de alto desempenho.
2.1 Blocos funcionais
Uma viso global dos principais componentes do
RouteFlow pode ser observada na Figura 9. A
seguir, apresenta-se a descrio de cada um dos
componentes da arquitetura proposta.
Figura 9 Componentes da soluo RouteFlow
2.1.1 RouteFlow-Slave (RF-S)
Cada MV do plano de controle executa um
processo (daemon) responsvel pelas seguintes
funes:
a) registrar a MV no controlador como recurso
da topologia virtual, sendo que a MV se
torna um recurso disponvel para ser
utilizado na representao de um roteador;
b) gerenciar as interfaces de rede do sistema
(portas do roteador);
c) detectar as atualizaes das tabelas
Address Resolution Protocol (ARP) e de
roteamento do sistema; e
d) converter rotas em fluxos a serem
instalados no plano de dados por meio da
API do OpenFlow.
Pacotes de protocolos e outros, cujos destinos
sejam o prprio roteador so encaminhados e
recebidos pela MV para processamento (ARP,
ICMP, Telnet, SSH, OSPF, RIP, etc.). Pacotes
ARP e ICMP, por exemplo, so tratados pela
pilha TCP/IP do Linux, enquanto pacotes de
protocolos so utilizados pela engine de
roteamento para clculo de rotas. O
processamento no caminho inverso ocorre do
mesmo modo. Concomitantemente ao
processamento de pacotes da MV, um
mecanismo de polling executa a tarefa de
verificar as tabelas ARP e ROUTE do sistema
em busca de atualizaes que devem ser
reproduzidas no plano de dados. Quando
atualizaes so detectadas, as modificaes
correspondentes so convertidas na instalao
ou remoo de fluxos da tabela do elemento de
encaminhamento atribudo MV.
2.1.2 RouteFlow-Controller (RF-C)
o componente central da arquitetura proposta.
Como o prprio nome sugere, trata-se de uma
funo de controle que conecta todos os
elementos do plano de dados e as MVs do plano
de controle. As principais funes do RF-C so:
a) registrar-se no controlador de rede para
eventos de recebimento de pacotes,
conexo e desconexo de switches;
b) registrar os recursos (MVs) disponveis na
topologia virtual;
c) fazer a configurao do software switch
para montar a topologia lgica da rede;
d) gerenciar o mapeamento entre switches
OpenFlow e MVs;
e) instalar/remover fluxos OpenFlow dos
switches do plano de dados.
A vinculao das mquinas virtuais aos switches
do plano de dados pode ser feita estaticamente
atravs de um arquivo de configurao, que
permite configurar uma topologia virtual
independentemente da topologia fsica.
Alternativamente, a configurao pode ser
dinmica, com base em um mecanismo de
descoberta de topologia governado pelo
controlador de rede. Nesse ltimo caso, a rede
virtual ser uma rplica da topologia fsica. Outra
possibilidade consiste em agregar um conjunto
de ns fsicos, como, por exemplo, switch
stacking/trunking, em uma nica MV no plano
virtual, ou ter vrias engines de roteamento
atuando sobre um mesmo elemento fsico o
que remete ao conceito de roteadores virtuais,
em que mltiplos planos de controle com
objetivos diferentes compartilham o mesmo
substrato hardware de rede (CHOWDHURY;
BOUTABA, 2009).
70 Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011
Figura 8 Viso geral do RouteFlow
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
2.1.3 RouteFlow-Protocol (RF-P)
Protocolo desenvolvido na arquitetura proposta
para a comunicao entre os componentes do
RouteFlow. Nele, esto definidas as mensagens
e os comandos bsicos para conexo e
configurao das MVs e, tambm,
gerenciamento das entradas de roteamento em
hardware. Entre os campos da mensagem-
padro esto: identificao do controlador,
identificao da MV, tipo da mensagem,
comprimento e dados.
3 Avaliao do prottipo RouteFlow
O RF-Controller foi implementado em C++ como
uma aplicao do controlador open source NOX
(2011). Como engine de roteamento, foi utilizado
o Quagga (2009), uma conhecida soluo de
roteamento open source com suporte aos
principais protocolos de roteamento (RIP, OSPF,
BGP). Como plataforma para programao
remota dos equipamentos de rede, utilizou-se a
verso 1.0 da tecnologia OpenFlow, cuja
vantagem sua abordagem multifornecedor.
Isso significa que ele no depende do fabricante
e do modelo do equipamento que compe a
rede. Desde que haja suporte ao protocolo
OpenFlow, no so necessrias mudanas no
controlador nem nas aplicaes de rede que
executam sobre ele. A infraestrutura do plano de
dados do prottipo formada por NetFPGAs,
que so hardware programveis com quatro
interfaces de rede Gigabit e com mdulo
OpenFlow. A escolha da plataforma NetFPGA se
deu pela flexibilidade de programao do plano
de encaminhamento e pela taxa de
processamento de pacotes em Gigabits.
Tambm foi usado o switch L2/L3 CPqD
Enterprise, baseado em um ASIC da Broadcom
com 24 portas de 1 Gbit/s e 2 de 10 Gbit/s.
Devido ao nmero de equipamentos disponveis
com suporte ao OpenFlow, por se tratar de um
ambiente real e no simulado, as redes testadas
apresentam um nmero limitado de ns.
Entretanto, a quantidade de ns suficiente para
uma avaliao de viabilidade da proposta,
atravs da anlise detalhada das trocas de
mensagens e dos tempos relacionados
convergncia da rede em caso de falha, como,
por exemplo, o tempo de processamento das
mensagens RouteFlow e OpenFlow. Essas
mensagens no existem em uma arquitetura
clssica de roteador com pilha de protocolos
embarcada.
3.1 Tempo de convergncia com trfego line
rate
Para os testes de convergncia, foi utilizado um
gerador e um analisador de trfego configurados
para transmisso de pacotes IP de 1500 bytes
em ambos os sentidos (full duplex), a uma taxa
de 1 Gbit/s. Dessa forma, garante-se que essa
soluo de roteamento remota sobre uma rede
programvel capaz de operar com trfego na
taxa de transmisso da interface (line rate), uma
vez que os pacotes so processados em
hardware (ARGYRAKI et al., 2008).
A Figura 10 apresenta um grfico que mostra o
tempo total de convergncia da rede aps falha
de um enlace, utilizando o protocolo OSPFv3
configurado com o parmetro hello time em
1 segundo. Esse o principal parmetro do
protocolo diretamente relacionado ao tempo de
deteco de falhas. O hello time foi configurado
para 1, 5 e 10 segundos, correspondendo aos
valores tpicos da indstria, que apresentam
default de 10 segundos em enlaces Ethernet. O
dead interval utilizado foi o recomendado
correspondendo a quatro vezes o hello time.
Figura 10 Tempo total de convergncia (OSPF
hello interval = 1 s)
Figura 11 Fragmentao do tempo de
convergncia (OSPF hello interval = 1 s)
Com o intuito de estudar os componentes que
contribuem com o tempo total de convergncia,
foram realizadas anlises das mensagens
enviadas e recebidas pelo hardware OpenFlow
para o controlador NOX. Nos resultados, est
incluso o tempo gasto pelas mensagens para
transitar entre o dispositivo de encaminhamento,
o controlador e a MV. T1 pode ser obtido a partir
do intervalo entre o instante em que ocorre a
interrupo do trfego e a primeira mensagem de
LS-Update gerada pelo RouteFlow ao detectar a
falha. Em seguida, leva-se T2 + T3 para que o
RF-Slave inicie o envio da primeira mensagem
de alterao de fluxo e, por ltimo, T4 finaliza o
processo com o restabelecimento do trfego.
Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011 71
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
Tabela 1 Tempos de convergncia aps falha
Hello
Time
T1 [s] T2 + T3 [s] T4 [s] Ttotal [s]
OSPF Tmed. T90% Tmed. T90% Tmed. T90% Tmed. T90%
1 s 3,25 3,92 0,36 0,40 0,07 0,12 3,70 4,37
5 s 16,7 18,9 0,32 0,39 0,06 0,10 17,1 19,3
10 s 36,4 37,8 0,36 0,49 0,04 0,11 36,8 38,3
Na Figura 11 e na Tabela 1, apresentam-se os
tempos conforme a fragmentao proposta
anteriormente, em que cada um deles possui o
valor de tempo abaixo do qual se encontram
metade dos testes e o valor de tempo abaixo do
qual se encontram 90% dos testes, num total de
20 repeties para cada uma das configuraes.
Conforme os dados apresentados, o tempo total
de convergncia bem prximo de T1 (tempo de
deteco da falha). Portanto, o tempo restante,
gasto com o clculo de rotas, deteco de
modificaes da tabela de roteamento pelo
RF-Slave e instalao do fluxo tem pouco
impacto no tempo de convergncia. Apesar de
T2 e T3 no terem sido analisados
separadamente, sabe-se que o tempo de polling
para verificar atualizaes da tabela de
roteamento e ARP do Linux fixo em 100 ms, ou
seja, da soma T2 + T3, T3 representa at
100 milissegundos, no pior caso. Vale ressaltar
que foi utilizada a estratgia de polling por
simplificao; no entanto, podem ser feitas
otimizaes para reduzir substancialmente T3.
Uma opo seria fazer com que a aplicao se
registrasse no Zebra (mdulo central do Quagga)
para receber notificaes sobre a RIB. Dessa
forma, a informao chegaria ao RF-Slave de
forma muito mais rpida e eficiente.
Dada a baixa representatividade dos tempos T3
e T4 sobre o tempo total, razovel afirmar a
viabilidade da soluo RouteFlow no contexto
proposto.
3.2 Encaminhamento em slow path e fast
path
Outra forma de se avaliar o impacto de uma pilha
de protocolos de roteamento remota comparar
os tempos para os modos de encaminhamento
de pacotes: slow path e fast path. A primeira
forma de encaminhamento ocorre quando o
roteador precisa se comunicar com um n de
uma rede diretamente conectada a ele, mas
antes do aprendizado do endereo MAC do
destino, necessrio para o encaminhamento em
hardware. O slow path normalmente ocorre com
os ns que entraram na rede ou que ficaram sem
comunicao por um longo perodo. Por essa
razo, essa operao nos roteadores, apesar de
necessria, considerada de baixa relevncia.
O fast path refere-se ao encaminhamento em
hardware que ocorre aps o aprendizado dos
endereos dos ns e o preenchimento das
tabelas em hardware. Portanto, em uma
transmisso de dados, o slow path ocorre,
quando necessrio, apenas para o primeiro
pacote, a partir do qual ser realizado o
aprendizado, sendo que o restante dos pacotes
sero processados em line rate.
Atravs desse teste, possvel avaliar a
diferena de desempenho entre um
encaminhamento por software e por hardware,
de um roteador tradicional com protocolos
embarcados, e do RouteFlow, com o plano de
controle remoto. Foram realizados testes de
PING (Internet Control Message Protocol
ICMP) entre dois hosts diretamente conectados a
portas distintas, de um mesmo roteador, e
configuradas em redes diferentes. No incio, os
hosts no tm conhecimento do endereo MAC
dos gateways, e o roteador tambm no
contempla ambos os hosts em suas tabelas.
Aps o aprendizado dos endereos, so obtidos
os valores de fast path. Foram utilizados os
seguintes switches layer 3: CISCO 3560-e
Catalyst, Extreme x450-e, CPqD Enterprise
(prottipo) e RouteFlow. Os resultados dos testes
esto apresentados na Tabela 2.
Foi observado nos testes com o RouteFlow que
alm do primeiro pacote ICMP request, o reply
tambm encaminhado no slow path em
software. O motivo desse comportamento est
relacionado principalmente aos 100 ms de polling
para que as atualizaes nas tabelas do Linux
sejam detectadas. No momento da resposta
ICMP, os fluxos ainda no esto instalados e o
pacote precisa novamente ser direcionado ao
controlador para ser, ento, encaminhado por
software. Portanto, vlido pensar em um tempo
consideravelmente menor para esse teste, com
uma otimizao da forma com que o RF-Slave
passa a ter conhecimento das atualizaes,
como exemplificado anteriormente.
Outro ponto a ser destacado sobre o resultado de
slow path, consideravelmente superior quando
comparado aos dispositivos com software
embarcado, o desempenho do controlador
OpenFlow (NOX) utilizado nos testes, cuja
proposta a de prover uma plataforma simples
de desenvolvimento de aplicaes de rede sem o
compromisso de manter o foco em desempenho.
Nesse sentido, j foram identificadas possveis
otimizaes que devem trazer ganhos
significativos no tempo de processamento das
mensagens no controlador, como, por exemplo,
tornar o controlador multitarefa, de forma a
realizar o processamento paralelo das
mensagens e, tambm, a implementao de
mensagens que agreguem mais informao,
resultando em um menor chaveamento de
contexto da aplicao para processar cada
72 Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
pacote recebido.
Em contrapartida, pode-se observar o melhor
desempenho de fast path do RouteFlow, que a
forma de encaminhamento mais relevante.
Nesse modo, a tabela de fluxos encaminhada
mais rapidamente, se comparado ao modo
longest prefix match, que utilizado nas tabelas
de encaminhamento IP.
Tabela 2 Tempo de resposta ICMP
Equipamento
Slow path [ms] Fast path [ms]
Tmed. T90% Tmed. T90%
CISCO 3560-e C. 5,46 7,75 0,100 0,130
Extreme x450-e 11,30 14,00 0,106 0,141
CPqD Enterprise 14,20 17,30 0,101 0,147
RouteFlow 116,00 138,00 0,082 0,119
3.3 Discusso dos resultados e trabalhos
futuros
Os resultados alcanados na avaliao do
prottipo sugerem o grande potencial do
RouteFlow como soluo de roteamento para
redes de campus/corporativas, mediante o ganho
de flexibilidade e o poder de inovao
proporcionados. As questes pertinentes ao
desempenho no inviabilizam a proposta, uma
vez que j foram identificadas otimizaes e
outras melhorias decorrentes da maturidade do
protocolo OpenFlow.
Como em qualquer abordagem baseada em
controladores centralizados, tornam-se desafios
os aspectos de escalabilidade, resilincia a
falhas e segurana. Vale a pena notar que a
centralizao do modelo OpenFlow somente
lgica. No existe nenhuma restrio a uma
implementao distribuda dos elementos
controladores para atender aos requisitos de
escala, desempenho e confiabilidade da rede.
Esforos atuais no aprimoramento da arquitetura
nesses aspectos incluem a distribuio do plano
de controle virtual em mltiplos servidores, a
adoo de tcnicas avanadas de virtualizao
para o balanceamento e migrao das MVs, e
outras melhores prticas da programao de
sistemas em nuvem (cloud computing) para
tornar a plataforma escalvel e tolerante a falhas
(ex.: BD distribuda do tipo NoSQL, replicao do
estado em controladores backup) (KOPONEN
et al., 2010).
Outros aspectos da proposta, que merecem
consideraes adicionais e so objeto de estudo,
incluem o isolamento entre as MVs
(FERNANDES et al., 2010) e a materializao do
conceito de roteamento como servio (KELLER;
REXFORD, 2010). Dessa forma, pode-se obter
topologias lgicas independentes sobre uma
mesma rede, que executem protocolos distintos,
resultando em uma abordagem de virtualizao
com um melhor aproveitamento dos recursos da
infraestrutura, que, agora, pode ser
compartilhada com diferentes propsitos
(CASADO et al., 2010).
Outra questo pertinente o gargalo observado
nas implementaes disponveis do OpenFlow
quanto ao tamanho da tabela de fluxos (entre 2 e
4 mil) e capacidade de instalao de novas
entradas por segundo (valor em torno de
100 fluxos por segundo). Essas limitaes so
transitrias e sero contornadas com o avano
das especificaes. Por exemplo, a partir da
verso 1.1 do protocolo OpenFlow possivel
expor e controlar as tabelas L2/L3 do hardware.
Outras tcnicas para reduzir o consumo das
entradas em hardware incluem algoritmos que
escolhem aquelas entradas mais utilizadas
(SARRAR et al., 2010). Essas e outras questes
encontram-se atualizadas na agenda de P&D do
projeto (ROUTEFLOW, 2011).
Concluso
O conceito de redes definidas por software
decorrente da disponibilidade de um protocolo
aberto, como o OpenFlow promete um modelo
disruptivo de inovao tecnolgica de potencial
impacto nos cenrios de convergncia ampla
(consolidao de planos de controle de redes
heterogneas) e de computao em nuvem
(integrao da rede com recursos de TI).
Equipamentos de rede programveis podero
servir de base para o incio de um ciclo de
inovao aberta e rpida, envolvendo
pesquisadores, engenheiros e desenvolvedores
de software da academia, dos institutos de
cincia e tecnologia, dos fabricantes de
equipamentos, das operadoras de
telecomunicaes e dos provedores de servios
de Internet. Essas inovaes se daro tanto no
mbito dos controladores como das aplicaes
que so executadas nesses controladores. Por
aplicaes entenda-se algoritmos, protocolos,
servios e aplicaes de controle e gerncia de
redes e servios. Alm disso, o movimento de
inovao aberta, decorrente do modelo
OpenFlow, poder alavancar e induzir um grande
desenvolvimento na rea de redes e tecnologias
da informao e computao de uma forma
considervel, como ocorreu com os
computadores pessoais com o advento dos
sistemas operacionais DOS, do Windows, do
Linux e da consolidao destes por meio de
tcnicas de virtualizao que dominam,
atualmente, o mundo das tecnologias da
informao.
Em resumo, os principais benefcios e impactos
do advento da tecnologia OpenFlow incluem:
1. Capacidade de inovao (possivelmente
aberta) em solues de redes e servios
para os proprietrios de infraestrutura, os
provedores de servios e a comunidade
Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011 73
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
de pesquisa.
2. Oportunidade para que novas empresas
possam competir e inovar na rea de
aplicaes avanadas para gerenciamento
e controle de redes de pacotes.
3. Novos modelos de negcio que
promovem reduo de CAPEX e OPEX
por meio de novos servios atravs da
alocao dinmica de fatias/recursos da
rede, por exemplo e de
reaproveitamento de ativos
virtualizao/consolidao.
4. Reduo do custo de manuteno dos
equipamentos, atravs, por exemplo, da
incorporao de novos protocolos, da
atualizao do hardware do equipamento,
etc.
5. Reduo do tempo de implementao de
novas funcionalidades nos equipamentos
e de integrao de solues de redes
especializadas s demandas do cliente
final.
6. Simplificao e barateamento dos
equipamentos de rede pela diminuio
dos requisitos mnimos do software
embarcado e das pilhas de protocolos
proprietrias.
7. Consolidao dos planos de controle e da
gerncia de infraestruturas de rede,
facilitando a migrao para novos
protocolos-padro e tecnologias de rede
de transporte.
Como exemplo de inovao sobre redes
programveis com OpenFlow, foi apresentada a
proposta do RouteFlow, que representa uma
abordagem expansvel (scale-out) para
arquiteturas de redes de pacotes. Com o plano
de controle externo ao dispositivo de rede, passa
a existir maior independncia entre esse plano e
o de encaminhamento, de forma que ambos
escalem e evoluam separadamente. Nesse
sentido, o RouteFlow possibilita o surgimento de
redes mais baratas e flexveis, mantendo
compatibilidade com redes legadas e apoiando
uma evoluo das redes em que a conectividade
IP possa se tornar um produto (commodity)
ofertado em um modelo de plataforma como
servio (KELLER; REXFORD, 2010) e a
diferenciao dos servios dos operadores possa
se dar pelas potenciais inovaes do paradigma
de redes definidas por software.
Agradecimentos
Os autores agradecem o apoio dado a este
trabalho, desenvolvido no mbito do projeto
Arquitetura de Redes para Comunicaes
Mveis IP que contou com recursos do Fundo
para o Desenvolvimento Tecnolgico das
Telecomunicaes FUNTTEL, do Ministrio
das Comunicaes, atravs do Convnio
n 002/2007 com o Ministrio das Comunicaes.
Referncias
ANWER, M. B. et al. Switchblade: a platform for
rapid deployment of network protocols on
programmable hardware. In: SIGCOMM 10.
Proceedings... New York, USA: ACM, 2010.
p.183-194.
ARGYRAKI, K. et al. Can software routers scale?
In: PRESTO 08. Proceedings... New York, USA:
ACM, 2008. p. 21-26.
CASADO, M. et al. Ethane: Taking Control of the
Enterprise. In: SIGCOMM '07. Proceedings...
New York, USA: ACM, 2007.
______. Virtualizing the network forwarding
plane. In: PRESTO 10. Proceedings...
Philadelphia, USA, 2010.
CHOWDHURY, M.; BOUTABA, R. Network
Virtualization: State of the Art and Research
Challenges. IEEE Communications Magazine,
v. 47, n. 7, p. 20-26, 2009.
FERNANDES, N. et al. Virtual networks: isolation,
performance, and trends. Annals of
Telecommunications, p. 1-17. 2010.
GREENE, K. TR10: Software-Defined
Networking. MIT Technology Review. 2009.
Disponvel em:
<http://www.technologyreview.com/communicatio
ns/22120/>. Acesso em: 31 jan. 2011.
GUDE, N. et al. NOX: towards an operating
system for networks. SIGCOMM Computer
Communication Review, 38(3), p.105-110,
2008.
GUDLA, V. et al. Experimental Demonstration of
OpenFlow Control of Packet and Circuit
Switches. In: OPTICAL FIBER CONFERENCE
(OFC/NFOEC'10). Proceedings... San Diego,
USA, 2010.
HAMILTON, J. Networking: The last bastion of
mainframe computing. 2009. Disponvel em:
<http://perspectives.mvdirona.com/2009/12/19/N
etworkingTheLastBastionOf-
MainframeComputing.aspx>. Acesso em: 31 jan.
2011.
INTERNET ENGINEERING TASK FORCE
(IETF). Forwarding and Control Element
Separation (ForCES), WG, 2011. Disponvel em:
<http://datatracker.ietf.org/wg/forces/charter/>.
Acesso em: 31 jan. 2011.
JUNIPER NETWORKS. Network Operating
System Evolution. White paper, Oct. 2010.
KELLER, E.; REXFORD, J. The 'Platform as a
Service' model for networking. In: INM/WREN.
Proceedings... San Jose, USA, 2010.
KOPONEN, T. et al. Onix: A distributed control
platform for large-scale production networks. In:
OSDI10. Proceedings... Vancouver, Canada,
74 Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011
OpenFlow e redes definidas por software: um novo paradigma de controle e inovao em redes de pacotes
Oct. 2010.
MCKEOWN, N. et al. OpenFlow: enabling
innovation in campus networks. SIGCOMM
Computer Communication Review, 38,
p.69-74, 2008.
NASCIMENTO, M. R. et al. RouteFlow:
Roteamento Commodity Sobre Redes
Programveis. In: XXIX SIMPSIO BRASILEIRO
DE REDES DE COMPUTADORES - SBRC'2011,
Campo Grande, MS, Brasil, 2011.
Proceedings...
NOX. An open-source OpenFlow controller.
2011. Disponvel em: <http://noxrepo.org>.
Acesso em: 31 jan. 2011.
SARRAR, N. et al. FIBIUM towards hardware
accelerated software routers. In: EUROVIEW
2010 (poster session).
SHERWOOD, R. et al. Can the production
network be the testbed? In: OSDI10.
Proceedings... USENIX Association, Vancouver,
Canada, 2010.
The OPENFLOW Specification. 2010. Disponvel
em:
<http://www.openflowswitch.org/documents/openf
low-wp-latest.pdf>. Acesso em: 31 jan. 2011.
The QUAGGA Project. 2009. Disponvel em:
<http://www.quagga.net>. Acesso em: 31 jan.
2011.
The XORP Project. Extensible open router
platform. 2011. Disponvel em:
<http://www.xorp.org>. Acesso em: 31 jan. 2011.
The ROUTEFLOW Project. 2011. Disponvel em:
<https://sites.google.com/site/routeflow/>. Acesso
em: 31 mai. 2011.
YAP, K. K. et al. Blueprint for Introducing
Innovation into Wireless Mobile Networks. In:
VISA'10, New Delhi, India, 2010. Proceedings...
New York: ACM, 2010.
Abstract
For some time we have seen the need for greater openness and flexibility of networking equipment, not
only for research purposes, but also in search of in-house innovation. Todays networking gear follows the
model of computer mainframes, with closed software running on proprietary hardware. This approach
results in expensive solutions and prevents equipment owners to put new ideas into practice. Advances in
the standardization of OpenFlow as a hardware-independent, open protocol to control the networking gear
of packet networks introduces the notion of software-defined networks, a new paradigm for innovation
with a disruptive potential comparable to the emergence of operating systems in the computer and mobile
device industries. This paper introduces the principles of OpenFlow and presents the RouteFlow as an
example of innovative ongoing work on open-source routing services over commodity hardware.
Key words: Packet networks. Routing. Switching. Free Software. Virtualization.
Cad. CPqD Tecnologia, Campinas, v. 7, n.1, p. 65-76, jul. 2010/jun. 2011 75

Vous aimerez peut-être aussi