Programmable multi-modal message forwarding device and method based on FPGA
Through a programmable multimodal message forwarding device based on FPGA, multiple PPU array modules are used to process multimodal messages in parallel, and dynamic incremental programming is supported, which solves the low packet processing efficiency and modularity in multimodal network environment. The problem of difficult coexistence of state isolation has achieved efficient and secure message forwarding and resource utilization.
Patent Information
- Application Number
- CN202411458731.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-18
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-10-18
AI Technical Summary
In a multimodal network environment, it is difficult for the prior art to efficiently and flexibly process multiple network mode messages, and it is difficult to achieve the isolation and coexistence of multiple network modes on a unified network infrastructure.
The programmable multimodal message forwarding device based on FPGA is adopted to process multimodal messages in parallel through multiple PPU array modules, and supports dynamic incremental programming. Action instructions of different modes are stored in independent physical areas, ensuring the isolation and coexistence of multiple network modes.
It significantly improves the processing efficiency of message forwarding, realizes the isolation and coexistence of multiple network modes on a unified network infrastructure, improves the security and resource utilization of the system, and has the characteristics of easy maintenance and upgrade.
Smart Images

Figure CN118972339B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communications, and in particular to a programmable multi-modal message forwarding device and method based on FPGA. Background Art
[0002] With the rapid development of network technology, multimodal network environment has gradually become an important trend in modern communication networks. Multimodal network combines multiple network technologies, such as IP, named data network, geolocation network, etc., to enhance the network's ability to carry multiple services. However, in a multimodal network environment, how to efficiently and flexibly process multiple network modal messages and ensure that these messages coexist in isolation on a unified network infrastructure is an important technical challenge currently faced.
[0003] Currently, network element devices such as routers and switches mostly use network processors (NPs) for message forwarding, but the NP instruction set is limited and it is difficult to adapt to the needs of multi-modal networks. At the same time, traditional multi-core software systems have high system overhead and low efficiency when forwarding messages. Although P4-based programmable network technology provides a certain degree of programmability, its forwarding pipeline resource utilization is low, making it difficult to achieve multi-modal isolated coexistence. Summary of the invention
[0004] In order to overcome the shortcomings of the prior art, the present invention provides a programmable multi-modal message forwarding device and method based on FPGA, which greatly improves the processing efficiency by using multiple PPU array modules to process multi-modal messages in parallel, and has the flexibility of dynamic incremental programming. The action instructions of different modes are stored in independent physical areas, ensuring the isolation and coexistence of multiple network modes on the same network infrastructure, enhancing security and avoiding interference.
[0005] According to the design scheme provided by the present invention, on the one hand, a programmable multi-modal message forwarding device based on FPGA is provided, comprising:
[0006] A plurality of MAC receiver modules, for receiving multimodal messages from the outside and transmitting them to the aggregation module;
[0007] Aggregation module; used to aggregate the received multimodal messages and transmit them to the distribution module;
[0008] A distribution module, used for distributing the received multimodal messages to the PPU array module according to a polling scheduling strategy;
[0009] The PPU array module includes multiple PPU processing units. Each PPU processing unit pre-parses the received multi-modal message, determines the modal ID and maps the action instruction base address according to the modal ID, jumps to the address to execute the corresponding action instruction, and processes the multi-modal message according to the action instruction;
[0010] A configurable flow table module communicates with the PPU array module to provide the flow table information required for multi-modal message processing;
[0011] Host application software and driver software, used to obtain physical storage location information of action instructions of pre-deployed modes, physical storage location information of modal flow tables, modal action instruction information and modal flow table information, and dynamically configure action instructions in the PPU array module and flow table information in the configurable flow table module;
[0012] High-precision queue scheduling module, used to classify and schedule messages according to message priority and modality ID, and output the multimodal messages processed by the PPU array module to the MAC transmitter according to the configured scheduling algorithm;
[0013] The MAC transmitter forwards the received modal messages.
[0014] The action instructions in the dynamic configuration PPU array module and the flow table information in the configurable flow table module include:
[0015] Obtaining action instruction physical storage location information, modal flow table physical storage location information, modal action instruction information, and modal flow table information from a network modality orchestrator device and a network modality integrated development device;
[0016] The DMA controller controls the bus to write the modal action instructions of the pre-deployed modality into the action instruction storage physical location in the PPU processing unit, and writes the modal flow table information of the pre-deployed modality into the modal flow table information physical location.
[0017] As a programmable multi-modal message forwarding device based on FPGA of the present invention, further, the PPU processing unit includes a storage unit, a DMA read and write control unit, a matching control unit, a microcontroller unit and a modality ID storage location mapping table unit, wherein:
[0018] The storage unit uses BRAM to realize the action code storage space, and the storage unit is divided into multiple physically divided modal action instruction physical storage areas through configuration;
[0019] The matching control unit processes the matching request submitted by the microcontroller unit, initiates the matching request to the configurable flow table module in TDM mode, and processes the received matching response data;
[0020] The microcontroller unit obtains the modal ID number through pre-analysis, maps the modal ID number into the modal processing action instruction base address, and uses the RV32I instruction stored at the base address to complete the parsing, matching action, and inverse parsing of the current module message.
[0021] As a programmable multi-modal message forwarding device based on FPGA of the present invention, further, the PPU processing unit adopts the RV32I instruction set architecture, which is used to execute all action instructions related to message forwarding processing, and can process known and unknown multiple network modal messages.
[0022] As a programmable multimodal message forwarding device based on FPGA of the present invention, further, each PPU processing unit in the PPU array module determines the action instruction base address of the current mode according to the modality ID in the message in the pre-parsing stage, and executes the corresponding action instruction.
[0023] As a programmable multi-modal message forwarding device based on FPGA of the present invention, further, the action instructions include: message parsing, message header modification, message header deletion, and querying a configurable flow table module.
[0024] In another aspect, the present invention provides a programmable multi-modal message forwarding method based on FPGA.
[0025] include:
[0026] Obtaining modal action instruction physical storage location information, modal flow table physical storage location information, modal action instruction information, and modal flow table information from the network modal orchestrator device and the network modal integrated development device respectively through the local host runtime service software;
[0027] By means of the local host agent software and the DMA controller driver, the DMA controller is used to control the bus to write the modal action instruction of the pre-deployed modality into the action instruction storage physical location, and the modal flow table information is written into the modal flow table information physical location;
[0028] Multiple MAC receiver modules receive multimodal messages, aggregate the messages, and distribute the messages to multiple PPU processing units according to the polling scheduling strategy;
[0029] Multiple PPU processing units process multi-modal messages in parallel. Each PPU processing unit pre-parses the input message, parses the modal ID and maps it to the action instruction base address of the current modality, jumps to the base address to execute the modal action instruction, and after the current modal action instruction is executed, jumps to the pre-parsed instruction base address to continue execution;
[0030] The processed message is output by the PPU processing unit to the high-precision queue scheduling module, which is used to assign the message to different scheduling queues according to the port number, priority and mode ID of the message, and schedule it through the configured scheduling algorithm, and finally send the message through the MAC transmitter.
[0031] Beneficial effects of the present invention:
[0032] The programmable multimodal message forwarding device and method based on FPGA proposed in the present invention significantly improves the processing efficiency of message forwarding by adopting multiple PPU array modules to process multimodal messages in parallel, and has the flexibility of dynamic incremental programming. The device supports the storage of action instructions of different modes in independent physical areas, realizes the isolated coexistence of multiple network modes on a unified network infrastructure, which not only improves the security of the system, but also avoids mutual interference between different modes. At the same time, all forwarding resources exist in a shared manner, which effectively improves resource utilization. In addition, the present invention also has the characteristics of easy maintenance and upgrading, and performs maintenance and management of modal action instructions through a unified loading interface, reducing maintenance costs and time. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 It is a schematic diagram of the system architecture of the programmable multi-modal message forwarding device based on FPGA of the present invention. DETAILED DESCRIPTION
[0034] In order to make the purpose, technical solutions and advantages of the present invention clearer and more understandable, the present invention is further described in detail below in conjunction with the accompanying drawings and technical solutions.
[0035] The present invention relates to a programmable multi-modal message forwarding device based on FPGA and a method thereof, which can efficiently process and forward messages of multiple network modes in a multi-modal network environment, and support dynamic incremental programming to ensure the isolated coexistence of different network modes. The specific implementation methods are as follows:
[0036] Embodiment 1: A programmable multi-modal message forwarding device based on FPGA,
[0037] This invention takes XilinxXC7Z100FPGA chip as an example to introduce the structure of the device and its message processing flow. The device is mainly composed of the following modules:
[0038] MAC receiver module: used to receive external multi-modal messages and transmit them to the aggregation module. Taking the 10GMAC receiver as an example, it receives messages from different network modes and aggregates them with the messages received through the AXI-ST interface.
[0039] Aggregation module and distribution module: The aggregation module aggregates the messages from the MAC receiver, and then distributes the messages to multiple PPU processing units according to the polling scheduling strategy through the distribution module.
[0040] PPU array module: The PPU array contains 32 PPU processing units, which are responsible for parallel processing of multi-modal messages. Each PPU processing unit includes the following components:
[0041] BRAM storage unit: used to store action instructions of multi-modal messages. BRAM is divided into multiple physical areas according to modality requirements.
[0042] DMA read / write control unit: performs data transmission through ping-pong mechanism and hides the message scheduling time.
[0043] Microcontroller unit: responsible for pre-parsing the message, extracting the modality ID, and mapping it to the corresponding action instruction base address. The microcontroller unit completes the message parsing, modification, matching and other operations by executing the RV32I instruction set.
[0044] Matching control unit: initiates a matching request to the configurable flow table module, processes the matching results, and submits the matching results to the micro control unit.
[0045] Configurable flow table module: communicates with the PPU array module to provide flow table information for message processing and matching. The flow table module can be dynamically configured at runtime to support message processing requirements of different modes.
[0046] Host application software and driver software: The host software obtains the action instructions and flow table information provided by the network mode orchestrator and the network mode integrated development device through the runtime service software. This information is dynamically written into the storage area and flow table module of the PPU processing unit through the DMA controller to realize the dynamic configuration of the mode.
[0047] High-precision queue scheduling module: The messages processed by the PPU processing unit are transmitted to the high-precision queue scheduling module and classified according to the mode ID, priority, and port number. This module supports multiple scheduling algorithms, such as polling scheduling (RR), weighted fair queue (WFQ) and TDM (time division multiplexing), and transmits the messages to the MAC transmitter according to the pre-configured scheduling algorithm to realize the output and forwarding of the messages.
[0048] Embodiment 2: A programmable multi-modal message forwarding method based on FPGA,
[0049] The present invention also provides a programmable multi-modal message forwarding method based on FPGA, which can dynamically configure and efficiently process messages in a multi-modal network environment. The method includes:
[0050] Dynamic loading and configuration of modalities: The host obtains modal action instructions and flow table information through the local host agent software and DMA controller driver. This information is written into the action instruction storage area and configurable flow table module of the PPU array module through the DMA controller to achieve dynamic incremental configuration. Even during system operation, the loading and configuration of new modalities will not affect the normal processing of deployed modalities, ensuring the flexibility and scalability of the system.
[0051] Receiving and distributing multimodal messages: After receiving the external multimodal message through the MAC receiver module, it enters the aggregation module and is distributed to multiple PPU processing units according to the polling strategy. Each PPU processing unit obtains the modality ID of the message through pre-analysis, maps it to the corresponding action instruction base address, and executes the relevant action instruction.
[0052] PPU parallel processing: The PPU processing unit executes the RV32I instruction set to complete the parsing of the message, modify or delete the message header, and obtain the matching result by querying the configurable flow table module when necessary. After executing the current action instruction, the PPU processing unit jumps back to the pre-parsed instruction base address and continues to process subsequent messages. Multiple PPU processing units simultaneously process messages of different modes in parallel to achieve efficient parallel processing.
[0053] Message scheduling and forwarding: The processed messages are classified according to the message priority, mode ID and port number through the high-precision queue scheduling module, and the appropriate output port is selected according to the scheduling algorithm. Finally, the MAC transmitter forwards the message to the target device.
[0054] Efficient resource utilization and load balancing: The present invention improves the message processing efficiency through the parallel processing mechanism of the PPU array, and realizes resource sharing and efficient utilization through the TDM mode. At the same time, a polling scheduling strategy is adopted to achieve load balancing among multiple PPU processing units, avoid overload, and improve the overall performance of the system.
[0055] Modality isolation and bandwidth control: The high-precision queue scheduling module in the present invention supports bandwidth isolation and on-demand allocation. The scheduling algorithm can be programmed and configured according to system requirements to achieve bandwidth isolation between different modalities and ensure the isolated coexistence of multiple modality messages under a unified infrastructure.
Claims
1. A programmable multi-modal message forwarding device based on FPGA, characterized in that: include: A plurality of MAC receiver modules, for receiving multimodal messages from the outside and transmitting them to the aggregation module; The aggregation module is used to aggregate the received multimodal messages and transmit them to the distribution module; A distribution module, used for distributing the received multimodal messages to the PPU array module according to a polling scheduling strategy; The PPU array module includes multiple PPU processing units, which are responsible for processing multimodal messages in parallel. Each PPU processing unit pre-parses the received multimodal messages, determines the modal ID, maps the action instruction base address according to the modal ID, jumps to the address to execute the corresponding action instruction, and processes the multimodal messages according to the action instruction; wherein: The PPU processing unit adopts the RV32I instruction set architecture, is used to execute all action instructions related to message forwarding processing, and can process known and unknown multiple network modal messages. It includes a storage unit, a DMA read and write control unit, a matching control unit, a microcontroller unit, and a modality ID storage location mapping table unit, wherein: The storage unit uses BRAM to realize the action code storage space, and the storage unit is divided into multiple physically divided modal action instruction physical storage areas through configuration; The matching control unit processes the matching request submitted by the microcontroller unit, initiates the matching request to the configurable flow table module in TDM mode, and processes the received matching response data; The microcontroller unit obtains the modal ID number through pre-analysis, maps the modal ID number to the modal processing action instruction base address, and uses the RV32I instruction stored at the base address to complete the parsing, matching action, and reverse parsing of the current module message; A configurable flow table module communicates with the PPU array module to provide the flow table information required for multi-modal message processing; Host application software and driver software, used to obtain physical storage location information of action instructions of pre-deployed modes, physical storage location information of modal flow tables, modal action instruction information and modal flow table information, and dynamically configure action instructions in the PPU array module and flow table information in the configurable flow table module; High-precision queue scheduling module, used to classify and schedule messages according to message priority and modality ID, and output the multimodal messages processed by the PPU array module to the MAC transmitter according to the configured scheduling algorithm; The MAC transmitter forwards the received modal messages.
2. The programmable multi-modal message forwarding device based on FPGA according to claim 1, characterized in that: The action instructions in the dynamic configuration PPU array module and the flow table information in the configurable flow table module include: Obtaining action instruction physical storage location information, modal flow table physical storage location information, modal action instruction information, and modal flow table information from a network modality orchestrator device and a network modality integrated development device; The DMA controller controls the bus to write the modal action instructions of the pre-deployed modality into the action instruction storage physical location in the PPU processing unit, and writes the modal flow table information of the pre-deployed modality into the modal flow table information physical location.
3. The programmable multi-modal message forwarding device based on FPGA according to claim 1, characterized in that: Each PPU processing unit in the PPU array module determines the action instruction base address of the current mode according to the mode ID in the message in the pre-analysis stage, and executes the corresponding action instruction.
4. The device according to claim 1, characterized in that The action instructions include: message parsing, message header modification, message header deletion, and querying a configurable flow table.
5. A programmable multi-modal message forwarding method based on FPGA, characterized in that: The method is performed by the device according to any one of claims 1 to 4, and includes: Obtaining modal action instruction physical storage location information, modal flow table physical storage location information, modal action instruction information, and modal flow table information from the network modal orchestrator device and the network modal integrated development device respectively through the local host runtime service software; By means of the local host agent software and the DMA controller driver, the DMA controller is used to control the bus to write the modal action instruction of the pre-deployed modality into the action instruction storage physical location, and the modal flow table information is written into the modal flow table information physical location; Multiple MAC receiver modules receive multimodal messages, aggregate the messages, and distribute the messages to multiple PPU processing units according to the polling scheduling strategy; Multiple PPU processing units process multi-modal messages in parallel. Each PPU pre-parses the input message, parses the modal ID and maps it to the action instruction base address of the current modality, jumps to the base address to execute the modal action instruction, and after the current modal action instruction is executed, jumps to the pre-parsed instruction base address to continue execution; The processed messages are output by the PPU to the high-precision queue scheduling module, which is used to assign messages to different scheduling queues according to the port number, priority and mode ID of the message, and schedule them through the configured scheduling algorithm, and finally send the messages through the MAC transmitter.
Citation Information
Patent Citations
Forwarding device and method for diversified network mode coexistence
CN116208673A