Pular para o conteúdo principal

Guia de Operações do OmniPGW

OmniPGW - Controle de Plano de Controle do Gateway de Pacotes (PGW-C)

por Omnitouch Network Services


Índice

  1. Visão Geral
  2. Arquitetura
  3. Interfaces de Rede
  4. Conceitos Chave
  5. Introdução
  6. Configuração
  7. Interface Web - Painel de Operações em Tempo Real
  8. Monitoramento & Métricas
  9. Documentação Detalhada
  10. Recursos Adicionais
  11. Contribuindo
  12. Suporte

Visão Geral

OmniPGW é uma implementação de alto desempenho do Controle de Plano de Controle do Gateway de Pacotes (PGW-C) para redes 3GPP LTE Evolved Packet Core (EPC), desenvolvida pela Omnitouch Network Services. Ele gerencia as funções do plano de controle para sessões de dados, incluindo:

  • Gerenciamento de Sessão - Criar, modificar e encerrar sessões de dados do UE (Equipamento do Usuário)
  • Alocação de Endereço IP - Atribuindo endereços IP a dispositivos móveis a partir de pools configurados
  • Controle de Políticas e Cobrança - Interface com PCRF para aplicação de políticas e cobrança
  • Coordenação do Plano do Usuário - Controlando o PGW-U (Plano do Usuário) para encaminhamento de pacotes

O que o PGW-C Faz

  • Aceita solicitações de sessão do SGW-C via interface S5/S8 (GTP-C)
  • Aloca endereços IP do UE a partir de pools de sub-rede configurados
  • Solicita decisões de políticas do PCRF via interface Gx (Diameter)
  • Programa regras de encaminhamento no PGW-U via interface Sxb (PFCP)
  • Gerencia a aplicação de QoS através de contextos de bearer e regras de QoS
  • Rastreia informações de cobrança para sistemas de faturamento

Arquitetura

Visão Geral dos Componentes

Arquitetura do Processo

O PGW-C é construído sobre Elixir/OTP e utiliza uma arquitetura de processo supervisionada:

  • Supervisor da Aplicação - Supervisor de nível superior gerenciando todos os componentes
  • Corretores de Protocolo - Lidam com mensagens de protocolo de entrada/saída
  • Processos de Sessão - Um GenServer por conexão PDN ativa
  • Registros - Rastreiam recursos alocados (IPs, TEIDs, SEIDs, etc.)
  • Gerenciador de Nó PFCP - Mantém associações PFCP com peers PGW-U

Cada componente é supervisionado e será reiniciado automaticamente em caso de falha, garantindo a confiabilidade do sistema.


Interfaces de Rede

O PGW-C implementa três interfaces principais do 3GPP:

Interface S5/S8 (GTP-C v2)

Propósito: Sinalização do plano de controle entre SGW-C e PGW-C

Protocolo: GTP-C Versão 2 sobre UDP

Mensagens Chave:

  • Solicitação/Resposta de Criação de Sessão
  • Solicitação/Resposta de Exclusão de Sessão
  • Solicitação/Resposta de Criação de Bearer
  • Solicitação/Resposta de Exclusão de Bearer

Configuração: Veja Configuração S5/S8

Interface Sxb (PFCP)

Propósito: Sinalização do plano de controle entre PGW-C e PGW-U

Protocolo: PFCP (Protocolo de Controle de Encaminhamento de Pacotes) sobre UDP

Mensagens Chave:

  • Solicitação/Resposta de Configuração de Associação
  • Solicitação/Resposta de Estabelecimento de Sessão
  • Solicitação/Resposta de Modificação de Sessão
  • Solicitação/Resposta de Exclusão de Sessão
  • Solicitação/Resposta de Heartbeat

Configuração: Veja Documentação da Interface PFCP/Sxb

Interface Gx (Diameter)

Propósito: Interface da Função de Controle de Políticas e Cobrança (PCRF)

Protocolo: Diameter (IETF RFC 6733)

Mensagens Chave:

  • Solicitação/Resposta de Controle de Crédito Inicial (CCR-I/CCA-I)
  • Solicitação/Resposta de Controle de Crédito de Término (CCR-T/CCA-T)

Configuração: Veja Documentação da Interface Diameter Gx


Conceitos Chave

Sessão PDN

Uma Sessão PDN (Rede de Dados de Pacotes) representa a conexão de dados de um UE a uma rede externa (como a Internet). Cada sessão possui:

  • Endereço IP do UE - Alocado a partir de um pool de sub-rede configurado
  • APN (Nome do Ponto de Acesso) - Identifica a rede externa
  • Contexto de Bearer - Contém parâmetros de QoS e informações de túnel
  • ID de Cobrança - Identificador único para faturamento
  • TEID (ID de Ponto de Extremidade do Túnel) - Identificador de túnel da interface S5/S8
  • SEID (ID de Ponto de Extremidade da Sessão) - Identificador de sessão da interface Sxb

Contexto de Bearer

Um bearer representa um fluxo de tráfego com características específicas de QoS:

  • Bearer Padrão - Criado com cada sessão PDN
  • Bearers Dedicados - Bearers adicionais para necessidades específicas de QoS
  • EBI (ID de Bearer EPS) - Identificador único para cada bearer
  • Parâmetros de QoS - QCI, ARP, taxas de bits (MBR, GBR)

Regras PFCP

O PGW-C programa o PGW-U com regras de processamento de pacotes:

  • PDR (Regra de Detecção de Pacotes) - Combina pacotes (uplink/downlink)
  • FAR (Regra de Ação de Encaminhamento) - Especifica o comportamento de encaminhamento
  • QER (Regra de Aplicação de QoS) - Aplica limites de taxa de bits
  • BAR (Regra de Ação de Bufferização) - Controla a bufferização de pacotes

Veja Documentação da Interface PFCP para detalhes.

Alocação de Endereço IP

Os endereços IP do UE são alocados a partir de pools de sub-rede configurados:

  • Seleção baseada em APN - Diferentes APNs podem usar diferentes sub-redes
  • Alocação dinâmica - Seleção aleatória de IP do intervalo disponível
  • Alocação estática - Suporte para endereços IP solicitados pelo UE
  • Detecção de colisão - Garante a atribuição única de IP

Veja Alocação de Pool de IP do UE para configuração.


Introdução

Pré-requisitos

  • Elixir ~1.16
  • Erlang/OTP 26+
  • Conectividade de rede com SGW-C, PGW-U e PCRF
  • Compreensão da arquitetura EPC LTE

Iniciando o OmniPGW

  1. Configure as configurações de tempo de execução em config/runtime.exs
  2. Compile a aplicação:
    mix deps.get
    mix compile
  3. Inicie a aplicação:
    mix run --no-halt

Verificando a Operação

Verifique os logs para startup bem-sucedido:

[info] Iniciando OmniPGW...
[info] Iniciando Exportador de Métricas em 127.0.0.42:42069
[info] Iniciando Corretor S5/S8 em 127.0.0.10
[info] Iniciando Corretor Sxb em 127.0.0.20
[info] Iniciando Corretor Gx
[info] Iniciando Gerenciador de Nó PFCP
[info] OmniPGW iniciado com sucesso

Acesse as métricas em http://127.0.0.42:42069/metrics (endereço configurado).


Configuração

Toda a configuração em tempo de execução é definida em config/runtime.exs. A configuração é estruturada em várias seções:

Visão Geral da Configuração

Referência Rápida de Configuração

SeçãoPropósitoDocumentação
metricsExportador de métricas PrometheusGuia de Monitoramento
diameterInterface Gx para PCRFConfiguração Diameter Gx
s5s8Interface GTP-C para SGW-CConfiguração S5/S8
sxbInterface PFCP para PGW-UConfiguração PFCP
uePools de endereços IP do UEConfiguração de Pool de IP
pcoOpções de Configuração de ProtocoloConfiguração PCO

Veja o Guia de Configuração Completo para informações detalhadas.


Interface Web - Painel de Operações em Tempo Real

O OmniPGW inclui uma Interface Web integrada para monitoramento e operações em tempo real, proporcionando visibilidade instantânea sobre o status do sistema sem a necessidade de ferramentas de linha de comando ou consultas de métricas.

Acessando a Interface Web

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

Páginas Disponíveis:

PáginaURLPropósitoTaxa de Atualização
Sessões PGW/pgw_sessionsVisualizar todas as sessões PDN ativas2 segundos
Sessões PFCP/pfcp_sessionsVisualizar sessões PFCP com PGW-U2 segundos
Status UPF/upf_statusMonitorar associações de peers PFCP2 segundos
Peers Diameter/diameterMonitorar conectividade PCRF1 segundo
Logs/logsStreaming de logs em tempo realAo vivo

Principais Recursos

Atualizações em Tempo Real:

  • Todas as páginas atualizam automaticamente (sem necessidade de recarregar manualmente)
  • Streaming de dados ao vivo dos processos do OmniPGW
  • Indicadores de status codificados por cor (verde/vermelho)

