Introdução
Este documento descreve os problemas relacionados à degradação da taxa de sucesso de anexo inicial (ASR) no Evolved Packet Data Gateway (ePDG).
Overview
O ASR inicial é uma métrica vital que indica a taxa de sucesso do número total de tentativas de configuração de sessão.
A fórmula do KPI (Key Performance Indication) contém o número total de tentativas de configuração de sessão ePDG e o número total de tentativas de configuração de sessão ePDG bem-sucedidas. Se o número de tentativas bem-sucedidas diminuir, todo o KPI se degrada.
Pré-verificações Básicas
Para a funcionalidade do ePDG, o Internet Protocol Security (IPsec) é o processo que cuida das transações do IPsec. Portanto, para qualquer caso de ePDG, algumas das pré-verificações devem ser seguidas antes de você continuar a solucionar o problema.
1. Verifique o status da placa DPC conforme ipsecmgr for executado nessas placas. As placas DPC devem estar em um estado ativo (exceto placas de standby).
show card table
2. Verifique o status dos recursos para cada um sessmgr/ipsecmgr de forma a revisar se algum padrão anormal de fluxo de tráfego é observado em termos do número de sessões por placa ou se esses processos estão em estado sessmgr/ipsecmgr de advertência/sobreposição. Por exemplo, nesta saída, você vê ipsecmgr o estado emover como mostrado aqui.
[local]abc# show task resources | grep -v good Thursday January 19 19:41:15 UTC 2023 task cputime memory files sessions cpu facility inst used allc used alloc used allc used allc S status ----------------------- ----------- ------------- --------- ------------- ------ 3/0 ipsecmgr 261 0.28% 75% 383.4M 300.0M 196 1500 30 6000 - over 3/0 ipsecmgr 262 0.23% 75% 378.0M 300.0M 185 1500 28 6000 - over 3/0 ipsecmgr 263 0.46% 75% 382.7M 300.0M 197 1500 30 6000 - over 3/0 ipsecmgr 264 0.22% 75% 383.7M 300.0M 212 1500 27 6000 - over ....
Aqui está um exemplo de sessmgrs execução nas placas 4 e 5 com distribuição desigual de sessões:
[local]xyx# show task resources max | grep -i sess Monday February 17 21:52:38 UTC 2023 task cputime memory files sessions 4/0 sessmgr 45 12% 100% 429.9M 2.00G 129 500 4260 26000 I good 4/0 sessmgr 48 12% 100% 428.8M 2.00G 129 500 4267 26000 I good 4/0 sessmgr 49 12% 100% 428.5M 2.00G 129 500 4274 26000 I good 4/0 sessmgr 52 12% 100% 428.3M 2.00G 129 500 4258 26000 I good 5/0 sessmgr 5002 2.34% 50% 87.46M 190.0M 89 500 -- -- S good 5/0 sessmgr 2 12% 100% 458.5M 2.00G 107 500 9279 26000 I good 5/0 sessmgr 3 13% 100% 459.9M 2.00G 106 500 9281 26000 I good
3. Verifique as estatísticas de criptografia se houver qualquer queda no nível de IPsec:
show crypto managers detail ----------------- this command shows statistics per ipsec so we can check if any drops
show crypto statistics ikev2 ----------------- this command shows overall ikev2 statistics for EPDGs for different msg flows
Observação: as pré-verificações são importantes porque, às vezes, problemas são encontrados no nível de placa em que o IPsec/sessmgr de uma placa específica não pode receber sessões/tráfego de usuário e você pode ver claramente quedas no nível de IPsec nas estatísticas mencionadas anteriormente.
Registros necessários
Alguns pontos para fazer uma melhor identificação e solução de problemas:
- Desde quando a ocorrência é vista (referente à data e hora exatas do início da ocorrência)
- Houve alguma alteração na rede ou na configuração?
- Fórmulas usadas para ASR no ePDG
- Quantos ePDGs existem no círculo afetado e entre eles está o problema observado em todos os ePDGs ou um EPD específico
Aqui estão os logs a serem coletados:
- Mostre os Detalhes de suporte (SSD) do nó antes do horário em que o problema começa, durante o problema e depois dele (se o problema não estiver mais ocorrendo).
- Syslogs para 1 semana antes do problema (para estudo comparativo), abrangendo o horário do problema e após o problema (se o problema não estiver mais ocorrendo).
- Armadilhas do protocolo de gerenciamento de rede simples (SNMP - Simple Network Management Protocol) por 1 semana antes do problema (para estudo comparativo), cobrindo o tempo do problema e depois dele (se o problema não estiver mais ocorrendo).
- Bulkstats 1 semana antes da emissão (para estudo comparativo), abrangendo o momento da emissão e após a emissão (se a emissão não estiver mais ocorrendo).
- Monsub deve ser recolhido de acordo com estas opções:
monitor subscriber with options S, X, A, Y, 19, 33, 34, 35, 26, 37, 40, 50, 88, 89. Collect traces at verbosity 5 for problematic and non-problematic number.
- 3 SSD num intervalo de 30-45 minutos para determinar a razão da rejeição.
Observação: o motivo de desconexão 519 a 533 é para a rejeição da sessão ePDG.
- Você precisa comparar as configurações dos nós com e sem problemas.
show configuration
show configuration verbose
- Necessário para depurar logs:
logging filter active facility sessmgr level <critical/error> logging filter active facility ipsec level <critical/error> logging filter active facility ikev2 level <critical/error> logging filter active facility epdg level <critical/error> logging filter active facility diameter level<critical/error> logging filter active facility egtpc level<critical/error> logging active ------------------- to enable debug logs no logging active --------------- to disable debug logs Note :: Above mentioned debug logs are taken considering debug logs at the level of critical/error but we can capture at debug level also as per need basis e.g logging filter active facility egtpc level debug
- A saída dos comandos que podem ser úteis para a solução de problemas:
show epdg-service all counters
-> View ePDG service information and statistics
show epdg-service statistics
-> View ePDG service statistics
show epdg-service session all
-> View ePDG service session information
show egtpc statistics interface edpg-egress debug-info
-> View egtpc statistics for ePD-egress
show session [ disconnect-reasons | duration | progress | setuptime | subsystem ]
-> iew additional session statistics.
show crypto statistics ikev2
-> View IKEv2 statistics
show diameter aaa-statistics all
->View Diameter AAA server statistics.
show subscribers epdg-only [ [ all ] | [ callid call_id ]]
-> View a list of ePDG subscribers currently accessing the system.
show subscribers epdg-service service_name [ [ all ] | [ callid call_id ]]
->View a list of ePDG subscribers currently accessing the system per ePDG service.
show crypto managers summary ipsec-sa-stats
---Need to collect with some iterations to check ipsec associations stats
Aviso: quando for solicitado que você colete logs como debug logs, logging monitor, mon-sub e mon pro, sempre colete na janela de manutenção e sempre monitore a carga na CPU.
Análise
Este é o exemplo de uma fórmula para a Taxa de Êxito de Sessões de Anexo Iniciais do ePDG:
Initial Attach Sessions Success Rate ==((totsetupsuccess / totsetupattempt )*100)
Na Referência de estatísticas e contadores - Descrições de estatísticas em massa, você pode encontrar os contadores que são usados na fórmula para saber seu significado.
epdg totsetup-attempt- Total number of epdg session setup attempts. Increments upon receiving IKE_AUTH (CFG_REQ) for ePDG session creation.
epdg totsetup-success Total number of epdg session setup success. Increments upon successful IPv4/IPv6/Dual Stack ePDG session call setup.
No SSD, você pode ver a saída show crash list para ver se há qualquer número contínuo/alto de travamentos que levam à queda de KPI.
No SSD, você pode verificar show license info e show resource a saída para ver se a licença não expirou ou se a contagem de sessões está dentro do limite.
******** show resources ******* Wednesday December 07 16:58:25 IST 2022 EPDG Service: In Use : 1118147 Max Used : 1450339 ( Tuesday November 29 00:06:00 IST 2022 ) Limit : 1600000 License Status : Within Acceptable Limits >>>>>
A partir da saída do comandoshow epdg-service statistics , o motivo da falha que é incrementado pode ser verificado.
******** show epdg-service statistics ******* Session Disconnect reason: Remote disconnect: 580994781 Admin disconnect: 168301 Idle timeout: 0 Absolute timeout: 0 Long duration timeout: 0 Session setup timeout: 169445470 No resource: 185148 Auth failure: 7634409 Flow add failure: 0 Invalid dest-context: 0 Source address violation: 42803 LMA Revocations(non-HO): 0 Duplicate Request: 19973167 Addr assign failure: 0 LTE/Other handoff: 1310701444 Miscellaneous reasons: 456928065 MIP-reg-timeout : 0 Invalid-APN : 0 ICSR Procedure : 0 Local PGW Res. Failed : 10424 Invalid QCI : 0 UE Redirected : 0 Roaming Mandatory : 0 Invalid IMEI : 3
A partir dos rastreamentos problemáticos, a razão para rejeições pode ser encontrada e pode ser comparada com o rastreio não problemático para qualquer discrepância.
Alguns dos cenários que você pode obter de rastreamentos:
No Caso-1 (diâmetro sem assinatura), após analisar os rastreamentos, observa-se que uma solicitação EAP de diâmetro é enviada ao servidor AAA. No entanto, a resposta recebida indica uma falha com o Código de Causa DIAMETER_ERROR_USER_NO_APN_SUBSCRIPTION. Como resultado, o SPGW (Serving Packet Data Gateway) registra a mesma falha com o motivo de desconexão diameter-no-subscription. Esse comportamento é considerado normal para um usuário sem uma assinatura, pois é rejeitado pelo servidor de autenticação, autorização e contabilização (AAA) no momento do processo.
Observação: verifique a assinatura do APN em AAA/HSS para obter o número do teste e, se possível, organize o teste on-line para o mesmo.
No Caso 2 (Session-setup-timeout), ao analisar os rastreamentos, observa-se que a configuração da sessão está sendo rejeitada com o motivo da desconexão Session-setup-timeout. Uma investigação mais profunda revelou que o ePDG está enviando um EGTP_CREATE_SESSION_REQUEST ao SPGW, mas não está recebendo nenhuma resposta para o mesmo. Pode-se observar que três solicitações consecutivas são enviadas sem receber nenhuma resposta.
Solution : In such cases mostly need to check why SPGW is not sending any response towards EPDG because EPDG maintains this setup timer within which it needs to have the response
No Caso 3, uma solicitação com um nome de ponto de acesso (APN) específico está sendo enviada ao PGW, mas está sendo rejeitada com o código de causa EGTP_CAUSE_USER_AUTHENTICATION_FAILED.
Solution : Here the issue can be either at HSS or EPDG itself need to check the authentication parameters being exchanged between EPDG/HSS/AAA
Para investigar todos os casos mencionados, é necessário capturar logs de depuração para uma análise mais detalhada. Esses registros são examinados de acordo com o padrão 3GPP e, com base nos resultados, é possível determinar um plano de ação apropriado ou uma solução alternativa. É importante observar que o curso de ação pode variar dependendo do cenário específico.