¿Cuál es la diferencia entre la virtualización de red y la red definida por software (SDN)?

La virtualización de la red es muy parecida a la virtualización del servidor (lo que hace VMware, por ejemplo). Al crear servidores virtuales (por ejemplo, en un centro de datos), comienza con una gran bestia de una máquina desnuda (32 núcleos, 64 GB de RAM, etc.) y ‘divide’ varias máquinas virtuales que alojan aplicaciones iguales o diferentes, lo que resulta en un máximo utilización del hardware. De manera similar, en la virtualización de la red, comienza con una sola red física (que comprende nodos y conmutadores) y ‘divide’ múltiples redes virtuales, delegando la administración de cada red virtual a la misma entidad o a una diferente. El administrador de una red virtual en particular no tiene acceso al tráfico de una red virtual no controlada por él / ella, aunque podrían estar compartiendo el mismo enlace físico. El resultado final es el mismo que la virtualización del servidor. Obtiene una mejor utilización de los recursos físicos (en este caso, capacidad de enlace, por ejemplo), mientras logra la separabilidad entre las distintas redes virtuales.

La red definida por software, por otro lado, es una forma de controlar cómo se enrutan los paquetes a través de la red a través de reglas en (o instaladas por) un servidor central. Normalmente, tanto el enrutamiento (construcción de tablas de enrutamiento / reenvío) como el reenvío (envío del paquete al puerto correcto después de la búsqueda de la tabla de reenvío) se realiza mediante el conmutador / enrutador. Sin embargo, en SDN, la tarea de construir las tablas de reenvío / enrutamiento se delega a un servidor central. Cada vez que un enrutador / conmutador obtiene un paquete que no sabe cómo manejar, se pone en contacto con el servidor central. Luego, el servidor central instala una ‘regla’ en el enrutador / conmutador que especifica cómo manejar los paquetes de ese flujo en particular O simplemente responde con un puerto en el que se debe reenviar el paquete. Como el comportamiento del servidor central está completamente bajo su control, se puede hacer mucho con SDN. Por ejemplo, puede formular su propio protocolo de enrutamiento (que no sea BGP / OSPF) o, como habrá adivinado, virtualizar redes. Por lo tanto, la virtualización de red es solo una de las innumerables aplicaciones de SDN.

PD: La forma “estándar” de virtualizar redes (locales) es a través de VLAN. Las VLAN utilizan un campo en el encabezado de Ethernet para diferenciar entre paquetes de diferentes VLAN en la misma LAN.

Hay varias respuestas a esta pregunta dependiendo de a quién le pregunte. Pero algunos de los elementos esenciales son bastante comunes y bien entendidos.

En resumen, la respuesta de Gaurav Jain para Network Virtualization (NV) es precisa. La forma más fácil de razonar sobre NV es tener una infraestructura de red (red física) compartida por múltiples superposiciones. Para ser más precisos, podría ser compartir recursos físicos (a través de particiones). El recurso físico puede ser un nodo, un puerto, una tarjeta de línea, un enlace o incluso una longitud de onda donde una superposición no es consciente de la existencia de la otra. Ahora, es más fácil decirlo que hacerlo, ya que hay muchas propiedades inherentes a las redes que no son sencillas. Piense en las fallas wrt SRLGs por ejemplo. Pero en el papel, es una forma de cortar el recurso en múltiples subunidades. La clave aquí es tener en cuenta que esta virtualización puede estar ocurriendo en múltiples niveles / capas. Puede tener virtualización en L3 (enrutadores), L2.5 (MPLS), L2 (Ethernet), L1 (OTN) o L0 (Lambda / longitud de onda / ROADM). Además, los elementos de la red pueden ser físicos o virtuales. En otras palabras, una red como la siguiente:

(A) <—> (B) <—> (C)

podría tener dos enrutadores físicos (A y C) y un enrutador virtual (B) de manera que ninguno de estos elementos de red se dé cuenta si sus pares son físicos o virtuales. Los planos de control y datos * funcionan perfectamente * de manera automática. (Bonificación: la virtualización del plano de datos puede * en términos muy simples * describirse como NFV). Virtualización y abstracción es el nombre del juego.

En cuanto a las redes definidas por software (SDN), hay muchas (muchas, muchas) interpretaciones. Si le preguntas a un purista, la respuesta que obtendrás es la separación del reenvío del control. Es decir, tomar la funcionalidad del plano de control que hoy está integrada en el hardware (o estas pilas de enrutamiento / conmutación que se ejecutan en las plataformas del enrutador / conmutador) y moverla a otro lugar. Ahora, existe esta otra entidad llamada Controlador que nuevamente tiene muchas interpretaciones diferentes. Personalmente, me gusta llamar a esta capa de controlador, ya que abarca muchas funciones. Esto podría incluir (entre otros) protocolos de enrutamiento, sistemas de gestión (para FCAPS), facturación, inventario, planificación, etc. TENGA EN CUENTA QUE LA CAPA DEL CONTROLADOR NO NECESITA SER CENTRALIZADA. O bien, podría ser * lógicamente * centralizado pero distribuido físicamente (la funcionalidad se distribuye en un clúster de cómputo, por ejemplo). Ahora, aquí está la parte interesante, también hay casos de uso híbridos. Donde Control Plane puede seguir existiendo en el dispositivo (Lea mi respuesta en esta pregunta ¿OpenFlow básicamente centraliza las decisiones de enrutamiento?).

En mi humilde opinión, la visión SDN de un purista abarcaría la implementación (NV + SDN) que permitirá la implementación de redes de múltiples proveedores, múltiples capas y múltiples dominios donde los usuarios / operadores solo se preocupan por los servicios y políticas y no tienen que preocuparse por entrometerse con el proveedor / especificaciones del dispositivo. La prestación de servicios mucho más rápido de lo que es hoy en día, lo que permite que los modelos comerciales más nuevos sean un requisito fundamental . Además, es un cambio de paradigma en la industria de las redes, ya que esto abrirá nuevos negocios; Piense en Vendor X (como Cisco) construyendo hardware para el cual, Vendor Y (piense en BigSwitch o Open Daylight similar) escribiendo infraestructura + software de plataforma y Vendor Z (podría ser cualquiera) escribiendo aplicaciones inteligentes para hacer enrutamiento, PCE, etc.

Para comprender completamente los conceptos, sugiero que se olviden del término SDN, que es más bien comercial.

Entonces, para comenzar, de la aplicación a la red. Una línea de negocio necesita realizar alguna tarea (por ejemplo, comprender el comportamiento del consumidor durante los primeros 30 días de reubicación). Por lo tanto, un desarrollador de aplicaciones necesita crear una nueva aplicación que logre ese objetivo comercial. El desarrollador discutiría con un operador de red la intención de alto nivel de la aplicación. El operador de red traduce la intención en una política entre dominios. Una política típica cubriría cosas tales como 1) control de acceso (para garantizar que el usuario esté accediendo solo a la aplicación que se supone que debe usar), 2) aislamiento (no se permite la comunicación directa entre los servidores web y el servidor de la base de datos), 3 ) ingeniería de tráfico (reglas que dictan a qué rutas redirigir el tráfico en función de los SLA con respecto a QoS, ancho de banda, etc., por ejemplo, si el tráfico de A a B, viajando en el enlace 1 excede el umbral máximo predefinido, redirija el tráfico al enlace 2).

Política. Siguiendo los pasos del mundo del almacenamiento. Enterprise Storage Manage ha representado un enfoque unificado que se basa en políticas centrales para administrar los recursos de almacenamiento en toda la organización. La mayoría de las compañías prefieren una solución de administración de almacenamiento para todas las plataformas de hardware. Las empresas desean un almacenamiento inteligente de datos y un marco de almacenamiento integrado que permita a los administradores gestionar y proteger adecuadamente todos los datos corporativos. Estos administradores deben poder establecer políticas de almacenamiento que impongan copias de seguridad a ciertas frecuencias, verificar si las cintas aún se pueden leer y tomar las medidas apropiadas cuando se producen excepciones o eventos predeterminados durante diferentes procesos de almacenamiento. La solución también debe ser rentable. Debe utilizar los recursos informáticos de manera eficiente y minimizar la necesidad de administradores de sistemas. Hoy, el mundo de las redes está siguiendo los pasos del almacenamiento, con el impulso de tener políticas centrales. (Checkout Congress – OpenStack para más detalles)

Programación de la red. Un programador de red escribiría un programa de control (para un controlador centralizado) que calcule el estado de reenvío, expresando la intención comercial de la aplicación, que reside dentro de una máquina virtual o un contenedor (es decir, un método de virtualización del sistema operativo para que múltiples aplicaciones y sus bibliotecas dependientes pueden compartir la misma instancia del sistema operativo Linux y nubes públicas) . Esa intención podría ser: conectar A a B, y / o aislar C de B. El programa de control es esencialmente un algoritmo de enrutamiento de paquetes que se ejecuta en la parte superior de un grupo de computadoras distribuidas (es decir, una gran cantidad de servidores basados ​​en x86).

El programa calcula las entradas de flujo requeridas (qué paquete debe ir a dónde), y luego inserta los resultados computacionales o entradas de flujo en un conmutador virtual (vSwitch). Una red virtual se hace cargo de lo que hace una red tradicional; es decir, proporcionar un conjunto de conexiones para que las aplicaciones enruten datos.

El hipervisor de red. Un hipervisor de red (por ejemplo, el hipervisor de red FSP de ADVA, IBM SDN-VE, el hipervisor de red abierto de Huawei, el hipervisor de red VMware NSX) traduce la intención de la aplicación al lenguaje de máquina. Las computadoras (conmutadores y enrutadores) no entienden el lenguaje de nivel superior (el lenguaje de programación de control; por ejemplo, C). Ellos –o, en cierto sentido, sus microprocesadores– entienden solo el lenguaje de máquina, es decir, ceros y unos (binarios). Un binario es solo un sistema de números que solo tiene ceros y unos. Los lenguajes de la máquina están definidos por el chip (ASIC) que tiene dentro de su enrutador y conmutador.

Sistema operativo para la red (por ejemplo, Open Network Linux, Cumulus Networks, Switch Switch’s’s Switch Light, Pica8). El hipervisor reside en la parte superior de un sistema operativo de red (NOS), que a su vez reside en la parte superior de un servidor x86. El servidor contiene una base de datos actualizada con la observación ‘en tiempo real’ del NOS, o la vista de la red global. El hipervisor compila o transforma el código fuente escrito en un lenguaje de programación en instrucciones de máquina basadas en la red observable ‘en tiempo real’ proporcionada por el NOS. El NOS luego llevaría esas instrucciones de la máquina (por ejemplo, enviar el empaquetador desde el host A al host B) a los conmutadores / enrutadores físicos.

El plano de datos. El paquete atraviesa la red a través de un plano de datos (que se puede considerar como la ‘cinta transportadora’ de la red). El plan de datos, o el hardware que contiene el chip / ASIC, simplemente sigue las instrucciones del hipervisor (mover el paquete de A a B) transmitido por la red O / S.

  • Modelo de referencia de interconexión de sistemas abiertos (OSI). Para comprender cómo todos los diversos componentes se unen para formar una ‘red’, es importante comprender el Modelo de referencia de interconexión de sistemas abiertos (OSI). La Organización Internacional de Normalización (ISO) desarrolló el modelo OSI como un método lógico para dividir la tarea de comunicación de sistema a sistema y un marco para comprender todas las partes de esa tarea. El modelo divide las tareas relacionadas con la comunicación en una serie de capas. La capa inferior del modelo OSI está más cerca del hardware en la computadora u otro dispositivo de red. La capa superior está más cerca del usuario.
  • Las tareas y la información se mueven hacia abajo desde las capas superiores hasta que alcanzan la capa inferior donde se envían a través de los medios de red desde el sistema de origen hasta el destino. En el destino, la tarea o la información vuelve a subir a través de las capas hasta llegar a la parte superior. Cada capa está diseñada para aceptar el trabajo de la capa superior y pasar el trabajo a la capa inferior. Cada capa también proporciona servicios a la capa superior, y envía trabajo a la capa inferior, cada capa se comunica con su capa igual en la computadora remota.
  • Es importante tener en cuenta que el modelo OSI no funciona ni permite ninguna comunicación. No es una pieza de hardware o software. Más bien, el modelo sirve como una guía para definir protocolos. Un protocolo es una forma de hacer algo. Por ejemplo, un protocolo puede decirnos qué tenedor usar primero en la cena; o cómo se debe saludar al jefe de un estado. En la creación de redes, un protocolo define una forma específica de realizar parte de la tarea de comunicarse de un sistema a otro

Capas seleccionadas :

  1. Capa 1 – Física: La capa física define la funcionalidad del hardware de la red: qué forma tienen los conectores; cuántos pines tienen; qué voltaje (y por cuánto tiempo) define un 1 o un 0; si el medio es alambre de cobre, fibras ópticas o al aire libre. Todo lo relacionado con cómo se transforman los datos hacia y desde una señal en los medios de red se trata en la capa física.
  2. Capa 3 – Red: la capa de red se ocupa de mover paquetes de información a través de la red. Las redes grandes están formadas por subredes más pequeñas llamadas http://segmentos.Para cruzar de un segmento a otro, los sistemas necesitan conocer la dirección de la capa de red del sistema de destino (similar a identificar la casa por el nombre de la calle y el número de la casa). ) Los dispositivos que operan en la capa tres de la red (p. Ej., Conmutadores y enrutadores) reenvían paquetes de un segmento al siguiente en función de la dirección de red de destino del paquete.
  3. Capa 4: transporte: el objetivo de la capa de transporte es proporcionar una transmisión de datos confiable para las capas superiores. Al hacerlo, a menudo está trabajando para compensar la falta de fiabilidad en las capas inferiores. (Esto no es tan malo como parece, gran parte de esta falta de fiabilidad está diseñada en). El transporte hace esto ordenando el proceso de establecer y destruir las comunicaciones entre dos sistemas. Utiliza números de secuencia y control de flujo para mantener la información en movimiento a la velocidad correcta y para asegurarse de que el destinatario sepa cómo volver a ensamblar una secuencia de paquetes en el orden correcto. La capa de transporte también realiza la multiplexación, combinando datos para conservar el ancho de banda, o dividiendo los datos para viajar a través de varias rutas de red.

Una vez que un usuario de la aplicación hace clic en la interfaz de usuario de la aplicación (por ejemplo, el botón ‘ejecutar análisis en X’), la aplicación se comunica con el programa de control a través de quizás una API RESTful JSON. Posteriormente, un paquete “nace”, luego se envuelve (es decir, encapsula) por un enrutador de borde con una etiqueta de protocolo inicial (por ejemplo, MPLS). El paquete viaja sobre la ‘cinta transportadora’ (plano de datos) hasta llegar a un enrutador central, que examina la etiqueta MPLS para determinar el destino del paquete.

  • (MPLS), o cambio de etiqueta multiprotocolo es una especificación para el cambio de capa 3 desde el IETF. MPLS utiliza etiquetas (o etiquetas) que contienen información de reenvío, que están unidas a paquetes IP por un enrutador que se encuentra en el borde de la red, conocido como enrutador de borde de etiqueta (LER). Los enrutadores en el núcleo de la red, conocidos como enrutadores de conmutación de etiquetas (LSR), examinan la etiqueta más rápidamente que si tuvieran que buscar las direcciones de destino en una tabla de enrutamiento. Debido a esta velocidad, MPLS está destinado a brindar la calidad de servicio requerida para soportar adecuadamente la voz y el video en tiempo real, así como los acuerdos de nivel de servicio (SLA) que garantizan el ancho de banda.

