CN114666831A - 一种基于流编码和带宽估计驱动的分组传输方法及其*** - Google Patents

一种基于流编码和带宽估计驱动的分组传输方法及其*** Download PDF

Info

Publication number
CN114666831A
CN114666831A CN202210306577.XA CN202210306577A CN114666831A CN 114666831 A CN114666831 A CN 114666831A CN 202210306577 A CN202210306577 A CN 202210306577A CN 114666831 A CN114666831 A CN 114666831A
Authority
CN
China
Prior art keywords
packet
received
repair
packets
sending
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
Application number
CN202210306577.XA
Other languages
English (en)
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.)
Nantong University
Nantong Research Institute for Advanced Communication Technologies Co Ltd
Original Assignee
Nantong University
Nantong Research Institute for Advanced Communication Technologies 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 Nantong University, Nantong Research Institute for Advanced Communication Technologies Co Ltd filed Critical Nantong University
Priority to CN202210306577.XA priority Critical patent/CN114666831A/zh
Publication of CN114666831A publication Critical patent/CN114666831A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • 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/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control

Landscapes

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

Abstract

本发明属于无线通信技术领域,具体涉及一种基于流编码和带宽估计驱动的分组传输方法及其***。本发明采用了流编码实现丢失分组恢复,提出了一种无传输层重传的丢包恢复方案,为UDP传输提供了可靠性机制,显著的降低了长时延链路中因重传导致的高端到端有序递送时延,实现了更平滑的有效吞吐量,对于流媒体和交互式应用非常有益。本发明还采用基于带宽估计的拥塞控制方法,通过对接收端的反馈信息进行处理,估计链路当前的带宽、往返时延与丢包率,动态地调整分组发送间隔、自动选择发送分组类型,解决了随机丢包导致的拥塞窗口频繁下降问题,提高了链路的有效吞吐量。

Description

一种基于流编码和带宽估计驱动的分组传输方法及其***
技术领域
本发明属于无线通信技术领域,具体涉及一种基于流编码和带宽估计驱动的分组传输方法及其***。
背景技术
具有大带宽时延积的无线链路,即长胖链路,预计将在下一代移动通信技术中广泛存在。如何在有损大带宽长时延链路中进行高效的分组传输将会是一个新的难题。目前大多数的应用程序都依赖传统控制协议(TCP)来进行数据传输,其中的拥塞控制算法(CCA)和基于重传的丢失分组恢复过程是两个重要的组成部分。虽然目前TCP在陆地网络中表现良好,但是在长胖无线链路中其往往表现出带宽利用率低的问题。这一方面是因为在TCP包括其大多数变体中都将分组丢失视为网络拥塞信号,并在判断网络拥塞时降低传输速率。然而在无线链路中分组丢失也可能是由于随机链路错误而非拥塞引起的。另一方面,在长胖链路中由于链路所具有的高往返时延(Round trip time,RTT)特性,慢启动和拥塞窗口的增长可能会相当的缓慢。因此网络连接可能需要很长的时间才可以充分利用带宽。特别是在短时数据量连接中,将导致链路带宽利用率严重下降。
除了低带宽利用率外,端到端有序交付延迟也是一个重要问题。端到端有序交付延时是一个分组第一次被发送的时间与其被有序的送到接收端应用层之间的时间间隔。当丢包重传时,其余序列号大于丢失分组的分组必须在缓冲区等待直至恢复完成。因此每个丢失分组的交付延迟至少将为1.5RTT,在长时延链路中可能会影响用户体验。
针对高丢包、大带宽时延积等特点优化TCP经典的“慢启动”和“和性增长/乘性降低”(AIMD)机制一直是一个重要的研究方向。此前,领域内已经提出了很多TCP拥塞控制协议变体来解决这些问题,典型的包括像是TCPHybla,TCP Westwood,TCP-Jersey,TCP Cubic和Google的BBR等。TCP Hybla主要针对长时延链路改进,其基本思想是设置窗口长度使传输速率可达到与Reno在某一个较小目标RTT场景下相同的水平,但是其并没有考虑到链路随机损失。TCP Westwood,TCP-Jersey基于ACK进行可用带宽估计设置拥塞门限以快速从CWND下降中恢复。TCP Cubic基于距前次拥塞事件实际时间(而非RTT值)的三次函数选择拥塞窗口长度,以克服“慢启动”和AIMD过于缓慢的缺点。但是这些变体主要关注于拥塞避免阶段而不是慢启动阶段。Google的BBR采用基于估计链路的带宽时延积来控制拥塞窗口,在理想情况下可以充分利用带宽同时不会造成排队延迟。但是由于BBR需要多个轮次才会得到实际带宽,因此在慢启动阶段会存在与TCP相同的问题。其次在长时延链路中BBR估计的稳定性不足。由于BBR启动阶段的pacing增益为2/ln2而拥塞窗口的增益恒定为2,所以可能导致大量分组突发进入链路。当多个BBR流相互竞争时该问题会进一步恶化。所以其仍然不足以满足长胖链路的需求。
面对长胖链路,现有传输层协议主要面临两个问题分别是由基于分组丢失信号的拥塞控制算法引起的低带宽利用率问题和由分组重传恢复引起的高端到端有序交付延迟问题。
发明内容
本发明采用一种基于流编码和带宽估计驱动的分组传输方法及其***,一方面依靠基于丢包率估计的主动式流编码,“预测性”地发送修复分组,以前向恢复丢失的分组,解决由分组重传恢复引起的高端到端有序交付延迟问题。另一方面利用基于带宽估计的拥塞控制算法取代基于分组丢失信号的拥塞控制算法,解决低带宽利用率问题。
本发明所采用的技术方案是:一种基于流编码和带宽估计驱动的分组传输方法,包括以下步骤:
S1、发送端与接收端连接初始化,而后接收端发送文件请求;
S2、发送端收到文件请求,打开文件获取内容并初始化传输参数,而后打包MetaInfo分组向所述接收端发送;MetaInfo分组包括请求文件名、所请求文件大小、发送端口、待发送的源分组数、流编码参数;所述流编码参数包括伽罗华域,传输分组大小,发送修复分组的频率,随机编码系数种子;
S3、接收端接受MetaInfo并反馈已接受MetaInfo;利用MetaInfo初始化流编码参数;接收端流编码译码器进行初始化等待新的分组到来;
S4、发送端对所述接收端的反馈信息进行处理,估计可用带宽和平滑往返时间RTT;根据所述链路可用带宽和平滑往返时间RTT更新链路拥塞窗口并进行拥塞控制;基于所述接收端的反馈信息估计链路丢包率;
S5、发送端判断拥塞窗口是否有剩余,如果拥塞窗口没有剩余则重复S5;
S6、发送端基于当前链路丢包率选择发送分组种类并实现发送动作;所述分组种类包括未编码的源分组和经过编码的修复分组;
S7、接收端对接收到的分组进行译码恢复,并有序的传输到上层;如若发生分组丢失则利用接收到的修复分组进行数据恢复而不通知发送端重传;接收完成后向所述发送端发送反馈信息;所述反馈信息包括ACK包的ID、接收端的有序标识、接收到的源分组数、接收到的修复分组数和最新接收到的分组信息;所述最新接收到的分组信息包括最新接收到的分组的种类,该分组的ID,接收到该分组的时间,另一种分组的已接收数量与什么都不做的数量;
S8、重复S4至S7直到分组传输结束。
作为本发明的优选技术方案:所述S4中的根据所述链路可用带宽和平滑往返时间RTT更新链路拥塞窗口并进行拥塞控制,具体包括以下步骤:
S4-1、利用每个ACK对链路带宽进行估计,设tn为第n个ACK的到达时间,Xn为自之前ACK以来新被接收的ACK分组的数量;
S4-2、当接收到第二个ACK时开始估计,并将第一个估计记为:
Figure BDA0003565520790000031
对于之后的ACK(n>=3)时,
Figure BDA0003565520790000032
其中,sRTT是估计时的平滑RTT;平滑RTT是通过过滤瞬时RTT得到的,瞬时RTT是根据ACK的到达时间和被接收到的ACK分组记录的发送时间来估计的,即:
iRTT=tacked-tsent
式中的iRTT即瞬时RTT;
S4-3、在接收到第n个ACK后的平滑RTT计算为:
sRTTn=α*sRTTn-1+(1-α)*iRTT
式中除了sRTTn外,SC-UDP还跟踪过去10秒内的最小iRTT,记为RTTmin;
S4-4、计算在接收到每个ACK时,发送端的拥塞窗口大小为:
CWNDn=BWn*RTTmin
当带宽BW2较大时,可能会导致一个瞬间的拥塞窗口急剧增加,突发流量被注入网络,从而导致缓冲区溢出损失。
作为本发明的优选技术方案:所述S6包括以下步骤:
S6-1、令iseq表示最近一次发送的未编码源分组的编号,初始化iseq=-1,每当发送一个源分组后,iseq加1;修复分组表示为:
Figure BDA0003565520790000041
所述修复分组由已经发送的源分组的线性组合,其中ck为编号为k的修复分组;gk,i为从有限域
Figure BDA0003565520790000042
中随机提取的流编码系数,k=0,1,2,3···为修复分组的编号;ws对应目前发送队列中最早的源分组的编号;
S6-2、初始化ws=0,根据接收端的反馈,将从队列中移除已确认接收到的原始分组,此时ws将会进行更新;令we=iseq,[ws,we]称为当前修复分组的编码窗;
S6-3、发送端基于当前链路的丢包率选择发送分组种类并实现发送动作;当当前修复***频率低于
Figure BDA0003565520790000043
时,即:
Figure BDA0003565520790000044
发送修复分组反之则发送源分组;其中
Figure BDA0003565520790000045
Figure BDA0003565520790000046
分别是当前时间tc所述发送端所发送的源分组和修复分组的数量,
Figure BDA0003565520790000047
为平滑丢包率其计算公式与平滑RTT类似,δ∈(0,1)。
作为本发明的优选技术方案:所述S7包括以下步骤:
S7-1、令iord表示最新的有序传输分组编号,初始化iord=-1,译码器初始状态为有序状态;
S7-2、当译码器下一个接收的分组既不是Siord+1也不是具有we=iord特性的修复分组,则为有序传输被中断;译码器进入失序状态,此时译码器将缓冲收到的分组并尝试解码;缓冲分组是无序源分组,其编号大于iord+1或修复分组,其中we>iord+1;
S7-3、令
Figure BDA0003565520790000048
又令
Figure BDA0003565520790000049
为缓冲的修复分组中编码窗口上界的最大编号;
Figure BDA00035655207900000410
称为译码器当前的解码窗;随着缓冲的分组增多,窗口可能会扩展,即
Figure BDA00035655207900000411
增长;译码器使用高斯消元法进行解码,即动态构建线性方程组AS=B并在线执行前向消去,其中A和B的行分别是缓冲的分组的编码系数和编码信息符号,其中无序源分组看作编码系数只有一个非零元素1的特殊修复分组;
S7-4、当解码成功时,解码窗中的解码出的源分组全部被传输到上层应用,译码器恢复到有序状态,有序传输以
Figure BDA0003565520790000051
重新开始;接收完成后向所述发送端发送反馈信息。
一种基于流编码和带宽估计驱动的分组传输方法的分组传输***,包括发送端、接收端、状态估计单元、流编码传输单元、拥塞与FEC控制单元及其他辅助单元;
所述发送端用于发送分组,所述分组为未编码的源分组或经过编码的修复分组;
所述接收端设有译码器用于对接收到的分组进行译码并有序地传输到上层应用,同时接收端还向所述发送端发送反馈信息,所述反馈信息包括所述反馈信息包括ACK包的ID、接收端的有序标识、接收到的源分组数、接收到的修复分组数和最新接收到的分组信息。所述最新接收到的分组信息包括最新接收到的分组的种类,该分组的ID,接收到该分组的时间,另一种分组的已接收数量,什么都不做的行为数量;
所述状态估计单元,包括带宽估计、往返时间估计、丢包率估计,为分组传输***提供链路空间感知能力;
所述流编码传输单元提供流编码传输的编码与译码功能;流编码传输单元采用一种基于丢包率的分组级主动式前向纠错代码,即流编码,通过对于链路丢包率的估计预测性的发送修复分组以替代传统拥塞控制中分组丢失导致的重传;
所述拥塞控制与FEC单元提供分组传输中的拥塞控制能力与自适应的调整FEC码率的能力;
其它辅助单元,用以保障所述分组传输协议的可靠性与完整性;所述辅助单元主要包括初始信息交换,数据发送结束,超时计时等功能。
与现有技术相比,本发明的有益效果为:
(1)本发明采用了流编码实现丢失分组恢复,提出了一种无传输层重传的丢包恢复方案,为UDP传输提供了可靠性机制,显著的降低了长时延链路中因重传导致的高端到端有序递送时延,实现了更平滑的有效吞吐量,对于流媒体和交互式应用非常有益。
(2)本发明还采用基于带宽估计的拥塞控制方法,通过对接收端的反馈信息进行处理,估计链路当前的带宽、往返时延与丢包率,动态地调整分组发送间隔、自动选择发送分组类型,解决了随机丢包导致的拥塞窗口频繁下降问题,提高了链路的有效吞吐量。
附图说明
图1为本发明的方法流程图;
图2为本发明的***示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明提出的一种基于流编码和带宽估计驱动的分组传输方法,该传输方法基于UDP传输协议,简称SC-UDP。本发明通过对于链路丢包率的估计调整流编码的码率自动的选择发送修复分组还是源分组,当出现分组丢失时接收端可利用修复分组完成数据恢复,解决由分组重传恢复引起的高端到端有序交付延迟问题,由于此时链路中没有分组丢失信号,因此本发明还进行拥塞控制,解决传输带宽利用率低问题
本发明包括以下步骤:
S1、发送端与接收端连接初始化,而后接收端发送文件请求;
S2、发送端收到文件请求,打开文件获取内容并初始化传输参数,而后打包MetaInfo分组向所述接收端发送;MetaInfo分组包括请求文件名、所请求文件大小、发送端口、待发送的源分组数、流编码参数;所述流编码参数包括伽罗华域,传输分组大小,发送修复分组的频率,随机编码系数种子;
S3、接收端接受MetaInfo并反馈已接受MetaInfo;利用MetaInfo初始化流编码参数;接收端流编码译码器进行初始化等待新的分组到来;
S4、发送端对所述接收端的反馈信息进行处理,估计可用带宽和平滑往返时间RTT;根据所述链路可用带宽和平滑往返时间RTT更新链路拥塞窗口并进行拥塞控制;基于所述接收端的反馈信息估计链路丢包率;
S5、发送端判断拥塞窗口是否有剩余,如果拥塞窗口没有剩余则重复S5;
S6、发送端基于当前链路丢包率选择发送分组种类并实现发送动作;所述分组种类包括未编码的源分组和经过编码的修复分组;
S7、接收端对接收到的分组进行译码恢复,并有序的传输到上层;如若发生分组丢失则利用接收到的修复分组进行数据恢复而不通知发送端重传;接收完成后向所述发送端发送反馈信息;所述反馈信息包括ACK包的ID、接收端的有序标识、接收到的源分组数、接收到的修复分组数和最新接收到的分组信息;所述最新接收到的分组信息包括最新接收到的分组的种类,该分组的ID,接收到该分组的时间,另一种分组的已接收数量与什么都不做的数量;
S8、重复S4至S7直到分组传输结束。
S4利用每个ACK对链路带宽进行估计而不是采用平均往返时间估计。这种基于ACK的估计方法可以使发送端快速达到一个高带宽。S4中的根据所述链路可用带宽和平滑往返时间RTT更新链路拥塞窗口并进行拥塞控制,具体包括以下步骤:
S4-1、利用每个ACK对链路带宽进行估计,设tn为第n个ACK的到达时间,Xn为自之前ACK以来新被接收的ACK分组的数量;
S4-2、当接收到第二个ACK时开始估计,并将第一个估计记为:
Figure BDA0003565520790000071
对于之后的ACK(n>=3)时,
Figure BDA0003565520790000072
其中,sRTT是估计时的平滑RTT;平滑RTT是通过过滤瞬时RTT得到的,瞬时RTT是根据ACK的到达时间和被接收到的ACK分组记录的发送时间来估计的,即:
iRTT=tacked-tsent
式中的iRTT即瞬时RTT;
S4-3、在接收到第n个ACK后的平滑RTT计算为:
sRTTn=α*sRTTn-1+(1-α)*iRTT
式中除了sRTTn外,SC-UDP还跟踪过去10秒内的最小iRTT,记为RTTmin;
S4-4、计算在接收到每个ACK时,发送端的拥塞窗口大小为:
CWNDn=BWn*RTTmin
当带宽BW2较大时,可能会导致一个瞬间的拥塞窗口急剧增加,突发流量被注入网络,从而导致缓冲区溢出损失。
虽然本发明所述传输***的拥塞窗口对分组丢失不敏感,但是该损失可能会导致分组排队和译码延时的激增。为此当出现这种激增时我们以γBWn的速度调整拥塞窗口,在本实例中γ=2。
S6包括以下步骤:
S6-1、令iseq表示最近一次发送的未编码源分组的编号,初始化iseq=-1,每当发送一个源分组后,iseq加1;修复分组表示为:
Figure BDA0003565520790000081
所述修复分组由已经发送的源分组的线性组合,其中ck为编号为k的修复分组;gk,i为从有限域
Figure BDA00035655207900000812
中随机提取的流编码系数,k=0,1,2,3···为修复分组的编号;ws对应目前发送队列中最早的源分组的编号;
S6-2、初始化ws=0,根据接收端的反馈,将从队列中移除已确认接收到的原始分组,此时ws将会进行更新;令we=iseq,[ws,we]称为当前修复分组的编码窗;
S6-3、发送端基于当前链路的丢包率选择发送分组种类并实现发送动作;当当前修复***频率低于
Figure BDA0003565520790000082
时,即:
Figure BDA0003565520790000083
发送修复分组反之则发送源分组;其中
Figure BDA0003565520790000084
Figure BDA0003565520790000085
分别是当前时间tc所述发送端所发送的源分组和修复分组的数量,
Figure BDA0003565520790000086
为平滑丢包率其计算公式与平滑RTT类似,δ∈(0,1)。
S7包括以下步骤:
S7-1、令iord表示最新的有序传输分组编号,初始化iord=-1,译码器初始状态为有序状态;S7-2、当译码器下一个接收的分组既不是Siord+1也不是具有we=iord特性的修复分组,则为有序传输被中断;译码器进入失序状态,此时译码器将缓冲收到的分组并尝试解码;缓冲分组是无序源分组,其编号大于iord+1或修复分组,其中we>iord+1;
S7-3、令
Figure BDA0003565520790000087
又令
Figure BDA0003565520790000088
为缓冲的修复分组中编码窗口上界的最大编号;
Figure BDA0003565520790000089
称为译码器当前的解码窗;随着缓冲的分组增多,窗口可能会扩展,即
Figure BDA00035655207900000810
增长;译码器使用高斯消元法进行解码,即动态构建线性方程组AS=B并在线执行前向消去,其中A和B的行分别是缓冲的分组的编码系数和编码信息符号,其中无序源分组看作编码系数只有一个非零元素1的特殊修复分组;
S7-4、当解码成功时,解码窗中的解码出的源分组全部被传输到上层应用,译码器恢复到有序状态,有序传输以
Figure BDA00035655207900000811
重新开始;接收完成后向所述发送端发送反馈信息。
如图2所示,一种基于流编码和带宽估计驱动的分组传输方法的分组传输***,包括发送端、接收端、状态估计单元、流编码传输单元、拥塞与FEC控制单元及其他辅助单元;所述发送端用于发送分组,所述分组为未编码的源分组或经过编码的修复分组;
所述接收端设有译码器用于对接收到的分组进行译码并有序地传输到上层应用,同时接收端还向所述发送端发送反馈信息,所述反馈信息包括所述反馈信息包括ACK包的ID、接收端的有序标识、接收到的源分组数、接收到的修复分组数和最新接收到的分组信息。所述最新接收到的分组信息包括最新接收到的分组的种类,该分组的ID,接收到该分组的时间,另一种分组的已接收数量,什么都不做的行为数量;
所述状态估计单元,包括带宽估计、往返时间估计、丢包率估计,为分组传输***提供链路空间感知能力;
所述流编码传输单元提供流编码传输的编码与译码功能;流编码传输单元采用一种基于丢包率的分组级主动式前向纠错代码,即流编码,通过对于链路丢包率的估计预测性的发送修复分组以替代传统拥塞控制中分组丢失导致的重传;
所述拥塞控制与FEC单元提供分组传输中的拥塞控制能力与自适应的调整FEC码率的能力;
其它辅助单元,用以保障所述分组传输协议的可靠性与完整性;所述辅助单元主要包括初始信息交换,数据发送结束,超时计时等功能。
本发明采用了流编码实现丢失分组恢复,提出了一种无传输层重传的丢包恢复方案,为UDP传输提供了可靠性机制,显著的降低了长时延链路中因重传导致的高端到端有序递送时延,实现了更平滑的有效吞吐量,对于流媒体和交互式应用非常有益。本发明还采用基于带宽估计的拥塞控制方法,通过对接收端的反馈信息进行处理,估计链路当前的带宽、往返时延与丢包率,动态地调整分组发送间隔、自动选择发送分组类型,解决了随机丢包导致的拥塞窗口频繁下降问题,提高了链路的有效吞吐量。
以上所述的具体实施方案,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施方案而已,并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。

Claims (5)

1.一种基于流编码和带宽估计驱动的分组传输方法,其特征在于,包括以下步骤:
S1、发送端与接收端连接初始化,而后接收端发送文件请求;
S2、发送端收到文件请求,打开文件获取内容并初始化传输参数,而后打包MetaInfo分组向所述接收端发送;MetaInfo分组包括请求文件名、所请求文件大小、发送端口、待发送的源分组数、流编码参数;所述流编码参数包括伽罗华域,传输分组大小,发送修复分组的频率,随机编码系数种子;
S3、接收端接受MetaInfo并反馈已接受MetaInfo;利用MetaInfo初始化流编码参数;接收端流编码译码器进行初始化等待新的分组到来;
S4、发送端对所述接收端的反馈信息进行处理,估计可用带宽和平滑往返时间RTT;根据所述链路可用带宽和平滑往返时间RTT更新链路拥塞窗口并进行拥塞控制;基于所述接收端的反馈信息估计链路丢包率;
S5、发送端判断拥塞窗口是否有剩余,如果拥塞窗口没有剩余则重复S5;
S6、发送端基于当前链路丢包率选择发送分组种类并实现发送动作;所述分组种类包括未编码的源分组和经过编码的修复分组;
S7、接收端对接收到的分组进行译码恢复,并有序的传输到上层;如若发生分组丢失则利用接收到的修复分组进行数据恢复而不通知发送端重传;接收完成后向所述发送端发送反馈信息;所述反馈信息包括ACK包的ID、接收端的有序标识、接收到的源分组数、接收到的修复分组数和最新接收到的分组信息;所述最新接收到的分组信息包括最新接收到的分组的种类,该分组的ID,接收到该分组的时间,另一种分组的已接收数量与什么都不做的数量;
S8、重复S4至S7直到分组传输结束。
2.根据权利要求1所述的一种基于流编码和带宽估计驱动的分组传输方法,其特征在于,所述S4中的根据所述链路可用带宽和平滑往返时间RTT更新链路拥塞窗口并进行拥塞控制,具体包括以下步骤:
S4-1、利用每个ACK对链路带宽进行估计,设tn为第n个ACK的到达时间,Xn为自之前ACK以来新被接收的ACK分组的数量;
S4-2、当接收到第二个ACK时开始估计,并将第一个估计记为:
Figure FDA0003565520780000011
对于之后的ACK(n>=3)时,
Figure FDA0003565520780000021
其中,sRTT是估计时的平滑RTT;平滑RTT是通过过滤瞬时RTT得到的,瞬时RTT是根据ACK的到达时间和被接收到的ACK分组记录的发送时间来估计的,即:
iRTT=tacked-tsent
式中的iRTT即瞬时RTT;
S4-3、在接收到第n个ACK后的平滑RTT计算为:
sRTTn=α*sRTTn-1+(1-α)*iRTT
式中过去10秒内的最小iRTT,记为RTTmin;
S4-4、计算在接收到每个ACK时,发送端的拥塞窗口大小为:
CWNDn=BWn*RTTmin
当带宽BW2较大时,可能会导致一个瞬间的拥塞窗口急剧增加,突发流量被注入网络,从而导致缓冲区溢出损失。
3.根据权利要求1所述的一种基于流编码和带宽估计驱动的分组传输方法,其特征在于,所述S6包括以下步骤:
S6-1、令iseq表示最近一次发送的未编码源分组的编号,初始化iseq=-1,每当发送一个源分组后,iseq加1;修复分组表示为:
Figure FDA0003565520780000022
所述修复分组由已经发送的源分组的线性组合,其中ck为编号为k的修复分组;gk,i为从有限域
Figure FDA0003565520780000023
中随机提取的流编码系数,k=0,1,2,3···为修复分组的编号;ws对应目前发送队列中最早的源分组的编号;
S6-2、初始化ws=0,根据接收端的反馈,将从队列中移除已确认接收到的原始分组,此时ws将会进行更新;令we=iseq,[ws,we]称为当前修复分组的编码窗;
S6-3、发送端基于当前链路的丢包率选择发送分组种类并实现发送动作;当当前修复***频率低于
Figure FDA0003565520780000024
时,即:
Figure FDA0003565520780000031
发送修复分组反之则发送源分组;其中
Figure FDA0003565520780000032
Figure FDA0003565520780000033
分别是当前时间tc所述发送端所发送的源分组和修复分组的数量,
Figure FDA0003565520780000034
为平滑丢包率其计算公式与平滑RTT类似,δ∈(0,1)。
4.根据权利要求1所述的一种基于流编码和带宽估计驱动的分组传输方法,其特征在于,所述S7包括以下步骤:
S7-1、令iord表示最新的有序传输分组编号,初始化iord=-1,译码器初始状态为有序状态;
S7-2、当译码器下一个接收的分组既不是Siord+1也不是具有we=iord特性的修复分组,则为有序传输被中断;译码器进入失序状态,此时译码器将缓冲收到的分组并尝试解码;缓冲分组是无序源分组,其编号大于iord+1或修复分组,其中we>iord+1;
S7-3、令
Figure FDA0003565520780000035
又令
Figure FDA0003565520780000036
为缓冲的修复分组中编码窗口上界的最大编号;
Figure FDA0003565520780000037
称为译码器当前的解码窗;随着缓冲的分组增多,窗口可能会扩展,即
Figure FDA0003565520780000038
增长;译码器使用高斯消元法进行解码,即动态构建线性方程组AS=B并在线执行前向消去,其中A和B的行分别是缓冲的分组的编码系数和编码信息符号,其中无序源分组看作编码系数只有一个非零元素1的特殊修复分组;
S7-4、当解码成功时,解码窗中的解码出的源分组全部被传输到上层应用,译码器恢复到有序状态,有序传输以
Figure FDA0003565520780000039
重新开始;接收完成后向所述发送端发送反馈信息。
5.基于权利要求1-4任意一项所述的一种基于流编码和带宽估计驱动的分组传输方法的分组传输***,其特征在于,包括发送端、接收端、状态估计单元、流编码传输单元、拥塞与FEC控制单元及其他辅助单元;
所述发送端用于发送分组,所述分组为未编码的源分组或经过编码的修复分组;
所述接收端设有译码器用于对接收到的分组进行译码并有序地传输到上层应用,同时接收端还向所述发送端发送反馈信息,所述反馈信息包括所述反馈信息包括ACK包的ID、接收端的有序标识、接收到的源分组数、接收到的修复分组数和最新接收到的分组信息。所述最新接收到的分组信息包括最新接收到的分组的种类,该分组的ID,接收到该分组的时间,另一种分组的已接收数量,什么都不做的行为数量;
所述状态估计单元,包括带宽估计、往返时间估计、丢包率估计,为分组传输***提供链路空间感知能力;
所述流编码传输单元提供流编码传输的编码与译码功能;流编码传输单元采用一种基于丢包率的分组级主动式前向纠错代码,即流编码,通过对于链路丢包率的估计预测性的发送修复分组以替代传统拥塞控制中分组丢失导致的重传;
所述拥塞控制与FEC单元提供分组传输中的拥塞控制能力与自适应的调整FEC码率的能力;
其它辅助单元,用以保障所述分组传输协议的可靠性与完整性;所述辅助单元主要包括初始信息交换,数据发送结束,超时计时等功能。
CN202210306577.XA 2022-03-25 2022-03-25 一种基于流编码和带宽估计驱动的分组传输方法及其*** Pending CN114666831A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210306577.XA CN114666831A (zh) 2022-03-25 2022-03-25 一种基于流编码和带宽估计驱动的分组传输方法及其***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210306577.XA CN114666831A (zh) 2022-03-25 2022-03-25 一种基于流编码和带宽估计驱动的分组传输方法及其***

