• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
32
0
0

Texto

(1)

Tecnologias, conceitos e serviços

emergentes: Openflow

Leandro Bertholdo (PoP-RS/Ufrgs)

(2)

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

(3)

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

(4)

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

(5)

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)

(6)

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

(7)

Exemplo com Redes Sobrepostas

Você acha possível criá-la com a tecnologia atual? O que você usaria?

NB.: Todos os enderecos IP estão na mesma rede L3 (10.0.0.0/24)

Pontilhado preto fala com pontilhado preto

Pontilhado cinza fala com pontilhado cinza

(8)

Como criar esta rede com a tecnologia atual?

Não!!!

Precisa do STP para conter o loop

H9 é o único que fala com todos

HUB ?? NB.: Todos os enderecos IP estão na mesma rede 10.0.0.0/24

(9)

Como criar esta rede com a tecnologia atual?

Switch com VLANs?? Não!! H9 tem interface e IP únicos 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

NB.: Todos os enderecos IP estão na mesma rede 10.0.0.0/24

(10)

Como criar esta rede com a tecnologia atual?

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!! 

NB.: Todos os enderecos IP estão na mesma rede 10.0.0.0/24

(11)

Como criar esta rede com a tecnologia atual?

A outra forma é usar

OpenFlow…

Criando seu próprio

software de controle para os encaminhadores

(12)

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?

(13)

Como funciona o

Openflow?

(14)

Ethernet Switch

Estrutura interna de um switch

(15)

Data Path (Hardware)

Control Path

Control Path (Software)

15

(16)

Data Path (Hardware)

Control Path OpenFlow

Controlador OpenFlow

Protocolo OpenFlow (SSL/TCP)

16

(17)

Controlador

PC Camada de Hardware Camada de Software Tabela de Fluxos MAC src MAC dst IP Src IP Dst TCP sport TCP dport Action

Cliente OpenFlow

* * 5.6.7.8 * * * port 1 port 4 port 3 port 2 port 1 1.2.3.4 5.6.7.8

Exemplo de Openflow

17

(18)

Controle Centralizado vs Distribuído

Ambos os cenários são possiveis com OpenFlow

Controle Centralizado

OpenFlow Switch OpenFlow Switch OpenFlow Switch Controlador

Controle Distribuido

OpenFlow Switch OpenFlow Switch OpenFlow Switch Controlador 18 Controlador Controlador

(19)

O controlador se comunica com o equipamento usando o protocolo

openflow através de um canal seguro

SWITCH Tabela de fluxos Canal seguro Plano de Controle Controlador (Sistema Operacional de rede) Plano de Dados

OpenFlow

(20)

Funcionamento

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

(21)
(22)

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

(23)

OpenFlow Básico

Entradas na tabela de fluxos

Switch

Port MAC src MAC dst

Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport

Regra Ação Estatísticas

1. Encaminhar pacote para zero(nenhuma) ou mais portas

2. Encapsular e transmitir ao controlador 3. Envia ao canal de processamento normal 4. Modificar campos

5. Outras extensões que adicionar!

+ máscara que coincida com os campos

Pacote+ contadores de bytes

23

VLAN pcp

IP ToS

(24)

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)

(25)

Comportamento reativo ou

pró-ativo (pré-povoado)

Ambos os cenários são possíveis com OpenFlow

Reativo

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)

(26)

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) (...)

(27)

Controladores de código aberto

27

Nome Lang Plataforma Licenciamento Autor Nota

OpenFlow Reference C Linux OpenFlow License Stanford/Ni cira

Não é projetado para ser extensível

NOX Python, C++

Linux 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 Java Win, Mac, Linux

LGPL Zheng Cai (Rice)

Trema Ruby, C Linux GPL NEC Inclui emulador para testes

RouteFlow ? Linux Apache CPqD (Brazil)

encaminhamento IP como um serviço (quagga)

(28)

Ciena Coredirector NEC IP8800

Hardware que suporta SDN

(Redes Definidas por Software)

Juniper MX-series HP Procurve 5400 Pronto 3240/3290 WiMax (NEC) PC Engines Netgear 7324 28

(29)

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”...

(30)

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)

(31)

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.

(32)

Leandro Bertholdo

berthold@pop-rs.rnp.br

Referências

Documentos relacionados

após a administração, a curto prazo, da dose recomendada para o tratamento da ansiedade transitória e dos distúrbios de ansiedade (por exemplo, 0,75 a 4 mg por dia). Certos

O objetivo deste trabalho foi avaliar, in vitro, os efeitos anti-helmínticos do extrato aquoso das folhas e do extrato metanólico dos frutos de algaroba sobre cultivos de larvas de

Júri de Seleção de trabalhos Ginecologia/ Obstetrícia Hélder Ferreira Luís Guedes Martins Júri de Prémio CO Ginecologia/ Obstetrícia Anabela Branco José Cabral Luísa Vieira

Os valores em percentagem de água no solo, em relação à capacidade de água utilizável pelas plantas, foram inferiores ou próximos dos normais (61-90) para a época em todo

Estratégias (Plano de Ações Prioritárias): estas estratégias estão relacionadas com o crescimento da organização. Os sócios que não estivem dispostos a investir,

A versão mais recente 1.1.1 do MxMC, incluindo informações detalhadas nas notas relativas à versão, estará disponível, em princípio, a partir de quinta-feira,

Compete ao conselho geral emitir parecer sobre todas as questões solicitadas pelo conselho de administração da ULS, nomeadamente sobre programas e planos de actividade e

No período de primeiro de janeiro a 30 de junho de 2011, foram encaminhadas, ao Comitê de Segurança do Paciente da instituição sede do estudo, 218 notificações de