网络设备的自适应限速方法及其系统与流程

文档序号:16198683发布日期:2018-12-08 06:23阅读:209来源:国知局
网络设备的自适应限速方法及其系统与流程

本发明涉及互联网接入设备领域,具体涉及一种网络设备的自适应限速方法及其系统。

背景技术

互联网接入设备顾名思义,就是一种可以使终端用户接入互联网的硬件设备。pononu(passiveopticalnetwork:无源光纤网络,opticalnetworkunit:光网络单元)就是一种常用的采用无源光网络技术的接入设备。

pononu最常用的应用场景是ftth(fibertothehome,光纤直接到家庭),一般具有1-4个以太网接口和一个pon接口。主要功能是转发终端用户访问互联网的上下行数据。

onu设备在实现时通常采用cpu加网络处理器(networkprocessor简称np)的方案,数据包到达后首先会由cpu处理,通过软件协议栈转发,在这个过程中将转发规则记录下来,并配置到np的加速表中。随后到达的数据包将直接匹配np中的规则,由处理速度更快的np转发。从上述工作过程的描述可以看出,数据转发过程非常依赖cpu的处理,在正常使用时因为转发数据都是有规律的tcp/udp(transmissioncontrolprotocol,传输控制协议;userdatagramprotocol,用户数据报协议)协议流,可以在学习转发规则后通过np转发,所以要cpu处理的数据量不大,但当网络环境发生异常时,或者遇到恶意攻击时,会有大量数据包进入cpu,这时可能导致cpu占用率过高,无法处理所有的数据包,其上运行的其他进程的工作也会受到影响。

为了防止进入cpu数量过多导致整个软件系统受到影响,需要对进入的数据包进行限速。通常的限速基于令牌桶限速机制:

1、根据设定的总限速速率,令牌以一定的速率放入桶中;

2、每个令牌允许接收一个包,每接收一个包,就要从桶中删除一个令牌;

3、如果桶中没有足够的令牌,这个包就会被丢弃;

4、桶有特定的容量,如果桶已经满了,新加入的令牌就会被丢弃。因此,在任何时候,接收的最大突发数据量与桶的大小成比例。令牌桶允许突发,但是不能超过限制。

令牌桶方法实现起来简单,但会不加区分的限制所有数据包,这样用户正常访问的数据包肯定也会受到影响。一种常见的改进方法是根据数据包协议类型设定不同的限速速率,这样不同种类的数据包之间不会互相干扰,但同种数据之间的影响仍然存在。比如如果限制了广播包速率,那么在网络中发生广播风暴时,用户正常的arp(addressresolutionprotocol,地址解析协议)学习,肯定会被影响。此外这种方法还需要预先设定不同数据包类型的限速速率,如果要修改也只能通过人工来设定,缺乏对实际环境的应变能力。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种网络设备的自适应限速方法,其能根据当前网络环境,自动学习数据包类型和速率,当需要限速时,根据学习到的信息进行限速。

为达到以上目的,本发明采取的技术方案是:

一种网络设备的自适应限速方法,该方法包括以下步骤:

s1.定义n组特征值结构体,n为正整数,每组特征值结构体均包括多个用于区分数据包类型的特征值;

s2.根据数据包进入cpu的总速率,判断数据包需要限速,还是需要进入数据包的学习归类;若需要限速,则按照限制每秒处理数据包数量的方式进行限速,若需要进入数据包的学习归类,转到步骤s3;

s3.依次提取每个数据包的特征值,依次计算每个数据包与n组特征值结构体组成的n+1个特征值结构体两两之间的相似度,将相似度最高的两个特征值结构体归为一类,形成新的n组特征值结构体,并对进行归类的特征值结构体的特征值进行更新,转到步骤s4;

s4.继续统计数据包进入cpu的总速率,判断数据包需要继续进行数据包的学习归类,还是需要限速,若需要继续进行数据包的学习归类,则返回步骤s3;若需要限速,计算归类后每一类数据包进入cpu的平均速率,根据每一类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配限速速率,并根据限速速率对相应类型的数据包进行限速。

在上述技术方案的基础上,所述步骤s2具体包括以下步骤:

设定第一门限值p0和第二门限值p1,获取数据包进入cpu的总速率v,若v>p1,按照一个数据包消耗一个令牌的方式进行限速;若p0≤v≤p1,网卡驱动正常接收数据包;若v<p0,则进入数据包的学习归类。

在上述技术方案的基础上,

所述数据包和特征值结构体的特征均包括目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型;

步骤s3中,计算每个数据包与n组特征值结构体组成的n+1个特征值结构体两两之间的相似度,具体包括以下步骤:

对于目的mac地址或源mac地址,若任意两个特征值结构体的目的mac地址或源mac地址相同,则相似度为a;若目的mac地址或源mac地址不相同,但是目的mac地址或源mac地址的类别相同,则相似度为b;若目的mac地址或源mac地址不相同,且目的mac地址或源mac地址的类别也不相同,则相似度为c,a、b、c均为自然数,且a>b>c;

对于目的ip地址或源ip地址,若任意两个特征值结构体的目的ip地址或源ip地址相同,则相似度为a;若目的ip地址或源ip地址不相同,但是目的ip地址或源ip地址的类别相同,则相似度为b;若目的ip地址或源ip地址不相同,且目的ip地址或源ip地址的类别也不相同,则相似度为c;

对于以太网类型,若任意两个特征值结构体的以太网类型相同,则相似度为a;若不相同,则相似度为c;

对于ip协议类型,若任意两个特征值结构体的ip协议类型相同,则相似度为a;若不相同,则相似度为c;

将任意两个特征值结构体的目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型比较后得到的相似度值相加,得到n个最终的总相似度,将总相似度最高的那两个特征值结构体归为一类。

在上述技术方案的基础上,步骤s4中,计算归类后每一类数据包进入cpu的平均速率,具体包括以下步骤:

启动定时器,记录进入数据包的学习归类的时刻,以及终止该次数据包的学习归类的时刻,获取该次数据包的学习归类运行的总时间t;

统计第i类数据包在总时间t内进入cpu的数量ci;

计算第i类数据包进入cpu的平均速率ri=ci/t。

在上述技术方案的基础上,所述步骤s4具体包括以下步骤:

获取数据包进入cpu的总速率v;

若v<p0,则继续进行数据包的学习归类;

若p0≤v≤p1,则终止进行数据包的学习归类;

若v>p1,则根据第i类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配对应的令牌数其中,xi为第i类数据包分配的令牌数,k为限速倍率,ri为第i类数据包进入cpu的平均速率,m为总的令牌数;根据令牌数xi对第i类数据包进行限速,限速倍率k可以动态调整,初始值为1,若限速之后cpu利用率大幅度降低,则可以逐步增加k的大小,直到达到第二门限值p1,反之,若超过了第二门限值p1,则需要减少k值。

与此同时,本发明的另一个目的在于提供一种网络设备的自适应限速系统,其能根据当前网络环境,自动学习数据包类型和速率,当需要限速时,根据学习到的信息进行限速。

为达到以上目的,本发明采取的技术方案是:一种网络设备的自适应限速系统,包括:

判断检测模块,其用于检测数据包进入cpu的总速率,并根据数据包进入cpu的总速率判断数据包是需要限速,还是需要进入数据包的学习归类;

onu设备网卡驱动,其用于定义n组特征值结构体,n为正整数,每组特征值结构体均包括多个用于区分数据包类型的特征值;以及根据所述判断检测模块的判断结果,用于对数据包进行限速,或用于对数据包进行学习归类;

计算模块,其用于依次提取每个数据包的特征值,依次计算每个数据包与n组特征值结构体组成的n+1个特征值结构体两两之间的相似度,将相似度最高的两个特征值结构体归为一类,形成新的n组特征值结构体,并对进行归类的特征值结构体的特征值进行更新;以及计算归类后每一类数据包进入cpu的平均速率;

分配模块,其用于根据每一类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配限速速率,并驱使onu设备网卡驱动根据限速速率对相应类型的数据包进行限速。

在上述技术方案的基础上,

所述onu设备网卡驱动设定第一门限值p0和第二门限值p1,获取数据包进入cpu的总速率v,若v>p1,按照一个数据包消耗一个令牌的方式进行限速;若p0≤v≤p1,网卡驱动正常接收数据包;若v<p0,则进入数据包的学习归类。

在上述技术方案的基础上,

所述数据包和特征值结构体的特征均包括目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型;

所述计算每个数据包与n组特征值结构体组成的n+1个特征值结构体两两之间的相似度的过程为:

对于目的mac地址或源mac地址,若任意两个特征值结构体的目的mac地址或源mac地址相同,则相似度为a;若目的mac地址或源mac地址不相同,但是目的mac地址或源mac地址的类别相同,则相似度为b;若目的mac地址或源mac地址不相同,且目的mac地址或源mac地址的类别也不相同,则相似度为c,a、b、c均为自然数,且a>b>c;

对于目的ip地址或源ip地址,若任意两个特征值结构体的目的ip地址或源ip地址相同,则相似度为a;若目的ip地址或源ip地址不相同,但是目的ip地址或源ip地址的类别相同,则相似度为b;若目的ip地址或源ip地址不相同,且目的ip地址或源ip地址的类别也不相同,则相似度为c;

对于以太网类型,若任意两个特征值结构体的以太网类型相同,则相似度为a;若不相同,则相似度为c;

对于ip协议类型,若任意两个特征值结构体的ip协议类型相同,则相似度为a;若不相同,则相似度为c;

将任意两个特征值结构体的目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型比较后得到的相似度值相加,得到n个最终的总相似度,将总相似度最高的那两个特征值结构体归为一类。

在上述技术方案的基础上,所述计算模块计算归类后每一类数据包进入cpu的平均速率的过程为:

启动定时器,记录进入数据包的学习归类的时刻,以及终止该次数据包的学习归类的时刻,获取该次数据包的学习归类运行的总时间t;

统计第i类数据包在总时间t内进入cpu的数量ci;

计算第i类数据包进入cpu的平均速率ri=ci/t。

在上述技术方案的基础上,所述分配模块驱使onu设备网卡驱动根据限速速率对数据包进行限速的过程包括:

获取数据包进入cpu的总速率v;

若v<p0,则继续进行数据包的学习归类;

若p0≤v≤p1,则终止进行数据包的学习归类;

若v>p1,则根据第i类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配对应的令牌数其中,xi为第i类数据包分配的令牌数,k为限速倍率,ri为第i类数据包进入cpu的平均速率,m为总的令牌数;根据令牌数xi对第i类数据包进行限速,限速倍率k可以动态调整,初始值为1,若限速之后cpu利用率大幅度降低,则可以逐步增加k的大小,直到达到第二门限值p1,反之,若超过了第二门限值p1,则需要减少k值。

与现有技术相比,本发明的优点在于:

本发明中的网络设备的自适应限速方法,可以根据当前网络环境,自动学习数据包的类型和速率,当需要限速时,根据已经学习到的信息进行限速,这种方法能够做到对网络环境的自适应。由于onu设备正常工作过程中进入cpu的数据包较少,本方法中计算量较大的学习分类过程正好选择在此时进行,故不会造成cpu资源的紧张。另外,本方法中所有的参数可以在设备出厂前设置完成,不需要用户额外配置,整个工作流程也是自动进行的,期间不需要人工干预。

附图说明

图1为本发明实施例中网络设备的自适应限速方法的流程图;

图2为本发明实施例中数据包和特征值结构体的定义图;

图3为本发明实施例中步骤s2的流程图;

图4为本发明实施例中步骤s3的流程图;

图5为本发明实施例中步骤s4的流程图.

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

实施例1:

参见图1所示,本实施例提供一种网络设备的自适应限速方法,该方法包括以下步骤:

s1.定义n组特征值结构体,n为正整数,每组特征值结构体均包括多个用于区分数据包类型的特征值;

在网卡驱动初始化时要定义一个长度为n的数组,数组的每个成员是一个报文特征值结构体,每组特征值结构体均包括多个特征值。对于收到的以太网帧,这些特征值在其中的位置都是相对固定的,可以很容易提取出来。n的具体取值根据内存空间大小和cpu处理能力选择。

s2.根据数据包进入cpu的总速率,判断数据包需要限速,还是需要进入数据包的学习归类;若需要限速,则按照限制每秒处理数据包数量的方式进行限速,若需要进入数据包的学习归类,转到步骤s3;

具体流程参见图3所示,

s21.获取数据包进入cpu的总速率v;

s22.判断v与设定的第二门限值p1的大小,若v>p1,执行步骤s23;否则,执行步骤s24;

s23.按照一个数据包消耗一个令牌的方式进行限速;

s24.进一步判断v与设定第一门限值p0的大小,若v<p0,执行步骤s26;否则,执行步骤s25;

s25.网卡驱动正常接收数据包;

s26.进入数据包的学习归类。

这里第一门限值p0和第二门限值p1的单位是packetspersecond,即每秒处理包的数量,简称pps。第一门限值p0和第二门限值p1的大小根据对应速率的cpu占用率决定,cpu处理能力高时,第一门限值p0和第二门限值p1可以设的较大,否则需要减小。

s3.依次提取每个数据包的特征值,依次计算每个数据包与n组特征值结构体组成的n+1个特征两两之间的相似度,将相似度最高的两个特征归为一类,形成新的n组特征值结构体,并对进行归类的特征值结构体的特征值进行更新,转到步骤s4;

具体而言,对初始接收到的n个数据包,将直接依次保存在数组中。也就是说这n个数据包就是所定义的n组特征值结构体。从第n+1个数据包开始,可以得到n+1个特征值结构体,计算这n+1个特征值结构体互相之间的相似度,将相似度最高的两个特征结构体归为一类,并更新这一类的特征值,同时还需要增加这一类的计数。相似度最高的两个特征结构体有可能是之前所定义的n组特征值结构体中的两个,此时,以第n+1个数据包为例,第n+1个数据包将会形成一个类别,来填补之前n组特征值结构体中由于归类而形成的空缺,保证始终具备n组特征值结构体,来进行后续的相似度计算。

更新特征值直接使用新的特征值替换原来的特征值,保证每类特征始终是当前环境中最新的特征。具体可以通过数据包进入cpu的时间来判断,以后进入cpu的那个数据包的特征值为新的特征值,来作为其所归的那一类特征值结构体更新后的特征值,参与后续的相似度计算。

具体流程参见图4所示,

s31.统计所收到的数据包;

s32.判断所收到的数据包的总数是否小于等于n,若是,执行步骤s33,若否,执行步骤s34;

s33.将数据包直接保存在数组中;

s34.从第n+1个数据包开始,计算n+1个特征值结构体两两之间的相似度;

s35.将相似度最高的两个特征结构体归为一类;

s36.新收到数据包所属类计数加1。

s4.继续统计数据包进入cpu的总速率,判断数据包需要继续进行数据包的学习归类,还是需要限速,若需要继续进行数据包的学习归类,则返回步骤s3;若需要限速,计算归类后每一类数据包进入cpu的平均速率,根据每一类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配限速速率,并根据限速速率对相应类型的数据包进行限速。

具体流程参见图5所示,

s41.获取数据包进入cpu的总速率v;

s42.判断v与设定的第二门限值p1的大小,若v>p1,执行步骤s43;否则,执行步骤s44;

s43.计算归类后每一类数据包进入cpu的平均速率,根据每一类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配限速速率,并根据限速速率对相应类型的数据包进行限速;

s44.进一步判断v与设定第一门限值p0的大小,若v<p0,执行步骤s46;否则,执行步骤s45;

s45.网卡驱动正常接收数据包;

s46.进入数据包的学习归类。

onu设备正常工作时,对于所收到所有数据包,提取其中的特征值,与已有的n组特征值结构体进行比较归类,并记录下每类包正常工作的速率。从onu设备的工作原理来说,正常使用时进入cpu的数据包数量是不多的,所以这个学习归类过程对cpu的占用率影响是可以接受的。此时网络状态处于正常水平,onu设备将不断学习和更新当前网络有哪些不同类型数据包,以及它们的流量情况。

当接收数据包速率达到某个阈值时,可以认为当前环境可能有异常,此时会终止前述的学习归类过程。如果收到数据包的速率继续增长,就需要启动限速程序了。限速时根据cpu总的处理能力设定一个最大限速速率,根据每一类数据包进入cpu的平均速率,在全部种类的数据包进入cpu的总速率中所占的比例,分配限速速率,并根据限速速率对对应的数据包进行限速。

此外,当cpu接收到的数据包流量回复正常的较低水平时,则认为网络环境恢复了正常,此时可以重新开始前面的学习和更新过程。

本发明中的网络设备的自适应限速方法,可以根据当前网络环境,自动学习数据包的类型和速率,当需要限速时,根据已经学习到的信息进行限速,这种方法能够做到对网络环境的自适应。由于onu设备正常工作过程中进入cpu的数据包较少,本方法中计算量较大的学习分类过程正好选择在此时进行,故不会造成cpu资源的紧张。另外,本方法中所有的参数可以在设备出厂前设置完成,不需要用户额外配置,整个工作流程也是自动进行的,期间不需要人工干预。

实施例2:

作为一个较好的可选方式,在实施例1的基础上,参见图2所示,所述数据包和特征值结构体的特征均包括目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型,此外还记载有该数据包对应的平均速率。

步骤s3中计算每个数据包与n组特征值结构体组成的n+1个特征值结构体两两之间的相似度具体包括:

对于目的mac地址或源mac地址,若任意两个特征值结构体的目的mac地址或源mac地址相同,则相似度为a;若目的mac地址或源mac地址不相同,但是目的mac地址或源mac地址的类别相同,则相似度为b;若目的mac地址或源mac地址不相同,且目的mac地址或源mac地址的类别也不相同,则相似度为c,a、b、c均为自然数,且a>b>c;

对于目的ip地址或源ip地址,若任意两个特征值结构体的目的ip地址或源ip地址相同,则相似度为a;若目的ip地址或源ip地址不相同,但是目的ip地址或源ip地址的类别相同,则相似度为b;若目的ip地址或源ip地址不相同,且目的ip地址或源ip地址的类别也不相同,则相似度为c;

对于以太网类型,若任意两个特征值结构体的以太网类型相同,则相似度为a;若不相同,则相似度为c;

对于ip协议类型,若任意两个特征值结构体的ip协议类型相同,则相似度为a;若不相同,则相似度为c。

将任意两个特征值结构体的目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型比较后得到的相似度值相加,得到n个最终的总相似度,将总相似度最高的那两个特征值结构体归为一类。

在本实施例中,a的取值为2,b的取值为1,c的取值为0。

实施例3:

作为一个较好的可选方式,在实施例1的基础上:

步骤s4中,计算归类后每一类数据包进入cpu的平均速率,具体包括以下步骤:

启动定时器,记录进入数据包的学习归类的时刻,以及终止该次数据包的学习归类的时刻,获取该次数据包的学习归类运行的总时间t;

统计第i类数据包在总时间t内进入cpu的数量ci;

计算第i类数据包进入cpu的平均速率ri=ci/t。

实施例4:

作为一个较好的可选方式,在实施例3的基础上:

所述步骤s4具体包括以下步骤:

获取数据包进入cpu的总速率v;

若v<p0,则继续进行数据包的学习归类;

若p0≤v≤p1,则终止进行数据包的学习归类;

若v>p1,则根据第i类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配对应的令牌数其中,xi为第i类数据包分配的令牌数,k为限速倍率,ri为第i类数据包进入cpu的平均速率,m为总的令牌数;根据令牌数xi对第i类数据包进行限速。

限速倍率k可以动态调整,初始值为1,如果发现限速之后cpu利用率大幅度降低,则可以逐步增加k的大小,直到达到第二门限值p1。反之,如果超过了第二门限值p1,则需要减少k值。

实施例5:

本实施例提供一种网络设备的自适应限速系统,包括:

判断检测模块,其用于检测数据包进入cpu的总速率,并根据数据包进入cpu的总速率判断数据包是需要限速,还是需要进入数据包的学习归类;

onu设备网卡驱动,其用于定义n组特征值结构体,n为正整数,每组特征值结构体均包括多个用于区分数据包类型的特征值;以及根据所述判断检测模块的判断结果,用于对数据包进行限速,或用于对数据包进行学习归类。具体的,onu设备网卡驱动设定第一门限值p0和第二门限值p1,获取数据包进入cpu的总速率v,若v>p1,按照一个数据包消耗一个令牌的方式进行限速,若p0≤v≤p1,网卡驱动正常接收数据包,若v<p0,则进入数据包的学习归类。

计算模块,其用于依次提取每个数据包的特征值,依次计算每个数据包与n组特征值结构体组成的n+1个特征值结构体两两之间的相似度,将相似度最高的两个特征值结构体归为一类,形成新的n组特征值结构体,并对进行归类的特征值结构体的特征值进行更新;以及计算归类后每一类数据包进入cpu的平均速率;

分配模块,其用于根据每一类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配限速速率,并驱使onu设备网卡驱动根据限速速率对相应类型的数据包进行限速。

实施例6:

作为一个较好的可选方式,在实施例5的基础上:

所述数据包和特征值结构体的特征均包括目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型,此外还记载有该数据包对应的平均速率。

所述计算每个数据包与n组特征值结构体组成的n+1个特征值结构体两两之间的相似度的过程为:

对于目的mac地址或源mac地址,若任意两个特征值结构体的目的mac地址或源mac地址相同,则相似度为a;若目的mac地址或源mac地址不相同,但是目的mac地址或源mac地址的类别相同,则相似度为b;若目的mac地址或源mac地址不相同,且目的mac地址或源mac地址的类别也不相同,则相似度为c,a、b、c均为自然数,且a>b>c;

对于目的ip地址或源ip地址,若任意两个特征值结构体的目的ip地址或源ip地址相同,则相似度为a;若目的ip地址或源ip地址不相同,但是目的ip地址或源ip地址的类别相同,则相似度为b;若目的ip地址或源ip地址不相同,且目的ip地址或源ip地址的类别也不相同,则相似度为c;

对于以太网类型,若任意两个特征值结构体的以太网类型相同,则相似度为a;若不相同,则相似度为c;

对于ip协议类型,若任意两个特征值结构体的ip协议类型相同,则相似度为a;若不相同,则相似度为c。对于mac地址,若数据包与特征值结构体的mac地址相同,则相似度为a;若mac地址不相同,但是mac地址类别相同,则相似度为b;若mac地址和类别均不相同,则相似度为c,a、b、c均为自然数,且a>b>c;

对于ip地址,若任意两个特征值结构体的ip地址相同,则相似度为a;若ip地址不相同,但是ip地址类别相同,则相似度为b;若ip地址和类别均不相同,则相似度为c;

对于以太网类型和ip协议类型,若任意两个特征值结构体的以太网类型和ip协议类型相同,则相似度为a;若不相同,则相似度为c。

将任意两个特征值结构体的目的mac地址、源mac地址、目的ip地址、源ip地址、以太网类型和ip协议类型比较后得到的相似度值相加,得到n个最终的总相似度,将总相似度最高的那两个特征值结构体归为一类。在本实施例中,a的取值为2,b的取值为1,c的取值为0。

实施例7:

作为一个较好的可选方式,在实施例6的基础上:

所述计算模块计算归类后每一类数据包进入cpu的平均速率的过程为:

启动定时器,记录进入数据包的学习归类的时刻,以及终止该次数据包的学习归类的时刻,获取该次数据包的学习归类运行的总时间t;

统计第i类数据包在总时间t内进入cpu的数量ci;

计算第i类数据包进入cpu的平均速率ri=ci/t。

实施例8:

作为一个较好的可选方式,在实施例7的基础上:

分配模块驱使onu设备网卡驱动根据限速速率对数据包进行限速的过程包括:

获取数据包进入cpu的总速率v;

若v<p0,则继续进行数据包的学习归类;

若p0≤v≤p1,则终止进行数据包的学习归类;

若v>p1,则根据第i类数据包进入cpu的平均速率在全部种类的数据包进入cpu的总速率中所占的比例,分配对应的令牌数其中,xi为第i类数据包分配的令牌数,k为限速倍率,ri为第i类数据包进入cpu的平均速率,m为总的令牌数;根据令牌数xi对第i类数据包进行限速。

限速倍率k可以动态调整,初始值为1,如果发现限速之后cpu利用率大幅度降低,则可以逐步增加k的大小,直到达到第二门限值p1。反之,如果超过了第二门限值p1,则需要减少k值。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1