01-WTR2012-SDN-Openflow.pdf

34
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

Transcript of 01-WTR2012-SDN-Openflow.pdf

  • Software-Defined Networks e Openflow: conceitos e tecnologias

    emergentes

    III Workshop de Tecnologia de Redes do PoP-BAPonto de Presena da RNP na Bahia

    Italo Valcy

    27 e 28 de setembro de 2012

  • 2 / 31

    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/

  • 3 / 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)

  • 4 / 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?

  • 5 / 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...

  • 6 / 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?

  • 7 / 31

    Soluo centralizada

    Trocar um critrio de deciso local (router) por um controle centralizado global!!!!

    Com replicao para tolerncia a falhas e desempenho

  • 8 / 31

    Agenda

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

  • 9 / 31

    A rede atual

    Specialized Packet

    Forwarding Hardware

    OperatingSystem

    Feature Feature

    Roteamento, gerencia, mobilidade, controlede acesso, VPN,

    VerticalizaoFechado, proprietrioInovao lenta

  • 10 / 31

    A rede atual

    Specialized Packet

    Forwarding Hardware

    Feature

    Feature

    Specialized Packet

    Forwarding Hardware

    Specialized Packet

    Forwarding Hardware

    Specialized Packet

    Forwarding Hardware

    OperatingSystem

    OperatingSystem

    OperatingSystem

    OperatingSystem

    OperatingSystem

    Feature

    Feature

    Feature

    Feature

    Feature

    Feature

    Specialized Packet

    Forwarding Hardware

    Feature

    Feature

    Caixas pretasfechadas

  • 11 / 31

    Feature Feature

    Network OS

    A Rede definida por software

    PacketForwarding

    PacketForwarding

    PacketForwarding

    PacketForwarding

    PacketForwarding

  • 12 / 31

    Feature Feature

    Network OS

    1. Interface aberta para acesso ao hardware (e.g. Openflow)

    3. API aberta bem definida2. Pelo menos um SO de rede

    (provavelmente muitos)Open- and closed-source

    A Rede definida por software

    OpenFlow

    PacketForwarding

    PacketForwarding

    PacketForwarding

    PacketForwarding

    PacketForwarding

  • 13 / 31

    Como funciona o Openflow?

  • 14 / 31

    Ethernet Switch/Router

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

  • 15 / 31

    Data Path (Hardware)Data Path (Hardware)

    Control Path (Software)Control Path (Software)

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

  • 16 / 31

    Data Path (Hardware)Data Path (Hardware)

    Control PathControl Path OpenFlowOpenFlow

    OpenFlow ControllerOpenFlow Controller

    OpenFlow Protocol (SSL)

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

  • 17 / 31

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

    OpenFlow Switch

    OpenFlow Switch

    OpenFlow Switch

    OpenFlow Switch

    FlowTable

    Network OS

    Como Openflow funciona

    OpenFlow/SSL/TCP

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

  • 18 / 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 ...

  • 19 / 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

  • 20 / 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

  • 21 / 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

  • 22 / 31

    Tabela de fluxos

    Fonte: OpenFlow Brazil Tutorial, SBRC 2010

  • 23 / 31

    Tabela de fluxos - Exemplos

    Fonte: OpenFlow Brazil Tutorial, SBRC 2010

  • 24 / 31

    Cenrios com Openflow Controle Centralizado vs Distribudo

  • 25 / 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)

  • 26 / 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

  • 27 / 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) (...)

  • 28 / 31

    SDN Stack

    Fonte: Christian Esteve (CPqD), 13o WRNP

  • 29 / 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.

  • 30 / 31

    Utilizao de Openflow Grupo de Redes do DCC/UFBA em parceria com o PoP-

    BA 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/

  • 31 / 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

  • 32 / 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

  • 33 / 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.

  • 34 / 31

    Obrigado!!!:-)

    Italo [email protected]

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34