A 400G Ethernet traffic test device based on FPGA
By adopting an FPGA-based architecture in the Ethernet traffic test device and using the combination of PCIe and 400G communication interfaces, high-performance processing and fast and accurate statistics of 400G Ethernet traffic are achieved, solving the problem that the accuracy cannot be achieved on high-speed ports in traditional technology. Scheduling issues.
Patent Information
- Application Number
- CN202310838902.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-10
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2043-07-10
AI Technical Summary
Due to the general computing characteristics of the CPU system and the high bandwidth but low clock accuracy of the DDR memory system, the existing Ethernet traffic test device cannot achieve accurate traffic scheduling and small byte packet long-hair flow on high-speed ports, which cannot be effectively processed. High performance requirements for 400G Ethernet.
Adopting an FPGA-based architecture, through the combination of CPU module, sending FPGA module, statistical FPGA module and optical module, efficient data transmission is used to achieve accurate traffic scheduling and statistics, and between the sending FPGA module and the statistical FPGA module The 400G interface performs efficient data transmission, independently processing transmission and statistics of traffic.
It realizes high-performance processing and fast and accurate statistics of 400G Ethernet traffic, improves information processing capabilities, and solves the problem that traditional technology cannot realize small byte packet long-hair flow and precise scheduling on high-speed ports.
Smart Images

Figure CN116707639B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data communication technology, and in particular to a 400G Ethernet traffic testing device based on FPGA. Background Art
[0002] Ethernet traffic test devices are generally implemented through the CPU+DPDK+network card method. The CPU system is generally oriented to general computing. The current mainstream memory system is the DDR memory system, which has the disadvantages of large bandwidth but large access delay. Due to the different read and write access modes, there may be delay jitter during operation, and the accuracy of its own reference clock is not high. It is impossible to implement long-term flow of small byte packets on high-speed ports, and it is impossible to achieve accurate traffic scheduling. Summary of the invention
[0003] In order to solve the above technical problems, the present application provides a 400G Ethernet traffic testing device based on FPGA.
[0004] The present application provides a 400G Ethernet traffic test device based on FPGA, which adopts the following technical solution:
[0005] A 400G Ethernet traffic test device based on FPGA, comprising a CPU module, a sending FPGA module, a statistical FPGA module and an optical module;
[0006] The sending FPGA module and the statistics FPGA module are both connected to the CPU module through a PCIe interface, and the statistics FPGA module and the optical module are both connected to the sending FPGA module through a 400G communication interface;
[0007] The CPU module is used to send communication protocol messages and configuration messages;
[0008] The statistical FPGA module receives the configuration message, generates configuration information according to the configuration message, and sends the configuration information to the sending FPGA module;
[0009] The sending FPGA module receives and parses the communication protocol message, generates flow information according to the communication protocol message and configuration information, and sends the flow information to the optical module, so that the optical module generates an optical signal according to the flow information and sends it to the device under test.
[0010] Optionally, the configuration information includes at least the sending traffic rate, the sending traffic frame number, the sending traffic frame length, the sending traffic byte number and the traffic sending mode.
[0011] Optionally, the sending FPGA module and the statistical FPGA module are also connected via a 100G communication interface;
[0012] The sending FPGA module is also used to receive the flow protocol message sent by the optical module, and transmit the flow protocol message to the statistical FPGA module through the 400G communication interface. The statistical FPGA module parses the flow protocol message to extract flow information, and sends the flow information to the sending FPGA module through the 100G communication interface. The sending FPGA module sends the flow information to the CPU module.
[0013] Optionally, the sending FPGA module is also used to parse the traffic protocol message to generate port statistical information, and send the port statistical information to the statistical FPGA module through the 100G communication interface, and the statistical FPGA module sends the port statistical information to the CPU module.
[0014] Optionally, the port statistical information includes at least one or more of the received traffic rate, the received traffic frame number, the received traffic frame length, the received traffic byte number, the sent packet type statistics, the received protocol frame statistics, the received error frame statistics, and the received special frame statistics.
[0015] Optionally, it also includes a control FPGA module, and the control FPGA module is connected to the sending FPGA module, the statistical FPGA module and the optical module through an IIC communication interface.
[0016] Optionally, the sending FPGA module is externally mounted with multiple groups of first DDR particles, and the sending FPGA module is further used to parse the description information in the traffic protocol message and store the description information in the first DDR particles.
[0017] Optionally, the statistical FPGA module is externally connected to a group of second DDR particles, and the statistical FPGA module is also used to capture data statistical information in the port statistical information and store the data statistical information in the second DDR4 particles.
[0018] Optionally, an operation and maintenance management module is also included, and the operation and maintenance management module is used to control the resetting of the CPU module, control the power on and power off of the test device, and monitor the temperature and voltage of a specified position.
[0019] Optionally, the communication interface of the optical module is an optical transceiver in the form of a QSFP-DD interface.
[0020] The present application discloses an FPGA-based 400G Ethernet traffic testing device, in which a statistical FPGA receives the configuration message, generates configuration information according to the configuration message, and sends the configuration information to the sending FPGA module; the sending FPGA receives and parses the communication protocol message, generates flow information according to the protocol message and the configuration information, and sends the flow information to the optical module, so that the optical module generates an optical signal according to the flow information and sends it to the device under test, thereby realizing separate processing of sending and statistical traffic. Based on the CPU+FPGA architecture, a dual FPGA module is built, and the sending FPGA module and the statistical FPGA module are connected to communicate through a 400G communication interface to realize efficient transmission of information. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 It is a structural schematic diagram of a 400G Ethernet traffic testing device based on FPGA in an embodiment of the present application.
[0022] Explanation of the accompanying drawings: 1. CPU module; 2. Sending FPGA module; 3. Statistics FPGA module; 4. Optical module; 5. Control FPGA module; 6. First DDR particle; 7. Second DDR particle; 8. QDR particle; 9. Operation and maintenance management module. DETAILED DESCRIPTION
[0023] Various exemplary embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of the parts and steps, the numerical expressions and the numerical values set forth in these embodiments do not limit the scope of the present disclosure. In addition, the techniques, methods and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but in appropriate cases, the techniques, methods and devices should be considered as part of the authorization specification. In all examples shown and discussed here, any specific value should be interpreted as being merely exemplary, rather than as a limitation. Therefore, other examples of the exemplary embodiments may have different values.
[0024] This application discloses a 400G Ethernet traffic test device based on FPGA, referring to Figure 1 The device includes a CPU module 1, a sending FPGA module 2, a statistics FPGA module 3 and an optical module 4, wherein the sending FPGA and the statistics FPGA are connected to the CPU module 1 through a PCIe interface, and the statistics FPGA module 3 and the optical module 4 are connected to the sending FPGA module 2 through a 400G communication interface. The optical module 4 can be connected to an external device under test, convert the electrical signal sent by the sending FPGA module 2 into an optical signal and send it to the device under test, and can also convert the optical signal sent by the device under test into an electrical signal and send it to the sending FPGA module 2, so as to realize the data interaction between the test device of the present application and the external device under test.
[0025] In the embodiment of the present application, a control FPGA module 5 is also included. The control FPGA module 5 communicates with the sending FPGA module 2, the statistical FPGA module 3 and the optical module 4 through the IIC communication interface. The control FPGA module 5 can control the loading of the sending FPGA module 2 and the statistical FPGA module 3. Specifically, it can be loaded in the SelectMAP manner. The control FPGA module 5 is connected to the CPU module 1 through the PCIe interface. The control FPGA module 5 can monitor the chip status of the sending FPGA module 2 and the statistical FPGA module 3, and when the chip status of the sending FPGA module 2 or the statistical FPGA module 3 is abnormal, an alarm message is generated and sent to the CPU module 1, so that the CPU module 1 can act accordingly according to the alarm message. The above chip status can be reflected from the chip temperature and general processing information.
[0026] The control FPGA module 5 can monitor the status, control and read information of the optical module 4. Specifically, the control FPGA module 5 can monitor the optical power, operating temperature, operating voltage, interface status, in-position, interruption and other information of the optical module 4; the control FPGA module 5 can control the reset, working mode, control interface and the like of the optical module 4; all registers of the optical module 4 can be read at any time, and the control FPGA module 5 can read the registers to obtain the required information such as the status of the optical module 4 and the internal configuration information.
[0027] Different from traditional Ethernet traffic testing devices, this application is based on a CPU+FPGA architecture, is equipped with multiple FPGA modules, and performs efficient data transmission through a 400G interface between the sending FPGA module 2 and the statistical FPGA module 3, thereby achieving high-performance business processing and fast and accurate processing of 400G traffic transmission and reception and statistical parameters.
[0028] In the embodiment of the present application, the process of sending 400G traffic is as follows:
[0029] The CPU module 1 sends a configuration message to the statistics FPGA module 3 through the PCIe interface, and sends a communication protocol message to the sending FPGA module 2. After receiving the configuration message, the statistics FPGA module 3 can parse the configuration message and generate configuration information, and then send the configuration information to the sending FPGA module 2. The sending FPGA module 2 receives the protocol message and the configuration information, generates flow information according to the protocol message and the configuration information, and sends the flow information to the optical module 4, so that the optical module 4 generates an optical signal according to the flow information and sends it to the device under test.
[0030] In a specific example, the communication protocol message is an Ethernet general protocol message, and the communication protocol message may include standard test items such as RFC2544, RFC2889, and RFC3918, 4-7 layer application protocols: data protocol (HTTP, FTP, Unicast / Multicast RTSP, RAW TCP, VXLAN, OpenFlow, OVSDB), voice protocol (SIP, SIP overUDP), video protocol (RTSP / RTP, Multicast streaming, IGMPv2, IGMPv3, MLDv2), link or access protocol: ANCP, PPPoE, DHCP, L2TP, IGMPv1 / v2 / v3, MLDv1 / v2, DHCPv6 and PPPoEv6, 802.1x, LACP, routing or multicast protocol: BGP, IS-IS, OSPF, RIP, MPLS, IGMPv1 / v2 / v3, MLDv1 / v2, IGMP / MLDQuerier, PIM-SM, encapsulation protocol: 802.1Q and 802.1 Q-in-Q, transport protocol: TCP, UDP, supported IP versions: IPv4 / IPv6, etc.
[0031] The configuration information includes basic information of the flow, which may include at least the sending flow rate, the number of sending flow frames, the sending flow frame length, the number of sending flow bytes, and the flow sending mode. The flow sending mode may include continuous sending, burst, scheduled sending, and step sending of the flow.
[0032] The sending FPGA module 2 can form flow information based on the protocol information obtained by parsing the protocol message and the received configuration information, and send it to the optical module 4 through the 400G communication interface.
[0033] In the embodiment of the present application, the 400G traffic receiving process is as follows:
[0034] The sending FPGA module 2 receives the traffic protocol message sent by the optical module 4, and transmits the traffic protocol message to the statistical FPGA module 3 through the 400G communication interface. The statistical FPGA module 3 parses the traffic protocol message to extract the traffic information, and sends the traffic information to the sending FPGA module 2 through the 100G communication interface. The sending FPGA module 2 then sends the traffic information to the CPU module 1.
[0035] The sending module can also parse the received traffic protocol messages, generate port statistical information, and send the port statistical information to the statistical FPGA module 3 through the 100G communication interface. The statistical FPGA module 3 then sends the port statistical information to the CPU module 1.
[0036] The port statistics include at least one or more of the received traffic rate, received traffic frame number, received traffic frame length, received traffic byte number, sent packet type statistics, received protocol frame statistics, received error frame statistics, and received special frame statistics. The sent packet type may include the total number of IPv4 frames, the total number of IPv6 frames, the total number of IPv4 flow frames, and the total number of IPv6 flow frames.
[0037] In an embodiment of the present application, the sending FPGA module 2 is externally mounted with multiple groups of first DDR particles. When parsing the flow protocol message, the sending FPGA module 2 can obtain the description information in the flow protocol message and store the description information in the first DDR particles.
[0038] Specifically, the sending FPGA module 2 may be externally equipped with 3 groups of DDR*5 particles, the capacity of a single DDR particle is 8 Gbit, and the access rate is 2666 MT / S.
[0039] The statistical FPGA module 3 is externally mounted with a group of second DDR particles. After receiving the port statistical information, the statistical FPGA can capture the data statistical information in the port statistical information and store the data statistical information in the second DDR particles.
[0040] The statistical FPGA module 3 also has an external QDR4 particle. The statistical FPGA can perform statistics on flow information, including but not limited to the flow information's sending flow rate, sending flow frame number, sending flow frame length, sending flow byte number, and flow sending mode.
[0041] In the embodiment of the present application, an operation and maintenance management module 9 is also included. The operation and maintenance management module 9 can control the reset, power-on and power-off of the test device of the present application, and is also used to perform temperature monitoring and voltage monitoring on the present application.
[0042] In a specific example, the present application includes a power supply module and a temperature sensor disposed at a specified position. The operation and maintenance management module 9 is connected to the power supply module, the temperature sensor and the CPU module 1, and can output a control signal to the CPU module 1 upon receiving a reset signal, so that the control signal acts on the reset pin of the CPU module 1 to achieve the reset of the CPU module 1. The operation and maintenance management module 9 can also output a power-on drive signal to the power supply module after receiving a power-on signal, so that the power supply module can power the test device. Correspondingly, after receiving a power-off signal, the operation and maintenance management module 9 outputs a power-off drive signal to the power supply module to achieve power-off.
[0043] The power supply module is also connected to a voltage detection module, which can output the voltage signals output by the power supply module to each module to the operation and maintenance management module 9. The operation and maintenance management module 9 can monitor each voltage and send an alarm signal when the voltage signal exceeds the voltage threshold to realize voltage monitoring.
[0044] The temperature sensor can be set as required. In the embodiment of the present application, temperature sensors may be provided on the CPU module 1, the sending FPGA module 2, the statistical FPGA module 3, the control FPGA module 5 and the optical module 4. The temperature sensor outputs the detected temperature signal to the operation and maintenance management module 9. The operation and maintenance management module 9 sends an alarm signal when any temperature signal exceeds the temperature threshold to realize temperature monitoring.
[0045] It should be noted that the PCIe interface bandwidth between the CPU module 1 and the control module is greater than or equal to 5 Gbps in both directions, and the PCIe interface bandwidth between the CPU module 1 and the statistical FPGA is greater than or equal to 128 Gbps in both directions, so as to meet the requirements of sending communication protocol messages and configuration messages, and sending traffic information and port statistical information.
[0046] A test device provided in the present application integrates 400Gbps, 200Gbps, 100Gbps and 50Gbps Ethernet test ports, and the test ports can be connected to different test equipment to improve the adaptability of the present application.
[0047] The present application discloses an FPGA-based 400G Ethernet traffic testing device, which is based on a CPU+FPGA infrastructure and is provided with a CPU module 1, a sending FPGA module 2, a statistical FPGA module 3, a control FPGA module 5 and an optical module 4. In the process of sending and receiving 400G traffic, separate processing of the receiving and sending traffic and the statistical traffic is achieved, and the sending FPGA module 2 and the statistical FPGA module 3 transmit unused data respectively through a 400G communication interface and a 100G communication interface, thereby achieving efficient data transmission, and improving the information processing capability of the present application as a whole.
[0048] The above are all preferred embodiments of the present application, and the protection scope of the present application is not limited thereto. Therefore, any equivalent changes made according to the structure, shape, and principle of the present application should be included in the protection scope of the present application.
Claims
1. A 400G Ethernet traffic test device based on FPGA, characterized in that: It includes a CPU module (1), a sending FPGA module (2), a statistical FPGA module (3) and an optical module (4); The sending FPGA and the statistics FPGA are both connected to the CPU module (1) via a PCIe interface, and the statistics FPGA module (3) and the optical module (4) are both connected to the sending FPGA module (2) via a 400G communication interface; The CPU module (1) is used to send communication protocol messages and configuration messages; The statistical FPGA receives the configuration message, generates configuration information according to the configuration message, and sends the configuration information to the sending FPGA module (2); The sending FPGA receives and parses the communication protocol message, generates flow information according to the protocol message and configuration information, and sends the flow information to the optical module (4), so that the optical module (4) generates an optical signal according to the flow information and sends it to the device under test; The sending FPGA and the statistical FPGA are also connected via a 100G communication interface; The sending FPGA module (2) is also used to receive the flow protocol message sent by the optical module (4), and transparently transmit the flow protocol message to the statistical FPGA module (3) through the 400G communication interface; the statistical FPGA module (3) parses the flow protocol message to extract flow information, and sends the flow information to the sending FPGA module (2) through the 100G communication interface; the sending FPGA module (2) sends the flow information to the CPU module (1); The sending FPGA is also used to parse the traffic protocol message to generate port statistical information, and send the port statistical information to the statistical FPGA module (3) through the 100G communication interface, and the statistical FPGA module (3) sends the port statistical information to the CPU module (1).
2. The FPGA-based 400G Ethernet traffic test device according to claim 1, characterized in that: The configuration information includes at least the sending traffic rate, the number of sending traffic frames, the sending traffic frame length, the number of sending traffic bytes and the traffic sending mode.
3. The FPGA-based 400G Ethernet traffic testing device according to claim 1, characterized in that: The port statistical information includes at least one or more of the received traffic rate, the number of received traffic frames, the received traffic frame length, the number of received traffic bytes, the sent packet type statistics, the received protocol frame statistics, the received error frame statistics, and the received special frame statistics.
4. The FPGA-based 400G Ethernet traffic test device according to claim 1, characterized in that: It also comprises a control FPGA module (5), wherein the control FPGA module (5) is connected to the sending FPGA module (2), the statistical FPGA module (3) and the optical module (4) via an IIC communication interface.
5. The FPGA-based 400G Ethernet traffic testing device according to claim 1, characterized in that: The sending FPGA module (2) is externally mounted with a plurality of first DDR4 particles. The sending FPGA module (2) is also used to parse the description information in the flow protocol message and store the description information in the first DDR4 particles.
6. The FPGA-based 400G Ethernet traffic testing device according to claim 1, characterized in that: The statistical FPGA is externally mounted with a group of second DDR4 particles, and the statistical FPGA is also used to capture the data statistical information in the port statistical information and store the data statistical information in the second DDR4 particles.
7. The FPGA-based 400G Ethernet traffic testing device according to claim 1, characterized in that: It also comprises an operation and maintenance management module (9), which is used to control the resetting of the CPU module (1), control the power-on and power-off of the test device, and monitor the temperature and voltage at a designated location.
8. The FPGA-based 400G Ethernet traffic testing device according to claim 1, characterized in that: The communication interface of the optical module (4) is an optical transceiver in the form of a QSFP-DD interface.
