Data forwarding method and apparatus, computer device, readable storage medium and program product
By dividing the cloud computing network into shared memory regions to store routing and forwarding information and utilizing network control protocols, the problems of excessively large routing and forwarding information and low query efficiency in cloud computing networks are solved, thus achieving efficient packet forwarding.
Patent Information
- Application Number
- CN202411772596.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2044-12-04
AI Technical Summary
Existing data forwarding methods are inefficient in cloud computing networks, especially in complex networking scenarios. The routing and forwarding information is too large, consuming host machine memory and making it impossible to query and update quickly.
By dividing the memory resource pool into different shared memory regions to store routing and forwarding information, and using the target network control protocol to update the target network forwarding nodes in real time, efficient routing information processing and packet forwarding are achieved.
It solves the problem of excessive host memory consumption caused by large routing forwarding information, enables fast querying and real-time distribution, improves the efficiency of routing information processing, and ensures the high efficiency of data packet forwarding.
Smart Images

Figure CN119520371B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular to a data forwarding method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Technology
[0002] With the widespread application of cloud computing, the forms of applications deployed on cloud networks are becoming more and more diverse, the networking of cloud networks is becoming more and more complex, the processing of routing information between networks is also becoming more and more complex, and consequently, the packet forwarding based on the routing information between networks is also becoming more and more complex.
[0003] Currently, data forwarding mainly includes a routing information processing stage and a data forwarding stage. Routing information processing is implemented through SDN (Software Defined Networking) on hardware switches, which is well-suited for simple forwarding scenarios involving communication between virtual machines. Alternatively, routing information processing can also be implemented through software SDN. In mainstream software SDN networks, the data plane is implemented using Openvswitch or similar principles, or similar forwarding logic is implemented on smart network interface cards (NICs). Smart NICs store forwarding routing tables using a five-tuple (source address, source port, destination address, destination port, protocol) flow table. The control plane of the software SDN network uses OpenFlow or similar principles to distribute the routing table from control to forwarding logic, or distributes it through a self-developed protocol. Following this, the data to be forwarded is forwarded based on the distributed routing table.
[0004] However, current data forwarding methods are not efficient enough. Summary of the Invention
[0005] Therefore, it is necessary to provide an efficient data forwarding method, apparatus, computer equipment, computer-readable storage medium, and computer program product to address the aforementioned technical problems.
[0006] Firstly, this application provides a data forwarding method, including:
[0007] Respond to routing update operations for cloud network topology and obtain information on newly added cloud network segments;
[0008] From the preset memory resource pool, detect the target shared memory region that matches the cloud network segment information, and update the routing and forwarding information in the target shared memory region based on the cloud network segment information;
[0009] The system detects the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives a network packet to be forwarded, it controls the target network forwarding node to read the updated routing and forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into the target network forwarding node;
[0010] Based on the updated routing and forwarding information, control the target network forwarding node to perform forwarding operations on the network packets to be forwarded.
[0011] In one embodiment, detecting a target shared memory region that matches the cloud network segment information from a preset memory resource pool includes:
[0012] Detect route type information that matches the cloud network segment information;
[0013] Detect the target shared memory region that matches the routing type information from the preset memory resource pool.
[0014] In one embodiment, based on the updated routing information, the target network forwarding node is controlled to perform a forwarding operation on the network packet to be forwarded, including:
[0015] Obtain the target route address corresponding to the network packet to be forwarded from the updated routing information;
[0016] Based on the target routing address, control the target network forwarding node to perform the forwarding operation of the network packet to be forwarded.
[0017] In one embodiment, the routing type information includes cloud network routing type, bare metal cloud network routing type, leased line routing type, and network service routing type; the target routing address corresponding to the network packet to be forwarded is obtained from the updated routing forwarding information, including:
[0018] If the routing type information includes the cloud network routing type, obtain the first virtual machine routing information corresponding to the network packet to be forwarded, and find the first host machine routing information corresponding to the first virtual machine routing information from the updated routing forwarding information;
[0019] If the routing type information includes the bare metal cloud network routing type, obtain the access switch routing information corresponding to the network packet to be forwarded, and find the bare metal server routing information corresponding to the access switch routing information from the updated routing forwarding information.
[0020] If the routing type information includes the leased line routing type, obtain the second virtual machine routing information corresponding to the network packet to be forwarded, and find the network segment routing information in the on-premises network corresponding to the second virtual machine routing information from the updated routing forwarding information. The on-premises network and the cloud network are connected through a leased line network.
[0021] If the routing type information includes the network service routing type, obtain the virtual routing information corresponding to the network packet to be forwarded, and find the network server routing information corresponding to the virtual routing information from the updated routing forwarding information.
[0022] In one embodiment, before controlling the target network forwarding node to read the updated routing and forwarding information in the target shared memory region via 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 region is located;
[0024] The target shared memory region is loaded into the target network forwarding node using the established communication connection via the target network control protocol.
[0025] In one embodiment, before obtaining routing update information in response to a routing update operation of the cloud network topology, the method further includes:
[0026] In response to a cloud network creation operation, assign a cloud network identifier to the created cloud network;
[0027] Based on the cloud network identifier, routing information matching the cloud network identifier is generated in a preset memory resource pool;
[0028] In response to the cloud network creation operation, the system obtains the cloud network's network information and updates the routing information in the preset memory resource pool based on the network information to obtain routing forwarding information.
[0029] Secondly, this application also provides a data forwarding apparatus, comprising:
[0030] The acquisition module is used to respond to routing update operations for cloud network topology and obtain information on newly added cloud network segments;
[0031] The update module is used to detect target shared memory regions that match cloud network segment information from a preset memory resource pool, and update the routing and forwarding information in the target shared memory regions 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 region, and when the target network forwarding node receives the network packet to be forwarded, it controls the target network forwarding node to read the updated routing and forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into the target network forwarding node;
[0033] The forwarding module is used to control the target network forwarding node to perform forwarding operations on the network packets to be forwarded based on the updated routing forwarding information.
[0034] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0035] Respond to routing update operations for cloud network topology and obtain information on newly added cloud network segments;
[0036] From the preset memory resource pool, detect the target shared memory region that matches the cloud network segment information, and update the routing and forwarding information in the target shared memory region based on the cloud network segment information;
[0037] The system detects the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives a network packet to be forwarded, it controls the target network forwarding node to read the updated routing and forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into the target network forwarding node;
[0038] Based on the updated routing and forwarding information, control the target network forwarding node to perform forwarding operations on the network packets to be forwarded.
[0039] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0040] Respond to routing update operations for cloud network topology and obtain information on newly added cloud network segments;
[0041] From the preset memory resource pool, detect the target shared memory region that matches the cloud network segment information, and update the routing and forwarding information in the target shared memory region based on the cloud network segment information;
[0042] The system detects the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives a network packet to be forwarded, it controls the target network forwarding node to read the updated routing and forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into the target network forwarding node;
[0043] Based on the updated routing and forwarding information, control the target network forwarding node to perform forwarding operations on the network packets to be forwarded.
[0044] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0045] Respond to routing update operations for cloud network topology and obtain information on newly added cloud network segments;
[0046] From the preset memory resource pool, detect the target shared memory region that matches the cloud network segment information, and update the routing and forwarding information in the target shared memory region based on the cloud network segment information;
[0047] The system detects the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives a network packet to be forwarded, it controls the target network forwarding node to read the updated routing and forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into the target network forwarding node;
[0048] Based on the updated routing and forwarding information, control the target network forwarding node to perform forwarding operations on the network packets to be forwarded.
[0049] The aforementioned data forwarding method, apparatus, computer equipment, computer-readable storage medium, and computer program product respond to the routing update operation of the cloud network, obtain newly added cloud network segment information, and detect a target shared memory region matching the newly added cloud network segment information from a preset memory resource pool. Based on the cloud network segment information, they update the routing forwarding information in the target shared memory region. The routing forwarding information is stored in different shared memory regions within the preset memory resource pool, solving the problem of excessively large routing forwarding information consuming significant host memory. Furthermore, by dividing the shared memory regions based on the target address, the problem of slow querying caused by uniformly managing the routing forwarding table with a five-tuple is also solved. Moreover, through the target network control protocol, updates to the target shared memory region are guaranteed to be updated to the target network forwarding nodes in real time, solving the problem of real-time distribution of large amounts of routing forwarding information and improving the efficiency of routing information processing. This enables efficient control of the target network forwarding nodes to perform forwarding operations on network packets to be forwarded. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 This is a diagram illustrating the application environment of a data forwarding method in one embodiment.
[0052] Figure 2 This is a flowchart illustrating a data forwarding method in one embodiment;
[0053] Figure 3 This is a flowchart illustrating the data forwarding method in another embodiment;
[0054] Figure 4 This is a schematic diagram illustrating the structural interaction of a data forwarding method in one embodiment;
[0055] Figure 5 This is a schematic diagram of the structural interaction of the data forwarding method in another detailed application embodiment;
[0056] Figure 6 This is a structural block diagram of a data forwarding device in one embodiment;
[0057] Figure 7 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0058] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of this application.
[0059] With the widespread application of cloud computing, the forms of applications deployed on cloud networks are becoming increasingly diverse, resulting in two trends: 1) The networking of cloud networks is becoming more and more complex. In addition to the most basic virtual machine cross-host interconnection via overlay network, there are also cross-subnet interconnection, cross-VPC interconnection, cross-Available Zone interconnection, cross-Region interconnection, virtual machine and bare metal interconnection (non-smart NIC, based on hardware switch encapsulation of VXLAN network virtualization), cloud network and on-premises network interconnection via dedicated line, virtual machine access to the public network via SNAT, external requests to access virtual machines via DNAT, Layer 4 load balancing, Layer 7 load balancing, and virtual machine access to public services in the management area, etc. The forwarding paths for different target addresses are different; 2) As the number of virtual machines placed on cloud networks increases, the forwarding routing table is also getting larger and larger.
[0060] Some cloud platforms implement cloud networks through hardware switches with SDN. However, while hardware SDN is suitable for simple forwarding scenarios between virtual machines, it cannot adapt to the many complex scenarios mentioned above. Furthermore, due to the current state of hardware memory, it cannot support the storage of such a large-scale forwarding routing table.
[0061] Another part of the cloud platform's cloud network is implemented through Software Defined Networking (SDN). Software SDN is more flexible, can handle more complex scenarios, and its forwarding routing tables are stored in memory, allowing for significant storage capacity. In mainstream software SDN networks, the data plane is implemented using Openvswitch or similar principles, or similar forwarding logic is implemented on smart network interface cards (NICs). Forwarding routing tables are primarily stored using 5-tuple (source address, source port, destination address, destination port, protocol) flow tables. The control plane uses OpenFlow or similar principles to distribute routing tables from control to forwarding logic, or distributes them through self-developed protocols. However, this model has certain problems. For example, all the aforementioned complex forwarding scenarios are implemented using a uniform five-tuple, so the control plane cannot distinguish between these scenarios, nor can it efficiently save, compress, retrieve, and discard routing tables for different scenarios. Also, the amount of routing tables is very large, which poses a great challenge to the latency and volume of data transmission. Therefore, the efficiency of data forwarding based on routing tables is extremely low.
[0062] To address this, this application provides a data forwarding method. Throughout the process, in response to the routing update operation of the cloud network, newly added cloud network segment information is obtained. A target shared memory region matching the cloud network segment information is detected from a preset memory resource pool. Based on the cloud network segment information, the routing forwarding information in the target shared memory region is updated. The routing forwarding information is stored in different shared memory regions within the preset memory resource pool, solving the problem of excessively large routing forwarding information consuming significant host memory. Furthermore, by dividing the shared memory regions based on the target address, the problem of using a unified five-tuple to manage the routing forwarding table, which cannot quickly query different scenarios, is also solved. Moreover, through the target network control protocol, updates to the target shared memory region are guaranteed to be updated to the target network forwarding nodes in real time, solving the problem of real-time distribution of large amounts of routing forwarding information and improving the efficiency of routing information processing. This enables efficient control of the target network forwarding nodes to perform forwarding operations on network packets to be forwarded.
[0063] The data forwarding method provided in this application embodiment can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be located in the cloud or on another network server. A management node 106 is deployed on server 104, and a shared memory resource pool can be established within server 104 where the management node resides.
[0064] The user issues a routing update request for the cloud network configuration through the cloud network configuration operation interface of terminal 102. For example, to create other networks that communicate with the cloud network, terminal 102 sends the routing update request for the cloud network configuration to server 104. The management node 106 in server 104 receives the request, responds to the routing update operation for the cloud network configuration, and obtains the newly added cloud network segment information. From the preset memory resource pool, it detects the target shared memory region that matches the cloud network segment information, and updates the routing forwarding information in the target shared memory region based on the cloud network segment information. It detects the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives the network packet to be forwarded, it controls the target network forwarding node to read the updated routing forwarding information in the target shared memory region through the target network control protocol. The target network control protocol is used to load the target shared memory region into the target network forwarding node. Based on the updated routing forwarding information, it controls the target network forwarding node to perform the forwarding operation of the network packet to be forwarded.
[0065] The terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle systems, and projection devices. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted displays. Head-mounted displays can be virtual reality (VR) devices, augmented reality (AR) devices, and smart glasses.
[0066] In one exemplary embodiment, such as Figure 2 As shown, a data forwarding method is provided, which can be applied to... Figure 1 Taking server 104 as an example for explanation. Wherein:
[0067] S200 responds to routing update operations for cloud network topology and obtains information on newly added cloud network segments.
[0068] 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 for data transmission and communication. When a cloud network topology is redefined, its corresponding routing information will also be updated. For example, if a virtual machine exists in the original cloud network topology, adding a new virtual machine will add to its routing information, and deleting a virtual machine will reduce its routing information. Routing refers to the process of determining the network scope of the end-to-end path for packets traveling from source to destination.
[0069] Specifically, cloud network servers are divided into management and control nodes and data forwarding nodes. Users submit routing update requests for cloud network configurations through the cloud network configuration operation interface on their terminals. For example, to create other networks that communicate with the cloud network, the terminal sends the routing update request to the management and control node. The management and control node receives the request, responds to the routing update operation for the cloud network configuration, obtains the routing update information, and extracts the target address from the routing update information. Alternatively, when users perform routing update operations for cloud network configurations through an API (Application Programming Interface), the management and control node responds to the routing update operation for the cloud network configuration and obtains information about the newly added cloud network segment.
[0070] For example, in the existing cloud network topology, there are virtual machines a and b. The routing information is the routing mapping relationship between virtual machines a and b. When a user requests to create a new virtual machine c in the cloud network topology, the newly added cloud network segment information can be the routing mapping relationship between virtual machine c and b, as well as the routing mapping relationship between virtual machine c and a.
[0071] The S400 detects a target shared memory region from the preset memory resource pool that matches the cloud network segment information, and updates the routing and forwarding information in the target shared memory region based on the cloud network segment information.
[0072] The memory resource pool is a shared resource pool that can reach the TB (Terabyte) level, storing massive amounts of routing and forwarding information. This information can be represented in tabular form, such as a routing and forwarding table.
[0073] Specifically, a memory resource pool is established on the control node, and shared memory regions are allocated within the shared memory pool for routing and forwarding information with different destination addresses. In other words, routing and forwarding information is stored in the shared memory regions; the destination addresses of the routing and forwarding information in each shared memory region are the same, but the destination addresses of the routing and forwarding information in different shared memory regions are different.
[0074] Therefore, the corresponding target address can be extracted from the cloud network segment information, and the target shared memory region matching the target address can be detected from multiple shared memory regions in the memory resource pool. Then, the existing routing and forwarding information in the target shared memory region is updated using the newly added cloud network segment information.
[0075] S600 detects the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives the network packet to be forwarded, it controls the target network forwarding node to read the updated routing forwarding information in the target shared memory region through the target network control protocol.
[0076] Among them, a target network control protocol is established between the control node and the network forwarding node. The target network control protocol is used to load the target shared memory region into the target network forwarding node.
[0077] Specifically, each shared memory region corresponds to a network forwarding node. Each network forwarding node does not load all shared memory regions, but rather loads the shared memory regions corresponding to the routing information that the virtual machine corresponding to that network forwarding node may access. In other words, each network forwarding node places the shared memory region containing the routing information of its possible destination address on its local machine through the target network control protocol.
[0078] The target network control protocol is typically CXL (Compute Express Link) 3.0. CXL 3.0 is an open interconnect standard based on the PCIe (Peripheral Component Interconnect Express) physical layer, a high-speed, low-latency CPU (Central Processing Unit) to device interconnect technology. CXL 3.0 enables fine-grained memory allocation (aggregation) and sharing among multiple hosts, achieving a shared memory pool. Applying this technology to the storage and distribution of routing tables solves both the storage and distribution problems. CXL clusters can reach thousands of nodes, capable of handling large-scale cloud platforms.
[0079] Therefore, the target network forwarding node corresponding to the target shared memory region can be selected from multiple network forwarding nodes. When the target network forwarding node receives the network packet to be forwarded, the target network control protocol loads the target shared memory region onto the target network forwarding node. At this time, the target network forwarding node can read the updated routing and forwarding information in the target shared memory region in real time without the need for an additional distribution process, which is more efficient.
[0080] The S800, based on the updated routing and forwarding information, controls the target network forwarding node to perform forwarding operations on the network packets 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, based on the updated routing forwarding information, the target network forwarding node queries the target forwarding address corresponding to the network packet to be forwarded from the updated routing forwarding information, and then forwards the received network packet to be forwarded to the target forwarding address.
[0082] In the aforementioned data forwarding method, in response to the routing update operation of the cloud network, the newly added cloud network segment information is obtained. Then, a target shared memory region matching the newly added cloud network segment information is detected from a preset memory resource pool. Based on the cloud network segment information, the routing forwarding information in the target shared memory region is updated. The routing forwarding information is stored in different shared memory regions within the preset memory resource pool, solving the problem of excessively large routing forwarding information consuming significant host memory. Furthermore, by dividing the shared memory regions based on the target address, the problem of using a unified five-tuple to manage the routing forwarding table, which cannot quickly query different scenarios, is also solved. Moreover, through the target network control protocol, it is ensured that updates to the target shared memory region are updated to the target network forwarding nodes in real time, solving the problem of real-time distribution of large amounts of routing forwarding information and improving the efficiency of routing information processing. This enables efficient control of the target network forwarding nodes to perform forwarding operations on network packets to be forwarded.
[0083] In one exemplary embodiment, detecting a target shared memory region that matches cloud network segment information from a preset memory resource pool includes:
[0084] Detect routing type information that matches the cloud network segment information, and then detect the target shared memory region that matches the routing type information from the preset memory resource pool.
[0085] Specifically, the shared memory region is used to store routing information. However, this application does not use the existing five-tuple pattern for storing routing information. Instead, it stores different types of routing information based on the destination address. That is, each shared memory region contains the same type of routing information, while different shared memory regions contain different types of routing information. The same type of routing information refers to routing information with the same destination address, while different types of routing information refer to routing information with different destination addresses.
[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. Then, the target shared memory region matching the routing type information is detected from multiple shared memory regions 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 the target shared memory region can be accurately determined based on the routing type information, so as to accurately store the routing update information in the target shared memory region.
[0088] In one exemplary embodiment, based on the updated routing information, the target network forwarding node is controlled to perform a forwarding operation on the network packet to be forwarded, including:
[0089] Obtain the target route address corresponding to the network packet to be forwarded from the updated routing forwarding information, and control the target network forwarding node to perform the forwarding operation of the network packet to be forwarded based on the target route address.
[0090] Specifically, when the routing 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 information in the target shared memory area in real time. Then, 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 from the updated routing 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, thereby ensuring that the network packet to be forwarded is pre-transmitted to the corresponding target routing address.
[0091] In this embodiment, the target network forwarding network can read the updated routing forwarding information in the target shared memory area through the target network control protocol, and query the target routing address corresponding to the network packet to be forwarded from the updated routing forwarding information, so as to accurately realize the forwarding operation of the network packet to be forwarded.
[0092] In an exemplary embodiment, the routing type information includes cloud network routing type, bare metal cloud network routing type, leased line routing type, and network service routing type; from the updated routing forwarding information, the target routing address corresponding to the network packet to be forwarded is obtained, including:
[0093] If the routing type information includes the cloud network routing type, obtain the first virtual machine routing information corresponding to the network packet to be forwarded, and find the first host machine routing information corresponding to the first virtual machine routing information from the updated routing forwarding information;
[0094] If the routing type information includes the bare metal cloud network routing type, obtain the access switch routing information corresponding to the network packet to be forwarded, and find the bare metal server routing information corresponding to the access switch routing information from the updated routing forwarding information.
[0095] If the routing type information includes the leased line routing type, obtain the second virtual machine routing information corresponding to the network packet to be forwarded, and find the network segment routing information in the on-premises network corresponding to the second virtual machine routing information from the updated routing forwarding information. The on-premises network and the cloud network are connected through a leased line network.
[0096] If the routing type information includes the network service routing type, obtain the virtual routing information corresponding to the network packet to be forwarded, and find the network server routing information corresponding to the virtual routing information 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 intra-cloud network routing type and cross-cloud network routing type, while network service routing type includes public network service routing type and custom network service routing type.
[0098] Specifically, based on the routing type information, the target route mapping relationship corresponding to the network packet to be forwarded is obtained from the updated routing forwarding information, including the following cases:
[0099] The first type is for cloud network routing:
[0100] When the cloud network routing type is the same, there may be several virtual machines in the cloud network. The updated routing forwarding information includes the target route 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 can be found from the updated routing forwarding information.
[0101] When the cloud network routing type is cross-cloud network routing, the updated routing forwarding information includes the target route mapping relationship information between the first virtual machine routing information and the first host machine routing information corresponding to each cloud network. For example, when the routing forwarding information is a VPC (Virtual Private Cloud) routing table, different VPC routing tables have VPCIDs. The VPCID serves as a key to identify different VPC routing tables. The VPC routing table stores the mapping relationship between the MAC (Media Access Control Address) addresses and the IP addresses of the host machines where the virtual machines (VMs) corresponding to the VPCs in that cloud network reside. The MAC address, also known as the physical address or hardware address, is a unique identifier assigned to network devices during manufacturing and is usually embedded in the network interface card. The IP address is the logical address of a device in the network, assigned by the network service provider and used to locate devices in the network. A virtual machine refers to multiple "virtual servers" running on a single physical server. Superficially, these virtual machines are independent servers, but in reality, they share the CPU, memory, hardware, network card, and other resources of the physical server. Therefore, the routing information of the first virtual machine corresponding to the network packet to be forwarded can be obtained, and based on the routing information of the first virtual machine, the routing information of the first host machine corresponding to the routing information of the first virtual machine can be found from the updated routing forwarding information.
[0102] For example, for access to the same VPC, that is, the same cloud network routing type, where the target VPCID and target address are both within this VPC, it is only necessary to read the routing table of this VPC, 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, which is a cross-cloud network routing type, a peering connection needs to be established between the two VPCs. If the target VPCID and target address are within the peering VPC, the routing table of the peering VPC needs to be read to find the mapping relationship. Then, similar to the overlay encapsulation for access within the same VPC, the network packet to be forwarded can be delivered.
[0104] The second type is for bare-metal cloud network routing:
[0105] The bare metal cloud network routing type refers to the communication type established between the bare metal server and the cloud network. The updated routing forwarding information includes the target route mapping relationship between the access switch routing information, virtual extended LAN routing information, and bare metal server routing information corresponding to the cloud network. 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 corresponding bare metal server routing information can be found in the updated routing forwarding information.
[0106] For example, a VPC can also be created for bare metal servers. However, the VPC is implemented on the physical switch via VXLAN. On the RR (Route Reflector) on the bare metal network side, the mapping relationship between the access switch routing information, VTEP (Visual eXtensible Local Area Network Tunnel Endpoint) routing information, and bare metal server routing information can be obtained. The mapping relationship is written 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, the mapping relationship is looked up in this table. The MAC and IP of the lost 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 VTEP IP address are placed in the outer layer. The packet can then be sent to the network packet to be forwarded.
[0107] The third type is for dedicated line routing:
[0108] Leased line routing refers to communication between a leased line and a cloud network within a cloud network. In this case, the updated routing information includes the target route mapping relationship between the second virtual machine routing information, the second host machine routing information, and the network segment routing information in the on-premises network corresponding to the cloud network. Therefore, the second virtual machine routing information corresponding to the network packet to be forwarded can be obtained. Based on the second virtual machine routing information, the corresponding second host machine routing information can be found in the updated routing information, and then the corresponding network segment routing information in the on-premises network can be found.
[0109] For example, if an on-premises network segment needs to communicate with a VPC in the cloud, it is often done through a leased line switch. The network packet is encapsulated into a VXLAN and then sent to the leased line gateway. The leased line gateway can find the host machine where the virtual machine is located through the VPC routing table, encapsulate it into a VXLAN, and then forward it. If the virtual machine in the cloud needs to access the on-premises network segment, it simply forwards the network packet to the leased line gateway, which then sends it to the leased line switch for decapsulation.
[0110] The fourth type is for network service routing:
[0111] Network service routing type refers to communication between virtual machines in the cloud network and other network servers. The updated routing information includes the target route mapping relationship between the virtual routing information corresponding to the cloud network and the server routing information of the network server. Therefore, it is possible to obtain the virtual routing information corresponding to the network packet to be forwarded, and then find the corresponding network server routing information from the updated routing information.
[0112] For example, when the network service routing type is public network service routing type, if the cloud needs to access public management services such as NTP, yum and OpenAPI, a virtual address VPCip will be assigned to these services by default within the VPC. When accessing these virtual addresses, the management network (corresponding to the VPCip) underlay address of these services can be obtained from the routing table, decapsulated and then sent to the network packet to be forwarded.
[0113] When the network service routing type is set to custom, it functions similarly to a public service routing table, but instead of being assigned by default, it requires manual binding by the user. Examples include accessing object storage or databases within the underlay network. When a user manually binds an underlay IP, a mapping between VPC IPs and underlay IPs is created in this routing table. When accessing these VPC IPs, the management network underlay address for these services is retrieved from this routing table, decapsulated, and then sent as the network packet to be forwarded.
[0114] In this embodiment, by setting up multiple shared memory regions to store different types of routing forwarding information, each forwarding node will not obtain all routing forwarding information during the forwarding process based on routing forwarding information, but will obtain the shared information corresponding to the routing forwarding information that it may access. Enjoy Memory area. For example, when routing information is represented in tabular form, the VPC routing table belonging to this VPC will be obtained; if this VPC and another VPC are peered, the peering VPC's routing table will also be obtained; if this VPC is connected to the on-premises network via a leased line, the leased line routing table will be obtained; all public service routing tables will be obtained; if this VPC needs to access the underlay service and a mapping has been made, the underlay service routing table will be obtained. Once the forwarding node creates these public services... Enjoy After the memory region, 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 distribution of routing tables.
[0115] In an exemplary embodiment, before controlling the target network forwarding node to read the updated routing and forwarding information in the target shared memory region via 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 region is located. The target shared memory region is then loaded onto the target network forwarding node using the established communication connection through the target network control protocol.
[0117] Specifically, communication connections are established between the control node and multiple network forwarding nodes, allowing shared memory regions to be loaded onto the network forwarding nodes. Furthermore, the establishment of these communication connections between the control node and the multiple network forwarding nodes does not mean that the network forwarding nodes can obtain all routing and forwarding information from the memory resource pool in the control node. Instead, the shared memory regions in the control node are loaded into the corresponding network forwarding nodes via these communication connections. For example, if the target network forwarding node is the network forwarding node corresponding to the target shared memory region, then the target shared memory region can be loaded into the target network forwarding node using the communication connection established between the target network forwarding node and the control node, through the target network control protocol. This enables the target network forwarding node to obtain updated routing and forwarding information from the target shared memory region in real time.
[0118] In this embodiment, by establishing a communication connection between the target network forwarding node and the control node where the target shared memory region is located, the target shared memory region can be accurately loaded into the target network forwarding node through the communication connection. This allows the target network forwarding node to obtain the updated routing forwarding information in the target shared memory region in real time without the need for an additional distribution process, thus improving the efficiency of routing information acquisition.
[0119] In one exemplary embodiment, such as Figure 3 As shown, prior to S200, it also includes:
[0120] S120, in response to a cloud network creation operation, assigns a cloud network identifier to the created cloud network.
[0121] S140 generates routing information matching the cloud network identifier from a preset memory resource pool based on the cloud network identifier.
[0122] S160 responds to the cloud network creation operation, obtains the cloud network's network information, and updates the routing information in the preset memory resource pool based on the network information to obtain routing forwarding information.
[0123] Specifically, before responding to a routing update operation for a cloud network topology, it is also necessary to create cloud networks and their corresponding topologies. The management node responds to the cloud network creation operation by assigning a cloud network identifier to the created cloud network. At the same time, based on the cloud network identifier, it creates routing information, such as a routing forwarding table, in the memory resource pool corresponding to the management node, using the cloud network identifier as the key.
[0124] After the cloud network is created, the device network within the cloud network is created. The management node responds to the network creation operation for the cloud network, obtains the network information in the cloud network, and updates the corresponding routing information in the memory resource pool based on the network information to obtain routing forwarding information.
[0125] Taking VPC as an example, when a user requests to create a VPC, a VPCID is assigned. This data is stored in the database and a VPC routing table with the VPCID as the key is also created in the CXL shared memory resource pool. When a user requests to create a virtual machine within this VPC, the virtual machine is assigned to a host machine. The network information obtained at this time can be the mapping relationship between the newly created virtual machine's MAC address, virtual machine IP, and host machine IP. This mapping relationship is added to the VPC routing table, and the updated routing information is then stored 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 created network is the corresponding cloud network. Similarly, when responding to a cloud network routing update operation, the cloud network identifier can be used to verify whether the updated network is the corresponding cloud network.
[0127] In other words, the first network identifier in the cloud network creation request 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. Based on the device networking information, the routing information corresponding to the first network identifier is updated in the preset memory resource pool to obtain routing forwarding information.
[0128] When responding to a route update operation in a cloud network, the second route identifier in the route update request of the cloud network can also be obtained. Based on the second network identifier, the routing forwarding information corresponding to the second network identifier can be queried in a preset memory resource pool. Based on the route update information, the routing forwarding information corresponding to the second network identifier in the preset memory resource pool can be updated to obtain the updated routing forwarding information.
[0129] In this embodiment, before updating the routing of the cloud network, it is necessary to first create the cloud network and the network of devices in the cloud network, and then update the routing of the cloud network. Furthermore, 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 network corresponding to the cloud network identifier.
[0130] In an exemplary embodiment, taking routing forwarding information as an example of a routing forwarding table, the essence of this application is: to optimize the data forwarding method of cloud networks based on the CXL 3.0 shared memory resource pool, specifically:
[0131] like Figure 4 As shown, the cloud network is divided into management nodes and network forwarding nodes. A CXL network is built between the management nodes and network forwarding nodes, and a memory resource pool is built on the management nodes 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, no longer using the five-tuple pattern, but instead storing different routing tables according to different destination addresses. Shared memory areas are allocated for different routing tables in the memory resource pool. These 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, leased line routing table N, public service routing table N, and custom service routing table N.
[0132] When a user defines a cloud network topology through an API interface, the management node receives the request through a message queue, obtains the routing update information in the request, saves the routing update information in the database, and detects the target shared memory region that matches the target address based on the routing update information. Based on the routing update information, the node updates the corresponding routing table in the target shared memory region and saves it in the target shared memory region.
[0133] Each virtual machine's corresponding network forwarding node places the shared memory region containing the forwarding table for its potential destination addresses on its local machine via the CXL protocol. When the management node updates the shared memory region, all network forwarding nodes can obtain the changes in real time through the CXL network, without the need for an additional distribution process. When forwarding network packets from virtual machines, the network forwarding nodes can directly read the data in the shared memory region. The CXL shared memory pool can reach terabyte levels, storing massive amounts of routing and forwarding tables. CXL clusters can reach thousands of nodes, capable of handling large-scale cloud platforms.
[0134] Furthermore, each forwarding node does not retrieve all routing tables, but rather the shared memory regions corresponding to the routing tables it might access locally. For example, the VPC routing table belonging to this VPC will be retrieved; if this VPC is peered to another VPC, the peering VPC's routing table will also be retrieved; if this VPC is connected to the on-premises network via a leased line, the leased line routing table will be retrieved; all public service routing tables will be retrieved; if this VPC needs to access the underlay service and mapping has been configured, the underlay service routing table will be retrieved. Once the forwarding node creates these Memory Regions, when the management system accepts user requests and updates these routing tables, the forwarding node will be synchronously updated according to the CXL protocol, enabling real-time VXLAN encapsulation and distribution of network packets.
[0135] For example, in Figure 4 In this architecture, each compute node contains 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, and network forwarding node 3 can obtain VPC routing table N1. Based on the routing tables obtained within the compute node, network packets can also be encapsulated using VXLAN and forwarded to other compute 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 factual case based on OpenStack.
[0137] Specifically, the network management module of OpenStack is Neutron. Neutron-Server, as a network service, can be deployed on ordinary servers. Neutron can have network plugins, which can connect to remote network management modules. On the server where the network management 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 regions, which 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, leased line routing table N, public service routing table N, and custom service routing table N.
[0138] When OpenStack Neutron accepts a user request to create a VPC through a message queue, it assigns a VPCID. This data is stored in the Neutron-Server database and a VPC routing table with the VPCID as the key is created in the CXL shared resource pool.
[0139] When OpenStack Nova accepts a user request to create a virtual machine within this VPC, the virtual machine is assigned to a host machine, and the mapping relationship between the virtual machine's MAC address, virtual machine's IP address, and host machine's IP address is stored in the VPC routing table.
[0140] The host machine hosting this virtual machine needs to obtain the shared memory area storing the VPC routing table via the CXL protocol and load it locally.
[0141] Whenever a new virtual machine is created in this VPC, Neutron management updates the VPC routing table in this shared memory area. The host machine then updates the VPC routing table in real time via the CXL protocol. This allows the new virtual machine to access the VPC through VXLAN encapsulation based on the mappings in the VPC routing table.
[0142] The data forwarding method of this application can also improve the richness of cloud network topology of cloud platforms, as well as the performance and real-time performance of cloud network forwarding. Therefore, it can be applied in the future to: 1. fields where cloud platforms have high requirements for network forwarding; 2. fields where cloud platforms have complex cloud network topology; 3. fields where cloud platforms have a large amount of cloud network forwarding table data.
[0143] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0144] Based on the same inventive concept, this application also provides a data forwarding apparatus for implementing the data forwarding method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more data forwarding apparatus embodiments provided below can be found in the limitations of the data forwarding method described above, and will not be repeated here.
[0145] In one exemplary embodiment, such as Figure 6 As shown, a data forwarding device is provided, including: 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 routing update operations for cloud network topology and acquire information on newly added cloud network segments;
[0147] The update module 400 is used to detect a target shared memory region that matches the cloud network segment information from the preset memory resource pool, and update the routing and forwarding information in the target shared memory region 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 region, and when the target network forwarding node receives the network packet to be forwarded, it controls the target network forwarding node to read the updated routing forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into the target network forwarding node;
[0149] The forwarding module 800 is used to control the target network forwarding node to perform forwarding operations on the network packets to be forwarded based on the updated routing forwarding information.
[0150] In one embodiment, the update module 400 is further configured to detect routing type information that matches the cloud network segment information; and detect a target shared memory region that matches the routing type information from a preset memory resource pool.
[0151] In one embodiment, the forwarding module 800 is further configured to 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.
[0152] In one embodiment, the routing type information includes cloud network routing type, bare metal cloud network routing type, leased line routing type, and network service routing type. The forwarding module 800 is further configured to: 1) Obtain first virtual machine routing information corresponding to the network packet to be forwarded when the routing type information includes cloud network routing type, and search for first host machine routing information corresponding to the first virtual machine routing information from the updated routing forwarding information; 2) Obtain access switch routing information corresponding to the network packet to be forwarded when the routing type information includes bare metal cloud network routing type, and search for bare metal server routing information corresponding to the access switch routing information from the updated routing forwarding information; 3) Obtain second virtual machine routing information corresponding to the network packet to be forwarded when the routing type information includes leased line routing type, and search for network segment routing information in the on-premises network corresponding to the second virtual machine routing information from the updated routing forwarding information, wherein the on-premises network and the cloud network are connected via a leased line network; 4) Obtain virtual routing information corresponding to the network packet to be forwarded when the routing type information includes network service routing type, and search for network server routing information corresponding to the virtual routing information from the updated routing forwarding information.
[0153] In one embodiment, the data forwarding device further includes a communication connection module, which is used to establish a communication connection between the target network forwarding node and the control node where the target shared memory region is located; and to load the target shared memory region to the target network forwarding node using the established communication connection through the target network control protocol.
[0154] In one embodiment, the data forwarding device further includes a creation module, which is used to respond to a creation operation for a cloud network, assign a cloud network identifier to the created cloud network; generate routing information matching the cloud network identifier in a preset memory resource pool based on the cloud network identifier; and respond to a network creation operation for the cloud network, obtain the network information of the cloud network, and update the routing information in the preset memory resource pool based on the network information to obtain routing forwarding information.
[0155] Each module in the aforementioned data forwarding device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0156] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 7As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores data such as routing update information. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When executed by the processor, the computer program implements a data forwarding method.
[0157] Those skilled in the art will understand that Figure 7 The structure shown is a block diagram of a partial structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0158] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0159] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0160] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[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, data stored, data displayed, 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 the relevant data must comply with relevant regulations.
[0162] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media 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. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0163] The technical features of the above embodiments can be combined in any way. For the sake of brevity, 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 are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A data forwarding method, characterized in that, The method includes: Respond to routing update operations for cloud network topology and obtain information on newly added cloud network segments; From a preset memory resource pool, a target shared memory region matching the cloud network segment information is detected, and based on the cloud network segment information, the routing and forwarding information in the target shared memory region is updated; the detection of the target shared memory region matching the cloud network segment information from the preset memory resource pool includes: detecting routing type information matching the cloud network segment information; detecting the target shared memory region matching the routing type information from the preset memory resource pool; the shared memory region stores routing and forwarding information, the target address of the routing and forwarding information in each shared memory region is the same, and the target address of the routing and forwarding information in different shared memory regions is different; The system detects the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives a network packet to be forwarded, it controls the target network forwarding node to read the updated routing and forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into the target network forwarding node; Based on the updated routing and forwarding information, the target network forwarding node is controlled to perform the forwarding operation of the network packet to be forwarded.
2. The method according to claim 1, characterized in that, The step of 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: Obtain the target route address corresponding to the network packet to be forwarded from the updated routing and forwarding information; Based on the target routing address, the target network forwarding node is controlled to perform the forwarding operation of the network packet to be forwarded.
3. The method according to claim 2, 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 route address corresponding to the network packet to be forwarded from the updated routing information includes: When the routing type information includes cloud network routing type, 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; If the routing type information includes a bare metal 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. If the routing type information includes a leased line routing type, the second virtual machine routing information corresponding to the network packet to be forwarded is obtained, and the network segment routing information in the on-premises network corresponding to the second virtual machine routing information is found from the updated routing forwarding information, wherein the on-premises network and the cloud network are connected through a leased line network. If the routing type information includes a network service routing type, 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.
4. The method according to claim 1, characterized in that, Before controlling the target network forwarding node to read the updated routing and forwarding information in the target shared memory region via the target network control protocol, the method further includes: Establish a communication connection between the target network forwarding node and the control node where the target shared memory region is located; The target shared memory region is loaded into the target network forwarding node using the established communication connection via the target network control protocol.
5. The method according to claim 1, characterized in that, Before responding to the routing update operation of the cloud network and obtaining the routing update information, the process also includes: In response to a cloud network creation operation, assign a cloud network identifier to the created cloud network; Based on the cloud network identifier, routing information matching the cloud network identifier is generated in a preset memory resource pool; In response to the cloud network creation operation, the system obtains the cloud network's network information and updates the routing information in a preset memory resource pool based on the network information to obtain routing forwarding information.
6. A data forwarding device, characterized in that, The device includes: The acquisition module is used to respond to routing update operations for cloud network topology and obtain information on newly added cloud network segments; An update module is used to detect target shared memory regions matching the cloud network segment information from a preset memory resource pool, and update the routing and forwarding information in the target shared memory regions based on the cloud network segment information; the step of detecting target shared memory regions matching the cloud network segment information from the preset memory resource pool includes: detecting routing type information matching the cloud network segment information; detecting target shared memory regions matching the routing type information from the preset memory resource pool; the shared memory regions store routing and forwarding information, the target addresses of the routing and forwarding information in each shared memory region are the same, and the target addresses of the routing and forwarding information in different shared memory regions are different; The processing module is used to detect the target network forwarding node corresponding to the target shared memory region, and when the target network forwarding node receives a network packet to be forwarded, it controls the target network forwarding node to read the updated routing and forwarding information in the target shared memory region through the target network control protocol; wherein, the target network control protocol is used to load the target shared memory region into 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.
7. The apparatus according to claim 6, characterized in that, The forwarding module is also used to 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.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Communication method and network based on networking service, terminal equipment and storage medium
CN115580943A
Test system
CN118012007A