Dns query method, apparatus, device, and medium

By acquiring and utilizing server experience information to optimize DNS responses, the business performance issues caused by terminals randomly selecting IP addresses were resolved, resulting in more efficient communication connections.

CN115706721BActive Publication Date: 2026-02-10VIVO MOBILE COMM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110821650.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-20
Publication Date
2026-02-10
Estimated Expiration
2041-07-20

Smart Images

  • Figure CN115706721B_ABST
    Figure CN115706721B_ABST
Patent Text Reader

Abstract

The application discloses a DNS query method, device, equipment and medium, and belongs to the communication technical field. The DNS query method comprises the following steps: a first communication device receives a DNS query and obtains a fully qualified domain name (FQDN); the first communication device sends first information to a second communication device; the first information comprises the FQDN or N server IP addresses corresponding to the FQDN; N is a positive integer; the first communication device obtains server experience information corresponding to the N server IP addresses from the second communication device; the server experience information is used for indicating the service experience of a server corresponding to each server IP address; and the first communication device sends a DNS response to a terminal based on the server experience information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technology, and specifically relates to a DNS query method, apparatus, device and medium. Background Technology

[0002] Currently, when a DNS server performs DNS resolution and returns a DNS response, it typically returns the IP addresses of multiple servers. For example, for a DNS query of www.****.com, the DNS server will return the following IP addresses as a DNS response: 10.1.1.1, 10.1.1.2, and 10.1.1.3.

[0003] In related technologies, when a terminal receives this DNS response, it randomly selects an IP address to access and establish a service connection. Since the status of the server corresponding to each IP address is unknown—for example, its current load, bandwidth, and speed—this random selection method means that the terminal cannot guarantee the performance of the accessed service. Summary of the Invention

[0004] This application provides a DNS query method, apparatus, device, and medium that can solve the problem that terminals cannot guarantee the service performance of the services they access.

[0005] In a first aspect, a DNS query method is provided, comprising: a first communication device receiving a DNS query to obtain a fully qualified domain name (FQDN); the first communication device sending first information to a second communication device; the first information including the FQDN, or N server IP addresses corresponding to the FQDN; N being a positive integer; the first communication device obtaining server experience information corresponding to the N server IP addresses from the second communication device; the server experience information being used to indicate the service experience of the server corresponding to each of the server IP addresses; and the first communication device sending a DNS response to a terminal based on the server experience information.

[0006] Secondly, a DNS query apparatus is provided, comprising: a receiving module for receiving a DNS query to obtain a fully qualified domain name (FQDN); a sending module for sending first information to a second communication device; the first information including the FQDN, or N server IP addresses corresponding to the FQDN; where N is a positive integer; an execution module for obtaining server experience information corresponding to the N server IP addresses from the second communication device; the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses; and the sending module is further configured to send a DNS response to a terminal based on the server experience information.

[0007] Thirdly, a DNS query method is provided, the method comprising: a terminal receiving a DNS response from a first communication device; the DNS response comprising: N server IP addresses; the terminal determining a target server IP address based on the DNS response; the target server IP address being related to server experience information corresponding to the N server IP addresses; the server experience information being used to indicate the service experience of the server corresponding to each of the N server IP addresses; the target server IP address being at least one of the N server IP addresses; and N being a positive integer.

[0008] Fourthly, a DNS query apparatus is provided, comprising: a receiving module for receiving a DNS response from a first communication device; the DNS response including N server IP addresses; and a determining module for determining a target server IP address based on the DNS response received by the receiving module; the target server IP address being related to server experience information corresponding to the N server IP addresses; the server experience information being used to indicate the service experience of the server corresponding to each of the server IP addresses; the target server IP address being at least one of the N server IP addresses; and N being a positive integer.

[0009] Fifthly, a DNS query method is provided, comprising: a second communication device obtaining N server IP addresses; the second communication device querying server experience information of the N server IP addresses from a database based on the N server IP addresses; N being a positive integer; the second communication device sending the server experience information to a target device; wherein the target device includes a terminal or a first communication device; the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses.

[0010] Sixthly, a DNS query apparatus is provided, comprising: an acquisition module for acquiring N server IP addresses; a query module for querying server experience information of the N server IP addresses from a database based on the N server IP addresses acquired by the acquisition module; where N is a positive integer; and a sending module for sending the server experience information queried by the query module to a target device; wherein the target device includes a terminal or a first communication device; and the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses.

[0011] In a seventh aspect, a terminal is provided, the terminal including a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the method described in the second aspect.

[0012] Eighthly, a terminal is provided, including a processor and a communication interface, wherein the communication interface is used to receive a DNS response from a first communication device; the DNS response includes N server IP addresses; the processor is used to determine a target server IP address based on the DNS response received by the receiving module; the target server IP address is related to server experience information corresponding to the N server IP addresses; the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses; the target server IP address is at least one of the N server IP addresses; N is a positive integer.

[0013] A ninth aspect provides a communication device, the network-side device including a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the method as described in the first or third aspect.

[0014] In a tenth aspect, a communication device is provided, including a processor and a communication interface, wherein:

[0015] The communication interface is used to receive DNS queries to obtain fully qualified domain names (FQDNs); it is also used to send first information to a second communication device; the first information includes the FQDN, or N server IP addresses corresponding to the FQDN; N is a positive integer; the processor is used to obtain server experience information corresponding to the N server IP addresses from the second communication device; the server experience information is used to indicate the service experience of each server corresponding to the server IP address; the sending module is also used to send a DNS response to the terminal based on the server experience information.

[0016] or,

[0017] The processor is used to acquire N server IP addresses; it is also used to query the server experience information of the N server IP addresses from the database based on the N server IP addresses acquired by the acquisition module; N is a positive integer; the communication interface is used to send the server experience information queried by the query module to the target device; wherein the target device includes a terminal or a first communication device; the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses.

[0018] Eleventhly, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or the steps of the method described in the third aspect, or the steps of the method described in the fifth aspect.

[0019] In a twelfth aspect, a chip is provided, the chip including a processor and a communication interface coupled to the processor, the processor being configured to run a program or instructions to implement the method as described in the first aspect, or the method as described in the third aspect, or the method as described in the fifth aspect.

[0020] In a thirteenth aspect, a computer program / program product is provided, the computer program / program product being stored in a non-volatile storage medium, the program / program product being executed by at least one processor to implement the steps of the method as described in the first aspect, or the steps of the method as described in the third aspect, or the steps of the method as described in the fifth aspect.

[0021] In this embodiment, after obtaining N server IP addresses corresponding to a certain FQDN, the second communication device can query the server experience information corresponding to the N server IP addresses, and then send the server experience information corresponding to the N server IP addresses to the first communication device or terminal. Since this server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the first communication device or terminal can optimize DNS responses based on the quality of the service experience of the server corresponding to each server IP address, allowing the terminal to always choose the IP address with the best experience to initiate a service connection, thus improving the system's communication efficiency. Attached Figure Description

[0022] Figure 1 This is a system architecture diagram of a communication system provided in an embodiment of this application;

[0023] Figure 2 This is one of the flowcharts illustrating a DNS query method provided in this application embodiment;

[0024] Figure 3 This is a second schematic flowchart of a DNS query method provided in an embodiment of this application;

[0025] Figure 4 This is the third flowchart illustrating a DNS query method provided in this application embodiment;

[0026] Figure 5 This is the fourth flowchart illustrating a DNS query method provided in this application embodiment;

[0027] Figure 6 This is the fifth flowchart illustrating a DNS query method provided in this application embodiment;

[0028] Figure 7 This is the sixth flowchart illustrating a DNS query method provided in this application embodiment;

[0029] Figure 8 This is the seventh flowchart of a DNS query method provided in the embodiments of this application;

[0030] Figure 9 This is the eighth flowchart illustrating a DNS query method provided in this application embodiment;

[0031] Figure 10 This is the ninth flowchart of a DNS query method provided in the embodiments of this application;

[0032] Figure 11 This is the tenth flowchart illustrating a DNS query method provided in this application embodiment;

[0033] Figure 12 This is eleventh of the flowcharts illustrating a DNS query method provided in this application embodiment;

[0034] Figure 13 This is the twelfth schematic diagram of a DNS query method provided in the embodiments of this application;

[0035] Figure 14 This is the twelfth schematic diagram of a DNS query method provided in the embodiments of this application;

[0036] Figure 15 This is one of the structural schematic diagrams of a DNS query device provided in the embodiments of this application;

