Ip地址过滤方法及装置的制作方法

文档序号:7663668阅读:208来源:国知局
专利名称:Ip地址过滤方法及装置的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种IP地址过滤方法及装置。
背景技术
互联网已经深入人们的日常生活和工作中,然而,随着互联网技术的发展,网络上出现了恶意攻击行为,例如,利用伪造源地址发起网络攻击的行为,这种利用伪造源地址发起的攻击行为容易发动且难以被追查出,给互联网的安全带来隐患。因此,如何制止该类网络攻击,是确保互联网安全使用的关键。互联网的正常通信中,报文的发送方需要在发送报文的源地址字段填写分配给发送方的真实IP地址,该真实IP地址是由互联网权威管理机构分配的授权地址,这样,报文的接收方才能知道接收到的报文是谁发送来的,以及将回复报文发往给发送方所在的地址。而网络攻击者,通常会将发送的报文中携带的源IP地址修改为某一或任意的其它IP 地址,以进行网络攻击,这种网络攻击的行为,就是通过伪造源地址发起的。目前针对伪造源地址发起的网络攻击,采用的防御方案通常分为三类追踪 (Traceback)方案、端到端验证方案和路径上过滤方案。下面分别对各防御方案进行说明。Tracekick处理方案主要采用报文标记、路由器记录以及收集器处理等方式来确定报文的源地址,其属于事后被动防御机制,只能事后追查攻击者的真实位置,没有主动防御能力。端到端验证方案是报文的接收端在接收到报文时,可以获知报文中携带的源地址的真实性,具体地,报文的发送端在发送报文时,为报文添加签名,报文的接收端可根据该签名来判断接收到的报文中源地址的真伪,该种方案需要对报文进行签名认证,网络开销较大,不适合高速网络环境,且该种方案中,中间网络节点不判别报文源地址的真实性。路径上过滤方案是在传播路径上,对伪造源地址的报文进行检查和过滤,在伪造源地址的报文到达目的地之前将其过滤掉。该方案中,网络上的中间节点具有报文真实性的检查能力,可以在伪造源地址的报文到达接收端前就被过滤掉,当然,报文的过滤也可能发生在接收端。由于可在传播路径上进行伪造源地址的报文进行过滤,将伪造源地址的报文到达受害者即接收端之前,将其清除掉,可使受害者完全或者很大程度上避免接触到攻击报文, 具有非常好的保护效果,尤其对于DoS攻击具有很好的防御作用。因此,基于路径上过滤的防御方案得到了较广泛的应用。其中,现有基于路径上过滤方案中最有效的手段是入口过滤(digress Filtering), Ingress Filtering是部署在两个网络连接处的路由器或者防火墙中, 由该路由器或者防火墙负责检查来自网络的报文的源地址是否属于这个网络。其中, IETF (Internet Engineering Task Force)组织发布的 RFC (Request For Comments) 2827 给出了 hgress FiItering的定义,并规定被检查的网络限定为互联网服务提供商 (Internet Service Provider, ISP)的接入网络;RFC 3704 给出了 Ingress Filtering 的5种实现方式,其中包括手动和自动配置方式以及满足多穴(Multi-homing)和非对称路由情况的实现方式,而Ingress Filtering的自动配置主要利用了路由转发的单一地址反向路径转发(Unicast RPF, uRPF)特性。uRPF对于进入网络中的那些源IP地址“无法证实”的IP数据包进行丢弃以防止地址欺骗,例如,对于拒绝服务(Denial of Service, DoS)攻击,攻击者会利用伪造的或者是不断改变的源IP地址以防止攻击被定位或过滤,而对于此类攻击,uRPF只转发那些源IP 地址在路由表中存在并有效的数据包。当uRPF在某个接口上启用路由器会检查所有进入此接口的数据包,确定其源IP地址和源接口在路由表中存在。这种“向后看”的能力依赖于转发信息库 O7Orwarding Information Base,FIB),因此,uRPF 只能在接口的输入(input) 方向上。uRPF检查从某个接口上进入路由器的数据包,通过FIB判断该数据包是否通过最优路径到达,如果是,则正常转发,如果找不到逆向(返回源)的路径,说明该数据包的源IP 可能被修改,这时需要通过访问控制列表(ACL)来判定对该数据包是转发还是丢弃。且在接口启用uRPF时,ACL是可选项,如果没有配置ACL,则对于找不到逆向路径的数据包会被丢弃。uRPF满足增量部署的概念,即部署得越多,非法报文在网络中传输的机会越少,如果全局部署uRPF则网络内可以用来假冒的源地址范围很小(假冒范围局限在边缘路由器所管理地址空间)。但是,uRPF存在的主要问题是对于非对称路由的情况,若通往报文源地址的最优路径(网络接口)并非报文所来的路径(接口),此时uRPF将会过滤掉具有真实源地址的报文;同时,如果网络攻击者伪造合法网段的地址,网络管理者无法在网络的任意位置通过uRPF将网络攻击堵截在攻击的发起处;此外,uRPF存在的另一个重要问题是缺乏激励机制,即在边缘路由器部署完成后(如果不是全部部署)只能防止本地接入的主机无法仿冒别人的地址,不能防止别的主机仿冒自己的地址。此外,加州大学洛杉矶分校也提出的一种基于路径上过滤方案的技术,即SAVECJ. M.Li, Μ.Wang, P.ReitherL. Zhang, SAVE : Source address validity enforcement protocol, presented at Proc. of IEEE INF0C0M,2002),其是在主动防御方面比较有名的一种技术方案。SAVE通过在路由器上建立源地址空间和接口对应关系使得路由器在过滤报文是有据可查,SAVE协议把路由器已知的源地址空间信息向指定的目的地传输,使得沿途的路由器得以获取正确的源地址-接口对应表。其中,SAVE协议面对的是非对称路由下的需求,SAVE能较好地解决非对称路由下的伪造源地址过滤问题,但是它依然无法解决攻击者伪造同一逆向路径上源地址问题。而且,SAVE还存在另一个问题参与协议的路由器必须进行大量的、可认证的数据交换,不但复杂性比较高,而且这个过程可能成为DoS攻击的对象;同时,SAVE协议需要全局部署之后才能发挥作用,因为在全局部署之前,不支持SAVE 协议的路由器并不发送SAVE更新报文,所以实际路由器学习到的源地址-接口对应表是不完全的,即它并不说明某个接口只能收到相应源地址的报文,而只是说明这个接口可能收到来自这些源地址的报文,因此,不能增量部署限制了 SAVE的应用。域间报文过滤iDPF也是一种基于路径上过滤方案的技术,其是基于域间真实源地址验证方法,该方案在《IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING》 在 2008 年 Z. Duan 白勺论文〃 Controlling IP Spoofing through Interdomain Packet Filters"中提出。iDPF是使用边界网关协议(Border Gateway Protocol,BGP)的路由更新信息推断出合法的基于BGP路由前缀的源地址的所有可能入接口,从而可以过滤掉那些来自不可能的入接口的非法源地址的报文,且iDPF方法符合主动防御、增量部署以及激励机制等源地址验证机制。iDPF方法减少了可以用来进行假冒的地址前缀的数量,并且可以在一定范围内定位假冒报文的来源,但是iDPF只能用于域间的真实源地址验证,无法在域内不运行BGP协议的路由器系统上部署,也无法在离伪造地址源最近的位置精确、迅速地过滤伪造源地址的报文。综上,现有基于路径上过滤方案的iDPF技术,仅适用于域间,即自治系统间采用 BGP协议作为主要路由协议的真实源地址验证中,而对于域内,即自治系统内,特别是对于采用新一代IPv6互联网0SPFv3路由协议的路由器,如何进行更为精确的、能够增量部署、 低通信代价和低系统负载的真实源地址验证成为一个需要解决的技术问题。

