Saltar al contenido principal

Guía de Operaciones de OmniPGW

OmniPGW - Plano de Control de 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
  11. Contribuciones
  12. Soporte

Descripción General

OmniPGW es una implementación de alto rendimiento del Plano de Control de Puerta de Enlace de Paquetes (PGW-C) para redes de núcleo de paquetes evolucionado (EPC) LTE de 3GPP, desarrollada 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 - Controlando el 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 de 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 se basa en 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 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 Crear Sesión
  • Solicitud/Respuesta de Eliminar Sesión
  • Solicitud/Respuesta de Crear Portadora
  • Solicitud/Respuesta de Eliminar 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 Función de Control 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 del Punto de Acceso) - Identifica la red externa
  • Contexto de Portadora - Contiene parámetros de QoS e información de túnel
  • ID de Cargos - Identificador único para facturación
  • TEID (ID de Punto de Final de Túnel) - Identificador de túnel de la interfaz S5/S8
  • SEID (ID de Punto de Final 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 Grupos 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 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 exitosamente

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
ueGrupos de direcciones IP de UEConfiguración de Grupos de IP
pcoOpciones de Configuración de ProtocoloConfiguración PCO

Vea 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
Sesiones PGW/pgw_sessionsVer todas las sesiones PDN activas2 segundos
Sesiones PFCP/pfcp_sessionsVer sesiones PFCP con PGW-U2 segundos
Estado UPF/upf_statusMonitorear asociaciones de pares PFCP2 segundos
Pares Diameter/diameterMonitorear conectividad PCRF1 segundo
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)

Buscar y Filtrar:

  • 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 de pares

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:

1. El usuario informa un problema de conexión
2. Abrir la página de Sesiones PGW
3. Buscar por IMSI o número de teléfono
4. Verificar que la sesión exista y tenga correcto:
- Dirección IP de UE asignada
- Parámetros de QoS de PCRF
- Puntos finales de túnel establecidos
5. Si no se encuentra la sesión → Verificar la página de Diameter para conectividad PCRF

Chequeo de Salud del Sistema:

1. Abrir la página de Estado 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 vs. 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:

  • Detalles de sesiones individuales
  • Estado de pares en tiempo real
  • Chequeos de salud rápidos
  • Solución de problemas de usuarios específicos
  • Verificación de configuración

Utilice 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 Sesiones

    • 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 cargos 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

Vea 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 grupos 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)Descripción general y comienzo rápido

⚙️ Configuración

DocumentoDescripciónLíneas
configuration.mdReferencia completa de configuración de runtime.exs1,600+
ue-ip-allocation.mdGestión y asignación de grupos 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 (Cargos 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

Características de la Documentación

📈 Diagramas Mermaid

Todos los documentos incluyen gráficos 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 navegación fácil.

Rutas de Lectura

Para Operadores de Red

  1. OPERATIONS.md - Descripció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 - Descripció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 - Cargos 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 - Grupos de IP
  3. pco-configuration.md - Parámetros de red
  4. monitoring.md - Configurar monitoreo

Estadísticas del Documento

  • Total de Documentos: 10
  • Total de Líneas: ~7,300+
  • Tamaño Total: ~180 KB
  • Diagramas Mermaid: 65+
  • Ejemplos de Código: 120+

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únel 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 Cargos Diameter (Gy/Ro)
TS 32.251Cargos del dominio de Paquetes Conmutados
TS 23.401Arquitectura EPC

Documentación Relacionada


Contribuciones

Para actualizar la documentación:

  1. Editar archivos Markdown en docs/
  2. Incluir diagramas Mermaid para conceptos visuales
  3. Agregar ejemplos prácticos
  4. Referenciar documentos relacionados
  5. Actualizar OPERATIONS.md si se agregan nuevos documentos

Enlaces Rápidos


Soporte

Para preguntas o problemas con OmniPGW:

  • Revisar la documentación en esta guía
  • Consultar ejemplos de configuración
  • Consultar secciones de solución de problemas en documentos de interfaz
  • Referirse al repositorio del proyecto para contribuciones

OmniPGW - Plano de Control de Puerta de Enlace de Paquetes LTE de Grado de Operador

Desarrollado por Omnitouch Network Services

Versión de Documentación: 1.0 Última Actualización: 2025-10-29