[0037] Figure 16 This is a second schematic diagram of the structure of a DNS query device provided in an embodiment of this application;

[0038] Figure 17 This is a third schematic diagram of the structure of a DNS query device provided in the embodiments of this application;

[0039] Figure 18 This is the fourth schematic diagram of a DNS query device provided in the embodiments of this application;

[0040] Figure 19 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0041] Figure 20 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application;

[0042] Figure 21 This is a schematic diagram of the structure of a network-side device provided in an embodiment of this application. Detailed Implementation

[0043] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0044] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0045] It is worth noting that the technologies described in this application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency-Division Multiple Access (SC-FDMA), and other systems. The terms "system" and "network" in this application are often used interchangeably, and the described technologies can be used with the systems and radio technologies mentioned above, as well as with other systems and radio technologies. The following description describes New Radio (NR) systems for illustrative purposes, and the term NR is used in most of the following description; however, these technologies can also be applied to applications other than NR systems, such as 6th generation (6G) radio systems. th Generation 6G communication system.

[0046] Figure 1 This diagram illustrates a block diagram of a wireless communication system applicable to embodiments of this application. The wireless communication system includes a terminal 11 and a communication device 12.

[0047] Terminal 11 can be a mobile phone, tablet computer, laptop computer (also known as a notebook computer), personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device, vehicle-mounted device (VUE), pedestrian terminal (PUE), smart home (home devices with wireless communication capabilities, such as refrigerators, televisions, washing machines, or furniture), etc. Wearable devices include: smartwatches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart chains, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, game consoles, etc. It should be noted that the specific type of terminal 11 is not limited in this embodiment.

[0048] The communication equipment can be a network-side device, and the network-side device 12 can be a base station or a core network element. The base station can be referred to as a node B, evolved node B, access point, base transceiver station (BTS), radio base station, radio transceiver, basic service set (BSS), extended service set (ESS), B node, evolved B node (eNB), home B node, home evolved B node, WLAN access point, WiFi node, transmitting and receiving point (TRP), or any other suitable term in the field, as long as the same technical effect is achieved. The base station is not limited to specific technical terms. It should be noted that in this application embodiment, only the base station in the NR system is used as an example, but the specific type of base station is not limited.

[0049] For example, the communication device 12 mentioned above includes a first communication device, a second communication device, and a third communication device.

[0050] In one example, the first communication device described above may be a DNS server or an AF application function.

[0051] In one example, the aforementioned second communication device can be a Network Data Analysis Function (NWDAF), a new network element proposed by SA2, used to collect data from network elements and OAM, and to provide network elements with analysis information, analysis results, and other functions.

[0052] In one example, the aforementioned third communication device could be EASDF (Edge Application Server Discovery Function, a new 3GPP core network element proposed by SA2 to handle DNS query requests sent by the UE; EASDF is also known as LDNSR (a name change for local DNS resolver)) or SMF, or AF.

[0053] Generally, the EASDF is a network element used to handle UE DNS queries. In related technologies, the UE sends a DNS query to the EASDF. The EASDF then determines whether to send the DNS query to the C-DNS central DNS or the L-DNS local DNS based on the DNS query. It then sends the FQDN and other information from the DNS query to the SMF. The SMF provides the EASDF with the IP address of the corresponding DNS server, such as the C-DNS or L-DNS IP address. The C-DNS or L-DNS then resolves the FQDN, finds the corresponding IP address, and sends it to the EASDF. The EASDF saves the query result to the SMF and then sends it to the UE. In this way, the UE obtains the server IP address for the requested FQDN.

[0054] The NWDAF network element can collect data from other 5GC network elements, AF, OAM, etc., and provide certain analysis functions. NWDAF can obtain the IP address and FQDN of the application server from AF. Essentially, if the UE has previously established communication or a connection with a certain application server, then the server's IP address or FQDN is recorded in NWDAF. At the same time, AF can also provide relevant data about the application server, such as server location information and server performance data (e.g., packet loss rate, throughput, etc.).

[0055] Based on this, embodiments of this application provide a DNS query method, apparatus, device, and medium. After obtaining N server IP addresses corresponding to a certain FQDN, the second communication device can query the server experience information corresponding to the N server IP addresses, and then send the server experience information corresponding to the N server IP addresses to the first communication device or terminal. Since the server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the first communication device or terminal can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address, allowing the terminal to select the IP address with the best experience to initiate a service connection each time, thereby improving the communication efficiency of the system.

[0056] The DNS query method provided in this application will be described in detail below with reference to the accompanying drawings, through some embodiments and application scenarios.

[0057] This application provides a DNS query method, such as... Figure 2 As shown, the method includes the following steps 201 to 204:

[0058] Step 201: The first communication device receives a DNS query and obtains the FQDN.

[0059] In this embodiment of the application, the first communication device can receive a DNS query from the terminal and obtain the FQDN from the DNS query.

[0060] Step 202: The first communication device sends the first information to the second communication device.

[0061] In this embodiment of the application, the first information mentioned above includes the FQDN, or the N server IP addresses corresponding to the FQDN; N is a positive integer.

[0062] For example, a first communication device sends first information to a second communication device via a first signaling message, requesting server experience information. This first signaling message can be: an NWDAF analysis information request (Nnwdaf_AnalyticsInfo_Request) or an NWDAF analysis subscription (Nnwdaf_AnalyticsSubscription_Subscribe). This first signaling message contains the following parameters:

[0063] Analytics ID = Service Experience; this entry indicates a request for a service experience.

[0064] Target of Analytics Reporting = any UE (User Experience). This clause indicates that the analysis target is any UE.

[0065] Analytics Filter information includes at least one of the following: Application ID (used to identify the application), Analytics targetperiod (the time period for the requested analysis), Single Network Slice Selection Assistance Information (S-NSSAI), Data Network Name (DNN), Application Server Address(es), Area of ​​Interest (i.e., only the corresponding results within a certain area are obtained), UPF info (UPF information, i.e., the information of the UPF currently serving the UE, such as UPF ID, UPF IP address, etc.), Data Network Access Identifier ID (DNAI), UE location, FQDN (domain name in DNS lookup), and Application server instance IP address (i.e., the server IP address obtained after resolving the FQDN).

[0066] UE location refers to UE location information, such as cell ID, TAI (tracking area ID) table, etc.

[0067] In this embodiment, the first communication device can subscribe to or request server experience information by sending first information to the second communication device. In one example, after successfully subscribing to the server experience information, the second communication device will periodically or after the subscribed server experience information is updated will send the server experience information back to the first communication device. In another example, the first communication device may, upon receiving a new DNS query, directly sort the server IP addresses obtained after FQDN resolution based on the server experience information, without triggering a new server experience information retrieval request.

[0068] Step 203: The first communication device obtains N server experience information from the second communication device.

[0069] In this embodiment, the aforementioned N server experience information pieces correspond to the N server IP addresses obtained after resolving the FQDN; that is, one server experience information piece corresponds to one of the server IP addresses obtained after resolving the FQDN. Each of the aforementioned N server experience information pieces is used to indicate the service experience of the server corresponding to its respective server IP address.

[0070] In this embodiment of the application, the aforementioned N server experience information are obtained by the second communication device from the database based on the first information.

[0071] In this embodiment of the application, the server experience information includes at least one of the following: response latency, uplink and downlink transmission rates, uplink and downlink bandwidth, packet loss rate, and maximum rate.

[0072] For example, the second communication device sends N server experience information messages to the first communication device via a second signaling message. This second signaling message includes either an analytics information request response (Nnwdaf AnalyticsInfo Request response) or an analytics subscription notification (Nnwdaf AnalyticsSubscription Notify). The server experience information is provided in this signaling message.

[0073] Step 204: The first communication device sends a DNS response to the terminal based on the server experience information corresponding to the N server IP addresses.

[0074] Optionally, in this embodiment of the application, the DNS response includes the aforementioned N server IP addresses.

[0075] Optionally, in the embodiments of this application, the above-mentioned DNS response further includes at least one of the following:

[0076] Server experience information corresponding to the above N server IP addresses.

[0077] The sorting information corresponding to the above N server IP addresses

[0078] Target server IP address;

[0079] The sorting information corresponding to the above N server IP addresses is used to characterize the quality of the service experience of the server corresponding to each server IP address; the sorting information corresponding to the above N server IP addresses is determined based on the server experience information; the above target server IP address is determined based on the server experience information, and the above target server IP address is at least one of the N server IP addresses, that is, the above DNS response can indicate one or more server IP addresses so that the UE can make a selection.

[0080] Further, optionally, in this embodiment of the application, the sorting information corresponding to the above-mentioned N server IP addresses includes:

[0081] The sorted list corresponding to the above N server IP addresses;

[0082] Priority information corresponding to the above N server IP addresses;

[0083] The N server IP addresses after sorting.

[0084] For example, the first communication device can determine the server IP address and the priority order of the server IP address in the DNS response sent to the terminal by subscribing to or requesting server experience information in the second communication device.

[0085] In one example, the DNS response above contains N sorted server IP addresses.

[0086] In one example, in addition to including N unordered server IP addresses (i.e., N out-of-order server IP addresses) in the DNS response, the DNS response may also include at least one of the following: server experience information corresponding to the N server IP addresses, target server IP address, sorting list corresponding to the N server IP addresses, and priority information corresponding to the N server IP addresses.

[0087] In one example, in the DNS response, the first communication device and the terminal can default to the first server IP address having the highest priority, or the first server IP address can be defaulted to the preferred access IP address. Alternatively, the first communication device can assign priority tags to multiple IP addresses in the DNS response to distinguish that different IP addresses have different priorities. It should be noted that the terminal in this embodiment has the ability to identify priorities and can select an appropriate server IP address (e.g., select the server IP address with the highest priority or default to the first server IP address) for access based on the priority information in the DNS response. The terminal in this embodiment can also negotiate with the first communication device (e.g., a DNS server), that is, default to the first server IP address having the highest priority in the DNS response.

[0088] Optionally, in this embodiment of the application, the first communication device can send a DNS response to the terminal via a NAS message.

[0089] Optionally, in this embodiment of the application, while the first communication device sends the first information to the second communication device, it may also send the following information to the second communication device, such as UPF information, data network access identifier (DN AccessIdentifier, DNAI), data network name (DNN), etc.

[0090] Optionally, in this embodiment of the application, the N server IP addresses corresponding to the above FQDN can be obtained through the following two implementation methods.

[0091] The first possible implementation:

[0092] For example, if the first information includes N server IP addresses, before step 202 above, the DNS query method provided in this application embodiment may include the following step 202a:

[0093] Step 202a: The first communication device performs DNS resolution based on the FQDN to obtain N server IP addresses that match the FQDN.

[0094] For example, taking the first communication device as a DNS server, after receiving a DNS query and obtaining the FQDN, the DNS server can resolve the FQDN to obtain the N server IP addresses corresponding to that FQDN. Simultaneously, the DNS server sends these multiple server IP addresses to the NWDAF (i.e., the aforementioned second communication device) to obtain server experience information for the servers corresponding to these IP addresses.

[0095] The second possible implementation:

[0096] For example, if the first information includes the FQDN, after step 202, the DNS query method provided in this application embodiment may include the following step 202b:

[0097] Step 202b: The first communication device obtains N server IP addresses from the second communication device.

[0098] Among them, the above N server IP addresses are obtained by the second communication device from the database based on the FQDN.

[0099] For example, taking the first communication device as a DNS server, after receiving a DNS query and obtaining the FQDN, the DNS server does not resolve the FQDN. Instead, it sends the FQDN to the second communication device, allowing the second communication device to use the FQDN, terminal location information, etc., to find the server IP address matching the FQDN and the corresponding server experience information in its own database. It can be understood that the DNS server can act as an AF (Application Provider) to subscribe to the server experience information (i.e., service experience information) of a specific server in the second communication device. For example, when the DNS server receives a DNS query request for the FQDN: www.baidu.com, it sends the FQDN to the NWDAF (i.e., the aforementioned second communication device). The NWDAF provides the DNS server with the server IP address as the result of domain name resolution. Essentially, the NWDAF provides the DNS server with the query response (server IP address) and then provides the DNS server with the experience information corresponding to that server IP address.

[0100] Optionally, in this embodiment of the application, step 204 may include the following step 204a:

[0101] Step 204a: The first communication device sorts the N server IP addresses based on the N server experience information and sends a DNS response to the terminal.

[0102] The DNS response mentioned above contains sorting information corresponding to the N server IP addresses.

[0103] For example, the DNS response includes the IP addresses of server 1 and server 2. Server 1 has an end-to-end latency of 10ms, while server 2 has an end-to-end latency of 20ms. Therefore, server 1 can be considered to have a better server experience than server 2, and should be given higher priority or be the default first order.

[0104] In the DNS query method provided in this application embodiment, after receiving a DNS query, the first communication device obtains the FQDN and then sends first information (i.e., the FQDN or N server addresses corresponding to the FQDN) to the second communication device. This allows the second communication device to query the server experience information corresponding to the N server addresses based on the first information, and then send the server experience information corresponding to the N server IP addresses back to the first communication device. Since the server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the first communication device can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address. This allows the terminal to always choose the IP address with the best experience to initiate a service connection, improving the system's communication efficiency.

[0105] This application provides a DNS query method, such as... Figure 3 As shown, the method includes the following steps 301 and 302:

[0106] Step 301: The terminal receives a DNS response from the first communication device.

[0107] In this embodiment of the application, the DNS response includes: N server IP addresses;

[0108] Step 302: The terminal determines the target server IP address based on the DNS response.

[0109] In this embodiment of the application, the target server IP address is related to server experience information corresponding to N server IP addresses; the server experience information is used to indicate the service experience of the server corresponding to each server IP address; the target server IP address is at least one of the N server IP addresses; N is a positive integer.

[0110] Optionally, in this embodiment, after the terminal determines the target server IP address based on the DNS response, the terminal can also establish a service connection based on the target server IP address. For example, if the target server IP address includes multiple server IP addresses, the terminal can randomly select one server IP address to establish a service connection, or it can select one server IP address according to the sorting or priority of the multiple server IP addresses. It is understood that the DNS response may also include sorting information for some of the N server IP addresses.

[0111] Optionally, in this embodiment of the application, the N server IP addresses included in the DNS response are sorted N server IP addresses, which are obtained by sorting N server experience information.

[0112] Optionally, in this embodiment of the application, the N server IP addresses included in the DNS response are N server IP addresses in out-of-order.

[0113] In the first possible example:

[0114] After obtaining the N server IP addresses, the terminal can request server experience information corresponding to the N server IP addresses from the second communication device, and then determine the target server IP address based on the server experience information.

[0115] For example, such as Figure 4 As shown, step 302 above may include the following steps 302a, 302b and 302c:

[0116] Step 302a: The terminal sends N server IP addresses to the second communication device. For example, the terminal triggers a subscription or request to NWDAF (e.g., Nnwdaf AnalyticsInfo Request, or a NnwdafAnalyticsSubscription Subscribe); the request includes: UE IP address, UE ID (SUPI, GPSI, PEI permanent device identifier, etc.), UE location information, etc.

[0117] Step 302b: After the second communication device obtains the server experience information corresponding to the N server IP addresses, it sends the server experience information to the terminal.

[0118] For example, after receiving N server IP addresses, the second communication device can query the server experience information corresponding to those N server IP addresses from the database.

[0119] Step 302c: The terminal receives server experience information corresponding to N server IP addresses sent by the second communication device.

[0120] Step 302d: Based on the above N server experience information, the terminal determines the target server IP address from the N server IP addresses.

[0121] In one example, the terminal can sort the N server IP addresses based on the aforementioned server experience information, and then determine the target server IP address from the N server IP addresses according to the sorting information.

[0122] In the second possible example:

[0123] In addition to the N server IP addresses, the DNS response described above may also include at least one of the following: server location information, sorting information corresponding to the N server IP addresses, and the target server IP address. In this way, the terminal can determine the target server IP address based on this information.

[0124] For example, a terminal can subscribe to server experience information in a second communication device, thereby determining which IP address should be prioritized in a DNS response by using the server experience information corresponding to each server IP address.

[0125] For example, if the DNS response contains information about N servers, the terminal can sort the N server IP addresses and then determine the target server IP address from the N server IP addresses according to the sorting information.

[0126] For example, step 302a above may also include the following step 302a1:

[0127] Step 302a1: The terminal sends N server IP addresses to the second communication device through the third communication device.

[0128] In the third possible example:

[0129] For example, such as Figure 5 As shown, step 302 above may include the following steps 302b1, 302b2 and 302b3:

[0130] Step 302b1: The terminal sends N server IP addresses to the second communication device through the third communication device.

[0131] Step 302b2: The second communication device sends the server experience information corresponding to the N server IP addresses back to the third communication device.

[0132] For example, the terminal first sends N server IP addresses, along with the UE IP address, UE ID (e.g., SUPI, GPSI, PEI permanent device identifier, etc.), UE location information, etc., to the third communication device. After receiving the terminal's information, the third communication device triggers a request for NWDAF experience information: an Nnwdaf AnalyticsInfo Request or an NnwdafAnalyticsSubscription Subscribe; the parameters included in this request are as follows:

[0133] Analytics ID = Service Experience, this entry indicates a request for service experience;

[0134] Target of Analytics Reporting = any UE. This item indicates that the analysis target is any UE.

[0135] Analytics Filter information=(Application ID,Analytics targetperiod,S-NSSAI,DNN,Application Server Address(es),Area of ​​Interest,UPF info,DNAI,UE location,FQDN,Application server instance IP address);

[0136] UE IP address, UE ID (e.g., Subscription Permanent Identifier (SUPI), Generic Public Subscription Identifier (GPSI), Permanent Equipment Identifier (PEI), etc.), UE location information, etc.

[0137] Step 302b3: The third communication device determines the DNS information based on the server experience information.

[0138] Step 302b4: The terminal receives DNS information sent by the third communication device.

[0139] Step 302b5: The terminal determines the target server IP address based on DNS information.

[0140] The aforementioned DNS information is determined by the third communication device based on the server experience information corresponding to the N server IP addresses fed back by the second communication device.

[0141] For example, taking the third communication device as SMF, EASDF, or AF, SMF, EASDF, or AF can request the service experience of each IP address based on the IP address in the DNS response. Then, it can send the IP address of the server with the best service experience to the terminal to inform the terminal that the IP is the best in the DNS response.

[0142] Furthermore, the aforementioned DNS information includes at least one of the following:

[0143] The sorted list corresponding to the above N server IP addresses;

[0144] Priority information corresponding to the above N server IP addresses;

[0145] The N server IP addresses after sorting.

[0146] In one example, the DNS response above contains N server IP addresses that are not ordered (i.e., N server IP addresses in out of order). Conversely, the DNS information above contains N server IP addresses that are ordered.

[0147] In one example, the DNS information mentioned above may include at least one of the following: server experience information corresponding to the N server IP addresses, target server IP address, sorting list corresponding to the N server IP addresses, and priority information corresponding to the N server IP addresses.

[0148] In one example, in the DNS information, the third communication device may default to the first server IP address as having the highest priority, or it may default to the first server IP address as the preferred access IP address. Alternatively, the first communication device may assign priority marks to multiple IP addresses in the DNS information. It should be noted that the terminal in this embodiment has the ability to identify priorities and can select an appropriate server IP address (e.g., select the server IP address with the highest priority or default to the first server IP address) for access based on the priority information in the DNS information.

[0149] It should be noted that the third communication device may also send the server experience information directly to the terminal without sorting it, leaving the terminal to analyze or sort it.

[0150] For example, after obtaining the sorted list of the aforementioned N server IP addresses, or the sorted N server IP addresses, the terminal can select the server IP address that is first in the default sort as the optimal server IP address (i.e., the target server IP address), thus ensuring that the address used to initiate a service connection is the optimal address each time. Alternatively, the UE can try each address in the sorted order, and if a connection is successfully established, it will proceed; if it fails to establish a connection, it will try the next one. For instance, in the DNS response for the address www.baidu.com, there are three IP addresses, ordered as follows: 10.1.1.1, 10.1.1.2, and 10.1.1.3. The terminal will first try the first one: 10.1.1.1, and if the service connection fails, it will then try the second one: 10.1.1.2.

[0151] For example, after the terminal learns the priority information of the above N server IP addresses, the terminal can access and establish service connections in order of priority from high to low.

[0152] In the DNS query method provided in this application embodiment, after receiving a DNS response, the terminal can determine the target server IP address from the N server IP addresses contained in the DNS response. Since the target server IP address is related to the server experience information corresponding to the N server addresses, and the N server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the terminal can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address. This allows the terminal to always choose the IP address with the best experience to initiate a service connection, improving the system's communication efficiency.

[0153] This application provides a DNS query method, such as... Figure 6 As shown, the method includes the following steps 401 to 403:

[0154] Step 401: The second communication device obtains N server IP addresses.

[0155] Step 402: The second communication device retrieves server experience information for N server IP addresses from the database based on the N server IP addresses.

[0156] Step 403: The second communication device sends N server experience information to the target device.

[0157] The target device includes a terminal, a first communication device, or a third communication device; the server experience information is used to indicate the service experience of the server corresponding to each server IP address.

[0158] Optionally, in the embodiments of this application, the process of the second communication device obtaining N server IP addresses can be implemented in at least two of the following ways.

[0159] The first possible implementation:

[0160] For example, such as Figure 7 As shown, when the target device is the first communication device, step 401 above may include the following steps 401a1 to 401a3:

[0161] Step 401a1: The first communication device sends the FQDN to the second communication device.

[0162] Step 401a2: The second communication device receives the FQDN from the first communication device.

[0163] Step 401a3: The second communication device performs a database query based on the FQDN to obtain N server IP addresses that match the FQDN.

[0164] In one example, after step 401a3 above, the DNS query method provided in this application embodiment may include the following: the second communication device sends N server IP addresses to the first communication device.

[0165] The second possible implementation:

[0166] For example, such as Figure 8 As shown in the figure (using the target device as an example terminal), step 401 above may include the following step 401b:

[0167] Step 401b1: The target device sends N server IP addresses to the second communication device.

[0168] Step 401b2: The second communication device receives N server IP addresses from the target device.

[0169] In the DNS query method provided in this application embodiment, after obtaining N server IP addresses corresponding to a certain FQDN, the second communication device can query the server experience information corresponding to the N server IP addresses, and then send the server experience information corresponding to the N server IP addresses to the first communication device or terminal. Since the server experience information is used to indicate the service experience of the server corresponding to each of the above N server IP addresses, the first communication device or terminal can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address, so that the terminal can always choose the IP address with the best experience to initiate a service connection, thereby improving the communication efficiency of the system.

[0170] The technical solutions provided in this application will be illustrated by several embodiments below. Specifically, the first communication device is a DNS server, and the second communication device is an NWDAF.

[0171] Example 1: DNS server requests server IP address and server status information

[0172] like Figure 9 As shown:

[0173] Step 1: The UE sends a DNS query to the DNS server.

[0174] Step 2: After receiving a DNS query, the DNS server can obtain the FQDN.

[0175] Step 3: The DNS server subscribes to or requests server experience information from the application server based on the FQDN.

[0176] Specifically, the DNS server can subscribe to the application server's server experience information from NWDAF. That is, taking subscription as an example, steps 1 to 4, through subscription, allow the server IP address experience information to be provided once, and the experience information will be continuously updated and sent to the DNS server whenever it is updated or after a period of time.

[0177] For example, a DNS server can subscribe to application server experience information from NWDAF via a first signaling message. This first signaling message includes either an NWDAF AnalyticsInfo Request or an NWDAF AnalyticsSubscription Subscribe. This signaling message contains the following parameters:

[0178] Analytics ID = Service Experience, this entry indicates a request for service experience;

[0179] Target of Analytics Reporting = any UE. This item indicates that the analysis target is any UE.

[0180] Analytics Filter information=(Application ID,Analytics targetperiod,S-NSSAI,DNN,Application Server Address(es),Area of ​​Interest,UPF info,DNAI,UE location,FQDN,Application server instance IP address);

[0181] And UE IP address, UE ID, UE location information, etc.

[0182] In this way, the DNS server can subscribe to the server IP address corresponding to a certain FQDN in a certain zone of NWDAF, or the corresponding service experience information.

[0183] Step 4: NWDAF provides the DNS server with server experience information for the server IP address or the server IP address corresponding to the FQDN.

[0184] For example, NWDAF can find the corresponding server IP address and the server experience information of the server corresponding to the server IP address based on the FQDN and region information.

[0185] For example, NWDAF can provide server experience information to the DNS server via a second signaling message. This second signaling message includes either the Nnwdaf_AnalyticsInfo_Request response or the Nnwdaf_AnalyticsSubscription_Notify.

[0186] For example, the server experience information mentioned above includes at least one of the following:

[0187] Service Experience Type: Type of Service Experience analytics, egonvoice, video, other (This refers to the type of service experience, such as the type of service experience analytics, for example, whether it is a voice service or a video service, etc.);

[0188] Service Experience: Service experience over the Analytics target period (average, variance). For example, bandwidth, uplink / downlink speed, packet loss rate, etc. (This refers to the service experience, such as the average or variance of the service experience over a certain period of time. The service experience includes various communication metrics such as bandwidth, uplink / downlink speed, packet loss rate, response latency, and end-to-end latency).

[0189] Application Server Instance Address: Identifies the Application Server Instance (IP address of the Application Server) or FQDN of the Application Server; this is the application server address.

[0190] Step 5: Based on the results returned by NWDAF, the DNS server can perform three actions:

[0191] The first method: Use the server IP address returned by NWDAF as the DNS response.

[0192] The second method involves the DNS server resolving the FQDN in the DNS query and using the resolved IP address as the DNS response.

[0193] The third method involves the DNS server resolving the FQDN in the DNS query and using this FQDN along with the server IP address returned by the NWDAF as the DNS response. Simultaneously, the DNS server can also sort these server IP addresses, based on the server information returned by the NWDAF.

[0194] It should be noted that a DNS server can place the optimal server IP address at the beginning of the IP address list in the DNS response, can assign priority to these server IP addresses, and can also sort these server IP addresses according to the quality of their respective server's service experience.

[0195] Step 6: The DNS server sends a DNS response to the UE.

[0196] Step 7: The UE selects the server IP address with the highest priority or first ranking for access and service connection establishment. That is, it prioritizes initiating a connection from the IP address offering the best service experience. This demonstrates the UE's ability to identify the IP address corresponding to the optimal server experience information.

[0197] Example 2: The DNS server sorts server IP addresses based on server experience information.

[0198] like Figure 10 As shown:

[0199] Steps 1-3: Refer to Example 1.

[0200] Step 4: The DNS server resolves multiple server IP addresses based on the FQDN in the DNS query and uses them as the DNS response.

[0201] Step 5: Based on the multiple server IP addresses obtained from the DNS resolution, the DNS server can trigger a server experience information request to NWDAF.

[0202] For example, the process of triggering a server experience information request to NWDAF can be referred to step 4 in the embodiment, which will not be repeated here.

[0203] Step 6: NWDAF provides the DNS server with server experience information for the server IP address or the server IP address corresponding to the FQDN.

[0204] For example, the process of step 6 above can refer to step 4 in embodiment 1, and will not be repeated here.

[0205] Step 7: The DNS server sorts the multiple server IP addresses in the DNS response based on the server experience information provided by NWDAF.

[0206] Generally, you can default to the IP address of the server that ranks first, as it provides the best server experience. That is, select the IP address with the best service experience to initiate connections first.

[0207] In addition, the DNS server can also assign priority to each server IP address based on server experience information.

[0208] Steps 8-9: Same as steps 6-7 in one embodiment.

[0209] Example 3: UE Direct Subscription

[0210] like Figure 11 As shown:

[0211] Step 1: The DNS server sends a DNS response to the UE.

[0212] Step 2: Based on the multiple server IP addresses in the DNS response, the UE can trigger a server experience information request to NWDAF, such as... Figure 11The application server experience information subscription is shown in the image.

[0213] Specifically, the UE can subscribe to the application server experience information of the application server from the NWDAF.

[0214] For example, the UE can subscribe to the application server's server experience information from the NWDAF via a first signaling message. This first signaling message includes either: Nnwdaf_AnalyticsInfo_Request, or Nnwdaf_AnalyticsSubscription_Subscribe.

[0215] For example, when a UE subscribes to the application server's server experience information from the NWDAF, it can send at least one of the following parameters to the NWDAF:

[0216] Analytics ID=Service Experience;

[0217] Target of Analytics Reporting=any UE;

[0218] Analytics Filter information=(Application ID, Analytics target period, S-NSSAI, DNN, Area of ​​Interest, DNAI, Spatial validity, FQDN, ApplicationServer Instance Address);

[0219] And UE IP address, UE ID, UE location information, etc.

[0220] The UE subscribed to the service experience information corresponding to a certain FQDN in a certain region from the NWDAF.

[0221] The UE may also indirectly request or subscribe to server experience information in NWDAF through 5GC network elements such as SMF / AMF.

[0222] Step 3: NWDAF provides the UE with server experience information corresponding to the server IP address or FQDN, such as... Figure 11 The application server experience information shown in the image is provided.

[0223] For example, the process of step 6 can refer to step 5 in embodiment 1, and will not be repeated here.

[0224] For example, NWDAF may also indirectly provide the UE with server experience information corresponding to the server IP address through 5GC network elements such as SMF / AMF.

[0225] Step 4: Same as Step 7 (Explanation of UE capabilities) in Implementation Example 1, that is, select the IP address with the best service experience to initiate the connection first.

[0226] Example 4: UE indirectly subscribes via AF

[0227] like Figure 12 As shown:

[0228] Step 1: The UE receives a DNS response containing multiple server IP addresses.

[0229] Step 2: The UE establishes a connection with the AF and sends the multiple server IP addresses from the DNS response to the AF.

[0230] Step 3: AF triggers NWDAF application server experience information subscription or retrieval, such as Figure 12 The application server experience information subscription / retrieval shown is displayed.

[0231] For example, the process of step 3 can refer to step 3 of embodiment 1, and will not be repeated here.

[0232] Step 4: NWDAF provides service experience information corresponding to each server IP address, such as... Figure 13 The application server experience information shown is provided.

[0233] Step 5: The AF then sends the service experience information corresponding to each server IP address to the UE, or the AF sends the server IP address with the best experience information to the UE.

[0234] Step 6: The UE selects the server address with the best service experience to establish a connection or access the server.

[0235] Example 5: SMF Request Experience Information

[0236] like Figure 13 As shown:

[0237] Step 1: The UE sends a DNS query.

[0238] This DNS query is forwarded to the DNS server via EASDF.

[0239] Step 2: The DNS server resolves the FQDN in the DNS query to obtain N server IP addresses, and then sends these N server IP addresses to the UE via EASDF.

[0240] Step 3: The DNS server sends a DNS response to EASDF, which includes N server IP addresses.

[0241] Step 4: EASDF can send multiple server IP addresses to SMF.

[0242] Step 5: SMF requests server experience information (the process is the same as steps 5-6 in Example 2, except that the DNS server request is replaced by an SMF request); then, NWDAF provides SMF with server experience information corresponding to each server IP address, so that SMF can determine the best server IP address among these server IP addresses based on this server experience information.

[0243] Step 6: SMF will send the server experience information back to EASDF, and can also send the best server IP address determined based on the experience information to EASDF.

[0244] For example, EASDF sends the best server IP address, or a sorted list of multiple IP addresses, to the UE. EASDF can sort multiple IP addresses or determine the best IP address based on user experience information.

[0245] Step 7: EASDF sends a DNS response to the UE, which contains sorting information for multiple IP addresses, or sorted multiple IP addresses.

[0246] For example, the UE has the ability to identify the IP address corresponding to the optimal server experience information. The UE receives a DNS response and obtains multiple server IP addresses from it.

[0247] Step 8: The UE selects the IP address with the highest priority or the first ranked IP address, or the server IP address indicated by the SMF, to access and establish a service connection.

[0248] Example 6: NAS Message Provides Optimal Server Address

[0249] like Figure 14 As shown:

[0250] Step 1: The UE sends a DNS query. This DNS query is forwarded to the DNS server via EASDF.

[0251] Step 2: The DNS server resolves the FQDN in the DNS query to obtain N server IP addresses, and then sends these N server IP addresses to the UE via EASDF.

[0252] Step 3: EASDF requests server experience information based on multiple IP addresses in the DNS response. The signaling for this request is from EASDF to NWDAF, as shown in Step 3 of Example 1. Then, NWDAF provides the server experience information.

[0253] Step 4: EASDF sends the server experience information to SMF.

[0254] Step 5: The SMF sends the best server IP address to the UE via NAS message, or sends the sorting information of N server IP addresses to the UE.

[0255] For example, the process of sending the best server IP address described above can be a NAS process, sent to the UE via ePCO IE.

[0256] Step 6: EASDF sends the DNS response to the UE. Throughout the process, the integrity of the DNS process is not affected.

[0257] Step 7: The UE selects the IP address with the highest priority or the first ranked IP address, or the server IP address indicated by the SMF, to access and establish a service connection.

[0258] It should be noted that the DNS query method provided in this application embodiment can be executed by a DNS query device, or by a control module within the DNS query device for executing the DNS query method. This application embodiment uses the execution of the DNS query method by a DNS query device as an example to illustrate the DNS query device provided in this application embodiment.

