一种网络拥塞控制方法和装置制造方法
【专利摘要】本发明公开了一种网络拥塞控制方法:当确定发生网络拥塞时,根据当前的拥塞情况确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标;根据对应的调整目标分别对各需要调整的TCP数据流进行调整。本发明同时公开了一种网络拥塞控制装置。应用本发明所述方案,能够提高调整时机的准确性。
【专利说明】一种网络拥塞控制方法和装置
【技术领域】
[0001]本发明涉及移动网络技术,特别涉及一种网络拥塞控制方法和装置。
【背景技术】
[0002]当移动网络中存在较多的报文时,网络的性能就会下降,即发生网络拥塞。
[0003]相应地,为了提高网络的性能,就必须采取一定的措施来解决网络拥塞问题,即进行网络拥塞控制。
[0004]传统的网络拥塞控制方式的核心思想是利用端到端的传输反馈信息,如丢包和时延等,反复试探和匹配当前的网络路径状态,不断调整发送窗口大小。
[0005]但是,无线信道的介质决定了其链路极易受到干扰,容易出现临时的丢包和时延抖动等,因此,基于这些隐式信息的端到端拥塞控制难以保证调整时机的准确性,效率低下。
【发明内容】
[0006]有鉴于此,本发明提供了一种网络拥塞控制方法和装置,能够提高调整时机的准确性。
[0007]为了达到上述目的,本发明的技术方案是这样实现的:
[0008]一种网络拥塞控制方法,包括:
[0009]当确定发生网络拥塞时,根据当前的拥塞情况确定需要调整的传输控制协议TCP数据流以及每个需要调整的TCP数据流的调整目标;
[0010]根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
[0011]一种网络拥塞控制装置,包括:
[0012]第一处理模块,用于当确定发生网络拥塞时,根据当前的拥塞情况确定需要调整的传输控制协议TCP数据流以及每个需要调整的TCP数据流的调整目标;
[0013]第二处理模块,用于根据对应的调整目标分别对各需要调整的TCP数据流进行调難
IF.0
[0014]可见,采用本发明所述方案,无需等待端到端的传输反馈信息等,一旦发生了网络拥塞,即可根据当前的拥塞情况确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标,并相应地进行调整,从而提闻了调整时机的准确性和实时性等,进而提闻了调整效率;而且,本发明所述方案中以单个TCP数据流为单位进行调整,从而使得调整更为精细化,更具针对性,进而提高了系统的有效吞吐量;另外,本发明所述方案实现起来简单方便,便于普及和推广。
【专利附图】
【附图说明】
[0015]图1为本发明网络拥塞控制方法实施例的流程图。
[0016]图2为现有终端、基站和分组域网关等之间的关系不意图。
[0017]图3为本发明网络拥塞控制方法第一较佳实施例的流程图。
[0018]图4为本发明网络拥塞控制方法第二较佳实施例的流程图。
[0019]图5为本发明网络拥塞控制装置实施例的组成结构示意图。
【具体实施方式】
[0020]针对现有技术中存在的问题,本发明中提出一种改进后的网络拥塞控制方案,能够提高调整时机的准确性等。
[0021]为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
[0022]图1为本发明网络拥塞控制方法实施例的流程图。如图1所示,包括:
[0023]步骤11:当确定发生网络拥塞时,根据当前的拥塞情况确定需要调整的传输控制协议(TCP,Transmiss1n Control Protocol)数据流以及每个需要调整的TCP数据流的调整目标;
[0024]步骤12:根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
[0025]其中,当所述网络拥塞为上行网络拥塞时,针对每个需要调整的TCP数据流,可分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的下行ACK报文中的接收窗口进行调整。
[0026]当所述网络拥塞为下行网络拥塞时,针对每个需要调整的TCP数据流,可分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的TCP下行数据发送窗口进行调整。
[0027]或者,当所述网络拥塞为下行网络拥塞时,针对每个需要调整的TCP数据流,可分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的上行ACK报文中的接收窗口进行调整。
[0028]在实际应用中,上述步骤11?12所示功能可集成到基站和分组域网关等之中,SP可通过对基站或分组域网关等进行改造,使其具备上述功能。
[0029]图2为现有终端(UE,User Equipment)、基站(eNB)和分组域网关等之间的关系示意图。如图2所示,其中的基站、基站控制器(BSC,Base Stat1n Controller)、无线网络控制器(RNC, Rad1 Network Controller)、通用分组无线业务服务支持节点(SGSN, ServingGeneral Packet Rad1 Service Support Node)、服务网关(SGW, Serving Gateway)、通用分组无线业务网关支持节点(GGSN, Gateway General Packet Rad1 Service SupportNode)、分组数据网网关(PGW, Packet Data Network Gateway)以及 TCP 代理(TCP Proxy)等的现有功能均为本领域公知。其中,PGW和TCP代理等均属于分组域网关的组成部分。
[0030]图3为本发明网络拥塞控制方法第一较佳实施例的流程图。该较佳实施例对应于下行网络拥塞的情况,如图3所示,包括步骤31?步骤33。
[0031]步骤31:基站向分组域网关上报下行无线信道实时信息。
[0032]具体来说,基站可利用与分组域网关之间的随路数据信道,通过通用分组无线业务隧道用户面协议(GTP-U,General Packet Rad1 Service Tunneling Protocol for theUser plane)报头或IP协议报头等,向分组域网关上报下行无线信道实时信息。
[0033]另外,基站可在每次有上行数据需要发送时,即进行一次上报,或者,可周期性(如果周期设置得很小,则相当于是实时进行上报)地进行上报等,并且,基站在进行上报时,可上报当前的下行无线信道实时信息,即当前情况,也可上报过去一个周期内的平均情况或最差情况等,具体实现方式不限,可根据实际需要而定。
[0034]步骤32:PGW获取到基站上报的下行无线信道实时信息后,如果确定出下行网络拥塞,则根据当前的拥塞情况确定出需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标,并通知TCP代理。
[0035]PGW如何根据下行无线信道实时信息确定是否发生了下行网络拥塞为现有技术,另外,如何根据当前的拥塞情况确定哪些TCP数据流需要调整以及分别如何进行调整等均可根据实际需要而定。
[0036]比如,为保证一些优先级较高的TCP数据流的顺利传输,可调整一些优先级较低的TCP数据流,降低其发送速率等;通常,拥塞程度越严重,需要调整的TCP数据流就越多,或者,针对单个TCP数据流的调整力度就越大。
[0037]步骤33 =TCP代理根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
[0038]此时,TCP代理作为无线侧TCP下行数据发送端,可针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的TCP下行数据发送窗口进行调整。
[0039]具体来说,该TCP数据流对应的调整目标可为:期望发送速率V ;相应地,调整后的发送窗口可为:min{当前发送窗口,V/ (RTTXS) }。
[0040]其中,RTT表示该TCP数据流对应的下行网络往返时延(RTT,Round Trip Time),S表示该TCP数据流对应的下行平均IP包大小,min表示取较小值。TCP代理可实时获取下行数据传输参数,其中即包括RTT和S,如何获取为现有技术。
[0041]或者,该TCP数据流对应的调整目标可为:调整系数;相应地,调整后的发送窗口可为:当前发送窗口 X调整系数。不同TCP数据流对应的调整系数的取值可以相同,也可以不同,具体取值可根据实际需要而定,如0.5,0.6等。
[0042]图3所示较佳实施例中,以代理方式对各需要调整的TCP数据流进行调整,在实际应用中,也可以采用非代理方式,即针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的上行ACK报文中的接收窗口进行调整。
[0043]类似地,所述调整目标可为:期望发送速率V ;相应地,所述调整后的接收窗口可为:min{当前接收窗口,V/ (RTTXS) };或者,所述调整目标可为:调整系数;相应地,所述调整后的接收窗口可为:当前接收窗口 X调整系数。
[0044]图4为本发明网络拥塞控制方法第二较佳实施例的流程图。该较佳实施例对应于上行网络拥塞的情况,如图4所示,包括步骤41?步骤43。
[0045]步骤41:基站向分组域网关上报上行无线信道实时信息。
[0046]步骤42:PGW获取到基站上报的上行无线信道实时信息后,如果确定出上行网络拥塞,则根据当前的拥塞情况确定出需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标,并通知TCP代理。
[0047]步骤43 =TCP代理根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
[0048]此时,TCP代理作为无线侧TCP上行数据接收端,可针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的下行ACK报文中的接收窗口进行调整。
[0049]具体来说,该TCP数据流对应的调整目标可为:期望发送速率V ;相应地,调整后的接收窗口可为:min{当前接收窗口,V/ (RTT’ XS’)}。
[0050]其中,RTT’表示该TCP数据流对应的上行网络往返时延,S’表示该TCP数据流对应的上行平均IP包大小,min表示取较小值。
[0051]或者,该TCP数据流对应的调整目标可为:调整系数;相应地,调整后的接收窗口可为:当前接收窗口 X调整系数。
[0052]需要说明的是,图3和图4所示较佳实施例中所提到的根据对应的调整目标分别对各需要调整的TCP数据流进行调整的具体实现方式仅为举例说明,并不用于限制本发明的技术方案,如果采用本领域技术人员能够想到的其它方式,只要能够达到同样的目的,也是可以的。
[0053]另外,在实际应用中,本发明所述方案的其它实现方式也可灵活设定,比如:当确定发生网络拥塞时,不是直接根据当前的拥塞情况确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标,而是首先确定当前是否满足调整条件,如果是,则根据当前的拥塞情况确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标,并相应地进行调整等,否则,可不进行任何处理。
[0054]所述满足调整条件可以是指:拥塞持续时长大于预定阈值等。较佳地,可在当确定发生网络拥塞时,即进行调整,以确保拥塞问题能够得到及时解决,进而确保网络的性能坐寸ο
[0055]再有,本发明所述方案中还提出,当网络拥塞缓解后,可根据缓解程度确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标,并根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
[0056]具体调整方式可与前述类似,S卩:对于上行方向,针对每个需要调整的TCP数据流,可分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的下行ACK报文中的接收窗口进行调整。
[0057]对于下行方向,针对每个需要调整的TCP数据流,可分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的TCP下行数据发送窗口进行调整;或者,根据该TCP数据流对应的调整目标,对该TCP数据流对应的上行ACK报文中的接收窗口进行调整。
[0058]类似地,以下行方向为例,该TCP数据流对应的调整目标可为:期望发送速率V ;相应地,调整后的发送窗口可为:max{当前发送窗口,V/ (RTTXS)},调整后的接收窗口可为:max{当前接收窗口,V/ (RTT X S)},max表示取较大值;或者,该TCP数据流对应的调整目标可为:调整系数,相应地,调整后的发送窗口可为:当前发送窗口 X调整系数,调整后的接收窗口可为:当前接收窗口 X调整系数,所述调整系数的取值可为1.2、1.4等。
[0059]也就是说,从趋势上来说,当发生网络拥塞时,可针对各需要调整的TCP数据流,调小其对应的窗口,而当网络拥塞缓解时,调大窗口,何时进行调整、需要调整哪些TCP数据流以及如何进行调整等均可根据实际情况而定。
[0060]基于上述介绍,图5为本发明网络拥塞控制装置实施例的组成结构示意图。如图5所示,包括:
[0061]第一处理模块51,用于当确定发生网络拥塞时,根据当前的拥塞情况确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标;
[0062]第二处理模块52,用于根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
[0063]其中,当所述网络拥塞为上行网络拥塞时,第二处理模块52针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的下行ACK报文中的接收窗口进行调整。
[0064]当所述网络拥塞为下行网络拥塞时,第二处理模块52针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的TCP下行数据发送窗口进行调整。
[0065]或者,当所述网络拥塞为下行网络拥塞时,第二处理模块52针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的上行ACK报文中的接收窗口进行调整。
[0066]另外,第一处理模块51还可进一步用于,当网络拥塞缓解后,根据缓解程度确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标;
[0067]相应地,第二处理模块52根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
[0068]图5所示装置实施例的具体工作流程请参照前述方法实施例以及较佳实施例中的相应说明,此处不再赘述。
[0069]如前所述,在实际应用中,图5所示装置可部署在基站中,也可部署在分组域网关中,还可根据实际需要部署在其它设备上,如果需要,也可单独部署;而且,第一处理模块51和第二处理模块52可部署在同一设备上,也可部署在不同的设备上,视实际需要而定。
[0070]总之,采用本发明所述方案,无需等待端到端的传输反馈信息等,一旦发生了网络拥塞,即可根据当前的拥塞情况确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标,并相应地进行调整,从而提闻了调整时机的准确性和实时性等,进而提闻了调整效率;而且,本发明所述方案中以单个TCP数据流为单位进行调整,从而使得调整更为精细化,更具针对性,进而提高了系统的有效吞吐量;另外,本发明所述方案实现起来简单方便,便于普及和推广。
[0071]综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种网络拥塞控制方法,其特征在于,包括: 当确定发生网络拥塞时,根据当前的拥塞情况确定需要调整的传输控制协议TCP数据流以及每个需要调整的TCP数据流的调整目标; 根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
2.根据权利要求1所述的方法,其特征在于, 当所述网络拥塞为上行网络拥塞时,所述根据对应的调整目标分别对各需要调整的TCP数据流进行调整包括: 针对每个需要调整的TCP数据流,分别进行以下处理: 根据该TCP数据流对应的调整目标,对该TCP数据流对应的下行ACK报文中的接收窗口进行调整。
3.根据权利要求2所述的方法,其特征在于, 所述调整目标为:期望发送速率V; 所述调整后的接收窗口 = min{当前接收窗口,V/ (RTT’ XS’)}; 其中,所述RTT’表示该TCP数据流对应的上行网络往返时延,所述S’表示该TCP数据流对应的上行平均IP包大小; 或者,所述调整目标为:调整系数; 所述调整后的接收窗口 =当前接收窗口 X调整系数。
4.根据权利要求1所述的方法,其特征在于, 当所述网络拥塞为下行网络拥塞时,所述根据对应的调整目标分别对各需要调整的TCP数据流进行调整包括: 针对每个需要调整的TCP数据流,分别进行以下处理: 根据该TCP数据流对应的调整目标,对该TCP数据流对应的TCP下行数据发送窗口进行调整; 或者,根据该TCP数据流对应的调整目标,对该TCP数据流对应的上行ACK报文中的接收窗口进行调整。
5.根据权利要求4所述的方法,其特征在于, 所述调整目标为:期望发送速率V ; 所述调整后的发送窗口 =min{当前发送窗口,V/ (RTTXS) }; 所述调整后的接收窗口 =min{当前接收窗口,V/ (RTTXS) }; 其中,所述RTT表示该TCP数据流对应的下行网络往返时延,所述S表示该TCP数据流对应的下行平均IP包大小; 或者,所述调整目标为:调整系数; 所述调整后的发送窗口 =当前发送窗口 X调整系数; 所述调整后的接收窗口 =当前接收窗口 X调整系数。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 当网络拥塞缓解后,根据缓解程度确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标;根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
7.—种网络拥塞控制装置,其特征在于,包括: 第一处理模块,用于当确定发生网络拥塞时,根据当前的拥塞情况确定需要调整的传输控制协议TCP数据流以及每个需要调整的TCP数据流的调整目标; 第二处理模块,用于根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
8.根据权利要求7所述的装置,其特征在于, 当所述网络拥塞为上行网络拥塞时,所述第二处理模块针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的下行ACK报文中的接收窗口进行调整。
9.根据权利要求7所述的装置,其特征在于, 当所述网络拥塞为下行网络拥塞时,所述第二处理模块针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的TCP下行数据发送窗口进行调整。
10.根据权利要求7所述的装置,其特征在于, 当所述网络拥塞为下行网络拥塞时,所述第二处理模块针对每个需要调整的TCP数据流,分别进行以下处理:根据该TCP数据流对应的调整目标,对该TCP数据流对应的上行ACK报文中的接收窗口进行调整。
11.根据权利要求7、8、9或10所述的装置,其特征在于, 所述第一处理模块进一步用于,当网络拥塞缓解后,根据缓解程度确定需要调整的TCP数据流以及每个需要调整的TCP数据流的调整目标; 所述第二处理模块根据对应的调整目标分别对各需要调整的TCP数据流进行调整。
12.根据权利要求7所述的装置,其特征在于,所述装置位于基站或分组域网关中。
【文档编号】H04L12/801GK104426788SQ201310367105
【公开日】2015年3月18日 申请日期:2013年8月21日 优先权日:2013年8月21日
【发明者】邓灵莉, 房雅丁 申请人:中国移动通信集团公司