CN201510271488.6
2015.05.25
CN104836743A
2015.08.12
实审
审中
著录事项变更IPC(主分类):H04L 12/801变更事项:申请人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310052 浙江省杭州市滨江区长河路466号变更后:310052 浙江省杭州市滨江区长河路466号|||实质审查的生效IPC(主分类):H04L 12/801申请日:20150525|||公开
H04L12/801(2013.01)I
H04L12/801
杭州华三通信技术有限公司
戎衍博; 熊志鑫
310052浙江省杭州市滨江区长河路466号
北京博思佳知识产权代理有限公司11415
林祥
本发明提供一种拥塞控制方法及装置,所述方法包括:检测使能了量化拥塞通知的出端口队列是否出现拥塞;当出端口队列出现拥塞时,判断出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签;当第一报文携带紧急标签时,增加对第一报文的转发数量。本发明能够实现拥塞点设备对数据流终端的紧急业务对应的报文的快速转发。
权利要求书1. 一种拥塞控制方法,所述方法用于拥塞点设备,其特征在于,所述方法包括:检测使能了量化拥塞通知的出端口队列是否出现拥塞;当所述出端口队列出现拥塞时,判断所述出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签;当所述第一报文携带所述紧急标签时,增加对所述第一报文的转发数量。2. 如权利要求1所述的方法,其特征在于,所述增加对所述第一报文的转发数量包括:判断所述出端口队列的当前调度权重值是否已经提高到最大预设阈值;当所述当前调度权重值未提高到最大预设阈值时,提高所述出端口队列的所述当前调度权重值;当所述当前调度权重值已经提高到最大预设阈值时,回传携带所述紧急标签的拥塞通知报文到发送所述第一报文的数据流终端,使得所述终端降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。3. 如权利要求2所述的方法,其特征在于,所述提高所述出端口队列的所述当前调度权重值具体为:当所述拥塞点设备检测到所述出端口队列连续第一预设次数均出现拥塞时,提高所述出端口队列的所述当前调度权重值。4. 如权利要求2所述的方法,其特征在于,所述回传携带所述紧急标签的拥塞通知报文到发送所述第一报文的数据流终端之后,所述方法还包括:当所述拥塞点设备检测到所述出端口队列连续第二预设次数均未出现拥塞时,将所述出端口队列的所述当前调度权重值恢复为预先分配的调度权重值。5. 一种拥塞控制方法,所述方法用于数据流终端,其特征在于,所述方 法包括:将第一报文经过拥塞点设备中转后发送到对端数据流终端,所述第一报文中携带标记当前业务为紧急业务的紧急标签;判断是否接收到所述拥塞点设备回传的拥塞通知报文,所述拥塞通知报文是所述拥塞点设备在检测到所述第一报文所在的使能了量化拥塞通知的出端口队列出现拥塞,且所述出端口队列的当前调度权重值已经提高到最大预设阈值时回传到所述数据流终端的报文;当接收到所述拥塞通知报文时,降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。6. 如权利要求5所述的方法,其特征在于,降低第二报文当前的发送速率之后,所述方法还包括:当所述数据流终端在预设时间段内未再收到所述拥塞通知报文时,提高所述第二报文的所述发送速率。7. 如权利要求5或6所述的方法,其特征在于,所述拥塞通知报文中携带标记所述出端口队列的所述当前调度权重值已经提高到所述最大预设阈值的标记位;所述当接收到所述拥塞通知报文时,降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量具体为:当接收到所述拥塞通知报文时,根据所述标记位来降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量。8. 一种拥塞控制装置,所述装置用于拥塞点设备,其特征在于,所述装置包括:检测单元,用于检测使能了量化拥塞通知的出端口队列是否出现拥塞;判断单元,用于当所述出端口队列出现拥塞时,判断所述出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签;第一执行单元,用于当所述第一报文携带所述紧急标签时,增加对所述 第一报文的转发数量。9. 如权利要求8所述的装置,其特征在于,所述第一执行单元包括:判断子单元,用于判断所述出端口队列的当前调度权重值是否已经提高到最大预设阈值;第一执行子单元,用于当所述当前调度权重值未提高到最大预设阈值时,提高所述出端口队列的所述当前调度权重值;第二执行子单元,用于当所述当前调度权重值已经提高到最大预设阈值时,回传携带所述紧急标签的拥塞通知报文到发送所述第一报文的数据流终端,使得所述终端降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。10. 如权利要求9所述的装置,其特征在于,所述第一执行子单元包括:执行模块,用于当所述拥塞点设备检测到所述出端口队列连续第一预设次数均出现拥塞时,提高所述出端口队列的所述当前调度权重值。11. 如权利要求9所述的装置,其特征在于,所述装置还包括:第二执行单元,用于当所述拥塞点设备检测到所述出端口队列连续第二预设次数均未出现拥塞时,将所述出端口队列的所述当前调度权重值恢复为预先分配的调度权重值。12. 一种拥塞控制装置,所述装置用于数据流终端,其特征在于,所述装置包括:发送单元,用于将第一报文经过拥塞点设备中转后发送到对端数据流终端,所述第一报文中携带标记当前业务为紧急业务的紧急标签;判断单元,用于判断是否接收到所述拥塞点设备回传的拥塞通知报文,所述拥塞通知报文是所述拥塞点设备在检测到所述第一报文所在的使能了量化拥塞通知的出端口队列出现拥塞,且所述出端口队列的当前调度权重值已经提高到最大预设阈值时回传到所述数据流终端的报文;第一执行单元,用于当接收到所述拥塞通知报文时,降低第二报文当前 的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。13. 如权利要求12所述的装置,其特征在于,所述装置还包括:第二执行单元,用于当所述数据流终端在预设时间段内未再收到所述拥塞通知报文时,提高所述第二报文的所述发送速率。14. 如权利要求12或13所述的装置,其特征在于,所述拥塞通知报文中携带标记所述出端口队列的所述当前调度权重值已经提高到所述最大预设阈值的标记位;所述第一执行单元包括:执行子单元,用于当接收到所述拥塞通知报文时,根据所述标记位来降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量。
说明书一种拥塞控制方法及装置 技术领域 本发明涉及网络通信技术领域,尤其涉及一种拥塞控制方法及装置。 背景技术 量化拥塞通知(Quantized Congestion Notification,QCN)是一套应用于二层的端到端的拥塞通知机制,通过主动反向通知,减少网络中的丢包率和延时,从而提高网络性能。 但是,QCN的功能只是降低了反作用点(Reaction Point,RP)对某些业务对应的报文的发送速率,在QCN中RP就是指数据流的源端(即数据流终端),没有提升RP发送的报文在拥塞点设备(Congestion Point,CP)中的转发速率,所以只能针对一些优先级低的、对发送速率要求不高的业务流量,但对于那些临时性的紧急业务流量,例如针对一些临时的紧急性的安装程序下载,则无法达到快速转发的效果。 发明内容 有鉴于此,本发明提供一种拥塞控制方法及装置,以实现拥塞点设备对数据流终端的紧急业务对应的报文的快速转发。 根据本发明实施例的第一方面,提供一种拥塞控制方法,所述方法用于拥塞点设备,包括: 检测使能了量化拥塞通知的出端口队列是否出现拥塞; 当所述出端口队列出现拥塞时,判断所述出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签; 当所述第一报文携带所述紧急标签时,增加对所述第一报文的转发数量。 根据本发明实施例的第二方面,提供一种拥塞控制方法,所述方法用于数据流终端,包括: 将第一报文经过拥塞点设备中转后发送到对端数据流终端,所述第一报文中携带标记当前业务为紧急业务的紧急标签; 判断是否接收到所述拥塞点设备回传的拥塞通知报文,所述拥塞通知报文是所述拥塞点设备在检测到所述第一报文所在的使能了量化拥塞通知的出端口队列出现拥塞,且所述出端口队列的当前调度权重值已经提高到最大预设阈值时回传到所述数据流终端的报文; 当接收到所述拥塞通知报文时,降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。 根据本发明实施例的第三方面,提供一种拥塞控制装置,所述装置用于拥塞点设备,包括: 检测单元,用于检测使能了量化拥塞通知的出端口队列是否出现拥塞; 判断单元,用于当所述出端口队列出现拥塞时,判断所述出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签; 第一执行单元,用于当所述第一报文携带所述紧急标签时,增加对所述第一报文的转发数量。 根据本发明实施例的第四方面,提供一种拥塞控制装置,所述装置用于拥塞点设备,包括: 发送单元,用于将第一报文经过拥塞点设备中转后发送到对端数据流终端,所述第一报文中携带标记当前业务为紧急业务的紧急标签; 判断单元,用于判断是否接收到所述拥塞点设备回传的拥塞通知报文,所述拥塞通知报文是所述拥塞点设备在检测到所述第一报文所在的使能了量化拥塞通知的出端口队列出现拥塞,且所述出端口队列的当前调度权重值已经提高到最大预设阈值时回传到所述数据流终端的报文; 第一执行单元,用于当接收到所述拥塞通知报文时,降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。 本发明实施例中,拥塞点设备检测使能了量化拥塞通知的出端口队列的拥塞情况,当所述出端口队列出现拥塞,且所述出端口队列中的第一报文携带紧急标签,所述紧急标签标记当前业务为紧急业务,此时拥塞点设备增加对所述第一报文的转发数量,从而实现拥塞点设备对数据流终端紧急业务所对应的报文的快速转发。 附图说明 图1是应用本发明实施例实现拥塞控制的应用场景示意图; 图2是本发明拥塞控制方法的一个实施例流程图; 图3是QCN数据报文的格式示意图; 图4本发明拥塞控制方法的另一个实施例流程图; 图5是本发明拥塞控制方法的另一个实施例流程图; 图6是本发明拥塞控制装置所在设备的一种硬件结构图; 图7是本发明拥塞控制装置的一个实施例框图; 图8是本发明拥塞控制装置的另一个实施例框图。 具体实施方式 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。 在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制 本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。 应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。 参见图1,为应用本发明实施例实现拥塞控制的应用场景示意图: 图1中,数据流终端发送流量,其中包括与紧急业务对应的第一报文,第一报文中携带标记当前业务为紧急业务的紧急标签;拥塞点设备检测使能了量化拥塞通知的出端口队列的拥塞情况,当检测到所述出端口队列出现拥塞时,判断其中的第一报文是否携带紧急标签,所述紧急标签用于标识当前业务为紧急业务,当第一报文携带所述紧急标签时,拥塞点设备动态调整所述出端口队列的当前调度权重值,从而实现拥塞点设备对数据流终端紧急业务所对应的报文的快速转发。当出端口队列的当前调度权重值已经达到了最大预设阈值时,通过回传拥塞通知报文使得数据流终端降低低优先级的第二报文当前的发送速率,相当于在拥塞点设备端增加了出端口队列的带宽,使得拥塞点设备增加了对第一报文的转发数量,同样能够实现拥塞点设备对数据流终端紧急业务所对应的报文的快速转发。 参见图2,为本发明拥塞控制方法的一个实施例流程图,该实施例从拥塞点设备进行描述,本实施例中进行拥塞控制的前提是,拥塞点设备和数据流终端都属于同个拥塞通知域内,且拥塞点设备对某些优先级配置了拥塞通知域检测,而对使能了量化拥塞通知的出端口队列采用WRR或WFQ硬件队列调度方式。所述拥塞控制方法包括以下步骤: 步骤201:检测使能了量化拥塞通知的出端口队列是否出现拥塞。 本实施例中,拥塞点设备可以采用现有方式检测使能了量化拥塞通知的出端口队列是否出现拥塞,例如拥塞点设备通过计算Fb的值来检测拥塞情况。当Fb≥0时,说明队列没有拥塞;当Fb<0时,说明队列已经拥塞。具体过程与现有方式相同,在此不再赘述。 步骤202:当所述出端口队列出现拥塞时,判断所述出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签。如果所述第一报文携带所述紧急标签,则执行步骤203,否则按照现有的拥塞控制方法进行处理。 本实施例中,拥塞点设备通过判断出现拥塞的出端口队列中的第一报文是否携带紧急标签,来判断所述第一报文是否为与紧急业务对应的报文。 在现有的拥塞控制过程中,数据流终端与拥塞点设备之间会交互量化拥塞通知(QCN)报文,QCN报文格式如图3所示。其中,数据流终端为了区分不同的数据流,会在发送的QCN报文中添加拥塞通知标签(CN-TAG),来标识不同的拥塞控制流。可选地,本实施例中的紧急标签可以复用该拥塞通知标签。通过在预先在数据流终端和拥塞点设备端同时约定CN-TAG中的某特定字段为特定字符,从而标识当前业务为紧急业务。例如,可以预先在数据流终端和拥塞点设备端同时约定CN-TAG的RPID字段为全F时标志当前业务为紧急业务。 为了避免频繁提高出端口队列的当前调度权重值,造成拥塞点设备处理效率的降低,本实施例可选地,在拥塞点设备检测到所述出端口队列连续第一预设次数均出现拥塞时,才会执行步骤203。 步骤203:增加对第一报文的转发数量。 其中,步骤203具体包括(图2中未示出): 判断所述出端口队列的当前调度权重值是否已经提高到最大预设阈值,当所述当前调度权重值未提高到最大预设阈值时,执行步骤203-1,否则执行步骤203-2。 本实施例主要针对采用WRR或WFQ等涉及了队列调度权重值的队列调 度方式的出端口队列,其中所述出端口队列的调度权重值已经预先配置完成,范围可选地为1-15,最大预设阈值为15。对所述出端口队列中的第一报文的转发速率与所述出端口队列的调度权重值成正比。 例如所述调度权重值为单位时间内转发报文的数量,则调度权重值为15的队列在单位时间内转发报文的个数为15个。 当拥塞点设备检测到出端口队列出现拥塞,如果出端口队列的当前调度权重值小于15,则执行步骤203-1;由于调度权重值不可能无限增加,如果出端口队列的当前调度权重值已经达到了最大预设阈值,例如已经为15,但是当前的出端口队列仍然拥塞时,则执行步骤203-2。 步骤203-1:提高所述出端口队列的所述当前调度权重值。 可选地,可将出端口队列的当前调度权重值提高一个点。例如出端口队列之前的调度权重值为6,则此时将出端口队列当前调度权重值提高到7。 按照之前的调度权重值,则单位时间内拥塞点设备转发6个第一报文,当调度权重值提高到7时,对应地,单位时间内拥塞点设备转发7个所述第一报文。 当出端口队列的当前调度权重值提高后,就直接提高了CP设备对RP发送的紧急业务对应的报文的转发数量,实现了本发明的目的。 步骤203-2:回传携带所述紧急标签的拥塞通知报文到发送所述第一报文的数据流终端。 本实施例中,只有拥塞点设备的出端口队列使能了量化拥塞通知时,所述拥塞点设备才会在检测到所述出端口队列出现拥塞时,发送拥塞通知报文到发送所述第一报文的数据流终端。 回传的拥塞通知报文中设置了标记位,用于标识拥塞点设备已经无法再继续提高出端口队列的当前调度权重值。本实施例中,可以通过在拥塞通知报文中增加该标记位,或者通过在拥塞点设备和数据流终端两端同时约定将现有的拥塞通知报文中的某几位设置为特定值,来标识出端口队列的当前调度权重值已经提高到最大预设阈值。 当数据流终端收到该拥塞通知报文后,根据其中的标记位降低低优先级的第二报文的发送速率。从拥塞点设备端来看,当第二报文的发送速率降低后,相当于提高了第一报文所在的所述出端口队列的带宽,拥塞点设备对第一报文的转发数量增多,同样实现了拥塞点设备对数据流终端紧急业务所对应的报文的快速转发。 在执行完步骤203-2后,所述方法还可以包括(图2中未示出): 步骤204:当所述拥塞点设备检测到所述出端口队列连续第二预设次数均未出现拥塞时,将所述出端口队列的所述当前调度权重值恢复为预先分配的调度权重值。 当拥塞点设备检测到出端口队列的拥塞情况有所降低时,可以将出端口队列的当前调度权重值恢复为预先分配的调度权重值。当然,如果数据流终端在预设时间段内也未收到拥塞点设备回传的拥塞通知报文,则数据流终端可以恢复第二报文的发送速率。 由上述实施例可见,拥塞点设备检测使能了量化拥塞通知的出端口队列的拥塞情况,当检测到紧急业务对应的第一报文所在的出端口队列出现拥塞时,动态调整出端口队列的当前调度权重值。如果出端口队列的当前调度权重值已经达到了最大预设阈值,则通过回传拥塞通知报文使得数据流终端降低低优先级的第二报文当前的发送速率,使得拥塞点设备增加对所述第一报文的转发数量,实现了拥塞点设备对数据流终端紧急业务所对应的报文的快速转发。 参见图4,为本发明拥塞控制方法的另一个实施例流程图,该实施例从数据流终端侧进行描述,包括以下步骤: 步骤401:将第一报文经过拥塞点设备中转后发送到对端数据流终端,所述第一报文中携带标记当前业务为紧急业务的紧急标签。 数据流终端发送经过拥塞点设备中转的流量到对端终端,其中包括了与紧急业务对应的第一报文。可选地,本实施例中的紧急标签可以复用拥塞通知标签。数据流终端发送携带紧急标签的第一报文,以便拥塞点设备根据该 紧急标签判断是否需要执行本发明实施例提过的拥塞控制流程。 步骤402:判断是否接收到所述拥塞点设备回传的拥塞通知报文,所述拥塞通知报文是所述拥塞点设备在检测到所述第一报文所在的使能了量化拥塞通知的出端口队列出现拥塞,且所述出端口队列的当前调度权重值已经提高到最大预设阈值时回传到所述数据流终端的报文。 步骤403:当接收到所述拥塞通知报文时,降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。 图4所示实施例与前述图2所示实施例的描述一致,其区别仅在于执行主体不同,在此不再赘述。 由上述实施例可见,数据流终端会发送第一报文,第一报文中会携带标记当前业务为紧急业务的紧急标签。拥塞点设备检测所有使能了量化拥塞通知的出端口队列是否出现拥塞,当所述出端口队列出现拥塞时,拥塞点设备判断出端口队列中的第一报文是否携带紧急标签,所述紧急标签用于标示当前业务为紧急业务。如果判断出所述第一报文携带所述紧急标签,则拥塞点设备会提高所述出端口队列的当前调度权重值,出端口队列的当前调度权重值提高后,拥塞点设备就会加快对出端口队列中的第一报文的转发速度,从而在拥塞点设备端实现对数据流终端发送的紧急业务的报文快速转发。 可选地,如果拥塞点设备已经将当前调度权重值提高到最大预设阈值,此时拥塞点设备端会回传携带紧急标签的拥塞通知报文到发送第一报文的数据流终端,使得数据流终端降低优先级低于第一报文的第二报文当前的发送速率,此时同样相当于在拥塞点设备端增加了第一报文的转发数量,实现了拥塞点设备端对数据流终端发送的紧急业务的报文进行快速转发的效果。 参见图5,为本发明拥塞控制方法的另一个实施例流程图,该实施例通过数据流终端与拥塞点设备之间的交互,详细描述了本发明实施例的拥塞控制过程。本实施例中进行拥塞控制的前提是,拥塞点设备和数据流终端都属于同个拥塞通知域内,且拥塞点设备对某些优先级配置了拥塞通知域检测, 而对使能了量化拥塞通知的出端口队列采用WRR或WFQ硬件队列调度方式。拥塞控制方法包括: 步骤501:数据流终端发送与业务对应的报文,报文中会携带标记当前业务是否为紧急业务的紧急标签。 其中可选地,该紧急标签复用拥塞通知标签。 在本发明实施例中,如果当前业务为紧急业务,例如需要进行安装程序下载等,数据流终端发送的与所述当前业务对应的第一报文中就会携带标记当前业务为紧急业务的拥塞通知标签。 可选地,可以预先在数据流终端和拥塞点设备端同时约定拥塞通知标签的RPID字段为全F时标志当前业务为紧急业务,否则RPID字段为其他值。 步骤502:拥塞点设备根据拥塞通知域配置检测所有的使能了量化拥塞通知的出端口队列,如果检测到所述出端口队列出现拥塞时,判断出端口队列中的第一报文是否携带所述紧急标签。 拥塞点设备检测使能了量化拥塞通知队列是否出现拥塞可以采用现有的拥塞检测算法,判断Fb的值是否小于0。当出端口队列的Fb的值小于0时,需要进一步判断出端口队列中的第一报文是否携带所述紧急标签,此时可以通过检测出端口队列中报文携带的拥塞通知标签的RPID字段是否为全F来判断。如果第一报文的RPID字段为非全F,则进入步骤503,否则进入步骤505。 步骤503:拥塞点设备回传拥塞通知报文到发送所述第一报文的数据流终端,使得所述数据流终端进行流量限速发送速率。 本实施例中,只有拥塞点设备的出端口队列使能了量化拥塞通知时,所述拥塞点设备才会在检测到所述出端口队列出现拥塞时,发送拥塞通知报文到发送所述第一报文的数据流终端。 拥塞点设备回传的拥塞通知报文中同样携带了拥塞通知标签,以便数据流终端在收到拥塞通知报文后,根据其中的RPID字段解析具体是哪条流发生了拥塞,以便对发生拥塞的流量进行限速,然后进入步骤504。 步骤504:数据流终端在预设时间段内未再收到拥塞点设备回传的拥塞通知报文,则数据流终端会提高RPID字段为非全F的报文的发送速率,即提高之前被降低的流量报文的发送速率发送速率,可选地,可以恢复到被降低之前的速率。 数据流终端在预设时间段内如果未再收到拥塞点设备回传的拥塞通知报文,说明拥塞点设备未再检测到该数据流终端发送的报文队列出现拥塞,因此,可以将之前被降低的流量报文的发送速率发送速率恢复到被降低之前的速率。 步骤505:拥塞点设备提高出端口队列的当前调度权重值。 在本发明实施例中,为了避免频繁修改调度权重值造成拥塞点设备处理效率的降低,可选地,步骤505可以进一步具体为: 当拥塞点设备在第一预设次数内均检测到出端口队列出现拥塞时,拥塞点设备提高出端口队列的当前调度权重值。 在本发明实施例中,主要针对采用WRR或WFQ等涉及了队列调度权重值的队列调度方式的出端口队列,其中所述出端口队列的调度权重值已经预先配置完成,范围可选地为1-15。对所述出端口队列中的第一报文的转发速率与所述出端口队列的调度权重值成正比。例如所述调度权重值为单位时间内转发报文的数量,则调度权重值为15的队列在单位时间内转发报文的个数为15个。 如果拥塞点设备连续第一预设次数,例如3次,(用户可根据实际需求配置检测次数)都检测到出端口队列的Fb小于0,即出现队列拥塞,则将出端口队列的当前调度权重值提高一个点。例如出端口队列之前的调度权重值为6,则此时将出端口队列当前调度权重值提高到7,否则不更改队列当前调度权重值,然后等待下一次检测。 当出端口队列的当前调度权重值提高后,就直接提高了拥塞点设备对数据流终端发送的紧急业务对应的报文的转发速率,实现了本发明的目的。 由于调度权重值不可能无限增加,如果出端口队列的当前调度权重值已 经达到了最大预设阈值,但是当前的出端口队列仍然拥塞时,则进入步骤506。 步骤506:拥塞点设备回传RPID字段为全F的拥塞通知报文到发送第一报文的数据流终端,使得数据流终端降低优先级低于第一报文的第二报文当前的发送速率。 其中,拥塞点设备回传的拥塞通知报文中携带用于标记出端口队列的当前调度权重值已经提高到最大预设阈值的标记位。在本发明实施例中,可以通过在拥塞通知报文中增加该标记位,或者通过在拥塞点设备和数据流终端两端同时约定将现有的拥塞通知报文中的某几位设置为特定值,来标识出端口队列的当前调度权重值已经提高到最大预设阈值。 当拥塞点设备回传的拥塞通知报文中携带该标记位时,数据流终端就得知拥塞点设备已经无法再调整出端口队列的当前调度权重值。此时,可以在数据流终端先降低优先级低于第一报文的第二报文的发送速率。例如,当前第一报文承载了安装程序的数据信息,此时数据流终端还同时发送优先级较低的第二报文,第二报文承载了浏览器的数据信息。此时可以先降低第二报文当前的发送速率,这时相当于在拥塞点设备增加了第一报文的数量,同样可以实现拥塞点设备对数据流终端发送的紧急业务的报文进行快速转发的效果。 具体地,可以由数据流终端根据拥塞点设备回传的拥塞通知报文中的QntzFb值来决定降低后的第二报文的发送速率值。 当拥塞点设备在第二预设次数内均检测到所述出端口队列的拥塞程度下降时,则进入步骤507。 步骤507:拥塞点设备停止回传拥塞通知报文,降低所述出端口队列的当前调度权重值。 可选地,第二预设次数为3次,拥塞点设备连续3次检测到所述出端口队列的Fb值大于等于0时,即出端口队列拥塞程度下降,拥塞点设备停止回传拥塞通知报文,同时降低所述出端口队列的当前调度权重值,继续等待下一次检测,直到回到重新有拥塞出现或者将所述出端口队列的当前调度权 重值回调到最初配置值为止。 拥塞点设备停止回传拥塞通知报文时,返回执行步骤504,数据流终端此时将之前被降低的流量报文的发送速率,即将被降低的第二报文当前的发送速率恢复到被降低之前的速率。 另外,当拥塞点设备检测不到紧急业务对应的报文或拥塞点设备检测到所有队列无拥塞时,进入步骤508。 步骤508:拥塞点设备回调当前的出端口队列的调度权重值为最初的配置值。 本发明实施例提供的以上拥塞控制方法中,数据流终端通过发送携带标识当前业务是否为紧急业务的拥塞通知标签的报文,使得拥塞点设备在检测到紧急业务对应的报文所在的使能了量化拥塞通知的出端口队列出现拥塞时,动态调整该队列的当前调度权重值,以实现对数据流终端发送的紧急业务的报文快速转发。当拥塞点设备无法再调整调度权重值时,通过回传拥塞通知报文使得数据流终端降低低优先级报文的速率,同样可以实现拥塞点设备端对数据流终端发送的紧急业务的报文进行快速转发的效果。 与前述拥塞控制方法实施例相对应,本发明还提供了拥塞控制装置的实施例。 本发明拥塞控制装置的实施例可以分别应用在拥塞点设备和数据流终端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本发明拥塞控制装置所在设备的一种硬件结构图,除了图6所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。 参见图7,为本发明拥塞控制装置的一个实施例框图,所述装置应用在 用于检测拥塞情况的拥塞点设备上,所述装置包括检测单元710、判断单元720和第一执行单元730。 其中:检测单元710,用于检测使能了量化拥塞通知的出端口队列是否出现拥塞; 判断单元720,用于当所述出端口队列出现拥塞时,判断所述出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签; 第一执行单元730,用于当所述第一报文携带所述紧急标签时,增加对所述第一报文的转发数量。 在一个可选的实现方式中: 所述第一执行单元730包括: 判断子单元,用于判断所述出端口队列的当前调度权重值是否已经提高到最大预设阈值; 第一执行子单元,用于当所述当前调度权重值未提高到最大预设阈值时,提高所述出端口队列的所述当前调度权重值; 第二执行子单元,用于当所述当前调度权重值已经提高到最大预设阈值时,回传携带所述紧急标签的拥塞通知报文到发送所述第一报文的数据流终端,使得所述终端降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。 在一个可选的实现方式中: 所述第一执行子单元包括: 执行模块,用于当所述拥塞点设备检测到所述出端口队列连续第一预设次数均出现拥塞时,提高所述出端口队列的所述当前调度权重值。 在一个可选的实现方式中: 所述装置还包括(图7中未示出):第二执行单元,用于当所述拥塞点设备检测到所述出端口队列连续第二预设次数均未出现拥塞时,将所述出端口队列的所述当前调度权重值恢复为预先分配的调度权重值。 参见图8,为本发明拥塞控制装置的另一个实施例框图,所述装置应用在用于数据流终端上,所述装置包括:发送单元810、判断单元820和第一执行单元830。 其中:发送单元810,用于将第一报文经过拥塞点设备中转后发送到对端数据流终端,所述第一报文中携带标记当前业务为紧急业务的紧急标签; 判断单元820,用于判断是否接收到所述拥塞点设备回传的拥塞通知报文,所述拥塞通知报文是所述拥塞点设备在检测到所述第一报文所在的使能了量化拥塞通知的出端口队列出现拥塞,且所述出端口队列的当前调度权重值已经提高到最大预设阈值时回传到所述数据流终端的报文; 第一执行单元830,用于当接收到所述拥塞通知报文时,降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量,其中所述第二报文的优先级低于所述第一报文的优先级。 在一个可选的实现方式中: 所述装置还包括(图8中未示出):第二执行单元,用于当所述数据流终端在预设时间段内未再收到所述拥塞通知报文时,提高所述第二报文的所述发送速率。 在另一个可选的实现方式中: 所述拥塞通知报文中携带标记所述出端口队列的所述当前调度权重值已经提高到所述最大预设阈值的标记位; 所述第一执行单元830包括: 执行子单元,用于当接收到所述拥塞通知报文时,根据所述标记位来降低第二报文当前的发送速率,以使所述拥塞点设备增加对所述第一报文的转发数量。 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的, 其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。 由上述实施例可见,数据流终端通过发送携带标识当前业务是否为紧急业务的拥塞通知标签的报文,使得拥塞点设备在检测到紧急业务对应的第一报文所在的使能了量化拥塞通知的出端口队列出现拥塞时,动态调整该队列的当前调度权重值,以实现对数据流终端发送的紧急业务的报文快速转发。当拥塞点设备无法再调整调度权重值时,通过回传拥塞通知报文使得数据流终端降低低优先级报文的速率,同样可以实现拥塞点设备端对数据流终端发送的紧急业务的报文进行快速转发的效果。 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
《一种拥塞控制方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种拥塞控制方法及装置.pdf(19页珍藏版)》请在专利查询网上搜索。
本发明提供一种拥塞控制方法及装置,所述方法包括:检测使能了量化拥塞通知的出端口队列是否出现拥塞;当出端口队列出现拥塞时,判断出端口队列中的第一报文是否携带标记当前业务为紧急业务的紧急标签;当第一报文携带紧急标签时,增加对第一报文的转发数量。本发明能够实现拥塞点设备对数据流终端的紧急业务对应的报文的快速转发。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1