Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

DNS

Funcionalidad MME relacionada con DNS

Procedimiento de selección de SPGW

Problema

Troubleshoot

Solución

Introducción

Este documento describe los problemas relacionados con el tiempo de espera del sistema de nombres de dominio (DNS) para las consultas hacia DNS en la selección de entidad de administración móvil (MME) para la selección de Serving GateWay (SGW) y Packet Data Network Gateway (PGW).

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- StarOS

- funcionalidad MME relacionada con DNS

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- DNS

- MME

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 tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

DNS

El DNS convierte los nombres de dominio en direcciones IP, que los exploradores utilizan para cargar páginas ABCD. Todos los dispositivos conectados a las redes tienen su propia dirección IP, que utilizan otros dispositivos para localizar el dispositivo.

Desde el punto de vista de la movilidad, DNS es el servidor externo que se utiliza para el nombre del punto de acceso (APN) y la resolución de URL en función de su conectividad con los nodos de la red.

1. Conectividad de MME a DNS: se utiliza para la resolución de APN para la selección de SPGW

2. Conectividad de SPGW a DNS: Se utiliza para la resolución de URL a fin de llegar al proveedor de servicios de Internet (ISP)

Tipos de registros utilizados en DNS.

1. Registro A/AAA: Se utiliza para definir la dirección de host IPv4 e IPv6 asignada al nombre completo del host en el que se utiliza un registro A para IPv4 y autenticación, autorización y contabilidad (AAA) para IPv6.

2. Registro NAPTR: se utiliza como servicio de búsqueda que apunta a un registro de servicio (SRV) y registros A/AAA para el proceso de selección de SPGW para la resolución 4G APN y TAC.

3. Registro SRV: Se utiliza como búsqueda para realizar un mapa entre un puntero de autoridad de nombres (NAPTR) y un registro A/AAA.

Ejemplo: Observe cómo se mapea el A/SRV/NAPTR.

Funcionalidad MME relacionada con DNS

- La función básica de MME relacionada con DNS es para la selección de SGW y PGW basada en consultas DNS.

- Cisco MME tiene su propia memoria caché DNS que ayuda a evitar consultas frecuentes a servidores externos y almacena cada consulta realizada en la memoria caché de DNS MME para reducir la necesidad de enviar la consulta a un servidor DNS externo.

- Cuando la UE se registra en una red de sistema de paquetes evolucionados (EPS), se le deben asignar los SGW y PGW adecuados. El MME realiza la selección de GW basada en DNS.

- La consulta NAPTR se utiliza para resolver la dirección GW.

- Basado en la consulta DNS, MME determina la interfaz entre S-GW y P-GW.

Procedimiento de selección de SPGW

- MME realiza una consulta DNS inicial para obtener una lista de las identidades y prioridades de GW

- Selección S-GW realizada en función del identificador de área de seguimiento (TAI)

- Selección P-GW realizada en base a APN

- MME selecciona el GW en función de la información de prioridad o la configuración de MME

- A continuación, se realiza una segunda consulta DNS para obtener las direcciones IP del GW deseado.

Por lo tanto, según el procedimiento, MME siempre realiza 2 consultas DNS para obtener la dirección IP de GW que se explica.

Consulta 1: Para la primera consulta realizada a través de APN o TAI, se obtiene un perfil SRV asignado con él o directamente una salida de registro A asignada en respuesta.

Consulta 2: Además, realiza una consulta al perfil SRV y lo envía como una cadena de reemplazo para obtener la IP de GW.

Por ejemplo:

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

Problema

1. Cuando realiza una consulta NAPTR desde MME para APN abcd.apn.epc.mncXXX.mccYYY.3gppnetwork.org y obtiene un tiempo de espera de DNS en MME.

Nota: String +nc-nr es la nueva cadena agregada al servicio 5G y agregada a cada registro de recursos NAPTR (RR) para identificar la interfaz de servicio.

"x-3gpp-pgw:x-s5-gtp+nc-nr:x-s8-gtp:x-gn:x-gp"

Nota: +nc-nr es la nueva cadena basada en el servicio 5G, por lo que MME necesita soportar este servicio para funcionar porque cuando MME hace una consulta DNS y obtiene una respuesta para verificar que un servicio en particular está habilitado o no en 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. En los seguimientos PCAP, se encontró que el servidor DNS recibe la consulta y en respuesta envía de 30 a 35 reemplazos contra cada APN debido a los cuales el tamaño del paquete se convierte en 4186 bytes y MME inicia la conexión TCP.

3. Puede ver que DNS recibió la solicitud de consulta y enviar la respuesta pero sin ningún contenido con sólo un indicador como "El mensaje está truncado". Esto se observa sólo en el caso en que el mensaje de respuesta se trunca y el resto de las respuestas 4G funcionan bien cuando el mensaje no se trunca.

El motivo del mensaje truncado es cuando una cantidad de reemplazos mapeados con APN es superior a 30 y aumenta el tamaño del mensaje y envía el indicador de mensaje truncado en respuesta. El tamaño total del mensaje de respuesta es 4181 bytes como carga útil TCP (consulte la imagen).

Una vez recibida esta respuesta en el MME, el MME inicia la conexión TCP con DNS.

De MME a DNS

- Frame 31: MME envía una consulta a DNS

- Frame 32 - DNS envía una respuesta con el indicador configurado como "El mensaje está truncado"

- Frame 33/34/35 - Conexión TCP establecida entre MME y DNS e intercambio de sus propias capacidades

En la instantánea dada, puede ver que el tamaño máximo de segmento (MSS) enviado desde MME es 9060.

Cuando MME realiza una consulta para la cual DNS envía una respuesta con "El mensaje está truncado" y no tiene otra información después de la cual, según la respuesta DNS, MME inicia la conexión TCP.

De DNS a MME

- MME envía una consulta después de la conexión TCP

- DNS lo reconoce.

- DNS envía una respuesta con el indicador configurado como "El mensaje no está truncado" porque MSS compartido con DNS está configurado en 9060 bytes y envía la respuesta completa de un solo paso.

- MME responde con un ACK sin contenido

- DNS envía el ACK al contenido del mensaje 38 donde la carga útil es de 4181 bytes

- MME envía TCP para restablecer y cerrar las conexiones tan pronto como reciba el último fragmento.

Cuando MME recibe la carga completa en 2 a 3 segmentos o en un intento de DNS, MME envía un mensaje de reinicio 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

Escenario de prueba

1. Capture todos los registros/seguimientos de depuración requeridos con la prueba dedicada y habilite los registros al mismo tiempo que el suscriptor navega con APN problemático

2. Asegúrese de que cada vez que se realice un escenario de prueba, el suscriptor necesita realizar una nueva conexión para vaciar el suscriptor.

3. A efectos de las pruebas, asigne un probador y ese probador deberá realizar una prueba específica con su IMSI y deberá tener acceso a ese APN problemático: abcd.apn.epc.mncXXX.mccYYY.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)

Troubleshoot

1. Verifique las salidas de todos los comandos mencionados para confirmar si hay alguna caída de paquetes interna en el sistema.

2. Verifique las estadísticas para confirmar el aumento de la frecuencia de tiempos de espera de DNS en el nodo.

[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

Después de ejecutar estos comandos para capturar las estadísticas de varias iteraciones y observar que los tiempos de espera de las consultas se incrementan gradualmente pero no hubo caídas de paquetes entre Demux y sessmgrs de modo que no se concluye ningún problema con el sistema interno

Además de verificar cualquier problema con la conectividad externa o con la configuración en DNS, usted realiza directamente la consulta para los valores de reemplazo manualmente desde MME en lugar de APN como se muestra en la imagen, donde se resuelve correctamente sin demora y concluye que no hay problema con la conectividad externa y la configuración también.

[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

El problema se produce entre DNS y SGSN-MME, donde puede ver las respuestas de envío de DNS con los valores de reemplazo como topon y MME debe volver a consultar las entradas de topon, pero que no se produjeron de otra manera si realizamos manualmente la resolución de la consulta con éxito

Según los resultados y seguimientos del comando, estaba claro que cuando consulta a APN, obtiene respuestas con 30 reemplazos a través de la conexión TCP en fragmentos y mientras MME reconoce estos fragmentos envía el reinicio a DNS.

Dado que MME envía TCP para reiniciar, podemos ver en MME donde la consulta DNS muestra el error como tiempo de espera de consulta y hasta este momento no vemos esos 30 valores de reemplazo en los resultados del comando MME, ya que los fragmentos no se reconocieron completamente y antes de completar este proceso, MME envía TCP para restablecer.

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

Desde los registros, indica que después del primer tiempo de espera, MME envía el error 115 para los siguientes reintentos porque la primera conexión TCP todavía no se cierra en el socket.  Se ha agotado el tiempo de espera para la primera conexión TCP y la conexión anterior no se cerró.

Se inicia una nueva conexión que está en el mismo socket donde se estableció la conexión anterior y no se borró. Aparece el error 115 (operaciones en curso) aunque se formó la nueva conexión pero de alguna manera el socket no cerró la conexión anterior después del primer tiempo de espera.

Solución

Reinicie el vpnmgr del contexto DNS. Todavía no se ha proporcionado una corrección de software.