CN103873381B - 网络流量限速方法和装置 - Google Patents
网络流量限速方法和装置 Download PDFInfo
- Publication number
- CN103873381B CN103873381B CN201410114182.5A CN201410114182A CN103873381B CN 103873381 B CN103873381 B CN 103873381B CN 201410114182 A CN201410114182 A CN 201410114182A CN 103873381 B CN103873381 B CN 103873381B
- Authority
- CN
- China
- Prior art keywords
- speed limit
- connection
- flow rate
- threshold value
- treat
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明实施例提供一种网络流量限速方法和装置。该方法包括:对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。本发明实施例提供的网络流量限速方法和装置,通过统计进程中每个连接的实时流速,能够监测进程和各连接的流速,并且当进程的总流速达到限速阈值时,以连接为单位进行限流,对于有些程序可停止或减缓其处理过程,而有些程序则可以正常运行,不必由于随机性丢包而对所有程序都构成影响,因此能够减小对程序的影响,也使得传输后数据包有效利用率提高,从而提高了网络传输效率。
Description
技术领域
本发明实施例涉及网络通信技术,尤其涉及一种网络流量限速方法和装置。
背景技术
随着互联网技术的发展,用户通过网络处理的数据量增加,计算机技术的进步,也是的多个应用程序并行处理,共享网络带宽资源。在带宽资源有限的情况下,对网络流量进行限速的技术也应运而生。
现有的网络流量限速技术,一般是当单位时间(例如1s)内,进程中下行数据包或上行数据包的流量到达阈值,则开始丢弃接收的下行数据包或待发送的上行数据包,从而达到限速的目的。
上述流量限速技术存在以下缺陷:丢弃的数据包也会影响其他正常收发数据包的处理,导致程序运行的不稳定,且网络传输效率较低。
发明内容
本发明实施例提供一种网络流量限速方法和装置,以优化网络流量的限速方案,减小对程序的影响,提高网络传输效率。
第一方面,本发明实施例提供了一种网络流量限速方法,包括:
对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;
如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
第二方面,本发明实施例还提供了一种网络流量限速装置,其特征在于,包括:
流速监测模块,用于对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;
连接限速模块,用于如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
本发明实施例提供的网络流量限速方法和装置,通过统计进程中每个连接的实时流速,能够监测进程和各连接的流速,并且当进程的总流速达到限速阈值时,以连接为单位进行限流,对于有些程序可停止或减缓其处理过程,而有些程序则可以正常运行,不必由于随机性丢包而对所有程序都构成影响,因此能够减小对程序的影响,也使得传输后数据包有效利用率提高,从而提高了网络传输效率。
附图说明
图1为本发明实施例一提供的一种网络流量限速方法的流程图;
图2为本发明实施例二提供的一种网络流量限速方法的流程图;
图3为本发明实施例二中适用的网络流量限速方法实例的示意图;
图4为本发明实施例六提供的一种网络流量限速方法的流程图;
图5为本发明实施例九提供的一种网络流量限速装置的结构示意图;
图6为本发明实施例十提供的一种网络流量限速装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
请参阅图1,为本发明实施例一提供的一种网络流量限速方法的流程图。本发明实施例的技术方案适用于各种接入网络,需对网络流量上行或下行速度进行限制的网元中,典型的如台式PC和笔记本电脑等。可在网元中配置以硬件和/或软件实现的网络流量限速装置来实现此方法。
如图1所示,所述方法包括:
110、对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速。
其中,进程是一个程序及其数据在处理机上顺序执行时所发生的活动,是系统进行资源分配和调度的一个独立单位。在网元中,可同时运行一个或多个进程,每个进程具有独立的进程标识,网元通过网卡等硬件进行收发的数据包均归属于某个进程,可通过进程标识进行区分。
每个进程可包括一个或多个连接,每个连接为两个网元之间的一条数据传输通道,可称为源端和目的端之间的连接,源端和目的端的网元可以用户终端,也可以为服务器等任意可通过网络收发数据包的设备。每个数据传输通道可以由源端的源IP(InternetProtocol,网络之间互连的协议)和源端口以及目的端的目的IP和目的端口,四个属性特征唯一确定。其中,IP地址是IP协议提供的一种统一的地址格式,用于标识互联网上一台终端的坐标;目的端为数据包接收者的网元,相应地,目的IP为数据包接收者的网元的IP地址;源端为数据包发送者的网元,相应地,源IP为数据包发送者的网元的IP地址。端口号是传输控制协议/用户数据报协议(Transmission Control Protocol/User Datagram Protocol,TCP/UDP)中端口的标识,用于结合IP地址来定位数据包的处理模块;目的端口为数据包接收者的网元的端口号,而源端口为数据包发送者的网元的端口号。
在操作110中,针对进程中的连接分别进行流量统计,从而能够以连接为单位获取实时流速。作为该操作的一个可选的实施方式,可以具体包括:
111、对归属于所述进程的数据包,根据所述数据包的属性特征确定数据包所属连接,其中,所述属性特征包括源IP、源端口、目的IP和目的端口中的至少一个;
其中,数据包为在封包交换网络中的最小传输资料单元,可以通过进程标识、属性特征等因素对数据包进行划分,确定每个连接的数据包。典型是,以源IP、源端口、目的IP和目的端口共同确定该数据包所对应的连接。
112、根据所述数据包的负载大小,以连接为单位进行流量统计,以监测连接的实时流速。
其中,所述数据包可以包括上行数据包和下行数据包,数据包的属性特征也包括负载,可以分别针对上行和下行,统计连接的数据包在单位时间内的流量,从而监测连接的实时流速。
也就是说,在本操作中,对于各连接,通过统计该连接的数据包的负载大小,从而监测该连接的实时流速,进而可以得到进程的总流速。示例性地,对于各连接,通过统计该连接的上行数据包的负载大小,从而监测该连接的上行实时流速,进而可以得到进程的总上行流速。下行流速的获取与此类似。
120、如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
其中,进程的总流速对应于进程中的所有连接的实时流速之和。进程的总流速可以包括进程的总上行流速和进程的总下行流速。
限速阈值为用户或运行模块针对进程设置的允许网卡通过的最大流速值。限速阈值可以包括上行限速阈值和下行限速阈值。所述上行限速阈值与所述下行限速阈值可以相同,也可以不同。
基于预设策略以连接为单位进行限流是以进程中的每个连接为限流操作对象,而非以整个进程为限流操作对象进行丢包处理。例如,可基于各种预设策略,依次停止部分连接的数据包传输,直至进程的总流速达到限速阈值。后续将通过具体实施例对此策略进行详细介绍。
可以通过预设策略确定各连接的限速目标,使各连接的实时流速满足连接所对应的限速目标进行限流,其中所述连接的限速目标可以包括连接的限速目标值或连接的流速预警值,其中连接的流速预警值低于连接限速目标值,所述流速预警值用于触发流速限制操作,预警值的多少需根据时机情况而设。例如,如果连接A的限阈目标值确定为30KB/S,连接A的流速预警值可以设为25KB/S,则当连接A的实时流速大于等于所述连接A的流速预警值时,触发连接A进行流速限制操作。
本实施例的技术方案,通过统计进程中每个连接的实时流速,能够监测进程和各连接的流速,并且当进程的总流速达到限速阈值时,以连接为单位进行限流,对于有些程序可停止或减缓其处理过程,而有些程序则可以正常运行,不必由于随机性丢包而对所有程序都构成影响,因此能够减小对程序的影响,也使得传输后数据包有效利用率提高,从而提高了网络传输效率
实施例二
请参阅图2,为本发明实施例二提供的一种网络流量限速方法的流程图。本实施例在上述实施例的基础上,提供了如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流这一操作的优选方案。如图2所示,所述基于预设策略以连接为单位进行限流方法可以包括:
210、如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接;
示例性地,通过一个具体的实例进行说明。请参阅图3,进程Z为当前需限速控制的进程,包括4个连接,分别为连接A、连接B、连接C和连接D,各连接以源IP、目的IP、源端口和目的端口进行标志,则连接A、连接B、连接C和连接D分别连接到服务器端A、服务器端B、服务器端C和服务器端D。当进程Z运行一段时间后,例如运行单位时间后,当前时刻进程Z中各连接的实时流速的数值如图3所示。图3和表1分别示出了4个连接的实时流速,包括上行流速和下行流速,通过统计各连接的上行流速和下行流速,得到进程Z的总流速,即进程Z的总上行流速为51KB/S,总下行流速为285KB/S。
表1进程Z的限速前流速信息表
源IP | 目的IP | 源端口 | 目的端口 | 上行流速 | 下行流速 | |
连接A | X | A | 111 | 222 | 3KB/S | 70KB/S |
连接B | X | B | 333 | 444 | 30KB/S | 20KB/S |
连接C | X | C | 555 | 666 | 5KB/S | 120KB/S |
连接D | X | D | 777 | 888 | 13KB/S | 75KB/S |
进程Z | 51KB/S | 285KB/S |
示例性地,以对进程Z的总下行流速基于预设策略以连接为单位进行限流为例进行说明。假设用户设置的下行限速阈值为50KB/S,即限制进程Z总下行流速的最大值为50KB/S。由于进程Z的总下行流速超过下行限速阈值,可以基于某种策略首先确定待限速连接,例如从流速最大的连接开始,直至确定的待限速连接的实时流速之和满足进程总流速与限速阈值之差。图3所示的实例中,可确定待限速连接为连接A、连接C和连接D,且连接C和连接D的下行流速需限速至0,连接A的下行流速需限速至30KB/S,如表2所示,才能使进程的总下行流速满足限速阈值要求。
表2进程Z的目标限速值信息表
源IP | 目的IP | 源端口 | 目的端口 | 上行流速 | 下行流速 | |
连接A | X | A | 111 | 222 | 3KB/S | 30KB/S |
连接B | X | B | 333 | 444 | 30KB/S | 20KB/S |
连接C | X | C | 555 | 666 | 5KB/S | 0KB/S |
连接D | X | D | 777 | 888 | 13KB/S | 0KB/S |
进程Z | 51KB/S | 50KB/S |
220、根据所述进程的限速目标对所述待限速连接进行限流。
请参阅表2,基于表2所示,根据限速目标,即进程Z的下行限速阈值为50KB/S,对所述待限速连接A、待限速连接C和待限速连接D进行限流,即将待限速连接A、待限速连接C和待限速连接D的下行流速分别限制为30KB/S、0KB/S和0KB/S。基于表2所示的一种具体的预设仲裁策略以连接为单位进行限流后,进程Z的总下行流速为50KB/S,符合限速目标。
需要说明的是,基于本实施例的技术方案也可以实现限制进程Z的总上行流速,限制进程Z的总上行流速的操作与限制进程Z的总下行流速的操作类似,此处不再赘述。
本实施例的技术方案,通过预设仲裁策略确定待限速连接,并根据所述进程的限速目标对所述待限速连接进行限流,可以明确的以连接为单位进行操作,也便于独立执行或更新预设仲裁策略和连接的限流策略。
需要说明的是,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接的操作的可以有多种实施方式,例如包括下述实施方式中的至少一种:
如果进程的总流速达到限速阈值,确定实时流速最大的连接,作为所述待限速连接;或者
如果进程的总流速达到限速阈值,确定实时流速之和满足所述限速目标的至少一个连接作为所述待限速连接;或者
如果进程的总流速达到限速阈值,根据所述连接的属性特征确定所述待限速连接。
上述各种预设仲裁策略可以单独执行,也可以结合采用。下面通过具体实施例分别进行说明。
实施例三
本实施例在上述实施例的基础上,将如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接的操作,进一步优化为:如果进程的总流速达到限速阈值,确定实时流速最大的连接,作为所述待限速连接。
示例性地,仍以表1为例进行说明。假设用户设置的下行限速阈值为50KB/S,即限制进程Z总下行流速的最大值为50KB/S。在当前时刻,由于进程Z的总下行流速超过下行限速阈值,确定实时流速最大的连接为连接C,作为待限速连接。而后,可以根据限速阈值,将待限速连接C的下行流速限定为0KB/S。在下一时刻,更新所述进程Z的总流速,并返回所述判断进程Z的总流速是否达到限速阈值的操作,即更新后的进程Z的总下行流速为165KB/S。由于此时进程Z的总下行流速超过下行限速阈值,确定实时流速最大的连接为连接D,作为待限速连接,可以根据限速阈值将待限速连接D的下行流速限定为0KB/S。进入下一时刻,更新所述进程Z的总流速,并返回所述判断进程Z的总流速是否达到限速阈值的操作,即更新后的进程Z的总下行流速为90KB/S,由于此时进程Z的总下行流速超过下行限速阈值,在当前时刻确定实时流速最大的连接为连接A,作为待限速连接,可以将待限速连接A的下行流速限定为30KB/S。进入下一时刻,更新所述进程Z的总流速,并返回所述判断进程Z的总流速是否达到限速阈值的操作,即更新后的进程Z的总下行流速为30KB/S,由于此时进程Z的总下行流速没有超过下行限速阈值,符合限速目标,因此本流程结束。
由上述流程可见,在每个时刻,均执行相同的预设仲裁策略以确定待限速连接,即确定实时流速最大的连接,此连接可能为一个或多个,若流速最大的连接同时有多个,则可以进一步基于随机原则或顺序原则等确定一个流速最大连接。当然,也可以根据限速阈值的大小确定多个流速最大的连接。优选是每次确定一个连接作为待限速连接,因为网络传输的流速波动较大,在下一时刻,有可能因为其他连接的流速变化而使得进程的总流速满足限速阈值的要求。所以逐次对一个连接进行操作,可减小对流速的影响,使其逐步趋近于限速阈值。
需要说明的是,基于本实施例的技术方案也可以实现限制进程Z的总上行流速,限制进程Z的总上行流速的操作与限制进程Z的总下行流速的操作类似,此处不再赘述。
本实施例的技术方案不仅能够达到限速的目的,而且鉴于一些重要的网络数据包大多都是管理传输用途,这类用途的数据包所在的连接产生的流量较小,因此本实施例通过将实时流速最大的连接,作为所述待限速连接,即通过尽量避免限制实时流速小的连接,以避免阻塞重要数据包的传输,因而能够提高网络传输的稳定性,避免重要数据包丢弃而发生程序运行错误。
实施例四
本实施例在实施例二的基础上,将如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接的操作,进一步优化为如果进程的总流速达到限速阈值,确定实时流速之和满足所述限速目标的至少一个连接作为所述待限速连接。
示例性地,仍以表1为例进行说明。假设用户设置的下行限速阈值为50KB/S,即限制进程Z总下行流速的最大值为50KB/S。由于进程Z的总下行流速超过下行限速阈值,确定总下行流速之和满足所述限速目标的至少一个连接作为所述待限速连接,例如,判断连接A、连接C和连接D的实时流速之和,大于进程总下行流速与限速阈值之差,即能够满足限速目的,则可将此三个链接作为所述待限速连接,下行流速分别限制为30KB/S、0KB/S和0KB/S。或者,也可以将待限速连接A、待限速连接C和待限速连接D的下行流速分别限制为10KB/S、10KB/S和5KB/S。对于待限速连接的选择,可以基于实时流速最大的原则,也可以基于尽量少的停止连接的数量为原则等。所述实例仅用于解释该优选的技术方案,并不用于限定本实施例。
需要说明的是,基于本实施例的技术方案也可以实现限制进程Z的总上行流速,限制进程Z的总上行流速的操作与限制进程Z的总下行流速的操作类似,此处不再赘述。
本实施例的技术方案,可以通过一次操作即达到限速目的,处理更为匀速。
实施例五
本实施例在实施例二的基础上,将如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接的操作,进一步优化为如果进程的总流速达到限速阈值,根据所述连接的属性特征确定所述待限速连接。
示例性地,仍以表1为例进行说明。假设用户设置的下行限速阈值为50KB/S,即限制进程Z总下行流速的最大值为50KB/S。当前时刻,由于进程Z的总下行流速超过下行限速阈值,则需要根据所述连接的属性特征确定所述待限速连接。连接的属性特征至少可包括源IP、源端口、目的IP和目的端口等。例如,可获知目的IP和目的端口对应的为非实时业务,所以可根据目的IP和目的端口将对应的连接确定为所述待限速连接。
需要说明的是,基于本实施例的技术方案也可以实现限制进程Z的总上行流速,限制进程Z的总上行流速的操作与限制进程Z的总下行流速的操作类似,此处不再赘述。
本实施例的技术方案,通过连接的属性特征确定待限速连接,可考虑各连接的优先权和重要性等因素,例如实时性业务与非实时业务对应的连接,可优先停止非实时业务的连接。此技术方案能够进一步减小对进行正常运行的影响。
实施例六
请参阅图4,为本发明实施例六提供的一种网络流量限速方法的流程图。本实施例在实施例一的基础上,进一步优化了如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流的操作。如图4所示,所述基于预设策略以连接为单位进行限流方法可以包括:
410、判断进程的总流速是否达到限速阈值,若是,计算所述进程的总流速与所述限速阈值之间的差值,若否,则进入下一时刻,返回执行410;
420、根据预设仲裁策略确定一个连接作为待限速连接;
在本操作中,所述根据预设仲裁策略确定一个连接作为待限速连接可以具体为:确定实时流速最大的连接,作为所述待限速连接。本操作还可以通过其他预设仲裁策略实施,例如根据所述连接的属性特征确定所述待限速连接,对此,本发明不进行限定。
430、根据所述差值对所述待限速连接进行限流;
在本操作中,优选地,所述根据所述差值对所述待限速连接进行限流,可以包括:
431、当确定实时流速最大的连接作为所述待限速连接时,判断所述待限速连接所对应的实时流速是否小于所述差值,若小于所述差值,执行432;若大于所述差值,执行433;
432、将所述待限速连接所对应的实时流速限定为0KB/S;
433、将所述待限速连接所对应的实时流速限定为该实时流速与所述差值的差值。
440、更新所述进程的总流速,并返回410中所述判断进程的总流速是否达到限速阈值的操作。
本实施例的技术方案,在每个时刻的流速判断以及限流操作中,仅确定一个连接为待限速连接,可以减小进程总流速的波动,使总流速逐渐趋近于限速阈值。
实施例七
本实施例在实施例二的基础上,进一步优化了根据所述进程的限速目标对所述待限速连接进行限流的操作,所述根据所述进程的限速目标对所述待限速连接进行限流方法可以包括:
根据所述限速目标对待限速连接对应流向的逆向数据包进行延迟或丢弃,以进行限流。
也就是说,当需要对所述待限速连接的上行流速进行限制以满足所述限速目标时,可以对待限速连接的下行数据包进行延迟或丢弃,以进行限流。相应地,当需要对所述待限速连接的下行流速进行限制以满足所述限速目标时,可以对待限速连接的上行数据包进行延迟或丢弃,以进行限流。
对数据包的延迟操作,可以是按照设定时长延迟发送,也可以是在物理层网卡接收到数据包后,延迟向上层应用层传输。
本实施例的技术方案,是基于网络协议的拥塞控制特征来实现的。
按照网络协议,请求数据包与逆向的应答数据包一般是对称的,必须有交互才可进行后续数据包的发送。即通常需要获取逆向的应答数据包才能够继续进行本端数据包的发送,所以,延迟或丢弃逆向应答数据包时,实际上可以达到抑制对应流向的数据包的传输,达到限流的目的。
此外,现有技术对接收数据包的丢弃,是通过物理层网卡接收到数据包后进行丢弃,不向上层传输,由此减小上层处理的数据包流量。但网络中为传输此数据包所消耗的计算资源已经产生,网卡也实际上完成了接收操作。因此,现有技术实际上降低网络流速的能力有限,也浪费了网络传输的计算资源。
而本发明技术方案的优点在于,不仅抑制了网元应用层实际接收的数据包,还由于抑制了对端数据包的发送而实际上减少了物理层网卡接收的数据包,也抑制了数据包在网络中的传输,因此,能够使实际网络传输流量减少,既节省了网络传输的计算资源,也使得实际流速更加准确的接近于限速阈值。
实施例八
本实施例在实施例二的基础上,进一步优化了根据所述进程的限速目标对所述待限速连接进行限流的操作。所述根据所述进程的限速目标对所述待限速连接进行限流方法可以包括:
根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量。
作为本操作的一个优选的实施方式,所述根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量可以包括:
如果所述待限速连接为TCP连接,根据所述限速目标调整本端收发数据包的TCP窗口值,并将调整后的TCP窗口值通知对端网元来减少下行数据包,以限制本端的下行流量。
需要说明的是,TCP协议非常善于解决流量控制问题,因此非常适应于许多应用程序。TCP窗口值实现流速控制的含义为在收到对端网元发送的数据的确认信息前,本端可以发送多少数据。数据包接收方就是控制TCP窗口值的那一方。如果数据包接收方将TCP窗口值设为“0”,那么,数据包发送方不能发送任何数据。因此,根据所述限速目标调整本端收发数据包的TCP窗口值,并将调整后的TCP窗口值通知对端网元来减少下行数据包,以限制本端的下行流量。
数据包发送方通过调整本端的TCP窗口值,也可限制本端的数据包发送量,达到上行限速目的。
实施例九
图5为本发明实施例九提供的一种网络流量限速装置的结构示意图,该装置包括:流速监测模块510和连接限速模块520。
其中,流速监测模块510用于对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;连接限速模块520用于如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
本实施例的技术方案,通过统计进程中每个连接的实时流速,能够监测进程和各连接的流速,并且当进程的总流速达到限速阈值时,以连接为单位进行限流,对于有些程序可停止或减缓其处理过程,而有些程序则可以正常运行,不必由于随机性丢包而对所有程序都构成影响,因此能够减小对程序的影响,也使得传输后数据包有效利用率提高,从而提高了网络传输效率
在上述方案中,流速监测模块510包括:连接确定单元511和流速监测单元512。
其中,连接确定单元511用于对归属于所述进程的数据包,根据所述数据包的属性特征确定数据包所属连接,其中,所述属性特征包括源IP、源端口、目的IP和目的端口中的至少一个;流速监测单元512用于根据所述数据包的负载大小,以连接为单位进行流量统计,以监测连接的实时流速。
在上述方案中,连接限速模块520包括:待限速连接确定单元521和待限速连接限速单元522。
其中,待限速连接确定单元521用于如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接;待限速连接限速单元522用于根据所述进程的限速目标对所述待限速连接进行限流。
其中,实现待限速连接的方式有多种,待限速连接确定单元521包括:最大流速确定子单元521a、流速之和确定子单元521b和/或属性特征确定子单元521c。
其中,最大流速确定子单元521a用于如果进程的总流速达到限速阈值,确定实时流速最大的连接,作为所述待限速连接;流速之和确定子单元521b用于如果进程的总流速达到限速阈值,确定实时流速之和满足所述限速目标的至少一个连接作为所述待限速连接;属性特征确定子单元521c用于如果进程的总流速达到限速阈值,根据所述连接的属性特征确定所述待限速连接。
待限速连接限速单元522优选包括:逆向数据包处理子单元522a和/或对端网元通知子单元522b。其中,逆向数据包处理子单元522a用于根据所述限速目标对待限速连接对应流向的逆向数据包进行延迟或丢弃,以进行限流。对端网元通知子单元522b,用于根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量。
其中,对端网元通知子单元522b具体可用于如果所述待限速连接为TCP连接,根据所述限速目标调整本端收发数据包的TCP窗口值,并将调整后的TCP窗口值通知对端网元来减少下行数据包,以限制本端的下行流量。
实施例十
图6为本发明实施例十提供的网络流量限速装置的结构示意图,本实施例中,该装置包括流速监测模块610和连接限速模块620。并且,连接限速模块620优选包括:差值计算单元621、一个连接确定单元622、差值确定单元623和流速更新单元624。
其中,差值计算单元621用于判断进程的总流速是否达到限速阈值,若是,计算所述进程的总流速与所述限速阈值之间的差值;一个连接确定单元622,用于根据预设仲裁策略确定一个连接作为待限速连接;差值确定单元623,用于根据所述差值对所述待限速连接进行限流;流速更新单元624,用于更新所述进程的总流速,并返回所述判断进程的总流速是否达到限速阈值的操作。
本发明实施例提供的网络流量限速装置可执行本发明任意实施例所提供的网络流量限速方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种网络流量限速方法,其特征在于,包括:
对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;
如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流;
其中,如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流包括:如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接;根据所述进程的限速目标对所述待限速连接进行限流;
其中,如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接包括:如果进程的总流速达到限速阈值,确定实时流速最大的连接,作为所述待限速连接;或者如果进程的总流速达到限速阈值,确定实时流速之和满足所述限速目标的至少一个连接作为所述待限速连接;或者如果进程的总流速达到限速阈值,根据所述连接的属性特征确定所述待限速连接。
2.根据权利要求1所述的方法,其特征在于,对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速包括:
对归属于所述进程的数据包,根据所述数据包的属性特征确定数据包所属连接,其中,所述属性特征包括源IP、源端口、目的IP和目的端口中的至少一个;
根据所述数据包的负载大小,以连接为单位进行流量统计,以监测连接的实时流速。
3.根据权利要求1所述的方法,其特征在于,根据所述进程的限速目标对所述待限速连接进行限流包括:
根据所述限速目标对待限速连接对应流向的逆向数据包进行延迟或丢弃,以进行限流。
4.根据权利要求1所述的方法,其特征在于,根据所述进程的限速目标对所述待限速连接进行限流包括:
根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量。
5.根据权利要求4所述的方法,其特征在于,根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量包括:
如果所述待限速连接为TCP连接,根据所述限速目标调整本端收发数据包的TCP窗口值,并将调整后的TCP窗口值通知对端网元来减少下行数据包,以限制本端的下行流量。
6.根据权利要求1所述的方法,其特征在于,如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流包括:
判断进程的总流速是否达到限速阈值,若是,计算所述进程的总流速与所述限速阈值之间的差值;
根据预设仲裁策略确定一个连接作为待限速连接;
根据所述差值对所述待限速连接进行限流;
更新所述进程的总流速,并返回所述判断进程的总流速是否达到限速阈值的操作。
7.一种网络流量限速装置,其特征在于,包括:
流速监测模块,用于对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;
连接限速模块,用于如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流;
其中,所述连接限速模块包括:
待限速连接确定单元,用于如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接;
待限速连接限速单元,用于根据所述进程的限速目标对所述待限速连接进行限流;
其中,待限速连接确定单元包括:
最大流速确定子单元,用于如果进程的总流速达到限速阈值,确定实时流速最大的连接,作为所述待限速连接;或者
流速之和确定子单元,用于如果进程的总流速达到限速阈值,确定实时流速之和满足所述限速目标的至少一个连接作为所述待限速连接;或者
属性特征确定子单元,用于如果进程的总流速达到限速阈值,根据所述连接的属性特征确定所述待限速连接。
8.根据权利要求7所述的装置,其特征在于,流速监测模块包括:
连接确定单元,用于对归属于所述进程的数据包,根据所述数据包的属性特征确定数据包所属连接,其中,所述属性特征包括源IP、源端口、目的IP和目的端口中的至少一个;
流速监测单元,用于根据所述数据包的负载大小,以连接为单位进行流量统计,以监测连接的实时流速。
9.根据权利要求7所述的装置,其特征在于,待限速连接限速单元包括:
逆向数据包处理子单元,用于根据所述限速目标对待限速连接对应流向的逆向数据包进行延迟或丢弃,以进行限流。
10.根据权利要求7所述的装置,其特征在于,待限速连接限速单元包括:
对端网元通知子单元,用于根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量。
11.根据权利要求10所述的装置,其特征在于,对端网元通知子单元具体用于如果所述待限速连接为TCP连接,根据所述限速目标调整本端收发数据包的TCP窗口值,并将调整后的TCP窗口值通知对端网元来减少下行数据包,以限制本端的下行流量。
12.根据权利要求7所述的装置,其特征在于,连接限速模块包括:
差值计算单元,用于判断进程的总流速是否达到限速阈值,若是,计算所述进程的总流速与所述限速阈值之间的差值;
一个连接确定单元,用于根据预设仲裁策略确定一个连接作为待限速连接;
差值确定单元,用于根据所述差值对所述待限速连接进行限流;
流速更新单元,用于更新所述进程的总流速,并返回所述判断进程的总流速是否达到限速阈值的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410114182.5A CN103873381B (zh) | 2014-03-25 | 2014-03-25 | 网络流量限速方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410114182.5A CN103873381B (zh) | 2014-03-25 | 2014-03-25 | 网络流量限速方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873381A CN103873381A (zh) | 2014-06-18 |
CN103873381B true CN103873381B (zh) | 2017-12-19 |
Family
ID=50911518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410114182.5A Active CN103873381B (zh) | 2014-03-25 | 2014-03-25 | 网络流量限速方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103873381B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348748B (zh) * | 2014-06-20 | 2018-07-13 | 珠海市君天电子科技有限公司 | 一种限制网速的方法及系统 |
CN106341335A (zh) * | 2016-08-23 | 2017-01-18 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的流量控制方法及流量控制系统 |
CN106230741A (zh) * | 2016-09-18 | 2016-12-14 | 杭州迪普科技有限公司 | 一种对报文进行限速的方法和装置 |
CN108243271A (zh) * | 2016-12-23 | 2018-07-03 | 北京安云世纪科技有限公司 | 一种进行流量控制的方法、装置以及移动设备 |
CN109257304A (zh) * | 2017-07-12 | 2019-01-22 | 中兴通讯股份有限公司 | 一种带宽调整方法、装置、存储介质和网络设备 |
CN109547277A (zh) * | 2017-09-21 | 2019-03-29 | 顺丰科技有限公司 | 数据传输的限速方法、系统、设备、计算机可读存储介质 |
CN107896198B (zh) * | 2017-11-28 | 2020-09-08 | 杭州迪普科技股份有限公司 | 一种基于流分类的丢弃报文信息显示方法及装置 |
CN109871260B (zh) * | 2019-02-22 | 2021-10-01 | 今天东翼科技有限公司 | 一种基于容器间共享内存的多维度服务限流方法及系统 |
CN110311952B (zh) * | 2019-05-23 | 2022-05-20 | 网宿科技股份有限公司 | 一种http限速方法和装置 |
CN110213137A (zh) * | 2019-06-28 | 2019-09-06 | 北京威努特技术有限公司 | 一种网络设备的传输限速检测方法、装置及电子设备 |
CN110572851A (zh) * | 2019-09-27 | 2019-12-13 | 深圳市信锐网科技术有限公司 | 一种数据上传方法、系统、装置及计算机可读存储介质 |
CN113242245A (zh) * | 2021-05-12 | 2021-08-10 | 上海绚显科技有限公司 | 一种tcp消息限流方法、装置、服务器及存储介质 |
CN113596050B (zh) * | 2021-08-04 | 2023-06-30 | 四川英得赛克科技有限公司 | 异常流量的分离过滤方法、系统、存储介质及电子设备 |
CN117201195B (zh) * | 2023-11-06 | 2024-01-26 | 联通(广东)产业互联网有限公司 | 进程网络策略限制方法及装置、设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917349A (zh) * | 2010-09-08 | 2010-12-15 | 北京网康科技有限公司 | 一种网络流量控制系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350764B (zh) * | 2007-07-20 | 2011-03-16 | 中国科学院声学研究所 | 一种网络流量控制方法 |
US7916659B2 (en) * | 2007-10-16 | 2011-03-29 | Siemens Corporation | System and method for distributed cross-leyer congestion control for real-time video over wireless LAN |
CN101431473B (zh) * | 2008-12-31 | 2011-05-04 | 深圳市迅雷网络技术有限公司 | 一种实现网络限速的方法及装置 |
CN101662396B (zh) * | 2009-09-18 | 2011-09-21 | 中兴通讯股份有限公司 | 一种控制实时传输协议复用的方法和媒体网关 |
CN101964732B (zh) * | 2010-09-02 | 2012-08-15 | 海信集团有限公司 | 计算丢包率的方法及装置、控制网络传输的方法及装置 |
-
2014
- 2014-03-25 CN CN201410114182.5A patent/CN103873381B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917349A (zh) * | 2010-09-08 | 2010-12-15 | 北京网康科技有限公司 | 一种网络流量控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103873381A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103873381B (zh) | 网络流量限速方法和装置 | |
Pokhrel et al. | Improving TCP performance over WiFi for internet of vehicles: A federated learning approach | |
CN102098301B (zh) | 多链路自适应的数据传输方法与系统 | |
CN1327677C (zh) | 基于ecn且带预测验证的拥塞控制方法 | |
TWI487389B (zh) | 避免網路壅塞的方法及其裝置 | |
Zhang et al. | Sharing bandwidth by allocating switch buffer in data center networks | |
CN104639627B (zh) | 一种用于车联网的信息发送方法及相应的车载装置和车辆 | |
CN103823780A (zh) | 一种实时现场总线控制调度方法 | |
CN106100955B (zh) | 工业互联网现场层宽带总线数据深度检测实现方法 | |
CN105162628A (zh) | 快速确定网络合理告警阈值的系统和方法 | |
CN105323099A (zh) | 业务网络流量建模方法、网络资源调度方法及网元 | |
CN101795228A (zh) | 一种用户带宽调整方法和设备 | |
CN103368870A (zh) | 集群存储网络并行负载的控制方法及系统 | |
Dang et al. | Spray and forward: Efficient routing based on the Markov location prediction model for DTNs | |
CN113676423A (zh) | 一种端口流量控制方法、装置、交换芯片和存储介质 | |
Sharshembiev et al. | Fail-Safe mechanism using entropy based misbehavior classification and detection in vehicular Ad Hoc networks | |
CN103825812A (zh) | 一种网络限速装置及方法 | |
CN103326916A (zh) | 智能变电站自动划分并优化vlan的系统及方法 | |
CN107005538A (zh) | 数据传输的方法、装置和系统 | |
CN104954477A (zh) | 一种基于并发改进的大规模图数据流式划分方法及系统 | |
HRP20200343T1 (hr) | Mrežni komunikacijski uređaj za komunikaciju putem komunikacijske mreže | |
CN104243319A (zh) | 一种邻居发现的方法及装置 | |
CN103595552A (zh) | 集群存储网络并行负载的分析方法及系统 | |
CN102625478A (zh) | 无线网状Mesh链路聚合方法和MP | |
Sharma et al. | Performance analysis of TCP connections with RED control and exogenous traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190809 Address after: 100085 Beijing, Haidian District, No. ten on the ground floor, No. 10 Baidu building, layer 2 Patentee after: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. Address before: 100091 Beijing, Haidian District, northeast Wang West Road, No. 4, Zhongguancun Software Park, building C, block, 1-03 Patentee before: Pacify a Heng Tong (Beijing) Science and Technology Ltd. |