著录项信息
| 专利名称 | 防止组播源攻击的方法及系统 |
| 申请号 | CN200810227936.2 | 申请日期 | 2008-12-02 |
| 法律状态 | 权利终止 | 申报国家 | 中国 |
| 公开/公告日 | 2009-05-06 | 公开/公告号 | CN101426014 |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;1;2;/;5;6;;;H;0;4;L;1;2;/;1;8查看分类表>
|
| 申请人 | 中兴通讯股份有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 中兴通讯股份有限公司 | 当前权利人 | 中兴通讯股份有限公司 |
| 发明人 | 杜旭 |
| 代理机构 | 北京派特恩知识产权代理事务所(普通合伙) | 代理人 | 张颖玲;王黎延 |
摘要
本发明公开了一种防止组播源攻击的方法,包括:专用集成电路芯片的端口接收组播源发来的组播报文;判断该组播报文是否为未知组播报文,若该组播报文为已知组播报文,将该已知组播报文上送组播协议进程处理,结束当前处理流程;若该组播报文为未知组播报文,则记录该未知组播报文,并将接收该未知组播报文的端口的计数器加1;判断计数器记录的端口接收的未知组播报文的个数是否超过预设阈值,若未超过阈值,则将该当前接收的未知组播报文上送组播协议进程处理;否则,将当前接收的未知组播报文丢弃,结束当前处理流程。本发明还公开了一种防止组播源攻击的系统。采用本发明的方法及系统,能有效预防组播源的攻击,最终提高CPU的资源利用率。
1.一种防止组播源攻击的方法,其特征在于,该方法包括:
专用集成电路芯片的端口接收组播源发来的组播报文;
判断所接收的组播报文是否为未知组播报文,若所述组播报文为已知组播报文,则将已知组播报文上送组播协议进程处理,结束当前处理流程;
若所述组播报文为未知组播报文,则记录所述未知组播报文,并将接收所述未知组播报文的端口的计数器加1;判断所述计数器记录的端口接收的未知组播报文的个数是否超过预设阈值,若未超过阈值,则将当前接收的未知组播报文上送组播协议进程处理,否则,将当前接收的未知组播报文丢弃。
2.根据权利要求1所述的防止组播源攻击的方法,其特征在于,所述判断组播报文是否为未知组播报文具体为:将当前接收到的组播报文的关键字与已记录的组播报文的关键字进行匹配。
3.根据权利要求1所述的防止组播源攻击的方法,其特征在于,所述记录未知组播报文具体为:记录所述未知组播报文的关键字。
4.根据权利要求2或3所述的防止组播源攻击的方法,其特征在于,所述关键字包括组播报文的源地址、组播报文的目的组地址以及接收该组播报文的端口。
5.根据权利要求1所述的防止组播源攻击的方法,其特征在于,所述阈值为每个端口允许接收的未知组播报文的最大个数。
6.根据权利要求1所述的防止组播源攻击的方法,其特征在于,该方法还包括:
设置定时器;
定时器时间到时,遍历专用集成电路芯片端口的计数器;
判断所述计数器的自动清零使能开关是否开启,若所述计数器的自动清零使能开关开启,则该计数器清零;若所述计数器的自动清零使能开关未开启,则该计数器不清零。
7.根据权利要求6所述的防止组播源攻击的方法,其特征在于,所述定时器为1秒定时器。
8.一种防止组播源攻击的系统,其特征在于,该系统包括:
组播报文类型判断模块,用于判断专用集成电路芯片的端口接收的组播报文是否为未知组播报文,并将判断结果送至组播报文记录模块或未知组播报文处理模块;
组播报文记录模块,用于根据组播报文类型判断模块的判断结果记录未知组播报文;
计数器,用于记录所述计数器对应的端口接收的未知组播报文的个数;
未知组播报文数目比较模块,用于比较所述计数器记录的端口接收的未知组播报文的个数与预设的阈值,并将比较结果送至未知组播报文处理模块;
未知组播报文处理模块,用于当未知组播报文的个数未超过阈值时,将未知组播报文上送组播协议进程处理;当未知组播报文的个数超过阈值时,将未知组播报文丢弃;或者用于根据组播报文类型判断模块的判断结果,将已知组播报文上送组播协议进程处理。
9.根据权利要求8所述的防止组播源攻击的系统,其特征在于,所述系统还包括定时器,用于决定是否将计数器清零。
10.根据权利要求9所述的防止组播源攻击的系统,其特征在于,所述定时器为1秒定时器。
防止组播源攻击的方法及系统\n技术领域\n[0001] 本发明涉及网络通信中的防范网络攻击技术,尤其涉及一种防止组播源攻击的方法及系统。\n背景技术\n[0002] 随着互联网协议(IP)网络的高速发展,组播技术的应用也越来越广泛。现有的组播网络中,中高端网络交换路由设备基本上都采用专用集成电路(ASIC)硬件转发与CPU软件处理相结合的架构。在对组播报文的处理上,CPU先运行组播协议生成组播路由表,并将组播路由表保存到底层的ASIC芯片中,之后组播源发送的组播报文按照ASIC中保存的组播路由表进行转发。但是,ASIC芯片的硬件资源非常有限,不能保存大量的组播路由表表项。如果有组播源恶意地发送组播报文,且CPU在处理这些组播报文时生成对应的组播路由表表项,并将所生成的组播路由表表项均写入组播路由表,就会导致组播路由表被这些无效的组播路由表表项占满。当有新的组播源发送组播报文时,组播路由表就无法保存新的组播路由表表项,从而会导致新的组播报文丢失。可见,防止组播源的恶意攻击成为网络设备中急需解决的重要问题。\n[0003] 为防止组播源的恶意攻击,现有技术主要有以下几种解决方式:\n[0004] 1、采用访问控制列表(ACL)来限制对特定组播地址发送组播报文的组播源的地址范围,进而控制发送组播报文的组播源。但是,网络设备中的ACL是静态的,当需要更改对组播源的限制时,则需要人工参与,因而此方法不适合组播网络对组播源的自动实时管理。\n[0005] 2、采用组播源认证服务器对组播源进行实时控制管理。此方法需要在组播网络的接入层中增加新的网络设备,还要求操作人员熟悉设备的控制管理,因而增加了网络的成本以及组网的复杂度。\n[0006] 由以上分析可知,现有技术还未能充分、有效地利用现有网络设备来防止组播源对组播系统的恶意攻击。\n发明内容\n[0007] 有鉴于此,本发明的主要目的在于提供一种防止组播源攻击的方法及系统,阻止生成过多的与未知组播报文对应的组播路由表表项,进而有效预防组播源的攻击。\n[0008] 为达到上述目的,本发明的技术方案是这样实现的:\n[0009] 一种防止组播源攻击的方法,其包括:\n[0010] 专用集成电路芯片的端口接收组播源发来的组播报文;\n[0011] 判断所接收的组播报文是否为未知组播报文,若所述组播报文为已知组播报文,则将已知组播报文上送组播协议进程处理,结束当前处理流程;\n[0012] 若所述组播报文为未知组播报文,则记录所述未知组播报文,并将接收所述未知组播报文的端口的计数器加1;判断所述计数器记录的端口接收的未知组播报文的个数是否超过预设阈值,若未超过阈值,则将当前接收的未知组播报文上送组播协议进程处理,否则,将当前接收的未知组播报文丢弃。\n[0013] 其中,所述判断组播报文是否为未知组播报文具体为:将当前接收到的组播报文的关键字与已记录的组播报文的关键字进行匹配。\n[0014] 其中,所述记录未知组播报文具体为:记录所述未知组播报文的关键字。\n[0015] 其中,所述关键字包括组播报文的源地址、组播报文的目的组地址以及接收该组播报文的端口。\n[0016] 其中,所述阈值为每个端口允许接收的未知组播报文的最大个数。\n[0017] 其中,所述防止组播源攻击的方法还包括:\n[0018] 设置定时器;\n[0019] 定时器时间到时,遍历专用集成电路芯片端口的计数器;\n[0020] 判断所述计数器的自动清零使能开关是否开启,若所述计数器的自动清零使能开关开启,则该计数器清零;若所述计数器的自动清零使能开关未开启,则该计数器不清零。\n[0021] 其中,所述定时器为1秒定时器。\n[0022] 一种防止组播源攻击的系统,其包括:\n[0023] 组播报文类型判断模块,用于判断专用集成电路芯片的端口接收的组播报文是否为未知组播报文,并将判断结果送至组播报文记录模块或未知组播报文处理模块;\n[0024] 组播报文记录模块,用于根据组播报文类型判断模块的判断结果记录未知组播报文;\n[0025] 计数器,用于记录所述计数器对应的端口接收的未知组播报文的个数;\n[0026] 未知组播报文数目比较模块,用于比较所述计数器记录的端口接收的未知组播报文的个数与预设的阈值,并将比较结果送至未知组播报文处理模块;\n[0027] 未知组播报文处理模块,用于当未知组播报文的个数未超过阈值时,将未知组播报文上送组播协议进程处理;当未知组播报文的个数超过阈值时,将未知组播报文丢弃;\n或者用于根据组播报文类型判断模块的判断结果,将已知组播报文上送组播协议进程处理。\n[0028] 其中,所述系统还包括定时器,用于决定是否将计数器清零。\n[0029] 其中,所述定时器为1秒定时器。\n[0030] 由以上技术方案可以看出,本发明通过监控一定时间内在ASIC芯片端口上接收的未知组播报文的数目,并将该未知组播报文的数目与预设的阈值进行比较,来判断源网段是否存在恶意的组播源攻击,从而保护组播系统。如果某一端口上接收的未知组播报文的数目超过了预设的阈值,则丢弃数目超过阈值的那部分未知组播报文,相应地,CPU也就不会生成对应这部分未知组播报文的组播路由表表项,因此不会占用大量的CPU资源,从而减少未知组播报文对CPU的攻击,提高CPU资源的有效利用率。综上所述,与现有技术相比,本发明更有效地预防了组播源对组播系统的攻击,简化了组网的复杂度,加强了对网络设备的保护。\n附图说明\n[0031] 图1为本发明防止组播源攻击的方法的实现流程图;\n[0032] 图2为本发明定时器的处理流程图。\n具体实施方式\n[0033] 为使本发明所属技术领域的技术人员更清楚地了解本发明,现结合附图详细说明。\n[0034] 本发明方法的基本思想是:通过控制进入ASIC芯片端口的未知组播报文的个数来防止组播源攻击。\n[0035] 本发明方法的实现流程如图1所示,包括以下步骤:\n[0036] 步骤101,组播源发送组播报文,ASIC芯片的端口接收该组播报文。\n[0037] 步骤102,判断该组播报文是否为未知组播报文;\n[0038] 该步骤的具体实现过程为:首先提取该组播报文的关键字,所述关键字包括:组播报文的源地址(source)、组播报文的目的组地址(group)以及接收该组播报文的端口(port),然后将所提取的组播报文的这些关键字与之前已记录的组播报文的关键字进行匹配。其中,需将组播报文的源地址、目的组地址以及接收端口均匹配上才能确定其是已知组播报文,这样处理的目的是为了防止源网段不断出现新的源地址对组播系统进行攻击,从而提高组播系统的安全性。\n[0039] 步骤103,若该组播报文的关键字与已记录的某一组播报文的关键字匹配,则该组播报文为已知组播报文,因此将该已知组播报文直接上送组播协议进程处理,之后结束当前处理流程;\n[0040] 其中,所述上送组播协议进程处理具体是:将其按照已有的组播路由表进行转发,或者由CPU进行其他处理,具体如何转发、CPU如何进行其他处理为已有技术,这里不再赘述。\n[0041] 步骤104,若该组播报文的关键字与已记录的任一组播报文的关键字均不匹配,则该组播报文为未知组播报文,因此记录该未知组播报文,并将接收该未知组播报文的端口的计数器加1;\n[0042] 这里,所述计数器是为了对端口接收的未知组播报文进行计数而预先设置的,对于每个端口,都要设置相应的计数器;\n[0043] 记录未知组播报文具体为:记录该未知组播报文的关键字,即记录该未知组播报文的源地址、组播报文的目的组地址以及接收端口。\n[0044] 步骤105~106,判断上述计数器记录的端口接收的未知组播报文的个数是否超过预设的阈值;若未超过阈值,则返回步骤103,将该未知组播报文上送组播协议进程处理,生成与其对应的组播路由表表项;否则,将该未知组播报文丢弃,结束当前处理流程。\n[0045] 其中,该阈值为每个端口允许接收的未知组播报文的最大个数,其可根据组网规模以及用户规模确定。\n[0046] 由以上分析可知,假设某一端口允许接收的未知组播报文的最大个数为500个,则从501个开始未知组播报文将都被丢弃,而不会被上送组播协议进程处理,也不会生成相应的组播路由表表项。因此,为了控制是否要永远禁止超过预设阈值的未知组播报文进入,本发明防止组播源攻击的方法还包括以下步骤:设置定时器。相应地,定时器处理流程如图2所示,包括以下步骤:\n[0047] 步骤201,当定时器时间到时,遍历ASIC芯片所有端口的计数器;\n[0048] 步骤202~204,判断每个计数器的自动清零使能开关是否开启,若计数器的自动清零使能开关开启,则该计数器清零;若计数器的自动清零使能开关未开启,则该计数器不清零。\n[0049] 其中,采用的定时器较佳为1秒定时器,这样即可瞬时判断端口的计数器是否清零。\n[0050] 如果计数器清零,则在下一定时时间开始后将立即重新计数。因此,如果在某一定时时间内未知组播报文的个数过多,超过预设的阈值,也不会影响下一定时时间内端口对未知组播报文的接收。\n[0051] 如果计数器不清零,若在某一定时时间内未知组播报文的个数过多,超过预设的阈值,则以后组播源发送来的未知组播报文都将被丢弃,而不会被上送组播协议处理。\n[0052] 为实现上述方法,本发明还提出了一种防止组播源攻击的系统,包括:\n[0053] 组播报文类型判断模块,用于判断专用集成电路芯片的端口接收的组播报文是否为未知组播报文,并将判断结果送至组播报文记录模块或未知组播报文处理模块;\n[0054] 组播报文记录模块,用于根据组播报文类型判断模块的判断结果记录未知组播报文;\n[0055] 计数器,用于记录计数器对应的端口接收的未知组播报文的个数;\n[0056] 未知组播报文数目比较模块,用于比较上述计数器记录的端口接收的未知组播报文的个数与预设的阈值,并将比较结果送至未知组播报文处理模块;\n[0057] 未知组播报文处理模块,用于根据收到的比较模块的比较结果,决定将未知组播报文丢弃或者上送组播协议进程处理,生成与其对应的组播路由表表项;或者用于根据组播报文类型判断模块的判断结果,将已知组播报文上送组播协议进程处理。\n[0058] 为了使上述系统能实现定时自动清零功能,使端口能够接收更多的未知组播报文,上述系统还可包括定时器,用于决定当定时器时间到时,是否将计数器清零。\n[0059] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
法律信息
- 2018-11-23
未缴年费专利权终止
IPC(主分类): H04L 29/06
专利号: ZL 200810227936.2
申请日: 2008.12.02
授权公告日: 2013.04.03
- 2013-04-03
- 2009-07-01
- 2009-05-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-07-12
|
2006-01-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |