Virtualización de funciones de red
# Virtualización de funciones de red

La virtualización de funciones de red, denominada NFV (por sus siglas en inglés, network function virtualization), es un marco de referencia general relacionado con la arquitectura de redes, orientado a virtualizar diferentes elementos dentro de las mismas.
Este escenario se crea a partir de las necesidades dentro del mercado de las telecomunicaciones, en constante evolución, y que en los últimos años se ha encontrado ante la necesidad de utilizar arquitecturas más flexibles (menor dependencia de fabricantes, estándares abiertos,…) a la vez que se mantienen los niveles de servicio y exigencia. Los diferentes proveedores de servicios entendieron la necesidad de evolucionar las redes, puesto que los requerimientos actuales, sobre todo en lo que a volumen de información y velocidad requerida se refiere, excedían el alcance de las redes “clásicas”
Puede considerarse 2012 como el inicio oficial de NFV, a partir del whitepaper “Network Functions Virtualization” presentado en octubre de dicho año por miembros del ETSI en Alemania, relacionado con SDN y OpenFlow.
En dicha presentación, se plantearon los siguientes puntos clave:
* Necesidades de diseño para nuevos equipamientos
* Costes y restricciones físicas de fabricación
* Alto nivel de conocimiento necesario para operar las soluciones propietarias de HW/SW
* Complejidad HW en las soluciones de fabricante
* Ciclo de vida muy corto, lo que hace mínima la vida útil de dicho hardware
* El ciclo de producto comienza antes de haber podido comenzar el retorno de inversión
Este nuevo conjunto de necesidades desemboca en la creación de nuevas soluciones, más ágiles y efectivas, nacidas en este nuevo entorno y orientadas a la agilidad, escalabilidad y facilidad de implementación.
El enfoque NFV se aleja de la concepción dependiente de varias plataformas hardware para dotar soluciones, pasando a un modelo de uso de plataformas estandarizadas que soporten soluciones virtuales que provean las soluciones de función de red requeridas.

# Virtualización de funciones de red
## Descripción

La arquitectura relacionada con las “redes clásicas” es, en general, estática, puesto que tanto HW como SW están limitados e integrados de una forma predeterminada en la red; por el contrario, NFV permite que el software desarrollado se despliegue en diferentes plataformas, permitiendo múltiples puntos de gestión de la red. La idea subyacente pasa además porque dichos puntos sean estándar y compatibles para soluciones multivendor (de varios fabricantes).
Para llegar a esta solución, es necesaria la creación de los elementos de función de red virtualizada (VNFs, por sus siglas en inglés, Virtualized Network Functions). Cada VNF realizará una función de red (router, switch, firewall,…) y la combinación de varias VNFs servirá para implementar el segmento de red virtualizado. Es importante destacar este punto, pues una VNF en sí misma no aporta una solución NFV, sino que es la agrupación de las mismas de manera ordenada la que permite obtener el resultado deseado.
En general, la virtualización de elementos (utilizada para PCs y Servidores desde hace un tiempo a través de plataformas como VMWare), puede enfocarse hacia los siguientes elementos:
* Dispositivos de función de red: switches, routers, puntos de acceso a red, CPEs (Customer Premise Equipments) ,….
* Dispositivos de IT relacionados con red: firewalls, sistemas IDS (Intrusion Detection Systems), sistemas de gestión de dispositivos de red.
* Almacenamiento enlazado a red: NAS (Network Attached Storage): servidores de archivos o bases de datos conectados a la red.
De esta manera se consigue sustituir elementos realmente complejos y especializados con sistemas equivalentes que se ejecutan sobre hardware genérico. Se pasa de soluciones aisladas, sin posibilidad de compartir recursos HW, a soluciones basadas en plataformas compartidas, que ofrecen flexibilidad e independencia de los diferentes fabricantes.
Cada fabricante / desarrollador podrá ofertar diferentes VNFs, que los proveedores podrán combinar de forma que cubran la necesidad de la solución de la mejor forma posible. No obstante, deben tenerse en cuenta las siguientes consideraciones:
* Implementaciones multifabricante: COTS (Commercial Off-The-Shelf, cualquier dispositivo)
* Control de ciclo de vida e interacciones entre las diferentes funciones
* Control de los recursos Hardware asociados
* Monitorización del uso
* Configuración de las diferentes VNFs
* Necesidades de las interconexiones entre las entidades para poder asegurar el servicio
* Interacción con OSSs y BSSs (sistemas de operación y facturación de los proveedores)
Esta serie de requerimientos hacen necesaria una estandarización, que asegure que se cumplan ciertas condiciones asociadas al marco de trabajo, como por ejemplo, hardware y sistemas de gestión independientes del fabricante, asegurar que la VNF no está personalizada para entornos particulares, etc. En general, se deben proveer pautas claras para que puedan desarrollarse tanto herramientas como HW lo suficientemente amplios para no implicar restricciones en las soluciones asociadas.
A este respecto, la ETSI (European Telecommunications Standards Institute) creó un grupo dedicado al control de iniciativas NFV/SDN, basado en 3 criterios principales:
* Decoupling: separación total de hadware y software
* Flexibilidad: implementación automatizada y escalable de funciones de red
* Operaciones dinámicas: control adecuado de los parámetros de operación de las funciones de red a través de control pormenorizado y monitorización del estado de la red.
De manera resumida, podríamos dividir el framework en 3 bloque principales, que se muestran y describen a continuación:
* Network Functions Virtualization Infrastructure (NFVI): constituye la base general de la arquitectura; contiene el hardware para alojar las máquinas virtuales, el software que hace posible la virtualización y los propios recursos virtualizados.
* Virtualized Network Function (VNF): utiliza las máquinas virtuales que ofrece el bloque NFVI, construyendo sobre ellas las funciones virtualizadas de red añadiendo el software necesario.
* Management and Orchestration (MANO): MANO se define como un bloque separado dentro de la arquitectura, que interactúa tanto con NFVI como con VNF. Se delega en esta capa toda la gestión de los recursos de la capa de infraestructura (incluyendo la creación, borrado y reserva de espacio necesarios para la gestión de las diferentes máquinas virtuales).
El bloque de Gestión y Orquestación (MANO) está orientado a tener visibilidad total de las diferentes entidades dentro de la solución NFV, siendo el responsable de su control. Debe por tanto poder conocer el nivel de uso, estado, estadísticas y resto de parámetros asociados a cada uno de los elementos. Es por tanto un bloque vital, y además la clave para poder conectar en caso necesario, con los sistemas OSS (Operación) y BSS (Comercialización y Facturación) de los operadores cuando sea necesario.
Para asegurar un correcto funcionamiento de las soluciones, es necesario seguir algunas pautas básicas:
* Service chaining: cada VNF es modular es independiente, pero tiene limitaciones de funcionalidad si trabaja aislada. Debe asegurarse en todo momento que la interconexión de VNFs provee un servicio correcto, puesto que las soluciones dependerán de la conexión en cadena de varias VNF (de ahí el concepto de service chaining).
* Management and Orchestration (MANO): asociado al bloque de arquitectura visto anteriormente, en la gestión y monitorización de la red se hace necesario un conjunto de herramientas que permita manejar el ciclo de vida completo de las aplicaciones relacionadas con las VNFs (creación, monitorización, service chaining, reubicación, apagado, facturación …)
* Arquitectura distribuida: como hemos visto, cada instancia VNF puede estar formada por varios componentes (denominados VNFCs, Virtual Network Function Component). Cada VNFC, y los posibles módulos que contenga, debe ser provisionado en hosts separados, asegurando de esta forma la redundancia y la escalabilidad del servicio.
Como resumen de alto nivel, podríamos definir el ciclo básico de operaciones asociadas a un proceso de NFV de la siguiente forma:

