CN115604226A - Domain name query method and device based on ECS protocol, storage medium and equipment - Google Patents

Domain name query method and device based on ECS protocol, storage medium and equipment Download PDF

Info

Publication number
CN115604226A
CN115604226A CN202211248948.XA CN202211248948A CN115604226A CN 115604226 A CN115604226 A CN 115604226A CN 202211248948 A CN202211248948 A CN 202211248948A CN 115604226 A CN115604226 A CN 115604226A
Authority
CN
China
Prior art keywords
domain name
view
layer view
sub
parent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211248948.XA
Other languages
Chinese (zh)
Inventor
唐宏
陈戈
梁洁
庄一嵘
薛沛林
海锦霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202211248948.XA priority Critical patent/CN115604226A/en
Publication of CN115604226A publication Critical patent/CN115604226A/en
Priority to PCT/CN2023/117333 priority patent/WO2024078208A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present disclosure provides a domain name query method based on an ECS protocol, which comprises: receiving a domain name query request from a client, wherein the local domain name server comprises a sub-layer view and a parent-layer view, and an affiliation relationship is established between the sub-layer view and the parent-layer view; the local domain name server determines the corresponding sub-layer view according to the matching ACL of the source IP address; the sub-layer view initiates a DNS record query request to the corresponding parent-layer view, and judges whether DNS entries stored in the parent-layer view have corresponding DNS records or not; if yes, the parent layer view returns a DNS record to the sub-layer view, and the sub-layer view returns the DNS record to the client; if not, the sub-layer view initiates an ECS query request. By setting two levels of views, the sub-level views are divided according to the source IP address to meet the scheduling accuracy, and the parent-level view is set to effectively control the load of the local domain name server by combining, inquiring and storing.

Description

