Data forwarding method and device, computer equipment, readable storage medium and program product
By responding to routing update operations in the cloud computing network, updating the routing forwarding information in the target shared memory area, and loading it to the network forwarding node through the target network control protocol, the problem of low data forwarding efficiency in the prior art is solved, and efficient routing information processing and data forwarding are achieved.
Patent Information
- Application Number
- CN202411772596.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-12-04
AI Technical Summary
Data forwarding methods in existing cloud computing networks are not efficient, especially in complex networking scenarios, routing information processing and data forwarding become complicated and inefficient.
By responding to the routing update operation of cloud network networking, the newly added cloud network segment information is obtained, and the target shared memory area matching the cloud network segment information is detected from the preset memory resource pool to update the routing forwarding information. Then, through the target network control protocol, the updated routing forwarding information is loaded to the target network forwarding node to achieve efficient data forwarding.
It improves the efficiency of routing information processing, realizes real-time issuance of routing forwarding information, solves the memory consumption problem caused by excessive routing forwarding information, and quickly querys the routing forwarding table through the shared memory area divided by the target address, improving the efficiency of data forwarding.
Smart Images

Figure CN119520371A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of cloud computing, and in particular to a data forwarding method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] With the widespread application of cloud computing, more and more applications are deployed on cloud networks, the networking of cloud networks is becoming more and more complex, and the routing information processing between networks is also becoming more and more complex. As a result, the data packet forwarding based on the routing information between networks is also becoming more and more complex.
[0003] At present, data forwarding mainly includes the routing information processing stage and the data forwarding stage. Among them, routing information processing is implemented through the SDN (Software Defined Network) of the hardware switch. Hardware SDN is more friendly to the forwarding scenario of simple intercommunication between virtual machines. In addition, routing information processing can also be implemented through software SDN. The mainstream software SDN network in the industry, the data plane of the software SDN network is implemented through Openvswitch or a similar Openvswtich principle, or similar forwarding logic is placed on the smart network card for implementation. The smart network card stores the forwarding routing forwarding table through the five-tuple (source address, source port, destination address, destination port, protocol) flow table. The control plane of the software SDN network is implemented through Openflow, or a similar Openflow principle to implement the routing forwarding table from control to forwarding logic, or through self-developed protocols. Then, the forwarding of the data to be forwarded is carried out based on the sent routing forwarding table.
[0004] However, the current data forwarding method is not efficient enough. Summary of the invention
[0005] Based on this, it is necessary to provide an efficient data forwarding method, apparatus, computer device, computer readable storage medium and computer program product to address the above technical issues.
[0006] In a first aspect, the present application provides a data forwarding method, comprising:
[0007] Respond to the routing update operation for the cloud network group and obtain the newly added cloud network segment information;
[0008] Detecting a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and updating routing forwarding information in the target shared memory area based on the cloud network segment information;
[0009] Detecting a target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives a network packet to be forwarded, controlling the target network forwarding node to read updated routing forwarding information in the target shared memory area through a target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node;
[0010] Based on the updated routing forwarding information, the target network forwarding node is controlled to perform a forwarding operation of the network packet to be forwarded.
[0011] In one embodiment, detecting a target shared memory area matching cloud network segment information from a preset memory resource pool includes:
[0012] Detecting routing type information that matches the cloud network segment information;
[0013] A target shared memory area matching the route type information is detected from the preset memory resource pool.
[0014] In one embodiment, based on the updated routing forwarding information, controlling the target network forwarding node to perform a forwarding operation of the network packet to be forwarded includes:
[0015] Obtain the target routing address corresponding to the network packet to be forwarded from the updated routing forwarding information;
[0016] Based on the target routing address, the target network forwarding node is controlled to perform a forwarding operation on the network packet to be forwarded.
[0017] In one embodiment, the routing type information includes a cloud network routing type, a bare metal cloud network routing type, a dedicated line routing type, and a network service routing type; obtaining a target routing address corresponding to a network packet to be forwarded from the updated routing forwarding information includes:
[0018] In the case where the routing type information includes a cloud network routing type, obtaining first virtual machine routing information corresponding to the network packet to be forwarded, and searching for first host machine routing information corresponding to the first virtual machine routing information from the updated routing forwarding information;
[0019] When the routing type information includes a bare metal cloud network routing type, obtaining access switch routing information corresponding to the network packet to be forwarded, and searching for bare metal server routing information corresponding to the access switch routing information from the updated routing forwarding information;
[0020] In the case where the routing type information includes a dedicated line routing type, obtaining the second virtual machine routing information corresponding to the network packet to be forwarded, and searching the network segment routing information in the off-cloud network corresponding to the second virtual machine routing information from the updated routing forwarding information, wherein the off-cloud network is connected to the cloud network through a dedicated line network;
[0021] In the case where the routing type information includes the network service routing type, the virtual routing information corresponding to the network packet to be forwarded is obtained, and the network server routing information corresponding to the virtual routing information is searched from the updated routing forwarding information.
[0022] In one of the embodiments, before controlling the target network forwarding node to read the updated routing forwarding information in the target shared memory area through the target network control protocol, the method further includes:
[0023] Establish a communication connection between the target network forwarding node and the control node where the target shared memory area is located;
[0024] The target shared memory area is loaded to the target network forwarding node using the established communication connection through the target network control protocol.
[0025] In one of the embodiments, before responding to the routing update operation of the cloud network networking and obtaining the routing update information, the method further includes:
[0026] In response to a creation operation for a cloud network, a cloud network identifier is allocated to the created cloud network;
[0027] Based on the cloud network identifier, generating routing information matching the cloud network identifier in a preset memory resource pool;
[0028] In response to the networking creation operation of the cloud network, the networking information of the cloud network is obtained, and based on the networking information, the routing information is updated in the preset memory resource pool to obtain the routing forwarding information.
[0029] In a second aspect, the present application also provides a data forwarding device, including:
[0030] An acquisition module is used to respond to the routing update operation for the cloud network networking and obtain the newly added cloud network segment information;
[0031] An update module is used to detect a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and update the routing forwarding information in the target shared memory area based on the cloud network segment information;
[0032] The processing module is used to detect the target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives the network packet to be forwarded, control the target network forwarding node to read the updated routing forwarding information in the target shared memory area through the target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node;
[0033] The forwarding module is used to control the target network forwarding node to perform the forwarding operation of the network packet to be forwarded based on the updated routing forwarding information.
[0034] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0035] Respond to the routing update operation for the cloud network group and obtain the newly added cloud network segment information;
[0036] Detecting a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and updating routing forwarding information in the target shared memory area based on the cloud network segment information;
[0037] Detecting a target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives a network packet to be forwarded, controlling the target network forwarding node to read updated routing forwarding information in the target shared memory area through a target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node;
[0038] Based on the updated routing forwarding information, the target network forwarding node is controlled to perform a forwarding operation of the network packet to be forwarded.
[0039] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the following steps are implemented:
[0040] Respond to the routing update operation for the cloud network group and obtain the newly added cloud network segment information;
[0041] Detecting a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and updating routing forwarding information in the target shared memory area based on the cloud network segment information;
[0042] Detecting a target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives a network packet to be forwarded, controlling the target network forwarding node to read updated routing forwarding information in the target shared memory area through a target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node;
[0043] Based on the updated routing forwarding information, the target network forwarding node is controlled to perform a forwarding operation of the network packet to be forwarded.
[0044] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:
[0045] Respond to the routing update operation for the cloud network group and obtain the newly added cloud network segment information;
[0046] Detecting a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and updating routing forwarding information in the target shared memory area based on the cloud network segment information;
[0047] Detecting a target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives a network packet to be forwarded, controlling the target network forwarding node to read updated routing forwarding information in the target shared memory area through a target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node;
[0048] Based on the updated routing forwarding information, the target network forwarding node is controlled to perform a forwarding operation of the network packet to be forwarded.
[0049] The above-mentioned data forwarding method, device, computer equipment, computer-readable storage medium and computer program product respond to the routing update operation of the cloud network networking, obtain the newly added cloud network segment information, and detect the target shared memory area matching the newly added cloud network segment information from the preset memory resource pool, and update the routing forwarding information in the target shared memory area based on the cloud network segment information, wherein the routing forwarding information is stored in different shared memory areas of the preset memory resource pool, which solves the problem that the routing forwarding information is too large and consumes a large amount of host machine memory, and through the different shared memory areas divided based on the target address, it also solves the problem that the routing forwarding table is managed uniformly with a five-tuple, resulting in the inability to quickly query; further, through the target network control protocol, it can be guaranteed that the update of the target shared memory area will be updated to the target network forwarding node in real time, which solves the problem that a large amount of routing forwarding information can be sent down in real time, and improves the efficiency of routing information processing, and further, it can realize efficient control of the target network forwarding node to perform the forwarding operation of the network packet to be forwarded. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments of the present application or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying any creative work.
[0051] Figure 1 An application environment diagram of a data forwarding method in an embodiment;
[0052] Figure 2 A schematic diagram of a flow chart of a data forwarding method in an embodiment;
[0053] Figure 3 is a flow chart of a data forwarding method in another embodiment;
[0054] Figure 4 A schematic diagram of structural interaction of a data forwarding method in an embodiment;
[0055] Figure 5 A schematic diagram of structural interaction of a data forwarding method in another detailed application embodiment;
[0056] Figure 6 is a structural block diagram of a data forwarding device in an embodiment;
[0057] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are used to explain the present application and are not used to limit the present application.
[0059] With the widespread application of cloud computing, more and more applications are deployed on cloud networks, showing two trends: 1) The networking of cloud networks is becoming more and more complex. In addition to the most basic virtual machine intercommunication across hosts through the Overlay network, there is also intercommunication across Subnets, across VPCs, across Available Zones, across Regions, virtual machines and bare metal interconnection (non-intelligent network cards, based on hardware switch encapsulation vxlan network virtualization), on-cloud networks and off-cloud networks through dedicated lines, virtual machines accessing the public network through SNAT, external requests accessing virtual machines through DNAT, four-layer load balancing, seven-layer load balancing, and virtual machines accessing public services in the management area, etc. The forwarding paths for different target addresses are different; 2) As more and more virtual machines are placed on cloud networks, the forwarding routing table is also getting larger.
[0060] The cloud network of some cloud platforms is implemented through SDN of hardware switches. However, hardware SDN is more friendly to simple forwarding scenarios of communication between virtual machines, but it cannot adapt to the many complex scenarios mentioned above. In addition, due to the current memory status of the hardware, it cannot carry the storage of such large-scale forwarding routing tables.
[0061] Another part of the cloud platform's cloud network is implemented through software SDN (Software Defined Network). Software SDN is more flexible and can handle more complex scenarios. The forwarding routing table is stored in memory and can carry a relatively large amount of storage. The mainstream software SDN network in the industry uses Openvswitch or similar Openvswtich principles to implement the data plane, or puts similar forwarding logic on the smart network card to implement it. It mainly stores the forwarding routing table through the five-tuple (source address, source port, destination address, destination port, protocol) flow table. The control plane uses Openflow or similar Openflow principles to implement the routing table from control to forwarding logic, or it is issued through self-developed protocols. However, this model has certain problems. For example, the aforementioned complex forwarding scenarios are all implemented using a unified five-tuple, so the control plane cannot distinguish these scenarios, nor can it efficiently save, compress, retrieve and eliminate routing tables for different scenarios. For another example, the volume of routing tables is very large, which poses great challenges to the latency and volume of the transmission. Therefore, the efficiency of data forwarding based on routing tables is extremely low.
[0062] To this end, the present application provides a data forwarding method. During the whole process, the routing update operation of the cloud network networking is responded to, the newly added cloud network segment information is obtained, and the target shared memory area matching the cloud network segment information is detected from the preset memory resource pool. Based on the cloud network segment information, the routing forwarding information in the target shared memory area is updated, wherein the routing forwarding information is stored in different shared memory areas of the preset memory resource pool, which solves the problem that the routing forwarding information is too large and consumes a large amount of host memory. Moreover, by dividing different shared memory areas based on the target address, it also solves the problem that the routing forwarding table is managed uniformly with a five-tuple and cannot be quickly queried due to different scenarios; further, through the target network control protocol, it can be ensured that the update of the target shared memory area will be updated to the target network forwarding node in real time, which solves the problem that a large amount of routing forwarding information can be sent down in real time, and improves the efficiency of routing information processing. Furthermore, it can achieve efficient control of the target network forwarding node to perform the forwarding operation of the network packet to be forwarded.
[0063] The data forwarding method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. A management and control node 106 is deployed on the server 104, and a shared memory resource pool can be established in the server 104 where the management and control node is located.
[0064] The user issues a routing update request for the cloud network networking in the cloud network networking operation interface of the terminal 102, for example, to create other networks with which the cloud network communicates. The terminal 102 sends the routing update request for the cloud network networking to the server 104, and the management and control node 106 in the server 104 receives the request, responds to the routing update operation for the cloud network networking, and obtains the newly added cloud network segment information; detects the target shared memory area that matches the cloud network segment information from the preset memory resource pool, and updates the routing forwarding information in the target shared memory area based on the cloud network segment information; detects the target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives the network packet to be forwarded, controls the target network forwarding node to read the updated routing forwarding information in the target shared memory area through the target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node; based on the updated routing forwarding information, controls the target network forwarding node to perform the forwarding operation of the network packet to be forwarded.
[0065] The terminal 102 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. IoT devices may be smart speakers, smart TVs, smart air conditioners, smart vehicle-mounted devices, projection devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices may be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc.
[0066] In an exemplary embodiment, Figure 2 As shown, a data forwarding method is provided, which is applied to Figure 1 The server 104 in FIG. 1 is used as an example for explanation. Among them:
[0067] S200, responding to the routing update operation for the cloud network networking, and obtaining the newly added cloud network segment information.
[0068] Among them, a cloud network is a computer network that includes at least some cloud network links. Networking technology refers to the technology of connecting multiple devices or systems to form a network in some way for data transmission and communication. When the cloud network is redefined, the routing information corresponding to the cloud network will also be updated. For example, if there are virtual machines in the original cloud network, when a new virtual machine is added to the original cloud network, the corresponding routing information will also be added. When a virtual machine is deleted from the original cloud network, the corresponding routing information will also be reduced. Routing refers to the network-wide process that determines the end-to-end path when a packet goes from source to destination.
[0069] Specifically, the network server on the cloud is divided into a management and control node and a data forwarding node. The user issues a routing update request for the cloud network in the cloud network operation interface of the terminal, for example, to create other networks for communication with the cloud network. The terminal sends the routing update request for the cloud network to the management and control node. The management and control node receives the request, responds to the routing update operation for the cloud network, obtains the routing update information, and extracts the target address from the routing update information. Alternatively, when the user performs a routing update operation for the cloud network through the API (Application Programming Interface), the management and control node responds to the routing update operation for the cloud network and obtains the newly added cloud network segment information.
[0070] For example, the original cloud network includes virtual machine a and virtual machine b, and its routing information is the routing mapping relationship information between virtual machine a and virtual machine b. When the user requests to create a new virtual machine c in the cloud network, the newly added cloud network segment information can be the routing mapping relationship information between virtual machine c and virtual machine b, as well as the routing mapping relationship information between virtual machine c and virtual machine a.
[0071] S400, detecting a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and updating routing forwarding information in the target shared memory area based on the cloud network segment information.
[0072] The memory resource pool is a shared resource pool that can reach the TB (Terabyte) level and store massive routing and forwarding information. The routing and forwarding information can be represented in the form of a table, such as a routing forwarding table.
[0073] Specifically, a memory resource pool is established on the management and control node, and a shared memory area is allocated in the shared memory pool for routing forwarding information with different target addresses. That is, the routing forwarding information is stored in the shared memory area, the target address of the routing forwarding information in each shared memory area is the same, and the target addresses of the routing forwarding information in different shared memory areas are different.
[0074] Therefore, the corresponding target address can be extracted from the cloud network segment information, and the target shared memory area matching the target address can be detected from multiple shared memory areas in the memory resource pool. Then, the original routing forwarding information in the target shared memory area can be updated through the newly added cloud network segment information.
[0075] S600, detecting a target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives a network packet to be forwarded, controlling the target network forwarding node to read updated routing forwarding information in the target shared memory area through a target network control protocol.
[0076] Among them, a target network control protocol is established between the control node and the network forwarding node, and the target network control protocol is used to load the target shared memory area to the target network forwarding node.
[0077] Specifically, each shared memory area corresponds to a network forwarding node. Each network forwarding node does not load all shared memory areas, but loads the shared memory area corresponding to the routing forwarding information that the virtual machine corresponding to the network forwarding node may access. In other words, each network forwarding node places the shared memory area where the routing forwarding information corresponding to the target address that it may go to on its own machine through the target network control protocol.
[0078] Among them, the target network control protocol is generally the CXL (Compute Express Link, high-speed connection protocol) 3.0 protocol. Among them, CXL 3.0 technology is a new open interconnection standard, based on the high-speed, low-latency CPU (Central Processing Unit) to device interconnection technology of the PCIe (peripheral component interconnect express, high-speed serial computer expansion bus standard) physical layer. Based on CXL 3.0, fine memory allocation (aggregation) and sharing can be achieved between multiple hosts to realize a shared memory pool. Applying this technology to the storage and distribution of routing tables can solve both the storage problem of routing tables and the problem of sending routing tables. CXL clusters can reach thousands of nodes and can cope with larger-scale cloud platforms.
[0079] Therefore, the target network forwarding node corresponding to the target shared memory area can be screened from multiple network forwarding nodes. When the target network forwarding node receives the network packet to be forwarded, the target shared memory area is loaded to the target network forwarding node due to the target network control protocol. At this time, the target network forwarding node can read the updated routing forwarding information in the target shared memory area in real time without the need for an additional delivery process, which is more efficient.
[0080] S800, based on the updated routing forwarding information, control the target network forwarding node to perform a forwarding operation of the network packet to be forwarded.
[0081] Specifically, when the target forwarding node obtains the updated routing forwarding information, it can control the target network forwarding node to perform the forwarding operation of the network packet to be forwarded, that is, the target network forwarding node queries the target forwarding address corresponding to the network packet to be forwarded from the updated routing forwarding information based on the updated routing forwarding information, and then forwards the received network packet to be forwarded to the target forwarding address.
[0082] In the above data forwarding method, in response to the routing update operation of the cloud network networking, the newly added cloud network segment information is obtained, and the target shared memory area matching the newly added cloud network segment information is detected from the preset memory resource pool, and the routing forwarding information in the target shared memory area is updated based on the cloud network segment information, wherein the routing forwarding information is stored in different shared memory areas of the preset memory resource pool, which solves the problem that the routing forwarding information is too large and consumes a large amount of host memory, and by dividing different shared memory areas based on the target address, it also solves the problem that the routing forwarding table is managed uniformly with a five-tuple and cannot be quickly queried due to different scenarios; further, through the target network control protocol, it can be ensured that the update of the target shared memory area will be updated to the target network forwarding node in real time, which solves the problem that a large amount of routing forwarding information can be sent down in real time, and improves the efficiency of routing information processing, and further, it can realize efficient control of the target network forwarding node to perform the forwarding operation of the network packet to be forwarded.
[0083] In an exemplary embodiment, detecting a target shared memory area matching cloud network segment information from a preset memory resource pool includes:
[0084] The routing type information matching the cloud network segment information is detected, and a target shared memory area matching the routing type information is detected from a preset memory resource pool.
[0085] Specifically, the shared memory area is used to store routing forwarding information, but the storage format of the routing forwarding information in the present application is not to use the existing five-tuple mode, but to store different types of routing forwarding information according to different target addresses. That is to say, the same type of routing forwarding information exists in each shared memory area, and different types of routing forwarding information exist in different shared memory areas, wherein the same type of routing forwarding information means that the target addresses of the routing forwarding information are consistent, and different types of routing forwarding information means that the target addresses of the routing forwarding information are inconsistent.
[0086] Therefore, the corresponding target address is extracted from the cloud network segment information, and the routing type information matching the target address is detected, and then the target shared memory area matching the routing type information is detected from multiple shared memory areas in the preset memory resource pool.
[0087] In this embodiment, based on the target address in the routing update information, routing type information matching the target address can be detected, and then based on the routing type information, the target shared memory area can be accurately determined to accurately store the routing update information in the target shared memory area.
[0088] In an exemplary embodiment, based on the updated routing forwarding information, controlling the target network forwarding node to perform a forwarding operation of the network packet to be forwarded includes:
[0089] The target routing address corresponding to the network packet to be forwarded is obtained from the updated routing forwarding information, and based on the target routing address, the target network forwarding node is controlled to perform a forwarding operation on the network packet to be forwarded.
[0090] Specifically, when the routing forwarding information in the target shared memory area corresponding to the target network forwarding node changes, the target network forwarding node can read the updated routing forwarding information in the target shared memory area in real time. Furthermore, when the target network forwarding node receives a network packet to be forwarded, it can obtain the target routing address corresponding to the network packet to be forwarded from the updated routing forwarding information, and based on the target routing address, control the target network forwarding node to perform the forwarding operation of the network packet to be forwarded, so as to accurately send the network packet to be forwarded to the corresponding target routing address.
[0091] In this embodiment, through the target network control protocol, the target network forwarding network can read the updated routing forwarding information in the target shared memory area, and query the target routing address corresponding to the network packet to be forwarded from the updated routing forwarding information, thereby accurately implementing the forwarding operation of the network packet to be forwarded.
[0092] In an exemplary embodiment, the routing type information includes a cloud network routing type, a bare metal cloud network routing type, a dedicated line routing type, and a network service routing type; and obtaining a target routing address corresponding to a network packet to be forwarded from the updated routing forwarding information includes:
[0093] In the case where the routing type information includes a cloud network routing type, obtaining first virtual machine routing information corresponding to the network packet to be forwarded, and searching for first host machine routing information corresponding to the first virtual machine routing information from the updated routing forwarding information;
[0094] When the routing type information includes a bare metal cloud network routing type, obtaining access switch routing information corresponding to the network packet to be forwarded, and searching for bare metal server routing information corresponding to the access switch routing information from the updated routing forwarding information;
[0095] In the case where the routing type information includes a dedicated line routing type, obtaining the second virtual machine routing information corresponding to the network packet to be forwarded, and searching the network segment routing information in the off-cloud network corresponding to the second virtual machine routing information from the updated routing forwarding information, wherein the off-cloud network is connected to the cloud network through a dedicated line network;
[0096] In the case where the routing type information includes the network service routing type, the virtual routing information corresponding to the network packet to be forwarded is obtained, and the network server routing information corresponding to the virtual routing information is searched from the updated routing forwarding information.
[0097] The routing type information includes cloud network routing type, bare metal cloud network routing type, dedicated line routing type and network service routing type. Cloud network routing type includes same cloud network routing type and cross-cloud network routing type, and network service routing type includes public network service routing type and custom network service routing type.
[0098] Specifically, according to the route type information, the target route mapping relationship corresponding to the network packet to be forwarded is obtained from the updated route forwarding information, including the following situations:
[0099] The first one is for cloud network routing type:
[0100] When the cloud network routing type is the same cloud network routing type, there may be several virtual machines in the cloud network. The updated routing forwarding information includes the target routing mapping relationship information between the first virtual machine routing information corresponding to the cloud network and the first host machine routing information corresponding to the first virtual machine routing information. Therefore, the first virtual machine routing information corresponding to the network packet to be forwarded can be obtained, and based on the first virtual machine routing information, the first host machine routing information corresponding to the first virtual machine routing information is searched from the updated routing forwarding information.
[0101] In the case where the cloud network routing type is a cross-cloud network routing type, the updated routing forwarding information includes the target routing mapping relationship information between the first virtual machine routing information and the first host machine routing information corresponding to all cloud networks. For example, when the routing forwarding information is a VPC (Virtual Private Cloud) routing forwarding table, different VPC routing forwarding tables have VPCIDs, and VPCIDs are used as keys to identify different VPC routing forwarding tables. The VPC routing forwarding table stores the mapping relationship between the MAC (Media Access Control Address, LAN address) addresses of all virtual machines corresponding to the cloud network VPC and the IP address of the host machine where the IP (Internet Protocol Address, Internet Protocol address) address of the virtual machine is located. Among them, the MAC address, also known as the physical address or hardware address, is a unique identifier assigned to the network device when it is manufactured, usually embedded in the network interface card. The IP address is the logical address of the device in the network, which is assigned by the network service provider and is used to locate the device in the network. The virtual machine refers to multiple "virtual servers" running on a physical server. On the surface, these virtual machines are independent servers, but in fact, they share the CPU, memory, hardware, network card and other resources of the physical server. Therefore, the first virtual machine routing information corresponding to the network packet to be forwarded can be obtained, and based on the first virtual machine routing information, the first host machine routing information corresponding to the first virtual machine routing information can be searched from the updated routing forwarding information.
[0102] For example, for access to the same VPC, that is, the same cloud network routing type, the target VPCID and the target address are both within this VPC. You only need to read the VPC routing table, find the mapping relationship, put the corresponding virtual machine's MAC address and IP address in the inner layer of the Overlay network packet, and put the virtual machine's host machine's IP address in the outer layer of the Overlay network packet, and the network packet to be forwarded can be delivered.
[0103] For cross-VPC access, that is, cross-cloud network routing type, a peer connection needs to be established between the two VPCs. If the target VPCID and target address are in the peer VPC, it is necessary to read the peer VPC routing forwarding table, find the mapping relationship, and then perform Overlay encapsulation similar to access to the same VPC, so that the network packet to be forwarded can be delivered.
[0104] The second type is for bare metal cloud network routing types:
[0105] The bare metal cloud network routing type is the type of communication established between the bare metal server and the cloud network. The updated routing forwarding information includes the target routing mapping relationship between the access switch routing information corresponding to the cloud network, the virtual extended LAN routing information, and the bare metal server routing information. Therefore, the access switch routing information corresponding to the network packet to be forwarded can be obtained, and based on the access switch routing information, the bare metal server routing information corresponding to the access switch routing information can be found from the updated routing forwarding information.
[0106] For example, you can also create a VPC for a bare metal server, but the VPC is implemented on a physical switch through vxlan. On the RR (Route Reflector) on the bare metal networking side, you can obtain the mapping relationship between the access switch routing information, VTEP (Visual eXtensible Local Area Network Tunnel Endpoint) routing information, and the bare metal server routing information, and write the mapping relationship into the bare metal VPC routing table. The key of the bare metal VPC routing table is the VPCID of the bare metal VPC. If a virtual machine in the cloud network needs to access the bare metal server, after looking up the mapping relationship in this table, the MAC and IP of the virtual machine and the MAC and IP of the bare metal server are placed in the inner layer of the Overlay network packet, and the host IP and the IP address of the VTEP are placed in the outer layer, and the network packet to be forwarded can be delivered.
[0107] The third type is for dedicated line routing types:
[0108] The dedicated line route type refers to communicating with the cloud network in the cloud network through a dedicated line. At this time, the updated route forwarding information includes the target route mapping relationship between the second virtual machine routing information corresponding to the cloud network, the second host routing information, and the network segment routing information in the cloud network. Therefore, the second virtual machine routing information corresponding to the network packet to be forwarded can be obtained, and based on the second virtual machine routing information, the second host routing information corresponding to the second virtual machine routing information is searched from the updated route forwarding information, and then the network segment routing information in the cloud network corresponding to the second host routing information is searched.
[0109] For example, if there is a network segment under the cloud that needs to communicate with the VPC on the cloud, it is often sent to the dedicated gateway after being encapsulated as vxlan through a dedicated switch. The dedicated gateway can find the host where the virtual machine is located through the VPC routing table, encapsulate vxlan and forward it. If the virtual machine on the cloud wants to access the network segment under the cloud, it directly forwards the network packet to be forwarded to the dedicated gateway, and then sends it to the dedicated switch and decapsulates it.
[0110] The fourth type is for network service routing type:
[0111] The network service routing type is the communication between the virtual machines in the cloud network and other network servers. The updated routing forwarding information includes the target routing mapping relationship between the virtual routing information corresponding to the cloud network and the server routing information of the network server. Therefore, the virtual routing information corresponding to the network packet to be forwarded can be obtained, and the network server routing information corresponding to the virtual routing information can be found from the updated routing forwarding information.
[0112] For example, when the network service routing type is the public network service routing type, if you want to access public management services such as NTP, yum and OpenAPI on the cloud, a virtual address VPCip will be assigned to these services by default in the VPC. When accessing these virtual addresses, the underlay address of the management network (corresponding to the VPC ip) of these services is obtained from this routing forwarding table, and the network packet to be forwarded is sent after decapsulation.
[0113] When the network service routing type is a custom network service routing type, it is similar to the public service routing table, but it is not assigned by default, but requires manual binding by the user, such as accessing object storage and databases in the underlay network. When the user manually binds, a mapping relationship between the VPC IP and the underlay IP will be created in this routing table. When accessing these VPC IPs, the management network underlay addresses of these services are obtained from this routing table, and the network packets to be forwarded are sent after decapsulation.
[0114] In this embodiment, multiple shared memory areas are set to store different types of routing forwarding information respectively, so that in the forwarding process based on routing forwarding information, each forwarding node will not obtain all routing forwarding information, but will obtain the shared memory corresponding to the routing forwarding information that the local machine may access. Enjoy Memory area. For example, when the routing information is represented in a table, the VPC routing table belonging to this VPC will be obtained; if this VPC is peered with another VPC, the VPC routing table of the peer VPC will also be obtained; if this VPC is connected to the cloud network through a dedicated line, the dedicated line routing table will be obtained; all public service routing tables will be obtained; if this VPC needs to access the underlay service and has made a mapping, the underlay service routing table will be obtained. Once the forwarding node creates these peers, Enjoy After the memory area, when the control node accepts user requests and updates these routing tables, the network forwarding nodes will be updated synchronously according to the CXL protocol, realizing the real-time delivery of routing tables.
[0115] In an exemplary embodiment, before controlling the target network forwarding node to read the updated routing forwarding information in the target shared memory area through the target network control protocol, the method further includes:
[0116] A communication connection is established between the target network forwarding node and the control node where the target shared memory area is located, and the target shared memory area is loaded to the target network forwarding node by using the established communication connection through the target network control protocol.
[0117] Specifically, a communication connection is established between the control node and multiple network forwarding nodes so that the shared memory area can be loaded into the network forwarding node. Furthermore, the communication connection established between the control node and multiple network forwarding nodes does not mean that the network forwarding node can obtain all the routing forwarding information in the memory resource pool in the control node. Instead, the shared memory area in the control node is loaded into the network forwarding node corresponding to the shared memory area through the communication connection. For example, the target network forwarding node is the network forwarding node corresponding to the target shared memory area. Therefore, the target shared memory area can be loaded into the target network forwarding node through the target network control protocol using the communication connection established between the target network forwarding node and the control node, so as to realize the real-time acquisition of the updated routing forwarding information in the target shared memory area by the target network forwarding node.
[0118] In this embodiment, by establishing a communication connection between the target network forwarding node and the management and control node where the target shared memory area is located, the target shared memory area can be accurately loaded into the target network forwarding node through the communication connection, so that the subsequent target network forwarding node can obtain the updated routing forwarding information in the target shared memory area in real time without the need for an additional delivery process, thereby improving the efficiency of obtaining routing information.
[0119] In an exemplary embodiment, Figure 3 As shown, before S200, it also includes:
[0120] S120: In response to the creation operation for the cloud network, a cloud network identifier is allocated to the created cloud network.
[0121] S140, based on the cloud network identifier, generating routing information matching the cloud network identifier in a preset memory resource pool.
[0122] S160, responding to the networking creation operation of the cloud network, obtaining the networking information of the cloud network, and based on the networking information, updating the routing information in the preset memory resource pool to obtain routing forwarding information.
[0123] Specifically, before responding to the routing update operation for the cloud network networking, it is also necessary to create the cloud network and the networking corresponding to the cloud network. The management and control node responds to the creation operation for the cloud network, allocates a cloud network identifier to the created cloud network, and at the same time, based on the cloud network identifier, creates a routing information with the cloud network identifier as the key in the memory resource pool corresponding to the management and control node, such as a routing forwarding table.
[0124] After the cloud network is created, the device networking in the cloud network is created, the management and control node responds to the networking creation operation for the cloud network, obtains the networking information in the cloud network, and based on the networking information, updates the routing information corresponding to the cloud network in the memory resource pool to obtain the routing forwarding information.
[0125] Taking the cloud network as VPC as an example, when a user request is accepted to create a VPC, a VPCID will be assigned. In addition to being saved in the database, a VPC routing table with VPCID as the key is also created in the CXL shared memory resource pool. When a user request is accepted to create a virtual machine in this VPC, the virtual machine is assigned to a host machine. The networking information obtained at this time can be the mapping relationship between the newly created virtual machine MAC address, virtual machine IP and host machine IP. The mapping relationship is added to the VPC routing table, and the updated routing information is then saved in the VPC routing table.
[0126] Furthermore, when responding to a cloud network creation operation, the cloud network identifier can be used to verify whether the network created is the corresponding cloud network. When responding to a cloud network routing update operation, the cloud network identifier can also be used to verify whether the network update is the corresponding cloud network.
[0127] That is to say, the first network identifier in the network creation request of the cloud network is obtained, and based on the first network identifier, the routing information corresponding to the first network identifier is queried in the preset memory resource pool, so as to update the routing information corresponding to the first network identifier in the preset memory resource pool based on the device networking information, and obtain the routing forwarding information.
[0128] When responding to the routing update operation of the cloud network networking, the second routing identifier in the routing update request of the cloud network networking can also be obtained. Based on the second network identifier, the routing forwarding information corresponding to the second network identifier is queried in the preset memory resource pool, and the routing forwarding information corresponding to the second network identifier is updated in the preset memory resource pool based on the routing update information to obtain the updated routing forwarding information.
[0129] In this embodiment, before updating the routes of the cloud network networking, it is necessary to first create a cloud network and a device networking in the cloud network, and then update the routes of the cloud network networking. By assigning a cloud network identifier to the created cloud network, the routing information corresponding to multiple cloud networks can be distinguished, so as to accurately update the routing forwarding information of the cloud network networking corresponding to the cloud network identifier.
[0130] In an exemplary embodiment, taking the routing forwarding information as a routing forwarding table as an example, the essence of this application is to optimize the data forwarding method of the cloud network based on the CXL 3.0 shared memory resource pool. Specifically:
[0131] like Figure 4 As shown in the figure, the cloud network is divided into control nodes and network forwarding nodes. A CXL network is built between the control nodes and the network forwarding nodes, and a memory resource pool is built on the control node based on the memory pool orchestrator and the CXL binding controller. In the memory resource pool, the storage format of the routing table is redesigned. The five-tuple mode is no longer used. Instead, different routing tables are stored according to different target addresses. Shared memory areas are allocated to different routing tables in the memory resource pool. Different routing tables include but are not limited to: VPC routing table 1, VPC routing table N, bare metal VPC routing table 1, bare metal VPC routing table N, dedicated line routing table N, public service routing table N, custom service routing table N, etc.
[0132] When the user defines the cloud network through the API interface, the management and control node receives the request through the message queue and obtains the routing update information in the request. On the one hand, the routing update information is saved in the database, and based on the target address corresponding to the routing update information, on the other hand, the target shared memory area matching the target address is detected to update the corresponding routing forwarding table in the target shared memory area based on the routing update information and save it in the target shared memory area.
[0133] The network forwarding node corresponding to each virtual machine places the shared memory area where the forwarding table corresponding to the target address of its possible destination is located on the local machine through the CXL protocol. When the control node updates the shared memory area, all network forwarding nodes can obtain the changes in the shared memory area in real time through the CXL network, without the need for an additional delivery process. When forwarding the network packets of the virtual machine, the network forwarding node can directly read the data in the shared memory area. Among them, the CXL shared memory pool can reach the TB level and can store a large number of routing forwarding tables. The CXL cluster can reach thousands of nodes and can cope with larger-scale cloud platforms.
[0134] Furthermore, each forwarding node will not obtain all routing forwarding tables, but will obtain the shared memory area corresponding to the routing forwarding tables that the local machine may access. For example, the VPC routing table belonging to this VPC will be obtained; if this VPC and another VPC have a peer connection, the VPC routing table of the peer VPC will also be obtained; if this VPC is connected to the cloud network through a dedicated line, the dedicated line routing table will be obtained; all public service routing tables will be obtained; if this VPC needs to access the underlay service and has made a mapping, the underlay service routing table will be obtained. Once the forwarding node creates these memory regions, when the control accepts user requests and updates these routing tables, the forwarding node will be updated synchronously according to the CXL protocol to achieve real-time VXLAN encapsulation and delivery of network packets.
[0135] For example, in Figure 4 In the example, each computing node has a network forwarding node. Network forwarding node 1 can obtain VPC routing table 1, VPC routing table N, and bare metal VPC routing table N. Network forwarding node 2 can obtain VPC routing table 1. Network forwarding node 3 can obtain VPC routing table N1. Based on the routing table obtained in the computing node, network packets can also be encapsulated in VXLAN and forwarded to other computing nodes in real time. For example, if forwarding is based on bare metal VPC routing table N, the network packet can be forwarded to the physical switch of the bare metal server to access the bare metal server node.
[0136] like Figure 5 As shown, the data forwarding process of this application is described through a fact case based on OpenStack.
[0137] Specifically, the network management module of OpenStack is Neutron. Neutron-Server can be deployed on an ordinary server as a network service. Neutron can have a network plug-in, which can connect to a remote network control module. On the server where the network control module is located, a shared memory resource pool can be established through the CXL network control protocol. The memory resource pool includes multiple shared memory areas, and the shared memory areas store routing tables, such as VPC routing table 1, VPC routing table N, bare metal VPC routing table 1, bare metal VPC routing table N, dedicated line routing table N, public service routing table N, custom service routing table N, etc.
[0138] When OpenStack Neutron receives a user request to create a VPC through a message queue, it assigns a VPCID. This data is not only stored in the Neutron-Server database, but also creates a VPC routing table with the VPCID as the key in the CXL shared resource pool.
[0139] When OpenStack Nova accepts a user request to create a virtual machine in this VPC, the virtual machine is assigned to a host machine, and the mapping relationship between the virtual machine MAC, virtual machine IP, and host IP is saved in the VPC routing forwarding table.
[0140] The host where this virtual machine is located needs to obtain the shared memory area that stores this VPC routing table through the CXL protocol and load it locally.
[0141] Whenever a new virtual machine is created in this VPC, Neutron control will update the VPC routing table in this shared memory area, and the host will update the VPC routing table in real time through the CXL protocol. Then, this virtual machine can access the new virtual machine through VXLAN encapsulation through the mapping relationship in the VPC routing table.
[0142] The data forwarding method of the present application can also improve the richness of the cloud network networking of the cloud platform, as well as the performance and real-time nature of the cloud network forwarding of the cloud platform. Therefore, in the future, it can be applied to: 1. Fields where the cloud platform has relatively high requirements for network forwarding; 2. Fields where the cloud platform has relatively complex cloud network networking; 3. Fields where the cloud platform has a relatively large amount of cloud network forwarding table data.
[0143] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0144] Based on the same inventive concept, the embodiment of the present application also provides a data forwarding device for implementing the data forwarding method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more data forwarding device embodiments provided below can refer to the limitations on the data forwarding method above, and will not be repeated here.
[0145] In an exemplary embodiment, Figure 6 As shown, a data forwarding device is provided, comprising: an acquisition module 200, an update module 400, a processing module 600 and a forwarding module 800, wherein:
[0146] The acquisition module 200 is used to respond to the routing update operation for the cloud network networking and obtain the newly added cloud network segment information;
[0147] An updating module 400 is used to detect a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and update routing forwarding information in the target shared memory area based on the cloud network segment information;
[0148] The processing module 600 is used to detect the target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives the network packet to be forwarded, control the target network forwarding node to read the updated routing forwarding information in the target shared memory area through the target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node;
[0149] The forwarding module 800 is used to control the target network forwarding node to perform the forwarding operation of the network packet to be forwarded based on the updated routing forwarding information.
[0150] In one of the embodiments, the update module 400 is further used to detect routing type information that matches the cloud network segment information; and detect a target shared memory area that matches the routing type information from a preset memory resource pool.
[0151] In one of the embodiments, the forwarding module 800 is further used to obtain a target routing address corresponding to the network packet to be forwarded from the updated routing forwarding information; based on the target routing address, control the target network forwarding node to perform a forwarding operation of the network packet to be forwarded.
[0152] In one of the embodiments, the routing type information includes a cloud network routing type, a bare metal cloud network routing type, a dedicated line routing type, and a network service routing type; the forwarding module 800 is also used to obtain the first virtual machine routing information corresponding to the network packet to be forwarded, and search for the first host machine routing information corresponding to the first virtual machine routing information from the updated routing forwarding information when the routing type information includes the cloud network routing type; obtain the access switch routing information corresponding to the network packet to be forwarded, and search for the bare metal server routing information corresponding to the access switch routing information from the updated routing forwarding information when the routing type information includes the dedicated line routing type; obtain the second virtual machine routing information corresponding to the network packet to be forwarded, and search for the network segment routing information in the cloud network corresponding to the second virtual machine routing information from the updated routing forwarding information, wherein the cloud network and the cloud network are connected via a dedicated line network; obtain the virtual routing information corresponding to the network packet to be forwarded, and search for the network server routing information corresponding to the virtual routing information from the updated routing forwarding information when the routing type information includes the network service routing type.
[0153] In one of the embodiments, the data forwarding device also includes a communication connection module, which is used to establish a communication connection between a target network forwarding node and a management and control node where a target shared memory area is located; through a target network control protocol, the target shared memory area is loaded to the target network forwarding node using the established communication connection.
[0154] In one of the embodiments, the data forwarding device also includes a creation module, which is used to respond to a creation operation for a cloud network and assign a cloud network identifier to the created cloud network; based on the cloud network identifier, generate routing information matching the cloud network identifier in a preset memory resource pool; respond to a networking creation operation of the cloud network, obtain the networking information of the cloud network, and based on the networking information, update the routing information in the preset memory resource pool to obtain routing forwarding information.
[0155] Each module in the above data forwarding device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module.
[0156] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 7As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as routing update information. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data forwarding method is implemented.
[0157] Those skilled in the art will understand that Figure 7 The structure shown in the figure is a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0158] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0159] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0160] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0161] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0162] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0163] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0164] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A data forwarding method, characterized in that: The method comprises: Respond to the routing update operation for the cloud network group and obtain the newly added cloud network segment information; Detecting a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and updating routing forwarding information in the target shared memory area based on the cloud network segment information; Detecting a target network forwarding node corresponding to the target shared memory area, and, when the target network forwarding node receives a network packet to be forwarded, controlling the target network forwarding node to read updated routing forwarding information in the target shared memory area through a target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node; Based on the updated routing forwarding information, the target network forwarding node is controlled to perform a forwarding operation of the network packet to be forwarded.
2. The method according to claim 1, characterized in that The detecting, from a preset memory resource pool, a target shared memory area matching the cloud network segment information comprises: Detecting routing type information matching the cloud network segment information; A target shared memory area matching the routing type information is detected from a preset memory resource pool.
3. The method according to claim 2, characterized in that The controlling the target network forwarding node to perform the forwarding operation of the network packet to be forwarded based on the updated routing forwarding information includes: Obtaining the target routing address corresponding to the network packet to be forwarded from the updated routing forwarding information; Based on the target routing address, the target network forwarding node is controlled to perform a forwarding operation of the network packet to be forwarded.
4. The method according to claim 3, characterized in that The routing type information includes cloud network routing type, bare metal cloud network routing type, dedicated line routing type and network service routing type; The step of obtaining the target routing address corresponding to the network packet to be forwarded from the updated routing forwarding information includes: In the case where the routing type information includes a cloud network routing type, obtaining first virtual machine routing information corresponding to the network packet to be forwarded, and searching for first host machine routing information corresponding to the first virtual machine routing information from the updated routing forwarding information; In a case where the routing type information includes a bare metal cloud network routing type, obtaining access switch routing information corresponding to the network packet to be forwarded, and searching for bare metal server routing information corresponding to the access switch routing information from the updated routing forwarding information; In the case where the routing type information includes a dedicated line routing type, obtaining the second virtual machine routing information corresponding to the network packet to be forwarded, and searching the network segment routing information in the off-cloud network corresponding to the second virtual machine routing information from the updated routing forwarding information, wherein the off-cloud network is connected to the cloud network through a dedicated line network; In the case where the routing type information includes a network service routing type, the virtual routing information corresponding to the network packet to be forwarded is obtained, and the network server routing information corresponding to the virtual routing information is searched from the updated routing forwarding information.
5. The method according to claim 1, characterized in that Before controlling the target network forwarding node to read the updated routing forwarding information in the target shared memory area through the target network control protocol, the method further includes: Establishing a communication connection between the target network forwarding node and the control node where the target shared memory area is located; The target shared memory area is loaded into the target network forwarding node by using the established communication connection through the target network control protocol.
6. The method according to claim 1, characterized in that In response to the routing update operation of the cloud network networking, before obtaining the routing update information, it also includes: In response to a creation operation for a cloud network, a cloud network identifier is allocated to the created cloud network; Based on the cloud network identifier, generating routing information matching the cloud network identifier in a preset memory resource pool; In response to the networking creation operation of the cloud network, the networking information of the cloud network is obtained, and based on the networking information, the routing information is updated in a preset memory resource pool to obtain routing forwarding information.
7. A data forwarding device, characterized in that: The device comprises: An acquisition module is used to respond to the routing update operation for the cloud network networking and obtain the newly added cloud network segment information; An update module, configured to detect a target shared memory area that matches the cloud network segment information from a preset memory resource pool, and update routing forwarding information in the target shared memory area based on the cloud network segment information; A processing module, used for detecting a target network forwarding node corresponding to the target shared memory area, and when the target network forwarding node receives a network packet to be forwarded, controlling the target network forwarding node to read the updated routing forwarding information in the target shared memory area through a target network control protocol; wherein the target network control protocol is used to load the target shared memory area to the target network forwarding node; The forwarding module is used to control the target network forwarding node to perform the forwarding operation of the network packet to be forwarded based on the updated routing forwarding information.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Network adapter sharing system among multiple virtual machines, method, device, equipment and medium
CN112565113A
System and method for inter-device networking using in-device protocol
CN115499407A
Communication method and network based on networking service, terminal equipment and storage medium
CN115580943A
Test system
CN118012007A
Database backup method, server and shared memory device
CN118467243A