一种交换机端口流量排队方法和装置制造方法及图纸

技术编号:20164556 阅读:27 留言:0更新日期:2019-01-19 00:17
本发明专利技术提供了一种交换机端口流量排队方法,本方法使用严格优先级机制配合令牌桶算法实现对数据流的流量调度,包括以下步骤:在交换机端口上维护多个非默认优先级队列和一个优先级最低的默认优先级队列,并且在非默认优先级队列中维护多个子队列,每个子队列对应一个令牌桶;根据进入转发端口的数据包所属数据流的优先级将该数据包送入相应的优先级队列中,其中进入非默认优先级的数据包基于数据包信息被划分到子队列中;在进入相应队列或子队列后,数据包按规则进行发送。本发明专利技术提供一种兼顾各个优先级流量的端口转发策略,既保证了网络链路的高效利用,又减少甚至避免了网络的丢包,缩短了数据流的时延和时延抖动。

【技术实现步骤摘要】
一种交换机端口流量排队方法和装置
本专利技术总体上涉及计算机领域,并且更具体地,涉及一种交换机端口流量排队方法和装置。
技术介绍
影响数据流传输时延和时延抖动的一个重要因素是交换机转发端口的排队机制。当来自交换机多个端口的数据包经由同一个端口转发时,由于端口的转发能力有限,一旦数据包到达端口的速度大于其在端口的发送速度,数据包就会在该端口上开始排队。交换机的排队机制是交换机应对网络流量突发的重要机制。最常见的排队机制是先进先出机制(FIFO),即按照数据包的到达顺序进行排序,如图1所示,这样很好地保证了数据流之间的公平性。但是数据流的优先级是不同的,当属于低优先级数据流的数据包排在属于高优先级数据流的数据包之前时,会导致高优先级数据流的时延和时延抖动增加,从而降低整个网络的性能。如果将不同优先级的数据流分成多个队列,并为队列设置优先级,优先级高的数据流进入高优先级队列,优先级低的数据流进入低优先级队列。转发端口优先调度高优先级队列,转发其队列中的数据包,当队列为空时才能依次调度优先级较低的队列,以此类推,最后调度默认优先级队列,如图2所示。这种调度方式被称为严格优先级机制(SP),该机制可以避免低优先级数据流的数据包阻塞高优先级数据流的数据包,从而缩短了高优先级数据流的时延和时延抖动,且优先级越高,时延越小。使用严格优先级机制能够保证数据流按照其优先级顺序进行调度,但是如果高优先级的队列中持续有数据包排队,则会导致低优先级队列中的数据包长时间得不到转发,甚至会被交换机丢弃。
技术实现思路
鉴于此,本专利技术实施例的目的在于解决在交换机端口转发流量更合理地分配转发带宽的问题,既兼顾各种流量的转发权利,又在优先级基础上保证高优先级的流量在最大限度内保证转发。基于上述目的,本专利技术实施例的一方面提供了一种交换机端口流量排队方法,包括以下步骤:在交换机端口上维护多个非默认优先级队列和一个优先级最低的默认优先级队列,并且在所述非默认优先级队列中维护多个子队列,每个所述子队列对应一个令牌桶;根据进入转发端口的数据包所属数据流的优先级将其送入相应的优先级队列中,其中进入非默认优先级队列的数据包基于数据包信息被划分到子队列中;在进入相应队列或子队列后,将所述数据包按以下规则进行发送:所述转发端口按优先级从高到低的顺序依次处理所述队列;在处理所述非默认优先级队列时,随机从各个子队列中选取数据包进行发送;当子队列为空或其对应的令牌桶为空时,则所述子队列停止发送数据包;当非默认优先级队列内的所有子队列都停止发送数据包时,所述转发端口转而处理下一个优先级的队列。在一些实施方式中,所述规则还包括:当所述转发端口处理低优先级队列过程中,高优先级队列中有数据包可以发送时,中断所述低优先级队列的处理过程,优先发送所述高优先级队列中的数据包。在一些实施方式中,所述规则还包括:只有所有非默认优先级队列都停止发送数据包时,转发端口才处理默认优先级队列。在一些实施方式中,所述规则还包括:在处理所述默认优先级队列的过程中,所述数据包按照先进先出的顺序进行发送。在一些实施方式中,同一非默认优先级队列内的子队列之间没有优先级的区别。在一些实施方式中,根据进入转发端口的数据包所属数据流的优先级将其送入相应的优先级队列中,其中进入非默认优先级队列的数据包基于数据包信息被划分到子队列中包括:当将所述数据包送入相应的优先级队列中后,再根据所述数据包的所述五元组信息将其送入相应的子队列中。在一些实施方式中,第i个所述非默认优先级队列的实际带宽Bi满足:其中,第i个所述非默认优先级队列上有ni个子队列,每个所述子队列由所述令牌桶限制的带宽为bij。在一些实施方式中,所述默认优先级队列的实际带宽B0满足:其中所述转发端口的带宽为C,所述转发端口上有m条所述非默认优先级队列。在一些实施方式中,所述方法还包括:使用ECN标记取代随机丢包,引入DCTCP机制来控制所述转发端口的发送窗口。本专利技术实施例的另一方面提供了一种交换机端口流量排队装置,包括:至少一个处理器;和存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时实施上述方法来执行流量转发。本专利技术具有以下有益技术效果:本专利技术实施例提供的交换机端口流量排队方法使用严格优先级机制配合令牌桶算法实现对数据流的流量调度,兼顾各个优先级流量的端口转发策略,对确定性流量即非默认优先级的数据流进行带宽限制,保证数据流的带宽不超过其带宽上限,从而使得链路上高优先级的数据流都在规定的带宽内发送,避免高优先级的数据流对链路带宽的过度占用;同时基于网络的拥塞程度动态调整转发端口的发送窗口,可以合理控制转发端口的发送窗口,既保证了网络链路的高效利用,又减少甚至避免了网络的丢包,缩短了数据流的时延和时延抖动。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1是现有技术中按先进先出机制转发数据包的示意图;图2是现有技术中按严格优先级机制转发数据包的示意图;图3是根据本专利技术实施例的一种交换机端口流量排队方法的流程图;图4是根据本专利技术实施例的一种交换机端口流量排队装置的硬件结构示意图。具体实施方式以下描述了本公开的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式使用本专利技术的代表性基础。如本领域普通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,与本公开的教导相一致的特征的各种组合和修改对于某些特定应用或实施方式可能是期望的。为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。要对确定性流量即非默认优先级的数据流进行带宽限制,保证数据流的带宽不超过其带宽上限,从而使得链路上高优先级的数据流都在规定的带宽内发送,避免高优先级的数据流对链路带宽的过度占用。同一个优先级中可能有多种数据流,每一种数据流对应业务各不相同,如果只对队列进行限速,则同一种优先级的多个数据流之间依然存在着排队和相互影响的现象,因此,本方法于数据流的五元组对数据流进行分类,分别针对每一种数据流进行限速。限速即流量整形,是将端口的数据包平滑转发,并保证其发送速度不超过指定速度。令牌桶算法是流量整形中最常用的算法之一。令牌桶大小恒定,并以恒定的速率产生令牌,每一个数据包只有被分配到令牌后才能发送,数据包发送后令牌被消耗。如果令牌的消耗速度大于其产生速度,持续一段时间后,令牌桶为空,则数据包需要排队等待令牌产生后再发送。反之,如果令牌的产生速度大于其消耗速度,则令牌桶中令牌不断积累,直至令牌桶满。此时,即使令牌持续产生,可用令牌总数不再增加。于是,本专利技术实施本文档来自技高网...

【技术保护点】
1.一种交换机端口流量排队方法,其特征在于,包括以下步骤:在交换机端口上维护多个非默认优先级队列和一个优先级最低的默认优先级队列,并且在所述非默认优先级队列中维护多个子队列,每个所述子队列对应一个令牌桶;根据进入转发端口的数据包所属数据流的优先级将所述数据包送入相应的优先级队列中,其中进入所述非默认优先级队列的数据包基于数据包信息被划分到子队列中;在进入相应队列或子队列后,将所述数据包按以下规则进行发送:所述转发端口按优先级从高到低的顺序依次处理所述队列;在处理所述非默认优先级队列时,随机从各个子队列中选取数据包进行发送;当子队列为空或其对应的令牌桶为空时,则所述子队列停止发送数据包;当所述非默认优先级队列内的所有子队列都停止发送数据包时,所述转发端口转而处理下一个优先级的队列。

【技术特征摘要】
1.一种交换机端口流量排队方法,其特征在于,包括以下步骤:在交换机端口上维护多个非默认优先级队列和一个优先级最低的默认优先级队列,并且在所述非默认优先级队列中维护多个子队列,每个所述子队列对应一个令牌桶;根据进入转发端口的数据包所属数据流的优先级将所述数据包送入相应的优先级队列中,其中进入所述非默认优先级队列的数据包基于数据包信息被划分到子队列中;在进入相应队列或子队列后,将所述数据包按以下规则进行发送:所述转发端口按优先级从高到低的顺序依次处理所述队列;在处理所述非默认优先级队列时,随机从各个子队列中选取数据包进行发送;当子队列为空或其对应的令牌桶为空时,则所述子队列停止发送数据包;当所述非默认优先级队列内的所有子队列都停止发送数据包时,所述转发端口转而处理下一个优先级的队列。2.根据权利要求1所述的方法,其特征在于,所述规则还包括:当所述转发端口处理低优先级队列过程中,高优先级队列中有数据包可以发送时,中断所述低优先级队列的处理过程,优先发送所述高优先级队列中的数据包。3.根据权利要求1所述的方法,其特征在于,所述规则还包括:只有所有非默认优先级队列都停止发送数据包时,所述转发端口才处理所述默认优先级队列。4.根据权利要求3所述的方法,其特征在于,所述规则还包括:在处理所述默认优先级...

【专利技术属性】
技术研发人员:黄帅
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1