41
Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Embed Size (px)

Citation preview

Page 1: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Redes Definidas por Software

Francisco Javier Ros Muñoz

Google Developer Group MurciaFebrero de 2015

Page 2: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG Murcia

SDN

CEEIM, 28/02/15

Software-Defined Networks

Page 3: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Nick McKeown, StanfordMartin Casado, Stanford Scott Shenker, UC Berkeley

2007

2011

2012

$1.26 billion

VMware NSXTM

Page 4: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Page 5: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

2015 2016 2017 2018 20190.0$

0.5$

1.0$

1.5$

2.0$

2.5$

3.0$

3.5$

4.0$

Previsión mercado mundial ($B)

SDNCAGR = 66.1%

Page 6: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

¿Por qué surge SDN?

Page 7: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Estado de la industria de las telecomunicaciones

Alto número de dispositivos heterogéneos

Sistemas operativos complejos

switch

router

firewall

balancer

DPI

OSPF MPLSBGP IPv6

OSPF-TERSVP-TE

IPsecVPN VLAN NAT

ACL

Page 8: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Estado de la industria de las telecomunicaciones

CLIs propietarias e incompatibles

Peligro de vendor lock-in

Lento proceso de innovación

desplegar un nuevo servicio es complejo y costoso

Page 9: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Innovación lenta: el caso de TRILL

Genial, tenemos una red redundante y de alta capacidad en nuestro centro de datos...

¡Vaya! STP impide el uso de enlaces redundantes

¿? Se detecta la necesidadJunio 2005 Se crea el grupo de trabajo IETF TRILLJulio 2011 Se publica la especificación del protocoloAbril 2013 Primer switch TRILL en el mercado

8-10 años

Page 10: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

SDN pretende solucionar los problemas anteriores... ¿pero qué son las Redes Definidas

por Software?

Page 11: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Separación de los planos de control y datos

Control protocolos distribuidos

Datos reenvío de tráfico

Red tradicional

Control centralizado

Datos reenvío de tráfico

SDN

Page 12: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Centralización del control

Informació

n de

estado de la

red

Modificación del

estado de la red

Page 13: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Programabilidad de la red

802.1QTRILL

802.1QbbLLDP

Red tradicional

Modelo closed box

Southboundprotocol

NorthboundAPI

Modelo open interfaces+ innovación+ flexibilidad

+ automatización

SDN

Page 14: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Antecedentes

Routing Control Platform

RCP

eBGP

eBGP

eBGPiBGP

Mobile Switching Center

MSCUMTS R99

CS-MGWUMTS R4

MSC ServerUMTS R4

Active Networksdata+code

A A

run code

y muchos más...

Page 15: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Entonces, ¿por qué ahora?

Complejidad centros de datos,auge de cloud computing

Dificultad de despliegue de nuevosservicios en SPs

OpenFlow permite simplificarel hardware y abaratar costes

Page 16: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Southbound

Page 17: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Protocolos

El controlador obtiene información de los dispositivosde red y los programa mediante un protocolo southbound

Múltiples opciones, desde protocolos de gestión de redtradicionales hasta soluciones SDN específicas:

OpenFlow OF-CONFIG OVSDBForCES Netconf OpFlexPCEP SNMP BGPI2RS ...

Southboundprotocol

Page 18: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

OpenFlow

Regla Acción Estadísticas

port=2,dmac=X DROP 100 pkt, 125 KB

dip=10.1.0.2 FORWARD port=4 0 pkt, 0 KB

port=1,dtcp=80 CONTROLLER 3 pkt, 2 KB

Flow Table (hardware)OpenFlow firmware (software)

TLS/TCP

Page 19: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

OpenFlow

EstadísticasContadores de paquetes y bytes

Acción1. Envía paquete por puerto(s)2. Encapsula y envía al controlador3. Descarta el paquete4. Modifica las cabeceras5. ...6. Combinación de las anteriores

ReglaSwitch

PortVLAN

IDMACsrc

MACdst

Ethproto

IPsrc

IPdst

IPproto

TCPsport

TCPdport

Page 20: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Mensajes OpenFlow

HELLO, ECHO REQUEST, ECHO REPLY,PACKET_IN, PACKET_OUT, FLOW_MOD,PORT_STATUS, etc.

paquete de datosSi no se cumple ninguna regladefinida en la tabla de flujos,o la regla indica que se envíeel paquete al controlador...

El paquete se encapsula enun mensaje PACKET_IN y seenvía al controlador

Page 21: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Mensajes OpenFlow

HELLO, ECHO REQUEST, ECHO REPLY,PACKET_IN, PACKET_OUT, FLOW_MOD,PORT_STATUS, etc.

paquete de datos

El controlador encapsula unpaquete de datos en unmensaje PACKET_OUT que leindica al switch por qué puerto(s)debe transmitirlo

