Message forwarding method, network information management method, related device and storage medium

By splitting the functions of virtual switches, the operation and maintenance management module and network forwarding module run on hardware acceleration equipment and physical machines, solving the problem of limited resources of smart network cards and improving the network performance and deployment density of virtualized instances.

WO2024250768A1PCT designated stage expired Publication Date: 2024-12-12CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD

Patent Information

Application Number
PCT/CN2024/080853
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-06
Filing Date
2024-03-08
Publication Date
2024-12-12

AI Technical Summary

Technical Problem

The existing virtualization architecture has limited resources and cannot be dynamically expanded, which limits the network performance and deployment density of virtual machines.

Method used

By splitting the virtual switch function, the operation and maintenance management module and the first network forwarding module run on the hardware acceleration device, and the second network forwarding module runs on the physical machine to realize a mixed form of virtualization architecture and expand the processing of using the physical machine and memory to improve network virtualization functions.

Benefits of technology

Improve the network performance and deployment density of virtualized instances, keep the hardware architecture of hardware acceleration devices unchanged, and enhance network virtualization capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024080853_12122024_PF_FP_ABST
    Figure CN2024080853_12122024_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present application are a message forwarding method, a network information management method, a related device and a storage medium. In the embodiments of the present application, a virtual switch undergoes function division, where an operation and maintenance management module is responsible for providing network management and operation and maintenance services for virtual network interface controllers, and a first network forwarding module and a second network forwarding module are responsible for separately providing data forwarding services for different virtual network interface controllers; in terms of deployment, the operation and maintenance management module and the first network forwarding module are run on a hardware acceleration device, while the second network forwarding module is deployed on a physical machine, thus achieving a hybrid virtualization architecture. The present application can expand the network virtualization functionality by using processors and memories of physical machines while keeping hardware architectures and control architectures of hardware acceleration devices unchanged, so as to improve the network virtualization capability, thus increasing the number of virtual network interface controllers serviced by virtual switches and improving the network performance and the deployment density of virtualization instances (such as VM).
Need to check novelty before this filing date? Find Prior Art

Description

Message forwarding and network information management method, related equipment and storage medium

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on June 6, 2023, with application number CN202310666893.2 and invention name “Message forwarding and network information management method, related equipment and storage medium”, all contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of cloud computing technology, and in particular to a message forwarding and network information management method, related equipment, and storage medium. Background Art

[0003] Cloud computing is a form of internet-based distributed computing that allows users to access resources in the cloud at any time and use them on demand. The foundation of cloud computing is virtualization technology, which allows multiple virtual machines to run on a single physical machine, and different applications can be installed and run in different virtual machines.

[0004] In traditional virtualization architectures, various virtualization functions are implemented on the host and share the host's processor (CPU), memory and other resources with virtual machines. This architecture lacks hardware offload capabilities. Various virtualization functions run on the host, occupying a large number of host resources and causing performance interference to virtual machines.

[0005] Therefore, cloud vendors began to adopt hardware acceleration solutions to offload some virtualization functions to smart network cards. The most typical example is to offload the virtual switch (vswitch) to the smart network card, thereby reducing the host resource usage of network virtualization functions and reducing the performance interference caused to virtual machines.

[0006] However, due to the limited resources on the Smart NIC and the inability to dynamically expand, the vswitch capabilities provided by the Smart NIC are limited, which to a certain extent will limit the network performance of the virtual machine and the deployment density of the virtual machine.

[0007] Summary of the Invention

[0008] Multiple aspects of the present application provide a message forwarding and network information management method, related equipment and storage medium, which are used to provide a hybrid virtualization architecture, expand the use of physical machine processors and memory for network virtualization functions, improve the network virtualization functions, and thereby improve the network performance and deployment density of virtualized instances.

[0009] An embodiment of the present application provides a physical server, comprising: a physical machine and a hardware acceleration device, wherein a virtualization instance is deployed on the physical machine, the virtualization instance has a virtual network card, and the virtual network card forwards data through a virtual switch; wherein the virtual switch includes an operation and maintenance management module, a first network forwarding module, and a second network forwarding module; the operation and maintenance management module and the first network forwarding module run on the hardware acceleration device, and the second network forwarding module runs on the physical machine; the operation and maintenance management module is responsible for providing network management and operation and maintenance services for the virtual network card; the first network forwarding module and the second network forwarding module are respectively responsible for providing data forwarding services for different virtual network cards.

[0010] An embodiment of the present application also provides a message forwarding method, including: receiving a message; when a flow table corresponding to the message does not exist locally, determining a target network forwarding module from a first network forwarding module and a second network forwarding module included in a virtual switch; requesting a flow table corresponding to the message from the target network forwarding module, and upon receiving the flow table issued by the target network forwarding module, forwarding the message according to the flow table; wherein the first network forwarding module and the second network forwarding module respectively run on a hardware acceleration device and a physical machine included in a physical server to which the virtual switch belongs.

[0011] An embodiment of the present application also provides a message forwarding method, comprising: receiving a message; determining a target network forwarding module from a first network forwarding module and a second network forwarding module included in a virtual switch according to a maintained forwarding index table; sending the message to the target network forwarding module so that the target network forwarding module forwards the message; wherein the forwarding index table stores a correspondence between a virtual network card and / or a tenant network to which the virtual network card belongs and a network forwarding module, and the first network forwarding module and the second network forwarding module respectively run on a hardware acceleration device and a physical machine included in a physical server to which the virtual switch belongs.

[0012] An embodiment of the present application also provides a message forwarding method, which is applied to a first network forwarding module or a second network forwarding module in a virtual switch, wherein the first network forwarding module and the second network forwarding module respectively run on a hardware acceleration device and a physical machine contained in a physical server to which the virtual switch belongs, and the method includes: receiving a message, where the message comes from a virtual network card or a tenant network to which the corresponding virtual network card belongs; determining whether the message has forwarding permission based on a maintained forwarding index table, where the forwarding index table stores a correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module; and if the determination is yes, forwarding the message according to a flow table corresponding to the message.

[0013] An embodiment of the present application also provides a network information configuration method, which is applied to an operation and maintenance management module in a virtual switch in a physical server. The method includes: in response to a network management request, determining an object to be managed, where the object to be managed is a virtual network card in the physical server and / or the tenant network to which the virtual network card belongs, and the virtual network card forwards data through the virtual switch; determining a first target network forwarding module that is adapted to the object to be managed from a first network forwarding module and a second network forwarding module included in the virtual switch, where the first network forwarding module and the second network forwarding module respectively run on a hardware acceleration device and a physical machine included in the physical server; and performing network management on the object to be managed through the first target network forwarding module.

[0014] An embodiment of the present application also provides a physical machine, on which a virtualization instance is deployed. The virtualization instance has a virtual network card, and the virtual network card forwards data through a virtual switch; wherein the virtual switch includes an operation and maintenance management module, a first network forwarding module, and a second network forwarding module; the operation and maintenance management module and the first network forwarding module run on a hardware acceleration device corresponding to the physical machine, and the second network forwarding module runs on the physical machine, and the second network forwarding module is responsible for providing data forwarding services for some virtual network cards.

[0015] An embodiment of the present application also provides a hardware acceleration device, comprising: a memory and a processor; the memory is used to store program codes corresponding to an operation and maintenance management module and a first network forwarding module deployed in a virtual switch; the processor is coupled to the memory, and is used to execute program codes corresponding to the operation and maintenance management module to provide network management and operation and maintenance services for virtual network cards, and to run program codes corresponding to the first network forwarding module to provide data forwarding services for some virtual network cards; wherein the virtual switch also includes a second network forwarding module, and the second network forwarding module runs on a physical machine in a physical server to which the virtual switch belongs; and the virtual network card is a virtual network card of a virtualization instance deployed on the physical machine.

[0016] An embodiment of the present application also provides a physical server, including: a physical machine and a hardware acceleration device, a virtual machine deployed on the physical machine, the virtual machine having a virtual network card, and the virtual network card forwarding data through a virtual switch; wherein the virtual switch includes an operation and maintenance management module and a network forwarding module; the operation and maintenance management module runs on the hardware acceleration device, and the network forwarding module runs on the physical machine; the operation and maintenance management module is responsible for providing network management and operation and maintenance services for the virtual network card; and the network forwarding module is responsible for providing data forwarding services for the virtual network card.

[0017] An embodiment of the present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is enabled to implement the steps of various message forwarding methods or network information configuration methods provided in the embodiments of the present application.

[0018] In an embodiment of the present application, the functions of the virtual switch are split, and the operation and maintenance management module in the virtual switch is responsible for providing network management and operation and maintenance services for the virtual network cards, and the first network forwarding module and the second network forwarding module in the virtual switch are responsible for providing data forwarding services for different virtual network cards respectively. In terms of deployment, the operation and maintenance management module and the first network forwarding module are run on the hardware acceleration device, and the second network forwarding module is deployed on the physical machine to realize a hybrid virtualization architecture. While keeping the hardware architecture and control architecture of the hardware acceleration device unchanged, the processor and memory of the physical machine can be expanded for the network virtualization function, thereby improving the network virtualization capability, thereby increasing the number of virtual network cards that the virtual switch can serve, and improving the network performance and deployment density of the virtualization instance. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0020] FIG1 is a schematic structural diagram of a physical server provided by an exemplary embodiment of the present application;

[0021] FIG2a is a schematic structural diagram of another physical server provided by an exemplary embodiment of the present application;

[0022] FIG2 b is a schematic structural diagram of another physical server provided by an exemplary embodiment of the present application;

[0023] FIG3 is a schematic structural diagram of another physical server provided by an exemplary embodiment of the present application;

[0024] FIG4a is a schematic diagram of a flow chart of a message forwarding method provided by an exemplary embodiment of the present application;

[0025] FIG4 b is a flow chart of another message forwarding method provided by an exemplary embodiment of the present application;

[0026] FIG4c is a flow chart of another message forwarding method provided by an exemplary embodiment of the present application;

[0027] FIG5 is a flow chart of a network information configuration method provided by an exemplary embodiment of the present application;

[0028] FIG6 is a schematic structural diagram of a hardware acceleration device provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0029] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0030] 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 the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0031] The resources on the smart network card in the existing virtualization architecture are limited and cannot be dynamically expanded. The vswitch capabilities provided by the smart network card are limited, which will limit the network performance of the virtual machine and the deployment density of the virtual machine to a certain extent. In response to this technical problem, in an embodiment of the present application, the virtual switch is functionally split, and the operation and maintenance management module in the virtual switch is responsible for providing network management and operation and maintenance services for the virtual network card, and the first network forwarding module and the second network forwarding module in the virtual switch are responsible for providing data forwarding services for different virtual network cards respectively. In terms of deployment, the operation and maintenance management module and the first network forwarding module are run on the hardware acceleration device, and the second network forwarding module is deployed on the physical machine to realize a hybrid virtualization architecture. While keeping the hardware architecture and control architecture of the hardware acceleration device unchanged, the processor and memory of the physical machine can be used for network virtualization function expansion, thereby improving the network virtualization capability, increasing the number of virtual network cards that the virtual switch can serve, and improving the network performance and deployment density of the virtualization instance.

[0032] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.

[0033] FIG1 is a schematic diagram of the structure of a physical server provided by an exemplary embodiment of the present application. As shown in FIG1 , the physical server includes: a physical machine 101 and a hardware acceleration device 102 .

[0034] The hardware acceleration device 102 can be implemented as a physical network card of the physical machine 101, responsible for forwarding network traffic on the physical machine 101. However, the hardware acceleration device 102 is no longer solely responsible for forwarding network traffic on the physical machine 101, but can also support hardware offload of various software functions and can be implemented as a smart network card (SmartNiC). For example, some operations that need to be performed by the CPU on the physical machine 101, such as packet encapsulation / decapsulation, Network Address Translation (NAT), rate limiting, and Really Simple Syndication (RSS), can be offloaded to the hardware acceleration device 102 and implemented in hardware.

[0035] The hardware acceleration device 102 is a hardware network card implemented based on programmable hardware. For example, the programmable hardware can be an application-specific integrated circuit (ASIC), a system-on-chip (SOC), a field programmable gate array (FPGA), or a complex programmable logic device (CPLD). In addition, the hardware acceleration device 102 in the embodiment of the present application can be implemented as a pluggable structure and plugged into the physical machine 101. The pluggable method has the advantages of flexible use and strong scalability, but is not limited to this. For example, the hardware acceleration device 102 can also be directly integrated into the physical machine 101. Relative to the hardware acceleration device 102, the physical machine 101 can also be called a host.

[0036] A virtualization instance 103 is deployed on physical machine 101. A virtualization instance refers to an application instance implemented based on virtualization technology. For example, a virtualization instance can be a virtual machine or a container instance. Virtualization instance 103 has a virtual network card (vNIC) 104. Virtual NIC 104 is a network card emulated by virtualization instance 103 in software or hardware using virtualization technology. Virtual NIC 104 forwards data through a virtual switch 105. Virtual switch 105 is responsible for providing data forwarding services for the virtualization instance on physical machine 101. That is, virtual NIC 104 of virtualization instance 103 forwards data through virtual switch 105.

[0037] In this embodiment, the virtual switch 105 is functionally separated. As shown in Figure 1, the virtual switch 105 includes an operation and maintenance management module 105a, a first network forwarding module 105b, and a second network forwarding module 105c. The operation and maintenance management module 105a, the first network forwarding module 105b, and the second network forwarding module 105c can be implemented based on software. In terms of deployment and implementation, the operation and maintenance management module 105a and the first network forwarding module 105b are deployed and run on the hardware acceleration device 102, specifically on the processor of the hardware acceleration device 102, which can be a cloud infrastructure processing unit (CPIU). The second network forwarding module 105c is deployed and runs on the physical machine 101, specifically on the processor of the physical machine 101.

[0038] The operation and maintenance management module 105 a is responsible for providing network management and operation and maintenance services for the virtual network card 104 ; the first network forwarding module 105 b and the second network forwarding module 105 c are responsible for providing data forwarding services for different virtual network cards 104 , respectively.

[0039] In an embodiment of the present application, by functionally splitting the virtual switch, the operation and maintenance management module is responsible for providing network management and operation and maintenance services for the virtual network card, and the first network forwarding module and the second network forwarding module are respectively responsible for providing data forwarding services for different virtual network cards. In terms of deployment, the operation and maintenance management module and the first network forwarding module are run on the hardware acceleration device, and the second network forwarding module is deployed on the physical machine to realize a hybrid virtualization architecture, wherein the second network forwarding module is deployed and run on the physical machine, and resources such as the CPU and memory on the physical machine can be used through resource division. While keeping the hardware architecture and management architecture of the hardware acceleration device unchanged, the processor and memory of the physical machine can be expanded for the network virtualization function, thereby improving the network virtualization capability and increasing the number of virtual network cards that the virtual switch can serve, thereby improving the network performance and deployment density of the virtualization instance.

[0040] In an optional embodiment, the resources on the physical machine can also be sold to the outside. For example, a tenant can deploy his own relatively independent network environment on one or more physical machines, referred to as a tenant network, and different tenant networks are relatively isolated from each other. The embodiment of the present application does not limit the implementation form of the tenant network. For example, the tenant network can be but is not limited to a private cloud (Virtual Private Cloud, VPC). The tenant can deploy multiple virtualization instances in the VPC network, such as VMs or containers, and these virtualization instances provide corresponding services to the tenants. Each virtualization instance in the VPC network corresponds to a virtual network card. The tenant can initiate a network management request for the virtual network card or PVC to the operation and maintenance management module, and perform network management and operation and maintenance services for the VPC network or the virtual network card in the VPC network. Alternatively, the operation and maintenance personnel can also initiate a network management request for the tenant's VPC network or the virtual network card in the VPC network through the operation and maintenance management module, and perform network management and operation and maintenance services for the VPC network or the virtual network card in the VPC network. The network management request in the embodiment of the present application is used to configure relevant network information for the virtual network card or VPC, such as configuring the available bandwidth, IP address, routing information, etc. of the virtual network card, and configuring the available bandwidth, IP address segment, etc. of the VPC.

[0041] Accordingly, the operations and maintenance management module can respond to network management requests and determine the object to be managed. The network management request carries identification information for the object to be managed, as well as the content of the network management required for the object to be managed, such as setting the bandwidth or routing of the object to be managed. Regardless of whether the network management request is initiated by a tenant or an operations and maintenance personnel, the object to be managed can be a specific virtual network card or a tenant network, such as a VPC network. For example, when a tenant needs to configure available bandwidth and IP address ranges for the entire VPC network, a network management request can be initiated through the operations and maintenance management module. In this case, the object to be managed can be a tenant network (such as a VPC network). After the operations and maintenance management module completes the configuration for the VPC network, the available bandwidth and IP address range will take effect on the VPC network, and the IP addresses used by the virtual network cards in the VPC network will be within this IP address range. It should be noted that for VPC networks, tunnel encapsulation technology can be used to improve data transmission efficiency and achieve data privacy and security. Furthermore, tenants can also configure tunnel-related information, such as the tunnel's IP address and port number. For another example, when the operation and maintenance personnel need to limit the available bandwidth of a specific virtual network card, they can initiate a network management request to the operation and maintenance management module. At this time, the object to be managed is the virtual network card. After the operation and maintenance management module completes the configuration for the specific virtual network card, the available bandwidth will take effect on the virtual network card.

