Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit les problèmes liés au délai d'attente DNS (Domain Name System) pour les requêtes vers DNS dans MME (Mobile Management Entity) pour la sélection de Serving GateWay (SGW) et PGW (Packet Data Network Gateway).
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Le DNS transforme les noms de domaine en adresses IP, que les navigateurs utilisent pour charger les pages ABCD. Chaque périphérique connecté aux réseaux a sa propre adresse IP, qui est utilisée par d'autres périphériques pour localiser le périphérique.
Du point de vue de la mobilité, DNS est le serveur externe utilisé pour le nom de point d'accès (APN) et la résolution d'URL en fonction de sa connectivité avec les noeuds du réseau.
1. Connectivité MME à DNS : utilisée pour la résolution APN pour la sélection SPGW
2. Connectivité SPGW à DNS : Utilisé pour la résolution d'URL pour atteindre le fournisseur d'accès Internet (FAI)
Types d'enregistrements utilisés dans DNS.
1. Enregistrement A/AAA : Utilisé pour définir l'adresse d'hôte IPv4 et IPv6 mappée au nom complet de l'hôte où un enregistrement utilisé pour IPv4 et AAA (Authentication, Authorization and Accounting) utilisé pour IPv6.
2. Enregistrement NAPTR : utilisé comme service de recherche qui pointe vers un enregistrement de service (SRV) et des enregistrements A/AAA pour le processus de sélection SPGW pour l'APN 4G et la résolution TAC.
3. Enregistrement SRV: Utilisé comme recherche pour mapper entre un pointeur d'autorité de nom (NAPTR) et un enregistrement A/AAA.
Exemple : Observez comment le mappage A/SRV/NAPTR est effectué.
Ainsi, selon la procédure, MME fait toujours 2 requêtes DNS pour obtenir l'adresse IP GW qui est expliqué.
Requête 1 : Pour la première requête effectuée via APN ou TAI, vous obtenez un profil SRV mappé avec lui ou directement un résultat d'enregistrement A mappé en réponse.
Requête 2 : De plus, il fait une requête au profil SRV et l'envoie comme chaîne de remplacement pour obtenir l'IP GW.
Exemple :
Query Name: abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org
Query Type: NAPTR TTL: 515 seconds
Answer:
Order: 100 Preference: 50000
Flags: a Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp
Regular Expression:
Replacement: _nodes._pgw.epc.mncXXX.mccYYY.3gppnetwork.org
Query Name: _nodes._pgw.epc.mncXXX.mccYYY.3gppnetwork.org
Query Type: NAPTR TTL: 515 seconds
Answer:
Order: 100 Preference: 50000
Flags: a Service: x-3gpp-pgw:x-s5-gtp:x-s8-gtp:x-gn:x-gp
Regular Expression: topoff.pgw- s5s8.node.epc.mncXXX.mccYYY.3gppnetwork.org
Query Name: topoff.pgw- s5s8.node.epc.mncXXX.mccYYY.3gppnetwork.org
Query Type: A TTL: 646 seconds
Answer:
IP Address: X.X.X.X
1. Lorsque vous effectuez une requête NAPTR à partir de MME pour APN abcd.apn.epc.mncXXX.mccYY.3gppnetwork.org et que vous obtenez un délai DNS à MME.
Note: String +nc-nr est la nouvelle chaîne ajoutée au service 5G et ajoutée à chaque enregistrement de ressource NAPTR (RR) pour identifier l'interface de service.
"x-3gpp-pgw:x-s5-gtp+nc-nr:x-s8-gtp:x-gn:x-gp"
Note: +nc-nr est la nouvelle chaîne basée sur le service 5G. MME doit donc prendre en charge ce service pour fonctionner car lorsque MME fait une requête DNS et obtient une réponse pour vérifier que ce service particulier est activé ou non dans MME.
[gn]SGSN-MME# dns-client query client-name dnsclient query-type NAPTR query-name abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org
Wednesday October 27 17:06:20 ICT 2021
Query Name: abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org
Query Type: NAPTR TTL: 0 seconds
Answer: -Negative Reply-
Failure Reason: DNS query timed out
2. Dans les traces PCAP, il a été trouvé que le serveur DNS reçoit la requête et en réponse envoie 30 à 35 remplacements par chaque APN en raison de laquelle la taille de paquet devient 4186 octets et MME initie la connexion TCP.
3. Vous pouvez voir que DNS a reçu la requête et envoyer la réponse, mais sans aucun contenu avec un seul indicateur comme « Message est tronqué ». Ceci est observé uniquement dans le cas où le message de réponse est tronqué et où le reste des réponses 4G fonctionne correctement lorsque le message n'est pas tronqué.
La raison du message tronqué est qu'un certain nombre de remplacements mappés sur l'APN sont supérieurs à 30 et qu'il augmente la taille du message et envoie l'indicateur de message tronqué en réponse. La taille totale du message de réponse est de 4 181 octets en tant que charge utile TCP (reportez-vous à l'image).
Une fois que cette réponse est reçue au MME, MME initie la connexion TCP avec DNS.
De MME à DNS
Dans l'instantané donné, vous pouvez voir que la taille maximale de segment (MSS) envoyée à partir de MME est 9060.
Lorsque MME fait une requête pour laquelle DNS envoie une réponse avec « Message is truncated » et qu'il n'a pas d'autres informations après lesquelles en fonction de la réponse DNS MME initie la connexion TCP.
De DNS à MME
Lorsque MME reçoit l'intégralité de la charge utile en 2 à 3 segments ou lors d'une tentative de DNS, MME envoie un message de réinitialisation TCP.
DNS commands to troubleshoot
show dns-client statistics
show dns-client statistics client <DNS Client Name>
show dns-client cache client <client name> [query-name <query-name>[query-type <NAPTR | AAAA | A>] | [query-type <NAPTR | AAAA | A>]]
dns-client query client-name <client name> query-type <NAPTR | AAAA> [query-name <query name>].show port datalink counters
Commands to check if there were any problem internal to the starOS system where request is not able to reach from demux vpnmgr to DNS app in sessmgrs
show port npu counters
show cloud configuration
show iftask stats summary
show npu utilization table
show iftask port-stats card <card> ---- for all active SF cards
show iftask iomux-stats card <card> ---- for all active SF cards
MON SUB to be captured with options enabled (verbosity 5,Y,S,34,35,19,A,26)
PCAP traces to be captured
DNS cache flush commands
clear dns-client <client-name> cache
Scénario de test
1. Capturez tous les journaux/traces de débogage requis avec un test dédié et activez les journaux en même temps lorsque l'abonné navigue avec APN problématique
2. S'assurer que chaque fois qu'un scénario de test est exécuté, l'abonné doit effectuer une nouvelle connexion pour vider l'abonné.
3. Pour les besoins des tests, affectez un testeur et ce testeur doivent effectuer un test dédié avec son IMSI et avoir besoin d'accéder à ce APN problématique : abcd.apn.epc.mncXXX.mccYY.3gppnetwork.org.
logging filter active facility vpn level debug ------ debug level logs
logging filter active facility tcpdemux level debug ------ debug level logs
logging monitor msid <MSID number> ------ (these logging command to be executed in config mode)
1. Vérifiez les sorties de toutes les commandes mentionnées pour vérifier s'il y a une perte de paquet interne au système.
2. Vérifiez les statistiques pour confirmer que la fréquence des délais d’attente DNS augmente dans le noeud.
[gn]SGSN-MME# show dns-client statistics client dnsclient
Friday August 20 13:31:48 ICT 2021
DNS Usage Statistics:
---------------------
Query Type Attempts Successes Failures
A 2430996860 2410410937 20546467
SRV 1325520986 1325516557 4429
AAAA 3939810089 0 3939810089
NAPTR 480586697 432853033 47732791
PTR 0 0 0
Total 3881947336 4168780527 4008093776
…
Total Resolver Queries: 4480708
Successful Queries: 670040
Query Timeouts: 409717
Domain Not Found: 2455918
Connection Refused: 0
Other Failures: 580612
Après avoir exécuté ces commandes pour capturer les statistiques pour plusieurs itérations et observer que les délais d'attente des requêtes sont augmentés progressivement mais qu'il n'y a pas eu de pertes de paquets entre Demux et les sessions, ce qui ne pose aucun problème avec le système interne
Pour vérifier tout problème de connectivité externe ou de configuration dans DNS, vous exécutez directement la requête pour les valeurs de remplacement manuellement à partir de MME au lieu d'APN comme indiqué dans l'image, où il est résolu correctement sans délai et conclut qu'il n'y a pas de problème avec la connectivité externe et la configuration également.
[gn]SGSN-MME# dns-client query client-name dnsclient query-name TOPON.test.NODE.EPC.MNCXXX.MCCYYY.3GPPNETWORK.ORG
Monday August 02 18:51:29 ICT 2021
Query Name: TOPON.test.NODE.EPC.MNCXXX.MCCYYY.3GPPNETWORK.ORG
Query Type: A TTL: 1038 seconds
Answer:
IP Address: X.X.X.X ------ resolve properly and gave IP
Le problème se situe entre DNS et SGSN-MME, où vous pouvez voir les réponses d'envoi DNS avec des valeurs de remplacement comme topon et MME doit interroger à nouveau pour les entrées topon, mais qui ne se sont pas produites autrement si nous faisons manuellement la résolution de requête est réussie
Selon les résultats et les traces de la commande, il était clair que lorsque vous interrogez APN, vous obtenez des réponses avec 30 remplacements via la connexion TCP en fragments et tandis que MME reconnaît ces fragments, il envoie réinitialiser au DNS.
Puisque MME envoie TCP pour réinitialiser, nous pouvons voir dans MME où la requête DNS affiche une erreur en tant que délai d'attente de requête et jusqu'à ce moment-là, nous ne voyons pas ces 30 valeurs de remplacement dans les sorties de commande MME puisque les fragments n'ont pas été reconnus complètement et avant la fin de ce processus, MME envoie TCP pour réinitialiser.
Debug logs analysis
For abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org
2021-Oct-27+17:06:20.910 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:14585, UDP, Sent time 1635329180, Timeout set 1635329183 ---- timer is set here
2021-Oct-27+17:06:20.910 [vpn 5919 info] [9/0/11730 <vpnmgr:6> dns_resolver.c:323] [software internal system syslog] Sent out a DNS Query abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org to DNS Server --------- DNS query is send for the first time
2021-Oct-27+17:06:20.911 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Init, While Sending Query
2021-Oct-27+17:06:20.911 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Open with DHost
2021-Oct-27+17:06:20.911 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:14585, TCP, Sent time 1635329180, Timeout set 1635329183 ------------ DNS query is send for the second time
2021-Oct-27+17:06:20.911 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Successful - DHost-Id = 6766924, Sock_fd = 21
2021-Oct-27+17:06:21.008 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP READ, Kernel Closed, EOF - DHost-Id = 6766924, Sock_fd = 21, errno = 115, req_read_len = 0
2021-Oct-27+17:06:21.008 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection close - DHost-Id = 6766924, Sock_fd = 21
2021-Oct-27+17:06:23.019 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:14585, TCP, Timeout detected: 1635329183 ---------------- Timeout detected here
2021-Oct-27+17:06:23.019 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Init, While Sending Query --------------------- Query is send again
2021-Oct-27+17:06:23.019 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Open with DHost
2021-Oct-27+17:06:23.019 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:14585, TCP, Sent time 1635329183, Timeout set 1635329186 ------- Again send the query with new timer value set
2021-Oct-27+17:06:23.019 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Successful - DHost-Id = 6504921, Sock_fd = 23
2021-Oct-27+17:06:26.036 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:14585, TCP, Timeout detected: 1635329186 ---------------- Timeout detected here
2021-Oct-27+17:06:26.036 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:35196, UDP, Timeout detected: 1635329186 ---------------- Timeout detected here
Another example abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org
2021-Oct-27+17:06:27.257 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:19140, UDP, Sent time 1635329187, Timeout set 1635329190 ---- timer is set here
2021-Oct-27+17:06:27.257 [vpn 5919 info] [9/0/11730 <vpnmgr:6> dns_resolver.c:323] [software internal system syslog] Sent out a DNS Query abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org to DNS Server --------- Query send for the first time
2021-Oct-27+17:06:27.258 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Init, While Sending Query
2021-Oct-27+17:06:27.258 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Open with DHost
2021-Oct-27+17:06:27.258 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:19140, TCP, Sent time 1635329187, Timeout set 1635329190 -------- Same Query send for the second time
2021-Oct-27+17:06:27.258 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Successful - DHost-Id = 7201531, Sock_fd = 22
2021-Oct-27+17:06:27.309 [vpn 5921 debug] [7/0/12843 <sessmgr:79> dns_snaptr.c:1466] [software internal system syslog] VPN DEBUG : snaptr_match_valid_entries Initial ue_usage_type:0 nc_nr:0 ----- snaptr match starts
2021-Oct-27+17:06:27.309 [vpn 5921 debug] [7/0/12843 <sessmgr:79> dns_snaptr.c:237] [software internal system syslog] VPN DEBUG : snaptr_compare_service_protocol_set rr_service_parameter x-3gpp-mme:x-gn, inp_svc_param x-3gpp-sgw:x-s5-gtp ue_usage_type_enabled:0 nc_nr_enabled:0 ------- nc_nr enabled which I mentioned earlier
2021-Oct-27+17:06:27.309 [vpn 5921 debug] [7/0/12843 <sessmgr:79> dns_snaptr.c:237] [software internal system syslog] VPN DEBUG : snaptr_compare_service_protocol_set rr_service_parameter x-3gpp-sgw:x-s5-gtp:x-s8-gtp, inp_svc_param x-3gpp-sgw:x-s5-gtp ue_usage_type_enabled:0 nc_nr_e:nabled0
2021-Oct-27+17:06:27.309 [vpn 5921 debug] [7/0/12843 <sessmgr:79> dns_snaptr.c:279] [software internal system syslog] VPN DEBUG : 0.rr_prot_token x-s5-gtp, input token x-s5-gtp
2021-Oct-27+17:06:27.309 [vpn 5921 debug] [7/0/12843 <sessmgr:79> dns_snaptr.c:323] [software internal system syslog] VPN DEBUG : 4.Success Selected Protocol(Normal):x-s5-gtp ----------- snaptr protocol matched
2021-Oct-27+17:06:30.057 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:19140, TCP, Timeout detected: 1635329190 -------- TCP timeout happens
2021-Oct-27+17:06:30.057 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Init, While Sending Query ----- Again TCP connection initiated
2021-Oct-27+17:06:30.057 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Open with DHost
2021-Oct-27+17:06:30.057 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:19140, TCP, Sent time 1635329190, Timeout set 1635329193 ------ New timer value set with send query
2021-Oct-27+17:06:30.057 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection Successful - DHost-Id = 7136007, Sock_fd = 21
2021-Oct-27+17:06:30.158 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP READ, Kernel Closed, EOF - DHost-Id = 7136007, Sock_fd = 21, errno = 115, req_read_len = 0 – Error because TCP connection is busy because previous connection is not closed
2021-Oct-27+17:06:30.158 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] TCP Connection close - DHost-Id = 7136007, Sock_fd = 21 -------- Connection closed
2021-Oct-27+17:06:30.171 [vpn 5921 debug] [14/0/12709 <sessmgr:15> dns_snaptr.c:1466] [software internal system syslog] VPN DEBUG : snaptr_match_valid_entries Initial ue_usage_type:0 nc_nr:0 --- again snaptr match takes place
2021-Oct-27+17:06:30.171 [vpn 5921 debug] [14/0/12709 <sessmgr:15> dns_snaptr.c:237] [software internal system syslog] VPN DEBUG : snaptr_compare_service_protocol_set rr_service_parameter x-3gpp-mme:x-gn, inp_svc_param x-3gpp-sgw:x-s5-gtp ue_usage_type_enabled:0 nc_nr_enabled:0
2021-Oct-27+17:06:30.171 [vpn 5921 debug] [14/0/12709 <sessmgr:15> dns_snaptr.c:237] [software internal system syslog] VPN DEBUG : snaptr_compare_service_protocol_set rr_service_parameter x-3gpp-sgw:x-s5-gtp:x-s8-gtp, inp_svc_param x-3gpp-sgw:x-s5-gtp ue_usage_type_enabled:0 nc_nr_enabled:0
2021-Oct-27+17:06:30.171 [vpn 5921 debug] [14/0/12709 <sessmgr:15> dns_snaptr.c:279] [software internal system syslog] VPN DEBUG : 0.rr_prot_token x-s5-gtp, input token x-s5-gtp
2021-Oct-27+17:06:33.073 [vpn 5456 info] [9/0/11730 <vpnmgr:6> vpnmgr_func.c:8011] [software internal system syslog] query:19140, TCP, Timeout detected: 1635329193 -----TCP timeout detected
À partir des journaux, il indique qu'après le premier délai d'attente, MME envoie l'erreur 115 pour les nouvelles tentatives, car la première connexion TCP n'est toujours pas fermée au niveau du socket. Le délai d'attente de la première connexion TCP s'est écoulé et la connexion précédente n'a pas été fermée.
Une nouvelle connexion est initiée, qui se trouve sur le même socket où la connexion précédente a été établie et n'a pas été effacée. Vous voyez l'erreur 115 (opérations en cours) même si la nouvelle connexion a été formée mais que le socket n'a pas fermé la connexion précédente après le premier délai d'attente.
Redémarrez le vpnmgr du contexte DNS. Un correctif logiciel n'a pas encore été fourni.
Révision | Date de publication | Commentaires |
---|---|---|
3.0 |
18-Jan-2022 |
Mise à jour du titre |
2.0 |
17-Jan-2022 |
Mise à jour de la capture d'écran du flux d'appels. |
1.0 |
17-Jan-2022 |
Première publication |