Guia de Operações do OmniPGW
OmniPGW - Controle de Plano de Controle do Gateway de Pacotes (PGW-C)
por Omnitouch Network Services
Índice
- Visão Geral
- Arquitetura
- Interfaces de Rede
- Conceitos Chave
- Introdução
- Configuração
- Interface Web - Painel de Operações em Tempo Real
- Monitoramento & Métricas
- Documentação Detalhada
- Recursos Adicionais
- Contribuindo
- 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
- Configure as configurações de tempo de execução em
config/runtime.exs - Compile a aplicação:
mix deps.get
mix compile - 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ção | Propósito | Documentação |
|---|---|---|
| metrics | Exportador de métricas Prometheus | Guia de Monitoramento |
| diameter | Interface Gx para PCRF | Configuração Diameter Gx |
| s5s8 | Interface GTP-C para SGW-C | Configuração S5/S8 |
| sxb | Interface PFCP para PGW-U | Configuração PFCP |
| ue | Pools de endereços IP do UE | Configuração de Pool de IP |
| pco | Opções de Configuração de Protocolo | Configuraçã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ágina | URL | Propósito | Taxa de Atualização |
|---|---|---|---|
| Sessões PGW | /pgw_sessions | Visualizar todas as sessões PDN ativas | 2 segundos |
| Sessões PFCP | /pfcp_sessions | Visualizar sessões PFCP com PGW-U | 2 segundos |
| Status UPF | /upf_status | Monitorar associações de peers PFCP | 2 segundos |
| Peers Diameter | /diameter | Monitorar conectividade PCRF | 1 segundo |
| Logs | /logs | Streaming de logs em tempo real | Ao 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 ativasseid_registry_count- Sessões PFCP ativassession_id_registry_count- Sessões Gx ativasaddress_registry_count- Endereços IP do UE alocadoscharging_id_registry_count- IDs de cobrança ativas
-
Métricas de Mensagens
s5s8_inbound_messages_total- Mensagens GTP-C recebidassxb_inbound_messages_total- Mensagens PFCP recebidasgx_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/S8sxb_inbound_errors_total- Erros de protocolo PFCPgx_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
| Documento | Descrição | Propósito |
|---|---|---|
| OPERATIONS.md | Guia principal de operações (este documento) | Visão geral e início rápido |
⚙️ Configuração
| Documento | Descrição | Linhas |
|---|---|---|
| configuration.md | Referência completa do runtime.exs | 1.600+ |
| ue-ip-allocation.md | Gerenciamento e alocação de pool de IP do UE | 943 |
| pco-configuration.md | Opções de Configuração de Protocolo (DNS, P-CSCF, MTU) | 344 |
🔌 Interfaces de Rede
| Documento | Descrição | Linhas |
|---|---|---|
| pfcp-interface.md | Interface PFCP/Sxb para PGW-U | 1.355 |
| diameter-gx.md | Interface Diameter Gx para PCRF (Controle de Políticas) | 941 |
| diameter-gy.md | Interface Diameter Gy/Ro para OCS (Cobrança Online) | 1.100+ |
| s5s8-interface.md | Interface GTP-C S5/S8 para SGW-C | 456 |
📊 Operações & Monitoramento
| Documento | Descrição | Linhas |
|---|---|---|
| session-management.md | Ciclo de vida e operações da sessão PDN | 435 |
| monitoring.md | Métricas Prometheus, painéis Grafana, alertas | 807 |
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
- OPERATIONS.md - Visão geral (este documento)
- configuration.md - Configuração
- monitoring.md - Monitoramento
- session-management.md - Operações diárias
Para Engenheiros de Rede
- OPERATIONS.md - Visão geral da arquitetura (este documento)
- pfcp-interface.md - Controle do plano do usuário
- diameter-gx.md - Controle de políticas
- diameter-gy.md - Cobrança online
- s5s8-interface.md - Gerenciamento de sessão
- ue-ip-allocation.md - Gerenciamento de IP
Para Configuração & Implantação
- configuration.md - Referência completa
- ue-ip-allocation.md - Pools de IP
- pco-configuration.md - Parâmetros de rede
- 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ção | Título |
|---|---|
| TS 29.274 | GTP-C v2 (interface S5/S8) |
| TS 29.244 | PFCP (interface Sxb) |
| TS 29.212 | Interface Diameter Gx (Controle de Políticas) |
| TS 32.299 | Aplicações de Cobrança Diameter (Gy/Ro) |
| TS 32.251 | Cobrança de domínio de Pacotes |
| TS 23.401 | Arquitetura EPC |
Documentação Relacionada
- README do Projeto: README.md
- Arquivo de configuração: config/runtime.exs
Contribuindo
Para atualizar a documentação:
- Edite os arquivos Markdown em
docs/ - Inclua diagramas Mermaid para conceitos visuais
- Adicione exemplos práticos
- Referencie documentos relacionados
- Atualize o OPERATIONS.md se adicionar novos documentos
Links Rápidos
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