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

Tecnologias, conceitos e serviços emergentes: Openflow

  • Upload
    naoko

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

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? - PowerPoint PPT Presentation

Citation preview

Page 1: Tecnologias, conceitos e serviços emergentes: Openflow

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

1

Page 2: Tecnologias, conceitos e serviços emergentes: Openflow

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

2

Page 3: Tecnologias, conceitos e serviços emergentes: Openflow

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

3

Page 4: Tecnologias, conceitos e serviços emergentes: Openflow

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

4

Page 5: Tecnologias, conceitos e serviços emergentes: Openflow

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)

5

Page 6: Tecnologias, conceitos e serviços emergentes: Openflow

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

6

Page 7: Tecnologias, conceitos e serviços emergentes: Openflow

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

H9 é o único que fala com todos

Page 8: Tecnologias, conceitos e serviços emergentes: Openflow

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

Page 9: Tecnologias, conceitos e serviços emergentes: Openflow

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

H9 é o único que fala com todos

Page 10: Tecnologias, conceitos e serviços emergentes: Openflow

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

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

H9 é o único que fala com todos

Page 11: Tecnologias, conceitos e serviços emergentes: Openflow

Como criar esta rede com a tecnologia atual?

A outra forma é usar OpenFlow…Criando seu próprio software de controle para os encaminhadores

A outra forma é usar OpenFlow…Criando seu próprio software de controle para os encaminhadores

Page 12: Tecnologias, conceitos e serviços emergentes: Openflow

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?

12

Page 13: Tecnologias, conceitos e serviços emergentes: Openflow

Como funciona o Openflow?

13

Page 14: Tecnologias, conceitos e serviços emergentes: Openflow

Ethernet SwitchEthernet Switch

Estrutura interna de um switch

14

Page 15: Tecnologias, conceitos e serviços emergentes: Openflow

Data Path (Hardware)Data Path (Hardware)

Control PathControl PathControl Path (Software)Control Path (Software)

15

Estrutura interna de um switch

Page 16: Tecnologias, conceitos e serviços emergentes: Openflow

Data Path (Hardware)Data Path (Hardware)

Control PathControl Path OpenFlowOpenFlow

Controlador OpenFlowControlador OpenFlowProtocolo OpenFlow (SSL/TCP)

16

Estrutura interna de um switch

Page 17: Tecnologias, conceitos e serviços emergentes: Openflow

Controlador

PC

Camada de Hardware

Camada deSoftware

Tabela de Fluxos

MACsrc

MACdst

IPSrc

IPDst

TCPsport

TCPdport Action

Cliente OpenFlow

**5.6.7.8*** port 1

port 4port 3port 2port 1

1.2.3.45.6.7.8

Exemplo de Openflow

17

Page 18: Tecnologias, conceitos e serviços emergentes: Openflow

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

Page 19: Tecnologias, conceitos e serviços emergentes: Openflow

O controlador se comunica com o equipamento usando o protocolo openflow através de um canal seguro

SWITCH

Tabela de fluxos

Canal seguroPlano de Controle

Controlador(Sistema

Operacionalde rede)

Plano de Dados

Proto

colo

Openf

low

SSL/TCP

OpenFlow

Page 20: Tecnologias, conceitos e serviços emergentes: Openflow

Funcionamento

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

Page 21: Tecnologias, conceitos e serviços emergentes: Openflow

Funcionamento

Page 22: Tecnologias, conceitos e serviços emergentes: Openflow

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

Page 23: Tecnologias, conceitos e serviços emergentes: Openflow

OpenFlow Básico Entradas na tabela de fluxos

SwitchPort

MACsrc

MACdst

Ethtype

VLANID

IPSrc

IPDst

IPProt

L4sport

L4dport

Regra Ação Estatísticas

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

2. Encapsular e transmitir ao controlador3. Envia ao canal de processamento normal4. Modificar campos5. Outras extensões que adicionar!

+ máscara que coincida com os campos

Pacote+ contadores de bytes

23

VLANpcp

IPToS

Page 24: Tecnologias, conceitos e serviços emergentes: Openflow

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)

24

Page 25: Tecnologias, conceitos e serviços emergentes: Openflow

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)

25

Page 26: Tecnologias, conceitos e serviços emergentes: Openflow

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

Page 27: Tecnologias, conceitos e serviços emergentes: Openflow

Controladores de código aberto

27

Nome Lang Plataforma Licenciamento Autor Nota

OpenFlow Reference

C Linux OpenFlow License

Stanford/Nicira

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)

Page 28: Tecnologias, conceitos e serviços emergentes: Openflow

Ciena Coredirector

NEC IP8800

Hardware que suporta SDN (Redes Definidas por Software)

Juniper MX-series

HP Procurve 5400

Pronto 3240/3290

WiMax (NEC)

PC EnginesNetgear 7324

28

Page 29: Tecnologias, conceitos e serviços emergentes: Openflow

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

29

Page 30: Tecnologias, conceitos e serviços emergentes: Openflow

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)

30

Page 31: Tecnologias, conceitos e serviços emergentes: Openflow

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/

Page 32: Tecnologias, conceitos e serviços emergentes: Openflow

Leandro [email protected]

32