动态调整入口资源分配阈值的方法及系统的制作方法

文档序号:7887048阅读:501来源:国知局
专利名称:动态调整入口资源分配阈值的方法及系统的制作方法
技术领域
本发明涉及网络交换机技术,尤其涉及一种根据缓存拥塞程度动态调整入口资源分配阈值的方法及系统。
背景技术
随着以太网和芯片技术的迅猛发展,交换机芯片的处理带宽不断增大,网络端口容量也与日俱增。同时,随着各端口支持的数据包种类的不断增加,各端口的数据包流的速率也变换多端。对于使用共享缓存的以太网交换机芯片,如何实现存储器资源在各端口之间动态有效合理分配,以满足各端口带宽需求成为决定城域网交换机芯片性能的关键因
ο现有的入口资源管理技术仅对每个端口占用的缓存资源进行统计,对每个端口分别设定一个最小保证的缓存资源阈值,和一个最大的丢弃缓存资源阈值。当网络流量比较小的时候,每个端口可以占用达到丢弃阈值数目的缓存资源;当网络流量出现拥塞以致总缓存资源的占用达到一定程度的时候,每个入端口只能占用达到对应的最小保证阈值数目的缓存资源,超过该阈值时,输入的数据包就会被丢弃。这种管理方式在各端口数据流量比较均勻的时候,能够有效分配各端口占用缓存的数量,从而满足各端口数据包流量的需求。然而,当同时交换机的网络出口出现拥塞,某一端口的数据包占用大量缓存资源时,但总的缓存占用量并未达到使用最小保证阈值的程度时,其他端口在没有超过设定的丢弃阈值的情况下,可能因为存储器资源耗尽而被迫丢弃输入的数据包。另外,如果出口端口数目较少,而每个端口设定的丢弃阈值又不够大时,缓存的资源不能得到充分的使用,造成资源的浪费。总之,现有的入口资源管理技术针对不同的网络流量情况,需要调整丢弃阈值,不能用一套配置满足所有的情况,资源分配方式不够灵活。

发明内容
本发明的目的在于提供一种动态调整入口资源分配阈值的方法,其根据每个端口所属的业务区中缓存资源使用的情况,对每个端口的丢弃阈值进行动态分配,并支持各端口上的流量控制,从而使得资源分配更为灵活。相应于所述方法,本发明还提供一种动态调整入口资源分配阈值的系统。为实现上述发明目的之一,本发明提供的一种动态调整入口资源分配阈值的方法,包括如下步骤
51、配置各输入端口相对应的丢弃阈值组、流控阈值组以及所映射的业务区,其中,每个业务区对应配置有若干阶段阈值以对应若干拥塞程度,所述丢弃阈值组包括若干丢弃阈值,所述流控阈值组包括若干对流控阈值,每对流控阈值包括一流控开启阈值和一流控关闭阈值;
52、根据输入数据包的输入端口号映射相应的业务区;
53、计算当前数据包所需占用的缓存单元数目,修改与当前输入端口相对应的端口计数器和业务区计数器的值;
54、根据所述业务区计数器的值与该业务区的各阶段阈值的比较,得出对应的拥塞程
度;
55、根据当前拥塞程度,确定相应的流控阈值以及丢弃阈值,并根据当前端口计数器的值与流控阈值的比较,确定向输入端口发送流控开启请求或关闭请求,并决定当前输入端口对应的流控请求状态;
56、根据所选取丢弃阈值与端口计数器的值的比较、以及流控请求状态,确定是否接受输入报文并写入共享缓存。作为本发明的进一步改进,所述步骤S5具体为 选取与当前拥塞程度匹配的流控阈值和丢弃阈值;
当端口计数器的值大于流控开启阈值时,向输入端口发送流控开启请求,并将流控请求状态置为1 ;
当端口计数器的值小于流控关闭阈值时,向输入端口发送流控关闭请求,并将流控请求状态置为0 ;
作为本发明的进一步改进,所述步骤S6具体为
561、判断当前流控请求状态的值是否为1,若是,则接收所有输入报文;若否,则跳转步骤S62 ;
562、判断当前端口计数器的值是否小于丢弃阈值,若是,则接收输入报文;若否,则丢弃输入报文;
563、将所有被接收的报文写入共享缓存。作为本发明的进一步改进,所述步骤S5还包括
当拥塞程度为所有端口都没有拥塞时,为每个输入端口配置第一类丢弃阈值; 当拥塞程度为某个端口出现拥塞时,为当前拥塞的输入端口配置第二类丢弃阈值; 当拥塞程度为多个端口出现拥塞时,为每个输入端口配置第三类丢弃阈值; 其中,所述第一类丢弃阈值 > 第二类丢弃阈值 > 第三类丢弃阈值。作为本发明的进一步改进,整个数据包缓存分为4个业务区,每个丢弃阈值组包括8个丢弃阈值,每个流控阈值组包括8对流控阈值,每个业务区配置8个阶段阈值对应8 个拥塞程度。为实现本发明另一发明目的,一种动态调整入口资源分配阈值的系统,包括如下单元
阈值配置单元、用于配置各输入端口相对应的丢弃阈值组、流控阈值组以及所映射的业务区,其中,每个业务区对应配置有若干阶段阈值以对应若干拥塞程度,所述丢弃阈值组包括若干丢弃阈值,所述流控阈值组包括若干对流控阈值,每对流控阈值包括一流控开启阈值和一流控关闭阈值;
业务区映射单元、用于根据输入数据包的输入端口号映射相应的业务区; 缓存单元统计单元、用于计算当前数据包所需占用的缓存单元数目,修改与当前输入端口相对应的端口计数器和业务区计数器的值;
拥塞程度处理单元、用于根据所述业务区计数器的值与该业务区的各阶段阈值的比较,得出对应的拥塞程度;
5流控请求控制单元、用于根据当前拥塞程度确定相应的流控阈值,并根据当前端口计数器的值与流控阈值的比较,确定向输入端口发送流控开启请求或关闭请求,并决定当前输入端口对应的流控请求状态;
丢弃控制单元、用于根据当前拥塞程度选取相应的丢弃阈值,并根据所选取丢弃阈值与端口计数器的值的比较、以及流控请求状态,确定是否接受输入报文并写入共享缓存。作为本发明的进一步改进,所述流控请求控制单元具体用于 选取与当前拥塞程度匹配的流控阈值和丢弃阈值;
当端口计数器的值大于流控开启阈值时,向输入端口发送流控开启请求,并将流控请求状态置为1 ;
当端口计数器的值小于流控关闭阈值时,向输入端口发送流控关闭请求,并将流控请求状态置为0 ;
作为本发明的进一步改进,所述丢弃控制单元具体用于
判断当前流控请求状态的值是否为1,若是,则接收所有输入报文;若否,则判断当前端口计数器的值是否小于丢弃阈值,若是,则接收输入报文;若否,则丢弃输入报文; 将所有被接收的报文写入共享缓存。作为本发明的进一步改进,所述丢弃控制单元还用于
当拥塞程度为所有端口都没有拥塞时,为每个输入端口配置第一类丢弃阈值; 当拥塞程度为某个端口出现拥塞时,为当前拥塞的输入端口配置第二类丢弃阈值; 当拥塞程度为多个端口出现拥塞时,为每个输入端口配置第三类丢弃阈值; 其中,所述第一类丢弃阈值 > 第二类丢弃阈值 > 第三类丢弃阈值。作为本发明的进一步改进,整个数据包缓存分为4个业务区,每个丢弃阈值组包括8个丢弃阈值,每个流控阈值组包括8对流控阈值,每个业务区配置8个阶段阈值对应8 个拥塞程度。与现有技术相比,本发明根据缓存业务区的拥塞程度情况,动态调整各输入端口丢弃阈值和流控阈值,合理调控各输入网络端口对缓存资源的共享。本发明可以使用一套阈值配置保证在任何输入端口拥塞程度下,各输入端口能够公平而有效的占用共享缓存, 而且在公平分配缓存资源的前提下,有效吸收突发输入数据包流量,从而使得缓存资源的分配更为灵活。


图1是本发明一实施方式中的动态调整入口资源分配阈值的方法的工作流程图; 图2表示本发明一实施方式中缓存资源的业务区分配图3表示图1所示的实施方式中阈值动态分配的原理图; 图4是本发明一实施方式中的动态调整入口资源分配阈值的系统的模块示意图。
具体实施例方式以下将结合附图所示的具体实施方式
对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
6
图1至图3所示的为本发明动态调整入口资源分配阈值的方法的一具体实施方式
,具体为交换机芯片各网络输入端口动态调整资源分配阈值的方法。在本实施方式中, 将整个数据包缓存分成若干个业务区(以4个为例),数据包缓存以某个数量(以256字节为例)为单位,划分成若干个缓存单元。参图1所示,在本发明优选的实施方式中,该方法包括可通过如下步骤来实现 Si、配置各输入端口相对应的丢弃阈值组、流控阈值组以及所映射的业务区,其中,每
个业务区对应配置有若干阶段阈值以对应若干拥塞程度,所述丢弃阈值组包括若干丢弃阈值,所述流控阈值组包括若干对流控阈值,每对流控阈值包括一流控开启阈值和一流控关闭阈值;优选地,在本实施方式中,整个数据包缓存分为4个业务区,每个丢弃阈值组包括8 个丢弃阈值,每个流控阈值组包括8对流控阈值,每个业务区配置8个阶段阈值对应8个拥塞程度。具体地,拥塞程度即表示当前各端口的数据输入端口的使用情况,本实施方式中设置的8个阶段阈值分别对应8种拥塞程度不同的情况。当然,在其他实施方式中,阶段阈值的数目可视情况做相应设置。参图2所示,在本实施方式中,业务区包括4个,分别为业务区0、业务区1、业务区 2、业务区3。不同的业务区所对应的标准不尽相同,本发明中,事先需为每个端口配置一个适当的业务区类别。S2、根据输入数据包的输入端口号映射相应的业务区;优选地,当数据包将要从某输入端口输入时,通过识别当前端口的端口号,相应映射到与该端口号匹配的业务区编号 (0、1、2、3),从而获知当前输入端口所映射的业务区。S3、计算当前数据包所需占用的缓存单元数目,修改与当前输入端口相对应的端口计数器和业务区计数器的值;其中,根据每个输入数据包的长度,计算所需要的缓存单元数量,不足长度单位的数据包长度部分按一个缓存单元计算。本方法按上述原则统计每个输入端口所占用的缓存单元数量,同时统计分配到该端口的缓存业务区已使用的缓存单元数量。优选地,在本实施方式中,根据数据包输入逻辑和数据包读取逻辑维护缓存单元计数器,统计每个端口和映射到同一个业务区的所有端口总共使用的缓存单元的数量,称为端口计数器和业务区计数器。具体地,当一个数据包待输入时,对应端口计数器和业务区计数器加上该数据包占用的缓存单元数目;当数据包读取逻辑读取一个数据包时,从对应端口计数器和业务区计数器减去该数据包占用的资源单元数目。S4、根据所述业务区计数器的值与该业务区的各阶段阈值的比较,得出对应的拥塞程度;其中,将输入数据包所属端口映射的业务区计数器的当前值与该业务区对应的8 个阶段阈值逐一进行比较,以决定缓存业务区的拥塞程度(以数值0到7表示)。S5、根据当前拥塞程度,确定相应的流控阈值以及丢弃阈值,并根据当前端口计数器的值与流控阈值的比较,确定向输入端口发送流控开启请求或关闭请求,并决定当前输入端口对应的流控请求状态;其中,流控阈值和丢弃阈值均从之前所述的由8个不同值组成的一个组里面挑选出来的(视当前拥塞程度而定)。其中,在本实施方式中,步骤S5具体为
首先,选取与当前拥塞程度匹配的流控阈值和丢弃阈值;
然后,当端口计数器的值大于流控开启阈值时,向输入端口发送流控开启请求,并将流控请求状态置为1 (若原来便是1,那便不作改变;若原来是0,则将其变为1);其中,值得一提的是设置流控请求状态的目的便在于在特殊情况下,需要保证所有输入的数据不被丢弃,那只需要通过将此流控请求状态置为1便可以实现,同时,当输入端口接收到流控开启请求时,应停止输入数据包。或者,当端口计数器的值小于流控关闭阈值时,向输入端口发送流控关闭请求,并将流控请求状态变为0 (若原来便是0,那变不作改变;若原来是1,则将其变为0);
更为重要的是,步骤S5还包括
当拥塞程度为所有端口都没有拥塞时,为每个输入端口配置第一类丢弃阈值; 当拥塞程度为某个端口出现拥塞时,为当前拥塞的输入端口配置第二类丢弃阈值; 当拥塞程度为多个端口出现拥塞时,为每个输入端口配置第三类丢弃阈值; 其中,所述第一类丢弃阈值 > 第二类丢弃阈值 > 第三类丢弃阈值。具体来说,在本实施方式中,每个输入端口的丢弃阈值可以通过拥塞端口的数量和共享缓存资源的使用情况动态调整。当输入端口流量没有形成拥塞时,每个端口都可以使用一个较大的阈值(第一类丢弃阈值)以吸收比较大的突发数据包流量;当某个端口出现拥塞的时候,共享缓存资源的占用量增大,各端口的阈值有所降低,拥塞端口的阈值(第二类丢弃阈值)较其他端口更大,以满足该拥塞端口的流量需求,当该拥塞端口所占用的缓存单元数量超过该端口的丢弃阈值时,输入的数据包将会被丢弃;当多个端口出现拥塞的时候,各端口使用相似的阈值(第三类丢弃阈值),共享缓存资源在各端口间公平均勻分配。此时,当某端口所占用的缓存单元数量超过该端口的丢弃阈值时,输入的数据包将会被丢弃。 此方法能够让输入端口有效的使用数据包缓存,同时在网络流量没有形成拥塞的情况下, 能够吸收端口的突发流量。S6、根据所选取丢弃阈值与端口计数器的值的比较、以及流控请求状态,确定是否接受输入报文并写入共享缓存。该步骤具体为
561、判断当前流控请求状态的值是否为1,若是,则接收所有输入报文;若否,则跳转步骤S62 ;
562、判断当前端口计数器的值是否小于丢弃阈值,若是,则接收输入报文;若否,则丢弃输入报文;
563、将所有被接收的报文写入共享缓存。参图4所示,在本发明一实施方式中,相应于上述方法,一种动态调整入口资源分配阈值的系统,包括如下单元
阈值配置单元10、用于配置各输入端口相对应的丢弃阈值组、流控阈值组以及所映射的业务区,其中,每个业务区对应配置有若干阶段阈值以对应若干拥塞程度,所述丢弃阈值组包括若干丢弃阈值,所述流控阈值组包括若干对流控阈值,每对流控阈值包括一流控开启阈值和一流控关闭阈值;优选地,在本实施方式中,整个数据包缓存分为4个业务区,每个丢弃阈值组包括8个丢弃阈值,每个流控阈值组包括8对流控阈值,每个业务区配置8个阶段阈值对应8个拥塞程度。具体地,拥塞程度即表示当前各端口的数据输入端口的使用情况,本实施方式中设置的8个阶段阈值分别对应8种拥塞程度不同的情况。当然,在其他实施方式中,阶段阈值的数目可视情况做相应设置。在本实施方式中,业务区包括4个,分别为业务区0、业务区1、业务区2、业务区3。不同的业务区所对应的标准不尽相同,本发明中,事先需为每个端口配置一个适当的业务区类别。业务区映射单元20、用于根据输入数据包的输入端口号映射相应的业务区;优选地,当数据包将要从某输入端口输入时,通过识别当前端口的端口号,相应映射到与该端口号匹配的业务区编号(0、1、2、3),从而获知当前输入端口所映射的业务区。缓存单元统计单元30、用于计算当前数据包所需占用的缓存单元数目,修改与当前输入端口相对应的端口计数器和业务区计数器的值;其中,根据每个输入数据包的长度, 计算所需要的缓存单元数量,不足长度单位的数据包长度部分按一个缓存单元计算。本方法按上述原则统计每个输入端口所占用的缓存单元数量,同时统计分配到该端口的缓存业务区已使用的缓存单元数量。优选地,在本实施方式中,根据数据包输入逻辑和数据包读取逻辑维护缓存单元计数器,统计每个端口和映射到同一个业务区的所有端口总共使用的缓存单元的数量,称为端口计数器和业务区计数器。具体地,在该单元中,当一个数据包待输入时,对应端口计数器和业务区计数器加上该数据包占用的缓存单元数目;当数据包读取逻辑读取一个数据包时,从对应端口计数器和业务区计数器减去该数据包占用的资源单元数目。拥塞程度处理单元40、用于根据所述业务区计数器的值与该业务区的各阶段阈值的比较,得出对应的拥塞程度;其中,将输入数据包所属端口映射的业务区计数器的当前值与该业务区对应的8个阶段阈值逐一进行比较,以决定缓存业务区的拥塞程度(以数值0到 7表示)。流控请求控制单元51、用于根据当前拥塞程度确定相应的流控阈值,并根据当前端口计数器的值与流控阈值的比较,确定向输入端口发送流控开启请求或关闭请求,并决定当前输入端口对应的流控请求状态;
其中,在本实施方式中,流控请求控制单元51具体用于 首先,选取与当前拥塞程度匹配的流控阈值和丢弃阈值;
然后,当端口计数器的值大于流控开启阈值时,向输入端口发送流控开启请求,并将流控请求状态置为1 (若原来便是1,那变不作改变;若原来是0,则将其变为1);其中,值得一提的是设置流控请求状态的目的便再在于在特殊情况下,需要保证所有输入的数据不被丢弃,那只需要通过将此流控请求状态置为1便可以实现,同时,当输入端口接收到流控开启请求时,应停止输入数据包。或者,当端口计数器的值小于流控关闭阈值时,向输入端口发送流控关闭请求,并将流控请求状态变为0 (若原来便是0,那变不作改变;若原来是1,则将其变为0);
丢弃控制单元52、用于根据当前拥塞程度选取相应的丢弃阈值,并根据所选取丢弃阈值与端口计数器的值的比较、以及流控请求状态,确定是否接受输入报文并写入共享缓存 90。值得一提的是,该装置的实现还包括一数据报文输入处理逻辑70和一数据报文读取逻辑80。所述丢弃控制单元52具体的实现过程为
首先,需要判断当前流控请求状态的值是否为1,若是,则在此情况下,无论端口计数器的大小是多少,系统将接收所有输入报文;若否,则判断当前端口计数器的值是否小于丢弃阈值,若是,则接收输入报文;若否,则丢弃输入报文;在此之后,将所有被接收的报文写入共享缓存90。所述丢弃控制单元52还用于
当拥塞程度为所有端口都没有拥塞时,为每个输入端口配置第一类丢弃阈值; 当拥塞程度为某个端口出现拥塞时,为当前拥塞的输入端口配置第二类丢弃阈值; 当拥塞程度为多个端口出现拥塞时,为每个输入端口配置第三类丢弃阈值; 其中,所述第一类丢弃阈值 > 第二类丢弃阈值 > 第三类丢弃阈值。具体来说,在本实施方式中,每个输入端口的丢弃阈值可以通过拥塞端口的数量和共享缓存资源的使用情况动态调整。当输入端口流量没有形成拥塞时,每个端口都可以使用一个较大的阈值(第一类丢弃阈值)以吸收比较大的突发数据包流量;当某个端口出现拥塞的时候,共享缓存资源的占用量增大,各端口的阈值有所降低,拥塞端口的阈值(第二类丢弃阈值)较其他端口更大,以满足该拥塞端口的流量需求,当该拥塞端口所占用的缓存单元数量超过该端口的丢弃阈值时,输入的数据包将会被丢弃;当多个端口出现拥塞的时候,各端口使用相似的阈值(第三类丢弃阈值),共享缓存资源在各端口间公平均勻分配。此时,当某端口所占用的缓存单元数量超过该端口的丢弃阈值时,输入的数据包将会被丢弃。 此方法能够让输入端口有效的使用数据包缓存,同时在网络流量没有形成拥塞的情况下, 能够吸收端口的突发流量。本发明设计一种入口资源管理器,通过将数据包缓存划分成不同的业务区,并将各个网络端口分配到不同的业务区中。根据每个端口所属的业务区中缓存资源使用的情况,对每个端口的丢弃阈值进行动态分配。同时,在每个端口上支持流量控制,根据其对应的业务区中缓存的使用情况,动态调整流量控制请求信号的产生阈值,并通过流量控制请求信号适当降低输入数据包的速率。本发明根据缓存业务区的拥塞程度情况,动态调整各输入端口丢弃阈值和流控阈值,合理调控各输入网络端口对缓存资源的共享。本发明可以使用一套阈值配置保证在任何输入端口拥塞程度下,各输入端口能够公平而有效的占用共享缓存,而且在公平分配缓存资源的前提下,有效吸收突发输入数据包流量。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。 上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种动态调整入口资源分配阈值的方法,其特征在于,该方法包括如下步骤51、配置各输入端口相对应的丢弃阈值组、流控阈值组以及所映射的业务区,其中,每个业务区对应配置有若干阶段阈值以对应若干拥塞程度,所述丢弃阈值组包括若干丢弃阈值,所述流控阈值组包括若干对流控阈值,每对流控阈值包括一流控开启阈值和一流控关闭阈值;52、根据输入数据包的输入端口号映射相应的业务区;53、计算当前数据包所需占用的缓存单元数目,修改与当前输入端口相对应的端口计数器和业务区计数器的值;54、根据所述业务区计数器的值与该业务区的各阶段阈值的比较,得出对应的拥塞程度;55、根据当前拥塞程度,确定相应的流控阈值以及丢弃阈值,并根据当前端口计数器的值与流控阈值的比较,确定向输入端口发送流控开启请求或关闭请求,并决定当前输入端口对应的流控请求状态;56、根据所选取丢弃阈值与端口计数器的值的比较、以及流控请求状态,确定是否接受输入报文并写入共享缓存。
2.根据权利要求1所述的方法,其特征在于,所述步骤S5具体为选取与当前拥塞程度匹配的流控阈值和丢弃阈值;当端口计数器的值大于流控开启阈值时,向输入端口发送流控开启请求,并将流控请求状态置为1 ;当端口计数器的值小于流控关闭阈值时,向输入端口发送流控关闭请求,并将流控请求状态置为0。
3.根据权利要求1所述的方法,其特征在于,所述步骤S6具体为561、判断当前流控请求状态的值是否为1,若是,则接收所有输入报文;若否,则跳转步骤S62 ;562、判断当前端口计数器的值是否小于丢弃阈值,若是,则接收输入报文;若否,则丢弃输入报文;563、将所有被接收的报文写入共享缓存。
4.根据权利要求1所述的方法,其特征在于,所述步骤S5还包括当拥塞程度为所有端口都没有拥塞时,为每个输入端口选择第一类丢弃阈值;当拥塞程度为某个端口出现拥塞时,为当前拥塞的输入端口选择第二类丢弃阈值;当拥塞程度为多个端口出现拥塞时,为每个输入端口选择第三类丢弃阈值;其中,所述第一类丢弃阈值 > 第二类丢弃阈值 > 第三类丢弃阈值。
5.根据权利要求1至4任意一项所述的方法,其特征在于,整个数据包缓存分为4个业务区,每个丢弃阈值组包括8个丢弃阈值,每个流控阈值组包括8对流控阈值,每个业务区配置8个阶段阈值对应8个拥塞程度。
6.一种动态调整入口资源分配阈值的系统,其特征在于,其包括如下单元阈值配置单元、用于配置各输入端口相对应的丢弃阈值组、流控阈值组以及所映射的业务区,其中,每个业务区对应配置有若干阶段阈值以对应若干拥塞程度,所述丢弃阈值组包括若干丢弃阈值,所述流控阈值组包括若干对流控阈值,每对流控阈值包括一流控开启阈值和一流控关闭阈值;业务区映射单元、用于根据输入数据包的输入端口号映射相应的业务区; 缓存单元统计单元、用于计算当前数据包所需占用的缓存单元数目,修改与当前输入端口相对应的端口计数器和业务区计数器的值;拥塞程度处理单元、用于根据所述业务区计数器的值与该业务区的各阶段阈值的比较,得出对应的拥塞程度;流控请求控制单元、用于根据当前拥塞程度确定相应的流控阈值,并根据当前端口计数器的值与流控阈值的比较,确定向输入端口发送流控开启请求或关闭请求,并决定当前输入端口对应的流控请求状态;丢弃控制单元、用于根据当前拥塞程度选取相应的丢弃阈值,并根据所选取丢弃阈值与端口计数器的值的比较、以及流控请求状态,确定是否接受输入报文并写入共享缓存。
7.根据权利要求6所述的系统,其特征在于,所述流控请求控制单元具体用于 选取与当前拥塞程度匹配的流控阈值和丢弃阈值;当端口计数器的值大于流控开启阈值时,向输入端口发送流控开启请求,并将流控请求状态置为1 ;当端口计数器的值小于流控关闭阈值时,向输入端口发送流控关闭请求,并将流控请求状态置为0。
8.根据权利要求6所述的系统,其特征在于,所述丢弃控制单元具体用于判断当前流控请求状态的值是否为1,若是,则接收所有输入报文;若否,则判断当前端口计数器的值是否小于丢弃阈值,若是,则接收输入报文;若否,则丢弃输入报文; 将所有被接收的报文写入共享缓存。
9.根据权利要求6所述的系统,其特征在于,所述丢弃控制单元还用于当拥塞程度为所有端口都没有拥塞时,为每个输入端口配置第一类丢弃阈值; 当拥塞程度为某个端口出现拥塞时,为当前拥塞的输入端口配置第二类丢弃阈值; 当拥塞程度为多个端口出现拥塞时,为每个输入端口配置第三类丢弃阈值; 其中,所述第一类丢弃阈值 > 第二类丢弃阈值 > 第三类丢弃阈值。
10.根据权利要求6至9任意一项所述的系统,其特征在于,整个数据包缓存分为4个业务区,每个丢弃阈值组包括8个丢弃阈值,每个流控阈值组包括8对流控阈值,每个业务区配置8个阶段阈值对应8个拥塞程度。
全文摘要
本发明揭示了一种动态调整入口资源分配阈值的方法,其包括如下步骤配置各输入端口相对应的丢弃阈值组、流控阈值组以及所映射的业务区;根据输入数据包的输入端口号映射相应的业务区;修改与当前输入端口相对应的端口计数器和业务区计数器的值;得出对应的拥塞程度;根据当前拥塞程度,确定相应的流控阈值以及丢弃阈值,并确定当前输入端口对应的流控请求状态;根据所选取丢弃阈值,确定是否接受输入报文并写入共享缓存;根据所选取的流控阈值以及流控请求状态,决定向输入端口发送流控开启请求或关闭请求。本发明根据缓存业务区的拥塞程度情况,动态调整各输入端口丢弃阈值以及流控阈值,合理调控各输入网络端口对缓存资源的共享。
文档编号H04L12/56GK102420776SQ20121000812
公开日2012年4月18日 申请日期2012年1月12日 优先权日2012年1月12日
发明者许俊, 龚源泉 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1