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
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 maisROUTEOPS - 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