La red tradicional. Discutí en una publicación de Linkedin los roles y funciones de la virtualización (y las máquinas virtuales). La virtualización permitió “ocultar” la complejidad de la infraestructura física de TI a los administradores de TI, permitió niveles de utilización de activos mucho más altos y permitió al programador agregar cualquier funcionalidad nueva a Linux. En contraste, en las redes tradicionales, este concepto de solo programa y despliegue no existe. El operador de red obtendría una CLI para acceder a alguna funcionalidad en conmutadores relativamente heterogéneos, lo que significa que, a diferencia del escenario ordenado discutido anteriormente, los enrutadores y conmutadores NO solo recibirían órdenes de una pieza central de software (ningún comando único que pudiera reconfigurar cada pieza del red).

“Oh, sí, muy pronto, lo están construyendo ahora”, revise este clip de Eurotrip , luego continúe leyendo

Si los clientes necesitaran una funcionalidad de conmutador incremental para admitir un nuevo uso comercial, esperarían pagar cientos de miles de dólares Y esperar meses o años mientras el proveedor de la red ‘envuelve’ el chip (o el ASIC) y lo pone a disposición. ¡Tanto por permitir la digitalización y la agilidad!

Las arquitecturas de red optimizadas para el tráfico Norte-Sur NO admiten de manera eficiente la comunicación dentro del centro de datos. Una máquina virtual encapsula completamente el estado del sistema operativo invitado que se ejecuta en su interior. El estado de la máquina encapsulada se puede copiar y compartir a través de redes. Sin embargo, las máquinas virtuales están vinculadas al dominio de Capa 2: tienen que operar dentro del entorno físico en el que se implementaron originalmente (piense en VMware pre Nicira / NSX). Para ser compartida en una red, la VM necesita un direccionamiento IP, conectividad L2 / L3, junto con servicios de red asociados (traducción de direcciones de red, QoS, seguridad), que se han definido tradicionalmente en el hardware de la red. Sin embargo, las aplicaciones de varios niveles, la informática de alto rendimiento (HPC) y otras cargas de trabajo de escalamiento horizontal se implementan en infraestructuras de servidores de varios niveles, lo que requiere comunicaciones de servidor a servidor de este a oeste (las máquinas virtuales se mueven rápidamente de un clúster de servidores a otro) . Sin embargo, con la conectividad y los servicios de red definidos en el hardware de la red, la VM está esencialmente vinculada a una ubicación física en el centro de datos.

Impulsar la adopción de la nube. Ford, GM y el ejército de los EE. UU. Una de las razones por las cuales las empresas se han resistido a la computación en la nube es que la arquitectura de la red ha sido demasiado descentralizada para configurarse y reconfigurarse fácilmente, dejándola propensa a errores humanos; es decir, la nube es potencialmente insegura y poco confiable. En cuanto a los proveedores de servicios en la nube, generalmente ejecutan centros de datos completos en una red compartida. Sin embargo, si, por ejemplo, Ford y GM comparten una conexión de red y los piratas informáticos acceden con éxito a los datos de una empresa, podrían moverse fácilmente hacia el este (u oeste) a través del centro de datos del CSP para ver los de la otra.

Ahí es cuando brilla la virtualización de la red. Desenreda la máquina virtual del hardware físico y la conecta a una red lógica. Una vez desconectada de la infraestructura de red subyacente, la máquina virtual (o contenedor) se vuelve completamente móvil (puede moverse de este a oeste, o de un grupo de computadoras a otro). El hipervisor de red esencialmente bloquea las aplicaciones o programas (que se ejecutan en servidores x86) para que no interactúen con el hardware de red circundante. En cuestión de minutos (y mediante el uso de software), los equipos de TI empresariales pueden vincular automáticamente estos ‘bloques’ para realizar fácilmente actualizaciones y actualizaciones, agregar dinámicamente capacidades de seguridad mejoradas y detalladas (por ejemplo, Illumio Adaptive User Segmentation), sin conjeturas típicas.

