Guía de Operaciones de OmniUPF
Tabla de Contenidos
- Descripción General
- Comprendiendo la Arquitectura del Plano de Usuario 5G
- Componentes del UPF
- Protocolo PFCP e Integración con SMF
- Operaciones Comunes
- Resolución de Problemas
- Documentación Adicional
- Glosario
Descripción General
OmniUPF (Función de Plano de Usuario basada en eBPF) es una Función de Plano de Usuario 5G/LTE de alto rendimiento que proporciona reenvío de paquetes de grado de operador, aplicación de QoS y gestión de tráfico para redes móviles. Construido sobre la tecnología eBPF de Linux (Filtro de Paquetes de Berkeley extendido) y mejorado con capacidades de gestión integrales, OmniUPF ofrece la infraestructura central de procesamiento de paquetes requerida para redes 5G SA, 5G NSA y LTE.
¿Qué es una Función de Plano de Usuario?
La Función de Plano de Usuario (UPF) es el elemento de red estandarizado por 3GPP responsable del procesamiento y reenvío de paquetes en redes 5G y LTE. Proporciona:
- Reenvío de paquetes de alta velocidad entre dispositivos móviles y redes de datos
- Aplicación de Calidad de Servicio (QoS) para diferentes tipos de tráfico
- Detección y enrutamiento de tráfico basado en filtros y reglas de paquetes
- Informe de uso para facturación y análisis
- Almacenamiento en búfer de paquetes para escenarios de gestión de movilidad y sesiones
- Soporte para intercepción legal para cumplimiento regulatorio
OmniUPF implementa la funcionalidad completa de UPF definida en 3GPP TS 23.501 (5G) y TS 23.401 (LTE), proporcionando una solución de plano de usuario completa y lista para producción utilizando la tecnología eBPF del núcleo de Linux para un rendimiento máximo.
Capacidades Clave de OmniUPF
Procesamiento de Paquetes:
- Procesamiento de paquetes de plano de usuario completamente conforme a 3GPP
- Ruta de datos basada en eBPF para un rendimiento a nivel de núcleo
- Encapsulación y desencapsulación de GTP-U (Protocolo de Túnel GPRS)
- Soporte para IPv4 e IPv6 tanto para redes de acceso como de datos
- XDP (Ruta de Datos eXpress) para procesamiento de latencia ultra baja
- Procesamiento de paquetes multihilo
QoS y Gestión de Tráfico:
- Reglas de Aplicación de QoS (QER) para gestión de ancho de banda
- Reglas de Detección de Paquetes (PDR) para clasificación de tráfico
- Reglas de Acción de Reenvío (FAR) para decisiones de enrutamiento
- Filtrado de Flujo de Datos de Servicio (SDF) para enrutamiento específico de aplicaciones
- Reglas de Informe de Uso (URR) para seguimiento de volumen y facturación
Control y Gestión:
- Interfaz PFCP (Protocolo de Control de Reenvío de Paquetes) a SMF/PGW-C
- API RESTful para monitoreo y diagnóstico
- Estadísticas y métricas en tiempo real
- Monitoreo de capacidad de mapas eBPF
- Panel de control basado en web
Características de Rendimiento:
- Procesamiento de paquetes sin copia a través de eBPF
- Reenvío de paquetes a nivel de núcleo (sin sobrecarga de espacio de usuario)
- Escalabilidad multinúcleo
- Capaz de descarga para aceleración de hardware
- Optimizado para implementaciones nativas en la nube
Para un uso detallado del panel de control, consulte Operaciones de UI Web.
Comprendiendo la Arquitectura del Plano de Usuario
OmniUPF es una solución unificada de plano de usuario que proporciona reenvío de paquetes de grado de operador para redes 5G Standalone (SA), 5G NSA y 4G LTE/EPC. OmniUPF es un solo producto que puede funcionar simultáneamente como:
- UPF (Función de Plano de Usuario) - plano de usuario 5G/NSA (controlado por OmniSMF a través de N4/PFCP)
- PGW-U (Puerta de Enlace de PDN de Plano de Usuario) - puerta de enlace EPC 4G a redes externas (controlado por OmniPGW-C a través de Sxc/PFCP)
- SGW-U (Puerta de Enlace de Servicio de Plano de Usuario) - puerta de enlace de servicio EPC 4G (controlado por OmniSGW-C a través de Sxb/PFCP)
OmniUPF puede operar en cualquier combinación de estos modos:
- Solo UPF: Implementación pura de 5G
- PGW-U + SGW-U: Puerta de enlace 4G combinada (implementación típica de EPC)
- UPF + PGW-U + SGW-U: Soporte simultáneo para 4G y 5G (escenario de migración)
Todos los modos utilizan el mismo motor de procesamiento de paquetes basado en eBPF y el protocolo PFCP, proporcionando un alto rendimiento consistente ya sea operando como UPF, PGW-U, SGW-U, o los tres simultáneamente.
Arquitectura de Red 5G (Modo SA)
La solución OmniUPF se sitúa en el plano de datos de las redes 5G, proporcionando la capa de reenvío de paquetes de alta velocidad que conecta dispositivos móviles a redes y servicios de datos.
Arquitectura de Red 4G LTE/EPC
OmniUPF también soporta implementaciones 4G LTE y EPC (Núcleo de Paquetes Evolucionado), funcionando como OmniPGW-U o OmniSGW-U dependiendo de la arquitectura de la red.
Modo Combinado PGW-U/SGW-U (Implementación Típica de 4G)
En este modo, OmniUPF actúa como SGW-U y PGW-U, controlado por funciones de plano de control separadas.
Modo Separado SGW-U y PGW-U (Roaming/Múltiples Sitios)
En implementaciones de roaming o múltiples sitios, se pueden desplegar dos instancias separadas de OmniUPF: una como SGW-U y otra como PGW-U.
Cómo Funcionan las Funciones de Plano de Usuario en la Red
La función de plano de usuario (OmniUPF, OmniPGW-U o OmniSGW-U) opera como el plano de reenvío controlado por el respectivo plano de control:
-
Establecimiento de Sesión
- 5G: OmniSMF establece la asociación PFCP a través de la interfaz N4 con OmniUPF
- 4G: OmniPGW-C o OmniSGW-C establece la asociación PFCP a través de Sxb/Sxc con OmniPGW-U/OmniSGW-U
- El plano de control crea sesiones PFCP para cada sesión PDU de UE (5G) o contexto PDP (4G)
- El plano de usuario recibe reglas PDR, FAR, QER y URR a través de PFCP
- Los mapas eBPF se llenan con reglas de reenvío
-
Procesamiento de Paquetes de Enlace Ascendente (UE → Red de Datos)
- 5G: Los paquetes llegan a través de la interfaz N3 desde gNB con encapsulación GTP-U
- 4G: Los paquetes llegan a través de la interfaz S1-U (SGW-U) o S5/S8 (PGW-U) desde eNodeB con encapsulación GTP-U
- El plano de usuario compara los paquetes con los PDR de enlace ascendente basándose en TEID
- El programa eBPF aplica QER (limitación de tasa, marcado)
- FAR determina la acción de reenvío (reenviar, descartar, almacenar en búfer, duplicar)
- Se elimina el túnel GTP-U, los paquetes se reenvían a la interfaz N6 (5G) o SGi (4G)
- URR rastrea el conteo de paquetes y bytes para la facturación
-
Procesamiento de Paquetes de Enlace Descendente (Red de Datos → UE)
- 5G: Los paquetes llegan a través de la interfaz N6 como IP nativa
- 4G: Los paquetes llegan a través de la interfaz SGi como IP nativa
- El plano de usuario compara los paquetes con los PDR de enlace descendente basándose en la dirección IP de UE
- Los filtros SDF pueden clasificar aún más el tráfico por puerto, protocolo o aplicación
- FAR determina el túnel GTP-U y los parámetros de reenvío
- Se agrega la encapsulación GTP-U con el TEID apropiado
- 5G: Los paquetes se reenvían a la interfaz N3 hacia gNB
- 4G: Los paquetes se reenvían a S1-U (SGW-U) o S5/S8 (PGW-U) hacia eNodeB
-
Movilidad y Transferencia
- 5G: OmniSMF actualiza las reglas PDR/FAR durante escenarios de transferencia
- 4G: OmniSGW-C/OmniPGW-C actualiza las reglas durante la transferencia inter-eNodeB o TAU (Actualización de Área de Seguimiento)
- El plano de usuario puede almacenar paquetes en búfer durante el cambio de ruta
- Transición sin problemas entre estaciones base sin pérdida de paquetes
Integración con el Plano de Control (4G y 5G)
OmniUPF se integra con funciones de plano de control 5G y 4G a través de interfaces estándar de 3GPP:
Interfaces 5G
| Interfaz | De → A | Propósito | Especificación 3GPP |
|---|---|---|---|
| N4 | OmniSMF ↔ OmniUPF | Establecimiento, modificación, eliminación de sesión PFCP | TS 29.244 |
| N3 | gNB → OmniUPF | Tráfico de plano de usuario desde RAN (GTP-U) | TS 29.281 |
| N6 | OmniUPF → Red de Datos | Tráfico de plano de usuario hacia DN (IP nativa) | TS 23.501 |
| N9 | OmniUPF ↔ OmniUPF | Comunicación entre UPF para roaming/borde | TS 23.501 |
Interfaces 4G/EPC
| Interfaz | De → A | Propósito | Especificación 3GPP |
|---|---|---|---|
| Sxb | OmniSGW-C ↔ OmniUPF (modo SGW-U) | Control de sesión PFCP para puerta de enlace de servicio | TS 29.244 |
| Sxc | OmniPGW-C ↔ OmniUPF (modo PGW-U) | Control de sesión PFCP para puerta de enlace PDN | TS 29.244 |
| S1-U | eNodeB → OmniUPF (modo SGW-U) | Tráfico de plano de usuario desde RAN (GTP-U) | TS 29.281 |
| S5/S8 | OmniUPF (SGW-U) ↔ OmniUPF (PGW-U) | Plano de usuario entre puertas de enlace (GTP-U) | TS 29.281 |
| SGi | OmniUPF (modo PGW-U) → PDN | Tráfico de plano de usuario hacia la red de datos (IP nativa) | TS 23.401 |
Nota: Todas las interfaces PFCP (N4, Sxb, Sxc) utilizan el mismo protocolo PFCP definido en TS 29.244. Los nombres de las interfaces difieren, pero el protocolo y los formatos de mensaje son idénticos.
Componentes del UPF
Ruta de Datos eBPF
La ruta de datos eBPF es el motor central de procesamiento de paquetes que se ejecuta en el núcleo de Linux para un rendimiento máximo.
Funciones Principales:
- Procesamiento de GTP-U: Encapsulación y desencapsulación de túneles GTP-U
- Clasificación de Paquetes: Comparar paquetes con reglas PDR utilizando TEID, IP de UE o filtros SDF
- Aplicación de QoS: Aplicar limitación de tasa y marcado de paquetes según las reglas QER
- Decisiones de Reenvío: Ejecutar acciones FAR (reenviar, descartar, almacenar en búfer, duplicar, notificar)
- Seguimiento de Uso: Incrementar contadores URR para facturación basada en volumen
Mapas eBPF: La ruta de datos utiliza mapas eBPF (tablas hash en la memoria del núcleo) para el almacenamiento de reglas:
| Nombre del Mapa | Propósito | Clave | Valor |
|---|---|---|---|
uplink_pdr_map | PDR de enlace ascendente | TEID (32 bits) | Información PDR (ID de FAR, ID de QER, IDs de URR) |
downlink_pdr_map | PDR de enlace descendente (IPv4) | Dirección IP de UE | Información PDR |
downlink_pdr_map_ip6 | PDR de enlace descendente (IPv6) | Dirección IPv6 de UE | Información PDR |
far_map | Reglas de reenvío | ID de FAR | Parámetros de reenvío (acción, información de túnel) |
qer_map | Reglas de QoS | ID de QER | Parámetros de QoS (MBR, GBR, marcado) |
urr_map | Seguimiento de uso | ID de URR | Contadores de volumen (enlace ascendente, enlace descendente, total) |
sdf_filter_map | Filtros SDF | ID de PDR | Filtros de aplicación (puertos, protocolos) |
Características de Rendimiento:
- Sin copia: Paquetes procesados completamente en espacio de núcleo
- Soporte XDP: Adjuntar a nivel de controlador de red para latencia sub-microsegundo
- Multinúcleo: Escala a través de núcleos de CPU con soporte de mapa por CPU
- Capacidad: Millones de PDRs/FARs en mapas eBPF (limitado por la memoria del núcleo)
Para el monitoreo de capacidad, consulte Gestión de Capacidad.
Manejador de Interfaz PFCP
La interfaz PFCP implementa 3GPP TS 29.244 para la comunicación con SMF o PGW-C.
Funciones Principales:
- Gestión de Asociación: Latido PFCP y configuración/liberación de asociación
- Ciclo de Vida de Sesión: Crear, modificar y eliminar sesiones PFCP
- Instalación de Reglas: Traducir IEs de PFCP en entradas de mapa eBPF
- Informe de Eventos: Notificar a SMF sobre umbrales de uso, errores o eventos de sesión
Soporte de Mensajes PFCP:
| Tipo de Mensaje | Dirección | Propósito |
|---|---|---|
| Configuración de Asociación | SMF → UPF | Establecer asociación de control PFCP |
| Liberación de Asociación | SMF → UPF | Destruir asociación PFCP |
| Latido | Bidireccional | Mantener viva la asociación |
| Establecimiento de Sesión | SMF → UPF | Crear nueva sesión PDU con PDR/FAR/QER/URR |
| Modificación de Sesión | SMF → UPF | Actualizar reglas para movilidad, cambios de QoS |
| Eliminación de Sesión | SMF → UPF | Eliminar sesión y todas las reglas asociadas |
| Informe de Sesión | UPF → SMF | Informar uso, errores o eventos |
Elementos de Información (IE) Soportados:
- Crear PDR, FAR, QER, URR
- Actualizar PDR, FAR, QER, URR
- Eliminar PDR, FAR, QER, URR
- Información de Detección de Paquetes (IP de UE, F-TEID, filtro SDF)
- Parámetros de Reenvío (instancia de red, creación de encabezado externo)
- Parámetros de QoS (MBR, GBR, QFI)
- Disparadores de Informe de Uso (umbral de volumen, umbral de tiempo)
Servidor API REST
La API REST proporciona acceso programático al estado y operaciones del UPF.
Funciones Principales:
- Monitoreo de Sesiones: Consultar sesiones PFCP activas y asociaciones
- Inspección de Reglas: Ver configuraciones de PDR, FAR, QER, URR
- Estadísticas: Recuperar contadores de paquetes, estadísticas de rutas, estadísticas de XDP
- Gestión de Búfer: Ver y controlar búferes de paquetes
- Información de Mapas: Monitorear uso y capacidad de mapas eBPF
Puntos Finales de API: (34 puntos finales en total)
| Categoría | Puntos Finales | Descripción |
|---|---|---|
| Salud | /health | Verificación de salud y estado |
| Configuración | /config | Configuración del UPF |
| Sesiones | /pfcp_sessions, /pfcp_associations | Datos de sesión/asociación PFCP |
| PDRs | /uplink_pdr_map, /downlink_pdr_map, /downlink_pdr_map_ip6, /uplink_pdr_map_ip6 | Reglas de detección de paquetes |
| FARs | /far_map | Reglas de acción de reenvío |
| QERs | /qer_map | Reglas de aplicación de QoS |
| URRs | /urr_map | Reglas de informe de uso |
| Búferes | /buffer | Estado y control del búfer de paquetes |
| Estadísticas | /packet_stats, /route_stats, /xdp_stats, /n3n6_stats | Métricas de rendimiento |
| Capacidad | /map_info | Capacidad y uso de mapas eBPF |
| Plano de Datos | /dataplane_config | Direcciones de interfaz N3/N9 |
Para detalles y uso de la API, consulte Guía de Monitoreo.
Panel de Control Web
El Panel de Control Web proporciona un tablero en tiempo real para el monitoreo y gestión del UPF.
Características:
- Vista de Sesiones: Navegar por sesiones PFCP activas con IP de UE, TEID y conteos de reglas
- Gestión de Reglas: Ver y gestionar PDRs, FARs, QERs y URRs en todas las sesiones
- Monitoreo de Búferes: Rastrear paquetes almacenados en búfer y controlar el almacenamiento en búfer por FAR
- Tablero de Estadísticas: Estadísticas en tiempo real de paquetes, rutas, XDP y estadísticas de interfaces N3/N6
- Monitoreo de Capacidad: Uso de mapas eBPF con indicadores de capacidad codificados por colores
- Vista de Configuración: Mostrar configuración del UPF y direcciones del plano de datos
- Visor de Registros: Transmisión de registros en vivo para resolución de problemas
Para operaciones detalladas de la UI, consulte Guía de Operaciones de UI Web.
Protocolo PFCP e Integración con SMF
Asociación PFCP
Antes de que se puedan crear sesiones, el SMF debe establecer una asociación PFCP con el UPF.
Ciclo de Vida de Asociación:
Puntos Clave:
- Cada SMF establece una asociación con el UPF
- UPF rastrea la asociación por ID de Nodo (FQDN o dirección IP)
- Los mensajes de latido mantienen viva la asociación
- Todas las sesiones bajo una asociación se eliminan si se libera la asociación
Para ver asociaciones, consulte Vista de Sesiones.
Detección de Reinicio de SMF y Limpieza de Sesiones Huérfanas
OmniUPF detecta automáticamente cuando un SMF se reinicia y limpia sesiones huérfanas según las especificaciones de 3GPP TS 29.244.
Cómo Funciona:
Cuando un SMF establece una asociación PFCP, proporciona un Timestamp de Recuperación que indica cuándo se inició. OmniUPF almacena este timestamp para cada asociación. Si el SMF se reinicia:
- El SMF pierde todo el estado de sesión en memoria
- El SMF restablece la asociación PFCP con el UPF
- El SMF envía un nuevo Timestamp de Recuperación (diferente al anterior)
- UPF detecta el cambio de timestamp = ¡SMF reiniciado!
- UPF elimina automáticamente todas las sesiones huérfanas de la antigua instancia de SMF
- El SMF crea nuevas sesiones para suscriptores activos
Flujo de Detección de Reinicio:
Ejemplo de Registro:
Cuando un SMF se reinicia, verás:
WARN: La asociación con NodeID: smf-1 y dirección: 192.168.1.10 ya existe
WARN: El Timestamp de Recuperación del SMF cambió (antiguo: 2025-01-15T10:00:00Z, nuevo: 2025-01-15T10:30:15Z) - SMF reiniciado, eliminando 245 sesiones huérfanas
INFO: Eliminando sesión huérfana 2 (LocalSEID) debido a reinicio de SMF
INFO: Eliminando sesión huérfana 3 (LocalSEID) debido a reinicio de SMF
...
INFO: Eliminando sesión huérfana 246 (LocalSEID) debido a reinicio de SMF
Notas Importantes:
-
Aislamiento: Solo se eliminan las sesiones del SMF reiniciado. Otras asociaciones de SMF y sus sesiones no se ven afectadas.
-
Comparación de Tiempos: Si el Tiempo de Recuperación es idéntico, las sesiones son retenidas (SMF reconectado sin reiniciar).
-
Cumplimiento de 3GPP: Este comportamiento está mandado por la sección 5.22.2 de 3GPP TS 29.244:
"Si el Tiempo de Recuperación de la función CP ha cambiado desde la última Configuración de Asociación, la función UP considerará que la función CP ha reiniciado y deberá eliminar todas las sesiones PFCP asociadas con esa función CP."
Para solucionar problemas de sesiones huérfanas, consulte la Guía de Solución de Problemas.
Manejo de Indicación de Error GTP-U
OmniUPF maneja mensajes de Indicación de Error GTP-U de pares descendentes (PGW-U, SGW-U, eNodeB, gNodeB) según las especificaciones de 3GPP TS 29.281.
¿Qué son las Indicaciones de Error?:
Cuando OmniUPF reenvía un paquete GTP-U a un par remoto (por ejemplo, PGW-U en una implementación SGW-U), el par puede enviar de vuelta una Indicación de Error si no reconoce el TEID (Identificador de Punto de Final de Túnel). Esto indica:
- El par remoto ha reiniciado y perdió el estado del túnel
- El túnel nunca se creó en el lado remoto (desajuste de configuración)
- El túnel ya fue eliminado en el lado remoto
Cómo Funciona:
- UPF reenvía paquete → Envía paquete GTP-U con TEID X al par remoto (puerto 2152)
- El par remoto no reconoce TEID X → Busca TEID en su tabla de túneles, no encontrado
- El par remoto envía Indicación de Error → Mensaje GTP-U tipo 26 con IE que contiene TEID erróneo
- UPF recibe Indicación de Error → Analiza el mensaje para extraer TEID X
- UPF encuentra sesiones afectadas → Busca todas las sesiones para FARs que reenvían a TEID X
- UPF elimina sesiones → Elimina sesiones de los mapas eBPF y del estado PFCP
- UPF actualiza métricas → Incrementa contadores de Prometheus para monitoreo
Flujo de Indicación de Error:
Formato del Paquete (Sección 7.3.1 de 3GPP TS 29.281):
Indicación de Error GTP-U:
┌─────────────────────────────────────────┐
│ Encabezado GTP-U (12 bytes) │
├─────────────────────────────────────────┤
│ Versión, PT, Banderas │ 0x32 │
│ Tipo de Mensaje │ 26 (0x1A) │
│ Longitud │ 9 bytes │
│ TEID │ 0 (siempre) │
│ Número de Secuencia │ varía │
│ Número N-PDU │ 0 │
│ Siguiente Encabezado de Extensión │ 0 │
├─────────────────────────────────────────┤
│ IE: Datos TEID I (5 bytes) │
├─────────────────────────────────────────┤
│ Tipo │ 16 (0x10) │
│ TEID erróneo │ 4 bytes │
└─────────────────────────────────────────┘
Cuándo Esto Importa:
Escenario 1: Reinicio de PGW-U en Arquitectura GTP S5/S8
- SGW-U (OmniUPF) reenvía tráfico S5/S8 a PGW-U
- PGW-U reinicia y pierde todo el estado del túnel S5/S8
- SGW-U continúa reenviando a TEIDs antiguos
- PGW-U envía Indicaciones de Error
- SGW-U deja de usar automáticamente túneles muertos
Escenario 2: Reinicio de UPF Par en Arquitectura N9
- UPF-1 (OmniUPF) reenvía tráfico N9 a UPF-2
- UPF-2 reinicia
- UPF-1 recibe Indicaciones de Error
- UPF-1 limpia sesiones
Ejemplo de Registro:
Al recibir una Indicación de Error:
WARN: Recibida Indicación de Error GTP-U de 192.168.50.10:2152 para TEID 0x12345678 - el par remoto no reconoce este TEID
WARN: Sesión encontrada LocalSEID=42 con FAR GlobalId=1 reenviando a TEID erróneo 0x12345678 desde el par 192.168.50.10
INFO: Eliminando sesión LocalSEID=42 debido a Indicación de Error GTP-U para TEID 0x12345678 de 192.168.50.10
WARN: Eliminadas 1 sesión(es) debido a Indicación de Error GTP-U para TEID 0x12345678 del par 192.168.50.10
Métricas de Prometheus:
Monitoree la actividad de Indicación de Error con granularidad por par y por nodo:
# Total de Indicaciones de Error recibidas de pares
upf_buffer_listener_error_indications_received_total{node_id="pgw-u-1",peer_address="192.168.50.10"}
# Sesiones eliminadas debido a Indicaciones de Error
upf_buffer_listener_error_indication_sessions_deleted_total{node_id="pgw-u-1",peer_address="192.168.50.10"}
# Indicaciones de Error enviadas (para TEIDs entrantes desconocidos)
upf_buffer_listener_error_indications_sent_total{node_id="enodeb-1",peer_address="10.60.0.1"}
Etiquetas de Métricas:
node_id: ID de Nodo PFCP de la asociación (o "desconocido" si no existe asociación)peer_address: Dirección IP del par remoto
Estas métricas ayudan a identificar pares problemáticos y rastrear patrones de Indicación de Error por nodo de plano de control.
Notas Importantes:
-
Limpieza Automática: No se necesita intervención del operador - las sesiones se eliminan automáticamente
-
Coincidencia de TEID: Solo se eliminan las sesiones con FARs que reenvían al TEID erróneo exacto
-
Aislamiento por Par: Las Indicaciones de Error de un par solo afectan las sesiones que reenvían a ese par
-
Múltiples Sesiones: Si múltiples sesiones reenvían al mismo TEID muerto, todas son eliminadas
-
Complementario al Tiempo de Recuperación:
- Detección de Tiempo de Recuperación = proactivo (detecta reinicio durante la configuración de asociación)
- Manejo de Indicación de Error = reactivo (detecta túneles muertos cuando fluyen datos)
-
Manejo de Paquetes Malformados: Las Indicaciones de Error inválidas se registran e ignoran (no se eliminan sesiones)
Para solucionar problemas de Indicaciones de Error, consulte la Guía de Solución de Problemas.
Creación de Sesión PFCP
Cuando un UE establece una sesión PDU (5G) o contexto PDP (LTE), el SMF crea una sesión PFCP en el UPF.
Flujo de Establecimiento de Sesión:
Contenidos Típicos de la Sesión:
- PDR de Uplink: Coincidir en TEID N3, reenviar a través de FAR a N6
- PDR de Downlink: Coincidir en dirección IP del UE, reenviar a través de FAR a N3 con encapsulación GTP-U
- FAR: Parámetros de reenvío (creación de encabezado externo, instancia de red)
- QER: Límites de QoS (MBR, GBR) y marcado de paquetes (QFI)
- URR: Reporte de volumen para facturación (opcional)
Modificación de Sesión PFCP
El SMF puede modificar sesiones para eventos de movilidad (cambio de mano), cambios de QoS o actualizaciones de servicio.
Escenarios Comunes de Modificación:
-
Cambio de Mano (basado en N2)
- Actualizar FAR de uplink con nuevo punto final de túnel gNB (F-TEID)
- Opcionalmente almacenar paquetes durante el cambio de ruta
- Vaciar el búfer a la nueva ruta cuando esté listo
-
Cambio de QoS
- Actualizar QER con nuevos valores MBR/GBR
- Puede agregar/eliminar filtros SDF en PDR para QoS específico de la aplicación
-
Actualización de Servicio
- Agregar nuevos PDRs para flujos de tráfico adicionales
- Modificar FARs para cambios de enrutamiento
Flujo de Modificación de Sesión:
Para la gestión de reglas, consulte la Guía de Gestión de Reglas.
Eliminación de Sesión PFCP
Cuando se libera una sesión PDU, el SMF elimina la sesión PFCP en el UPF.
Flujo de Eliminación de Sesión:
Limpieza Realizada:
- Todos los PDRs eliminados (uplink y downlink)
- Todos los FARs, QERs, URRs eliminados
- Búferes de paquetes vaciados
- Informe de uso final enviado al SMF para facturación
Operaciones Comunes
OmniUPF proporciona capacidades operativas integrales a través de su panel de control basado en web y API REST. Esta sección cubre tareas operativas comunes y su significado.
Monitoreo de Sesiones
Entendiendo las Sesiones PFCP:
Las sesiones PFCP representan sesiones PDU activas de UE (5G) o contextos PDP (LTE). Cada sesión contiene:
- SEIDs locales y remotos (Identificadores de Punto de Final de Sesión)
- PDRs para clasificación de paquetes
- FARs para decisiones de reenvío
- QERs para aplicación de QoS (opcional)
- URRs para seguimiento de uso (opcional)
Operaciones Clave de Sesión:
- Ver todas las sesiones con direcciones IP de UE, TEIDs y conteos de reglas
- Filtrar sesiones por dirección IP o TEID
- Inspeccionar detalles de la sesión incluyendo configuraciones completas de PDR/FAR/QER/URR
- Monitorear conteos de sesiones por asociación PFCP
Para procedimientos detallados de sesión, consulte Vista de Sesiones.
Gestión de Reglas
Reglas de Detección de Paquetes (PDR):
Las PDR determinan qué paquetes coinciden con flujos de tráfico específicos. Los operadores pueden:
- Ver PDRs de uplink indexados por TEID de la interfaz N3
- Ver PDRs de downlink indexados por dirección IP del UE (IPv4 e IPv6)
- Inspeccionar filtros SDF para clasificación específica de la aplicación
- Monitorear conteos de PDR y uso de capacidad
Reglas de Acción de Reenvío (FAR):
Las FAR definen qué hacer con los paquetes coincidentes. Los operadores pueden:
- Ver acciones de FAR (REENVIAR, DESCARTAR, ALMACENAR, DUPLICAR, NOTIFICAR)
- Inspeccionar parámetros de reenvío (creación de encabezado externo, destino)
- Monitorear estado de almacenamiento por FAR
- Alternar almacenamiento para FARs específicos durante la solución de problemas
Reglas de Aplicación de QoS (QER):
Las QER aplican límites de ancho de banda y marcado de paquetes. Los operadores pueden:
- Ver parámetros de QoS (MBR, GBR, presupuesto de retraso de paquetes)
- Monitorear QERs activos por sesión
- Inspeccionar marcas QFI para flujos de QoS 5G
Reglas de Reporte de Uso (URR):
Las URRs rastrean volúmenes de datos para facturación. Los operadores pueden:
- Ver contadores de volumen (uplink, downlink, bytes totales)
- Monitorear umbrales de uso y desencadenadores de reporte
- Inspeccionar URRs activos en todas las sesiones
Para operaciones de reglas, consulte la Guía de Gestión de Reglas.
Almacenamiento de Paquetes
Por Qué el Almacenamiento es Crítico para UPF
El almacenamiento de paquetes es una de las funciones más importantes de un UPF porque previene la pérdida de paquetes durante eventos de movilidad y reconfiguraciones de sesión. Sin almacenamiento, los usuarios móviles experimentarían conexiones caídas, descargas interrumpidas y comunicaciones en tiempo real fallidas cada vez que se mueven entre torres de celular o cuando cambian las condiciones de la red.
El Problema: Pérdida de Paquetes Durante la Movilidad
En redes móviles, los usuarios están en constante movimiento. Cuando un dispositivo se mueve de una torre de celular a otra (cambio de mano), o cuando la red necesita reconfigurar la ruta de datos, hay una ventana crítica donde los paquetes están en vuelo pero la nueva ruta aún no está lista:
Sin almacenamiento: Los paquetes que llegan durante esta ventana crítica serían descartados, causando:
- Conexiones TCP que se detienen o se reinician (navegación web, descargas interrumpidas)
- Llamadas de video que se congelan o se caen (Zoom, Teams, llamadas de WhatsApp fallan)
- Sesiones de juego que se desconectan (juegos en línea, aplicaciones en tiempo real fallan)
- Llamadas VoIP que tienen interrupciones o se caen por completo (llamadas telefónicas interrumpidas)
- Descargas que fallan y necesitan reiniciarse
Con almacenamiento: OmniUPF retiene temporalmente los paquetes hasta que se establece la nueva ruta, luego los reenvía sin problemas. El usuario experimenta cero interrupciones.
Cuándo Ocurre el Almacenamiento
OmniUPF almacena paquetes en estos escenarios críticos:
1. Cambio de Mano Basado en N2 (5G) / Cambio de Mano Basado en X2 (4G)
Cuando un UE se mueve entre torres de celular:
Línea de Tiempo:
- T+0ms: Ruta antigua aún activa
- T+10ms: SMF le dice a UPF que almacene (ruta antigua cerrándose, nueva ruta no lista)
- T+10-50ms: Ventana crítica de almacenamiento - los paquetes llegan pero no se pueden reenviar
- T+50ms: Nueva ruta lista, SMF le dice a UPF que reenvíe
- T+50ms+: UPF vacía los paquetes almacenados a la nueva ruta, luego reenvía nuevos paquetes normalmente
Sin almacenamiento: ~40ms de paquetes (potencialmente miles) serían perdidos. Con almacenamiento: Cero pérdida de paquetes, cambio de mano sin problemas.
2. Modificación de Sesión (Cambio de QoS, Actualización de Ruta)
Cuando la red necesita cambiar los parámetros de la sesión:
- Actualización/disminución de QoS: El usuario se mueve de cobertura 4G a 5G (modo NSA)
- Cambio de política: El usuario empresarial entra en el campus corporativo (cambios en la dirección del tráfico)
- Optimización de red: La red central redirige el tráfico a un UPF más cercano (actualización de ULCL)
Durante la modificación, el plano de control puede necesitar actualizar múltiples reglas de manera atómica. El almacenamiento asegura que los paquetes no se reenvíen con conjuntos de reglas parciales/inconsistentes.
3. Notificación de Datos de Downlink (Recuperación de Modo Inactivo)
Cuando un UE está en modo inactivo (pantalla apagada, ahorro de batería) y llegan datos de downlink:
Sin almacenamiento: El paquete inicial que activó la notificación sería perdido, requiriendo que el remitente lo retransmita (agrega latencia). Con almacenamiento: El paquete que despertó al UE se entrega inmediatamente cuando el UE se reconecta.
4. Cambio de Mano Inter-RAT (4G ↔ 5G)
Cuando un UE se mueve entre cobertura 4G y 5G:
- Cambios de arquitectura (eNodeB ↔ gNB)
- Cambios en los puntos finales de túnel (asignación diferente de TEID)
- El almacenamiento asegura una transición suave entre tipos de RAT
Cómo Funciona el Almacenamiento en OmniUPF
Mecanismo Técnico:
OmniUPF utiliza una arquitectura de almacenamiento en dos etapas:
- Etapa eBPF (Kernel): Detecta paquetes que requieren almacenamiento basándose en las banderas de acción de FAR
- Etapa de Espacio de Usuario: Almacena y gestiona paquetes almacenados en memoria
Proceso de Almacenamiento:
Detalles Clave:
- Puerto de Almacenamiento: Puerto UDP 22152 (paquetes enviados desde eBPF al espacio de usuario)
- Encapsulación: Paquetes envueltos en GTP-U con ID de FAR como TEID
- Almacenamiento: Búferes en memoria por FAR con metadatos (marca de tiempo, dirección, tamaño del paquete)
- Límites:
- Límite por FAR: 10,000 paquetes (por defecto)
- Límite global: 100,000 paquetes en todos los FARs
- TTL: 30 segundos (por defecto) - paquetes más antiguos que TTL son descartados
- Limpieza: Proceso en segundo plano elimina paquetes expirados cada 60 segundos
Ciclo de Vida del Búfer:
- Almacenamiento Habilitado: SMF establece acción de FAR BUFF=1 (bit 2) a través de Modificación de Sesión PFCP
- Paquetes Almacenados: eBPF detecta la bandera BUFF, encapsula paquetes, envía al puerto 22152
- Almacenamiento en Espacio de Usuario: El gestor de búfer almacena paquetes con ID de FAR, marca de tiempo, dirección
- Almacenamiento Deshabilitado: SMF establece acción de FAR FORW=1, BUFF=0 con nuevos parámetros de reenvío
- Vaciar Búfer: El espacio de usuario reproduce paquetes almacenados utilizando nuevas reglas de FAR (nuevo punto final de túnel)
- Reanudar Normalidad: Nuevos paquetes reenviados inmediatamente a través de la nueva ruta
Por Qué Esto Importa para la Experiencia del Usuario
Impacto en el Mundo Real:
| Escenario | Sin Almacenamiento | Con Almacenamiento |
|---|---|---|
| Llamada de Video Durante el Cambio de Mano | La llamada se congela durante 1-2 segundos, puede caerse | Sin interrupciones, sin problemas |
| Descarga de Archivo en el Límite de la Celda | La descarga falla, debe reiniciarse | La descarga continúa sin interrupciones |
| Juego en Línea Mientras se Mueve | La conexión se cae, se expulsa del juego | Juego suave, sin desconexiones |
| Llamada VoIP en el Auto | La llamada se cae en cada cambio de mano | Cristalina, sin caídas |
| Video en Streaming en el Tren | El video se almacena en búfer, la calidad disminuye | Reproducción fluida |
| Hotspot Móvil para Laptop | La sesión SSH se cae, la llamada de video falla | Todas las conexiones mantenidas |
Beneficios para el Operador de Red:
- Tasa de Caída de Llamadas Reducida (CDR): KPI crítico para la calidad de la red
- Mayor Satisfacción del Cliente: Los usuarios no notan las transferencias
- Menores Costos de Soporte: Menos quejas sobre conexiones caídas
- Ventaja Competitiva: Marketing de "mejor red para cobertura"
Operaciones de Gestión de Buffers
Los operadores pueden monitorear y controlar el almacenamiento en búfer a través de la interfaz web y la API:
Monitoreo:
- Ver paquetes en búfer por ID de FAR (conteo, bytes, antigüedad)
- Rastrear uso de búfer contra límites (por FAR, global)
- Alertar sobre desbordamiento de búfer o duración excesiva de almacenamiento
- Identificar búferes atascados (paquetes en búfer > umbral TTL)
Operaciones de Control:
- Vaciar búferes: Activar manualmente la reproducción del búfer (solución de problemas)
- Limpiar búferes: Descartar paquetes en búfer (limpiar búferes atascados)
- Ajustar TTL: Cambiar el tiempo de expiración de paquetes
- Modificar límites: Aumentar la capacidad del búfer por FAR o global
Solución de Problemas:
- Búfer no se vacía: Verificar si el SMF envió una actualización de FAR para deshabilitar el almacenamiento en búfer
- Desbordamiento de búfer: Aumentar límites o investigar por qué la duración del almacenamiento es excesiva
- Paquetes antiguos en el búfer: El TTL puede ser demasiado alto, o la actualización de FAR se retrasó
- Almacenamiento excesivo: Puede indicar problemas de movilidad o problemas con el SMF
Para operaciones detalladas de búfer, consulte la Guía de Gestión de Buffers.
Configuración de Buffers
Configure el comportamiento del almacenamiento en búfer en /etc/omniupf/runtime.exs:
# Configuraciones de búfer
buffer_port = 22152 # Puerto UDP para paquetes en búfer (predeterminado)
Recomendaciones:
- Redes de alta movilidad (autopistas, trenes): Aumentar
buffer_max_packetsa 20,000+ - Áreas urbanas densas (transferencias frecuentes): Disminuir
buffer_packet_ttla 15s - Aplicaciones de baja latencia: Establecer
buffer_packet_ttla 10s para prevenir datos obsoletos - Redes IoT: Disminuir límites (los dispositivos IoT generan menos tráfico durante la transferencia)
Para opciones de configuración completas, consulte la Guía de Configuración.
Estadísticas y Monitoreo
Estadísticas de Paquetes:
Métricas de procesamiento de paquetes en tiempo real que incluyen:
- Paquetes RX: Total recibido de todas las interfaces
- Paquetes TX: Total transmitido a todas las interfaces
- Paquetes descartados: Paquetes descartados debido a errores o políticas
- Paquetes GTP-U: Conteos de paquetes en túneles
Estadísticas de Rutas:
Métricas de reenvío por ruta:
- Acercamientos de ruta: Paquetes coincidentes con cada ruta
- Conteos de reenvío: Éxito/fallo por destino
- Contadores de errores: TEIDs inválidos, IPs de UE desconocidas
Estadísticas de XDP:
Métricas de rendimiento de eXpress Data Path:
- XDP procesados: Paquetes manejados en la capa XDP
- XDP pasados: Paquetes enviados a la pila de red
- XDP descartados: Paquetes descartados en la capa XDP
- XDP abortados: Errores de procesamiento
Estadísticas de Interfaz N3/N6:
Contadores de tráfico por interfaz:
- N3 RX/TX: Tráfico hacia/desde RAN (gNB/eNodeB)
- N6 RX/TX: Tráfico hacia/desde la red de datos
- Conteos totales de paquetes: Estadísticas agregadas de la interfaz
Para detalles de monitoreo, consulte la Guía de Monitoreo.
Gestión de Capacidad
Monitoreo de Capacidad del Mapa eBPF:
El rendimiento del UPF depende de la capacidad del mapa eBPF. Los operadores pueden:
- Monitorear el uso del mapa con indicadores de porcentaje en tiempo real
- Ver límites de capacidad para cada mapa eBPF
- Alertas codificadas por colores:
- Verde (<50%): Normal
- Amarillo (50-70%): Precaución
- Ámbar (70-90%): Advertencia
- Rojo (>90%): Crítico
Mapas Críticos a Monitorear:
uplink_pdr_map: Clasificación de tráfico de enlace ascendentedownlink_pdr_map: Clasificación de tráfico IPv4 de enlace descendentefar_map: Reglas de reenvíoqer_map: Reglas de QoSurr_map: Seguimiento de uso
Planificación de Capacidad:
- Cada PDR consume una entrada de mapa (tamaño de clave + tamaño de valor)
- La capacidad del mapa se configura al inicio del UPF (límite de memoria del kernel)
- Exceder la capacidad causa fallos en el establecimiento de sesiones
Para monitoreo de capacidad, consulte Gestión de Capacidad.
Gestión de Configuración
Configuración del UPF:
Ver y verificar parámetros operativos del UPF:
- Interfaz N3: Dirección IP para conectividad RAN (GTP-U)
- Interfaz N6: Dirección IP para conectividad de red de datos
- Interfaz N9: Dirección IP para comunicación entre UPFs (opcional)
- Interfaz PFCP: Dirección IP para conectividad SMF
- Puerto API: Puerto de escucha de la API REST
- Punto de Métricas: Puerto de métricas de Prometheus
Configuración del Dataplane:
Parámetros activos de la ruta de datos eBPF:
- Dirección N3 activa: Vinculación de la interfaz N3 en tiempo de ejecución
- Dirección N9 activa: Vinculación de la interfaz N9 en tiempo de ejecución (si está habilitada)
Para ver la configuración, consulte Vista de Configuración.
Solución de Problemas
Esta sección cubre problemas operativos comunes y sus estrategias de resolución.
Fallos en el Establecimiento de Sesiones
Síntomas: Las sesiones PFCP no se crean, el UE no puede establecer conectividad de datos
Causas Raíz Comunes:
-
Asociación PFCP No Establecida
- Verifique que el SMF pueda alcanzar la interfaz PFCP del UPF (puerto 8805)
- Verifique el estado de la asociación PFCP en la vista de Sesiones
- Verifique que la configuración del ID de Nodo coincida entre el SMF y el UPF
-
Capacidad del Mapa eBPF Agotada
- Verifique la vista de Capacidad para el uso del mapa rojo (>90%)
- Aumente los tamaños de los mapas eBPF en la configuración del UPF
- Elimine sesiones obsoletas si el mapa está lleno
-
Configuración Inválida de PDR/FAR
- Verifique que la dirección IP del UE sea única y válida
- Verifique que la asignación de TEID no tenga conflictos
- Asegúrese de que el FAR haga referencia a instancias de red válidas
-
Problemas de Configuración de Interfaz
- Verifique que la IP de la interfaz N3 sea accesible desde el gNB
- Verifique las tablas de enrutamiento para la conectividad N6 a la red de datos
- Confirme que el tráfico GTP-U no esté bloqueado por el firewall
Para una solución de problemas detallada, consulte la Guía de Solución de Problemas.
Pérdida de Paquetes o Problemas de Reenvío
Síntomas: El UE tiene conectividad pero experimenta pérdida de paquetes o no hay flujo de tráfico
Causas Raíz Comunes:
-
Configuración Incorrecta de PDR
- Verifique que el TEID del PDR de enlace ascendente coincida con el TEID asignado por el gNB
- Verifique que la IP del PDR de enlace descendente del UE coincida con la IP asignada
- Inspeccione los filtros SDF por reglas excesivamente restrictivas
-
Problemas de Acción FAR
- Verifique que la acción FAR sea REENVIAR (no DESCARTAR o ALMACENAR)
- Verifique los parámetros de creación de encabezados externos para GTP-U
- Asegúrese de que el punto final de destino sea correcto
-
Límites de QoS Excedidos
- Verifique la configuración de MBR (Tasa de Bits Máxima) de QER
- Verifique la asignación de GBR (Tasa de Bits Garantizada)
- Monitoree la pérdida de paquetes debido a limitación de tasa
-
Problemas de MTU de Interfaz
- Verifique que el overhead de GTP-U (40-50 bytes) no cause fragmentación
- Verifique la configuración de MTU de las interfaces N3/N6
- Monitoree los mensajes ICMP que indican necesidad de fragmentación
Problemas Relacionados con el Buffer
Síntomas: Paquetes almacenados en búfer indefinidamente, desbordamiento de búfer
Causas Raíz Comunes:
-
Almacenamiento en Búfer No Deshabilitado Después de la Transferencia
- Verifique la bandera de almacenamiento en búfer de FAR (bit 2)
- Verifique que el SMF envió la Modificación de Sesión para deshabilitar el almacenamiento en búfer
- Desactive manualmente el almacenamiento en búfer a través del panel de control si está atascado
-
Expiración del TTL del Búfer
- Verifique la antigüedad del paquete en la vista de búfer
- Verifique la configuración del TTL del búfer (el predeterminado puede ser demasiado largo)
- Limpie los búferes expirados manualmente
-
Capacidad del Búfer Agotada
- Monitoree el uso total del búfer y los límites por FAR
- Verifique si hay reglas mal configuradas que causen almacenamiento excesivo
- Ajuste los límites de búfer max_per_far y max_total
Para la solución de problemas de búfer, consulte Operaciones de Búfer.
Anomalías en las Estadísticas
Síntomas: Contadores de paquetes inesperados, estadísticas faltantes
Causas Raíz Comunes:
-
Desbordamiento de Contador
- Los mapas eBPF utilizan contadores de 64 bits (no deberían desbordarse)
- Verifique eventos de reinicio de contadores en los registros
- Verifique que el informe de URR esté funcionando
-
Estadísticas de Ruta No Actualizadas
- Verifique que el programa eBPF esté adjunto a las interfaces
- Verifique que la versión del kernel soporte las características eBPF requeridas
- Revise las estadísticas de XDP para errores de procesamiento
-
Desajuste de Estadísticas de Interfaz
- Compare las estadísticas N3/N6 con los contadores de interfaz del kernel
- Verifique si hay tráfico que elude eBPF (por ejemplo, enrutamiento local)
- Verifique que todo el tráfico fluya a través de los ganchos de XDP
Degradación del Rendimiento
Síntomas: Alta latencia, bajo rendimiento, saturación de CPU
Diagnóstico:
- Monitorear Estadísticas de XDP: Verifique si hay descartes o abortos de XDP
- Verificar Tiempo de Acceso al Mapa eBPF: Las búsquedas hash deben ser sub-microsegundo
- Revisar Utilización de CPU: eBPF debe distribuirse entre núcleos
- Analizar Interfaz de Red: Verifique que el NIC soporte la descarga de XDP
Consideraciones de Escalabilidad:
- Rendimiento de XDP: 10M+ paquetes por segundo por núcleo
- Capacidad de PDR: Millones de PDRs limitados solo por la memoria del kernel
- Conteo de Sesiones: Miles de sesiones concurrentes por instancia de UPF
- Rendimiento: Rendimiento de múltiples gigabits con la descarga adecuada del NIC
Para la optimización del rendimiento, consulte la Guía de Arquitectura.
Documentación Adicional
Guías de Operaciones Específicas por Componente
Para operaciones detalladas y solución de problemas para cada componente del UPF:
Guía de Configuración
Referencia completa de configuración que incluye:
- Parámetros de configuración (YAML, variables de entorno, CLI)
- Modos de operación (UPF/PGW-U/SGW-U)
- Descripción general de modos de adjunto de XDP
- Compatibilidad con hipervisores (Proxmox, VMware, KVM, Hyper-V, VirtualBox)
- Compatibilidad de NIC y soporte de controladores de XDP
- Ejemplos de configuración para diferentes escenarios
- Dimensionamiento de mapas y planificación de capacidad
Guía de Modos XDP
Configuración y optimización detalladas de XDP que incluyen:
- Modos de adjunto de XDP explicados (genérico/nativo/descarga)
- Comparación de rendimiento y benchmarks
- Configuración nativa de XDP en Proxmox VE paso a paso
- Configuración de múltiples colas para un rendimiento óptimo
- Configuración de XDP en VMware ESXi, KVM y Hyper-V
- Verificación y solución de problemas de XDP
- Selección de hardware para el rendimiento de XDP
Guía de Arquitectura
Profundización técnica que incluye:
- Fundación de tecnología eBPF y ciclo de vida del programa
- Pipeline de procesamiento de paquetes XDP con llamadas finales
- Implementación del protocolo PFCP
- Arquitectura de almacenamiento en búfer (encapsulación GTP-U al puerto 22152)
- Limitación de tasa de ventana deslizante de QoS (ventana de 5ms)
- Características de rendimiento (latencia de 3.5μs, 10 Mpps/núcleo)
Guía de Gestión de Reglas
Referencia de reglas PFCP que incluye:
- Reglas de Detección de Paquetes (PDR) - Clasificación de tráfico
- Reglas de Acción de Reenvío (FAR) - Decisiones de enrutamiento con banderas de acción
- Reglas de Aplicación de QoS (QER) - Gestión de ancho de banda (MBR/GBR)
- Reglas de Informe de Uso (URR) - Seguimiento y reporte de volumen
- Diagramas de flujo de paquetes de enlace ascendente y descendente
- Lógica de procesamiento de reglas y precedencia
Guía de Monitoreo
Estadísticas y gestión de capacidad que incluyen:
- Estadísticas de interfaz N3/N6 y distribución de tráfico
- Estadísticas de procesamiento de XDP (pasar/descartar/redirigir/abortar)
- Monitoreo de capacidad del mapa eBPF con zonas codificadas por colores
- Métricas de rendimiento (tasa de paquetes, rendimiento, tasa de descarte)
- Fórmulas de planificación de capacidad y estimación de sesiones
- Umbrales de alerta y mejores prácticas
Guía de Operaciones de Interfaz Web
Uso del panel de control que incluye:
- Descripción general del panel y navegación
- Monitoreo de sesiones (estados saludables/no saludables)
- Inspección de reglas (detalles de PDR, FAR, QER, URR)
- Monitoreo de búfer y estado de almacenamiento de paquetes
- Panel de estadísticas en tiempo real
- Visualización de capacidad del mapa eBPF
- Visualización de configuración
Documentación de API
Referencia completa de la API REST que incluye:
- Documentación interactiva OpenAPI/Swagger
- Paginación de API (basada en páginas y basada en desplazamiento)
- Puntos finales de sesiones y asociaciones PFCP
- Reglas de Detección de Paquetes (PDR) - IPv4 e IPv6
- Reglas de Acción de Reenvío (FAR)
- Reglas de Aplicación de QoS (QER)
- Reglas de Informe de Uso (URR)
- Gestión de búfer de paquetes
- Puntos finales de estadísticas y monitoreo
- Gestión de rutas e integración FRR
- Información del mapa eBPF
- Gestión de configuración
- Directrices de autenticación y seguridad
- Flujos de trabajo y ejemplos comunes de API
Referencia de Métricas
Documentación de métricas de Prometheus que incluye:
- Métricas de mensajes PFCP (contadores, latencia, errores por par)
- Métricas de acción de XDP (veredictos del dataplane)
- Métricas de paquetes (contadores a nivel de protocolo con etiquetas de tipo_paquete)
- Métricas de sesión y asociación PFCP (por nodo de plano de control)
- Métricas de URR (volumen de tráfico por par PFCP)
- Métricas de almacenamiento en búfer de paquetes (estado de búfer, capacidad, rendimiento)
- Métricas de notificación de Informe de Datos de Enlace Descendente (seguimiento DLDR)
- Métricas de capacidad del mapa eBPF (utilización de recursos)
- Ejemplos de configuración de Prometheus
- Recomendaciones de panel de Grafana
Referencia de Códigos de Causa PFCP
Documentación de códigos de error PFCP que incluye:
- Definiciones de códigos de causa y cumplimiento de 3GPP (TS 129.244)
- Cuándo ocurre cada código de causa (éxito, errores del cliente, errores del servidor)
- Escenarios de fallo comunes con resoluciones
- Solución de problemas con métricas de Prometheus
- Fallos en la configuración de asociación y ciclo de vida de sesiones
- Pasos de depuración para altas tasas de rechazo
- Recomendaciones de alerta para códigos de causa
Guía de Gestión de Rutas de UE
Integración de enrutamiento FRR que incluye:
- Descripción general y arquitectura de FRR (Free Range Routing)
- Ciclo de vida de sincronización de rutas de UE
- Sincronización automática de rutas al demonio de enrutamiento
- Anuncio de rutas a través de OSPF y BGP
- Monitoreo de vecinos OSPF
- Verificación de base de datos LSA externa de OSPF
- Gestión de sesiones de pares BGP
- Interfaz de monitoreo de rutas de la interfaz web
- Operaciones de sincronización de rutas manuales
- Diagramas de Mermaid para flujo de rutas y arquitectura
Guía de IPv6 / Doble Pila
Operación de IPv6 en el plano de usuario para sesiones PDN IPv6 e IPv4v6:
- Requisitos previos del kernel (habilitar IPv6 y reenvío)
- Configuración del grupo de direcciones IPv6 del UE
- Anuncio OSPFv3 de rutas de host
/128del UE - Comportamiento del plano de datos de enlace descendente/enlace ascendente de IPv6
- Solución de problemas de reenvío de IPv6 y anuncio de rutas
Guía de Solución de Problemas
Diagnóstico integral de problemas que incluye:
- Lista de verificación de diagnóstico rápido y herramientas
- Problemas de instalación y configuración
- Fallos en asociaciones PFCP
- Problemas de procesamiento de paquetes
- Errores de XDP y eBPF
- Degradación del rendimiento
- Problemas específicos de hipervisores (Proxmox, VMware, VirtualBox)
- Problemas de NIC y controladores
- Procedimientos de resolución paso a paso
Documentación por Caso de Uso
Instalación y Configuración de OmniUPF
- Comience con esta guía para una visión general
- Guía de Configuración para parámetros de configuración
- Guía de Interfaz Web para acceder al panel de control
Despliegue en Proxmox
- Guía de Modos XDP - Configuración Nativa de XDP en Proxmox - Comience aquí para rendimiento
- Guía de Configuración - Compatibilidad con Hipervisores
- Guía de Configuración - Configuración SR-IOV en Proxmox
- Solución de Problemas - Problemas en Proxmox
Optimización del Rendimiento
- Guía de Modos XDP - Habilite XDP nativo para un aumento de rendimiento de 5-10x
- Guía de Arquitectura - Optimización del Rendimiento
- Guía de Configuración - Modos XDP
- Guía de Monitoreo - Métricas de Rendimiento
- Solución de Problemas - Problemas de Rendimiento
Comprensión del Procesamiento de Paquetes
- Guía de Arquitectura - Pipeline de Procesamiento de Paquetes
- Guía de Gestión de Reglas
- Guía de Monitoreo - Estadísticas
Planificación de Capacidad
- Guía de Configuración - Dimensionamiento de Mapas
- Guía de Monitoreo - Planificación de Capacidad
- Guía de Monitoreo - Estimación de Capacidad de Sesiones
Gestión de Rutas de UE e Integración FRR
- Guía de Gestión de Rutas de UE - Guía completa de integración de enrutamiento
- Documentación de API - Gestión de Rutas - Puntos finales de API de rutas
- Guía de Interfaz Web - Operaciones de la página de rutas
- Gestión de Rutas de UE - Verificación de FRR - Verificación de LSA de OSPF
Uso de la API REST
- Documentación de API - Referencia completa de la API
- Documentación de API - Swagger UI - Explorador de API interactivo
- Documentación de API - Características de la API - Ejemplos de uso de la API
- Guía de Interfaz Web - Ejemplo de cliente API como interfaz web
Solución de Problemas
- Guía de Solución de Problemas - Comience aquí
- Guía de Monitoreo - Verifique estadísticas y capacidad
- Guía de Interfaz Web - Use diagnósticos del panel de control
Referencia Rápida
Puntos Finales Comunes de API
OmniUPF proporciona una API REST para monitoreo y gestión:
# Estado y salud
GET http://localhost:8080/api/v1/upf_status
# Asociaciones PFCP
GET http://localhost:8080/api/v1/upf_pipeline
# Sesiones
GET http://localhost:8080/api/v1/sessions
# Estadísticas
GET http://localhost:8080/api/v1/packet_stats
GET http://localhost:8080/api/v1/xdp_stats
# Monitoreo de capacidad
GET http://localhost:8080/api/v1/map_info
# Estadísticas de búfer
GET http://localhost:8080/api/v1/upf_buffer_info
Para documentación completa de la API, acceda a la interfaz Swagger en http://<upf-ip>:8080/swagger/index.html
Parámetros de Configuración Esenciales
# /etc/omniupf/runtime.exs
xdp_interfaces = "eth0" # Interfaces para tráfico N3/N6/N9
xdp_attach_mode = "native" # "generic" | "native" | "offload"
n3_address = "10.100.50.233" # IP de la interfaz N3
pfcp_address = "10.100.50.241" # Dirección de escucha PFCP
pfcp_port = 8805 # Puerto PFCP
node_id = "10.100.50.241" # ID de Nodo PFCP
# Capacidad
max_sessions = 100_000 # Máximo de sesiones concurrentes
# API
api_port = 8080 # Puerto de la API REST
Umbrales de Monitoreo Importantes
- Capacidad del Mapa eBPF < 70%: Operación normal
- Capacidad del Mapa eBPF 70-90%: Planificar aumento de capacidad dentro de 1 semana
- Capacidad del Mapa eBPF > 90%: Crítico - se requiere acción inmediata
- Tasa de Pérdida de Paquetes < 0.1%: Excelente
- Tasa de Pérdida de Paquetes 0.1-1%: Buena - problemas menores
- Tasa de Pérdida de Paquetes > 5%: Crítico - investigar de inmediato
- XDP Abortado > 0: Problema crítico con el programa eBPF
Referencia de Normas 3GPP
OmniUPF implementa las siguientes especificaciones 3GPP:
| Especificación | Título | Relevancia |
|---|---|---|
| TS 23.501 | Arquitectura del sistema para el Sistema 5G (5GS) | Arquitectura y interfaces del UPF 5G |
| TS 23.401 | Mejoras del Servicio de Paquetes Generales (GPRS) para acceso E-UTRAN | Arquitectura del UPF LTE (PGW-U) |
| TS 29.244 | Interfaz entre los nodos de plano de control y plano de usuario (PFCP) | Protocolo PFCP N4 |
| TS 29.281 | Protocolo de Túnel de Paquetes Generales (GPRS) en el Plano de Usuario (GTPv1-U) | Encapsulación GTP-U |
| TS 23.503 | Marco de control de políticas y cobro para el Sistema 5G (5GS) | QoS y cobro |
| TS 29.212 | Control de Políticas y Cobro (PCC) | Aplicación de QoS |
Glosario
Términos de Arquitectura 5G
- 3GPP: Proyecto de Asociación de Tercera Generación - Organismo de estándares para telecomunicaciones móviles
- AMF: Función de Gestión de Acceso y Movilidad - Elemento de red central 5G para control de acceso
- CHF: Función de Cobro - Sistema de cobro 5G
- DN: Red de Datos - Red externa (Internet, IMS, empresa)
- eNodeB: Nodo Evolved B - Estación base LTE
- F-TEID: Identificador de Punto de Túnel Totalmente Calificado - ID de túnel GTP-U con dirección IP
- gNB: Nodo de Nueva Generación - Estación base 5G
- GTP-U: Protocolo de Túnel de Paquetes GPRS en el Plano de Usuario - Protocolo de túnel para datos de usuario
- MBR: Tasa de Bits Máxima - Parámetro de QoS para ancho de banda máximo permitido
- GBR: Tasa de Bits Garantizada - Parámetro de QoS para ancho de banda mínimo garantizado
- N3: Interfaz entre RAN y UPF (tráfico de plano de usuario)
- N4: Interfaz entre SMF y UPF (control PFCP)
- N6: Interfaz entre UPF y Red de Datos (tráfico de plano de usuario)
- N9: Interfaz entre dos UPFs (tráfico de plano de usuario inter-UPF)
- PCF: Función de Control de Políticas - Servidor de políticas 5G
- PDU: Unidad de Datos de Protocolo - Sesión de datos en 5G
- PGW-C: Plano de Control de la Puerta de Acceso PDN - Equivalente de plano de control LTE al SMF
- PGW-U: Plano de Usuario de la Puerta de Acceso PDN - Plano de usuario LTE (equivalente al UPF)
- QFI: Identificador de Flujo QoS - Marcado de flujo QoS 5G
- QoS: Calidad de Servicio - Priorización de tráfico y gestión de ancho de banda
- RAN: Red de Acceso Radio - Red de estaciones base (gNB/eNodeB)
- SEID: Identificador de Punto de Sesión - ID de sesión PFCP
- SMF: Función de Gestión de Sesiones - Elemento de red central 5G para control de sesiones
- TEID: Identificador de Punto de Túnel - ID de túnel GTP-U
- UE: Equipo de Usuario - Dispositivo móvil
- UPF: Función de Plano de Usuario - Elemento de red de reenvío de paquetes 5G
Términos del Protocolo PFCP
- Asociación: Relación de control entre SMF y UPF
- FAR: Regla de Acción de Reenvío - Determina el comportamiento de reenvío de paquetes
- IE: Elemento de Información - Componente del mensaje PFCP
- ID de Nodo: Identificador de UPF o SMF (FQDN o dirección IP)
- PDR: Regla de Detección de Paquetes - Clasifica los paquetes en flujos
- PFCP: Protocolo de Control de Reenvío de Paquetes - Protocolo de control N4
- QER: Regla de Aplicación de QoS - Aplica límites de ancho de banda y marcado
- SDF: Flujo de Datos de Servicio - Filtro de tráfico específico de la aplicación
- Sesión: Sesión PFCP que representa la sesión PDU de UE o contexto PDP
- URR: Regla de Reporte de Uso - Rastrea volúmenes de datos para facturación
Términos de eBPF y del Núcleo de Linux
- BPF: Filtro de Paquetes de Berkeley - Tecnología de filtrado de paquetes en el núcleo
- eBPF: BPF Extendida - Ruta de datos programable en el núcleo
- Hash Map: Almacenamiento de clave-valor eBPF para búsquedas rápidas
- XDP: Ruta de Datos eXpress - Procesamiento de paquetes en el núcleo a nivel de controlador
- Verificador: Componente del núcleo que valida programas eBPF por seguridad
- Mapa: Estructura de datos eBPF compartida entre el núcleo y el espacio de usuario
- Zero-copy: Procesamiento de paquetes sin copiar al espacio de usuario
Términos del Producto OmniUPF
- OmniUPF: Función de Plano de Usuario basada en eBPF (este producto)
- Datapath: Motor de procesamiento de paquetes (programas eBPF)
- Plano de Control: Manejador PFCP y gestión de sesiones
- REST API: API HTTP para monitoreo y gestión
- Web UI: Panel de control basado en navegador