基于TCP通信协议的拥塞窗口的控制算法和系统技术方案

技术编号:12474729 阅读:95 留言:0更新日期:2015-12-10 10:21
本发明专利技术公开了一种基于TCP通信协议的拥塞窗口控制方法和系统,其中方法包括:监测网络的实际吞吐量和连续丢包数;根据网络的实际吞吐量和期望吞吐量得到网络延时变化;判断网络延时变化是否大于第一阈值且连续丢包数是否大于第二阈值;如果是,则判定网络发生拥塞,并根据测量的网络可用带宽更新慢启动阈值;以及根据慢启动阈值设置拥塞窗口的大小。该方法能够通过网络延时变化和丢包性质准确判断网络是否发生拥塞,并且在判断网络拥塞时能够根据实时监测到的带宽估算值设置拥塞窗口,从而使拥塞窗口更快的收敛到实际带宽,提高了带宽资源的利用率以及基于TCP应用的运行速度,提升了用户体验。

【技术实现步骤摘要】

本专利技术涉及移动网络
,特别涉及一种基于TCP通信协议的拥塞窗口的控制算法和系统
技术介绍
随着移动终端的兴起,移动互联网的流量已经逐渐赶超PC端的流量,用户对移动终端基于TCP (Transmiss1n Control Protocol,传输控制协议)的应用程序的运行速度的要求也越来越高,这也就意味着对拥塞窗口的性能有更高的要求,现有的移动互联网中的拥塞窗口的控制的大部分工作几乎都是由TCP完成的,TCP协议的实现包含了一种避免和控制网络拥塞的控制算法,以用来确保网络的通畅和稳定。目前,可通过监测数据传输时的丢包性质来判断拥塞的发生,并且考虑到了移动网络的性质,比如有线和无线的网络下判断拥塞发生的条件不同,从而优化拥塞窗口的控制。但是存在的问题是,上述方法对于移动网络的多变性,尤其是链路质量的变化考虑的并不周全,导致对拥塞发生的判断并不准确,从而不能对网络拥塞进行及时有效的处理,导致用户体验感变差。
技术实现思路
本专利技术的目的旨在至少在一定程度上解决上述的技术问题之一。为此本专利技术的第一个目的在于提出了一种基于TCP通信协议的拥塞窗口控制方法。该方法能够通过网络延时变化和丢包性质准确判断网络是否发生拥塞,并且能够在网络拥塞时根据实时监测到的带宽估算值设置拥塞窗口,从而使拥塞窗口更快的收敛到实际带宽,提高了带宽资源的利用率以及基于TCP应用的运行速度,提升了用户体验。本专利技术的第二个目的在于提出了一种基于TCP通信协议的拥塞窗口控制系统。为达上述目的,本专利技术第一方面的实施例提出了一种基于TCP通信协议的拥塞窗口控制方法,该方法包括:监测网络的实际吞吐量和连续丢包数;根据所述网络的实际吞吐量和期望吞吐量得到网络延时变化;判断所述网络延时变化是否大于第一阈值且所述连续丢包数是否大于第二阈值;如果是,则判定所述网络发生拥塞,并根据测量的网络可用带宽更新慢启动阈值;以及根据所述慢启动阈值设置所述拥塞窗口的大小。本专利技术实施例的基于TCP通信协议的拥塞窗口控制方法,可通过网络延时变化和丢包性质准确的判断网络是否发生拥塞,并且能够在网络发生拥塞时根据实时监测到的带宽估算值设置拥塞窗口,从而使拥塞窗口更快的收敛到实际带宽,提高了带宽资源的利用率以及基于TCP应用的运行速度,提升了用户体验。为达上述目的,根据本专利技术第二方面的实施例提出了一种基于TCP通信协议的拥塞窗口控制系统,包括:监测模块,用于监测网络的实际吞吐量和连续丢包数;网络延时变化获取模块,用于根据所述网络的实际吞吐量和期望吞吐量得到网络延时变化;判断模块,用于判断所述网络延时变化是否大于第一阈值且所述连续丢包数是否大于第二阈值,并在所述网络延时变化大于第一阈值且所述连续丢包数大于第二阈值时,判定所述网络发生拥塞;控制模块,用于根据测量的网络可用带宽更新慢启动阈值,并根据所述慢启动阈值设置所述拥塞窗口的大小。本专利技术实施例的基于TCP通信协议的拥塞窗口控制系统,通过判断模块判断由监测模块和网络延时变化获取模块得到的丢包数和延时变化准确的判断网络是否发生拥塞,并且能够在网络发生拥塞时通过控制模块根据实时监测到的带宽估算值设置拥塞窗口,从而使拥塞窗口更快的收敛到实际带宽,提高了带宽资源的利用率以及基于TCP应用的运行速度,提升了用户体验。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是根据本专利技术一个实施例的基于TCP通信协议的拥塞窗口控制方法的流程图;图2是根据本专利技术一个具体实施例的基于TCP通信协议的拥塞窗口控制方法的流程图;图3是根据本专利技术另一个具体实施例的基于TCP通信协议的拥塞窗口控制方法的流程图;以及图4是根据本专利技术一个实施例的基于TCP通信协议的拥塞窗口控制系统的结构框图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。下面参考附图描述本专利技术实施例的基于TCP通信协议的拥塞窗口控制方法和系统。本专利技术提出了一种基于TCP通信协议的拥塞窗口控制方法,包括:监测网络的实际吞吐量和连续丢包数;根据网络的实际吞吐量和期望吞吐量得到网络延时变化;判断网络延时变化是否大于第一阈值且连续丢包数是否大于第二阈值;如果是,则判定网络发生拥塞,并根据测量的网络可用带宽更新慢启动阈值;以及根据慢启动阈值设置拥塞窗口的大小。图1是根据本专利技术一个实施例的基于TCP通信协议的拥塞窗口控制方法的流程图。需要说明的是,本专利技术实施例的基于TCP通信协议的拥塞窗口控制方法适用于使用基于TCP通信协议的移动终端和移动网络的通信上,该移动终端可以是手机、平板电脑、个人数字助理等硬件设备。如图1所示,该基于TCP通信协议的拥塞窗口控制方法,包括以下步骤:SI 10,监测网络的实际吞吐量和连续丢包数。其中,网络的实际吞吐量指的是对网络单位时间内实际成功的传达数据的数量,可以以比特、字节、分组等位单位进行测量。而丢包是在网络中数据传输的时候出现数据丢失的现象,因为网络中数据是以数据包的形式传输的,所以可以用丢包来表示网络中数据传输时数据的丢失,例如,可以用loss_0ut对丢包数进行计数。另外,检测网络的连续丢包数是为了排除单个数据包丢失的偶然性,提高判断的精确度。具体地,网络的实际吞吐量和连续丢包数反映了当前网络数据传输的性能,也就是说,当前网络的实际吞吐量越大,连续丢包数越少,就代表当前网络的数据传输性能越好,当前的网络比较稳定。进一步地,在本专利技术的实施例中,监测网络的实际吞吐量和连续丢包数是为了接下来判断网络是否发生拥塞。S120,根据网络的实际吞吐量和期望吞吐量得到网络延时变化。在本专利技术的一个实施例中,网络的延时变化可以通过根据网络中单位时间内实际成功的传达数据包的数量与期望的网络中单位时间内成功传达的数据包数量的对比得到,即网络的实际吞吐量与期望吞吐量差距越大,网络延时越大,当前网络的数据传输能力越差。其中,期望吞吐量可以是在网络中没有缓存数据包且环境较稳定时,单位时间内实际成功的传达数据包的数量。进一步而言,由于网络吞吐量和时延有着密切的关系,所以也可以通过网络时延来计算网络延时变化,举例说明,根据本专利技术的实施例,网络延时变化可以通过公式N=(cwnd/BaseR当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种基于TCP通信协议的拥塞窗口控制方法,其特征在于,包括以下步骤:监测网络的实际吞吐量和连续丢包数;根据所述网络的实际吞吐量和期望吞吐量得到网络延时变化;判断所述网络延时变化是否大于第一阈值且所述连续丢包数是否大于第二阈值;如果是,则判定所述网络发生拥塞,并根据测量的网络可用带宽更新慢启动阈值;以及根据所述慢启动阈值设置所述拥塞窗口的大小。

【技术特征摘要】

【专利技术属性】
技术研发人员:张宇吴教仁刘涛刘晓光刘宁
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1