Práctica 5G UPF bajo P4

En comparación con la red central 4G, la red central 5G tiene las siguientes características: mantenimiento, separación C / U (desacoplamiento del plano de control y del plano de usuario), NFV, corte, etc. Bajo el trasfondo de la separación de NFV y C / U, este artículo describe primero las ventajas y desventajas de usar P4 como una solución técnica para elementos de red UPF y una solución de implementación de referencia, y finalmente combina el código fuente abierto relevante para dar una demostración de demostración del concepto UPF basado en P4.

1. Antecedentes

Desde un punto de vista personal, la separación de NFV y C / U es el resultado de todo definido por software en el campo CT. NFV (Network Functions Virtualization) proporciona funciones de red que anteriormente solo estaban disponibles en hardware dedicado en forma de software y se pueden implementar en una plataforma de virtualización en un servidor de propósito general. El uso de software para implementar funciones de red puede acelerar el lanzamiento de nuevas funciones y nuevos servicios. La virtualización puede ahorrar costos de inversión en hardware y aumentar la eficiencia de utilización del hardware. Mirando nuevamente la separación C / U, la separación C / U está casi en otro contexto, o se puede llamar SDN en el campo de las comunicaciones móviles. Separación C / U, la red central se divide en dos partes: plano de control y plano de usuario. Coloque funciones de control de señalización como la gestión de la movilidad, la gestión de sesiones, los datos del usuario y otra información confidencial en el plano de control, que normalmente se despliegan en un DC central bien gestionado. Al mismo tiempo, para cumplir con los requisitos de baja latencia y alto ancho de banda, el plano del usuario se puede implementar de manera flexible en el borde DC cerca del lado del usuario. El plano de usuario reenvía los datos del usuario a través de una estrategia de reenvío emitida por el plano de control En comparación con las funciones de la pasarela 4G SGW / PGW, el elemento de red del plano de usuario 5G UPF tiene funciones relativamente simplificadas y únicas. Además, combinado con el proceso de estandarización definido por el Protocolo de interfaz C / U (PFCP), 5G UPF puede aparecer como un producto de equipo de conmutación de red de caja blanca.

En pocas palabras, UPF (función de plano de usuario) es un dispositivo de puerta de enlace entre la infraestructura móvil (por ejemplo: RAN) y DN (red de datos) para completar la función de reenvío de túnel GTP-U de los servicios de datos del usuario final. . Tome prestada la siguiente imagen para ver la relación lógica de la UPF en la red de comunicaciones móviles. La UPF está controlada por el elemento de red del plano de control SMF, y la SMF envía reglas de reenvío a la UPF de acuerdo con el mensaje interactivo definido por el PFCP (Protocolo de control de reenvío de paquetes) a través de la interfaz del punto de referencia N4 a la UPF. La UPF recibe el servicio de datos del acceso de enlace ascendente del usuario del terminal UE al DN desde el puerto N3 en el lado de la estación base, y completa el desencapsulado y el enrutamiento del túnel GTPU. La UPF recibe datos de enlace descendente desde el lado DN (red de datos), realiza la encapsulación del túnel GTPU del UE objetivo y lo entrega a la estación base, y finalmente la estación base reenvía los datos al UE a través del canal inalámbrico.

image.png

Desde la perspectiva de la pila de protocolos en la figura siguiente, también puede ser fácil ver el procesamiento de reenvío del túnel de la GTPU realizado en el plano de datos de la UPF. Por supuesto, la descripción anterior es solo la función más básica de la UPF, y la UPF también debe tener funciones como carga, política, Qos y DPI.

image.png

Es lo mismo que otros productos NFV cuya función principal es el reenvío de datos. UPF bajo NFV también adopta principalmente el esquema DPDK + SR-IOV / passthrough. Esta solución SR-IOV / passthrough evita directamente la capa de virtualización y utiliza directamente los recursos de la tarjeta de red para el sistema operativo invitado, evitando el impacto de las redes virtualizadas en el rendimiento. En el sistema operativo invitado, la UPF utiliza DPDK para superar la pila de protocolos de red del sistema operativo y realiza un procesamiento de reenvío rápido de paquetes de red en modo de usuario. La mayoría de las arquitecturas actuales de tarjetas de red y CPU en el entorno NFV pueden cumplir con las condiciones operativas DPDK + SR-IOV / passthrough, por lo que la adaptabilidad de esta solución no es el mayor problema. El mayor desafío es que este esquema de procesamiento de plano de datos basado en CPU de propósito general se ve afectado por la sincronización de múltiples subprocesos, la pérdida de caché, etc., y es difícil garantizar la fluctuación de retardo y la velocidad máxima. Para decirlo de otra manera, el DPDK + SR-IOV / passthrough actual ha alcanzado el período de cuello de botella de rendimiento. Si necesita requisitos garantizados de retraso y ancho de banda, debe considerar nuevas soluciones de implementación técnica.

Desde el punto de vista del rendimiento, la implementación del hardware debería ser óptima. Las soluciones de hardware del plano de datos incluyen FPGA, ASIC dedicado y NP (procesador de red). Como lenguaje de plano de datos programable, P4 tiene un umbral de aprendizaje más bajo para los desarrolladores de redes familiarizados con Linux. Combinado con el chip P4 como Barefoot Tofino, puede desarrollar rápidamente aplicaciones de plano de datos innovadoras y diversas. La siguiente sección dará varias consideraciones del plan para la UPF bajo P4

2. Programa P4 de la UPF

1 、 upf como aplicación sdn

 La UPF es una aplicación en SDN OS. La UPF APP completa funciones relacionadas con el control, como el establecimiento de sesiones PFCP, la codificación y decodificación de mensajes PFCP y la emisión de reglas de reenvío a través de la interfaz SDN OS. Este esquema también se denomina esquema de descarga vnf, es decir, la función vnf UPF es implementada por sdn. En este momento, el servicio UPF es parte de la función general de la red SDN, y la función de enrutamiento puede ser realizada por la aplicación de capa superior mediante el SO SDN que proporciona la topología de enlace.

image.png


2 、 upf + switchOS

   La función del plano de control Upf-C se utiliza como un programa solo y se comunica directamente con switchOS, sin SDN OS.

image.png

   Comparación de los dos programas


upf como aplicación sdn

upf + switchOS

escala

Múltiples switchOS, agregue la función UPF a la red de tejido sdn existente.

Interruptor único OS. Agregue nodos UPF independientes. Enfatiza la ligereza y la miniaturización.

Dificultad de desarrollo

difícil. Debe tener cierta reserva de conocimientos sobre el sistema operativo SDN, el sistema operativo del conmutador y la canalización P4.

sencillo. Principalmente tener conocimiento de la interfaz en dirección norte de switchOS y la tubería p4. Debido a que es un solo nodo, las funciones del protocolo de enrutamiento se pueden colocar en una configuración estática UPF-C o en un enrutamiento dinámico simple.

mantener

difícil. Para localizar el problema, debe ir de arriba a abajo.

sencillo. La estructura simple aporta simplicidad al problema de posicionamiento.

En la etapa inicial de UPF usando P4, el autor piensa que upf + switchOS es más simple y más fácil de promover. El desarrollo de UPF-C en la máquina interactiva de caja blanca P4 existente puede realizar la función de borde UPF, y el rendimiento de reenvío y el consumo de energía son mejores que los servidores generales. El programa de la UPF tiene una ventaja competitiva. En el caso de un servidor de propósito general que usa una tarjeta de red acelerada P4, esta solución también se puede usar directamente en el VNF.

Dado que el procesamiento de mensajes P4 se basa básicamente en operaciones de acción de coincidencia de tablas, existe un problema que el plano de datos no puede manejar para el análisis profundo de protocolos (siete capas) como DPI y requiere una gran cantidad de procesamiento de coincidencia de expresiones regulares. En ambos esquemas, dichos mensajes se pueden enviar al plano de control para su procesamiento. Pero el autor prefiere reenviar servicios similares a datos a otra "unidad de coprocesamiento" para su procesamiento, lo que conduce a la opción 3.

3 、 upf + switchOS + vpp

image.png

 En esta solución, el plano de datos en switchOS sirve como la ruta rápida de toda la UPF. Para los paquetes procesados ​​o no reconocidos, se reenvían a la interfaz de red donde se encuentra el VPP. Una vez que se procesa el VPP, se reenvía a través del plano de datos SwitchOS (el externo refleja la consistencia de la IP de la interfaz de red) . VPP realiza la función dpi, que se puede utilizar como referencia en la integración del proyecto vpp ndpi.

三, upf_p4_poc

Para la aplicación de P4 en UPF, existe una evaluación y cognición más intuitiva. Basado en la idea del plan 2 upf + switchOS, el autor hizo un proyecto upf_p4_proc, consulte https://github.com/801room/upf_p4_poc/ para obtener más detalles . El diagrama de bloques de componentes general es el siguiente:

image.png

Este proyecto se basa en stratum + bmv2, que realiza la creación de pdr y lejos bajo el simple establecimiento de sesión pfcp, y el procesamiento de los correspondientes datos uplink y downlink gtpu en el pipeline p4. Pueden echar un vistazo los estudiantes interesados ​​en el desarrollo de P4 y UPF, entre ellos, el script python basado en scapy del plano de señalización de la UPF y el plano de usuario puede ser una referencia para los estudiantes de desarrollo de la UPF. Al hacer el desarrollo de UPF en el pasado, lo más doloroso era que UPF no era bueno para el autodiagnóstico, ahora confiando en scapy, la dificultad se reduce mucho.

Más adelante, también consideraremos la demostración de upf basada en xdp. Aunque personalmente creo que xdp puede ser más adecuado para el uso actual de iptable para implementar algunas funciones de firewall en el modo kernel, UPF puede no ser un buen escenario de aplicación. Pero después de practicar esto, se dará el análisis del artículo.


Supongo que te gusta

Origin blog.51cto.com/14967493/2542598
Recomendado
Clasificación