发明内容
本发明提供一种IP地址过滤方法及装置,可有效克服现有技术存在的问题,可适用于真实源地址验证的过滤方案中,计算过程简单,且不会增加网络负载。本发明提供一种IP地址过滤方法,包括基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;根据所述合法入接口,建立针对所述源路由器的路由前缀的报文过滤规则,对以所述路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外入接口发送来的报文。上述的IP地址过滤方法中,所述基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径可包括根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息, 计算所述区域内以源路由器为根的最短路径树;根据所述当前路由器在所述最短路径树上的位置,确定所述当前路由器在所述最短路径树上的上一跳节点,将上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口。上述的IP地址过滤方法中,所述计算所述区域内以源路由器为根的最短路径树之前还包括根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息, 判断所述区域是否是对称区域;所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径。上述的IP地址过滤方法中,所述基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口也可包括根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息, 判断所述区域是否是对称区域;
所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;所述区域为非对称区域时,将所述当前路由器在所述区域内的所有接口作为针对所述源路由器的OSPF路由前缀的合法入接口。本发明提供一种IP地址过滤装置,包括合法入接口获取模块,用于基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;报文过滤模块,用于根据所述合法入接口,建立针对所述源路由器的路由前缀的报文过滤规则,对以所述源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外入其它接口发送来的报文。上述的IP地址过滤装置中,所述合法入接口获取模块可包括最短路径树计算单元,用于根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,计算所述区域内以源路由器为根的最短路径树;第一合法入接口获取单元,用于根据所述当前路由器在所述最短路径树上的位置,确定所述当前路由器在所述最短路径树上的上一跳节点,将上一跳节点所在节点作为针对所述源路由器的OSPF路由前缀的合法入接口。上述的IP地址过滤装置中,所述合法入接口获取模块还可包括区域判断单元,用于根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路信息,判断所述区域是否是对称区域;第二合法入接口获取单元,用于所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径,将所述当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;所述最短路径树计算单元,具体用于所述区域为非对称区域时,根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,计算所述区域内以源路由器为根的最短路径树。上述的IP地址过滤装置中,所述合法入接口获取模块也可包括第三区域判断单元,用于根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,判断所述区域是否是对称区域;第三合法入接口获取单元,用于所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径,将所述当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;并用于所述区域为非对称区域时,将所述当前路由器在所述区域内的所有接口作为合法入接本发明提供的IP地址过滤方法及装置,通过根据OSPF协议链路状态信息,获取针对区域内的源路由器的路由前缀的合法入接口,并根据该合法入接口建立过滤规则,将从非合法入接口传送的以源路由器的OSPF路由前缀为源地址前缀的IP报文进行过滤,可有效删除网络中的伪造源IP地址的恶意报文,减少网络攻击的可能,提高网络的安全性和可靠性;本发明技术方案可基于真实的源IP地址进行报文过滤,且合法入接口计算时不会增加网络负载,计算过程简单,具有较好的报文过滤效果,可适用于IPv6网络的IP报文过滤中。


