CN103152277A - 一种提高网络流量控制性能的方法及其设备 - Google Patents

一种提高网络流量控制性能的方法及其设备 Download PDF

Info

Publication number
CN103152277A
CN103152277A CN2011104040150A CN201110404015A CN103152277A CN 103152277 A CN103152277 A CN 103152277A CN 2011104040150 A CN2011104040150 A CN 2011104040150A CN 201110404015 A CN201110404015 A CN 201110404015A CN 103152277 A CN103152277 A CN 103152277A
Authority
CN
China
Prior art keywords
class
packet
token
state
barrelage
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.)
Pending
Application number
CN2011104040150A
Other languages
English (en)
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.)
BEIJING NETENTSEC Inc
Original Assignee
BEIJING NETENTSEC Inc
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 BEIJING NETENTSEC Inc filed Critical BEIJING NETENTSEC Inc
Priority to CN2011104040150A priority Critical patent/CN103152277A/zh
Publication of CN103152277A publication Critical patent/CN103152277A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种提高网络流量控制性能的方法及其设备,所述方法包括以下步骤:接收数据包;根据数据包建立类标签;根据类标签查找相应的类;当类的状态为可发送状态时,则重新计算类和其父类的令牌桶数,减去数据包所消耗的令牌桶,并更新类和其父类状态;发送数据包。所述设备包括接收模块、数据包标签模块、流量处理模块和发送模块。本发明能够更好的提高数据转发性能,可作为网络流控设备功能实现。

Description

一种提高网络流量控制性能的方法及其设备
技术领域
本发明涉及计算机网络技术,尤其涉及一种提高网络流量控制性能的方法及其设备。
背景技术
流量控制是一种主动调整流量输出速率的措施,其典型的作用是限制流出某一网络的某些流量与突发,使这类报文以均匀的速度向外发送。
流量控制通常使用队列和令牌桶算法来完成,当报文的发送速度过快时,首先在队列进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的报文。
现有技术中用到的分层令牌桶(Hierarchical Token Bucket,HTB)是一种流量分类控制的经典算法,它可以有效提高带宽利用率和限制P2P等海量下载软件的使用。对于正常上网的内网主机,系统将允许它突破最小限速,但不能突破最大限带;相反,对于长期使用P2P等软件的内网主机,系统将会减小它的带宽,使其不能突破其最小限速,对其他主机的影响降到最低。每个HTB的类(CLASS)都有三种状态:绿色、黄色和红色状态。绿色状态指当前速率小于或等于稳定速度,该状态下的CLASS有充足的令牌桶用于发送队列中的数据包;黄色状态指当前速率大于稳定速率但不大于最大速率,该状态下的CLASS没有足够的令牌桶用于发送队列中的数据包,需向其上级CLASS借用令牌,其所有的上级CLASS被称为父类。当黄色状态下的CLASS积累了足够多的令牌桶时再发送队列中的数据包,如果其父类也处于黄色状态,则继续此规则;红色状态指当前速率超过了最大速率,此CLASS不能从其父类分得任何数目的令牌桶。
图1A为HTB算法中等待树模型图。该等待树创建有CLASS1:2和CLASS1:5,其中CLASS1:2下又创建有CLASS1:3和CLASS1:4。如图所示,CLASS1:2和CLASS1:4都处于红色状态,该状态下进来的数据包将不会被马上发送甚至被丢弃;CLASS1:3和CLASS1:5处于黄色状态,该状态下的进来的数据包将需要向其父类借用令牌桶发送。每隔一段时间HTB算法都会刷新一次等待树,它会检查CLASS的刷新时间与当前时间的差是否超过一定的值,如果超过则先去更新CLASS的令牌桶数,并更新CLASS的状态和当前CLASS的更新时间,当其状态变为绿色状态时,将其从等待树删除。因此等待树状态为黄色或者红色的CLASS组成,且为二叉树。
图2为HTB算法中的就绪树模型图。等待树在经过刷新后,原来处于黄色状态的CLASS1:5可能变成了绿色状态,其将从等待树上删除;原来处于红色状态的CLASS1:2也变成了绿色状态,它也将从等待树上删除,而原来处于红色状态的CLASS1:4变成了黄色。
现有技术的流量控制设备通过遍历就绪树,就绪树是由状态为黄色和绿色状态的CLASS组成,黄色的CLASS通过其绿色状态的祖先CLASS挂到就绪树上,而绿色状态的CLASS则直接挂到就绪树上。遍历的原则是两纬的,一个是层次,另外一个是优先级。由于黄色的CLASS是通过其祖先挂到就绪树上的,因此其层次更深,而绿色状态的CLASS层次更浅,因此绿色状态的CLASS将被优先遍历到,在遍历绿色状态的CLASS时,按照CLASS所指定的优先级进行遍历,从就绪树中选择到CLASS后,将CLASS的队列中的数据包进行发送,然后根据数据包的长度再算出要消耗的令牌桶数目,再更新CLASS和其父类的令牌桶数和它们的状态。
由于现有技术流量控制设备需要频繁刷新等待树,且遍历就绪树的复杂性,降低了设备的性能。
发明内容
本发明的目的是提供一种能提高网络流量控制性能的方法及其设备。
为实现上述目的,一方面,本发明提供了一种提高网络流量控制性能的方法,该方法包括以下步骤:接收数据包;根据配置的系统策略将数据包打上其所属的CLASS标签;根据CLASS标签找到相应CLASS;当CLASS的状态为可发送状态时,根据数据包的长度再算出要消耗的令牌桶数目,根据当前时间更新CLASS当前所拥有的令牌桶数,然后用CLASS当前所拥有的令牌桶数减去数据包所消耗的令牌桶数,对CLASS的父类也做此操作,更新CLASS和其父类的状态;最后发送数据包。
另一方面,本发明提供了一种提高网络流量控制性能的设备。该设备包括接收模块、数据包标签模块、流量处理模块和发送模块,其中接收模块用于接收数据包;数据包标签模块用于根据数据包类型建立类标签;流量处理模块用于根据类标签找到相应的CLASS,当CLASS的状态为可发送状态时,根据数据包的长度再算出要消耗的令牌桶数目,根据当前时间更新CLASS当前所拥有的令牌桶数,然后用CLASS当前所拥有的令牌桶数减去数据包所消耗的令牌桶数,对CLASS的父类也做此操作,更新CLASS和其父类的状态;发送模块用于转发数据包。
根据本发明的方法及其设备,可以提高网络流量控制的性能。另外,本发明的方法还可用于策略中的网络应用控制、带宽管理,并可进行网络应用时监控。
附图说明
本发明的示例性实施例将从下文中给出的详细说明和本发明不同实施例的附图中被更完全地理解,然而这不应该被视为将本发明限制于具体的实施例,而应该只是为了解释和理解。
图1A为现有技术HTB算法中等待树模型图;
图1B为现有技术HTB算法中就绪树模型图;
图2为本发明网络流控设备应用场景图;
图3为本发明实施例提高网络流量控制性能的方法流程图;
图4为本发明实施例网络流控设备的示意结构图;
图5为本发明实施例流量处理模块的示意结构图。
具体实施方式
本领域的普通技术人员将意识到,所述示例性实施例的下述详细说明仅仅是说明性的,并且不是意在以任何方式加以限制。
图2为本发明网络流控设备应用场景图。在图2中,网络流控设备12用于接收用户11(用户A、用户B,......,用户N)发送的数据,并按照流控策略转发给因特网13。其中,流控策略包括针对用户进行带宽的分配与监控,或者根据不同的带宽应用分配物理链路。
在一个例子中,对于正常上网的内网用户,网络流控设备将允许它偶然突破最大限速;相反,对于长期使用P2P等软件的内网用户,网络流控设备将会减小它的带宽,保证对其他主机的影响降到最低。
图3为本发明实施例提高网络流量控制性能的方法流程图。该方法流程图包括步骤101-105。
在步骤101,网络流量控制设备接收来自用户数据包。
在步骤102,网络流量控制设备根据在步骤1中接收的数据包建立类标签。
具体地,网络流量控制设备可以根据数据包的元组信息或者数据包的应用类型来建立类标签,其中数据包的元组信息包括IP地址和端口号。
在一个例子中,网络流量控制设备采用HTB算法中的TC命令为IP地址为191.168.1.100,且目的端口号为80的数据包建立类标签。
TC命令如下:
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32\
match ip src 192.168.1.100
match ip dport 80 0xffff flowid 1:10
上述TC命令建立了类标签1:10,该类标签针对IP为191.168.1.100,且目的端口号为80的数据包都会打上类标签1:10。
在步骤103,网络流量控制设备根据数据包的类标签找到相应的CLASS。
在步骤104,网络流量控制设备检查CLASS的状态是否为可发送状态,例如绿色状态,如果是,则根据数据包的长度再算出要消耗的令牌桶数目,根据当前时间更新CLASS当前所拥有的令牌桶数,然后用CLASS当前所拥有的令牌桶数减去数据包所消耗的令牌桶数,对CLASS的父类也做此操作,更新CLASS和其父类的状态。
在一个例子中,网络流量控制设备判断CLASS的状态是绿色状态时,首先,更新该CLASS的令牌桶数目,计算从上次发送数据包到现在的时间里生成的令牌桶数;接着,把生成的令牌桶数加上原先CLASS的令牌桶数为该CLASS的令牌桶数;最后,将该CLASS总的令牌桶数减去数据包的长度需要消耗的令牌桶数,结果作为该CLASS当前令牌桶数,并更新CLASS的父类令牌桶数。再执行步骤105。
令牌桶计算单位为tick(一瞬间),tick是最小的时间计算单位。根据令牌桶的的计算公式可计算出传输数据包所需要的tick数。
令牌桶计算公式为:
TOK = L RATE × 10 6 × tick us
其中,L为数据包长,单位为Byte(字节);RATE为数据传输速率,单位为Byte/s,且RATE=流控目标/8;
Figure BDA0000116953670000052
表示传输数据包所需要秒数,
Figure BDA0000116953670000053
表示传输数据包所需微秒数,表示传输数据包所需tick数。
在步骤105,网络流量控制设备转发CLASS中的数据包。
本发明实施例针对符合HTB算法中可发送状态下的数据包,则直接计算该CLASS中令牌桶数,并发送数据包,相比现有技术HTB的算法机制,省去了HTB算法中的刷新等待树步骤和遍历就绪树步骤,提高了数据的转发性能。
图4为本发明实施例网络流控设备的示意结构图。所图4所示,该设备包括接收模块21、数据包标签模块22、流量处理模块23和发送模块24。
接收模块21用于接收来自用户的数据包。
数据包标签模块22根据接收模块21接收的数据包建立类标签。数据包标签模块22可以根据数据包的元组信息或者数据包的应用类型来建立类标签,其中数据包的元组信息包括IP地址和端口号。
流量处理模块23根据数据包标签模块22建立的类标签找到相应的CLASS,当CLASS状态为可发送状态时,重新计算CLASS和其父类的令牌桶数。
流量处理模块23首先更新CLASS中令牌桶数目,计算从上次发送数据包到现在的时间里生成的令牌桶数;接着,把生成的令牌桶数加上原先CLASS中的令牌桶数为该CLASS总的令牌桶数;最后,将该CLASS总的令牌桶数减去中数据包的长度需要消耗的令牌桶数,结果作为该CLASS当前的令牌桶数,同时对CLASS的父类进行同样的操作。
发送模块24转发上述数据包。
本发明实施例网络流量控制设备的接收模块21、数据包标签模块22、流量处理模块23和发送模块24分别为了实现图3中各个方法的相应流程,在此不再赘述。
图5为本发明实施例流量处理模块的示意结构图。所图5所示,该流量处理模块包括判断单元31、更新单元32和计算单元33。
判断单元31判断CLASS的状态是否为可发送状态,例如绿色状态。
更新单元32根据判断单元31的判断结果执行相应的操作,当判断单元31判断类标签所对应的CLASS状态为绿色状态时,则计算从上次发送数据包到现在的时间里生成的令牌桶数,并将生成的令牌桶数加上原先CLASS中的令牌桶数为该CLASS总令牌桶数,对CLASS的父类做同样的操作。
计算单元33根据更新单元32更新后的总令牌桶数减去数据包的长度需要消耗的令牌桶数后的数目,结果作为该CLASS当前令牌桶数,更新CLASS状态同时对CLASS的父类做同样的操作。
需要说明的是,该网络流控设备可以是一个独立的网络设备,也可以是以一个模块形式存储在于网关、上网行为管理等网络设备中。
尽管已经示出并描述了本发明的特殊实施例,然而在不背离本发明的示例性实施例及其更宽广方面的前提下,本领域技术人员显然可以基于此处的教学做出变化和修改。因此,所附的权利要求意在将所有这类不背离本发明的示例性实施例的真实精神和范围的变化和更改包含在其范围之内。

Claims (10)

1.一种提高网络流量控制性能的方法,其特征在于:包括以下步骤:
接收数据包;
根据所述数据包建立类标签;
根据所述类标签把所述数据包放入相应类中;
当所述类的状态为可发送状态时,重新计算所述类和父类的令牌桶数;
发送所述数据包。
2.根据权利要求1所述的方法,其特征在于:所述可发送状态是绿色状态。
3.根据权利要求1所述的方法,其特征在于:所述根据所述数据包建立类标签的步骤包括根据所述数据包的元组信息建立类标签。
4.根据权利要求1所述的方法,其特征在于:所述根据所述数据包建立类标签的步骤包括根据所述数据包的应用类型建立类标签。
5.根据权利要求1所述的方法,其特征在于:所述重新计算所述类中令牌桶数的步骤包括:
更新所述类和其父类的令牌桶数目;
将所述类和其父类的令牌桶数目减去所述数据包的长度需要消耗的令牌桶数。
6.一种提高网络流量控制性能的设备,其特征在于包括:
接收模块,用于接收数据包;
数据包标签模块,用于根据数据包建立类标签;
流量处理模块,用于根据类标签找到相应的类,当类的状态为可发送状态时,重新计算所述类和其父类的令牌桶数;
发送模块:用于转发数据包。
7.根据权利要求6所述的设备,其特征在于:所述数据包标签模块根据数据包的元组信息建立类标签。
8.根据权利要求6所述的设备,其特征在于:所述数据包标签模块根据数据包的应用类型建立类标签。
9.根据权利要求6所述的设备,其特征在于:所述数据流量处理模块包括:
判断单元,用于判断类的状态是否为可发送状态;
更新单元,用于更新类和其父类的令牌桶数目;
计算单元,用于计算类和其父类的令牌桶数减去数据包的长度需要消耗的令牌桶数后的数目。
10.根据权利要求9所述的设备,其特征在于:所述可发送状态是绿色状态。
CN2011104040150A 2011-12-07 2011-12-07 一种提高网络流量控制性能的方法及其设备 Pending CN103152277A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104040150A CN103152277A (zh) 2011-12-07 2011-12-07 一种提高网络流量控制性能的方法及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104040150A CN103152277A (zh) 2011-12-07 2011-12-07 一种提高网络流量控制性能的方法及其设备

