CN113645015A - 一种被动重发的可靠传输方法 - Google Patents
一种被动重发的可靠传输方法 Download PDFInfo
- Publication number
- CN113645015A CN113645015A CN202111190110.5A CN202111190110A CN113645015A CN 113645015 A CN113645015 A CN 113645015A CN 202111190110 A CN202111190110 A CN 202111190110A CN 113645015 A CN113645015 A CN 113645015A
- Authority
- CN
- China
- Prior art keywords
- data
- receiver
- request
- sender
- receiving
- 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
Images
Classifications
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1806—Go-back-N protocols
-
- 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/1621—Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of 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/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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种被动重发的可靠传输方法,发送方向接收方发出本次数据传输的数据量;接收方收到数据量后,根据自己能提供的缓冲区大小和发送方拟发送数据大小对比,开辟缓冲区;接收方向发送方发出请求消息,请求发送方发送数据,请求消息包含拟接收数据的起止序号;如果发送方在规定时间内没有收到接收方的请求消息,则发送方再次发送本次拟传输的数据量;发送方在收到接收方的发送请求之后,根据请求发送数据包;接收方在预定时间内如果没有收到请求的全部数据包,则发送新的请求消息,针对未收到的数据再次请求;发送方收到请求后,重发接收方所请求的丢失数据;直到收到全部数据后,接收方立刻将收到全部数据直接提交给应用程序进行处理。
Description
技术领域
本发明涉及计算机网络通信领域,特别是涉及一种被动重发的可靠传输方法。
背景技术
计算机网络中,数据发送方发出的数据包有时会在传输过程中丢失。为了保障传输的可靠性,网络传输层使用了确认机制和超时重发机制。传统的作法是,接收方在收到数据包后,向发送方发出一个确认消息,表示已收到数据。发送方在规定时间内,如果没有收到接收方发出的确认数据包,则认为数据包在传输过程中丢失,将重发数据包。
在开始数据传输之前,接收方需要告知发送方,用来接收数据的缓冲区大小,防止发送方发送数据过快来不及处理。在缓冲区装满或者传输结束之后,接收方会把数据交给上层应用程序处理。
如申请号CN201711466513.1 公开的一种数据传输方法,包括:数据发送端发送带有编号的数据包,数据接收端接收数据包并向数据发送端反馈接收到的全部数据包编号,数据发送端将已经发送的数据包编号与数据接收端反馈的数据包编号对比,得出丢包的数据包编号,并重发。该发明通过数据发送端将数据按某一字节数分成数据包并编号,再按数据包的编号顺序将数据包发送给数据接收端,数据接收端将接收到的数据包编号反馈给数据发送端,数据发送端根据数据接收端反馈的数据包编号来判断丢包情况以及对丢包的数据重发,而不用依赖多个DACK的累计确认或ACK超时定时器来触发数据重发。
上述现有技术,数据是否需要重新发送,由发送方根据接收方的反馈做出判断,因此是一种主动重传策略,并且存在以下几点缺点:
1、重复发送已经发送成功的数据包,浪费通信资源,导致链路拥塞。
接收方向发送方的链路也可能出现信道资源紧张,从而造成确认数据包在发送过程中丢失。在发送方发送的数据包已经到达接收方的情况下,接收方发出的确认数据包丢失,发送方在没有收到确认的情况下重复发送已经发送成功的数据包。重复发送的数据包逐渐增多,会造成信道拥塞,拥塞的信道反过来造成更多的丢包和重发,进而耗尽信道资源。
2、接收方不知道发送方本次需要发送的数据量大小,在接收完全部数据之后不会立刻上交到应用程序进行处理,而是等待发送方通知发送完成后才能提交给应用程序处理。有时,发送方的发送完成通知不是跟随最后一批数据一起到达的,从而造成接收方等待时间增大。
3、接收方在初始阶段不知道发送方拟发送的数据量,而无法合理规划自己的接收缓冲区。缓冲区过大造成浪费,并挤占其它进程的资源;缓冲区过小则增加传输时延。
发明内容
针对上述问题,本方案提出了一种被动重发的可靠传输方法;解决了现有技术中现有主动重发技术存在浪费信道资源、传输时延较大、缓冲区规划不合理等缺陷的问题;传统的主动重发方法,既发送方根据接收方反馈的确认信息,判断传输过程中丢失的数据包,并主动进行重新发送。
本方案是这样进行实现的:
一种被动重发的可靠传输方法其具体包括以下步骤:
步骤一:数据发送方向数据接收方发出本次数据传输的数据量和初始数据序号,并设置预定时间;
步骤二:接收方收到信息后,根据自己能提供的缓冲区大小和发送方拟发送数据大小对比,开辟缓冲区,并设置预定时间;
步骤三:接收方向发送方发出请求数据包,请求发送方发送数据,请求消息包含拟接收数据的起止序号;如果发送方在规定时间内没有收到接收方的请求,则发送方重新发送步骤一的信息;
步骤四:发送方在收到接收方的发送请求之后,根据请求发送数据包;
步骤五:接收方在预定时间内如果没有收到请求的全部数据包,则发送新的请求数据包,针对未收到的数据再次请求;
步骤六:发送方收到请求后,重发步骤五中接收方所请求的丢失数据包;
步骤七:接收方收到全部数据后直接提交给应用程序进行处理。
在步骤四中,接收方在发出请求消息的同时,设定预定接收时间,并进行倒计时。倒计时结束时,统计未收到的数据序号,并向数据发送方发出请求消息,要求再次发送丢失的数据,直到数据全部到达。
数据发送方不进行倒计时,不判断发出的数据包是否丢失,而是根据接收方的请求消息被动重发丢失的数据。
接收方在初始阶段就得知发送方拟发送的数据量;因此,可以自行判断是否接收到了全部数据,一旦接收完成就立刻提交应用程序处理。
与现有技术相比,本发明的有益效果是:
1、本发明采用被动重发机制,发送发在初始阶段告之接收方拟发送的数据量和起止数据序号,并由接收方进行倒计时,接收方在接收超时之后,可以根据数据量和序号判断传输过程中丢失的数据,根据丢失的数据重新发送请求,从而避免因为确认消息丢失带来的重复发送;可以减少信道资源浪费。
2、通过本方法,在传输开始前,发送方告之接收方,自己将发送的数据量。接收方可以根据拟接收的数据量合理规划缓冲区的使用,避免缓冲区过大或者过小。在接收到全部数据后,接收方即刻上交应用程序进行处理,节省处理时间。
3、通过本方案,在接收方到发送方信道资源受限的场景下,本发明和传统的TCP协议对比;由于接收方发出的确认数据包容易丢包,引起TCP无效重传阻塞信道;设定信道初始丢包率为0,让丢包率随着等待发送的数据包数量增加而不断提;在该场景下,本方法在传输时延和发送次数2方面都优于传统TCP技术。
附图说明
图1本发明在整体的流程结构示意图;
图2本发明在传输数据包时和传统TCP的时延对比;
图3本发明在传输数据包时和传统TCP的传输次数(信道资源消耗)对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
实施例1
请参阅图1~3,本发明提供一种技术方案:
一种被动重发的可靠传输方法,其具体包括以下步骤:
步骤一:数据发送方首先发出本次数据传输数据量和数据序号;
(与传统的主动重发方法不同,主动重传在初始阶段不提供本次发送数据的大小);
步骤二:接收方收到信息后,根据自己能提供的缓冲区大小和发送方拟发送数据大小,开辟缓冲区;并设置预定时间;
步骤三:接收方向发送方发出请求数据包,请求发送方发送数据;如果发送方在规定时间内没有收到接收方的请求,则重新发送步骤一的信息;这一步,接收方发出的请求信息包含了要求对方发送的数据的序号;
步骤四:发送方在收到接收方的发送请求之后,根据请求发送数据包;
步骤五:接收方在时钟结束时如果没有收到请求的全部数据包,则发送新的请求消息,针对未收到的数据包再次请求;
(与传统的主动重发不同,传统方法中,接收方是对收到的数据进行确认,而本方法则根据初始阶段发送方提供的数据包编号范围计算出应到未到的数据包,并对未收到的数据再次请求)
步骤六:发送方收到请求后,重发丢失的数据包;
(传统方法是未收到确认信息则重新发送,而本方法则默认没有收到接收方的反馈则表示数据全部到达,收到重发请求才进行重新发送);
步骤七:接收方收到全部数据包后直接提交给应用程序进行处理。
(传统方法中,需要等待发送方的断开连接信息或者立即处理指令才交给应用层处理,某些情况下时延较大;而本方法由于在初始阶段就得到拟接收的数据量,因此接收方可以自行判断是否收到了全部信息,一旦收到全部数据包立刻提交给应用层)。
通过本方案,在接收方到发送方信道资源较少的情况下,本发明和传统TCP对比;由于,接收方发出的确认数据包容易丢包,TCP对已经发送成功的数据包进行重复发送,从而引起无效重传阻塞信道;设定信道初始丢包率为0,让丢包率随着等待发送的数据包数量增加而不断提,在该场景下,本方法在传输时延和发送次数2方面都优于传统TCP技术。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种被动重发的可靠传输方法,其特征在于:其具体包括以下步骤:
步骤一:数据发送方向数据接收方发出本次数据传输的拟发送数据量和初始数据序号,并设置预定时间;
步骤二:接收方收到信息后,根据自己能提供的缓冲区大小和发送方拟发送数据大小对比,开辟缓冲区,并设置预定时间;
步骤三:接收方向发送方发出请求消息,请求发送方发送数据,请求消息包含拟接收数据的起止序号;如果发送方在预定时间内没有收到接收方的请求,则发送方重新发送步骤一的信息;
步骤四:发送方在收到接收方的发送请求之后,根据请求发送数据包;
步骤五:接收方在预定时间内如果没有收到请求的全部数据包,则发送新的请求数据包,针对未收到的数据再次请求;
步骤六:发送方收到请求后,重发步骤五中接收方所请求的丢失数据包;
步骤七:接收方收到全部数据包后直接提交给应用程序进行处理。
2.根据权利要求1所述的一种被动重发的可靠传输方法,其特征在于:在步骤四中,接收方在发出请求消息的同时,设定预定接收时间,并进行倒计时;倒计时结束时,统计未收到的数据序号,并向数据发送方发出请求消息,要求再次发送丢失的数据,直到数据全部到达。
3.根据权利要求2所述的一种被动重发的可靠传输方法,其特征在于:数据发送方不进行倒计时,不判断发出的数据包是否丢失,而是根据根据接收方的请求消息被动重发丢失的数据。
4.根据权利要求1所述的一种被动重发的可靠传输方法,其特征在于:接收方在初始阶段就得知发送发拟发送的数据量;因此,可以自行判断是否接收到了全部数据,一旦接收完成就立刻提交应用程序处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111190110.5A CN113645015A (zh) | 2021-10-13 | 2021-10-13 | 一种被动重发的可靠传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111190110.5A CN113645015A (zh) | 2021-10-13 | 2021-10-13 | 一种被动重发的可靠传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113645015A true CN113645015A (zh) | 2021-11-12 |
Family
ID=78426566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111190110.5A Pending CN113645015A (zh) | 2021-10-13 | 2021-10-13 | 一种被动重发的可靠传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645015A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915382A (zh) * | 2022-05-16 | 2022-08-16 | 南京航空航天大学 | 一种agv无线通信掉线重传及数据粘包处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
CN105790899A (zh) * | 2016-02-17 | 2016-07-20 | 北京理工大学 | 一种基于喷泉码的单次反馈重传方法 |
CN108512785A (zh) * | 2018-04-13 | 2018-09-07 | 南京优米亚信息科技有限公司 | 一种数据传输协议方法 |
CN110995697A (zh) * | 2019-11-29 | 2020-04-10 | 济南慧天云海信息技术有限公司 | 一种大数据传输方法及系统 |
US20200195390A1 (en) * | 2015-09-21 | 2020-06-18 | Huawei Technologies Co., Ltd. | Packet transmission method and user equipment |
-
2021
- 2021-10-13 CN CN202111190110.5A patent/CN113645015A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
US20200195390A1 (en) * | 2015-09-21 | 2020-06-18 | Huawei Technologies Co., Ltd. | Packet transmission method and user equipment |
CN105790899A (zh) * | 2016-02-17 | 2016-07-20 | 北京理工大学 | 一种基于喷泉码的单次反馈重传方法 |
CN108512785A (zh) * | 2018-04-13 | 2018-09-07 | 南京优米亚信息科技有限公司 | 一种数据传输协议方法 |
CN110995697A (zh) * | 2019-11-29 | 2020-04-10 | 济南慧天云海信息技术有限公司 | 一种大数据传输方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915382A (zh) * | 2022-05-16 | 2022-08-16 | 南京航空航天大学 | 一种agv无线通信掉线重传及数据粘包处理方法 |
CN114915382B (zh) * | 2022-05-16 | 2024-03-22 | 南京航空航天大学 | 一种agv无线通信掉线重传及数据粘包处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109348508B (zh) | 数据传输方法及装置 | |
US8165596B2 (en) | Data transmission method and data re-transmission method | |
US8699428B2 (en) | Method and arrangement for efficiently utilizing radio resources in a communication network | |
US6557134B2 (en) | ARQ method for wireless communication | |
CN101753277B (zh) | 无线链路控制层报文状态报告的发送方法 | |
KR100787294B1 (ko) | 이동 통신 기지국의 티씨피 성능 향상 장치 | |
KR20020003233A (ko) | 플렉서블 무선링크 제어 프로토콜 | |
EP1179923A2 (en) | Method for controlling data flow in communication system | |
CN116112128B (zh) | 发送重传请求的方法及装置、数据接收端设备和存储介质 | |
RU2392752C2 (ru) | Способ передачи данных и способ повторной передачи данных | |
WO2001078036A1 (en) | Joint range reject automatic repeat request protocol | |
CN113645015A (zh) | 一种被动重发的可靠传输方法 | |
CN102769520A (zh) | 基于sctp协议的无线网络拥塞控制方法 | |
CN117675723B (zh) | 数据面调度方法、系统、装置及设备 | |
CN101697630B (zh) | 一种无线链路扩充缓冲区状态报告的方法及装置 | |
CN113132930B (zh) | 物联网控制方法、系统、设备及存储介质 | |
CN101699782B (zh) | 一种无线链路重发数据的处理方法及装置 | |
US11316620B2 (en) | Enhanced HARQ algorithm for large round trip delay links | |
JP2002521960A (ja) | 通信システムにおけるデータ・パケットの伝達方法および装置 | |
CN107959554B (zh) | 一种数据的重传方法及装置 | |
CN107800515A (zh) | 一种用于无线链路层的数据传输方法和系统 | |
WO2020063029A1 (zh) | 数据传输方法、设备和系统 | |
WO2017117800A1 (zh) | 数据发送和接收装置、方法以及通信系统 | |
CN111277986B (zh) | 一种提高iOS设备蓝牙传输速度的方法 | |
CN109151958A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211112 |