What is OVN vSwitch?

Desmitificando Open Virtual Network (OVN)

12/08/2015

Valoración: 4.1 (12907 votos)

En el vertiginoso mundo de la virtualización y los contenedores, la gestión de redes se ha convertido en uno de los mayores desafíos. A medida que las infraestructuras crecen en escala y complejidad, las herramientas tradicionales se quedan cortas. Aquí es donde entra en juego Open Virtual Network (OVN), una solución de código abierto diseñada para simplificar y potenciar la creación de redes virtuales a gran escala. OVN no es solo una herramienta más; es una capa de abstracción inteligente que se construye sobre el robusto y popular Open vSwitch (OVS), llevando la conectividad virtual a un nuevo nivel de eficiencia y simplicidad.

What is an OVN deployment?
An OVN deployment consists of several components: Cloud Management System (CMS): integrates OVN into a physical network by managing the OVN logical network elements and connecting the OVN logical network infrastructure to physical network elements. Exmaples include OpenStack Neutron’s ml2/ovn plugin and the ovn-kubernetes project.

Si alguna vez te has preguntado cómo los grandes proveedores de la nube gestionan miles de redes de inquilinos de forma aislada y segura, o cómo Kubernetes proporciona conectividad de red fluida a sus pods, es muy probable que OVN esté trabajando tras bambalinas. Este artículo se sumerge en las profundidades de OVN para desvelar qué es, cómo funciona su arquitectura, cuáles son sus características más destacadas y en qué se diferencia de su base, Open vSwitch.

Índice de Contenido

¿Qué es Exactamente Open Virtual Network (OVN)?

Open Virtual Network (OVN) es un sistema de control de red de código abierto, licenciado bajo Apache 2, que proporciona una capa de abstracción por encima de Open vSwitch (OVS). Su propósito principal es traducir configuraciones de red virtual de alto nivel (como switches lógicos, routers lógicos y políticas de seguridad) en flujos de OpenFlow de bajo nivel que OVS puede entender y ejecutar. En esencia, OVN actúa como el "cerebro" que le dice a OVS "qué" hacer, sin que el administrador tenga que preocuparse por el "cómo" detallado.

A diferencia de la configuración manual de flujos en OVS, que puede ser increíblemente compleja y propensa a errores, OVN permite a los administradores y a los Sistemas de Gestión de la Nube (CMS) como OpenStack o Kubernetes, describir la topología de red deseada de una manera lógica y declarativa. OVN se encarga del resto, distribuyendo esa configuración a todos los nodos pertinentes de la infraestructura.

Una de sus grandes ventajas es que, al igual que OVS, está escrito en C independiente de la plataforma y se ejecuta completamente en el espacio de usuario (userspace). Esto significa que no requiere la instalación de módulos de kernel adicionales, lo que simplifica enormemente su despliegue y mantenimiento.

La Arquitectura de OVN: ¿Cómo Funciona?

Para entender el poder de OVN, es crucial comprender su arquitectura, que está elegantemente diseñada para ser escalable y resiliente. Una implementación de OVN consta de varios componentes que trabajan en conjunto para materializar las redes lógicas.

Componentes Principales de un Despliegue OVN

  • Cloud Management System (CMS): Es el sistema de orquestación de nivel superior, como OpenStack (a través de su plugin `ml2/ovn`) o Kubernetes (a través de `ovn-kubernetes`). El CMS es el que define la red lógica que los usuarios finales necesitan: cuántos switches, routers, qué direcciones IP, etc. Se comunica con la base de datos Northbound de OVN.
  • Bases de Datos OVN: OVN utiliza dos bases de datos para gestionar su estado:
    • Base de Datos Northbound (NB DB): Almacena la configuración de la red lógica tal como la define el CMS. Contiene elementos como switches lógicos, routers lógicos, listas de control de acceso (ACLs) y puertos lógicos. Es la "intención" de la red.
    • Base de Datos Southbound (SB DB): Contiene una representación más detallada y física de la red. El demonio `ovn-northd` lee la NB DB, la procesa y traduce esa intención en flujos lógicos y ubicaciones de puertos físicos, que escribe en la SB DB.
  • ovn-northd: Este es un demonio centralizado que actúa como el motor de traducción. Lee la configuración de la NB DB, la correlaciona con el estado físico de la infraestructura y genera los flujos lógicos que se almacenan en la SB DB.
  • Hipervisores: Son los nodos físicos (o virtuales) donde se ejecutan las máquinas virtuales o contenedores. Cada hipervisor ejecuta su propia instancia de Open vSwitch y un demonio clave llamado `ovn-controller`.
  • ovn-controller: Este demonio se ejecuta en cada hipervisor. Se conecta a la SB DB, monitorea los cambios relevantes para su nodo local y traduce los flujos lógicos de la SB DB en flujos OpenFlow físicos que instala en el OVS local. Es el agente que ejecuta las órdenes en cada nodo.
  • Gateways: Son nodos especializados que conectan la red lógica encapsulada de OVN con la red física externa, permitiendo la comunicación con el mundo exterior.

El flujo de trabajo es el siguiente: un administrador o un sistema automatizado define una red en el CMS. El CMS escribe esta configuración en la NB DB. `ovn-northd` lo ve, lo traduce y actualiza la SB DB. Todos los `ovn-controller` en los hipervisores ven la actualización en la SB DB y programan las reglas de OpenFlow necesarias en sus respectivos switches OVS locales para hacer realidad esa red. Todo este proceso es distribuido y altamente eficiente.

Is OVN Open Source?
As mentioned, OVN is licensed under the open source Apache 2 license. Some files may be marked specifically with a different license, in which case that license applies to the file in question. File build-aux/cccl is licensed under the GNU General Public License, version 2.

Características Principales que Hacen Brillar a OVN

OVN no es solo un traductor; ofrece un conjunto de características de red nativas que son esenciales para los entornos de nube modernos.

Routers Virtuales Distribuidos (DVR)

En lugar de depender de un único router centralizado que puede convertirse en un cuello de botella, OVN distribuye la funcionalidad de enrutamiento a cada hipervisor. Esto significa que el tráfico entre diferentes subredes lógicas que residen en el mismo hipervisor se enruta localmente, sin necesidad de salir a la red física. Esto mejora drásticamente el rendimiento y la escalabilidad.

Switches Lógicos Distribuidos

De manera similar al enrutamiento, la conmutación de capa 2 también se realiza localmente en cada hipervisor. La comunicación entre VMs o contenedores en la misma subred lógica y en el mismo host físico nunca abandona el hipervisor, lo que resulta en una latencia extremadamente baja.

Listas de Control de Acceso (ACLs)

La seguridad es fundamental, y OVN lo integra de forma nativa. Permite definir reglas de firewall con estado (stateful ACLs) que se aplican directamente a los puertos lógicos. Estas reglas se distribuyen y aplican en el hipervisor donde reside la carga de trabajo, proporcionando microsegmentación y una política de seguridad coherente sin importar dónde se mueva una VM o contenedor.

Servicios Nativos Integrados

OVN puede proporcionar servicios de red esenciales como DHCP y DNS de forma nativa. El `ovn-controller` en cada host puede responder a las solicitudes DHCP locales, eliminando la necesidad de servidores DHCP centralizados y dedicados para las redes virtuales.

OVN vs. Open vSwitch (OVS): Entendiendo la Diferencia

Es común confundir OVN con OVS o pensar que uno reemplaza al otro. La realidad es que trabajan juntos, cada uno en una capa diferente. OVS es el plano de datos (el que mueve los paquetes), mientras que OVN es el plano de control (el que decide cómo se deben mover los paquetes).

What is open virtual network (OVN)?

La siguiente tabla resume sus diferencias clave:

CaracterísticaOpen vSwitch (OVS)Open Virtual Network (OVN)
Nivel de AbstracciónBajo nivel. Trabaja directamente con flujos de OpenFlow.Alto nivel. Trabaja con conceptos lógicos como switches y routers.
Propósito PrincipalPlano de datos (Data Plane). Es un conmutador virtual programable que reenvía paquetes.Plano de control (Control Plane). Orquesta y gestiona la red virtual.
ConfiguraciónImperativa y compleja. Se deben definir reglas de flujo específicas.Declarativa y simplificada. Se describe el estado final deseado de la red.
Componente ClaveDemonio `ovs-vswitchd` y base de datos `ovsdb-server`.Demonios `ovn-northd`, `ovn-controller` y bases de datos NB/SB.
Caso de Uso TípicoComo un switch virtual en un hipervisor, controlado por un controlador SDN externo.Como el sistema de red para una plataforma de gestión de la nube (CMS).

Preguntas Frecuentes (FAQ) sobre OVN

¿OVN es de código abierto?

Sí, OVN es un proyecto completamente de código abierto, licenciado bajo la permisiva licencia Apache 2.0. Esto fomenta su adopción y contribución por parte de la comunidad.

¿Necesito instalar módulos en el kernel para usar OVN?

No. Una de las grandes ventajas de OVN (y OVS) es que su núcleo se ejecuta completamente en el espacio de usuario (userspace). Aunque OVS puede usar un módulo de kernel para acelerar el reenvío de paquetes, OVN en sí mismo no tiene dependencias de kernel, lo que lo hace muy portátil y fácil de instalar.

¿OVN reemplaza a Open vSwitch?

No, en absoluto. OVN complementa y se basa en Open vSwitch. OVN actúa como un plano de control inteligente que automatiza la configuración de los switches OVS distribuidos en toda la infraestructura. Sin OVS, OVN no tendría un plano de datos que programar.

¿Para quién está pensado principalmente OVN?

OVN está diseñado para ser consumido por Sistemas de Gestión de la Nube (CMS) y plataformas de orquestación de contenedores. No está pensado para que un administrador de red lo configure manualmente a diario, sino para que sirva como el motor de red subyacente para plataformas como OpenStack, oVirt y Kubernetes.

En conclusión, Open Virtual Network representa un paso evolutivo crucial en el campo de las redes definidas por software (SDN). Al proporcionar una abstracción de alto nivel sobre la potente base de Open vSwitch, OVN simplifica drásticamente la creación y gestión de topologías de red complejas en entornos virtualizados a gran escala. Su arquitectura distribuida, su rico conjunto de características nativas y su naturaleza de código abierto lo convierten en una opción líder y una tecnología fundamental para la construcción de nubes privadas y públicas modernas y eficientes.

Si quieres conocer otros artículos parecidos a Desmitificando Open Virtual Network (OVN) puedes visitar la categoría Juegos.

Subir