Como Openflow funciona - PoP-BA

Transcrição

Como Openflow funciona - PoP-BA
Software-Defined Networks e
Openflow: conceitos e tecnologias
emergentes
III Workshop de Tecnologia de Redes do PoP-BA
Ponto de Presença da RNP na Bahia
Italo Valcy <[email protected]>
27 e 28 de setembro de 2012
Licença de uso e atribuição
Todo o material aqui disponível pode, posteriormente, ser utilizado sob
os termos da:
Creative Commons License:
Atribuição - Uso não comercial - Permanência da Licença
http://creativecommons.org/licenses/by-nc-sa/3.0/
2 / 31
Rede “ossificada”

Infraestrutura de redes atual: equipamentos
proprietários, fechados e de alto custo; circuitos
dedicados (ASIC); camada de software de controle
◦ Necessário: especialização da lógica de controle para cada tipo
e objetivo de rede

Padronização dos protocolos (RFCs, ISOs, padrões IEEE)
◦ Problema: As funcionalidades são engessadas (ossificadas)
pelos protocolos existentes (BGP, OSPF, IEEE802.1, IEEE802.3,
QinQ, Vlan, Vlan Translation, MPLS/VPLS, etc.)
Mudança, especialização ou inserção na lógica de
controle está sujeita ao clico de desenvolvimento e
testes restritos ao fabricante! (HAMILTON, 2009)
3 / 31
Rede “ossificada”

No âmbito da pesquisa, essas exigências são
ainda maiores:
◦ Experimentação de novos protocolos e
funcionalidades da rede em condições reais
◦ Idealmente experimentar em ambientes
“espelhados” da rede em operação
◦ Como criar uma rede de experimentação sem
interferir na rede de produção?
4 / 31
Rede “ossificada”
Redes de produção mais complexas precisam
de soluções específicas:
 Proprietárias -> 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
Solução em “software”
Algumas redes complexas poderiam ter
soluções mais fáceis de administrar se
baseadas em software:
 “E se usarmos um Linux?” (network
namespaces, netfilter, quagga, etc.)
◦ Como fazer isso sem perder a velocidade das
implementações em hardware dos
switches/routers?
6 / 31
Solução centralizada
Trocar um critério de decisão local (router) por
um controle centralizado global!!!!

Com replicação para tolerância a falhas e
desempenho
7 / 31
Agenda
Arquitetura SDN
 Openflow: funcionamento e cenários
 Alguns detalhes técnicos
 Utilização do Openflow

8 / 31
A rede atual
Roteamento, gerencia, mobilidade, controle
de acesso, VPN, …
Feature
Feature
Operating
System
Specialized
Packet
Forwarding
Hardware
Verticalização
Fechado, proprietário
Inovação 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

Definição: fluxo
◦ É uma sequência unidirecional de pacotes na qual
todos os pacotes compartilham um conjunto de
valores de cabeçalho 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 cabeçalho não for compatível com
nenhum fluxo em sua tabela, o switch deve
encaminhar o cabeçalho (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 decisão e
◦ Enviar uma requisição de mudança da tabela de
fluxos do switch
◦ Devolver o pacote (ou o cabeçalho + buffer-id)
◦ Indicar uma ação 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
Cenários com Openflow

Controle Centralizado vs Distribuído
24 / 31
Cenários com Openflow

Encaminhamento de fluxos individual vs Agregado
Fluxos individuais
 Cada fluxo individual
é criado pelo
controlador
 Coincidência 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
Cenários com Openflow

Tabela de fluxos dinâmica vs estática
Dinâmica
 O primeiro pacote dispara
uma inserção de fluxos pelo
controlador
 Delay adicional para
configuração por fluxo
 Adaptatividade da rede
 Se perder a comunicação com
o controller, o comutador tem
utilidade limitada
Estática
 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
Utilização 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
◦ Especificação / Eventos
◦ Implantação na rede de campus
◦ Trabalho com Slices da rede

No Brasil: estudos, utilização,
desenvolvimento
◦ Universidades e Centros de pesquisa, FIBRE, RNP,
CPqD, etc.
29 / 31
Utilização de Openflow


Grupo de Redes do DCC/UFBA em parceria com o PoPBA
◦ Experimentação para algoritmos de roteamento em
redes mesh sem fio
◦ Grupo de estudos e desenvolvimento
Minicurso sobre Openflow e SDN na Semana de
Computação da UFBA (3-6 de Outubro/2012)
◦ http://infojr.com.br/semcomp/
30 / 31
Considerações finais

SDN (Software-Defined Networking) é uma
arquitetura
◦ Promete fomentar inovação aberta e competição
◦ Evolução da rede mais fácil e rápida
◦ Separação do plano de controle e
encaminhamento

Openflow é um protocolo
◦ A partir do openflow é possível definir, modificar,
testar e avaliar uma gama de protocolos e
cenários de rede
31 / 31
Considerações finais

Cuidado!
◦ Openflow não é uma tecnologia fim. Ele não
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
Referências
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:69–74.
 Bertholdo L. (2012). Tecnologias, conceitos e
serviços emergentes: Openflow. 13o WRNP
 HAMILTON, J. Networking: The last bastion of
mainframe computing. 2009.

33 / 31
Obrigado!!!
:-)
Italo Valcy
[email protected]
34 / 31

Documentos relacionados

2_DIssertação_PPGI_Gilvan Almeida

2_DIssertação_PPGI_Gilvan Almeida Não existe forma simples de migrar VMs entre redes (ou sub-redes) distintas quando o IP é fixo. Uma primeira abordagem sobre mobilidade foi sugerida como adendo à especificação do IPv4[3] para...

Leia mais

ROUTEOPS - SBRC 2016

ROUTEOPS - SBRC 2016 importantes relacionados à ROUTEOPS. O RCP [Feamster et al. 2004] é pioneiro na criação de uma visão logicamente centralizada do sistema de roteamento, personalizando a distribuição interna ...

Leia mais