Inleiding
In dit document worden de problemen met betrekking tot de DNS-onderbreking (Domain Name System) voor de vragen naar DNS in Mobile Management Entiteit (MME) voor de selectie van GateWay (SGW) en Packet Data Network Gateway (PGW) beschreven.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- StarOS
- MME-functionaliteit met betrekking tot DNS
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk levend is, zorg er dan voor dat u de mogelijke impact van om het even welke opdracht begrijpt.
Achtergrondinformatie
DNS
Met de DNS worden domeinnamen in IP-adressen gezet, die door webbrowsers worden gebruikt om ABCD-pagina's te laden. Elk apparaat dat op de netwerken wordt aangesloten heeft zijn eigen IP adres, dat door andere apparaten wordt gebruikt om het apparaat te vinden.
Vanuit een mobiliteitsperspectief is DNS de externe server die voor APN (Access Point Name) en URL resolutie wordt gebruikt op basis van zijn connectiviteit met de knooppunten in het netwerk.
1. MME tot DNS-connectiviteit: gebruikt voor APN-resolutie voor SPGW-selectie
2. SPGW naar DNS-connectiviteit: Gebruikt voor URL-resolutie om internetserviceproviders (ISP) te bereiken
Typen records die in DNS worden gebruikt.
1. AAA-record: Gebruikt om IPv4- en IPv6-hostadres te definiëren dat in kaart is gebracht onder de volledig gekwalificeerde naam van de host waarop A-record wordt gebruikt voor IPv4- en verificatie-, autorisatie- en accounting (AAA) die wordt gebruikt voor IPv6.
2. NAPTR-record: gebruikt als lookup service die wijst op een servicerecord (SRV) en A/AAA-records voor het SPGW-selectieproces voor de 4G APN en de TAC-resolutie.
3. SRV-record: Wordt gebruikt als een lookup om tussen een Name Authority Pointer (NAPTR) en een A/AAA-record te koppelen.
Voorbeeld: Controleer hoe de A/SRV/NAPTR in kaart is gebracht.

MME-functies met betrekking tot DNS
- De fundamentele functie van MME met betrekking tot DNS is bedoeld voor SGW- en PGW-selectie op basis van DNS-vragen.
- Cisco MME heeft zijn eigen DNS cache dat helpt om frequente vragen naar externe servers te voorkomen en slaat elke query op die wordt uitgevoerd in het MME DNS cache om de query naar een externe DNS-server te sturen.
- Wanneer de EU zich registreert bij een EPS-netwerk (Evolved Packet System), moet zij de juiste SGW’s en PGW’s krijgen toegewezen. MME maakt de GW-selectie op basis van DNS.
- NAPTR query wordt gebruikt om GW adresresolutie te maken.
- Op basis van de DNS query bepaalt MME de interface tussen S-GW en P-GW.
De SPGW-selectieprocedure
- MME voert een initiële DNS-query uit om een lijst met GW-identiteiten en prioriteiten te krijgen
- S-GW-selectie uitgevoerd op basis van Tracking Area Identifier (TAI)
- IP-GW-selectie op basis van APN
- MME selecteert de GW op basis van prioriteitsinformatie of MME-configuratie
- Vervolgens wordt een tweede DNS-query uitgevoerd om de IP-adressen van de gewenste GW te verkrijgen.
Volgens de procedure voert MME altijd 2 DNS-vragen uit om GW IP te benaderen, wat wordt uitgelegd.
Vraag 1: Voor de eerste query uitgevoerd via APN of TAI, krijgt u een SRV-profiel dat ermee in kaart is gebracht, of rechtstreeks een record-uitvoer die in kaart is gebracht als antwoord.
Kwaliteit 2: Verder doet het een query naar het SRV profiel en stuurt het als een vervangende string om de GW IP te krijgen.

Bijvoorbeeld:
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
Probleem
1. Wanneer u NAPTR-query van ME doet voor APN abcd.apn.epc.mncXXX.mccYY.3gppnetwork.org en een DNS-tijdelijke oplossing krijgt bij ME.
Opmerking: String +nc-nr is de nieuwe string die aan de 5G service wordt toegevoegd en toegevoegd aan elke NAPTR Resource Record (RR) om de servicetechnicus te identificeren.
"x-3gpp-pgw:x-s5-gtp+nc-nr:x-s8-gtp:x-gn:x-gp"
Opmerking: +nc-nr is de nieuwe string gebaseerd op de 5G service, dus MME moet deze service ondersteunen om te werken, omdat MME een DNS query doet en een reactie krijgt om te controleren of bepaalde service is ingeschakeld of niet in 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. In PCAP-sporen werd gevonden dat de DNS-server de query ontvangt en in antwoord hierop 30 tot 35 substituties tegen elke APN ontvangt vanwege welke pakketgrootte 4186 bytes wordt en MME de TCP-verbinding initieert.
3. U kunt zien dat DNS een query-aanvraag heeft ontvangen en de reactie op deze vraag verzenden, maar zonder inhoud met slechts één vlag als "Message is ingekort". Dit wordt alleen waargenomen wanneer het antwoordbericht ingekort is en de rest van de 4G reacties goed werkt als het bericht niet ingekort is.
De reden voor het ingekort bericht is dat een aantal vervangingen die aan de APN zijn gekoppeld, meer dan 30 bedraagt, de omvang van het bericht wordt vergroot en de berichtvlag in antwoord wordt ingekort. De totale grootte voor het antwoordbericht is 4181 bytes als een TCP-lading (zie de afbeelding).
Zodra deze reactie bij MME wordt ontvangen, start ME de TCP verbinding met DNS.

Van MME naar DNS
- Frame 31 - MME stuurt een zoekopdracht naar DNS
- Frame 32 - DNS stuurt een reactie met de vlag die is ingesteld als "Bericht ingekort"
- Frame 33/34/35 - TCP-verbinding ingesteld tussen MME en DNS en ruil hun eigen functies
In de gegeven momentopname, kunt u zien Maximum Segment Size (MSS) verzenden vanuit ME is 9060.
Wanneer MME een query doet waarvoor DNS een reactie stuurt met "Message is ingekort" en het heeft geen andere informatie waarna gebaseerd op DNS-respons MME de TCP-verbinding initieert.


Van DNS naar MME
- MME stuurt een query na TCP-verbinding
- DNS erkent het.
- DNS stuurt een reactie met de markering die ingesteld is als "Bericht is niet ingekort" omdat MSS gedeeld met DNS is ingesteld op 9060 bytes en de gehele reactie in één keer wordt verzonden.
- MME reageert met een ACK zonder inhoud
- DNS stuurt de ACK naar de inhoud in bericht 38, waarin de lading 4181 bytes is
- MME stuurt TCP om de verbindingen te herstellen en te sluiten zodra het het laatste fragment ontvangt.

Wanneer MME de gehele lading in 2 tot 3 segmenten of in één poging van DNS ontvangt, verstuurt MME een TCP-resetten.
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
Testscenario
1. Leg alle benodigde debug-bestanden/sporen vast met een specifieke test en stel de logbestanden tegelijkertijd in wanneer de abonnee bladert met problematische APN
2. Zorg ervoor dat elke keer dat een testscenario wordt uitgevoerd de abonnee een nieuw bevestigingsmateriaal doet om de abonnee te spoelen.
3. Voor testdoeleinden één tester toewijzen en die tester een specifieke test met haar IMSI moet doen en toegang tot die problematische APN moet krijgen: 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)
Problemen oplossen
1. Controleer de uitgangen van alle genoemde opdrachten om te bevestigen dat er een pakketdaling in het systeem is.
2. Controleer de statistieken om de frequentie van de DNS-onderbrekingen in het knooppunt te bevestigen.
[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
Nadat u deze opdrachten hebt uitgevoerd om de statistieken voor meerdere iteraties op te nemen en vast te stellen dat de vraag-tijd geleidelijk wordt verhoogd, maar er waren geen pakketdruppels tussen Demux en sessmgren, waardoor er geen probleem met het interne systeem is opgelost
Om kwesties met externe connectiviteit of configuratieprobleem in DNS te controleren, voert u de query direct uit voor de vervangende waarden handmatig van MME in plaats van APN zoals in het beeld wordt getoond, waar deze correct en zonder vertraging wordt opgelost en concludeert dat er ook geen probleem is met externe connectiviteit en configuratie.
[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
Het probleem is tussen DNS en SGN-MME waar u DNS-verzenden met vervangende waarden als top kunt zien en MME moet opnieuw vragen om de bovenste items, maar deze dingen zijn niet anders gebeurd als de query-resolutie handmatig succesvol is
Volgens de opdrachtoutput en sporen, was het duidelijk dat wanneer je APN opvraagt, je reacties krijgt met 30 vervangingen via TCP verbinding in fragmenten en terwijl MME deze fragmenten erkent die het terugstuur naar DNS.
Aangezien MME TCP verstuurt om te resetten, kunnen we in MME zien waar DNS query fout als query timeout laat zien en tot dit tijdpunt zien we deze 30 substitutiewaarden niet zien in MME opdrachtoutput omdat fragmenten niet volledig werden erkend en voordat dit proces werd voltooid, stuurt MME TCP naar reset.
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
Van logboeken, wijst het erop dat na de eerste keer MME fout 115 voor de volgende herhalingen verstuurt omdat de eerste TCP verbinding nog niet in de socket is gesloten. Time-out voor de eerste TCP-verbinding is uitgevoerd en de vorige verbinding is niet gesloten.
Een nieuwe verbinding wordt gestart die zich op hetzelfde socket bevindt waar de vorige verbinding is gelegd en niet is gewist. U ziet fout 115 (bezig met bewerkingen) zelfs als de nieuwe verbinding is gevormd, maar op een of andere manier heeft de socket de vorige verbinding niet gesloten na de eerste keer.
Oplossing
Start de vpngr van de DNS-context opnieuw. Er moet nog een software fix worden geleverd.