网络设备中报文处理方法及系统的制作方法

文档序号:7864133阅读:118来源:国知局
专利名称:网络设备中报文处理方法及系统的制作方法
技术领域
本发明涉及网络通信领域技术,尤其涉及一种网络设备中发往处理模块(CPU)的报文处理方法及系统。
背景技术
传统的网络通信系统主要包括数据平面、控制平面及管理平面。数据平面主要用于进行数据处理和转发;控制平面主要用于控制和管理所有网络协议,比如生成树(STP) 及各种路由协议,控制平面还用于提供数据平面对数据进行处理和转发所需要的各种信息,比如转发查询表项;管理平面主要用于供网络管理人员对交换机进行监控和管理,比如TELNET、SNMP。在盒式的以太网三层交换机中,数据平面往往通过ASIC转发芯片来完成,而控制平面一般由主机的中央处理器(CPU)来完成,但是在一些大流量或者病毒攻击网络的情况下,ASIC转发芯片就不能够满足数据平面的处理要求,此时就需要占用主机CPU 和内存等资源,在某些极端情况下,可能会导致主机CPU和内存资源耗尽,进而影响网络交换机的正常功能。
为了避免大量报文冲击CPU时所导致的交换机系统瘫痪故障,现有技术的常见做法便是在设备驱动层限制报文的处理速度。然而,目前解决大流量报文冲击CPU的方法主要是将数据平面、控制平面以及管理平面进行隔离,数据平面和控制平面对主机CPU的影响有限,但是这种方式成本较高,而且对软件实现来说也较复杂,不太适合于盒式交换机。发明内容
本发明所需解决的技术问题在于提供一种网络设备中报文处理方法,以避免大量报文冲击CPU时所导致的交换机系统瘫痪。
相应地,本发明还提供一种网络设备中报文处理系统。
为解决上述技术问题,本发明所采取的技术方案为一种网络设备中报文处理方法,包括如下步骤51、在网络设备驱动层上增设令牌桶,并以特定的令牌添加速率向所述令牌桶中添加令牌;52、接收发往于网络设备中处理模块的报文;53、判断当前令牌桶中令牌数是否为零,若是,则丢弃所述报文;若否,则向所述处理模块发送一条报文,并将令牌桶中的当前令牌数目减一。
作为本发明的进一步改进,所述方法还包括获取所述处理模块的占用率;判断所述占用率所处于的阈值范围,并根据所确定的阈值范围,适应性调整所述令牌添加速率。
作为本发明的进一步改进,所述“根据所确定的阈值范围,适应性调整所述令牌添加速率”的步骤具体为设定第一阈值范围为80°/Γ 00%,设定第二阈值范围为60°/Γ80%,设定第三阈值范围为 0 60% ;若占用率处于所述第一阈值范围,则减小当前令牌添加速率;若占用率处于所述第三阈值范围,则增大当前令牌添加速率,且最大不超过初始速率;若占用率处于所述第二阈值范围,则保持令牌添加速率不变。
作为本发明的进一步改进,所述步骤S2还包括将所述报文按照优先级高低进行排序。
作为本发明的进一步改进,所述步骤S3具体包括在丢弃报文时,优先丢弃优先级最低的报文;而在将所述报文发送至所述处理模块时,优先发送优先级最高的报文。
另一方面,本发明所提供的一种网络设备中报文处理系统,其包括令牌添加单元、用于在网络设备驱动层上增设令牌桶,并以特定的令牌添加速率向所述令牌桶中添加令牌;报文接收单元、用于接收发往于网络设备中处理模块的报文;报文处理单元、用于判断当前令牌桶中令牌数是否为零,若是,则丢弃所述报文;若否, 则向所述处理模块发送一条报文,并将令牌桶中的当前令牌数目减一。
作为本发明的进一步改进,所述系统还包括一令牌配置单元,其用于获取所述处理模块的占用率;判断所述占用率所处于的阈值范围,并根据所确定的阈值范围,适应性调整所述令牌添加速率。
作为本发明的进一步改进,所述令牌配置单元具体用于设定第一阈值范围为80°/Γ 00%,设定第二阈值范围为60°/Γ80%,设定第三阈值范围为 0 60% ;若占用率处于所述第一阈值范围,则减小当前令牌添加速率;若占用率处于所述第三阈值范围,则增大当前令牌添加速率,且最大不超过初始速率;若占用率处于所述第二阈值范围,则保持令牌添加速率不变。
作为本发明的进一步改进,所述报文接收单元还包括一报文排序单元,其用于将所述报文按照优先级高低进行排序。
作为本发明的进一步改进,所述报文处理单元具体用于在丢弃报文时,优先丢弃优先级最低的报文;而在将所述报文发送至所述处理模块时,优先发送优先级最高的报文。
根据以上技术方案可以看出,由于本发明通过在设备中报文发送处设立令牌桶, 在令牌桶中以特定速率添加令牌,并且只有在令牌数不为零时才会将报文发送到处理模块,每发送一条报文相应地令牌减一,如此通过调节令牌添加速率,来控制一定时间间隔内可以被发送到设备中处理模块的报文数目,从而避免大流量报文所导致的CPU资源耗尽, 保证系统稳定工作。


为了更清楚地说明本发明具体实施例或现有技术的技术方案,下面将对本发明具体实施例或现有描述中所需要使用的附图作简单地介绍,显而易见地,下述附图仅为本发明的一部分附图,对于本领域普通技术人员而言,在不作出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图I是本发明具体实施方式
中网络设备中报文处理方法的流程图;图2是本发明具体实施方式
中令牌桶报文处理机制的原理示意图;图3是本发明具体实施方式
中网络设备中报文处理系统的单元示意图。
具体实施方式
以下将结合附图所示的具体实施方式
对本发明进行详细描述。但这些实施方式并不限制本发明,基于本发明的各实施例,本领域的普通技术人员在未作出创造性劳动的前提下所获得的所有其他实施例,均应包含在本发明的保护范围内。
参图I和图2所示,在网络系统中,由于大流量或者非法的攻击而导致的大量报文冲击CPU是难以避免的,故本发明提供一种简单有效的实现方式来防止交换机系统中的 CPU由于收到大量报文而出现资源耗尽的情形。如图I所示,在本发明具体实施方式
中,该方法包括如下步骤SI、在网络设备驱动层上增设令牌桶,并以特定的令牌添加速率向所述令牌桶中添加令牌;本实施方式中,可每隔一定时间r才能获取#个令牌,且令牌添加速率(令牌#和时间 τ的比例关系)可由人为设定或调整。
S2、接收发往于网络设备中处理模块的报文;其中,本发明在一些大流量或者病毒攻击网络等情况下,大量报文会发往系统主机的处理模块(CPU)。
S3、判断当前令牌桶中令牌数是否为零,若是,则丢弃所述报文;若否,则向所述处理模块发送一条报文,并将令牌桶中的当前令牌数目减一。本实施方式中,设备驱动每接收一个报文,则令牌桶中的令牌减1,当令牌桶中令牌数减到O的时候,设备驱动就将后续的报文丢弃,直到令牌桶有新的令牌。此步骤可保证发往CPU的报文速率随着令牌桶中令牌添加的速率的变化,而作相应变化,从而可有限限制报文发往CPU的速率,不至于引发系统瘫痪。
优选地,为了保证报文利用的合理性,本发明具体实施方式
中,步骤S2还包括如下步骤将所述报文按照优先级高低进行排序。如此,在所述步骤S3具体包括在丢弃报文时,优先丢弃优先级最低的报文;而在将所述报文发送至所述处理模块时, 优先发送优先级最高的报文。此方式可保证发生大量报文涌向CPU时而必须予以舍弃部分报文时,保证优先级较高的重要报文不被系统舍弃。
本发明具体实施方式
中,为了提高CPU的使用率,令牌桶中的最大令牌数可以在系统运行过程中进行动态配置。具体地,上述方法便还增加了下述过程S4、获取所述处理模块的占用率;所述占用率即CPU的资源使用率、或者系统内存使用率等。
S5、判断所述占用率所处于的阈值范围,并根据所确定的阈值范围,适应性调整所述令牌添加速率。其中,优选地,“根据所确定的阈值范围,适应性调整所述令牌添加速率” 的步骤具体为首先,设定第一阈值范围为80°/Γ 00%,设定第二阈值范围为60°/Γ80%,设定第三阈值范围为(Γ60%;若占用率处于所述第一阈值范围,则减小当前令牌添加速率(即#A);若占用率处于所述第三阈值范围,则增大当前令牌添加速率(即#/r),但是最大不超过初始速率 (设定一个最大速率,以保证不会出现无限制增加令牌添加速率的情况),如此可以保证系统资源合理的分配。当然,在其他实施方式中,阈值范围、添加速率的调整方式不限于上述情况。
接下来,请参图3所示,在本发明具体实施方式
中,一种网络设备中报文处理系统,其包括令牌添加单元10、报文接收单元20以及报文处理单元30。其中,令牌添加单元10、用于在网络设备驱动层上增设令牌桶,并以特定的令牌添加速率向所述令牌桶中添加令牌;报文接收单元20、用于接收发往于网络设备中处理模块50的报文;报文处理单元30、用于判断当前令牌桶中令牌数是否为零,若是,则丢弃所述报文;若否,则向所述处理模块50发送一条报文,并将令牌桶中的当前令牌数目减一。
本发明具体实施方式
中,为了提高CPU的使用率,令牌桶中的最大令牌数可以在系统运行过程中进行动态配置。所述系统还包括一令牌配置单元40,其用于获取所述处理模块50的占用率;判断所述占用率所处于的阈值范围,并根据所确定的阈值范围,适应性调整所述令牌添加速率。
在本发明优选的实施方式中,所述令牌配置单元40具体用于设定第一阈值范围为80°/Γ 00%,设定第二阈值范围为60°/Γ80%,设定第三阈值范围为 (Γ60%;若占用率处于所述第一阈值范围,则减小当前令牌添加速率(即Λ/Π;若占用率处于所述第三阈值范围,则增大当前令牌添加速率(即#/r),但是最大不超过初始速率,如此可以保证系统资源合理的分配。当然,在其他实施方式中,阈值范围、添加速率的调整方式不限于上述情况。
为了保证报文利用的合理性,本发明具体实施方式
中,所述报文接收单元20还包括一报文排序单元201,其用于将所述报文按照优先级高低进行排序。于是,所述报文处理单元30具体用于在丢弃报文时,优先丢弃优先级最低的报文;而在将所述报文发送至所述处理模块时,优先发送优先级最高的报文。
本发明提供的有关装置实施例的具体运作方式、具体技术特征等,可参考上文描述的相关方法实施例中,在此发明人不再予以赘述。
根据以上技术方案可以看出,由于本发明通过在设备中报文发送处设立令牌桶, 在令牌桶中以特定速率添加令牌,并且只有在令牌数不为零时才会将报文发送到处理模块,每发送一条报文相应地令牌减一,如此通过调节令牌添加速率,来控制一定时间间隔内可以被发送到设备中处理模块的报文数目,从而避免大流量报文所导致的CPU资源耗尽, 保证系统稳定工作。此外,本发明可以根据情况动态调整报文处理速率,从而最大限度提高系统CPU的利用率。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种网络设备中报文处理方法,其特征在于,其包括如下步骤 51、在网络设备驱动层上增设令牌桶,并以特定的令牌添加速率向所述令牌桶中添加令牌; 52、接收发往于网络设备中处理模块的报文; 53、判断当前令牌桶中令牌数是否为零,若是,则丢弃所述报文;若否,则向所述处理模块发送一条报文,并将令牌桶中的当前令牌数目减一。
2.根据权利要求I所述的方法,其特征在于,所述方法还包括 获取所述处理模块的CPU占用率; 判断所述CPU占用率所处于的阈值范围,并根据所确定的阈值范围,适应性调整所述令牌添加速率。
3.根据权利要求2所述的方法,其特征在于,所述“根据所确定的阈值范围,适应性调整所述令牌添加速率”的步骤具体为 设定第一阈值范围为80°/Γ 00%,设定第二阈值范围为60°/Γ80%,设定第三阈值范围为0 60% ; 若占用率处于所述第一阈值范围,则减小当前令牌添加速率;若占用率处于所述第三阈值范围,则增大当前令牌添加速率,且最大不超过初始速率;若占用率处于所述第二阈值范围,则保持令牌添加速率不变。
4.根据权利要求I所述的方法,其特征在于,所述步骤S2还包括将所述报文按照优先级高低进行排序。
5.根据权利要求4所述的方法,其特征在于,所述步骤S3具体包括 在丢弃报文时,优先丢弃优先级最低的报文;而在将所述报文发送至所述处理模块时,优先发送优先级最高的报文。
6.一种网络设备中报文处理系统,其特征在于,其包括 令牌添加单元、用于在网络设备驱动层上增设令牌桶,并以特定的令牌添加速率向所述令牌桶中添加令牌; 报文接收单元、用于接收发往于网络设备中处理模块的报文; 报文处理单元、用于判断当前令牌桶中令牌数是否为零,若是,则丢弃所述报文;若否,则向所述处理模块发送一条报文,并将令牌桶中的当前令牌数目减一。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括一令牌配置单元,其用于 获取所述处理模块的CPU占用率; 判断所述CPU占用率所处于的阈值范围,并根据所确定的阈值范围,适应性调整所述令牌添加速率。
8.根据权利要求7所述的系统,其特征在于,所述令牌配置单元具体用于 设定第一阈值范围为80°/Γ 00%,设定第二阈值范围为60°/Γ80%,设定第三阈值范围为0 60% ; 若占用率处于所述第一阈值范围,则减小当前令牌添加速率;若占用率处于所述第三阈值范围,则增大当前令牌添加速率,且最大不超过初始速率;若占用率处于所述第二阈值范围,则保持令牌添加速率不变。
9.根据权利要求6所述的系统,其特征在于,所述报文接收单元还包括一报文排序单元,其用于将所述报文按照优先级高低进行排序。
10.根据权利要求9所述的系统,其特征在于,所述报文处理单元具体用于 在丢弃报文时,优先丢弃优先级最低的报文;而在将所述报文发送至所述处理模块时,优先发送优先级最高的报文。
全文摘要
本发明提供一种网络设备中报文处理方法及系统,其方法包括如下步骤在网络设备驱动层上增设令牌桶,并以特定的令牌添加速率向所述令牌桶中添加令牌;接收发往网络设备中处理模块的报文;判断当前令牌桶中令牌数是否为零,若是,则丢弃所接收报文;若否,则向所述处理模块发送一条报文,并将令牌桶中的当前令牌数目减一。本发明通过动态调节令牌添加速率,来控制一定时间间隔内可以被发送到设备中处理模块的报文数目,从而避免大流量报文冲击所导致的CPU资源耗尽,保证系统稳定工作。
文档编号H04L12/819GK102984081SQ201210423279
公开日2013年3月20日 申请日期2012年10月30日 优先权日2012年10月30日
发明者朱坚 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1