Introduzione
Questo documento descrive i problemi relativi al peggioramento di ASR (Initial Attach Success Rate) in Evolved Packet Data Gateway (ePDG).
Panoramica
L'ASR iniziale è una metrica fondamentale che indica la percentuale di successo del numero totale di tentativi di configurazione della sessione.
La formula per l'indicatore di prestazioni chiave (KPI) contiene il numero totale di tentativi di impostazione della sessione ePDG e il numero totale di operazioni riuscite di impostazione della sessione ePDG. Se il numero di tentativi riusciti diminuisce, l'intero indicatore KPI diminuisce.
Controlli preliminari
Per la funzionalità ePDG, Internet Protocol Security (IPsec) è il processo che gestisce le transazioni IPsec. Quindi, per ogni caso ePDG, alcuni dei controlli preliminari devono essere seguiti prima di procedere alla risoluzione del problema.
1. Controllare lo stato della scheda DPC come ipsecmgr viene eseguita su queste schede. Le schede DPC devono essere in stato attivo (ad eccezione delle schede standby).
show card table
2. Controllare lo stato delle risorse per ciascuna scheda simile sessmgr/ipsecmgr in modo da verificare se viene osservato un modello anomalo del flusso di traffico in termini di numero di sessioni per scheda o se questi processi sono in stato sessmgr/ipsecmgr di avviso/sovrascrittura. In questo output, ad esempio, ipsecmgr viene visualizzato lo stato in cui si trova over, come mostrato di seguito.
[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 ....
Di seguito è riportato un esempio di esecuzione dellesessmgrs schede 4 e 5 con distribuzione irregolare delle sessioni:
[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. Controllare le statistiche crittografiche in caso di calo a livello di 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
Nota: i controlli preliminari sono importanti perché a volte si riscontrano problemi a livello di scheda in cui IPsec/sessmgr di una determinata scheda non è in grado di accettare sessioni utente/traffico ed è possibile notare chiaramente le riduzioni a livello di IPSec nelle statistiche menzionate in precedenza.
Registri necessari
Pochi punti da chiedere per risolvere meglio il problema:
- Dal momento in cui viene rilevato il problema (con riferimento alla data e all'ora esatte di inizio del problema)
- Sono state apportate modifiche alla rete o alla configurazione?
- Formule utilizzate per l'ASR in ePDG
- Quanti ePDG sono presenti nel circolo interessato e tra questi è il problema osservato in tutti gli ePDG o in un EPD specifico
Di seguito sono riportati i log da raccogliere:
- Visualizzare i dettagli di supporto (SSD) dal nodo prima dell'inizio del problema, durante il problema e dopo il problema (se il problema non si verifica più).
- Syslog per una settimana prima del numero (per lo studio comparativo), che copre l'ora del problema e dopo il problema (se il problema non si verifica più).
- Simple Network Management Protocol (SNMP) effettua l'intercettazione per una settimana prima del problema (per uno studio comparativo), coprendo l'ora del problema e la data successiva (se il problema non si verifica più).
- Bulkstats 1 settimana prima dell'emissione (per lo studio comparativo), che copre l'ora dell'emissione e dopo l'emissione (se l'emissione non si verifica più).
- Monsub deve essere raccolto secondo queste opzioni:
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 a un intervallo di 30-45 minuti per trovare il motivo del rifiuto.
Nota: i motivi di disconnessione da 519 a 533 sono per il rifiuto della sessione ePDG.
- È necessario confrontare le configurazioni dai nodi problematici e non problematici.
show configuration
show configuration verbose
- Necessario per eseguire il debug dei log:
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
- L'output dei comandi che possono essere utili per la risoluzione dei problemi:
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
Avviso: quando viene richiesto di raccogliere log come debug logs, logging monitor, mon-sub e mon pro, eseguire sempre la raccolta nella finestra di manutenzione e monitorare sempre il carico sulla CPU.
Analisi
Di seguito viene riportato l'esempio di una formula per la percentuale di successo delle sessioni di collegamento iniziali ePDG:
Initial Attach Sessions Success Rate ==((totsetupsuccess / totsetupattempt )*100)
In Riferimento statistiche e contatori - Descrizioni delle statistiche bulgare è possibile trovare i contatori utilizzati nella formula per conoscerne il significato.
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.
Dall'unità SSD è possibile visualizzare l'output show crash list per verificare se sono presenti interruzioni continue o elevate che causano il calo dell'indicatore KPI.
Dall'unità SSD è possibile controllare show license info e inviareshow resource i dati per verificare se la licenza non è scaduta o se il numero di sessioni rientra nel 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 >>>>>
Dall'output del comandoshow epdg-service statistics è possibile controllare il motivo dell'errore incrementato.
******** 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
Dalle tracce problematiche, il motivo del rifiuto può essere trovato e può essere confrontato con la traccia non problematica per qualsiasi discrepanza.
Alcuni degli scenari che è possibile ottenere dalle tracce:
Nel caso 1 (diametro-no-sottoscrizione), dopo aver analizzato le tracce, si osserva che una richiesta EAP Diametro viene inviata al server AAA. Tuttavia, la risposta ricevuta indica un errore con il codice causa. Di DIAMETER_ERROR_USER_NO_APN_SUBSCRIPTION. conseguenza, l'SPGW (Packet Data Gateway) del server registra lo stesso errore con il motivo di disconnessione. diameter-no-subscription. Questo comportamento è considerato normale per un utente senza sottoscrizione, in quanto viene rifiutato dal server di autenticazione, autorizzazione e accounting (AAA) al momento del processo.
Nota: verificare l'abbonamento APN su AAA/HSS per il numero di test e, se possibile, organizzare test online per lo stesso.
Nel caso 2 (Session-setup-timeout), dopo aver analizzato le tracce, si osserva che l'impostazione della sessione viene rifiutata con il motivo di disconnessione. Session-setup-timeout. Ulteriori indagini hanno rivelato che l'ePDG sta inviando un messaggio EGTP_CREATE_SESSION_REQUEST all'SPGW, ma non sta ricevendo alcuna risposta per lo stesso motivo. Si osserva che tre richieste consecutive vengono inviate senza ricevere alcuna risposta.
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
Nella richiesta Case-3, una richiesta con un nome di punto di accesso (APN, Access Point Name) specifico viene inviata al PGW, ma viene rifiutata con il codice 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
Per analizzare tutti i casi menzionati, è necessario acquisire i log di debug per un'analisi più dettagliata. Questi registri sono esaminati in base allo standard 3GPP e, sulla base dei risultati, è possibile determinare un piano d'azione o una soluzione alternativa appropriata. È importante notare che la linea d'azione può variare a seconda dello scenario specifico.