Saltar al contenido principal

Guía de Operaciones de OmniPGW

OmniPGW - Plano de Control de la Puerta de Enlace de Paquetes (PGW-C)

por Omnitouch Network Services


Tabla de Contenidos

  1. Descripción General
  2. Arquitectura
  3. Interfaces de Red
  4. Conceptos Clave
  5. Introducción
  6. Configuración
  7. Interfaz Web - Panel de Operaciones en Tiempo Real
  8. Monitoreo y Métricas
  9. Documentación Detallada
  10. Recursos Adicionales

Descripción General

OmniPGW es una implementación de alto rendimiento del Plano de Control de la Puerta de Enlace de Paquetes (PGW-C) para redes de Núcleo de Paquetes Evolucionado (EPC) LTE de 3GPP, desarrollado por Omnitouch Network Services. Gestiona las funciones del plano de control para sesiones de datos, incluyendo:

  • Gestión de Sesiones - Creación, modificación y terminación de sesiones de datos de UE (Equipo de Usuario)
  • Asignación de Direcciones IP - Asignación de direcciones IP a dispositivos móviles desde grupos configurados
  • Control de Políticas y Cargos - Interfaz con PCRF para la aplicación de políticas y cargos
  • Coordinación del Plano de Usuario - Control del PGW-U (Plano de Usuario) para el reenvío de paquetes

Lo que hace PGW-C

  • Acepta solicitudes de sesión de SGW-C a través de la interfaz S5/S8 (GTP-C)
  • Asigna direcciones IP a UE desde grupos de subred configurados
  • Solicita decisiones de políticas a PCRF a través de la interfaz Gx (Diameter)
  • Programa reglas de reenvío en PGW-U a través de la interfaz Sxb (PFCP)
  • Gestiona la aplicación de QoS a través de contextos de portadora y reglas de QoS
  • Rastrea información de cargos para sistemas de facturación

Arquitectura

Descripción General de Componentes

Arquitectura de Procesos

PGW-C está construido sobre Elixir/OTP y utiliza una arquitectura de procesos supervisados:

  • Supervisor de Aplicación - Supervisor de nivel superior que gestiona todos los componentes
  • Corredores de Protocolo - Manejan mensajes de protocolo entrantes/salientes
  • Procesos de Sesión - Un GenServer por cada conexión PDN activa
  • Registros - Rastrea recursos asignados (IPs, TEIDs, SEIDs, etc.)
  • Gestor de Nodo PFCP - Mantiene asociaciones PFCP con pares PGW-U

Cada componente está supervisado y se reiniciará automáticamente en caso de fallo, asegurando la fiabilidad del sistema.


Interfaces de Red

PGW-C implementa tres interfaces principales de 3GPP:

Interfaz S5/S8 (GTP-C v2)

Propósito: Señalización del plano de control entre SGW-C y PGW-C

Protocolo: GTP-C Versión 2 sobre UDP

Mensajes Clave:

  • Solicitud/Respuesta de Creación de Sesión
  • Solicitud/Respuesta de Eliminación de Sesión
  • Solicitud/Respuesta de Creación de Portadora
  • Solicitud/Respuesta de Eliminación de Portadora

Configuración: Ver Configuración S5/S8

Interfaz Sxb (PFCP)

Propósito: Señalización del plano de control entre PGW-C y PGW-U

Protocolo: PFCP (Protocolo de Control de Reenvío de Paquetes) sobre UDP

Mensajes Clave:

  • Solicitud/Respuesta de Configuración de Asociación
  • Solicitud/Respuesta de Establecimiento de Sesión
  • Solicitud/Respuesta de Modificación de Sesión
  • Solicitud/Respuesta de Eliminación de Sesión
  • Solicitud/Respuesta de Latido

Configuración: Ver Documentación de la Interfaz PFCP/Sxb

Interfaz Gx (Diameter)

Propósito: Interfaz de la Función de Reglas de Políticas y Cargos (PCRF)

Protocolo: Diameter (IETF RFC 6733)

Mensajes Clave:

  • Solicitud/Respuesta de Control de Crédito Inicial (CCR-I/CCA-I)
  • Solicitud/Respuesta de Control de Crédito de Terminación (CCR-T/CCA-T)

Configuración: Ver Documentación de la Interfaz Diameter Gx


Conceptos Clave

Sesión PDN

Una Sesión PDN (Red de Datos de Paquetes) representa la conexión de datos de un UE a una red externa (como Internet). Cada sesión tiene:

  • Dirección IP de UE - Asignada desde un grupo de subred configurado
  • APN (Nombre de Punto de Acceso) - Identifica la red externa
  • Contexto de Portadora - Contiene parámetros de QoS e información de túnel
  • ID de Carga - Identificador único para facturación
  • TEID (ID de Punto de Finalización de Túnel) - Identificador de túnel de la interfaz S5/S8
  • SEID (ID de Punto de Finalización de Sesión) - Identificador de sesión de la interfaz Sxb

Contexto de Portadora

Una portadora representa un flujo de tráfico con características específicas de QoS:

  • Portadora Predeterminada - Creada con cada sesión PDN
  • Portadoras Dedicadas - Portadoras adicionales para necesidades específicas de QoS
  • EBI (ID de Portadora EPS) - Identificador único para cada portadora
  • Parámetros de QoS - QCI, ARP, tasas de bits (MBR, GBR)

Reglas PFCP

El PGW-C programa el PGW-U con reglas de procesamiento de paquetes:

  • PDR (Regla de Detección de Paquetes) - Coincide con paquetes (uplink/downlink)
  • FAR (Regla de Acción de Reenvío) - Especifica el comportamiento de reenvío
  • QER (Regla de Aplicación de QoS) - Aplica límites de tasa de bits
  • BAR (Regla de Acción de Almacenamiento) - Controla el almacenamiento de paquetes

Ver Documentación de la Interfaz PFCP para más detalles.

Asignación de Direcciones IP

Las direcciones IP de UE se asignan desde grupos de subred configurados:

  • Selección basada en APN - Diferentes APNs pueden usar diferentes subredes
  • Asignación dinámica - Selección aleatoria de IP del rango disponible
  • Asignación estática - Soporte para direcciones IP solicitadas por UE
  • Detección de colisiones - Asegura la asignación única de IP

Ver Asignación de IP de UE para configuración.


Introducción

Requisitos Previos

  • Elixir ~1.16
  • Erlang/OTP 26+
  • Conectividad de red a SGW-C, PGW-U y PCRF
  • Comprensión de la arquitectura EPC LTE

Iniciando OmniPGW

  1. Configurar ajustes de tiempo de ejecución en config/runtime.exs
  2. Compilar la aplicación:
    mix deps.get
    mix compile
  3. Iniciar la aplicación:
    mix run --no-halt

Verificando la Operación

Verifique los registros para confirmar el inicio exitoso:

[info] Iniciando OmniPGW...
[info] Iniciando Exportador de Métricas en 127.0.0.42:42069
[info] Iniciando Corredor S5/S8 en 127.0.0.10
[info] Iniciando Corredor Sxb en 127.0.0.20
[info] Iniciando Corredor Gx
[info] Iniciando Gestor de Nodo PFCP
[info] OmniPGW iniciado con éxito

Acceda a las métricas en http://127.0.0.42:42069/metrics (dirección configurada).


Configuración

Toda la configuración de tiempo de ejecución se define en config/runtime.exs. La configuración está estructurada en varias secciones:

Descripción General de la Configuración

Referencia Rápida de Configuración

SecciónPropósitoDocumentación
metricsExportador de métricas de PrometheusGuía de Monitoreo
diameterInterfaz Gx a PCRFConfiguración Diameter Gx
s5s8Interfaz GTP-C a SGW-CConfiguración S5/S8
sxbInterfaz PFCP a PGW-UConfiguración PFCP
uePools de direcciones IP de UEConfiguración de Pool de IP
pcoOpciones de Configuración de ProtocoloConfiguración PCO
CDRCargos fuera de línea e informes de usoFormato CDR

Consulte la Guía Completa de Configuración para información detallada.


Interfaz Web - Panel de Operaciones en Tiempo Real

OmniPGW incluye una Interfaz Web integrada para monitoreo y operaciones en tiempo real, proporcionando visibilidad instantánea del estado del sistema sin necesidad de herramientas de línea de comandos o consultas de métricas.