La modernización de la red y la separación del mecanismo de la política (como con la informática) ha sido estudiada durante mucho tiempo por el gobierno de los EE. UU., Desde que Martin Casado, el ‘padre de las redes modernas’ se unió al Laboratorio Nacional Lawrence Livermore a principios de la década de 2000. En las 170 páginas más el documento desclasificado “Creación de un DOD conjunto asegurado y una red interoperable interagencial”, el Departamento de Defensa de los EE. UU. (DoD) se dedica a debatir, entre otras cosas, la importancia de la interoperabilidad y de tener “un maestro plano de control como elemento clave para facilitar el interfuncionamiento y el aseguramiento de la información “.

Para comprender las redes definidas por software, debe comprender los dos “planos”.

El plano de control está representado por los paquetes necesarios para que el enrutamiento funcione en el dispositivo. Los paquetes de Control Plane están destinados al enrutador o creados por el enrutador para recibir o enviar información sobre la infraestructura de red.

El plano de datos (o también llamado el plano de reenvío) abarca todo lo que pasa a través del enrutador, pero no al enrutador.

La distinción, en otras palabras, es la forma en que se procesan en lugar de los protocolos utilizados. Los paquetes del plano de control se despojan de su encabezado IP y el enrutador procesa los datos dentro de la carga útil, mientras que los paquetes del plano de datos tienen su encabezado IP examinado y luego se descartan o se enrutan a una interfaz.

A partir de ahora me referiré al plano de control como CP y al plano de datos como DP. Supongamos que tiene tres enrutadores conectados como tales:

A B C

Ahora suponga que el enrutador A está enviando un paquete BGP al enrutador C.
1. El paquete se origina en el enrutador A, A lo considera como un paquete CP.
2. El paquete llega al enrutador B. Como no está destinado al enrutador B, se considerará un paquete DP y se enrutará a C.
3. El paquete llega al enrutador C, su destino. Aquí se considera un paquete CP porque será procesado como un paquete BGP por la aplicación BGP que se ejecuta en C.

Con eso en mente, pasemos a SDN.

SDN propone desacoplar el plano de control del plano de datos agregando una capa de abstracción y cambiando de un modelo distribuido a un modelo centralizado y haciendo que todo sea programable.

Mover el plano de control a un software centralizado alivia la carga de la CPU en los enrutadores que de otro modo se gastarían en calcular la información del CP y permite una gran flexibilidad al reconfigurar una red.

Como solo conozco los conceptos básicos de SDN y no estoy demasiado calificado para explicar su funcionalidad, adjunté un enlace en [1] que proporciona una explicación mejor y más detallada.

En cuanto a su pregunta:

La virtualización de la red está destinada a mejorar la automatización, la gestión y la flexibilidad de las redes existentes. Existe controversia sobre si la virtualización de red es un subconjunto de SDN o si SDN es un subconjunto de virtualización de red.

Mi opinión es que SDN, definido como “separar el CP del DP”, no es lo mismo que la virtualización de la red. Más bien, creo que es una herramienta que se puede aprovechar para lograr la virtualización de la red.

Adjunto otro enlace [2] que es un podcast sobre la virtualización de red. Si tiene una hora libre y desea obtener más información sobre el tema, lo recomiendo.

[1]

[2] http://recordings.talkshoe.com/T

Para obtener una descripción general de las diferencias entre SDN y la virtualización de redes, consulte el artículo “El camino hacia SDN: una historia intelectual de redes programables” en ACM Queue.
El camino a SDN – Cola ACM

Mientras que NV y NFV agregan túneles virtuales y funciones a la red física, SDN cambia la red física y, por lo tanto, es realmente un nuevo medio externo para aprovisionar y administrar la red. Un caso de uso puede implicar mover un gran “flujo de elefante” de un puerto 1G a un puerto 10G, o la agregación de muchos “flujos de ratones” a un puerto 1G. SDN se implementa en conmutadores de red, en lugar de servidores x86. BigSwitch y Pica8 son ejemplos de empresas que venden productos relacionados con SDN.