3. 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-switch
en semi-vivo, en python y utilizando vi!!!
4. Pero antes de programar...
• ...tenemos que hablar de...
– openvswitch
– mininet y de virtualización ligera
• en particular de Linux namespaces
– Ryu
5. 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
6. 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
18. Openflow – Negociación de la sesión
Switch Controlador
Conexión TLS
MAIN_DISPATCHER
CONFIG_DISPATCHER
HANDSHAKE_DISPATCHER
deconexión TLS
DEAD_DISPATCHER
Ryu fases de negociación
19. Openflow – Máquina de estados
ref: Flowgrammable, http://flowgrammable.org/sdn/openflow/state-machine/
Controlador Switch
20. 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/
21. 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 tabla
indicada
Meter Aplica un rate-limiter
Experimenter Extensión de instrucciones
http://flowgrammable.org/sdn/openflow/actions/#tab_ofp_1_3
Instrucciones
Acciones
22. Por qué es importante?
Data plane
Control Plane
Network Operating System
BGP FW STP
???
23. 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
24. Por qué es importante?
Apps
S.O.
Hardware
OCP
Pica8
Alpha Networks
Fabricantes “estándares”
Opendaylight
Ryu, POX
Open Network Linux
Open dataplane
Fabricantes “estándares”
Las apps que ustedes
desarrollen
36. 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...
37. 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)
1 is-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
38. La nube de ARP...o la Matrix de los dispositivos finales
39. 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
41. How to Start…Tools of the Trade
• An attempt to motivate and clarify Software-
Defined Networking (SDN)
– http://www.youtube.com/watch?v=WVs7Pc99S7w