# Virtualización de funciones de red
## Ventajas

Las ventajas de la aplicación de NFV son claras respecto al enfoque de redes “clásicas”; algunas de ellas son las siguientes:
* Simplificar la implantación de elementos de red: se pasa de soluciones complicadas, jerarquizadas y específicas a soluciones más flexibles, que permiten una implantación más sencilla y modificaciones más rápidas y de menor impacto.
* Conseguir mayor velocidad en el despliegue de elementos de red: pasamos de depender de una implantación hardware complicada y larga a implantaciones SW directas, mucho más rápidas
* Aumento en la escalabilidad de la red: ya no se necesita un número tan elevado de equipos hardware para escalar la red, puesto que con los elementos virtualizados puede realizarse de forma directa hasta conseguir ratios muy elevados.
* Independencia de los fabricantes de equipos: se elimina la dependencia de ciertos grandes fabricantes para algunas soluciones, lo que aminora los costes y permite evoluciones más rápidas
* Interoperabilidad (estándares abiertos): permite asegurar la compatibilidad entre diferentes elementos que cumplan la norma del framework general.
* Seguridad: mediante la orquestación y visión conjunta de los diferentes elementos de red a través de sistemas de gestión común, se mejoran las capacidades de seguridad de la red; además, se puede dotar a los clientes de un espacio virtual para sus configuraciones personalizadas de firewalling y seguridad, sin afectar al resto de la red.
* Menor Time-To-Market: la comercialización de los productos de los proveedores podrá hacerse de una forma mucho más rápida, evitando perder oportunidades de negocio por largos plazos de implantación de servicios físicos.
* Desarrollo software: la arquitectura asociada a NFV/SDN permite que desarrolladores de SW “puros” comiencen a aportar sus soluciones, aumentando el abanico de funcionalidades y potencia asociada a las diferentes aplicaciones de red.
* Ahorro de costes:
* Reducción de la inversión requerida (CapEx, Capital Expenses)
* Reducción del coste de operación (OpEx, Operation Expenses)
Estas son algunas de las ventajas principales que se estiman plausibles dada la naturaleza de la concepción de NFV; no obstante, es muy posible que en el futuro se detecten otras, o se analice el impacto real en cada una de ellas, puesto que se trata de una concepción relativamente nueva, y no se tiene una idea concreta de alcance e impacto real en la industria y los usuarios a día de hoy.

# Virtualización de funciones de red
## Relación con SDN

Se denomina SDN (Software Defined Network), al conjunto de técnicas relacionadas con el área de redes enfocadas a simplificar la provisión y gestión de las mismas. Este cambio de paradigma respecto a las redes “clásicas” se consigue dividiendo el concepto de red en 2 partes:
* Plano de control → Software → Overlay Network
* Plano de datos → Hardware → Underlay Network
De forma muy resumida, la idea es hacer transparente para el usuario la infraestructura física que sustenta los servicios de red, de manera que la configuración de los servicios de comunicaciones se simplifica de manera significativa. Esta mayor facilidad genera despliegues más rápidos y eficientes, pero a la vez requiere perfiles altamente especializados asociados al diseño y planificación de redes. NFV (Network Function Virtualization) va de la mano de SDN, y se centra en la virtualización de los dispositivos asociados a los servicios requeridos.
Pese a estar relacionados, ambos conceptos no son exactamente iguales:
| | SDN | NFV |
| Descripción | Hacer la red programable (separación de planos de control y datos, creación de APIs para ITXs | Transformación de HW en apps SW que se pueden ejecutar en entornos virtualizados (y centralizados en SRVs) |
| SW relacionado | SDN Orchestrators / Controllers --- SDN Apps | Virtualización, gestión y administración, NFV Mgmt & Orchestration (MANO), Virtual Network Functions (VNFs) |
Ambas tecnologías en combinación con Ethernet están modificando la situación de las redes, sobre todo en los centros de datos, de manera ostensible, alineando los servicios de comunicaciones al entorno CLOUD, que hasta ahora se centraba principalmente en los ámbitos IT.
Pese a su estrecha relación, SDN y NFV no dependen el uno del otro, y pueden funcionar de manera independiente, aunque su implementación conjunta ofrece soluciones mucho más potentes: puesto que en ambos escenarios es necesaria una correcta orquestación del conjunto de los servicios, la visión conjunta de estas funciones hace que la solución sea mucho más efectiva. Además, el esquema de herramientas de gestión y monitorización de SDN para los diferentes planos encaja perfectamente con las necesidades de NFV, lo que implica que las soluciones de gestión “concertadas” entre SDN y NFV son ideales para gestionar los entornos multiproveedor.
La visión general de la interrelación entre SDN y NFV (y las iniciativas OpenSource de universalidad entre fabricantes que son necesarias para su implementación) podría ser la siguiente:
Podemos por tanto considerar NFV como una de las aplicaciones claras del paradigma SDN en los entornos de redes de gran tamaño. Los operadores de red dominantes en el mercado están trabajando en esta línea, analizando de forma continua cómo la implementación de estos nuevos modelos puede ayudar a un desarrollo de los servicios que ofrecen a sus clientes finales.

# Virtualización de funciones de red
## Ejemplos de uso

Existen múltiples casos de uso de NFV, en función de las diferentes necesidades puntuales que quieran acometerse, pero resulta especialmente interesante ver su relación con Cloud Computing, puesto que la evolución de servicios, tanto en IT como en comunicaciones, se está orientando cada vez más a este tipo de soluciones. Debido a su estrecha relación con las soluciones de Cloud Computing, las soluciones NFV deben adaptarse a los modelos de servicio disponibles en Cloud, que pueden resumirse en 3 bloques principales:
* IaaS: Infrastructure as a Service, Infraestructuras en modo Servicio
* SaaS: software as a service, software como servicio
* PaaS: Platform as a Service , Plataforma como servicio (combinación de las anteriores)
NFV puede adaptarse a estos esquemas, utilizando , por ejemplo, las siguientes implementaciones:
NFVIaaS: Network Functions Virtualization Infraestructure as a Service
Es uno de los casos claros, y un punto clave: analizar la capacidad real de ofrecer soluciones reales que combinen IaaS (Infrastructure as a Service) y NaaS (Network as a Service).
Los recursos compartidos en los dos escenarios serían: red física, almacenamiento y recursos de computación; estos son los bloques generales que ya hemos visto en el bloque de infraestructura NFVI. En entornos de Cloud Computing, estos elementos deben ser capaces de soportar funcionalidades Iaas / NaaS, puesto que las soluciones SaaS / PaaS deben ofrecer sus servicios sobre plataformas que soporten dichos servicios. La diferencia principal radica en la localización de los elementos, que, si bien en Cloud Computing es totalmente transparente, en NFVIaaS sí puede tener cierta dependencia, pues hay elementos de comunicaciones que tienen cierta dependencia geográfica (situación actual de los nodos de servicio, Interconexiones entre proveedores (NNI), …). Se deben poder soportar además soluciones multi-tenant (servicio a múltiples clientes simultáneos).
VNFaaS: Virtual Network Function as a Service
El enfoque principal pasa por virtualizar los diferentes elementos de red que conforman la red de servicio (en especial de servicio a empresas/grandes clientes), de forma que las configuraciones puedan simplificarse. Estos elementos son, principalmente:
* CPEs de clientes de empresa
* PE – Provider Edge Router
* FW – Firewall de empresa
* WOC- Wan Optimization Controller
* DPI – Deep Packet Inspection
* IPS – Intrusion Prevention Systems
* Network Performance Monitoring
VNPaaS: Virtual Network Platform as a Service
Uso de plataformas compartidas, similar a VNFaaS pero con un alcance mayor, tanto en tamaño como en capacidades. Generalmente, VNFaaS está limitado a configurar las diferentes instancias disponibles (facilitadas por el proveedor del servicio), mientras que VNPaaS ofrece la posibilidad a los usuarios de incluir sus propias instancias VNF, no sólo las facilitadas por el proveedor del servicio.

# Virtualización de funciones de red
## Futuro y Evolución

La tendencia actual en el entorno de las comunicaciones y el IT, dado el gran impacto que la transformación digital está teniendo en la sociedad, pasa por algunas claves generales: velocidad, ubicuidad de los datos, seguridad, compartición de contenidos, etc.
En lo que a la tecnología NFV se refiere, su implementación y desarrollo completo tiene que ver con este nuevo entorno, basado en dos vías :
* Cloud: el concepto de Cloud Computing es fundamental a la hora de implementar NFV. Aprovechando las tecnologías de virtualización desarrolladas para los entornos de Clod Computing (virtualización hardware mediante hipervisores, uso de switches Ethernet virtuales para conectar el tráfico entre máquinas virtuales e interfaces físicos, etc), se consigue disponer de un entorno adecuado para el desarrollo a media de las VNFs que puedan ser requeridas.
La capacidad de procesamiento del entorno facilita disponer de las funciones de comunicaciones necesarias: procesadores multinúcleo de alta velocidad (que permiten gran rendimiento en términos de anchos de banda de entrada y salida), tarjetas de red Ethernet inteligentes para compartición de carga, routing de paquetes directamente a memoria virtual, drivers Ethernet por sondeo, etc. Además, la propia infraestructura CLOUD ofrece un entorno de alta disponibilidad, lo que asegura un correcto funcionamiento de los elementos de red desplegados con altos ratios de éxito; por otra parte, los propios mecanismos de gestión y orquestación asociados a la CLOUD son aplicables a NFV, cuadrando perfectamente con sus requerimientos: creación automática de instancias de dispositivos virtuales en la red, gestión de recursos asignados a la CPU, reinicio de máquinas virtuales fallidas.
* Hardware: la rápida evolución en la fabricación de hardware potente y asequible es también fundamental para el avance de la tecnología NFV. A día de hoy, al contrario que hace algunos años, podemos disponer de un volumen importante de servidores estándar a bajo precio. Este tipo de servidores emplean componentes estándar (generalmente x86) e intercambiables, lo que facilita la presencia de un gran número de proveedores a bajos precios. Los equipos de red “clásicos”, basados en circuitería específica dedicada (ASICs, Application Specific Integrated Circuits) pasarán a ser utilizados en funciones particulares específicas, pero su uso más general no será de aplicación en un periodo relativamente corto dada su poca competitividad en costes.
Con esta situación general, parece claro que NFV y SDN serán las tendencias que marquen el nuevo rumbo asociado a las comunicaciones en el futuro.
Según algunos estudios recientes publicados (por ejemplo, NFV Hardware, Software, and Services Annual Market Report de IHS Markit), estiman que el merado asociado a NFV tendrá un valor aproximado de 15.5 billones de dólares hacia el año 2020; durante 2015, el valor estimado ha sido de unos 2.7 billones, lo que implica que se estima un crecimiento aproximado de más del 200% del mercado en 5 años. (NOTA: billones de dólares americanos, 1 billón = 1.000 millones).
Otras fuentes (por ejemplo PRNewsWire), hablan de un crecimiento aún mayor, de ratios que podrían llegar a rondar el 80% anual hasta 2020. Comprobamos por tanto que la evolución del mercado y las estimaciones de los especialistas apuestan de forma clara por las soluciones NFV/SDN, que marcarán la evolución del mercado de las comunicaciones en los próximos años.