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. Integração do Protocolo PFCP e SMF
  5. Operações Comuns
  6. Solução de Problemas
  7. Documentação Adicional
  8. Glossário

Visão Geral​

OmniUPF (Função de Plano do Usuário baseada em eBPF) é uma Função de 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 (Extended Berkeley Packet Filter) e aprimorado com capacidades de gerenciamento abrangentes, o OmniUPF fornece a infraestrutura central de processamento de pacotes necessária para redes 5G SA, 5G NSA e LTE.

O que é uma Função de Plano do Usuário?​

A Função de 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 de UPF definida na 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 usando a tecnologia eBPF do kernel do Linux para desempenho máximo.

Principais Capacidades do OmniUPF​

Processamento de Pacotes:

  • Processamento de pacotes de 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 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 aplicação
  • 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 de capacidade de mapas 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 de usuário)
  • Escalabilidade multi-core
  • Capacidade de descarregar 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 Interface Web.

Entendendo a Arquitetura do Plano do Usuário​

OmniUPF é uma solução unificada de 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 de 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 protocolo PFCP, proporcionando 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 está situada 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 (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 Locais)​

Em implantações de roaming ou múltiplos locais, duas instâncias separadas do OmniUPF podem ser implantadas - uma como SGW-U e outra como PGW-U.

Como as Funções de Plano do Usuário Funcionam na Rede​

A função de 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 interface S5/S8 (PGW-U) do eNodeB com encapsulação GTP-U
    • O plano do usuário compara pacotes com PDRs de uplink com base em TEID
    • O programa eBPF aplica QER (limitação de taxa, marcação)
    • FAR determina a ação de encaminhamento (encaminhar, descartar, armazenar em 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 aplicação
    • FAR determina o túnel GTP-U e parâmetros de encaminhamento
    • Encapsulação GTP-U adicionada com o 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 em buffer durante a troca de caminho
    • Transição contínua 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 de plano do usuário da RAN (GTP-U)TS 29.281
N6OmniUPF → Rede de DadosTráfego de 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 de plano do usuário da RAN (GTP-U)TS 29.281
S5/S8OmniUPF (SGW-U) ↔ OmniUPF (PGW-U)Plano de usuário inter-gateway (GTP-U)TS 29.281
SGiOmniUPF (modo PGW-U) → PDNTráfego de 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 mecanismo central 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, armazenar em 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 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 (limitado 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
Plano de Dados/dataplane_configEndereços das interfaces N3/N9

Para detalhes e uso da API, 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 em buffer 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 plano de dados
  • Visualizador de Logs: Streaming de logs ao vivo para solução de problemas

Para operações detalhadas da interface, consulte Guia de Operações da Interface Web.

Protocolo PFCP e Integração 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. 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 um 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: 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 3GPP TS 29.244 Seção 5.22.2:

    "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 foi reiniciada e deverá excluir todas as sessões PFCP associadas a essa função CP."

Para solucionar problemas de sessões órfãs, consulte o Guia de Solução de Problemas.


Manipulação de Indicação de Erro GTP-U​

OmniUPF manipula mensagens de Indicação de Erro GTP-U de pares a jusante (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 em uma implantação SGW-U), o par pode enviar de volta uma Indicação de Erro se não reconhecer o TEID (Identificador de Ponto de Extremidade do Túnel). Isso indica:

  • O par remoto foi reiniciado 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 par remoto (porta 2152)
  2. Par remoto não reconhece TEID X → Procura TEID em 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 a mensagem para extrair TEID X
  5. UPF encontra sessões afetadas → Pesquisa todas as sessões por FARs encaminhando 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 (3GPP TS 29.281 Seção 7.3.1):

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: Sessão encontrada 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 de 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étrica:

  • 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ó de 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 encaminhando 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 esse 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 a configuração da associação)
    • Manipulação de Indicação de Erro = reativa (detecta túneis mortos quando o tráfego flui)
  6. Manipulação de Pacotes Malformados: Indicações de Erro inválidas são registradas e ignoradas (nenhuma sessão excluída)

Para solucionar problemas de Indicações de Erro, consulte o Guia de Solução de Problemas.


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 Uplink: Correspondência no TEID N3, encaminhar via FAR para N6
  • PDR Downlink: Correspondência 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)

Modificação de Sessão PFCP​

O SMF pode modificar sessões para eventos de mobilidade (handover), mudanças de QoS ou atualizações de serviço.

Cenários Comuns de Modificação:

  1. Handover (baseado em N2)

    • Atualizar FAR uplink com novo ponto de extremidade de túnel gNB (F-TEID)
    • Opcionalmente, armazenar pacotes durante a troca de caminho
    • Limpar o 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 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 o 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 de uso final 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ão​

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)

Principais Operações 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, consulte Visualização de Sessões.


Gerenciamento de Regras​

Regras de Detecção de Pacotes (PDR):

PDRs determinam quais pacotes correspondem a fluxos de tráfego específicos. Os operadores podem:

  • Visualizar PDRs uplink indexados por TEID da interface N3
  • Visualizar PDRs downlink indexados por endereço IP do UE (IPv4 e IPv6)
  • Inspecionar filtros SDF para classificação específica de aplicativo
  • Monitorar contagens de PDR e uso de capacidade

Regras de Ação de Encaminhamento (FAR):

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 buffer por FAR
  • Alternar buffer para FARs específicas durante a solução de problemas

Regras de Aplicação de QoS (QER):

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

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, usuários móveis experimentariam conexões interrompidas, 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 (handover), 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 esta 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 falham e precisam ser reiniciados

Com buffering: OmniUPF retém temporariamente pacotes até que o novo caminho seja estabelecido, depois os encaminha sem problemas. O usuário experimenta zero interrupção.


Quando o Buffering Acontece​

OmniUPF bufferiza pacotes nessas situações críticas:

1. Handover Baseado em N2 (5G) / Handover Baseado 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 bufferizar (caminho antigo fechando, novo caminho não pronto)
  • T+10-50ms: Janela crítica de buffering - pacotes chegam, mas não podem ser encaminhados
  • T+50ms: Novo caminho pronto, SMF diz ao UPF para encaminhar
  • T+50ms+: UPF limpa pacotes bufferizados para novo caminho, depois encaminha novos pacotes normalmente

Sem buffering: ~40ms de pacotes (potencialmente milhares) seriam perdidos. Com buffering: Zero perda de pacotes, handover 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 Downlink (Recuperação de Modo Ocioso)

Quando um UE está em modo ocioso (tela desligada, economia de bateria) e dados 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 se reconecta.


4. Handover Inter-RAT (4G ↔ 5G)

Quando um UE se move entre cobertura 4G e 5G:

  • Mudanças de arquitetura (eNodeB ↔ gNB)
  • Mudanças de pontos de extremidade de túnel (alocação de TEID diferente)
  • 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 bufferizados 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)
  • Encapsulação: Pacotes embrulhados em GTP-U com ID FAR como TEID
  • Armazenamento: Buffers na 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. Buffering Habilitado: 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. Buffering Desabilitado: SMF define ação FAR FORW=1, BUFF=0 com novos parâmetros de encaminhamento
  5. Limpar Buffer: Espaço do usuário repete pacotes bufferizados usando novas regras FAR (novo ponto de extremidade 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 BufferingCom Buffering
Chamada de Vídeo Durante HandoverChamada congela por 1-2 segundos, pode cairSem interrupção, sem problemas
Download de Arquivo na Borda da CélulaDownload falha, deve reiniciarDownload continua sem interrupções
Jogos Online Enquanto se MoveConexão cai, expulso do jogoJogo suave, sem desconexões
Chamada VoIP no CarroChamada cai a cada handoverCristalina, 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 do Operador de Rede:

  • Taxa de Queda de Chamadas Reduzida (CDR): KPI crítico para a qualidade da rede
  • Maior Satisfação do Cliente: Usuários não percebem as transferências
  • Custos de Suporte Mais Baixos: Menos reclamações sobre conexões perdidas
  • Vantagem Competitiva: Marketing de "melhor rede para cobertura"

Operações de Gerenciamento de Buffer​

Os operadores podem monitorar e controlar o buffer através da interface Web e API:

Monitoramento:

  • Visualizar pacotes em buffer por ID FAR (contagem, bytes, idade)
  • Rastrear uso do buffer em relação aos limites (por FAR, global)
  • Alertar sobre transbordo de buffer ou duração excessiva de buffering
  • Identificar buffers presos (pacotes em buffer > limite de TTL)

Operações de Controle:

  • Limpar buffers: Acionar manualmente a reprodução do buffer (solução de problemas)
  • Descartar buffers: Descartar pacotes em buffer (limpar buffers presos)
  • Ajustar TTL: Alterar o tempo de expiração dos pacotes
  • Modificar limites: Aumentar a capacidade do buffer por FAR ou global

Solução de Problemas:

  • Buffer não esvaziando: Verifique se o SMF enviou atualização FAR para desabilitar o buffering
  • Transbordo de buffer: Aumente os limites ou investigue por que a duração do buffering é excessiva
  • Pacotes antigos no buffer: TTL pode estar muito alto ou atualização FAR atrasada
  • Buffering excessivo: Pode indicar problemas de mobilidade ou problemas no SMF

Para operações detalhadas de buffer, veja Guia de Gerenciamento de Buffer.


Configuração de Buffer​

Configure o comportamento do buffer em /etc/omniupf/runtime.exs:

# Configurações de buffer
buffer_port = 22152 # Porta UDP para pacotes em buffer (padrão)

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: Contagem 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 UE desconhecidos

Estatísticas 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 para/de RAN (gNB/eNodeB)
  • N6 RX/TX: Tráfego para/de 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 do mapa 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 IPv4 de downlink
  • 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 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 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 da camada de dados eBPF:

  • Endereço N3 ativo: Vinculação da interface N3 em tempo de execução
  • Endereço N9 ativo: Vinculaçã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 na 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 Esgotada

    • Verifique a visualização de Capacidade para uso de mapa vermelho (>90%)
    • Aumente os tamanhos do mapa 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 da 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 pelo firewall

Para solução de problemas detalhada, veja Guia de Solução de Problemas.


Perda de Pacotes ou Problemas de Encaminhamento​

Sintomas: UE tem conectividade, mas experimenta perda de pacotes ou nenhum fluxo de tráfego

Causas Raiz Comuns:

  1. Misconfiguração de PDR

    • Verifique se o TEID do PDR de uplink corresponde ao TEID atribuído pelo gNB
    • Verifique se o IP do PDR de downlink do UE corresponde ao IP atribuído
    • Inspecione os filtros SDF para regras excessivamente restritivas
  2. Problemas de Ação FAR

    • Verifique se a ação FAR é FORWARD (não DROP ou BUFFER)
    • Verifique os parâmetros de criação do 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 MBR (Taxa de Bits Máxima) do QER
    • Verifique a alocação de GBR (Taxa de Bits Garantida)
    • Monitore a perda de pacotes devido a 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 de ICMP indicando necessidade de fragmentação

Problemas Relacionados ao Buffer​

Sintomas: Pacotes em buffer indefinidamente, transbordo de buffer

Causas Raiz Comuns:

  1. Buffering Não Desabilitado Após Transferência

    • Verifique a flag de buffering do FAR (bit 2)
    • Verifique se o SMF enviou Modificação de Sessão para desabilitar o buffering
    • Desabilite manualmente o buffering via painel de controle se estiver preso
  2. Expiração do TTL do Buffer

    • Verifique a idade dos pacotes na visualização do buffer
    • Verifique a configuração do TTL do buffer (o padrão pode ser muito longo)
    • Limpe buffers expirados manualmente
  3. Capacidade do Buffer Esgotada

    • Monitore o uso total do buffer e os limites por FAR
    • Verifique se há regras mal configuradas causando buffering excessivo
    • Ajuste os limites max_per_far e max_total do buffer

Para solução de problemas de buffer, veja Operações de Buffer.


Anomalias de Estatísticas​

Sintomas: Contadores de pacotes inesperados, estatísticas ausentes

Causas Raiz Comuns:

  1. Transbordo de Contador

    • Mapas eBPF usam contadores de 64 bits (não devem transbordar)
    • Verifique eventos de redefinição de contadores 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 as estatísticas XDP para erros de processamento
  3. Desajuste nas Estatísticas da Interface

    • Compare as estatísticas N3/N6 com os contadores de interface do kernel
    • Verifique se há tráfego contornando o eBPF (por exemplo, roteamento local)
    • Verifique se todo o tráfego flui através dos ganchos XDP

Degradação de Desempenho​

Sintomas: Alta latência, baixa taxa de transferência, saturação da CPU

Diagnóstico:

  1. Monitore as Estatísticas XDP: Verifique se há descartes ou abortos no XDP
  2. Verifique o Tempo de Acesso ao Mapa eBPF: As buscas de hash devem ser sub-microsegundo
  3. Revise a Utilização da CPU: eBPF deve se distribuir entre os núcleos
  4. Analise a 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 transferência de múltiplos gigabits com descarregamento adequado do NIC

Para ajuste de desempenho, veja Guia de Arquitetura.

Documentação Adicional​

Guias de Operações Específicas 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 operacionais (UPF/PGW-U/SGW-U)
  • Visão geral dos modos de anexo XDP
  • Compatibilidade com hipervisores (Proxmox, VMware, KVM, Hyper-V, VirtualBox)
  • Compatibilidade de NIC e suporte a drivers XDP
  • Exemplos de configuração para diferentes cenários
  • Dimensionamento de mapas e planejamento de capacidade

Guia de Modos XDP​

Configuração e otimização detalhadas do XDP, incluindo:

  • Modos de anexo XDP explicados (genérico/nativo/descarregamento)
  • Comparação de desempenho e benchmarks
  • Configuração nativa do XDP no Proxmox VE passo a passo
  • Configuração de múltiplas filas para desempenho ideal
  • Configuração do XDP no VMware ESXi, KVM e Hyper-V
  • Verificação e solução de problemas do XDP
  • Seleção de hardware para desempenho do XDP

Guia de Arquitetura​

Análise técnica profunda, incluindo:

  • Fundamentos 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 buffering (encapsulamento GTP-U para a porta 22152)
  • Limitação de taxa de controle de QoS com janela deslizante (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 da interface N3/N6 e distribuição de tráfego
  • Estatísticas de processamento XDP (passar/descarregar/redirecionar/abortar)
  • Monitoramento de capacidade do mapa eBPF com zonas codificadas por cores
  • Métricas de desempenho (taxa de pacotes, taxa de transferência, taxa de descarte)
  • Fórmulas de planejamento de capacidade e estimativa de sessões
  • Limiares de alerta e melhores práticas

Guia de Operações da Interface Web​

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 buffering de pacotes
  • Painel de estatísticas em tempo real
  • Visualização da capacidade do mapa eBPF
  • Visualização de configuração

Documentação da API​

Referência completa da API REST, incluindo:

  • Documentação interativa OpenAPI/Swagger
  • Paginação da API (baseada em página e baseada em offset)
  • 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
  • Endpoints de estatísticas e 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 e exemplos comuns da API

Referência de Métricas​

Documentação de métricas do Prometheus, incluindo:

  • Métricas de mensagens PFCP (contadores, latência, erros por par)
  • Métricas de ação XDP (veredictos do dataplane)
  • Métricas de pacotes (contadores em nível de protocolo com rótulos de tipo de pacote)
  • Métricas de sessão e associação PFCP (por nó de plano de controle)
  • Métricas URR (volume de tráfego por par PFCP)
  • Métricas de buffering de pacotes (estado do buffer, capacidade, taxa de transferência)
  • Métricas de notificação de Relatório de Dados de Downlink (DLDR)
  • Métricas de capacidade do mapa eBPF (utilização de recursos)
  • Exemplos de configuração do Prometheus
  • Recomendações de painel do Grafana

Referência de Códigos de Causa PFCP​

Documentação de códigos de erro PFCP, incluindo:

  • Definições de códigos de causa e conformidade com 3GPP (TS 129.244)
  • Quando cada código de causa ocorre (sucesso, erros do cliente, erros do servidor)
  • Cenários de falha comuns com resoluções
  • Solução de problemas com métricas do Prometheus
  • Falhas na configuração de associação e ciclo de vida da sessão
  • Etapas de depuração para altas taxas de rejeição
  • Recomendações de alerta para códigos de causa

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 o daemon de roteamento
  • Anúncio de rotas via OSPF e BGP
  • Monitoramento de vizinhos OSPF
  • Verificação do banco de dados LSA externo do OSPF
  • Gerenciamento de sessão de pares BGP
  • Interface de monitoramento de rotas da Web UI
  • Operações manuais de sincronização de rotas
  • Diagramas Mermaid para fluxo de rotas e arquitetura

Guia de IPv6 / Dual-Stack​

Operação do plano do usuário IPv6 para sessões PDN IPv6 e IPv4v6:

  • Pré-requisitos do kernel (habilitar IPv6 e encaminhamento)
  • Configuração do pool de endereços IPv6 do UE
  • Anúncio OSPFv3 de rotas de host /128 do UE
  • Comportamento do plano de dados de downlink/uplink IPv6
  • Solução de problemas de encaminhamento IPv6 e anúncio de rotas

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 uma 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 Modos XDP - Configuração Nativa do XDP no Proxmox - Comece aqui para desempenho
  2. Guia de Configuração - Compatibilidade com Hipervisor
  3. Guia de Configuração - Configuração SR-IOV do Proxmox
  4. Solução de Problemas - Problemas no Proxmox

Otimizando Desempenho​

  1. Guia de Modos XDP - Habilite o XDP nativo para um aumento de desempenho de 5-10x
  2. Guia de Arquitetura - Otimização de Desempenho
  3. Guia de Configuração - Modos XDP
  4. Guia de Monitoramento - Métricas de Desempenho
  5. Solução de Problemas - Problemas de Desempenho

Compreendendo 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 do LSA OSPF

Usando a API REST​

  1. Documentação da API - Referência completa da API
  2. Documentação da API - Swagger UI - Explorador interativo da API
  3. Documentação da API - Recursos da API - 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 interface Swagger em http://<upf-ip>:8080/swagger/index.html

Parâmetros de Configuração Essenciais​

# /etc/omniupf/runtime.exs
xdp_interfaces = "eth0" # Interfaces para tráfego N3/N6/N9
xdp_attach_mode = "native" # "generic" | "native" | "offload"
n3_address = "10.100.50.233" # IP da interface N3
pfcp_address = "10.100.50.241" # Endereço de escuta PFCP
pfcp_port = 8805 # Porta PFCP
node_id = "10.100.50.241" # ID do Nó PFCP

# Capacidade
max_sessions = 100_000 # Máximo de sessões simultâneas

# API
api_port = 8080 # Porta da API REST

Limiares de Monitoramento Importantes​

  • Capacidade do Mapa eBPF < 70%: Operação normal
  • Capacidade do Mapa eBPF 70-90%: Planeje 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 o programa eBPF

Referência de Normas 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 Pacote Geral (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 do Sistema de Pacote Geral (GTPv1-U)Encapsulamento 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: 3rd Generation Partnership Project - Órgão de normas 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ça - Sistema de cobrança 5G
  • DN: Rede de Dados - Rede externa (Internet, IMS, empresa)
  • eNodeB: Evolved Node B - Estação base LTE
  • F-TEID: Identificador de Endpoint de Tunelamento Totalmente Qualificado - ID de túnel GTP-U com endereço IP
  • gNB: Next Generation Node B - Estação base 5G
  • GTP-U: Protocolo de Tunelamento GPRS do Plano do Usuário - Protocolo de tunelamento para dados do usuário
  • MBR: Taxa de Bits Máxima - Parâmetro de QoS para largura de banda máxima permitida
  • GBR: Taxa de Bits Garantida - Parâmetro de QoS para largura de banda mínima garantida
  • N3: Interface entre RAN e UPF (tráfego do plano do usuário)
  • N4: Interface entre SMF e UPF (controle PFCP)
  • N6: Interface entre UPF e Rede de Dados (tráfego do plano do usuário)
  • N9: Interface entre dois UPFs (tráfego do plano do usuário inter-UPF)
  • PCF: Função de Controle de Políticas - Servidor de políticas 5G
  • PDU: Unidade de Dados de Protocolo - Sessão de dados em 5G
  • PGW-C: PDN Gateway Control Plane - Equivalente ao plano de controle LTE do SMF
  • PGW-U: PDN Gateway User Plane - Plano do usuário LTE (equivalente ao UPF)
  • QFI: Identificador de Fluxo de QoS - Marcação de fluxo de QoS 5G
  • QoS: Qualidade de Serviço - Priorização de tráfego e gerenciamento de largura de banda
  • RAN: Rede de Acesso Rádio - Rede de estação base (gNB/eNodeB)
  • SEID: Identificador de Endpoint de Sessão - ID de sessão PFCP
  • SMF: Função de Gerenciamento de Sessão - Elemento da rede central 5G para controle de sessão
  • TEID: Identificador de Endpoint de Tunelamento - ID de túnel GTP-U
  • UE: Equipamento do Usuário - Dispositivo móvel
  • UPF: Função do Plano do Usuário - Elemento de rede de encaminhamento de pacotes 5G

Termos do Protocolo PFCP​

  • Associação: Relação de controle entre SMF e UPF
  • FAR: Regra de Ação de Encaminhamento - Determina o comportamento de encaminhamento de pacotes
  • IE: Elemento de Informação - Componente da mensagem PFCP
  • Node ID: Identificador do UPF ou SMF (FQDN ou endereço IP)
  • PDR: Regra de Detecção de Pacotes - Classifica pacotes em fluxos
  • PFCP: Protocolo de Controle de Encaminhamento de Pacotes - Protocolo de controle N4
  • QER: Regra de Aplicação de QoS - Aplica limites de largura de banda e marcação
  • SDF: Fluxo de Dados de Serviço - Filtro de tráfego específico da aplicação
  • Sessão: Sessão PFCP representando a sessão PDU do UE ou contexto PDP
  • URR: Regra de Relatório de Uso - Acompanha volumes de dados para cobrança

Termos do eBPF e do Kernel Linux​

  • BPF: Filtro de Pacotes Berkeley - Tecnologia de filtragem de pacotes do kernel
  • eBPF: BPF Estendido - Caminho de dados programável do kernel
  • Hash Map: Armazenamento de chave-valor eBPF para buscas rápidas
  • XDP: Caminho de Dados eXpress - Processamento de pacotes do kernel em nível de driver
  • Verificador: Componente do kernel que valida programas eBPF para segurança
  • Mapa: Estrutura de dados eBPF compartilhada entre o kernel e o espaço do usuário
  • Zero-copy: Processamento de pacotes sem cópia para o espaço do usuário

Termos do Produto OmniUPF​

  • OmniUPF: Função de Plano de Usuário baseada em eBPF (este produto)
  • Caminho de Dados: Motor de processamento de pacotes (programas eBPF)
  • Plano de Controle: Manipulador PFCP e gerenciamento de sessões
  • REST API: API HTTP para monitoramento e gerenciamento
  • Web UI: Painel de controle baseado em navegador