Publications (1)

Publication Number Publication Date
CN103152277A true CN103152277A (zh) 2013-06-12

Family

ID=48550149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104040150A Pending CN103152277A (zh) 2011-12-07 2011-12-07 一种提高网络流量控制性能的方法及其设备

Country Status (1)

Country Link
CN (1) CN103152277A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667745A (zh) * 2017-03-30 2018-10-16 深圳市中兴微电子技术有限公司 一种流量监管的方法和装置
CN113438183A (zh) * 2021-06-29 2021-09-24 软通动力信息技术(集团)股份有限公司 一种网络框架的出向流控方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781287A (zh) * 2003-06-27 2006-05-31 思科技术公司 用于柔性带宽分配的方法和设备
WO2009089701A1 (fr) * 2008-01-16 2009-07-23 Huawei Technologies Co., Ltd. Procédé et système d'inspection de paquet
CN101841461A (zh) * 2010-02-11 2010-09-22 北京星网锐捷网络技术有限公司 一种控制令牌桶更新的方法和装置
CN101873261A (zh) * 2010-06-07 2010-10-27 北京网康科技有限公司 一种提高令牌桶流控效果的方法及设备
CN102025623A (zh) * 2010-12-07 2011-04-20 苏州迈科网络安全技术股份有限公司 智能化网络流控方法
CN102195819A (zh) * 2011-05-30 2011-09-21 中兴通讯股份有限公司 一种网络设备及其业务流量监管方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781287A (zh) * 2003-06-27 2006-05-31 思科技术公司 用于柔性带宽分配的方法和设备
WO2009089701A1 (fr) * 2008-01-16 2009-07-23 Huawei Technologies Co., Ltd. Procédé et système d'inspection de paquet
CN101841461A (zh) * 2010-02-11 2010-09-22 北京星网锐捷网络技术有限公司 一种控制令牌桶更新的方法和装置
CN101873261A (zh) * 2010-06-07 2010-10-27 北京网康科技有限公司 一种提高令牌桶流控效果的方法及设备
CN102025623A (zh) * 2010-12-07 2011-04-20 苏州迈科网络安全技术股份有限公司 智能化网络流控方法
CN102195819A (zh) * 2011-05-30 2011-09-21 中兴通讯股份有限公司 一种网络设备及其业务流量监管方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667745A (zh) * 2017-03-30 2018-10-16 深圳市中兴微电子技术有限公司 一种流量监管的方法和装置
CN113438183A (zh) * 2021-06-29 2021-09-24 软通动力信息技术(集团)股份有限公司 一种网络框架的出向流控方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
Khalili et al. MPTCP is not Pareto-optimal: Performance issues and a possible solution
US9253045B2 (en) Modeling and simulating flow propagation in dynamic bandwidth systems
Kushwaha et al. Congestion control for high-speed wired network: A systematic literature review
Ha et al. Impact of background traffic on performance of high-speed TCP variant protocols
WO2021103706A1 (zh) 控制数据包发送方法、模型训练方法、装置及系统
CN109617806B (zh) 一种数据流量调度方法及装置
CN109842868A (zh) 一种帧聚合、网络设置帧发送方法及设备
Carofiglio et al. Rethinking the low extra delay background transport (LEDBAT) protocol
CN103152277A (zh) 一种提高网络流量控制性能的方法及其设备
CN113364701A (zh) 基于rtt的结合比例积分微分控制的拥塞控制方法及设备
CN102056195A (zh) 一种业务质量的确定方法和无线接入网络设备
CN104639557A (zh) 一种建立pcep会话的方法、系统及设备
Duong et al. TSIRP: A temporal social interactions-based routing protocol in opportunistic mobile social networks
CN114900482B (zh) Ps架构下基于可编程交换机的梯度调度方法和装置
Tinnakornsrisuphap et al. Asymptotic behavior of heterogeneous TCP flows and RED gateway
Alrshah et al. Modeling the throughput of the linux-based Agile-SD transmission control protocol
Wang et al. Performance modelling and analysis of unreliable links with retransmissions using network calculus
KR20220097201A (ko) 연합학습을 이용한 네트워크 혼잡 제어방법
Chappala et al. Adaptive Congestion Window Algorithm for the Internet of Things Enabled Networks
CN106664257A (zh) 用于在分组交换网络中传输相干数据流的信令
Jiang et al. Analysis and improvement of the latency-based congestion control algorithm DX
Aftab et al. Simulation based performance evaluation of TCP variants along with UDP flow analysis of throughput with respect to delay, buffer size and time
e Silva et al. TCP proactive congestion control for east-west traffic: The marking threshold
Orzen et al. Internet Time as Virtual Time for Real-Time Session Routing
Li et al. Optimal resource allocation with node and link capacity constraints in complex networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130612

RJ01 Rejection of invention patent application after publication