Domain name query method and device based on ECS protocol, storage medium and equipment
Technical Field
The present disclosure relates to the field of computer network technologies, and in particular, to a method and an apparatus for querying a domain name based on an ECS protocol, a storage medium, and a device.
Background
With the development of computer networks, in order to meet the requirements of large bandwidth, low time delay and wide coverage, the provision of nearby services by using the resources of edge clouds has been widely applied, and the ECS function becomes a few options for realizing the "nearby services" at present.
The DNS extension protocol ECS (Edns-Client-Subnet, domain name system extension protocol) allows the DNS recursive server to deliver the IP address of the user to the authoritative server, so that the CDN can implement more accurate scheduling. However, the ECS only defines the interface and the message between the DNS and the CDN, so the existing ECS implementation has the following problems:
different views are divided on the DNS according to the user source IP, and the accuracy of view division directly influences the accuracy of CDN scheduling. If the view address field is divided into too small view address fields, too many views are easily caused to affect the load of the DNS. Moreover, the views of both sides of the DNS and the CDN are synchronized in a manual work order mode, so that errors are easy to occur.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The invention aims to provide a domain name query method and device based on an ECS protocol, a storage medium and equipment, which improve the ECS query efficiency by setting a two-level view on a DNS and considering both accuracy and load.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to an aspect of the present disclosure, there is provided a domain name query method based on an ECS protocol, the method including: a local domain name server receives a domain name query request from a client, wherein the domain name query request comprises a source IP address, the local domain name server comprises a sublayer view and a parent layer view, and the parent layer view establishes an affiliation with a plurality of the sublayer views; the local domain name server determines the corresponding sub-layer view according to the matching ACL of the source IP address; the sub-layer view initiates a DNS record query request to the corresponding parent-layer view, and judges whether DNS entries stored in the parent-layer view have corresponding DNS records or not; if the DNS record exists, the parent layer view returns the DNS record to the sub-layer view, and the sub-layer view returns the DNS record to the client; if not, the sub-layer view initiates a domain name query request based on the ECS protocol and returns a query result to the client.
In an embodiment of the present disclosure, the step of initiating the domain name query request based on the ECS protocol in the sub-layer view includes: the sublayer view initiates an ECS query request to a global scheduling server according to Subnet information, wherein the Subnet information comprises a Loopback address; the global scheduling server queries in a corresponding CDN (Content Delivery Network) view according to the Subnet information and returns a query message to the sublayer view; and the sub-layer view returns a result to the client according to the query message.
In an embodiment of the present disclosure, the sub-layer view is divided according to a broadband access point, and the sub-layer view sets a Loopback address.
In an embodiment of the present disclosure, the domain name querying method further includes: and the global scheduling server adjusts the corresponding CDN view according to the change of the CDN node and initiates a synchronization request to the local domain name server.
In an embodiment of the present disclosure, the step of adjusting, by the global scheduling server, a corresponding CDN view according to CDN node changes, and initiating a synchronization request to the local domain name server includes: the global scheduling server acquires information of a newly added CDN node; the global scheduling server inquires a corresponding CDN view according to the information of the newly added CDN node; if the global scheduling server does not find the corresponding CDN view, newly adding the corresponding CDN view, and adding a Loopback address corresponding to the newly added CDN view into an ACL; and the global scheduling server triggers the synchronous view of the local domain name server.
In one embodiment of the present disclosure, the global scheduling server triggers the local domain name server synchronization view by initiating a synchronization interface with the local domain name server.
In an embodiment of the present disclosure, the domain name querying method further includes: the local domain name server performs view synchronization operation according to the synchronization request initiated by the global scheduling server, and specifically comprises the following steps: the local domain name server receives a synchronization request; the local domain name server judges whether a corresponding parent layer view exists or not, and if the corresponding parent layer view does not exist, the corresponding parent layer view is newly established; and the local domain name server adjusts the subordination relation between the sublayer view and the newly-built father layer view according to an ACL.
In an embodiment of the present disclosure, the parent layer view corresponds to the CDN view one to one.
According to another aspect of the present disclosure, there is provided a domain name querying device based on an ECS protocol, including: the domain name server comprises a sub-layer view and a parent layer view, and the parent layer view establishes an affiliation with the sub-layer views; the matching module is used for determining the corresponding sub-layer view by the local domain name server according to the source IP address matching Access Control List (ACL); the query module is used for initiating a DNS record query request to the corresponding parent layer view by the sub-layer view and judging whether DNS entries stored in the parent layer view have corresponding DNS records or not; if the DNS record exists, the parent layer view returns the DNS record to the sub-layer view, and the sub-layer view returns the DNS record to the client; and if the sub-layer view does not exist, the sub-layer view initiates a domain name query request based on an ECS protocol and returns a query result to the client.
In one embodiment of the present disclosure, the method further includes: and the first synchronization module is used for adjusting the corresponding CDN view by the global scheduling server according to the change of the CDN node and initiating a synchronization request to the local domain name server.
In one embodiment of the present disclosure, the method further includes: a second synchronization module, configured to perform view synchronization operation by the local domain name server according to the synchronization request initiated by the global scheduling server, and specifically including the following steps: the local domain name server receives a synchronization request; the local domain name server judges whether a corresponding parent layer view exists or not, and if the corresponding parent layer view does not exist, the corresponding parent layer view is newly established; and the local domain name server adjusts the subordination relation between the sublayer view and the newly-built father layer view according to an ACL.
According to still another aspect of the present disclosure, there is provided an electronic device including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the ECS query method described above via execution of the executable instructions.
According to yet another aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the ECS query method described above.
According to the ECS query method provided by the embodiment of the disclosure, two levels of views with an affiliation relationship are arranged on the local domain name server, the sub-level views are divided according to the source IP address to meet the scheduling accuracy, and the parent-level view is arranged to effectively control the load of the local domain name server by combining query and storage.
Moreover, in the ECS query method provided in another embodiment, the view division of the CDN is based on an edge node, and synchronization is automatically performed by triggering a broadband interface, so that automatic synchronization between the DNS and the CDN can be implemented, and complexity of configuration management is reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It should be apparent that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived by those of ordinary skill in the art without inventive effort.
FIG. 1 is a schematic diagram illustrating a computer system according to an embodiment of the present disclosure;
FIG. 2 is a flow diagram illustrating a method for domain name querying in an embodiment of the present disclosure;
FIG. 3 is a flow chart illustrating a method for initiating a domain name query using a seed layer view in an embodiment of the present disclosure;
FIG. 4 is a flow diagram illustrating another method for querying domain names in an embodiment of the present disclosure;
fig. 5 shows a flowchart of a local domain name server view and CDN view synchronization method in an embodiment of the present disclosure;
fig. 6 shows a flow diagram of another local domain name server view and CDN view synchronization method in an embodiment of the present disclosure;
fig. 7 illustrates a domain name query method and apparatus in an embodiment of the present disclosure;
fig. 8 illustrates another apparatus for a domain name querying method in an embodiment of the present disclosure;
fig. 9 shows a block diagram of the electronic device in the embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. The example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
According to the scheme provided by the application, two levels of views with an affiliation relationship are arranged on a local domain name server, a sub-level view is responsible for inquiring DNS records and initiating ECS inquiry to a parent-level view, and the parent-level view is responsible for storing the DNS records and responding to inquiry requests. For ease of understanding, the following first explains several terms referred to in this application.
DNS is an abbreviation for Domain Name System (Domain Name System) used to Name computers and network services organized into a hierarchy of domains. The domain names and the IP addresses are in one-to-one correspondence on the Internet, although the domain names are convenient for people to remember, the machines can only know the IP addresses mutually, the conversion work between the machines is called domain name resolution, the domain name resolution needs to be completed by a special domain name resolution server, and the DNS is the server for domain name resolution.
The ECS is a DNS extension protocol (Edns Client Subnet) proposed by google and other companies, and allows a DNS recursive server to deliver an IP address of a user to an authorization server, so that the CDN can implement more accurate scheduling.
The CDN is globally referred to as a Content Delivery Network, i.e., a Content Delivery Network. The CDN is an intelligent virtual network constructed on the basis of the existing network, and enables users to obtain needed contents nearby through functional modules of load balancing, content distribution, scheduling and the like of a central platform by means of edge servers deployed in various places, so that network congestion is reduced, and access response speed and hit rate of the users are improved. The edge server provides a user with a channel to enter the network and the function of communicating with other server devices, and is usually a group of servers performing a single function, such as firewall servers, cache servers, load balancing servers, DNS servers, and the like.
Global Load balancing (GSLB) is mainly aimed at directing users' requests to the nearest node (or area) throughout the network. Thus, the proximity determination is the primary function of global load balancing. Local load balancing is generally limited to a certain area, and the goal is to find a most suitable node to provide service in a specific area.
The following detailed description of exemplary embodiments of the invention refers to the accompanying drawings.
FIG. 1 is a block diagram of a computer system provided in an exemplary embodiment of the present application. The system comprises: a number of terminals 120 and a server cluster 140.
The terminal 120 may be a mobile terminal such as a mobile phone, smart glasses, an AR (Augmented Reality) device, a VR (Virtual Reality) device, or the terminal 120 may also be a Personal Computer (PC), such as a portable Computer and a desktop Computer. The specific form of the client of the application may be different based on different terminal platforms, for example, the client of the application may be a mobile phone client, a PC client, or a World Wide Web (Web) client.
Wherein a DNS request can be initiated in the terminal 120. The terminals 120 are connected to the server cluster 140 through a communication network. Optionally, the communication network is a wired network or a wireless network. The server cluster 140 is one server or is composed of several servers. The server cluster 140 is used to serve domain name queries based on the ECS protocol.
In some alternative embodiments, the server cluster 140 may be used for information of the ECS query process.
Those skilled in the art will appreciate that the number of terminals 120 described above may be greater or fewer. There may be only one terminal as described above, or tens or hundreds of terminals as described above, or a larger number. The number of terminals and the type of the device are not limited in the embodiments of the present application.
Optionally, the wireless network or wired network described above uses standard communication techniques and/or protocols. The Network is typically the Internet, but may be any Network including, but not limited to, a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a mobile, wireline or wireless Network, a private Network, or any combination of virtual private networks. In some embodiments, data exchanged over a network is represented using techniques and/or formats including hypertext markup Language (HTML), extensible markup Language (XML), and the like. All or some of the links may also be encrypted using conventional encryption techniques such as Secure Socket Layer (SSL), transport Layer Security (TLS), virtual Private Network (VPN), internet protocol Security (IPsec). In other embodiments, custom and/or dedicated data communication techniques may also be used in place of, or in addition to, the data communication techniques described above.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative, and the server cluster 140 may be a single physical server or may be composed of a plurality of servers, and there may be any number of terminal devices, networks, and servers according to the implementation requirements. It should be noted that the welding control method provided in the embodiment of the present application is generally executed by the server 140, and accordingly, the welding control apparatus may be wholly or partially configured to be disposed in the server 140.
FIG. 2 is a flowchart illustrating a method of ECS querying, in accordance with an exemplary embodiment. The method provided by the embodiment of the present disclosure may be executed by any electronic device with computing processing capability, for example, the server cluster 140 shown in fig. 1. In the following description, the server cluster 140 is used as an execution subject for illustration.
As shown in fig. 2, the present embodiment includes steps S202 to S210.
S202, a local domain name server receives a domain name query request from a client, wherein the domain name query request comprises a source IP address, the local domain name server comprises a sub-layer view and a parent layer view, and the parent layer view and a plurality of sub-layer views establish an affiliation relationship.
The sub-layer views can be divided according to the broadband access points, and each sub-layer view corresponds to one broadband access address. The sub-layer view is responsible for ECS query, a loopback address is set as Subnet data of the ECS query, and the sub-layer view does not store DNS records.
The parent layer view may be divided according to a view in a global scheduling server (GSLB), and the parent layer view may maintain a one-to-one correspondence with the GSLB view. The parent view stores DNS records, corresponding to queries of the child view, but is not responsible for ECS queries. The number of the sub-layer views is large, and the parent-layer view can correspond to a plurality of sub-layer views, and the query and the storage are combined to improve the ECS processing capacity.
And S204, the local domain name server determines the corresponding sub-layer view according to the source IP address matching Access Control List (ACL).
The ACL (Access Control Lists) Access Control list may be determined according to indication conditions such as a source IP address and a loopback address, and the sub-layer view may correspond to a plurality of source IP addresses. The client's source IP address can be queried from the ACL for relationships to the sub-layer view.
S206, the sub-layer view initiates a DNS record query request to the corresponding parent-layer view, and judges whether the DNS entry stored in the parent-layer view has a corresponding DNS record.
The corresponding relationship between the sub-layer view and the parent-layer view can be obtained through the ACL. The DNS record may be a correspondence between a domain name and an IP address. For example, the DNS record may be an a record, including an IP address record corresponding to a domain name, and the IP address may be directly returned to the client when the corresponding DNS record exists. The DNS record may also be a CNAME record, MX record, TXT record, NS record, or the like.
S208, if the DNS record exists, the parent layer view returns the DNS record to the sub-layer view, and the sub-layer view returns the DNS record to the client.
S210, if not, the sub-layer view initiates a domain name query request based on an ECS protocol and returns a query result to the client.
By setting two-level view cooperation in a local domain name server, a sub-level view is responsible for initiating domain name query and returning a query result, and the sub-level view can be divided according to a source IP address to ensure the scheduling accuracy; and the parent layer view is responsible for storing domain name system entries (DNS entries), and can combine query and storage to reduce the load of a local domain name server.
Fig. 3 is a flowchart illustrating steps of initiating a domain name query request based on the ECS protocol and returning a query result to the client by using a seed layer view according to an exemplary embodiment, which specifically includes steps S302 to S306.
S302, the sub-layer view initiates an ECS inquiry request to a global scheduling server according to Subnet information, wherein the Subnet information comprises a Loopback address.
The sub-layer view initiates a domain name query request by taking an agreed mapping address as a source, the mapping table in the global scheduling server can determine a corresponding relation between the sub-layer view and the view in the global scheduling server, and the indication condition of the mapping relation between the sub-layer view and the view in the global scheduling server can comprise a Loopback address.
S304, the global scheduling server schedules the corresponding CDN (Content Delivery Network) view according to the Subnet information, and returns the optimal CDN server node IP to the sublayer view.
And S306, the sublayer view returns a result to the client according to the response message of the CDN GSLB.
When receiving a domain name resolution request from a local domain name server, the CDN enters a corresponding CDN view partition according to a mapping table and has a cache, and then may return a result according to a cache record. If the CDN view partition does not have the cache, scheduling according to subnet information carried by a local domain name server, returning an optimal IP address of a CDN node to the local domain name server, caching a corresponding mapping address segment when the local domain name server receives a message corresponding to the CDN GSLB, and returning an analysis result to the client side through the sublayer view.
And initiating a domain name query request according to the loopback address information through the sub-layer view, and ensuring the scheduling precision. The sub-layer view is responsible for initiating a domain name query request and returning a query result, but is not responsible for storage, so that the load of the local server is reduced. Through merging and storing DNS entries in a parent layer view, the storage requirement is met, and the problem of heavy load caused by over-fine storage classification is avoided.
Fig. 4 is a flowchart illustrating a method of ECS query according to an exemplary embodiment, further including step S212.
And S212, the global scheduling server adjusts the corresponding CDN view according to the change of the CDN node and initiates a synchronization request to the local domain name server.
Through the automatic synchronization of the CDN view of the global scheduling server and the view of the local domain name server, the complexity of configuration management is reduced, and the problem that errors are easy to occur through manual synchronization is solved.
Fig. 5 is a flow diagram illustrating a local domain name server view and CDN view synchronization method in accordance with an exemplary embodiment. Specifically, S502 to S508 are included.
S502, the global scheduling server obtains information of the newly added CDN node.
And S504, the global scheduling server queries the corresponding CDN view according to the information of the newly added CDN node.
S506, if the global scheduling server does not find the corresponding CDN view, adding the corresponding CDN view, and adding a Loopback address corresponding to the newly added CDN view into an ACL.
S508, the global scheduling server triggers the synchronous view of the local domain name server.
And the global scheduling server triggers the synchronous view of the local domain name server by starting a synchronous interface with the local domain name server.
For example, the vCDN management platform starts vCDN software on a BRAS, and a node is named BRAS-vCDN-1; and the vCDN management informs the GSLB that the BRAS-vCDN-1 node is started through an interface. And the GSLB inquires whether a BRAS-vCDN-1 view exists or not, finds that the view is not established yet, and establishes the BRAS-vCDN-1 view. GSLB establishes corresponding address ACL of BRAS-vCDN-1 view, namely adding the Loopback address on the BRAS into ACL; GSLB starts the interface with Local DNS synchronization, starts synchronizing BRAS-vCDN-1 view.
The CDN view is divided based on CDN edge nodes, so that the method is suitable for deploying application scenes by the CDN edge nodes, and is beneficial to starting automatic synchronization operation through triggering of a broadband interface. Automatic synchronization is quick and convenient.
Fig. 6 is a flow diagram illustrating a local domain name server view and CDN view synchronization method in accordance with an exemplary embodiment. The local domain name server performs view synchronization operation according to the synchronization request initiated by the global scheduling server, and specifically includes steps S602 to 606.
S602, the local domain name server receives a synchronization request;
s604, the local domain name server judges whether a corresponding parent layer view exists or not, and if the corresponding parent layer view does not exist, a corresponding parent layer view is newly established;
and S606, the local domain name server adjusts the subordination relation between the sub-layer view and the newly-built parent-layer view according to an ACL.
For example, the Local DNS checks if there is a BRAS-vCDN-1 view at the parent level, and if not, establishes a view. And the Local DNS is planned according to the BRAS-vCDN-1 view ACL, and the parent-layer view corresponding to the sub-layer view BRAS-vCDN-1 is adjusted to be changed into the BRAS-vCDN-1.
An ECS inquiry apparatus, 700 according to this embodiment of the invention is described below with reference to fig. 7. The ECS query apparatus 700 shown in fig. 7 is only an example, and should not bring any limitation to the function and the scope of the application of the embodiment of the present invention.
The components of the ECS inquiry device comprise: a receiving module 702, configured to receive, by a local domain name server, an ECS request from a client, where the ECS request includes a source IP address, the local domain name server includes a sub-layer view and a parent-layer view, and the parent-layer view establishes an affiliation with a plurality of the sub-layer views; a matching module 704, configured to match, by the local domain name server, an ACL according to the source IP address, and determine the corresponding sub-layer view; a query module 706, configured to initiate a DNS record query request to the corresponding parent layer view by the sub-layer view, and determine whether a DNS entry stored in the parent layer view has a corresponding DNS record; if the DNS record exists, the parent layer view returns the DNS record to the sub-layer view, and the sub-layer view returns the DNS record to the client; if not, the sub-layer view initiates an ECS query and returns a query result to the client.
An ECS inquiry apparatus, 700 according to this embodiment of the invention is described below with reference to fig. 8. The components of the ECS query device shown in fig. 8 may further include: a first synchronization module 708, configured to adjust, by the global scheduling server, a corresponding CDN view according to a CDN node change, and initiate a synchronization request to the local domain name server; a second synchronization module 710, configured to perform view synchronization operation by the local domain name server according to the synchronization request initiated by the global scheduling server.
It is to be noted that the above-mentioned figures are only schematic illustrations of the processes involved in the method according to an exemplary embodiment of the invention, and are not intended to be limiting. It will be readily appreciated that the processes illustrated in the above figures are not intended to indicate or limit the temporal order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 900 according to this embodiment of the invention is described below with reference to fig. 9. The electronic device 900 shown in fig. 9 is only an example and should not bring any limitations to the function and scope of use of the embodiments of the present invention.
As shown in fig. 9, the electronic device 900 is embodied in the form of a general purpose computing device. Components of electronic device 900 may include, but are not limited to: the at least one processing unit 910, the at least one memory unit 920, and a bus 930 that couples various system components including the memory unit 920 and the processing unit 910.
Wherein the storage unit stores program code that is executable by the processing unit 910 to cause the processing unit 910 to perform steps according to various exemplary embodiments of the present invention described in the above section "exemplary methods" of the present specification. For example, the processing unit 910 may perform steps S202 to S210 as shown in fig. 2, and other steps defined in the ECS polling method of the present disclosure.
The storage unit 920 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM) 9201 and/or a cache memory unit 9202, and may further include a read only memory unit (ROM) 10203.
Storage unit 920 may also include a program/utility 9204 having a set (at least one) of program modules 9205, such program modules 9205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 930 may be representative of one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 900 may also communicate with one or more external devices 1000 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 900, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 900 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interfaces 950. Also, the electronic device 900 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet) via the network adapter 960. As shown, the network adapter 960 communicates with the other modules of the electronic device 900 via the bus 930. It should be appreciated that although not shown, other hardware and/or software modules may be used in conjunction with the electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, to name a few.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by a combination of software and necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code means for causing a terminal device to carry out the steps according to various exemplary embodiments of the invention described in the above-mentioned "exemplary methods" section of the present description, when said program product is run on the terminal device.
A program product for implementing the above method according to an embodiment of the present invention is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Moreover, although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step execution, and/or one step may be broken down into multiple step executions, etc.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by a combination of software and necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (13)

1. A domain name query method based on an ECS protocol (Edns-Client-Subnet, domain name system extension protocol) is characterized by comprising the following steps:
a local domain name server receives a domain name query request from a client, wherein the domain name query request comprises a source IP address, the local domain name server comprises a sublayer view and a parent layer view, and the parent layer view establishes an affiliation with a plurality of the sublayer views;
the local domain name server determines the corresponding sub-layer view according to the source IP address matching ACL (Access Control Lists);
the sub-layer view initiates a DNS (Domain Name System) record query request to the corresponding parent-layer view, and judges whether a DNS entry stored in the parent-layer view has a corresponding DNS record;
if the DNS record exists, the parent layer view returns the DNS record to the sub-layer view, and the sub-layer view returns the DNS record to the client;
and if the sub-layer view does not exist, the sub-layer view initiates a domain name query request based on an ECS protocol and returns a query result to the client.
2. The domain name query method according to claim 1, wherein the sub-layer view initiates a domain name query request based on an ECS protocol, and returns a query result to the client, and the method comprises:
the sub-layer view initiates a domain name query request to a global scheduling server according to Subnet information, wherein the Subnet information comprises a Loopback address;
the global scheduling server queries in a view of a corresponding CDN (Content Delivery Network) according to the Subnet information and returns a query message to the sublayer view;
and the sub-layer view returns a result to the client according to the query message.
3. The domain name query method according to claim 2, wherein the sub-layer view is divided according to broadband access points, and the sub-layer view sets a Loopback address.
4. The domain name query method according to claim 2, wherein the domain name query method further comprises:
and the global scheduling server adjusts the corresponding CDN view according to the change of the CDN node and initiates a synchronization request to the local domain name server.
5. The domain name query method according to claim 4, wherein the step of adjusting the corresponding CDN view by the global scheduling server according to the change of CDN nodes and initiating a synchronization request to the local domain name server includes:
the global scheduling server acquires information of a newly added CDN node;
the global scheduling server queries a corresponding CDN view according to the information of the newly added CDN node;
if the global scheduling server does not find the corresponding CDN view, newly adding the corresponding CDN view, and adding a Loopback address corresponding to the newly added CDN view into an ACL;
and the global scheduling server triggers the synchronous view of the local domain name server.
6. The domain name query method according to claim 5, wherein the global scheduling server triggers the local domain name server synchronization view by activating a synchronization interface with the local domain name server.
7. The domain name query method according to claim 2, wherein the domain name query method further comprises:
the local domain name server performs view synchronization operation according to the synchronization request initiated by the global scheduling server, and specifically includes the following steps:
the local domain name server receives a synchronization request;
the local domain name server judges whether a corresponding parent layer view exists or not, and if the corresponding parent layer view does not exist, the corresponding parent layer view is newly established;
and the local domain name server adjusts the subordination relation between the sub-layer view and the newly-built parent-layer view according to an ACL.
8. The domain name querying method according to claim 4, wherein the parent layer view corresponds to the CDN view one to one.
9. A domain name query device based on ECS protocol, comprising:
the domain name server comprises a receiving module, a local domain name server and a display module, wherein the local domain name server receives a domain name query request from a client, the domain name query request comprises a source IP address, the local domain name server comprises a sublayer view and a parent layer view, and the parent layer view establishes an affiliation with the sublayer views;
a matching module, wherein the local domain name server matches ACL (Access Control Lists) according to the source IP address, and determines the corresponding sublayer view;
the query module is used for initiating a DNS record query request to the corresponding parent layer view by the sub-layer view and judging whether DNS entries stored in the parent layer view have corresponding DNS records or not; if the DNS record exists, the parent layer view returns the DNS record to the sub-layer view, and the sub-layer view returns the DNS record to the client; and if the sub-layer view does not exist, the sub-layer view initiates a domain name query request based on an ECS protocol and returns a query result to the client.
10. The domain name querying device according to claim 9, further comprising:
and the first synchronization module is used for adjusting the corresponding CDN view by the global scheduling server according to the change of the CDN node and initiating a synchronization request to the local domain name server.
11. The apparatus according to claim 9, further comprising:
the second synchronization module is configured to perform view synchronization operation by the local domain name server according to the synchronization request initiated by the global scheduling server, and specifically includes the following steps:
the local domain name server receives a synchronization request;
the local domain name server judges whether a corresponding parent layer view exists or not, and if the corresponding parent layer view does not exist, the corresponding parent layer view is newly established;
and the local domain name server adjusts the subordination relation between the sub-layer view and the newly-built parent-layer view according to an ACL.
12. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of any one of claims 1-8 via execution of the executable instructions.
13. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method of any one of claims 1 to 8.
CN202211248948.XA 2022-10-12 2022-10-12 Domain name query method and device based on ECS protocol, storage medium and equipment Pending CN115604226A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211248948.XA CN115604226A (en) 2022-10-12 2022-10-12 Domain name query method and device based on ECS protocol, storage medium and equipment
PCT/CN2023/117333 WO2024078208A1 (en) 2022-10-12 2023-09-06 Domain name query method and apparatus based on ecs protocol, and storage medium and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211248948.XA CN115604226A (en) 2022-10-12 2022-10-12 Domain name query method and device based on ECS protocol, storage medium and equipment

Publications (1)

Publication Number Publication Date
CN115604226A true CN115604226A (en) 2023-01-13

Family

ID=84846181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211248948.XA Pending CN115604226A (en) 2022-10-12 2022-10-12 Domain name query method and device based on ECS protocol, storage medium and equipment

Country Status (2)

Country Link
CN (1) CN115604226A (en)
WO (1) WO2024078208A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024078208A1 (en) * 2022-10-12 2024-04-18 中国电信股份有限公司 Domain name query method and apparatus based on ecs protocol, and storage medium and device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731516B (en) * 2014-01-24 2017-04-05 互联网域名系统北京市工程研究中心有限公司 Dns resolution method and its system based on nested views
CN106453671A (en) * 2015-08-07 2017-02-22 中国电信股份有限公司 Method, client, server and system for CDN scheduling
CN106953940B (en) * 2017-04-13 2018-11-20 网宿科技股份有限公司 Dns server and configuring load application method, network system, domain name analytic method and system
CN108494891A (en) * 2018-02-28 2018-09-04 网宿科技股份有限公司 A kind of domain name analytic method, server and system
CN115604226A (en) * 2022-10-12 2023-01-13 中国电信股份有限公司(Cn) Domain name query method and device based on ECS protocol, storage medium and equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024078208A1 (en) * 2022-10-12 2024-04-18 中国电信股份有限公司 Domain name query method and apparatus based on ecs protocol, and storage medium and device

Also Published As

Publication number Publication date
WO2024078208A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
CN109889621B (en) Configuration method and device of virtual private cloud service
CN114124817B (en) Communication method, device, medium and electronic equipment based on edge calculation
US10015243B2 (en) Optimized content distribution based on metrics derived from the end user
CN107528862B (en) Domain name resolution method and device
US20120054265A1 (en) Optimized Content Distribution Based on Metrics Derived from the End User
CN111294415B (en) Domain name resolution method and device
EP2262185A1 (en) Method and system for forwarding data among private networks
KR20140007363A (en) Site-aware distributed file system access from outside enterprise network
US11010189B2 (en) Multi-cloud operating method, operation managing device, and storage medium
CN111917900A (en) Request processing method and device for domain name proxy
CN112003945A (en) Service request response method and device
CN111726400A (en) Reverse connection method, device and server-side system
WO2024078208A1 (en) Domain name query method and apparatus based on ecs protocol, and storage medium and device
CN114301990A (en) Node scheduling method, device and storage medium based on content distribution network
US10931630B2 (en) System and method for connecting using aliases
US10063382B1 (en) Apparatus and method for providing multiple security credentials
US11134117B1 (en) Network request intercepting framework for compliance monitoring
CN103973638A (en) Access control method, electronic equipment and server
CN112804366B (en) Method and device for resolving domain name
CN111885190A (en) Service request processing method and system
CN116389599A (en) Gateway service request processing method and device and cloud native gateway system management method and device
KR20200059683A (en) System and method for cloud based hosting service
US11336615B2 (en) Global load balancing achieved by using distributed DNS reflection
US20200127923A1 (en) System and method of performing load balancing over an overlay network
CN118233428B (en) Domain name access method and device and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination