队列分配方法及装置制造方法及图纸

技术编号:18403793 阅读:28 留言:0更新日期:2018-07-08 22:08
本申请公开一种队列分配方法及装置,用于解决现有技术中报文因被分配到的队列对应的令牌桶中剩余的令牌个数不足而被丢弃的问题。该方法包括:根据报文携带的优先级标志,确定所述报文对应的第一队列;若所述第一队列对应的令牌桶中剩余的令牌个数小于所述报文的字节数,则从至少一个第二队列中确定第三队列;其中,所述第二队列为与所述第一队列采用相同调度方式的队列,所述第三队列对应的令牌桶中剩余的令牌个数大于等于所述报文的字节数;将所述报文分配给所述第三队列。本申请适用于转发设备为报文分配队列的过程中。

Queue allocation method and device

The present application discloses a queue allocation method and a device for solving the problem that the number of token barrels remaining in the token bucket assigned to the queue in the existing technology is discarded. The method includes: determining the first queue corresponding to the message according to the priority flag carried by the message; if the number of remaining token in the token bucket corresponding to the first queue is less than the number of bytes of the message, the third queue is determined from at least one second queue; the second queue is the first team with the first team. A queue with the same scheduling method is listed, the remaining token number in the token bucket corresponding to the third queue is greater than the number of bytes equal to the message, and the message is allocated to the third queue. This application applies to the process of forwarding devices to distribute packets.

【技术实现步骤摘要】
队列分配方法及装置
本申请涉及通信
,尤其涉及一种队列分配方法及装置。
技术介绍
服务质量(QualityofService,QoS)是用于保障网络通信服务能力的一种机制。当转发设备支持QoS时,该转发设备会按照QoS指示的预设策略,将不同报文分配到不同队列。之后,不同队列中的报文即可按照该队列对应的调度方式进行转发。目前,通常使用令牌桶(TokenBucket,TB)算法以对队列进行流量监管。具体地,每个队列均设置对应的令牌桶,令牌桶可以容纳一定数目的令牌,每个令牌都代表一个字节。令牌桶会以恒定的速率不断地产生令牌,直到把令牌桶填满,之后再产生的令牌会从令牌桶中溢出,以保证令牌桶容纳的最大令牌个数保持不变。在报文进入队列时,队列对应的令牌桶会消耗与所述报文字节数相同的令牌。若队列对应的令牌桶中剩余的令牌个数小于报文的字节数,则该报文不能进入到队列中。在这种情况下,该报文会因为入队失败而被转发设备缓存或丢弃。
技术实现思路
本申请实施例提供一种队列分配方法及装置,用于减少报文因队列对应的令牌桶中剩余的令牌个数不足而入队失败的情况发生。为达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种队列分配方法,所述方法包括:根据报文携带的优先级标志,确定所述报文对应的第一队列;若所述第一队列对应的令牌桶中剩余的令牌个数小于所述报文的字节数,则从至少一个第二队列中确定第三队列;其中,所述第二队列为与所述第一队列采用相同调度方式的队列,所述第三队列对应的令牌桶中剩余的令牌个数大于等于所述报文的字节数;将所述报文分配给所述第三队列。由于第三队列对应的令牌桶中剩余的令牌个数大于等于报文的字节数,因此该报文在被分配给第三队列后,可以进入第三队列中。可见,本申请实施例提供的队列分配方法,能够减少报文因队列对应的令牌桶中剩余的令牌个数不足而入队失败的情况发生。第二方面,本申请提供一种队列分配装置,所述装置包括:确定模块,用于根据报文携带的优先级标志,确定所述报文对应的第一队列。所述确定模块,还用于在所述第一队列对应的令牌桶中剩余的令牌个数小于所述报文的字节数的情况下,从至少一个第二队列中确定第三队列;其中,所述第二队列为与所述第一队列采用相同调度方式的队列,所述第三队列对应的令牌桶中剩余的令牌个数大于等于所述报文的字节数。分配模块,用于将所述报文分配给所述第三队列。第三方面,本申请提供一种转发设备,所述转发设备包括:处理器、收发器和存储器。其中,存储器存储有一个或多个程序,一个或多个程序包括计算机可执行指令,当该转发设备运行时,处理器执行该存储器存储的该计算机可执行指令,以使该转发设备执行第一方面及其各种可选的实现方式中任意之一所述的队列分配方法。第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当转发设备执行该指令时,该转发设备执行上述第一方面及其各种可选的实现方式中任意之一所述的队列分配方法。其中,上述第二方面至第四方面对应的有益效果,可参见第一方面的相关描述,在此不再赘述。附图说明图1为尽力而为(BestEffort,BE)调度方式的示意图;图2为优先排队(PriorityQueuing,PQ)调度方式的示意图;图3为加权公平排队(WeightedFairQueuing,WFQ)调度方式的示意图;图4为本申请实施例提供的一种队列分配方法的流程图;图5为本申请实施例提供的一种队列分配装置的结构示意图;图6为本申请实施例提供的一种转发设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。当转发设备支持QoS时,该转发设备会按照QoS指示的预设策略,将不同报文分配到不同队列。之后,不同队列中的报文即可按照该队列对应的调度方式进行转发。下面对队列的各种调度方式进行简单介绍。一、BE调度方式如图1所示,当队列采用BE调度方式时,转发设备是按照报文进入队列的时间顺序,将先进入队列的报文优先转发出去。二、PQ调度方式在采用PQ调度方式时,转发设备通常设置有4个PQ队列,分别分为高优先级队列、中优先级队列、正常优先队列和低优先队列。可见,PQ队列之间有优先级高低的划分。如图2所示,在转发报文时,转发设备会根据五元组(协议ID、源IP地址、目的IP地址、源端口号、目的端口号)、报文长短等条件,将所有报文分为4类,分别属于4个PQ队列中的一个。然后,按报文所属类别将报文分别送入相应的PQ队列。在报文出队时(即报文从转发设备的端口转发出去时),转发设备优先发送高优先级队列中的报文;直到高优先队列中的报文发送完,然后发送中优先队列中的报文;直到中优先级队列中的报文发送完,才发送正常优先级队列中的报文;直到正常优先级队列中的报文,才发送低优先级队列中的报文。三、WFQ调度方式如图3所示,在采用WFQ调度方式时,转发设备按照流特征对报文进行分类,所述流特征包括:源IP地址、目的IP地址、源端口号、目的端口号等。然后,将同一类的报文分配到同一WFQ队列中,即不同类的报文会被分配到不同的WFQ队列中。转发设备会给每个WFQ队列配置一个带宽。在出队时,WFQ队列中的报文只能占用对应的带宽。值得说明的是,转发设备的端口中可存在多个队列,而这多个队列之间可采用不同的调度方式。例如,转发设备的端口中存在L1队列、L2队列以及L3队列,L1队列采用BE调度方式,而L2队列和L3队列采用WFQ调度方式。如图4所示,本申请实施例提供一种队列分配方法,所述方法的执行主体是转发设备(例如路由器、交换机等),所述方法包括:101、根据报文携带的优先级标志,确定所述报文对应的第一队列。可选的,转发设备以报文的IP地址、MAC地址、端口号等参数作为所述报文的优先级标志,本申请实施例对此不作任何限制。示例性的,IPv4报文的优先级标志为区分服务编码点(DifferentiatedServicesCodepoint,DHCP)字段,MPLS报文的优先级标志为EXP字段,IPv6报文的优先级标志为TC字段。一种可选的实现方式中,转发设备存储有优先级标志与队列编号的对应关系。在接收到报文后,转发设备根据优先级标志与队列编号的对应关系,确定报文对应的第一队列。示例性的,以DHCP字段作为优先级标志,表一示出DHCP字段与队列编号的对应关系。表一DSCP队列编号000000L1001000L2010000L3011000L4100000L5101000L6110000L7111000L8结合表一进行举例说明,所述报文携带的DHCP字段为010000,则该报文对应的第一队列为L3队列。可选的,在转发设备接收到报文后,根据预设规则判断所述报文是否是可信任报文。若所述报文为可信任报文,则转发设备根据所述报文携带的优先级标志,确定所述报文对应的第一队列。若所述报文为不可信任报文,则转发设备重新标记所述报文的优先级标志,然后转发设备根据重新标记的优先级标志,确定所述报文对应的第一队列。这样,转发设备可以避免不可信任的报文影响到可信任报文的转发过程。其中,上述预设规则包括以下任意一种:一、若所述报文的IP地址属于白名单中的IP地址,则所述报文为可信任报文;否则,若报文为不可信任报文。二、若所本文档来自技高网...

【技术保护点】
1.一种队列分配方法,其特征在于,所述方法包括:根据报文携带的优先级标志,确定所述报文对应的第一队列;若所述第一队列对应的令牌桶中剩余的令牌个数小于所述报文的字节数,则从至少一个第二队列中确定第三队列;其中,所述第二队列为与所述第一队列采用相同调度方式的队列,所述第三队列对应的令牌桶中剩余的令牌个数大于等于所述报文的字节数;将所述报文分配给所述第三队列。

【技术特征摘要】
1.一种队列分配方法,其特征在于,所述方法包括:根据报文携带的优先级标志,确定所述报文对应的第一队列;若所述第一队列对应的令牌桶中剩余的令牌个数小于所述报文的字节数,则从至少一个第二队列中确定第三队列;其中,所述第二队列为与所述第一队列采用相同调度方式的队列,所述第三队列对应的令牌桶中剩余的令牌个数大于等于所述报文的字节数;将所述报文分配给所述第三队列。2.根据权利要求1所述的方法,其特征在于,在所述根据报文携带的优先级标志,确定所述报文对应的第一队列之后,所述方法还包括:若所述第一队列对应的令牌桶中剩余的令牌个数大于所述报文的字节数,则将所述报文分配给所述第一队列。3.根据权利要求1所述的方法,其特征在于,若至少一个第二队列中存在至少一个第三队列,则所述将所述报文分配给所述第三队列,包括:检测各个第三队列对应的令牌桶中剩余的令牌个数;将所述报文分配给剩余的令牌个数最多的令牌桶对应的第三队列。4.根据权利要求1所述的方法,其特征在于,若至少一个第二队列中存在至少一个第三队列,则所述将报文分配给所述第三队列,包括:当所述第三队列的调度方式为优先级排队PQ时,将所述报文分配给优先级最高的第三队列。5.根据权利要求1所述的方法,其特征在于,若至少一个第二队列中存在至少一个第三队列,则所述将报文分配给所述第三队列,包括:当所述第三队列的调度方式为加权公平排队WFQ时,将所述报文分配给...

【专利技术属性】
技术研发人员:张学茹杨艳松张震马季春卢红波
申请(专利权)人:中国联合网络通信集团有限公司中讯邮电咨询设计院有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1