Guia de Operações do OmniUPF
Índice
- Visão Geral
- Entendendo a Arquitetura do Plano do Usuário 5G
- Componentes do UPF
- Protocolo PFCP e Integração com SMF
- Operações Comuns
- Solução de Problemas
- Documentação Adicional
- Glossário
Visão Geral
OmniUPF (Função do Plano do Usuário baseada em eBPF) é uma Função do Plano do Usuário 5G/LTE de alto desempenho que fornece encaminhamento de pacotes de nível carrier-grade, aplicação de QoS e gerenciamento de tráfego para redes móveis. Construído sobre a tecnologia eBPF do Linux (Extended Berkeley Packet Filter) e aprimorado com capacidades de gerenciamento abrangentes, o OmniUPF oferece a infraestrutura central de processamento de pacotes necessária para redes 5G SA, 5G NSA e LTE.
O que é uma Função do Plano do Usuário?
A Função do Plano do Usuário (UPF) é o elemento de rede padronizado pela 3GPP responsável pelo processamento e encaminhamento de pacotes em redes 5G e LTE. Ela fornece:
- Encaminhamento de pacotes em alta velocidade entre dispositivos móveis e redes de dados
- Aplicação de Qualidade de Serviço (QoS) para diferentes tipos de tráfego
- Detecção e roteamento de tráfego com base em filtros e regras de pacotes
- Relatórios de uso para cobrança e análises
- Buffering de pacotes para cenários de mobilidade e gerenciamento de sessões
- Suporte a interceptação legal para conformidade regulatória
OmniUPF implementa toda a funcionalidade do UPF definida na 3GPP TS 23.501 (5G) e TS 23.401 (LTE), fornecendo uma solução completa e pronta para produção do plano do usuário usando a tecnologia eBPF do kernel do Linux para desempenho máximo.
Principais Capacidades do OmniUPF
Processamento de Pacotes:
- Processamento de pacotes do plano do usuário totalmente compatível com 3GPP
- Caminho de dados baseado em eBPF para desempenho em nível de kernel
- Encapsulamento e desencapsulamento de GTP-U (GPRS Tunneling Protocol)
- Suporte a IPv4 e IPv6 para redes de acesso e de dados
- XDP (eXpress Data Path) para processamento de latência ultra-baixa
- Processamento de pacotes multithread
QoS e Gerenciamento de Tráfego:
- Regras de Aplicação de QoS (QER) para gerenciamento de largura de banda
- Regras de Detecção de Pacotes (PDR) para classificação de tráfego
- Regras de Ação de Encaminhamento (FAR) para decisões de roteamento
- Filtragem de Fluxo de Dados de Serviço (SDF) para roteamento específico de aplicativos
- Regras de Relatório de Uso (URR) para rastreamento de volume e cobrança
Controle e Gerenciamento:
- Interface PFCP (Packet Forwarding Control Protocol) para SMF/PGW-C
- API RESTful para monitoramento e diagnósticos
- Estatísticas e métricas em tempo real
- Monitoramento da capacidade do mapa eBPF
- Painel de controle baseado na web
Características de Desempenho:
- Processamento de pacotes sem cópia via eBPF
- Encaminhamento de pacotes em nível de kernel (sem sobrecarga de espaço do usuário)
- Escalabilidade multicanal
- Capaz de offload para aceleração de hardware
- Otimizado para implantações nativas em nuvem
Para detalhes sobre o uso do painel de controle, consulte Operações da Web UI.
Entendendo a Arquitetura do Plano do Usuário
OmniUPF é uma solução unificada do plano do usuário que fornece encaminhamento de pacotes de nível carrier-grade para redes 5G Standalone (SA), 5G NSA e 4G LTE/EPC. OmniUPF é um único produto que pode funcionar simultaneamente como:
- UPF (Função do Plano do Usuário) - plano do usuário 5G/NSA (controlado pelo OmniSMF via N4/PFCP)
- PGW-U (PDN Gateway User Plane) - gateway EPC 4G para redes externas (controlado pelo OmniPGW-C via Sxc/PFCP)
- SGW-U (Serving Gateway User Plane) - gateway de serviço EPC 4G (controlado pelo OmniSGW-C via Sxb/PFCP)
OmniUPF pode operar em qualquer combinação desses modos:
- Apenas UPF: Implantação pura de 5G
- PGW-U + SGW-U: Gateway 4G combinado (implantação típica de EPC)
- UPF + PGW-U + SGW-U: Suporte simultâneo a 4G e 5G (cenário de migração)
Todos os modos usam o mesmo mecanismo de processamento de pacotes baseado em eBPF e o protocolo PFCP, fornecendo desempenho alto e consistente, seja operando como UPF, PGW-U, SGW-U ou todos os três simultaneamente.
Arquitetura da Rede 5G (Modo SA)
A solução OmniUPF se posiciona no plano de dados das redes 5G, fornecendo a camada de encaminhamento de pacotes de alta velocidade que conecta dispositivos móveis a redes e serviços de dados.
Arquitetura da Rede 4G LTE/EPC
OmniUPF também suporta implantações 4G LTE e EPC (Evolved Packet Core), funcionando como OmniPGW-U ou OmniSGW-U, dependendo da arquitetura da rede.
Modo Combinado PGW-U/SGW-U (Implantação Típica de 4G)
Neste modo, o OmniUPF atua como SGW-U e PGW-U, controlado por funções de plano de controle separadas.
Modo Separado SGW-U e PGW-U (Roaming/Múltiplos Sites)
Em implantações de roaming ou múltiplos sites, duas instâncias separadas do OmniUPF podem ser implantadas - uma como SGW-U e uma como PGW-U.
Modo de Loopback N9 (Instância Única SGWU+PGWU)
Para implantações simplificadas, o OmniUPF pode executar tanto funções SGWU quanto PGWU em uma única instância com processamento de loopback N9 totalmente em eBPF.
Principais Recursos:
- ✅ Latência N9 sub-microsegundo - Processado inteiramente em eBPF, nunca toca na rede
- ✅ Redução de CPU de 40-50% - Uma única passagem XDP vs. duas instâncias separadas
- ✅ Implantação simplificada - Uma instância, um arquivo de configuração
- ✅ Detecção automática - Quando
n3_address=n9_address, o loopback é habilitado - ✅ Total conformidade com 3GPP - Protocolos PFCP e GTP-U padrão
Configuração:
# OmniUPF config.yml
interface_name: [eth0]
n3_address: "10.0.1.10" # IP da interface S1-U
n9_address: "10.0.1.10" # Mesmo IP habilita o loopback N9
pfcp_address: ":8805" # Tanto SGWU-C quanto PGWU-C se conectam aqui
Quando usar:
- Implantações de computação de borda (minimizar latência)
- Ambientes com restrições de custo (servidor único)
- Laboratório/testes (configuração simplificada)
- Implantações pequenas a médias (< 100K assinantes)
Quando NÃO usar:
- Redundância geográfica necessária (SGWU e PGWU em locais diferentes)
- Mandatos regulatórios para gateways separados
- Escala massiva (> 1M assinantes)
Para detalhes completos, exemplos de configuração, solução de problemas e métricas de desempenho, consulte Guia de Operações de Loopback N9.
Como as Funções do Plano do Usuário Funcionam na Rede
A função do plano do usuário (OmniUPF, OmniPGW-U ou OmniSGW-U) opera como o plano de encaminhamento controlado pelo respectivo plano de controle:
-
Estabelecimento de Sessão
- 5G: OmniSMF estabelece associação PFCP via interface N4 com OmniUPF
- 4G: OmniPGW-C ou OmniSGW-C estabelece associação PFCP via Sxb/Sxc com OmniPGW-U/OmniSGW-U
- O plano de controle cria sessões PFCP para cada sessão PDU de UE (5G) ou contexto PDP (4G)
- O plano do usuário recebe regras PDR, FAR, QER e URR via PFCP
- Os mapas eBPF são preenchidos com regras de encaminhamento
-
Processamento de Pacotes de Uplink (UE → Rede de Dados)
- 5G: Pacotes chegam na interface N3 do gNB com encapsulamento GTP-U
- 4G: Pacotes chegam na interface S1-U (SGW-U) ou S5/S8 (PGW-U) do eNodeB com encapsulamento GTP-U
- O plano do usuário compara pacotes com PDRs de uplink com base no TEID
- O programa eBPF aplica QER (limitação de taxa, marcação)
- FAR determina a ação de encaminhamento (encaminhar, descartar, buffer, duplicar)
- Túnel GTP-U removido, pacotes encaminhados para a interface N6 (5G) ou SGi (4G)
- URR rastreia contagens de pacotes e bytes para cobrança
-
Processamento de Pacotes de Downlink (Rede de Dados → UE)
- 5G: Pacotes chegam na interface N6 como IP nativo
- 4G: Pacotes chegam na interface SGi como IP nativo
- O plano do usuário compara pacotes com PDRs de downlink com base no endereço IP do UE
- Filtros SDF podem classificar ainda mais o tráfego por porta, protocolo ou aplicativo
- FAR determina o túnel GTP-U e os parâmetros de encaminhamento
- Encapsulamento GTP-U adicionado com TEID apropriado
- 5G: Pacotes encaminhados para a interface N3 em direção ao gNB
- 4G: Pacotes encaminhados para S1-U (SGW-U) ou S5/S8 (PGW-U) em direção ao eNodeB
-
Mobilidade e Transferência
- 5G: OmniSMF atualiza regras PDR/FAR durante cenários de transferência
- 4G: OmniSGW-C/OmniPGW-C atualiza regras durante transferência inter-eNodeB ou TAU (Atualização de Área de Rastreamento)
- O plano do usuário pode armazenar pacotes durante a troca de caminho
- Transição sem interrupções entre estações base sem perda de pacotes
Integração com o Plano de Controle (4G e 5G)
OmniUPF integra-se com funções de plano de controle 5G e 4G via interfaces padrão da 3GPP:
Interfaces 5G
| Interface | De → Para | Propósito | Especificação 3GPP |
|---|---|---|---|
| N4 | OmniSMF ↔ OmniUPF | Estabelecimento, modificação, exclusão de sessão PFCP | TS 29.244 |
| N3 | gNB → OmniUPF | Tráfego do plano do usuário da RAN (GTP-U) | TS 29.281 |
| N6 | OmniUPF → Rede de Dados | Tráfego do plano do usuário para DN (IP nativo) | TS 23.501 |
| N9 | OmniUPF ↔ OmniUPF | Comunicação inter-UPF para roaming/borda | TS 23.501 |
Interfaces 4G/EPC
| Interface | De → Para | Propósito | Especificação 3GPP |
|---|---|---|---|
| Sxb | OmniSGW-C ↔ OmniUPF (modo SGW-U) | Controle de sessão PFCP para gateway de serviço | TS 29.244 |
| Sxc | OmniPGW-C ↔ OmniUPF (modo PGW-U) | Controle de sessão PFCP para gateway PDN | TS 29.244 |
| S1-U | eNodeB → OmniUPF (modo SGW-U) | Tráfego do plano do usuário da RAN (GTP-U) | TS 29.281 |
| S5/S8 | OmniUPF (SGW-U) ↔ OmniUPF (PGW-U) | Plano do usuário inter-gateway (GTP-U) | TS 29.281 |
| SGi | OmniUPF (modo PGW-U) → PDN | Tráfego do plano do usuário para rede de dados (IP nativo) | TS 23.401 |
Nota: Todas as interfaces PFCP (N4, Sxb, Sxc) usam o mesmo protocolo PFCP definido na TS 29.244. Os nomes das interfaces diferem, mas o protocolo e os formatos de mensagem são idênticos.
Componentes do UPF
Caminho de Dados eBPF
O caminho de dados eBPF é o núcleo do mecanismo de processamento de pacotes que roda no kernel do Linux para desempenho máximo.
Funções Principais:
- Processamento de GTP-U: Encapsulamento e desencapsulamento de túneis GTP-U
- Classificação de Pacotes: Comparação de pacotes com regras PDR usando TEID, IP do UE ou filtros SDF
- Aplicação de QoS: Aplicar limitação de taxa e marcação de pacotes por regras QER
- Decisões de Encaminhamento: Executar ações FAR (encaminhar, descartar, buffer, duplicar, notificar)
- Rastreamento de Uso: Incrementar contadores URR para cobrança baseada em volume
Mapas eBPF: O caminho de dados usa mapas eBPF (tabelas hash na memória do kernel) para armazenamento de regras:
| Nome do Mapa | Propósito | Chave | Valor |
|---|---|---|---|
uplink_pdr_map | PDRs de uplink | TEID (32 bits) | Informações PDR (ID FAR, ID QER, IDs URR) |
downlink_pdr_map | PDRs de downlink (IPv4) | Endereço IP do UE | Informações PDR |
downlink_pdr_map_ip6 | PDRs de downlink (IPv6) | Endereço IPv6 do UE | Informações PDR |
far_map | Regras de encaminhamento | ID FAR | Parâmetros de encaminhamento (ação, informações do túnel) |
qer_map | Regras de QoS | ID QER | Parâmetros de QoS (MBR, GBR, marcação) |
urr_map | Rastreamento de uso | ID URR | Contadores de volume (uplink, downlink, total) |
sdf_filter_map | Filtros SDF | ID PDR | Filtros de aplicativo (portas, protocolos) |
Características de Desempenho:
- Zero-cópia: Pacotes processados inteiramente no espaço do kernel
- Suporte a XDP: Anexar no nível do driver de rede para latência sub-microsegundo
- Multicanal: Escala através de núcleos de CPU com suporte a mapa por CPU
- Capacidade: Milhões de PDRs/FARs em mapas eBPF (limitados pela memória do kernel)
Para monitoramento de capacidade, consulte Gerenciamento de Capacidade.
Manipulador de Interface PFCP
A interface PFCP implementa a 3GPP TS 29.244 para comunicação com SMF ou PGW-C.
Funções Principais:
- Gerenciamento de Associação: Batimento de coração PFCP e configuração/liberação de associação
- Ciclo de Vida da Sessão: Criar, modificar e excluir sessões PFCP
- Instalação de Regras: Traduzir IEs PFCP em entradas de mapa eBPF
- Relatório de Eventos: Notificar SMF sobre limites de uso, erros ou eventos de sessão
Suporte a Mensagens PFCP:
| Tipo de Mensagem | Direção | Propósito |
|---|---|---|
| Configuração de Associação | SMF → UPF | Estabelecer associação de controle PFCP |
| Liberação de Associação | SMF → UPF | Encerrar associação PFCP |
| Batimento de Coração | Bidirecional | Manter associação ativa |
| Estabelecimento de Sessão | SMF → UPF | Criar nova sessão PDU com PDR/FAR/QER/URR |
| Modificação de Sessão | SMF → UPF | Atualizar regras para mobilidade, mudanças de QoS |
| Exclusão de Sessão | SMF → UPF | Remover sessão e todas as regras associadas |
| Relatório de Sessão | UPF → SMF | Relatar uso, erros ou eventos |
Elementos de Informação (IE) Suportados:
- Criar PDR, FAR, QER, URR
- Atualizar PDR, FAR, QER, URR
- Remover PDR, FAR, QER, URR
- Informações de Detecção de Pacotes (IP do UE, F-TEID, filtro SDF)
- Parâmetros de Encaminhamento (instância de rede, criação de cabeçalho externo)
- Parâmetros de QoS (MBR, GBR, QFI)
- Gatilhos de Relatório de Uso (limite de volume, limite de tempo)
Servidor API REST
A API REST fornece acesso programático ao estado e operações do UPF.
Funções Principais:
- Monitoramento de Sessões: Consultar sessões PFCP ativas e associações
- Inspeção de Regras: Visualizar configurações de PDR, FAR, QER, URR
- Estatísticas: Recuperar contadores de pacotes, estatísticas de rotas, estatísticas de XDP
- Gerenciamento de Buffers: Visualizar e controlar buffers de pacotes
- Informações de Mapas: Monitorar uso e capacidade de mapas eBPF
Endpoints da API: (34 endpoints no total)
| Categoria | Endpoints | Descrição |
|---|---|---|
| Saúde | /health | Verificação de saúde e status |
| Configuração | /config | Configuração do UPF |
| Sessões | /pfcp_sessions, /pfcp_associations | Dados de sessão/associação PFCP |
| PDRs | /uplink_pdr_map, /downlink_pdr_map, /downlink_pdr_map_ip6, /uplink_pdr_map_ip6 | Regras de detecção de pacotes |
| FARs | /far_map | Regras de ação de encaminhamento |
| QERs | /qer_map | Regras de aplicação de QoS |
| URRs | /urr_map | Regras de relatório de uso |
| Buffers | /buffer | Status e controle do buffer de pacotes |
| Estatísticas | /packet_stats, /route_stats, /xdp_stats, /n3n6_stats | Métricas de desempenho |
| Capacidade | /map_info | Capacidade e uso de mapas eBPF |
| Dataplane | /dataplane_config | Endereços de interface N3/N9 |
Para detalhes da API e uso, consulte Guia de Monitoramento.
Painel de Controle Web
O Painel de Controle Web fornece um painel em tempo real para monitoramento e gerenciamento do UPF.
Recursos:
- Visualização de Sessões: Navegar por sessões PFCP ativas com IP do UE, TEID e contagens de regras
- Gerenciamento de Regras: Visualizar e gerenciar PDRs, FARs, QERs e URRs em todas as sessões
- Monitoramento de Buffers: Rastrear pacotes armazenados e controlar o armazenamento por FAR
- Painel de Estatísticas: Estatísticas em tempo real de pacotes, rotas, XDP e interfaces N3/N6
- Monitoramento de Capacidade: Uso de mapas eBPF com indicadores de capacidade codificados por cores
- Visualização de Configuração: Exibir configuração do UPF e endereços do dataplane
- Visualizador de Logs: Streaming de logs ao vivo para solução de problemas
Para operações detalhadas da UI, consulte Guia de Operações da Web UI.
Protocolo PFCP e Integração com SMF
Associação PFCP
Antes que as sessões possam ser criadas, o SMF deve estabelecer uma associação PFCP com o UPF.
Ciclo de Vida da Associação:
Pontos Chave:
- Cada SMF estabelece uma associação com o UPF
- O UPF rastreia a associação pelo ID do Nó (FQDN ou endereço IP)
- Mensagens de batimento de coração mantêm a vivacidade da associação
- Todas as sessões sob uma associação são excluídas se a associação for liberada
Para visualizar associações, consulte Visualização de Sessões.
Detecção de Reinício do SMF e Limpeza de Sessões Órfãs
OmniUPF detecta automaticamente quando um SMF reinicia e limpa sessões órfãs de acordo com as especificações da 3GPP TS 29.244.
Como Funciona:
Quando um SMF estabelece uma associação PFCP, ele fornece um Timestamp de Recuperação indicando quando começou. O OmniUPF armazena esse timestamp para cada associação. Se o SMF reiniciar:
- O SMF perde todo o estado da sessão na memória
- O SMF restabelece a associação PFCP com o UPF
- O SMF envia novo Timestamp de Recuperação (diferente do anterior)
- O UPF detecta a mudança de timestamp = SMF reiniciado
- O UPF exclui automaticamente todas as sessões órfãs da antiga instância do SMF
- O SMF cria novas sessões para assinantes ativos
Fluxo de Detecção de Reinício:
Exemplo de Log:
Quando um SMF reinicia, você verá:
WARN: A associação com NodeID: smf-1 e endereço: 192.168.1.10 já existe
WARN: Timestamp de Recuperação do SMF alterado (antigo: 2025-01-15T10:00:00Z, novo: 2025-01-15T10:30:15Z) - SMF reiniciado, excluindo 245 sessões órfãs
INFO: Excluindo sessão órfã 2 (LocalSEID) devido ao reinício do SMF
INFO: Excluindo sessão órfã 3 (LocalSEID) devido ao reinício do SMF
...
INFO: Excluindo sessão órfã 246 (LocalSEID) devido ao reinício do SMF
Notas Importantes:
-
Isolamento: Apenas as sessões do SMF reiniciado são excluídas. Outras associações de SMF e suas sessões não são afetadas.
-
Comparação de Timestamp: Se o Timestamp de Recuperação for idêntico, as sessões são mantidas (SMF reconectado sem reiniciar).
-
Conformidade com 3GPP: Esse comportamento é exigido pela Seção 5.22.2 da 3GPP TS 29.244:
"Se o Timestamp de Recuperação da função CP tiver mudado desde a última Configuração de Associação, a função UP deverá considerar que a função CP reiniciou e deverá excluir todas as sessões PFCP associadas a essa função CP."
Para solução de problemas de sessões órfãs, consulte Detecção de Sessões Órfãs.
Manipulação de Indicações de Erro GTP-U
OmniUPF manipula mensagens de Indicação de Erro GTP-U de pares downstream (PGW-U, SGW-U, eNodeB, gNodeB) de acordo com as especificações da 3GPP TS 29.281.
O que são Indicações de Erro:
Quando o OmniUPF encaminha um pacote GTP-U para um par remoto (por exemplo, PGW-U na implantação SGW-U), o par pode enviar de volta uma Indicação de Erro se não reconhecer o TEID (Tunnel Endpoint Identifier). Isso indica:
- O par remoto reiniciou e perdeu o estado do túnel
- O túnel nunca foi criado no lado remoto (incompatibilidade de configuração)
- O túnel já foi excluído no lado remoto
Como Funciona:
- UPF encaminha pacote → Envia pacote GTP-U com TEID X para o par remoto (porta 2152)
- Par remoto não reconhece TEID X → Procura TEID na sua tabela de túneis, não encontrado
- Par remoto envia Indicação de Erro → Mensagem GTP-U tipo 26 com IE contendo TEID errôneo
- UPF recebe Indicação de Erro → Analisa mensagem para extrair TEID X
- UPF encontra sessões afetadas → Busca todas as sessões por FARs que encaminham para TEID X
- UPF exclui sessões → Remove sessões dos mapas eBPF e do estado PFCP
- UPF atualiza métricas → Incrementa contadores do Prometheus para monitoramento
Fluxo de Indicação de Erro:
Formato do Pacote (Seção 7.3.1 da 3GPP TS 29.281):
Indicação de Erro GTP-U:
┌─────────────────────────────────────────┐
│ Cabeçalho GTP-U (12 bytes) │
├─────────────────────────────────────────┤
│ Versão, PT, Flags │ 0x32 │
│ Tipo de Mensagem │ 26 (0x1A) │
│ Comprimento │ 9 bytes │
│ TEID │ 0 (sempre) │
│ Número de Sequência │ varia │
│ Número N-PDU │ 0 │
│ Próximo Cabeçalho de Extensão │ 0 │
├─────────────────────────────────────────┤
│ IE: Dados TEID I (5 bytes) │
├─────────────────────────────────────────┤
│ Tipo │ 16 (0x10) │
│ TEID errôneo │ 4 bytes │
└─────────────────────────────────────────┘
Quando Isso Importa:
Cenário 1: Reinício do PGW-U na Arquitetura GTP S5/S8
- SGW-U (OmniUPF) encaminha tráfego S5/S8 para PGW-U
- PGW-U reinicia e perde todo o estado do túnel S5/S8
- SGW-U continua encaminhando para TEIDs antigos
- PGW-U envia Indicações de Erro
- SGW-U para automaticamente de usar túneis mortos
Cenário 2: Reinício do UPF Par na Arquitetura N9
- UPF-1 (OmniUPF) encaminha tráfego N9 para UPF-2
- UPF-2 reinicia
- UPF-1 recebe Indicações de Erro
- UPF-1 limpa sessões
Exemplo de Log:
Ao receber uma Indicação de Erro:
WARN: Recebida Indicação de Erro GTP-U de 192.168.50.10:2152 para TEID 0x12345678 - par remoto não reconhece este TEID
WARN: Encontrada sessão LocalSEID=42 com FAR GlobalId=1 encaminhando para TEID errôneo 0x12345678 do par 192.168.50.10
INFO: Excluindo sessão LocalSEID=42 devido à Indicação de Erro GTP-U para TEID 0x12345678 do 192.168.50.10
WARN: Excluídas 1 sessão(ões) devido à Indicação de Erro GTP-U para TEID 0x12345678 do par 192.168.50.10
Métricas do Prometheus:
Monitore a atividade de Indicação de Erro com granularidade por par e por nó:
# Total de Indicações de Erro recebidas de pares
upf_buffer_listener_error_indications_received_total{node_id="pgw-u-1",peer_address="192.168.50.10"}
# Sessões excluídas devido a Indicações de Erro
upf_buffer_listener_error_indication_sessions_deleted_total{node_id="pgw-u-1",peer_address="192.168.50.10"}
# Indicações de Erro enviadas (para TEIDs de entrada desconhecidos)
upf_buffer_listener_error_indications_sent_total{node_id="enodeb-1",peer_address="10.60.0.1"}
Rótulos de Métricas:
node_id: ID do Nó PFCP da associação (ou "desconhecido" se nenhuma associação existir)peer_address: Endereço IP do par remoto
Essas métricas ajudam a identificar pares problemáticos e rastrear padrões de Indicação de Erro por nó do plano de controle.
Notas Importantes:
-
Limpeza Automática: Nenhuma intervenção do operador necessária - sessões são excluídas automaticamente
-
Correspondência de TEID: Apenas sessões com FARs que encaminham para o TEID errôneo exato são excluídas
-
Isolamento por Par: Indicações de Erro de um par afetam apenas sessões que encaminham para aquele par
-
Múltiplas Sessões: Se várias sessões encaminham para o mesmo TEID morto, todas são excluídas
-
Complementar ao Timestamp de Recuperação:
- Detecção de Timestamp de Recuperação = proativa (detecta reinício durante configuração de associação)
- Manipulação de Indicação de Erro = reativa (detecta túneis mortos quando o tráfego flui)
-
Manipulação de Pacote Malformado: Indicações de Erro inválidas são registradas e ignoradas (nenhuma sessão excluída)
Para solução de problemas de Indicações de Erro, consulte Depuração de Indicações de Erro GTP-U.
Criação de Sessão PFCP
Quando um UE estabelece uma sessão PDU (5G) ou contexto PDP (LTE), o SMF cria uma sessão PFCP no UPF.
Fluxo de Estabelecimento de Sessão:
Conteúdos Típicos da Sessão:
- PDR de Uplink: Comparar no TEID N3, encaminhar via FAR para N6
- PDR de Downlink: Comparar no endereço IP do UE, encaminhar via FAR para N3 com encapsulamento GTP-U
- FAR: Parâmetros de encaminhamento (criação de cabeçalho externo, instância de rede)
- QER: Limites de QoS (MBR, GBR) e marcação de pacotes (QFI)
- URR: Relatório de volume para cobrança (opcional)
Modificação de Sessão PFCP
O SMF pode modificar sessões para eventos de mobilidade (transferência), mudanças de QoS ou atualizações de serviço.
Cenários Comuns de Modificação:
-
Transferência (baseada em N2)
- Atualizar FAR de uplink com novo ponto final de túnel gNB (F-TEID)
- Opcionalmente armazenar pacotes durante a troca de caminho
- Limpar buffer para novo caminho quando pronto
-
Mudança de QoS
- Atualizar QER com novos valores de MBR/GBR
- Pode adicionar/remover filtros SDF em PDR para QoS específica de aplicativo
-
Atualização de Serviço
- Adicionar novos PDRs para fluxos de tráfego adicionais
- Modificar FARs para mudanças de roteamento
Fluxo de Modificação de Sessão:
Para gerenciamento de regras, consulte Guia de Gerenciamento de Regras.
Exclusão de Sessão PFCP
Quando uma sessão PDU é liberada, o SMF exclui a sessão PFCP no UPF.
Fluxo de Exclusão de Sessão:
Limpeza Realizada:
- Todos os PDRs removidos (uplink e downlink)
- Todos os FARs, QERs, URRs removidos
- Buffers de pacotes limpos
- Relatório final de uso enviado ao SMF para cobrança
Operações Comuns
OmniUPF fornece capacidades operacionais abrangentes através de seu painel de controle baseado na web e API REST. Esta seção cobre tarefas operacionais comuns e suas significâncias.
Monitoramento de Sessões
Entendendo Sessões PFCP:
As sessões PFCP representam sessões PDU ativas do UE (5G) ou contextos PDP (LTE). Cada sessão contém:
- SEIDs local e remoto (Identificadores de Ponto de Extremidade da Sessão)
- PDRs para classificação de pacotes
- FARs para decisões de encaminhamento
- QERs para aplicação de QoS (opcional)
- URRs para rastreamento de uso (opcional)
Operações Chave da Sessão:
- Visualizar todas as sessões com endereços IP do UE, TEIDs e contagens de regras
- Filtrar sessões por endereço IP ou TEID
- Inspecionar detalhes da sessão incluindo configurações completas de PDR/FAR/QER/URR
- Monitorar contagens de sessão por associação PFCP
Para procedimentos detalhados de sessão, consulte Visualização de Sessões.
Gerenciamento de Regras
Regras de Detecção de Pacotes (PDR):
As PDRs determinam quais pacotes correspondem a fluxos de tráfego específicos. Os operadores podem:
- Visualizar PDRs de uplink indexados por TEID da interface N3
- Visualizar PDRs de downlink indexados por endereço IP do UE (IPv4 e IPv6)
- Inspecionar filtros SDF para classificação específica de aplicativos
- Monitorar contagens de PDR e uso de capacidade
Regras de Ação de Encaminhamento (FAR):
As FARs definem o que fazer com pacotes correspondentes. Os operadores podem:
- Visualizar ações FAR (ENCAMINHAR, DESCARTAR, BUFFER, DUPLICAR, NOTIFICAR)
- Inspecionar parâmetros de encaminhamento (criação de cabeçalho externo, destino)
- Monitorar status de armazenamento por FAR
- Alternar armazenamento para FARs específicas durante solução de problemas
Regras de Aplicação de QoS (QER):
As QERs aplicam limites de largura de banda e marcação de pacotes. Os operadores podem:
- Visualizar parâmetros de QoS (MBR, GBR, marcação de pacotes)
- Monitorar QERs ativas por sessão
- Inspecionar marcações QFI para fluxos de QoS 5G
Regras de Relatório de Uso (URR):
As URRs rastreiam volumes de dados para cobrança. Os operadores podem:
- Visualizar contadores de volume (uplink, downlink, total de bytes)
- Monitorar limites de uso e gatilhos de relatório
- Inspecionar URRs ativas em todas as sessões
Para operações de regras, consulte Guia de Gerenciamento de Regras.
Buffering de Pacotes
Por que o Buffering é Crítico para o UPF
O buffering de pacotes é uma das funções mais importantes de um UPF porque previne a perda de pacotes durante eventos de mobilidade e reconfigurações de sessão. Sem buffering, os usuários móveis experimentariam desconexões, downloads interrompidos e falhas em comunicações em tempo real toda vez que se movem entre torres de celular ou quando as condições da rede mudam.
O Problema: Perda de Pacotes Durante a Mobilidade
Em redes móveis, os usuários estão constantemente se movendo. Quando um dispositivo se move de uma torre de celular para outra (transferência), ou quando a rede precisa reconfigurar o caminho de dados, há uma janela crítica onde pacotes estão em trânsito, mas o novo caminho ainda não está pronto:
Sem buffering: Pacotes que chegam durante essa janela crítica seriam descartados, causando:
- Conexões TCP a travar ou reiniciar (navegação na web, downloads interrompidos)
- Chamadas de vídeo a congelar ou cair (Zoom, Teams, chamadas do WhatsApp falham)
- Sessões de jogos a desconectar (jogos online, aplicativos em tempo real falham)
- Chamadas VoIP a ter lacunas ou cair completamente (chamadas telefônicas interrompidas)
- Downloads a falhar e precisar reiniciar
Com buffering: OmniUPF retém temporariamente pacotes até que o novo caminho seja estabelecido e, em seguida, os encaminha sem problemas. O usuário experimenta zero interrupção.
Quando o Buffering Acontece
OmniUPF armazena pacotes nessas situações críticas:
1. Transferência Baseada em N2 (5G) / Transferência Baseada em X2 (4G)
Quando um UE se move entre torres de celular:
Linha do Tempo:
- T+0ms: Caminho antigo ainda ativo
- T+10ms: SMF diz ao UPF para armazenar (caminho antigo fechando, novo caminho não está pronto)
- T+10-50ms: Janela crítica de armazenamento - pacotes chegam, mas não podem ser encaminhados
- T+50ms: Novo caminho pronto, SMF diz ao UPF para encaminhar
- T+50ms+: UPF limpa pacotes armazenados para o novo caminho, em seguida, encaminha novos pacotes normalmente
Sem buffering: ~40ms de pacotes (potencialmente milhares) seriam perdidos. Com buffering: Zero perda de pacotes, transferência sem interrupções.
2. Modificação de Sessão (Mudança de QoS, Atualização de Caminho)
Quando a rede precisa mudar parâmetros de sessão:
- Atualização/diminuição de QoS: Usuário se move de cobertura 4G para 5G (modo NSA)
- Mudança de política: Usuário corporativo entra no campus corporativo (mudanças de direcionamento de tráfego)
- Otimização de rede: Rede central redireciona tráfego para um UPF mais próximo (atualização ULCL)
Durante a modificação, o plano de controle pode precisar atualizar várias regras atomicamente. O buffering garante que pacotes não sejam encaminhados com conjuntos de regras parciais/inconsistentes.
3. Notificação de Dados de Downlink (Recuperação em Modo Ocioso)
Quando um UE está em modo ocioso (tela desligada, economia de bateria) e dados de downlink chegam:
Sem buffering: O pacote inicial que acionou a notificação seria perdido, exigindo que o remetente retransmitisse (adiciona latência). Com buffering: O pacote que acordou o UE é entregue imediatamente quando o UE reconecta.
4. Transferência Inter-RAT (4G ↔ 5G)
Quando um UE se move entre cobertura 4G e 5G:
- Mudanças de arquitetura (eNodeB ↔ gNB)
- Mudan��as nos pontos finais do túnel (nova alocação de TEID)
- O buffering garante uma transição suave entre tipos de RAT
Como o Buffering Funciona no OmniUPF
Mecanismo Técnico:
OmniUPF usa uma arquitetura de buffering em duas etapas:
- Etapa eBPF (Kernel): Detecta pacotes que requerem buffering com base em flags de ação FAR
- Etapa de Espaço do Usuário: Armazena e gerencia pacotes armazenados na memória
Processo de Buffering:
Detalhes Chave:
- Porta de Buffer: Porta UDP 22152 (pacotes enviados do eBPF para o espaço do usuário)
- Encapsulamento: Pacotes envoltos em GTP-U com ID FAR como TEID
- Armazenamento: Buffers em memória por FAR com metadados (timestamp, direção, tamanho do pacote)
- Limites:
- Limite por FAR: 10.000 pacotes (padrão)
- Limite global: 100.000 pacotes em todos os FARs
- TTL: 30 segundos (padrão) - pacotes mais velhos que TTL são descartados
- Limpeza: Processo em segundo plano remove pacotes expirados a cada 60 segundos
Ciclo de Vida do Buffer:
- Buffering Habilitado: SMF define ação FAR BUFF=1 (bit 2) via Modificação de Sessão PFCP
- Pacotes Armazenados: eBPF detecta flag BUFF, encapsula pacotes, envia para a porta 22152
- Armazenamento do Espaço do Usuário: Gerenciador de buffer armazena pacotes com ID FAR, timestamp, direção
- Buffering Desabilitado: SMF define ação FAR FORW=1, BUFF=0 com novos parâmetros de encaminhamento
- Limpar Buffer: Gerenciador de espaço do usuário repete pacotes armazenados usando novas regras FAR (novo ponto final do túnel)
- Retomar Normal: Novos pacotes encaminhados imediatamente via novo caminho
Por que Isso Importa para a Experiência do Usuário
Impacto no Mundo Real:
| Cenário | Sem Buffering | Com Buffering |
|---|---|---|
| Chamada de Vídeo Durante a Transferência | Chamada congela por 1-2 segundos, pode cair | Sem interrupções, nenhuma interrupção |
| Download de Arquivo na Borda da Célula | Download falha, deve reiniciar | Download continua sem interrupções |
| Jogo Online Enquanto se Move | Conexão cai, expulso do jogo | Jogo suave, sem desconexões |
| Chamada VoIP no Carro | Chamada cai a cada transferência | Cristalina, sem quedas |
| Vídeo em Streaming em um Trem | Vídeo carrega, qualidade cai | Reprodução suave |
| Hotspot Móvel para Laptop | Sessão SSH cai, chamada de vídeo falha | Todas as conexões mantidas |
Benefícios para o Operador de Rede:
- Redução da Taxa de Queda de Chamadas (CDR): KPI crítico para qualidade da rede
- Maior Satisfação do Cliente: Usuários não notam transferências
- Menores Custos de Suporte: Menos reclamações sobre conexões perdidas
- Vantagem Competitiva: Marketing "melhor rede para cobertura"
Operações de Gerenciamento de Buffer
Os operadores podem monitorar e controlar o buffering via Web UI e API:
Monitoramento:
- Visualizar pacotes armazenados por ID FAR (contagem, bytes, idade)
- Rastrear uso do buffer contra limites (por FAR, global)
- Alertar sobre overflow de buffer ou duração excessiva de armazenamento
- Identificar buffers presos (pacotes armazenados > limite TTL)
Operações de Controle:
- Limpar buffers: Acionar manualmente a repetição do buffer (solução de problemas)
- Limpar buffers: Descartar pacotes armazenados (limpar buffers presos)
- Ajustar TTL: Mudar tempo de expiração de pacotes
- Modificar limites: Aumentar capacidade de buffer por FAR ou global
Solução de Problemas:
- Buffer não limpando: Verifique se o SMF enviou atualização de FAR para desabilitar o buffering
- Overflow de buffer: Aumente limites ou investigue por que a duração do buffering é excessiva
- Pacotes antigos no buffer: TTL pode estar muito alto, ou atualização de FAR atrasada
- Buffering excessivo: Pode indicar problemas de mobilidade ou problemas no SMF
Para operações detalhadas de buffer, consulte Guia de Gerenciamento de Buffer.
Configuração de Buffer
Configure o comportamento de buffering em config.yml:
# Configurações de Buffer
buffer_port: 22152 # Porta UDP para pacotes armazenados (padrão)
buffer_max_packets: 10000 # Máx. pacotes por FAR (prevenir exaustão de memória)
buffer_max_total: 100000 # Máx. total de pacotes em todos os FARs
buffer_packet_ttl: 30 # TTL em segundos (descartar pacotes antigos)
buffer_cleanup_interval: 60 # Intervalo de limpeza em segundos
Recomendações:
- Redes de alta mobilidade (estradas, trens): Aumentar
buffer_max_packetspara 20.000+ - Áreas urbanas densas (transferências frequentes): Diminuir
buffer_packet_ttlpara 15s - Aplicações de baixa latência: Definir
buffer_packet_ttlpara 10s para evitar dados obsoletos - Redes IoT: Diminuir limites (dispositivos IoT geram menos tráfego durante a transferência)
Para opções completas de configuração, consulte Guia de Configuração.
Estatísticas e Monitoramento
Estatísticas de Pacotes:
Métricas de processamento de pacotes em tempo real, incluindo:
- Pacotes RX: Total recebido de todas as interfaces
- Pacotes TX: Total transmitido para todas as interfaces
- Pacotes descartados: Pacotes descartados devido a erros ou políticas
- Pacotes GTP-U: Contagens de pacotes encapsulados
Estatísticas de Rota:
Métricas de encaminhamento por rota:
- Acertos de Rota: Pacotes correspondidos por cada rota
- Contagens de Encaminhamento: Sucesso/falha por destino
- Contadores de Erros: TEIDs inválidos, IPs de UE desconhecidos
Estatísticas de XDP:
Métricas de desempenho do eXpress Data Path:
- XDP processados: Pacotes tratados na camada XDP
- XDP passados: Pacotes enviados para a pilha de rede
- XDP descartados: Pacotes descartados na camada XDP
- XDP abortados: Erros de processamento
Estatísticas da Interface N3/N6:
Contadores de tráfego por interface:
- N3 RX/TX: Tráfego de para a RAN (gNB/eNodeB)
- N6 RX/TX: Tráfego de para a rede de dados
- Contagens totais de pacotes: Estatísticas agregadas da interface
Para monitoramento detalhado, consulte Guia de Monitoramento.
Gerenciamento de Capacidade
Monitoramento de Capacidade de Mapas eBPF:
O desempenho do UPF depende da capacidade dos mapas eBPF. Os operadores podem:
- Monitorar uso de mapas com indicadores de porcentagem em tempo real
- Visualizar limites de capacidade para cada mapa eBPF
- Alertas codificados por cores:
- Verde (<50%): Normal
- Amarelo (50-70%): Cuidado
- Âmbar (70-90%): Aviso
- Vermelho (>90%): Crítico
Mapas Críticos a Monitorar:
uplink_pdr_map: Classificação de tráfego de uplinkdownlink_pdr_map: Classificação de tráfego de downlink IPv4far_map: Regras de encaminhamentoqer_map: Regras de QoSurr_map: Rastreamento de uso
Planejamento de Capacidade:
- Cada PDR consome uma entrada de mapa (tamanho da chave + tamanho do valor)
- A capacidade do mapa é configurada na inicialização do UPF (limite de memória do kernel)
- Exceder a capacidade causa falhas na criação de sessões
Para monitoramento de capacidade, consulte Gerenciamento de Capacidade.
Gerenciamento de Configuração
Configuração do UPF:
Visualizar e verificar parâmetros operacionais do UPF:
- Interface N3: Endereço IP para conectividade da RAN (GTP-U)
- Interface N6: Endereço IP para conectividade da rede de dados
- Interface N9: Endereço IP para comunicação inter-UPF (opcional)
- Interface PFCP: Endereço IP para conectividade com SMF
- Porta da API: Porta de escuta da API REST
- Endpoint de Métricas: Porta de métricas do Prometheus
Configuração do Dataplane:
Parâmetros ativos do caminho de dados eBPF:
- Endereço N3 ativo: Vínculo da interface N3 em tempo de execução
- Endereço N9 ativo: Vínculo da interface N9 em tempo de execução (se habilitado)
Para visualização de configuração, consulte Visualização de Configuração.
Solução de Problemas
Esta seção cobre problemas operacionais comuns e suas estratégias de resolução.
Falhas no Estabelecimento de Sessões
Sintomas: Sessões PFCP falham ao criar, UE não consegue estabelecer conectividade de dados
Causas Raiz Comuns:
-
Associação PFCP Não Estabelecida
- Verifique se o SMF pode alcançar a interface PFCP do UPF (porta 8805)
- Verifique o status da associação PFCP na visualização de Sessões
- Verifique se a configuração do ID do Nó corresponde entre SMF e UPF
-
Capacidade do Mapa eBPF Exaurida
- Verifique a visualização de Capacidade para uso de mapa vermelho (>90%)
- Aumente os tamanhos dos mapas eBPF na configuração do UPF
- Exclua sessões obsoletas se o mapa estiver cheio
-
Configuração de PDR/FAR Inválida
- Verifique se o endereço IP do UE é único e válido
- Verifique se a alocação de TEID não está em conflito
- Certifique-se de que FAR referencia instâncias de rede válidas
-
Problemas de Configuração de Interface
- Verifique se o IP da interface N3 é acessível a partir do gNB
- Verifique tabelas de roteamento para conectividade N6 com a rede de dados
- Confirme se o tráfego GTP-U não está bloqueado por firewall
Para solução de problemas detalhada, consulte Guia de Solução de Problemas.
Problemas de Perda de Pacotes ou Encaminhamento
Sintomas: UE tem conectividade, mas experimenta perda de pacotes ou nenhum fluxo de tráfego
Causas Raiz Comuns:
-
Configuração de PDR Incorreta
- Verifique se o TEID de uplink PDR corresponde ao TEID atribuído pelo gNB
- Verifique se o PDR de downlink IP do UE corresponde ao IP atribuído
- Inspecione filtros SDF para regras excessivamente restritivas
-
Problemas de Ação FAR
- Verifique se a ação FAR é ENCAMINHAR (não DESCARTAR ou BUFFER)
- Verifique os parâmetros de criação de cabeçalho externo para GTP-U
- Certifique-se de que o ponto final de destino está correto
-
Limites de QoS Excedidos
- Verifique configurações de QER MBR (Taxa de Bits Máxima)
- Verifique a alocação de GBR (Taxa de Bits Garantida)
- Monitore quedas de pacotes devido a limitação de taxa
-
Problemas de MTU da Interface
- Verifique a sobrecarga do GTP-U (40-50 bytes) não causa fragmentação
- Verifique a configuração de MTU da interface N3/N6
- Monitore mensagens ICMP