CN1728698A - 并行结构保序流量平衡***及基于流分类的报文调度方法 - Google Patents
并行结构保序流量平衡***及基于流分类的报文调度方法 Download PDFInfo
- Publication number
- CN1728698A CN1728698A CNA2004100700096A CN200410070009A CN1728698A CN 1728698 A CN1728698 A CN 1728698A CN A2004100700096 A CNA2004100700096 A CN A2004100700096A CN 200410070009 A CN200410070009 A CN 200410070009A CN 1728698 A CN1728698 A CN 1728698A
- Authority
- CN
- China
- Prior art keywords
- class
- message
- miniflow
- submodule
- queue
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种并行结构保序流量平衡***及基于流分类的报文调度方法,用于将进入***的IP报文流,按照同一业务流中的IP报文分派到同一并行处理单元和使各并行处理单元负载尽量平衡的原则分派至各并行处理单元,并在各并行处理单元负载不平衡时,对业务流在各并行处理单元的分派图样进行调整,以实现各并行处理单元的流量平衡和同一业务流中的报文保序,包括一流分类与标识子模快、一报文分派子模块和一测量子模块;本发明以解决并行结构的路由器中实现IP报文流量平衡、业务流保序、区分服务和自适应功能,降低平均时延和时延抖动,减少超时重传次数和丢包率,提高网络性能和使用率,进而为上层应用提供更好的服务质量。
Description
技术领域
本发明涉及计算机通信领域,尤其是涉及一种并行结构的高性能路由器中的具有业务流IP报文保序功能的自适应流量平衡***及其一种基于流分类的报文调度方法。
背景技术
为提高吞吐率和效率,在高性能路由器中广泛采用了并行结构,需要使各个数据处理平面的流量尽量保持平衡。另外,为支持基于TCP的应用和基于UDP的流媒体等应用,需要由网络保证承载这些业务的IP报文能按源节点发出的顺序提交到目的节点。然而,由于并行技术的采用,同一业务流中的IP报文在通过路由节点时,不可避免地会引起IP报文失序,使这些IP报文的平均时延和时延抖动加大,造成丢包或数据报文的超时重传。由于在一个业务流持续时间相对网络拓扑变化周期相对较短的情况下,对于大多数业务流,其IP报文均走同一路径,如果能在采用并行结构的路由器中实现IP报文保序,将会极大地降低平均时延和时延抖动,减少超时重传次数和丢包率,提高网络性能和使用率,进而为上层应用提供更好的服务质量。
目前解决并行结构负载平衡及保序问题的文献中提到的解决方案均局限于并行交换结构领域,一种现有技术曾提出采用的轮转式调度算法的并行报文交换结构;还有一种现有提出三维队列缓存结构及其调度算法,解决两级交换结构保序的问题。这些方案的原理是在交换结构的输入端口流量分路时采用调度算法对定长信元进行流量平衡,在输出端口合路时使用较大容量缓存中对这些信元重新排序,以解决定长信元在通过交换结构的流量平衡和信元失序问题。
发明内容
本发明解决的问题是:提供一种通用、高效、稳定的在并行结构输入端分路时,对不定长IP数据报文进行负载平衡和保序功能的自适应流量平衡***APOKTB(Adaptive Packet-0rder-Keeping Traffic Balancer)及一种基于流分类的报文调度方法FCS(Flow Classification-based Scheduling),以解决并行结构的路由器中实现IP报文流量平衡、业务流保序、区分服务和自适应功能,降低平均时延和时延抖动,减少超时重传次数和丢包率,提高网络性能和使用率,进而为上层应用提供更好的服务质量。
为解决上述问题,本发明采用的技术方案是:提供一种并行结构保序流量平衡***,用于将进入***的IP报文流,按照同一业务流中的IP报文分派到同一并行处理单元和使各并行处理单元负载尽量平衡的原则分派至各并行处理单元,并在各并行处理单元负载不平衡时,对业务流在各并行处理单元的分派图样进行调整,以实现各并行处理单元的流量平衡和同一业务流中的报文保序,包括一流分类与标识子模快、一报文分派子模块和一测量子模块;
所述流分类与标识子模快,用于将同一业务流的IP报文分类于同一微流类,微流类标签附加在IP报文头部形成内部报文;
所述报文分派子模块,用于在一个报文到达时,在周期T内,按照同一微流类的报文分派到同一队列中、在分派时根据各队列负载均衡的原则将到达路由器的报文送往相应的队列中;所述的分派子模块当接收到来自测量子模块的监测通知时,依不同概率判断是否需要对各微流类在各队列上的分派图样进行调整,若需要则调整分派图样;
所述的测量子模块,用于监测所有队列的长度和各宏类流在各队列在周期T内通过的字节数,并适时通知报文分派模块调整微流类在各队列上的分派图样。
所述报文分派子模块具有临时队列,用于在某一微流类被调整期间,暂时缓存属于该微流类的IP报文。
所述的IP报文流按不同粒度分为巨流类、宏流类和微流类,其中,
所述的巨流类具有相同质量服务位的IP报文类,质量服务位表示IP报文的不同质量服务需求;
所述微流类是具有相同的源IP主机地址、目的IP主机地址和服务质量QoS位的IP报文类。IP报文被分类于若干微流类。微流类是报文分派的一个单位,也是并行处理单元流量不平衡时进行分派图样调整的一个单位;
所述的宏流类具有相同源IP的网络号、目的IP的网络号和质量服务位的IP报文类,是***监测的一个单位。
所述IP报文流的分类规则是,
所述的巨流类服务级别分为两类,其服务级别的高低表示对同一业务流中的IP报文失序和时延抖动对上层业务影响大小,宏流类的质量服务标识决定了属于该宏流类的微流类被从一个并行单元调整到另一并行处理单元的概率;
所述的宏流类对来自同一源网络到同一目的网络具有相同质量服务要求的IP报文将分类到同一宏流类,该宏流类属于某一个巨流类;
所述的微流类具有相同源IP和目的IP且具有相同质量服务要求的IP报文将分类于同一微流类中,该微流类属于某一宏流类。
所述的测量子模块用于实时监测所有队列的长度值,并周期性地实时监测从上次流分派图样调整结束到下次流分派图样调整开始的周期内各宏流类通过队列的流量这两类信息,并将监测结果分别加入队列长度表和周期T内的微流类流量累计表中。
所述的监测子模块用于在对所有队列长度进行一次测量后,标识出最长队列与最短队列,并计算最长队列与最短队列之差,然后分别与该队列设置好的阈值相比较,当所述最长队列大于设定的某个阈值时,且最长队列和最小队列之差大于设定的某个阈值时,该测量子模块通知报文分派子模块,以便其以一定的概率决定是否进行分派图样的调整。
所述报文分派子模块用于调整微流类到各队列的分派图样,在完成调整之后,通知测量子模块将周期T内的宏流当前累计流量中的所有统计数值清零,重新开始一个统计周期T。
一种基于流分类的报文调度方法FCS-1,使用单独的报文分派子模块,将来自于流分类与标识子模块的IP报文流按同一微流类的报文调度至相同队列和使各并行队列负载尽量平衡的原则,按当前分派图样将IP报文调度到相应队列,其特征在于,所述方法包括以下步骤:
r.当一个报文到达时,根据该报文的微流类标识符查找微流类分派图样表;
x.根据步骤r判断该微流类分派图样表项队列标识符项是否为空,如果不为空,则执行步骤y,否则执行步骤z;
y.如果对应的微流类分派图样表项已分配了队列标识符,则将该报文加入到该标识符的队列中;
z.当对应的微流类分派图样表项没有分配队列标识符时,选取当前最短队列分配给当前微流类,将该队列标识符填入该微流类分派图样表项,并将该IP报文加入此队列。
一种基于流分类的报文调度方法FCS-2,使用单独的报文分派子模块,在调度报文的同时,调整微流类图样,其特征在于,所述方法包括以下步骤:
a.报文分派子模块根据来自测量子模块的调整通知查找微流类分派图样表,得出微流类集合中具有最大通过流量累计值的宏流类标识ID;
b.根据宏流类标识的不同概率判断是否需要对各微流类在各队列上的分派图样进行调整,若需要调整,执行步骤c,否则执行步骤h;
c.根据所述宏流类标识X查找符合该宏流类标识的微流类分派图样表,来执行微流类分派图样调整程序,随机选择属于该宏流类的某一当前分派在最长队列QL的微流类,将其队列标识符修改为当前的最短队列标识符QS;
d.按公式T1=最长队列长度与最短队列长度之差/报文出队列速率,计算延时时间T1,启动定时器,并给定时器赋初值为T1;
e.对新到报文进行处理,将新到的属于被调整的微流类的IP报文放入临时队列中,直到定时器超时;
f.由报文分派子模块轮流选取新到报文流和临时队列中的报文流,临时队列中的报文流比新到报文流分配更多的时间片。在对新到报文流处理时,属于被调整的微流类的报文流仍进入临时队列,其它报文流按算法FCS-1正常调度,直到临时队列为空;执行本步骤的这段时间记为T2;
g.通知测量子模块将周期T内的宏流当前累计流量中的统计数值置零;
h.将新到的报文流按流分类的报文调度方法FCS-1进行报文调度。
所述的步骤a包括以下步骤:
a1.当报文分派子模块收到测量子模块发出的调整通知时,最长队列已超过了***设定的第J个阈值valveHj,并且最长队列与最短队列之差也已超过了***设定的第J个阈值valveDj,则发出查找请求;
a2.报文分派子模块根据请求查找微流类分派图样表,得到其相应的微流类已被分派到当前最长队列QL中的宏流类集合;再查找T周期内宏流当前累计流量,得到所述宏流类集合中具有最大通过流量累计值的宏流类I D,设其为X。
所述的步骤b包括以下步骤:
b1.如果X的右一位为0,则以j为关键字查找多个阈值及其对应的重新分派概率表,以找到表项的概率P0j执行微流类分派图样调整程序,若执行该程序选择步骤c,否则选择步骤h;
b2.如果X的右一位为1,则以j为关键字查找多个阈值及其对应的重新分派概率表,以找到表项的概率P1j执行微流类分派图样调整程序;若执行该程序转c,否则选择步骤h。
与现有技术相比,本发明具有以下优点:
(1)通用性较好。适合于任何并行结构流量分路时使用,只需各处理单元本身不造成报文失序即可,处理单元可以是转发引擎、交换模块或其他任何处理模块;
(2)解决了不定长IP数据报文的流量平衡调度和保序问题;
(3)只需引入一个临时队列,需要存储量小;
(4)算法均可用硬件实现,流量分派图样的调整对其他业务流几乎没有什么影响,对被调整的业务流也仅在很短延时(T1+T2)后,开始正常向相应队列发送。因而,负载平衡和保序处理不会造成路由器处理能力下降,对IP报文时延影响极小。
附图说明
图1是并行结构保序流量平衡***的框图;
图2是一种基于流分类的报文调度方法FCS-1的流程图;
图3是一种基于流分类的报文调度方法FCS-2的流程图。
具体实施方式
为实现保序,需要将同一业务流的IP报文分派到同一并行处理单元中,然而,由于当前通过路由器的业务流的个数较大且不固定,如果对每个流分配至各并行处理单元的分派图样(当前分配状况)进行管理将加大管理的难度,增加***开销,因此,本发明将当前业务流分为若干微流类,进行报文分派时只需将相同微流类中的IP报文分派到同一并行处理单元,即可保证同一业务流的IP报文分配至同一并行处理单元。
为实现流量平衡,需使用调度算法按同一微流类中的IP报文分派到同一并行处理单元、使各并行处理单元负载尽量平衡的原则进行IP报文的分派,形成、使用并维护当前的分派图样。***为了解当前各并行处理单元的负载情况,需要监测当前各并行处理单元输入队列的长度、这些队列长度的最大差别以及以往业务流的通过路由器的流量特性,如哪些业务流以往流量较大,在满足一定条件时,将分配到具有最大长度队列中的以往流量较大的微流类调整到另一并行处理单元,并同时保证被调整的微流类中的业务流仍然保序。在对以往业务流量进行监测时,考虑到从一个子网到另一子网的网络流量变化较为平缓,不会因个别业务的加入或离开造成过大抖动,另外,考虑到***需减少测量数据数目,降低***成本,因此,本发明按源IP的网络地址、目的IP的网络地址和业务类别将IP报文分为若干宏流类。宏流类是***监测的一个单位,当***发现流量不平衡时,在负载最重的(输入队列的长度最长)并行处理单元中的具有最大流量的宏流类中,随机选取一个微流类调整到负载最轻的(输入队列的长度最短)并行处理单元。
为了实现区分服务,在调整微流类到各并行处理单元的分派图样时,需根据IP报文上层承载的应用不同,按不同的概率选取微流类进行调整。对于IPv4报文,由于其没有特殊的通信量类型和流标签字段,因此,本发明采用区分IP报文承载的是传输控制协议TCP还是用户数据报文协议UDP的方法。由于传输控制协议TCP业务对保序和时延抖动的要求更高,因此,传输控制协议TCP业务的微流类被调整的概率较小,用户数据报文协议UDP业务的微流类被调整的概率较大。对于IPv6(IP协议6)报文,由于存在显式的通信量类型(traffic class)和流标签(flow label)字段,因此,本发明将没有特殊质量服务QoS要求的(其通信量类型域和其流标签域均为0)的微流类被调整的概率较大,其他微流类被调整的概率较小。根据被调整的概率大小,IP报文被分为两大类,我们称之为巨流类,在分类标识符中用一位表示,称为质量服务QoS位。
巨流类、宏流类和微流类的定义如下:
巨流类:具有相同质量服务QoS位的IP报文类。质量服务QoS位表示IP报文的不同质量服务QoS需求。本发明中分两类,0表示较高,1表示较低,这里的要求服务级别较高表示对同一业务流中的IP报文失序和时延抖动加大对上层业务影响较大,因此要求更好的服务。对于IPv4(IP协议报文4)包,若其承载的是传输控制协议TCP包,则质量服务QoS位为0,若承载的是用户数据报文协议UDP包,则质量服务QoS位为1。对IPv6(IP协议报文6)包,如果其通信量类型traffic class字段和其流标签flow label字段均为0,则其质量服务QoS位为1,否则,其质量服务QoS位为0。宏流类的质量服务QoS标识决定了属于该宏流类的微流类被从一个并行单元调整到另一并行处理单元的概率。
宏流类:具有相同源IP的网络地址、目的IP的网络地址和质量服务QoS位的IP报文类。宏流类是***监测的一个单位。
微流类:具有相同源IP地址、目的IP地址和QoS位的IP报文类。微流类是报文分派的一个单位,也是在个并行处理单元流量不平衡时进行分派图样调整的一个单位。
下面结合附图和实施例对本发明作进一步详细的描述。
如图1所示,本发明所述的并行结构保序流量平衡***,对进入***的多个业务的IP报文流6进行分类、分派和调整,以实现多个并行单元5的流量平衡和同一业务流中的报文保序,包括:一流分类与标识子模快1、一报文分派子模块2和一测量子模块3。所述的流分类与标识子模块1将进入的IP报文分类于某一微流类中(同一流中的报文将被分在同一微流类中),微流类标签附加在该IP报文头部形成内部报文,然后,将该报文转发到报文分派子模块2。报文分派子模块2参照当前的微流类分派图样(表4),根据到达报文的类别,在一段时间T内按照同类报文分派到同一队列和尽量使各队列负载均衡的原则将某一报文送往第i(1≤i≤K,K为并行处理单元的个数)个队列;该报文分派子模块2还负责在收到监测子模块3通知时,依不同概率判断是否需要对各微流类在各队列上的分派图样进行调整,若需要则调整分派图样;所述的测量子模块3监测K个队列Qi(1≤i≤K)的长度和各宏类流在各队列在T时期通过的字节数,并适时通知报文分派子模块2调整微流类在各队列上的分派图样。为减少监测信息的数量采用了宏观监测,微观调整的策略,即监测的是宏流类,调整的是某一微流类。在报文分派子模块,在保证流量尽量均衡地调度到K个并行单元5的同时,只要保证同类报文流被分路到同一个输出流中,即可保证同一业务流通过后续模块(如,交换网络;假设后续模块本身不造成报文失序)的处理时不失序。在某一微流类被调整期间,其所属的IP报文暂时缓存在一个临时队列QT中,从而解决了微流类图样调整期间的报文失序问题,实现了同一业务流中的报文的严格保序。
为增强***稳定性、降低***成本、对不同业务提供不同的质量服务QoS,本发明所述的流分类和标识子模块1将通过路由器的IP报文按不同粒度分类为巨流类、宏流类和微流类。分类规则如下:
巨流类分类规则:用1个质量服务QoS位表示,质量服务QoS位为0表示要求较高的服务级别,质量服务QoS位为1表示要求较低的服务级别。在下列公式中,“+”是字符串连接运算符,char(x)表示将x变换成字符串形式,val(x)表示将x从数字字符串形式转换成相应的十进制数值,mod表示求模运算。
宏流类分类规则:其计算公式为
char{val〔char(源IP网络号)+char(目的IP网络号)〕mod16}+QoS位(1)
即来自同一源网络到同一目的网络具有相同质量服务QoS要求的IP报文将分类到同一宏流类,由5个二进制位表示。某一宏流类必属于某个巨流类。
微流类分类规则:其计算公式为:
char{val〔char(源IP网络号)+char(目的IP网络号)〕mod16}+char
{val〔char(源IP主机地址)+char(目的IP主机地址)〕mod8}+QoS bit(2)
即具有相同源IP和目的IP且具有相同质量服务QoS要求的IP报文将分类于同一微流类中,由8个二进制位表示。某一微流类必属于某一宏流类。
进入路由器的IP报文由流分类和标识子模块1取出报文头部信息并按公式(1)计算出微流类标识符,我们将其称为IP报文的类标符。IP报文的类标符包括8位,有三个部分组成:左4位、中间3位和右1位,这样,进入的IP报文将被分类标识为两(21)个用于实施不同质量服务QoS策略的巨流类,即右1位(QoS位)标识,32(25)个用于流量测量的宏流类,即左4位+右1位标识,256(28)个用于流分派的微流类,即全8位标识。流分类和标识子模块1负责将这种分类标识于内部报文头部,供报文分派子模块2块使用。
所述测量子模块3周期性地监测K个队列的长度值(字节数)并实时监测在周期T内各宏流类通过队列的流量(字节数)两类信息,T是从上次流分派图样调整结束到下次流分派图样调整开始的一段时间,并将监测结果分别填入队列长度表(表1)和周期T内的微流类流量累计表(表2)。
监测子模块3在对K个队列长度进行一次测量之后,标识出具有最大队列长度的队列QL和最小队列长度的队列QS。令MAXQ=length(QL)、MINQ=length(QS)、DIFFQ=MAXQ-MINQ,这里length(Q)为求队列Q长度的函数,MAXQ、DIFFQ和DIFFQ为变量,分别存储最长的队列、最短的队列和它们的差(以字节表示)。在表3中,阈值Hj是length(Qi)(1≤i≤K)的第j个阈值,阈值Dj是DIFFQ的第j个阈值。当MAXQ>阈值Hj且DIFFQ>阈值Dj时,该模块通知流分派子模块按照与第j个与相应巨流类相关的概率(见表3)随机决定是否执行重新分派算法。如果流分类与标识子模块1执行了重新分派算法,在执行该算法之后,它通知测量子模块3将表2中的所有统计数值清零,重新开始一个统计周期T。
设并行队列的个数K为16个,在某个周期T内测量子模块3的监测结果如表1、表2所示。假设此时具有最大队列长度的队列QL为队列4,具有最小队列长度的队列QS为队列2,则最长队列MAXQ=11432,最短队列MINQ=6789,两队列之差DIFFQ=11432-6789=4643。根据表3(表3的数据可根据***需要,如队列存储单元个数、分派图样调整频繁程度等因素,由***管理人员设定),测量子模块发现最长队列MAXQ>阈值H3=11000且最长队列与最短队列之差DIFFQ>阈值D3=1000,则将这种情况表示为消息M3报告给报文分派子模块2,以便其以一定的概率决定是否进行分派图样的调整(从表3可看出,因为当前仅超过第三个阈值,进行分派图样调整的概率设定的较低)。
表1.当前队列的长度
队列标识符 | 当前长度(bytes) |
1 | 7544 |
2 | 6789 |
3 | 8103 |
4 | 11432 |
...... | ........ |
16 | 9689 |
表2.周期T内宏流当前累计流量
宏流类标识符(左4位+右1位) | 周期T内当前累计流量(字节数) |
00000 | 463234 |
00001 | 657657 |
.......... | .......... |
11111 | 964345 |
表3.多个阈值及其对应的重新分派概率
j | 阈值H | 阈值D | P0(QoS bit=0) | P1(QoS bit=1) |
1 | 5000 | 200 | 0.05 | 0.08 |
2 | 8000 | 600 | 0.1 | 0.2 |
3 | 11000 | 1000 | 0.2 | 0.4 |
... | ...... | ...... | ...... | ...... |
8 | 100000 | 5000 | 1 | 1 |
表4.微流类分派图样
类标符(微流类标识符) | 队列标识符 |
00000000 | 6 |
00000001 | 4 |
...... | ...... |
11111101 | 4 |
11111110 | 4 |
11111111 | 1 |
所述报文分派子模块2维护一张微流类分派图样表,如表4所示。在T周期内,正常情况下它执行流分类的报文调度方法FCS-1;当它接收到来自测量子模块3的通知时执行流分类的报文调度方法FCS-2。
流分类的报文调度方法FCS-1是调度某一微流类的报文至相应队列,其流程图如图2所示,所述方法的步骤为:当一个新报文到达时,根据该报文的类标符(微流类标识符)查微流类分派图样(表4);如果对应表项已分配队列标识符m,则将该报文入m队列,否则,选取当前最短队列QS分配给当前微流类(填写表4相应表项),并将该报文入此队列。下面结合实施例具体说明:
例如一个带有类标符(微流类标识符)为00000001的IP报文将依表4被调度到队列4;如果假定该表项尚未填入任何队列标识符,QL当前值为2,则将2填入该表项的队列标识符项,并将该报文调度到队列2。
流分类的报文调度方法FCS-2在调度报文的同时,调整微流类分派图样其流程图如图3所示,所述方法为:
a.报文分派子模块2根据来自测量子模块3的调整通知查找微流类分派图样表,得出微流类集合中具有最大通过流量累计值的宏流类标识ID;
b.根据宏流类标识的不同概率判断是否需要对各微流类在各队列上的分派图样进行调整,若需要调整,执行步骤c,否则执行步骤h;
c.根据所述宏流类标识X查找符合该宏流类标识的微流类分派图样表,来执行微流类分派图样调整程序,随机选择属于该宏流类的某一当前分派在最长队列QL的微流类,将其队列标识符修改为当前的最短队列标识符QS;
d.按公式T1=最长队列长度与最短队列长度之差DIFFQ/报文出队列速率,计算延时时间T1,启动定时器,并给定时器赋初值为T1;
e.对新到报文进行处理,将新到的属于被调整的微流类的IP报文放入临时队列QT中,直到定时器超时;
f.由报文分派子模块2轮流选取新到报文流和临时队列QT中的报文流,临时队列QT中的报文流比新到报文流分配更多的时间片。在对新到报文流处理时,属于被调整的微流类的报文流仍进入QT,其它报文流按算法FCS-1正常调度,直到临时队列QT为空;执行本步骤的这段时间记为T2;
g.通知测量子模块将周期T内的宏流当前累计流量中的统计数值置零;
h.将新到的报文流按流分类的报文调度方法FCS-1进行报文调度。
所述的步骤a包括以下步骤:
a1.当报文分派子模块2收到测量子模块3发出的调整通知时,最长队列MAXQ已超过了***设定的第J个阈值valveHj,并且最长队列与最短队列之差DIFFQ也已超过了***设定的第J个阈值valveDj,则发出查找请求;
a2.报文分派子模块2根据请求查找微流类分派图样表,得到其相应的微流类已被分派到当前最长队列QL中的宏流类集合;再查找T周期内宏流当前累计流量,得到所述宏流类集合中具有最大通过流量累计值的宏流类ID,设其为X。
所述的步骤b包括以下步骤:
b1.如果X的右一位为0,则以j为关键字查找多个阈值及其对应的重新分派概率表,以找到表项的概率P0j执行微流类分派图样调整程序,若执行该程序选择步骤c,否则选择步骤h;
b2.如果X的右一位为1,则以j为关键字查找多个阈值及其对应的重新分派概率表,以找到表项的概率P1j执行微流类分派图样调整程序;若执行该程序转c,否则选择步骤h。
下面以测量子模块3为实例为例,进行说明,报文分派子模块1在收到测量子模块3发来的消息M3后,查微流类分派图样表4,并根据微流类分派图样表得到当前分派到最长队列(队列4)的宏流类集合,不妨设这个集合为{00001,00100,11111,11110};查周期T内宏流类当前累计表2得到该集合中具有最大通过流量累计值的宏流类标识符X=11111;因X的右1位为1,通过定位到多个阈值及其对应的重新分派概率表3的第3(j=3)项得到调整分派图样的概率P13=0.4;***产生一个[0,1]之间的随机数N,若N>0.4,则进行分派图样调整,否则不进行;若不进行分派图样调整,则随后用FCS-1算法对新到的报文进行调度。若进行分派图样调整,则查询微流类分派图样表4,根据X=11111和QL=4筛选出左4位为1111、右1位为1且分派到最长队列QL的某一微流类,不妨设该微流类为11111101;将微流类分派图样表4中的微流类=11111101的项的队列标识符修改为当前最短队列2;按公式T1=DIFFQ/报文出队列速率计算延迟时间T1。在后续的T1时间内,将未调整之前的所有队列4中剩余的11111101类报文从队列4中输出;在此期间内,新到的报文流中,异于11111101类的报文继续按流分类报文调度方法FCS-1调度,而11111101类报文则缓冲到一个临时队列QT中;T1时期结束后,报文分派子模块轮流选取新到报文流和临时队列QT中的报文流进行调度,临时队列QT中的报文流比新到报文流分配更多的时间片。在对新到报文流处理时,属于11111101类的报文流仍进入临时队列QT,其它报文流按流分类报文调度方法FCS-1正常调度,直到某时刻临时队列QT为空时;通知测量子模块将表2中的统计数据置零。随后,新到的报文流按流分类报文调度方FCS-1进行报文调度。
本发明中,各表和临时队列QT采用高速缓存(Cache)实现,以提高***执行效率。
Claims (11)
1、一种并行结构保序流量平衡***,其特征在于:用于将进入***的IP报文流,按照同一业务流中的IP报文分派到同一并行处理单元和使各并行处理单元负载尽量平衡的原则分派至各并行处理单元,并在各并行处理单元负载不平衡时,对业务流在各并行处理单元的分派图样进行调整,以实现各并行处理单元的流量平衡和同一业务流中的报文保序;包括流分类与标识子模块、报文分派子模块和测量子模块;
所述流分类与标识子模块,用于将具有同一业务流的报文分类于同一微流类,微流类标签附加在IP报文头部形成内部报文;
所述报文分派子模块,用于在一个报文到达时,在周期T内,按照同一微流类的报文分派到同一队列中,在分派时根据各队列负载均衡的原则将到达路由器的报文送往相应的队列中;当接收到来自测量子模块的监测通知时,依不同概率判断是否需要对各微流类在各队列上的分派图样进行调整,若需要则调整分派图样;
所述的测量子模块,用于监测所有队列的长度和各宏类流在各队列在周期T内通过的字节数,并适时通知报文分派模块调整微流类在各队列上的分派图样。
2、根据权利要求1所述的一种并行结构保序流量平衡***,其特征在于:所述报文分派子模块具有临时队列,用于在某一微流类被调整期间,暂时缓存属于该微流类的IP报文。
3、根据权利要求2所述的一种并行结构保序流量平衡***,其特征在于:所述流分类与标识子模块用于将IP报文按不同粒度分为巨流类、宏流类和微流类,
所述的巨流类具有相同质量服务位的IP报文类,质量服务位表示IP报文的不同质量服务需求;
所述微流类是具有相同的源IP主机地址、目的IP主机地址和服务质量Q0S位的IP报文类;IP报文被分类于若干微流类,微流类是报文分派的一个单位,也是并行处理单元流量不平衡时进行分派图样调整的一个单位;
所述的宏流类具有相同源IP的网络号、目的IP的网络号和质量服务位的IP报文类,是***监测的一个单位。
4、根据权利要求3所述的一种并行结构保序流量平衡***,其特征在于:所述IP报文流的分类规则是,
所述的巨流类服务级别分为两类,其服务级别的高低表示对同一业务流中的IP报文失序和时延抖动对上层业务影响大小,宏流类的质量服务标识决定了属于该宏流类的微流类被从一个并行单元调整到另一并行处理单元的概率;
所述的宏流类对来自同一源网络到同一目的网络具有相同质量服务要求的IP报文将分类到同一宏流类,该宏流类属于某一个巨流类;
所述的微流类具有相同源IP和目的IP且具有相同质量服务要求的IP报文将分类于同一微流类中,该微流类属于某一宏流类。
5、根据权利要求1所述的一种并行结构保序流量平衡***,其特征在于:所述的测量子模块用于实时监测所有队列的长度值,并周期性地实时监测从上次流分派图样调整结束到下次流分派图样调整开始的周期内各宏流类通过队列的流量这两类信息,并将监测结果分别加入队列长度表和周期T内的微流类流量累计表中。
6、根据权利要求5所述的一种并行结构保序流量平衡***,其特征在于:所述的测量子模块用于对所有队列长度进行一次测量后,标识出最长队列与最短队列,并计算最长队列与最短队列之差,然后分别与该队列设置好的阈值相比较,当所述最长队列大于设定的某个阈值时,且最长队列和最小队列之差大于设定的某个阈值时,该测量子模块通知报文分派子模块,以便其以一定的概率决定是否进行分派图样的调整。
7、根据权利要求6所述的一种并行结构保序流量平衡***,其特征在于:报文分派子模块用于调整微流类到各队列的分派图样,在完成调整之后,通知测量子模块将周期T内的宏流当前累计流量中的所有统计数值清零,重新开始一个统计周期T。
8、一种基于流分类的报文调度方法,其特征在于:使用单独的报文分派子模块,将来自于流分类与标识子模块的IP报文流按同一微流类的报文调度至相同队列和使各并行队列负载尽量平衡的原则,按当前分派图样将IP报文调度到相应队列,所述方法包括以下步骤:
r.当一个报文到达时,根据该报文的微流类标识符查找微流类分派图样表;
x.根据步骤r判断该微流类分派图样表项队列标识符项是否为空,如果不为空,则执行步骤y,否则执行步骤z;
y.如果对应的微流类分派图样表项已分配了队列标识符,则将该报文加入到该标识符的队列中;
z.当对应的微流类分派图样表项没有分配队列标识符时,选取当前最短队列分配给当前微流类,将该队列标识符填入该微流类分派图样表项,并将该IP报文加入此队列。
9、一种基于流分类的报文调度方法,其特征在于:使用单独的报文分派子模块,在调度报文的同时,调整微流类图样,所述方法包括以下步骤:
a.报文分派子模块根据来自测量子模块的调整通知查找微流类分派图样表,得出微流类集合中具有最大通过流量累计值的宏流类标识ID;
b.根据宏流类标识的不同概率判断是否需要对各微流类在各队列上的分派图样进行调整,若需要调整,执行步骤c,否则执行步骤h;
c.根据所述宏流类标识X查找符合该宏流类标识的微流类分派图样表,来执行微流类分派图样调整程序,随机选择属于该宏流类的某一当前分派在最长队列QL的微流类,将其队列标识符修改为当前的最短队列标识符QS;
d.按公式T1=最长队列长度与最短队列长度之差/报文出队列速率,计算延时时间T1,启动定时器,并给定时器赋初值为T1;
e.对新到报文进行处理,将新到的属于被调整的微流类的IP报文放入临时队列中,直到定时器超时;
f.由报文分派子模块轮流选取新到报文流和临时队列中的报文流,临时队列中的报文流比新到报文流分配更多的时间片。在对新到报文流处理时,属于被调整的微流类的报文流仍进入临时队列,其它报文流按算法正常调度,直到临时队列为空;执行本步骤的这段时间记为T2;
g.通知测量子模块将周期T内的宏流当前累计流量中的统计数值置零;
h.将新到的报文流按流分类的报文调度方法进行报文调度。
10、根据权利要求9所述的一种基于流分类的报文调度方法,其特征在于,所述的步骤a包括以下步骤:
a1.当报文分派子模块收到测量子模块发出的调整通知时,最长队列已超过了***设定的第J个阈值valveHj,并且最长队列与最短队列之差也已超过了***设定的第J个阈值valveDj,则发出查找请求;
a2.报文分派子模块根据请求查找微流类分派图样表,得到其相应的微流类已被分派到当前最长队列中的宏流类集合;再查找T周期内宏流当前累计流量,得到所述宏流类集合中具有最大通过流量累计值的宏流类ID,设其为X。
11.根据权利要求10所述的一种基于流分类的报文调度方法,其特征在于,所述的步骤b包括以下步骤:
b1.如果X的右一位为0,则以j为关键字查找多个阈值及其对应的重新分派概率表,以找到表项的概率P0j执行微流类分派图样调整程序,若执行该程序选择步骤c,否则选择步骤h;
b2.如果X的右一位为1,则以j为关键字查找多个阈值及其对应的重新分派概率表,以找到表项的概率P1j执行微流类分派图样调整程序;若执行该程序转c,否则选择步骤h。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2004100700096A CN1728698B (zh) | 2004-07-30 | 2004-07-30 | 并行结构保序流量平衡***及基于流分类的报文调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2004100700096A CN1728698B (zh) | 2004-07-30 | 2004-07-30 | 并行结构保序流量平衡***及基于流分类的报文调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1728698A true CN1728698A (zh) | 2006-02-01 |
CN1728698B CN1728698B (zh) | 2010-08-25 |
Family
ID=35927706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004100700096A Expired - Fee Related CN1728698B (zh) | 2004-07-30 | 2004-07-30 | 并行结构保序流量平衡***及基于流分类的报文调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1728698B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100420241C (zh) * | 2006-05-08 | 2008-09-17 | 国家数字交换***工程技术研究中心 | 实现信息交换的***及方法和调度算法 |
CN101577705A (zh) * | 2008-05-08 | 2009-11-11 | 北京东华合创数码科技股份有限公司 | 一种多核并行的网络业务流负载均衡方法及其*** |
CN101175033B (zh) * | 2007-11-27 | 2010-06-16 | 中兴通讯股份有限公司 | 报文保序方法及其装置 |
CN101729361B (zh) * | 2008-10-22 | 2012-05-02 | 华为技术有限公司 | 报文处理的方法和装置 |
CN102802200A (zh) * | 2012-08-23 | 2012-11-28 | 福建星网锐捷网络有限公司 | 一种数据报文的发送方法和设备 |
CN101803340B (zh) * | 2007-02-20 | 2013-06-19 | 艾玛迪斯股份有限公司 | 用于平衡信息负载的***和方法 |
CN104935524A (zh) * | 2015-06-17 | 2015-09-23 | 华中科技大学 | 一种多径网络基于链路时延控制的软负载均衡方法 |
CN105516012A (zh) * | 2014-12-16 | 2016-04-20 | 北京安天电子设备有限公司 | 对超大网络流量处理的负载均衡方法及*** |
CN106385385A (zh) * | 2016-09-29 | 2017-02-08 | 东软集团股份有限公司 | 资源分配方法及装置 |
CN107070796A (zh) * | 2017-02-20 | 2017-08-18 | 河南理工大学 | 一种基于量子隐形传态的自适应rip路由选择协议 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2320112B (en) * | 1996-12-07 | 2001-07-25 | Ibm | High-availability computer server system |
EP1154610A3 (en) * | 2000-05-12 | 2005-05-11 | International Business Machines Corporation | Methods and system for defeating TCP Syn flooding attacks |
-
2004
- 2004-07-30 CN CN2004100700096A patent/CN1728698B/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100420241C (zh) * | 2006-05-08 | 2008-09-17 | 国家数字交换***工程技术研究中心 | 实现信息交换的***及方法和调度算法 |
CN101803340B (zh) * | 2007-02-20 | 2013-06-19 | 艾玛迪斯股份有限公司 | 用于平衡信息负载的***和方法 |
CN101175033B (zh) * | 2007-11-27 | 2010-06-16 | 中兴通讯股份有限公司 | 报文保序方法及其装置 |
CN101577705A (zh) * | 2008-05-08 | 2009-11-11 | 北京东华合创数码科技股份有限公司 | 一种多核并行的网络业务流负载均衡方法及其*** |
CN101729361B (zh) * | 2008-10-22 | 2012-05-02 | 华为技术有限公司 | 报文处理的方法和装置 |
CN102802200B (zh) * | 2012-08-23 | 2015-03-11 | 福建星网锐捷网络有限公司 | 一种数据报文的发送方法和设备 |
CN102802200A (zh) * | 2012-08-23 | 2012-11-28 | 福建星网锐捷网络有限公司 | 一种数据报文的发送方法和设备 |
CN105516012A (zh) * | 2014-12-16 | 2016-04-20 | 北京安天电子设备有限公司 | 对超大网络流量处理的负载均衡方法及*** |
CN105516012B (zh) * | 2014-12-16 | 2019-07-26 | 北京安天网络安全技术有限公司 | 对超大网络流量处理的负载均衡方法及*** |
CN104935524A (zh) * | 2015-06-17 | 2015-09-23 | 华中科技大学 | 一种多径网络基于链路时延控制的软负载均衡方法 |
CN104935524B (zh) * | 2015-06-17 | 2018-02-23 | 华中科技大学 | 一种多径网络基于链路时延控制的软负载均衡方法 |
CN106385385A (zh) * | 2016-09-29 | 2017-02-08 | 东软集团股份有限公司 | 资源分配方法及装置 |
CN107070796A (zh) * | 2017-02-20 | 2017-08-18 | 河南理工大学 | 一种基于量子隐形传态的自适应rip路由选择协议 |
CN107070796B (zh) * | 2017-02-20 | 2020-03-20 | 河南理工大学 | 一种基于量子隐形传态的自适应rip路由选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1728698B (zh) | 2010-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1282104C (zh) | 使用tcam对数据流进行选择性路由的方法、***和装置 | |
CN100343810C (zh) | 任务调度的方法、***和设备 | |
CN100387028C (zh) | 基于tcam的解决范围匹配的并行ip包分类器及方法 | |
KR101583325B1 (ko) | 가상 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법 | |
CN1736069A (zh) | 计算机或通信***中的数据包处理 | |
CN1658575A (zh) | 一种在sgsn网络处理器中提高服务质量的方法 | |
CN1404276A (zh) | 给网络接口卡分配互连网络协议地址的装置和方法 | |
CN1905531A (zh) | 待发送数据的处理方法以及数据发送方法、装置 | |
CN1781287A (zh) | 用于柔性带宽分配的方法和设备 | |
CN1728698A (zh) | 并行结构保序流量平衡***及基于流分类的报文调度方法 | |
CN1518299A (zh) | 信息包通信方法和信息包通信装置 | |
CN1791092A (zh) | 多层数据处理***网络中用于连接容量再指派的***和方法 | |
TWI530130B (zh) | 執行數據直通轉發的入口節點、數據傳輸系統及其方法 | |
KR101639797B1 (ko) | 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법 | |
CN1913454A (zh) | 一种ip报文负载分担实现方法及装置 | |
CN1910868A (zh) | 用于控制队列缓冲器的方法及装置 | |
CN1946054A (zh) | 一种高速数据流的传输方法、装置及数据交换设备 | |
CN1836411A (zh) | 会话中继设备和中继方法 | |
CN109960586A (zh) | 一种服务器状态可感知的四层负载均衡器及均衡方法 | |
CN1585399A (zh) | 一种集群服务器的负载均衡方法 | |
CN1302645C (zh) | 网络处理器***端口捆绑中实现流量均担的方法 | |
CN1777145A (zh) | 路由器及使用其管理分组队列的方法 | |
CN1643874A (zh) | 使用定额和差额值进行调度 | |
CN111629074B (zh) | 一种网关设备的会话排序方法及装置 | |
CN1753389A (zh) | 波长路由光网络的实时软抢占方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100825 Termination date: 20160730 |