CN112953687A - 基于统计预测的丢包重传机制 - Google Patents

基于统计预测的丢包重传机制 Download PDF

Info

Publication number
CN112953687A
CN112953687A CN202110192468.5A CN202110192468A CN112953687A CN 112953687 A CN112953687 A CN 112953687A CN 202110192468 A CN202110192468 A CN 202110192468A CN 112953687 A CN112953687 A CN 112953687A
Authority
CN
China
Prior art keywords
messages
gap filling
message
container
continuous
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
Application number
CN202110192468.5A
Other languages
English (en)
Other versions
CN112953687B (zh
Inventor
吴仕富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Maofang Technology Co ltd
Original Assignee
Hangzhou Maofang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Maofang Technology Co ltd filed Critical Hangzhou Maofang Technology Co ltd
Priority to CN202110192468.5A priority Critical patent/CN112953687B/zh
Publication of CN112953687A publication Critical patent/CN112953687A/zh
Application granted granted Critical
Publication of CN112953687B publication Critical patent/CN112953687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了基于统计预测的丢包重传机制,步骤101:发送端窗口没满,则批量发送一批数据(1~11);步骤102:接收端从接收缓冲区接收所有报文,并处理已经递增连续的报文;步骤103:通过TOP‑K算法,将最近的收到的K个报文放入TOP‑K容器中,同时将已经递增连续的报文从Top‑K容器删除;步骤104:记录递增连续的最大报文号NOAcked。本发明从发现数据丢失到补缺完成,就是一个rtt的延时,这种方案在LDP可靠组播中,性能提升特别明显,如果依赖ack或者心跳补缺,延时在毫秒级甚至微秒级别,但是采用本文提出的方案,延时控制在几微秒,针对不可统计的网络环境,Top‑K中的K值可以通过丢包情况进行自动调整,其实现方案很简单,此处不再赘述。

Description

基于统计预测的丢包重传机制
技术领域
本发明涉及统计预测技术领域,具体为基于统计预测的丢包重传机制。
背景技术
广义理解是指一些利用统计资料和统计方法进行的预测,狭义的理解仅指时间序列预测,即利用统计资料作外推的预测,它属于定量预测范畴,统计学侧重于研究和开发预测方法中利用统计资料进行外推的那一部分方法即时间序列预测法,其中涉及到丢包重传机制,在网络通信中,丢包和乱序是很常见的,所以各种协议都需要考虑这两个问题,tcp通信中,补缺算法有多种,其中包括:超时重传,快速重传,SACK,D-SACK等,对于udp等通信,除了上述算法外,还有前向纠错算法FEC等,超时重传:即发送端一定时间没有收到ack则重新发送未被确认消息,缺点是需要等待一段时间,快速重传:当连续收到三个一样的ack报文,则将ack报文序号对应的消息重新发送,缺点是等待多个ack延迟加大,而且为了避免ack爆炸,ack本身频率不会太高,同时没有考虑已经收到的乱序报文,SACK:在ack头附加确认丢失的报文,避免重复发送已经收到的包,缺点优化了快速重传避免重复发送,但是没有解决ack效率不高问题,同时引入一个严重安全bug,即如果报文被截获,修改SACK头中丢失的报文,则发送端会一直发送重复报文,占满带宽,D-SACK:解决SACK被截获修改的问题,但是没有解决ack效率不高问题,FEC前向纠错:通过30~50%的冗余编码,接收端收到大于或等于原始报文数量包后,即可通过这些包恢复原始报文,即使中间丢了30%~50%的报文,优点是逻辑简单,缺点是不能从根本问题解决丢包,而只能减缓,同时冗余包增加了大量带宽消耗,收发双方都要等待一个窗口后才能处理数据,编码解码耗费资源严重。
发明内容
本发明的目的在于提供基于统计预测的丢包重传机制,具备逻辑简单的优点,解决了快速发现缺失的报文并及时发出补缺请求,不依赖ack,心跳等延迟大的方式,从而提升通信性能,降低延迟的问题。
为实现上述目的,本发明提供如下技术方案:基于统计预测的丢包重传机制,步骤101:发送端窗口没满,则批量发送一批数据(1~11);
步骤102:接收端从接收缓冲区接收所有报文,并处理已经递增连续的报文;
步骤103:通过TOP-K算法,将最近的收到的K个报文放入TOP-K容器中,同时将已经递增连续的报文从Top-K容器删除;
步骤104:记录递增连续的最大报文号NOAcked;
步骤105:如果Top-K容器已满K个,则比较最大递增报文号NOAcked和TOP-K容器中的最小报文号NOTopk,如果不是连续的,则补缺NOAcked到NOTopk之间的所有报文;
步骤106:发送补缺请求,接收端收到后立刻补缺数据,同时将这个补缺序号放入持续补缺的补缺序号队列中。
优选的,所述步骤201:重新创建一个用于补缺的Top-K容器,其功能和常规补缺的功能一致,不过只处理补缺数据报文,同时创建一个补缺序号队列,只要通过常规补缺发现需要补缺的报文,就按序放入这个队列,这个步骤中,补缺数据10到来,发现10之前的数据都是连续的,则应该清空这个TOP-K;
步骤202:从补缺序号队列头拿出11进行补缺,考虑到11的补缺请求和应答都可能丢包,所以还需要考虑11的后续补缺,根据窗口的设计,一次批量最多发送完整个窗口,在这里是16,所以,接收端缺少11号报文,发送端收到的连续ack也是11,发送端最多只能发送到27,同时缺失报文13,15,23,24,27还在窗口范围内,也会直接补缺;
步骤203:因为发送端最多发送一个窗口,即11号缺失,只能发送到27号,所以直接将11号报文放入补缺序号队列尾部,比如图中,当27号报文到达,如果11号补缺还没成功,则继续补缺11号报文,如果11号报文多次不成功,则进入等待状态,直到11号补缺完成,这种是特殊场景,表明网络或者程序已经有严重问题。
与现有技术相比,本发明的有益效果如下:
本发明的统计基础:在绝大部分的网络传输报文中,先发送报文都是先到达,只是顺序可能会有概率性的乱序,通过经验统计,在局域网中,99.99%的丢包和乱序的报文,都在连续收到5个报文之内在Internet中,99.99%丢包和乱序的报文,都在连续收到9个报文之内,通过这个经验值,我们可以在收到固定报文内将没有收到的包直接补缺,因为采用窗口批量发送方式,从而能够保证补缺的及时性。
附图说明
图1为本发明第一种流程示意图;
图2为本发明第二种流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
请参阅图1-2,基于统计预测的丢包重传机制,步骤101:发送端窗口没满,则批量发送一批数据(1~11);
步骤102:接收端从接收缓冲区接收所有报文,并处理已经递增连续的报文;
步骤103:通过TOP-K算法,将最近的收到的K个报文放入TOP-K容器中,同时将已经递增连续的报文从Top-K容器删除;
步骤104:记录递增连续的最大报文号NOAcked;
步骤105:如果Top-K容器已满K个,则比较最大递增报文号NOAcked和TOP-K容器中的最小报文号NOTopk,如果不是连续的,则补缺NOAcked到NOTopk之间的所有报文;
步骤106:发送补缺请求,接收端收到后立刻补缺数据,同时将这个补缺序号放入持续补缺的补缺序号队列中。
步骤201:重新创建一个用于补缺的Top-K容器,其功能和常规补缺的功能一致,不过只处理补缺数据报文,同时创建一个补缺序号队列,只要通过常规补缺发现需要补缺的报文,就按序放入这个队列,这个步骤中,补缺数据10到来,发现10之前的数据都是连续的,则应该清空这个TOP-K;
步骤202:从补缺序号队列头拿出11进行补缺,考虑到11的补缺请求和应答都可能丢包,所以还需要考虑11的后续补缺,根据窗口的设计,一次批量最多发送完整个窗口,在这里是16,所以,接收端缺少11号报文,发送端收到的连续ack也是11,发送端最多只能发送到27,同时缺失报文13,15,23,24,27还在窗口范围内,也会直接补缺;
步骤203:因为发送端最多发送一个窗口,即11号缺失,只能发送到27号,所以直接将11号报文放入补缺序号队列尾部,比如图中,当27号报文到达,如果11号补缺还没成功,则继续补缺11号报文,如果11号报文多次不成功,则进入等待状态,直到11号补缺完成,这种是特殊场景,表明网络或者程序已经有严重问题。
使用时,现有的丢包重传机制都没有避免多个ack或者心跳包进行触发的方式,而且对乱序的场景也没有很好的解决,3个ack并不能保证乱序的包已经在ack时到达,导致延时非常大,而本文提出的方案通过统计预测确定丢包的可能范围,通过Top-K解决乱序问题,从而快速补缺,使延时得到最大提升,从发现数据丢失到补缺完成,就是一个rtt的延时,这种方案在LDP可靠组播中,性能提升特别明显,如果依赖ack或者心跳补缺,延时在毫秒级甚至微秒级别,但是采用本文提出的方案,延时控制在几微秒,针对不可统计的网络环境,Top-K中的K值可以通过丢包情况进行自动调整,其实现方案很简单,此处不再赘述。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (2)

1.基于统计预测的丢包重传机制,步骤101:发送端窗口没满,则批量发送一批数据(1~11);
步骤102:接收端从接收缓冲区接收所有报文,并处理已经递增连续的报文;
步骤103:通过TOP-K算法,将最近的收到的K个报文放入TOP-K容器中,同时将已经递增连续的报文从Top-K容器删除;
步骤104:记录递增连续的最大报文号NOAcked;
步骤105:如果Top-K容器已满K个,则比较最大递增报文号NOAcked和TOP-K容器中的最小报文号NOTopk,如果不是连续的,则补缺NOAcked到NOTopk之间的所有报文;
步骤106:发送补缺请求,接收端收到后立刻补缺数据,同时将这个补缺序号放入持续补缺的补缺序号队列中。
2.根据权利要求1所述的基于统计预测的丢包重传机制,步骤201:重新创建一个用于补缺的Top-K容器,其功能和常规补缺的功能一致,不过只处理补缺数据报文,同时创建一个补缺序号队列,只要通过常规补缺发现需要补缺的报文,就按序放入这个队列,这个步骤中,补缺数据10到来,发现10之前的数据都是连续的,则应该清空这个TOP-K;
步骤202:从补缺序号队列头拿出11进行补缺,考虑到11的补缺请求和应答都可能丢包,所以还需要考虑11的后续补缺,根据窗口的设计,一次批量最多发送完整个窗口,在这里是16,所以,接收端缺少11号报文,发送端收到的连续ack也是11,发送端最多只能发送到27,同时缺失报文13,15,23,24,27还在窗口范围内,也会直接补缺;
步骤203:因为发送端最多发送一个窗口,即11号缺失,只能发送到27号,所以直接将11号报文放入补缺序号队列尾部,比如图中,当27号报文到达,如果11号补缺还没成功,则继续补缺11号报文,如果11号报文多次不成功,则进入等待状态,直到11号补缺完成,这种是特殊场景,表明网络或者程序已经有严重问题。
CN202110192468.5A 2021-02-20 2021-02-20 基于统计预测的丢包重传方法 Active CN112953687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110192468.5A CN112953687B (zh) 2021-02-20 2021-02-20 基于统计预测的丢包重传方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110192468.5A CN112953687B (zh) 2021-02-20 2021-02-20 基于统计预测的丢包重传方法

Publications (2)

Publication Number Publication Date
CN112953687A true CN112953687A (zh) 2021-06-11
CN112953687B CN112953687B (zh) 2022-07-22

Family

ID=76244717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110192468.5A Active CN112953687B (zh) 2021-02-20 2021-02-20 基于统计预测的丢包重传方法

Country Status (1)

Country Link
CN (1) CN112953687B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259062A (zh) * 2021-05-31 2021-08-13 恒生电子股份有限公司 丢包重传的方法、装置、可读介质以及设备
CN117997856A (zh) * 2024-04-03 2024-05-07 山东浪潮数据库技术有限公司 一种用于网络消息排序的方法、系统及可编程交换机

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140036795A1 (en) * 2012-08-03 2014-02-06 Marta Martinez Tarradell Apparatus and method for small data transmission in 3gpp-lte systems
US20140241159A1 (en) * 2013-02-28 2014-08-28 Cellco Partnership D/B/A Verizon Wireless Optimization of transmission control protocol (tcp) connections in a wireless network
CN105871739A (zh) * 2016-06-17 2016-08-17 华为技术有限公司 一种处理报文的方法及计算设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140036795A1 (en) * 2012-08-03 2014-02-06 Marta Martinez Tarradell Apparatus and method for small data transmission in 3gpp-lte systems
US20140241159A1 (en) * 2013-02-28 2014-08-28 Cellco Partnership D/B/A Verizon Wireless Optimization of transmission control protocol (tcp) connections in a wireless network
CN105871739A (zh) * 2016-06-17 2016-08-17 华为技术有限公司 一种处理报文的方法及计算设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259062A (zh) * 2021-05-31 2021-08-13 恒生电子股份有限公司 丢包重传的方法、装置、可读介质以及设备
CN113259062B (zh) * 2021-05-31 2021-10-29 恒生电子股份有限公司 丢包重传的方法、装置、可读介质以及设备
CN117997856A (zh) * 2024-04-03 2024-05-07 山东浪潮数据库技术有限公司 一种用于网络消息排序的方法、系统及可编程交换机

Also Published As

Publication number Publication date
CN112953687B (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
US20220014312A1 (en) Data transmission method and apparatus
US8537664B2 (en) Method and system for accelerating transmission of data between network devices
CN101114999B (zh) 数据发送控制方法及数据传输设备
US9043486B2 (en) Data transfer method, system and protocol
CN102355462B (zh) 一种实现tcp传输的方法及装置
CN109639340B (zh) 一种适用于卫星链路的tcp加速方法
CN112436994B (zh) 一种数据传输方法及电子设备
US20040052234A1 (en) Method and system for dispatching multiple TCP packets from communication systems
US8730885B2 (en) Method for improved robust header compression with low signal energy
CN112953687B (zh) 基于统计预测的丢包重传方法
CN107204834A (zh) 一种基于udt协议的高速网络可靠传输的控制方法
CN102820915B (zh) 改善tcp传输性能的卫星链路系统及其使用方法
CN101119183A (zh) 重传控制方法及传输设备
CN107592185B (zh) 一种适用于网络编码传输控制协议的前向重传方法
WO2016201904A1 (zh) 一种基于tcp的数据传输方法及装置
CN112738229B (zh) 一种实现数据自动续传的通信方法
CN114666831A (zh) 一种基于流编码和带宽估计驱动的分组传输方法及其系统
WO2020010511A1 (zh) 数据传输方法及基站
CN108183767A (zh) 一种适用于空间dtn网络的可靠传输方法
EP2846469A1 (en) Rateless encoding
Maisuria et al. Overview of techniques for improving QoS of TCP over wireless links
CN116963175A (zh) 数据传输方法、装置及系统
CN114143834A (zh) 无线链路控制轮询方法及装置
CN109151904B (zh) 一种Lora报文重装及重传方法、发送端及接收端
JP5539161B2 (ja) データ伝送方式、及び、複数拠点データ配信方式

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