一种端口拥塞管理方法及装置制造方法及图纸

技术编号:13419910 阅读:75 留言:0更新日期:2016-07-27 20:35
本发明专利技术实施例公开了一种端口拥塞管理方法及装置,以解决高优先级报文的缓存得不到较好保障的问题,该方法包括:监控针对端口的共享缓存资源中的空闲缓存资源大小,在空闲缓存资源大小低于缓存拥塞阈值时,则确定端口对应的至少一个非空队列;根据至少一个非空队列分别对应的优先级对至少一个非空队列进行排序,获得非空队列排序结果;根据非空队列排序结果,从低优先级到高优先级在至少一个非空队列中筛选出至少一个目标队列;释放每个目标队列中包含的至少一个报文分别占用的缓存资源。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种端口拥塞管理方法及装置
技术介绍
随着互联网数据流需求的迅速增长,网络带宽资源是有限的,拥塞管理变得越来越重要。拥塞管理是指在网络发生拥塞时,如何进行管理和控制。拥塞管理的方法是使用队列技术,具体过程包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。当端口没有发生拥塞时,报文到达端口后立即被发送出去;当报文到达的速度超过端口发送报文的速度时,端口就发生了拥塞。拥塞管理就会将这些报文进行分类,送入不同的队列,而队列调度将对不同优先级的报文分别进行处理,优先级高的报文会得到优先处理。参阅图1所示为严格优先级(StrictPriority,SP)调度,高优先级的报文得到优先处理,即一个优先级的报文都处理完毕后,再去处理下一个相邻优先级的报文。在拥塞情况下,一个端口会使用多个不同优先级的队列对报文进行缓存,多个队列会共享一个缓存空间,当拥塞发生时,缓存空间很快耗完,后续到来的报文就会由于缓存不足而不分高低优先级地被丢弃。如果低优先级的报文比高优先级的报文提前占据缓存空间,后续高优先级的报文到来就会由于缓存空间耗尽而无法入队,而出口方向会对端口各个队列进行SP调度按优先级从高到低进行出队,因为高优先级的报文已经在入队时被丢弃,高优先级的队列补给不足,可能已经为空,此时出口流量看到的表象可能是更多的低优先级的报文。现有技术中提出多种保证高优先级报文缓存的方案。r>方案1提出单独给每个队列固定分配一定的缓存空间,缓存空间是队列私有的,队列之间不能相互抢占。但这种方式可能会出现某单个队列流量较大,其他队列都空闲的情形,就会导致整个端口有很大缓存空间是空闲的情况,仍会发生丢包,缓存空间的利用率较低,且高优先级报文的缓存得不到较好的保障。进一步地,方案1的改进方案提出:给每个队列分配一小部分私有的缓存空间使用阈值,即这部分的缓存是队列独享的,别的队列不能抢占,是一个最小保证的缓存空间,和一个队列最大缓存空间使用阈值,即该队列最大能占用的缓存空间,又名为队列尾丢阈值,当队列占用的缓存超过该阈值,新来的报文就会被丢弃。但是,该改进方案在有的队列占用的缓存超过队列尾丢阈值时,有的队列处于空闲状态,由于私有的缓存空间不能被别的队列占用,造成缓存的利用率仍然不高,但比改进前的利用率会有所提高。且在一般情况下,私有的缓存空间的阈值配置较小,在入口大流量造成拥塞时,高优先级的队列最多可能只占到队列尾丢阈值大小的缓存空间,后续到来的高优先级的报文仍会被丢弃,抗突发性较差,因此高优先级报文的缓存仍然得不到较好的保障。方案2为一种队列老化技术,提出在端口拥塞时,在队头丢弃长期处于拥塞状态的低优先级队列中的部分报文,直到此端口不拥塞为止。参阅图2所示,老化队列的触发条件是端口拥塞,即端口的缓存资源占用超过阈值age_flush_on(阈值可配)。老化队列的解除条件是端口拥塞解除,即端口的缓存资源占用低于阈值age_flush_off(阈值可配)。队列老化需要维护每个队列拥塞的时间。当端口进入老化队列功能时,选择允许老化并且长期处于拥塞的队列进行老化,直到此队列解除拥塞状态或者端口解除拥塞状态。老化拥塞时间通过定期刷新每个队列的拥塞状态来维护,定期刷新的周期可配。如果发现该队列已经拥塞,则把该队列的拥塞时间加1直到最大值3。当拥塞时间为最大值3时,说明此队列拥塞时间足够,允许老化。如果发现该队列不再拥塞,需要把拥塞时间清零。由上可知,方案2配置复杂,实现复杂,每个队列需要维护一个拥塞状态,拥塞状态是定期刷新的,解除拥塞不够及时,仍然使高优先级报文的缓存得不到较好的保障。
技术实现思路
本专利技术实施例的目的是提供一种端口拥塞管理方法及装置,以解决高优先级报文的缓存得不到较好保障的问题。本专利技术实施例的目的是通过以下技术方案实现的:第一方面,一种端口拥塞管理方法,包括:监控针对端口的共享缓存资源中的空闲缓存资源大小,所述空闲缓存资源大小是指所述共享缓存资源大小与所述共享缓存资源中被占用缓存资源大小的差值;在所述空闲缓存资源大小低于缓存拥塞阈值时,则筛选出所述端口对应的至少一个非空队列,其中,所述至少一个非空队列共享所述共享缓存资源,每个队列对应一个优先级,每个非空队列中包含的报文的优先级与该队列的优先级相同、且包含的报文数量超过预设数量;根据所述至少一个非空队列分别对应的优先级对所述至少一个非空队列进行排序,获得非空队列排序结果;根据所述非空队列排序结果,从低优先级到高优先级在所述至少一个非空队列中筛选出至少一个目标队列;释放每个目标队列中包含的至少一个报文分别占用的缓存资源。因此,本专利技术实施例通过在端口即将拥塞时将位于队头的低优先级的报文丢弃,保证了高优先级报文入队且不易被丢弃。结合第一方面,释放每个目标队列中包含的至少一个报文分别占用的缓存资源,包括:针对每个目标队列,按照报文到达该目标队列的先后次序从最先到达的报文开始依次释放至少一个报文占用的缓存资源。结合第一方面,释放每个目标队列中包含的至少一个报文分别占用的缓存资源,包括:确定所述至少一个目标队列的按优先级排序结果;根据所述排序结果从优先级最低的目标队列开始依次释放每个目标队列中包含的至少一个报文占用的缓存资源。因此,本专利技术实施例确保了报文丢弃的顺序是从最低优先级的非空队列中的报文开始,确保高优先级报文不被丢弃。结合第一方面,在释放每个目标队列中包含的至少一个报文分别占用的缓存资源之前,还包括:为所述端口正常出队的报文和需要释放缓存资源的报文分别配置对应的处理时隙;释放每个目标队列中包含的至少一个报文分别占用的缓存资源,包括:在所述需要释放缓存资源的报文对应的处理时隙,释放每个目标队列中包含的至少一个报文分别占用的缓存资源。因此,本专利技术实施例确保了报文丢弃和报文出队不会发生冲突。结合第一方面,还包括:在释放第一报文后,判断所述第一报文所属的第一目标队列是否为空,其中,所述第一报文为所述第一目标队列中的任意一个报文,所述第一目标队列为所述至少一个非空队列中的任意一个目标队列;根据判断结果更新所述端口对应的非空队列。因此,本专利技术实施例确保队列状态及时更新。结合第一方面,还包括:在释放所述第一报文后,更新所述空闲缓存资源大小;确定所述空闲缓存资源大小大于等于所述缓存拥塞阈值时,停止释放所述第一目标队列以及其他目标队列中的报文占本文档来自技高网...