Accediendo a la Interfaz Web

http://<omnipgw-ip>:<web-port>/

Páginas Disponibles:

PáginaURLPropósitoTasa de Actualización
Búsqueda de UE/ue_searchProfundizar en sesiones de suscriptores específicasBajo demanda
Sesiones PGW/pgw_sessionsVer todas las sesiones PDN activas2 segundos
Historial de Sesiones/session_historyRegistro de auditoría de eventos de sesión5 segundos
Topología de Red/topologyVista visual de la topología de la red5 segundos
Pools de IP/ip_poolsUtilización del pool de direcciones IP de UE2 segundos
Sesiones PFCP/pfcp_sessionsVer sesiones PFCP con PGW-U2 segundos
Estado de UPF/upf_statusMonitorear asociaciones de pares PFCP2 segundos
Selección de UPF/upf_selectionVer reglas de selección de UPF y estado de P-CSCFEstático
Pares Diameter/diameterMonitorear conectividad PCRF1 segundo
Monitor de P-CSCF/pcscf_monitorEstado de descubrimiento DNS de P-CSCF5 segundos
Simulador Gy/gy_simulatorProbar cargos en línea Gy/RoBajo demanda
Torres de Celular/cell_towersNavegar por la base de datos OpenCellIDEstático
Registros/logsTransmisión de registros en tiempo realEn vivo

Características Clave

Actualizaciones en Tiempo Real:

  • Todas las páginas se actualizan automáticamente (sin necesidad de recarga manual)
  • Transmisión de datos en vivo desde los procesos de OmniPGW
  • Indicadores de estado codificados por colores (verde/rojo)

Búsqueda y Filtrado:

  • Buscar sesiones por IMSI, IP, MSISDN o APN
  • Filtrado instantáneo sin recarga de página

Detalles Expandibles:

  • Haga clic en cualquier fila para ver detalles completos
  • Inspeccionar el estado completo de la sesión
  • Ver configuración y capacidades del par

Sin Autenticación Requerida (Uso Interno):

  • Acceso directo desde la red de gestión
  • Diseñado para uso del equipo de NOC/operaciones
  • Vincular solo a la IP de gestión por seguridad

Flujos de Trabajo Operativos

Solución de Problemas de Sesiones (Profundización):

1. El usuario informa un problema de conexión
2. Abrir la página de Búsqueda de UE (/ue_search)
3. Buscar por IMSI, MSISDN o dirección IP
4. Revisar detalles completos de la sesión:
a) Sesiones Activas - Verificar que la sesión exista con los parámetros correctos
b) Ubicación Actual - Verificar TAC, ID de Celda, ubicación geográfica
c) Información de Portadora - Verificar portadoras predeterminadas y dedicadas
- QCI, MBR/GBR, Nombres de Reglas de Carga
- Límites APN-AMBR
d) Información de Carga - ID de sesión Gy, estado de cuota
e) Información de Políticas - sesión Gx, reglas PCC instaladas
f) Eventos Recientes - historial de sesión y cambios de estado
5. Si no se encuentra la sesión → Verificar la página de Diameter para conectividad PCRF
6. Si hay problemas de ubicación → Verificar datos de torres de celular en la sección de Ubicación Actual

Búsqueda Rápida de Sesiones:

1. El usuario informa un problema
2. Abrir la página de Sesiones PGW (/pgw_sessions)
3. Buscar por IMSI o número de teléfono
4. Verificar que la sesión exista con detalles básicos:
- Dirección IP de UE asignada
- Parámetros de QoS
- Puntos de finalización de túnel establecidos
5. Para un análisis detallado → Haga clic en la sesión para expandir o use Búsqueda de UE

Chequeo de Salud del Sistema:

1. Abrir la página de Estado de UPF → Verificar que todos los pares PGW-U estén "Asociados"
2. Abrir la página de Diameter → Verificar que todos los pares PCRF estén "Conectados"
3. Abrir Sesiones PGW → Verificar el conteo de sesiones activas frente a la capacidad

Monitoreo de Capacidad:

  • Echar un vistazo al conteo de Sesiones PGW
  • Comparar con la capacidad licenciada/esperada
  • Identificar momentos de uso máximo
  • Monitorear la distribución entre APNs

Interfaz Web vs. Métricas

Utilice la Interfaz Web para:

  • Profundizar en la solución de problemas de suscriptores (Búsqueda de UE)
  • Detalles de sesiones individuales e inspección de estado
  • Estado en tiempo real de pares (PFCP, Diameter)
  • Comprobaciones rápidas de salud en todas las interfaces
  • Solución de problemas de usuarios específicos por IMSI/MSISDN/IP
  • Verificación de ubicación geográfica (integración de Torres de Celular)
  • Análisis de QoS de portadoras (MBR, GBR, QCI)
  • Inspección de reglas de políticas y cargos
  • Historial de sesiones y registros de auditoría
  • Monitoreo de capacidad de pools de IP
  • Verificación de configuración y reglas

Utilice las Métricas de Prometheus para:

  • Tendencias históricas
  • Alertas y notificaciones
  • Gráficos de planificación de capacidad
  • Análisis de rendimiento
  • Monitoreo a largo plazo

Mejor Práctica: Utilice ambos juntos - Interfaz Web para operaciones inmediatas, Prometheus para tendencias y alertas.


Monitoreo y Métricas

Además de la Interfaz Web, OmniPGW expone métricas compatibles con Prometheus para monitoreo:

Métricas Disponibles

  • Métricas de Sesión

    • teid_registry_count - Sesiones S5/S8 activas
    • seid_registry_count - Sesiones PFCP activas
    • session_id_registry_count - Sesiones Gx activas
    • address_registry_count - Direcciones IP de UE asignadas
    • charging_id_registry_count - IDs de carga activos
  • Métricas de Mensajes

    • s5s8_inbound_messages_total - Mensajes GTP-C recibidos
    • sxb_inbound_messages_total - Mensajes PFCP recibidos
    • gx_inbound_messages_total - Mensajes Diameter recibidos
    • Distribuciones de duración del manejo de mensajes
  • Métricas de Errores

    • s5s8_inbound_errors_total - Errores de protocolo S5/S8
    • sxb_inbound_errors_total - Errores de protocolo PFCP
    • gx_inbound_errors_total - Errores de Diameter

Accediendo a las Métricas

Las métricas se exponen a través de HTTP en el punto final configurado:

curl http://127.0.0.42:42069/metrics

Consulte la Guía de Monitoreo y Métricas para la configuración del panel y alertas.


Documentación Detallada

Esta sección proporciona una visión general completa de toda la documentación de OmniPGW. Los documentos están organizados por tema y caso de uso.

Estructura de la Documentación

Documentación de OmniPGW
├── OPERATIONS.md (Esta Guía)

└── docs/
├── Configuración y Configuración
│ ├── configuration.md Referencia completa de runtime.exs
│ ├── ue-ip-allocation.md Configuración de pool de IP
│ └── pco-configuration.md Configuración de DNS, P-CSCF, MTU

├── Interfaces de Red
│ ├── pfcp-interface.md Sxb/PFCP (comunicación PGW-U)
│ ├── diameter-gx.md Gx (comunicación PCRF)
│ ├── diameter-gy.md Gy/Ro (comunicación OCS)
│ └── s5s8-interface.md S5/S8 (comunicación SGW-C)

└── Operaciones
├── session-management.md Ciclo de vida de la sesión PDN
└── monitoring.md Métricas de Prometheus y alertas

Documentación por Tema

🚀 Introducción

DocumentoDescripciónPropósito
OPERATIONS.mdGuía principal de operaciones (este documento)Visión general y inicio rápido

⚙️ Configuración

DocumentoDescripciónLíneas
configuration.mdReferencia completa de runtime.exs1,600+
ue-ip-allocation.mdGestión y asignación de pool de IP de UE943
pco-configuration.mdOpciones de Configuración de Protocolo (DNS, P-CSCF, MTU)344

🔌 Interfaces de Red

DocumentoDescripciónLíneas
pfcp-interface.mdInterfaz PFCP/Sxb a PGW-U1,355
diameter-gx.mdInterfaz Diameter Gx a PCRF (Control de Políticas)941
diameter-gy.mdInterfaz Diameter Gy/Ro a OCS (Carga en Línea)1,100+
s5s8-interface.mdInterfaz GTP-C S5/S8 a SGW-C456

📊 Operaciones y Monitoreo

DocumentoDescripciónLíneas
session-management.mdCiclo de vida y operaciones de la sesión PDN435
monitoring.mdMétricas de Prometheus, paneles de Grafana, alertas807
data-cdr-format.mdFormato de archivo CDR, configuración de URR, carga fuera de línea847
qos-bearers.mdGestión de QoS y portadoras, control de políticas448
troubleshooting.mdProcedimientos de solución de problemas y problemas comunes687

🔧 Características Avanzadas

DocumentoDescripciónLíneas
pcscf-monitoring.mdDescubrimiento y monitoreo de salud de P-CSCF894

Características de la Documentación

📈 Diagramas Mermaid

Todos los documentos incluyen gráficos de Mermaid para una comprensión visual:

  • Diagramas de arquitectura
  • Diagramas de secuencia (flujos de mensajes)
  • Máquinas de estado
  • Topología de red

💡 Ejemplos Prácticos

Cada documento incluye:

  • Ejemplos de configuración del mundo real
  • Configuraciones listas para copiar y pegar
  • Casos de uso comunes

🔍 Solución de Problemas

Cada documento de interfaz incluye:

  • Problemas comunes y soluciones
  • Comandos de depuración
  • Métricas para diagnóstico

🔗 Referencias Cruzadas

Los documentos están extensamente interconectados para una fácil navegación.

Rutas de Lectura

Para Operadores de Red

  1. OPERATIONS.md - Visión general (este documento)
  2. configuration.md - Configuración
  3. monitoring.md - Monitoreo
  4. session-management.md - Operaciones diarias

Para Ingenieros de Red

  1. OPERATIONS.md - Visión general de la arquitectura (este documento)
  2. pfcp-interface.md - Control del plano de usuario
  3. diameter-gx.md - Control de políticas
  4. diameter-gy.md - Carga en línea
  5. s5s8-interface.md - Gestión de sesiones
  6. ue-ip-allocation.md - Gestión de IP

Para Configuración y Despliegue

  1. configuration.md - Referencia completa
  2. ue-ip-allocation.md - Pools de IP
  3. pco-configuration.md - Parámetros de red
  4. monitoring.md - Configurar monitoreo

Estadísticas del Documento

  • Total de Documentos: 14
  • Total de Líneas: ~10,900+
  • Tamaño Total: ~265 KB
  • Diagramas Mermaid: 75+
  • Ejemplos de Código: 150+

Conceptos Clave Cubiertos

Arquitectura

  • ✅ Separación de plano de control/plano de usuario
  • ✅ Arquitectura OTP/Elixir
  • ✅ Supervisión de procesos
  • ✅ Sesiones basadas en GenServer

Protocolos

  • ✅ PFCP (Protocolo de Control de Reenvío de Paquetes)
  • ✅ GTP-C v2 (Protocolo de Túneles GPRS)
  • ✅ Diameter (RFC 6733)

Interfaces 3GPP

  • ✅ Sxb (PGW-C ↔ PGW-U)
  • ✅ Gx (PGW-C ↔ PCRF)
  • ✅ Gy/Ro (PGW-C ↔ OCS)
  • ✅ S5/S8 (SGW-C ↔ PGW-C)

Operaciones

  • ✅ Gestión de sesiones
  • ✅ Estrategias de asignación de IP
  • ✅ Aplicación de QoS
  • ✅ Integración de cargos
  • ✅ Monitoreo y alertas

Recursos Adicionales

Especificaciones 3GPP

EspecificaciónTítulo
TS 29.274GTP-C v2 (interfaz S5/S8)
TS 29.244PFCP (interfaz Sxb)
TS 29.212Interfaz Diameter Gx (Control de Políticas)
TS 32.299Aplicaciones de Carga Diameter (Gy/Ro)
TS 32.251Cargos en dominio de Paquetes Conmutados
TS 23.401Arquitectura EPC

Documentación Relacionada