CN112383418A - Design method for high-speed reliable transmission of Ethernet messages based on FPGA - Google Patents
Design method for high-speed reliable transmission of Ethernet messages based on FPGA Download PDFInfo
- Publication number
- CN112383418A CN112383418A CN202011203869.8A CN202011203869A CN112383418A CN 112383418 A CN112383418 A CN 112383418A CN 202011203869 A CN202011203869 A CN 202011203869A CN 112383418 A CN112383418 A CN 112383418A
- Authority
- CN
- China
- Prior art keywords
- message
- fpga
- terminal
- numbering
- reliable transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention relates to a design method for high-speed reliable transmission of Ethernet messages based on an FPGA (field programmable gate array), which comprises the following steps of: the method comprises the following steps of judging the number of a received message through the FPGA, and operating according to the result, including: s1, inquiring whether the terminal number of the first fragment message can be retrieved in the number index of the FPGA, if so, returning an error message, discarding the message, and if not, executing S2; s2, inquiring whether the message corresponding to the message number has a corresponding cache in the FPGA, if so, directly reading the cache content and sending the cache content to the terminal, and if not, executing S3; and S3, processing the received message, writing the message into a circular buffer area after the processing is finished, simultaneously writing a message buffer index, and simultaneously sending the processed message to a terminal needing to arrive. The invention realizes high-speed reliable transmission of the network.
Description
Technical Field
The invention relates to a network communication technology, in particular to a design method for high-speed reliable transmission of Ethernet messages based on an FPGA.
Background
In network communication, in order to ensure the security of network data transmission, it is generally necessary to process the network data to be transmitted. Due to the limitations and requirements of the performance of the data processing module, the network data packets input to the data processing module must be reliably transmitted. Due to the objective conditions of the unsound Ethernet transmission safety mechanism, the limited buffer resources in logic and the like, in the data transmission occasions with larger throughput and larger bandwidth, some messages are inevitably lost in the transmission process, which causes the disorder of data processing, and the processes of message retransmission, repeated message processing and the like are required to be carried out, thus causing the low message processing rate.
Disclosure of Invention
The invention aims to provide a design method for high-speed reliable transmission of Ethernet messages based on an FPGA (field programmable gate array), which is used for solving the problem of low message processing speed.
The invention relates to a design method for high-speed reliable transmission of Ethernet messages based on an FPGA (field programmable gate array), which comprises the following steps of: the method comprises the following steps of judging the number of a received message through the FPGA, and operating according to the result, including: s1, inquiring whether the terminal number of the first fragment message can be retrieved in the number index of the FPGA, if so, returning an error message, discarding the message, and if not, executing S2; s2, inquiring whether the message corresponding to the message number has a corresponding cache in the FPGA, if so, directly reading the cache content and sending the cache content to the terminal, and if not, executing S3; and S3, processing the received message, writing the message into a circular buffer area after the processing is finished, simultaneously writing a message buffer index, and simultaneously sending the processed message to a terminal needing to arrive.
According to an embodiment of the design method for the high-speed reliable transmission of the Ethernet message based on the FPGA, the method for numbering the message at the sending end comprises the following steps: numbering the terminals according to the triplets or quintuples of the sent messages; numbering the messages according to different messages of the sent multilinks; and numbering the fragmented messages according to the same message of the sending single link.
According to an embodiment of the design method for high-speed reliable transmission of ethernet messages based on the FPGA of the present invention, the receiving end message processing includes: carrying out repeated line inspection on the terminal number of the first fragment message of the received message; searching the processed message according to the number of the received message; the receiving end processes the message and caches the message.
According to an embodiment of the design method for high-speed reliable transmission of the Ethernet message based on the FPGA, a terminal sending end carries out terminal numbering according to a triplet or a quintuple of a sending message, carries out message numbering according to a multi-link concurrent message, and carries out fragment numbering on a single-link message.
According to an embodiment of the design method for high-speed reliable transmission of ethernet messages based on the FPGA of the present invention, if the terminal number of the message can be retrieved, S1 further reports the number repetition error type.
The technical scheme provided by the invention reduces the processing time of repeated messages by constructing three mechanisms of 'sending terminal message number', 'receiving terminal number repeatability check' and 'receiving terminal message number retrieval', and saving a plurality of processed message fields, thereby realizing high-speed reliable transmission of the network, and a designer can flexibly configure the mechanism by combining with actual conditions.
Drawings
FIG. 1 is a diagram illustrating a message numbering format;
FIG. 2 is a diagram illustrating the process of numbering received messages;
FIG. 3 is a schematic diagram of a message after FPGA cache processing;
Detailed Description
In order to make the objects, contents, and advantages of the present invention clearer, the following detailed description of the embodiments of the present invention will be made in conjunction with the accompanying drawings and examples.
Fig. 1 is a schematic diagram showing a message numbering of a sending terminal, and the message numbering method includes:
a1, terminal number: mapping from the triplet or quintuple to the terminal number, wherein the mapping method is customized by a user, and the mapped sequence number needs to meet the condition: the sequence numbers mapped by the other terminals and the sequence number mapped by the current terminal must be different.
A2, message numbering: according to different messages, different message numbers are set, and the conditions are met: the number of the message being transmitted cannot be repeated.
A3, fragment message numbering: the first fragment message starts from 0 or 1, and other fragment messages are sequentially numbered in an accumulated manner.
Fig. 2 is a schematic diagram of a message processing number of a receiving end, and the message number processing method includes:
b1, the terminal number of the first slicing message is checked repeatedly to ensure that the terminal number of the message being received can not be repeated, the message number and the slicing message number can be repeated, and B2 is executed.
B2, the buffer index of the message number, enquire whether the current received message has the buffer message which has been processed, if yes, the current message can be sent to the terminal directly without secondary processing; if not, B3 is executed.
B3, message processing: and processing the message according to the user, outputting the processed message to the sending terminal, updating the processed message to a local cache buffer, and writing the message cache index.
FIG. 3 shows a message buffer
C1, the processed message needs to be cached in a circular buffer, and the message number is synchronously cached in an index buffer, it should be noted that the content of the index buffer is an address pointer of the message buffer.
C2, message retrieval: searching an index buffer according to the number of the received message, and inquiring whether the received message is processed or not; if the processing is already carried out, directly reading the buffer, and outputting the processed message; if the message number is not searched, the message is sent to a message processing module for processing.
The invention relates to a design method for high-speed reliable transmission of Ethernet messages based on an FPGA (field programmable gate array), which comprises the following steps of: the method for numbering the messages at the sending end comprises the steps that the terminal sending end carries out terminal numbering according to a triplet or a quintuple of the sent messages, carries out message numbering according to a multi-link concurrent message and carries out fragment numbering on a single-link message; the FPGA judges the received message and executes the following judging steps: inquiring whether the terminal number of the first fragmentation message can be retrieved in the number index of the FPGA, if so, returning an error message, reporting a repeated error type of the number, indicating that the current number is applied, discarding the message, and if not, executing S2; s2, inquiring whether the message corresponding to the serial number has a corresponding cache in the FPGA, if so, directly reading the cache content and sending the cache content to the terminal, and if not, executing S3; and S3, receiving and processing the message, writing the message into a circular buffer cache area after the processing is finished, simultaneously writing a message cache index, and simultaneously sending the processed message to a terminal needing to arrive. The terminal sending end number comprises: a terminal sending end carries out terminal numbering according to the triplet or quintuple of the sent message, and ensures that the numbering of each terminal cannot be repeated so as to distinguish different terminals; a terminal sending end carries out message numbering according to different messages of multiple links to distinguish the messages of different links; and the terminal sending end carries out fragment message numbering according to the same message of the sending single link so as to distinguish different fragment messages of the same link message.
Compared with the prior art, the technical scheme provided by the invention has the advantages that three mechanisms of 'sending terminal message number', 'receiving terminal number repeatability check' and 'receiving terminal message number retrieval' are established, the processing time of repeated messages is reduced by storing a plurality of processed message sites, the high-speed reliable transmission of a network is realized, and a designer can flexibly configure by combining with actual conditions by adopting the mechanism, so the method has certain engineering practical value.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications and variations can be made without departing from the technical principle of the present invention, and these modifications and variations should also be regarded as the protection scope of the present invention.
Claims (5)
1. A design method for high-speed reliable transmission of Ethernet messages based on FPGA is characterized by comprising the following steps:
the method comprises the following steps of judging the number of a received message through the FPGA, and operating according to the result, including:
s1, inquiring whether the terminal number of the first fragment message can be retrieved in the number index of the FPGA, if so, returning an error message, discarding the message, and if not, executing S2;
s2, inquiring whether the message corresponding to the message number has a corresponding cache in the FPGA, if so, directly reading the cache content and sending the cache content to the terminal, and if not, executing S3;
and S3, processing the received message, writing the message into a circular buffer area after the processing is finished, simultaneously writing a message buffer index, and simultaneously sending the processed message to a terminal needing to arrive.
2. The design method for high-speed reliable transmission of ethernet messages based on FPGA according to claim 1, wherein the method for numbering the messages at the transmitting end comprises:
numbering the terminals according to the triplets or quintuples of the sent messages;
numbering the messages according to different messages of the sent multilinks;
and numbering the fragmented messages according to the same message of the sending single link.
3. The design method for high-speed reliable transmission of ethernet messages based on FPGA according to claim 1, wherein the receiving-end message processing comprises:
carrying out repeated line inspection on the terminal number of the first fragment message of the received message;
searching the processed message according to the number of the received message;
the receiving end processes the message and caches the message.
4. The design method for high-speed reliable transmission of ethernet messages based on FPGA according to claim 1, wherein a terminal sending end performs terminal numbering according to a triplet or quintet of a sending message, performs message numbering according to a multilink concurrent message, and performs fragment numbering on a single-link message.
5. The design method for high-speed reliable transmission of ethernet messages based on FPGA of claim 1, wherein S1 further reports a number repetition error type if the terminal number of the message can be retrieved.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011203869.8A CN112383418B (en) | 2020-11-02 | 2020-11-02 | Design method for high-speed reliable transmission of Ethernet message based on FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011203869.8A CN112383418B (en) | 2020-11-02 | 2020-11-02 | Design method for high-speed reliable transmission of Ethernet message based on FPGA |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112383418A true CN112383418A (en) | 2021-02-19 |
CN112383418B CN112383418B (en) | 2023-07-14 |
Family
ID=74576117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011203869.8A Active CN112383418B (en) | 2020-11-02 | 2020-11-02 | Design method for high-speed reliable transmission of Ethernet message based on FPGA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112383418B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765721A (en) * | 2021-09-14 | 2021-12-07 | 北京左江科技股份有限公司 | Ethernet remote configuration device based on FPGA |
CN114615343A (en) * | 2022-03-24 | 2022-06-10 | 北京左江科技股份有限公司 | Method for realizing reliable transmission of Ethernet message based on FPGA |
CN116527406A (en) * | 2023-07-03 | 2023-08-01 | 北京左江科技股份有限公司 | Multi-host security system and communication method based on FPGA |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106893A1 (en) * | 2007-03-07 | 2008-09-12 | Huawei Technologies Co., Ltd. | Method for receiving message fragment of multilink ppp and device thereof |
CN101510886A (en) * | 2009-03-09 | 2009-08-19 | 华为技术有限公司 | Method and apparatus for processing message of MP group |
CN101572651A (en) * | 2008-04-30 | 2009-11-04 | 华为技术有限公司 | Method and device for message transfer |
CN101795236A (en) * | 2010-03-31 | 2010-08-04 | 成都市华为赛门铁克科技有限公司 | Report sequence preservation method and device |
CN104618208A (en) * | 2015-01-26 | 2015-05-13 | 国电南瑞科技股份有限公司 | Elastic data interaction comprehensive bus system |
CN110198315A (en) * | 2019-05-30 | 2019-09-03 | 新华三信息安全技术有限公司 | A kind of method and device of Message processing |
-
2020
- 2020-11-02 CN CN202011203869.8A patent/CN112383418B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106893A1 (en) * | 2007-03-07 | 2008-09-12 | Huawei Technologies Co., Ltd. | Method for receiving message fragment of multilink ppp and device thereof |
CN101572651A (en) * | 2008-04-30 | 2009-11-04 | 华为技术有限公司 | Method and device for message transfer |
CN101510886A (en) * | 2009-03-09 | 2009-08-19 | 华为技术有限公司 | Method and apparatus for processing message of MP group |
CN101795236A (en) * | 2010-03-31 | 2010-08-04 | 成都市华为赛门铁克科技有限公司 | Report sequence preservation method and device |
CN104618208A (en) * | 2015-01-26 | 2015-05-13 | 国电南瑞科技股份有限公司 | Elastic data interaction comprehensive bus system |
CN110198315A (en) * | 2019-05-30 | 2019-09-03 | 新华三信息安全技术有限公司 | A kind of method and device of Message processing |
Non-Patent Citations (1)
Title |
---|
唐续等: "分布式并行服务器中的高性能通信研究", 《电子科技大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765721A (en) * | 2021-09-14 | 2021-12-07 | 北京左江科技股份有限公司 | Ethernet remote configuration device based on FPGA |
CN113765721B (en) * | 2021-09-14 | 2024-02-09 | 北京左江科技股份有限公司 | Ethernet remote configuration device based on FPGA |
CN114615343A (en) * | 2022-03-24 | 2022-06-10 | 北京左江科技股份有限公司 | Method for realizing reliable transmission of Ethernet message based on FPGA |
CN116527406A (en) * | 2023-07-03 | 2023-08-01 | 北京左江科技股份有限公司 | Multi-host security system and communication method based on FPGA |
CN116527406B (en) * | 2023-07-03 | 2023-09-12 | 北京左江科技股份有限公司 | Multi-host security system and communication method based on FPGA |
Also Published As
Publication number | Publication date |
---|---|
CN112383418B (en) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112383418A (en) | Design method for high-speed reliable transmission of Ethernet messages based on FPGA | |
EP1788490B1 (en) | Method and apparatus for monitoring traffic in a network | |
US6252872B1 (en) | Data packet filter using contents addressable memory (CAM) and method | |
CA2298275C (en) | Method for processing network messages | |
CN111682994B (en) | Annular or linear network system based on EPA protocol and transmission method of non-real-time data | |
CN106789730B (en) | Method and device for processing fragment message | |
CN111740847B (en) | High-speed network data transmission system and method based on FPGA | |
CN115037700B (en) | Complex network data packet transmission method, system, terminal and storage medium | |
CN111245776A (en) | Vehicle-mounted data transmission method, device, equipment and storage medium | |
CN111277480B (en) | Method and system for discarding high-availability seamless redundant looped network repeat frame | |
CN111917753B (en) | Modbus TCP message analysis method based on bit field | |
CN109889312A (en) | Multilink data transmission method, device and computer readable storage medium | |
CN112637198A (en) | Multi-protocol self-adaption module design method based on OPC UA PubSub | |
CN113973091A (en) | Message processing method, network equipment and related equipment | |
CN110069429B (en) | ZYNQ-based real-time high-performance SRIO controller and control method | |
US11196792B2 (en) | Method, device and system for transmitting data | |
CN104426638A (en) | Data submission method and device | |
CN115866103A (en) | Message processing method and device, intelligent network card and server | |
CN109587087B (en) | Message processing method and system | |
CN102566521A (en) | Factory automation system and automation message processing method and device | |
CN114337942A (en) | Message retransmission method and device and electronic equipment | |
CN111722940B (en) | Message transmission method, terminal equipment and transmission system based on asynchronous serial port | |
CN107707492B (en) | Method and device for reporting and issuing message | |
CN102904821A (en) | Data transmission method, device and system | |
CN113132069A (en) | Communication mechanism for packet loss retransmission and method for realizing same based on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |