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 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:

  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 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
  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 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
  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 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

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 inter-UPF 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 inter-gateway (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.

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 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 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 MensagemDireçãoPropósito
Configuração de AssociaçãoSMF → UPFEstabelecer associação de controle PFCP
Liberação de AssociaçãoSMF → UPFEncerrar associação PFCP
Batimento de CoraçãoBidirecionalManter 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)

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 de mapas eBPF
Dataplane/dataplane_configEndereç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:

  1. O SMF perde todo o estado da sessão na memória
  2. O SMF restabelece a associação PFCP com o UPF
  3. O SMF envia novo Timestamp de Recuperação (diferente do anterior)
  4. O UPF detecta a mudança de timestamp = SMF reiniciado
  5. O UPF exclui automaticamente todas as sessões órfãs da antiga instância do SMF
  6. 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:

  1. 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.

  2. Comparação de Timestamp: Se o Timestamp de Recuperação for idêntico, as sessões são mantidas (SMF reconectado sem reiniciar).

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

  1. UPF encaminha pacote → Envia pacote GTP-U com TEID X para o par remoto (porta 2152)
  2. Par remoto não reconhece TEID X → Procura TEID na sua tabela de túneis, não encontrado
  3. Par remoto envia Indicação de Erro → Mensagem GTP-U tipo 26 com IE contendo TEID errôneo
  4. UPF recebe Indicação de Erro → Analisa mensagem para extrair TEID X
  5. UPF encontra sessões afetadas → Busca todas as sessões por FARs que encaminham para TEID X
  6. UPF exclui sessões → Remove sessões dos mapas eBPF e do estado PFCP
  7. 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:

  1. Limpeza Automática: Nenhuma intervenção do operador necessária - sessões são excluídas automaticamente

  2. Correspondência de TEID: Apenas sessões com FARs que encaminham para o TEID errôneo exato são excluídas

  3. Isolamento por Par: Indicações de Erro de um par afetam apenas sessões que encaminham para aquele par

  4. Múltiplas Sessões: Se várias sessões encaminham para o mesmo TEID morto, todas são excluídas

  5. 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)
  6. 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:

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

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

  1. Buffering Habilitado: SMF define ação FAR BUFF=1 (bit 2) via Modificação de Sessão PFCP
  2. Pacotes Armazenados: eBPF detecta flag BUFF, encapsula pacotes, envia para a porta 22152
  3. Armazenamento do Espaço do Usuário: Gerenciador de buffer armazena pacotes com ID FAR, timestamp, direção
  4. Buffering Desabilitado: SMF define ação FAR FORW=1, BUFF=0 com novos parâmetros de encaminhamento
  5. Limpar Buffer: Gerenciador de espaço do usuário repete pacotes armazenados usando novas regras FAR (novo ponto final do 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 BufferingCom Buffering
Chamada de Vídeo Durante a TransferênciaChamada congela por 1-2 segundos, pode cairSem interrupções, nenhuma 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
Vídeo em Streaming em um TremVídeo carrega, 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 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_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 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 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, 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:

  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 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
  4. 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:

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