Software-Defined Networks e Openflow: conceitos e tecnologias emergentes



Documentos relacionados
Software-Defined Networks e Openflow: conceitos e tecnologias emergentes

Tecnologias, conceitos e serviços emergentes: Openflow. Leandro Bertholdo (PoP-RS/Ufrgs)

Aula 01 Conceitos básicos e visão geral de OpenFlow/SDN

Tópicos Especiais em Redes de Telecomunicações

Gerenciamento e Interoperabilidade de Redes

OpenFlow: abrindo portas para inovações nas redes de nossos campi

Redes Definidas por Software

Tópicos Especiais em Redes de Telecomunicações

PROJETO DE REDES

Tópicos Especiais em Redes de Telecomunicações

Alta disponibilidade utilizando Roteamento Virtual no RouterOS GUILHERME RAMIRES

Redes locais comutadas, visão geral da camada de acesso

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Redes e Internet do Futuro

Redes de Computadores Aula 3

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Roteamento e Comutação

Roteamento IP & MPLS. Prof. Marcos Argachoy

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

Maestro. Arthur Kazuo Tojo Costa Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Capítulo 5: Roteamento Inter-VLANS

On Scalability of Software-Defined Networking

MPLS MultiProtocol Label Switching

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

REDE DE COMPUTADORES

Prof. Samuel Henrique Bucke Brito

Internet do Futuro e Programabilidade da Rede - uma visão prática de SDN/OpenFlow e P4

Equipamentos de Rede. Prof. Sérgio Furgeri 1

Tópicos Especiais em Redes de Telecomunicações

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Visão geral da arquitetura do roteador

Controle de congestionamento em TCP

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

SDN-WISE: Design, prototyping and experimentation of a stateful SDN solution for WIreless SEnsor networks

Tabela de roteamento

Revisão. Karine Peralta

Roteamento e Comutação

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Arquitetura do Protocolo da Internet. Aula 05 - Protocolos de Roteamento. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.


Segurança da Informação

AmLight SDN: Uma plataforma aberta para experimentação de redes

Gerenciamento de Recursos no Processo de Handoff em Redes Sem Fio Definidas por Software

Redes de computadores e a Internet. Capitulo 4. Capítulo. A camada de rede

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

Capítulo 5. A camada de rede

Aula-19 NAT, IP Móvel e MPLS. Prof. Dr. S. Motoyama

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva

SDN: Evolução das Redes Programáveis

Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco.

Interconexão redes locais (LANs)

Packet Tracer 4.0: Overview Session. Conceitos e práticas

Rede de Computadores

COMPONENTES BÁSICOS DE

Protocolos Hierárquicos

Equipamentos de Redes. Professor Leonardo Larback

Redes de Computadores

Protocolo Ethernet e Dispositivos de Interconexão de LANs

OpenStack. Cloud Software

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

PROJETO DE REDES

Faculdade Anhanguera de São Caetano do Sul

LAN Design. LAN Switching and Wireless Capítulo 1. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

ESTUDO E TESTE DO PROTOCOLO DE REDE OPENFLOW

BACKBONE e LANS VIRTUAIS. Bruna Luyse Soares Joel Jacy Inácio

Separação de fluxos TCP e UDP

Fundamentos de Redes de Computadores. Elementos de Redes Locais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

09/06/2011. Profª: Luciana Balieiro Cosme

Automatização de redes para experimentação: o caso da AmLight. Humberto Galiza.::. Senior Network Engineer Salvador, Brasil, 28 de Setembro 2015

Introdução à Computação Móvel IP Móvel. Movimentação de Host. Movimentação de Host. Francisco José da Silva e Silva

Prof. Samuel Henrique Bucke Brito

Consulte a exposição. Qual declaração descreve corretamente como R1 irá determinar o melhor caminho para R2?

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Nome dos Alunos

Planejamento e Projeto de Redes de Computadores. Eduardo Barrére

Entendendo como funciona o NAT

Curso de extensão em Administração de Redes

Redes de Computadores

Introdução às Redes de Computadores. Por José Luís Carneiro

Ensinando Redes com Emuladores. Edwin Cordeiro NIC.br

INTERNET = ARQUITETURA TCP/IP

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Gerência de Redes. Profa. Márcia Salomão Homci

Introdução Introduç ão Rede Rede TCP/IP Roteame Rotea nto nto CIDR

II- profissional tecnicamente capacitado, com conhecimentos cientificamente

Redes Overlay. Estrutura. Exemplo. Um Exemplo Histórico. Aldo Monteiro do Nascimento, Dionei Marcelo Moraes. 08 de novembro de 2006

Aula 4. Pilha de Protocolos TCP/IP:

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Unidade 3 Visão Geral de Equipamentos de Rede

Prof. Samuel Henrique Bucke Brito

Equipamentos de rede. Repetidores. Repetidores. Prof. Leandro Pykosz

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

RCO2. LANs, MANs e WANs Visão geral

Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes;

Link Aggregation IEEE 802.3ad Uma Visão Geral

(Open System Interconnection)

Transcrição:

Software-Defined Networks e Openflow: conceitos e tecnologias emergentes Semana de Computação UFBA (SEMCOMP 2012) Universidade Federal da Bahia Italo Valcy <italo@dcc.ufba.br> 05 de outubro 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/ O conteúdo desta apresentação foi baseado no material disponibilizado pela comunidade Openflow.org, em especial no Tutorial Brasileiro, disponível em <http://www.openflow.org/wk/index.php/brazil_tutorial> 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 TODO 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

Openflow Openflow é uma interface aberta para controlar remotamente a tabela de encaminhamento de equipamentos de rede como switches, roteadores e access points. A partir dessa primitiva de baixo nível, pesquisadores podem construir redes com novas propriedades de alto nível. 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

Exemplo do OpenFlow 17 / 31

Exemplo do OpenFlow 18 / 31

OpenFlow é um protocolo, SDN é uma arquitetura Redes Definidas por Software (SDN) refatoram o relacionamento entre os dispositivos de rede e o software que os controla OpenFlow é uma interface aberta que permite um controle mais flexível e previsível da rede, tornando fácil estender sua função. [HotSDN'12 CFP] 19 / 31

OpenFlow é um protocolo, SDN é uma arquitetura Redes Definidas por Software (SDN) refatoram o relacionamento entre os dispositivos de rede e o software que os controla OpenFlow é uma interface aberta que permite um controle mais flexível e previsível da rede, tornando fácil estender sua função. [HotSDN'12 CFP] 20 / 31

Como funciona o Openflow? 21 / 31

Como Openflow funciona If header = x, send to port 4 Network OS 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 22 / 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... 23 / 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 24 / 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 25 / 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 26 / 31

Tabela de fluxos Fonte: OpenFlow Brazil Tutorial, SBRC 2010 27 / 31

Tabela de fluxos - Exemplos Fonte: OpenFlow Brazil Tutorial, SBRC 2010 28 / 31

Cenários com Openflow Controle Centralizado vs Distribuído 29 / 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) 30 / 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 31 / 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) (...) 32 / 31

Protocolo Openflow Versões: v1.0 (December 31, 2009) 12 campos para matching de flows Suporte à múltiplas filas por porta Estatísticas por portas v1.1 (February 28, 2011) Múltiplas tabelas Grupos (abstração para conjunto de portas) Tags de VLAN e MPLS (QinQ, add/del/modify) Tratamento na falha de conexão com o controller Portas virtuais (útil para LAG, tunnels)... 33 / 31

Protocolo Openflow Versões: v1.2 (December 5, 2011) Suporte a matching de campos mais flexível Simplificação de funcionalidades Suporte à IPv6... v1.3 (June 25, 2012).. 34 / 31

Protocolo Openflow Tipos de mensagem O protocolo Openflow suporta três tipos de mensagem (cada um com outros sub-tipos): Controller-to-switch: iniciadas pelo controller e usadas para gerenciar ou inspecionar o estado do switch Asynchronous: iniciadas pelo switch e usadas para atualizar o controller dos eventos da rede e mudanças no switch Symmetric: podem ser iniciadas pelo controller ou pelo switch sem solicitação 35 / 31

Protocolo Openflow Tipos de mensagem Controller-to-switch (algumas): Features: quais capabilities o switch suporta? Modify-state: add/delete/modify flows na tabela de flows do switch Read-State: obter estatísticas da tabela de flows, portas ou flows individuais Send-Packet: usado pelo controller para enviar pacotes para uma porta do switch 36 / 31

Protocolo Openflow Tipos de mensagem Asynchronous (algumas): Packet-in: switch encaminha pacote (ou cabeçalho) para o controller se não houver uma entrada correspondente previamente instalada na tabela de flows Flow-removed: quando o timeout do flow expirou e ele foi removido da tabela de flows Port-Status: switch informa ao controller sobre mudanças na configuração do estado das portas Error: informa ao controller sobre erros diversos 37 / 31

Protocolo Openflow Tipos de mensagem Symmetric (algumas): Hello: usados no estabelecimento da conexão do switch com o controller Echo: Echo request/reply usado para checar latência, largura de banda e/ou conexões ativas 38 / 31

Protocolo Openflow Ações Na versão 1.0: Required: Forward (ALL, CONTROLLER, IN_PORT) Drop Optional: Enqueue Forward (NORMAL) Modify-field (set VLAN ID, strip VLAN header, modify src/dst MAC, modify src/dst IPv4, modify src/dst transport port, etc.) 39 / 31

Protocolo Openflow Contadores Na versão 1.0: 40 / 31

SDN Stack Fonte: Christian Esteve (CPqD), 13o WRNP 41 / 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. 42 / 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 43 / 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 44 / 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 45 / 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. 46 / 31

Obrigado!!! :-) Italo Valcy italo@dcc.ufba.br 47 / 31