CN1298149C - 基于包模式的流量控制装置及方法 - Google Patents
基于包模式的流量控制装置及方法 Download PDFInfo
- Publication number
- CN1298149C CN1298149C CNB03140040XA CN03140040A CN1298149C CN 1298149 C CN1298149 C CN 1298149C CN B03140040X A CNB03140040X A CN B03140040XA CN 03140040 A CN03140040 A CN 03140040A CN 1298149 C CN1298149 C CN 1298149C
- Authority
- CN
- China
- Prior art keywords
- packet
- formation
- weight
- module
- control device
- 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.)
- Expired - Lifetime
Links
Images
Abstract
一种基于包模式的流量控制装置及方法,其特征于,该装置包括:一权重定义模块,一存储模块以及一策略输出控制模块;在权重定义模块中,按照数据包包头中的QOS需求定义各级权重队列,统计所有数据包的总的带宽需求,定义各级队列的原始发送参数;存储模块实现对SRAM的管理,按照权重定义模块的输出在SRAM中生成所需的各个队列,并将输入数据包转发到SRAM中进行缓存;策略输出控制模块按照流量控制策略,动态计算出发送间隔,控制各队列中的数据包在交换总线上发送。本发明提供的基于包模式的流量控制装置及方法,采用根据带宽动态调整队列优先权的方法,从而使得交换网带宽的使用更加有效,同时使得软硬件的处理更加简单、方便。
Description
技术领域
本发明涉及数据通讯领域,尤其涉及一种数据通信设备(如路由器)中对数据包交换流量进行精确控制的装置和方法。
背景技术
在采用交换矩阵(CrossBar)作为数据交换方式的数据通信设备(如路由器)中,为了保证对交换带宽的充分利用,以及能够实现无阻塞交换,需要对各种应用数据流提供可选择的优先级和带宽保证,这是QoS(Quality of Service,服务质量)设计中所要完成的关键内容。
一般意义上的QoS设计包括按用户需求分配传输带宽、按不同的用户权限划分数据传输的优先级、在可能出现拥塞的情况下保证高优先级数据的传输,也就是实现对流量的管理。在现有的处理方法中,为了实现QoS所要求的流量管理,一般采用两种方法:一种是信元(CELL)交换模式,即将等待交换的数据包切割为若干个固定长度的信元,在各信元上附加从属包的标志后进入交换网进行交换,在交换网的输出端再进行包的重组;另一种为基于包交换的方法,一般采用虚拟队列和优先权重的方法,在进行交换之前对数据包进行排队,各队列中的数据包按照严格的优先级定义依次进入交换通道。
这两种方法存在如下缺点:第一种方法由于用于传输的CELL一般为64字节,对于每个数据流的带宽控制分辨率不是很精确,而且由于信元需要附加从属包的信息,因此实际有效数据带宽会受到影响,导致整个交换网的效率不高;第二种方法对优先级的定义一般只有“高、中、低”等粗略的设置,难以准确控制流量,况且,在采用优先级排队的情况下,由于队列优先级定义很严格,还会出现“队列饥荒”现象,即有可能存在始终无法访问的队列。
发明内容
本发明的目的是为了克服现有技术中带宽分配不合理,队列调度存在问题的缺点,提供一种可以实现比较精确的带宽分配管理的装置和方法。
为了达到上述目的,一种基于包模式的流量控制装置,其特征于,该装置包括:
一权重定义模块,用于根据所有输入数据流对带宽的要求,定义多个不同权重的队列,根据各个队列中包的长度和权重动态计算出数据包发送间隔时间;
一存储模块,用于根据系统要求的队列数目将该存储区域划分出多个存储段,每个存储段对应一个队列,作为数据包的存储空间;
一策略输出控制模块,用于实现对各队列中数据包的输出调度,从权重队列中提取数据包输出到交换总线上;
所述权重定义模块将所述输入数据流定义成多个不同权重的队列后,缓存至所述存储模块在存储区域划分出的多个存储段中,所述策略输出控制模块从各队列提取数据包并输出到交换总线。
本发明还提供一种基于包模式的流量控制方法,其特征在于,该方法包括以下步骤:
根据用户在数据包包头中对于带宽要求字段的设置以及系统对于该字段的定义,获取输入到交换网入口的所有数据包的量化的带宽需求值;
综合所有数据包带宽需求,定义多个不同权重的队列,并根据各个队列中包的长度和权重动态计算出数据包发送间隔时间;
将输入数据包分配到按照权重定义生成的各个队列中进行排队,等待输出调度,各数据流以包模式在FIFO队列中存储;
根据权重参数生成发送等效控制参数,并依据等效参数将数据包从权重队列中输出到交换总线上,完成各队列中数据包的交换。
本发明提供的基于包模式的流量控制装置及方法,改变了传统方法中设置固定队列优先级的方法,采用根据带宽动态调整队列优先权的方法,从而使得交换网带宽的使用更加有效,同时使得软硬件的处理更加简单、方便。
下面将结合实施例并参照附图对本发明的技术方案进行详细说明。
附图说明
图1是本发明提供的基于包模式的流量控制装置的功能模块图。
图2是本发明提供的基于包模式的流量控制方法的实施例数据流图。
图3是本发明提供的基于包模式的流量控制装置及方法的实施例流程图。
具体实施方式
如图1所示,为本发明的基于包模式的流量控制装置,其中包括权重定义模块101,用于根据所有输入数据流对带宽的要求,定义多个不同权重的队列,根据各个队列中包的长度和权重动态计算出数据包发送间隔时间;一存储模块102,用于根据系统中所要求的队列数目将该存储区域划分出多个存储段,每个存储段对应一个队列,作为数据包的存储空间;策略输出控制模块,实现对各队列中数据包的输出调度,从权重队列中提取数据包输出到交换总线上。其中,存储模块中的各存储区以FIFO(先入先出队列)形式分配在该装置中,各数据流均以包模式在FIFO队列中存储;权重定义模块、策略输出控制模块由FPGA实现;存储模块由SRAM、或SDRAM实现。
本发明所采用的权重定义比其它流量控制方法所采用的优先级定义更为精细。一般方法中的优先级只有高、中、低等几种比较模糊的定义。在本发明中,权重的定义是根据所有输入数据流对带宽的要求,定义多个不同权重的队列,根据各个队列中包的长度和权重动态计算出数据包发送间隔时间,进而实现对发送流量的精确控制。
在完成优先级权重定义后,将输入数据包分配到按照权重定义生成的各个队列中进行排队,等待输出调度。这种权重队列为FIFO形式的队列,各数据流均以包模式在FIFO队列中存储。
如图2所示,为本发明提供的基于包模式的流量控制方法的实施例数据流图,由于本发明的核心是从权重队列中提取数据包并被输出到交换总线上,所以为了实现流量的精确控制,本发明的输出策略采用了一种按权重进行包间插的方式,如图2a所示,假设当前按照本发明提供的方法生成两个权重队列A和B,在这两个队列中,原始数据流A流和B流的包间隔和包持续时间分别为:Ga、Wa和Gb、Wb;如图2b所示,如果不进行发包间隔调整,则B队列的数据包将被A队列的包阻挡,最后形成的流量将小于预期的流量;如图2c所示,利用本发明提供的方法,B队列的数据包将始终穿插在A队列数据包的包间隔时间内发送,这样一来,在包发送过程中的间隔时间被定义为等效间隔时间。在本例中,两个队列的等效间隔时间分别为Ga’和Gb’,并设定队列A具有最高优先级,所以有Ga’=Ga。而数据流B的等效间隔Gb’,则计算如下:
在Wa+Ga的时间内,应该发送的队列B的包的个数为N=(Wa+Ga)/(Wb+Gb)。假设在Ga的时间内发送队列B中的数据流,流B总的持续时间为N*Wb,剩余的空闲时间为Ga-N*Wb,则队列B中发送数据包的等效间隔时间:Ga/N-Wb。可以推导出如下的结果:
Gb’=(Ga*Gb-Wa*Wb)/(Wa+Ga)。
同样的,对其它权重队列也可以按上述的方法获得数据包发送的等效间隔。每个权重队列根据动态计算出的数据包的等效间隔时间义提出发送请求,在流量输出端口按照A高B低的优先级仲裁下一步要发送哪个数据包,如图2c所示,调整后的B队列将以更快的频率申请发包,但由于端口仲裁的控制,使得B队列只能在A对列空闲的时段发包,最后形成的流量正是我们希望得到的精确流量。
本发明的具体实现可以采用现场可编程逻辑阵列(FPGA)结合SRAM来实现。如图3所示,在FPGA中,本发明提供的实现流程图包括在三个模块中的操作,具体包括:在权重定义模块中,按照数据包包头中的QOS需求字段定义各级权重队列,统计所有数据包的总的带宽需求,定义各级队列的原始发送参数;
存储模块实现对SRAM的管理,按照权重定义模块的输出在SRAM中生成所需的各个队列,并将输入数据包转发到SRAM中进行缓存;
策略输出控制模块按照流量控制策略,动态计算出发送间隔,控制各队列中的数据包在交换总线上发送。
该实施例包括以下流程,首先,对输入数据包进行包头分析,获取带宽需求,步骤301;综合所有数据包包头中的QOS需求字段,生成各级权重的定义,步骤302;按照该权重定义构造权重队列,并且计算所有数据包的原始发送参数,步骤303;根据权重定义模块的输出,包括原始发送参数及队列数,计算等效参数,步骤304;同时,将数据包分发到相应的权重队列,步骤305;结合以上两个步骤的输出结果,根据等效参数从权重队列中输出数据包到交换总线,步骤306;数据包输出。
其中,由于本实施例的存储模块由FPGA实现,因此,还需要完成以下操作:系统上电或复位后,CPU首先需检查FPGA对存储模块的清除操作是否完成,如果未完成,则需等待,直到清除操作完成;
将数据包的带宽信息剥离,数据存储在存储模块中。
在系统的运行过程中,数据包带宽信息的改变引起权重参数的动态更新。
以上所述,仅是本发明的几种实施方式,不应被视为是对本发明范围的限制,本发明要求保护的范围应以权利要求为准,凡熟悉此领域技艺的人士,依据本发明所揭露的技术内容,可轻易思及的等效变化,均应落入本发明的保护范围。
Claims (8)
1.一种基于包模式的流量控制装置,其特征在于,该装置包括:
一权重定义模块,用于根据所有输入数据流对带宽的要求,定义多个不同权重的队列,根据各个队列中包的长度和权重动态计算出数据包发送间隔时间;
一存储模块,用于根据流量控制装置要求的队列数目将存储区域划分出多个存储段,每个存储段对应一个队列,作为数据包的存储空间;
一策略输出控制模块,用于实现对各队列中数据包的输出调度,从权重队列中提取数据包输出到交换总线上,
所述权重定义模块将所述输入数据流定义成多个不同权重的队列后,缓存至所述存储模块在存储区域划分出的多个存储段中,再由所述策略输出控制模块从各队列提取数据包并输出到交换总线。
2.如权利要求1所述的基于包模式的流量控制装置,其特征在于,所述权重定义模块和策略输出控制模块由FPGA实现。
3.如权利要求1所述的基于包模式的流量控制装置,其特征在于,所述存储模块由SRAM、或SDRAM实现。
4.如权利要求1所述的基于包模式的流量控制装置,其特征在于,所述存储模块中,存储区域以先入先出形式进行队列分配,各数据流均以包模式在先入先出队列中存储。
5.一种基于包模式的流量控制方法,其特征在于,该方法包括以下步骤:
根据用户在数据包包头中对于带宽要求字段的设置以及流量控制装置对于该字段的定义,获取输入到交换网入口的所有数据包的量化的带宽需求值;
综合所有数据包带宽需求,定义多个不同权重的队列,并根据各个队列中包的长度和权重动态计算出数据包发送间隔时间;
将输入数据包分配到按照权重定义生成的各个队列中进行排队,等待输出调度:
根据权重参数生成发送等效控制参数,并依据发送等效控制参数将数据包从权重队列中输出到交换总线上,完成各队列中数据包的交换。
6.如权利要求5所述的基于包模式的流量控制方法,其特征在于,该方法还包括以下步骤:
流量控制装置上电或复位后,首先,由CPU检查FPGA对存储模块的清除操作是否完成,如果未完成,则等待,直到清除操作完成;
将数据包的带宽信息剥离后,数据存储在存储模块中。
7.如权利要求5所述的基于包模式的流量控制方法,其特征在于,所述权重参数的动态更新由数据包的带宽信息的改变引起。
8.如权利要求5所述的基于包模式的流量控制方法,其特征在于,所述各数据流均以包模式在先入先出队列中存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB03140040XA CN1298149C (zh) | 2003-07-31 | 2003-07-31 | 基于包模式的流量控制装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB03140040XA CN1298149C (zh) | 2003-07-31 | 2003-07-31 | 基于包模式的流量控制装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1581843A CN1581843A (zh) | 2005-02-16 |
CN1298149C true CN1298149C (zh) | 2007-01-31 |
Family
ID=34579203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB03140040XA Expired - Lifetime CN1298149C (zh) | 2003-07-31 | 2003-07-31 | 基于包模式的流量控制装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1298149C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1906575B (zh) * | 2004-01-06 | 2010-11-03 | 国际商业机器公司 | 动态软件更新系统、方法 |
CN101188555B (zh) * | 2007-12-14 | 2011-07-13 | 中兴通讯股份有限公司 | 一种提高非可靠通讯环境下单向通讯可靠性的方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100677462B1 (ko) * | 2005-06-23 | 2007-02-02 | 엘지전자 주식회사 | 스트리밍서비스를 위한 휴대단말기의 대역폭산정시스템 및방법 |
CN100505688C (zh) * | 2005-11-23 | 2009-06-24 | 中国科学院计算技术研究所 | 一种用于网络处理器的差额权重排队调度装置及调度方法 |
CN100596097C (zh) * | 2006-03-29 | 2010-03-24 | 华为技术有限公司 | 一种学习数据转发信息的方法及装置 |
CN101075963B (zh) * | 2007-07-02 | 2012-05-23 | 中兴通讯股份有限公司 | 一种基于网络QoS的动态控制装置及其方法 |
CN101399756B (zh) * | 2007-09-25 | 2011-06-01 | 华为技术有限公司 | 在对等p2p网络中传输业务数据的方法、系统及设备 |
CN101217499B (zh) * | 2008-01-21 | 2010-12-01 | 中兴通讯股份有限公司 | 队列调度方法 |
US8325687B2 (en) * | 2008-05-09 | 2012-12-04 | Qualcomm Incorporated | Techniques for enhanced backhaul flow control |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999033232A2 (en) * | 1997-12-19 | 1999-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of obtaining the lowest cost link in a packet switched network |
WO2001018994A1 (en) * | 1999-09-07 | 2001-03-15 | Motorola Inc. | Data discard avoidance method |
CN1412999A (zh) * | 2002-05-22 | 2003-04-23 | 华为技术有限公司 | 网络设备中带流量控制的快速分发网帧的方法 |
-
2003
- 2003-07-31 CN CNB03140040XA patent/CN1298149C/zh not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999033232A2 (en) * | 1997-12-19 | 1999-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of obtaining the lowest cost link in a packet switched network |
WO2001018994A1 (en) * | 1999-09-07 | 2001-03-15 | Motorola Inc. | Data discard avoidance method |
CN1412999A (zh) * | 2002-05-22 | 2003-04-23 | 华为技术有限公司 | 网络设备中带流量控制的快速分发网帧的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1906575B (zh) * | 2004-01-06 | 2010-11-03 | 国际商业机器公司 | 动态软件更新系统、方法 |
CN101188555B (zh) * | 2007-12-14 | 2011-07-13 | 中兴通讯股份有限公司 | 一种提高非可靠通讯环境下单向通讯可靠性的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1581843A (zh) | 2005-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sharma et al. | Approximating fair queueing on reconfigurable switches | |
US6456590B1 (en) | Static and dynamic flow control using virtual input queueing for shared memory ethernet switches | |
EP1774714B1 (en) | Hierarchal scheduler with multiple scheduling lanes | |
CA2535545A1 (en) | Method and apparatus for bandwidth guarantee and overload protection in a network switch | |
CN1213475A (zh) | 支持通信网中多服务类型的事件驱动信元调度器和方法 | |
US7843940B2 (en) | Filling token buckets of schedule entries | |
CN107835133B (zh) | 一种基于多属性决策的流优先级控制方法 | |
CN1298149C (zh) | 基于包模式的流量控制装置及方法 | |
CN111400206A (zh) | 基于动态虚拟门限的缓存管理方法 | |
EP1526686B1 (en) | Switching unit with scalable and QoS aware flow control | |
US7565496B2 (en) | Sharing memory among multiple information channels | |
Lund et al. | Fair prioritized scheduling in an input-buffered switch | |
CN1192563C (zh) | 服务于多输出队列的调度方法、程序调度装置及数据交换节点 | |
US7350208B1 (en) | Method and apparatus for scheduling using a resource variable decreased by amounts corresponding to the efficiency of the resource | |
Hu et al. | Dynamic queuing sharing mechanism for per-flow quality of service control | |
US7599381B2 (en) | Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group | |
KR100745679B1 (ko) | 적응 라운드 로빈을 이용한 패킷 스케쥴링 방법 및 장치 | |
Nichols | Improving Network Simulation with Feedback | |
Vila-Carbó et al. | Analysis of switched Ethernet for real-time transmission | |
JP4104756B2 (ja) | 電気通信網においてデータパケットをスケジューリングする方法およびシステム | |
Peha | Simulating ATM integrated-services networks | |
Lekcharoen et al. | Deadlock of avoidance backoff schemes in policing mechanisms | |
CN114679419A (zh) | 一种基于加权公平队列的需求响应业务调度方法及系统 | |
Amaradasa et al. | Accelerated simulation of a GPS scheduler using traffic aggregation | |
Prithviraj et al. | A virtual loss-load congestion control strategy for high speed 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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070131 |