图1为OSPF网络拓扑结构示意图2为本发明IP地址过滤方法实施例--的流程示意图3为本发明IP地址过滤方法实施例二二的流程示意图4为本发明IP地址过滤装置实施例--的结构示意图5为本发明IP地址过滤装置实施例二二的结构示意图6为本发明IP地址过滤装置实施例三Ξ中合法入接口获取模块的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供的IP地址过滤方法是通过计算以开放式最短路径优先(Open Shortest Path First,0SPF)路由协议的网络区域内的路由器的路由前缀为源地址计算对这些路由前缀的合法入接口,从而使得路由器可以据此构造一系列基于报文源IP地址的过滤规则,对非合法入接口发送来的源IP地址的报文,即伪造源IP地址的报文进行过滤, 其是一种基于域内路由协议OSPF协议的源IP地址验证技术(Source Address Validation based on OSPF, SAV0),可有效对伪造源IP地址的报文进行过滤。对于采用OSPF路由协议的网络区域中,可以实现域内真实源地址报文过滤的可能性,以及可以实现的原理和方法,发明人进行了分析。1、OSPF路由协议OSPF路由协议是目前有关域内路由方面应用的最普遍的路由协议,因此,基于 OSPF路由协议可以实现真实源IP地址报文的域内过滤。其中,0SFPv3是针对IPv6的最新的OSPF协议,即目前最新的协议标准RFC5340,其与0SPFv2,即协议标准RFC23^的主体部分基本相同,具有以下基本技术(1)对于自治系统划分区域,每台路由器属于一个或多个区域,每个区域有一个或多个子网或链路;(2)区域内采用最短路径路由算法计算两个路由器之间的路由;(3)区域间直接通告路由前缀,通过区域边界路由器进行路由;(4)对于其它路由协议的路由引入外部路由概念,在整个单一自治系统 (Autonomous System, AS)范围内通告该路由,并报告自身在AS中的位置,发布外部路由的路由器称为自治系统边界路由器ASBR ;(5)有骨干区域(区域0)的概念,区域之间的路由必须通过骨干区域,如果一个路由器连通多个区域,则其必有一个接口位于区域0,因此也被为区域边界路由器ABR ;
0SPFv3与0SPFv2的不同之处在于(l)0SPFv3的配置是基于接口的,例如interface ethlarea 0. 0. 0. 0,而不是基于子网的(network 192. 168. 12. 00. 0. 0. 255area 0),一个接口只能属于一个区域;(2)0SPFv3实现了路由前缀与路由器身份和位置信息的分离,路由器的标识仍然采用0SPFv2的方式,Router LSA和Network LSA只用来说明链路信息,与路由前缀无关, 同时引入了新的LSA说明关联的路由前缀;(3)为了描述地址前缀信息,增加了 Type8,即Link LSA,以及Type9,即 Intra-Area-Prefix LSA 的 LSA00SPFv3从协议机制上说可以认为是支持任意协议族地址,与协议无关的;OSPF协议以接口为基础,接口上可以配置任意的地址,只是目前设计的LSA还只能支持IPv6地址。0SPFv3协议所支持的LSA包括(1)类型I(Typel) =Router LSA,是描述路由器连接到区域的链路状态和代价,只在区域内传播;对于0SPFv3而言,Router LSA不含有地址信息而且是协议无关;(2)类型2(Type2) =Network LSA,是描述连接到子网的所有路由器的链路状态和代价信息,该LSA汇聚了子网的所有链路状态和代价信息;(3)类型 3(Type3) dnter-area-prefix LSA for ABRs,是向其它区域的路由器通告内部网络(区域间路由),Type 3的LSA可以在一个通告中表达一个或多个网络,只有 ABR 产生 summary LSA。在 OSPF for IPv6 中,这些 LSA 的地址表示为 prefix,prefix length而不是address,mask.缺省路由的前缀长度为0 ;(4)类型 4 (Type 4) Inter-area-router LSA for ASBR,是通告 ASBR 的位置,由 ASBR产生;(5)类型 5 (Type 5) =Autonomous system external LSA,重发布来自另一个 AS 的路由,通常来自另一个路由协议;路由的表示方式与Type 3相同;(6)类型8(Type 8) =Link LSA,是向其它路由器提供本路由器的链路局部地址, 通知其它与该链路相连的路由器一个IPv6前缀列表,并允许路由器假定与该network LSA 关联的从该链路发布的Options位;(7)类型9(Type 9) =Intra-Area-Prefix LSA,路由器可以对每个路由器或传输网络发起多个intra-area-prefix LSA,每个LSA有一个唯一的ID,该ID描述了它与router LSA或network LSA的关联,并包含描述stub和transit网络的前缀。上述是对OSPF路由协议的简单说明,具体可参见相关标准。可以看出,OSPF协议路由中的路由器具有如下特点(1)路由器是路由前缀的代理或代表,每个上网主机或设备必须通过路由器接入到网络中,因此,路由器的路由前缀就是接入网络的主机或设备的真实IP地址的地址前缀,即源IP地址报文的地址前缀实际上就是路由前缀;(2)路由器的身份是有Router-id来标识,因此,网络上路由器的标识是唯一的;(3)某一区域内的所有路由器的链路状态数据库(Link State DataBase,LSDB)是同步的;(4)对于区域间路由,每个路由器会根据自己的边界路由器或自治系统外部路由器来维护的路由表选择最佳路由。
本发明技术方案就是根据上述路由器特点作为出发点,基于对OSPF路由协议的逆向思考,来获得当前路由器针对各路由前缀对应的合法入接口,并针对这些路由前缀设定相应的报文过滤规则,以对以这些路由前缀为源地址前缀的报文进行处理,过滤掉伪造源IP地址的报文。由于OSPF路由协议设计时主要考虑从自己出发怎样以最短路径的方式到达目的地址,因此OSPF协议的计算目标为最短路径中本路由器的下一跳(next hop),在OSPF进行路由计算时,将目的地址实际转换为目的地址前缀所关联的路由器或链路,通过在最短路径树上搜索出相应的路由器节点或链路节点从而得到路由,即下一跳;而本发明技术方案,即SAVO技术则是根据当前路由存储的区域内OSPF协议链路状态信息,计算各路由前缀的路由器到当前路由的最短路径,从而可得到相应路由前缀的路由器发送报文到达当前路由的路由节点,即合法入接口,根据该合法入接口可设定相应的报文过滤规则,对伪造源IP 地址的报文进行过滤。其中,SAVO技术的核心就是通过OSPF链路状态信息分析出某个源地址前缀(也就是对应的OSPF路由前缀)的报文所有可能的来源,放开这些合法的来源接口,关闭其他接口。这些源地址前缀与OSPF协议学习到的路由前缀完全相同,当OSPF计算完成学习到的路由并向系统写入后,再次根据链路状态数据库LSDB信息计算相同前缀源地址的可能来源, 并通过访问表或者其他防火墙机制写入系统。可以看出,由于OSPF路由协议的特点,即源地址向目的地址发送报文均是通过最短路径,即某个源地址报文到当前路由器的来源入接口,一定位于源地址对应的路由前缀的路由器到当前路由器的最短路径中,因此,当前路由器只要知道某个源地址到自身的最短路径,即可获得源地址报文到自身的可能来源入接口,即合法入接口,然后根据获得的合法入接口,即可建立相应的报文过滤规则,对伪造源地址的IP报文进行处理。下面再对源地址报文的合法入接口的计算进行分析、说明。2、合法入接口的计算模式通过对OSPF路由协议分析,当前路由器要想获得针对区域内某个路由前缀的合法入接口,需要计算得到该路由前缀的路由节点到当前路由器的最短路径,而发明人通过对OSPF路由协议分析,根据当前路由器保存的OSPF链路状态信息,来计算区域内其它路由前缀的路由器到自身的最短路径时,可具有两种计算模式简单(SIMPLE)模式和精确 (ACCURATE)模式。下面先对OSPF路由协议进行路由计算时的一些特点进行说明对于某个特定的OSPF路由前缀,除了外部路由外,其路由计算的基本方式为 以自己为根,根据某个特定区域的链路状态信息使用Dijkstra最短路径树算法构造该区域的最短路径树,最短路径树的节点有2种,一种是routerjd(使用32位IP地址格式表示),表示节点是一个路由器;一种是networked(使用一个32位的链路id和一个 32位的通告路由器id表示),表示节点是一条链路。当路由器收到某个路由前缀LSA时 (intra-area-prefix LSA, inter-area-prefix LSA),根据该 LSA 所关联的节点,通过查阅自己的最短路径树,得到去往该前缀的最短路径,即相应的下一跳地址;如果从不同的通告路由器收到多个同一路由前缀的LSA,从而有多个不同路径,则选择一个有最小代价的路径或者选择多个有相同代价的路径。
对于外部路由的计算,路由器根据收到的as-external-LSA中的forwarding address域来确定目的地址为LSA中描述的地址的报文究竟应该发往哪个路由器,随后在自己的路由表中查找通往该路由器的路由。一般情况下,forwarding address域填为0, 表示发往通告路由器自己。如果转发路由器与自己不在同一个区域,路由表中应该有由 inter-area-router LSA建立的通往该路由器的路由,否则将因为找不到合适的路由而忽略该 as-external-LSA。由于合法入接口实际是根据某个特定区域中的另一个路由节点(可能是路由器, 也可能是链路)到当前路由器的最短路径推算出来的,所以上述的合法入接口的两种计算模式实际是反映最短路径计算方式的不同。在OSPF中计算链路代价时以接口的输出代价(interface output cost)来表示, 即在接口上发送一个报文的代价。接口代价作为该接口的链路代价在router-LSA中通告, 接口的输出代价必须大于0。所以,对于一条链路两端的路由器而言,其接口代价可以相同, 也可以不同,如果接口代价相同,则称该链路Ii是对称的,表示为Sym(Ii) ,1=0,1,2,..., n,如果一个区域(Aj, j =0,1,2,..., m)中的所有链路(Ii e Aj)的代价都是对称的,则称该区域是链路代价对称区域,简称对称区域(Sym(Ap)。如果区域中存在一条或多条非对称链路,则称该区域为非对称区域(asymmetric area)。对于对称区域,区域中任意节点Ii1到任意节点n2的最短路径就是从n2到Ii1的最短路径,即在该区域内使用以H1为根构造的最短路径树来计算到任意其他节点n2的最短路径与以n2为根构造最短路径树来计算到Ii1的最短路径得到的结果是相同的。如果区域内存在非对称链路,则从Ii1到n2最短路径未必是从n2到Ii1的最短路径。由于OSPF协议对于一个区域的所有路由器而言,它们的链路信息(包括链路代价、链路连接关系,即网络拓扑)是完全的并且在不同路由器之间是同步的,所以每个路由器不仅可以根据存储在自己数据库中的区域的链路状态信息来判断该区域是否是对称的, 而且在网络状态稳定后区域中所有路由器看到的区域对称性是相同的。下面对SIMPLE模式和ACCURATE模式分别加以说明(I)SIMPLE 模式由于OSPF协议为了计算路由,必须以自己为根构造区域的最短路径树SPT,SPT的节点为router_id或network_id。对于SIMPLE模式而言,每个路由器X在一个特定区域内根据该区域的以自己为根的最短路径树SPT来计算或推算另一个节点Y到自己的最短路径,如果该区域是对称区域,由于区域内任意两个路由器之间的链路是一致的,所以路由器 X根据自己的最短路径树SPT来推断区域内其它节点到自己的最短路径是正确的,此时可以根据X到Y的最短路径计算出Y到X的所有可能的合法来源接口(考虑到等价多路径, 这种合法来源接口可能有多个),即合法入接口。为了避免错误地拒绝合法源地址的报文, 对于非对称区域,SIMPLE模式只是简单地把当前路由器(X)在该区域的所有接口设置为合法入接口,即对于某个源地址的报文如果从该区域的任意接口来都认为是合法的。可以看出,SIMPLE模式下,仅根据当前路由器自身的最短路径树来确定合法入接口,其不需要增加较多的计算过程,合法入接口的计算过程简单、便利,但在非对称区域情况下,效果较差,较适用于对称区域。( ACCURATE 模式
由于路由器有区域的链路状态的完整信息,所以当前路由器X可以通过以本区域中另一个路由节点Y为根计算它的最短路径树SPT,并根据X在此最短路径树上的位置来判断Y到X的可能路径,并根据该路径上自己的上一跳节点进一步推算出Y到X的合法入接口,即可能来源接口,这种基于逆向(即相对于以X为根的SPT) SPT的计算方式得到的结果是精确的,与区域是否对称无关,因此可称为ACXURATE模式。可以看出,ACXURATE模式下, 需要根据当前路由器中存储的区域的链路状态信息,来计算出其它路由器的最短路径树, 具有较大的计算量,但合法入接口的计算更加准确。需要说明的是,这里所述的SIMPLE模式和ACXURATE模式,均是对区域内其它路由前缀的路由器到当前路由器的最短路径的计算方法,从而根据计算得到的最短路径来确定其它路由前缀的路由器到当前路由器的所有可能来源接口,即针对其它路由前缀的合法入接口。可以看出,SIMPLE模式在计算合法入接口时,只需要检测某个区域是否是对称区域,而且如果区域中有一条链路不是对称链路,则该区域不是对称区域,不再需要后续的判定,因此计算量小,能够快速适应路由的动态变化,而且对于对称区域的情况下,合法入接口的判断是精确的,等同于ACXURATE模式。ACXURATE模式是基于逆向最短路径树SPT计算,能够精确判断合法源地址的可能来源接口,缺点是需要增加很大的计算量----对区域内每个路由器逆向计算SPT代价较高,系统响应时间相比SIMPLE模式较长,但其具有更好的精确度,可提高报文过滤规则设定的准确性和可靠性。图1为OSPF网络拓扑结构示意图。对于图1中所示的路由器G而言,其最短路径
树如下
router# show ipv6 ospf6 area 0.0.0.0 spf tree +-99. 99. 99. 99
+-99. 99. 99. 99 Net-ID: 0. 0. 0. 3 [1] I +-192. 168. 18. 1 [1] I +-192. 168. 18. 2 Net-ID: 0.0.0.6 [2] I+-192. 168. 18. 2 [2]
+-99. 99. 99. 99 Net-ID: 0. 0. 0. 4 [1] +-192. 168. 22. 2 [1]
+-192. 168. 22. 2 Net-ID: 0.0.0.4 [2] +-192. 168. 22. 2 Net-ID: 0.0.0.5 [2] +-6. 0. 0. 1 [2]
+-6. 0. 0. 1 Net-ID: 0. 0. 0. 4 [3]而路由器(router-id 99. 99. 99. 99)仿真计算区域O的另一个路由器
A (router-id 192. 168. 18. 2)的 spf 树如下
router# show ipv6 ospf6 simulate spf-tree 192. 168. 18.2 area 0. 0. 0. 0
+-192. 168. 18. 2
+-192. 168. 18. 2 Net-ID: 0.0.0.6 [1] I +-192. 168. 18. 1 [1] I +-99. 99. 99. 99 Net-ID: 0.0.0.3 [2] I I +-99. 99. 99. 99 [2] I I +-99. 99. 99. 99 Net-ID: 0.0.0.4 [3] I +-192. 168. 22. 2 Net-ID: 0.0.0.4 [2] I+-192. 168. 22. 2 [2]
+-6. 0. 0. 1 Net-ID: 0. 0. 0. 4 [1] +-6. 0. 0. 1 [1]
+-192. 168. 22. 2 Net-ID: 0.0.0.5 [2]可见,路由器依靠自身的LSDB信息可以计算出区域内其他路由器的最短路径树,
计算的方法与计算自身的最短路径树是相同的,本实施例中,将这种根据自己的LSDB信息计算出的以另一个路由器为根的SPT称为逆向SPT (reverse SPT),其计算方法与目前OSPF 协议中最短路径树的计算方法相同或类似。因此,基于当前路由器自身存储的链路状态信息,可以计算得到区域内其它路由前缀的路由节点到自身的最短路径,并得到所有合法入接口。可以看出,由于OSPF协议自身的特点,每个路由器均保存有区域内的所有路由链接状态信息,因此,基于当前路由器保存的路由链路状态,就可以推算出其它路由器的最短路径树,即逆向SPT,且其计算方法与OSPF协议中路由器的最短路径树的计算方法相同。3、合法入接口的基础算法若当前路由器X的id为IDx,区域内的路由器Y的id为IDy,那么路由器X根据自己的SPT或者逆向SPT就可以计算出从Y到X的合法入接口。当区域是对称区域时,无论ACXURATE模式与SIMPLE模式均可采用路由器自己的 SPT树计算合法的入接口,因此,在具体计算时可将两种模式一起进行计算,或者仅采用一种模式进行计算。当仅采用ACCURATE模式时,需要及时计算区域内每个路由器的最短路径树;当采用SIMPLE模式时,区域为对称区域时,可以当前路由器的SPT来计算得到合法入接口,区域不对称时,可简单地把所有属于该区域的接口都设置为合法入接口 ;当采用两种模式结合时,对于对称区域,可以当前路由器的SPT来计算得到合法入接口,区域为不对称区域时,通过计算逆向SPT来计算得到合法入接口。实际应用中,要获得区域内的路由节点的路由前缀到当前路由器的合法入接口时,需要搜索以该路由前缀的路由节点为根的逆向SPT,由于逆向SPT无法直接得到接口信息,只能得到当前路由器在逆向SPT中前一跳节点的id,再通过Link LSA推算出到当前路由器的入接口,即可作为当前路由器的合法入接口。下面给出支持N个等价节点的最短路径树父节点递归搜索算法的具体实现,该算法的输入为节点ν的最短路径树SPT (表示为 ν- > child_list)及待搜索的节点y的id(search_vertex_id),算法的输出为y在ν的最短路径树上的父节点及等价父节点的数目,节点id使用地址前缀的方式进行描述。等价父节点搜索算法(ECPS) :equal_cost_parent_vertex(ν, search_vertex_ id)输入节点ν (以ν为根的SPT为ν- > child_list)和待搜索节点y的id (search_ vertex_id)输出节点y的最小代价等价父节点prev及其数目prevjertexjum (num≤N)算法的具体实现过程可参见下述C语言描述
权利要求
1.一种IP地址过滤方法,其特征在于,包括基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;根据所述合法入接口,建立针对所述源路由器的路由前缀的报文过滤规则,对以所述源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外其它入接口发送来的报文。
2.根据权利要求1所述的IP地址过滤方法,其特征在于,所述基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径包括根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,计算所述区域内以源路由器为根的最短路径树;根据所述当前路由器在所述最短路径树上的位置,确定所述当前路由器在所述最短路径树上的上一跳节点,将上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口。
3.根据权利要求2所述的IP地址过滤方法,其特征在于,所述计算所述区域内以源路由器为根的最短路径树之前还包括根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,判断所述区域是否是对称区域;所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径。
4.根据权利要求1所述的IP地址过滤方法,其特征在于,所述基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口包括根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,判断所述区域是否是对称区域;所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;所述区域为非对称区域时,将所述当前路由器在所述区域内的所有接口作为针对所述源路由器的OSPF路由前缀的合法入接口。
5.根据权利要求1 4任一所述的IP地址过滤方法,其特征在于,还包括所述源路由器为边界路由器时,建立针对以所述源路由器通告的区域间路由的路由前缀的报文过滤规则,对以所述区域间路由的路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外其它入接口发送来的报文;所述源路由器为自治系统外部路由器时,建立针对所述源路由器通告的外部路由的路由前缀的报文过滤规则,对以所述外部路由的路由前缀为源地址前缀的IP报文进行处理, 过滤掉从所述合法入接口之外其它接口发送来的报文。
6.一种IP地址过滤装置,其特征在于,包括合法入接口获取模块,用于基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;报文过滤模块,用于根据所述合法入接口,建立针对所述源路由器的路由前缀的报文过滤规则,对以所述源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外入接口发送来的报文。
7.根据权利要求6所述的IP地址过滤装置,其特征在于,所述合法入接口获取模块包括最短路径树计算单元,用于根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,计算所述区域内以源路由器为根的最短路径树;第一合法入接口获取单元,用于根据所述当前路由器在所述最短路径树上的位置,确定所述当前路由器在所述最短路径树上的上一跳节点,将上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口。
8.根据权利要求7所述的IP地址过滤装置,其特征在于,所述合法入接口获取模块还包括区域判断单元,用于根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,判断所述区域是否是对称区域;第二合法入接口获取单元,用于所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径,将所述当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;所述最短路径树计算单元,具体用于所述区域为非对称区域时,根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,计算所述区域内以源路由器为根的最短路径树。
9.根据权利要求6所述的IP地址过滤装置,其特征在于,所述合法入接口获取模块包括第三区域判断单元,用于根据当前路由器自身存储的链路状态数据库LSDB中所述区域的链路状态信息,判断所述区域是否是对称区域;第三合法入接口获取单元,用于所述区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口 ;并用于所述区域为非对称区域时,将所述当前路由器在所述区域内的所有接口作为合法入接口。
10.根据权利要求6 8任一所述的IP地址过滤装置,其特征在于,所述报文过滤模块,还用于所述源路由器为边界路由器时,建立针对以所述源路由器通告的区域间路由的路由前缀的报文过滤规则,对以所述区域间路由的路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外入接口发送来的报文;以及,用于所述源路由器为自治系统外部路由器时,建立针对所述源路由器通告的外部路由的路由前缀的报文过滤规则,对以所述外部路由的路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外入接口发送来的报文。
全文摘要
本发明公开了一种IP地址过滤方法及装置。该方法包括基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口;根据所述合法入接口,建立针对所述源路由器的路由前缀的报文过滤规则,对以所述源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外入接口发送来的报文。本发明技术方案可有效对伪造源IP地址的报文进行过滤,过滤规则的计算过程简单,不会增加网络负载,可有效提高网络的安全性。
文档编号H04L29/06GK102158497SQ201110121589
公开日2011年8月17日 申请日期2011年5月11日 优先权日2011年5月11日
发明者刘亚萍, 卢泽新, 张晓哲, 徐金义, 王宏, 王宝生, 郦苏丹, 陶孜谨 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1