[0259] This application provides a DNS query device, such as... Figure 15 As shown, the device 500 includes: a receiving module 501, a transmitting module 502, and an execution module 503, wherein:

[0260] The receiving module 501 is used to receive a DNS query and obtain an FQDN; the sending module 502 is used to send first information to the second communication device; the first information includes the FQDN, or N server IP addresses corresponding to the FQDN; N is a positive integer; the execution module 503 is used to obtain N server experience information from the second communication device; one of the server experience information corresponds to one server IP address of the FQDN, and each of the server experience information is used to indicate the service experience of the server corresponding to its respective server IP address; the sending module 502 is also used to send a DNS response to the terminal based on the server experience information.

[0261] Optionally, a DNS response may include at least one of the following:

[0262] The above server experience information,

[0263] The sorting information corresponding to the N server IP addresses for the aforementioned FQDN.

[0264] Target server IP address;

[0265] The sorting information is used to characterize the quality of service experience of the server corresponding to each of the above server IP addresses; the target server IP address is determined based on the above server experience information, and the target server IP address is at least one of the above N server IP addresses.

[0266] Optionally, the execution module 503 is further configured to: when the first information includes the N server IP addresses, perform DNS resolution based on the FQDN to obtain the N server IP addresses that match the FQDN.

[0267] Optionally, the first information includes the FQDN; the execution module 503 is further configured to obtain the N server IP addresses from the second communication device; wherein the N server IP addresses are obtained by the second communication device from the database based on the FQDN.

[0268] Optionally, the aforementioned server experience information is obtained by the second communication device from a database based on the aforementioned first information.

[0269] Optionally, the sending module is specifically used to sort the N server IP addresses corresponding to the FQDN based on the aforementioned server experience information and send a DNS response to the terminal; wherein the DNS response contains sorting information corresponding to the aforementioned N server IP addresses.

[0270] Optionally, the sorting information corresponding to the above N server IP addresses includes:

[0271] The sorted list corresponding to the above N server IP addresses;

[0272] Priority information corresponding to the above N server IP addresses;

[0273] The above N server IP addresses have been sorted.

[0274] Optionally, the above server experience information includes at least one of the following:

[0275] Response latency information, uplink and downlink transmission rate information, uplink and downlink bandwidth, packet loss rate, and maximum rate.

[0276] In the DNS query device provided in this application embodiment, after receiving a DNS query, the FQDN is obtained, and then first information (i.e., the FQDN or N server addresses corresponding to the FQDN) is sent to the second communication device. This allows the second communication device to query the server experience information corresponding to the N server addresses based on the first information, and then send the server experience information corresponding to the N server IP addresses to the device. Since the server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the device can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address. This allows the terminal to always choose the IP address with the best experience to initiate a service connection, improving the system's communication efficiency.

[0277] This application provides a DNS query device, such as... Figure 16 As shown, the device 600 includes: a receiving module 601 and a determining module 602, wherein:

[0278] The receiving module 601 is used to receive a DNS response from the first communication device; the DNS response includes N server IP addresses; the determining module 602 is used to determine a target server IP address based on the DNS response; the target server IP address is related to server experience information corresponding to the N server IP addresses; the server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses; the target server IP address is at least one of the N server IP addresses; N is a positive integer.

[0279] Optionally, the aforementioned DNS response may also include at least one of the following:

[0280] The above server experience information,

[0281] The sorting information corresponding to the above N server IP addresses

[0282] The target server IP address mentioned above;

[0283] The sorting information mentioned above is used to characterize the quality of the service experience of the server corresponding to each server IP address.

[0284] Optionally, such as Figure 17 As shown, the device 600 further includes: a sending module 603, used to send the aforementioned N server IP addresses to the second communication device; a receiving module 601, also used to receive the aforementioned N server experience information sent by the second communication device; and a determining module 602, specifically used to: the terminal determine the aforementioned target server IP address from the aforementioned N server IP addresses based on the aforementioned N server experience information.

[0285] Optionally, the sending module 603 is specifically used to send the aforementioned N server IP addresses to the second communication device via the third communication device.

[0286] Optionally, the sending module 603 is used to send the aforementioned N server IP addresses to the second communication device via the third communication device; the receiving module 601 is used to receive the DNS information sent by the third communication device; and the determining module 602 is specifically used to determine the target server IP address based on the aforementioned DNS information; wherein the aforementioned DNS information is determined by the third communication device based on the server experience information corresponding to the aforementioned N server IP addresses fed back by the second communication device.

[0287] Optionally, the DNS information mentioned above includes at least one of the following:

[0288] The above server experience information,

[0289] The sorting information corresponding to the above N server IP addresses

[0290] The target server IP address mentioned above;

[0291] The sorting information mentioned above is used to characterize the quality of the service experience of the server corresponding to each server IP address.

[0292] Optionally, the sorting information corresponding to the above N server IP addresses includes:

[0293] The sorted list corresponding to the above N server IP addresses;

[0294] Priority information for each server IP address

[0295] The above N server IP addresses have been sorted.

[0296] Optionally, the above server experience information includes at least one of the following:

[0297] Response latency information, uplink and downlink transmission rate information, uplink and downlink bandwidth, packet loss rate, and maximum rate.

[0298] In the DNS query device provided in this application embodiment, upon receiving a DNS response, the target server IP address can be determined from the N server IP addresses contained in the DNS response. Since the target server IP address is related to the server experience information corresponding to the N server addresses, and the N server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the device can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address. This allows the terminal to always select the IP address with the best experience to initiate a service connection, improving the system's communication efficiency.

[0299] This application provides a DNS query device, such as... Figure 18 As shown, the device 700 includes: an acquisition module 701, a query module 702, and a sending module 703, wherein:

[0300] The acquisition module 701 is used to acquire N server IP addresses; the query module 702 is used to query the server experience information of the N server IP addresses from the database based on the N server IP addresses; N is a positive integer; the sending module 703 is used to send the server experience information to the target device; wherein the target device includes any one of the following: a terminal, a first communication device, or a third communication device; the server experience information is used to indicate the service experience of the server corresponding to each of the above server IP addresses.

[0301] Optionally, the acquisition module 701 is specifically used for: receiving an FQDN from the first communication device when the target device is the first communication device; performing a database query based on the FQDN to obtain N server IP addresses that match the FQDN.

[0302] Optionally, the sending module 703 is used to send the aforementioned N server IP addresses to the aforementioned first communication device.

[0303] Optionally, the acquisition module 701 is specifically used to receive N server IP addresses from the aforementioned target device.

[0304] Optionally, the above server experience information includes at least one of the following:

[0305] Response latency information, uplink and downlink transmission rate information, uplink and downlink bandwidth, packet loss rate, and maximum rate.

[0306] In the DNS query device provided in this application embodiment, after obtaining N server IP addresses corresponding to a certain FQDN, the device can query the server experience information corresponding to the N server IP addresses, and then send the server experience information corresponding to the N server IP addresses to a first communication device or terminal. Since the server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the first communication device or terminal can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address, allowing the terminal to always select the IP address with the best experience to initiate a service connection, thus improving the system's communication efficiency.

[0307] The DNS query device in this application embodiment can be a device, a device with an operating system, or an electronic device, or it can be a component, integrated circuit, or chip in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. For example, a mobile terminal can include, but is not limited to, the types of terminals 11 listed above, while a non-mobile terminal can be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. This application embodiment does not impose specific limitations.

[0308] The DNS query device provided in this application embodiment can achieve... Figures 2 to 14 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.

[0309] Optional, such as Figure 19 As shown, this application embodiment also provides a communication device 800, including a processor 801, a memory 802, and a program or instructions stored in the memory 802 and executable on the processor 801. For example, when the communication device 800 is a terminal, the program or instructions executed by the processor 801 implement the various processes that the terminal can execute in the method embodiment of the DNS query method described above, and achieve the same technical effect. When the communication device 800 is a communication device, the program or instructions executed by the processor 801 implement the various processes that the first communication device, the second communication device, and the third communication device in the method embodiment of the DNS query method described above, and achieve the same technical effect. To avoid repetition, further details are omitted here.

[0310] This application embodiment also provides a terminal, including a processor and a communication interface. The communication interface is used to receive a DNS response from a first communication device. The DNS response includes N server IP addresses. The processor is used to determine a target server IP address based on the DNS response. The target server IP address is related to server experience information corresponding to the N server IP addresses. The server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses. The target server IP address is at least one of the N server IP addresses. N is a positive integer. This terminal embodiment corresponds to the above-described terminal-side method embodiment. All implementation processes and methods of the above method embodiments can be applied to this terminal embodiment and achieve the same technical effect. Specifically, Figure 20 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.

[0311] The terminal 100 includes, but is not limited to, at least some of the following components: radio frequency unit 101, network module 102, audio output unit 103, input unit 104, sensor 105, display unit 106, user input unit 107, interface unit 108, memory 109, and processor 110.

[0312] Those skilled in the art will understand that the terminal 100 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 110 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 20 The terminal structure shown does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.

[0313] It should be understood that, in this embodiment, the input unit 104 may include a graphics processing unit (GPU) 1041 and a microphone 1042. The GPU 1041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 106 may include a display panel 1061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 107 includes a touch panel 1071 and other input devices 1072. The touch panel 1071 is also called a touch screen. The touch panel 1071 may include a touch detection device and a touch controller. Other input devices 1072 may include, but are not limited to, a physical keyboard, function keys (such as volume control buttons, power buttons, etc.), a trackball, a mouse, and a joystick, which will not be described in detail here.

[0314] In this embodiment, the radio frequency unit 101 receives downlink data from the network-side device and processes it for the processor 110; additionally, it sends uplink data to the network-side device. Typically, the radio frequency unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc.

[0315] The memory 109 can be used to store software programs or instructions and various data. The memory 109 may primarily include a program or instruction storage area and a data storage area. The program or instruction storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 109 may include high-speed random access memory and non-volatile memory, which may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. For example, at least one disk storage device, flash memory device, or other non-volatile solid-state storage device.

[0316] Processor 110 may include one or more processing units; optionally, processor 110 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications or instructions, and the modem processor mainly handles wireless communication, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 110.

[0317] The radio frequency unit 101 is used to receive a DNS response from the first communication device; the DNS response includes N server IP addresses; the processor 110 is used to determine a target server IP address based on the DNS response; the target server IP address is related to server experience information corresponding to the N server IP addresses; the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses; the target server IP address is at least one of the N server IP addresses; N is a positive integer.

[0318] Optionally, the aforementioned DNS response may also include at least one of the following:

[0319] The above server experience information,

[0320] The sorting information corresponding to the above N server IP addresses

[0321] The target server IP address mentioned above;

[0322] The sorting information mentioned above is used to characterize the quality of the service experience of the server corresponding to each server IP address.

[0323] Optionally, the radio frequency unit 101 is used to send the aforementioned N server IP addresses to the second communication device; the radio frequency unit 101 is also used to receive the aforementioned N server experience information sent by the second communication device; the processor 110 is specifically used to: the terminal determine the aforementioned target server IP address from the aforementioned N server IP addresses based on the aforementioned N server experience information.

[0324] Optionally, the radio frequency unit 101 is specifically used to send the aforementioned N server IP addresses to the second communication device via the third communication device.

[0325] Optionally, the radio frequency unit 101 is used to send the aforementioned N server IP addresses to the second communication device via the third communication device; the radio frequency unit 101 is used to receive DNS information sent by the third communication device; the processor 110 is specifically used to determine the target server IP address based on the aforementioned DNS information; wherein, the aforementioned DNS information is determined by the third communication device based on the server experience information corresponding to the aforementioned N server IP addresses fed back by the second communication device.

[0326] Optionally, the DNS information mentioned above includes at least one of the following:

[0327] The above server experience information,

[0328] The sorting information corresponding to the above N server IP addresses

[0329] The target server IP address mentioned above;

[0330] The sorting information mentioned above is used to characterize the quality of the service experience of the server corresponding to each server IP address.

[0331] Optionally, the sorting information corresponding to the above N server IP addresses includes:

[0332] The sorted list corresponding to the above N server IP addresses;

[0333] Priority information for each server IP address

[0334] The above N server IP addresses have been sorted.

[0335] Optionally, the above server experience information includes at least one of the following:

[0336] Response latency information, uplink and downlink transmission rate information, uplink and downlink bandwidth, packet loss rate, and maximum rate.

[0337] In the terminal provided in this application embodiment, after receiving a DNS response, the terminal can determine the target server IP address from the N server IP addresses contained in the DNS response. Since the target server IP address is related to the server experience information corresponding to the N server addresses, and the N server experience information is used to indicate the service experience of the server corresponding to each of the N server IP addresses, the terminal can optimize the DNS response based on the quality of the service experience of the server corresponding to each server IP address. This allows the terminal to always select the IP address with the best experience to initiate a service connection, improving the system's communication efficiency.

[0338] This application embodiment also provides a network-side device, including a processor and a communication interface, wherein:

[0339] The communication interface is used to receive DNS queries and obtain the FQDN; the communication interface is also used to send first information to the second communication device; the first information includes the FQDN, or N server IP addresses corresponding to the FQDN; N is a positive integer; the processor is used to obtain N server experience information from the second communication device; one of the server experience information corresponds to one server IP address of the FQDN, and each of the server experience information is used to indicate the service experience of the server corresponding to its respective server IP address; the communication interface is also used to send a DNS response to the terminal based on the server experience information.

[0340] The processor is used to obtain N server IP addresses; the processor is also used to query the server experience information of the N server IP addresses from the database based on the N server IP addresses; N is a positive integer; the communication interface is used to send the server experience information to the target device; wherein the target device includes any one of the following: a terminal, a first communication device, a third communication device; the server experience information is used to indicate the service experience of the server corresponding to each of the above server IP addresses.

[0341] The network-side device embodiment corresponds to the method embodiment corresponding to the first or second communication device described above. All implementation processes and methods of the above method embodiment can be applied to the embodiment corresponding to the first or second communication device and can achieve the same technical effect.

[0342] Specifically, embodiments of this application also provide a network-side device. For example... Figure 21 As shown, the network-side device 90 of this embodiment includes: a processor 91, a transceiver 92, a memory 93, a network interface 94, and a bus interface. Figure 21In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 91) and memory (memory 93). The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 92 can be multiple elements, including transmitters and receivers, providing a unit for communicating with various other devices over a transmission medium. Processor 91 is responsible for managing the bus architecture and general processing, and memory 93 can store data used by processor 91 during operation. Additionally, the network-side device includes some functional modules not shown, which will not be described further here.

[0343] Specifically, the network-side device also includes: instructions or programs stored in memory 93 and executable on processor 91. Processor 91 calls the instructions or programs in memory 93 to execute the methods of each module shown in the figure and achieve the same technical effect. To avoid repetition, these will not be described in detail here.

[0344] This application also provides a readable storage medium storing a program or instructions that, when executed by a processor, implement the various processes of the above-described DNS query method embodiment and achieve the same technical effect. To avoid repetition, these will not be described again here.

[0345] The processor mentioned above is the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0346] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described DNS query method embodiment and achieve the same technical effect. To avoid repetition, it will not be described again here.

[0347] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0348] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0349] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0350] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A DNS query method, characterized in that, The method includes: The first communication device receives a DNS query and obtains the fully qualified domain name (FQDN). The first communication device is a DNS server or an AF application function. The first communication device sends first information to the second communication device; the first information includes the FQDN, or N server IP addresses corresponding to the FQDN; N is a positive integer; The first communication device obtains N server experience information from the second communication device; one server experience information corresponds to one server IP address of the FQDN, and each server experience information is used to indicate the service experience of the server corresponding to its respective server IP address; The first communication device sends a DNS response to the terminal based on the server experience information.

2. The method according to claim 1, characterized in that, The DNS response shall include at least one of the following: The server experience information, The sorting information corresponding to the N server IP addresses associated with the FQDN. Target server IP address; The sorting information is used to characterize the quality of the service experience of the server corresponding to each server IP address; the target server IP address is determined based on the server experience information, and the target server IP address is at least one of the N server IP addresses.

3. The method according to claim 1 or 2, characterized in that, If the first information includes the N server IP addresses, before the first communication device sends the first information to the second communication device, the method further includes: The first communication device performs DNS resolution based on the FQDN to obtain N server IP addresses that match the FQDN.

4. The method according to claim 1 or 2, characterized in that, The first information includes the FQDN; After the first communication device sends the first information to the second communication device, the method further includes: The first communication device obtains the N server IP addresses from the second communication device; The N server IP addresses are obtained by the second communication device from the database based on the FQDN.

5. The method according to claim 1, characterized in that, The server experience information is obtained by the second communication device from the database based on the first information.

