CNFs

Desde mi perspectiva como especialista en redes, he sido testigo de una evolución constante en la forma en que diseñamos, implementamos y gestionamos los servicios de red. Hemos pasado de depender de hardware dedicado y voluminoso (las funciones de red físicas o PNF) a virtualizar esas funciones en máquinas virtuales (las funciones de red virtuales o VNF). Ahora, estamos en la era de las funciones de red nativas de la nube o CNF, un cambio que está redefiniendo la agilidad y eficiencia de nuestras redes, especialmente con la llegada del 5G.

Desglosemos entonces qué son exactamente las CNF, cómo están estructuradas, para qué las usamos y, lo más importante para nosotros en el sector, en qué se diferencian de las VNF y por qué son fundamentales para el futuro de las telecomunicaciones.

¿Qué es una CNF?

Una función de red nativa de la nube (CNF) se define como un servicio de software que ejecuta funcionalidades de red mientras se adhiere a los principios de diseño nativos de la nube. Es, esencialmente, un componente de software de una función de red que normalmente se realizaba en un dispositivo físico, pero que ahora se construye y entrega de manera nativa de la nube. Las CNF no requieren hardware o appliances específicos para albergarse.

El concepto clave detrás de las CNF es que son una técnica novedosa utilizada para construir sistemas de red complejos basados en la computación nativa de la nube y los principios de microservicios. A diferencia de las arquitecturas monolíticas tradicionales, las CNF «descomponen» las funciones de red en unidades más pequeñas llamadas microservicios. Estos microservicios están empaquetados en contenedores, que son unidades ligeras que contienen el código de la aplicación y sus dependencias, y proporcionan un entorno de ejecución.

Arquitectura y Estructura de una CNF

Una CNF está diseñada y construida para operar dentro de contenedores. Heredan la mayoría de los conceptos nativos de la nube, tanto arquitectónicos como operativos, como la gestión del ciclo de vida del servicio de Kubernetes (K8s), la movilidad, la robustez y la observabilidad.

Una arquitectura típica de CNF tiene un diseño por niveles. En la parte superior se encuentran las capas de aplicaciones, orquestación y administración, y en la parte inferior la capa de datos de software. Varios componentes clave conforman esta arquitectura:

  • El plano de datos: Incluye el área de operaciones de usuario que maximiza el rendimiento y evita el kernel. Ejemplos como FD.io son parte de este plano.
  • El kernel de Linux: Aunque puede presentar limitaciones de rendimiento y retrasos en las actualizaciones de características, es la capa de datos más utilizada en sistemas de nube virtual. Es posible crear CNF que utilicen la capa de red del kernel.
  • Agente del plano de control: Hace que las interfaces de programación de aplicaciones (API) orientadas hacia el norte estén disponibles para programas internos, procesos y plugins. También pueden interactuar con aplicaciones externas y servicios del plano de gestión.
  • Plugins personalizados: Permiten agregar características específicas de la solución a la CNF. Un CNF de VPN IPsec, por ejemplo, podría incluir un plano de control.
  • El plano de gestión para componentes externos: Dada la naturaleza dinámica del entorno nativo de la nube, es crucial incorporar factores externos e iniciativas que apoyen la creación, implementación y despliegue de CNF.

Los contenedores encapsulan las funciones de red físicas (PNF) y virtuales (VNF). La orquestación juega un papel fundamental, siendo Kubernetes (K8s) la herramienta principal mencionada. Kubernetes maneja la gestión del ciclo de vida del contenedor, incluyendo la planificación, asignación, inicio/parada/reinicio y visibilidad.

Un aspecto importante del diseño nativo de la nube es la separación de servicios con estado (stateful) y sin estado (stateless). Los servicios que contienen lógica funcional deben separarse de los servicios con estado (bases de datos, sistemas de archivos). Esto permite que los servicios sin estado sean autónomos, ligeros, actualizables y rápidamente escalables.

Las CNF también están diseñadas para la integración y el uso de APIs, utilizando APIs ligeras basadas en protocolos como REST y gRPC para la comunicación interna y externa.

Usos y Beneficios Clave de las CNF

Las CNF ofrecen numerosas ventajas que son especialmente relevantes para el sector de las telecomunicaciones:

  • Reducción de costos: Al no requerir hardware específico, pueden operar en servidores básicos o en infraestructuras de nube pública (como AWS y Google Cloud). Las capacidades como el autoescalado, la tarificación por uso y los modelos de pago por uso pueden eliminar las asignaciones de hardware físico suboptimizadas y los gastos de mantenimiento.
  • Mayor agilidad: Las mejoras de características no necesitan reemplazos de hardware. Desplegar una nueva característica a menudo solo requiere crear y desplegar un nuevo microservicio de red, lo que reduce drásticamente el tiempo de comercialización y el costo. El desarrollo liderado por DevOps, con flujos de trabajo de CI/CD (integración continua/entrega continua), es fundamental para su gestión ágil.
  • Escalabilidad fluida: Una solución nativa de la nube puede escalar a nivel de microservicios individualizados (es decir, CNF) que pueden activarse o desactivarse en segundos según la demanda. El uso de nubes públicas permite una escalabilidad casi ilimitada. Los contenedores, al ser ligeros, pueden expandirse y contraerse rápidamente, optimizando el uso de la infraestructura.
  • Resiliencia excepcional: Los principios de arquitectura nativa de la nube se basan en microservicios poco acoplados. Los contenedores se pueden reiniciar casi instantáneamente, y las actualizaciones a nivel de microservicio se pueden ejecutar sin tiempos de inactividad, permitiendo rollbacks automáticos y rápidos si es necesario. Esto minimiza el riesgo operativo asociado a fallos mayores, ya que los fallos pueden aislarse y repararse rápidamente. La recuperación de contenedores es mucho más rápida que la de máquinas virtuales o cajas físicas.
  • Sin dependencias de servidor o SO: Operan en un nivel superior de abstracción.
  • Self-service y automatización: Se implementan en infraestructura elástica, virtual y compartida, coordinándose con el sistema para expandirse y contraerse dinámicamente según la demanda fluctuante. Son compatibles con la idea de infraestructura como código.

CNF vs. VNF: La Evolución

Como mencionamos, las CNF son la evolución natural de las VNF. Aunque comparten el objetivo de virtualizar funciones de red, hay diferencias fundamentales:

  • Entorno de ejecución: Las VNF suelen ejecutarse en máquinas virtuales (VMs), gestionadas con software de orquestación de VM. Las CNF, en cambio, están diseñadas para ejecutarse dentro de contenedores.
  • Sobrecarga: Las VM operan en un «entorno cerrado» con sobrecarga de un sistema operativo invitado, hipervisor, anfitrión y sistema de entrada/salida de red. Los contenedores son más ligeros ya que comparten el kernel del sistema operativo del anfitrión. Un servidor puede albergar muchas más contenedores que VMs, aumentando significativamente la eficiencia del centro de datos.
  • Inicio y escalado: Las VM pueden tardar minutos en iniciarse, mientras que los contenedores pueden ir al aire (go live) en segundos. Esto permite una respuesta mucho más rápida a los cambios en la demanda.
  • Granularidad: Las VNF a menudo se basaban en el enfoque de «levantar y mover» (lift and shift) software de sistemas heredados a una VM grande, creando a veces aplicaciones virtuales ineficientes. Las CNF, al estar basadas en microservicios, permiten una gestión y escalabilidad mucho más granular a nivel de componentes individuales.
  • Principios de diseño: Las CNF abrazan completamente los principios nativos de la nube como DevOps, CI/CD, y el uso de arquitecturas de microservicios desde el diseño.

Mientras que las VNF fueron un paso importante, el «peso» de las máquinas virtuales seguía limitando la eficiencia, especialmente a gran escala. Las CNF, con su enfoque en contenedores y microservicios, abordan estas limitaciones, proporcionando la agilidad, capacidad de ajuste y menor sobrecarga necesarias.

Aplicación en las Telecomunicaciones

La importancia de las CNF es particularmente notable en el contexto de las redes 5G. El estándar de red central (Core Network) 5G desarrollado por 3GPP adopta una Arquitectura Basada en Servicios (SBA), que es un método nativo de la nube. Esto es esencial para abordar los requisitos de escalabilidad, rendimiento y servicios diversos de las empresas y usuarios 5G.

Las CNF ayudarán a los operadores a pasar de una arquitectura 5G no independiente (NSA), que aún requiere una red central 4G, a una 5G independiente (SA), que combina radios 5G y una red central 5G local en la nube.

Ejemplos de casos de uso de CNF en telecomunicaciones incluyen:

  • Traducción de direcciones de red (NAT) de grado operador: Mover la funcionalidad NAT a la infraestructura de nube del proveedor de servicios de Internet para reducir requisitos de hardware en el equipo del cliente (CPE).
  • Virtualización del equipo del cliente (CPE): Trasladar la funcionalidad del CPE a la infraestructura de nube del proveedor de servicios CNF, requiriendo solo un switch básico en la ubicación del cliente. Esto facilita el mantenimiento, la escalabilidad y las actualizaciones, permitiendo conjuntos de características específicos por cliente.
  • CNF como balanceador de carga: Aprovechar las características intrínsecas de escalabilidad y resiliencia para dirigir el tráfico a los contenedores backend de Kubernetes.
  • Creación de paquetes de servicios de red: Organizar CNF en cadenas de funciones de servicio (SFC) para soportar aplicaciones o servicios de red.
  • Despliegue de servicios de red en la nube: Permitir a las empresas con arquitecturas híbridas o multi-nube desplegar servicios de red en nubes públicas que prohíben appliances físicos, evitando costos de múltiples equipos de red en servidores virtuales.

La transición a CNF implica mover tareas a contenedores y descomponer funciones en microservicios. También implica el uso de servicios de plataforma como balanceadores de carga genéricos y almacenamiento de datos. Es crucial automatizar el diseño, implementación, operación y mantenimiento de redes que coexisten con VNF durante esta transición.

En la práctica, las CNF requieren tecnologías para redes de alta velocidad y el procesamiento de paquetes en el espacio de usuario (user space) en lugar del kernel, utilizando herramientas como FD.io y VPP. Los sistemas CNF basados en contenedores necesitarán soportar una nube de telecomunicaciones distribuida, desde el centro de datos hasta el edge.

Proveedores como Cisco están aplicando principios nativos de la nube a sus productos, como el enrutador de banda ancha nativo de la nube (para DOCSIS CMTS) y funciones para redes móviles (como elementos del core y funciones como PCRF y DRA), descomponiendo VNFs en microservicios y desplegándolos como contenedores gestionados por Kubernetes.

Estamos avanzando rápidamente hacia un mundo nativo de la nube en toda la infraestructura y servicios de TI, y las redes no son una excepción. Al adoptar las CNF, podemos lograr una mayor flexibilidad en nuestras redes y reducir nuestra huella de hardware.

Las CNF, con su base en microservicios, contenedores y orquestación (principalmente Kubernetes), y habilitadas por prácticas como DevOps y CI/CD, prometen una agilidad, escalabilidad, resiliencia y eficiencia sin precedentes en el mundo de las telecomunicaciones. Son, sin duda, la base para las redes de próxima generación, especialmente el 5G.

Comentarios

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar