Pular para o conteúdo principal

Documentação da Interface Gn/Gp

Comunicação GTP-C com SGSN (Redes 2G/3G)

OmniPGW da Omnitouch Network Services


Visão Geral

A interface Gn/Gp permite que o OmniPGW funcione como um GGSN (Gateway GPRS Support Node) para redes 2G/3G usando o protocolo GTP-C v1. Esta interface gerencia o contexto PDP (Packet Data Protocol) entre o GGSN e os SGSNs.

  • Interface Gn: Conecta-se aos SGSNs dentro da mesma PLMN (rede doméstica)
  • Interface Gp: Conecta-se aos SGSNs em outras PLMNs (cenários de roaming)

Ambas as interfaces usam protocolos idênticos - a distinção é puramente topológica.


Principais Diferenças em Relação ao PGW (S5/S8)

AspectoGGSN (Gn/Gp)PGW (S5/S8)
Versão do ProtocoloGTP-C v1GTP-C v2
Especificação 3GPPTS 29.060TS 29.274
Conceito de SessãoContexto PDPSessão PDN + Bearers
Identificador de BearerNSAPI (0-15)EBI (5-15)
Interface de PolíticaNenhuma (política estática)Gx (PCRF)
Modelo de QoSPerfil de QoS R99QoS de Bearer EPS (QCI)
Porta2123 (compartilhada)2123

Detalhes do Protocolo

GTP-C Versão 1

  • Protocolo: GTP-C v1 (3GPP TS 29.060)
  • Transporte: UDP
  • Porta: 2123 (compartilhada com S5/S8 GTP-C v2)
  • Tipo de Interface: Plano de Controle

TEID (Identificador de Ponto de Extremidade do Túnel)

Cada contexto PDP tem TEIDs únicos para controle e plano de usuário:

  • TEID de Controle do GGSN: Alocado pelo OmniPGW para mensagens de controle recebidas
  • TEID de Dados do GGSN: Alocado pelo UPF para dados de usuário recebidos
  • TEID de Controle do SGSN: Fornecido pelo SGSN para mensagens de controle enviadas
  • TEID de Dados do SGSN: Fornecido pelo SGSN para dados de usuário enviados
Fluxo de Mensagem:
SGSN → GGSN: TEID de Destino = TEID de Controle do GGSN
GGSN → SGSN: TEID de Destino = TEID de Controle do SGSN

Suporte a CUPS (Separação de Controle e Plano de Usuário)

O OmniPGW suporta a arquitetura CUPS para 2G/3G:

  • Endereço GSN para Sinalização: IP do plano de controle do OmniPGW (de gn.local_ipv4_address)
  • Endereço GSN para Tráfego de Usuário: Endereço IP do UPF (da Resposta de Estabelecimento de Sessão PFCP)

Isso permite que o GGSN-C e o PGW-U/UPF operem em nós separados com endereços IP diferentes, o que é padrão para implantações CUPS.

NSAPI (Identificador de Ponto de Acesso ao Serviço de Rede)

O NSAPI identifica contextos PDP individuais dentro de uma sessão de assinante:

  • Faixa: 5-15 (0-4 reservados)
  • Uso: Múltiplos contextos PDP por assinante são possíveis
  • Equivalente: Semelhante ao EBI em LTE/EPC

Configuração

Configuração Básica

# config/runtime.exs
config :pgw_c,
# A interface Gn/Gp é habilitada automaticamente quando a configuração gn está presente
gn: %{
# Endereço IPv4 local para a interface Gn
local_ipv4_address: "10.0.0.20",

# Opcional: Endereço IPv6 local
local_ipv6_address: nil,

# Porta para GTP-C v1 (compartilhada com S5/S8)
local_port: 2123
},

# Servidores DNS retornados em PCO (compartilhados com PGW)
dns: %{
primary_ipv4: {8, 8, 8, 8},
secondary_ipv4: {8, 8, 4, 4}
}

Parâmetros da Interface Gn

ParâmetroTipoObrigatórioPadrãoDescrição
local_ipv4_addressStringSim-Endereço IPv4 para vincular à interface Gn. Este é o endereço do GGSN anunciado aos SGSNs.
local_ipv6_addressStringNãonilEndereço IPv6 opcional. A maioria das redes 2G/3G é apenas IPv4.
local_portInteiroNão2123Porta UDP para GTP-C. Porta padrão conforme 3GPP TS 29.060. Compartilhada com S5/S8.

Parâmetros DNS

ParâmetroTipoObrigatórioPadrãoDescrição
primary_ipv4TuplaNão{8, 8, 8, 8}Endereço do servidor DNS primário IPv4 retornado em PCO.
secondary_ipv4TuplaNão{8, 8, 4, 4}Endereço do servidor DNS secundário IPv4 retornado em PCO.
primary_ipv6TuplaNãonilEndereço do servidor DNS primário IPv6.
secondary_ipv6TuplaNãonilEndereço do servidor DNS secundário IPv6.

Requisitos de Rede

Regras de Firewall:

# Permitir GTP-C da rede SGSN
iptables -A INPUT -p udp --dport 2123 -s <sgsn_network>/24 -j ACCEPT

# Permitir GTP-C de saída para SGSN
iptables -A OUTPUT -p udp --dport 2123 -d <sgsn_network>/24 -j ACCEPT

Tipos de Mensagens

Gerenciamento de Contexto PDP

Solicitação de Criação de Contexto PDP

Direção: SGSN → GGSN

Propósito: Estabelecer um novo contexto PDP para conectividade de dados

Principais IEs (Elementos de Informação):

Nome IETipoDescrição
IMSIIdentidadeIdentidade Internacional do Assinante Móvel
NSAPIInteiroIdentificador de Ponto de Acesso ao Serviço de Rede (5-15)
TEID Dados IInteiroPonto de extremidade do túnel do plano de usuário do SGSN
TEID ControleInteiroPonto de extremidade do túnel do plano de controle do SGSN
Endereço do Usuário FinalEndereçoTipo de PDN solicitado e IP opcional
Nome do Ponto de AcessoStringAPN para a conexão
Endereço GSN (Sinalização)IPEndereço do plano de sinalização do SGSN
Endereço GSN (Usuário)IPEndereço do plano de usuário do SGSN
Perfil de QoSBinárioParâmetros de QoS solicitados
MSISDNIdentidadeNúmero de telefone móvel (opcional)
Modo de SeleçãoEnumModo de seleção de APN
Opções de Configuração de ProtocoloOpçõesOpções de protocolo adicionais

Exemplo:

Solicitação de Criação de Contexto PDP
├── IMSI: 310260123456789
├── NSAPI: 5
├── TEID Dados I: 0x12345678
├── TEID Controle: 0x87654321
├── Endereço do Usuário Final: IPv4 (dinâmico)
├── APN: internet
├── Endereço GSN (Sinalização): 10.1.1.100
├── Endereço GSN (Usuário): 10.1.1.100
├── Perfil de QoS: [Parâmetros de QoS R99]
└── PCO: [Solicitação de DNS, etc.]

Resposta de Criação de Contexto PDP

Direção: GGSN → SGSN

Propósito: Reconhecer a criação do contexto PDP com recursos alocados

Principais IEs:

Nome IETipoDescrição
CausaResultadoCódigo de sucesso ou erro
Reordenação NecessáriaBooleanoSe a reordenação é necessária
RecuperaçãoContadorContador de reinício do GGSN
TEID Dados IInteiroPonto de extremidade do túnel do plano de usuário do GGSN
TEID ControleInteiroPonto de extremidade do túnel do plano de controle do GGSN
NSAPIInteiroNSAPI confirmado
ID de CobrançaBinárioID de correlação de cobrança
Endereço do Usuário FinalEndereçoEndereço IP do UE alocado
Endereço GSN (Sinalização)IPEndereço do plano de sinalização do GGSN
Endereço GSN (Usuário)IPEndereço do plano de usuário do GGSN
Perfil de QoSBinárioParâmetros de QoS negociados
Opções de Configuração de ProtocoloOpçõesServidores DNS, etc.

Resposta de Sucesso:

Resposta de Criação de Contexto PDP
├── Causa: Solicitação Aceita (128)
├── TEID Dados I: 0xAABBCCDD
├── TEID Controle: 0xDDCCBBAA
├── NSAPI: 5
├── ID de Cobrança: 0x11223344
├── Endereço do Usuário Final
│ └── IPv4: 100.64.1.42
├── Endereço GSN (Sinalização): 10.0.0.20
├── Endereço GSN (Usuário): 10.0.0.20
├── Perfil de QoS: [QoS Negociado]
└── PCO
├── DNS Primário: 8.8.8.8
└── DNS Secundário: 8.8.4.4

Solicitação de Atualização de Contexto PDP

Direção: SGSN → GGSN

Propósito: Modificar um contexto PDP existente (por exemplo, realocação de SGSN, alteração de QoS)

Cenários comuns:

  • Transferência inter-SGSN (atualização da área de roteamento)
  • Renegociação de QoS
  • Alteração de endereço do SGSN

Principais IEs:

Nome IEDescrição
NSAPIIdentificador do contexto PDP
TEID Dados INovo TEID do plano de usuário do SGSN
Endereço GSNNovos endereços do SGSN
Perfil de QoSQoS atualizada (opcional)

Resposta de Atualização de Contexto PDP

Direção: GGSN → SGSN

Propósito: Reconhecer a atualização do contexto PDP

Principais IEs:

Nome IEDescrição
CausaCódigo de sucesso ou erro
TEID Dados ITEID do plano de usuário do GGSN
Endereço GSNEndereços do GGSN
Perfil de QoSQoS negociada

Solicitação de Exclusão de Contexto PDP

Direção: SGSN → GGSN

Propósito: Terminar um contexto PDP

Principais IEs:

Nome IEDescrição
NSAPIContexto PDP a ser excluído
Indicação de DesmontagemExcluir todos os contextos para este assinante

Resposta de Exclusão de Contexto PDP

Direção: GGSN → SGSN

Propósito: Reconhecer a exclusão do contexto PDP

Principais IEs:

Nome IEDescrição
CausaCódigo de sucesso ou erro

Gerenciamento de Caminho

Solicitação / Resposta de Eco

Direção: Bidirecional

Propósito: Manter o caminho e detectar reinicializações

Principais IEs:

Nome IEDescrição
RecuperaçãoContador de reinício para detectar reinicializações de nó

Fluxos de Mensagem

Ativação do Contexto PDP

Desativação do Contexto PDP

Transferência Inter-SGSN


Infraestrutura Compartilhada

A funcionalidade GGSN do OmniPGW compartilha infraestrutura com o modo PGW:

Alocação de Endereço IP do UE

Usa o mesmo AddressRegistry e configuração de sub-rede que o PGW. Veja Alocação de IP do UE para detalhes de configuração.

Gerenciamento de Sessão UPF/PFCP

Usa o mesmo estabelecimento de sessão PFCP que o PGW:

  • Regras PDR/FAR/QER criadas por contexto PDP
  • Seleção de UPF via a mesma configuração upf_selection
  • Veja Interface PFCP para detalhes

Cobrança Online (Gy)

Integração opcional Diameter Gy disponível:

  • Controle de crédito para assinantes pré-pagos
  • Mesma configuração Gy que o modo PGW
  • Veja Interface Diameter Gy para configuração

Geração de CDR

Usa a mesma geração de CDR que o PGW. Veja Formato de CDR de Dados para detalhes.


Códigos de Causa

Sucesso

CódigoNomeDescrição
128Solicitação AceitaOperação bem-sucedida

Causas de Rejeição

CódigoNomeQuando Usado
192Não existenteContexto PDP não encontrado
193Formato de mensagem inválidoMensagem GTP malformada
194IMSI não conhecidoAssinante não encontrado
195MS está Desconectado do GPRSMS não anexado
196MS não está Respondendo ao GPRSMS inacessível
197MS RecusaMS rejeitou a solicitação
198Versão não suportadaIncompatibilidade de versão GTP
199Nenhum recurso disponívelExaustão de recursos
200Serviço não suportadoServiço não suportado
201IE obrigatório incorretoValidação de IE falhou
202IE obrigatório ausenteIE requerido ausente
203IE opcional incorretoIE opcional inválido
204Falha no sistemaErro interno
205Restrição de roamingRoaming não permitido
206Desvio de Assinatura P-TMSIFalha de segurança
207Conexão GPRS suspensaConexão suspensa
208Falha de autenticaçãoAutenticação falhou
209Falha na autenticação do usuárioAutenticação do usuário falhou

Monitoramento

Métricas da Interface Gn

# Contadores de mensagens
gn_inbound_messages_total{message_type="create_pdp_context_request"}
gn_inbound_messages_total{message_type="update_pdp_context_request"}
gn_inbound_messages_total{message_type="delete_pdp_context_request"}

gn_outbound_messages_total{message_type="create_pdp_context_response"}
gn_outbound_messages_total{message_type="update_pdp_context_response"}
gn_outbound_messages_total{message_type="delete_pdp_context_response"}

# Latência da transação
gn_outbound_transaction_duration_bucket

Consultas Úteis

Taxa de Criação de Contexto PDP:

rate(gn_inbound_messages_total{message_type="create_pdp_context_request"}[5m])

Taxa de Sucesso:

sum(rate(gn_outbound_messages_total{message_type="create_pdp_context_response"}[5m]))
/ sum(rate(gn_inbound_messages_total{message_type="create_pdp_context_request"}[5m]))

Contextos PDP Ativos:

gn_inbound_messages_total{message_type="create_pdp_context_request"}
- gn_inbound_messages_total{message_type="delete_pdp_context_request"}

Resolução de Problemas

Problema: Sem Resposta à Solicitação de Criação de Contexto PDP

Sintomas:

  • SGSN envia Solicitação de Criação de Contexto PDP
  • Nenhuma resposta recebida
  • Tempo limite no SGSN

Possíveis causas:

  1. Problema de conectividade de rede
  2. OmniPGW não está ouvindo no IP configurado
  3. Firewall bloqueando UDP 2123
  4. Falha no estabelecimento de UPF/PFCP

Depuração:

# Verificar se o OmniPGW está ouvindo
netstat -ulnp | grep 2123

# Verificar pacotes recebidos
tcpdump -i any -n port 2123

# Verificar configuração
grep "local_ipv4_address" config/runtime.exs

# Verificar conectividade PFCP
curl http://pgw:9090/metrics | grep pfcp

Problema: Criação de Contexto PDP Rejeitada

Sintomas:

  • Resposta de Criação de Contexto PDP com código de erro
  • Contexto PDP não estabelecido

Causas comuns:

Causa 199 (Nenhum recurso disponível):
→ Pool de IP esgotado
→ Verificar: curl http://pgw:9090/metrics | grep address_registry_count
→ Expandir pool de IP em ue.subnet_map

Causa 202 (IE obrigatório ausente):
→ SGSN não enviando IEs requeridos
→ Verificar configuração do SGSN
→ Revisar mensagem no tcpdump

Causa 204 (Falha no sistema):
→ Falha no UPF/PFCP
→ Verificar status da associação PFCP
→ Revisar logs do OmniPGW

Problema: Falha na Atualização do Contexto PDP

Sintomas:

  • Resposta de Atualização de Contexto PDP com código de erro
  • Transferência falha

Possíveis causas:

  • Contexto PDP não encontrado (TEID diferente)
  • Incompatibilidade de NSAPI
  • Sessão já excluída

Depuração:

# Verificar sessões ativas
curl http://pgw:9090/metrics | grep session_count

# Revisar logs para busca de contexto
journalctl -u omnipgw | grep "PDP Context"

Melhores Práticas

Design de Rede

  1. Porta Compartilhada com S5/S8

    • Gn e S5/S8 compartilham a porta UDP 2123
    • OmniPGW detecta automaticamente a versão GTP a partir da mensagem
    • Um único IP pode atender tanto 2G/3G quanto 4G
  2. Conectividade do SGSN

    • Garantir que todos os SGSNs possam alcançar o IP do GGSN
    • Considerar VLAN dedicada para tráfego Gn
    • Planejar para roaming (Gp) se aplicável
  3. Planejamento de Endereço IP

    • Os mesmos pools de IP atendem tanto os modos PGW quanto GGSN
    • Considerar pools baseados em APN separados para 2G/3G

Desempenho

  1. Capacidade de Sessão

    • Monitorar a métrica session_count
    • Planejar para o número esperado de assinantes 2G/3G
    • Considerar que 2G/3G normalmente tem menos sessões simultâneas
  2. Tamanhos de Buffer UDP

    • As mesmas recomendações que S5/S8
    • Típico: 4-8 MB por socket

Considerações de Migração

Ao migrar de um GGSN autônomo para o OmniPGW:

  1. Configuração de APN

    • Garantir que os APNs correspondam à configuração existente do GGSN
    • Verificar configurações do servidor DNS em PCO
  2. Migração de Pool de IP

    • Planejar cuidadosamente a transição do pool de IP
    • Considerar migração gradual por APN
  3. Mapeamento de QoS

    • Perfis de QoS R99 aceitos como estão
    • Nenhuma tradução de QCI necessária para 2G/3G

Documentação Relacionada

Funções Principais

Interfaces Relacionadas

Operações


Referências

  • 3GPP TS 29.060 - Protocolo de Tunelamento GPRS (GTP) através da interface Gn e Gp
  • 3GPP TS 23.060 - Serviço Geral de Pacote de Rádio (GPRS); Descrição do serviço
  • 3GPP TS 24.008 - Especificação da Camada 3 da interface de rádio móvel (perfis de QoS)

Voltar ao Índice da Documentação


Interface Gn/Gp do OmniPGW - por Omnitouch Network Services