[0042] Furthermore, in an embodiment of the present application, the operation and maintenance management module can uniformly manage the first network forwarding module and the second network forwarding module. For example, a socket connection can be established with the first network forwarding module and the second network forwarding module respectively, and the first network forwarding module and the second network forwarding module can be uniformly managed based on the local network. Furthermore, on the basis that the first network forwarding module and the second network forwarding module can provide data forwarding services for the virtual network card, the operation and maintenance management module can perform management operations on the object to be managed through a certain network forwarding module. Specifically, the operation and maintenance management module can determine the network forwarding module that is adapted to the object to be managed from the first network forwarding module and the second network forwarding module. For the convenience of description and distinction, the network forwarding module that is adapted to the object to be managed determined here is referred to as the first target network forwarding module; the first target network forwarding module can be the first network forwarding module or the second network forwarding module, depending on the object to be managed; then, network management of the object to be managed is performed through the first target network forwarding module. Among them, the operation and maintenance management module can provide the content required for network management of the managed object to the first target network forwarding module in the form of configuration commands or messages. After receiving the configuration commands or messages, the first target network forwarding module configures the relevant content for the managed object to complete the network management operation of the managed object.

[0043] The embodiment of determining the first target network forwarding module adapted to the object to be managed from the first network forwarding module and the second network forwarding module is not limited.

[0044] Example A1: In this example, the first network forwarding module can be assumed to be responsible for cooperating with the operation and maintenance management module to perform network management operations from the virtual network card dimension, and the second network forwarding module can be assumed to be responsible for cooperating with the operation and maintenance management module to perform network management operations from the tenant network dimension. Based on this, when the object to be managed is implemented as a virtual network card, the first target network forwarding module is implemented as the first network forwarding module; when the object to be managed is implemented as a tenant network, the first target network forwarding module is implemented as the second network forwarding module.

[0045] Example A2: In this example, the operation and maintenance management module maintains a management index table, which maintains the correspondence between the virtual network card and / or tenant network and the network forwarding module (i.e., the first network forwarding module and the second network forwarding module). For the convenience of description and distinction, the correspondence maintained in the management index table is referred to as the first correspondence. The first correspondence is used for the operation and maintenance management module to determine the corresponding network forwarding module when performing operation and maintenance management on the virtual network card or the tenant network. In an application scenario, it may be necessary to only operate and manage the virtual network card. In this case, the management index table records the first correspondence between the virtual network card and the network forwarding module. The first correspondence here can reflect whether a certain virtual network card corresponds to the first network forwarding module or the second network forwarding module. The operation and maintenance management module can perform network management operations on the virtual network card through the network forwarding module corresponding to the virtual network card. In another application scenario, it may be necessary to only operate and manage the tenant network, then the management index table records the first correspondence between the tenant network and the network forwarding module, the first correspondence here can reflect whether a certain tenant network corresponds to the first network forwarding module or the second network forwarding module, and the operation and maintenance management module can perform network management operations on the tenant network through the network forwarding module corresponding to the tenant network. In yet another application scenario, it may be necessary to operate and manage the virtual network card and the tenant network at the same time, then the management index table records the first correspondence between the virtual network card, the tenant network and the network forwarding module, the first correspondence here can reflect whether a certain virtual network card corresponds to the first network forwarding module or the second network forwarding module, and whether a certain tenant network corresponds to the first network forwarding module or the second network forwarding module, the operation and maintenance management module can perform network management operations on the virtual network card through the network forwarding module corresponding to the virtual network card, and can perform network management operations on the tenant network through the network forwarding module corresponding to the tenant network. Among them, the network forwarding module in the above-mentioned first correspondence includes the first network forwarding module and the second network forwarding module.

[0046] Among them, when determining the first target network forwarding module, the operation and maintenance management module is specifically used to: query the management index table according to the identification information of the object to be managed, so as to determine the first target network forwarding module adapted to the object to be managed from the first network forwarding module and the second network forwarding module.

[0047] The management index table of this embodiment can be implemented as a single index table or multiple index tables. Any index table structure that can record the above-mentioned first correspondence relationship is applicable to the embodiment of this application. In an optional embodiment, the management index table of this embodiment includes: a first management index table and a second management index table, the first management index table records the first correspondence relationship between the virtual network card and the network forwarding module, and the second management index table records the first correspondence relationship between the tenant network and the network forwarding module.

[0048] Among them, the first management index table includes: a first correspondence between the identification information of the virtual network card (vNIC ID) and the identification information of the network forwarding module. In an embodiment of the present application, whether it is the first network forwarding module or the second network forwarding module, its main function is to be responsible for forwarding relevant data (such as messages from the outside, messages from the virtual network card, and configuration commands or messages from the operation and maintenance management module). Relatively speaking, the operation and maintenance management module can be called a control plane, and it is vSwitchD, and the first or second network forwarding module can be called a data plane (dataplane). More specifically, the first network forwarding module is recorded as dataplane-1, and the second network forwarding module is recorded as dataplane-2. Based on this, the first management index table can be implemented as the following management index table T1. In the management index table T1, two virtual network cards are taken as an example, and the identification information of the two virtual network cards is recorded as vnic-1 and vnic-2, and dataplane-1 and dataplane-2 are used to represent the two network forwarding modules for illustration, but it is not limited to this. Furthermore, the first correspondence recorded in the management index table T1 also includes: identification information of the tenant network. Optionally, the tenant network can be represented by its corresponding tunnel identifier (Tunnel ID). For example, in the management index table T1, two virtual network cards belonging to two different tenant networks are illustrated as an example, and the identification information of the two tenant networks is represented as vpc1 and vpc2.

[0049] Among them, the second management index table includes: a first correspondence between the identification information of the tenant network (such as Tunnel ID) and the identification information of the network forwarding module (DP ID). The second management index table can be implemented as the following management index table T2. In the management index table T2, the tenant network includes vpc1 and vpc2, and the network forwarding module includes data planes dataplane-1 and dataplane-2. For example, it is illustrated, but not limited to this.

[0050] In the management index table T1 and the management index table T2, dataplane-1 may represent a first network forwarding module, and dataplane-2 may represent a second network forwarding module.

[0051] Management index table T1

[0052] Management index table T2

[0053] Based on the first and second management index tables, when the operation and maintenance management module determines that the object to be managed is a virtual network card (NIC), it queries the first management index table to determine the first target network forwarding module from the first and second network forwarding modules. For example, if the identification information of the object to be managed is implemented as virtual network card vnic-1, then according to management index table T1, it can be determined that virtual network card vnic-1 corresponds to data plane dataplane-1, i.e., the first network forwarding module. The first network forwarding module is then selected as the first target network forwarding module, and network management of virtual network card vnic-1 is then performed using the first network forwarding module.

[0054] If the operation and maintenance management module determines that the object to be managed is a tenant network, it queries the second management index table to determine the first target network forwarding module from the first and second network forwarding modules. For example, if the identification information of the object to be managed is implemented as tenant network vpc-2, then according to management index table T2, it can be determined that tenant network vpc-2 corresponds to data plane-2, that is, the second network forwarding module. The second network forwarding module is then selected as the first target network forwarding module, and network management of tenant network vpc-2 is then performed using the second network forwarding module.

[0055] Further optionally, the operation and maintenance management module establishes a connection with the first network forwarding module or the second network forwarding module respectively through different local socket connections, and the first management index table and the second management index table also record the socket connections between each network forwarding module and the operation and maintenance management module, and different socket connections correspond to different network forwarding modules, indicating the management channels between the operation and maintenance management module and different network forwarding modules. For example, the management index table T1 and the management index table T2 maintain the correspondence between the management channel and the network forwarding module, and the management channel includes: socket 1 (socket-1) and socket 2 (socket-2), wherein socket-1 corresponds to dataplane-1, i.e., it indicates the management channel between the operation and maintenance management module and the first network forwarding module, and socket-2 corresponds to dataplane-2, i.e., it indicates the management channel between the operation and maintenance management module and the second network forwarding module.

[0056] Accordingly, when the operation and maintenance management module performs network management on the object to be managed through the first target network forwarding module, the socket connection between the operation and maintenance management module and the first target network forwarding module can be determined from the first management index table or the second management index table. For example, when it is determined that the object to be managed is a virtual network card, the socket connection between the operation and maintenance management module and the first target network forwarding module is determined from the first management index table; when it is determined that the object to be managed is a tenant network, the socket connection between the operation and maintenance management module and the first target network forwarding module is determined from the second management index table; and a management instruction is sent to the first target network forwarding module based on the socket connection to instruct the first target network forwarding module to perform network management on the object to be managed.

[0057] In this embodiment, the first network forwarding module and the second network forwarding module are responsible for providing data forwarding services for different virtual network cards respectively, and the implementation method is not limited.

[0058] Example B1: As shown in Figure 2a, hardware acceleration device 102 includes not only a processor but also programmable hardware, and a forwarding acceleration module 106 is implemented on this programmable hardware. The programmable hardware includes an FPGA, CPLD, ASIC, or SOC. Forwarding acceleration module 106, implemented based on this programmable hardware, provides hardware acceleration for the first and second network forwarding modules.

[0059] Among them, the forwarding acceleration module 106 can store some flow tables and is responsible for receiving messages, for example, receiving messages from outside the hardware acceleration device 102, or receiving messages sent by the virtualization instance through the virtual network card; when the forwarding acceleration module receives a message, it will first match the received message with a flow table locally, and the flow table records the processing operations on the message, such as discarding, forwarding, etc. When there is no flow table corresponding to the message locally, the forwarding acceleration module 106 is responsible for determining the second target network forwarding module from the first network forwarding module and the second network forwarding module. The second target network forwarding module is the network forwarding module responsible for providing the flow table corresponding to the message. The second target network forwarding module may be the first network forwarding module or the second network forwarding module, depending on the specific information related to the message; the forwarding acceleration module 106 requests the second target network forwarding module for the flow table corresponding to the received message, and the second target network forwarding module returns the flow table of the message to the forwarding acceleration module 106 according to the request. When the forwarding acceleration module 106 receives the flow table issued by the second target network forwarding module, it forwards the message according to the received flow table. In this embodiment, the forwarding acceleration module 106 is implemented based on programmable hardware, and forwarding processing of messages is performed preferentially in hardware, which is beneficial to improving the efficiency of message forwarding processing, reducing the processing burden on the first network forwarding module or the second network forwarding module, and saving consumed CPU resources.

[0060] The implementation method in which the forwarding acceleration module determines the second target network forwarding module from the first network forwarding module and the second network forwarding module is not limited.

[0061] In an optional embodiment, the messages processed by the first network forwarding module and the second network forwarding module are set in advance. If the message received is provided by the virtual network card, the flow table of the message is determined to be provided by the second network forwarding module; if the message received is from outside the hardware acceleration device, the flow table of the message is determined to be provided by the first network forwarding module.

[0062] In another optional embodiment, the forwarding acceleration module maintains a forwarding index table, which records the second correspondence between the virtual network card and / or tenant network and the network forwarding module (i.e., the first network forwarding module and the second network forwarding module). The second correspondence is used for the forwarding acceleration module to determine the corresponding network forwarding module when it needs to request a flow table for the received message. Depending on the application scenario, the second correspondence can be a correspondence between the virtual network card and the network forwarding module, or a correspondence between the tenant network to which the virtual network card belongs and the network forwarding module, or a correspondence between the virtual network card, the tenant network and the network forwarding module.

[0063] When the forwarding acceleration module determines the second target network forwarding module from the first network forwarding module and the second network forwarding module, it can query the forwarding index table based on the relevant information of the message, such as the virtual network card or tenant network corresponding to the message, to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module. For example, when a message is received, it can be identified whether the message comes from the virtual network card based on the relevant fields carried in the message or the physical interface of the received message; if the message comes from the virtual network card, it is considered that the message corresponds to the virtual network card, and the forwarding index table recording the second correspondence between the virtual network card and the network forwarding module is queried; conversely, if the message does not come from the virtual network card, it can be determined that the message comes from the physical network card of the physical server, that is, the message is received from the physical network card from the outside; if the message comes from the physical network card, it can be determined which tenant the message belongs to based on the physical interface of the received message, and it is considered that the message corresponds to the tenant network and needs to be provided to the virtualization instance in the tenant network, and the forwarding index table recording the second correspondence between the tenant network and the network forwarding module is queried.

[0064] Optionally, the forwarding index table of this embodiment can be implemented as one index table or multiple index tables, and any index table structure that can record the above-mentioned second correspondence relationship is applicable to the embodiment of the present application. In an optional embodiment, the forwarding index table of this embodiment includes a first forwarding index table and a second forwarding index table, the first forwarding index table records the second correspondence relationship between the virtual network card and the network forwarding module, and the second forwarding index table records the second correspondence relationship between the tenant network and the network forwarding module.

[0065] For example, the first forwarding index table includes a second correspondence between identification information of a virtual network card (vNIC ID) and identification information of a network forwarding module (DP ID). The first forwarding index table is implemented as forwarding index table T3. Forwarding index table T3 illustrates an example in which identification information of virtual network cards includes vnic-1 and vnic-2, and network forwarding modules include dataplane-1 and dataplane-2, but is not limited thereto. Furthermore, the second correspondence recorded in forwarding index table T3 also includes identification information of tenant networks (Tunnel IDs), for example, identification information of tenant networks includes vpc1 and vpc2.

[0066] For example, the second forwarding index table includes: a second correspondence between the identification information (Tunnel ID) of the tenant network and the identification information (DP ID) of the network forwarding module. The second forwarding index table can be implemented as the following forwarding index table T4. In the forwarding index table T4, the tenant network includes vpc1 and vpc2, and the network forwarding module includes data planes dataplane-1 and dataplane-2. For example, it is illustrated, but not limited to this.

[0067] In the forwarding index table T3 and the forwarding index table T4, dataplane-1 may represent a first network forwarding module, and dataplane-2 may represent a second network forwarding module.

[0068] Management index table T3

[0069] Management index table T4

[0070] Among them, the forwarding acceleration module can determine the flow direction of the message according to the receiving port of the message; wherein, the receiving port is the physical port of the forwarding acceleration module, and there are two main receiving ports, one for docking the physical machine, for sending and receiving messages with the virtual network card of the virtualization instance, and the other for docking the physical network card of the physical server to realize external communication; the flow direction of the message is related to the receiving port, and is further related to the destination field of the message. If the message comes from the interface docked with the physical network card, it can be considered that the message comes from the outside, and the destination field of the message indicates that it needs to be provided to the virtualization instance in the tenant network, then the flow direction of the message is considered to be the receiving direction; if the message comes from the virtual network card corresponding to the virtualization instance, the destination field of the message indicates that the message needs to be provided to the physical network card to realize communication with the outside, then the flow direction of the message is considered to be the sending direction. Simply put, in an embodiment of the present application, for a received message, if it needs to be sent to a certain virtualization instance, then the flow direction of the message is considered to be the receiving direction. Conversely, if it needs to be sent to the physical network card or the outside, then the flow direction of the message is considered to be the sending direction. However, if the packet comes from the virtual network card corresponding to virtualization instance A, and the destination field of the packet indicates that the packet needs to be provided to the virtual network card of another virtualization instance B on the physical machine, then from the perspective of virtualization instance A, the traffic direction of the packet is considered to be the sending direction. The first forwarding index table corresponds to the sending direction of traffic, and the second forwarding index table corresponds to the receiving direction of traffic.

[0071] Correspondingly, when the traffic direction is the sending direction, indicating that the message is sent to the virtual network card of the virtualization instance, the forwarding acceleration module queries the first forwarding index table to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module. For example, from the forwarding index table T3, it is determined that the virtual network card corresponding to the message is vnic-1, and the network forwarding module corresponding to the virtual network card vnic-1 is dataplane-1, then dataplane-1 is used as the second target network forwarding module, and then the flow table corresponding to the message can be requested from dataplane-1; when the traffic direction is the receiving direction, indicating that the message is sent to the virtual network card in a tenant network, the second forwarding index table is queried to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module. For example, from the forwarding index table T4, it is determined that the tenant network corresponding to the message is vpc-2, and the network forwarding module corresponding to the tenant network vpc-2 is dataplane-2, then dataplane-2 is used as the second target network forwarding module, and then the flow table corresponding to the message can be requested from dataplane-2.

[0072] Furthermore, there is a physical channel between the forwarding acceleration module and the hardware structure where the network forwarding module is located (for example, the processor of the hardware acceleration device where the first network forwarding module is located, and the processor of the physical machine where the second network forwarding module is located), which is referred to as the physical channel between the first network forwarding module and the second network forwarding module and the forwarding acceleration module, respectively. The physical channel can be implemented as a high-speed serial bus, and the high-speed serial bus includes but is not limited to: Peripheral Component Interconnect (PCI) bus, Peripheral Component Interconnect Express (PCIE) bus or two-wire serial (Inter-Integrated Circuit, I2C) bus. Among them, there are physical channels between the first network forwarding module and the second network forwarding module and the forwarding acceleration module, respectively. In the forwarding index table T3 and the forwarding index table T4, the physical channel between the first network forwarding module and the forwarding acceleration module is implemented as pcie-1, and the physical channel between the second network forwarding module and the forwarding acceleration module is implemented as pcie-2. The forwarding index table T3 and the forwarding index table T4 are only exemplary and are not limited to this.

[0073] Based on this, when the accelerated forwarding module requests the flow table corresponding to the message from the second target network forwarding module, it can also determine the physical channel between the accelerated forwarding module and the second target network forwarding module from the first forwarding index table or the second forwarding index table, and send a flow table request to the second target network forwarding module based on the physical channel to request the flow table corresponding to the message. For example, if the second target network forwarding module is implemented as the first network forwarding module, such as dataplane-1 in forwarding index table T3, the accelerated forwarding module can determine from forwarding index table T3 that the physical channel corresponding to the network forwarding module dataplane-1 is pcie-1, and request the flow table corresponding to the message from the network forwarding module dataplane-1 through the physical channel pcie-1; if the second target network forwarding module is implemented as the second network forwarding module, such as dataplane-2 in forwarding index table T4, the accelerated forwarding module can determine from forwarding index table T4 that the physical channel corresponding to the network forwarding module dataplane-2 is pcie-2, and request the flow table corresponding to the message from the network forwarding module dataplane-2 through the physical channel pcie-2.

[0074] Example B2: If the forwarding acceleration module mentioned above is not implemented on the hardware acceleration device, then the first network forwarding module and the second network forwarding module are respectively responsible for providing data forwarding services for different virtual network cards. Another implementation method is as follows: whether it is a message that the virtual network card needs to send to the outside or an external message received by the physical network card, both are sent to the first network forwarding module and the second network forwarding module at the same time; for the first network forwarding module and the second network forwarding module, they are responsible for receiving messages sent by each virtual network card and the physical network card, that is, for the first network forwarding module and the second network forwarding module, the message they receive can be provided by the virtual network card or the physical network card. Regardless of who provides the message, before providing the message, the message is copied twice and sent to the first network forwarding module and the second network forwarding module respectively, so that the first network forwarding module and the second network forwarding module both receive the message, and then one of the first network forwarding module and the second network forwarding module forwards and processes the message.

[0075] The first network forwarding module and the second network forwarding module each maintain a forwarding index table, which stores the correspondence between the virtual network card and the network forwarding module, or the correspondence between the tenant network to which the virtual network card belongs and the network forwarding module, or the correspondence between the virtual network card, the tenant network to which the virtual network card belongs, and the network forwarding module; the first network forwarding module or the second network forwarding module determines whether it has the right to forward the message based on the correspondence in the maintained forwarding index table. The first network forwarding module or the second network forwarding module has the right to forward the message corresponding to the virtual network card and / or tenant network with which it has the corresponding relationship as recorded in the forwarding index table.

[0076] Optionally, the forwarding index table maintained by the first network forwarding module or the second network forwarding module includes a first forwarding index table and a second forwarding index table, wherein the first forwarding index table records the correspondence between the virtual network card and the network forwarding module, and the second forwarding index table records the correspondence between the tenant network and the network forwarding module. A detailed description of the two forwarding index tables can be found in the aforementioned embodiment and will not be repeated here. The first network forwarding module or the second network forwarding module can determine the flow direction of the message based on the receiving port of the message. The detailed implementation method can be found above; when the flow direction is the sending direction, the first forwarding index table is queried to determine whether it has forwarding permission for the message. For example, from the forwarding index table T3, it is determined that the virtual network card corresponding to the message is vnic-1, and the network forwarding module corresponding to the virtual network card vnic-1 is dataplane-1. Then it is considered that the first network forwarding module corresponding to dataplane-1 has forwarding permission for the message, and the first network forwarding module does not have forwarding permission for the message; when the flow direction is the receiving direction, the second forwarding index table is queried to determine whether it has forwarding permission for the message. For example, from the forwarding index table T4, it is determined that the tenant network corresponding to the message is vpc-2, and the network forwarding module corresponding to the tenant network vpc-2 is dataplane-2. Then it is considered that the second network forwarding module corresponding to dataplane-2 has forwarding permission for the message, and the first network forwarding module does not have forwarding permission for the first message.

[0077] Example B3: Another implementation method in which the first network forwarding module and the second network forwarding module are respectively responsible for providing data forwarding services for different virtual network cards: As shown in Figure 2b, the hardware acceleration device 102 also includes a programmable hardware device, on which a diversion module 107 is implemented. The diversion module 107 is used to receive packets and divert the received packets to the first network forwarding module and the second network forwarding module.

[0078] Specifically, the diversion module maintains a forwarding index table, which stores the correspondence between the virtual network card and the network forwarding module, or the correspondence between the tenant network to which the virtual network card belongs and the network forwarding module, or the correspondence between the virtual network card, the tenant network to which the virtual network card belongs, and the network forwarding module; according to the maintained forwarding index table, the third target network forwarding module is determined from the first network forwarding module and the second network forwarding module, and the message is sent to the third target network forwarding module so that the third target network forwarding module can forward the message.

[0079] Optionally, the forwarding index table includes a first forwarding index table and a second forwarding index table, wherein the first forwarding index table records the correspondence between the virtual network card and the network forwarding module, and the second forwarding index table records the correspondence between the tenant network and the network forwarding module. A detailed description of the two forwarding index tables can be found in the aforementioned embodiment and will not be repeated here.

[0080] The diversion module is specifically used to: determine the flow direction of the third message based on the receiving port of the message. For details, please refer to the above embodiment and will not be repeated here; when the flow direction is the sending direction, query the first forwarding index table to determine the third target network forwarding module from the first network forwarding module and the second network forwarding module; when the flow direction is the receiving direction, query the second forwarding index table to determine the third target network forwarding module from the first network forwarding module and the second network forwarding module.

[0081] For example, when the traffic direction is the sending direction, the message corresponds to the virtual network card, and the first forwarding index table is queried, such as the forwarding index table T3. The virtual network card corresponding to the message is vnic-1, and the network forwarding module corresponding to the virtual network card vnic-1 is dataplane-1. Dataplane-1 is used as the third target network forwarding module; when the traffic direction is the receiving direction, the message corresponds to the tenant network, and the second forwarding index table is queried, such as the forwarding index table T4. The tenant network corresponding to the message is vpc-2, and the network forwarding module corresponding to the tenant network vpc-2 is dataplane-2. Dataplane-2 is used as the third target network forwarding module.

[0082] It should be noted that, with respect to Examples B1-B3 above, the forwarding index tables pre-maintained in the separation module, forwarding acceleration module, first network forwarding module, and second network forwarding module may be manually configured in advance or distributed and pre-configured via the operation and maintenance management module or other modules, without limitation. Furthermore, the forwarding index tables pre-maintained in the separation module and forwarding acceleration module may also be distributed and pre-configured by the operation and maintenance management module via a certain network forwarding module.

[0083] Figure 3 is a schematic diagram of the structure of a physical server provided by an exemplary embodiment of the present application. As shown in Figure 3 , the physical server includes a physical machine 301 and a hardware acceleration device 302. A virtualization instance 303 is deployed on the physical machine 301. Figure 3 illustrates a virtual machine as an example, but is not limited to this. Virtualization instance 303 includes a virtual network card 304, which forwards data via a virtual switch 305.

[0084] Among them, the virtual switch 305 includes an operation and maintenance management module 305a and a network forwarding module 305d; the operation and maintenance management module 305a runs on the hardware acceleration device, specifically on the processor of the hardware acceleration device; the network forwarding module 305d runs on the physical machine, specifically on the processor of the physical machine; the operation and maintenance management module 305a is responsible for providing network management and operation and maintenance services for the virtual network card; the network forwarding module 305d is responsible for providing data forwarding services for the virtual network card.

[0085] In an optional embodiment, the operation and maintenance management module is specifically used to: respond to network management requests and determine the object to be managed; perform network management on the object to be managed through the network forwarding module, where the object to be managed is a virtual network card or a tenant network to which the virtual network card belongs, or includes both the virtual network card and the tenant network to which the virtual network card belongs. The difference between the operation and maintenance management module in this embodiment and the operation and maintenance management module in the aforementioned embodiment is that the operation and maintenance management module in this embodiment does not require the selection of a network forwarding module, nor does it require the maintenance of a management index table required for the selection of a network forwarding module. For other functional descriptions related to operation and maintenance management, please refer to the aforementioned embodiment and will not be repeated here.

[0086] The implementation method of the network forwarding module 305d providing data forwarding services for the virtual network card is not limited. The following example illustrates the implementation method:

[0087] In an optional embodiment, data forwarding services can be implemented using hardware acceleration based on the network forwarding module 305d. Specifically, the hardware acceleration device also includes: a forwarding acceleration module implemented based on programmable hardware; a forwarding acceleration module configured to receive a message and, if a flow table corresponding to the message does not exist locally, request the network forwarding module for the flow table corresponding to the message, and, upon receiving the flow table issued by the network forwarding module, forward the message according to the flow table. The main difference between the forwarding acceleration module in this embodiment and the forwarding acceleration module in the aforementioned embodiment is that the forwarding acceleration module in this embodiment does not require the selection of a network forwarding module, nor does it require the maintenance of the forwarding index table required for network forwarding module selection. For other functional descriptions regarding message reception and forwarding, please refer to the aforementioned embodiment and will not be repeated here.

[0088] In another optional embodiment, the network forwarding module 305d implements data forwarding services directly based on software. The network forwarding module 305d is used to receive packets and forward them according to the maintained flow table. Both packets that the virtual network card needs to send outward and external packets received by the physical network card are directly sent to the network forwarding module, which then forwards them based on the maintained flow table.

[0089] The detailed implementation and beneficial effects of each step in the physical server of this embodiment have been described in detail in the aforementioned embodiments and will not be elaborated here.

[0090] The present application also provides a message forwarding method, which corresponds to the forwarding acceleration module. As shown in FIG4a , the method includes:

[0091] 401a. Receive a message;

[0092] 402a. If no flow table corresponding to the message exists locally, determine a target network forwarding module from a first network forwarding module and a second network forwarding module included in the virtual switch.

[0093] 403a. Request the target network forwarding module for the flow table corresponding to the message, and upon receiving the flow table issued by the target network forwarding module, forward the message according to the flow table, wherein the first network forwarding module and the second network forwarding module respectively run on the hardware acceleration device and the physical machine included in the physical server to which the virtual switch belongs.

[0094] In an optional embodiment, determining the target network forwarding module from the first network forwarding module and the second network forwarding module included in the virtual switch includes: querying the maintained forwarding index table according to the virtual network card or tenant network corresponding to the message to determine the target network forwarding module from the first network forwarding module and the second network forwarding module; wherein the forwarding index table records the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module.

[0095] Optionally, the forwarding index table includes a first forwarding index table and a second forwarding index table, the first forwarding index table records the correspondence between the virtual network card and the network forwarding module, and the second forwarding index table records the correspondence between the tenant network and the network forwarding module;

[0096] Among them, according to the virtual network card or tenant network corresponding to the message, the maintained forwarding index table is queried to determine the target network forwarding module from the first network forwarding module and the second network forwarding module, including: determining the flow direction of the message according to the receiving port of the message; when the flow direction is the sending direction, querying the first forwarding index table to determine the target network forwarding module from the first network forwarding module and the second network forwarding module; when the flow direction is the receiving direction, querying the second forwarding index table to determine the target network forwarding module from the first network forwarding module and the second network forwarding module.

[0097] Further optionally, the first forwarding index table and the second forwarding index table also record the physical channels corresponding to the network forwarding modules; requesting the flow table corresponding to the message from the target network forwarding module includes: determining the physical channel between the target network forwarding modules from the first or second forwarding index table; and sending a flow table download request to the target network forwarding module based on the physical channel to request the flow table corresponding to the message.

[0098] An embodiment of the present application also provides a message forwarding method, which corresponds to the forwarding acceleration module in the embodiment shown in Figure 3. The method includes: receiving a message, and when a flow table corresponding to the message does not exist locally, requesting a flow table corresponding to the message from the network forwarding module, and upon receiving the flow table issued by the network forwarding module, forwarding the message according to the flow table.

[0099] The embodiment of the present application also provides another message forwarding method, which corresponds to the diversion module, as shown in FIG4b , and includes:

[0100] 401b. Receive a message;

[0101] 402b. Determine a target network forwarding module from the first network forwarding module and the second network forwarding module included in the virtual switch according to the maintained forwarding index table;

[0102] 403b. Send the message to the target network forwarding module for the target network forwarding module to forward the message, wherein the forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module, and the first network forwarding module and the second network forwarding module respectively run on the hardware acceleration device and physical machine included in the physical server to which the virtual switch belongs.

[0103] The present application also provides another message forwarding method, which is applied to a first network forwarding module or a second network forwarding module in a virtual switch, wherein the first network forwarding module and the second network forwarding module respectively run on a hardware acceleration device and a physical machine included in a physical server to which the virtual switch belongs. As shown in FIG4c , the method includes:

[0104] 401c. Receive a message from the virtual network card or the tenant network to which the corresponding virtual network card belongs;

[0105] 402c. Determine whether the message has forwarding permission based on the maintained forwarding index table, where the forwarding index table stores correspondences between virtual network cards and / or tenant networks to which the virtual network cards belong and network forwarding modules;

[0106] 403c: If the answer is yes, forward the message according to the flow table corresponding to the message.

[0107] The present application also provides a network information configuration method, which is applied to an operation and maintenance management module in a virtual switch in a physical server. As shown in FIG5 , the method includes:

[0108] 501. In response to a network management request, determine an object to be managed, where the object to be managed is a virtual network card in a physical server and / or a tenant network to which the virtual network card belongs. The virtual network card forwards data through a virtual switch.

[0109] 502. Determine a first target network forwarding module adapted to the object to be managed from a first network forwarding module and a second network forwarding module included in the virtual switch, wherein the first network forwarding module and the second network forwarding module respectively run on a hardware acceleration device and a physical machine included in the physical server;

[0110] 503. Perform network management on the object to be managed through the first target network forwarding module.

[0111] In an optional embodiment, determining a first target network forwarding module that is adapted to the object to be managed from the first network forwarding module and the second network forwarding module included in the virtual switch includes: querying the maintained management index table based on the identification information of the object to be managed to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module; wherein the management index table records the correspondence between the virtual network card and / or tenant network and the network forwarding module.

[0112] Optionally, the management index table includes: a first management index table and a second management index table, the first management index table records the correspondence between the virtual network card and the network forwarding module, and the second management index table records the correspondence between the tenant network and the network forwarding module; according to the identification information of the object to be managed, query the maintained management index table to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module, including: when it is determined that the object to be managed is a virtual network card, query the first management index table to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module; when it is determined that the object to be managed is a tenant network, query the second management index table to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module.

[0113] Further optionally, the first management index table and the second management index table also record the socket connections between each network forwarding module and the operation and maintenance management module; performing network management on the object to be managed through the first target network forwarding module includes: determining the socket connection between it and the first target network forwarding module from the first or second management index table; sending a management instruction to the first target network forwarding module based on the socket connection to instruct the first target network forwarding module to perform network management on the object to be managed.

[0114] The detailed implementation and beneficial effects of each step in the method shown in FIG. 4 a - 4 c and FIG. 5 of this embodiment have been described in detail in the aforementioned embodiments and will not be elaborated on here.

[0115] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 401a to 403a can be device A; for another example, the execution entity of steps 401a and 402a can be device A, and the execution entity of step 403a can be device B; and so on.

[0116] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel. The sequence numbers of the operations, such as 401a, 402a, etc., are only used to distinguish between different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0117] An exemplary embodiment of the present application also provides a physical machine, and the accompanying drawings can be seen in Figure 1. A virtualization instance is deployed on the physical machine, and the virtualization instance has a virtual network card. The virtual network card forwards data through a virtual switch; wherein the virtual switch includes an operation and maintenance management module, a first network forwarding module, and a second network forwarding module; the operation and maintenance management module and the first network forwarding module run on the hardware acceleration device corresponding to the physical machine, and the second network forwarding module runs on the physical machine, and the second network forwarding module is responsible for providing data forwarding services for some virtual network cards.

[0118] The physical machine includes: a memory and a processor; the memory is used to store program codes corresponding to the second network forwarding module;

[0119] The memory may be implemented by any type of volatile or non-volatile memory device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0120] Optionally, the processor is coupled to the memory and is configured to execute program code corresponding to the second network forwarding module, configured to: receive a message from a virtual network card or a tenant network to which the corresponding virtual network card belongs; determine whether the message has forwarding authority based on a maintained forwarding index table, wherein the forwarding index table stores a correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module; and if the determination is yes, forward the message based on a flow table corresponding to the message. For details and a description of the effects, please refer to the above and will not be repeated here.

[0121] The exemplary embodiment of the present application further provides a hardware acceleration device, as shown in FIG6 . The hardware acceleration device includes a memory 64 and a processor 65 .

[0122] Memory 64, used to store program codes corresponding to the operation and maintenance management module and the first network forwarding module deployed in the virtual switch;

[0123] The memory 64 may be implemented by any type of volatile or non-volatile memory device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk.

[0124] The processor 65 is coupled to the memory 64 and is used to execute the program code corresponding to the operation and maintenance management module to provide network management and operation and maintenance services for the virtual network card, and to run the program code corresponding to the first network forwarding module to provide data forwarding services for some virtual network cards; wherein, the virtual switch also includes a second network forwarding module, and the second network forwarding module runs on a physical machine in the physical server to which the virtual switch belongs; the virtual network card is a virtual network card of a virtualization instance deployed on the physical machine.

[0125] In an optional embodiment, the hardware acceleration device also includes: a forwarding acceleration module implemented based on programmable hardware; the forwarding acceleration module is used to receive a message and, when a flow table corresponding to the message does not exist locally, determine a second target network forwarding module from the first network forwarding module and the second network forwarding module, request the flow table corresponding to the message from the second target network forwarding module, and, upon receiving the flow table issued by the second target network forwarding module, forward the message according to the flow table.

[0126] Optionally, when the forwarding acceleration module determines the second target network forwarding module from the first network forwarding module and the second network forwarding module, it is specifically used to: query the maintained forwarding index table according to the virtual network card or tenant network corresponding to the message, so as to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module; wherein, the forwarding index table records the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module.

[0127] Further optionally, the forwarding index table includes a first forwarding index table and a second forwarding index table, the first forwarding index table records the correspondence between the virtual network card and the network forwarding module, and the second forwarding index table records the correspondence between the tenant network and the network forwarding module; when the forwarding acceleration module queries the maintained forwarding index table according to the virtual network card or tenant network corresponding to the message to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module, it is specifically used to: determine the flow direction of the message according to the receiving port of the message; when the flow direction is the sending direction, query the first forwarding index table to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module; when the flow direction is the receiving direction, query the second forwarding index table to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module.

[0128] Further optionally, the first forwarding index table and the second forwarding index table also record the physical channels corresponding to the network forwarding modules; when the forwarding acceleration module requests the flow table corresponding to the message from the second target network forwarding module, it is specifically used to: determine the physical channel between the second target network forwarding modules from the first or second forwarding index table; and send a flow table download request to the second target network forwarding module based on the physical channel to request the flow table corresponding to the message.

[0129] In an optional embodiment, the hardware acceleration device further includes: a diversion module implemented based on programmable hardware; the diversion module is used to receive a message, determine a third target network forwarding module from the first network forwarding module and the second network forwarding module based on a maintained forwarding index table, and send the message to the third target network forwarding module so that the third target network forwarding module forwards the message; wherein the forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module.

[0130] In an optional embodiment, the processor 65 is also used to receive a message, which comes from a virtual network card or a tenant network to which the corresponding virtual network card belongs; determine whether it has forwarding permission for the message based on the maintained forwarding index table, and the forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module; if it is determined to be yes, forward the message according to the flow table corresponding to the message.

[0131] In an optional embodiment, the processor 65 is also used to determine the object to be managed in response to a network management request, where the object to be managed is the virtual network card in the physical server and / or the tenant network to which the virtual network card belongs, and the virtual network card forwards data through the virtual switch; determine the first target network forwarding module that is adapted to the object to be managed from the first network forwarding module and the second network forwarding module included in the virtual switch, and the first network forwarding module and the second network forwarding module respectively run on the hardware acceleration device and the physical machine included in the physical server; and perform network management on the object to be managed through the first target network forwarding module.

[0132] Optionally, when the processor 65 determines the first target network forwarding module that is adapted to the object to be managed from the first network forwarding module and the second network forwarding module included in the virtual switch, it is specifically used to: query the maintained management index table according to the identification information of the object to be managed, so as to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module; wherein, the management index table records the correspondence between the virtual network card and / or tenant network and the network forwarding module.

[0133] Further optionally, the management index table includes: a first management index table and a second management index table, the first management index table records the correspondence between the virtual network card and the network forwarding module, and the second management index table records the correspondence between the tenant network and the network forwarding module; when the processor 65 queries the maintained management index table according to the identification information of the object to be managed to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module, it is specifically used to: when it is determined that the object to be managed is a virtual network card, query the first management index table to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module; when it is determined that the object to be managed is a tenant network, query the second management index table to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module.

[0134] Further optionally, the first management index table and the second management index table also record the socket connections between each network forwarding module and the operation and maintenance management module; when the processor 65 performs network management on the object to be managed through the first target network forwarding module, it is specifically used to: determine the socket connection between it and the first target network forwarding module from the first or second management index table; send a management instruction to the first target network forwarding module based on the socket connection to instruct the first target network forwarding module to perform network management on the object to be managed.

[0135] The detailed implementation and beneficial effects of each step in the device shown in FIG6 of this embodiment have been described in detail in the aforementioned embodiments and will not be elaborated here.

[0136] Furthermore, as shown in Figure 6 , the hardware acceleration device also includes other components, such as a communication component 66 and a power supply component 68. Figure 6 only schematically illustrates some of the components, and does not necessarily mean that the hardware acceleration device only includes the components shown in Figure 6 . Specifically, the operation and maintenance management module, network forwarding module, forwarding acceleration module, and traffic diversion module are not shown in Figure 6 .

[0137] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed, can implement the steps in the above 4a-4c and the method embodiment shown in Figure 5.

[0138] The above-mentioned memory can be implemented by any type of volatile or non-volatile memory device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0139] The above-mentioned communication component is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0140] The above-mentioned display includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor can not only sense the boundary of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.

[0141] The power supply assembly provides power to various components of the device in which the power supply assembly is located. The power supply assembly may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply assembly is located.

[0142] The above-mentioned audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC), and when the device where the audio component is located is in an operating mode, such as call mode, recording mode, and voice recognition mode, the microphone is configured to receive external audio signals. The received audio signal can be further stored in a memory or sent via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.

[0143] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to magnetic disk storage, compact disc read-only memory (CD-ROM), optical storage, etc.) that contain computer-usable program code.

[0144] The present application is described with reference to the flow chart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.

[0145] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0146] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0147] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interfaces, network interfaces, and memory.

[0148] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0149] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0150] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0151] The above are merely embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A physical server, characterized in that: include: A physical machine and a hardware acceleration device, wherein a virtualization instance is deployed on the physical machine, the virtualization instance has a virtual network card, and the virtual network card forwards data through a virtual switch; The virtual switch includes an operation and maintenance management module, a first network forwarding module, and a second network forwarding module; the operation and maintenance management module and the first network forwarding module run on the hardware acceleration device, and the second network forwarding module runs on the physical machine; The operation and maintenance management module is responsible for providing network management and operation and maintenance services for the virtual network card; the first network forwarding module and the second network forwarding module are respectively responsible for providing data forwarding services for different virtual network cards.

2. The physical server according to claim 1, characterized in that: The operation and maintenance management module is specifically used for: In response to the network management request, determine the object to be managed; determine a first target network forwarding module adapted to the object to be managed from the first network forwarding module and the second network forwarding module; The first target network forwarding module performs network management on the object to be managed, and the object to be managed is a virtual network card and / or a tenant network to which the virtual network card belongs.

3. The physical server according to claim 2, characterized in that: The operation and maintenance management module maintains a management index table, and the management index table records the correspondence between the virtual network card and / or the tenant network and the network forwarding module; When determining the first target network forwarding module, the operation and maintenance management module is specifically used to: query the management index table according to the identification information of the object to be managed, so as to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module.

4. The physical server according to any one of claims 1 to 3, characterized in that: The hardware acceleration device also includes: a forwarding acceleration module implemented based on programmable hardware; The forwarding acceleration module is used to receive a message, and when a flow table corresponding to the message does not exist locally, determine the second target network forwarding module from the first network forwarding module and the second network forwarding module, request the flow table corresponding to the message from the second target network forwarding module, and when receiving the flow table sent by the second target network forwarding module, forward the message according to the flow table.

5. The physical server according to claim 4, characterized in that: The forwarding acceleration module maintains a forwarding index table, in which the corresponding relationship between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module is recorded; When determining the second target network forwarding module, the forwarding acceleration module is specifically used to: query the forwarding index table according to the virtual network card or tenant network corresponding to the message to determine the second target network forwarding module from the first network forwarding module and the second network forwarding module.

6. The physical server according to any one of claims 1 to 3, characterized in that: The first or second network forwarding module is specifically used to: receive a message, determine whether the message has forwarding authority according to the maintained forwarding index table, and if it is determined to be yes, forward the message according to the flow table corresponding to the message; The forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module.

7. The physical server according to any one of claims 1 to 3, characterized in that: The hardware acceleration device further includes: a shunt module implemented based on programmable hardware; The traffic distribution module is used to receive the message, determine the third target network forwarding module from the first network forwarding module and the second network forwarding module according to the maintained forwarding index table, and send the message to the third target network forwarding module so that the third target network forwarding module forwards the message; The forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module.

8. A message forwarding method, characterized in that: include: Receive messages; In the case that the flow table corresponding to the message does not exist locally, determining the target network forwarding module from the first network forwarding module and the second network forwarding module included in the virtual switch; Requesting the target network forwarding module for the flow table corresponding to the message, and upon receiving the flow table sent by the target network forwarding module, forwarding the message according to the flow table; The first network forwarding module and the second network forwarding module respectively run on a hardware acceleration device and a physical machine included in a physical server to which the virtual switch belongs.

9. The method according to claim 8, characterized in that Determining a target network forwarding module from a first network forwarding module and a second network forwarding module included in the virtual switch includes: According to the virtual network card or tenant network corresponding to the message, query the maintained forwarding index table to determine the target network forwarding module from the first network forwarding module and the second network forwarding module; The forwarding index table records the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module.

10. The method according to claim 9, characterized in that The forwarding index table includes a first forwarding index table and a second forwarding index table, wherein the first forwarding index table records the correspondence between the virtual network card and the network forwarding module, and the second forwarding index table records the correspondence between the tenant network and the network forwarding module; According to the virtual network card or tenant network corresponding to the message, querying the maintained forwarding index table to determine the target network forwarding module from the first network forwarding module and the second network forwarding module, including: Determining the flow direction of the message according to the receiving port of the message; When the traffic direction is a sending direction, querying the first forwarding index table to determine the target network forwarding module from the first network forwarding module and the second network forwarding module; When the traffic direction is a receiving direction, the second forwarding index table is queried to determine the target network forwarding module from the first network forwarding module and the second network forwarding module.

11. A message forwarding method, characterized in that: include: Receive messages; Determine a target network forwarding module from a first network forwarding module and a second network forwarding module included in the virtual switch according to the maintained forwarding index table; Sending the message to the target network forwarding module so that the target network forwarding module forwards the message; Among them, the forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module, and the first network forwarding module and the second network forwarding module respectively run on the hardware acceleration device and physical machine contained in the physical server to which the virtual switch belongs.

12. A message forwarding method, characterized in that: A first network forwarding module or a second network forwarding module applied to a virtual switch, wherein the first network forwarding module and the second network forwarding module are respectively run on a hardware acceleration device and a physical machine included in a physical server to which the virtual switch belongs, and the method comprises: Receive a message, where the message comes from a virtual network card or a tenant network to which the corresponding virtual network card belongs; Determine whether the message has forwarding authority according to the maintained forwarding index table, wherein the forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module; If the answer is yes, the message is forwarded according to the flow table corresponding to the message.

13. A network information configuration method, characterized in that: The operation and maintenance management module applied to the virtual switch in the physical server includes: In response to the network management request, determining an object to be managed, wherein the object to be managed is a virtual network card in the physical server and / or a tenant network to which the virtual network card belongs, and the virtual network card forwards data through the virtual switch; Determine a first target network forwarding module adapted to the object to be managed from a first network forwarding module and a second network forwarding module included in the virtual switch, wherein the first network forwarding module and the second network forwarding module are respectively run on a hardware acceleration device and a physical machine included in the physical server; The object to be managed is managed through the first target network forwarding module.

14. The method according to claim 13, characterized in that Determining a first target network forwarding module adapted to the object to be managed from the first network forwarding module and the second network forwarding module included in the virtual switch includes: According to the identification information of the object to be managed, query the maintained management index table to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module; The management index table records the correspondence between the virtual network card and / or tenant network and the network forwarding module.

15. The method according to claim 14, characterized in that The management index table includes: a first management index table and a second management index table, wherein the first management index table records the correspondence between the virtual network card and the network forwarding module, and the second management index table records the correspondence between the tenant network and the network forwarding module; According to the identification information of the object to be managed, the maintained management index table is queried to forward the object from the first network module and the second network forwarding module, comprising: When it is determined that the object to be managed is a virtual network card, querying the first management index table to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module; When it is determined that the object to be managed is a tenant network, the second management index table is queried to determine the first target network forwarding module from the first network forwarding module and the second network forwarding module.

16. A hardware acceleration device, characterized in that: include: Memory and processor; The memory is used to store program codes corresponding to the operation and maintenance management module and the first network forwarding module deployed in the virtual switch; The processor is coupled to the memory and is used to execute the program code corresponding to the operation and maintenance management module to provide network management and operation and maintenance services for the virtual network card, and to run the program code corresponding to the first network forwarding module to provide data forwarding services for some virtual network cards; The virtual switch further includes a second network forwarding module, which runs on a physical machine in the physical server to which the virtual switch belongs; and the virtual network card is a virtual network card of a virtualized instance deployed on the physical machine.

17. The hardware acceleration device according to claim 16, characterized in that: Also includes: Forwarding acceleration module based on programmable hardware; The forwarding acceleration module is used to receive a message, and when there is no flow table corresponding to the message locally, determine a second target network forwarding module from the first network forwarding module and the second network forwarding module, request the flow table corresponding to the message from the second target network forwarding module, and when receiving the flow table sent by the second target network forwarding module, forward the message according to the flow table; or; A diversion module implemented based on programmable hardware; the diversion module is used to receive a message, determine a third target network forwarding module from the first network forwarding module and the second network forwarding module according to the maintained forwarding index table, and send the message to the third target network forwarding module so that the third target network forwarding module forwards the message; wherein the forwarding index table stores the correspondence between the virtual network card and / or the tenant network to which the virtual network card belongs and the network forwarding module.

18. A physical server, characterized in that: include: A physical machine and a hardware acceleration device, wherein a virtualization instance is deployed on the physical machine, the virtualization instance has a virtual network card, and the virtual network card forwards data through a virtual switch; The virtual switch includes an operation and maintenance management module and a network forwarding module; the operation and maintenance management module runs on the hardware acceleration device, and the network forwarding module runs on the physical machine; The operation and maintenance management module is responsible for providing network management and operation and maintenance services for the virtual network card; the network forwarding module is responsible for providing data forwarding services for the virtual network card.

19. The physical server according to claim 18, characterized in that: The hardware acceleration device also includes: a forwarding acceleration module implemented based on programmable hardware; The forwarding acceleration module is used to receive a message and, if the flow table corresponding to the message does not exist locally, request the network forwarding module for the flow table corresponding to the message, and upon receiving the flow table sent by the network forwarding module, forward the message according to the flow table.

20. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the processor is enabled to implement the steps of the method according to any one of claims 8 to 15.

Citation Information

Patent Citations

  • Message processing method and system and related equipment

    CN112702252A

  • Data processing method, programmable network card equipment, physical server and storage medium

    CN113821310A

  • Network acceleration method, system and device in complex cloud computing environment

    CN114465899A

  • Message processing method, programmable network card device, physical server and storage medium

    CN115766620A

  • Packet forwarding method, device, equipment, and system

    WO2020057411A1

Cited By

  • Virtual switch deployment and test method and device

    CN121239653A