数据流的检测处理方法、中央处理器及交换机的制作方法

文档序号:7695225阅读:268来源:国知局
专利名称:数据流的检测处理方法、中央处理器及交换机的制作方法
技术领域
本发明涉及数据交换技术,尤其涉及一种数据流的检测处理方法、中央 处理器及交换机。
背景技术
目前,交换机的硬件结构由专用集成电路(Application Specific IntegratedCircuits, ASIC)和CPU组成,如图1。 ASIC芯片1用于在不同 端口如端口 Pl、端口 P2、端口 Pn之间高速的转发数据包,CPU 2承担更为
复杂的事务,比如对整个交换机的管理和监控;对网络管理方面任务和请 求进行处理;以及接收从端口上进入各种需要软件处理的报文等等。
交换机转发报文时,通过提取数据特征信息对转发的报文进行记录。报 文的数据特征信息是指从所有报文中都具有的字段中提取出的信息,具有相 同数据特征信息的报文流属于相同的报文。例如,对于常见的地址解析协议 (ARP )冲艮文,如果数据特征选择目的介质访问控制(Media Access Control, MAC )地址、源MAC地址这两种,如果对于源MAC地址为A,目的MAC地址为 B和源MAC地址为C,目的MAC地址为D的两个l艮文,交换机就会根据目的 MAC地址,源MAC地址作为特征信息分别记录这两个才艮文。
当交换机软件处理的报文超过一定流量时,往往造成交换机CPU 2的负 载升高,甚至导致交换机工作的瘫痪。因此,需要在软件上将接收到的这些 报文进行限速。
现有技术中,交换机对数据流的限速是利用CPU2的定时器功能实现的。 如图2所示,限速过程包括
步骤2Q1、定时器到期时,CPU 2遍历所有数据特征信息;步骤202、判断具有某个数据特征信息的报文是否超过限速水线,若是, 则进^"限速处理;
步骤203、判断具有该数据特征信息的报文是否需要告警,若是,则进 行告警处理;
步骤204、重新启动定时器。
但是,由于网络中存在大量不确定的数据流,这样交换机就可能收到大 量具有不同数据特征信息的报文,而定时器到期后就会触发CPU 2在极短的 时间内对这些大量具有不同数据特征信息的报文进行统计。例如,当需要对 网络中每一个具有相同数据特征信息的送CPU 2处理的报文流量进行限速时, 定时器到期后,CPU 2就需要将所有具有相同数据特征信息的报文的流量进 行统计,不同的数据特征信息越多,CPU 2每次在定时器到期后的信息计算 量就越大;如果要求统计的时间周期越短,则定时器启动的频率就越高,同 样会大大加重交换机CPU 2的处理负担。

发明内容
本发明的目的在于提出一种数据流的检测处理方法、中央处理器及交 换机,以提高交换机的检测处理能力。
为实现上述目的,本发明提供了一种数据流的检测处理方法,包括
根据接收到的当前报文,获取与所述当前报文具有相同数据特征信息 的前一个报文的记录时间;
在所述前一个报文的记录时间与当前记录时间的差值小于预定的检 测周期时,将报文计数加1;
在所述报文计数加1后的值超过预定水线的情况下,执行相应的处理 操作。
为实现上述目的,本发明还提供了一种中央处理器,包括 时间获取单元,用于根据接收到的当前报文,获取与所述当前报文具有相同数据特征信息的前 一 个报文的记录时间;
才艮文计数单元,用于在所述前一个报文的记录时间与当前记录时间的
差值小于预定的检测周期时,将报文计数加1;
检测处理单元,用于在所述报文计数加1后的值超过预定水线的情况 下,执行相应的处理操作。
为实现上述目的,本发明还提供了一种设置有上述中央处理器的交换 机,通过统计相同报文之间的时间差实时对交换机接收的数据流进行检测处 理(包括限速和告警等),解决了现有交换机的CPU瞬间进行大量计算导致 交换机性能降低的问题,大大减轻了交换机CPU的限速及告警处理负荷,提 高了交换机的检测处理效率以及抗攻击的能力。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为现有技术中交换机的硬件结构示意图2为现有技术中数据流的限速处理流程图3为本发明数据流的检测处理方法实施例一的流程图4为本发明数据流的检测处理方法实施例二的流程图5为本发明数据流的检测处理方法实施例三的流程图6为本发明中央处理器实施例一的结构示意图7为本发明中央处理器实施例二的结构示意图。
具体实施例方式
本发明数据流的检测处理方法实施例包括
根据接收到的当前报文,获取与所述当前报文具有相同数据特征信息 的前一个净艮文的记录时间;
在所述前一个报文的记录时间与当前记录时间的差值小于预定的检测周期时,将才艮文计^:加1;
在所述报文计数加1后的值超过预定水线的情况下,执行相应的处理 操作。
检测处理包括限速和告警等,下面分别进行详细说明。
图3为本发明数据流的检测处理方法实施例一的流程图,本实施例中, ;险测处理为限速,具体包括
步骤301、根据接收到的当前报文,获取与所述当前报文具有相同数 据特征信息的前一个报文的记录时间;假设将当前报文记为A2,记录当前 报文A2之前还记录有与当前报文属于相同报文A的前一个报文Al,则获 取前一个报文A1的记录时间。
步骤302、在所述前一个报文的记录时间与当前记录时间的差值小于 预定的限速周期时,将报文计数加1;即通过比较当前报文A2与前一个报 文A1的记录时间,可获知报文A或数据流A的流速;假设当前报文A2的 记录时间为T2,前一个报文Al的记录时间为Tl,当T2-Tl小于限速周期 时,则统计限速周期内数据流A的流量,即将报文计数加1。
步骤303、在所述报文计数加1后的值超过限速水线的情况下,丟弃 所述当前报文。也就是在一定时间即限速周期内,统计的数据流的流量大 于交换机可承受的流量时,丟弃当前报文,实现对数据流的限速。
本实施例通过统计相同报文之间的时间差实时对交换机接收的数据流进 行限速处理,解决了现有交换机的CPU瞬间进行大量计算导致交换机性能降 低的问题,大大减轻了交换机CPU的处理负荷,提高了交换机的限速效率以 及抗攻击的能力。
图4为本发明数据流的检测处理方法实施例二的流程图,本实施例中, 检测处理为限速,交换机CPU第一次接收到某一数据流记为B的第一个报 文Bl后,记录该数据流B的数据特征信息以及报文Bl的接收时刻,并对 接收到的报文Bl及数据流B的后续报文进行计数,对数据流B的限速过程包括
步骤401、记录当前接收的报文,假设将当前报文记为B2,且根据记 录的数据特征信息,可知与第一个报文Bl属于数据流B中相邻的两个报
文;
步骤402、判断第一个报文Bl的记录时间即接收时刻Tl,与当前报 文B2的接收时刻T2的差值是否小于预定的限速周期如ls,即是否达到限 速周期ls,若是,执行步骤405;如果达到限速周期,表示数据流B的流 速及流量符合要求,执行步骤403;
步骤403、记录当前时间,以备下一次判断限速周期; 步骤404、将记录的报文计数即报文统计值cur-pkt清零; 步骤405、将记录的报文计数累加,即统计值cur_pkt + l; 步骤406、判断统计值cur —pkt + l是否超过限速水线10PPS (即只允 许每秒10个报文),如果超过,则执行步骤408;否则,执行步骤407;
步骤407 、允许当前报文B2通过,完成当前限速周期内对数据流B 的限速处理。
步骤408、丟弃当前报文B2,实现了对数据流B的实时检测限速处理。
本实施例利用接收到的数据流之间的时间差统计流量, 一 方面由于只 有接收到报文才触发对记录的相应数据流的计算,避免了计算不需要统计 的计数,另一方面避免了瞬时处理大量的信息,对于这些信息的处理能够 实现较平坦的处理。
需要说明的是本实施例中,限速水线和告警水线的周期不限于ls, 可以为其他值,如2s、 3s等。
图5为本发明数据流的检测方法实施例三的流程图,本实施例中,检 测处理为对不正常的数据流情况进行告警,可包括
步骤501、记录当前接收的报文,假设将当前报文记为C2,且根据记 录的数据特征信息,可知与之前的一个报文Cl属于数据流C中相邻的两个报文;
步骤5 02、判断第一个报文Cl的记录时间即接收时刻T3,与当前报 文C2的接收时刻T4的差值,即T4-T3是否小于预定的告警水线周期;告 警水线周期指数据流流量达到告警值的检测周期,如ls,如果告警水线为 IOPPS,表示检测周期1秒内流量值达到10个属于数据流C的报文需要告 警,即本步骤判断检测周期是否未达到告警水线周期ls,若是,执行步骤 505;如果达到告警水线周期,表示数据流C的流速及流量符合要求,执 行步骤503;
步骤503、记录当前时间,以备下一次判断告警水线周期;
步骤504、将记录的报文计数即报文统计值cur-pkt清零;
步骤505、将记录的报文计数累加,即统计值cur —pkt + l;
步骤506、判断统计值cur_pkt + l是否超过告警水线如10PPS,如果
超过,则执行步骤5 07;否则,执行步骤511;
步骤507、记录当前超限时间,以备下次检测使用;
步骤5 08 、判断当前超限时间即当前报文C2的记录时间T4与上一次
超限的时间间隔是否超过重新告警周期如3s,以减少告警次数;若是,则
表示交换机受到间歇性攻击,执行步骤510;否则,说明交换机受到的攻
击为持续性攻击,执行步骤509;
步骤509、判断当前超限时间即当前报文C2的记录时间T4与上一次
告警的时间间隔是否超过告警周期,如10秒,以更进一步减少告警次数;
若是,执行步骤510;否则,执行步骤511;
步骤510、记录当前告警时间,以备下次告警检测使用;同时进行告
警处理,完成当前告警检测。
步骤511、不做告警处理,继续统计报文。
本实施例中,为了减少告警次数,分别针对间歇性攻击和持续性攻击 设置了重新告警周期和告警周期,若此次超限时间与上次超限时间的间隔超过重新告警周期,则认为是间歇性攻击,即时进行告警,若没超过重新
告警周期,则认为是持续性攻击,利用告警周期来限制告警次数;假设重 新告警周期为3s,告警周期为10s, t-0时超限并告警,若t:2时第二 次超限,由于2<3,则认为是持续性攻击,进一步判断2<10,暂不告警, 继续统计报文,若t = 6时第三次超限,由于(6-2)〉3,则认为是间歇性 攻击,即时告警。在实际应用中,步骤507 ~步骤510可省去,直接进行 告警处理。
本实施例通过统计相同数据流的报文的接收时间差对数据流进行告 警处理,大大降低了告警对交换机CPU负载带来的不良影响,提高了交换 机的告警处理能力。
上述方法实施例利用接收到的数据流之间的时间差统计流量,降低了 由于限速和告警可能对交换机CPU负载的影响,提高了交换机限速和告警 处理能力。
中央处理器可包括时间获取单元、报文计数单元及检测处理单元。 其中,时间获取单元用于根据接收到的当前报文,获取与当前接收的报文 具有相同数据特征信息的前一个报文的记录时间;报文计数单元用于在所 述前一个报文的记录时间与当前记录时间的差值小于预定的检测周期时, 将报文计数加1;检测处理单元用于在所述报文计数加1后的值超过预定 水线的情况下,执行相应的处理操作。本实施例中,检测处理单元可为限 速单元,也可为告警单元,下面分别进行详细说明。
图6为本发明中央处理器实施例一的结构示意图,本实施例中,检测 处理单元为限速单元,这种情况下,中央处理器CPU包括时间获取单元61、 限速周期判断单元62、当前时间设置单元63、报文计数单元64、限速水 线判断单元65及限速单元66;时间获取单元61用于获取与当前接收的报 文具有相同数据特征信息的前一个报文的记录时间;限速周期判断单元62 利用时间获取单元61获取的时间,判断所述前一个报文的记录时间与当前记录时间的差值是否小于预定的限速周期;当前时间设置单元63根据 限速周期判断单元62的判断结果,在所述前一个报文的记录时间与当前 记录时间的差值大于所述限速周期的情况下,记录当前时间;报文计数单 元64根据限速周期判断单元62的判断结果,在所述前一个报文的记录时 间与当前记录时间的差值小于所述限速周期时,将报文计数加1;限速水 线判断单元65根据报文计数单元64的统计结果,判断所述报文计数加1 后的值是否超过限速水线;限速单元66根据限速水线判断单元65的判断 结果,在所述报文计数加1后的值超过限速水线的情况下,丟弃所述当前 报文。
本实施例中,CPU通过时间获取单元、限速周期判断单元、报文技术 单元等单元,实现了对数据流的实时限速处理,降低了CPU的处理负载, 大大提高了 CPU的限速处理能力。
图7为本发明中央处理器实施例二的结构示意图,本实施例中,检测 处理单元为告警单元,这种情况下,CPU包括时间获取单元71、告警水 线周期判断单元72、报文计数单元73、告警水线判断单元74、告警单元 75及当前时间设置单元76;其中,时间获取单元71用于获取与当前接收 的报文具有相同数据特征信息的前 一 个报文的记录时间;告警水线周期判 断单元72根据时间获取单元71获取的时间,判断所述前一个报文的记录 时间与当前记录时间的差值是否大于所述告警水线周期;报文计数单元73
根据告警水线周期判断单元72的判断结果,在所述前一个报文的记录时 间与当前记录时间的差值小于预定的告警水线周期时,将报文计数加1; 告警水线判断单元74根据报文计数单元73的统计结果,判断所述报文计 数加1后的值是否超过告警水线;告警单元75根据告警水线判断单元74 的判断结果,在所述报文计数加l后的值超过告警水线的情况下,进行告 警。当前时间设置单元76用于在所述前一个报文的记录时间与当前记录 时间的差值大于所述告警水线周期的情况下,记录当前时间;在所述报文计数加1后的值超过告警水线的情况下,记录当前超限时间。
本实施例中,CPU还可进一步包括重新告警周期判断单元、告警周期 判断单元,重新告警周期判断单元用于在所述报文计数加l后的值超过告 警水线的情况下,判断当前超限时间与上一次超限时间的差值是否大于预
定的重新告警周期;告警周期判断单元根据重新告警周期判断单元的判断 结果,在所述当前超限时间与上一次超限时间的差值小于预定的重新告警 周期的情况下,判断当前超限时间与上一次告警时间的差值是否大于预定
的告警周期;告警单元还用于在当前超限时间与上一次超限时间的差值大 于预定的重新告警周期或所述当前超限时间与上一次告警时间的差值大 于预定的告警周期的情况下,进行告警。当前时间设置单元还用于在当前 超限时间与上一次超限时间的差值大于预定的重新告警周期或当前超限 时间与上一次告警时间的差值大于预定的告警周期的情况下,记录当前告
警时间。减少了告警次数,进一步降低了 CPU的处理负载,提高了 CPU的
告警处理性能。
交换机包括上述中央处理器实施例中的任一 CPU,通过利用上述中央 处理器实施例中的CPU进行数据流的限速和告警处理,大大提高了交换机 的限速和告警处理性能以及抗攻击的能力。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括R0M、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种数据流的检测处理方法,其特征在于,包括根据接收到的当前报文,获取与所述当前报文具有相同数据特征信息的前一个报文的记录时间;在所述前一个报文的记录时间与当前记录时间的差值小于预定的检测周期时,将报文计数加1;在所述报文计数加1后的值超过预定水线的情况下,执行相应的处理操作。
2、 根据权利要求1所述的数据流的检测处理方法,其特征在于,所 述检测周期为限速周期,所述预定水线为限速水线,执行相应的处理操作 具体为丢弃所述当前报文。
3、 根据权利要求2所述的数据流的检测处理方法,其特征在于,还 包括判断所述前 一 个报文的记录时间与当前记录时间的差值是否小于所 述限速周期,若否,记录当前时间,同时将记录的报文计数清零。
4、 根据权利要求2所述的数据流的检测处理方法,其特征在于,还 包括判断所述报文计数加1后的值是否超过限速水线,若未超过,则允 "i午所述当前才艮文通过。
5、 根据权利要求1所述的数据流的检测处理方法,其特征在于,所 述检测周期为告警周期,所述预定水线为告警水线,执行相应的处理操作 具体为进行告警。
6、 根据权利要求5所述的数据流的检测处理方法,其特征在于,还 包括判断所述前 一 个报文的记录时间与当前记录时间的差值是否小于所 述告警水线周期,若否,记录当前时间,同时将记录的报文计数清零。
7、 根据权利要求5所述的数据流的检测处理方法,其特征在于,所述执行相应的处理操作进一步包括记录当前超过告警水线的时间,判断所述当前超限时间与上 一 次超限时间的差值是否大于预定的重新告警周期;若是,则进行告警,记录当前 告警时间;若未超过所述重新告警周期,则继续判断当前超限时间与上一次告警 时间的差值是否小于预定的告警周期,若是,暂不告警;否则,进行告警, 记录当前告警时间。
8、 一种中央处理器,其特征在于,包括时间获取单元,用于根据接收到的当前报文,获取与所述当前报文具有相同数据特征信息的前 一 个报文的记录时间;报文计数单元,用于在所述前一个报文的记录时间与当前记录时间的 差值小于预定的检测周期时,将报文计数加1;检测处理单元,用于在所述报文计数加1后的值超过预定水线的情况 下,执行相应的处理操作。
9、 根据权利要求8所述的中央处理器,其特征在于,所述检测处理 单元为限速单元,用于在所述报文计数加1后的值超过限速水线的情况下, 丟弃所述当前报文;所述中央处理器还包括限速周期判断单元,用于判断所述前一个报文的记录时间与当前记录 时间的差值是否小于预定的限速周期;当前时间设置单元,用于在所述前一个报文的记录时间与当前记录时 间的差值大于所述限速周期的情况下,记录当前时间;限速水线判断单元,用于判断所述报文计数加l后的值是否超过限速 水线;报文计数单元还用于在所述前一个报文的记录时间与当前记录时间 的差值小于所述限速周期的情况下,将报文计数加1 。
10、 根据权利要求8所述的中央处理器,其特征在于,所述检测处理单元为告警单元,用于在所述报文计数加l后的值超过告警水线的情况下,进行告警;所述中央处理器还包括告警水线周期判断单元,用于判断所述前一个报文的记录时间与当前 记录时间的差值是否大于所述告警水线周期;告警水线判断单元,用于判断所述报文计数加l后的值是否超过告警 水线;当前时间设置单元,用于在所述前一个报文的记录时间与当前记录时 间的差值大于所述告警水线周期的情况下,记录当前时间;在所述报文计 数加1后的值超过告警水线的情况下,记录当前超限时间;报文计数单元还用于在所述前一个报文的记录时间与当前记录时间 的差值小于预定的告警水线周期的情况下,将报文计数加1。
11、 根据权利要求10所述的中央处理器,其特征在于,还包括 重新告警周期判断单元,用于在所述报文计数加l后的值超过告警水线的情况下,判断当前超限时间与上 一 次超限时间的差值是否大于预定的 重新告警周期;告警周期判断单元,用于在所述当前超限时间与上一次超限时间的差 值小于预定的重新告警周期的情况下,判断当前超限时间与上一次告警时 间的差值是否大于预定的告警周期;当前时间设置单元还用于在当前超限时间与上一次超限时间的差值 大于预定的重新告警周期或当前超限时间与上一次告警时间的差值大于 预定的告警周期的情况下,记录当前告警时间;告警单元还用于在所述当前超限时间与上一次超限时间的差值大于 预定的重新告警周期或当前超限时间与上一次告警时间的差值大于预定 的告警周期的情况下,进行告警。
12、 一种交换机,其特征在于,包括上述权利要求8-11中任一项所 述的中央处理器。
全文摘要
本发明涉及一种数据流的检测处理方法、中央处理器及交换机,方法包括根据接收到的当前报文,获取与当前报文具有相同数据特征信息的前一个报文的记录时间;在所述前一个报文的记录时间与当前记录时间的差值小于预定的检测周期时,将报文计数加1;在所述报文计数加1后的值超过预定水线的情况下,执行相应的处理操作。中央处理器包括时间获取单元、当前时间设置单元、报文计数单元及检测处理单元;设置有上述中央处理器的交换机,通过统计相同报文之间的时间差实时对交换机接收的数据流进行限速处理,减轻了交换机CPU的检测处理负荷,提高了交换机的检测处理效率以及抗攻击的能力。
文档编号H04L12/26GK101299719SQ20081011436
公开日2008年11月5日 申请日期2008年6月4日 优先权日2008年6月4日
发明者黄米青 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im