Sie sind auf Seite 1von 34

Software-Defined Networks e

Openflow: conceitos e tecnologias


emergentes
III Workshop de Tecnologia de Redes do PoP-BA
Ponto de Presena da RNP na Bahia
Italo Valcy <italo@pop-ba.rnp.br>
27 e 28 de setembro de 2012

Licena de uso e atribuio

Todo o material aqui disponvel pode, posteriormente, ser utilizado sob


os termos da:
Creative Commons License:
Atribuio - Uso no comercial - Permanncia da Licena

http://creativecommons.org/licenses/by-nc-sa/3.0/

2 / 31

Rede ossificada

Infraestrutura de redes atual: equipamentos


proprietrios, fechados e de alto custo; circuitos
dedicados (ASIC); camada de software de controle
Necessrio: especializao da lgica de controle para cada tipo
e objetivo de rede

Padronizao dos protocolos (RFCs, ISOs, padres IEEE)


Problema: As funcionalidades so engessadas (ossificadas)
pelos protocolos existentes (BGP, OSPF, IEEE802.1, IEEE802.3,
QinQ, Vlan, Vlan Translation, MPLS/VPLS, etc.)

Mudana, especializao ou insero na lgica de


controle est sujeita ao clico de desenvolvimento e
testes restritos ao fabricante! (HAMILTON, 2009)
3 / 31

Rede ossificada

No mbito da pesquisa, essas exigncias so


ainda maiores:
Experimentao de novos protocolos e
funcionalidades da rede em condies reais
Idealmente experimentar em ambientes
espelhados da rede em operao
Como criar uma rede de experimentao sem
interferir na rede de produo?

4 / 31

Rede ossificada
Redes de produo mais complexas precisam
de solues especficas:
Proprietrias -> Pre-stantard -> draft -> RFC
Exemplo: TRILL (Transparent Interconnection
of Lots of Links)
Paper Radia Joy Perlman (2004)
RFC 6325 (2011)

Exemplo: IPv6
RFC 2460: dez/1998 (obsoletes rfc1883, dez/1995)

Todo esse processo leva tempo...

5 / 31

Soluo em software
Algumas redes complexas poderiam ter
solues mais fceis de administrar se
baseadas em software:
E se usarmos um Linux? (network
namespaces, netfilter, quagga, etc.)
Como fazer isso sem perder a velocidade das
implementaes em hardware dos
switches/routers?

6 / 31

Soluo centralizada

Trocar um critrio de deciso local (router) por


um controle centralizado global!!!!

Com replicao para tolerncia a falhas e


desempenho

7 / 31

Agenda
Arquitetura SDN
Openflow: funcionamento e cenrios
Alguns detalhes tcnicos
Utilizao do Openflow

8 / 31

A rede atual
Roteamento, gerencia, mobilidade, controle
de acesso, VPN,
Feature

Feature

Operating
System
Specialized
Packet
Forwarding
Hardware

Verticalizao
Fechado, proprietrio
Inovao lenta

9 / 31

A rede atual
Featu
re

Featur
e

Caixas pretas
fechadas

Operating
System
Specialized
Packet
Forwarding
Hardware
Featu
re

Featu
re

Operating
System
Specialized
Packet
Forwarding
Hardware

Featur
e

Operating
System
Specialized
Packet
Forwarding
Hardware

Featu
re

Featu
re

Featur
e

Featur
e

Featur
e

Operating
System
Specialized
Packet
Forwarding
Hardware

Operating
System
Specialized
Packet
Forwarding
Hardware

10 / 31

A Rede definida por software


Feature

Feature

Network OS

Packet
Forwarding

Packet
Forwarding
Packet
Forwarding

Packet
Forwarding
Packet
Forwarding

11 / 31

A Rede definida por software


3. API aberta bem definida

Feature

Feature

2. Pelo menos um SO de rede


(provavelmente muitos)
Open- and closed-source

Network OS
1. Interface aberta para acesso ao
hardware (e.g. Openflow)
Packet
Forwarding

OpenFlow

Packet
Forwarding

Packet
Forwarding

Packet
Forwarding
Packet
Forwarding

12 / 31

Como funciona o Openflow?

13 / 31

Ethernet Switch/Router

Fonte: Nick McKeown (Stanford), SDN CIO Summit 2010


14 / 31

Control Path (Software)


Data Path (Hardware)
Fonte: Nick McKeown (Stanford), SDN CIO Summit 2010
15 / 31

OpenFlow Controller
OpenFlow Protocol (SSL)

Control Path OpenFlow

Data Path (Hardware)


Fonte: Nick McKeown (Stanford), SDN CIO Summit 2010
16 / 31

Como Openflow funciona


Network OS

If header = x, send to port 4


If header = y, overwrite header with z, send to ports 5,6
If header = ?, send to me

OpenFlow/SSL/TCP

OpenFlow
Switch

OpenFlow
Switch

Flow
Table

OpenFlow
Switch

OpenFlow Fonte: Nick McKeown (Stanford), SDN CIO Summit 2010


Switch
17 / 31

Como Openflow funciona

Definio: fluxo
uma sequncia unidirecional de pacotes na qual
todos os pacotes compartilham um conjunto de
valores de cabealho comum

Exemplos:
Fluxo 1: pacotes com destino 192.168.0.0/24
Fluxo 2: pacotes com interface de entrada 2 e VLAN
ID 10
Fluxo 3: pacotes com MAC de origem X, MAC de
destino Y, e porta TCP de destino 80
...
18 / 31

Como Openflow funciona

Quando o switch recebe um pacote ele deve


compar-lo com sua tabela de fluxo

Fonte: Leandro Bertholdo (PoP-RS), 13o WRNP

19 / 31

Como Openflow funciona

Se o cabealho no for compatvel com


nenhum fluxo em sua tabela, o switch deve
encaminhar o cabealho (ou pacote todo)
para o controlador

Fonte: Leandro Bertholdo (PoP-RS), 13o WRNP

20 / 31

Como Openflow funciona

Ao receber o pacote, o controlador deve tomar


uma deciso e
Enviar uma requisio de mudana da tabela de
fluxos do switch
Devolver o pacote (ou o cabealho + buffer-id)
Indicar uma ao para o pacote
Ou.. descartar

Fonte: Leandro Bertholdo (PoP-RS), 13o WRNP


21 / 31

Tabela de fluxos

Fonte: OpenFlow Brazil Tutorial, SBRC 2010


22 / 31

Tabela de fluxos - Exemplos

Fonte: OpenFlow Brazil Tutorial, SBRC 2010

23 / 31

Cenrios com Openflow

Controle Centralizado vs Distribudo

24 / 31

Cenrios com Openflow

Encaminhamento de fluxos individual vs Agregado


Fluxos individuais
Cada fluxo individual
criado pelo
controlador
Coincidncia exata
dos campos do fluxo
(1:1)
Controle granular da
rede (ex: redes de
campus)

Fluxos agregados
Uma entrada na
tabela cobre um
grupo de fluxos
Entrada coringa
de fluxo
Bom para controlar
uma grande
quantidade de
fluxos (ex:
backbone)

25 / 31

Cenrios com Openflow

Tabela de fluxos dinmica vs esttica


Dinmica
O primeiro pacote dispara
uma insero de fluxos pelo
controlador
Delay adicional para
configurao por fluxo
Adaptatividade da rede
Se perder a comunicao com
o controller, o comutador tem
utilidade limitada

Esttica
O controlador popula
previamente a tabela de
fluxos
Requer regras
essencialmente
agregadas (coringas)
Rede com topologia fixa

26 / 31

Exemplo (tiny-switch.py)
def datapath_join_callback(dpid, stats):
logger.info('Switch %x has joined the network' % dpid)
if dpid == 1:
inst.install_datapath_flow(dpid,
{ core.IN_PORT : 1 },
openflow.OFP_FLOW_PERMANENT,
openflow.OFP_FLOW_PERMANENT,
[[openflow.OFPAT_OUTPUT, [0, 3]]],
priority=1)
inst.install_datapath_flow(dpid,
{ core.IN_PORT : 3 },
openflow.OFP_FLOW_PERMANENT,
openflow.OFP_FLOW_PERMANENT,
[[openflow.OFPAT_OUTPUT, [0, 1]]],
priority=1)
(...)

27 / 31

SDN Stack

Fonte: Christian Esteve (CPqD), 13o WRNP

28 / 31

Utilizao de Openflow

Openflow auxiliou o Google a melhorar a performance


do seu backbone e a reduzir seu custo e
complexidade ...
Todd Underwood/Google (RIPE 64, Abr/2012)

Stanford University
Especificao / Eventos
Implantao na rede de campus
Trabalho com Slices da rede

No Brasil: estudos, utilizao,


desenvolvimento
Universidades e Centros de pesquisa, FIBRE, RNP,
CPqD, etc.
29 / 31

Utilizao de Openflow

Grupo de Redes do DCC/UFBA em parceria com o PoPBA


Experimentao para algoritmos de roteamento em
redes mesh sem fio
Grupo de estudos e desenvolvimento
Minicurso sobre Openflow e SDN na Semana de
Computao da UFBA (3-6 de Outubro/2012)
http://infojr.com.br/semcomp/

30 / 31

Consideraes finais

SDN (Software-Defined Networking) uma


arquitetura
Promete fomentar inovao aberta e competio
Evoluo da rede mais fcil e rpida
Separao do plano de controle e
encaminhamento

Openflow um protocolo
A partir do openflow possvel definir, modificar,
testar e avaliar uma gama de protocolos e
cenrios de rede

31 / 31

Consideraes finais

Cuidado!
Openflow no uma tecnologia fim. Ele no
resolve os problemas, apenas pode ser usado
como ferramenta para tal
Software sempre est sujeito a bugs!
preciso definir com cuidado a arquitetura que
ser usada, diminuindo ou eliminando os pontos
de falha

32 / 31

Referncias
McKeown N., Parulkar G. et al. (2010). Software
Defined Networks and Openflow, Stanford
University. SDN CIO Summit 2010.
McKeown, N., Anderson, T., Balakrishnan, H.,
Parulkar, G., Peterson, L., Rexford, J., Shenker, S.,
and Turner, J. (2008). Openflow: enabling
innovation in campus networks. SIGCOMM Comput.
Commun. Rev., 38:6974.
Bertholdo L. (2012). Tecnologias, conceitos e
servios emergentes: Openflow. 13o WRNP
HAMILTON, J. Networking: The last bastion of
mainframe computing. 2009.

33 / 31

Obrigado!!!
:-)
Italo Valcy
italo@pop-ba.rnp.br

34 / 31

Das könnte Ihnen auch gefallen