Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

DNS

MME-functies met betrekking tot DNS

De SPGW-selectieprocedure

Probleem

Problemen oplossen

Oplossing

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:

- DNS

- MEVROUW

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.