【技术保护点】
一种端口拥塞管理方法,其特征在于,包括:监控针对端口的共享缓存资源中的空闲缓存资源大小,所述空闲缓存资源大小是指所述共享缓存资源大小与所述共享缓存资源中被占用缓存资源大小的差值;在所述空闲缓存资源大小低于缓存拥塞阈值时,则筛选出所述端口对应的至少一个非空队列,其中,所述至少一个非空队列共享所述共享缓存资源,每个队列对应一个优先级,每个非空队列中包含的报文的优先级与该队列的优先级相同、且包含的报文数量超过预设数量;根据所述至少一个非空队列分别对应的优先级对所述至少一个非空队列进行排序,获得非空队列排序结果;根据所述非空队列排序结果,从低优先级到高优先级在所述至少一个非空队列中筛选出至少一个目标队列;释放每个目标队列中包含的至少一个报文分别占用的缓存资源。

【技术特征摘要】
1.一种端口拥塞管理方法,其特征在于,包括:
监控针对端口的共享缓存资源中的空闲缓存资源大小,所述空闲缓存资源
大小是指所述共享缓存资源大小与所述共享缓存资源中被占用缓存资源大小
的差值;
在所述空闲缓存资源大小低于缓存拥塞阈值时,则筛选出所述端口对应的
至少一个非空队列,其中,所述至少一个非空队列共享所述共享缓存资源,每
个队列对应一个优先级,每个非空队列中包含的报文的优先级与该队列的优先
级相同、且包含的报文数量超过预设数量;
根据所述至少一个非空队列分别对应的优先级对所述至少一个非空队列
进行排序,获得非空队列排序结果;
根据所述非空队列排序结果,从低优先级到高优先级在所述至少一个非空
队列中筛选出至少一个目标队列;
释放每个目标队列中包含的至少一个报文分别占用的缓存资源。
2.如权利要求1所述的方法,其特征在于,释放每个目标队列中包含的
至少一个报文分别占用的缓存资源,包括:
针对每个目标队列,按照报文到达该目标队列的先后次序从最先到达的报
文开始依次释放至少一个报文占用的缓存资源。
3.如权利要求1或2所述的方法,其特征在于,释放每个目标队列中包
含的至少一个报文分别占用的缓存资源,包括:
确定所述至少一个目标队列的按优先级排序结果;
根据所述排序结果从优先级最低的目标队列开始依次释放每个目标队列
中包含的至少一个报文占用的缓存资源。
4.如权利要求1-3任一项所述的方法,其特征在于,在释放每个目标队
列中包含的至少一个报文分别占用的缓存资源之前,还包括:
为所述端口正常出队的报文和需要释放缓存资源的报文分别配置对应的

\t处理时隙;
释放每个目标队列中包含的至少一个报文分别占用的缓存资源,包括:
在所述需要释放缓存资源的报文对应的处理时隙,释放每个目标队列中包
含的至少一个报文分别占用的缓存资源。
5.如权利要求1-4任一项所述的方法,其特征在于,还包括:
在释放第一报文后,判断所述第一报文所属的第一目标队列是否为空,其
中,所述第一报文为所述第一目标队列中的任意一个报文,所述第一目标队列
为所述至少一个非空队列中的任意一个目标队列;
根据判断结果更新所述端口对应的非空队列。
6.如权利要求5所述的方法,其特征在于,还包括:
在释放所述第一报文后,更新所述空闲缓存资源大小;
确定所述空闲缓存资源大小大于等于所述缓存拥塞阈值时,停止释放所述
第一目标队列以及其他目标队列中的报文占用的缓存资源。
7.一种端口拥塞管理装置,其特征在于,包括:
监控单元,用于监控针对端口的共享缓存资源中的空闲缓存资源大小,所
...

【专利技术属性】
技术研发人员:吴锡攸滕焕勇游泳王俊华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1