redes programables v1.0
Post on 17-Jul-2015
155 Views
Preview:
TRANSCRIPT
1e Meetup de Programabilidad de redesCiudad de México
Miércoles 29 de Abril del 2015
Redes programables
Javier Liendojaliendo(-arroba-)cisco.com
Objetivos de la sesión
• Definir qué es programabilidad de redes. Ver/sentir cómo es “programar una red”
• Evangelizar sobre lo que promete la programabilidad de redes
– Inovación, Inovación, Inovación
• Programar un hub, un switch y un firewall-switchen semi-vivo, en python y utilizando vi!!!
Pero antes de programar...
• ...tenemos que hablar de...
– openvswitch
– mininet y de virtualización ligera
• en particular de Linux namespaces
– Ryu
Mi agenda personal / escondida
• ~2 horas “de comida para el pensamiento”
– La programabilidad de redes va directo al corazón de lo que nosotros ingenieros de redes hacemos
• Tratar de convencerte de que estamos en un punto de inflección en nuestro oficio y que estamos a punto de vivir una explosion en la inovación
• Hacer que te intereses en la programabilidad de redes
Temas logísticos
• Preguntas
• Láminas de referencia
• Acceso a la presentación
– http://www.slideshare.net/
• Acceso al código
– https://github.com/jliendo/sdn_apps
Planos en un dispositivo de red
• Abstracción de un dispositivo de red
Plano de datos
Plano de Control
Plano de Administración
(Breve detour)
Plano de datos
Plano de Control
Plano de Administración OVSDBNetconf/YangSNMPExpect...
BGPOSPFOpenflow...
Modelo de plano de control distribuido
• Sincronización de estado
1011001
1011001
ARP
OSPF
SPT
BGP
ARP
OSPF
BGP
SPT
Modelo de plano de control centralizado
• Sincronización de estado
Plano de control
Plano de datosPlano de datos
Plano de datos
Modelo de plano de control centralizado
OF Match OF Match OF Match OF Match
Protocolo “X”
Controlador
1011001 1011001
Openflow
Openflow pipeline
Ref: OpenFlow Switch Specification 1.3.0, sección 5.1
Ref: OpenFlow Switch Specification 1.3.0, sección 5.1
Openflow
in_port = 1, smac = 00:00:ca:fe:ba:be, sip=10.0.0.1?
in_port = 1, sip=10.0.0.1, dport = 80?
ethertype = 0x0806?
1011001
out_port = 6
Switch openflow-habilitado
patealo!
Controladortíralo!
Openflow – Negociación de la sesión
Switch Controlador
Conexión TLS
MAIN_DISPATCHER
CONFIG_DISPATCHER
HANDSHAKE_DISPATCHER
deconexión TLSDEAD_DISPATCHER
Ryu fases de negociación
Openflow – Máquina de estados
ref: Flowgrammable, http://flowgrammable.org/sdn/openflow/state-machine/
Controlador Switch
Openflow - Mensajes
ref: http://flowgrammable.org/sdn/openflow/message-layer/
ref: http://ryu.readthedocs.org/en/latest/ofproto_v1_3_ref.html
Algunos son síncronos
Algunos son asíncronos
ref: http://flowgrammable.org/sdn/openflow/message-layer/
Openflow – Acciones e Instrucciones
Instrucción Descripción
Apply Aplica la acción inmediatamente, no hace caso al action-set del paquete
Clear Borra el action-set
Write Action Aplica la lista de acciones al action-set
Write Metadata Actualizata la metadata
Goto Continua el proceso en la tablaindicada
Meter Aplica un rate-limiter
Experimenter Extensión de instrucciones
http://flowgrammable.org/sdn/openflow/actions/#tab_ofp_1_3
Instrucciones
Acciones
Por qué es importante?
OF Match OF Match OF Match OF Match
Network Operating System
Apps Apps Apps !!! Desarrollado por la comunidad
???
Desarrollado por un fabricante
Por qué es importante?
Apps
S.O.
HardwareOCPPica8Alpha NetworksFabricantes “estándares”
OpendaylightRyu, POXOpen Network LinuxOpen dataplaneFabricantes “estándares”
Las apps que ustedesdesarrollen
Openvswitch
Ref: http://networkheresy.com/2011/06/06/an-extremely-brief-conceptual-introduction-to-open-vswitch/
Mininet
ref: Bob Lantz, Open Network Laboratory http://conferences.sigcomm.org/sigcomm/2014/doc/slides/mininet-intro.pdf
Mininet
ref: Bob Lantz, Open Network Laboratory http://conferences.sigcomm.org/sigcomm/2014/doc/slides/mininet-intro.pdf
Mininet
ref: Bob Lantz, Open Network Laboratory http://conferences.sigcomm.org/sigcomm/2014/doc/slides/mininet-intro.pdf
Mininet
ref: Bob Lantz, Open Network Laboratory http://conferences.sigcomm.org/sigcomm/2014/doc/slides/mininet-intro.pdf
La obsolecencia de L2/L3..o cuando ARP es el único protocolo que necesitarás jamás...
• L2 y L3 van a estar démodé
– Las fronteras entre L2 y L3 pueden ser re-definidas programáticamente
• Basadas en el contexto (i.e. el ambiente externo)
• Basado en requerimientos de negocio
• ARP va a ser el único protocolo que va a ser necesario...o quizás no...
La nube de ARP
Global Mac Address Table(pre-loaded?)
10.0.0.128
10.0.0.1/16
192.168.1.73/28
172.16.19.14/24
192.168.254.128/24
who-has 192.168.254.128(XXX 128’s def gw)
1is-at 00:00:ca:fe:ba:be
2
3
who-has 10.0.0.128(XXX 128’s def gw)
4
is-at 00:00:ca:fe:ba:be
5
6
Resumen
• Estamos en un punto de inflección en donde la inovación en nuestro campo está por explotar
• La programabilidad de redes va directo al corazón de lo que nosotros ingenieros de redes, hacemos
Cómo empezar?
• Mininet– http://mininet.org/
• Openvswitch– http://openvswitch.org/
• Ryu– http://osrg.github.io/ryu/
• Openflow Specs– https://www.opennetworking.org/sdn-
resources/technical-library#tech-spec
How to Start…Tools of the Trade
• An attempt to motivate and clarify Software-Defined Networking (SDN)
– http://www.youtube.com/watch?v=WVs7Pc99S7w
top related