一种有效利用网络空余带宽传输数据的方法

文档序号:10660761阅读:366来源:国知局
一种有效利用网络空余带宽传输数据的方法
【专利摘要】本发明涉及一种有效利用网络空余带宽传输数据的方法。所述方法包括:通过测量多个用于测试的TCP数据包的回路时间,确定TCP数据包大小的最佳值S0及回路时间阈值T0;发送大小为S0的TCP数据包,测量每个TCP数据包的回路时间;如果连续2个TCP数据包的回路时间超过T0,停止数据传输,每隔一段时间发送一个测试TCP数据包,如果某个测试TCP数据包的回路时间小于T0,恢复数据传输。本发明可以实现在网络负荷较轻时传输时效性不敏感数据,降低了传输时效性不敏感数据对传输即时传输数据的影响。实验表明,应用本发明进行网络数据传输,与应用现有的数据传输方法相比,对其他用户数据传输的影响明显降低。
【专利说明】
一种有效利用网络空余带宽传输数据的方法
技术领域
[0001] 本发明属于网络数据传输技术领域,具体涉及一种有效利用网络空余带宽传输数 据的方法。
【背景技术】
[0002] 随着计算机网络技术的发展,网络应用日益广泛。日益增长的物理网络带宽难以 满足用户日益增长的带宽需求,导致上网速度受到很大影响。目前,网络带宽问题已经上升 到了这么一个高度,甚至有人认为网络带宽是制约当前社会生产力发展的一个关键因素, 网络带宽建设与筑路一样已进入国家战略,"要想富,先修路",同样,要想发展科技,首先要 做网络带宽基础建设。
[0003] 但是,物理网络带宽的增加受到很多因素的制约。在物理带宽一定的情况下,上网 用户在进行网络数据传输时会产生相互影响。譬如,关于P2P下载,人们常常听到这样一种 说法一一"P2P下载就像蝗虫,飞到哪儿,哪儿的带宽就吃紧"。这个说法虽然略显夸张,但它 也形象地描述了P2P下载带给局域网的巨大影响,它常会让10%的用户占去90%的带宽,以 及交换机、路由器的处理能力,造成网络堵塞。迅雷、BT、电驴等软件,都采用多线程下载的 技术。这些软件一启动,其它软件基本上就都没法上网了。这些软件启动一个文件时先去服 务器查找其它包含这个文件的地址列表,然后连接列表里的地址获取文件。通常一个列表 里会有两百多个地址,同时连接这些地址下载,外加从服务器上用10个线程下载,其它软件 (如网页、QQ等)自然无法与它们匹敌。迅雷7.0以上的版本在带宽占用方面做了很大的提 升,主要在本机的流量监控方面做了一些工作,能够实现在本机上不影响网页游览的。但 是,一个局域网内有几个用户使用迅雷的时候,其他人就没法上网了。
[0004] 网络数据可以分成两类:即时传输数据和时效性不敏感数据。比如银行业务办理 数据就属于即时传输数据,而银行网点理财监控产生录音录像的视频文件,每个文件将近 15M,1天一个网点大约225M数据,这些数据虽然都要传送到银行的服务器上去,但对传送时 间的要求并不严格,属于时效性不敏感数据。即时传输数据一般是比较重要的数据,需要得 到即时、有效的传输,如银行业务办理数据。为保证即时传输数据的传输,时效性不敏感数 据应该尽量避开即时传输数据的传输高峰期,选择即时传输数据的传输间隙或传输数据量 较小、网络空余带宽较大的时候进行传输,这样既可以保证时效性不敏感数据的快速传输, 又不影响即时传输数据的传输。实验表明,用户对网络流量的使用呈重尾分布(其概率分布 曲线的尾部比指数分布还要厚),即突发性的满负荷使用概率比较大,平时90%的带宽空余 闲置不用。这有点类似于城市交通道路,上下班高峰期堵塞,夜间的城市道路却是空荡荡 的。如果能够选择夜间出行,将会避免堵车带来的烦恼。在网络空余带宽较大时传输时效性 不敏感数据的方法就是受到夜间出行这一思想的启发而产生的。

【发明内容】

[0005] 为了解决现有技术中存在的上述问题,本发明提出一种有效利用网络空余带宽传 输数据的方法,通过自动实时监测网络负载的轻重,选择网络负载较轻的时候传输时效性 不敏感数据,使其对传输即时传输数据的影响降至最低。
[0006] 为了便于更好地理解本发明的技术方案,首先介绍一个与本发明技术方案有关的 技术术语"回路时间"。在端对端数据传输中,客户端询问服务器、服务器应答客户端一个来 回所用时间就是回路时间。回路时间与端对端链路上的每一段负载均有关系,比如隔壁家 的电脑是否在传输大文件,对你家的网络访问是有影响的。贝恩可在多年的网络优化工作 中发现:在网络负载达到一定负荷工作的时候,回路时间急剧变化;在发送的TCP(传输控制 协议)包的大小为某一值时,即使网络负载很轻微,回路时间对于网络负载也会相当敏感。
[0007] 为解决上述技术问题上,本发明采用如下技术方案:
[0008] -种有效利用网络空余带宽传输数据的方法,包括以下步骤:
[0009] 在从A端向B端传输数据之前,通过测量多个用于测试的TCP数据包的回路时间,确 定TCP数据包大小的最佳值S0及回路时间阈值T0。从A端向B端发送大小为S0的TCP数据包, 测量每个TCP数据包的回路时间。如果连续2个TCP数据包的回路时间超过T0,停止数据传 输,每隔一段时间发送一个测试TCP数据包,如果某个测试TCP数据包的回路时间小于T0,恢 复数据传输。
[0010] 进一步地,测量TCP数据包的回路时间的方法包括:
[0011] A端记录发送TCP数据包的时刻T1,B端收到所述TCP数据包后立即返回一个收到确 认信息,A端记录收到确认信息的时刻T2,这两个时刻的差即为回路时间,即T0 = T2-T1。
[0012] 进一步地,确定so和TO的方法包括:
[0013] 从A端向B端发送第一组TCP数据包:首先发送一个大小为S1的TCP数据包,B端收到 所述TCP数据包后立即返回一个收到确认信息,A端收到确认信息后,同时发送大小分别为 S2和S3的两个TCP数据包。记录三个数据包的回路时间1'132、了3。计算1132、了3的标准方差 SD和平均值AVG。
[0014] 当 SD〈SD0 时,网络稳定,如果 AVG〈AVG0,取 T0 = 2*min(Tl,T2,T3),S0〈2*MTU(MTU 是 Maximum Transmission Unit的英文缩写,中文含义是最大传输单元,是指一种通信协议的 某一层上面所能通过的最大数据包大小,可通过执行ping命令获取MTU的值。),S0的最佳值 通过实验确定,测试完成;如果AVG0彡AVG彡AVG1,发送第二组TCP数据包;如果AVG>AVG1,过 一段时间后发送第二组TCP数据包。
[0015] 当 SD 彡 SD0 时,网络不稳定,如果 SD/AVG 彡 K0,取 T0 = 2*min(Tl,T2,T3)+2*SD,S0〈 MTU,SO的最佳值通过实验确定,测试完成。
[0016] 如果SD/AVG〈K0,发送第二组TCP数据包。
[0017] 从A端向B端发送第二组TCP数据包:依次重复发送大小为S4、S5的2个TCP数据包N 次,记录回路时间,计算回路时间的标准方差SD和平均值AVG。
[0018]当SD/AVG〈K1 时,网络稳定,如果AVG〈AVG1,取 1'0 = 4¥6+3咕0,50〈2蝴1'1],50的最佳 值通过实验确定,测试完成;如果AVG彡AVG1,取TO = AVG+3*SD,S0〈MTU,S0的最佳值通过实 验确定,测试完成。
[0019] 当SD AVG>K2时,网络不稳定,如果AVG〈AVG1,取1'0=4¥6,30〈2蝴1'1],30的最佳值通 过实验确定,测试完成;如果AVG多AVG1,取T0 = AVG,S0〈MTU,S0的最佳值通过实验确定,测 试完成。
[0020] 当K1 彡SD/AVG彡K2时,如果AVG〈AVG1,取TO = AVG+3*SD,S0〈2*MTU,SO的最佳值通 过实验确定,测试完成;如果AVG多AVG1,取T0 = AVG,S0〈MTU,SO的最佳值通过实验确定,测 试完成。
[0021] 其中,S1~35川、六¥60、六¥61、300、1(0、1(1、1(2的值通过实验确定。
[0022] 优选地,51 = 800匕5^68,32 = 1200匕5^68,33 = 1800匕5^68,34 = 600匕}^68,35 = 1200bytes,N = 50,AVG0 = 80bytes,AVG1 = 120bytes,SD0 = 15bytes,K0 = 0 · 4,K1 = 0 · 3,K2 =0 · 5〇
[0023] 与现有技术相比,本发明具有以下有益效果:
[0024]本发明在数据传输之前,通过测量多个TCP数据包的回路时间,确定TCP数据包大 小的最佳值S0及回路时间的阈值T0。然后发送大小为S0的TCP数据包,并实时监测每个TCP 数据包的回路时间,如果发现连续2个TCP数据包的回路时间超过T0,停止数据传输。每隔一 段时间发送一个测试数据包,如果某个测试数据包的回路时间小于T0,恢复数据传输。应用 本发明可以自动实现在网络负荷较轻即网络空余带宽较大时传输时效性不敏感数据,降低 了传输时效性不敏感数据对传输即时传输数据的影响,保证了即时传输数据的有效传输。 实验表明,应用本发明进行网络数据传输,与应用现有的数据传输方法相比,对其他用户数 据传输的影响明显降低。
【附图说明】
[0025] 图1为本发明实施例的硬件布置示意图。
【具体实施方式】
[0026] 下面结合附图和实施例对本发明做进一步说明。
[0027] -种有效利用网络空余带宽传输数据的方法,包括以下步骤:
[0028]在从A端向B端传输数据之前,通过测量不同大小的用于测试的TCP数据包的回路 时间,确定TCP数据包大小的最佳值S0及回路时间阀值T0。从A端向B端发送大小为S0的TCP 数据包,测量每个TCP数据包的回路时间。如果连续2个TCP数据包的回路时间超过TO,停止 数据传输,每隔一段时间发送一个测试TCP数据包,如果某个测试TCP数据包的回路时间小 于T0,恢复数据传输。
[0029]测量TCP数据包的回路时间T0的方法包括:
[0030] A端记录发送TCP数据包的时刻T1,B端收到所述TCP数据包后立即返回一个收到确 认信息,A端记录收到此确认信息的时刻T2,这两个时刻的差即为回路时间,即T0 = T2-T1。 回路时间基本上与终端、服务器的处理速度和能力关系不大,主要由网络延迟所决定。
[0031] 确定SO和Τ0的方法包括:
[0032] 从A端向B端发送第一组TCP数据包:首先发送一个大小为S1的TCP数据包,B端收到 所述TCP数据包后立即返回一个收到确认信息,A端收到确认信息后,同时发送大小分别为 S2和S3的两个TCP数据包。记录三个数据包的回路时间1'132、了3。计算1132、了3的标准方差 SD和平均值AVG。
[0033] 当SD〈SD0时,网络稳定,如果AVG〈AVG0,表明网络处于轻负荷或正常负荷状态,取 TO = 2*min(ΤΙ,T2,T3),S0〈2*MTU,S0的最佳值通过实验确定,测试完成;如果AVG0彡AVG彡 AVG1,发送第二组TCP数据包;如果AVG>AVG1,过一段时间后发送第二组TCP数据包。
[0034]在这种网络延迟小、状态稳定的网络中,数据发送不受限制,S0、T0取值较大,这样 利用底层数据传输又同时减少不必要的上层数据交互。当然,并不是so越高越好,实验表 明,so值过高效果反而下降。根据数据统计显示,在正常负荷状态回路时间翻倍几率比较 小,同时一旦处于重负荷状态,回路时间急剧增加,甚至在正常负荷状态的3倍以上。局域网 内,正常负荷状态的回路时间平均为9.2毫秒,重负荷状态的回路时间是118.7毫秒。在广域 网上,重负荷状态可能只是中间的某一段,所以不会有如此明显的影响。T0取值2*min(Tl, T2,T3)是一个实践经验数据。
[0035] 当SD彡SD0时,网络不稳定,如果SD/A VG彡K0,表示回路时间震荡大并且回路的平 均时间较小,网络为近距离(距离远近以网络节点多少表示),网络处于重负荷状态,取το= 2_in(ΤΙ,Τ2,Τ3)+2*SD,S0〈MTU,SO的最佳值通过实验确定,测试完成。
[0036] 如果SD/AVG〈K0,发送第二组TCP数据包。
[0037] 从A端向B端发送第二组TCP数据包:依次重复发送大小为S4、S5的2个TCP数据包N 次,记录回路时间,计算回路时间的标准方差SD和平均值AVG。
[0038] 当SD/AVG〈K1时,网络稳定,如果AVG〈AVG1,表明网络处于轻负荷或正常负荷状态, 取TO = AVG+3*SD,S0〈2*MTU,S0的最佳值通过实验确定,测试完成;如果AVG彡AVG1,表明网 络处于正常负荷状态,取TO=AVG+3*SD,S0〈MTU,S0的最佳值通过实验确定,测试完成。
[0039] 当K1彡SD/AVG彡K2时,如果△¥6〈六¥61,表明网络处于正常负荷状态,取1'0=八¥6+3* SD,S0〈2*MTU,S0的最佳值通过实验确定,测试完成;如果AVG彡AVG1,表明网络处于重负荷 状态,取TO=AVG,S0〈MTU,S0的最佳值通过实验确定,测试完成
[0040] 其中,S1~35川、六¥60、六¥61、300、1(0、1(1、1(2的值通过实验确定。
[0041 ] 上面S0取值有2种,小于1倍MTU和2倍MTU,分别对应于远距离连接和近距离连接。 T0取值有3种:一种是2*11^11(1'1,了2,了3),在网络稳定低延迟的情况下,没有重负荷回路时间 的样本,所以只有通过正常负荷状态的回路时间预测重负荷状态下的回路时间;一种是AVG +3*SD,适用正常负荷状态有足够样本的情况;最后一种是AVG,在重负荷状态情况下,数据 传输已经严重延迟,采用AVG就足够区分网络状态了。
[0042]优选地,51 = 800匕5^68,32 = 1200匕5^68,33 = 1800匕5^68,34 = 600匕}^68,35 = 1200bytes,N = 50,AVG0 = 80bytes,AVGl = 120bytes,SD0 = 15bytes,K0 = 0.4,Kl = 0.3,K2 =0.5〇
[0043]所述网络状态按照网络负载从大到小的顺序分为以下四种状态:堵塞,重负荷,正 常负荷,轻负荷。各种网络状态的特征如表1所示。
[0044] 表1网络状态的特征
[0046] 下面通过实验数据比较应用本发明的数据传输方法与应用现有数据传输方法进 行网络数据传输时,对其他用户数据传输影响的大小。
[0047] 硬件布置图如图1所示,电脑A和电脑B分别是应用本发明和现有技术传输数据的 发送端和接收端,电脑C和电脑D分别模拟用户的发送端和接收端。
[0048] 在以下三种情况下,用户从电脑C向电脑D每10秒钟通过TCP传输一个4k的数据,分 成10个连续的数据包,每个0.4k。
[0049] (1)电脑A不向电脑B传输数据;
[0050] (2)应用本发明从电脑A向电脑B传输一个1G的电影;
[0051] (3)从电脑A向电脑B通过FTP(文件传输协议)方法下载一个1G的电影。
[0052] 三种情况下,用户传输时间的平均值分别为16ms、26ms和220ms,应用本发明从电 脑A向电脑B传输一个1G的电影花费的时间为2679s,应用现有技术的FTP方法下载一个1G的 电影花费的时间为2163s。
[0053]实验表明,应用本发明传输数据速率略低于FTP方法,这是由于应用本发明进行数 据传输时要进行回路时间监测及"高峰回避"。但是,应用本发明传输数据对用户数据传输 的影响却远低于FTP方法对用户数据传输的影响。由于本发明主要用于传输时效性不敏感 数据,其传输速度很小的降低几乎不会产生任何不良影响。
[0054]本发明不限于上述实施方式,本领域技术人员所做出的对上述实施方式任何显而 易见的改进或变更,都不会超出本发明的构思和所附权利要求的保护范围。
【主权项】
1. 一种有效利用网络空余带宽传输数据的方法,其特征在于,包括以下步骤: 在从A端向B端传输数据之前,通过测量多个用于测试的TCP数据包的回路时间,确定 TCP数据包大小的最佳值SO及回路时间阈值TO;从A端向B端发送大小为SO的TCP数据包,测 量每个TCP数据包的回路时间;如果连续2个TCP数据包的回路时间超过TO,停止数据传输, 每隔一段时间发送一个测试TCP数据包,如果某个测试TCP数据包的回路时间小于T0,恢复 数据传输。2. 根据权利要求1所述的有效利用网络空余带宽传输数据的方法,其特征在于,测量 TCP数据包的回路时间的方法包括: A端记录发送TCP数据包的时刻T1,B端收到所述TCP数据包后立即返回一个收到确认信 息,A端记录收到此确认信息的时刻T2,这两个时刻的差即为回路时间,即T0 = T2-T1。3. 根据权利要求1所述的有效利用网络空余带宽传输数据的方法,其特征在于,确定SO 和TO的方法包括: 从A端向B端发送第一组TCP数据包:首先发送一个大小为S1的TCP数据包,B端收到所述 TCP数据包后立即返回一个收到确认信息,A端收到确认信息后,同时发送大小分别为S2和 S3的两个TCP数据包;记录三个数据包的回路时间ΤΙ、T2、T3;计算ΤΙ、T2、T3的标准方差SD和 平均值AVG; 当SD〈SD0时,网络稳定,如果AVG〈AVG0,取 1'0 = 2*111丨11(1'1,了2,了3),50〈2蝴1'1],50的最佳 值通过实验确定,测试完成;如果AVGOSAVGSAVGl,发送第二组TCP数据包;如果AVG>AVG1, 过一段时间后发送第二组TCP数据包; 当SD彡SD0时,网络不稳定,如果SD/AVG彡K0,取TO = 2*min(ΤΙ,T2,T3)+2*SD,S0〈MTU, SO的最佳值通过实验确定,测试完成; 如果SD/AVG〈K0,发送第二组TCP数据包; 从A端向B端发送第二组TCP数据包:依次重复发送大小为S4、S5的2个TCP数据包N次,记 录回路时间,计算回路时间的标准方差SD和平均值AVG; 当SD/AVG〈K1时,网络稳定,如果AVG〈AVG1,取TO = AVG+3*SD,S0〈2*MTU,SO的最佳值通 过实验确定,测试完成;如果AVG彡AVG1,取T0 = AVG+3*SD,S0〈MTU,SO的最佳值通过实验确 定,测试完成; 当SD AVG>K2时,网络不稳定,如果AVG〈AVG1,取TO =AVG,S0〈2*MTU,SO的最佳值通过实 验确定,测试完成;如果AVG> AVG1,取TO = AVG,S0〈MTU,SO的最佳值通过实验确定,测试完 成; 当K1 彡 SD/AVG彡K2时,如果AVG〈AVG1,取TO = AVG+3*SD,S0〈2*MTU,SO的最佳值通过实 验确定,测试完成;如果AVG> AVG1,取TO = AVG,S0〈MTU,SO的最佳值通过实验确定,测试完 成; 其中,S1~35川、六¥60、六¥61、300、1(0、1(1、1(2的值通过实验确定。4. 根据权利要求3所述的有效利用网络空余带宽传输数据的方法,其特征在于,Sl = 800bytes,S2 = 1200bytes,S3 = 1800bytes,S4 = 600bytes,S5 = 1200bytes,N=50,AVG0 = 80bytes,AVGl = 120bytes,SD0 = 15bytes,K0 = 0.4,Kl=0.3,K2 = 0.5。
【文档编号】H04L12/927GK106027417SQ201610523167
【公开日】2016年10月12日
【申请日】2016年7月5日
【发明人】蒋杉杉
【申请人】北京贝恩可科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1