Virtual network element communication method and system supporting multiple network modes, and medium
By dynamically selecting target pipeline units among virtual network elements and pipeline units, resource sharing and logical isolation in multi-network modal communication are realized, solving the problem of low resource utilization in existing technologies and improving communication efficiency and isolation effect in complex application scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-16
- Publication Date
- 2026-04-03
AI Technical Summary
In existing technologies, multi-network mode communication suffers from low resource utilization and lacks effective resource isolation, making it impossible to meet the collaborative working requirements of multiple network modes such as Ethernet, 5G, and satellite communication in complex application scenarios.
By receiving data packets and performing pre-parsing, the target routing information is determined, and virtual network elements and pipeline units are dynamically selected to achieve accurate distribution and processing of data packets. By leveraging the independence of virtual network elements and pipeline units, resource sharing and on-demand allocation are achieved, ensuring the isolation of processing logic for each network mode.
It significantly improves the resource utilization efficiency of multi-network mode communication, ensures the isolation of processing logic between different network modes, and enhances resource isolation protection.
Smart Images

Figure CN121792437A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network communication technology, and in particular to a virtual network element communication method, system, and medium that supports multiple network modes. Background Technology
[0002] With the diversified development of network technologies, single network modes are no longer sufficient to meet the needs of complex application scenarios such as industrial control and integrated air-space-ground communication. Often, it is necessary to simultaneously support the collaborative operation of multiple network modes, including Ethernet, 5G, and satellite communication. However, related network transport solutions mostly adopt tightly coupled architectures, which not only lead to low resource utilization but also lack effective resource isolation when facing the communication requirements of multiple network modes. Therefore, how to improve the resource utilization efficiency and resource isolation guarantee of multi-network mode communication has become an urgent technical problem to be solved. Summary of the Invention
[0003] This application provides a method, system, and medium for virtual network element communication that supports multiple network modes, in order to solve the technical problem of how to improve the resource utilization efficiency and resource isolation guarantee of multi-network mode communication.
[0004] In a first aspect, embodiments of this application provide a virtual network element communication method supporting multiple network modes, comprising: Receive the first incoming data packet, pre-parse the header of the first data packet to obtain the destination MAC address, and determine the target routing information based on the destination MAC address; Based on the target routing information, the target virtual network element is determined from among multiple pre-configured virtual network elements, and the target pipeline unit is determined from among multiple pipeline units of the target virtual network element; wherein, the multiple pipeline units correspond to different network modes. The first data packet is distributed to the target pipeline unit, which then processes the first data packet according to the target routing information and outputs the second data packet.
[0005] In conjunction with the first aspect, in some possible implementations, determining the target routing information based on the destination MAC address includes: The destination MAC address is parsed based on a preset MAC address parsing rule to obtain the target device number, the target virtual network element number, and the target network mode number; wherein, the MAC address parsing rule is used to indicate the bit structure in the destination MAC address used to identify the target device number, the target virtual network element number, and the target network mode number; If the target device number is the local device number, the target virtual network element number and the target network mode number are saved as target routing information.
[0006] In conjunction with the first aspect and the above implementation methods, in some possible implementation methods, the step of determining the target virtual network element from a plurality of pre-configured virtual network elements based on the target routing information, and determining the target pipeline unit from a plurality of pipeline units of the target virtual network element, includes: Based on the target virtual network element number in the target routing information, determine the target virtual network element that uniquely corresponds to the target virtual network element number from among a plurality of pre-configured virtual network elements; The first mapping relationship pre-stored in the target virtual network element is queried according to the target network mode number, so as to determine the target pipeline unit that uniquely corresponds to the target network mode number among the multiple pipeline units of the target virtual network element.
[0007] Combining the first aspect and the above implementation methods, in some possible implementation methods, the target pipeline unit is invoked to process the first data packet according to the target routing information and output the second data packet, including: The target pipeline unit is invoked to parse the first data packet in order to determine the target logical sub-table number; Generate the target flow table address based on the target logical sub-table number, the target virtual network element number, and the target network mode number in the target routing information; Based on the target flow table address, the corresponding flow table entry is queried in the preset flow table storage area to determine the target processing action; The first data packet is processed according to the target processing action, and the second data packet is output.
[0008] In combination with the first aspect and the above implementation methods, in some possible implementation methods, the step of processing the first data packet and outputting the second data packet according to the target processing action includes: The first data packet is processed according to the target processing action to generate a second data packet, and target exit information is obtained; The corresponding target physical exit is determined by querying the pre-stored second mapping relationship based on the target exit information. The second data packet is sent through the target physical exit.
[0009] In combination with the first aspect and the above implementation methods, in some possible implementations, the method further includes: Receive input resource configuration commands; According to the resource configuration instruction, the controller is invoked to apply for the required computing resources, storage resources and interface resources from the resource pool for the virtual network element corresponding to the resource configuration instruction and the network mode associated with the virtual network element, and the resource application result is obtained. If the resource request result indicates that the request was successful, address space addressing is performed based on the identifier of the virtual network element and the identifier of the network mode associated with the virtual network element to obtain the addressing result; the virtual network element and the network mode associated with the virtual network element are configured based on the addressing result. If the resource request result indicates that the request has failed, the resource configuration instruction will be rejected and an overload alarm will be triggered. The controller is used to record and update the idle or occupied status of each resource in the resource pool in real time.
[0010] In combination with the first aspect and the above implementation methods, in some possible implementations, the method further includes: Receive modal loading instructions for the virtual network element to be configured among multiple virtual network elements. The modal loading instructions carry the image of the network mode to be loaded. The image of the network modality to be loaded is signed and verified to obtain the verification result; After the verification result indicates that the signature verification is successful, extract the pipeline program and module configuration parameters from the image of the network modality to be loaded; Load the pipeline program into the idle programmable pipeline engine within the virtual network element to be configured; Configure the hardware acceleration module associated with the programmable pipeline engine according to the module configuration parameters; The programmable pipeline engine and hardware acceleration module are activated to form pipeline units in the virtual network element to be configured that correspond to the network mode to be loaded.
[0011] Combining the first aspect and the above implementation methods, in some possible implementation methods, multiple virtual network elements are configured on the same FPGA board or multiple interconnected FPGA boards; The FPGA board includes an intelligent scheduling module, which is configured to perform a pre-parsing task for the first data packet to obtain the target routing information, and to distribute the first data packet to the target pipeline unit according to the target routing information. The programmable pipeline engine in the pipeline unit is built based on the P4 language.
[0012] Secondly, embodiments of this application provide a communication system, which includes an FPGA board, the FPGA board including multiple virtual network elements, and each virtual network element including multiple corresponding pipeline units; The communication system is configured to perform the steps of the first aspect of the virtual network element communication method that supports multiple network modes.
[0013] Thirdly, embodiments of this application provide a non-transitory computer-readable storage medium storing a computer program thereon, wherein when the computer program is executed by a processor, it implements the steps of the virtual network element communication method supporting multiple network modes of the first aspect.
[0014] The virtual network element communication method, system, and medium supporting multiple network modes provided in this application first receive an input first data packet, pre-parse the header of the first data packet to obtain the destination MAC address, and determine the target routing information based on the destination MAC address; then, based on the target routing information, determine the target virtual network element from a plurality of pre-configured virtual network elements, and determine the target pipeline unit from a plurality of pipeline units of the target virtual network element, wherein the plurality of pipeline units correspond to different network modes; finally, distribute the first data packet to the target pipeline unit, call the target pipeline unit to process the first data packet according to the target routing information, and output a second data packet. The above scheme dynamically determines the target pipeline unit and distributes data packets among multiple virtual network elements and their corresponding pipeline units. This enables a single or limited number of physical resources to support the processing tasks of multiple network modes, achieving the sharing and on-demand allocation of physical resources and significantly improving the resource utilization efficiency of multi-network mode communication. At the same time, since the data packets are accurately distributed to the target pipeline unit of the target virtual network element, the processing of different network modes is completed in their respective independent pipeline units, ensuring the isolation of processing logic between network modes, and thus effectively guaranteeing the resource isolation of multi-network mode communication. Attached Figure Description
[0015] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0016] Figure 1 This is a flowchart illustrating the virtual network element communication method supporting multiple network modes provided in an embodiment of this application; Figure 2 This is a schematic diagram of the functional architecture of the virtual network element provided in the embodiments of this application; Figure 3 This is a schematic diagram of the processing flow of business messages provided in the embodiments of this application; Figure 4 This is a schematic diagram of the flow table configuration and query device provided in the embodiments of this application; Figure 5 This is a schematic diagram of the deployment of the layered network architecture and virtual network elements provided in the embodiments of this application. Detailed Implementation
[0017] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0018] With the diversified development of network technologies, a single network mode is no longer sufficient to meet the needs of complex application scenarios such as industrial control and integrated air-space-ground networks. Often, it is necessary to simultaneously support the collaborative operation of multiple network modes, including Ethernet, 5G, and satellite communication. For example, in industrial control scenarios, highly real-time control commands need to be transmitted via industrial Ethernet, while non-real-time monitoring data is transmitted via 5G networks. In integrated air-space-ground networks, ground terminal equipment accesses the network via 5G and then uses satellite communication links to achieve data relay and wide-area coverage with remote nodes.
[0019] To address this, related technologies have proposed some tightly coupled architectural designs. Tightly coupled architectures refer to configuring dedicated hardware processing units and independent software protocol stacks for each network mode. The processing units for different network modes are isolated and fixed at both the physical and logical levels. For example, configuring dedicated baseband processing hardware for 5G network modes and dedicated switching chips for industrial Ethernet modes makes it difficult to achieve resource sharing and functional collaboration between the two.
[0020] It is evident that the relevant technical solutions not only result in low resource utilization but also lack effective resource isolation when facing the communication needs of multiple network modalities. Specifically, low resource utilization manifests in the following ways: due to the independent hardware processing units of different network modalities in the tightly coupled architecture design, when a network modality is experiencing a low traffic volume, its dedicated hardware resources are idle and cannot be reused by other high-load network modalities, resulting in the overall average utilization of hardware resources being lower than its peak processing capacity. The lack of effective resource isolation manifests in the following ways: when attempting to virtualize and deploy multiple network modalities on the same general-purpose computing platform, the software processes of different network modalities compete for shared CPU, memory, and I / O resources. This causes changes in the traffic of one network modality to interfere with the processing performance of other network modalities, making it impossible to provide deterministic quality of service guarantees for each network modality.
[0021] Therefore, how to improve the resource utilization efficiency and resource isolation guarantee of multi-network mode communication has become an urgent technical problem to be solved.
[0022] To address the aforementioned issues, the solution provided in this application mainly includes: firstly, receiving an input first data packet, pre-parsed the header of the first data packet to obtain the destination MAC address, and determining target routing information based on the destination MAC address; subsequently, based on the target routing information, determining a target virtual network element from among a plurality of pre-configured virtual network elements, and determining a target pipeline unit from among a plurality of pipeline units of the target virtual network element, wherein the plurality of pipeline units correspond to different network modes; finally, distributing the first data packet to the target pipeline unit, calling the target pipeline unit to process the first data packet according to the target routing information and outputting a second data packet. The above scheme dynamically determines the target pipeline unit and distributes data packets among multiple virtual network elements and their corresponding pipeline units. This enables a single or limited number of physical resources to support the processing tasks of multiple network modes, achieving the sharing and on-demand allocation of physical resources and significantly improving the resource utilization efficiency of multi-network mode communication. At the same time, since the data packets are accurately distributed to the target pipeline unit of the target virtual network element, the processing of different network modes is completed in their respective independent pipeline units, ensuring the isolation of processing logic between network modes, and thus effectively guaranteeing the resource isolation of multi-network mode communication.
[0023] Explanation of some terms used in the embodiments of this application: FPGA: Field-Programmable Gate Array.
[0024] MAC: Media Access Control.
[0025] P4: Programming Protocol-Independent Packet Processors, a domain-specific language used to define network packet processing logic.
[0026] CRC: Cyclic Redundancy Check.
[0027] AES: Advanced Encryption Standard.
[0028] SRAM: Static Random-Access Memory.
[0029] DDR4: Double Data Rate 4 SDRAM, the fourth generation of double data rate synchronous dynamic random access memory.
[0030] QSFP28: Quad Small Form-factor Pluggable 28, a four-channel small form-factor pluggable transceiver.
[0031] SFP+: Small Form-factor Pluggable Plus, an enhanced small form-factor pluggable transceiver.
[0032] PCIe: Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard.
[0033] PTP: Precision Time Protocol.
[0034] PTPv2: Precision Time Protocol version 2.
[0035] LR4: Long Reach 4, a 4-channel long-distance optical module standard.
[0036] DR4: Short Reach 4, a 4-channel short-distance optical module standard.
[0037] OCXO: Oven-Controlled Crystal Oscillator.
[0038] PARSER: Parser, used to parse packet header information.
[0039] MAU: Match-Action Unit, used to perform matching and action operations.
[0040] DEPARSER: Deparser, used to repackage data packets.
[0041] The following will provide a detailed description of the virtual network element communication method supporting multiple network modes provided in the embodiments of this application.
[0042] Please see Figure 1 , Figure 1 This is a flowchart illustrating a virtual network element communication method supporting multiple network modes, provided as an embodiment of this application. Figure 1 As shown, the method in this application embodiment may include the following steps S101-S103.
[0043] S101: Receive the first input data packet, pre-parse the header of the first data packet to obtain the destination MAC address, and determine the target routing information based on the destination MAC address.
[0044] Specifically, the first step is to receive the first incoming data packet. This first data packet refers to the network data message that needs to be processed and forwarded. The source of this first data packet can be a data packet received from an external network device via a physical optical port, a data packet generated by other virtual network elements within the same device, or a data packet sent from an upper-layer application to the network protocol stack for processing; there are also various other possible sources for the first data packet, which will not be listed here.
[0045] Regarding this step, in some possible implementations, the first data packet can be received through a relevant hardware interface and temporarily stored. Alternatively, the first data packet can be received through a relevant hardware interface, its format can be validated, and if the validation passes, it can be temporarily stored.
[0046] Furthermore, the destination MAC address is obtained by pre-parsing the header of the first data packet. Here, the header of the first data packet refers to the preamble containing network control information; pre-parsing refers to the process of quickly extracting and analyzing the header information, with a parsing depth less than that of a complete protocol stack parsing; the destination MAC address refers to the physical address in the header of the first data packet used to identify the final receiving device.
[0047] Regarding this step, in some possible implementations, the header of the first data packet can be read to extract the destination MAC address. In other possible implementations, the header of the first data packet can be read to extract the destination MAC address and other relevant information.
[0048] Furthermore, target routing information is determined based on the destination MAC address. This target routing information refers to the routing identification information resolved from the destination MAC address, used to guide data packets to be correctly distributed to the target processing unit. This information includes at least the target virtual network element number and the target network mode number.
[0049] Regarding this step, some possible implementations involve parsing the destination MAC address to obtain the target routing information. Other possible implementations use a lookup table to determine the corresponding target routing information based on the destination MAC address.
[0050] S102, based on the target routing information, determine the target virtual network element from among the pre-configured multiple virtual network elements, and determine the target pipeline unit from among the multiple pipeline units of the target virtual network element; wherein, the multiple pipeline units correspond to different network modes.
[0051] Specifically, the virtual network element involved in this embodiment refers to a logic processing unit virtualized on FPGA hardware resources, possessing independent data processing capabilities and resource quotas. It should be noted that multiple virtual network elements are pre-configured; in some possible cases, due to changes in business requirements, virtual network elements can also be dynamically configured based on relevant instructions to increase or decrease the number of virtual network elements.
[0052] First, based on the target routing information, the target virtual network element needs to be determined from among several pre-configured virtual network elements. The target virtual network element refers to the virtual network element instance that matches the target virtual network element number contained in the target routing information and is responsible for processing the first data packet.
[0053] Regarding this step, in some possible implementations, the target virtual network element can be determined by matching and searching among multiple virtual network elements based on the target routing information. In other possible implementations, the target routing information can be parsed to extract information used to identify the virtual network element, and the target virtual network element can be determined among multiple virtual network elements based on this information.
[0054] Furthermore, a target pipeline unit is determined among multiple pipeline units of the target virtual network element; where network mode refers to a network communication type with a specific communication protocol stack and data processing logic, such as 5G network mode, industrial Ethernet mode, or satellite communication mode; multiple pipeline units correspond to different network modes, meaning that within a target virtual network element, there are multiple independent pipeline units, each of which is specifically configured to process data packets of a specific network mode, and different pipeline units are isolated from each other in terms of processing logic and resource consumption.
[0055] Regarding this step, in some possible implementations, the target pipeline unit can be determined by matching and searching among multiple pipeline units based on the target routing information within the already identified target virtual network element. In other possible implementations, the target routing information can be parsed to extract information identifying the network mode, and the target pipeline unit can be determined among multiple pipeline units of the target virtual network element based on this information.
[0056] S103, the first data packet is distributed to the target pipeline unit, the target pipeline unit is called to process the first data packet according to the target routing information and output the second data packet.
[0057] Specifically, the first step is to distribute the first data packet to the target pipeline unit.
[0058] Regarding this step, in some possible implementations, the first data packet can be sent to the target pipeline unit via an internal data transmission path. In other possible implementations, routing information can be appended to the first data packet, and the first data packet can be guided to the target pipeline unit based on this routing information.
[0059] Furthermore, the target pipeline unit is invoked to process the first data packet according to the target routing information and output a second data packet. The second data packet refers to the output data message generated after the first data packet has been processed by the target pipeline unit, ready to be sent to the next-hop node or the final destination.
[0060] Regarding this step, in some possible implementations, the target pipeline unit can be invoked to perform relevant processing operations on the first data packet based on the target routing information to generate the second data packet. In other possible implementations, the target pipeline unit can be invoked to parse the first data packet and perform corresponding actions on it based on the target routing information and the parsing result to output the second data packet.
[0061] In this embodiment, the first input data packet is first received, the header of the first data packet is pre-parsed to obtain the destination MAC address, and the target routing information is determined based on the destination MAC address. Subsequently, based on the target routing information, the target virtual network element is determined from a plurality of pre-configured virtual network elements, and the target pipeline unit is determined from a plurality of pipeline units of the target virtual network element, wherein the plurality of pipeline units correspond to different network modes. Finally, the first data packet is distributed to the target pipeline unit, the target pipeline unit is invoked to process the first data packet according to the target routing information and output the second data packet. The above scheme dynamically determines the target pipeline unit and distributes data packets among multiple virtual network elements and their corresponding pipeline units. This enables a single or limited number of physical resources to support the processing tasks of multiple network modes, achieving the sharing and on-demand allocation of physical resources and significantly improving the resource utilization efficiency of multi-network mode communication. At the same time, since the data packets are accurately distributed to the target pipeline unit of the target virtual network element, the processing of different network modes is completed in their respective independent pipeline units, ensuring the isolation of processing logic between network modes, and thus effectively guaranteeing the resource isolation of multi-network mode communication.
[0062] In one embodiment, the step "determine the target routing information based on the destination MAC address" can be further refined and may include the following steps: The destination MAC address is parsed based on a preset MAC address parsing rule to obtain the target device number, the target virtual network element number, and the target network mode number; wherein, the MAC address parsing rule is used to indicate the bit structure in the destination MAC address used to identify the target device number, the target virtual network element number, and the target network mode number; If the target device number is the local device number, the target virtual network element number and the target network mode number are saved as target routing information.
[0063] Specifically, considering that in a network environment with multiple devices deployed, the destination media access control MAC address needs to be routed to the correct physical device first, and then located to the specific processing unit within the device, this embodiment proposes a hierarchical extraction scheme for device-level and device-internal routing information through preset MAC address resolution rules.
[0064] First, the destination MAC address needs to be resolved based on preset MAC address resolution rules to obtain the target device number, target virtual network element number, and target network mode number. The MAC address resolution rules refer to the protocol specifications that divide the 48-bit destination Media Access Control (MAC) address into multiple field segments. These specifications include the field length and position definitions for identifying the target device number, target virtual network element number, and target network mode number. The target device number is a unique numeric identifier that identifies a physical device instance; this identifier is used for device-level routing location among multiple physical devices. The target virtual network element number is a unique numeric identifier that identifies a virtual network element instance; this identifier is unique within a preset address space. The target network mode number is a numeric identifier that identifies a specific network communication type; this identifier has a preset mapping relationship with the pipeline unit carried within the virtual network element.
[0065] Regarding this step, in some possible implementations, the three bytes of data preset in the target media access control MAC address can be parsed by extracting them byte by byte. The first byte is parsed as the target device number, the second byte as the target virtual network element number, and the third byte as the target network mode number.
[0066] Furthermore, if the target device number is a local device number, the target virtual network element number and the target network mode number are saved as target routing information.
[0067] Regarding this step, firstly, the parsed target device number is compared with the local device number to determine whether the physical device receiving the first data packet is the destination device of the first data packet. If the comparison result indicates that the target device number is the local device number, the target virtual network element number and the target network mode number are saved as target routing information for subsequent addressing. If the comparison result indicates that the target device number is not the local device number, the first data packet is discarded.
[0068] For example, the following MAC address resolution rule can be adopted: the format of the destination MAC address is 02:1A:3B:SS:VV:PP; wherein, the first three bytes 02:1A:3B are fixed Organization Unique Identifiers (OUIs) used to identify the virtualized network devices of the present invention, and conform to the IEEE standard for local management addresses; the fourth byte SS is used to identify the target device number; the fifth byte VV is used to identify the target virtual network element number; and the sixth byte PP is used to identify the target network mode number. Based on this rule, when the first data packet is received, the destination MAC address is first pre-parsed to extract the target device number SS. When the target device number SS does not match the local device number, it is determined that the first data packet is not destined for the local device and is discarded. When the target device number SS matches the local device number, the target virtual network element number VV and the target network mode number PP in the destination MAC address are further parsed, and the subsequent target routing information is determined based on this, thereby accurately distributing the first data packet to the corresponding target pipeline unit within the target virtual network element for processing.
[0069] In this embodiment, by using preset MAC address resolution rules, predefined bits in the 48-bit destination Media Access Control (MAC) address are directly mapped to the target device number, target virtual network element number, and target network mode number, providing a hierarchical basis for packet routing decisions. Since device-level filtering and verification are performed using the target device number before determining the target routing information within the device, non-local packets are promptly discarded, avoiding invalid packet distribution and processing, and improving overall resource utilization efficiency and security. Simultaneously, the combined structure of the target virtual network element number and the target network mode number provides an identification basis for subsequent resource isolation within the flow table storage area.
[0070] In one embodiment, the above steps "determining the target virtual network element from among a plurality of pre-configured virtual network elements based on the target routing information, and determining the target pipeline unit from among a plurality of pipeline units of the target virtual network element" can be further refined and may include the following steps: Based on the target virtual network element number in the target routing information, determine the target virtual network element that uniquely corresponds to the target virtual network element number from among a plurality of pre-configured virtual network elements; The first mapping relationship pre-stored in the target virtual network element is queried according to the target network mode number, so as to determine the target pipeline unit that uniquely corresponds to the target network mode number among the multiple pipeline units of the target virtual network element.
[0071] Specifically, considering the need for efficient matching of the dynamic mapping relationship between virtual network elements and pipeline units in a multi-network modal environment, this embodiment proposes a positioning scheme based on hierarchical indexing.
[0072] To associate target routing information with virtualized resources, it is first necessary to determine the target virtual network element (VRB) uniquely corresponding to the target VRB number from a pre-configured pool of VRBs, based on the target VRB number in the target routing information. Then, based on the target network mode number, a pre-stored first mapping relationship is queried within the target VRB to determine the target pipeline unit uniquely corresponding to the target network mode number from among the multiple pipeline units of the target VRB. The first mapping relationship refers to a data structure stored within the determined VRB, used to index the correspondence between network mode numbers and the pipeline units carried by that VRB; for example, it can be represented as a mapping table.
[0073] Regarding this step, in some possible implementations, an index structure can be used. The target virtual network element (VRNF) number in the target routing information is used as the query keyword to match among multiple pre-configured VRNFs to determine the target VRNF. After determining the target VRNF, the target network mode number is further used as the query keyword to search within the first mapping relationship pre-stored in the target VRNF to determine the target pipeline unit uniquely corresponding to the target network mode number.
[0074] In this embodiment, a structured mapping scheme with step-by-step indexing is used. First, the target virtual network element number is used for rapid location at the virtual network element level. Then, within the identified virtual network element, the target network mode number is used for accurate location of pipeline units, achieving hierarchical matching of routing information and virtualized resources. This two-level indexing method avoids traversing all virtual network elements or pipeline units, improving location efficiency. Simultaneously, since the index structure of the first mapping relationship supports dynamic updates, the mapping relationship can be adjusted synchronously when the pipeline unit configuration within a virtual network element changes, thereby maintaining the accuracy of routing location in dynamic resource allocation scenarios. This embodiment provides a prerequisite for data packet distribution and processing in subsequent steps, thus linking resource isolation and processing efficiency in multi-network mode communication.
[0075] In one embodiment, the step of "calling the target pipeline unit to process the first data packet according to the target routing information and output the second data packet" can be further refined and may include the following steps: The target pipeline unit is invoked to parse the first data packet in order to determine the target logical sub-table number; Generate the target flow table address based on the target logical sub-table number, the target virtual network element number, and the target network mode number in the target routing information; Based on the target flow table address, the corresponding flow table entry is queried in the preset flow table storage area to determine the target processing action; The first data packet is processed according to the target processing action, and the second data packet is output.
[0076] Specifically, this embodiment proposes a flow table query and action mapping scheme based on three-level identifiers to achieve resource scheduling and action execution through flow table isolation mechanism in a multi-network modal environment.
[0077] First, the target pipeline unit needs to be invoked to parse the first data packet to determine the target logical sub-table number. The target logical sub-table number is a numeric identifier used to identify the sub-category of flow tables under the same virtual network element-network mode combination; this identifier has a mapping relationship with predefined flow table function types.
[0078] Regarding this step, in some possible implementations, flow table classification features can be extracted by parsing the protocol field of the first data packet, and the extracted flow table classification features can be used as the target logical sub-table number.
[0079] Furthermore, based on the target logical sub-table number, and the target virtual network element number and target network mode number in the target routing information, the target flow table address is generated. The target flow table address refers to the physical address that uniquely identifies the storage location of a flow table entry within the flow table storage area; this address is encoded by a combination of three levels of identifiers.
[0080] Regarding this step, in some possible implementations, the target virtual network element number, the target network mode number, and the target logical sub-table number can be concatenated according to a preset bit width, and the concatenation result can be used as the target flow table address.
[0081] Furthermore, based on the target flow table address, the corresponding flow table entry is queried in the preset flow table storage area to determine the target processing action. Here, the flow table storage area refers to the flow table storage space implemented based on dual-port SRAM and physically partitioned according to three levels of identifiers; a flow table entry refers to a data structure containing matching fields and action instructions, used to guide packet processing logic; and the target processing action refers to the sequence of operations specified by the flow table entry action instructions that must be executed by the target pipeline unit.
[0082] Regarding this step, in some possible implementations, the flow table storage area can be accessed through the target flow table address, the matching flow table entry can be read, and the action instruction in the flow table entry can be used as the target processing action.
[0083] Furthermore, the first data packet is processed according to the target processing action, and the second data packet is output.
[0084] Regarding this step, in some possible implementations, the operation type and parameters in the target processing action can be parsed, the operation type and parameters can be used as processing instructions, and operations such as modifying header fields or forwarding ports can be performed on the first data packet according to the processing instructions to generate the second data packet.
[0085] In this embodiment, the target pipeline unit is invoked to parse the first data packet to determine the target logical sub-table number. The target flow table address is then generated by combining the target virtual network element number and target network mode number from the target routing information, achieving precise location of flow table entries based on three-level identification. Subsequently, the corresponding flow table entry is queried in the preset flow table storage area based on the target flow table address to determine the target processing action. The first data packet is then processed according to this target processing action, and a second data packet is output. Thus, the three-level identification system ensures the isolation and independent access of flow table resources between different virtual network elements, different network modes, and different logical sub-tables, avoiding resource conflicts and guaranteeing the accuracy and security of data processing actions in a multi-network mode environment.
[0086] In one embodiment, the step of "processing the first data packet according to the target processing action and outputting the second data packet" can be further refined and may include the following steps: The first data packet is processed according to the target processing action to generate a second data packet, and target exit information is obtained; The corresponding target physical exit is determined by querying the pre-stored second mapping relationship based on the target exit information. The second data packet is sent through the target physical exit.
[0087] Specifically, considering the fully interconnected topology network environment containing multiple virtual network elements, in order to simplify the data forwarding path and maintain the consistency of the architecture, this embodiment proposes a scheme based on unified physical exit forwarding.
[0088] First, the first data packet needs to be processed according to the target processing action to generate a second data packet, and target exit information needs to be obtained. The target exit information refers to routing identification information generated by the target processing action, which indicates the final output path of the second data packet. This information contains parameters sufficient to determine a physical exit.
[0089] Regarding this step, in some possible implementations, the target exit information can be generated by parsing the exit parameters in the target processing action, and the target exit information can be associated with and stored with the second data packet.
[0090] Furthermore, it is necessary to query the pre-stored second mapping relationship based on the target egress information to determine the corresponding target physical egress, and then send the second data packet through the target physical egress. Here, the second mapping relationship refers to a routing index structure that stores the correspondence between target egress information and physical egress identifiers; the target physical egress refers to the physical interface determined by the second mapping relationship used to send the second data packet to an external network.
[0091] Regarding this step, in some possible implementations, the second mapping relationship can be queried through the target exit information to obtain the target physical exit identifier corresponding to the target exit information, and the second data packet can be sent through the physical interface indicated by the target physical exit identifier.
[0092] In this embodiment, by unifying the forwarding of all processed data packets through the physical egress point, inherent consistency with the fully interconnected topology network architecture is achieved. This simplifies the management logic of data packet forwarding paths and eliminates the complexity caused by distinguishing between intra-device and cross-device communication. Simultaneously, this unified forwarding strategy improves system scalability. When adding virtual network elements or adjusting the network topology, only the mapping relationship of the physical egress point needs to be updated, thereby reducing the complexity of network management and improving the resource utilization efficiency of multimodal communication.
[0093] In one embodiment, the method of this application may further include the following steps: Receive input resource configuration commands; According to the resource configuration instruction, the controller is invoked to apply for the required computing resources, storage resources and interface resources from the resource pool for the virtual network element corresponding to the resource configuration instruction and the network mode associated with the virtual network element, and the resource application result is obtained. If the resource request result indicates that the request was successful, address space addressing is performed based on the identifier of the virtual network element and the identifier of the network mode associated with the virtual network element to obtain the addressing result; the virtual network element and the network mode associated with the virtual network element are configured based on the addressing result. If the resource request result indicates that the request has failed, the resource configuration instruction will be rejected and an overload alarm will be triggered. The controller is used to record and update the idle or occupied status of each resource in the resource pool in real time.
[0094] Specifically, considering the need for accurate and reliable control of the resource allocation process when dynamically configuring virtual network elements in a multi-network modal environment, this embodiment proposes a phased resource allocation scheme based on a state-aware controller.
[0095] First, to achieve on-demand allocation of virtual network element resources, it is necessary to receive input resource configuration commands. These resource configuration commands are control instructions used to instruct the creation or modification of virtual network elements; they include resource allocation parameters and the virtual network element identifier. The source of these resource configuration commands can be configuration commands issued by an external management server through a management interface, or resource adjustment requests automatically triggered by the local system.
[0096] Regarding this step, in some possible implementations, externally sent resource configuration commands can be received through a PCIe interface or other types of physical interfaces or wireless communication interfaces.
[0097] Further, according to the resource configuration instruction, the controller is invoked to request the required computing resources, storage resources, and interface resources from the resource pool for the virtual network element corresponding to the resource configuration instruction and the network mode associated with the virtual network element, thereby obtaining the resource request result. Here, the controller refers to the entity or virtual software responsible for managing and scheduling system hardware resources; the resource pool refers to the set of all available hardware resources in the system, whose status is maintained by the controller in real time; computing resources refer to the processing power resources required for the operation of the virtual network element; storage resources refer to the storage space resources required for the operation of the virtual network element; interface resources refer to the communication bandwidth resources required for the operation of the virtual network element; and the resource request result refers to the status information generated by the controller after evaluating the resource request based on the current status of the resource pool, indicating whether the request was successful.
[0098] Regarding this step, in some possible implementations, the controller parses the resource allocation parameters in the resource configuration instruction, queries the idle or occupied status of each resource in its own maintained resource pool, and determines whether there are enough resources to satisfy the request. If so, a resource request result indicating successful request is generated; otherwise, a resource request result indicating failed request is generated.
[0099] Depending on the specific details indicated in the resource request results, the following two scenarios may occur: If the resource application result indicates a successful application, address space addressing needs to be performed based on the identifier of the virtual network element and the identifier of the network mode associated with the virtual network element to obtain the addressing result; the virtual network element and the network mode associated with the virtual network element are then configured based on the addressing result. Address space addressing refers to the process of allocating specific logical or physical address space to the virtual network element and its network mode that have successfully applied for resources; the addressing result refers to data containing address space allocation information.
[0100] Regarding this step, in some possible implementations, the system allocates an independent address space in the allocated storage resources as the addressing result based on the identifier of the virtual network element and the identifier of the network mode, and binds the specified hardware component to the address space according to the allocation result of the computing resources and interface resources, thereby completing the configuration of the virtual network element and the network mode.
[0101] If the resource request result indicates that the request has failed, the resource configuration instruction should be rejected and an overload alarm should be triggered.
[0102] Regarding this step, in some possible implementations, the system returns a resource configuration failure response to the source of the instruction, while activating an overload alarm mechanism that can log, send notifications to the administrator, or display warnings on the management interface.
[0103] In this embodiment, the concepts of controller and resource pool are introduced to achieve centralized and state-aware management of resource configuration. Through a phased application, addressing, and configuration process, subsequent configuration operations are ensured only when resources are guaranteed, avoiding configuration failures or system instability due to insufficient resources. Simultaneously, the rejection and alarm mechanisms in case of failure enhance the system's robustness and manageability.
[0104] In one embodiment, the method of this application may further include the following steps: Receive modal loading instructions for the virtual network element to be configured among multiple virtual network elements. The modal loading instructions carry the image of the network mode to be loaded. The image of the network modality to be loaded is signed and verified to obtain the verification result; After the verification result indicates that the signature verification is successful, extract the pipeline program and module configuration parameters from the image of the network modality to be loaded; Load the pipeline program into the idle programmable pipeline engine within the virtual network element to be configured; Configure the hardware acceleration module associated with the programmable pipeline engine according to the module configuration parameters; The programmable pipeline engine and hardware acceleration module are activated to form pipeline units in the virtual network element to be configured that correspond to the network mode to be loaded.
[0105] Specifically, considering the need for resource isolation and secure loading in a multi-network modal environment, this embodiment proposes a modal dynamic configuration scheme based on image verification.
[0106] To achieve uninterrupted dynamic deployment of network modalities, it is necessary to receive modal loading instructions for virtual network elements to be configured among multiple virtual network elements. These instructions carry an image of the network modal to be loaded. The virtual network element to be configured refers to the instance of the virtual network element for which a network modal needs to be added or updated; the modal loading instruction refers to the control signal used to trigger the modal loading operation; and the image of the network modal to be loaded refers to a standardized data file encapsulating the network modal processing logic and dependency configurations. The source of the modal loading instructions for the virtual network elements to be configured can be a command issued by an external management server through a management interface, or a request automatically generated by the local system based on resource status; these will not be listed here.
[0107] Regarding this step, in some possible implementations, the modal loading instruction of the virtual network element to be configured can be received through the management interface, and the image of the network modal to be loaded can be stored in a temporary cache for subsequent processing.
[0108] Furthermore, to ensure the integrity and security of the loading process, the image of the network modality to be loaded needs to be signed and verified to obtain a verification result. The verification result refers to binary state information indicating whether the signature verification passed or failed.
[0109] Regarding this step, in some possible implementations, a preset hash algorithm can be used to perform integrity verification on the image of the network modality to be loaded, and the verification result can be compared with the pre-stored signature value to generate a verification result.
[0110] Furthermore, after the verification result indicates that the signature verification is successful, the pipeline program and module configuration parameters need to be extracted from the image of the network modality to be loaded. The pipeline program refers to the executable code used to define the data processing logic of the network modality; the module configuration parameters refer to the dataset used to configure the running state of the hardware acceleration module.
[0111] Regarding this step, in some possible implementations, the image header fields of the network modality to be loaded can be parsed to extract the pipeline program and module configuration parameters, and the pipeline program can be stored in the modality program storage area.
[0112] Furthermore, the pipeline program is loaded into an idle programmable pipeline engine within the virtual network element to be configured. This programmable pipeline engine can be a processing engine built using the P4 language to perform data processing tasks.
[0113] Regarding this step, in some possible implementations, the resource pool within the virtual network element to be configured can be scanned, an idle programmable pipeline engine can be located, and the pipeline program can be written into the instruction store of that engine to complete the loading.
[0114] Furthermore, based on the module configuration parameters, the hardware acceleration module associated with the programmable pipeline engine is configured. This hardware acceleration module refers to a dedicated hardware component used to accelerate general data processing operations, such as a cyclic redundancy check module or an advanced encryption standard module.
[0115] Regarding this step, in some possible implementations, the configuration items in the module configuration parameters can be parsed and written into the control register of the hardware acceleration module to complete the initialization configuration.
[0116] Furthermore, the programmable pipeline engine and hardware acceleration module need to be activated to form the pipeline unit corresponding to the network mode to be loaded in the virtual network element to be configured.
[0117] Regarding this step, in some possible implementations, a start command can be sent to the programmable pipeline engine and hardware acceleration module to put them into an operable state, forming a pipeline unit in the virtual network element to be configured that corresponds to the network mode to be loaded.
[0118] In this embodiment, by verifying the signature of the image of the network modality to be loaded, the legality and integrity of the processing logic loaded into the virtual network element to be configured are ensured. At the same time, by extracting the pipeline program and module configuration parameters from the image and dynamically loading them into the idle programmable pipeline engine and associated hardware acceleration module in the virtual network element to be configured, a pipeline unit corresponding to the network modality to be loaded is formed, realizing the on-demand deployment of network modalities and the accurate allocation of hardware resources, thereby improving the flexibility of deployment and the utilization rate of resources.
[0119] In one embodiment, multiple virtual network elements are configured on the same FPGA board or multiple interconnected FPGA boards; The FPGA board includes an intelligent scheduling module, which is configured to perform a pre-parsing task for the first data packet to obtain the target routing information, and to distribute the first data packet to the target pipeline unit according to the target routing information. The programmable pipeline engine in the pipeline unit is built based on the P4 language.
[0120] Specifically, in terms of hardware, considering the need for dynamic resource scheduling and cross-device collaboration in a multi-network modal environment, this embodiment proposes an FPGA hardware virtualization deployment architecture scheme that integrates an intelligent scheduling module.
[0121] An intelligent scheduling module is deployed on the FPGA board. This intelligent scheduling module is a dedicated hardware logic unit deployed on the FPGA board, responsible for preprocessing and distributing the input first data packet. Its core functions include: performing a pre-parsing task on the first data packet to obtain the target routing information; and accurately distributing the first data packet to the target pipeline unit according to the target routing information. For the specific process of the intelligent scheduling module performing the pre-parsing task and distributing the data packet, please refer to the steps in the relevant embodiments above; they will not be repeated here.
[0122] In some cases, multiple virtual network elements are configured on the same FPGA board. Specifically, the same FPGA board allocates independent computing, storage, and interface resources to multiple virtual network elements through hardware logical partitioning technology. The intelligent scheduling module distributes the first data packet directly to the target pipeline unit of the target virtual network element based on the target routing information within the device. The flow table resources between each virtual network element are physically isolated through three-level identification.
[0123] In some cases, multiple virtual network elements are configured on multiple interconnected FPGA boards. Specifically, multiple FPGA boards establish a fully interconnected topology through high-speed physical optical ports. After determining the target routing information, if cross-device communication is required, the intelligent scheduling module sends the first data packet to other FPGA boards through a pre-configured physical exit. The intelligent scheduling module on the target board then continues to distribute the data, thereby realizing cross-device virtual network element communication.
[0124] In terms of software, considering the diversity of network modalities and the need for dynamic adaptation, this embodiment proposes a flexible processing architecture based on a programmable pipeline.
[0125] Specifically, the programmable pipeline engine in the pipeline unit is built based on the P4 language. P4 is a domain-specific language used to define network packet processing logic, supporting dynamic reconfiguration of the parser, match-action unit, and forwarder processing flow. Through this programmable pipeline engine built on the P4 language, a programmable packet processing pipeline architecture is constructed.
[0126] In this embodiment, by integrating the intelligent scheduling module onto an FPGA board and combining it with a programmable pipeline engine built on the P4 language and hardware virtualization technology, effective decoupling and collaborative operation between packet preprocessing and distribution and service processing logic are achieved. The intelligent scheduling module handles rapid packet parsing and routing decisions, reducing the burden on the service processing pipeline, while the programmable pipeline engine focuses on in-depth processing of packets according to specific network modalities. This collaborative architecture not only ensures the efficiency and resource isolation of multi-network modal communication but also enhances the system's flexibility and scalability, providing a foundation for virtual network element management in multi-network modal environments.
[0127] In one embodiment, to facilitate understanding of the content of this application regarding hardware platform construction and initialization, virtual network element creation and configuration, and data processing flow, a specific implementation of FPGA-based hardware deployment, virtual network element resource allocation, and data packet processing mechanisms is provided.
[0128] Specifically, this embodiment uses a Xilinx Versal Premium series FPGA (model VC1902) board to build a hardware platform. This FPGA board integrates an AI engine, programmable logic, and an ARM processor. Multiple virtual network elements are configured on the same FPGA board, and this hardware platform serves as a carrier for virtual network element communication methods supporting multiple network modes. In the hardware architecture of this embodiment, the FPGA board integrates an intelligent scheduling module, which is used to perform packet pre-parsing and distribution tasks.
[0129] The hardware configuration includes a core processing unit containing eight programmable pipeline engines built on the P4 language (each supporting 256 instruction depths) and four ARM Cortex-A72 processors (for system management); storage resources include a modal program memory area (8MB SRAM, partitioned by modal ID, 512KB per area), a flow table memory area (32MB dual-port SRAM), and a data buffer area (128MB DDR4, used for temporary packet buffering, supporting 16KB frame length); interface resources include 16 100Gbps QSFP28 optical ports (supporting LR4 / DR4 optical modules), 4 10Gbps SFP+ electrical ports (for management and debugging), and 1 PCIe 4.0 x16 interface (for connecting to an external management server); the clock and synchronization module uses a built-in OCXO temperature-controlled crystal oscillator (frequency stability ±50ppb) and supports IEEE 1588 PTPv2 precise time synchronization.
[0130] The hardware initialization process includes the following steps: After the FPGA board is powered on, the firmware startup program is executed to complete the internal logic configuration and self-test; each storage area is initialized (the flow table storage area is cleared, and the partition table of the modal program storage area is initialized); the interface module is configured (the optical port rate is set to 100Gbps, 802.3x flow control is enabled, and PTP synchronization parameters are configured); the management interface is started (the PCIe link is initialized, and a communication channel with the external management server is established); and the system performs a self-test (verifying the functional integrity of the programmable pipeline engine, storage area, and interface, and generating a self-test report).
[0131] Subsequently, the management software of the external management server (configured with an Intel Xeon Gold 6448H processor and 128GB of memory) receives the input resource configuration commands and executes the aforementioned resource configuration process.
[0132] The specific steps include configuring virtual network element parameters: creating multiple virtual network elements in the management software and generating resource configuration instructions that include IDs, resource quotas, and interface mapping relationships. For example, a resource configuration instruction may specify that virtual network element 0x0001 should request 10Gbps bandwidth, 2MB flow table space, and bind optical ports 1-4.
[0133] Configuration Issuance and Activation: The external management server issues resource configuration commands to the FPGA board's controller via the PCIe interface. The controller parses the resource configuration commands and requests the necessary computing, storage, and interface resources for the virtual network element 0x0001 from its maintained resource pool, obtaining the resource request result. If the resource request result indicates success, the controller performs address space addressing based on the virtual network element identifier (0x0001), allocates an independent partition for the virtual network element in the flow table storage area (e.g., base address 0x00000000-0x001FFFFF), and completes the configuration. If the resource request result indicates failure, the controller rejects the resource configuration command and triggers an overload alarm to the external management server.
[0134] Initialize virtual MAC address: The controller generates virtual MAC addresses according to rules (vendor prefix 00-1A-2B), for example, virtual network element 0x0001 corresponds to 00-1A-2B-00-01-00; update the "virtual network element identifier-MAC address" mapping table, which is the first mapping relationship mentioned above used to locate pipeline units within the virtual network element, and is stored in the controller's private storage area.
[0135] Creation result verification: The controller returns the virtual network element creation result (success / failure reason); the management software queries the resource allocation status of each virtual network element to confirm whether the flow table partition and bandwidth quota have taken effect; and sends test frames through the debug interface to verify the reachability of the virtual MAC address.
[0136] The following data processing flow illustrates the process of receiving, routing, processing, and forwarding data packets: First, receive the first incoming data packet, such as a 5G data packet with a destination MAC address of 00-1A-2B-00-01-01.
[0137] Next, the intelligent scheduling module pre-parses the header of the first data packet to obtain the destination MAC address, and determines the target routing information according to the aforementioned steps. The intelligent scheduling module parses the MAC address and extracts the target device number (0x00). This step is based on a preset MAC address parsing rule, that is, the 4th byte of the destination MAC address is used to identify the target device number. Since the target device number is consistent with the local device number, the intelligent scheduling module further parses the lower 16 bits of the destination MAC address to extract the target virtual network element number (0x0001) and the target network mode number (1), and saves both as the target routing information.
[0138] Then, following the steps described above, the intelligent scheduling module determines the target virtual network element from among the pre-configured virtual network elements based on the target virtual network element number (0x0001) in the target routing information; subsequently, it queries the first mapping relationship pre-stored in the target virtual network element based on the target network mode number (1) and determines the target pipeline unit (5G mode processing unit) that uniquely corresponds to the target network mode number from among the multiple pipeline units of the target virtual network element.
[0139] Subsequently, the intelligent scheduling module distributes the first data packet to the target pipeline unit, and calls the target pipeline unit to process the first data packet according to the aforementioned steps and output the second data packet. Specifically, this includes: calling the target pipeline unit to parse the first data packet to determine the target logical sub-table number (e.g., 01); generating a target flow table address (0x01+0x01+0x01) based on the target logical sub-table number (01), the target virtual network element number (01) and the target network mode number (01) in the target routing information; querying the corresponding flow table entry in the preset flow table storage area based on the target flow table address to determine the target processing action (flow table instruction); processing the first data packet according to the target processing action to generate the second data packet, and obtaining the target exit information.
[0140] Finally, following the aforementioned steps, the intelligent scheduling module queries the pre-stored second mapping relationship based on the target exit information to determine the corresponding target physical exit, and sends the second data packet through the target physical exit, for example, by forwarding according to flow table instructions.
[0141] In this embodiment, the deployment of a multimodal network is achieved by integrating the hardware resources of the Xilinx Versal Premium VC1902 FPGA board; the aforementioned resource configuration scheme based on controllers and resource pools is used to achieve reliable on-demand allocation of virtual network element resources; and the aforementioned intelligent scheduling module and programmable pipeline engine built based on the P4 language are combined to realize the end-to-end process of data packets from reception, parsing, distribution to target pipeline unit processing, ensuring resource isolation and processing performance.
[0142] In one embodiment, for a better understanding of the present application's content regarding the virtual network element communication method supporting multiple network modes, please refer to [link to relevant documentation]. Figure 2 , Figure 2 This is a schematic diagram of the functional architecture of the virtual network element provided in the embodiments of this application.
[0143] Specifically, Figure 2 The functional architecture shown corresponds to the architecture of the virtual network element in this application, wherein: the core packet processing unit is a unit used to perform packet processing operations, such as including a pipeline unit; the dedicated acceleration processing unit is a unit that works with the core packet processing unit to achieve accelerated packet processing, such as including a hardware acceleration module; the storage management area is an area used to store and manage flow table entries; the intelligent scheduling module is a module used to perform packet header pre-parsing, media access control MAC address identification, and packet distribution; and the interface adaptation layer is used to adapt this functional architecture to external interfaces to complete packet input and output.
[0144] In this embodiment, when executing the virtual network element communication method supporting multiple network modes of this application, the interface adaptation layer receives the input first data packet and transmits it to the intelligent scheduling module; the intelligent scheduling module pre-parses the header of the first data packet to obtain the Media Access Control (MAC) address, then determines the routing information based on the address, and distributes the first data packet to the data packet core processing unit according to the routing information; the data packet core processing unit calls the associated dedicated acceleration processing unit, processes the first data packet in combination with the routing information, and retrieves the required flow table entries from the storage management area; finally, the data packet core processing unit outputs the second data packet, which is then processed by the intelligent scheduling module and the interface adaptation layer to complete the subsequent transmission operation.
[0145] In one embodiment, please refer to Figure 3 , Figure 3 This is a schematic diagram illustrating the processing flow of business messages provided in the embodiments of this application.
[0146] Specifically, the service message can be one of the data packets (e.g., the first data packet) involved in this embodiment. The service message is first transmitted to the port, and the port transmits the service message to the intelligent pre-parsing distribution; after processing the service message, the intelligent pre-parsing distribution distributes the service message to the pipeline unit under the corresponding service mode of the specified virtual network element according to preset rules; the pipeline unit contains PARSER, MAU and DEPARSER connected in sequence. After the service message enters the pipeline unit, it is processed by PARSER, MAU and DEPARSER in sequence; the service message processed by DEPARSER is transmitted to the intelligent pre-parsing distribution, and then transmitted to the port by the intelligent pre-parsing distribution, and finally the port transmits the processed service message outward.
[0147] Among them, PARSER is the parsing function module within the pipeline unit, used to parse and process the service messages input to the pipeline unit to obtain the relevant information corresponding to the service message; MAU is the service processing function module within the pipeline unit, used to process the service messages processed by PARSER according to the preset service logic; DEPARSER is the de-parsing function module within the pipeline unit, used to de-parse the service messages processed by MAU to convert the processed service messages into a form that meets the requirements of subsequent transmission.
[0148] In this embodiment, the port is used to carry the input and output transmission of service packets; the intelligent pre-parsing distribution is used to receive service packets, perform pre-parsing operations, and distribute them to the corresponding service modes of the specified virtual network element; the pipeline unit is the service packet processing unit, where PARSER, MAU, and DEPARSER are functional modules that perform different processing steps within the pipeline unit, and each module cooperates to complete the corresponding processing of the service packets; the port, intelligent pre-parsing distribution, and pipeline unit together constitute the service packet processing link to realize the processing and transmission of service packets.
[0149] In one embodiment, for easier understanding of the configuration, querying, and address location of flow table configurations based on three-level flow table isolation in this application, please refer to [link to relevant documentation]. Figure 4 , Figure 4 This is a schematic diagram of a flow table configuration and query device provided in an embodiment of this application. The virtual network element ID is used to represent a specific virtual network element.
[0150] Specifically, Figure 4The device shown includes a virtual network element ID (VNAID), configured to implement three-level flow table isolation and accurately locate flow table configuration addresses. For the VNAID, there are also flow table entry write interface bus, flow table entry read interface bus, flow table query request interface bus, and flow table query response interface bus. The flow table entry write interface bus transmits flow table entries to be written to the VNAID; the flow table entry read interface bus retrieves stored flow table entries from the VNAID; the flow table query request interface bus sends flow table query request information to the VNAID; and the flow table query response interface bus allows the VNAID to send response information corresponding to the flow table query request to the outside world.
[0151] In this embodiment, the virtual network element ID contains multiple flow table modules corresponding to multiple modal IDs. Specifically, these may include flow table modules corresponding to modal ID0, modal ID1, modal ID2, and modal ID3, where modal ID0, modal ID1, modal ID2, and modal ID3 represent four different network modes. Each flow table module corresponding to a modal ID is equipped with multiple tri-state content addressing memories, namely TCAM0, TCAM1, TCAM2, and TCAM3. Each tri-state content addressing memory is divided into multiple storage units with different bit widths, and the bit width range of the storage units can cover various combinations from 1 bit to 80 bits (e.g., 1-80 bits, 2-80 bits, ..., 31-80 bits, etc.). At the same time, each tri-state content addressing memory is associated with a corresponding modal sub-table 0, which is used to cooperate with the corresponding tri-state content addressing memory to complete the storage, matching, and retrieval of flow table entries.
[0152] In one embodiment, for easier understanding of the content of this application regarding data transmission and virtual network element access deployment in the network architecture, please refer to [link to relevant documentation]. Figure 5 , Figure 5 This is a schematic diagram illustrating the deployment of a layered network architecture and virtual network elements provided in the embodiments of this application.
[0153] Specifically, Figure 5The architecture shown includes a Spine switch, at least two Leaf switches, and multiple virtual network elements. The Spine switch serves as the core device of this network architecture, and each Leaf switch establishes a communication connection with the Spine switch. Each Leaf switch connects to multiple virtual network elements. For example, in the diagram, one Leaf switch connects to virtual network elements 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and 11, as well as virtual network elements numbered N, N+1, N+2, and N+3. The other Leaf switch connects to virtual network elements numbered N+4, N+5, N+6, N+7, N+8, N+9, N+10, and N+11.
[0154] It should be noted that Spine switches and Leaf switches are two types of network devices in the layered network architecture of this embodiment. Among them, Spine switches are the core layer devices of this network architecture, used to interconnect different Leaf switches; Leaf switches are the access layer devices of this network architecture, used to connect virtual network elements and Spine switches. The connection relationship between Spine switches and at least two Leaf switches, and the connection relationship between Leaf switches and multiple virtual network elements, represent the deployment form of these two types of devices in the network architecture of this embodiment.
[0155] In this embodiment, the Spine switch is used to realize data interaction and forwarding between different Leaf switches, and the Leaf switch is used to carry data transmission between each virtual network element connected to it and the Spine switch; the aforementioned virtual network element can be a type of network access node, which accesses the network architecture through the Leaf switch to realize the transmission of corresponding access data in the network architecture.
[0156] On the other hand, embodiments of this application also provide a communication system, which includes an FPGA board, the FPGA board including multiple virtual network elements, and the virtual network elements including multiple corresponding pipeline units; The communication system is capable of executing the steps of the virtual network element communication method supporting multiple network modes provided in the above embodiments, including, for example: Receive the first incoming data packet, pre-parse the header of the first data packet to obtain the destination MAC address, and determine the target routing information based on the destination MAC address; Based on the target routing information, the target virtual network element is determined from among multiple pre-configured virtual network elements, and the target pipeline unit is determined from among multiple pipeline units of the target virtual network element; wherein, the multiple pipeline units correspond to different network modes. The first data packet is distributed to the target pipeline unit, which then processes the first data packet according to the target routing information and outputs the second data packet.
[0157] It should be noted that the communication system provided in this application embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.
[0158] On the other hand, embodiments of this application also provide a non-transitory computer-readable storage medium storing a computer program. The computer program is used to cause a processor to execute the steps of the methods provided in the above embodiments, including, for example: Receive the first incoming data packet, pre-parse the header of the first data packet to obtain the destination MAC address, and determine the target routing information based on the destination MAC address; Based on the target routing information, the target virtual network element is determined from among multiple pre-configured virtual network elements, and the target pipeline unit is determined from among multiple pipeline units of the target virtual network element; wherein, the multiple pipeline units correspond to different network modes. The first data packet is distributed to the target pipeline unit, which then processes the first data packet according to the target routing information and outputs the second data packet.
[0159] Non-transitory computer-readable storage media can be any available medium or data storage device that can be accessed by a processor, including but not limited to magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MOs), etc.), optical storage (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor storage (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND flash), solid-state drives (SSDs)).
[0160] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods of various embodiments or some parts of embodiments.
[0161] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A virtual network element communication method supporting multiple network modes, characterized in that, include: The system receives the first input data packet, performs pre-parsing on the header of the first data packet to obtain the destination Media Access Control (MAC) address, and determines the target routing information based on the destination MAC address. Based on the target routing information, a target virtual network element is determined from a plurality of pre-configured virtual network elements, and a target pipeline unit is determined from a plurality of pipeline units of the target virtual network element; wherein, the plurality of pipeline units correspond to different network modes. The first data packet is distributed to the target pipeline unit, which then processes the first data packet according to the target routing information and outputs the second data packet.
2. The method according to claim 1, characterized in that, Determining the target routing information based on the destination MAC address includes: The destination MAC address is parsed based on a preset MAC address parsing rule to obtain the target device number, the target virtual network element number, and the target network mode number; wherein, the MAC address parsing rule is used to indicate the bit structure in the destination MAC address used to identify the target device number, the target virtual network element number, and the target network mode number; If the target device number is the local device number, the target virtual network element number and the target network mode number are saved as target routing information.
3. The method according to claim 1, characterized in that, The step of determining a target virtual network element from a plurality of pre-configured virtual network elements based on the target routing information, and determining a target pipeline unit from a plurality of pipeline units of the target virtual network element, includes: Based on the target virtual network element number in the target routing information, determine the target virtual network element that uniquely corresponds to the target virtual network element number from among a plurality of pre-configured virtual network elements; The first mapping relationship pre-stored in the target virtual network element is queried according to the target network mode number, so as to determine the target pipeline unit that uniquely corresponds to the target network mode number among the multiple pipeline units of the target virtual network element.
4. The method according to claim 1, characterized in that, The step of invoking the target pipeline unit to process the first data packet and output the second data packet according to the target routing information includes: The target pipeline unit is invoked to parse the first data packet in order to determine the target logical sub-table number; The target flow table address is generated based on the target logical sub-table number, the target virtual network element number, and the target network mode number in the target routing information; Based on the target flow table address, the corresponding flow table entry is queried in the preset flow table storage area to determine the target processing action; The first data packet is processed according to the target processing action, and the second data packet is output.
5. The method according to claim 4, characterized in that, The step of processing the first data packet and outputting the second data packet according to the target processing action includes: The first data packet is processed according to the target processing action to generate a second data packet, and target exit information is obtained; The corresponding target physical exit is determined by querying the pre-stored second mapping relationship based on the target exit information. The second data packet is sent through the target physical exit.
6. The method according to claim 1, characterized in that, The method further includes: Receive input resource configuration commands; According to the resource configuration instruction, the controller is invoked to apply for the required computing resources, storage resources and interface resources from the resource pool for the virtual network element corresponding to the resource configuration instruction and the network mode associated with the virtual network element, and the resource application result is obtained. If the resource request result indicates that the request was successful, address space addressing is performed based on the identifier of the virtual network element and the identifier of the network mode associated with the virtual network element to obtain the addressing result; the virtual network element and the network mode associated with the virtual network element are configured based on the addressing result. If the resource request result indicates that the request has failed, the resource configuration instruction will be rejected and an overload alarm will be triggered. The controller is used to record and update the idle or occupied status of each resource in the resource pool in real time.
7. The method according to claim 1, characterized in that, The method further includes: Receive a modal loading instruction for the virtual network element to be configured among the plurality of virtual network elements, wherein the modal loading instruction carries an image of the network mode to be loaded; The image of the network mode to be loaded is subjected to signature verification to obtain the verification result; After the verification result indicates that the signature verification is successful, the pipeline program and module configuration parameters are extracted from the image of the network modality to be loaded. Load the pipeline program into the idle programmable pipeline engine within the virtual network element to be configured; Configure the hardware acceleration module associated with the programmable pipeline engine according to the module configuration parameters; The programmable pipeline engine and the hardware acceleration module are activated to form the pipeline unit in the virtual network element to be configured that corresponds to the network mode to be loaded.
8. The virtual network element communication method supporting multiple network modes according to any one of claims 1 to 7, characterized in that, The multiple virtual network elements are configured on the same field-programmable gate array (FPGA) board or multiple interconnected FPGA boards. The FPGA board includes an intelligent scheduling module, which is configured to perform a pre-parsing task for the first data packet to obtain the target routing information, and to distribute the first data packet to the target pipeline unit according to the target routing information. The programmable pipeline engine in the pipeline unit is built based on the P4 language.
9. A communication system, characterized in that, The communication system includes an FPGA board, which includes multiple virtual network elements, and each virtual network element includes multiple corresponding pipeline units. The communication system is configured to perform the steps of the virtual network element communication method supporting multiple network modes as described in any one of claims 1 to 8.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the virtual network element communication method supporting multiple network modes as described in any one of claims 1 to 8.