防止组播源攻击的方法及系统的制作方法

文档序号:7928236阅读:138来源:国知局
专利名称:防止组播源攻击的方法及系统的制作方法
技术领域
本发明涉及网络通信中的防范网络攻击技术,尤其涉及一种防止组播源攻 击的方法及系统。
背景技术
随着互联网协议(IP)网络的高速发展,组播技术的应用也越来越广泛。 现有的组播网络中,中高端网络交换路由设备基本上都采用专用集成电路
(ASIC)硬件转发与CPU软件处理相结合的架构。在对组纟番报文的处理上, CPU先运行组4番协议生成组播路由表,并将组播路由表保存到底层的ASIC芯 片中,之后组播源发送的组播报文按照ASIC中保存的组播路由表进行转发。 但是,ASIC芯片的硬件资源非常有限,不能保存大量的组播路由表表项。如果 有组播源恶意地发送组播才艮文,且CPU在处理这些组纟番才艮文时生成对应的组播 路由表表项,并将所生成的组播路由表表项均写入组播路由表,就会导致组播 路由表被这些无效的组播路由表表项占满。当有新的组播源发送组播报文时, 组播路由表就无法保存新的组播路由表表项,从而会导致新的组播报文丟失。 可见,防止组播源的恶意攻击成为网络设备中急需解决的重要问题。 为防止组播源的恶意攻击,现有技术主要有以下几种解决方式
1、 采用访问控制列表(ACL)来限制对特定组播地址发送组播报文的组播 源的地址范围,进而控制发送组播报文的组播源。但是,网络设备中的ACL是 静态的,当需要更改对组播源的限制时,则需要人工参与,因而此方法不适合 组播网络对组播源的自动实时管理。
2、 釆用组播源认证服务器对组播源进行实时控制管理。此方法需要在组播 阿络的接入层中增加新的网络设备,还要求操作人员熟悉设备的控制管理,因而增加了网络的成本以及组网的复杂度。
由以上分析可知,现有技术还未能充分、有效地利用现有网络设备来防止 组播源对组播系统的恶意攻击。

发明内容
有鉴于此,本发明的主要目的在于提供一种防止组播源攻击的方法及系统, 阻止生成过多的与未知组播报文对应的组播路由表表项,进而有效预防组播源 的攻击。
为达到上述目的,本发明的技术方案是这样实现的
一种防止组播源攻击的方法,其包括
专用集成电路芯片的端口接收组播源发来的组播报文;
判断所接收的组纟番才艮文是否为未知组播报文,若所述组纟番报文为已知组播 报文,则将已知组播才艮文上送组播协议进程处理,结束当前处理流程;
若所述组4番才艮文为未知组播"R文,则记录所述未知组^^艮文,并将接收所 述未知组播报文的端口的计数器加1;判断所述计数器记录的端口接收的未知 组播报文的个数是否超过预设阈值,若未超过阈值,则将当前接收的未知组播 报文上送组播协议进程处理,否则,将当前接收的未知组播报文丟弃。
其中,所述判断组播报文是否为未知组播报文具体为将当前接收到的组 播报文的关键字与已记录的组播报文的关键字进行匹配。
其中,所述记录未知组播报文具体为记录所述未知组一番报文的关键字。
其中,所述关键字包括组播报文的源地址、组播报文的目的组地址以及接 收该组播才艮文的端口。
其中,所述阈值为每个端口允许接收的未知组播报文的最大个数。
其中,所述防止组播源攻击的方法还包括
设置定时器;
定时器时间到时,遍历专用集成电路芯片端口的计数器; 判断所述计数器的自动清零使能开关是否开启,若所述计数器的自动清零使能开关开启,则该计数器清零;若所述计数器的自动清零使能开关未开启, 则该计数器不清零。
其中,所述定时器为l秒定时器。
一种防止组播源攻击的系统,其包括
组播报文类型判断模块,用于判断专用集成电路芯片的端口接收的组播报 文是否为未知组播报文,并将判断结果送至组播报文记录模块或未知组播报文 处理模块;
组播报文记录模块,用于根据组播报文类型判断模块的判断结果记录未知 组播报文;
计数器,用于记录所述计数器对应的端口接收的未知组播报文的个数;
未知组播报文数目比较模块,用于比较所述计数器记录的端口接收的未知 组播报文的个数与预设的阈值,并将比较结果送至未知组播报文处理模块;
未知组纟番才艮文处理才莫块,用于根据收到的比较模块的比较结果,决定将未 知组播报文丢弃或者上送组播协议进程处理;或者用于根据组播报文类型判断 模块的判断结果,将已知组播报文上送组播协议进程处理。
其中,所述系统还包括定时器,用于决定是否将计数器清零。
其中,所述定时器为l秒定时器。
由以上才支术方案可以看出,本发明通过监控一定时间内在ASIC芯片端口 上接收的未知组播报文的数目,并将该未知组播报文的数目与预设的阈值进行 比较,来判断源网段是否存在恶意的组播源攻击,从而保护组播系统。如果某 一端口上接收的未知组播报文的数目超过了预设的阈值,则丟弃数目超过阈值 的那部分未知组播报文,相应地,CPU也就不会生成对应这部分未知组播报文 的组播路由表表项,因此不会占用大量的CPU资源,/人而减少未知组播净艮文对 CPU的攻击,提高CPU资源的有效利用率。综上所述,与现有技术相比,本 发明更有效地预防了组播源对组播系统的攻击,简化了组网的复杂度,加强了 对网络设备的保护。


图1为本发明防止组播源攻击的方法的实现流程图; 图2为本发明定时器的处理流程图。
具体实施例方式
为使本发明所属技术领域的技术人员更清楚地了解本发明,现结合附图详 细说明。
本发明方法的基本思想是通过控制进入ASIC芯片端口的未知组播报文 的个数来防止组^"源攻击。
本发明方法的实现流程如图l所示,包括以下步骤
步骤101,组播源发送组播报文,ASIC芯片的端口接收该组播报文。
步骤102,判断该组播报文是否为未知组播报文;
该步骤的具体实现过程为首先提取该组播报文的关键字,所述关键字包 括组播寺艮文的源地址(source )、组播净艮文的目的组地址(group)以及接收该 组播报文的端口 (port),然后将所提取的组播报文的这些关键字与之前已记录 的组播报文的关键字进行匹配。其中,需将组播报文的源地址、目的组地址以 及接收端口均匹配上才能确定其是已知组播报文,这样处理的目的是为了防止 源网段不断出现新的源地址对组播系统进行攻击,从而提高组播系统的安全性。
步骤103,若该组播报文的关键字与已记录的某一组播报文的关键字匹配, 则该组播报文为已知组播报文,因此将该已知组播报文直接上送组播协议进程 处理,之后结束当前处理流程;
其中,所述上送组播协议进程处理具体是将其按照已有的组播路由表进 行转发,或者由CPU进行其他处理,具体如何转发、CPU如何进行其他处理 为已有技术,这里不再赘述。
步骤104,若该组播报文的关鍵字与已记录的任一组播报文的关键字均不 匹配,则该组^番4艮文为未知组播报文,因此记录该未知组^番才艮文,并将接收该 未知组播报文的端口的计数器加1;这里,所述计数器是为了对端口接收的未知组播报文进行计数而预先设置
的,对于每个端口,都要设置相应的计数器;
记录未知组播才艮文具体为记录该未知组播^艮文的关键字,即记录该未知 组播报文的源地址、组播报文的目的组地址以及接收端口 。
步骤105-106,判断上述计数器记录的端口接收的未知组播报文的个数是 否超过预设的阈值;若未超过阈值,则返回步骤103,将该未知组播报文上送 组播协议进程处理,生成与其对应的组播路由表表项;否则,将该未知组播报 文丢弃,结束当前处理流程。
其中,该阈值为每个端口允许接收的未知组播报文的最大个数,其可根据 组网规模以及用户规模确定。
由以上分析可知,假设某一端口允许接收的未知组播报文的最大个数为 500个,则从501个开始未知组播报文将都被丢弃,而不会被上送组播协议进 程处理,也不会生成相应的组播路由表表项。因此,为了控制是否要永远禁止 超过预设阈值的未知组播报文进入,本发明防止组播源攻击的方法还包括以下 步骤设置定时器。相应地,定时器处理流程如图2所示,包括以下步骤
步骤201,当定时器时间到时,遍历ASIC芯片所有端口的计数器;
步骤202-204,判断每个计数器的自动清零使能开关是否开启,若计数器 的自动清零使能开关开启,则该计数器清零;若计数器的自动清零使能开关未 开启,则该计数器不清零。
其中,采用的定时器较佳为1秒定时器,这样即可瞬时判断端口的计数器 是否清零。
如果计数器清零,则在下一定时时间开始后将立即重新计数。因此,如果 在某一定时时间内未知组播报文的个数过多,超过预设的阈值,也不会影响下 一定时时间内端口对未知组4番净艮文的接收。
如果计数器不清零,若在某一定时时间内未知组播报文的个数过多,超过 预设的阈值,则以后组播源发送来的未知组播报文都将被丢弃,而不会被上送 组播协议处理。为实现上述方法,本发明还提出了一种防止组播源攻击的系统,包括 组播报文类型判断模块,用于判断专用集成电路芯片的端口接收的组播报
文是否为未知组播报文,并将判断结果送至组播报文记录模块或未知组播报文
处理纟莫块;
组播报文记录模块,用于根据组播报文类型判断模块的判断结果记录未知 组播纟艮文;
计数器,用于记录计数器对应的端口接收的未知组播报文的个数; 未知组播报文数目比较模块,用于比较上述计数器记录的端口接收的未知
组播报文的个数与预设的阈值,并将比较结果送至未知组播报文处理模块; 未知组播报文处理模块,用于根据收到的比较模块的比较结果,决定将未
知组播报文丢弃或者上送组播协议进程处理,生成与其对应的组播路由表表项;
或者用于根据组播报文类型判断模块的判断结果,将已知组播报文上送组播协
议进程处理。
为了使上述系统能实现定时自动清零功能,使端口能够接收更多的未知组 播报文,上述系统还可包括定时器,用于决定当定时器时间到时,是否将计数 器清零。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种防止组播源攻击的方法,其特征在于,该方法包括专用集成电路芯片的端口接收组播源发来的组播报文;判断所接收的组播报文是否为未知组播报文,若所述组播报文为已知组播报文,则将已知组播报文上送组播协议进程处理,结束当前处理流程;若所述组播报文为未知组播报文,则记录所述未知组播报文,并将接收所述未知组播报文的端口的计数器加1;判断所述计数器记录的端口接收的未知组播报文的个数是否超过预设阈值,若未超过阈值,则将当前接收的未知组播报文上送组播协议进程处理,否则,将当前接收的未知组播报文丢弃。
2、 根据权利要求l所述的防止组播源攻击的方法,其特征在于,所述判断 组播报文是否为未知组播报文具体为将当前接收到的组播报文的关键字与已 记录的组播报文的关键字进行匹配。
3、 根据权利要求1所述的防止组播源攻击的方法,其特征在于,所述记录 未知组播报文具体为记录所述未知组播报文的关键字。
4、 根据权利要求2或3所述的防止组播源攻击的方法,其特征在于,所述 关键字包括组播报文的源地址、组播报文的目的组地址以及接收该组播报文的 端口。
5、 根据权利要求1所述的防止组播源攻击的方法,其特征在于,所述阈值 为每个端口允许接收的未知组播报文的最大个数。
6、 根据权利要求1所述的防止组播源攻击的方法,其特征在于,该方法还 包括设置定时器;定时器时间到时,遍历专用集成电路芯片端口的计数器; 判断所述计数器的自动清零使能开关是否开启,若所述计数器的自动清零使能开关开启,则该计数器清零;若所述计数器的自动清零使能开关未开启,则该计数器不清零。
7、 根据权利要求6所述的防止组播源攻击的方法,其特征在于,所述定时 器为1秒定时器。
8、 一种防止组^"源攻击的系统,其特征在于,该系统包括 组播报文类型判断模块,用于判断专用集成电路芯片的端口接收的组播报文是否为未知组播报文,并将判断结果送至组播报文记录模块或未知组播报文 处理模块;组播报文记录模块,用于根据组播报文类型判断模块的判断结果记录未知 组播纟艮文;计数器,用于记录所述计数器对应的端口接收的未知组播报文的个数; 未知组播报文数目比较模块,用于比较所述计数器记录的端口接收的未知组播报文的个数与预设的阈值,并将比较结果送至未知组播报文处理模块; 未知组播报文处理模块,用于根据收到的比较模块的比较结果,决定将未知组播报文丢弃或者上送组播协议进程处理;或者用于根据组播报文类型判断模块的判断结果,将已知组播报文上送组播协议进程处理。
9、 根据权利要求8所述的防止组播源攻击的系统,其特征在于,所述系统 还包括定时器,用于决定是否将计数器清零。
10、 根据权利要求9所述的防止组播源攻击的系统,其特征在于,所述定 时器为1秒定时器。
全文摘要
本发明公开了一种防止组播源攻击的方法,包括专用集成电路芯片的端口接收组播源发来的组播报文;判断该组播报文是否为未知组播报文,若该组播报文为已知组播报文,将该已知组播报文上送组播协议进程处理,结束当前处理流程;若该组播报文为未知组播报文,则记录该未知组播报文,并将接收该未知组播报文的端口的计数器加1;判断计数器记录的端口接收的未知组播报文的个数是否超过预设阈值,若未超过阈值,则将该当前接收的未知组播报文上送组播协议进程处理;否则,将当前接收的未知组播报文丢弃,结束当前处理流程。本发明还公开了一种防止组播源攻击的系统。采用本发明的方法及系统,能有效预防组播源的攻击,最终提高CPU的资源利用率。
文档编号H04L12/56GK101426014SQ20081022793
公开日2009年5月6日 申请日期2008年12月2日 优先权日2008年12月2日
发明者旭 杜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1