Pular para o conteúdo principal

Guia de Operações do OmniUPF

Índice

  1. Visão Geral
  2. Entendendo a Arquitetura do Plano do Usuário 5G
  3. Componentes do UPF
  4. Protocolo PFCP e Integração com SMF
  5. Operações Comuns
  6. Solução de Problemas
  7. Documentação Adicional
  8. 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:

  1. 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
  2. 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
  3. 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
  4. 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

InterfaceDe → ParaPropósitoEspecificação 3GPP
N4OmniSMF ↔ OmniUPFEstabelecimento, modificação, exclusão de sessão PFCPTS 29.244
N3gNB → OmniUPFTráfego do plano do usuário da RAN (GTP-U)TS 29.281
N6OmniUPF → Rede de DadosTráfego do plano do usuário para DN (IP nativo)TS 23.501
N9OmniUPF ↔ OmniUPFComunicação entre UPFs para roaming/bordaTS 23.501

Interfaces 4G/EPC

InterfaceDe → ParaPropósitoEspecificação 3GPP
SxbOmniSGW-C ↔ OmniUPF (modo SGW-U)Controle de sessão PFCP para gateway de serviçoTS 29.244
SxcOmniPGW-C ↔ OmniUPF (modo PGW-U)Controle de sessão PFCP para gateway PDNTS 29.244
S1-UeNodeB → OmniUPF (modo SGW-U)Tráfego do plano do usuário da RAN (GTP-U)TS 29.281
S5/S8OmniUPF (SGW-U) ↔ OmniUPF (PGW-U)Plano do usuário entre gateways (GTP-U)TS 29.281
SGiOmniUPF (modo PGW-U) → PDNTrá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 MapaPropósitoChaveValor
uplink_pdr_mapPDRs de uplinkTEID (32 bits)Informações PDR (ID FAR, ID QER, IDs URR)
downlink_pdr_mapPDRs de downlink (IPv4)Endereço IP do UEInformações PDR
downlink_pdr_map_ip6PDRs de downlink (IPv6)Endereço IPv6 do UEInformações PDR
far_mapRegras de encaminhamentoID FARParâmetros de encaminhamento (ação, informações do túnel)
qer_mapRegras de QoSID QERParâmetros de QoS (MBR, GBR, marcação)
urr_mapRastreamento de usoID URRContadores de volume (uplink, downlink, total)
sdf_filter_mapFiltros SDFID PDRFiltros 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 MensagemDireçãoPropósito
Configuração de AssociaçãoSMF → UPFEstabelecer associação de controle PFCP
Liberação de AssociaçãoSMF → UPFEncerrar associação PFCP
Batimento CardíacoBidirecionalManter associação ativa
Estabelecimento de SessãoSMF → UPFCriar nova sessão PDU com PDR/FAR/QER/URR
Modificação de SessãoSMF → UPFAtualizar regras para mobilidade, mudanças de QoS
Exclusão de SessãoSMF → UPFRemover sessão e todas as regras associadas
Relatório de SessãoUPF → SMFRelatar 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)

CategoriaEndpointsDescrição
Saúde/healthVerificação de saúde e status
Configuração/configConfiguração do UPF
Sessões/pfcp_sessions, /pfcp_associationsDados de sessão/associação PFCP
PDRs/uplink_pdr_map, /downlink_pdr_map, /downlink_pdr_map_ip6, /uplink_pdr_map_ip6Regras de detecção de pacotes
FARs/far_mapRegras de ação de encaminhamento
QERs/qer_mapRegras de aplicação de QoS
URRs/urr_mapRegras de relatório de uso
Buffers/bufferStatus e controle do buffer de pacotes
Estatísticas/packet_stats, /route_stats, /xdp_stats, /n3n6_statsMétricas de desempenho
Capacidade/map_infoCapacidade e uso do mapa eBPF
Dataplane/dataplane_configEndereç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:

  1. 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
  2. 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
  3. 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:

  1. Etapa eBPF (Kernel): Detecta pacotes que requerem bufferização com base em flags de ação FAR
  2. 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:

  1. Bufferização Habilitada: SMF define ação FAR BUFF=1 (bit 2) via Modificação de Sessão PFCP
  2. Pacotes Bufferizados: eBPF detecta flag BUFF, encapsula pacotes, envia para a porta 22152
  3. Armazenamento no Espaço do Usuário: Gerenciador de buffer armazena pacotes com ID FAR, timestamp, direção
  4. Bufferização Desabilitada: SMF define ação FAR FORW=1, BUFF=0 com novos parâmetros de encaminhamento
  5. Limpar Buffer: O gerenciador de espaço do usuário repete pacotes bufferizados usando novas regras FAR (novo ponto de túnel)
  6. 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árioSem BufferizaçãoCom Bufferização
Chamada de Vídeo Durante a TransferênciaChamada congela por 1-2 segundos, pode cairSem costura, sem interrupção
Download de Arquivo na Borda da CélulaDownload falha, deve reiniciarDownload continua sem interrupções
Jogo Online Enquanto se MoveConexão cai, expulso do jogoJogo suave, sem desconexões
Chamada VoIP no CarroChamada cai a cada transferênciaCristalina, sem quedas
Streaming de Vídeo no TremVídeo bufferiza, qualidade caiReprodução suave
Hotspot Móvel para LaptopSessão SSH cai, chamada de vídeo falhaTodas 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_packets para 20.000+
  • Áreas urbanas densas (transferências frequentes): Diminuir buffer_packet_ttl para 15s
  • Aplicações de baixa latência: Definir buffer_packet_ttl para 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 uplink
  • downlink_pdr_map: Classificação de tráfego de downlink IPv4
  • far_map: Regras de encaminhamento
  • qer_map: Regras de QoS
  • urr_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:

  1. 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
  2. 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
  3. 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
  4. 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:

  1. 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
  2. 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
  3. 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
  4. 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:

  1. 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
  2. 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
  3. 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:

  1. 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
  2. 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
  3. 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:

  1. Monitorar Estatísticas de XDP: Verifique se há descartes ou abortos de XDP
  2. Verificar Tempo de Acesso ao Mapa eBPF: Pesquisas hash devem ser sub-microsegundo
  3. Revisar Utilização da CPU: eBPF deve distribuir entre núcleos
  4. 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

  1. Comece com este guia para visão geral
  2. Guia de Configuração para parâmetros de configuração
  3. Guia da Web UI para acessar o painel de controle

Implantando no Proxmox

  1. Guia de Configuração - Compatibilidade com Hipervisor
  2. Guia de Configuração - Configuração SR-IOV do Proxmox
  3. Solução de Problemas - Problemas do Proxmox

Otimizando Desempenho

  1. Guia de Arquitetura - Otimização de Desempenho
  2. Guia de Configuração - Modos XDP
  3. Guia de Monitoramento - Métricas de Desempenho
  4. Solução de Problemas - Problemas de Desempenho

Entendendo o Processamento de Pacotes

  1. Guia de Arquitetura - Pipeline de Processamento de Pacotes
  2. Guia de Gerenciamento de Regras
  3. Guia de Monitoramento - Estatísticas

Planejando Capacidade

  1. Guia de Configuração - Dimensionamento de Mapas
  2. Guia de Monitoramento - Planejamento de Capacidade
  3. Guia de Monitoramento - Estimativa de Capacidade de Sessão

Gerenciando Rotas do UE e Integração FRR

  1. Guia de Gerenciamento de Rotas do UE - Guia completo de integração de roteamento
  2. Documentação da API - Gerenciamento de Rotas - Endpoints da API de rotas
  3. Guia da Web UI - Operações da página de rotas
  4. Gerenciamento de Rotas do UE - Verificação FRR - Verificação de LSA externa OSPF

Usando a API REST

  1. Documentação da API - Referência completa da API
  2. Documentação da API - UI Swagger - Explorador interativo da API
  3. Documentação da API - Fluxos de Trabalho Comuns - Exemplos de uso da API
  4. Guia da Web UI - Interface da web como exemplo de cliente da API

Solucionando Problemas

  1. Guia de Solução de Problemas - Comece aqui
  2. Guia de Monitoramento - Verifique estatísticas e capacidade
  3. 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çãoTítuloRelevância
TS 23.501Arquitetura do sistema para o Sistema 5G (5GS)Arquitetura e interfaces do UPF 5G
TS 23.401Melhorias do Serviço de Pacotes GPRS (GPRS) para acesso E-UTRANArquitetura do UPF LTE (PGW-U)
TS 29.244Interface entre os nós do Plano de Controle e do Plano do Usuário (PFCP)Protocolo PFCP N4
TS 29.281Protocolo de Tunelamento de Pacotes GPRS do Plano do Usuário (GTPv1-U)Encapsulação GTP-U
TS 23.503Estrutura de controle de políticas e cobrança para o Sistema 5G (5GS)QoS e cobrança
TS 29.212Controle 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