一种基于自适应补偿编码的网络性能优化方法及装置的制造方法

文档序号:10660749阅读:367来源:国知局
一种基于自适应补偿编码的网络性能优化方法及装置的制造方法
【专利摘要】本发明提供了一种基于自适应补偿编码的网络性能优化方法及装置,所述方法包括:发送端为传输控制协议TCP层中待发送的数据包增加预设长度的头部信息位,增加的头部信息位包括:编码信息字段;对于一个拥塞窗口单元,当发送端根据当前链路丢包率检测出当前超时概率超过预设阈值时,发送端将当前拥塞窗口中的w1个原始数据包进行编码生成C1个补偿编码包,并将处理后的C1个补偿编码包发送至接收端,C1是根据当前超时概率以及李雅普诺夫最优化框架模型确定的。本发明能够根据实时的网络环境产生主动编码补偿,降低TCP流超时概率,且不需要对交换机,网络接口等硬件设备进行修改,易于部署实施。
【专利说明】
一种基于自适应补偿编码的网络性能优化方法及装置
技术领域
[0001] 本发明涉及通信技术领域,具体涉及一种基于自适应补偿编码的网络性能优化方 法及装置。
【背景技术】
[0002] 数据中心作为云计算和因特网服务的基础设施网络,它提供大量集中的计算和存 储资源。数据中心网络是一个高带宽(Gbps级)低时延(毫秒级)的大型网络,它面向的应用 大多是拥有严格时延要求的云计算以及因特网服务应用。在数据中心网络中的数据流,通 常被分成两类:时延敏感的短流,以及吞吐量敏感的长流。对数据中心中时延敏感的应用服 务来说时延性能将极大地影响企业的收益。亚马逊的研究表明流的完成时延每增加一百毫 秒,公司就将亏损百分之一的利润。对于电子交易平台,完成时间增加5ms,则企业将损失约 4百万美元。TCP的AIMD拥塞控制方案不可避免的会造成相当高的丢包率,而基于丢包的丢 包恢复策略并不能满足数据中心如此严格的时延要求。谷歌数据中心的测量显示,相对于 没有丢包的流,丢包会造成流的完成时间扩涨五倍。而其中77%的丢包都是通过超时重传 完成的。
[0003] TCP是目前数据中心中最主要的传输协议。然而,最初为普通有线网络设计的TCP, 在数据中心中却存在吞吐量和时延等性能方面的许多不足。TCP基于丢包的拥塞检测机制 以及基于重传的丢包恢复机制都面临着极大的挑战。TCP将一切丢包都误认为是拥塞的标 志,从而导致吞吐量大幅下降。另外,TCP的拥塞检测时延和重传恢复时延都不能满足数据 中心中严格的时延要求。TCP超时时钟通常为200毫秒,这个时间对于数据中心中的时延敏 感型应用来说,是不能容忍的。数据中心中普遍存在TCP incast问题。在incast模式下,数 据被分成多个块,进行多对一传输,每一个传输都采用独立的TCP。只有所有的TCP流都完成 了当前块的传输任务,才能进行下一个块的传输。一旦有一条TCP流出现超时,即便其他TCP 流都完成了当前块的传输,也必须继续等待这条超时的TCP流。当大流占据带宽资源时,时 延敏感的小流常常遭遇超时问题。而单纯的减少超时时钟间隔又会带来过度重传等问题。
[0004] 所以提升数据中心中TCP传输性能的关键在于改善超时问题。网络编码TCP作为传 输层前向纠错技术在改善TCP丢包超时导致的一系列网络传输性能下降问题上极具潜力。 然而,数据中心具有高带宽低时延的特性,其对编码开销有着严格的要求。
[0005] 为了提高TCP在数据中心网络中的吞吐量和时延性能,许多避免或者缓解超时发 生的方案被提出。DCTCP采用显示拥塞通知以在交换机上维持一个比较小的数据包队列来 避免丢包超时。ICTCP动态调整通告窗口来控制发送端发送速率以控制链路拥塞,从而降低 超时的发生。ICaT采用入网控制方案来限定进入网络的流量不超过网络容量。然而,这些传 输层的解决方案,均无法较好地降低TCP流超时概率,包括DCTCP,ICTCP以及ICaT都需要依 赖于对交换机或者网络接口的改变,其部署难度开销太大。与这些方案相比,冗余传输方案 在部署以及系统开销的优势使得其成为了一个新的研究热点。
[0006] 针对TCP超时的冗余传输方案可以划分为两大类:单纯冗余TCP传输以及网络编码 冗余TCP传输。单纯冗余TCP传输是指对原始包或者流进行复制传输。对于数据中心而言,对 于小流而言,对时延的需求比节约带宽更加重要。Repflow和More-is-less通过对小流进行 复制传输以减小小流的时延。GIP对数据块尾的最后一个数据包进行重传以将超时恢复转 换为快速重传恢复。然而,单纯冗余TCP传输方案只能恢复特定的丢包,即那些有机会被冗 余传输的数据包。
[0007] 而对于网络编码冗余TCP传输方案来说,一个编码包将多个原始包通过异或操作 生成一个随机线性组合,接收端只需要接收到一定数量的线性无关的数据包,就可以对任 意的参与编码的包,而不用关心具体哪个包丢了。在丢包恢复方面更加灵活,更加有效。 Google在其数据中心网络中采用线性网络编码冗余TCP方案Corrective。Corrective每个 拥塞窗口增加一个冗余编码包发出,接收端可以恢复任意单个丢包,而不需要额外的丢包 检测时延以及重传时延。
[0008] 然而,由于Corrective的冗余度是固定的,对于多余一个丢包,它是不能进行有效 的丢包恢复的。对于网络传输状态的无感知性局限了它只能对单个丢包进行恢复。

【发明内容】

[0009] 针对现有技术中的缺陷,本发明提供一种基于自适应补偿编码的网络性能优化方 法及装置,能够根据实时的网络环境产生主动编码补偿,降低TCP流超时概率,且不需要对 交换机,网络接口等硬件设备进行修改,易于部署实施。
[0010] 为解决上述技术问题,本发明提供以下技术方案:
[0011] 第一方面,本发明提供了一种基于自适应补偿编码的网络性能优化方法,包括:
[0012] 发送端为传输控制协议TCP层中待发送的数据包增加预设长度的头部信息位,增 加的头部信息位包括:编码信息字段;其中,所述编码信息字段包括解码提示位base、编码 指示位n、编码系数、参与编码的原始数据包的序列号;所述base表示不再参与编码的原始 数据包的最大序列号;n = 0表示该数据包为原始数据包,n>0表示该数据包为补偿编码包, 其中,η表示该补偿编码包中包含的原始数据包的数目;
[0013] 发送端将传输控制协议TCP层中待发送的原始数据包的编码信息字段中的解码提 示位base设置为当前内存删除的包的最大序列号,以及将编码指示位η设置为0,并将设置 好的原始数据包按照预设拥塞控制策略发送至接收端;
[0014] 对于一个拥塞窗口单元,当发送端根据当前链路丢包率检测出当前超时概率超过 预设阈值时,发送端将当前拥塞窗口中的奶个原始数据包进行编码生成&个补偿编码包,并 将每个补偿编码包的编码信息字段中的解码提示位base设置为当前内存删除的包的最大 序列号,将编码指示位η设置为参与编码的原始数据包的个数奶,以及将编码用到的编码系 数、参与编码的原始数据包的序列号加入至相应补偿编码包的编码信息字段中,并将处理 后的&个补偿编码包发送至所述接收端;
[0015] 其中,所述补偿编码包的个数Q是根据当前超时概率以及李雅普诺夫最优化框架 模型确定的。
[0016] 优选地,所述方法还包括:
[0017] 当发送端接收到的由接收端发送的应答ACK中带有丢包数d时,发送端根据丢包数 d获取当前新的丢包数cUw;其中,所述应答ACK是接收端在对发送端发送的补偿编码包接收 失败后向发送端发送的应答消息;
[0018] 若cUw>0,则发送端将当前拥塞窗口中的《2个原始数据包进行编码生成C2个补偿 编码包,并将每个补偿编码包的编码信息字段中的解码提示位base设置为当前内存删除的 包的最大序列号,将编码指示位η设置为参与编码的原始数据包的个数《 2,以及将编码用到 的编码系数、参与编码的原始数据包的序列号加入至相应补偿编码包的编码信息字段中, 并将处理后的C 2个补偿编码包发送至所述接收端,以及更新dnew=0;
[0019] 其中,所述补偿编码包的个数C2是根据当前超时概率以及李雅普诺夫最优化框架 模型确定的。
[0020] 优选地,所述补偿编码包的个数&是根据当前超时概率以及李雅普诺夫最优化框 架模型确定的,包括:
[0021 ]根据下述优化函数获取补偿编码包的个数&:
[0022] Minimize C(t)Q(t)+Vpt(t)
[0023] 其中,pt(t)为李雅普诺夫优化中的惩罚项,pt(t)对应超时概率,其中,
,P1为当前丢包率;V为李雅普诺夫常数因 子;Q(t)为预设长度的虚拟缓冲区间在t时刻的剩余空间队列;C(t)为李雅普诺夫中的t时 刻的最优发送补偿编码包的数目。
[0024] 优选地,所述补偿编码包的个数Q为小于或等于第一预设阈值的数值,所述第一 预设阈值的取值范围为[0,5]。
[0025] 优选地,所述补偿编码包的个数C2是根据当前超时概率以及李雅普诺夫最优化框 架模型确定的,包括:
[0026] 根据下述优化函数获取补偿编码包的个数C2:
[0027] Minimize C(t)Q(t)+Vpt(t)
[0028] 其中,pt(t)为李雅普诺夫优化中的惩罚项,pt(t)对应超时概率,其中,
P2为当前丢包率;V为李雅普诺夫 常数因子;Q(t)为预设长度的虚拟缓冲区间在t时刻的剩余空间队列;C(t)为李雅普诺夫中 的t时刻的最优发送补偿编码包的数目。
[0029] 优选地,补偿编码包的个数C2为小于或等于第二预设阈值的数值,所述第二预设 阈值的取值范围为[0,5]。
[0030] 第二方面,本发明还提供了一种基于上面所述方法的基于自适应补偿编码的网络 性能优化方法,包括:
[0031 ]接收由所述发送端发送的数据包;
[0032] 提取所述数据包的头部信息中的编码信息字段;
[0033] 根据提取的编码信息字段中的base的大小,将序列号小于所述base的数据包从解 码矩阵中移除;
[0034] 根据提取的编码信息字段中的η的大小对所述数据包进行处理:
[0035] 若η = 0,则将数据包加入解码矩阵,并将数据包交由相应的拥塞控制模块进行处 理以产生对应的第一应答消息,并将产生的第一应答消息发送给发送端;
[0036] 若n>0,则根据编码系数、参与编码的数据包的序列号对数据包进行解码,当数据 包被解码解出时,交由相应的拥塞控制模块进行处理以产生对应的第二应答消息,并将产 生的第二应答消息发送给所述发送端。
[0037] 优选地,所述第二应答消息为ACK消息,所述第二应答消息中包含当前丢包数d。
[0038] 第三方面,本发明还提供了一种基于自适应补偿编码的网络性能优化装置,包括:
[0039] 添加单元,用于为传输控制协议TCP层中待发送的数据包增加预设长度的头部信 息位,增加的头部信息位包括:编码信息字段;其中,所述编码信息字段包括解码提示位 base、编码指示位n、编码系数、参与编码的原始数据包的序列号;所述base表示不再参与编 码的原始数据包的最大序列号;n = 0表示该数据包为原始数据包,n>0表示该数据包为补 偿编码包,其中,η表示该补偿编码包中包含的原始数据包的数目;
[0040] 第一处理单元,用于将传输控制协议TCP层中待发送的原始数据包的编码信息字 段中的解码提示位base设置为当前内存删除的包的最大序列号,以及将编码指示位η设置 为〇,并将设置好的原始数据包按照预设拥塞控制策略发送;
[0041] 检测单元,对于一个拥塞窗口单元,用于根据当前链路丢包率检测当前超时概率 是否超过预设阈值;
[0042] 第二处理单元,用于在所述检测单元检测出当前超时概率超过预设阈值时,将当 前拥塞窗口中的奶个原始数据包进行编码生成Ci个补偿编码包,并将每个补偿编码包的编 码信息字段中的解码提示位base设置为当前内存删除的包的最大序列号,将编码指示位η 设置为参与编码的原始数据包的个数奶,以及将编码用到的编码系数、参与编码的原始数 据包的序列号加入至相应补偿编码包的编码信息字段中,并将处理后的&个补偿编码包发 送;
[0043] 其中,所述补偿编码包的个数Q是根据当前超时概率以及李雅普诺夫最优化框架 模型确定的。
[0044] 第四方面,本发明还提供了一种基于上面所述装置的基于自适应补偿编码的网络 性能优化装置,包括:
[0045] 接收单元,用于接收如上面所述装置发送的数据包;
[0046] 提取单元,用于提取所述接收单元接收的数据包的头部信息中的编码信息字段;
[0047] 移除单元,用于根据提取的编码信息字段中的base的大小,将序列号小于所述 base的数据包从预设解码矩阵中移除;
[0048]处理单元,用于根据提取的编码信息字段中的η的大小对所述数据包进行处理:
[0049] 若η = 0,则将数据包加入所述预设解码矩阵,并将数据包交由相应的拥塞控制模 块进行处理以产生对应的第一应答消息,并将产生的第一应答消息发送给如上面所述装 置;
[0050] 若η>0,则根据编码系数、参与编码的数据包的序列号对数据包进行解码,当数据 包被解码解出时,交由相应的拥塞控制模块进行处理以产生对应的第二应答消息,并将产 生的第二应答消息发送给如上面所述的装置。
[0051 ]由上述技术方案可知,本发明所述的基于自适应补偿编码的网络性能优化方法, 能够根据网络状况自适应地确定编码个数,从而既可以有效降低超时发生,也能不浪费编 码开销,从而提升了数据中心网络传输性能。且该方法不需要对交换机,网络接口等硬件设 备进行修改,易于部署实施。此外,该方法还是第一个将李雅普诺夫最优化框架应用到数据 中心网络TCP编码中,首次提出了如何将李雅普诺夫最优化框架应用到自适应编码补偿中 以在编码开销和超时概率降低之间取得最优平衡。
【附图说明】
[0052] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。
[0053] 图1是本发明第一个实施例提供的基于自适应补偿编码的网络性能优化方法的流 程图;
[0054]图2是新TCP头部结构示意图;
[0055] 图3是本发明第二个实施例提供的基于自适应补偿编码的网络性能优化方法的流 程图;
[0056] 图4是本发明第三个实施例提供的基于自适应补偿编码的网络性能优化方法的流 程图;
[0057] 图5是本发明第四个实施例提供的基于自适应补偿编码的网络性能优化装置的结 构示意图;
[0058] 图6是本发明第五个实施例提供的基于自适应补偿编码的网络性能优化装置的结 构示意图。
【具体实施方式】
[0059] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060] TCP传输模型中导致超时的有两种情况:①一个拥塞窗口内大多数包丢失,使得不 足三个重复ACK来触发快速重传;②当已经确定丢包后,重传该包时又出现了数据包丢失。 本发明下述第一个实施例和第二个实施例分别针对上述两种情况进行了基于自适应补偿 编码的网络性能优化处理。
[0061] 图1示出了本发明第一个实施例提供的基于自适应补偿编码的网络性能优化方法 的流程图。参见图1,本发明第一个实施例提供了一种基于自适应补偿编码的网络性能优化 方法,该网络性能优化方法主要针对于TCP层发送端的处理,该方法具体包括如下步骤:
[0062] 步骤101:发送端为传输控制协议TCP层中待发送的数据包增加预设长度的头部信 息位,增加的头部信息位包括:编码信息字段;其中,所述编码信息字段包括解码提示位 base、编码指示位n、编码系数、参与编码的原始数据包的序列号;所述base表示不再参与编 码的原始数据包的最大序列号;n = 0表示该数据包为原始数据包,n>0表示该数据包为补 偿编码包,其中,η表示该补偿编码包中包含的原始数据包的数目。
[0063]在本步骤中,发送端为TCP层中的发送端。参见图2,在原有的TCP头部信息的基础 之上,本实施例中的TCP层中的发送端为TCP层中待发送的数据包增加了预设长度的头部信 息位,最后得到的头部信息可以称之为新TCP头部结构。其中,新增加的头部信息位包括编 码信息字段,该编码信息字段包括:解码提示位base、编码指示位η、编码系数 (rl 0 , 3,,(),,)和参与编码的原始数据包的序列号(Starti和Endi),Starti为参与编 码的第i个包h的序列号,EncU为其最后一个字节相对于Start的长度。索引为0的包的序列 号已经保存在了原TCP头部中。
[0064]从图2可见,新TCP头部结构包含两部分。第一部分为原有TCP头部结构,包含TCP端 口,序列号等信息。第二部分是编码信息字段,类似于除去源端口地址和目的端口地址的 TCP/NC中的TCPNC头部结构。这部分包含了编码相关的信息如base,n,编码系数,参与编码 的包的序列号。其中,base为不再参与编码的原始包的最大序列号,接收端解码时不再需要 序列号小于base的原始数据包,可将序列号小于base的数据包从解码矩阵中安全移除。 TCP/NC中对于编码包C = ,3/为编码系数,η为编码包中参与编码的原始包Pi的数 目。
[0065] 步骤102:发送端将传输控制协议TCP层中待发送的原始数据包的编码信息字段中 的解码提示位base设置为当前内存删除的包的最大序列号,以及将编码指示位η设置为0, 并将设置好的原始数据包按照预设拥塞控制策略发送至接收端。
[0066] 步骤103:对于一个拥塞窗口单元,当发送端根据当前链路丢包率检测出当前超时 概率超过预设阈值(如40%)时,发送端将当前拥塞窗口中的奶个原始数据包进行编码生成 &个补偿编码包,并将每个补偿编码包的编码信息字段中的解码提示位base设置为当前内 存删除的包的最大序列号,将编码指示位η设置为参与编码的原始数据包的个数奶,以及将 编码用到的编码系数、参与编码的原始数据包的序列号加入至相应补偿编码包的编码信息 字段中,并将处理后的&个补偿编码包发送至所述接收端;其中,所述补偿编码包的个数Q 是根据当前超时概率以及李雅普诺夫最优化框架模型确定的。
[0067]上面已经提到,TCP传输模型中导致超时的一种情况是:一个拥塞窗口内大多数包 丢失,使得不足三个重复ACK来触发快速重传。
[0068]为了降低这种超时情况的发生的概率,设定对应的编码冗余包参数为Q。在这种 超时情况下,对于一个大小为w的TCP拥塞窗口,链路丢包率为p,冗余编码包个数为&,则发 送端总共发送的数据包个数为w+Q,其中包含按照TCP拥塞控制算法发送的w个原始包,以 及CTCP额外发送的Q个补偿编码包。如果这w+Q个数据包在传输中出现大量丢失从而导致 只有少于三个数据包被接收端成功接收,那么快速重传失败,超时发生。所以这种情况下的 超时概率为:
[0070]在本步骤中,对于补偿编码包的个数&,直觉上,&可以随着丢包率的增加而增加。 因为更多的冗余包将更有效地补偿丢包以及降低超时概率。然而,发送更多的补偿编码包 也会带来更高的编码开销。编码开销主要包括编码的计算开销,以及编码包的带宽开销。所 以这里存在着一个在降低超时概率与编码开销之间的平衡(T-C平衡)。
[0071 ]优选地,本实施例采用李雅普诺夫最优化方法来解决T-C平衡问题。李雅普诺夫最 优化是指使用一个李雅普诺夫函数来优化控制一个动态系统。李雅普诺夫函数在控制理论 中得到广泛应用,以保证系统不同形式的稳定性。在特定的时间,系统的状态通常是由一个 多维向量描述。一个李诺夫函数是一个非负标量这个多维状态的函数。通常,当系统向不受 欢迎的状态移动时,该函数结果被定义为大。系统的稳定性是通过采取控制措施,使李雅普 诺夫漂移像负向逼近。排队网络的最优控制研究中,李诺夫诺夫漂移是一项重要的研究。一 个典型的目标是稳定所有的网络队列,同时优化一些性能目标,如最大限度地减少平均能 耗或最大限度地提高平均吞吐量。
[0072] 为了将李雅普诺夫优化方法应用到本实施例所述的性能优化方法中,假设发送端 每轮RTT生成λ(〇个编码包,并以C(t)的速率发送这些编码冗余包。有一个虚拟的缓冲区 间,容量固定为B个包。该缓冲在t时刻的剩余空间队列即为Q(t)。直观表现为该队长越长冗 余包发得越多,对网络造成的拥塞越大,但超时概率降得越低。根据李雅普诺夫最优化框 架,最优化目标是:
[0073] Minimize C(t)Q(t)+Vpt(t)(公式一)
[0074] 其中,pt(t)为李雅普诺夫优化中的惩罚项,pt(t)对应超时概率,其中,
,p2为当前丢包率;V为李雅普诺夫 常数因子;Q(t)为预设长度的虚拟缓冲区间在t时刻的剩余空间队列;C(t)为李雅普诺夫中 的t时刻的最优发送补偿编码包的数目。
[0075]从上面公式一可以看出,这个式子是一个幂次方程,求解复杂,算法复杂度高。可 以通过泰勒展开成高阶多项式,再采用牛顿最速下降法求解。牛顿最速下降法是一个搜索 算法,给一个初始值,然后沿负梯度方向搜索,不停地有规律地枚举解,看附近有没有更小 的,有就继续,没有就结束了。这种方法不能保证全局最优,只能保证是局部最优,看初始值 的选取,如果初始值选的离最优解比较近就是全局最优。显然,在网络传输中最好是不要采 用复杂度如此高的算法,考虑到实际情况,权衡编解码复杂度和计算的时延代价之后得到 一个结论,即每轮RTT,发送的冗余包数目不应该大于一个常数C max。即采用在不大于Cmad9 范围内的简单枚举比较李雅普诺夫优化方程的目标值即可快速获得近似解,使得编解码和 整体计算复杂度非常低,保证算法简单高效;例如可以将c max取5,10,15,...以观察不同的 Cmax对实验结果的影响。直观上可以得出,C max是一个很小的整数就能取得很好的效果。实验 可以证明该近似解距离最优解非常近,近似比非常高。因此,在另一种优选实施方式中,所 述补偿编码包的个数Ci为小于或等于第一预设阈值的数值,所述第一预设阈值的取值范围 为[0,5]。
[0076] 从上面描述可知,本实施例提供了一种自适应编码补偿的网络性能优化方法,该 方法对原有的TCP层的处理作出了改进,能够根据网络状况自适应地确定编码个数,从而既 可以有效降低超时发生,也能不浪费编码开销,从而提升了数据中心网络传输性能。且该方 法不需要对交换机,网络接口等硬件设备进行修改,易于部署实施。此外,该方法还是第一 个将李雅普诺夫最优化框架应用到数据中心网络TCP编码中,首次提出了如何将李雅普诺 夫最优化框架应用到自适应编码补偿中以在编码开销和超时概率降低之间取得最优平衡。
[0077] 在本发明第二个实施例中,参见图3,上述基于自适应补偿编码的网络性能优化方 法除了包括步骤101-103之外,还包括如下步骤104-106。
[0078] 步骤104:当发送端接收到的由接收端发送的应答ACK中带有丢包数d时,发送端根 据丢包数d获取当前新的丢包数cUw。
[0079] 在本步骤中,所述应答ACK是接收端在对发送端发送的补偿编码包接收失败后向 发送端发送的应答消息。
[0080] 当发送端接收到的由接收端发送的应答ACK中带有丢包数d时,发送端根据ACK返 回的丢包数d,计算出两个相邻应答ACK所带来的丢包数之差,即新出现的丢包数cU w。例如 上一次的丢包数为d',贝ljdnew=d_d'。
[0081] 步骤105:判断(^^是否大于0,若是,则执行步骤106。若否,则结束流程。
[0082] 步骤106:发送端将当前拥塞窗口中的w2个原始数据包进行编码生成C2个补偿编码 包,并将每个补偿编码包的编码信息字段中的解码提示位base设置为当前内存删除的包的 最大序列号,将编码指示位η设置为参与编码的原始数据包的个数w 2,以及将编码用到的编 码系数、参与编码的原始数据包的序列号加入至相应补偿编码包的编码信息字段中,并将 处理后的&个补偿编码包发送至所述接收端,以及更新d new=0;其中,所述补偿编码包的个 数&是根据当前超时概率以及李雅普诺夫最优化框架模型确定的。
[0083] 上面已经提到,TCP传输模型中导致超时的另一种情况是:当已经确定丢包后,重 传该包时又出现了数据包丢失。
[0084]为了降低这种情况的发生的概率,设定对应的编码冗余包参数为C2。在这种超时 情况下,当ACK带回确定丢包数后,发送(:2个编码冗余包进行补偿。当TCP得知丢包发生时, TCP拥塞控制会重传丢失的数据包,如果重传该包时又出现了包丢失,那么超时就会发生。 对于出现的丢包数为cU w,编码拥塞窗口为w,丢包率为p,冗余编码包个数为C2的情况,发送 端总共发送w+C 2个数据包,其中包含按照TCP拥塞控制算法发送的拥塞窗口内的w个原始 包,以及额外发送的C2个补偿编码包。如果接收端可以成功接收到至少w个数据包,则所有 的w个原始数据包均可以被恢复,TCP拥塞控制看不到包丢失。否则,TCP拥塞控制可以感知 到数据包丢失,从而导致超时发生。这是因为,编码技术只关心接收到的包的数目,而不关 心具体收到的是哪些数据包。所以,这种情况下的超时概率为:
[0086] 根据上面实施例提到的降低超时概率与编码开销之间需要平衡的原则,因此补偿 编码包的个数C2不可能无限大。因此在本实施例的一种优选实施方式中,可以根据下述李 雅普诺夫优化函数获取补偿编码包的个数C 2:
[0087] Minimize C(t)Q(t)+Vpt(t)
[0088] 其中,pt(t)为李雅普诺夫优化中的惩罚项,pt(t)对应超时概率,其中,
,p2为当前丢包率;V为李雅普诺夫 常数因子;Q(t)为预设长度的虚拟缓冲区间在t时刻的剩余空间队列;C(t)为李雅普诺夫中 的t时刻的最优发送补偿编码包的数目。
[0089] 同上一个实施例,具体原理不再赘述。为了降低计算复杂度,降低时延,同时不影 响效果的情况下,在本实施例的另一种优选实施方式中,所述补偿编码包的个数C 2为小于 或等于第二预设阈值的数值,所述第二预设阈值的取值范围为[0,5]。
[0090] 从上面描述可知,相对于原来的TCP层,在本实施例提供的TCP层发送端共有三种 事件需要增加额外的处理。第一种事件为:按照TCP的拥塞控制发送原始数据包;第二种事 件为:按照TCP拥塞窗口滑动方式更新拥塞窗口单元;第三种事件为:接收来自接收端的数 据确认ACK包。
[0091] 针对上述第一个实施例和第二个实施例所述的方法,下面给出一个具体实例进行 解释说明。
[0092] A)根据TCP的拥塞控制算法有原始数据包发送时,发送端按如下步骤执行:
[0093] ①在数据包头部将base设为当前内存删除的包的最大序列号。
[0094]②置数据包ACTCP头部η字段为0,发出。
[0095] Β)新的拥塞窗口单元生成。
[0096] ①当当前超时概率超过预设阈值时,根据李雅普诺夫最优化模型,将当前拥塞窗 口中的w个原始数据包生成&个补偿编码包。
[0097] ②将每个补偿编码包的ACTCP头部base字段设为当前内存删除的包的最大序列 号。以及字段η设为参与编码的原始包数w。并将编码系数以及参与编码的包的信息和长度 加入头部对应字段。
[0098]③将这&个冗余编码包发出。
[0099] C)当收到一个来自ACK包时,发送端按如下步骤执行:
[0100] ①从ACK包中提出丢包数d,并计算新的丢包数cUw。
[0101] ②如果dnew大于0
[0102] I)根据李雅普诺夫最优化模型,将当前拥塞窗口中的w个原始数据包生成C2个补 偿编码包。
[0103] II)将每个补偿编码包的头部base字段设为当前内存删除的包的最大序列号。以 及字段η设为参与编码的原始包数w。并将编码系数以及参与编码的包的信息和长度加入部 对应字段。
[0104] III)将这&个冗余编码包发出。
[0105] IV)将这些冗余编码包发出,并更新dnew为0。
[0106] 本发明第三个实施例提供了一种基于上述第一或第二实施例所述的网络性能优 化方法的网络性能优化方法,该网络性能优化方法主要针对于接收端的处理,参见图4,具 体包括如下步骤:
[0107] 步骤201:接收由所述发送端发送的数据包。
[0108] 在本步骤中,TCP层中的接收端接收由TCP层中的发送端发送的数据包。该数据包 为上述第一个实施例中由TCP层中的发送端发送的数据包。
[0109] 步骤202:提取所述数据包的头部信息中的编码信息字段。
[0110] 在本步骤中,由于接收到的数据包的头部结构中不但包含原始TCP头部信息,还包 括新增加的编码信息字段。而对接收到的数据包进行解码与否,与新增加的编码信息字段 有关,因此在接收到所述数据包之后,需要提取所述数据包的头部信息中的编码信息字段。
[0111] 步骤203:根据提取的编码信息字段中的base的大小,将序列号小于所述base的数 据包从解码矩阵中移除。
[0112] 在本步骤中,由于base为不再参与编码的原始包的最大序列号,接收端解码时不 再需要序列号小于base的原始数据包,可将序列号小于base的数据包从解码矩阵中安全移 除。
[0113]步骤204:根据提取的编码信息字段中的η的大小对所述数据包进行处理。
[0114] 在本步骤中,若η = 0,则将数据包加入解码矩阵,并将数据包交由相应的拥塞控制 模块进行处理以产生对应的第一应答消息,并将产生的第一应答消息发送给发送端;
[0115] 若η>0,则根据编码系数、参与编码的数据包的序列号对数据包进行解码,当数据 包被解码解出时,交由相应的拥塞控制模块进行处理以产生对应的第二应答消息,并将产 生的第二应答消息发送给所述发送端。
[0116]优选地,为了使得发送端能够获知当前丢包数d,所述第二应答消息为ACK消息,所 述第二应答消息中包含当前丢包数d。
[0117] 通过上面描述可知,在接收端,相对于原有TCP,有两种事件需要增加额外的处理。 第一种事件为接收到来自发送端的数据包。与网络编码TCP方案TCP/NC中接收端只处理编 码包不同的是本实施例中TCP接收端需要处理两种类型的数据包:原始数据包,以及极少的 冗余编码包。当收到一个数据包时,其具体操作详见下述步骤A');第二种事件为,根据TCP 拥塞控制产生新的ACK时,需要在ACK包中加入丢包数d,以利于发送端计算最优的冗余补偿 编码包数。该丢包数即为当前解码矩阵行列数之差,具体操作详见下述步骤B')。
[0118] 下面给出了一个具体实例,对上述步骤201-204进行详细解释说明。
[0119] A')当收到来自发送端的数据包时,接收端按如下步骤执行
[0120] ①提取头部信息,并将序列号小于base的包从ACTCP解码矩阵中移除。
[0121] ②如果η等于0,将该原始数据包加入解码矩阵,并立即交付给拥塞控制部分处理 以产生对应的ACK。
[0122] ③如果η大于0,执行高斯消元解码,如果有新的原始数据包被顺序解出,将立即交 付给ACTCP拥塞控制部分处理。
[0123] Β')当接收端有ACK要发送时,按如下步骤执行
[0124] ①在该ACK包中加入丢包数d返回给发送端。
[0125] 本发明第四个实施例提供了一种网络性能优化装置,参见图5,该装置包括:
[0126] 添加单元51,用于为传输控制协议TCP层中待发送的数据包增加预设长度的头部 信息位,增加的头部信息位包括:编码信息字段;其中,所述编码信息字段包括解码提示位 base、编码指示位n、编码系数、参与编码的原始数据包的序列号;所述base表示不再参与编 码的原始数据包的最大序列号;n = 0表示该数据包为原始数据包,n>0表示该数据包为补 偿编码包,其中,η表示该补偿编码包中包含的原始数据包的数目;
[0127] 第一处理单元52,用于将传输控制协议TCP层中待发送的原始数据包的编码信息 字段中的解码提示位base设置为当前内存删除的包的最大序列号,以及将编码指示位η设 置为〇,并将设置好的原始数据包按照预设拥塞控制策略发送;
[0128] 检测单元53,对于一个拥塞窗口单元,用于根据当前链路丢包率检测当前超时概 率是否超过预设阈值;
[0129] 第二处理单元54,用于在所述检测单元检测出当前超时概率超过预设阈值时,将 当前拥塞窗口中的个原始数据包进行编码生成Ci个补偿编码包,并将每个补偿编码包的 编码信息字段中的解码提示位base设置为当前内存删除的包的最大序列号,将编码指示位 η设置为参与编码的原始数据包的个数奶,以及将编码用到的编码系数、参与编码的原始数 据包的序列号加入至相应补偿编码包的编码信息字段中,并将处理后的&个补偿编码包发 送;
[0130] 其中,所述补偿编码包的个数Q是根据当前超时概率以及李雅普诺夫最优化框架 模型确定的。
[0131] 本实施例所述的系统可以用于执行上述第一个实施例所述的方法,其原理和技术 效果类似,此处不再赘述。
[0132] 本发明第五个实施例提供了一种基于上述第四个网络性能优化装置的网络性能 优化装置,参见图6,该装置包括:
[0133] 接收单元61,用于接收如权利要求9所述装置发送的数据包;
[0134] 提取单元62,用于提取所述接收单元接收的数据包的头部信息中的编码信息字 段;
[0135] 移除单元63,用于根据提取的编码信息字段中的base的大小,将序列号小于所述 base的数据包从预设解码矩阵中移除;
[0136] 处理单元64,用于根据提取的编码信息字段中的η的大小对所述数据包进行处理:
[0137] 若η = 0,则将数据包加入所述预设解码矩阵,并将数据包交由相应的拥塞控制模 块进行处理以产生对应的应答信息,并将产生的应答信息发送给如权利要求9所述装置;
[0138] 若η>0,则根据编码系数、参与编码的数据包的序列号对数据包进行解码,当数据 包被解码解出时,交由相应的拥塞控制模块进行处理以产生对应的应答信息,并将产生的 应答信息发送给如权利要求9所述装置。
[0139] 本实施例所述的系统可以用于执行上述第三个实施例所述的方法,其原理和技术 效果类似,此处不再赘述。
[0140] 以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例 对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施 例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替 换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1. 一种基于自适应补偿编码的网络性能优化方法,其特征在于,包括: 发送端为传输控制协议TCP层中待发送的数据包增加预设长度的头部信息位,增加的 头部信息位包括:编码信息字段;其中,所述编码信息字段包括解码提示位base、编码指示 位n、编码系数、参与编码的原始数据包的序列号;所述base表示不再参与编码的原始数据 包的最大序列号;n = 0表示该数据包为原始数据包,n>0表示该数据包为补偿编码包,其 中,η表示该补偿编码包中包含的原始数据包的数目; 发送端将传输控制协议TCP层中待发送的原始数据包的编码信息字段中的解码提示位 base设置为当前内存删除的包的最大序列号,以及将编码指示位η设置为0,并将设置好的 原始数据包按照预设拥塞控制策略发送至接收端; 对于一个拥塞窗口单元,当发送端根据当前链路丢包率检测出当前超时概率超过预设 阈值时,发送端将当前拥塞窗口中的奶个原始数据包进行编码生成C1个补偿编码包,并将每 个补偿编码包的编码信息字段中的解码提示位base设置为当前内存删除的包的最大序列 号,将编码指示位η设置为参与编码的原始数据包的个数奶,以及将编码用到的编码系数、 参与编码的原始数据包的序列号加入至相应补偿编码包的编码信息字段中,并将处理后的 C 1个补偿编码包发送至所述接收端; 其中,所述补偿编码包的个数C1是根据当前超时概率以及李雅普诺夫最优化框架模型 确定的。2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 当发送端接收到的由接收端发送的应答ACK中带有丢包数d时,发送端根据丢包数d获 取当前新的丢包数CUw;其中,所述应答ACK是接收端在对发送端发送的补偿编码包接收失 败后向发送端发送的应答消息; 若dne3W>0,则发送端将当前拥塞窗口中的《2个原始数据包进行编码生成C2个补偿编码 包,并将每个补偿编码包的编码信息字段中的解码提示位base设置为当前内存删除的包的 最大序列号,将编码指示位η设置为参与编码的原始数据包的个数w 2,以及将编码用到的编 码系数、参与编码的原始数据包的序列号加入至相应补偿编码包的编码信息字段中,并将 处理后的&个补偿编码包发送至所述接收端,以及更新Cl new=0; 其中,所述补偿编码包的个数C2是根据当前超时概率以及李雅普诺夫最优化框架模型 确定的。3. 根据权利要求1或2所述的方法,其特征在于,所述补偿编码包的个数C1是根据当前超 时概率以及李雅普诺夫最优化框架模型确定的,包括: 根据下述优化函数获取补偿编码包的个数C1: Minimize C(t)Q(t)+Vpt(t) 其中,P t ( t )为李雅普诺夫优化中的惩罚项,p t ( t )对应超时概率,其中,M为当前丢包率;V为李雅普诺夫常数因 子;Q(t)为预设长度的虚拟缓冲区间在t时刻的剩余空间队列;C(t)为李雅普诺夫中的t时 刻的最优发送补偿编码包的数目。4. 根据权利要求3所述的方法,其特征在于,所述补偿编码包的个数(^为小于或等于第 一预设阈值的数值,所述第一预设阈值的取值范围为[〇,5]。5. 根据权利要求2所述的方法,其特征在于,所述补偿编码包的个数(:2是根据当前超时 概率以及李雅普诺夫最优化框架模型确定的,包括: 根据下述优化函数获取补偿编码包的个数C2: Minimize C(t)Q(t)+Vpt(t) 其中,P t ( t )为李雅普诺夫优化中的惩罚项,p t ( t )对应超时概率,其中,,p2为当前丢包率;V为李雅普诺夫 常数因子;Q(t)为预设长度的虚拟缓冲区间在t时刻的剩余空间队列;C(t)为李雅普诺夫中 的t时刻的最优发送补偿编码包的数目。6. 根据权利要求5所述的方法,其特征在于,补偿编码包的个数C2为小于或等于第二预 设阈值的数值,所述第二预设阈值的取值范围为[〇,5]。7. -种基于权利要求1~6中任一项所述方法的基于自适应补偿编码的网络性能优化 方法,其特征在于,包括: 接收由所述发送端发送的数据包; 提取所述数据包的头部信息中的编码信息字段; 根据提取的编码信息字段中的base的大小,将序列号小于所述base的数据包从解码矩 阵中移除; 根据提取的编码信息字段中的η的大小对所述数据包进行处理: 若n = o,则将数据包加入解码矩阵,并将数据包交由相应的拥塞控制模块进行处理以 产生对应的第一应答消息,并将产生的第一应答消息发送给发送端; 若η>〇,则根据编码系数、参与编码的数据包的序列号对数据包进行解码,当数据包被 解码解出时,交由相应的拥塞控制模块进行处理以产生对应的第二应答消息,并将产生的 第二应答消息发送给所述发送端。8. 根据权利要求7所述的方法,其特征在于,所述第二应答消息为ACK消息,所述第二应 答消息中包含当前丢包数d。9. 一种基于自适应补偿编码的网络性能优化装置,其特征在于,包括: 添加单元,用于为传输控制协议TCP层中待发送的数据包增加预设长度的头部信息位, 增加的头部信息位包括:编码信息字段;其中,所述编码信息字段包括解码提示位base、编 码指示位n、编码系数、参与编码的原始数据包的序列号;所述base表示不再参与编码的原 始数据包的最大序列号;n = 0表示该数据包为原始数据包,n>0表示该数据包为补偿编码 包,其中,η表示该补偿编码包中包含的原始数据包的数目; 第一处理单元,用于将传输控制协议TCP层中待发送的原始数据包的编码信息字段中 的解码提示位base设置为当前内存删除的包的最大序列号,以及将编码指示位η设置为0, 并将设置好的原始数据包按照预设拥塞控制策略发送; 检测单元,对于一个拥塞窗口单元,用于根据当前链路丢包率检测当前超时概率是否 超过预设阈值; 第二处理单元,用于在所述检测单元检测出当前超时概率超过预设阈值时,将当前拥 塞窗口中的W1个原始数据包进行编码生成C1个补偿编码包,并将每个补偿编码包的编码信 息字段中的解码提示位base设置为当前内存删除的包的最大序列号,将编码指示位η设置 为参与编码的原始数据包的个数W1,以及将编码用到的编码系数、参与编码的原始数据包 的序列号加入至相应补偿编码包的编码信息字段中,并将处理后的&个补偿编码包发送; 其中,所述补偿编码包的个数C 1是根据当前超时概率以及李雅普诺夫最优化框架模型 确定的。10. -种基于权利要求9所述装置的基于自适应补偿编码的网络性能优化装置,其特征 在于,包括: 接收单元,用于接收如权利要求9所述装置发送的数据包; 提取单元,用于提取所述接收单元接收的数据包的头部信息中的编码信息字段; 移除单元,用于根据提取的编码信息字段中的base的大小,将序列号小于所述base的 数据包从预设解码矩阵中移除; 处理单元,用于根据提取的编码信息字段中的η的大小对所述数据包进行处理: 若n = o,则将数据包加入所述预设解码矩阵,并将数据包交由相应的拥塞控制模块进 行处理以产生对应的第一应答消息,并将产生的第一应答消息发送给如权利要求9所述装 置; 若η>〇,则根据编码系数、参与编码的数据包的序列号对数据包进行解码,当数据包被 解码解出时,交由相应的拥塞控制模块进行处理以产生对应的第二应答消息,并将产生的 第二应答消息发送给如权利要求9所述装置。
【文档编号】H04L12/855GK106027404SQ201610285483
【公开日】2016年10月12日
【申请日】2016年4月29日
【发明人】孙继燕, 张棪, 唐鼎, 张舒黎, 陈鑫
【申请人】中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1