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 grau de operadora, aplicação de QoS e gerenciamento de tráfego para redes móveis. Construído sobre a tecnologia eBPF do Linux (Filtro de Pacotes de Berkeley Estendido) 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
- Bufferização de pacotes para cenários de mobilidade e gerenciamento de sessões
- Suporte a interceptação legal para conformidade regulatória
OmniUPF implementa a funcionalidade completa do UPF definida nas especificações 3GPP TS 23.501 (5G) e TS 23.401 (LTE), fornecendo uma solução de plano do usuário completa e pronta para produção utilizando 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
- Encapsulação e desencapsulação GTP-U (Protocolo de Tunelamento GPRS)
- Suporte a IPv4 e IPv6 para redes de acesso e de dados
- XDP (Caminho de Dados eXpress) para processamento de latência ultra-baixa
- Processamento de pacotes multi-thread
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 aplicações
- Regras de Relatório de Uso (URR) para rastreamento de volume e cobrança
Controle e Gerenciamento:
- Interface PFCP (Protocolo de Controle de Encaminhamento de Pacotes) 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 multi-core
- Capaz de descarregar para aceleração de hardware
- Otimizado para implantações nativas em nuvem
Para uso detalhado do painel de controle, veja 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 grau de operadora 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 (Gateway do PDN do Plano do Usuário) - gateway EPC 4G para redes externas (controlado pelo OmniPGW-C via Sxc/PFCP)
- SGW-U (Gateway de Serviço do Plano do Usuário) - gateway de serviço EPC 4G (controlado pelo OmniSGW-C via Sxb/PFCP)
OmniUPF pode operar em qualquer combinação desses modos:
- Somente UPF: Implantação pura de 5G
- PGW-U + SGW-U: Gateway combinado 4G (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 protocolo PFCP, fornecendo desempenho alto e consistente, independentemente de operar como UPF, PGW-U, SGW-U ou os três simultaneamente.
Arquitetura da Rede 5G (Modo SA)
A solução OmniUPF se encontra no plano de dados das redes 5G, fornecendo a camada de encaminhamento de pacotes em 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 (Núcleo de Pacotes Evoluído), 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.
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 encapsulação GTP-U
- 4G: Pacotes chegam na interface S1-U (SGW-U) ou S5/S8 (PGW-U) do eNodeB com encapsulação 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, bufferizar, 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 aplicação
- FAR determina parâmetros de túnel GTP-U e encaminhamento
- Encapsulação GTP-U adicionada 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 da Área de Rastreamento)
- O plano do usuário pode bufferizar pacotes durante a troca de caminho
- Transição suave 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 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 entre UPFs 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 entre gateways (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.
Para gerenciamento de sessões PFCP, veja Operações PFCP.
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 GTP-U: Encapsulação e desencapsulação 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, bufferizar, duplicar, notificar)
- Rastreamento de Uso: Incrementar contadores URR para cobrança baseada em volume
Mapas eBPF: O caminho de dados utiliza 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 aplicação (portas, protocolos) |
Características de Desempenho:
- Zero-copy: Pacotes processados inteiramente no espaço do kernel
- Suporte a XDP: Anexar no nível do driver de rede para latência sub-microsegundo
- Multi-core: Escala entre núcleos de CPU com suporte a mapas por CPU
- Capacidade: Milhões de PDRs/FARs em mapas eBPF (limitados pela memória do kernel)
Para monitoramento de capacidade, veja Gerenciamento de Capacidade.
Manipulador de Interface PFCP
A interface PFCP implementa a TS 29.244 da 3GPP para comunicação com SMF ou PGW-C.
Funções Principais:
- Gerenciamento de Associação: Batimento cardíaco 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 Cardíaco | 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)
Para operações detalhadas do PFCP, veja Guia de Operações PFCP.
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 do mapa eBPF |
| Dataplane | /dataplane_config | Endereços das interfaces N3/N9 |
Para detalhes e uso da API, veja Guia de Operações PFCP e 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 bufferizados e controlar bufferização 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 cor
- 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, veja 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
- UPF rastreia a associação pelo ID do Nó (FQDN ou endereço IP)
- Mensagens de batimento cardíaco 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, veja Visualização de Sessões.
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 encapsulação 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)
Para monitoramento de sessões, veja Operações PFCP.
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 de túnel gNB (F-TEID)
- Opcionalmente bufferizar pacotes durante a troca de caminho
- Limpar buffer para o novo caminho quando estiver pronto
-
Mudança de QoS
- Atualizar QER com novos valores MBR/GBR
- Pode adicionar/remover filtros SDF no PDR para QoS específica da aplicação
-
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, veja 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 sua importância.
Monitoramento de Sess��es
Entendendo Sessões PFCP:
As sessões PFCP representam sessões PDU ativas de UE (5G) ou contextos PDP (LTE). Cada sessão contém:
- SEIDs locais e remotos (Identificadores de Ponto de 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 de 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, veja 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 com chave TEID da interface N3
- Visualizar PDRs de downlink com chave de endereço IP do UE (IPv4 e IPv6)
- Inspecionar filtros SDF para classificação específica de aplicações
- 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, BUFFERIZAR, DUPLICAR, NOTIFICAR)
- Inspecionar parâmetros de encaminhamento (criação de cabeçalho externo, destino)
- Monitorar status de bufferização por FAR
- Alternar bufferização 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, orçamento de atraso 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, veja Guia de Gerenciamento de Regras.
Bufferização de Pacotes
Por que a Bufferização é Crítica para o UPF
A bufferização 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 bufferização, os usuários móveis experimentariam conexões interrompidas, downloads interrompidos e falhas em comunicações em tempo real toda vez que se movessem entre torres de celular ou quando as condições da rede mudassem.
O Problema: Perda de Pacotes Durante 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 bufferização: Pacotes que chegam durante essa janela crítica seriam descartados, causando:
- Conexões TCP travadas ou redefinidas (navegação na web, downloads interrompidos)
- Chamadas de vídeo congeladas ou descartadas (Zoom, Teams, chamadas do WhatsApp falham)
- Sessões de jogos desconectadas (jogos online, aplicativos em tempo real falham)
- Chamadas VoIP com lacunas ou que caem completamente (chamadas telefônicas interrompidas)
- Downloads que falham e precisam ser reiniciados
Com bufferização: O OmniUPF retém temporariamente pacotes até que o novo caminho seja estabelecido, então os encaminha de forma contínua. O usuário experimenta zero interrupção.
Quando a Bufferização Acontece
OmniUPF bufferiza 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:
Cronograma:
- T+0ms: Caminho antigo ainda ativo
- T+10ms: SMF informa UPF para bufferizar (caminho antigo fechando, novo caminho não está pronto)
- T+10-50ms: Janela crítica de bufferização - pacotes chegam, mas não podem ser encaminhados
- T+50ms: Novo caminho pronto, SMF informa UPF para encaminhar
- T+50ms+: UPF limpa pacotes bufferizados para novo caminho, então encaminha novos pacotes normalmente
Sem bufferização: ~40ms de pacotes (potencialmente milhares) seriam perdidos. Com bufferização: Zero perda de pacotes, transferência suave.
2. Modificação de Sessão (Mudança de QoS, Atualização de Caminho)
Quando a rede precisa mudar parâmetros da sess��o:
- Atualização/diminuição de QoS: Usuário se move da 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: A 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 de forma atômica. A bufferização 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 bufferização: O pacote inicial que acionou a notificação seria perdido, exigindo que o remetente retransmitisse (adiciona latência). Com bufferização: O pacote que acordou o UE é entregue imediatamente quando o UE se 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 de túnel (nova alocação de TEID)
- A bufferização garante uma transição suave entre tipos de RAT
Como a Bufferização Funciona no OmniUPF
Mecanismo Técnico:
OmniUPF utiliza uma arquitetura de bufferização em duas etapas:
- Etapa eBPF (Kernel): Detecta pacotes que requerem bufferização com base em flags de ação FAR
- Etapa de Espaço do Usuário: Armazena e gerencia pacotes bufferizados na memória
Processo de Bufferização:
Detalhes Chave:
- Porta de Buffer: Porta UDP 22152 (pacotes enviados do eBPF para espaço do usuário)
- Encapsulação: 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 antigos que o TTL são descartados
- Limpeza: Processo em segundo plano remove pacotes expirados a cada 60 segundos
Ciclo de Vida do Buffer:
- Bufferização Habilitada: SMF define ação FAR BUFF=1 (bit 2) via Modificação de Sessão PFCP
- Pacotes Bufferizados: eBPF detecta flag BUFF, encapsula pacotes, envia para a porta 22152
- Armazenamento no Espaço do Usuário: Gerenciador de buffer armazena pacotes com ID FAR, timestamp, direção
- Bufferização Desabilitada: SMF define ação FAR FORW=1, BUFF=0 com novos parâmetros de encaminhamento
- Limpar Buffer: O gerenciador de espaço do usuário repete pacotes bufferizados usando novas regras FAR (novo ponto de 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 Bufferização | Com Bufferização |
|---|---|---|
| Chamada de Vídeo Durante a Transferência | Chamada congela por 1-2 segundos, pode cair | Sem costura, sem 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 |
| Streaming de Vídeo no Trem | Vídeo bufferiza, 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 percebem transferências
- Custos de Suporte Mais Baixos: 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 a bufferização através da Web UI e API:
Monitoramento:
- Visualizar pacotes bufferizados por ID FAR (contagem, bytes, idade)
- Rastrear uso de buffer em relação aos limites (por FAR, global)
- Alertar sobre overflow de buffer ou duração excessiva de bufferização
- Identificar buffers presos (pacotes bufferizados > limite TTL)
Operações de Controle:
- Limpar buffers: Acionar manualmente a repetição de buffer (solução de problemas)
- Limpar buffers: Descartar pacotes bufferizados (limpar buffers presos)
- Ajustar TTL: Mudar o tempo de expiração de pacotes
- Modificar limites: Aumentar a 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 bufferização
- Overflow de buffer: Aumentar limites ou investigar por que a duração da bufferização é excessiva
- Pacotes antigos no buffer: TTL pode estar muito alto, ou atualização de FAR atrasada
- Bufferização excessiva: Pode indicar problemas de mobilidade ou problemas com o SMF
Para operações detalhadas de buffer, veja Guia de Gerenciamento de Buffer.
Configuração de Buffer
Configure o comportamento de bufferização em config.yml:
# Configurações de buffer
buffer_port: 22152 # Porta UDP para pacotes bufferizados (padrão)
buffer_max_packets: 10000 # Máximo de pacotes por FAR (prevenir exaustão de memória)
buffer_max_total: 100000 # Máximo 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 de configuração completas, veja 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 erro: 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/da RAN (gNB/eNodeB)
- N6 RX/TX: Tráfego de para/da rede de dados
- Contagens totais de pacotes: Estatísticas agregadas da interface
Para detalhes de monitoramento, veja Guia de Monitoramento.
Gerenciamento de Capacidade
Monitoramento de Capacidade do Mapa eBPF:
O desempenho do UPF depende da capacidade do mapa eBPF. Os operadores podem:
- Monitorar uso de mapa com indicadores de porcentagem em tempo real
- Visualizar limites de capacidade para cada mapa eBPF
- Alertas codificados por cor:
- Verde (<50%): Operação 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, veja Gerenciamento de Capacidade.
Gerenciamento de Configuração
Configuração do UPF:
Visualize e verifique os parâmetros operacionais do UPF:
- Interface N3: Endereço IP para conectividade com a RAN (GTP-U)
- Interface N6: Endereço IP para conectividade com a rede de dados
- Interface N9: Endereço IP para comunicação entre UPFs (opcional)
- Interface PFCP: Endereço IP para conectividade com SMF
- Porta 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: Ligação da interface N3 em tempo de execução
- Endereço N9 ativo: Ligação da interface N9 em tempo de execução (se habilitado)
Para visualização de configuração, veja 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ão
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 Inválida de PDR/FAR
- 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 o 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 as 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, veja Guia de Solução de Problemas.
Problemas de Perda ou Encaminhamento de Pacotes
Sintomas: UE tem conectividade, mas experimenta perda de pacotes ou fluxo de tráfego ausente
Causas Raiz Comuns:
-
Configuração de PDR Incorreta
- Verifique se o PDR de uplink TEID 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 BUFFERIZAR)
- Verifique os parâmetros de criação de cabeçalho externo para GTP-U
- Certifique-se de que o endpoint de destino está correto
-
Limites de QoS Excedidos
- Verifique as configurações de QER MBR (Taxa Máxima de Bits)
- Verifique a alocação de GBR (Taxa Garantida de Bits)
- Monitore a perda de pacotes devido à limitação de taxa
-
Problemas de MTU da Interface
- Verifique se 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 de fragmentação necessárias
Problemas Relacionados ao Buffer
Sintomas: Pacotes bufferizados indefinidamente, overflow de buffer
Causas Raiz Comuns:
-
Bufferização Não Desabilitada Após Transferência
- Verifique a flag de bufferização FAR (bit 2)
- Verifique se o SMF enviou Modificação de Sessão para desabilitar bufferização
- Desabilite manualmente a bufferização via painel de controle se preso
-
Expiração do TTL do Buffer
- Verifique a idade do pacote na visualização de buffer
- Verifique a configuração de TTL do buffer (padrão pode estar muito longo)
- Limpe buffers expirados manualmente
-
Capacidade do Buffer Exaurida
- Monitore o uso total do buffer e limites por FAR
- Verifique regras mal configuradas que causam bufferização excessiva
- Ajuste limites de max_per_far e max_total do buffer
Para solução de problemas de buffer, veja Operações de Buffer.
Anomalias nas Estatísticas
Sintomas: Contadores de pacotes inesperados, estatísticas ausentes
Causas Raiz Comuns:
-
Overflow de Contador
- Mapas eBPF usam contadores de 64 bits (não devem transbordar)
- Verifique eventos de redefinição de contador nos logs
- Verifique se o relatório URR está funcionando
-
Estatísticas de Rota Não Atualizando
- Verifique se o programa eBPF está anexado às interfaces
- Verifique se a versão do kernel suporta os recursos eBPF necessários
- Revise estatísticas de XDP para erros de processamento
-
Desajuste nas Estatísticas da Interface
- Compare estatísticas N3/N6 com contadores de interface do kernel
- Verifique se o tráfego está contornando o eBPF (por exemplo, roteamento local)
- Verifique se todo o tráfego flui através de ganchos XDP
Degradação de Desempenho
Sintomas: Alta latência, baixa largura de banda, saturação da CPU
Diagnóstico:
- Monitorar Estatísticas de XDP: Verifique se há descartes ou abortos de XDP
- Verificar Tempo de Acesso ao Mapa eBPF: Pesquisas hash devem ser sub-microsegundo
- Revisar Utilização da CPU: eBPF deve distribuir entre núcleos
- Analisar Interface de Rede: Verifique se o NIC suporta descarregamento XDP
Considerações de Escalabilidade:
- Desempenho do XDP: 10M+ pacotes por segundo por núcleo
- Capacidade do PDR: Milhões de PDRs limitados apenas pela memória do kernel
- Contagem de Sessões: Milhares de sessões simultâneas por instância do UPF
- Taxa de Transferência: Taxa de gigabits multi-gigabit com o descarregamento adequado do NIC
Para ajuste de desempenho, veja Guia de Arquitetura.
Documentação Adicional
Guias de Operações Específicos do Componente
Para operações detalhadas e solução de problemas para cada componente do UPF:
Guia de Configuração
Referência completa de configuração incluindo:
- Parâmetros de configuração (YAML, variáveis de ambiente, CLI)
- Modos de operação (UPF/PGW-U/SGW-U)
- Modos de anexação XDP (genérico/nativo/descarregamento)
- Compatibilidade com hipervisores (Proxmox, VMware, KVM, Hyper-V, VirtualBox)
- Compatibilidade de NIC e suporte a driver XDP
- Exemplos de configuração para diferentes cenários
- Dimensionamento de mapas e planejamento de capacidade
Guia de Arquitetura
Aprofundamento técnico incluindo:
- Fundação da tecnologia eBPF e ciclo de vida do programa
- Pipeline de processamento de pacotes XDP com chamadas de cauda
- Implementação do protocolo PFCP
- Arquitetura de bufferização (encapsulação GTP-U para porta 22152)
- Limitação de taxa de janela deslizante de QoS (janela de 5ms)
- Características de desempenho (latência de 3,5μs, 10 Mpps/núcleo)
Guia de Gerenciamento de Regras
Referência de regras PFCP incluindo:
- Regras de Detecção de Pacotes (PDR) - Classificação de tráfego
- Regras de Ação de Encaminhamento (FAR) - Decisões de roteamento com flags de ação
- Regras de Aplicação de QoS (QER) - Gerenciamento de largura de banda (MBR/GBR)
- Regras de Relatório de Uso (URR) - Rastreamento e relatório de volume
- Diagramas de fluxo de pacotes de uplink e downlink
- Lógica de processamento de regras e precedência
Guia de Monitoramento
Estatísticas e gerenciamento de capacidade incluindo:
- Estatísticas de interface N3/N6 e distribuição de tráfego
- Estatísticas de processamento XDP (passar/descarregar/redirecionar/abortar)
- Monitoramento de capacidade de mapas eBPF com zonas codificadas por cor
- Métricas de desempenho (taxa de pacotes, taxa de transferência, taxa de descarte)
- Fórmulas de planejamento de capacidade e estimativa de sessão
- Limites de alerta e melhores práticas
Guia de Operações da Web UI
Uso do painel de controle incluindo:
- Visão geral do painel e navegação
- Monitoramento de sessões (estados saudáveis/não saudáveis)
- Inspeção de regras (detalhes de PDR, FAR, QER, URR)
- Monitoramento de buffer e estado de bufferização de pacotes
- Painel de estatísticas em tempo real
- Visualização de capacidade de mapas eBPF
- Visualização de configuração
Documentação da API
Referência completa da API REST incluindo:
- Documentação interativa OpenAPI/Swagger
- Endpoints de sessões e associações PFCP
- Regras de Detecção de Pacotes (PDR) - IPv4 e IPv6
- Regras de Ação de Encaminhamento (FAR)
- Regras de Aplicação de QoS (QER)
- Regras de Relatório de Uso (URR)
- Gerenciamento de buffer de pacotes
- Estatísticas e endpoints de monitoramento
- Gerenciamento de rotas e integração FRR
- Informações sobre mapas eBPF
- Gerenciamento de configuração
- Diretrizes de autenticação e segurança
- Fluxos de trabalho comuns da API e exemplos
Guia de Gerenciamento de Rotas do UE
Integração de roteamento FRR incluindo:
- Visão geral e arquitetura do FRR (Free Range Routing)
- Ciclo de vida de sincronização de rotas do UE
- Sincronização automática de rotas para daemon de roteamento
- Anúncio de rotas via OSPF e BGP
- Monitoramento de vizinhos OSPF
- Verificação do banco de dados LSA externo OSPF
- Gerenciamento de sessão de pares BGP
- Interface de monitoramento de rotas da Web UI
- Operações de sincronização de rotas manuais
- Diagramas Mermaid para fluxo de rotas e arquitetura
Guia de Solução de Problemas
Diagnóstico abrangente de problemas incluindo:
- Lista de verificação de diagnóstico rápido e ferramentas
- Problemas de instalação e configuração
- Falhas de associação PFCP
- Problemas de processamento de pacotes
- Erros de XDP e eBPF
- Degradação de desempenho
- Problemas específicos de hipervisor (Proxmox, VMware, VirtualBox)
- Problemas de NIC e driver
- Procedimentos de resolução passo a passo
Documentação por Caso de Uso
Instalando e Configurando o OmniUPF
- Comece com este guia para visão geral
- Guia de Configuração para parâmetros de configuração
- Guia da Web UI para acessar o painel de controle
Implantando no Proxmox
- Guia de Configuração - Compatibilidade com Hipervisor
- Guia de Configuração - Configuração SR-IOV do Proxmox
- Solução de Problemas - Problemas do Proxmox
Otimizando Desempenho
- Guia de Arquitetura - Otimização de Desempenho
- Guia de Configuração - Modos XDP
- Guia de Monitoramento - Métricas de Desempenho
- Solução de Problemas - Problemas de Desempenho
Entendendo o Processamento de Pacotes
- Guia de Arquitetura - Pipeline de Processamento de Pacotes
- Guia de Gerenciamento de Regras
- Guia de Monitoramento - Estatísticas
Planejando Capacidade
- Guia de Configuração - Dimensionamento de Mapas
- Guia de Monitoramento - Planejamento de Capacidade
- Guia de Monitoramento - Estimativa de Capacidade de Sessão
Gerenciando Rotas do UE e Integração FRR
- Guia de Gerenciamento de Rotas do UE - Guia completo de integração de roteamento
- Documentação da API - Gerenciamento de Rotas - Endpoints da API de rotas
- Guia da Web UI - Operações da página de rotas
- Gerenciamento de Rotas do UE - Verificação FRR - Verificação de LSA externa OSPF
Usando a API REST
- Documentação da API - Referência completa da API
- Documentação da API - UI Swagger - Explorador interativo da API
- Documentação da API - Fluxos de Trabalho Comuns - Exemplos de uso da API
- Guia da Web UI - Interface da web como exemplo de cliente da API
Solucionando Problemas
- Guia de Solução de Problemas - Comece aqui
- Guia de Monitoramento - Verifique estatísticas e capacidade
- Guia da Web UI - Use diagnósticos do painel de controle
Referência Rápida
Endpoints Comuns da API
OmniUPF fornece uma API REST para monitoramento e gerenciamento:
# Status e saúde
GET http://localhost:8080/api/v1/upf_status
# Associações PFCP
GET http://localhost:8080/api/v1/upf_pipeline
# Sessões
GET http://localhost:8080/api/v1/sessions
# Estatísticas
GET http://localhost:8080/api/v1/packet_stats
GET http://localhost:8080/api/v1/xdp_stats
# Monitoramento de capacidade
GET http://localhost:8080/api/v1/map_info
# Estatísticas de buffer
GET http://localhost:8080/api/v1/upf_buffer_info
Para documentação completa da API, acesse a UI Swagger em http://<upf-ip>:8080/swagger/index.html
Parâmetros de Configuração Essenciais
# Interfaces de rede
interface_name: [eth0] # Interfaces para tráfego N3/N6/N9
xdp_attach_mode: native # genérico|nativo|descarregamento
n3_address: 10.100.50.233 # IP da interface N3
pfcp_address: :8805 # Endereço de escuta PFCP
pfcp_node_id: 10.100.50.241 # ID do Nó PFCP
# Capacidade
max_sessions: 100000 # Máximo de sessões simultâneas
# API e monitoramento
api_address: :8080 # Porta da API REST
metrics_address: :9090 # Porta de métricas do Prometheus
Limiares de Monitoramento Importantes
- Capacidade do Mapa eBPF < 70%: Operação normal
- Capacidade do Mapa eBPF 70-90%: Planejar aumento de capacidade dentro de 1 semana
- Capacidade do Mapa eBPF > 90%: Crítico - ação imediata necessária
- Taxa de Descarte de Pacotes < 0,1%: Excelente
- Taxa de Descarte de Pacotes 0,1-1%: Boa - problemas menores
- Taxa de Descarte de Pacotes > 5%: Crítico - investigar imediatamente
- XDP Abortado > 0: Problema crítico com programa eBPF
Referência de Padrões 3GPP
OmniUPF implementa as seguintes especificações 3GPP:
| Especificação | Título | Relevância |
|---|---|---|
| TS 23.501 | Arquitetura do sistema para o Sistema 5G (5GS) | Arquitetura e interfaces do UPF 5G |
| TS 23.401 | Melhorias do Serviço de Pacotes GPRS (GPRS) para acesso E-UTRAN | Arquitetura do UPF LTE (PGW-U) |
| TS 29.244 | Interface entre os nós do Plano de Controle e do Plano do Usuário (PFCP) | Protocolo PFCP N4 |
| TS 29.281 | Protocolo de Tunelamento de Pacotes GPRS do Plano do Usuário (GTPv1-U) | Encapsulação GTP-U |
| TS 23.503 | Estrutura de controle de políticas e cobrança para o Sistema 5G (5GS) | QoS e cobrança |
| TS 29.212 | Controle de Políticas e Cobrança (PCC) | Aplicação de QoS |
Glossário
Termos da Arquitetura 5G
- 3GPP: Projeto de Parceria da 3ª Geração - Órgão de padrões para telecomunicações móveis
- AMF: Função de Gerenciamento de Acesso e Mobilidade - Elemento da rede central 5G para controle de acesso
- CHF: Função de Cobran