一种结合补偿和前瞻的编码报文自适应重传机制,其步骤为:(1)网络编码操作单独的放在一个独立的网络编码层中,即NC层;(2)发送端以接受到10个接收端NC层发送的ACK为一个调整/补偿周期,进行补偿重传和前瞻重传冗余度的调整;在接收端反馈的应答报文所包含的信息中加入了Gap值信息,Gap值为解码端NC层解码矩阵中First_Byte_Uninvolved与First_Byte_Unseen的差值;发送端在每一个补偿/调整周期,根据Gap值的大小和Gap值的变化规律分别进行补偿报文的重传以及前瞻重传冗余度R的调整。本发明专利技术具有原理简单、可解决重传发送策略度与链路误码率的匹配问题、可有效提高数据的吞吐率等优点。
【技术实现步骤摘要】
一种结合补偿和前瞻的编码报文自适应重传方法
本专利技术主要涉及到计算机网络领域,特指一种结合补偿和前瞻的编码报文自适应重传方法。
技术介绍
在过去的几十年里,TCP(TransferControlProtocol)传输协议由于其强大的灵活性以及可靠的传输能力,成为了当今互联网事实上的传输骨干框架。然而TCP在设计之初是基于地面有线数据传输环境特点设计,有线网络非常可靠,误码率非常低以至于可以忽略。TCP协议假设所有丢包都是由于网络拥塞引起的,任何丢包信号的发现都会触发TCP的拥塞控制机制,盲目的降低发送速率,当数据在误码率较高的网络中传输时,这样的行为反而会造成TCP的传输性能下降。已经有数据表明,TCP在误码率较高的无线网络中的性能非常低劣。例如TCP在误码率为2%的IEEE802.11网络中所获得的吞吐量只能达到总带宽的49%,同样情况下TCP在IEEE802.11b网络中只能达到39.1%。又例如TCP在误码率(BitErrorRate,BER)为2%的蜂窝无线网络中只能获得27.3%的吞吐量。TCP在较高误码率网络中性能低劣的问题严重影响了TCP协议在恶劣网络环境中的应用,同时也阻碍了无线网络的进一步普及。因此,如何保证数据误码率较高的链路上可靠安全传输、提高现有网络资源的利用率、优化网络传输性能,已成为当今通信研究的重要课题之一。近年来提出的网络编码技术在有损链路上的可靠传输方面展现了巨大的潜力,特别是将TCP和网络编码相结合时,为数据在有损链路上的可靠传输提供了新的思路和挑战。目前,网络编码与TCP结合方案中目前比较成熟的做法是在TCP层和IP层之间增加一道随机线性网络编码和解码的操作,利用网络编码的信息融合功能和节点的计算能力,有效的屏蔽和处理底层链路损耗造成的丢包。其中最为典型的代表就是2009年MIT的Sundararajan等人提出的TCP/NC协议。由于网络编码解决方案在不破坏TCP端到端语义的同时,对TCP屏蔽了底层链路损耗造成的丢包,使得TCP能够有效的进行拥塞控制和流量控制,并通过编码报文的冗余发送,简单而高效的抵消了由于底层链路误码造成的丢包,使得TCP在有损链路中的传输性能显著提高。在网络编码和TCP相结合的解决方案中,网络编码操作单独的放在一个独立的协议层中,该层位于TCP层和IP层之间,发送端对从TCP接收的segment做缓存,对于每一个从TCP接收到的segment,都会发送R个由编码缓存区中的原始segment组成的线性组合给IP层,在这里R就是一个冗余因子。为了接收端的解码,需要在编码报文的报头中加入解码相关的信息。在接收端,在接收到从发送端发送的编码报文后,首先从编码报文的报头中提取编码系数信息,并保存到解码矩阵中。然后,对解码矩阵采用高斯解码,用以发现报文的可见性和可解码性。最新的可见报文信息,会通过构造一个ACK报文,用于应答发送端,最新的可解码报文则会提交到上层的TCP。如图1所示,即为TCP/NC中编码和解码的例子。由于引入了网络编码技术,发送的报文不再是发送原始的segment,而是发送原始segment的线性组合,由线性代数的基本原理可知,这样的线性组合由于其包含了多个原始segment的信息,故对其包含的所有segment的解码都有意义。故只要通过有效的编码报文重传策略,就可以有效的抵消底层链路损耗造成的丢包,达到屏蔽误码,提高数据传输效率的目的。所以,合适的重传策略就是屏蔽非拥塞丢包的关键。如果R太小,接收端无法接收到足够的线性组合用于解码,非拥塞丢包也就对拥塞控制算法可见了,导致TCP超时和吞吐量下降,如果R设置得太大,丢包是被屏蔽了,可是代价是可能造成链路的拥塞,同样会造成链路吞吐率的下降。在最早的TCP和网络编码相结合的方案TCP/NC中,编码报文的重传策略是自动重传有冗余因子R控制的冗余报文,对于链路丢包率为Pe,编码窗口为W并使用TCPVegas的情况来说,R的理论最优值是1/(1-Pe)。然而,在TCP/NC中R被设置为一个常数,这在实际网络中是不具有实用意义的。因为,首先在某些网络情景中,Pe是难以事先获得的。其次,Pe并不是不变的,通常会随着网络环境的改变而改变。2011年J.Chen等人提出的基于接收端信息反馈的重传策略(FNC),FNC不是提前主动重传冗余报文,而是根据接收端信息反馈调整发送端重传策略。另外还有研究者,仿照TCP-Vegas中的拥塞预测算法,动态调整自动重传报文的冗余度,还有研究者,更加接收端解码信息的反馈预测链路误码率的变化,用于调整自动重传策略。现有技术中的“重传策略”,要么无法根据链路状态的改变动态适应调整,如TCP/NC;要么在出现了解码延时之后才通过被动重传报文的发送补偿已丢失的报文;要么只是简单的根据某一个预测算法,调整自动重传报文的冗余度。在TCP协议和网络编码技术结合后,编码操作可以将报文的重传简化为编码报文的重传,然而,如何根据底层链路误码状态自适应的控制编码报文重传的时机和冗余度,目前尚没有一个完善的解决方案,错误的重传策略无法有效的抵消底层的非拥塞误码,造成数据吞吐率的下降。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种原理简单、可解决重传发送策略度与链路误码率的匹配问题、可有效提高数据的吞吐率的结合补偿和前瞻的编码报文自适应重传机制。为解决上述技术问题,本专利技术采用以下技术方案:一种结合补偿和前瞻的编码报文自适应重传方法,其步骤为:(1)、网络编码操作单独的放在一个独立的网络编码层中,即NC层;所述网络编码层位于TCP层和IP层之间;发送端NC层发送由TCP接收的segment组成的线性组合给IP层,接收端NC层将接收到的线性组合解码;(2)、发送端以接受到10个接收端NC层发送的ACK为一个调整/补偿周期,进行补偿重传和前瞻重传冗余度的调整;在接收端反馈的应答报文所包含的信息中加入了Gap值信息,Gap值为解码端NC层解码矩阵中First_Byte_Uninvolved与First_Byte_Unseen的差值;发送端在每一个补偿/调整周期,根据Gap值的大小和Gap值的变化规律分别进行补偿报文的重传以及前瞻重传冗余度R的调整;所述补偿报文的重传为:在每一个补偿/调整期都发送Gap个由发送端NC层编码窗口中的原始报文组成的线性组合,补偿重传是由反馈ACK触发的;所述前瞻重传为:通过Gap值变化情况的统计规律,预测底层链路的误码率变化规律,动态的调整发送端NC层前瞻重传冗余度R。作为本专利技术的进一步改进:所述反馈ACK的报文结构中,确认字节序号字段值不是在接收端希望接收到的下一字节序列,而是在接收端经过解码之后,第一个不可见报文的初始字节序列号;且在确认字节序号字段后加入了一个4字节的Gap字段。所述步骤(2)中,发送端计数从接收端接收到的反馈ACK的数量,每接收到第十个新的反馈ACK,发送端的NC层进入一个新的补偿/调整周期;在接收到第十个新的反馈ACK之前和发送补偿报文和调整完前瞻重传冗余度R之后,发送端处于探测期;每到一个补偿/调整期,发送端都会根据第十反馈个ACK报文中Gap值的大小,在下个编码报文发送时补偿重传对应数量的编码报文本文档来自技高网...
【技术保护点】
一种结合补偿和前瞻的编码报文自适应重传机制,其特征在于,其步骤为:(1)、网络编码操作单独的放在一个独立的网络编码层中,即NC层;所述网络编码层位于TCP层和IP层之间;发送端NC层发送由TCP接收的segment组成的线性组合给IP层,接收端NC层将接收到的线性组合解码;(2)、发送端以接受到10个接收端NC层发送的ACK为一个调整/补偿周期,进行补偿重传和前瞻重传冗余度的调整;在接收端反馈的应答报文所包含的信息中加入了Gap值信息,Gap值为解码端NC层解码矩阵中First_Byte_Uninvolved与First_Byte_Unseen的差值;发送端在每一个补偿/调整周期,根据Gap值的大小和Gap值的变化规律分别进行补偿报文的重传以及前瞻重传冗余度R的调整;所述补偿报文的重传为:在每一个补偿/调整期都发送Gap个由发送端NC层编码窗口中的原始报文组成的线性组合,补偿重传是由反馈ACK触发的;所述前瞻重传为:通过Gap值变化情况的统计规律,预测底层链路的误码率变化规律,动态的调整发送端NC层前瞻重传冗余度R。
【技术特征摘要】
1.一种结合补偿和前瞻的编码报文自适应重传方法,其特征在于,其步骤为:(1)、网络编码操作单独地放在一个独立的网络编码层中,即NC层;所述网络编码层位于TCP层和IP层之间;发送端NC层发送由TCP接收的segment组成的线性组合给IP层,接收端NC层将接收到的线性组合解码;(2)、发送端NC层以接受到10个接收端NC层发送的ACK为一个补偿/调整周期,进行补偿重传和前瞻重传冗余度的调整;在接收端NC层反馈ACK的应答报文所包含的信息中加入了Gap值信息,Gap值为接收端NC层解码矩阵中未包含的原始报文的初始字节号First_Byte_Uninvolved与第一个不可见报文的初始字节序列号First_Byte_Unseen的差值;发送端NC层在每一个补偿/调整周期,根据Gap值的大小和Gap值的变化规律分别进行补偿报文的重传以及前瞻重传冗余度R的调整;所述补偿报文的重传为:在每一个补偿/调整周期都发送Gap个由发送端NC层编码窗口中的原始报文组成的线性组合,补偿重传是由反馈ACK触发的;所述前瞻重传为:通过Gap值变化情况的统计规律,预测底层链路的误码率变化规律,动态的调整发送端NC层前瞻重传冗余度R;当一个报文处于Uninvolved状态,意味着接收端NC层未接收到包含有该报文的任何线性组合;报文的可见性是指:如果一个节点有足够的信息计算出Pk+Q形式的线性组合,那么就说Pk是可见的;其中,Pk是第k个原始报文...
【专利技术属性】
技术研发人员:吴纯青,虞万荣,陈一骄,赵宝康,张鸿云,冯振乾,毛席龙,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。