A determination method, a virtual router, a control device, and a domain name resolution system.
By storing the mapping relationship between domain names and IP addresses in the virtual router, and directly obtaining the IP address of the domain name request from the virtual router, the problem of long delay in DNS service in the cloud platform is solved and the service response speed is improved.
Patent Information
- Application Number
- CN202111031386.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-03
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2041-09-03
AI Technical Summary
The DNS services provided by the domain name resolution system in the existing cloud platform have a long delay problem, which limits the timeliness of service discovery and service mutual access.
By storing the mapping relationship between the domain name and the IP address in the virtual router, the instance can directly obtain the IP address of the domain name request from the virtual router after receiving the domain name request, avoiding forwarding the domain name request to the DNS server, thereby shortening the path to obtain the IP address.
It reduces the delay of DNS services, improves the timeliness of service discovery and service mutual access, and enhances the response speed of services in the cloud platform.
Smart Images

Figure CN114124890B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to domain name resolution technology in a cloud platform, and in particular to a determination method, a virtual router, a control device and a domain name resolution system. Background Art
[0002] Currently, in the cloud platform, the business is broken down into several microservice components, and the components realize service discovery and service access through registration services or subscription methods.
[0003] The timeliness of service discovery and service mutual access depends on the rapid response of the Domain Name System (DNS) service. The role of DNS is to convert service domain names into Internet Protocol (IP) addresses for network access. At present, the DNS service in the cloud computing system is designed as a centralized service. In order to implement DNS services, each instance in the cloud computing system needs to go through a data center switch or router, and it takes dozens of hops to obtain DNS services, resulting in a long delay. It can be seen that the DNS service provided by the domain name resolution system in the existing cloud platform has a technical problem of long delay. Summary of the invention
[0004] The embodiments of the present application provide a determination method, a virtual router, a control device, and a domain name resolution system, which can reduce the delay of DNS service.
[0005] The technical solution of this application is implemented as follows:
[0006] The embodiment of the present application provides a determination method, which is applied to a virtual router in a domain name resolution system based on a cloud platform, including:
[0007] Receiving a domain name request through an instance of the domain name resolution system;
[0008] Determine the IP address of the domain name request from the mapping relationship between the domain name and the IP address stored locally;
[0009] The IP address of the domain name request is returned to the instance.
[0010] The embodiment of the present application provides a determination method, which is applied to a control device in a domain name resolution system based on a cloud platform, including:
[0011] Get the mapping relationship between domain name and IP address;
[0012] Sending the mapping relationship between the domain name and the IP address to the virtual router under the control of the control device;
[0013] The mapping relationship between the domain name and the IP address is used by the virtual router managed by the control device to determine the IP address of the received domain name request.
[0014] The embodiment of the present application provides a virtual router, which is arranged in a domain name resolution system based on a cloud platform, including:
[0015] A receiving module, configured to receive a domain name request through an instance of the domain name resolution system;
[0016] A determination module, used to determine the IP address of the domain name request from the mapping relationship between the domain name and the IP address stored locally;
[0017] The returning module is used to return the IP address of the domain name request to the instance.
[0018] The embodiment of the present application provides a control device, which is arranged in a domain name resolution system based on a cloud platform, including:
[0019] An acquisition module is used to obtain the mapping relationship between the domain name and the IP address;
[0020] A sending module, used for sending the mapping relationship between the domain name and the IP address to the virtual router in the cluster governed by the control device;
[0021] The mapping relationship between the domain name and the IP address is used by the virtual router managed by the control device to determine the IP address of the received domain name request.
[0022] The embodiment of the present application provides a virtual router, including:
[0023] A processor and a storage medium storing instructions executable by the processor, wherein the storage medium relies on the processor to perform operations through a communication bus, and when the instructions are executed by the processor, the determination method described in one or more of the above embodiments is executed.
[0024] The present application provides a control device, including:
[0025] A processor and a storage medium storing instructions executable by the processor, wherein the storage medium relies on the processor to perform operations through a communication bus, and when the instructions are executed by the processor, the determination method described in one or more of the above embodiments is executed.
[0026] An embodiment of the present application provides a domain name resolution system, which is arranged in a cloud platform and includes the virtual router described in one or more of the above embodiments and the control device described in one or more of the above embodiments.
[0027] An embodiment of the present application provides a computer storage medium storing executable instructions. When the executable instructions are executed by one or more processors, the processors execute the determination method described in one or more embodiments.
[0028] The embodiment of the present application provides a determination method, a virtual router, a control device and a domain name resolution system. The method is applied to a virtual router in a domain name resolution system based on a cloud platform, including: receiving a domain name request through an instance of the domain name resolution system, determining the IP address of the domain name request from a mapping relationship between a locally stored domain name and an IP address, and returning the IP address of the domain name request to the instance; that is, in the embodiment of the present application, by storing the mapping relationship between the domain name and the IP address in the virtual router, the instance can directly obtain the IP address of the domain name request from the virtual router after receiving the domain name request, avoiding the long path of forwarding the domain name request to a DNS server of the domain name resolution system to obtain the IP address of the domain name request from the DNS domain name database, shortening the path of obtaining the IP address of the domain name request, and thus reducing the delay of the DNS service. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 A schematic diagram of the structure of an optional domain name resolution system provided in an embodiment of the present application;
[0030] Figure 2 A schematic diagram of an optional process interaction of a determination method provided in an embodiment of the present application;
[0031] Figure 3 This is the IOT cloud collaboration architecture diagram in related technologies;
[0032] Figure 4 This is a diagram of the cloud-based centralized DNS architecture in the related technology;
[0033] Figure 5 A schematic diagram of the structure of an example of an optional domain name resolution system provided in an embodiment of the present application;
[0034] Figure 6 A schematic diagram of a flow chart of an optional determination method provided in an embodiment of the present application;
[0035] Figure 7 A schematic diagram of a flow chart of another optional determination method provided in an embodiment of the present application;
[0036] Figure 8 A schematic diagram of the structure of an optional virtual router provided in an embodiment of the present application;
[0037] Fig. 9 A schematic diagram of the structure of an optional control device provided in an embodiment of the present application;
[0038] Fig.10 A schematic diagram of the structure of another optional domain name resolution system provided in an embodiment of the present application;
[0039] Fig.11 A schematic diagram of the structure of another optional virtual router provided in an embodiment of the present application;
[0040] Fig.12 A schematic diagram of the structure of another optional control device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0042] Embodiment 1
[0043] The present application embodiment provides a determination method, which is applied to a domain name resolution system based on a cloud platform. Figure 1 A schematic diagram of the structure of an optional domain name resolution system provided in an embodiment of the present application, such as Figure 1 As shown, the domain name resolution system 100 may include: an instance 11, a control device 12, a virtual router 13, a DNS server 14, and a DNS domain name database 15; wherein, the number of the above-mentioned instances 11 may be one or more, and in the cloud platform, the instance 11 is a resource, which may be a virtual machine, a container, or a bare metal. Here, the embodiment of the present application does not make any specific limitation on this.
[0044] In the above-mentioned domain name resolution system 100, the DNS server 14 establishes communication connections with the control device 12, the DNS domain name database 15 and the virtual router 13 respectively, and one or more instances 11 establishes communication connections with the virtual router 13, wherein the number of control devices 12 may include multiple, and each control device 12 governs a group of virtual routers to form a cluster.
[0045] Based on the above Figure 1 The domain name resolution system provided, Figure 2 A schematic diagram of an optional determination method provided in an embodiment of the present application is shown in FIG. Figure 2 As shown, the determination method may include:
[0046] S201: The control device 12 obtains a mapping relationship between a domain name and an IP address;
[0047] At present, with the rapid development of technologies such as the Internet of Things (IOT) and the fifth generation mobile communication technology (5G), the intelligent era of the Internet of Everything is accelerating. Mobile phones have become the core entrance to the application of the Internet of Things and play an irreplaceable role in the application scenarios of the Internet of Everything. The characteristics of IoT applications are ultra-low latency, fast response, intelligent data collection, monitoring, face recognition, online payment and other IoT applications are all completed through the mobile terminal and the cloud collaboration of the data center to complete their computing and business intelligent scheduling.
[0048] Figure 3 This is the IOT cloud collaboration architecture diagram in related technologies, such as Figure 3 As shown in the figure, the application architecture of IOT is mainly realized through requests and responses between the data center cloud service system and the terminal through the network (for example, 5G network); wherein the terminal may include a mobile phone terminal, an autonomous driving terminal, a smart wearable terminal, a smart home terminal and a smart logistics terminal, and the data center cloud service system may include a computing cluster consisting of a gateway, a master node (Master), multiple instances (instance 1, instance 2, ..., instance n) and a virtual router. It can be seen that almost all of IOT's services are provided by the data center cloud service system. The 5G network and the data center cloud service system together provide the rapid response capability of IOT services. The network delay of the data center cloud service system has a critical impact on IOT services.
[0049] Figure 4 This is a diagram of the cloud-based centralized DNS architecture in related technologies, such as Figure 4 As shown, the cloud-based centralized DNS architecture may include: computing instances (equivalent to the above instances), virtual routers, DNS servers, orchestration controllers (equivalent to the above control devices), DNS domain name databases, and external DNS resolvers.
[0050] Among them, computing instances may include virtual machines (VM, Virtual Machine), containers (POD) and bare metal (HOST); virtual routers (including virtual router 1 and virtual router 2) provide IP address allocation, DNS message forwarding and layer 2 and 3 access and routing forwarding functions for computing instances (including computing instance 1 and computing instance 2), thereby realizing the isolation function of the virtual network.
[0051] The virtual network where the computing instance is located is also called a virtual private network (VPC); the DNS server can be divided into two parts: the maintenance of DNS domain name database records and the response to DNS request messages within the domain. It is usually a centralized service cluster or node; the orchestration controller is responsible for the life cycle management of the computing instance, network resource allocation and scheduling, and the allocation and recovery of IP addresses and domain names; the DNS domain name database records a set of correspondences between commonly used IP addresses and domain names in the region, and provides query services; the external DNS resolver is responsible for resolving DNS services for external domain names.
[0052] like Figure 4 As shown, the workflow is as follows:
[0053] S401: DNS server monitors IP events;
[0054] Among them, an IP event refers to an event that generates a new mapping relationship between a domain name and an IP address.
[0055] S402: The orchestration controller returns the domain name record to the DNS server;
[0056] The above domain name record refers to the mapping relationship between the generated domain name and the IP address.
[0057] S403: The DNS server writes the domain name record into the DNS domain name database;
[0058] S404: Computing instance 1 sends the received internal domain name request to virtual router 1;
[0059] S405: Computing instance 2 sends the received external domain name request to virtual router 2;
[0060] S406: Virtual router 1 forwards the internal domain name request to the DNS server, and virtual router 2 forwards the external domain name request to the DNS server;
[0061] S407: The DNS server receives the domain name request;
[0062] The domain name request here can be an internal domain name request or an external domain name request.
[0063] S408: The DNS server searches for the IP address of the domain name request from the DNS domain name database, and returns the IP address of the domain name request to the DNS server;
[0064] S409: The DNS server returns the IP address of the domain name request to virtual router 1 or virtual router 2;
[0065] S410: The DNS server sends a domain name request to an external DNS resolver to obtain an IP address of the domain name request.
[0066] It can be seen from the above process that the service path from the computing instance to the DNS server is long, passing through the data center switch or router in the middle. The message needs to go through dozens of hops to obtain the IP address of the domain name request, which leads to excessive latency.
[0067] In order to improve the latency of the domain name resolution system under the cloud platform, the embodiment of the present application provides a determination method, first, the control device (equivalent to Figure 4 The orchestration controller in the control device) obtains the mapping relationship between the domain name and the IP address, wherein the control device can receive the mapping relationship between the domain name and the IP address determined by other devices, for example, external devices, or it can be the mapping relationship between the domain name and the IP address determined by itself through preset rules. Here, the embodiments of the present application do not make specific limitations on this.
[0068] S202: The control device 12 sends the mapping relationship between the domain name and the IP address to the virtual router 13 under the control of the control device 12;
[0069] S203: the virtual router 13 managed by the control device 12 adds the received mapping relationship between the domain name and the IP address to the mapping relationship between the domain name and the IP address stored locally;
[0070] Through S201, after obtaining the mapping relationship between the domain name and the IP address, the control device 12 sends it to the virtual router 13 under the jurisdiction of the control device 12. It should be noted that in the domain name resolution system, each cluster under the jurisdiction of the control device may include multiple virtual routers. In the embodiment of the present application, the control device 12 directly sends the obtained mapping relationship between the domain name and the IP address to the virtual router 13 under the jurisdiction of the control device 12. In this way, the virtual router 13 under the jurisdiction of the control device 12 adds the received mapping relationship between the domain name and the IP address to the locally stored mapping relationship between the domain name and the IP address, so that each virtual router stores the mapping relationship between the domain name and the IP address obtained by the control device to which it belongs.
[0071] Here, it should be noted that the above-mentioned control device 12 communicates with the virtual router 13 under the jurisdiction of the control device 12 through a preset transmission protocol, for example, the Border Gateway Protocol (BGP), the Hypertext Transfer Protocol (HTTP), the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP), and the embodiments of the present application do not make specific limitations on this.
[0072] Among them, the above-mentioned control device 12 can be a software defined network (SDN, Software Defined Network) controller that provides an application programming interface (API, Application Programming Interface) server, or it can be a network management switching platform, through which it can communicate with the main components in the network as an agent. The network it controls can be a virtual software router switch or a hardware routing switch. The embodiment of the present application does not make specific limitations on this.
[0073] S204: the virtual router 13 managed by the control device 12 receives a domain name request from the instance 11;
[0074] S205: The virtual router 13 managed by the control device 12 determines the IP address of the domain name request from the mapping relationship between the domain name and the IP address stored locally;
[0075] S206 : the virtual router 13 managed by the control device 12 returns the IP address of the domain name request to the instance 11 .
[0076] After the virtual router 13 has the mapping relationship between the domain name and the IP address stored locally, when the virtual router 13 receives a domain name request from the instance, the IP address of the domain name request can be determined from the mapping relationship between the domain name and the IP address stored locally, and the determined IP address of the domain name request is returned to the instance. The virtual router 13 does not need to forward the domain name request to the DNS server 14 to obtain the path of the IP address of the domain name request from the DNS domain name database 15. In this way, the path for obtaining the IP address of the domain name request is shortened, thereby shortening the delay.
[0077] For the domain name request received by instance 11, it may exist in the mapping relationship between the domain name and the IP address stored locally in the virtual router 13, or it may not exist in the mapping relationship between the domain name and the IP address stored locally in the virtual router 13. In order to determine the IP address of the domain name request, in an optional embodiment, S205 may include:
[0078] When the domain name in the domain name request exists in the mapping relationship between domain names and IP addresses stored locally by the virtual router 13 under the control of the control device 12, the virtual router 13 under the control of the control device 12 determines the IP address of the domain name request from the mapping relationship between domain names and IP addresses.
[0079] Specifically, the virtual router 13 determines whether the domain name in the domain name request exists in the mapping relationship between the locally stored domain name and the IP address. If it exists, the domain name in the domain name request can be found from the mapping relationship between the locally stored domain name and the IP address, and then the IP address corresponding to the domain name is determined as the IP address of the domain name request, so that the IP address of the domain name request can be determined through the virtual router 13.
[0080] In addition, in order to determine the IP address of the domain name request, in an optional embodiment, the method may further include:
[0081] When the domain name in the domain name request does not exist in the mapping relationship between the domain name and the IP address stored locally in the virtual router 13 under the control of the control device 12, the virtual router 13 under the control of the control device 12 forwards the domain name request to the DNS server 14 of the domain name resolution system; wherein the domain name request is used for the DNS server 14 to obtain the IP address of the domain name request from the upper-level DNS server of the domain name resolution system;
[0082] The virtual router 13 managed by the control device 12 receives the IP address of the domain name request sent from the DNS server;
[0083] The virtual router 13 managed by the control device 12 returns the IP address of the domain name request to the instance 11, and adds the mapping relationship between the domain name and the IP address in the domain name request to the mapping relationship between the domain name and the IP address stored locally.
[0084] Specifically, the virtual router 13 determines whether the domain name in the domain name request exists in the mapping relationship between the domain name and the IP address stored locally. If not, the domain name request needs to be forwarded to the DNS server 14. Since the mapping relationship between the domain name and the IP address stored in the DNS domain name database 15 exists in the virtual router 13, the DNS server 14 forwards the domain name request to the upper-level DNS server to obtain the IP address of the domain name request.
[0085] When the DNS server 14 obtains the IP address of the domain name request, it not only returns the IP address of the domain name request to the instance 11, but the virtual router 13 also adds the mapping relationship between the domain name in the domain name request and the IP address of the domain name request to the mapping relationship between the domain name and the IP address stored locally, so as to expand the mapping relationship between the domain name and the IP address stored locally.
[0086] Furthermore, in order to shorten the delay of the domain name resolution system, in an optional embodiment, the method may further include:
[0087] The control device 12 sends the mapping relationship between the domain name and the IP address stored locally to other control devices in the domain name resolution system;
[0088] The other control devices send the received mapping relationship between the domain name and the IP address to the virtual routers governed by the other control devices;
[0089] The virtual routers managed by other control devices add the received mapping relationship between the domain name and the IP address to the mapping relationship between the domain name and the IP address stored locally.
[0090] That is to say, the control device 12 and other control devices can also transmit the mapping relationship between the domain name and the IP address to each other to expand the mapping relationship between the domain name and the IP address stored in the virtual router 13. Specifically, the control device 12 sends the mapping relationship between the domain name and the IP address stored locally to other control devices, then the other control devices can send the received mapping relationship between the domain name and the IP address to the virtual routers under the jurisdiction of other devices, so that the virtual routers under the jurisdiction of other control devices can add the received mapping relationship between the domain name and the IP address to the mapping relationship between the domain name and the IP address stored locally.
[0091] In this way, by mutually transmitting the mapping relationship between the domain name and the IP address between the control devices, the virtual router can store the mapping relationship between the domain name and the IP address obtained by other control devices, thereby shortening the processing delay of the domain name request.
[0092] In actual applications, the mapping relationship between the domain name and the IP address may change. In order to shorten the delay and ensure the accuracy of the domain name request, in an optional embodiment, the method further includes:
[0093] When the mapping relationship between the domain name and the IP address stored locally in the control device 12 changes, the control device 12 sends the change information to the virtual router 13 and other control devices under the control of the control device 12;
[0094] The virtual router 13 managed by the control device 12 updates the domain name corresponding to the IP address of the changed information in the mapping relationship between the domain name and the IP address stored locally to the changed domain name;
[0095] The other control devices update the domain name corresponding to the IP address of the changed information in the mapping relationship between the domain name and the IP address stored locally to the changed domain name, and send the changed information to the virtual routers under the jurisdiction of the other control devices;
[0096] The virtual routers managed by other control devices update the domain name corresponding to the IP address of the changed information in the mapping relationship between the domain name and the IP address stored locally to the changed domain name.
[0097] Specifically, when the mapping relationship between the domain name and the IP address stored locally in the control device 12 changes, the control device 12 sends the change information to the virtual router 13 and other control devices under the control of the control device 12, wherein the change information may be the mapping relationship between the domain name and the IP address after the change.
[0098] Among them, after receiving the change information, the virtual router 13 under the control of the control device 12 updates the domain name corresponding to the IP address of the change information in the locally stored mapping relationship between the domain name and the IP address to the changed domain name. In this way, the changed domain name is modified in time. When the change information is the mapping relationship between the domain name and the changed IP address, the method is similar and will not be repeated here.
[0099] In addition, after receiving the change information, the other control devices first update the domain name corresponding to the IP address of the change information in the locally stored mapping relationship between the domain name and the IP address to the changed domain name, and the other control devices send the change information to the virtual routers under the jurisdiction of the other control devices. After receiving the change information, the virtual routers under the jurisdiction of the other control devices update the domain name corresponding to the IP address of the change information in the locally stored mapping relationship between the domain name and the IP address to the changed domain name. In this way, all the changed domain names are modified in time. When the change information is the mapping relationship between the domain name and the changed IP address, the method is similar and will not be repeated here.
[0100] When the instance in the domain name resolution system is deleted, in an optional embodiment, the method may further include:
[0101] When the first instance connected to the virtual router 13 managed by the control device 12 is deleted, the control device 12 deletes the mapping relationship between the IP address of the first instance and the domain name corresponding to the IP address of the first instance from the mapping relationship between the domain name and the IP address stored locally.
[0102] Specifically, when the first instance is deleted, the virtual router 13 senses that the first instance is deleted. When the control device 12 knows that the first instance is deleted, the IP address of the first instance in the domain name and IP address stored locally in the control device 12 is invalid. Therefore, the control device 12 deletes the mapping relationship between the IP address of the first instance and the domain name corresponding to the IP address of the first instance from the mapping relationship between the domain name and the IP address stored locally. In this way, problems caused by false mapping relationships in the control device are prevented.
[0103] It should be noted that the mapping relationship between the domain name and the IP address transmitted between the control device and the virtual router can be an extended DNS attribute, but is not limited to the extended DNS community attribute, and can also be other network-based information interaction methods, such as message queues, remote procedure calls, and communications based on HTTP protocols.
[0104] In addition, the determination method provided in the embodiment of the present application can be applied not only to the IOT cloud platform, but also to hybrid cloud products such as public cloud and private cloud.
[0105] The following is an example to describe the determination method in one or more of the above embodiments.
[0106] Figure 5 A schematic diagram of an example of an optional domain name resolution system provided in an embodiment of the present application, such as Figure 5 As shown, the domain name resolution system may include: computing instances (including computing instance 1 and computing instance 2), virtual routers (including virtual router 1 and virtual router 2), SDN orchestration controllers (including SDN orchestration controller 1, SDN orchestration controller 2, ..., SDN orchestration controller N), DNS servers, DNS domain name databases, and external DNS resolvers; wherein, Figure 4 In comparison, a DNS BGP Agent (D-BGP Agent) is added to the virtual router of the original domain name resolution system, and a BGP-EVPN DNS service function module is added to the orchestration controller; the original domain name resolution system still works in the original way, serving as a backup database for the internal domain name system as the search entry for the external domain name system.
[0107] Based on the above Figure 5 , the above determination method may include:
[0108] S501: DNS server monitors IP events;
[0109] S502: The SDN orchestration controller returns the domain name record to the DNS server;
[0110] Among them, the SDN orchestration controller is equivalent to the above-mentioned control device.
[0111] S503: The DNS server writes the domain name record into the DNS domain name database;
[0112] S504: Computing instance 1 receives the internal domain name request, and sends the internal domain name request to virtual router 1 to which computing instance 1 is connected; executing S506;
[0113] S505: Computing instance 2 receives the external domain name request, and sends the external domain name request to virtual router 2 to which computing instance 2 is connected; executing S506;
[0114] S506: Virtual router 1 responds to the internal domain name request, or virtual router 2 responds to the external domain name;
[0115] S507: When the domain name in the domain name request does not exist locally, the virtual router forwards the domain name request to the DNS server;
[0116] The domain name request here can be an internal domain name request or an external domain name request.
[0117] S508: The DNS server searches for the IP address of the domain name request from the DNS domain name database, and returns the IP address of the domain name request to the DNS server;
[0118] S509: The DNS server returns the IP address of the domain name request to the virtual router;
[0119] S510: The DNS server sends a domain name request to an external DNS resolver to obtain an IP address of the domain name request.
[0120] Based on the above Figure 5 ,The workflow of the SDN orchestration controller is as follows:
[0121] The SDN orchestration controller is the core of the network system. It needs to establish BGP neighbors with the virtual routers in the same cluster. If cross-cluster communication is required, it also needs to establish BGP neighbors with SDN orchestration controllers in different clusters in order to work.
[0122] When the SDN orchestration controller allocates an IP address, it can generate a corresponding domain name for the IP based on identification information such as the virtual network where the IP is located and the instance name.
[0123] When the SDN controller notifies each virtual router of the BGP route corresponding to the instance, it also notifies the virtual router of the domain name record corresponding to the IP address as a community attribute.
[0124] Among them, the DNS community attributes are shown in Table 1 below, which gives the way of announcing a domain name using an Internet Protocol version 4 (IPV4) address. By simply modifying Subtype=0x01,length, the mapping relationship between an Internet Protocol version 6 (IPV6) address and a domain name can be achieved.
[0125] Table 1
[0126]
[0127] In addition, when the instance is deleted, the IP address will be released, and the SDN controller will delete the record information of the IP address and its corresponding domain name;
[0128] When the domain name corresponding to the IP address changes, the SDN orchestration controller immediately notifies each virtual router of the domain name change corresponding to the IP address and the information of the changed domain name. In addition to notifying the IP address and the changed domain name to the virtual routers in the same cluster, the SDN orchestration controller can also notify the SDN orchestration controllers of other clusters of the routing and domain name change information;
[0129] After receiving the routing and domain name updates from other clusters, the SDN orchestration controllers in different clusters will synchronize the routing and domain name information to the local virtual router and DNS server. The DNS domain name resolution system between different clusters can be realized by using the SDN orchestration controller as an intermediate agent.
[0130] Based on the above Figure 5 ,The DNS BGP Agent workflow in the virtual router is as follows:
[0131] The functions of a virtual router include creating and deleting ports of an instance, and responding to port attribute updates. These changes are published in the form of BGP routes with extended DNS community attributes attached.
[0132] After the virtual router receives the BGP message notified by the SDN orchestration controller, it will save the record of the IP address and the domain name corresponding to the IP address locally for query use.
[0133] After receiving the DNS request message from the instance, the virtual router will first search for the record in the local DNS BGP Agent domain name system. If found, the result will be returned to the user immediately. Otherwise, it will be forwarded to the upper-level DNS server. When a new record is received from the upper-level DNS server, it will also be added to the DNS BGP Agent for subsequent query needs. In this way, the virtual router can cache the resolution results of external domain names, and the speed of the next resolution can be reduced from milliseconds to microseconds.
[0134] In other words, this instance adopts the idea of edge computing, proposes a distributed DNS service architecture, and invents a distributed DNS solution based on the Border Gateway Protocol Ethernet Virtual Private Network (BGP-EVPN) protocol, and proposes a new routing DNS extended community attribute (DNS Extended Community (DNS-EC)). The DNS-EC community attribute can efficiently transfer DNS records between neighbors, and place the DNS resolution function at the nearest place to the instance to provide DNS resolution services. The cloud platform DNS resolution time is reduced; the IOT cloud platform using this instance can greatly reduce the latency of IOT services, support the rapid iterative delivery of IOT services, and improve product competitiveness.
[0135] Through the above examples, the DNS service can be abstracted into a logically centralized and physically decentralized distributed service. DNS services are provided on each cloud server node, and DNS requests can be completed on the cloud physical machine, which improves the rapid response of the business and the user experience, solves the defects of single point failure, and increases the number of concurrent IOT connections in the cluster to tens of millions. The distributed architecture DNS service is deployed on the cloud server, and each node has the ability to cache and answer DNS requests, which can reduce the average failure time of the system, realize uninterrupted business upgrades, save and improve resource reuse rate, reduce costs, and efficiently transmit the DNS records of the instance. Each distributed DNS service node supports API / HTTP / Google developed remote procedure call (GRPC, Google Remote Procedure Call) lookup to achieve efficient access and application of DNS services. The calculation of BGP protocol DNS requests can be completed in the virtual router node closer to the user, which can increase the speed of accessing DNS by about 100 times. This solution can reduce the network access delay of IOT products, improve the competitiveness of IOT products, and is conducive to DNS requests in large-scale clusters and clusters between multiple data centers, and improves DNS resolution efficiency.
[0136] An embodiment of the present application provides a determination method, which is applied to a virtual router in a domain name resolution system based on a cloud platform, including: receiving a domain name request through an instance of the domain name resolution system, determining the IP address of the domain name request from a mapping relationship between the domain name and the IP address stored locally, and returning the IP address of the domain name request to the instance; that is, in the embodiment of the present application, by storing the mapping relationship between the domain name and the IP address in the virtual router, the instance can directly obtain the IP address of the domain name request from the virtual router after receiving the domain name request, avoiding the long path through which the domain name request is forwarded to the DNS server of the domain name resolution system to obtain the IP address of the domain name request from the DNS domain name database, shortening the path for obtaining the IP address of the domain name request, thereby reducing the delay of the DNS service.
[0137] Embodiment 2
[0138] The above determination method is described below using each device deployed in the domain name resolution system.
[0139] First, the determination method will be described on the virtual router side.
[0140] The present application embodiment provides a determination method, which is applied to a virtual router in a domain name resolution system based on a cloud platform. Figure 6 A flowchart of an optional determination method provided in an embodiment of the present application is shown as follows: Figure 6 As shown, the determination method may include:
[0141] S601: receiving a domain name request through an instance of a domain name resolution system;
[0142] S602: Determine the IP address of the domain name request from the mapping relationship between the domain name and the IP address stored locally;
[0143] S603: Return the IP address of the domain name request to the instance.
[0144] In an optional embodiment, the above method may further include:
[0145] Receiving the mapping relationship between the domain name and the IP address obtained from the control device to which the virtual router belongs;
[0146] The received mapping relationship between the domain name and the IP address is added to the mapping relationship between the domain name and the IP address.
[0147] In an optional embodiment, the above method may further include:
[0148] When the mapping relationship between the domain name and the IP address changes, the change information sent from the control device is received, and the domain name corresponding to the IP address of the change information in the mapping relationship between the domain name and the IP address is updated to the changed domain name.
[0149] In an optional embodiment, S602 may include:
[0150] When the domain name in the domain name request exists in the mapping relationship between the domain name and the IP address, the IP address of the domain name request is determined from the mapping relationship between the domain name and the IP address.
[0151] In an optional embodiment, the above method may further include:
[0152] When the domain name in the domain name request does not exist in the mapping relationship between the domain name and the IP address, the domain name request is forwarded to the DNS server of the domain name resolution system; wherein the domain name request is used by the DNS server to obtain the IP address of the domain name request from the upper-level DNS server of the domain name resolution system;
[0153] The IP address that receives domain name requests from the DNS server;
[0154] The IP address of the domain name request is returned to the instance, and the mapping relationship between the domain name and the IP address in the domain name request is added to the mapping relationship between the domain name and the IP address.
[0155] Next, the above determination method is described from the perspective of the control device.
[0156] The embodiment of the present application provides a determination method, which is applied to a control device in a domain name resolution system based on a cloud platform. Figure 7 A flowchart of another optional determination method provided in an embodiment of the present application is shown as follows: Figure 7 As shown, the determination method may include:
[0157] S701: Obtain the mapping relationship between the domain name and the IP address;
[0158] S702: Send the mapping relationship between the domain name and the IP address to the virtual router managed by the control device;
[0159] The mapping relationship between the domain name and the IP address is used to control the virtual router managed by the device to determine the IP address of the received domain name request.
[0160] In an optional embodiment, the above method may include:
[0161] Send the mapping relationship between domain name and IP address to other control devices in the domain name resolution system;
[0162] The other control devices are used to send the mapping relationship between the domain name and the IP address to the virtual routers governed by the other control devices.
[0163] In an optional embodiment, the above method may include:
[0164] When the first instance connected to the virtual router is deleted, the mapping relationship between the IP address of the first instance and the domain name corresponding to the IP address of the first instance is deleted from the mapping relationship between the domain name and the IP address.
[0165] In an optional embodiment, the above method may include:
[0166] When the mapping relationship between the domain name and the IP address changes, the change information is sent to the virtual router governed by the control device;
[0167] The change information is used to control the virtual router managed by the control device to update the domain name corresponding to the IP address of the change information in the mapping relationship between the domain name and the IP address stored locally to the changed domain name.
[0168] In an optional embodiment, the above method may include:
[0169] When the mapping relationship between the domain name and the IP address changes, the change information is sent to other control devices;
[0170] Among them, other control devices are used to send change information to the virtual routers under the jurisdiction of other control devices, and the change information is used for: the virtual routers under the jurisdiction of other control devices update the domain name corresponding to the IP address of the change information in the mapping relationship between domain names and IP addresses stored locally to the changed domain name.
[0171] In addition, based on the same inventive concept as the above embodiments, the present application embodiment provides a virtual router, which is consistent with the virtual router provided by one or more of the above embodiments. The virtual router is set in a domain name resolution system based on a cloud platform.
[0172] Figure 8 A schematic diagram of the structure of an optional virtual router provided in an embodiment of the present application, such as Figure 8 As shown, the virtual router includes:
[0173] A receiving module 81, configured to receive a domain name request through an instance of a domain name resolution system;
[0174] A determination module 82, configured to determine the IP address of the domain name request from a mapping relationship between the domain name and the IP address stored locally;
[0175] The return module 83 is used to return the IP address of the domain name request to the instance.
[0176] In an optional embodiment, the virtual router is further used for:
[0177] Receiving the mapping relationship between the domain name and the IP address obtained from the control device to which the virtual router belongs;
[0178] The received mapping relationship between the domain name and the IP address is added to the mapping relationship between the domain name and the IP address.
[0179] In an optional embodiment, the virtual router is further used for:
[0180] When the mapping relationship between the domain name and the IP address changes, the change information sent from the control device is received, and the domain name corresponding to the IP address of the change information in the mapping relationship between the domain name and the IP address is updated to the changed domain name.
[0181] In an optional embodiment, the determination module 82 is specifically configured to:
[0182] When the domain name in the domain name request exists in the mapping relationship between the domain name and the IP address, the IP address of the domain name request is determined from the mapping relationship between the domain name and the IP address.
[0183] In an optional embodiment, the virtual router is further used for:
[0184] When the domain name in the domain name request does not exist in the mapping relationship between the domain name and the IP address, the domain name request is forwarded to the DNS server of the domain name resolution system; wherein the domain name request is used by the DNS server to obtain the IP address of the domain name request from the upper-level DNS server of the domain name resolution system;
[0185] The IP address that receives domain name requests from the DNS server;
[0186] The IP address of the domain name request is returned to the instance, and the mapping relationship between the domain name and the IP address in the domain name request is added to the mapping relationship between the domain name and the IP address.
[0187] In practical applications, the above-mentioned receiving module 81, determining module 82 and returning module 83 can be implemented by a processor located on the virtual router, specifically a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array (FPGA).
[0188] The embodiment of the present application provides a control device, which is consistent with the control device described in one or more of the above embodiments. The control device is arranged in a domain name resolution system based on a cloud platform.
[0189] Fig. 9 A schematic diagram of the structure of an optional control device provided in an embodiment of the present application, such as Fig. 9 As shown, the control device includes:
[0190] An acquisition module 91 is used to acquire a mapping relationship between a domain name and an IP address;
[0191] A sending module 92, used for sending the mapping relationship between the domain name and the IP address to the virtual router in the cluster governed by the control device;
[0192] The mapping relationship between the domain name and the IP address is used to control the virtual router managed by the device to determine the IP address of the received domain name request.
[0193] In an optional embodiment, the control device is further used for:
[0194] Send the mapping relationship between domain name and IP address to other control devices in the domain name resolution system;
[0195] The other control devices are used to send the mapping relationship between the domain name and the IP address to the virtual routers governed by the other control devices.
[0196] In an optional embodiment, the control device is further used for:
[0197] When the first instance connected to the virtual router is deleted, the mapping relationship between the IP address of the first instance and the domain name corresponding to the IP address of the first instance is deleted from the mapping relationship between the domain name and the IP address.
[0198] In an optional embodiment, the control device is further used for:
[0199] When the mapping relationship between the domain name and the IP address changes, the change information is sent to the virtual router governed by the control device;
[0200] The change information is used to control the virtual router managed by the control device to update the domain name corresponding to the IP address of the change information in the mapping relationship between the domain name and the IP address stored locally to the changed domain name.
[0201] In an optional embodiment, the control device is further used for:
[0202] When the mapping relationship between the domain name and the IP address changes, the change information is sent to other control devices;
[0203] Among them, other control devices are used to send change information to the virtual routers under the jurisdiction of other control devices, and the change information is used for: the virtual routers under the jurisdiction of other control devices update the domain name corresponding to the IP address of the change information in the mapping relationship between domain names and IP addresses stored locally to the changed domain name.
[0204] In practical applications, the acquisition module 91 and the sending module 92 may be implemented by a processor located on a control device, specifically a CPU, an MPU, a DSP or an FPGA.
[0205] Fig.10 A schematic diagram of the structure of another optional domain name resolution system provided in the embodiment of the present application, such as Fig.10 As shown, the domain name resolution system 1000 is arranged in a cloud platform, and includes the virtual router 101 described in one or more of the above embodiments and the control device 102 described in one or more of the above embodiments.
[0206] Fig.11 A schematic diagram of the structure of another optional virtual router provided in the embodiment of the present application, such as Fig.11 As shown, the embodiment of the present application provides a virtual router 1100, including:
[0207] A processor 111 and a storage medium 112 storing executable instructions of the processor 111, wherein the storage medium 112 relies on the processor 111 to perform operations through a communication bus 113, and when the instructions are executed by the processor 111, the determination method performed by the virtual router in one or more of the above embodiments is executed.
[0208] It should be noted that in actual application, the various components in the terminal are coupled together through the communication bus 113. It is understandable that the communication bus 113 is used to realize the connection and communication between these components. In addition to the data bus, the communication bus 113 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Fig.11 Various buses are labeled as communication buses 113.
[0209] Fig.12 A schematic diagram of the structure of another optional control device provided in an embodiment of the present application, such as Fig.12 As shown, the embodiment of the present application provides a control device 1200, including:
[0210] A processor 121 and a storage medium 122 storing executable instructions of the processor 121, wherein the storage medium 122 relies on the processor 121 to perform operations through a communication bus 123, and when the instructions are executed by the processor 121, the determination method performed by the control device in one or more of the above embodiments is executed.
[0211] It should be noted that in actual application, the various components in the terminal are coupled together through the communication bus 123. It is understandable that the communication bus 123 is used to realize the connection and communication between these components. In addition to the data bus, the communication bus 123 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Fig.12 Various buses are labeled as communication buses 123.
[0212] An embodiment of the present application provides a computer storage medium storing executable instructions. When the executable instructions are executed by one or more processors, the processors execute the determination method performed by the virtual router in one or more of the above embodiments, or the determination method performed by the control device in one or more of the above embodiments.
[0213] Among them, the computer-readable storage medium can be a ferromagnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM) and other memories.
[0214] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
[0215] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0216] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0217] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0218] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.
Claims
1. A method for determining an IP address, characterized in that: The method is applied to a virtual router in a domain name resolution system based on a cloud platform, and each instance in the domain name resolution system based on the cloud platform is provided with a corresponding virtual router, including: Receiving a domain name request through the instance corresponding to the virtual router; Determine the IP address of the domain name request from the mapping relationship between the domain name and the IP address stored locally; Returning the IP address of the domain name request to the instance corresponding to the virtual router; The functions of the virtual router include: port creation of the corresponding instance, port deletion of the corresponding instance and port attribute update of the corresponding instance; The control device to which the virtual routers in the same cluster belong is used to send the mapping relationship to the virtual routers in the same cluster, and the control devices in different clusters establish BGP neighbors to achieve cross-cluster communication.
2. The method according to claim 1, characterized in that The method further comprises: Receiving a mapping relationship between a domain name and an IP address obtained from a control device to which the virtual router belongs; The received mapping relationship between the domain name and the IP address is added to the mapping relationship between the domain name and the IP address.
3. The method according to claim 2, characterized in that The method further comprises: When the mapping relationship between the domain name and the IP address changes, the change information sent from the control device is received, and the domain name corresponding to the IP address of the change information in the mapping relationship between the domain name and the IP address is updated to the changed domain name.
4. The method according to claim 1, characterized in that: Determining the IP address of the domain name request from the mapping relationship between the domain name and the IP address stored locally includes: When the domain name in the domain name request exists in the mapping relationship between the domain name and the IP address, the IP address of the domain name request is determined from the mapping relationship between the domain name and the IP address.
5. The method according to claim 4, characterized in that The method further comprises: When the domain name in the domain name request does not exist in the mapping relationship between the domain name and the IP address, forward the domain name request to the DNS server of the domain name resolution system; wherein the domain name request is used by the DNS server to obtain the IP address of the domain name request from the upper-level DNS server of the domain name resolution system; Receiving the IP address of the domain name request sent from the DNS server; The IP address of the domain name request is returned to the instance, and the mapping relationship between the domain name and the IP address in the domain name request is added to the mapping relationship between the domain name and the IP address.
6. A method for determining an IP address, characterized in that: The method is applied to a control device in a domain name resolution system based on a cloud platform, and each instance in the domain name resolution system based on the cloud platform is provided with a corresponding virtual router, including: Get the mapping relationship between domain name and IP address; Sending the mapping relationship between the domain name and the IP address to the virtual router under the control of the control device; The mapping relationship between the domain name and the IP address is used by the virtual router under the control of the control device to determine the IP address of the received domain name request and send it to the instance corresponding to the virtual router under the control of the control device; The functions of the virtual router include: port creation of the corresponding instance, port deletion of the corresponding instance and port attribute update of the corresponding instance; The control device to which the virtual routers in the same cluster belong is used to send the mapping relationship to the virtual routers in the same cluster, and the control devices in different clusters establish BGP neighbors to achieve cross-cluster communication.
7. The method according to claim 6, characterized in that The method further comprises: Sending the mapping relationship between the domain name and the IP address to other control devices in the domain name resolution system; The other control device is used to send the mapping relationship between the domain name and the IP address to the virtual router governed by the other control device.
8. The method according to claim 6 or 7, characterized in that: The method further comprises: When the first instance connected to the virtual router is deleted, the mapping relationship between the IP address of the first instance and the domain name corresponding to the IP address of the first instance is deleted from the mapping relationship between the domain name and the IP address.
9. The method according to claim 6 or 7, characterized in that: The method further comprises: When the mapping relationship between the domain name and the IP address changes, sending the change information to the virtual router governed by the control device; The change information is used for: the virtual router managed by the control device updates the domain name corresponding to the IP address of the change information in the mapping relationship between the domain name and the IP address stored locally to the changed domain name.
10. The method according to claim 7, characterized in that The method further comprises: When the mapping relationship between the domain name and the IP address changes, sending the change information to the other control device; Among them, the other control device is used to send the change information to the virtual router under the jurisdiction of the other control device, and the change information is used for: the virtual router under the jurisdiction of the other control device updates the domain name corresponding to the IP address of the change information in the locally stored mapping relationship between the domain name and the IP address to the changed domain name.
11. A virtual router, characterized in that: The virtual router is set in the domain name resolution system based on the cloud platform, and each instance in the domain name resolution system based on the cloud platform is set with a corresponding virtual router, including: A receiving module, used for receiving a domain name request through an instance corresponding to the virtual router; A determination module, used to determine the IP address of the domain name request from the mapping relationship between the domain name and the IP address stored locally; A return module, used for returning the IP address of the domain name request to the instance corresponding to the virtual router; The functions of the virtual router include: port creation of the corresponding instance, port deletion of the corresponding instance and port attribute update of the corresponding instance; The control device to which the virtual routers in the same cluster belong is used to send the mapping relationship to the virtual routers in the same cluster, and the control devices in different clusters establish BGP neighbors to achieve cross-cluster communication.
12. A control device, characterized in that: The control device is arranged in a domain name resolution system based on a cloud platform, and each instance in the domain name resolution system based on a cloud platform is arranged with a corresponding virtual router, including: An acquisition module is used to obtain the mapping relationship between the domain name and the IP address; A sending module, used for sending the mapping relationship between the domain name and the IP address to the virtual router in the cluster governed by the control device; The mapping relationship between the domain name and the IP address is used by the virtual router under the control of the control device to determine the IP address of the received domain name request and send it to the instance corresponding to the virtual router under the control of the control device; The functions of the virtual router include: port creation of the corresponding instance, port deletion of the corresponding instance and port attribute update of the corresponding instance; The control device to which the virtual routers in the same cluster belong is used to send the mapping relationship to the virtual routers in the same cluster, and the control devices in different clusters establish BGP neighbors to achieve cross-cluster communication.
13. A virtual router, characterized in that: include: A processor and a storage medium storing instructions executable by the processor, wherein the storage medium relies on the processor to perform operations through a communication bus, and when the instructions are executed by the processor, the method for determining the IP address described in any one of claims 1 to 5 is executed.
14. A control device, characterized in that: include: A processor and a storage medium storing instructions executable by the processor, wherein the storage medium relies on the processor to perform operations via a communication bus, and when the instructions are executed by the processor, the method for determining the IP address described in any one of claims 6 to 10 is executed.
15. A domain name resolution system, characterized in that: The domain name resolution system is arranged in a cloud platform, and includes the virtual router described in claim 13 and the control device described in claim 14.
16. A computer storage medium, characterized in that: Executable instructions are stored. When the executable instructions are executed by one or more processors, the processors execute the method for determining an IP address as described in any one of claims 1 to 5, or the method for determining an IP address as described in any one of claims 6 to 10.
Citation Information
Patent Citations
Distributed local DNS system and domain name query method
CN111464648A
Distributed domain name resolution method, device and equipment
CN111866206A