CN104038442A - 一种带宽分配的方法及路由器 - Google Patents

一种带宽分配的方法及路由器 Download PDF

Info

Publication number
CN104038442A
CN104038442A CN201410258042.5A CN201410258042A CN104038442A CN 104038442 A CN104038442 A CN 104038442A CN 201410258042 A CN201410258042 A CN 201410258042A CN 104038442 A CN104038442 A CN 104038442A
Authority
CN
China
Prior art keywords
bandwidth
priority service
current
priority
network
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.)
Granted
Application number
CN201410258042.5A
Other languages
English (en)
Other versions
CN104038442B (zh
Inventor
欧阳雄奕
李少章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TP Link Technologies Co Ltd
Original Assignee
TP Link Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TP Link Technologies Co Ltd filed Critical TP Link Technologies Co Ltd
Priority to CN201410258042.5A priority Critical patent/CN104038442B/zh
Publication of CN104038442A publication Critical patent/CN104038442A/zh
Application granted granted Critical
Publication of CN104038442B publication Critical patent/CN104038442B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明适用于通信领域,提供了一种带宽分配的方法及路由器。所述方法包括:结合流特征数据库,识别每条数据流所属的网络应用,所述流特征数据库包括流特征和网络应用的对应关系;监测当前网络总带宽和各个优先级业务的当前使用带宽,所述优先级业务是指数据流按照所属的网络应用的特点所划分的不同的优先级业务,每个优先级业务包括一条或多条数据流;根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽。在本发明中,由于根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽,因此能进行智能、合理地调节带宽,终端用户的上网体验较佳。

Description

一种带宽分配的方法及路由器
技术领域
本发明属于通信领域,尤其涉及一种带宽分配的方法及路由器。
背景技术
路由器是自身具有接入互联网的功能且能为终端提供接入功能的设备。终端是用户用来接入到路由器从而接入互联网的设备,包括智能手机、PC等。
传统的家用宽带网络,基本都存在上下行带宽不对等的问题,例如12MB/s的下行带宽只有512KB/s的上行带宽。而另一方面,目前有不少终端应用程序是基于对等计算(Peer to Peer,P2P)的网络实现,即它不仅下载数据,还向其他终端应用分享已下载的数据。在这样的条件下,上行带宽往往会更早被占满,此时终端应用发送的请求则有可能被丢弃,从而导致下行带宽无法被充分利用。
综上所述,现有技术的带宽分配不能进行智能、合理地调节,导致终端用户的上网体验较差。
发明内容
本发明的目的在于提供一种带宽分配的方法及路由器,旨在解决现有技术的带宽分配不能进行智能、合理地调节,导致终端用户的上网体验较差的问题。
第一方面,本发明提供了一种带宽分配的方法,所述方法包括:
结合流特征数据库,识别每条数据流所属的网络应用,所述流特征数据库包括流特征和网络应用的对应关系;
监测当前网络总带宽和各个优先级业务的当前使用带宽,所述优先级业务是指数据流按照所属的网络应用的特点所划分的不同的优先级业务,每个优先级业务包括一条或多条数据流;
根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽。
第二方面,本发明提供了一种路由器,所述路由器包括:
识别模块,用于结合流特征数据库,识别每条数据流所属的网络应用,所述流特征数据库包括流特征和网络应用的对应关系;
监测模块,用于监测当前网络总带宽和各个优先级业务的当前使用带宽,所述优先级业务是指数据流按照所属的网络应用的特点所划分的不同的优先级业务,每个优先级业务包括一条或多条数据流;
调节模块,用于根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽。
在本发明中,由于根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽,因此能进行智能、合理地调节带宽,终端用户的上网体验较佳。
附图说明
图1是本发明实施例一提供的带宽分配的方法流程图。
图2是本发明实施例一提供的带宽分配的方法中对下行带宽进行分配的示意图。
图3是本发明实施例一提供的带宽分配的方法中根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的下行带宽的示意图。
图4是本发明实施例二提供的路由器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
请参阅图1,本发明实施例一提供的带宽分配的方法包括以下步骤:
S101、结合流特征数据库,识别每条数据流所属的网络应用。
网络应用通常使用传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)协议的数据报文进行通信,而这类数据报文都必须包含一个五元组(五元组包括协议类型、源IP地址、目的IP地址、源端口号和目的端口号),包含相同五元组的数据报文则被视为一条数据流。其中,源IP地址和目的IP地址调换的两个五元组也视为相同五元组。
在本发明实施例一中,识别每条数据流所属的网络应用具体为识别每条数据流属于哪个网络应用(例如某个网络游戏、优酷视频等)或者属于哪类网络应用(例如游戏类、视频类、下载类)。
流特征数据库是通过大量分析收集的流特征,包括流特征和网络应用的对应关系。
在本发明实施例一中,S101具体包括以下步骤中的一个或任意组合:
检测是否通过路由的通用即插即用(Universal Plug and Play,upnp)功能进行端口映射,以识别数据流所属的网络应用是否为P2P应用;原理如下:由于有些P2P应用依赖路由的upnp功能进行端口映射,所以通过检测是否通过路由的upnp功能进行端口映射,可以识别数据流所属的网络应用是否为P2P应用;
检测传输层端口是否对应了多条连接,以识别所述传输层端口对应的数据流所属的网络应用是否为P2P应用;原理如下:由于P2P应用往往会创建大量的连接以实现对带宽的利用,因此当某个传输层端口对应了多条连接时,则该端口对应的数据流就极有可能是P2P应用的数据流;
检测目的主机的域名,并结合域名系统(Domain Name System,DNS)数据流中的域名和IP地址的对应关系以及流特征数据库中的域名与网络应用的对应关系,识别所述目的主机的IP地址对应的数据流所属的网络应用;原理如下:由于终端访问目的主机往往使用域名,而正常访问到目的主机之前,需要通过DNS进行域名解析将目的主机的域名解析为IP地址,因此通过DNS数据流中的域名和IP地址的对应关系,并结合流特征数据库中的域名与网络应用的对应关系,则可识别所述目的主机的IP地址对应的数据流所属的网络应用;
通过深度包检测(Deep Packet Inspection,DPI),对数据流中的数据报文内容进行探测,从而识别数据流所属的网络应用;
通过深度流检测(Deep Flow Inspection,DFI)对流量行为进行检测,从而识别数据流所属的网络应用;原理如下:由于不同的网络应用类型体现在会话连接或数据流上的状态不同,因此结合流特征数据库,可以识别数据流所属的网络应用。
由于以上的有些步骤不能完全独立识别数据流,一些情况下各个步骤会相互协作,以达到更高的识别率。
S102、监测当前网络总带宽和各个优先级业务的当前使用带宽。
在本发明实施例一中,所述优先级业务是指数据流按照所属的网络应用的特点所划分的不同的优先级业务,每个优先级业务包括一条或多条数据流。
在本发明实施例一中,所述监测当前网络总带宽具体为:
通过定时统计当前使用带宽来更新当前网络总带宽值,统计时间间隔为第一时间间隔T1,重新预测可用带宽时间间隔为第二时间间隔T2,T2远远大于T1,每隔T1记录当前使用带宽,将预定次数(例如前10次左右)记录的“当前使用带宽”进行比较,挑选最大值作为总带宽值,并遵循快升慢降原则,即带宽由A值升到B值时,B值会立即传下去,而由A值降到C值时,C值并不会立即生效。
在本发明实施例一中,所述监测各个优先级业务的当前使用带宽具体包括以下步骤:
监测每条数据流的使用带宽;
计算各个优先级业务所包含的数据流的使用带宽总和作为各个优先级业务的当前使用带宽。
S103、根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽。
请参阅图2,将当前网络总带宽BW平均分成N份带宽,其中N为大于1的整数,每份带宽值为BW/N。将数据流划分成四种优先级业务(分别为高优先级业务HIGH、中优先级业务MEDIUM、普通优先级业务NORMAL、低优先级业务LOW),每种优先级业务各自持有自己能保障的带宽份额,且每份带宽均会标记出拥有权归哪个优先级业务。
图2中数学符号定义如下:
L1——HIGH,L2——MEDIUM,L3——NORMAL,L4——LOW。
O1——代表L1优先级拥有的保障带宽份额(如60%总带宽)
O2——代表L2优先级拥有的保障带宽份额(如30%总带宽)
O3——代表L3优先级拥有的保障带宽份额(如10%总带宽)
O4——代表L4优先级拥有的保障带宽份额(如0%总带宽),主要将基于P2P的业务流全部划分到L4。对L4业务无任何保障行为,L4业务的带宽主要通过临时借用其他业务的带宽份额。
U1——代表L1优先级正在使用的带宽份额,以此类推,U2、U3、U4分为L2、L3、L4正在使用的带宽份额。
T1——代表L1优先级单位时间内能使用的令牌数,以此类推,T2、T3、T4分为L2、L3、L4单位时间内能使用的令牌数。Ti限制着Ui的最大值。
现有技术的家用宽带网络,是无法从根本上实现下行带宽限速的,因为无法决定从互联网服务提供商(Internet Service Provider,ISP)传来的业务流按怎样的比例进行传输,一般的下行带宽限速通过对特定业务流数据包的积压和丢包,试图利用TCP拥塞控制等机制来促使上行速率降低,但这样的做法对于P2P业务效果不好。
因此,本发明实施例一通过两种手段的结合来更好地处理带宽分配:
下行令牌桶限速:基于令牌桶过滤器(TokenBucketFilter,TBF),每个优先级业务下行带宽通过自己的Ti来进行适当限速。当网络处于拥塞状态时,通过Ti来控制L1~L3,使其Ui≤Oi(i=1、2、3),L4下行带宽借用可用的剩余可用的令牌,而限速则需通过上行带宽限速来实现;当网络不处在拥塞状态时,所有优先级业务都可以借用空闲带宽份额;
上行带宽限速:当网络处于拥塞状态时,L4的上行带宽会根据算法进行几个等级强度的限制。
在本发明实施例一中,根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的下行带宽具体包括以下步骤:
每隔第三时间间隔ta,Li尝试从借用了Li的带宽值的其他优先级业务夺回一份保障的带宽;每隔第四时间间隔tb,Li释放一份不使用的带宽到空闲带宽池;每隔第五时间间隔tc,Li尝试向其他优先级业务借用一份带宽值来满足当前的需要。(ta≠tb≠tc)。
具体为:
当Li当前使用的带宽份额Ui大于其自身保障能拥有的带宽份额Oi时,而此时优先级Lk(k≠i)开始提高流量,夺回属于自己的那份带宽(被其他Li借用的带宽)。如图3,L2几乎将所有的带宽片都使用了,而L1有需要时则会首先从L2中夺回自己的那份带宽。同样,虽然L3优先级比L2优先级低,仍然可以从L2手中夺回保障给自己的那份带宽。L2会归还借用带宽片给需要使用的优先级业务Li(i=1、3);
当Li在t2时刻使用的带宽份额Ui,相比t1时刻使用的带宽份额Ui要少时(t2>t1),则Li会往空闲带宽池放回带宽份额;
当Li在t1正在使用的带宽片数Ui达到了保障带宽份额时Oi,而在t2时刻,所需使用的带宽比t1时要高(Ui>Oi),此时尝试从空闲带宽池中去拿份带宽。
在本发明实施例一中,下行对上行优先级业务L4针对性限速触发条件,计算公式如下:
B=W÷N
T=R4+(N-U4-Ufree)×B
其中,W—下行总带宽值(kbps)、T—触发带宽值(kbps)、N—带宽总份额、U4—L4所使用的带宽份额、Ufree—空闲的带宽份额、B—每份带宽值(kbps)、R4—L4实际速率(kbps);当T≥W时,表示网络已经发生拥塞,且对于L4业务流难以进行带宽控制,故需要触发上行对L4业务进行相关限速丢包操作,从而来保障其他较高优先级业务Li(i=1、2)的时延。
在本发明实施例一中,根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽具体包括以下步骤:
根据下行的需要对低优先级业务的上行带宽进行限速,并预留上行带宽。
在本发明实施例一中,对L4上行限速的程度取决于L4当前上行使用的带宽值,以此值作为基准对L4执行相关限速措施。
对低优先级业务的上行带宽进行限速具体为:
L4第一阶段限速后的带宽值TB1=(Bc÷Tc)-(Bc÷Tc)÷2Fs
L4第二阶段限制带宽,重复执行TBi+1=TBi÷2(i=1、2、3……N),直到TBi+1<Wth值为止,或者L4下行不需要上行继续限速为止。
L4在第二阶段获得的上行带宽值无法满足下行要求,则在第三阶段就行限速,且重复执行TBi=TBi–Dmin(i是第二阶段中获得的值),直到TBi为Bmin为止,或者L4下行不需要上行继续限速为止。
当下行不需要上行继续辅助限速时,上行会有一个回升过程,且该回升过程较为简单。
若上行只有L4数据流,则回升速度相对较快,每次回升带宽值后,所得的上行带宽值为TB=TB+Umax,若上行有高优先级业务流在传输,则回升速度会相对缓慢,所得的限速带宽值TB=TB+Umin。
上行带宽控制能力,就是徘徊在下降和上行带宽值之间,是L4针对性限速主要特点。
其中,Fs是指初始带宽设置因子、Wth是指带宽分水岭值、Dmin是指下降最小带宽值、Umin是指回升最小带宽值、Umax是指回升最大带宽值、Tc是指限制检测时间间隔(ms)、Bc是指时间Tc内传输的字节数(byte)、Bmin是指最小上行带宽值、TBi是指第i次进行带宽限速后的值(kbps)。
在本发明实施例一中,由于L4某些应用如P2P,有上传数据的能力,此时可能会将有限的上行带宽给占满,而又由于上行是听从于下行的命令来执行针对性限速。若下行L4流量很小触发不了上行进行限速的条件,上行又被P2P给占满,对于高优先级业务是很难跟P2P竞争,难以传输出去,故对高优先级业务难以起到一定优先效果。这时就需要预留上行带宽来使其起到一定作用。
上行带宽预留并不是一直为高优先级业务预留,而是高优先业务有需要时,才会进行相关预留操作。
预留上行带宽具体步骤如下:
无论下行情况如何,只要有L1、L2业务在上行传输,L3、L4会进行部分带宽预留,预留方式如下:
L3预留部分带宽后,上行带宽值=W-(W÷2Sf+1)
L4预留部分带宽后,上行带宽值=W-(W÷2Sf)
若上行无L1或L2业务,则上行不会进行任何带宽预留,L3、L4可以使用所有上行带宽。
其中,W是指上行总带宽(kbps)、Sf是指预留因子。
另外,由于网络游戏数目众多,数据流的特征各异,所以结合流特征数据库,往往不能保证准确识别大多数网络游戏。本方案中未识别的数据流均被划分到低优先级的业务,然而网络游戏对响应延迟要求高,一旦未被识别,则可能由于被划分到低优先级业务而无法获得更好的延迟保障。
为了尽可能让网络游戏获得更好的使用体验,在本发明实施例一中,S101具体还包括以下步骤:
结合包括了游戏特征库的流特征数据库,识别游戏流;或者,
对包均长小于预定字节的数据包进行判定,识别游戏流。
根据测试发现,目前的大多数网络游戏为保证响应及时,一般数据流的特征都是包数量较多,但平均包长度较小的“小包”,特别在上行方向符合此特征。
所述对包均长小于预定字节的数据包进行判定,识别游戏流具体为:
定期检测包均长小于预定字节的数据包,且进行多个检测周期的反复确认,以识别游戏流。
所述包均长小于预定字节的数据包是指一个检测周期,例如10s内上行下行至少一共发送预定数量,例如100个数据包,包均长小于预定字节,例如75个字节的数据包;由于游戏载入等一些特殊情况,游戏数据流不符合小包的特点,所以需要进行多次检测;由于某些非游戏的应用在某些特定场景下也符合小包的特征,所以需要进行多个检测周期的反复确认。
在本发明实施例一中,由于根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽,因此能进行智能、合理地调节带宽,终端用户的上网体验较佳。另外,由于通过定时统计当前使用带宽来更新当前网络总带宽值,统计时间间隔为第一时间间隔T1,重新预测可用带宽时间间隔为第二时间间隔T2,T2远远大于T1,每隔T1记录当前使用带宽,将预定次数(例如前10次左右)记录的“当前使用带宽”进行比较,挑选最大值作为总带宽值,因此能自动检测总带宽,而无需用户填写;另外,由于结合包括了游戏特征库的流特征数据库,识别游戏流;或者,对包均长小于预定字节的数据包进行判定,识别游戏流,因此能更准确地识别游戏流;再者,由于每隔第三时间间隔ta,Li尝试从借用了Li的带宽值的其他优先级业务夺回一份保障的带宽;每隔第四时间间隔tb,Li释放一份不使用的带宽到空闲带宽池;每隔第五时间间隔tc,Li尝试向其他优先级业务借用一份带宽值来满足当前的需要。因此能智能调节带宽,对于网络游戏加速至关重要。
实施例二:
请参阅图4,本发明实施例二提供的路由器包括:识别模块11、监测模块12和调节模块,其中,
识别模块11,用于结合流特征数据库,识别每条数据流所属的网络应用,所述流特征数据库包括流特征和网络应用的对应关系;
网络应用通常使用TCP和UDP协议的数据报文进行通信,而这类数据报文都必须包含一个五元组(五元组包括协议类型、源IP地址、目的IP地址、源端口号和目的端口号),包含相同五元组的数据报文则被视为一条数据流。其中,源IP地址和目的IP地址调换的两个五元组也视为相同五元组。
在本发明实施例二中,识别每条数据流所属的网络应用具体为识别每条数据流属于哪个网络应用(例如某个网络游戏、优酷视频等)或者属于哪类网络应用(例如游戏类、视频类、下载类)。
监测模块12,用于监测当前网络总带宽和各个优先级业务的当前使用带宽,所述优先级业务是指数据流按照所属的网络应用的特点所划分的不同的优先级业务,每个优先级业务包括一条或多条数据流;
调节模块13,用于根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽。
在本发明实施例二中,所述识别模块具体可以包括以下模块中的一个或任意组合:
第一识别模块,用于检测是否通过路由的通用即插即用upnp功能进行端口映射,以识别数据流所属的网络应用是否为P2P应用;
第二识别模块,用于检测传输层端口是否对应了多条连接,以识别所述传输层端口对应的数据流所属的网络应用是否为P2P应用;
第三识别模块,用于检测目的主机的域名,并结合域名系统DNS数据流中的域名和IP地址的对应关系以及流特征数据库中的域名与网络应用的对应关系,识别所述目的主机的IP地址对应的数据流所属的网络应用;
第四识别模块,用于通过深度包检测DPI,对数据流中的数据报文内容进行探测,从而识别数据流所属的网络应用;
第五识别模块,用于通过深度流检测DFI对流量行为进行检测,从而识别数据流所属的网络应用;
第六识别模块,用于结合包括了游戏特征库的流特征数据库,识别游戏流;
第七识别模块,用于对包均长小于预定字节的数据包进行判定,识别游戏流。
在本发明实施例二中,所述监测模块用于监测当前网络总带宽时,具体可以包括:
统计模块,用于通过定时统计当前使用带宽来更新当前网络总带宽值,统计时间间隔为第一时间间隔T1,重新预测可用带宽时间间隔为第二时间间隔T2,T2远远大于T1;
记录模块,用于每隔T1记录当前使用带宽;
比较模块,用于将预定次数记录的当前使用带宽进行比较,挑选最大值作为总带宽值。
在本发明实施例二中,所述监测模块用于监测各个优先级业务的当前使用带宽时,具体可以包括:
第一监测模块,用于监测每条数据流的使用带宽;
计算模块,用于计算各个优先级业务所包含的数据流的使用带宽总和作为各个优先级业务的当前使用带宽。
请结合图2,将当前网络总带宽BW平均分成N份带宽,其中N为大于1的整数,每份带宽值为BW/N。将数据流划分成四种优先级业务(分别为高优先级业务HIGH、中优先级业务MEDIUM、普通优先级业务NORMAL、低优先级业务LOW),每种优先级业务各自持有自己能保障的带宽份额,且每份带宽均会标记出拥有权归哪个优先级业务。
现有技术的家用宽带网络,是无法从根本上实现下行带宽限速的,因为无法决定从互联网服务提供商(Internet Service Provider,ISP)传来的业务流按怎样的比例进行传输,一般的下行带宽限速通过对特定业务流数据包的积压和丢包,试图利用TCP拥塞控制等机制来促使上行速率降低,但这样的做法对于P2P业务效果不好。
因此,本发明实施例二通过两种手段的结合来更好地处理带宽分配:
下行令牌桶限速:基于令牌桶过滤器(TokenBucketFilter,TBF),每个优先级业务下行带宽通过自己的Ti来进行适当限速。当网络处于拥塞状态时,通过Ti来控制L1~L3,使其Ui≤Oi(i=1、2、3),L4下行带宽借用可用的剩余可用的令牌,而限速则需通过上行带宽限速来实现;当网络不处在拥塞状态时,所有优先级业务都可以借用空闲带宽份额;
上行带宽限速:当网络处于拥塞状态时,L4的上行带宽会根据算法进行几个等级强度的限制。
在本发明实施例二中,所述调节模块用于分别调节各个优先级业务使用的下行带宽时,具体可以包括:
夺回模块,用于每隔第三时间间隔ta,优先级业务Li尝试从借用了Li的带宽值的其他优先级业务夺回一份保障的带宽;
释放模块,用于每隔第四时间间隔tb,Li释放一份不使用的带宽到空闲带宽池;
借用模块,用于每隔第五时间间隔tc,Li尝试向其他优先级业务借用一份带宽值来满足当前的需要,其中ta≠tb≠tc。
具体为:
当Li当前使用的带宽份额Ui大于其自身保障能拥有的带宽份额Oi时,而此时优先级Lk(k≠i)开始提高流量,夺回属于自己的那份带宽(被其他Li借用的带宽)。如图3,L2几乎将所有的带宽片都使用了,而L1有需要时则会首先从L2中夺回自己的那份带宽。同样,虽然L3优先级比L2优先级低,仍然可以从L2手中夺回保障给自己的那份带宽。L2会归还借用带宽片给需要使用的优先级业务Li(i=1、3);
当Li在t2时刻使用的带宽份额Ui,相比t1时刻使用的带宽份额Ui要少时(t2>t1),则Li会往空闲带宽池放回带宽份额;
当Li在t1正在使用的带宽片数Ui达到了保障带宽份额时Oi,而在t2时刻,所需使用的带宽比t1时要高(Ui>Oi),此时尝试从空闲带宽池中去拿份带宽。
在本发明实施例二中,下行对上行优先级业务L4针对性限速触发条件,计算公式如下:
B=W÷N
T=R4+(N-U4-Ufree)×B
其中,W—下行总带宽值(kbps)、T—触发带宽值(kbps)、N—带宽总份额、U4—L4所使用的带宽份额、Ufree—空闲的带宽份额、B—每份带宽值(kbps)、R4—L4实际速率(kbps);当T≥W时,表示网络已经发生拥塞,且对于L4业务流难以进行带宽控制,故需要触发上行对L4业务进行相关限速丢包操作,从而来保障其他较高优先级业务Li(i=1、2)的时延。
在本发明实施例二中,所述调节模块用于分别调节各个优先级业务使用的上行带宽时,具体可以包括:
限速模块,用于根据下行的需要对低优先级业务的上行带宽进行限速:
预留模块,用于预留上行带宽。
在本发明实施例下中,对L4上行限速的程度取决于L4当前上行使用的带宽值,以此值作为基准对L4执行相关限速措施。
对低优先级业务的上行带宽进行限速具体为:
L4第一阶段限速后的带宽值TB1=(Bc÷Tc)-(Bc÷Tc)÷2Fs
L4第二阶段限制带宽,重复执行TBi+1=TBi÷2(i=1、2、3……N),直到TBi+1<Wth值为止,或者L4下行不需要上行继续限速为止。
L4在第二阶段获得的上行带宽值无法满足下行要求,则在第三阶段就行限速,且重复执行TBi=TBi–Dmin(i是第二阶段中获得的值),直到TBi为Bmin为止,或者L4下行不需要上行继续限速为止。
当下行不需要上行继续辅助限速时,上行会有一个回升过程,且该回升过程较为简单。
若上行只有L4数据流,则回升速度相对较快,每次回升带宽值后,所得的上行带宽值为TB=TB+Umax,若上行有高优先级业务流在传输,则回升速度会相对缓慢,所得的限速带宽值TB=TB+Umin。
上行带宽控制能力,就是徘徊在下降和上行带宽值之间,是L4针对性限速主要特点。
其中,Fs是指初始带宽设置因子、Wth是指带宽分水岭值、Dmin是指下降最小带宽值、Umin是指回升最小带宽值、Umax是指回升最大带宽值、Tc是指限制检测时间间隔(ms)、Bc是指时间Tc内传输的字节数(byte)、Bmin是指最小上行带宽值、TBi是指第i次进行带宽限速后的值(kbps)。
在本发明实施例二中,由于L4某些应用如P2P,有上传数据的能力,此时可能会将有限的上行带宽给占满,而又由于上行是听从于下行的命令来执行针对性限速。若下行L4流量很小触发不了上行进行限速的条件,上行又被P2P给占满,对于高优先级业务是很难跟P2P竞争,难以传输出去,故对高优先级业务难以起到一定优先效果。这时就需要预留上行带宽来使其起到一定作用。
上行带宽预留并不是一直为高优先级业务预留,而是高优先业务有需要时,才会进行相关预留操作。
预留上行带宽具体步骤如下:
无论下行情况如何,只要有L1、L2业务在上行传输,L3、L4会进行部分带宽预留,预留方式如下:
L3预留部分带宽后,上行带宽值=W-(W÷2Sf+1)
L4预留部分带宽后,上行带宽值=W-(W÷2Sf)
若上行无L1或L2业务,则上行不会进行任何带宽预留,L3、L4可以使用所有上行带宽。
其中,W是指上行总带宽(kbps)、Sf是指预留因子。
另外,由于网络游戏数目众多,数据流的特征各异,所以结合流特征数据库,往往不能保证准确识别大多数网络游戏。本方案中未识别的数据流均被划分到低优先级的业务,然而网络游戏对响应延迟要求高,一旦未被识别,则可能由于被划分到低优先级业务而无法获得更好的延迟保障。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种带宽分配的方法,其特征在于,所述方法包括:
结合流特征数据库,识别每条数据流所属的网络应用,所述流特征数据库包括流特征和网络应用的对应关系;
监测当前网络总带宽和各个优先级业务的当前使用带宽,所述优先级业务是指数据流按照所属的网络应用的特点所划分的不同的优先级业务,每个优先级业务包括一条或多条数据流;
根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽。
2.如权利要求1所述的方法,其特征在于,所述结合流特征数据库,识别每条数据流所属的网络应用具体包括以下步骤中的一个或任意组合:
检测是否通过路由的通用即插即用upnp功能进行端口映射,以识别数据流所属的网络应用是否为P2P应用;
检测传输层端口是否对应了多条连接,以识别所述传输层端口对应的数据流所属的网络应用是否为P2P应用;
检测目的主机的域名,并结合域名系统DNS数据流中的域名和IP地址的对应关系以及流特征数据库中的域名与网络应用的对应关系,识别所述目的主机的IP地址对应的数据流所属的网络应用;
通过深度包检测DPI,对数据流中的数据报文内容进行探测,从而识别数据流所属的网络应用;
通过深度流检测DFI对流量行为进行检测,从而识别数据流所属的网络应用;
结合包括了游戏特征库的流特征数据库,识别游戏流;
对包均长小于预定字节的数据包进行判定,识别游戏流。
3.如权利要求1或2所述的方法,其特征在于,所述监测当前网络总带宽具体为:
通过定时统计当前使用带宽来更新当前网络总带宽值,统计时间间隔为第一时间间隔T1,重新预测可用带宽时间间隔为第二时间间隔T2,T2远远大于T1,每隔T1记录当前使用带宽,将预定次数记录的当前使用带宽进行比较,挑选最大值作为总带宽值。
4.如权利要求1或2所述的方法,其特征在于,所述监测各个优先级业务的当前使用带宽具体包括:
监测每条数据流的使用带宽;
计算各个优先级业务所包含的数据流的使用带宽总和作为各个优先级业务的当前使用带宽。
5.如权利要求1或2所述的方法,其特征在于,所述根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的下行带宽具体包括:
每隔第三时间间隔ta,优先级业务Li尝试从借用了Li的带宽值的其他优先级业务夺回一份保障的带宽;每隔第四时间间隔tb,Li释放一份不使用的带宽到空闲带宽池;每隔第五时间间隔tc,Li尝试向其他优先级业务借用一份带宽值来满足当前的需要,其中ta≠tb≠tc。
6.如权利要求1或2所述的方法,其特征在于,所述根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽具体包括:
根据下行的需要对低优先级业务的上行带宽进行限速,并预留上行带宽。
7.一种路由器,其特征在于,所述路由器包括:
识别模块,用于结合流特征数据库,识别每条数据流所属的网络应用,所述流特征数据库包括流特征和网络应用的对应关系;
监测模块,用于监测当前网络总带宽和各个优先级业务的当前使用带宽,所述优先级业务是指数据流按照所属的网络应用的特点所划分的不同的优先级业务,每个优先级业务包括一条或多条数据流;
调节模块,用于根据当前网络总带宽和各个优先级业务的当前使用带宽,分别调节各个优先级业务使用的上行带宽和下行带宽。
8.如权利要求7所述的路由器,其特征在于,所述识别模块具体包括以下模块中的一个或任意组合:
第一识别模块,用于检测是否通过路由的通用即插即用upnp功能进行端口映射,以识别数据流所属的网络应用是否为P2P应用;
第二识别模块,用于检测传输层端口是否对应了多条连接,以识别所述传输层端口对应的数据流所属的网络应用是否为P2P应用;
第三识别模块,用于检测目的主机的域名,并结合域名系统DNS数据流中的域名和IP地址的对应关系以及流特征数据库中的域名与网络应用的对应关系,识别所述目的主机的IP地址对应的数据流所属的网络应用;
第四识别模块,用于通过深度包检测DPI,对数据流中的数据报文内容进行探测,从而识别数据流所属的网络应用;
第五识别模块,用于通过深度流检测DFI对流量行为进行检测,从而识别数据流所属的网络应用;
第六识别模块,用于结合包括了游戏特征库的流特征数据库,识别游戏流;
第七识别模块,用于对包均长小于预定字节的数据包进行判定,识别游戏流。
9.如权利要求7或8所述的路由器,其特征在于,所述监测模块用于监测当前网络总带宽时,具体包括:
统计模块,用于通过定时统计当前使用带宽来更新当前网络总带宽值,统计时间间隔为第一时间间隔T1,重新预测可用带宽时间间隔为第二时间间隔T2,T2远远大于T1;
记录模块,用于每隔T1记录当前使用带宽;
比较模块,用于将预定次数记录的当前使用带宽进行比较,挑选最大值作为总带宽值。
10.如权利要求7或8所述的路由器,其特征在于,所述监测模块用于监测各个优先级业务的当前使用带宽时,具体包括:
第一监测模块,用于监测每条数据流的使用带宽;
计算模块,用于计算各个优先级业务所包含的数据流的使用带宽总和作为各个优先级业务的当前使用带宽。
11.如权利要求7或8所述的路由器,其特征在于,所述调节模块用于分别调节各个优先级业务使用的下行带宽时,具体包括:
夺回模块,用于每隔第三时间间隔ta,优先级业务Li尝试从借用了Li的带宽值的其他优先级业务夺回一份保障的带宽;
释放模块,用于每隔第四时间间隔tb,Li释放一份不使用的带宽到空闲带宽池;
借用模块,用于每隔第五时间间隔tc,Li尝试向其他优先级业务借用一份带宽值来满足当前的需要,其中ta≠tb≠tc。
12.如权利要求7或8所述的路由器,其特征在于,所述调节模块用于分别调节各个优先级业务使用的上行带宽时,具体包括:
限速模块,用于根据下行的需要对低优先级业务的上行带宽进行限速:
预留模块,用于预留上行带宽。
CN201410258042.5A 2014-06-11 2014-06-11 一种带宽分配的方法及路由器 Active CN104038442B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410258042.5A CN104038442B (zh) 2014-06-11 2014-06-11 一种带宽分配的方法及路由器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410258042.5A CN104038442B (zh) 2014-06-11 2014-06-11 一种带宽分配的方法及路由器

Publications (2)

Publication Number Publication Date
CN104038442A true CN104038442A (zh) 2014-09-10
CN104038442B CN104038442B (zh) 2017-07-04

Family

ID=51469034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410258042.5A Active CN104038442B (zh) 2014-06-11 2014-06-11 一种带宽分配的方法及路由器

Country Status (1)

Country Link
CN (1) CN104038442B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131692A1 (zh) * 2014-09-17 2015-09-11 中兴通讯股份有限公司 一种带宽分配方法及装置
CN105099787A (zh) * 2015-09-01 2015-11-25 上海斐讯数据通信技术有限公司 一种带宽分配方法及装置
CN105471862A (zh) * 2015-11-20 2016-04-06 上海斐讯数据通信技术有限公司 稳定游戏运行的方法及系统
CN105530302A (zh) * 2015-12-15 2016-04-27 中国联合网络通信集团有限公司 一种上行带宽的控制方法及系统
CN105721341A (zh) * 2016-01-28 2016-06-29 苏黎 一种路由器网络资源分配的方法及路由器
CN106453150A (zh) * 2016-10-11 2017-02-22 东软集团股份有限公司 流控方法及装置
WO2017092275A1 (zh) * 2015-11-30 2017-06-08 乐视控股(北京)有限公司 路由器带宽管理方法、装置及路由器
CN106899997A (zh) * 2017-03-10 2017-06-27 合肥联宝信息技术有限公司 一种动态分配无线路由器带宽的方法、装置及无线路由器
CN107959629A (zh) * 2017-11-23 2018-04-24 吴英 路由器自动待机系统
CN107995017A (zh) * 2016-10-27 2018-05-04 杭州萤石网络有限公司 一种上行带宽分配方法、装置及系统
CN108173779A (zh) * 2017-11-23 2018-06-15 吴英 一种提高路由器的自动化水准的方法
CN109756796A (zh) * 2017-11-01 2019-05-14 中兴通讯股份有限公司 一种无源光网络下行带宽传输方法和装置
CN110290178A (zh) * 2019-05-30 2019-09-27 厦门网宿有限公司 一种数据流的调度方法、电子设备及存储介质
WO2020083263A1 (zh) * 2018-10-22 2020-04-30 华为技术有限公司 WiFi网络中的数据传输方法、装置及设备
WO2020118498A1 (zh) * 2018-12-10 2020-06-18 华为技术有限公司 一种业务控制的方法及电子设备
CN111314246A (zh) * 2020-03-12 2020-06-19 中国人民解放军63698部队 网络带宽自适应分配系统
CN111371705A (zh) * 2020-02-24 2020-07-03 维沃移动通信有限公司 一种下载任务执行方法及电子设备
CN113660173A (zh) * 2021-08-16 2021-11-16 北京字节跳动网络技术有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN114070792A (zh) * 2020-07-29 2022-02-18 华人运通(江苏)技术有限公司 车载以太网带宽分配方法、装置、电子设备及存储介质
WO2022183899A1 (zh) * 2021-03-04 2022-09-09 华为技术有限公司 一种调度方法、装置以及系统
CN116192773A (zh) * 2022-12-23 2023-05-30 上海兴容信息技术有限公司 一种网络优先等级调整方法、系统、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127487A1 (en) * 2005-12-07 2007-06-07 Electronics And Telecommunications Research Institute Method for managing service bandwidth by customer port and EPON system using the same
CN101001117A (zh) * 2007-01-23 2007-07-18 中兴通讯股份有限公司 拥塞型以太网无源光网络局端设备的带宽动态分配方法
CN101009612A (zh) * 2006-01-27 2007-08-01 上海贝尔阿尔卡特股份有限公司 一种无线多跳自回传网络基站及其带宽分配方法
CN102136982A (zh) * 2010-01-22 2011-07-27 普然通讯技术(上海)有限公司 动态调整上下行可调度带宽的方法
CN103312631A (zh) * 2013-05-29 2013-09-18 深圳市普联技术有限公司 一种带宽控制方法及路由器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127487A1 (en) * 2005-12-07 2007-06-07 Electronics And Telecommunications Research Institute Method for managing service bandwidth by customer port and EPON system using the same
CN101009612A (zh) * 2006-01-27 2007-08-01 上海贝尔阿尔卡特股份有限公司 一种无线多跳自回传网络基站及其带宽分配方法
CN101001117A (zh) * 2007-01-23 2007-07-18 中兴通讯股份有限公司 拥塞型以太网无源光网络局端设备的带宽动态分配方法
CN102136982A (zh) * 2010-01-22 2011-07-27 普然通讯技术(上海)有限公司 动态调整上下行可调度带宽的方法
CN103312631A (zh) * 2013-05-29 2013-09-18 深圳市普联技术有限公司 一种带宽控制方法及路由器

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490967A (zh) * 2014-09-17 2016-04-13 中兴通讯股份有限公司 一种带宽分配方法及装置
WO2015131692A1 (zh) * 2014-09-17 2015-09-11 中兴通讯股份有限公司 一种带宽分配方法及装置
CN105099787A (zh) * 2015-09-01 2015-11-25 上海斐讯数据通信技术有限公司 一种带宽分配方法及装置
CN105099787B (zh) * 2015-09-01 2018-04-10 上海斐讯数据通信技术有限公司 一种带宽分配方法及装置
CN105471862A (zh) * 2015-11-20 2016-04-06 上海斐讯数据通信技术有限公司 稳定游戏运行的方法及系统
WO2017092275A1 (zh) * 2015-11-30 2017-06-08 乐视控股(北京)有限公司 路由器带宽管理方法、装置及路由器
CN105530302A (zh) * 2015-12-15 2016-04-27 中国联合网络通信集团有限公司 一种上行带宽的控制方法及系统
CN105721341A (zh) * 2016-01-28 2016-06-29 苏黎 一种路由器网络资源分配的方法及路由器
CN106453150A (zh) * 2016-10-11 2017-02-22 东软集团股份有限公司 流控方法及装置
CN107995017A (zh) * 2016-10-27 2018-05-04 杭州萤石网络有限公司 一种上行带宽分配方法、装置及系统
CN106899997A (zh) * 2017-03-10 2017-06-27 合肥联宝信息技术有限公司 一种动态分配无线路由器带宽的方法、装置及无线路由器
US11405704B2 (en) 2017-11-01 2022-08-02 Zte Corporation Downlink bandwidth transmission method and apparatus for passive optical network
CN109756796B (zh) * 2017-11-01 2022-05-20 中兴通讯股份有限公司 一种无源光网络下行带宽传输方法和装置
CN109756796A (zh) * 2017-11-01 2019-05-14 中兴通讯股份有限公司 一种无源光网络下行带宽传输方法和装置
CN114945115A (zh) * 2017-11-01 2022-08-26 中兴通讯股份有限公司 一种无源光网络下行带宽传输方法和装置
CN107959629B (zh) * 2017-11-23 2018-09-14 林惠平 路由器自动待机系统
CN107959629A (zh) * 2017-11-23 2018-04-24 吴英 路由器自动待机系统
CN108173779A (zh) * 2017-11-23 2018-06-15 吴英 一种提高路由器的自动化水准的方法
US11778692B2 (en) 2018-10-22 2023-10-03 Huawei Technolgoies Co., Ltd. Data transmission method, apparatus, and device in Wi-Fi network
WO2020083263A1 (zh) * 2018-10-22 2020-04-30 华为技术有限公司 WiFi网络中的数据传输方法、装置及设备
WO2020118498A1 (zh) * 2018-12-10 2020-06-18 华为技术有限公司 一种业务控制的方法及电子设备
CN112425201A (zh) * 2018-12-10 2021-02-26 华为技术有限公司 一种业务控制的方法及电子设备
CN112425201B (zh) * 2018-12-10 2023-11-03 华为技术有限公司 一种业务控制的方法及电子设备
CN110290178A (zh) * 2019-05-30 2019-09-27 厦门网宿有限公司 一种数据流的调度方法、电子设备及存储介质
CN111371705A (zh) * 2020-02-24 2020-07-03 维沃移动通信有限公司 一种下载任务执行方法及电子设备
CN111371705B (zh) * 2020-02-24 2023-09-12 维沃移动通信有限公司 一种下载任务执行方法及电子设备
CN111314246A (zh) * 2020-03-12 2020-06-19 中国人民解放军63698部队 网络带宽自适应分配系统
CN114070792A (zh) * 2020-07-29 2022-02-18 华人运通(江苏)技术有限公司 车载以太网带宽分配方法、装置、电子设备及存储介质
CN114070792B (zh) * 2020-07-29 2023-10-24 华人运通(江苏)技术有限公司 车载以太网带宽分配方法、装置、电子设备及存储介质
CN115102904A (zh) * 2021-03-04 2022-09-23 华为技术有限公司 一种调度方法、装置以及系统
WO2022183899A1 (zh) * 2021-03-04 2022-09-09 华为技术有限公司 一种调度方法、装置以及系统
CN115102904B (zh) * 2021-03-04 2024-05-17 华为技术有限公司 一种调度方法、装置以及系统
CN113660173A (zh) * 2021-08-16 2021-11-16 北京字节跳动网络技术有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN113660173B (zh) * 2021-08-16 2024-04-26 抖音视界有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN116192773A (zh) * 2022-12-23 2023-05-30 上海兴容信息技术有限公司 一种网络优先等级调整方法、系统、装置及存储介质

Also Published As

Publication number Publication date
CN104038442B (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
CN104038442B (zh) 一种带宽分配的方法及路由器
US9986563B2 (en) Dynamic allocation of network bandwidth
US10218620B2 (en) Methods and nodes for congestion control
US10771833B2 (en) System and method for improving streaming video via better buffer management
US8514707B2 (en) Non-blocking admission control
Abbas et al. Fairness-driven queue management: A survey and taxonomy
CN107534981B (zh) 资源重分配
JP2010177797A (ja) 帯域制御装置および通信制御半導体
EP3197110B1 (en) Bandwidth allocation method and apparatus
US9231879B1 (en) Methods for policy-based network traffic queue management and devices thereof
WO2017161967A1 (zh) 包每秒流量监管方法、装置和计算机存储介质
KR20160077077A (ko) 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스
Zhang et al. An evaluation of bottleneck bandwidth and round trip time and its variants
CN107147585B (zh) 一种流量控制方法及装置
Chato et al. An exploration of various quality of service mechanisms in an openflow and software defined networking environment in terms of latency performance
CN114024913B (zh) 一种网络性能优化方法、装置、设备以及存储介质
Testa et al. Delay-based congestion control: Flow vs. BitTorrent swarm perspectives
EP2388978A1 (en) Methods and devices for determining network link load
KR102128015B1 (ko) 네트워크 스위칭 장치 및 이를 이용한 마킹 수행 방법
Zhang et al. LearningCC: An online learning approach for congestion control
Shi Token-based congestion control: Achieving fair resource allocations in P2P networks
Mone et al. Testbed based analysis of Linux queue disciplines over Internet traffic mix
Martin et al. Managing fairness and application performance with active queue management in docsis-based cable networks
CA3033780C (en) Dynamic congestion management
KR20100132776A (ko) 네트워크 장치에서 플로우 기반으로 대역폭을 제어하는 방법

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