Tecnologias, conceitos e serviços emergentes: Openflow

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

Binding Amarração de endereços de Protocolos
Introdução Datagrama IP.
Redes de computadores I
2.10) Os elementos básicos de uma Rede
Noções de Sistemas Operacionais
Rede Local - Instalação
Rede Local - Instalação
Administração e Projeto de Redes
Redes de Computadores A Camada de Rede.
Professor: João Paulo de Brito Gonçalves Curso Técnico de Informática
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
1 Camada de redes: Interoperabilidade com IP. 2 Enlaces entre duas máquinas.
Modelos de Comunicação em Sistemas Distribuídos
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Wireless Mesh Networks: A Survey
Interação Cliente Servidor
Endereçamento de hardware e identificação de quadros
Definição de Um Modelo de Redes Padronizado.
Marcelo Nascimento dos Santos
Endereçamento ARP MAC Nível de Rede Nível de Enlace CEL Placa de Rede
GERENCIAMENTO DE REDES
Arquitectura TCP/IP Camada de rede.
Mobilidade na Internet
Listas Encadeadas.
Modelos de Referência.
Classes e objetos P. O. O. Prof. Grace.
Perguntas.
Camada de Transporte: Portas, Sockets, Aplicações em Rede
Visão Geral de Equipamentos de Rede
BLOQUEANDO comunicação entre clientes de uma rede local
Desenvolvimento de Projetos e Aplicações Web
Utilitários de Redes Prof. Andréa Chicri Torga Adaptações
NETBIOS Disciplina: Redes de Computadores
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Introdução ao roteamento e encaminhamento de pacotes
Kraemer CCNA 1 – Roteamento e Sub-redes. Kraemer Roteamento e Sub-redes Introdução Protocolo roteado Visão geral de roteamento Endereçamento de sub-redes.
Roteamento Disciplina de Redes de Computadores II
1 Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro Extending OpenFlow for Unified Management and Control of Cloud.
Rodrigo de Souza Couto Redes de Computadores II
Exercícios de Revisão Redes de Computadores Edgard Jamhour
REDES DE COMPUTADORES Prof. Deivson
Sistemas Operacionais
Equipamentos de Redes Aula 3
O Modelo OSI Guilherme Guimarães.
Lucas Bondan, Lucas F. Müller, Maicon Kist
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Universidade Federal de São Carlos – Campus Sorocaba
Roteadores Roteadores são pontes que operam na camada de Rede do modelo OSI. Tomando como base o protocolo mais usado hoje em dia, o TCP/IP, o protocolo.
Visão Geral de Equipamentos de Rede
Internet do Futuro - Definida por Software
Anderson Guarnier da Silva e Robson Stenico Leopoldino Universidade Metodista de Piracicaba – UNIMEP Faculdade de Ciências Exatas e da Natureza - FACEN.
Protocolos e Conceitos de Roteamento – Capítulo 7
Introdução aos Protocolos de Roteamento Dinâmico
AULA 3 – ELEMENTOS DE INTERCONEXÃO DE REDES
Segurança e Auditoria de Sistemas
Aula 5 Redes de Computadores – Parte 2
Equipamentos de Redes Aula 4
Fathom™ Management: Uma Lição de Eficiência Luis B. Campos System Engineer.
Uma plataforma aberta para experimentação de redes
Border Gateway Protocol
Prof. Eduardo Maroñas Monks
Troca de Mensagens Programação concorrente
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 RIP versão 1 Protocolos e Conceitos de Roteamento – Capítulo 5.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Introdução ao Roteamento e ao Encaminhamento de Pacotes Protocolos.
Netfilter/Iptables Introdução e Cenário 1.
Trabalho elaborado por: -Daniel Nº26 -André Nº3. * A camada de rede do modelo OSI é responsável por controlar a operação da rede de um modo geral. As.
Revisão Comunicação; Protocolo; Conceitos e Elementos de uma Rede;
INOVAÇÃO PARA SUPORTAR AS REDES CONVERGENTES Msc Eng ADRIANO FAVARO REDES DEFINIDAS POR SOFTWARE.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Transcrição da apresentação:

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

Agenda O Objetivo desta apresentação é explicar: Qual o problema a ser solucionado pela tecnologia OpenFlow O que é OpenFlow Para que serve? Qual a sua utilidade? Quem usa? Como funciona? Alguns detalhes técnicos

Metas na operação de uma rede Alguns objetivos e demandas de quem administra uma rede de campus ou backbone: Implementar novas funcionalidades Aumentar a performance da rede Custos (pessoal e equipamentos) Manter simples o suficiente para operar (principio KISS) Manter estável

Fatores limitantes ao crescimento Quaisquer implementações de camada-2 (Enlace) e camada-3 (rede) devem obedecer aos protocolos implementados pelos fabricantes As funcionalidades são engessadas (ossificadas) pelos protocolos existentes (BGP, OSPF, IEEE802.1, IEEE802.3, QinQ, Vlan, Vlan Translation, MPLS/VPLS, etc.) Ou dependem de solução proprietária As soluções para os problemas exigem do engenheiro de redes montar um quebra-cabeças de protocolos para ter a funcionalidade esperada.... ou solicitar ao fabricante que implemente...

E como ficam as Redes mais Complexas? Redes Complexas geralmente precisam de soluções específicas. E isso leva tempo... Proprietárias -> Pre-stantard -> draft -> RFC Exemplo: TRILL (Transparent Interconnection of Lots of Links) Paper Perlman (2004) RFC6235 (2011)

Redes Complexas Algumas redes complexas poderiam ter soluções mais fáceis de administrar se baseadas em software (ex: redes móveis, balanceamento de carga) Trocar um critério de decisão local (router) por um controle centralizado global!!!!

Exemplo com Redes Sobrepostas NB.: Todos os enderecos IP estão na mesma rede L3 (10.0.0.0/24) H9 é o único que fala com todos   Pontilhado preto fala com pontilhado preto Acho que pode tirar Pontilhado cinza fala com pontilhado cinza Você acha possível criá-la com a tecnologia atual? O que você usaria?

Como criar esta rede com a tecnologia atual? NB.: Todos os enderecos IP estão na mesma rede 10.0.0.0/24 H9 é o único que fala com todos   HUB ?? Não!!! Precisa do STP para conter o loop Acho que pode tirar

Como criar esta rede com a tecnologia atual? NB.: Todos os enderecos IP estão na mesma rede 10.0.0.0/24 H9 é o único que fala com todos   Switch com VLANs?? Não!! H9 tem interface e IP únicos Acho que pode tirar Broadcast ARP en 10.0.0.255 chegará em todos e 10.0.0.9 vai ensinar os MACs a todos os hosts das duas redes

Como criar esta rede com a tecnologia atual? NB.: Todos os enderecos IP estão na mesma rede 10.0.0.0/24 H9 é o único que fala com todos   Trocar os comutadores por PC/ Firewalls ? E resolver tudo no software da firewall? Sim, é uma solução válida! Mas aí você está fazendo todo o encaminhamento por software… Como em uma SDN!!  Acho que pode tirar

Como criar esta rede com a tecnologia atual?   A outra forma é usar OpenFlow… Criando seu próprio software de controle para os encaminhadores Acho que pode tirar

Openflow Quem nunca ouviu: Se nos colocássemos um Linux... O Problema é: Como fazer isso sem perder a velocidade das implementações em hardware dos switches/routers?

Como funciona o Openflow?

Estrutura interna de um switch Ethernet Switch

Estrutura interna de um switch Control Path (Software) Control Path Data Path (Hardware)

Estrutura interna de um switch Controlador OpenFlow Protocolo OpenFlow (SSL/TCP) Control Path OpenFlow Data Path (Hardware)

Exemplo de Openflow Cliente OpenFlow Controlador PC Camada de Software Tabela de Fluxos MAC src dst IP Src Dst TCP sport dport Action Camada de Hardware * 5.6.7.8 port 1 port 1 port 2 port 3 port 4 5.6.7.8 1.2.3.4

Controle Centralizado Controle Centralizado vs Distribuído Ambos os cenários são possiveis com OpenFlow Controle Centralizado Controle Distribuido Controlador Controlador OpenFlow Switch OpenFlow Switch Controlador OpenFlow Switch OpenFlow Switch Controlador OpenFlow Switch OpenFlow Switch

OpenFlow O controlador se comunica com o equipamento usando o protocolo openflow através de um canal seguro Controlador (Sistema Operacional de rede) Protocolo Openflow SSL/TCP SWITCH Plano de Controle Canal seguro Plano de Dados Tabela de fluxos

Funcionamento Quando o switch recebe um pacote ele deve compará-lo com a sua tabela de fluxo

Funcionamento

Funcionamento Ao receber o cabeçalho o controlador deverá tomar uma decisão… Entregar uma tabela de fluxos para o switch, indicar uma ação para o pacote ou descartá-lo

OpenFlow Básico Entradas na tabela de fluxos Regra Ação Estatísticas Pacote+ contadores de bytes Encaminhar pacote para zero(nenhuma) ou mais portas Encapsular e transmitir ao controlador Envia ao canal de processamento normal Modificar campos Outras extensões que adicionar! Now I’ll describe the API that tries to meet these goals. Switch Port VLAN ID VLAN pcp MAC src MAC dst Eth type IP Src IP Dst IP ToS IP Prot L4 sport L4 dport + máscara que coincida com os campos

Encaminhamento de fluxo vs Encaminhamento de fluxo vs. Agregação Ambos os cenários são possives com OpenFlow Baseado em fluxo Cada fluxo individual é criado pelo controlador Coincidência exata  das entradas de fluxo Tabela de fluxo contém uma entrada por fluxo Bom para o controle granular da rede, útil para redes de campus Agregado Uma entrada na tabela de fluxos cobre um grupo de fluxos Entrada “coringa” de fluxo A tabela de fluxos contém uma entrada por categoria de fluxo Bom para manipular uma grande quantidade de fluxos (ex. backbone)

Comportamento reativo ou pró-ativo (pré-povoado) Ambos os cenários são possíveis com OpenFlow O Primero pacote dispara a inserção do fluxo no controlador. Uso eficiente da tabela de fluxos. Cada fluxo tem um delay adicional para configuração Se perde a conexão de controle, o comutador tem uma utilidade limitada A perda da conexão de controle interrompe o tráfego Pro-ativo O Controlador popula previamente a tabela de fluxos Não há perda de tempo configurando a tabela Requer regras essencialmente agregadas (uso de coringas)

Implementação (Pyswitch.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)   (...) Em datapath_join_callback cada fluxo foi instalado estaticamente e sem tempo de expiração para esta rede  

Controladores de código aberto Nome Lang Plataforma Licenciamento Autor Nota OpenFlow Reference C Linux OpenFlow License Stanford/Nicira Não é projetado para ser extensível NOX Python, C++ GPL Nicira Desenvolvendo ativamente Beacon Java Win, Mac, Linux, Android GPL (core), FOSS Licenses for your code David Erickson (Stanford) tiempo de ejecución modular, framework web Maestro Win, Mac, Linux LGPL Zheng Cai (Rice) Trema Ruby, C NEC Inclui emulador para testes RouteFlow ? Apache CPqD (Brazil) encaminhamento IP como um serviço (quagga) Language open-source Performance cross-platform runtime modular

Hardware que suporta SDN (Redes Definidas por Software) Juniper MX-series NEC IP8800 WiMax (NEC) HP Procurve 5400 Netgear 7324 PC Engines Pronto 3240/3290 Ciena Coredirector 28

Quem usa OpenFlow e SDN? Segundo a apresentação de Todd Underwood/Google, durante o RIPE 64 (16 – 20 April 2012): https://ripe64.ripe.net/archives/video/884/ …“Openflow está pronto para uso”… …“Openflow auxiliou o Google a melhorar a performance do seu backbone e a reduzir seu custo e complexidade”...

Resumo OpenFlow é um protocolo Como ele será usado depende de você!!! SDN (Software-Defined Networking) é uma arquitetura OpenFlow é somente uma peça da arquitetura… OpenFlow está disponível, é usavel, está evoluindo e melhorando! Estes são os primeiros passos das SDNs, OF (OpenFlow) e ONS (Optical Network Service) In a sense, solving the hardest piece: have to get agreement between 100’s of vendors with different requirements and motivations. In another sense, solving the easiest piece: doesn’t do much and doesn’t consider consistency or other distributed systems problems. Early stages: plenty of time to get involved and contribute a new piece.

Referências Gude, N., Koponen, T., Pettit, J., Pfaff, B., Casado, M., McKeown, N., and Shenker, S. (2008). Nox: towards an operating system for networks. SIGCOMM Comput. Commun. Rev., 38:105–110.  Lantz, B., Heller, B., and McKeown, N. (2010). A network in a laptop: rapid prototyping for software-defined networks. In Proceedings of the Ninth ACM SIGCOMMWorkshop on Hot Topics in Networks, Hotnets ’10, pages 19:1–19:6, New York, NY, USA. ACM.  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. RIPE64 (16-22/Apr/2012)- https://ripe64.ripe.net/archives/video/884/

Leandro Bertholdo berthold@pop-rs.rnp.br