Busca & Filtro:

  • Pesquisar sessões por IMSI, IP, MSISDN ou APN
  • Filtragem instantânea sem recarregar a página

Detalhes Expansíveis:

  • Clique em qualquer linha para ver detalhes completos
  • Inspecionar estado completo da sessão
  • Visualizar configuração e capacidades do peer

Sem Autenticação Necessária (Uso Interno):

  • Acesso direto da rede de gerenciamento
  • Projetado para uso da equipe de NOC/operações
  • Vincular apenas ao IP de gerenciamento por segurança

Fluxos de Trabalho Operacionais

Solução de Problemas de Sessão:

1. Usuário relata problema de conexão
2. Abra a página Sessões PGW
3. Pesquise por IMSI ou número de telefone
4. Verifique se a sessão existe e tem:
- Endereço IP do UE alocado
- Parâmetros de QoS do PCRF
- Pontos de extremidade do túnel estabelecidos
5. Se nenhuma sessão encontrada → Verifique a página Diameter para conectividade PCRF

Verificação de Saúde do Sistema:

1. Abra a página Status UPF → Verifique se todos os peers PGW-U estão "Associados"
2. Abra a página Diameter → Verifique se todos os peers PCRF estão "Conectados"
3. Abra Sessões PGW → Verifique a contagem de sessões ativas em comparação com a capacidade

Monitoramento de Capacidade:

  • Dê uma olhada na contagem de Sessões PGW
  • Compare com a capacidade licenciada/esperada
  • Identifique horários de pico de uso
  • Monitore a distribuição entre APNs

Interface Web vs. Métricas

Use a Interface Web para:

  • Detalhes de sessão individuais
  • Status de peers em tempo real
  • Verificações rápidas de saúde
  • Solução de problemas de usuários específicos
  • Verificação de configuração

Use Métricas Prometheus para:

  • Tendências históricas
  • Alertas e notificações
  • Gráficos de planejamento de capacidade
  • Análise de desempenho
  • Monitoramento de longo prazo

Melhor Prática: Use ambos juntos - Interface Web para operações imediatas, Prometheus para tendências e alertas.


Monitoramento & Métricas

Além da Interface Web, o OmniPGW expõe métricas compatíveis com Prometheus para monitoramento:

Métricas Disponíveis

  • Métricas de Sessão

    • teid_registry_count - Sessões S5/S8 ativas
    • seid_registry_count - Sessões PFCP ativas
    • session_id_registry_count - Sessões Gx ativas
    • address_registry_count - Endereços IP do UE alocados
    • charging_id_registry_count - IDs de cobrança ativas
  • Métricas de Mensagens

    • s5s8_inbound_messages_total - Mensagens GTP-C recebidas
    • sxb_inbound_messages_total - Mensagens PFCP recebidas
    • gx_inbound_messages_total - Mensagens Diameter recebidas
    • Distribuições de duração de manuseio de mensagens
  • Métricas de Erro

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

Acessando Métricas

As métricas são expostas via HTTP no endpoint configurado:

curl http://127.0.0.42:42069/metrics

Veja Guia de Monitoramento & Métricas para configuração de painel e alertas.


Documentação Detalhada

Esta seção fornece uma visão abrangente de toda a documentação do OmniPGW. Os documentos estão organizados por tópico e caso de uso.

Estrutura da Documentação

Documentação OmniPGW
├── OPERATIONS.md (Este Guia)

└── docs/
├── Configuração & Setup
│ ├─��� configuration.md Referência completa do runtime.exs
│ ├── ue-ip-allocation.md Configuração de pool de IP
│ └── pco-configuration.md Configurações de DNS, P-CSCF, MTU

├── Interfaces de Rede
│ ├── pfcp-interface.md Sxb/PFCP (comunicação PGW-U)
│ ├── diameter-gx.md Gx (comunicação PCRF)
│ ├── diameter-gy.md Gy/Ro (comunicação OCS)
│ └── s5s8-interface.md S5/S8 (comunicação SGW-C)

└── Operações
├── session-management.md Ciclo de vida da sessão PDN
└── monitoring.md Métricas Prometheus & alertas

Documentação por Tópico

🚀 Introdução Rápida

DocumentoDescriçãoPropósito
OPERATIONS.mdGuia principal de operações (este documento)Visão geral e início rápido

⚙️ Configuração

