一种以太网口报文限速方法、装置及数据通信设备的制作方法

文档序号:7700799阅读:465来源:国知局
专利名称:一种以太网口报文限速方法、装置及数据通信设备的制作方法
技术领域
本发明主要涉及以太网交换及数据通信领域,特别是指一种以太网口报文限速方 法、装置及数据通信设备。
背景技术
在数据通信以及综合接入设备中,以太网口是一种很基本同时又很重要的功能部 件,通过以太网口我们可以方便的进行设备管理,版本维护以及故障定位。以太网口作为重要的输入输出器件,一般是通过中断的方式与设备的CPU进行交 互,进而完成通讯的功能。在设备中有很多是单CPU的,并且对于多CPU设备来说处理器资 源也是有限的,CPU除了要完成以太网口数据包的收发处理之外,还要做很多其他的工作, 例如在操作系统的调度下运行各种应用程序,响应串口的输入、输出,执行命令行输入的命 令等等。基于上述的中断处理方式,CPU对以太网数据包的处理优先级要高于其他的任务。 这样当设备所在网络存在广播风暴或者遭到攻击的时候,设备会因为以太网包冲击导致 CPU占有率过高而无法响应命令行输入、很多应用程序任务无法得到调度等等问题,因此在 这些情况下需要对以太网口进行限速。目前常用的以太网限速方法有如下的几种一、采用流分类的方法控制报文数量,即通过设置接入控制列表ACL对送到CPU的 数据包进行限制和带宽保证。当支持较多的协议特性时需要添加几十条甚至更多的ACL表 项,对硬件流分类资源占用很大;另外此方法受芯片流分类处理能力的限制,有些数据包无 法通过流分类来识别和控制。二、采用定时器的方法进行限速。所述方法包括首先根据用户需要编写定时器 回调函数;其次,向系统申请硬件定时器资源,如果申请失败则结束,再次,预先设定定时器 时间间隔和定时器超时的回调函数,启动定时器;最后定时器自动运行,每次超时就自动调 用设定的回调函数进行相应的报文限速或者流量整形操作。此方法需要占用硬件定时器资 源,并且在系统遭遇广播风暴或者黑客攻击时不能有效的对CPU进行保护。因此迫切需要一种新的以太网口报文限速方法。

发明内容
本发明提出一种以太网口报文限速方法、装置及数据通信设备,在不占用额外的 硬件定时器资源的情况下对以太网口发送给CPU的报文进行监控,对超标的报文进行控 制,硬件代价小,适用范围广。本发明的技术方案是这样实现的一种以太网口报文限速方法,包括在采样时间Tl内对从以太网口发送到CPU的报文进行流量采样,输出采样流量;将所述采样流量与预先设置的第一流量阈值进行比较,判断所述采样流量是否高 于所述第一流量阈值;
当所述采样流量高于所述第一流量阈值时,在生效时间T2内控制从所述以太网 口发送到所述CPU的报文流量,使生效时间T2内的单位时间报文流量小于采样时间Tl内 的单位时间报文流量。优选的,所述在生效时间T2内控制从所述以太网口发送到所述CPU的报文流量具 体为在生效时间T2内禁止所述以太网口向所述CPU发送报文。优选的,所述在生效时间T2内禁止所述以太网口向所述CPU发送报文具体为在生效时间T2内通过禁止所述以太网口中断或禁止以太网控制器芯片收包的方 式禁止所述以太网口向所述CPU发送报文。优选的,所述在生效时间T2内控制从所述以太网口发送到所述CPU的报文流量具 体为减少从所述以太网口发送到所述CPU的报文流量,在生效时间T2内使所述以太网 口向所述CPU发送的报文流量小于第二流量阈值。优选的,还包括以系统时钟中断为基础预先设置采样时间Tl和生效时间范围tl至t2,并在所述 范围内取随机值作为生效时间T2。一种以太网口报文限速装置,包括采样单元,用于在采样时间Tl内对从以太网口发送到CPU的报文进行流量采样, 输出采样流量;判断单元,用于将所述采样单元输出的采样流量与预先设置的第一流量阈值进行 比较,判断所述采样流量是否高于所述第一流量阈值;控制单元,用于当所述采样流量高于所述第一流量阈值时,在生效时间T2内控制 从所述以太网口发送到所述CPU的报文流量,使生效时间T2内的单位时间报文流量小于采 样时间Tl内的单位时间报文流量。优选的,所述控制单元包括第一控制单元,用于在生效时间T2内禁止所述以太网口向所述CPU发送报文。优选的,所述控制单元包括第二控制单元,用于减少从所述以太网口发送到所述CPU的报文流量,在生效时 间T2内使所述以太网口向所述CPU发送的报文流量小于第二流量阈值。优选的,还包括第一设置单元,用于以系统时钟中断为基础预先设置采样时间Tl和生效时间范 围tl至t2,并在所述范围内取随机值作为生效时间T2。第二设置单元,用于设置第一流量阈值。一种数据通信设备,包括以太网口和CPU,所述数据通信设备还包括所述的以太网 口报文限速装置。本发明所述技术方案将系统时间划分为采样时间和生效时间,通过将采样流量与 流量阈值的比较判断来实现以太网口的报文限速,在不占用额外的硬件定时器资源的情况 下对以太网口发送给CPU的报文进行监控,对超标的报文进行控制,硬件代价小,适用范围 广。进一步,可以根据需要实时动态的设定采样时间、生效时间和流量阈值,方便灵活,并且可以将本发明所述装置嵌入到系统时钟中断处理程序中,从而独立于以太网口的收包任 务,有利于提高系统的可扩展性。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他 的附图。图1为本发明采样时间Tl与生效时间T2的关系示意图;图2为本发明一种以太网口报文限速方法优选实施例的流程示意图;图3为本发明一种以太网口报文限速装置优选实施例的结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。对于现代CPU (本发明所述CPU应做广义理解,其包括具有数据处理能力的处理单 元,如路由器中的处理器)和操作系统而言,普遍提供系统时钟中断机制。系统时钟以设 定的频率周期性的产生中断,作为操作系统调度各种应用程序运行的重要依据。例如对于 vxfforks而言,通常设置系统时钟的频率为100,即每10毫秒产生1次时钟中断(tick)。参照图1,本发明以tick为单位,将系统时间划分为采样时间和生效时间。例如可 以根据需要将采样时间预设为5tick,即50毫秒,在这50毫秒内对收到的报文流量进行采 样。对于生效时间,设定一个范围,例如100 200tick,在其中取一个随机值(如[tl:t2]) 作为本次采样的生效时间。根据预设的采样时间长度以及系统的实际应用场合和需求,设置报文流量阈值。 从采样时间开始的一刻起,允许报文送到CPU,并记录当前已经收到的报文数量,当系统时 钟中断tick数表明本次采样时间结束的时候,再记录一次收到的报文数量,从而得出采样 期间的采样流量。将所述采样流量与预设的流量阈值进行比较,如果所述采样流量大于所述预设的 流量阈值,则在接下来的生效时间内减少向CPU发包或禁止向CPU发包,从而缓解CPU的压 力,如果采样流量小于所述预设的流量阈值,则表明报文流量在CPU处理能力允许的范围 内,则接下来的生效时间内将按照正常流程允许以太网口向CPU发包。另外,本发明还可以根据实际需要调整采样时间和生效时间的长度以及流量阈 值,调整参数后根据新的采样时间和流量阈值进行报文限速。参照图2,示出了本发明一种以太网口报文限速方法优选实施例的流程示意图,包 括步骤步骤S210、在采样时间Tl内对从以太网口发送到CPU的报文进行流量采样,输出
采样流量。
所述采样时间Tl可以根据系统时钟中断预先设置。步骤S220、将所述采样流量与预先设置的第一流量阈值进行比较,判断所述采样 流量是否高于所述第一流量阈值。如果所述采样流量高于所述第一流量阈值则进入步骤 S230,否则进入步骤S240。所述第一流量阈值可以根据实际需要预先进行设置。如果系统及CPU的性能好则 所述第一流量阈值可以设置高点,反之则设置低点。步骤S230、在生效时间T2内控制从所述以太网口发送到所述CPU的报文流量,使 生效时间T2内的单位时间报文流量小于采样时间Tl内的单位时间报文流量。所述控制从所述以太网口发送到所述CPU的报文流量的方式有两种。第一种方式在生效时间T2内禁止所述以太网口向所述CPU发送报文。通过禁止 以太网口中断或者禁止以太网控制芯片收包等方式禁止以太网口向CPU发包。第二种方式减少从所述以太网口发送到所述CPU的报文流量,在生效时间T2内 使所述以太网口向所述CPU发送的报文流量小于第二流量阈值。即在生效时间内将从以太网口发送到CPU的报文流量减小到CPU可以承受的范围 内,所述第二流量阈值可以根据CPU的性能参数或实际应用场景确定。根据系统时钟中断设置生效时间范围tl至t2,并在所述范围内取随机值作为生 效时间T2,也可以直接根据系统时钟中断预先设置所述生效时间T2。本发明所述的采样时间Tl和生效时间T2及第一流量阈值可以根据实际需要进行 设置和调整,重新设置后将根据新的采样时间、生效时间和第一流量阈值对报文进行限速。步骤S240、对从所述以太网口发送到所述CPU的报文流量不进行控制。所述以太 网口在生效时间T2内按照正常流程向CPU发送报文。本发明所述技术方案将系统时间划分为采样时间和生效时间,通过将采样流量与 流量阈值的比较判断来实现以太网口的报文限速,在不占用额外的硬件定时器资源的情况 下对以太网口发送给CPU的报文进行监控,对超标的报文进行控制,硬件代价小,适用范围 广。进一步,可以根据需要实时动态的设定采样时间、生效时间和流量阈值,方便灵活。参照图3,示出了本发明一种以太网口报文限速装置优选实施例的结构图。所述以 太网口报文限速装置300还包括采样单元310、用于在采样时间Tl内对从以太网口发送到CPU的报文进行流量采
样,输出采样流量。判断单元320、用于将所述采样单元310输出的采样流量与预先设置的第一流量 阈值进行比较,判断所述采样流量是否高于所述第一流量阈值。控制单元330、用于当所述采样流量高于所述第一流量阈值时,在生效时间T2内 控制从所述以太网口发送到所述CPU的报文流量,使生效时间T2内的单位时间报文流量小 于采样时间Tl内的单位时间报文流量。其中,所述控制单元330包括第一控制单元(图未示)、用于在生效时间T2内禁止所述以太网口向所述CPU发 送报文。所述控制单元330还可以包括第二控制单元(图未示)、用于减少从所述以太网口发送到所述CPU的报文流量,在生效时间T2内使所述以太网口向所述CPU发送的报文流量小于第二流量阈值。所述以太网口报文限速装置300还包括第一设置单元340、用于以系统时钟中断为基础预先设置采样时间Tl和生效时间 T2。和第二设置单元350、用于设置第一流量阈值。本发明所述技术方案将系统时间划分为采样时间和生效时间,通过将采样流量与 流量阈值的比较判断来实现以太网口的报文限速,在不占用额外的硬件定时器资源的情况 下对以太网口发送给CPU的报文进行监控,对超标的报文进行控制,硬件代价小,适用范围 广。进一步,可以根据需要实时动态的设定采样时间、生效时间和流量阈值,方便灵活,并 且可以将本发明所述装置嵌入到系统时钟中断处理程序中,从而独立于以太网口的收包任 务,有利于提高系统的可扩展性。本发明还公开了一种数据通信设备,所述数据通信设备包括以太网口和CPU,所述 数据通信设备还包括以太网口报文限速装置,所述以太网口报文限速装置在图3所述实施 例中已经进行了详细描述,在此不再赘述。本领域普通技术人员可以理解,在本发明各方法实施例中,所述各步骤的序号并 不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动性 的前提下,对各步骤的先后变化也在本发明的保护范围之内。所述装置实施例是与方法实 施例对应的,在装置实施例中未详细描述的部分参照方法实施例相关部分的描述即可。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种以太网口报文限速方法,其特征在于,包括在采样时间T1内对从以太网口发送到CPU的报文进行流量采样,输出采样流量;将所述采样流量与预先设置的第一流量阈值进行比较,判断所述采样流量是否高于所述第一流量阈值;当所述采样流量高于所述第一流量阈值时,在生效时间T2内控制从所述以太网口发送到所述CPU的报文流量,使生效时间T2内的单位时间报文流量小于采样时间T1内的单位时间报文流量。
2.根据权利要求1所述的以太网口报文限速方法,其特征在于,所述在生效时间T2内 控制从所述以太网口发送到所述CPU的报文流量具体为在生效时间T2内禁止所述以太网口向所述CPU发送报文。
3.根据权利要求2所述的以太网口报文限速方法,其特征在于,所述在生效时间T2内 禁止所述以太网口向所述CPU发送报文具体为在生效时间T2内通过禁止所述以太网口中断或禁止以太网控制器芯片收包的方式禁 止所述以太网口向所述CPU发送报文。
4.根据权利要求1所述的以太网口报文限速方法,其特征在于,所述在生效时间T2内 控制从所述以太网口发送到所述CPU的报文流量具体为减少从所述以太网口发送到所述CPU的报文流量,在生效时间T2内使所述以太网口向 所述CPU发送的报文流量小于第二流量阈值。
5.根据权利要求1至4任一项所述的以太网口报文限速方法,其特征在于,还包括 以系统时钟中断为基础预先设置采样时间Tl和生效时间范围tl至t2,并在所述范围内取随机值作为生效时间T2。
6.一种以太网口报文限速装置,其特征在于,包括采样单元,用于在采样时间Tl内对从以太网口发送到CPU的报文进行流量采样,输出 采样流量;判断单元,用于将所述采样单元输出的采样流量与预先设置的第一流量阈值进行比 较,判断所述采样流量是否高于所述第一流量阈值;控制单元,用于当所述采样流量高于所述第一流量阈值时,在生效时间T2内控制从所 述以太网口发送到所述CPU的报文流量,使生效时间T2内的单位时间报文流量小于采样时 间Tl内的单位时间报文流量。
7.根据权利要求6所述的以太网口报文限速装置,其特征在于,所述控制单元包括 第一控制单元,用于在生效时间T2内禁止所述以太网口向所述CPU发送报文。
8.根据权利要求6所述的以太网口报文限速装置,其特征在于,所述控制单元包括 第二控制单元,用于减少从所述以太网口发送到所述CPU的报文流量,在生效时间T2内使所述以太网口向所述CPU发送的报文流量小于第二流量阈值。
9.根据权利要求6至8任一项所述的以太网口报文限速装置,其特征在于,还包括 第一设置单元,用于以系统时钟中断为基础预先设置采样时间Tl和生效时间范围tl至t2,并在所述范围内取随机值作为生效时间T2。 第二设置单元,用于设置第一流量阈值。
10.一种数据通信设备,包括以太网口和CPU,其特征在于,所述数据通信设备还包括如权利要求6至8任一项所述的以太网口报文限速装置。
全文摘要
本发明公开了一种以太网口报文限速方法、装置及数据通信设备。所述方法包括在采样时间T1内对从以太网口发送到CPU的报文进行流量采样,输出采样流量;将所述采样流量与预先设置的第一流量阈值进行比较,判断所述采样流量是否高于所述第一流量阈值;当所述采样流量高于所述第一流量阈值时,在生效时间T2内控制从所述以太网口发送到所述CPU的报文流量,使生效时间T2内的单位时间报文流量小于采样时间T1内的单位时间报文流量。本发明所述方案在不占用额外的硬件定时器资源的情况下对以太网口发送给CPU的报文进行监控,对超标的报文进行控制,硬件代价小,适用范围广。
文档编号H04L1/00GK101924679SQ20091008660
公开日2010年12月22日 申请日期2009年6月12日 优先权日2009年6月12日
发明者姬忠鹤 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1