fbpx
Wikipedia

Open vSwitch

Open vSwitch, abreviado OVS, es un software de código abierto, diseñado para ser utilizado como un switch virtual en entornos de servidores virtualizados. Es el encargado de reenviar el tráfico entre diferentes máquinas virtuales (VMs) en el mismo host físico y también reenviar el tráfico entre las máquinas virtuales y la red física. Esta bajo licencia Apache 2.0.

Open vSwitch
Información general
Tipo de programa software libre
Licencia Licencia Apache, versión 2.0
Información técnica
Programado en C
Versiones
Última versión estable 2.9.0
20 de febrero de 2018
Enlaces
Sitio web oficial
Repositorio de código

Introducción

Open vSwitch es un software multicapa para switches, cuyo objetivo es la implementación de una plataforma de calidad que soporta interfaces de gestión estándar y exponga las funciones de forwarding de forma programable. Podemos decir, que Open vSwitch es una de las implementaciones más populares de OpenFlow. Está bien adaptado para funcionar como un switch virtual en ambientes implementados con máquinas virtuales. Además de exponer interfaces estándar de control y visibilidad con la capa de red virtual, fue diseñado para soportar una distribución a través de múltiples servidores físicos. Open vSwitch soporta numerosas tecnologías de virtualización basadas en Linux:

  • Xen/XenServer: es un monitor de máquinas virtuales de código abierto.
  • KVM (Kernel-Based-Virtual Machine): es una solución para implementar virtualización completa Linux.
  • VirtualBox: es un software para realizar la virtualización de equipos.
  • Proxmox VE: es una solución completa de virtualización de servidores basada en sistemas de código abierto. Permite la virtualización tanto sobre KVM como contenedores y gestiona máquinas virtuales, almacenamiento, redes virtualizadas y clústeres HA.

También se ha integrado en muchos sistemas de gestión virtuales como OpenStack, OpenQRM, OpenNebula y oVirt. Open vSwitch permite más capacidades que los módulos regulares de kernel Linux, aun cuando el Datapath está dentro del propio kernel GNU/Linux, lo que hace ideal para la construcción de esquemas de redes virtuales para nubes o para investigación de nuevos protocolos de red. La mayor parte del código está escrito sobre una plataforma independiente en C y es fácilmente portable a otros entornos.

Características

La versión actual de Open vSwitch es compatible con las siguientes características:

  • Modelo estándar de VLAN 802.1Q con puertos troncales y de acceso.
  • NetFLow y sFlow: posibilidad de sacar netfllow (paquetes del protocolo NEtFlow que sirven para capturar información sobre el tráfico IP) y sFlow (paquetes del protocolo sFlow diseñado para monitorización de interfaces, dispositivos wireless y del equipo anfitrión) entre máquinas virtuales, que pueden ser capturados y analizados. Detectar cualquier anomalía de la red, malware, etc.
  • OpenFlow 1.0 o extensiones posteriores.
  • SPAN (Switch port Analyzer) y RSPAN ( Remote SPAN ): Nos permite hacer mirroring de un puerto o incluso de un bridge entero, es decir, enviar una copiar de los paquetes vistos en un puerto del swicth (o VLAN entera) a una conexión para el monitoreo de red en un puerto del switch y de esta forma poder llevar a cabo el diagnóstico de errores en la red.
  • LACP, Bonding (IEE 802.1 AX-2008): permite balancear el tráfico entre varios enlaces, LACP es a nivel de switch exterior (trunking) y el bonding a nivel de máquina virtual.
  • STP, del inglés Spanning Tree Protocol (IEEE 802.1D-1998): es un protocolo de red de nivel 2 del modelo OSI. Su función es la gestión de bucles en topologías de red. Los bucles ocurren cuando hay rutas alternativas hacia un mismo destino, necesarias para proporcionar redundancia y ofrecer mayor fiabilidad a la red. Entonces los dispositivos de interconexión de nivel de enlace reenvían indefinidamente las tramas broadcast y multicast, al no existir un campo TTL (tiempo de vida) en las tramas de la capa 2, creando así un bucle infinito que consume el ancho de banda. STP calcula una única ruta libre de bucles entre los dispositivos de la red pero manteniendo los enlaces redundantes desactivados como reserva, con el fin de activarlos en caso de fallo.
  • Políticas de tráfico por puerto, firewalling.
  • QoS: Para definir niveles de calidad de servicio como disponibilidad, ancho de banda, ratio de error, latencia, priorizar tráfico, etc.
  • Protocolos de túnel Múltiples (GRE, VXLAN, IPsec, GRE y VXLAN sobre IPsec): GRE Generic Routing Encapsulation es un protocolo de túnel desarrollado por Cisco Systems que puede encapsular una variedad de protocolos de capa de red dentro de enlaces virtuales punto a punto a través del protocolo IP.
  • Soporte para Bidirectional Forwarding Detection (BFD)
  • Soporte para HFSC qdisc: es un algoritmo que permite priorizar el tráfico en una red basándose en QoS (calidad de servicio) y CBQ (Class-based quequing o Encolamiento Basado sobre Clases) que permite que el tráfico este organizado por clases y así compartir el ancho de banda (shaping).
  • Selección de herramientas para el monitoreo de enlaces 802.1ag CFM, estándar para redes de puentes virtuales y metropolitanas, que define una serie de protocolos y prácticas para operaciones, administración y mantenimiento para puentes y redes locales (LAN).

Descripción

 
Proceso de intercambio de paquetes con OVS

Open vSwitch dispone de un diseño de mayor complejidad que los "bridges", siendo este compuesto por varios componentes. Mientras que los bridges solo se ejecutan en el espacio del kernel del Host, el Open vSwitch, al necesitar un código más complejo que los bridges para poder proporcionar todas las funcionalidades avanzadas, aparte de hacer uso del espacio del kernel, también se ejecuta en el user space, y así puede tomar la decisión de cómo procesar los “nuevos” paquetes.

Sabemos que el kernel space y el user space son dos separaciones lógicas de la memoria que tienen los Sistemas Operativos, y así poder proteger al sistema de fallos o ataques. En el espacio del kernel se ejecutarían los módulos y los drivers del sistema, mientras que en el espacio de usuarios se encontraría la mayoría del Software. Cuando nos referimos a un paquete "nuevo" queremos decir que es un tipo de paquete perteneciente a un flujo del cual no se ha realizado todavía ninguna decisión de forwarding, y por tanto dicha decisión no puede encontrarse en la caché.

Cuando un paquete de un nuevo flujo llega al Open vSwitch, este realizará una decisión bajo el "user space", pero los sucesivos paquetes de ese flujo serán encaminados directamente por el "kernel space", así es mucho más rápido y por lo tanto mayor rendimiento.

Componentes

Los principales componentes son:

  • Ovs-vswitchd: un demonio que implementa las funcionalidades del switch. (junto con el módulo del kernel openvswitch_mod.ko), con un módulo del núcleo Linux para conmutación basada en flujos. Implementa el comportamiento ante VLANs, el bonding o la monitorización.

Este proceso es el Core del Open vSwitch, y se ha de comunicar con los otros dos componentes. El proceso ovs-vswitchd debe comunicarse con el ovsdb-server para poder guardar y aplicar las configuraciones almacenadas en la base de datos albergada por el servidor ovsdb-server. Esta comunicación se realiza mediante sockets Unix con el protocolo OVSDB. El módulo del kernel openvswitch_mod.ko también debe ser contactado por el demonio ovs-vswitchd para poder tomar decisiones sobre los nuevos flujos que proporciona el kernel. Para ello utiliza el protocolo netlink el cual permite comunicar el espacio del kernel con el del usuario.

  • Ovsdb-server: un servidor de base de datos ligero que ovs-vswitchd consulta para obtener su configuración. En la base de datos que gestiona se encuentran todos los parámetros de configuración del Open vSwitch, los cuales se almacenan de forma que dicha información se mantenga tras un reinicio del Host.
 
Descripción OVS

Por ejemplo, algunas de las tablas que existen en esa base de datos, las cuales contienen la configuración de sus elementos correspondientes son:

  • Open_vSwitch Open vSwitch configuration.
  • Bridge Bridge configuration.
  • Port Port configuration.
  • Interface One physical network device in a Port.
  • Flow_Table OpenFlow table configuration
  • QoS Quality of Service configuration
  • Queue QoS output queue.
  • Mirror Port mirroring.
  • Controller OpenFlow controller configuration.
  • Manager OVSDB management connection.
  • NetFlow NetFlow configuration.
  • SSL SSL configuration.
  • sFlow sFlow configuration.
  • IPFIX IPFIX configuration.
  • Flow_Sample_Collector_Set Flow_Sample_Collector_Set configuration.

Esta base de datos puede ser modificada desde elementos externos utilizando el protocolo Open vSwitch Database Management Protocol (OVSDB).

  • El módulo del kernel openvswitch_mod.ko es quien maneja el packet switching. Ha sido designado para ser muy simple y rápido, por lo que no puede ser modificado mediante Openflow, ni llevar a cabo el borrado de flujos, tan solo maneja una memoria caché en la que le dice que tiene que hacer con cada flujo y, de no saber qué hacer, esté contactará con el proceso ovs-vswitchd mediante netlink para saber qué hacer con él.
  • Ovs-brcompatd: un demonio que permite a ovs-vswitchd actuar como un reemplazo momentáneo del bridge de Linux.
  • Ovs-dpctl: herramienta para configurar el módulo del kernel del switch.
  • Ovs-appctl: es una utilidad que envía comandos para ejecutar los demonios de Open vSwitch.
  • OVS-vsctl: es una utilidad para consultar y actualizar la configuración del Ovs-vswitchd.
  • Ovs-ofctl: para mostrar los flujos cacheados.
  • Ovsdbmonitor: es una herramienta de GUI para la visualización remota de las bases de datos OVS y las tablas de flujo OpenFLow.

Herramientas

Algunas herramientas que proporciona Open vSwitch:

  • Ovs-testcontroller: es un controlador OpenFlow básico útil para pruebas.
  • Ovs-pki: es una utilidad para crear y administrar la clave pública de la infraestructura de switches OpenFlow.
  • Ovs-ofctl: es una utilidad para consultar y manejar switches y controladores OpenFlow.
  • Un parche para tcpdump que le permite analizar los mensajes OpenFlow.

Open vSwitch puede ser portado a diferentes plataformas de hardware y diferentes sistemas operativos. Además se ejecuta en servidores físicos y soporta la administración remota de una manera que hace que así sea más fácil para los desarrolladores de las plataformas de virtualización.

La configuración del Open vSwitch es controlada por un esquema de base de datos organizada en varias tablas, todo realizado en el espacio de usuario (el módulo del kernel se utiliza estrictamente para la transmisión). Esta base de datos es persistente en los reinicios, y está basado en JSON.

Protocolos gestión externa

 
Ejemplo de Uso con Controller

Open vSwitch proporciona dos protocolos de gestión externa que están diseñados especialmente para la gestión remota de redes virtualizadas, necesitando el uso de un controlador que centralice la gestión de flujos:

  • OpenFlow: es un ejemplo principal de SDN en una arquitectura de red basada en un controlador. La idea sería usar Open vSwitch como una capa de acceso al entorno virtual, tomando instrucciones del controlador que es el que empuja los flujos hacia abajo del vSwitch.

Permite consultar y modificar las tablas de flujos del proceso ovs-vswitchd, haciendo posible que el Software residente en el controller tome decisiones atendiendo a una serie de variables, y "reprograme" dinámicamente el comportamiento del Open vSwitch con este protocolo, para que los paquetes sean reenviados en consecuencia a uno u otro puerto. Por otro lado, el protocolo Openflow permite modificar la tabla de flujos, pero de lo que no es capaz es de cambiar la configuración de un dispositivo, por ejemplo deshabilitando una interfaz, por lo que para todas las gestiones que no estén directamente relacionadas con la modificación de las tablas de flujos se utilizará el protocolo OVSDB.

  • OVSDB (Open vSwitch Database Management Protocol): es un componente de Open vSwitch de código abierto diseñado para administrar implementaciones en OVS. protocolo de gestión que expone el estado del puerto del switch.

El protocolo OVSDB management protocol, como se ha visto, permite consultar y modificar la configuración del Open vSwitch, permitiendo un medio de reprogramar las variables de la base de datos interna, realizando de esta manera tareas como por ejemplo:

  • Creación y modificación de puertos en OpenFlow.
  • Creación de datapaths OpenFlow.
  • Configuración de los controllers que gestionan la plataforma.
  • Recolección de estadísticas.
  • Configuración, modificación y eliminación de túneles.
  • Configuración de QoS (Calidad de Servicio).
  • Creación, modificación y eliminación de las colas.

Los siguientes son los diferentes métodos de jsonRPC especificados por el protocolo. List_dbs: List databases Get_schema: Get schema Transact: operations on database Cancel: cancel transact request Monitor: monitor certain table columns Update: sent by server to client for tables that are monitored Monitor_cancel: cancelling monitor request Lock, steal, unlock: locking, unlocking operations on database Echo: to check liveliness

Además el método Transact puede hacer distintas operaciones de base de datos como seleccionar, insertar, eliminar, actualizar, etc.

Ventajas del OVS

Sabemos que Open vSwitch es un sustituto de los “bridges” a la hora de dar conectividad a las máquinas virtuales. Además su funcionamiento, que puede ser a través de un “controller” o “standlone” tiene ciertas ventajas. Las ventajas de este sustituto de los bridges a la hora de dar conectividad a las máquinas virtuales son varias. Algunas de ellas se pueden encontrar en ambos métodos de funcionamiento (standalone y con Controller), mientras que otras son exclusivas de la utilización de flujos programados regidos por Controller.

Incorporan funcionalidades de red similares a los switches Hardware El Open vSwitch, aparte de las funcionalidades L2 y L3, VLAN etiquetadas (por puerto) y agregar enlaces, también administra funcionalidades propias de un switch Hardware configurable, que son las que características compatibles que definíamos anteriormente como pueden ser SPAN/RSPAN, Netflow/sFlow, QoS, Túneles GRE, etc. Las configuraciones de VLANs y agregados se realizan directamente sobre el Open vSwitch, no sobre terceros elementos como pueden ser “bondings”, un bridge por VLAN, etc. Por lo que se asemejan de este modo a los switches Hardware.


OVSDB y Openflow (OVS en modo flujos configurables) Al utilizar Open vSwitch y el Controller SDN, se facilita el responder dinámicamente a la gran tasa de cambios que se producen en la infraestructura de red, modificando la configuración de red. Anteriormente, se ha dicho que el Open vSwitch mantiene la base de datos llamada OVSDB (Open vSwitch Network State Database), la cual contiene toda la información distribuida de la configuración y el estado de los Open vSwitch de una infraestructura. Utilizando esta información que contiene la base de datos podemos hacer triggers de numerosos aspectos de red más allá de los tradicionales, como por ejemplo el movimiento de máquinas virtuales, de modo que las herramientas de dirección puedan conocer el estado de la Cloud y utilizar esa información para modificar, mediante el Controller SDN, el comportamiento de reenvío de paquetes dentro de los flujos con Openflow. También, gracias a la base de datos OVSDB, el estado del puerto de red de una máquina virtual puede ser fácilmente migrado junto con la máquina.

Compatibilidad con Software basado en bridges Cuando Open vSwitch necesitase ser compatible con software´s que están basados en bridges, se tendría que configurar el Open vSwitch de manera que imitara el comportamiento de un “bridge” frente a las VLANs. Así que, tendríamos un “bridge” (puente) por cada VLAN, en lugar de tener un Open vSwitch, en el que cada puerto tiene una configuración propia como si fuese un switch tradicional.

Offloading de procesamiento de paquetes a Hardware Una ventaja añadida de Open vSwitch es que está diseñado para poder realizar el procesamiento en Hardware, es decir, que puede realizar un offloading del procesamiento de paquetes a las NICs de los Host KVMs en los que residen, en lugar de hacerlo por Software, con lo que así se mejora del rendimiento.

Casos prácticos

A continuación describiremos usos comunes de Open vSwitch en entornos virtuales:

Gestión centralizada: Los interfaces para la configuración centralizada y las notificaciones asíncronas pueden ser utilizadas para crear un único switch lógico sobre varios Open vSwitches ejecutándose en servidores físicos diferentes. Básicamente, un proceso de gestión global abstrae una vista lógica de los switches y su configuración y permite a los administradores operar con esa vista lógica en lugar de con switches individuales. Es responsabilidad de este proceso de gestión el asegurar que cualquier estado de configuración de los switches individuales acoplados a las entidades lógicas se mantenga estable, como la unión, salida, y migración de VMs.

Redes privadas virtuales: Un creciente segmento de la virtualización es el "cloud hosting" en el cual, un host ajeno (third part host) alberga máquina virtual de múltiples clientes (inquilinos) . Idealmente, para utilizar mejor el hardware, estos ambientes debe co - localizar los inquilinos en la misma infraestructura física y proporcionar fuertes garantías de aislamiento al mismo tiempo. De la misma manera que un grupo de máquinas físicas pueden estar conectados entre sí a través de una red dedicada, en un entorno virtualizado una colección de máquinas virtuales puede estar conectados entre sí a través de una red privada virtual implementada en la parte superior de una infraestructura de red física compartida. Si todas las máquinas virtuales de un solo arrendatario están en el mismo host físico, o si están en hosts separados donde cada uno dedica una NIC para conectarse a un switch físico aislado, el apoyo a estas redes privadas virtuales es simple. Sin embargo, cuando las máquinas virtuales que comparten una red privada se distribuyen en varios hosts y / o múltiple switches físicos, la capa de red de virtualización debe soportar la creación dinámica de superposición. Open vSwitch soporta túneles de tipo GRE y VLAN.

Mobility between IP subnets: Una limitación bien sabida por las plataformas de virtualización comerciales de hoy en día es que la migración debe ocurrir dentro de una misma subred IP. Esto se debe a la imposibilidad de mantener sesiones de transporte TCP si se cambia la dirección del host destino. La migración entre subredes es deseable por varias razones. Por ejemplo si una red tiene problemas de escalamiento en cuanto al número de hosts, Hay diversas formas de conseguir esto con Open vSwitch un proceso de gestión global. La más directa es unir un modelo similar a Mobile IP en el que un Open vSwitch base recibe todos los paquetes dirigidos a una máquina virtual y luego reenvía los paquetes a la verdadera dirección del host usando tunelado. El proceso de gestión global debe manejar reglas de tunelado consistentes en la localización de las máquinas virtuales dentro de la red.


Véase también

  •   Portal:Computer networking. Contenido relacionado con Free software.

Referencias

Enlaces externos

  • Página web oficial
  • Open vSwitch source code on GitHub
  • Introduction to Open vSwitch en YouTube.
  • Open vSwitch: Deep Dive The Virtual Switch for OpenStack en YouTube.
  • Going With the Flow: Google's Secret Switch to the Next Wave of Networking
  •   Datos: Q4045912
  •   Multimedia: Open vSwitch

open, vswitch, abreviado, software, código, abierto, diseñado, para, utilizado, como, switch, virtual, entornos, servidores, virtualizados, encargado, reenviar, tráfico, entre, diferentes, máquinas, virtuales, mismo, host, físico, también, reenviar, tráfico, e. Open vSwitch abreviado OVS es un software de codigo abierto disenado para ser utilizado como un switch virtual en entornos de servidores virtualizados Es el encargado de reenviar el trafico entre diferentes maquinas virtuales VMs en el mismo host fisico y tambien reenviar el trafico entre las maquinas virtuales y la red fisica Esta bajo licencia Apache 2 0 Open vSwitchInformacion generalTipo de programasoftware libreLicenciaLicencia Apache version 2 0Informacion tecnicaProgramado enCVersionesUltima version estable2 9 020 de febrero de 2018EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata Indice 1 Introduccion 2 Caracteristicas 3 Descripcion 3 1 Componentes 3 2 Herramientas 3 3 Protocolos gestion externa 4 Ventajas del OVS 5 Casos practicos 6 Vease tambien 7 Referencias 8 Enlaces externosIntroduccion EditarOpen vSwitch es un software multicapa para switches cuyo objetivo es la implementacion de una plataforma de calidad que soporta interfaces de gestion estandar y exponga las funciones de forwarding de forma programable Podemos decir que Open vSwitch es una de las implementaciones mas populares de OpenFlow Esta bien adaptado para funcionar como un switch virtual en ambientes implementados con maquinas virtuales Ademas de exponer interfaces estandar de control y visibilidad con la capa de red virtual fue disenado para soportar una distribucion a traves de multiples servidores fisicos Open vSwitch soporta numerosas tecnologias de virtualizacion basadas en Linux Xen XenServer es un monitor de maquinas virtuales de codigo abierto KVM Kernel Based Virtual Machine es una solucion para implementar virtualizacion completa Linux VirtualBox es un software para realizar la virtualizacion de equipos Proxmox VE es una solucion completa de virtualizacion de servidores basada en sistemas de codigo abierto Permite la virtualizacion tanto sobre KVM como contenedores y gestiona maquinas virtuales almacenamiento redes virtualizadas y clusteres HA Tambien se ha integrado en muchos sistemas de gestion virtuales como OpenStack OpenQRM OpenNebula y oVirt Open vSwitch permite mas capacidades que los modulos regulares de kernel Linux aun cuando el Datapath esta dentro del propio kernel GNU Linux lo que hace ideal para la construccion de esquemas de redes virtuales para nubes o para investigacion de nuevos protocolos de red La mayor parte del codigo esta escrito sobre una plataforma independiente en C y es facilmente portable a otros entornos Caracteristicas EditarLa version actual de Open vSwitch es compatible con las siguientes caracteristicas Modelo estandar de VLAN 802 1Q con puertos troncales y de acceso NetFLow y sFlow posibilidad de sacar netfllow paquetes del protocolo NEtFlow que sirven para capturar informacion sobre el trafico IP y sFlow paquetes del protocolo sFlow disenado para monitorizacion de interfaces dispositivos wireless y del equipo anfitrion entre maquinas virtuales que pueden ser capturados y analizados Detectar cualquier anomalia de la red malware etc OpenFlow 1 0 o extensiones posteriores SPAN Switch port Analyzer y RSPAN Remote SPAN Nos permite hacer mirroring de un puerto o incluso de un bridge entero es decir enviar una copiar de los paquetes vistos en un puerto del swicth o VLAN entera a una conexion para el monitoreo de red en un puerto del switch y de esta forma poder llevar a cabo el diagnostico de errores en la red LACP Bonding IEE 802 1 AX 2008 permite balancear el trafico entre varios enlaces LACP es a nivel de switch exterior trunking y el bonding a nivel de maquina virtual STP del ingles Spanning Tree Protocol IEEE 802 1D 1998 es un protocolo de red de nivel 2 del modelo OSI Su funcion es la gestion de bucles en topologias de red Los bucles ocurren cuando hay rutas alternativas hacia un mismo destino necesarias para proporcionar redundancia y ofrecer mayor fiabilidad a la red Entonces los dispositivos de interconexion de nivel de enlace reenvian indefinidamente las tramas broadcast y multicast al no existir un campo TTL tiempo de vida en las tramas de la capa 2 creando asi un bucle infinito que consume el ancho de banda STP calcula una unica ruta libre de bucles entre los dispositivos de la red pero manteniendo los enlaces redundantes desactivados como reserva con el fin de activarlos en caso de fallo Politicas de trafico por puerto firewalling QoS Para definir niveles de calidad de servicio como disponibilidad ancho de banda ratio de error latencia priorizar trafico etc Protocolos de tunel Multiples GRE VXLAN IPsec GRE y VXLAN sobre IPsec GRE Generic Routing Encapsulation es un protocolo de tunel desarrollado por Cisco Systems que puede encapsular una variedad de protocolos de capa de red dentro de enlaces virtuales punto a punto a traves del protocolo IP Soporte para Bidirectional Forwarding Detection BFD Soporte para HFSC qdisc es un algoritmo que permite priorizar el trafico en una red basandose en QoS calidad de servicio y CBQ Class based quequing o Encolamiento Basado sobre Clases que permite que el trafico este organizado por clases y asi compartir el ancho de banda shaping Seleccion de herramientas para el monitoreo de enlaces 802 1ag CFM estandar para redes de puentes virtuales y metropolitanas que define una serie de protocolos y practicas para operaciones administracion y mantenimiento para puentes y redes locales LAN Descripcion Editar Proceso de intercambio de paquetes con OVS Open vSwitch dispone de un diseno de mayor complejidad que los bridges siendo este compuesto por varios componentes Mientras que los bridges solo se ejecutan en el espacio del kernel del Host el Open vSwitch al necesitar un codigo mas complejo que los bridges para poder proporcionar todas las funcionalidades avanzadas aparte de hacer uso del espacio del kernel tambien se ejecuta en el user space y asi puede tomar la decision de como procesar los nuevos paquetes Sabemos que el kernel space y el user space son dos separaciones logicas de la memoria que tienen los Sistemas Operativos y asi poder proteger al sistema de fallos o ataques En el espacio del kernel se ejecutarian los modulos y los drivers del sistema mientras que en el espacio de usuarios se encontraria la mayoria del Software Cuando nos referimos a un paquete nuevo queremos decir que es un tipo de paquete perteneciente a un flujo del cual no se ha realizado todavia ninguna decision de forwarding y por tanto dicha decision no puede encontrarse en la cache Cuando un paquete de un nuevo flujo llega al Open vSwitch este realizara una decision bajo el user space pero los sucesivos paquetes de ese flujo seran encaminados directamente por el kernel space asi es mucho mas rapido y por lo tanto mayor rendimiento Componentes Editar Los principales componentes son Ovs vswitchd un demonio que implementa las funcionalidades del switch junto con el modulo del kernel openvswitch mod ko con un modulo del nucleo Linux para conmutacion basada en flujos Implementa el comportamiento ante VLANs el bonding o la monitorizacion Este proceso es el Core del Open vSwitch y se ha de comunicar con los otros dos componentes El proceso ovs vswitchd debe comunicarse con el ovsdb server para poder guardar y aplicar las configuraciones almacenadas en la base de datos albergada por el servidor ovsdb server Esta comunicacion se realiza mediante sockets Unix con el protocolo OVSDB El modulo del kernel openvswitch mod ko tambien debe ser contactado por el demonio ovs vswitchd para poder tomar decisiones sobre los nuevos flujos que proporciona el kernel Para ello utiliza el protocolo netlink el cual permite comunicar el espacio del kernel con el del usuario Ovsdb server un servidor de base de datos ligero que ovs vswitchd consulta para obtener su configuracion En la base de datos que gestiona se encuentran todos los parametros de configuracion del Open vSwitch los cuales se almacenan de forma que dicha informacion se mantenga tras un reinicio del Host Descripcion OVS Por ejemplo algunas de las tablas que existen en esa base de datos las cuales contienen la configuracion de sus elementos correspondientes son Open vSwitch Open vSwitch configuration Bridge Bridge configuration Port Port configuration Interface One physical network device in a Port Flow Table OpenFlow table configuration QoS Quality of Service configuration Queue QoS output queue Mirror Port mirroring Controller OpenFlow controller configuration Manager OVSDB management connection NetFlow NetFlow configuration SSL SSL configuration sFlow sFlow configuration IPFIX IPFIX configuration Flow Sample Collector Set Flow Sample Collector Set configuration Esta base de datos puede ser modificada desde elementos externos utilizando el protocolo Open vSwitch Database Management Protocol OVSDB El modulo del kernel openvswitch mod ko es quien maneja el packet switching Ha sido designado para ser muy simple y rapido por lo que no puede ser modificado mediante Openflow ni llevar a cabo el borrado de flujos tan solo maneja una memoria cache en la que le dice que tiene que hacer con cada flujo y de no saber que hacer este contactara con el proceso ovs vswitchd mediante netlink para saber que hacer con el Ovs brcompatd un demonio que permite a ovs vswitchd actuar como un reemplazo momentaneo del bridge de Linux Ovs dpctl herramienta para configurar el modulo del kernel del switch Ovs appctl es una utilidad que envia comandos para ejecutar los demonios de Open vSwitch OVS vsctl es una utilidad para consultar y actualizar la configuracion del Ovs vswitchd Ovs ofctl para mostrar los flujos cacheados Ovsdbmonitor es una herramienta de GUI para la visualizacion remota de las bases de datos OVS y las tablas de flujo OpenFLow Herramientas Editar Algunas herramientas que proporciona Open vSwitch Ovs testcontroller es un controlador OpenFlow basico util para pruebas Ovs pki es una utilidad para crear y administrar la clave publica de la infraestructura de switches OpenFlow Ovs ofctl es una utilidad para consultar y manejar switches y controladores OpenFlow Un parche para tcpdump que le permite analizar los mensajes OpenFlow Open vSwitch puede ser portado a diferentes plataformas de hardware y diferentes sistemas operativos Ademas se ejecuta en servidores fisicos y soporta la administracion remota de una manera que hace que asi sea mas facil para los desarrolladores de las plataformas de virtualizacion La configuracion del Open vSwitch es controlada por un esquema de base de datos organizada en varias tablas todo realizado en el espacio de usuario el modulo del kernel se utiliza estrictamente para la transmision Esta base de datos es persistente en los reinicios y esta basado en JSON Protocolos gestion externa Editar Ejemplo de Uso con Controller Open vSwitch proporciona dos protocolos de gestion externa que estan disenados especialmente para la gestion remota de redes virtualizadas necesitando el uso de un controlador que centralice la gestion de flujos OpenFlow es un ejemplo principal de SDN en una arquitectura de red basada en un controlador La idea seria usar Open vSwitch como una capa de acceso al entorno virtual tomando instrucciones del controlador que es el que empuja los flujos hacia abajo del vSwitch Permite consultar y modificar las tablas de flujos del proceso ovs vswitchd haciendo posible que el Software residente en el controller tome decisiones atendiendo a una serie de variables y reprograme dinamicamente el comportamiento del Open vSwitch con este protocolo para que los paquetes sean reenviados en consecuencia a uno u otro puerto Por otro lado el protocolo Openflow permite modificar la tabla de flujos pero de lo que no es capaz es de cambiar la configuracion de un dispositivo por ejemplo deshabilitando una interfaz por lo que para todas las gestiones que no esten directamente relacionadas con la modificacion de las tablas de flujos se utilizara el protocolo OVSDB OVSDB Open vSwitch Database Management Protocol es un componente de Open vSwitch de codigo abierto disenado para administrar implementaciones en OVS protocolo de gestion que expone el estado del puerto del switch El protocolo OVSDB management protocol como se ha visto permite consultar y modificar la configuracion del Open vSwitch permitiendo un medio de reprogramar las variables de la base de datos interna realizando de esta manera tareas como por ejemplo Creacion y modificacion de puertos en OpenFlow Creacion de datapaths OpenFlow Configuracion de los controllers que gestionan la plataforma Recoleccion de estadisticas Configuracion modificacion y eliminacion de tuneles Configuracion de QoS Calidad de Servicio Creacion modificacion y eliminacion de las colas Los siguientes son los diferentes metodos de jsonRPC especificados por el protocolo List dbs List databases Get schema Get schema Transact operations on database Cancel cancel transact request Monitor monitor certain table columns Update sent by server to client for tables that are monitored Monitor cancel cancelling monitor request Lock steal unlock locking unlocking operations on database Echo to check livelinessAdemas el metodo Transact puede hacer distintas operaciones de base de datos como seleccionar insertar eliminar actualizar etc Ventajas del OVS EditarSabemos que Open vSwitch es un sustituto de los bridges a la hora de dar conectividad a las maquinas virtuales Ademas su funcionamiento que puede ser a traves de un controller o standlone tiene ciertas ventajas Las ventajas de este sustituto de los bridges a la hora de dar conectividad a las maquinas virtuales son varias Algunas de ellas se pueden encontrar en ambos metodos de funcionamiento standalone y con Controller mientras que otras son exclusivas de la utilizacion de flujos programados regidos por Controller Incorporan funcionalidades de red similares a los switches Hardware El Open vSwitch aparte de las funcionalidades L2 y L3 VLAN etiquetadas por puerto y agregar enlaces tambien administra funcionalidades propias de un switch Hardware configurable que son las que caracteristicas compatibles que definiamos anteriormente como pueden ser SPAN RSPAN Netflow sFlow QoS Tuneles GRE etc Las configuraciones de VLANs y agregados se realizan directamente sobre el Open vSwitch no sobre terceros elementos como pueden ser bondings un bridge por VLAN etc Por lo que se asemejan de este modo a los switches Hardware OVSDB y Openflow OVS en modo flujos configurables Al utilizar Open vSwitch y el Controller SDN se facilita el responder dinamicamente a la gran tasa de cambios que se producen en la infraestructura de red modificando la configuracion de red Anteriormente se ha dicho que el Open vSwitch mantiene la base de datos llamada OVSDB Open vSwitch Network State Database la cual contiene toda la informacion distribuida de la configuracion y el estado de los Open vSwitch de una infraestructura Utilizando esta informacion que contiene la base de datos podemos hacer triggers de numerosos aspectos de red mas alla de los tradicionales como por ejemplo el movimiento de maquinas virtuales de modo que las herramientas de direccion puedan conocer el estado de la Cloud y utilizar esa informacion para modificar mediante el Controller SDN el comportamiento de reenvio de paquetes dentro de los flujos con Openflow Tambien gracias a la base de datos OVSDB el estado del puerto de red de una maquina virtual puede ser facilmente migrado junto con la maquina Compatibilidad con Software basado en bridges Cuando Open vSwitch necesitase ser compatible con software s que estan basados en bridges se tendria que configurar el Open vSwitch de manera que imitara el comportamiento de un bridge frente a las VLANs Asi que tendriamos un bridge puente por cada VLAN en lugar de tener un Open vSwitch en el que cada puerto tiene una configuracion propia como si fuese un switch tradicional Offloading de procesamiento de paquetes a Hardware Una ventaja anadida de Open vSwitch es que esta disenado para poder realizar el procesamiento en Hardware es decir que puede realizar un offloading del procesamiento de paquetes a las NICs de los Host KVMs en los que residen en lugar de hacerlo por Software con lo que asi se mejora del rendimiento Casos practicos EditarA continuacion describiremos usos comunes de Open vSwitch en entornos virtuales Gestion centralizada Los interfaces para la configuracion centralizada y las notificaciones asincronas pueden ser utilizadas para crear un unico switch logico sobre varios Open vSwitches ejecutandose en servidores fisicos diferentes Basicamente un proceso de gestion global abstrae una vista logica de los switches y su configuracion y permite a los administradores operar con esa vista logica en lugar de con switches individuales Es responsabilidad de este proceso de gestion el asegurar que cualquier estado de configuracion de los switches individuales acoplados a las entidades logicas se mantenga estable como la union salida y migracion de VMs Redes privadas virtuales Un creciente segmento de la virtualizacion es el cloud hosting en el cual un host ajeno third part host alberga maquina virtual de multiples clientes inquilinos Idealmente para utilizar mejor el hardware estos ambientes debe co localizar los inquilinos en la misma infraestructura fisica y proporcionar fuertes garantias de aislamiento al mismo tiempo De la misma manera que un grupo de maquinas fisicas pueden estar conectados entre si a traves de una red dedicada en un entorno virtualizado una coleccion de maquinas virtuales puede estar conectados entre si a traves de una red privada virtual implementada en la parte superior de una infraestructura de red fisica compartida Si todas las maquinas virtuales de un solo arrendatario estan en el mismo host fisico o si estan en hosts separados donde cada uno dedica una NIC para conectarse a un switch fisico aislado el apoyo a estas redes privadas virtuales es simple Sin embargo cuando las maquinas virtuales que comparten una red privada se distribuyen en varios hosts y o multiple switches fisicos la capa de red de virtualizacion debe soportar la creacion dinamica de superposicion Open vSwitch soporta tuneles de tipo GRE y VLAN Mobility between IP subnets Una limitacion bien sabida por las plataformas de virtualizacion comerciales de hoy en dia es que la migracion debe ocurrir dentro de una misma subred IP Esto se debe a la imposibilidad de mantener sesiones de transporte TCP si se cambia la direccion del host destino La migracion entre subredes es deseable por varias razones Por ejemplo si una red tiene problemas de escalamiento en cuanto al numero de hosts Hay diversas formas de conseguir esto con Open vSwitch un proceso de gestion global La mas directa es unir un modelo similar a Mobile IP en el que un Open vSwitch base recibe todos los paquetes dirigidos a una maquina virtual y luego reenvia los paquetes a la verdadera direccion del host usando tunelado El proceso de gestion global debe manejar reglas de tunelado consistentes en la localizacion de las maquinas virtuales dentro de la red Vease tambien Editar Portal Computer networking Contenido relacionado con Free software Distributed Overlay Virtual Ethernet DOVE LAN switching Overlay transport virtualization OTV Redes definidas por software OpenflowReferencias EditarWHY OVS https web archive org web 20150220060236 https github com openvswitch ovs blob master WHY OVS md README https github com openvswitch ovs blob master README md enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Frequently Asked Questions https web archive org web 20150109210931 http git openvswitch org cgi bin gitweb cgi p openvswitch a blob plain f FAQ hb HEAD Introduction to OVS http keepingitclassless net 2013 10 introduction to open vswitch Extending Networking into the Virtualization Layer https web archive org web 20141014065954 http openvswitch org papers hotnets2009 pdfEnlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre Open vSwitch Pagina web oficial Open vSwitch source code on GitHub Introduction to Open vSwitch en YouTube Open vSwitch Deep Dive The Virtual Switch for OpenStack en YouTube Going With the Flow Google s Secret Switch to the Next Wave of Networking Datos Q4045912 Multimedia Open vSwitchObtenido de https es wikipedia org w index php title Open vSwitch amp oldid 136602485, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos