CN112272168A - 一种轻量级udp通信冗余方法 - Google Patents
一种轻量级udp通信冗余方法 Download PDFInfo
- Publication number
- CN112272168A CN112272168A CN202011098033.6A CN202011098033A CN112272168A CN 112272168 A CN112272168 A CN 112272168A CN 202011098033 A CN202011098033 A CN 202011098033A CN 112272168 A CN112272168 A CN 112272168A
- Authority
- CN
- China
- Prior art keywords
- message
- sequence number
- serial number
- retransmission
- packet
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004891 communication Methods 0.000 title claims abstract description 29
- 238000001914 filtration Methods 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1642—Formats specially adapted for sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种轻量级UDP通信冗余方法,属于嵌入式软件开发领域。本发明的发送端做冗余发送,在报文中设置报文序号、重发序号、报文长度、有效数据和校验信息,将信息重复发送多份到接收端,接收端过滤筛选发送端发来的冗余信息,并根据信息内容做网络状况统计。本发明通过校验信息提高报文的可靠性,通过在报文中设置报文序号、重发序号,在接收端根据报文序号、重发序号对报文进行冗余过滤,用最简单的方法,提高以太网单包指令及数据通信的可靠性。本发明既能提高以太网传输的可靠性,又能够评估以太网通信的质量,是一种有效的轻量级UDP可靠通信方法。
Description
技术领域
本发明属于嵌入式软件开发领域,具体涉及一种轻量级UDP通信冗余方法。
背景技术
在嵌入式开发领域,以太网是一种常用的通信方式。尽管以太网有较大的传输带宽与丰富的应用,但是并不具备原生的冗余和纠错能力。为此有很多的传输设计方法和协议来弥补以太网传输可靠性的缺陷,但是普遍实现较为复杂或者传输过程不够透明。较为简单的传输需求有时的可靠性要求有但是不高,没有必要用复杂的方法实现可靠重传等较为重型可靠的功能,而是需要一种轻量级的通信冗余方法,既能够一定程度提高以太网传输的可靠性,又能够评估以太网通信的质量,让用户对传输情况有直观的判断。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种轻量级UDP通信冗余方法,以解决现有技术中缺乏提高以太网可靠性的轻量级方法的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种轻量级UDP通信冗余方法,该方法包括:
发送端向接收端发送UDP报文,所述报文包括报文序号、重发序号、报文长度、有效数据和校验信息;所述发送端每发送一条有效数据,要重复发送N条所述报文;N条所述报文的报文序号相同,重发序号连续递增;下一条有效数据报文序号自增1;
所述接收端接收所述发送端发过来的所有UDP报文,所述接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,所述接收端将保存维护这个本地报文序号;对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤,经过冗余过滤后将本地报文序号更新为新收到的报文的报文序号,然后进行有效数据的处理。
进一步地,N大于等于3。
进一步地,所述N条报文的报文序号相同,以一定的间隔时间连续发送。
进一步地,所述报文长度为所述有效数据长度,所述有效数据指实际要传输的数据内容。
进一步地,所述校验信息填写从所述报文序号到所述有效数据的CRC校验。
进一步地,所述CRC校验为CRC16或者CRC32。
进一步地,所述接收端接收到所述发送端发过来的UDP报文后,首先根据所述校验信息校验报文内容,如果不正确则记录下来相关错误信息;如果校验正确则执行其他操作。
进一步地,所述对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤具体包括:
对于之后新收到的的报文,只将报文序号大于本地报文序号的报文认为是正确的,执行下一步操作;如果不正确则记录错误信息;
如果报文序号连续,即收到的报文序号与本地报文序号相同,或者是比本地报文序号大1,则执行下一步操作;如果出现报文序号不连续的情况,则记录丢包信息,但是依旧执行下一步操作;
如果处理的不是重发序号为1的报文,则说明网络状态存在丢包,则记录重发信息,继续处理该报文;若重发序号为1,则继续处理报文。
进一步地,所述错误信息包括包长、次数和时间。
进一步地,所述重发信息包括重发序号、报文序号和时间。
(三)有益效果
本发明提出一种轻量级UDP通信冗余方法,发送端做冗余发送,在报文中设置报文序号、重发序号、报文长度、有效数据和校验信息,将信息重复发送多份到接收端,接收端过滤筛选发送端发来的冗余信息,并根据信息内容做网络状况统计。本发明通过校验信息提高报文的可靠性,通过在报文中设置报文序号、重发序号,在接收端根据报文序号、重发序号对报文进行冗余过滤,用最简单的方法,提高以太网单包指令及数据通信的可靠性。本发明既能提高以太网传输的可靠性,又能够评估以太网通信的质量,是一种有效的轻量级UDP可靠通信方法。
附图说明
图1为本发明报文的组织结构;
图2为本发明接收端处理流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明实施例提出了一种轻量级UDP通信冗余方法,力求用最简单的方法,提高以太网单包指令及数据通信的可靠性。
本发明提出一种轻量级UDP通信冗余方法,该方法包括:
发送端向接收端发送UDP报文,所述报文包括报文序号、重发序号、报文长度、有效数据和校验信息;所述发送端每发送一条有效数据,要重复发送N条所述报文;N条所述报文的报文序号相同,重发序号连续递增;下一条有效数据报文序号自增1;
所述接收端接收所述发送端发过来的所有UDP报文,所述接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,所述接收端将保存维护这个本地报文序号;对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤,经过冗余过滤后将本地报文序号更新为新收到的报文的报文序号,然后进行有效数据的处理。
本方法由发送端和接收端两部分组成。发送端做冗余发送,将信息重复发送多份到接收端。接收端过滤筛选发送端发来的冗余信息,并根据信息内容做网络状况统计。以太网传输过程基于UDP协议,报文的格式如图1所示共分为5个部分,报文序号、重发序号、报文长度、有效数据和校验信息,其中报文长度指有效数据长度,有效数据指实际要传输的数据内容。报文序号、重发序号及校验信息的功能在后文说明。下面将分别介绍发送端和接收端的功能。
发送端每发送一条有效数据,要重复发送N条本方法设计的报文,N一般大于等于3。N条报文的报文序号相同,以一定的间隔时间连续发送,重发序号连续递增,校验信息填写从报文序号到有效数据的CRC校验,一般为CRC16或者CRC32。下一条有效数据报文序号自增1。
举例,发送一条报文长度为L,报文序号为A的有效数据,冗余发送N次。这N条报文的报文序号都是A,重发序号为1到N每条不同,报文长度和有效数据都相同。再发送报文,报文序号为A+1。
接收端接收发送端发过来的所有UDP报文,流程如图2所示。首先根据校验信息校验报文内容,如果不正确则记录下来相关错误信息,如包长、次数、时间等。如果校验正确则执行下一步。
接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,即无条件接收第一条报文。接收端将保存维护这个本地报文序号,对于之后的报文,只将报文序号大于本地报文序号的报文认为是正确的,执行下一步操作。如果不正确则记录错误信息,如包长、次数、时间等。
对于正常的网络状态,收到的报文序号应该是连续的,即收到的报文序号或者是与本地报文序号相同,或者是比本地报文序号大1,这种情况称为报文序号连续,此时执行下一步操作。如果出现报文序号不连续的情况,则记录下来相关丢包信息,但是依旧执行下一步操作。
对于正常的网络状态,每个报文序号的报文,每次应该处理重发序号为1的报文,如果在本步骤中,处理的不是重发序号为1的报文,则说明网络状态存在丢包,则需要记录下来该报文的重发序号、报文序号、时间等重发信息,继续处理该报文。若重发序号为1,则继续处理报文。
经过上面几个步骤则说明报文经过冗余过滤,应该作为有效数据处理了。这时,将本地报文序号更新为新收到的报文的报文序号,之后进行有效数据的处理。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种轻量级UDP通信冗余方法,其特征在于,该方法包括:
发送端向接收端发送UDP报文,所述报文包括报文序号、重发序号、报文长度、有效数据和校验信息;所述发送端每发送一条有效数据,要重复发送N条所述报文;N条所述报文的报文序号相同,重发序号连续递增;下一条有效数据报文序号自增1;
所述接收端接收所述发送端发过来的所有UDP报文,所述接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,所述接收端将保存维护这个本地报文序号;对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤,经过冗余过滤后将本地报文序号更新为新收到的报文的报文序号,然后进行有效数据的处理。
2.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,N大于等于3。
3.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,所述N条报文的报文序号相同,以一定的间隔时间连续发送。
4.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,所述报文长度为所述有效数据长度,所述有效数据指实际要传输的数据内容。
5.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,所述校验信息填写从所述报文序号到所述有效数据的CRC校验。
6.如权利要求5所述的轻量级UDP通信冗余方法,其特征在于,所述CRC校验为CRC16或者CRC32。
7.如权利要求1、5或6所述的轻量级UDP通信冗余方法,其特征在于,所述接收端接收到所述发送端发过来的UDP报文后,首先根据所述校验信息校验报文内容,如果不正确则记录下来相关错误信息;如果校验正确则执行其他操作。
8.如权利要求1-6任一项所述的轻量级UDP通信冗余方法,其特征在于,所述对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤具体包括:
对于之后新收到的的报文,只将报文序号大于本地报文序号的报文认为是正确的,执行下一步操作;如果不正确则记录错误信息;
如果报文序号连续,即收到的报文序号与本地报文序号相同,或者是比本地报文序号大1,则执行下一步操作;如果出现报文序号不连续的情况,则记录丢包信息,但是依旧执行下一步操作;
如果处理的不是重发序号为1的报文,则说明网络状态存在丢包,则记录重发信息,继续处理该报文;若重发序号为1,则继续处理报文。
9.如权利要求8所述的轻量级UDP通信冗余方法,其特征在于,所述错误信息包括包长、次数和时间。
10.如权利要求8所述的轻量级UDP通信冗余方法,其特征在于,所述重发信息包括重发序号、报文序号和时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011098033.6A CN112272168A (zh) | 2020-10-14 | 2020-10-14 | 一种轻量级udp通信冗余方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011098033.6A CN112272168A (zh) | 2020-10-14 | 2020-10-14 | 一种轻量级udp通信冗余方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112272168A true CN112272168A (zh) | 2021-01-26 |
Family
ID=74338073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011098033.6A Pending CN112272168A (zh) | 2020-10-14 | 2020-10-14 | 一种轻量级udp通信冗余方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112272168A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955356A (zh) * | 2023-01-03 | 2023-04-11 | 重庆长安汽车股份有限公司 | 一种域间安全通信方法、系统、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699797A (zh) * | 2009-11-13 | 2010-04-28 | 珠海网博信息科技有限公司 | 使用udp协议进行数据传输的方法 |
CN110890945A (zh) * | 2019-11-20 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、终端及存储介质 |
CN110912655A (zh) * | 2019-12-24 | 2020-03-24 | 瑞斯康达科技发展股份有限公司 | 一种数据冗余备份方法、装置、设备及介质 |
CN111181900A (zh) * | 2018-11-13 | 2020-05-19 | 杭州光启人工智能研究院 | 一种数据报文发送和接收方法、存储介质及处理器 |
-
2020
- 2020-10-14 CN CN202011098033.6A patent/CN112272168A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699797A (zh) * | 2009-11-13 | 2010-04-28 | 珠海网博信息科技有限公司 | 使用udp协议进行数据传输的方法 |
CN111181900A (zh) * | 2018-11-13 | 2020-05-19 | 杭州光启人工智能研究院 | 一种数据报文发送和接收方法、存储介质及处理器 |
CN110890945A (zh) * | 2019-11-20 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、终端及存储介质 |
CN110912655A (zh) * | 2019-12-24 | 2020-03-24 | 瑞斯康达科技发展股份有限公司 | 一种数据冗余备份方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
崔浩,邵平凡: "ARM-Linux环境下UDP协议的通信应用研究", 《电脑知识与技术:学术版》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955356A (zh) * | 2023-01-03 | 2023-04-11 | 重庆长安汽车股份有限公司 | 一种域间安全通信方法、系统、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8526513B2 (en) | Method and apparatus for transmitting data, and communication system | |
CN106911426A (zh) | 一种灵活以太网中传输数据的方法及设备 | |
TW453066B (en) | Method and apparatus for reliable and efficient data communications | |
US20090271685A1 (en) | Method for Processing Packets, an Apparatus for Transmitting Packets, and an Apparatus for Receiving Packets | |
US20020080806A1 (en) | Method for flow control | |
CN101507317B (zh) | 用于移动通信系统的无线通信装置以及无线通信方法 | |
CN103546250A (zh) | 一种用于车载终端的通信方法及系统 | |
JP2006211632A (ja) | Crc検査範囲外エラーを検出する方法 | |
CN113132063B (zh) | 一种物理层重传控制方法 | |
CN112702411B (zh) | 一种解决cantp多帧丢包重传的方法 | |
CN109743312B (zh) | 一种配置文件的数据动态解析方法、系统、终端及介质 | |
CN113079074A (zh) | 一种基于can总线的协议栈通信方法、装置和存储介质 | |
WO2023098430A1 (zh) | 一种数据包的处理方法、通信装置及通信系统 | |
CN112272168A (zh) | 一种轻量级udp通信冗余方法 | |
CN1144429C (zh) | 分组校验数据传输法 | |
CN113645008B (zh) | 一种基于链表的报文协议超时重发方法及系统 | |
EP4175231A1 (en) | Message processing method, network device and related device | |
CN107257265B (zh) | 实时传输数据流前向纠错方法、系统、装置及存储介质 | |
CN113541874A (zh) | 一种数据传输方法及网络设备 | |
CN112532359A (zh) | 接收端基于数据重传数据进行内容合并的方法及装置 | |
CN117354387A (zh) | 基于fpga的hdlc模块设计方法 | |
US7649906B2 (en) | Method of reducing buffer usage by detecting missing fragments and idle links for multilink protocols and devices incorporating same | |
CN1317841C (zh) | 利用置换电报识别错误和避免错误的方法和节点 | |
US6049902A (en) | Method and system in a data communications system for the establishment of multiple, related data links and the utilization of one data link for recovery of errors detected on another link | |
CN112532358B (zh) | 根据反馈等待时间进行数据发送内容更改的方法和装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210126 |
|
RJ01 | Rejection of invention patent application after publication |