CN114598677B - CDN scheduling method and system, intelligent network card and electronic equipment - Google Patents
CDN scheduling method and system, intelligent network card and electronic equipment Download PDFInfo
- Publication number
- CN114598677B CN114598677B CN202011313473.9A CN202011313473A CN114598677B CN 114598677 B CN114598677 B CN 114598677B CN 202011313473 A CN202011313473 A CN 202011313473A CN 114598677 B CN114598677 B CN 114598677B
- Authority
- CN
- China
- Prior art keywords
- dns
- domain name
- client
- message
- server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000005192 partition Methods 0.000 claims abstract description 69
- 238000013475 authorization Methods 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 230000004044 response Effects 0.000 description 4
- 230000003416 augmentation Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The disclosure relates to a CDN scheduling method and system, an intelligent network card and electronic equipment. The CDN scheduling method executed by the intelligent network card deployed in the local DNS comprises the following steps: receiving a first DNS message related to a client, wherein the first DNS message comprises a first domain name, and a first appointed field value and an identification of a partition cache corresponding to the client under the condition that the client signs up for ECS service; sending a first DNS message to a DNS authorization server so that the DNS authorization server determines a second domain name; receiving a second DNS message; based on the first appointed field value, under the condition that the second domain name belongs to the domain name of the global load balancing server capable of providing ECS service, adding an IP address field corresponding to the identification of the partition cache in the second DNS message to obtain a third DNS message; and sending a third DNS message to the global load balancing server, so that the global load balancing server determines and sends the IP address of a CDN node to the client according to the IP address field corresponding to the identification of the partition cache.
Description
Technical Field
The disclosure relates to the technical field of communication, and in particular relates to a CDN scheduling method and system, an intelligent network card, electronic equipment and a computer storage medium.
Background
With rapid development of VR (Virtual Reality) and cloud game edge applications, applications put higher and higher demands on network delay, access bandwidth and network quality. As a content delivery service platform for these applications, it has been difficult for CDNs (Content Delivery Network, content delivery networks) to meet these service and application requirements in IDC (INTERNET DATA CENTER ) or backbone centralized deployment architecture, and CDN nodes need to sink to the edges of metropolitan area networks.
In the existing CDN scheduling scenario, DNS (Domain NAME SYSTEM) scheduling technology is widely used, and the basic principle is that a client obtains an IP address of a CDN node by initiating a DNS request. In the process of interpreting DNS addresses by using DNS scheduling techniques, a client does not directly interact with a CDN GSLB (Global Server Load Balance, global load balancing) server, but queries an IP address of a CDN node from the CDN GSLB server through a local DNS. Therefore, the CDN GSLB server can only evaluate the user IP address from the IP address field (also called query address or recursive service address) of the local DNS to determine the IP (Internet Protocol ) address of the CDN node closest to the user.
The vast majority of local DNS of the existing operators are deployed in units of province, and the CDN GSLB cannot identify the precise location of the client from the IP address field of the local DNS, so that precise CDN service cannot be provided for the user.
In the related art, a server of a local DNS tracks a DNS recursion procedure of a current domain name, searches a CDN service domain name list of an open ECS (Extension DNS-Client-Subnet) function through the server of the local DNS, adds an IP address or an IP address segment of a Client in a DNS packet when the current domain name belongs to the CDN service domain name list, and recursion is performed by using the DNS packet with the added IP address or IP address segment of the Client.
Disclosure of Invention
The inventors consider that: in the related art, a CDN service domain name list with an open ECS function is searched by a server of a local DNS, and the server of the local DNS is required to process a large number of DNS recursion flows, perform query matching operation on a current domain name, and modify a DNS packet to increase an IP address or an IP address field of a client, consume a large number of CPU resources, and increase a load of a CPU (Central Processing Unit ) of the local DNS server, so that CDN scheduling efficiency is low.
Aiming at the technical problems, the present disclosure provides a solution, which can reduce the load of the CPU of the server of the local DNS and improve the efficiency of CDN scheduling.
According to a first aspect of the present disclosure, there is provided a content delivery network CDN scheduling method, performed by an intelligent network card deployed in a local domain name system DNS, including: receiving a first DNS message related to a client, wherein the first DNS message comprises a first domain name, and in the case that the client signs up for an extended DNS client subnet ECS service, the first DNS message also comprises a first appointed field value for representing the function of opening the ECS by the local DNS to the first domain name and an identifier of a partition cache corresponding to the client; sending the first DNS message to a DNS authorization server corresponding to the first domain name so that the DNS authorization server determines a second domain name; receiving a second DNS message, wherein the second DNS message is obtained according to the first DNS message, the first domain name and the second domain name; based on the first appointed field value, adding an Internet Protocol (IP) address field corresponding to the identification of the partition cache in the second DNS message under the condition that the second domain name belongs to a domain name of a global load balancing server capable of providing ECS service, so as to obtain a third DNS message; and sending the third DNS message to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the identification of the partition cache.
In some embodiments, the CDN scheduling method further comprises: and based on the first specified field value, sending the second DNS message to a global load balancing server corresponding to the second domain name under the condition that the second domain name does not belong to a domain name of the global load balancing server capable of providing the ECS service, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to an IP address field corresponding to the local DNS.
In some embodiments, the identification of the partition cache corresponding to the client is located in header information of the first DNS message.
In some embodiments, in a case where the client does not sign up for the ECS service, the first DNS packet further includes a second specified field value that characterizes that the local DNS does not open an ECS function for the first domain name, and the CDN scheduling method further includes: after receiving the second DNS packet, based on the second specified field value, the second DNS packet is sent to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to an IP address field corresponding to the local DNS.
In some embodiments, the first specified field value is a value of an Opcode field and the second domain NAME is a value of a NAME field of the second DNS message.
According to a second aspect of the present disclosure, there is provided a CDN scheduling method, including: a recursion server sends a first DNS message related to a client to an intelligent network card, wherein the first DNS message comprises a first domain name, and also comprises a first appointed field value for representing the open ECS function of the local DNS to the first domain name and an identifier of a partition cache corresponding to the client under the condition that the client signs contract for the ECS service of an extended DNS client sub-network, the recursion server is deployed in a local Domain Name System (DNS), and the intelligent network card is deployed on the recursion server; the intelligent network card sends the first DNS message to a DNS authorization server corresponding to the first domain name so that the DNS authorization server determines a second domain name; the recursion server receives the second domain name from the DNS authorization server, processes the first DNS message according to the first domain name and the second domain name to obtain a second DNS message, and sends the second DNS message to the intelligent network card; the intelligent network card adds an Internet Protocol (IP) address field corresponding to the identification of the partition cache in the second DNS message to obtain a third DNS message under the condition that the second domain name belongs to a domain name of a global load balancing server capable of providing ECS service based on the first appointed field value; the intelligent network card sends the third DNS message to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to an IP address field corresponding to the identification of the partition cache.
In some embodiments, the second domain name is determined from an IP address of the recursive server.
In some embodiments, processing the first DNS message to obtain a second DNS message according to the first domain name and the second domain name includes: and modifying the first domain name of the first DNS message into a second domain name to obtain a second DNS message.
In some embodiments, determining the IP address of a CDN node based on the IP address segment corresponding to the identification of the partition cache includes: determining the position information of the client according to the IP address segment corresponding to the identification of the partition cache; and determining the IP address of a CDN node closest to the client according to the position information of the client.
In some embodiments, the CDN scheduling method further comprises: the recursion server receives an original DNS message from the client, wherein the original DNS message comprises the first domain name; and under the condition that the client signs up for the ECS service, the recursion server modifies the value of the appointed field in the original DNS message into the value of the first appointed field, and adds the identification of the partition cache corresponding to the client in the original DNS message to obtain the first DNS message.
According to a third aspect of the present disclosure, there is provided an intelligent network card deployed in a local domain name system DNS, comprising: a first receiving module configured to receive a first DNS packet related to a client, where the first DNS packet includes a first domain name, and where the client signs up for an extended DNS client subnet ECS service, the first DNS packet further includes a first specified field value characterizing an ECS function of opening the first domain name by the local DNS and an identifier of a partition cache corresponding to the client; a first sending module configured to send the first DNS packet to a DNS authority server corresponding to the first domain name, so that the DNS authority server determines a second domain name; the second receiving module is configured to receive a second DNS message, and the second DNS message is obtained according to the first DNS message, the first domain name and the second domain name; the adding module is configured to add an Internet Protocol (IP) address field corresponding to the identifier of the partition cache in the second domain name message to obtain a third Domain Name Server (DNS) message under the condition that the second domain name belongs to a domain name of a global load balancing server capable of providing the ECS service based on the first specified field value; and the second sending module is configured to send the third DNS message to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the identification of the partition cache.
According to a fourth aspect of the present disclosure, there is provided a content delivery network CDN scheduling system, comprising: the intelligent network card of any embodiment above; and a recursive server configured to send a first DNS packet associated with a client to an intelligent network card, the first DNS packet including a first domain name, the first DNS packet further including a first specified field value characterizing that the local DNS is open to the first domain name ECS function and an identifier of a zone cache corresponding to the client in case that the client signs up for extended DNS client subnet ECS services, the recursive server being deployed on a local domain name system DNS, the intelligent network card being deployed on the recursive server; and receiving the second domain name from the DNS authorization server, processing the first DNS message according to the first domain name and the second domain name to obtain a second DNS message, and sending the second DNS message to the intelligent network card.
In some embodiments, the CDN scheduling system further comprises: and a DNS authority server configured to determine the second domain name.
According to a fifth aspect of the present disclosure, there is provided an electronic device comprising: a memory; and a processor coupled to the memory, the processor configured to execute the CDN scheduling method of any of the embodiments described above based on instructions stored in the memory.
According to a sixth aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement a CDN scheduling method as described in any of the embodiments above.
In the embodiment, the load of the CPU of the server of the local DNS can be reduced, and the dispatching efficiency of the CDN is improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description, serve to explain the principles of the disclosure.
The disclosure may be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings in which:
FIG. 1 is a flow chart illustrating a CDN scheduling method according to some embodiments of the present disclosure;
Fig. 2 is a partial schematic diagram illustrating header information of a DNS message according to some embodiments of the present disclosure;
FIG. 3 is a signaling diagram illustrating a CDN scheduling method according to some embodiments of the present disclosure;
FIG. 4 is a block diagram illustrating an intelligent network card according to some embodiments of the present disclosure;
FIG. 5 is a block diagram illustrating a CDN scheduling system according to some embodiments of the present disclosure;
FIG. 6 is a block diagram illustrating an electronic device according to some embodiments of the present disclosure;
FIG. 7 is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure.
Detailed Description
Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless it is specifically stated otherwise.
Meanwhile, it should be understood that the sizes of the respective parts shown in the drawings are not drawn in actual scale for convenience of description.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses.
Techniques, methods, and apparatus known to one of ordinary skill in the relevant art may not be discussed in detail, but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any specific values should be construed as merely illustrative, and not a limitation. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numerals and letters denote like items in the following figures, and thus once an item is defined in one figure, no further discussion thereof is necessary in subsequent figures.
Fig. 1 is a flow chart illustrating a CDN scheduling method according to some embodiments of the present disclosure.
As shown in fig. 1, the CDN scheduling method includes steps S110 to S150. The CDN scheduling method is executed by an intelligent network card deployed in a local DNS. For example, the intelligent network card is deployed on a recursive server of the local DNS.
In step S110, a first DNS message associated with the client is received. The first DNS packet includes a first domain name. For example, the first domain name is abc.
In the case that the client signs up for the ECS service, the first DNS packet further includes a first specified field value characterizing the function of opening the ECS by the local DNS to the first domain name, and an identifier of the partition cache corresponding to the client. In some embodiments, the first DNS message further includes a second specified field value that characterizes that the local DNS does not open ECS functions for the first domain name in the event that the client is not subscribed to the ECS service.
In some embodiments, the first specified field value, the second specified field value is a value of an Opcode field in header information of the first DNS message. For example, the first specified field value is a custom value. The custom value may be 15. For example, the second specified field value may be a value other than a custom value. It should be appreciated that the value of the Opcode field is any integer from 0-15.
In some embodiments, the identification of the zone cache corresponding to the client is located in header information of the first DNS message. For example, the identification of the partition cache corresponding to the client is the number of the partition cache. Different clients have different IP addresses, and the local DNS includes multiple zone caches, with different zone caches having different IP address segments. The partition cache corresponding to the client is the partition cache corresponding to the IP address segment to which the IP address of the client belongs.
In some embodiments, the identification of the partition cache corresponding to the client is located in the first 10 bits (the upper 10 bits) of the ID field in the header information of the first DNS message. The last 6 bits (lower 6 bits) of the ID field are the sequence number of the first DNS packet, which is used to identify the sequence of DNS packets.
Fig. 2 is a partial schematic diagram illustrating header information of a DNS message according to some embodiments of the present disclosure.
As shown in fig. 2, the header information of the DNS message includes a plurality of lines each having 16 bits. The ID field takes 16 bits in total and the Opcode field takes 4 bits in total. Fig. 2 also shows other fields of DNS header information. The QR field occupies 1 bit, and is used for distinguishing whether the DNS message is a request message or a response message. The AA field occupies 1 bit, and is used for indicating that the server giving the response is an authorized resolution server for querying the domain name when the DNS message is a response message. The TC field occupies 1 bit and is used to indicate that the message is longer than allowed, resulting in being truncated. The RD field occupies 1 bit, indicating the desired recursion. The RA field occupies 1 bit, indicating the available recursion. The Z field occupies 3 bits and is temporarily unused for reserved values. The RCODE field occupies 4 bits and is a response code.
Returning to fig. 1, in step S120, a first DNS message is sent to a DNS authority server corresponding to the first domain name, so that the DNS authority server determines the second domain name. In some embodiments, the second domain NAME is the value of the NAME field of the second DNS message. The NAME field is located in OPT RR (Option Resource Record, optional resource record) information of the body information of the DNS message. For example, the second domain name determined by the DNS server is the CNAME (canonical name) of a global load balancing server determined by the DNS server. Taking the first domain name abc.com as an example, the DNS authority server is an ABC authority server.
In some embodiments, in the case where the client signs up for the ECS service, sending the first DNS message to the DNS authority server corresponding to the first domain name may be implemented as follows.
First, it is determined whether the second domain name belongs to a domain name of a global load balancing (Global Server Load Balance, GSLB) server providing ECS service based on the first specified field value.
Then, in the case where the second domain name does not belong to the domain name of the global load balancing server providing the ECS service, the first DNS message is sent to the DNS authority server corresponding to the first domain name.
In step S130, a second DNS message is received. The second DNS message is obtained according to the first DNS message, the first domain name and the second domain name. For example, the second DNS packet is obtained by modifying the first domain name in the first DNS packet to the second domain name.
In step S140, based on the first specified field value, if the second domain name belongs to the domain name of the global load balancing server capable of providing the ECS service, an IP address segment corresponding to the identifier of the partition cache is added to the second DNS packet, so as to obtain a third DNS packet. In some embodiments, the intelligent network card adds an IP address segment corresponding to the identification of the partition cache in an RDATA field in the OPT RR information of the body information of the second DNS packet. In this case, for example, the second domain name is abc. The IP address segment corresponding to the identity of the partition cache is also called EDNS (Extension Mechanisms for DNS, extended DNS mechanism) OPT information or ECS information.
For example, before step S140, the method further includes: and judging whether the second domain name belongs to the domain name of the global load balancing server capable of providing the ECS service. In some embodiments, a domain name table including domain names (CNAMEs) of a plurality of global load balancing servers capable of providing ECS service may be pre-constructed, and whether the second domain name belongs to a domain name of the global load balancing server capable of providing ECS service may be determined by performing a query matching operation on the second domain name and the domain name table.
In the above embodiment, when determining the second domain name, the DNS authority server determines the CNAME of a global load balancing server as the second domain name according to the traffic situation of each global load balancing server. Therefore, even if the client subscribes to the ECS service, if the global load balancing server capable of providing the ECS service has insufficient traffic at the current time, it may be determined that the CNAME of one global load balancing server incapable of providing the ECS service is the second domain name. Therefore, a determination process of whether the second domain name belongs to a domain name of a global load balancing server capable of providing the ECS service is necessary.
In step S150, a third DNS packet is sent to the global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the identifier of the partition cache.
In some embodiments, the CDN scheduling method further comprises: based on the first specified field value, if the second domain name does not belong to the domain name of the global load balancing server capable of providing the ECS service, the intelligent network card sends a second DNS message to the global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the local DNS.
In some embodiments, in a case where the client does not sign up for the ECS service, the first DNS packet includes a second specified field value, the CDN scheduling method further includes: after the intelligent network card receives the second DNS message, the second DNS message is sent to a global load balancing server corresponding to the second domain name based on the second designated field value, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the local DNS. Whether the DNS message of the client which signs the ECS service or the DNS message of the client which does not signs the ECS service is processed, the trend of the DNS message is judged by the intelligent network card, so that the line speed processing of the message in the CDN dispatching process can be realized, the CPU consumption of the local DNS is not increased, the CPU load of the local DNS can be further reduced, and the dispatching efficiency of the CDN can be further improved.
In the above embodiment, by replacing the local DNS CPU with the intelligent network card to execute the judging process and the process of adding the IP address segment corresponding to the identifier of the partition cache, the local DNS CPU is more focused on the recursive process, and even if DDoS (Distributed denial of SERVICE ATTACK ) occurs, a large number of judging and adding processes need to be processed, the local DNS CPU is not overloaded, and no serious security accident is caused, so that the present disclosure can reduce the CPU load of the local DNS, and can improve the efficiency of CDN scheduling.
In addition, by judging whether the second domain name belongs to the domain name of the global load balancing server capable of providing the ECS service, and adding an IP address field corresponding to the identification of the partition cache in the DNS message if the judging result belongs, the global load balancing server can determine the CDN node closest to the client according to the IP address field corresponding to the identification of the partition cache.
In addition, when the recursion is about to end (namely, the second domain name is determined), the intelligent network card performs the operations of judging and adding the IP address field corresponding to the identification of the partition cache, so that the IP address field corresponding to the identification of the partition cache only flows on the local DNS and the global load balancing server, privacy information of part of clients can be further protected, unnecessary privacy leakage is reduced, and the safety of CDN dispatching is further improved.
Fig. 3 is a signaling diagram illustrating a CDN scheduling method according to some embodiments of the present disclosure.
As shown in fig. 3, the CDN scheduling method includes step S301 to step S312a.
In step S301, the recursive server sends a first DNS message associated with the client to the intelligent network card. The first DNS packet includes a first domain name. The first DNS recursion server is deployed in the local DNS, and the intelligent network card is deployed on the recursion server.
In the case that the client signs up for the ECS service, the first DNS packet further includes a first specified field value characterizing the function of opening the ECS by the local DNS to the first domain name, and an identifier of the partition cache corresponding to the client. For example, in this case, the recursive server performs between step S300 and step S301: modifying the value of the appointed field in the original NDS message into a first appointed field value, and adding the identification of the partition cache corresponding to the client in the original DNS message to obtain a first DNS message. In some embodiments, the specified field is an Opcode field.
In some embodiments, the first DNS message further includes a second specified field value that characterizes that the local DNS does not open ECS functions for the first domain name in the event that the client is not subscribed to the ECS service.
In some embodiments, the CDN scheduling method further includes step S300. Step S300 is performed before step S301. In step S300, the recursion server receives an original DNS message from the client. The original DNS message includes a first domain name.
For example, the client first sends an original DNS message to the query server of the local DNS. The query server first judges whether the client signs the ECS service according to the signing condition of the client. Under the condition that the client signs up for the ECS service, the query server determines the corresponding identification of the partition cache and the IP address segment of the partition cache according to the IP address of the client. A plurality of cache servers are deployed in the local DNS, each cache server corresponds to an identifier of a partition cache and has an IP address segment as the IP address segment of the partition cache.
The query server firstly queries whether the IP address of the CDN node corresponding to the first domain name exists in the corresponding partition cache according to the determined IP address segment of the partition cache. And if the IP address exists, directly sending the IP address of the corresponding CDN node to the client. In the absence, the query server sends the original DNS message and the determined identity of the zone cache to the recursive server. The CDN scheduling method disclosed by the present disclosure is applicable to a case where there is no (not cached) IP address of the CDN node corresponding to the first domain name in the partition cache.
And under the condition that the client does not sign up for the ECS service, the query server executes a non-CDN scheduling method and returns an IP address of the non-CDN scheduling for the client. For example, the query server sends a first DNS message including the second specified field value to the intelligent network card, such that the intelligent network card sends the first DNS message directly to the DNS grant server for a DNS recursion procedure other than CDN scheduling.
In step S302, the intelligent network card sends a first DNS packet related to the client to a DNS authority server corresponding to the first domain name.
In step S303, the DNS authority server determines the second domain name. For example, the second domain name is determined from the IP address of the recursive server.
In step S304, the recursion server receives the second domain name from the DNS authority server.
In step S305, the recursive server processes the first DNS packet according to the first domain name and the second domain name to obtain a second DNS packet. In some embodiments, the first domain name of the first DNS message is modified to a second domain name, resulting in a second DNS message.
In step S306, the recursive server sends a second DNS message to the intelligent network card.
In step S307, the intelligent network card determines, based on the first specified field value in the second DNS packet, whether the second domain name belongs to a domain name of a global load balancing server capable of providing the ECS service.
In the case that the second domain name belongs to a domain name of a global load balancing server capable of providing ECS service, steps S308 a-S312 a are performed. In this case, for example, the global load balancing server corresponding to the second domain name is the first global load balancing server.
In step S308a, the intelligent network card adds an IP address segment corresponding to the identifier of the partition cache in the second DNS packet, to obtain a third DNS packet. For example, the corresponding relationship between the identifiers of the different partition caches and the IP address segments can be stored in the intelligent network card, so that the intelligent network card can obtain the corresponding IP address segments from the corresponding relationship according to the identifiers of the partition caches carried in the second DNS message.
In step S309a, the intelligent network card sends a third DNS packet to the first global load balancing server.
In step S310a, the first global load balancing server determines an IP address of a CDN node according to an IP address field corresponding to the identifier of the partition cache. In some embodiments, the first global load balancing server determines location information of the client according to an IP address field corresponding to the identification of the partition cache; and determining the IP address of a CDN node closest to the client according to the position information of the client.
For example, at least one of a local area network where the location information client is located and a corresponding Broadband access server (Broadband Remote ACCESS SERVER, BRAS). In some embodiments, the first global load balancing server may determine a geographic location area in which the client is located according to at least one of a local area network in which the client is located and a corresponding broadband access server; and determining the IP address of a CDN node closest to the geographic location area of the client.
In step S311a, the first global load balancing server transmits the IP address of the CND node determined by it to the recursive server.
In step S312a, the recursive server sends the IP address of the CDN node determined by the first global load balancing server to the client. For example, the recursion server may also cache the correspondence of the first domain name with the determined IP address of the CDN node for subsequent recursion.
In the case where the second domain name does not belong to the domain name of the global load balancing server capable of providing the ECS service, steps S308 b-S311 b are performed. In this case, for example, the global load balancing server corresponding to the second domain name is the second global load balancing server.
In step S308b, the intelligent network card sends a second DNS packet to the second global load balancing server.
In step S309b, the second global load balancing server determines an IP address of a CDN node according to the IP address segment corresponding to the local DNS.
In step S310b, the second global load balancing server sends the IP address of the CDN node it determines to the recursive server.
In step S311b, the recursive server sends the IP address of the CDN node determined by the second global load balancing server to the client. For example, the recursion server may also cache the correspondence of the first domain name with the determined IP address of the CDN node for subsequent recursion.
Fig. 4 is a block diagram illustrating an intelligent network card according to some embodiments of the present disclosure.
As shown in fig. 4, the intelligent network card 41 includes a first receiving module 411, a first transmitting module 412, a second receiving module 413, an adding module 414, and a second transmitting module 415.
The first receiving module 411 is configured to receive a first DNS packet related to the client, for example, to perform step S110 shown in fig. 1. The first DNS packet includes a first domain name. In the case that the client signs up for the extended DNS client subnet ECS service, the first DNS packet further includes a first specified field value characterizing that the local DNS is open to the first domain name ECS function and an identifier of a partition cache corresponding to the client.
The first sending module 412 is configured to send the first DNS message to the DNS authority server corresponding to the first domain name, so that the DNS authority server determines the second domain name, for example, performing step S120 as shown in fig. 1.
The second receiving module 413 is configured to receive the second DNS packet, for example, to perform step S130 shown in fig. 1. The second DNS message is obtained according to the first DNS message, the first domain name and the second domain name.
The adding module 414 is configured to add an IP address segment corresponding to the identity of the partition cache in the second DNS packet, based on the first specified field value, in the case that the second domain name belongs to the domain name of the global load balancing server capable of providing the ECS service, to obtain a third DNS packet, for example, performing step S140 shown in fig. 1. In some embodiments, the augmentation module 414 may include a determination unit (a sorting unit) and an augmentation unit (a processing unit). The judging unit is configured to judge whether the second domain name belongs to a domain name of a global load balancing server capable of providing the ECS service, and in the case of belonging, send the second domain name and the second DNS message to the adding unit. The adding unit is configured to receive the second domain name and the second DNS message from the judging unit, and add an IP address segment corresponding to the identifier of the partition cache in the second DNS message, so as to obtain a third DNS message.
The second sending module 415 is configured to send the third DNS packet to the global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends the IP address of a CDN node to the client according to the IP address field corresponding to the identifier of the partition cache, for example, performing step S150 shown in fig. 1.
Fig. 5 is a block diagram illustrating a CDN scheduling system according to some embodiments of the disclosure.
As shown in fig. 5, the CDN scheduling system 5 includes a recursive server 50 and an intelligent network card 51. The recursive server is deployed in the local domain name system DNS. The intelligent network card is deployed on the recursion server.
The recursive server 50 is configured to send a first DNS message associated with the client to the intelligent network card, for example, performing step S301 as shown in fig. 3. The first DNS packet includes a first domain name. In the case that the client signs up for the extended DNS client subnet ECS service, the first DNS packet further includes a first specified field value characterizing the open ECS function of the local DNS to the first domain name and an identifier of the partition cache corresponding to the client.
The intelligent network card 51 is configured to send a first DNS packet to the DNS authority server corresponding to the first domain name, so that the DNS authority server determines the second domain name, for example, performs step S302 shown in fig. 3.
The recursive server 50 is further configured to receive the second domain name from the DNS authority server, process the first DNS message according to the first domain name and the second domain name to obtain a second DNS message, and send the second DNS message to the intelligent network card, for example, performing steps S304-S306 shown in fig. 3.
The intelligent network card 51 is further configured to, based on the first specified field value, add an IP address field corresponding to the identifier of the partition cache to the second DNS packet to obtain a third DNS packet, where the second domain name belongs to a domain name of a global load balancing server capable of providing ECS services, for example, perform step S307 to step S308a shown in fig. 3.
The intelligent network card 51 is further configured to send a third DNS packet to the global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the identifier of the partition cache, for example, performing step S309a shown in fig. 3.
In some embodiments, CDN dispatch system 5 also includes DNS authority server 53. The DNS authority server 53 is configured to determine the second domain name, for example, to perform step S303 shown in fig. 3.
In some embodiments, CDN dispatch system 5 further includes a global load balancing server corresponding to the second domain name. The global load balancing server is configured to determine and send an IP address of a CDN node to the client according to an IP address segment corresponding to the identification of the partition cache.
In some embodiments, the CDN scheduling system 5 also includes a plurality of partition caches 54A, 54B, etc. The partition cache is a cache server deployed at the local DNS. For example, the CDN scheduling system 5 also includes a generic cache 55.
Fig. 6 is a block diagram illustrating an electronic device according to some embodiments of the present disclosure.
As shown in fig. 6, the electronic device 6 includes a memory 61; and a processor 62 coupled to the memory 61. The memory 61 is used for storing instructions for executing the corresponding embodiment of the CDN scheduling method. The processor 62 is configured to perform the CDN scheduling method in any of the embodiments of the present disclosure based on instructions stored in the memory 61.
FIG. 7 is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure.
As shown in FIG. 7, computer system 70 may be embodied in the form of a general purpose computing device. Computer system 70 includes a memory 710, a processor 720, and a bus 700 that connects the various system components.
Memory 710 may include, for example, system memory, non-volatile storage media, and the like. The system memory stores, for example, an operating system, application programs, boot Loader (Boot Loader), and other programs. The system memory may include volatile storage media, such as Random Access Memory (RAM) and/or cache memory. The non-volatile storage medium stores, for example, instructions for performing a corresponding embodiment of at least one of the CDN scheduling methods. Non-volatile storage media include, but are not limited to, disk storage, optical storage, flash memory, and the like.
Processor 720 may be implemented as discrete hardware components such as a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gates, or transistors. Accordingly, each of the modules, such as the judgment module and the determination module, may be implemented by a Central Processing Unit (CPU) executing instructions of the corresponding steps in the memory, or may be implemented by a dedicated circuit that performs the corresponding steps.
Bus 700 may employ any of a variety of bus architectures. For example, bus structures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, and a Peripheral Component Interconnect (PCI) bus.
Computer system 70 may also include input/output interfaces 730, network interfaces 740, storage interfaces 750, and the like. These interfaces 730, 740, 750, and memory 710 and processor 720 may be connected by bus 700. Input output interface 730 may provide a connection interface for input output devices such as a display, mouse, keyboard, etc. Network interface 740 provides a connection interface for various networking devices. Storage interface 750 provides a connection interface for external storage devices such as a floppy disk, a USB flash disk, an SD card, and the like.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable apparatus to produce a machine, such that the instructions, which execute via the processor, create means for implementing the functions specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in a computer readable memory that can direct a computer to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart and/or block diagram block or blocks.
The present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects.
Through the CDN scheduling method and system, the intelligent network card, the electronic equipment and the computer storage medium in the embodiment, the load of the CPU of the server of the local DNS can be reduced, and the CDN scheduling efficiency is improved.
So far, the CDN scheduling method and system, the intelligent network card, the electronic device, and the computer-readable medium according to the present disclosure have been described in detail. In order to avoid obscuring the concepts of the present disclosure, some details known in the art are not described. How to implement the solutions disclosed herein will be fully apparent to those skilled in the art from the above description.
Claims (15)
1. A content delivery network, CDN, scheduling method performed by an intelligent network card deployed on a local domain name system, DNS, the intelligent network card deployed on a recursive server, the recursive server deployed on the local domain name system, DNS, the CDN scheduling method comprising:
receiving a first DNS message related to a client, wherein the first DNS message comprises a first domain name, and in the case that the client signs up for an extended DNS client subnet ECS service, the first DNS message also comprises a first appointed field value for representing the function of opening the ECS by the local DNS to the first domain name and an identifier of a partition cache corresponding to the client;
Sending the first DNS message to a DNS authorization server corresponding to the first domain name so that the DNS authorization server determines a second domain name;
receiving a second DNS message, wherein the second DNS message is obtained according to the first DNS message, the first domain name and the second domain name;
Based on the first appointed field value, adding an Internet Protocol (IP) address field corresponding to the identification of the partition cache in the second DNS message under the condition that the second domain name belongs to a domain name of a global load balancing server capable of providing ECS service, so as to obtain a third DNS message;
And sending the third DNS message to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the identification of the partition cache.
2. The CDN scheduling method of claim 1, further comprising:
And based on the first specified field value, sending the second DNS message to a global load balancing server corresponding to the second domain name under the condition that the second domain name does not belong to a domain name of the global load balancing server capable of providing the ECS service, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to an IP address field corresponding to the local DNS.
3. The CDN scheduling method of claim 1 wherein the identification of the partition cache corresponding to the client is located in header information of the first DNS packet.
4. The CDN scheduling method of claim 1, wherein, in the case where the client does not sign up for ECS services, the first DNS packet further includes a second specified field value that characterizes that the local DNS does not open ECS functions for the first domain name, the CDN scheduling method further includes:
After receiving the second DNS packet, based on the second specified field value, the second DNS packet is sent to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to an IP address field corresponding to the local DNS.
5. The CDN scheduling method of claim 1, wherein the first specified field value is a value of an Opcode field and the second domain NAME is a value of a NAME field of the second DNS packet.
6. A content delivery network, CDN, scheduling method comprising:
a recursion server sends a first Domain Name System (DNS) message related to a client to an intelligent network card, wherein the first DNS message comprises a first domain name, and under the condition that the client signs a contract for expanding a domain name client sub-network (ECS) service, the first DNS message also comprises a first appointed field value for representing a function of opening the ECS by a local DNS to the first domain name and an identifier of a partition cache corresponding to the client, the recursion server is deployed in the local Domain Name System (DNS), and the intelligent network card is deployed on the recursion server;
The intelligent network card sends the first DNS message to a DNS authorization server corresponding to the first domain name so that the DNS authorization server determines a second domain name;
The recursion server receives the second domain name from the DNS authorization server, processes the first DNS message according to the first domain name and the second domain name to obtain a second DNS message, and sends the second DNS message to the intelligent network card;
The intelligent network card adds an Internet Protocol (IP) address field corresponding to the identification of the partition cache in the second DNS message to obtain a third DNS message under the condition that the second domain name belongs to a domain name of a global load balancing server capable of providing ECS service based on the first appointed field value;
The intelligent network card sends the third DNS message to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to an IP address field corresponding to the identification of the partition cache.
7. The CDN scheduling method of claim 6 wherein the second domain name is determined from an IP address of the recursive server.
8. The CDN scheduling method of claim 6 wherein processing the first DNS packet to obtain a second DNS packet in accordance with the first domain name and the second domain name comprises:
And modifying the first domain name of the first DNS message into a second domain name to obtain a second DNS message.
9. The CDN scheduling method of claim 6 wherein determining an IP address of a CDN node from an IP address segment corresponding to the identification of the partition cache comprises:
Determining the position information of the client according to the IP address segment corresponding to the identification of the partition cache;
and determining the IP address of a CDN node closest to the client according to the position information of the client.
10. The CDN scheduling method of claim 6 further comprising:
The recursion server receives an original DNS message from the client, wherein the original DNS message comprises the first domain name;
and under the condition that the client signs up for the ECS service, the recursion server modifies the value of the appointed field in the original DNS message into the value of the first appointed field, and adds the identification of the partition cache corresponding to the client in the original DNS message to obtain the first DNS message.
11. An intelligent network card deployed in a local domain name system DNS, the intelligent network card deployed on a recursive server, the recursive server deployed in the local domain name system DNS, the intelligent network card comprising:
A first receiving module configured to receive a first DNS packet related to a client, where the first DNS packet includes a first domain name, and where the client signs up for an extended DNS client subnet ECS service, the first DNS packet further includes a first specified field value characterizing an ECS function of opening the first domain name by the local DNS and an identifier of a partition cache corresponding to the client;
A first sending module configured to send the first DNS packet to a DNS authority server corresponding to the first domain name, so that the DNS authority server determines a second domain name;
The second receiving module is configured to receive a second DNS message, and the second DNS message is obtained according to the first DNS message, the first domain name and the second domain name;
The adding module is configured to add an Internet Protocol (IP) address field corresponding to the identifier of the partition cache in the second domain name message to obtain a third Domain Name Server (DNS) message under the condition that the second domain name belongs to a domain name of a global load balancing server capable of providing the ECS service based on the first specified field value;
and the second sending module is configured to send the third DNS message to a global load balancing server corresponding to the second domain name, so that the global load balancing server determines and sends an IP address of a CDN node to the client according to the IP address field corresponding to the identification of the partition cache.
12. A content delivery network, CDN, scheduling system comprising:
the intelligent network card of claim 11; and
A recursion server configured to
Sending a first DNS message related to a client to an intelligent network card, wherein the first DNS message comprises a first domain name, and further comprises a first appointed field value for representing the opening ECS function of the local DNS to the first domain name and an identifier of a partition cache corresponding to the client when the client signs a contract for expanding the ECS service of a DNS client sub-network, the recursive server is deployed in the local domain name system DNS, and the intelligent network card is deployed on the recursive server;
And receiving the second domain name from the DNS authorization server, processing the first DNS message according to the first domain name and the second domain name to obtain a second DNS message, and sending the second DNS message to the intelligent network card.
13. The CDN scheduling system of claim 12, further comprising:
and a DNS authority server configured to determine the second domain name.
14. An electronic device, comprising:
a memory; and
A processor coupled to the memory, the processor configured to perform the CDN scheduling method of any one of claims 1 to 10 based on instructions stored in the memory.
15. A computer storage medium having stored thereon computer program instructions which, when executed by a processor, implement the CDN scheduling method of any one of claims 1 to 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011313473.9A CN114598677B (en) | 2020-11-20 | 2020-11-20 | CDN scheduling method and system, intelligent network card and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011313473.9A CN114598677B (en) | 2020-11-20 | 2020-11-20 | CDN scheduling method and system, intelligent network card and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598677A CN114598677A (en) | 2022-06-07 |
CN114598677B true CN114598677B (en) | 2024-06-28 |
Family
ID=81812108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011313473.9A Active CN114598677B (en) | 2020-11-20 | 2020-11-20 | CDN scheduling method and system, intelligent network card and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598677B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232690A (en) * | 2023-01-10 | 2023-06-06 | 无锡沐创集成电路设计有限公司 | DDOS attack resistance method, device, smart network card, medium and product |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107896257B (en) * | 2017-12-13 | 2021-08-27 | 中国移动通信集团江苏有限公司 | Method, apparatus, device and medium for deploying client subsystem function |
CN108494891A (en) * | 2018-02-28 | 2018-09-04 | 网宿科技股份有限公司 | A kind of domain name analytic method, server and system |
CN109347996A (en) * | 2018-12-10 | 2019-02-15 | 中共中央办公厅电子科技学院 | A kind of DNS domain name acquisition system and method |
CN111327714A (en) * | 2018-12-17 | 2020-06-23 | 中国电信股份有限公司 | Domain name recursive query method and system, server and DNS system |
-
2020
- 2020-11-20 CN CN202011313473.9A patent/CN114598677B/en active Active
Non-Patent Citations (2)
Title |
---|
C. Contavalli ; W. van der Gaast ; Google ; D. Lawrence ; Akamai Technologies ; W. Kumari ; Google ; .Client Subnet in DNS Queries.IETF .2016,全文. * |
基于EDNS优化的CDN精准调度方案探讨;黄润怀;海锦霞;梁洁;;广东通信技术;20200915(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114598677A (en) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112965824B (en) | Message forwarding method and device, storage medium and electronic equipment | |
CN110808913B (en) | Message processing method, device and related equipment | |
EP3016329B1 (en) | Service path allocation method, router and service execution entity | |
US9712559B2 (en) | Identifying frames | |
CN112217781B (en) | Method and device for analyzing service-oriented communication | |
CN103201989B (en) | The methods, devices and systems of control data transmission | |
CN101340293B (en) | Packet safety detection method and device | |
CN101656677A (en) | Message diversion processing method and device | |
US20120207167A1 (en) | Method of searching for host in ipv6 network | |
EP2583415A2 (en) | Methods, systems, and computer readable media for providing dynamic origination-based routing key registration in a diameter network | |
CN109040232A (en) | Load balancing method, device and equipment for video conference and storage medium thereof | |
CN112583655B (en) | Data transmission method, device, electronic device and readable storage medium | |
CN114157632B (en) | Network isolation method, device, equipment and storage medium | |
CN104168338A (en) | Network address conversion device and network address conversion method | |
CN103347087A (en) | A structured P2P and UDDI service registration and search method and system | |
CN107690004A (en) | The processing method and processing device of address analysis protocol message | |
CN110601989A (en) | Network traffic balancing method and device | |
CN114598677B (en) | CDN scheduling method and system, intelligent network card and electronic equipment | |
WO2022078330A1 (en) | Domain name recursive query method and apparatus, and recursive server and dns system | |
CN107888467B (en) | Message forwarding method and device based on PPPOE, BRAS and switch | |
CN107809387B (en) | Method, device and network system for message transmission | |
CN112367261A (en) | Message forwarding method and device and distributed equipment | |
CN109729043B (en) | Method, device and system for preventing attack message | |
CN113596105B (en) | Content acquisition method, edge node and computer readable storage medium | |
CN114679370B (en) | Server hosting method, device, system and storage medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |