CN108965005A - 网络设备的自适应限速方法及其系统 - Google Patents
网络设备的自适应限速方法及其系统 Download PDFInfo
- Publication number
- CN108965005A CN108965005A CN201810790752.0A CN201810790752A CN108965005A CN 108965005 A CN108965005 A CN 108965005A CN 201810790752 A CN201810790752 A CN 201810790752A CN 108965005 A CN108965005 A CN 108965005A
- Authority
- CN
- China
- Prior art keywords
- data packet
- address
- similarity
- cpu
- speed limit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q11/0067—Provisions for optical access or distribution networks, e.g. Gigabit Ethernet Passive Optical Network (GE-PON), ATM-based Passive Optical Network (A-PON), PON-Ring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/0079—Operation or maintenance aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/0086—Network resource allocation, dimensioning or optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Automation & Control Theory (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络设备的自适应限速方法及其系统,涉及互联网接入设备领域,该方法包括以下步骤:定义N组特征值结构体。根据数据包进入CPU的总速率,确定数据包需要限速,还是需要进入数据包的学习归类。计算每个数据包与N组特征值结构体组成的N+1个特征值结构体两两之间的相似度,将相似度最高的两个特征值结构体归为一类。继续确定数据包需要继续进行数据包的学习归类,还是需要限速,若需要限速,根据每一类数据包进入CPU的平均速率在全部种类的数据包进入CPU的总速率所占的比例,分配限速速率,并根据限速速率对相应类型的数据包进行限速。本发明能根据当前网络环境,自动学习数据包类型和速率,当需要限速时,根据学习到的信息进行限速。
Description
技术领域
本发明涉及互联网接入设备领域,具体涉及一种网络设备的自适应限速方法及其系统。
背景技术
互联网接入设备顾名思义,就是一种可以使终端用户接入互联网的硬件设备。PONONU(Passive Optical Network:无源光纤网络,Optical Network Unit:光网络单元)就是一种常用的采用无源光网络技术的接入设备。
PON ONU最常用的应用场景是FTTH(Fiber To The Home,光纤直接到家庭),一般具有1-4个以太网接口和一个PON接口。主要功能是转发终端用户访问互联网的上下行数据。
ONU设备在实现时通常采用CPU加网络处理器(Network Processor简称NP)的方案,数据包到达后首先会由CPU处理,通过软件协议栈转发,在这个过程中将转发规则记录下来,并配置到NP的加速表中。随后到达的数据包将直接匹配NP中的规则,由处理速度更快的NP转发。从上述工作过程的描述可以看出,数据转发过程非常依赖CPU的处理,在正常使用时因为转发数据都是有规律的TCP/UDP(Transmission Control Protocol,传输控制协议;User Datagram Protocol,用户数据报协议)协议流,可以在学习转发规则后通过NP转发,所以要CPU处理的数据量不大,但当网络环境发生异常时,或者遇到恶意攻击时,会有大量数据包进入CPU,这时可能导致CPU占用率过高,无法处理所有的数据包,其上运行的其他进程的工作也会受到影响。
为了防止进入CPU数量过多导致整个软件系统受到影响,需要对进入的数据包进行限速。通常的限速基于令牌桶限速机制:
1、根据设定的总限速速率,令牌以一定的速率放入桶中;
2、每个令牌允许接收一个包,每接收一个包,就要从桶中删除一个令牌;
3、如果桶中没有足够的令牌,这个包就会被丢弃;
4、桶有特定的容量,如果桶已经满了,新加入的令牌就会被丢弃。因此,在任何时候,接收的最大突发数据量与桶的大小成比例。令牌桶允许突发,但是不能超过限制。
令牌桶方法实现起来简单,但会不加区分的限制所有数据包,这样用户正常访问的数据包肯定也会受到影响。一种常见的改进方法是根据数据包协议类型设定不同的限速速率,这样不同种类的数据包之间不会互相干扰,但同种数据之间的影响仍然存在。比如如果限制了广播包速率,那么在网络中发生广播风暴时,用户正常的ARP(AddressResolution Protocol,地址解析协议)学习,肯定会被影响。此外这种方法还需要预先设定不同数据包类型的限速速率,如果要修改也只能通过人工来设定,缺乏对实际环境的应变能力。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种网络设备的自适应限速方法,其能根据当前网络环境,自动学习数据包类型和速率,当需要限速时,根据学习到的信息进行限速。
为达到以上目的,本发明采取的技术方案是:
一种网络设备的自适应限速方法,该方法包括以下步骤:
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的单位是Packets Per Second,即每秒处理包的数量,简称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值。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种网络设备的自适应限速方法,其特征在于,该方法包括以下步骤:
S1.定义N组特征值结构体,N为正整数,每组特征值结构体均包括多个用于区分数据包类型的特征值;
S2.根据数据包进入CPU的总速率,判断数据包需要限速,还是需要进入数据包的学习归类;若需要限速,则按照限制每秒处理数据包数量的方式进行限速,若需要进入数据包的学习归类,转到步骤S3;
S3.依次提取每个数据包的特征值,依次计算每个数据包与N组特征值结构体组成的N+1个特征值结构体两两之间的相似度,将相似度最高的两个特征值结构体归为一类,形成新的N组特征值结构体,并对进行归类的特征值结构体的特征值进行更新,转到步骤S4;
S4.继续统计数据包进入CPU的总速率,判断数据包需要继续进行数据包的学习归类,还是需要限速,若需要继续进行数据包的学习归类,则返回步骤S3;若需要限速,计算归类后每一类数据包进入CPU的平均速率,根据每一类数据包进入CPU的平均速率在全部种类的数据包进入CPU的总速率中所占的比例,分配限速速率,并根据限速速率对相应类型的数据包进行限速。
2.如权利要求1所述的网络设备的自适应限速方法,其特征在于,所述步骤S2具体包括以下步骤:
设定第一门限值P0和第二门限值P1,获取数据包进入CPU的总速率V,若V>P1,按照一个数据包消耗一个令牌的方式进行限速;若P0≤V≤P1,网卡驱动正常接收数据包;若V<P0,则进入数据包的学习归类。
3.如权利要求1所述的网络设备的自适应限速方法,其特征在于,
所述数据包和特征值结构体的特征均包括目的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个最终的总相似度,将总相似度最高的那两个特征值结构体归为一类。
4.如权利要求2所述的网络设备的自适应限速方法,其特征在于,步骤S4中,计算归类后每一类数据包进入CPU的平均速率,具体包括以下步骤:
启动定时器,记录进入数据包的学习归类的时刻,以及终止该次数据包的学习归类的时刻,获取该次数据包的学习归类运行的总时间T;
统计第i类数据包在总时间T内进入CPU的数量Ci;
计算第i类数据包进入CPU的平均速率Ri=Ci/T。
5.如权利要求4所述的网络设备的自适应限速方法,其特征在于:所述步骤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值。
6.一种网络设备的自适应限速系统,其特征在于,包括:
判断检测模块,其用于检测数据包进入CPU的总速率,并根据数据包进入CPU的总速率判断数据包是需要限速,还是需要进入数据包的学习归类;
ONU设备网卡驱动,其用于定义N组特征值结构体,N为正整数,每组特征值结构体均包括多个用于区分数据包类型的特征值;以及根据所述判断检测模块的判断结果,用于对数据包进行限速,或用于对数据包进行学习归类;
计算模块,其用于依次提取每个数据包的特征值,依次计算每个数据包与N组特征值结构体组成的N+1个特征值结构体两两之间的相似度,将相似度最高的两个特征值结构体归为一类,形成新的N组特征值结构体,并对进行归类的特征值结构体的特征值进行更新;以及计算归类后每一类数据包进入CPU的平均速率;
分配模块,其用于根据每一类数据包进入CPU的平均速率在全部种类的数据包进入CPU的总速率中所占的比例,分配限速速率,并驱使ONU设备网卡驱动根据限速速率对相应类型的数据包进行限速。
7.如权利要求6所述的网络设备的自适应限速系统,其特征在于:
所述ONU设备网卡驱动设定第一门限值P0和第二门限值P1,获取数据包进入CPU的总速率V,若V>P1,按照一个数据包消耗一个令牌的方式进行限速;若P0≤V≤P1,网卡驱动正常接收数据包;若V<P0,则进入数据包的学习归类。
8.如权利要求6所述的网络设备的自适应限速系统,其特征在于,
所述数据包和特征值结构体的特征均包括目的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个最终的总相似度,将总相似度最高的那两个特征值结构体归为一类。
9.如权利要求7所述的网络设备的自适应限速系统,其特征在于,所述计算模块计算归类后每一类数据包进入CPU的平均速率的过程为:
启动定时器,记录进入数据包的学习归类的时刻,以及终止该次数据包的学习归类的时刻,获取该次数据包的学习归类运行的总时间T;
统计第i类数据包在总时间T内进入CPU的数量Ci;
计算第i类数据包进入CPU的平均速率Ri=Ci/T。
10.如权利要求9所述的网络设备的自适应限速系统,其特征在于,所述分配模块驱使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值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810790752.0A CN108965005B (zh) | 2018-07-18 | 2018-07-18 | 网络设备的自适应限速方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810790752.0A CN108965005B (zh) | 2018-07-18 | 2018-07-18 | 网络设备的自适应限速方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965005A true CN108965005A (zh) | 2018-12-07 |
CN108965005B CN108965005B (zh) | 2021-05-14 |
Family
ID=64497371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810790752.0A Active CN108965005B (zh) | 2018-07-18 | 2018-07-18 | 网络设备的自适应限速方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965005B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056273A (zh) * | 2007-06-13 | 2007-10-17 | 中兴通讯股份有限公司 | 基于会话的网络限速方法及装置 |
CN101193045A (zh) * | 2006-11-21 | 2008-06-04 | 中兴通讯股份有限公司 | 线卡上捕获和限制数据报文速度的方法 |
US20090055336A1 (en) * | 2007-08-24 | 2009-02-26 | Chi Mei Communication Systems, Inc. | System and method for classifying multimedia data |
CN103001828A (zh) * | 2012-12-04 | 2013-03-27 | 北京星网锐捷网络技术有限公司 | 基于数据流的报文统计方法和装置、网络设备 |
CN104183135A (zh) * | 2014-09-05 | 2014-12-03 | 广州市香港科大霍英东研究院 | 车辆行进开销的估计方法及系统 |
CN106559354A (zh) * | 2015-09-28 | 2017-04-05 | 中兴通讯股份有限公司 | 一种防止cpu报文拥塞的方法及装置 |
CN107257365A (zh) * | 2017-05-31 | 2017-10-17 | 腾讯科技(深圳)有限公司 | 一种数据下载处理方法和装置 |
-
2018
- 2018-07-18 CN CN201810790752.0A patent/CN108965005B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193045A (zh) * | 2006-11-21 | 2008-06-04 | 中兴通讯股份有限公司 | 线卡上捕获和限制数据报文速度的方法 |
CN101056273A (zh) * | 2007-06-13 | 2007-10-17 | 中兴通讯股份有限公司 | 基于会话的网络限速方法及装置 |
US20090055336A1 (en) * | 2007-08-24 | 2009-02-26 | Chi Mei Communication Systems, Inc. | System and method for classifying multimedia data |
CN103001828A (zh) * | 2012-12-04 | 2013-03-27 | 北京星网锐捷网络技术有限公司 | 基于数据流的报文统计方法和装置、网络设备 |
CN104183135A (zh) * | 2014-09-05 | 2014-12-03 | 广州市香港科大霍英东研究院 | 车辆行进开销的估计方法及系统 |
CN106559354A (zh) * | 2015-09-28 | 2017-04-05 | 中兴通讯股份有限公司 | 一种防止cpu报文拥塞的方法及装置 |
CN107257365A (zh) * | 2017-05-31 | 2017-10-17 | 腾讯科技(深圳)有限公司 | 一种数据下载处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
杨松鹰 等: "一种适用于令牌桶限速链路的瓶颈带宽测量方法", 《高技术通讯》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108965005B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657107B (zh) | 一种SDN中基于信任值的自适应启动的ddos防御方法和系统 | |
CN103999414B (zh) | 一种归因针对相应用户寄存器的共享资源的拥塞贡献的方法和装置 | |
CN100459589C (zh) | 流量监管方法及流量监管设备 | |
US6856596B2 (en) | Approximation of the weighted random early detection buffer admittance algorithm | |
CN106411828B (zh) | 量化防御结果的方法、装置及系统 | |
CN113452676B (zh) | 一种检测器分配方法和物联网检测系统 | |
Chitra et al. | Classification and performance of AQM-based schemes for congestion avoidance | |
CN101420419B (zh) | 一种自适应高速网络流量分层抽样采集方法 | |
CN109688065B (zh) | 参数的处理方法、装置及存储介质 | |
Bohacek et al. | Signal processing challenges in active queue management | |
Adamu et al. | SARED: Self-adaptive active queue management scheme for improving quality of service in network systems | |
CN112910789A (zh) | 拥塞控制方法以及相关设备 | |
CN113055333B (zh) | 可自适应动态调整密度网格的网络流量聚类方法和装置 | |
CN108965005A (zh) | 网络设备的自适应限速方法及其系统 | |
CN114866291B (zh) | SDN下基于深度强化学习的DDoS防御系统及方法 | |
CN106506235A (zh) | 一种网络调优方法和装置 | |
CN113630398A (zh) | 网络安全中的联合防攻击方法、客户端及系统 | |
Alsaaidah et al. | Gentle-BLUE: A new method for active queue management | |
Lai et al. | Pricing link by time | |
Abdel-jaber et al. | Modelling BLUE Active Queue Management using Discrete-time Queue. | |
JP4454506B2 (ja) | 高レートフロー特定化方法並びに高レートフロー特定化システム | |
Chitra et al. | FAVQCHOKE: To allocate fair buffer to a dynamically varying traffic in an IP network | |
JP4148242B2 (ja) | 高特定精度による高レートフロー特定方法 | |
CN117499325B (zh) | 一种基于人工智能的交换机业务报文分流方法及系统 | |
Yelbasi et al. | A new approach to estimate red parameters using global congestion notification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |