Conceptos de SDN en el marco de networking en la 'nube' Marcelo Odin
Agenda Qué es SDN? Arquitectura Para qué sirve? Aplicaciones Qué es la nube? Qué es OpenStack? Arquitectura de OpenStack Neutron Configuración de red con Neutron Conclusiones Referencias
Qué es SDN? Complejidad y desafíos de redes actuales Hoy todo en el hardware, sistemas cerrados, sistemas distribuídos (más complejos) más difíciles de cambiar rápido (imposible sin redeployar), muy difícil prototipar Nuevas tecnologias en el horizonte IoT, Connected Cars, Programable City Desagregar hardware de software Plano de control / Plano de forwarding
Arquitectura Comparativa entre IT y networking Ejemplo OSPF OpenFlow Open vswitch OpenDaylight Ref: https://www.opennetworking.org/sdn-resources/sdn-definition
Open* OpenFlow Southbound API Reutiliza tablas de forwarding Trabaja con flujos (cualquier granularidad) Matchea header y toma acción Open vswitch Habla OpenFlow Virtual o instalado en hardware
Aplicaciones Agregar distributed load balancing para optimizar recursos de red coordino desde el plano de control el balanceo en toda la red Mininet VM que deja crear hosts, switches y controller, con diversas topología para prototipado rápido Nuevos desafíos e innovación Datacenters, Telcos para soportar nuevas tecnologías
Qué es OpenStack? Recursos, recursos virtualizados Un orquestrador sirve para poder usar eficientemente esos recursos; elástico, escalable. OpenStack es el orquestrador A eso se le llama 'nube'. La 'nube' más una consola de autoaprovisionamiento, tenemos IaaS OpenStack dirige, no hace música
Arquitectura de OpenStack Neutron Dirige configuración de networking Una API usada por otros componentes de OpenStack Crear redes, switches y routers virtuales distribuídos entre nodos de cómputo Plugin para manejar distintas tecnologías de virtualización de red Big Switch, Brocade, OVS, VMWare NSX, Midonet de Midokura, ML2 (drivers)
Configuración de Neutron (I) Nodo Controller neutron-server (api) Nodo Networking plugin agent: neutron-*-agent (p.e. neutronopenvswitch-agent) dhcp agent: neutron-dhcp-agent L3 agent: neutron-l3-agent Nodo compute plugin agent: neutron-*-agent
Configuración de Neutron (II) Compute Neutron-openvswitch-agent /etc/neutron/neutron.conf /etc/neutron/plugins/ml2/ml2_conf.ini Neutron-rootwrap /etc/neutron/rootwrap.conf Networking Neutron-metadata-agent /etc/neutron/neutron.conf /etc/neutron/metadata_agent.ini Neutron-openvswitch-agent /etc/neutron/neutron.conf /etc/neutron/plugins/ml2/ml2_conf.ini neutron-l3-agent /etc/neutron/neutron.conf Controller Neutron-server /etc/neutron/neutron.conf /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/l3_agent.ini neutron-rootwrap /etc/neutron/rootwrap.conf (ovsdb) neutron-dhcp-agent /etc/neutron/neutron.conf /etc/neutron/dhcp_agent.ini neutron-ns-metadata-proxy hay uno por cada router
Escenario de ejemplo
Cómo lo implementa Neutron (I) http://docs.openstack.org/admin-guide-cloud/content/under_the_hood_openvswitch.html
Como lo implementa Neutron (II) http://docs.openstack.org/admin-guide-cloud/content/under_the_hood_openvswitch.html
Conclusiones Las redes actuales no se adaptan bien a los requerimientos de nuevas tecnologías SDN puede levantar esas barreras OpenStack es un orquestrador de 'nube' Conviene conocer tecnologías subyacentes SDN y OpenStack se retroalimentan Skills sobre SDN y OpenStack o similar útiles en el futuro
Referencias How SDN will Shape Networking - Nick McKeown Videos de David Mahler ONF (https://www.opennetworking.org) Coursera: Software Defined Networking OpenDaylight (http://www.opendaylight.org/) OpenFlow (http://openvswitch.org/) Mininet (http://mininet.org/) OpenStack Cloud Administrator Guide, Networking http://docs.openstack.org/admin-guide-cloud/content/ ch_networking.html
Preguntas?