Page 22: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Mensajes OpenFlow

HELLO, ECHO REQUEST, ECHO REPLY,PACKET_IN, PACKET_OUT, FLOW_MOD,PORT_STATUS, etc.

El controlador programa la tablade flujos del switch por mediode mensajes FLOW_MOD

Regla Acción Estadísticas

dip=10.1.0.2 FW port=4 0 pkt, 0 KB

Page 23: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Controladores

Page 24: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Page 25: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Page 26: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Northbound

Page 27: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

API

Cada controlador ofrece su propia API Northbound,no hay (por ahora) interfaces estandarizadas

Son abundantes las interfaces REST, Java y Python

- Topología de red- Seguimiento de hosts- Gestión de switches

En general, ¿qué ofrecen?

- Programación de flujos- Estadísticas de uso- Interfaz con plataformas de cloud computing

Page 28: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Ejemplo

msg = of.ofp_packet_out()msg.actions.append(of.ofp_action_output(port = of.OFPP_FLOOD))msg.data = event.ofpself.connection.send(msg)

msg = of.ofp_flow_mod()msg.match = of.ofp_match.from_packet(packet, event.port)msg.idle_timeout = 10msg.hard_timeout = 30msg.actions.append(of.ofp_action_output(port = port))self.connection.send(msg)

event.connection.addListenerByName("PacketIn", l2._handle_PacketIn)

mac_entry = ht.getMacEntry(dst_mac)log.debug(“%s:%s:%s”, mac_entry.dpid, mac_entry.port, mac_entry.macaddr)for ipaddr in mac_entry.ipAddrs:

do_something(ipaddr)

Page 29: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG Murcia

print “Hello world!”;

CEEIM, 28/02/15

APIs de alto nivelLas APIs anteriores están muy centradas en el conceptode flujo que define OpenFlow

Razonar acerca del estado de la red en términos de flujos puede ser complejo y propenso a error

Es recomendable definir APIs de más alto nivel

vsOpenFlow-based API

vsPolicy-based API

Page 30: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

APIs basadas en políticas

Intentsdí qué quieres hacer,

no cómo quieres hacerlo

Las políticas expresan cómo se debe comportar la red,no los flujos que hay que programar para ello

Cisco ACI / OpFlex Policies

ONOS Intent Framework

OpenDaylight Network Intent Composition

OpenStack Group-Based Policy

P.ej. un intent puede definir que dos VM deban poder comunicarse,independientemente de en qué servidor se hallan en un momento dado

Page 31: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Casos de uso

Page 32: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

CEEIM, 28/02/15 Francisco J. Ros @ GDG Murcia

Ingeniería de tráfico

S. Jain et al., “B4: Experience with a Globally-Deployed Software Defined WAN”, ACM SIGCOMM 2013.

WAN SDN que interconecta todos sus centros de datos

a) Copias de datos de usuario (email, docs, etc.) para disponibilidad / durabilidadb) Almacenamiento remoto para procesos de computaciónc) Estado de sincronización push de datos a gran escala entre centros de datos

volu

men

sens

ibili

dad

a la

tenc

ia

prio

ridad

B4

Page 33: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

CEEIM, 28/02/15

Ingeniería de tráfico

B4

S. Jain et al., “B4: Experience with a Globally-Deployed Software Defined WAN”, ACM SIGCOMM 2013.Francisco J. Ros @ GDG Murcia

≈ 100% utilizaciónen enlaces

Page 34: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

CEEIM, 28/02/15

Francisco J. Ros @ GDG Murcia

Redes en la nubeSDN puede implementar las redes virtuales y forzar la separación entre usuarios

Page 35: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

NFVLos servicios de red se implementan normalmente como middleboxes especializados

Requieren estar en el camino de datos entre cliente y servidor, lo que complica el despliegue

Difícil añadir / eliminar servicios

Network Function VirtualizationLos servicios de red se ejecutan en máquinas virtuales (nubes públicas o privadas) que se puedan instanciar, mover y eliminar con sencillez

SDN para programar los middleboxes o para definir el camino de funciones que debe atravesar un flujo

Page 36: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

NFV

Page 37: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Conclusiones

Page 38: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Page 39: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG MurciaCEEIM, 28/02/15

Page 40: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco J. Ros @ GDG Murcia

SDN

Big Data

CEEIM, 28/02/15

Open source como fuente de innovación

Buenos tiempos para las TIC

Nuevo perfil del profesional TIC

Internet of Things

5GCloud

Computing NFV

Page 41: Redes Definidas por Software Francisco Javier Ros Muñoz Google Developer Group Murcia Febrero de 2015

Francisco Javier Ros Muñoz<[email protected]>http://masimum.inf.um.es

http://es.linkedin.com/in/franciscojros

Gracias