6. The method according to claim 1, characterized in that, The first communication device sends a DNS response to the terminal based on the server experience information, including: The first communication device sorts the N server IP addresses corresponding to the FQDN based on the server experience information and sends a DNS response to the terminal; The DNS response contains sorting information corresponding to the N server IP addresses.

7. The method according to claim 2 or 6, characterized in that, The sorting information corresponding to the N server IP addresses includes: The sorted list corresponding to the N server IP addresses; Priority information corresponding to the N server IP addresses; The N server IP addresses are sorted.

8. The method according to claim 1, characterized in that, The server experience information includes at least one of the following: Response latency, uplink and downlink transmission rates, uplink and downlink bandwidth, packet loss rate, and maximum speed.

9. A DNS query method, characterized in that, The method includes: The terminal receives a DNS response from a first communication device; the first communication device is a DNS server or an AF application function, and the DNS response includes: N server IP addresses; The terminal determines the target server IP address based on the DNS response; the target server IP address is related to the server experience information corresponding to the N server IP addresses; the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses; the target server IP address is at least one of the N server IP addresses; N is a positive integer.

10. The method according to claim 9, characterized in that, The DNS response also includes at least one of the following: The server experience information, The sorting information corresponding to the N server IP addresses. The target server IP address; The sorting information is used to characterize the quality of the service experience of the server corresponding to each server IP address.

11. The method according to claim 9, characterized in that, The terminal determines the target server IP address based on the DNS response, including: The terminal sends the N server IP addresses to the second communication device; The terminal receives the N server experience information sent by the second communication device; The terminal determines the target server IP address from the N server IP addresses based on the N server experience information.

12. The method according to claim 11, characterized in that, The terminal sends the N server IP addresses to the second communication device, including: The terminal sends the N server IP addresses to the second communication device through the third communication device.

13. The method according to claim 11, characterized in that, The terminal determines the target server IP address based on the DNS response, including: The terminal sends the N server IP addresses to the second communication device via the third communication device; The terminal receives DNS information sent by the third communication device; The terminal determines the target server IP address based on the DNS information; The DNS information is determined by the third communication device based on the server experience information corresponding to the N server IP addresses fed back by the second communication device.

14. The method according to claim 13, characterized in that, The DNS information includes at least one of the following: The server experience information, The sorting information corresponding to the N server IP addresses. The target server IP address; The sorting information is used to characterize the quality of the service experience of the server corresponding to each server IP address.

15. The method according to claim 10 or 14, characterized in that, The sorting information corresponding to the N server IP addresses includes: The sorted list corresponding to the N server IP addresses; Priority information for each server IP address The N server IP addresses are sorted.

16. The method according to claim 9, characterized in that, The server experience information includes at least one of the following: Response latency, uplink and downlink transmission rates, uplink and downlink bandwidth, packet loss rate, and maximum speed.

17. A DNS query method, characterized in that, The method includes: The second communication device obtains N server IP addresses; the second communication device is a network data analysis function network element (NWDAF). The second communication device retrieves server experience information for the N server IP addresses from the database based on the N server IP addresses; N is a positive integer; The second communication device sends the server experience information to the target device; The target device includes any one of the following: a terminal, a first communication device, or a third communication device; the server experience information is used to indicate the service experience of the server corresponding to each server IP address.

18. The method according to claim 17, characterized in that, The second communication device obtains N server IP addresses, including: When the target device is the first communication device, the second communication device receives the FQDN from the first communication device; The second communication device performs a database query based on the FQDN to obtain N server IP addresses that match the FQDN.

19. The method according to claim 18, characterized in that, After the second communication device performs a database query based on the FQDN to obtain N server IP addresses matching the FQDN, the method further includes: The second communication device sends the N server IP addresses to the first communication device.

20. The method according to claim 17, characterized in that, The second communication device obtains N server IP addresses, including: The second communication device receives N server IP addresses from the target device.

21. The method according to claim 17, characterized in that, The server experience information includes at least one of the following: Response latency, uplink and downlink transmission rates, uplink and downlink bandwidth, packet loss rate, and maximum speed.

22. A DNS query device, characterized in that, The DNS query device is a DNS server or AF application function, and the device includes: The receiving module is used to receive DNS queries and obtain the fully qualified domain name (FQDN). A sending module is used to send first information to a second communication device; the first information includes the FQDN, or N server IP addresses corresponding to the FQDN; N is a positive integer; An execution module is used to obtain server experience information corresponding to the N server IP addresses from a second communication device; the server experience information is used to indicate the service experience of the server corresponding to each of the server IP addresses. The sending module is also used to send a DNS response to the terminal based on the server experience information.

23. The apparatus according to claim 22, characterized in that, The DNS response shall include at least one of the following: The server experience information, The sorting information corresponding to the N server IP addresses associated with the FQDN. Target server IP address; The sorting information is used to characterize the quality of the service experience of the server corresponding to each server IP address; the target server IP address is determined based on the server experience information, and the target server IP address is at least one of the N server IP addresses.

24. The apparatus according to claim 22 or 23, characterized in that, The execution module is further configured to: If the first information includes the N server IP addresses, DNS resolution is performed based on the FQDN to obtain the N server IP addresses that match the FQDN.

25. The apparatus according to claim 22, characterized in that, The sending module is specifically used for: Based on the server experience information, the N server IP addresses corresponding to the FQDN are sorted, and a DNS response is sent to the terminal; wherein, the DNS response contains sorting information corresponding to the N server IP addresses.

26. The apparatus according to claim 23 or 25, characterized in that, The sorting information corresponding to the N server IP addresses includes: The sorted list corresponding to the N server IP addresses; Priority information corresponding to the N server IP addresses; The N server IP addresses are sorted.

27. A DNS query device, characterized in that, The device includes: A receiving module is configured to receive a DNS response from a first communication device; the first communication device is a DNS server or an AF application function, and the DNS response includes: N server IP addresses; The determining module is used to determine the target server IP address based on the DNS response received by the receiving module; the target server IP address is related to the server experience information corresponding to the N server IP addresses; the server experience information is used to indicate the service experience of the server corresponding to each server IP address; the target server IP address is at least one of the N server IP addresses; N is a positive integer.

28. The apparatus according to claim 27, characterized in that, The DNS response also includes at least one of the following: The server experience information, The sorting information corresponding to the N server IP addresses. The target server IP address; The sorting information is used to characterize the quality of the service experience of the server corresponding to each server IP address.

29. The apparatus according to claim 28, characterized in that, The device also includes: The sending module is used to send the N server IP addresses to the second communication device; The receiving module is also used to receive the N server experience information sent by the second communication device; The determining module is specifically used to: determine the target server IP address from the N server IP addresses based on the N server experience information.

30. The apparatus according to claim 29, characterized in that, The sending module is specifically used for: The N server IP addresses are sent from the third communication device to the second communication device.

31. The apparatus according to claim 29, characterized in that, The device further includes: The sending module is used to send the N server IP addresses to the second communication device via the third communication device; The receiving module is also used to receive DNS information sent by the third communication device; The determining module is specifically used to: determine the target server IP address based on the DNS information; The DNS information is determined by the third communication device based on the server experience information corresponding to the N server IP addresses fed back by the second communication device.

32. The apparatus according to claim 31, characterized in that, The DNS information includes at least one of the following: The server experience information, The sorting information corresponding to the N server IP addresses. The target server IP address; The sorting information is used to characterize the quality of the service experience of the server corresponding to each server IP address.

33. A DNS query device, characterized in that, The DNS query device is a network data analysis function element (NWDAF), and the device includes: The acquisition module is used to obtain N server IP addresses; The query module is used to query the server experience information of the N server IP addresses obtained by the acquisition module from the database; N is a positive integer. The sending module is used to send the server experience information queried by the query module to the target device; The target device includes a terminal or a first communication device; the server experience information is used to indicate the service experience of the server corresponding to each server IP address.

34. The apparatus according to claim 33, characterized in that, The acquisition module is specifically used for: If the target device is the first communication device, the FQDN is received from the first communication device, and a database query is performed based on the FQDN to obtain N server IP addresses that match the FQDN.

35. A communication device, characterized in that, It includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein when executed by the processor, the program or instructions implement the DNS query method as described in any one of claims 1 to 8, or implement the steps of the DNS query method as described in any one of claims 17 to 21.

36. A terminal, characterized in that, It includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the DNS query method as described in any one of claims 9 to 16.

37. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the DNS query method as described in any one of claims 1 to 8, or the DNS query method as described in any one of claims 9 to 16, or the steps of the DNS query method as described in any one of claims 17 to 21.