Publications (1)

Publication Number Publication Date
CN114666831A true CN114666831A (zh) 2022-06-24

Family

ID=82031797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210306577.XA Pending CN114666831A (zh) 2022-03-25 2022-03-25 一种基于流编码和带宽估计驱动的分组传输方法及其***

Country Status (1)

Country Link
CN (1) CN114666831A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378832A (zh) * 2022-07-29 2022-11-22 北京奇艺世纪科技有限公司 拥塞检测方法、装置及流媒体传输***、电子设备和介质
CN115474063A (zh) * 2022-10-27 2022-12-13 中诚华隆计算机技术有限公司 一种流媒体后端解码方法、装置及存储介质
CN116155825A (zh) * 2023-04-04 2023-05-23 山东大学 一种bbr拥塞控制算法数据重传的优化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378832A (zh) * 2022-07-29 2022-11-22 北京奇艺世纪科技有限公司 拥塞检测方法、装置及流媒体传输***、电子设备和介质
CN115378832B (zh) * 2022-07-29 2024-03-26 北京奇艺世纪科技有限公司 拥塞检测方法、装置及流媒体传输***、电子设备和介质
CN115474063A (zh) * 2022-10-27 2022-12-13 中诚华隆计算机技术有限公司 一种流媒体后端解码方法、装置及存储介质
CN116155825A (zh) * 2023-04-04 2023-05-23 山东大学 一种bbr拥塞控制算法数据重传的优化方法

