一种组播防攻击方法和装置的制造方法

文档序号:9828243阅读:429来源:国知局
一种组播防攻击方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种组播防攻击和装置。
【背景技术】
[0002]IP组播(IP Multicast)是介于单播(Unicast)和广播(Broadcast)之间的一种分组传送形式,又称为IP多播,是指IP数据由单一的发送者(组播源)产生,经过网络分发给一组接收者。
[0003]工作在数据链路层的IP组播称为二层组播,相应的组播协议称为二层组播协议,包括 IGMP Snooping (Internet Group Management Protocol Snooping,互联网组管理协议窥探)/MLD Snooping (Multicast Listener Discovery Snooping,组播侦听发现协议窥探)等。IGMP Snooping为IPv4 二层组播协议,MLD Snooping为IPv6 二层组播协议,二者实现基本相同,以下均以IPv4为例进行描述和说明。
[0004]IGMP Snooping简称IGSP,主要运行于IGMP路由器和主机之间的二层设备上,用于管理和控制组播组。运行IGMP Snooping的二层组播设备通过对收到的IGMP报文进行分析,为端口和IP组播地址建立起映射关系,并根据这样的映射关系转发组播数据。
[0005]IGSP根据端口所收到的协议报文,将端口划分为两种端口类型,一种称为路由器端口,一种称为成员端口。其中,路由器端口通常为朝向上游三层组播设备的端口,例如图1中交换机A的端口 Ethl/Ι和交换机B的端口 Ethl/1,IGSP模块将收到IGMP普遍组查询报文或PM Hello报文的端口维护为路由器端口 ;成员端口通常为朝向下游组播组成员的端口,例如图1中交换机A的端口 Ethl/2和Ethl/3、以及交换机B的端口 Ethl/2,IGSP模块将收到IGMP成员关系报告报文的端口维护为对应组播组的成员端口。
[0006]在现有实现中,IGSP模块将收到IGMP普遍组查询报文或P頂Hello报文的端口维护为路由器端口时,还会根据IGMP普遍组查询报文中最大响应时间(Max Resp Time)字段值或P頂Hello报文中保持时间(Holdtime)字段值来设置该路由器端口的老化定时器。运行IGSP的二层组播设备会将收到的组播数据报文,向所有路由器端口转发,如果有恶意攻击者向某一路由器端口发送Holdtime为never的PIM Hello报文或Max Resp Time为最大值的IGMP查询报文,则IGSP模块会将该端口维护为永不老化或老化时间超长的路由器端口,且会将接收的所有的组播流量都无条件向该端口转发,这就有可能会造成信息泄露。

【发明内容】

[0007]有鉴于此,本发明的目的在于提供一种组播防攻击方法和装置,能够防止信息泄
Mo
[0008]为了达到上述目的,本发明提供了如下技术方案:
[0009]—种组播防攻击方法,所述方法包括:组播设备接收到能够使所述组播设备的端口成为路由器端口的组播协议报文时,根据所述端口的链路状态信息判断所述端口是否存在攻击风险,如果存在攻击风险,则禁止将所述端口添加为路由器端口,否则,将所述端口添加为路由器端口。
[0010]—种组播防攻击装置,应用于组播设备中,其特征在于,所述装置包括:接收单元、判断单元、处理单元;
[0011 ] 所述接收单元,用于组播设备接收能够使所述组播设备的端口成为路由器端口的组播协议报文;
[0012]所述判断单元,用于在组播设备接收到所述组播报文后,根据所述端口的链路状态信息判断该端口是否存在攻击风险;
[0013]所述处理单元,用于如果所述端口存在攻击风险,则禁止将所述端口添加为路由器端口,否则,将所述端口添加为路由器端口。
[0014]由上面的技术方案可知,本发明中,在确定需要将端口添加为路由器端口时,根据端口链路状态信息判断端口是否存在攻击风险,存在攻击风险的情况下禁止将该端口添加为路由器端口。本发明可以有效避免信息泄露,例如,当恶意攻击者通过向某一端口发送Holdtime为never的PIM Hello报文或Max Resp Time为最大值的IGMP查询报文,使得该端口一直作为路由器端口向外发送组播报文而造成信息泄露时,通过应用本发明技术方案可以发现该端口存在恶意攻击,进而通过取消该端口作为路由器端口来避免信息泄露。
【附图说明】
[0015]图1是现有技术IGSP端口关系示意图;
[0016]图2是本发明实施例提供的组播防攻击方法流程图;
[0017]图3是本发明实施例一组播防攻击方法流程图;
[0018]图4是本发明实施例二组播防攻击方法流程图;
[0019]图5是本发明实施例组播防攻击装置的结构示意图。
【具体实施方式】
[0020]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
[0021]本发明所提供的技术方案可用于二层网络中,或二层网络与三层网络间。
[0022]参见图2,图2是本发明实施例提供的组播防攻击方法流程图,该方法应用于组播设备,具体包括以下步骤:
[0023]步骤201、在组播设备的任一端口接收能够使该端口成为路由器端口的组播协议报文;
[0024]在实际应用中,在组播设备的某一端口接收到普遍组查询报文或组播路由协议Hello报文时,需要将该端口添加为路由器端口,因此,普遍组查询报文和组播路由协议Hello报文均属于能够该端口成为路由器端口的组播协议报文。需要说明的是,在IPv4网络中,普遍组查询报文为IGMP普遍组查询报文,组播路由协议Hello报文为P頂Hello报文;在IPv6网络中,普遍组查询报文为MLD普遍组查询报文,组播路由协议Hello报文为IPv6 PIM Hello 报文。
[0025]步骤202、根据该端口的链路状态信息判断该端口是否存在攻击风险,如果存在攻击风险,则禁止将该端口添加为路由器端口并丢弃所述报文,否则将该端口添加为路由器端口。
[0026]本实施例应用于组播设备中的组播协议模块,在IPv4网络中,组播设备中的组播协议模块为IGMP Snooping模块或基于IGMP Snooping功能实现的组播协议模块;在IPv6网络中,组播设备中的组播协议模块为MLD Snooping模块或基于MLD Snooping功能实现的组播协议模块。
[0027]在本步骤之前,组播协议模块还需要获取该端口的链路状态信息,具体包括:建立组播设备中的链路状态协议模块的连接,通过该连接向所述链路状态协议模块发送针对该端口的链路状态查询报文,接收所述链路状态协议模块返回的该端口的链路状态信息。
[0028]本实施例中,端口的链路状态信息包括:是否存在链路状态邻居。根据端口的链路状态信息判断该端口是否存在攻击风险具体包括:如果该端口的链路状态信息表明该端口不存在链路状态邻居,则确定该端口存在攻击风险,否则,确定该端口不存在攻击风险。
[0029]当根据端口的链路状态信息确定该端口存在攻击风险时,禁止将该端口添加为路由器端口,组播设备接收到的组播数据报文将不会从该端口发送出去,从而信息也不会从该端口泄露出去。
[0030]当根据端口的链路状态信息确定该端口不存在攻击风险时,仍按照现有技术的处理方法,将该端口添加为路由器端口,组播设备收到的组播数据报文都将从该端口转发出去。
[0031 ] 下面结合两个具体实施例,对本发明的实现原理进行详细说明。
[0032]参见3,图3是本发明实施例一组播防攻击方法流程图,该方法应用于组播设备中的组播协议模块,主要包括以下步骤:
[0033]步骤301、组播协议模块与本地的链路层状态协议模块建立连接。
[0034]组播设备中配置有组播协议模块和链路状态模块。在通常情况下,组播设备中的组播协议模块和链路状态协议模块默认均是启动的,因此,组播协议模块可以直接建立与链路状态协议模块之间的连接。
[0035]然而,考虑到也可能存在组播协议模块启动,而链路状态协议模块未启动的情况,为了保证组播设备中的组播协议模块和链路状态协议模块能够成功建立连接,组播协议模块启动时可以同时触发链路状态协议模块启动,从而使组播协议模块在建立与链路状态协议模块之间的连接之前,两个模块均是启动的。
[0036]另外,相邻组播设备中,也可能存在一个组播设备中的链路状态协议模块启动,而另一组播设备中的链路状态协议模块未启动的情况。为了保证正常情况下相邻组播设备之间能够通过各自的链路状态协议模块建立起邻居关系,组播设备中的组播协议模块启动后,还可
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1