DocumentoDescriçãoLinhas
configuration.mdReferência completa do runtime.exs1.600+
ue-ip-allocation.mdGerenciamento e alocação de pool de IP do UE943
pco-configuration.mdOpções de Configuração de Protocolo (DNS, P-CSCF, MTU)344

🔌 Interfaces de Rede

DocumentoDescriçãoLinhas
pfcp-interface.mdInterface PFCP/Sxb para PGW-U1.355
diameter-gx.mdInterface Diameter Gx para PCRF (Controle de Políticas)941
diameter-gy.mdInterface Diameter Gy/Ro para OCS (Cobrança Online)1.100+
s5s8-interface.mdInterface GTP-C S5/S8 para SGW-C456

📊 Operações & Monitoramento

DocumentoDescriçãoLinhas
session-management.mdCiclo de vida e operações da sessão PDN435
monitoring.mdMétricas Prometheus, painéis Grafana, alertas807

Recursos da Documentação

📈 Diagramas Mermaid

Todos os documentos incluem gráficos Mermaid para compreensão visual:

  • Diagramas de arquitetura
  • Diagramas de sequência (fluxos de mensagens)
  • Máquinas de estado
  • Topologia de rede

💡 Exemplos Práticos

Cada documento inclui:

  • Exemplos de configuração do mundo real
  • Configurações prontas para copiar e colar
  • Casos de uso comuns

🔍 Solução de Problemas

Cada documento de interface inclui:

  • Problemas comuns e soluções
  • Comandos de depuração
  • Métricas para diagnóstico

🔗 Referências Cruzadas

Os documentos estão extensivamente interligados para fácil navegação.

Caminhos de Leitura

Para Operadores de Rede

  1. OPERATIONS.md - Visão geral (este documento)
  2. configuration.md - Configuração
  3. monitoring.md - Monitoramento
  4. session-management.md - Operações diárias

Para Engenheiros de Rede

  1. OPERATIONS.md - Visão geral da arquitetura (este documento)
  2. pfcp-interface.md - Controle do plano do usuário
  3. diameter-gx.md - Controle de políticas
  4. diameter-gy.md - Cobrança online
  5. s5s8-interface.md - Gerenciamento de sessão
  6. ue-ip-allocation.md - Gerenciamento de IP

Para Configuração & Implantação

  1. configuration.md - Referência completa
  2. ue-ip-allocation.md - Pools de IP
  3. pco-configuration.md - Parâmetros de rede
  4. monitoring.md - Configurar monitoramento

Estatísticas do Documento

  • Total de Documentos: 10
  • Total de Linhas: ~7.300+
  • Tamanho Total: ~180 KB
  • Diagramas Mermaid: 65+
  • Exemplos de Código: 120+

Conceitos Chave Abordados

Arquitetura

  • ✅ Separação do plano de controle/plano do usuário
  • ✅ Arquitetura OTP/Elixir
  • ✅ Supervisão de processos
  • ✅ Sessões baseadas em GenServer

Protocolos

  • ✅ PFCP (Protocolo de Controle de Encaminhamento de Pacotes)
  • ✅ GTP-C v2 (Protocolo de Tunelamento 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)

Operações

  • ✅ Gerenciamento de sessão
  • ✅ Estratégias de alocação de IP
  • ✅ Aplicação de QoS
  • ✅ Integração de cobrança
  • ✅ Monitoramento & alertas

Recursos Adicionais

Especificações 3GPP

EspecificaçãoTítulo
TS 29.274GTP-C v2 (interface S5/S8)
TS 29.244PFCP (interface Sxb)
TS 29.212Interface Diameter Gx (Controle de Políticas)
TS 32.299Aplicações de Cobrança Diameter (Gy/Ro)
TS 32.251Cobrança de domínio de Pacotes
TS 23.401Arquitetura EPC

Documentação Relacionada


Contribuindo

Para atualizar a documentação:

  1. Edite os arquivos Markdown em docs/
  2. Inclua diagramas Mermaid para conceitos visuais
  3. Adicione exemplos práticos
  4. Referencie documentos relacionados
  5. Atualize o OPERATIONS.md se adicionar novos documentos


Suporte

Para perguntas ou problemas com o OmniPGW:

  • Revise a documentação neste guia
  • Verifique exemplos de configuração
  • Consulte seções de solução de problemas nos documentos de interface
  • Consulte o repositório do projeto para contribuições

OmniPGW - Plano de Controle do Gateway de Pacotes LTE de grau de operadora

Desenvolvido pela Omnitouch Network Services

Versão da Documentação: 1.0 Última Atualização: 2025-10-29