Similar Documents

Publication Publication Date Title
US10645448B2 (en) Buffer-aware transmission rate control for real-time video streaming system
CN112165355B (zh) 一种面向卫星网络的基于udp的可靠数据传输方法
CN114666831A (zh) 一种基于流编码和带宽估计驱动的分组传输方法及其***
CN107888342B (zh) 一种网络实时视频传输方法及装置
CN102006283B (zh) 数据传输的方法和装置
EP1786136B1 (en) Packet retransmission apparatus, communication system and program
CN107204834B (zh) 一种基于udt协议的高速网络可靠传输的控制方法
KR100785293B1 (ko) 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
JP4898822B2 (ja) 通信システム、通信装置、通信方法
EP1771742B1 (en) High performance tcp for systems with infrequent ack
US20190190542A1 (en) Reliable data transmission method based on reliable udp and fountain code in aeronautical ad hoc networks
US20080181109A1 (en) Communication Terminal, Congestion Control Method, and Congestion Control Program
US20070086335A1 (en) Congestion management over lossy network connections
WO2002030033A2 (en) Improved connectionless arq protocol
US20160323062A1 (en) Packet recovery in interactive real-time media protocol
WO2012174763A1 (zh) 一种基于tcp协议的自适应网络控制传输方法和***
CN107592185B (zh) 一种适用于网络编码传输控制协议的前向重传方法
JP2002524915A (ja) 低待ち時間通信用のシステムおよび方法
CN107634823B (zh) 基于网络编码的传输控制协议的数据传输方法
CN111193577B (zh) 使用传输超时的网络***通信方法及通信装置
KR100620837B1 (ko) 데이터 통신 방법, 데이터 통신 시스템 및 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독 가능한 기록 매체
CN107395325B (zh) 一种服务于战术级通信网的自适应估计传输方法
WO2015074279A1 (zh) 一种基于udp协议的网络编码及传输方法
Henderson TCP performance over satellite channels
CN106100797B (zh) 一种基于ltp异步加速重传策略的深空文件传输方法

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