CN102158497A - Ip地址过滤方法及装置 - Google Patents
Ip地址过滤方法及装置 Download PDFInfo
- Publication number
- CN102158497A CN102158497A CN2011101215897A CN201110121589A CN102158497A CN 102158497 A CN102158497 A CN 102158497A CN 2011101215897 A CN2011101215897 A CN 2011101215897A CN 201110121589 A CN201110121589 A CN 201110121589A CN 102158497 A CN102158497 A CN 102158497A
- Authority
- CN
- China
- Prior art keywords
- router
- zone
- shortest path
- incoming interface
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IP地址过滤方法及装置。该方法包括:基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对所述源路由器的OSPF路由前缀的合法入接口;根据所述合法入接口,建立针对所述源路由器的路由前缀的报文过滤规则,对以所述源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从所述合法入接口之外入接口发送来的报文。本发明技术方案可有效对伪造源IP地址的报文进行过滤,过滤规则的计算过程简单,不会增加网络负载,可有效提高网络的安全性。
Description
技术领域
本发明涉及通信技术,尤其涉及一种IP地址过滤方法及装置。
背景技术
互联网已经深入人们的日常生活和工作中,然而,随着互联网技术的发展,网络上出现了恶意攻击行为,例如,利用伪造源地址发起网络攻击的行为,这种利用伪造源地址发起的攻击行为容易发动且难以被追查出,给互联网的安全带来隐患。因此,如何制止该类网络攻击,是确保互联网安全使用的关键。
互联网的正常通信中,报文的发送方需要在发送报文的源地址字段填写分配给发送方的真实IP地址,该真实IP地址是由互联网权威管理机构分配的授权地址,这样,报文的接收方才能知道接收到的报文是谁发送来的,以及将回复报文发往给发送方所在的地址。而网络攻击者,通常会将发送的报文中携带的源IP地址修改为某一或任意的其它IP地址,以进行网络攻击,这种网络攻击的行为,就是通过伪造源地址发起的。
目前针对伪造源地址发起的网络攻击,采用的防御方案通常分为三类:追踪(Traceback)方案、端到端验证方案和路径上过滤方案。下面分别对各防御方案进行说明。
Traceback处理方案主要采用报文标记、路由器记录以及收集器处理等方式来确定报文的源地址,其属于事后被动防御机制,只能事后追查攻击者的真实位置,没有主动防御能力。
端到端验证方案是报文的接收端在接收到报文时,可以获知报文中携带的源地址的真实性,具体地,报文的发送端在发送报文时,为报文添加签名,报文的接收端可根据该签名来判断接收到的报文中源地址的真伪,该种方案需要对报文进行签名认证,网络开销较大,不适合高速网络环境,且该种方案中,中间网络节点不判别报文源地址的真实性。
路径上过滤方案是在传播路径上,对伪造源地址的报文进行检查和过滤,在伪造源地址的报文到达目的地之前将其过滤掉。该方案中,网络上的中间节点具有报文真实性的检查能力,可以在伪造源地址的报文到达接收端前就被过滤掉,当然,报文的过滤也可能发生在接收端。
由于可在传播路径上进行伪造源地址的报文进行过滤,将伪造源地址的报文到达受害者即接收端之前,将其清除掉,可使受害者完全或者很大程度上避免接触到攻击报文,具有非常好的保护效果,尤其对于DoS攻击具有很好的防御作用。因此,基于路径上过滤的防御方案得到了较广泛的应用。
其中,现有基于路径上过滤方案中最有效的手段是入口过滤(Ingress Filtering),Ingress Filtering是部署在两个网络连接处的路由器或者防火墙中,由该路由器或者防火墙负责检查来自网络的报文的源地址是否属于这个网络。其中,IETF(Internet Engineering Task Force)组织发布的RFC(Request For Comments)2827给出了Ingress Filtering的定义,并规定被检查的网络限定为互联网服务提供商(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地址和源接口在路由表中存在。这种“向后看”的能力依赖于转发信息库(Forwarding Information Base,FIB),因此,uRPF只能在接口的输入(input)方向上。uRPF检查从某个接口上进入路由器的数据包,通过FIB判断该数据包是否通过最优路径到达,如果是,则正常转发,如果找不到逆向(返回源)的路径,说明该数据包的源IP可能被修改,这时需要通过访问控制列表(ACL)来判定对该数据包是转发还是丢弃。且在接口启用uRPF时,ACL是可选项,如果没有配置ACL,则对于找不到逆向路径的数据包会被丢弃。
uRPF满足增量部署的概念,即部署得越多,非法报文在网络中传输的机会越少,如果全局部署uRPF则网络内可以用来假冒的源地址范围很小(假冒范围局限在边缘路由器所管理地址空间)。但是,uRPF存在的主要问题是对于非对称路由的情况,若通往报文源地址的最优路径(网络接口)并非报文所来的路径(接口),此时uRPF将会过滤掉具有真实源地址的报文;同时,如果网络攻击者伪造合法网段的地址,网络管理者无法在网络的任意位置通过uRPF将网络攻击堵截在攻击的发起处;此外,uRPF存在的另一个重要问题是缺乏激励机制,即在边缘路由器部署完成后(如果不是全部部署)只能防止本地接入的主机无法仿冒别人的地址,不能防止别的主机仿冒自己的地址。
此外,加州大学洛杉矶分校也提出的一种基于路径上过滤方案的技术,即SAVE(J.M.Li,M.Wang,P.ReitherL.Zhang,SAVE:Source address validity enforcement protocol,presented at Proc.of IEEE INFOCOM,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互联网OSPFv3路由协议的路由器,如何进行更为精确的、能够增量部署、低通信代价和低系统负载的真实源地址验证成为一个需要解决的技术问题。
发明内容
本发明提供一种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,OSPF)路由协议的网络区域内的路由器的路由前缀为源地址计算对这些路由前缀的合法入接口,从而使得路由器可以据此构造一系列基于报文源IP地址的过滤规则,对非合法入接口发送来的源IP地址的报文,即伪造源IP地址的报文进行过滤,其是一种基于域内路由协议OSPF协议的源IP地址验证技术(Source Address Validation based on OSPF,SAVO),可有效对伪造源IP地址的报文进行过滤。
对于采用OSPF路由协议的网络区域中,可以实现域内真实源地址报文过滤的可能性,以及可以实现的原理和方法,发明人进行了分析。
1、OSPF路由协议
OSPF路由协议是目前有关域内路由方面应用的最普遍的路由协议,因此,基于OSPF路由协议可以实现真实源IP地址报文的域内过滤。其中,OSFPv3是针对IPv6的最新的OSPF协议,即目前最新的协议标准RFC5340,其与OSPFv2,即协议标准RFC2328的主体部分基本相同,具有以下基本技术:
(1)对于自治系统划分区域,每台路由器属于一个或多个区域,每个区域有一个或多个子网或链路;
(2)区域内采用最短路径路由算法计算两个路由器之间的路由;
(3)区域间直接通告路由前缀,通过区域边界路由器进行路由;
(4)对于其它路由协议的路由引入外部路由概念,在整个单一自治系统(Autonomous System,AS)范围内通告该路由,并报告自身在AS中的位置,发布外部路由的路由器称为自治系统边界路由器ASBR;
(5)有骨干区域(区域0)的概念,区域之间的路由必须通过骨干区域,如果一个路由器连通多个区域,则其必有一个接口位于区域0,因此也被为区域边界路由器ABR;
OSPFv3与OSPFv2的不同之处在于:
(1)OSPFv3的配置是基于接口的,例如interface eth1area 0.0.0.0,而不是基于子网的(network 192.168.12.00.0.0.255area 0),一个接口只能属于一个区域;
(2)OSPFv3实现了路由前缀与路由器身份和位置信息的分离,路由器的标识仍然采用OSPFv2的方式,Router LSA和Network LSA只用来说明链路信息,与路由前缀无关,同时引入了新的LSA说明关联的路由前缀;
(3)为了描述地址前缀信息,增加了Type8,即Link LSA,以及Type9,即Intra-Area-Prefix LSA的LSA。
OSPFv3从协议机制上说可以认为是支持任意协议族地址,与协议无关的;OSPF协议以接口为基础,接口上可以配置任意的地址,只是目前设计的LSA还只能支持IPv6地址。
OSPFv3协议所支持的LSA包括:
(1)类型1(Type1):Router LSA,是描述路由器连接到区域的链路状态和代价,只在区域内传播;对于OSPFv3而言,Router LSA不含有地址信息而且是协议无关;
(2)类型2(Type2):Network LSA,是描述连接到子网的所有路由器的链路状态和代价信息,该LSA汇聚了子网的所有链路状态和代价信息;
(3)类型3(Type3):Inter-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种,一种是router_id(使用32位IP地址格式表示),表示节点是一个路由器;一种是network_id(使用一个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。所以,对于一条链路两端的路由器而言,其接口代价可以相同,也可以不同,如果接口代价相同,则称该链路li是对称的,表示为Sym(li),i=0,1,2,...,n,如果一个区域(Aj,j=0,1,2,...,m)中的所有链路(li∈Aj)的代价都是对称的,则称该区域是链路代价对称区域,简称对称区域(Sym(Aj))。如果区域中存在一条或多条非对称链路,则称该区域为非对称区域(asymmetric area)。
对于对称区域,区域中任意节点n1到任意节点n2的最短路径就是从n2到n1的最短路径,即在该区域内使用以n1为根构造的最短路径树来计算到任意其他节点n2的最短路径与以n2为根构造最短路径树来计算到n1的最短路径得到的结果是相同的。如果区域内存在非对称链路,则从n1到n2最短路径未必是从n2到n1的最短路径。
由于OSPF协议对于一个区域的所有路由器而言,它们的链路信息(包括链路代价、链路连接关系,即网络拓扑)是完全的并且在不同路由器之间是同步的,所以每个路由器不仅可以根据存储在自己数据库中的区域的链路状态信息来判断该区域是否是对称的,而且在网络状态稳定后区域中所有路由器看到的区域对称性是相同的。
下面对SIMPLE模式和ACCURATE模式分别加以说明:
(1)SIMPLE模式
由于OSPF协议为了计算路由,必须以自己为根构造区域的最短路径树SPT,SPT的节点为router_id或network_id。对于SIMPLE模式而言,每个路由器X在一个特定区域内根据该区域的以自己为根的最短路径树SPT来计算或推算另一个节点Y到自己的最短路径,如果该区域是对称区域,由于区域内任意两个路由器之间的链路是一致的,所以路由器X根据自己的最短路径树SPT来推断区域内其它节点到自己的最短路径是正确的,此时可以根据X到Y的最短路径计算出Y到X的所有可能的合法来源接口(考虑到等价多路径,这种合法来源接口可能有多个),即合法入接口。为了避免错误地拒绝合法源地址的报文,对于非对称区域,SIMPLE模式只是简单地把当前路由器(X)在该区域的所有接口设置为合法入接口,即对于某个源地址的报文如果从该区域的任意接口来都认为是合法的。可以看出,SIMPLE模式下,仅根据当前路由器自身的最短路径树来确定合法入接口,其不需要增加较多的计算过程,合法入接口的计算过程简单、便利,但在非对称区域情况下,效果较差,较适用于对称区域。
(2)ACCURATE模式
由于路由器有区域的链路状态的完整信息,所以当前路由器X可以通过以本区域中另一个路由节点Y为根计算它的最短路径树SPT,并根据X在此最短路径树上的位置来判断Y到X的可能路径,并根据该路径上自己的上一跳节点进一步推算出Y到X的合法入接口,即可能来源接口,这种基于逆向(即相对于以X为根的SPT)SPT的计算方式得到的结果是精确的,与区域是否对称无关,因此可称为ACCURATE模式。可以看出,ACCURATE模式下,需要根据当前路由器中存储的区域的链路状态信息,来计算出其它路由器的最短路径树,具有较大的计算量,但合法入接口的计算更加准确。
需要说明的是,这里所述的SIMPLE模式和ACCURATE模式,均是对区域内其它路由前缀的路由器到当前路由器的最短路径的计算方法,从而根据计算得到的最短路径来确定其它路由前缀的路由器到当前路由器的所有可能来源接口,即针对其它路由前缀的合法入接口。
可以看出,SIMPLE模式在计算合法入接口时,只需要检测某个区域是否是对称区域,而且如果区域中有一条链路不是对称链路,则该区域不是对称区域,不再需要后续的判定,因此计算量小,能够快速适应路由的动态变化,而且对于对称区域的情况下,合法入接口的判断是精确的,等同于ACCURATE模式。
ACCURATE模式是基于逆向最短路径树SPT计算,能够精确判断合法源地址的可能来源接口,缺点是需要增加很大的计算量----对区域内每个路由器逆向计算SPT代价较高,系统响应时间相比SIMPLE模式较长,但其具有更好的精确度,可提高报文过滤规则设定的准确性和可靠性。
图1为OSPF网络拓扑结构示意图。对于图1中所示的路由器G而言,其最短路径树如下:
而路由器(router-id 99.99.99.99)仿真计算区域0的另一个路由器A(router-id 192.168.18.2)的spf树如下:
可见,路由器依靠自身的LSDB信息可以计算出区域内其他路由器的最短路径树,计算的方法与计算自身的最短路径树是相同的,本实施例中,将这种根据自己的LSDB信息计算出的以另一个路由器为根的SPT称为逆向SPT(reverse SPT),其计算方法与目前OSPF协议中最短路径树的计算方法相同或类似。因此,基于当前路由器自身存储的链路状态信息,可以计算得到区域内其它路由前缀的路由节点到自身的最短路径,并得到所有合法入接口。
可以看出,由于OSPF协议自身的特点,每个路由器均保存有区域内的所有路由链接状态信息,因此,基于当前路由器保存的路由链路状态,就可以推算出其它路由器的最短路径树,即逆向SPT,且其计算方法与OSPF协议中路由器的最短路径树的计算方法相同。
3、合法入接口的基础算法
若当前路由器X的id为IDx,区域内的路由器Y的id为IDy,那么路由器X根据自己的SPT或者逆向SPT就可以计算出从Y到X的合法入接口。
当区域是对称区域时,无论ACCURATE模式与SIMPLE模式均可采用路由器自己的SPT树计算合法的入接口,因此,在具体计算时可将两种模式一起进行计算,或者仅采用一种模式进行计算。当仅采用ACCURATE模式时,需要及时计算区域内每个路由器的最短路径树;当采用SIMPLE模式时,区域为对称区域时,可以当前路由器的SPT来计算得到合法入接口,区域不对称时,可简单地把所有属于该区域的接口都设置为合法入接口;当采用两种模式结合时,对于对称区域,可以当前路由器的SPT来计算得到合法入接口,区域为不对称区域时,通过计算逆向SPT来计算得到合法入接口。
实际应用中,要获得区域内的路由节点的路由前缀到当前路由器的合法入接口时,需要搜索以该路由前缀的路由节点为根的逆向SPT,由于逆向SPT无法直接得到接口信息,只能得到当前路由器在逆向SPT中前一跳节点的id,再通过Link LSA推算出到当前路由器的入接口,即可作为当前路由器的合法入接口。下面给出支持N个等价节点的最短路径树父节点递归搜索算法的具体实现,该算法的输入为节点v的最短路径树SPT(表示为v->child_list)及待搜索的节点y的id(search_vertex_id),算法的输出为y在v的最短路径树上的父节点及等价父节点的数目,节点id使用地址前缀的方式进行描述。
等价父节点搜索算法(ECPS):equal_cost_parent_vertex(v,search_vertex_id)
输入:节点v(以v为根的SPT为v->child_list)和待搜索节点y的id(search_vertex_id)
输出:节点y的最小代价等价父节点prev及其数目prev_vertex_num(num≤N)
算法的具体实现过程可参见下述C语言描述:
其中,等价父节点算法中输入的节点id可以是network_id,也可以是router_id,对于当前路由器,需要计算的是从另一个路由器到自己的所有可能的父节点,所以一般待搜索的节点id为自己的路由器id。在SPT树中,如果自己是router_id,则父节点是一个network_id。这样,通过等价父节点搜索算法ECPS得到当前路由器在逆向SPT中的所有等价父节点。由于父节点是network_id(包含链路id和通告路由器),这样可以通过匹配LSDB中的Link LSA得到所有的合法入接口。
对于SAVO进行源地址(这里指OSPF路由前缀)合法入接口计算而言,以下定理说明了进行计算的原理与基础。
根据OSPF协议,来自某个与OSPF路由前缀相同的源地址前缀的报文只可能从所有与该源地址前缀关联的路由器过来。
所谓关联,是指通告过该地址前缀的所有路由器,或者是与该源地址前缀所在链路相连的所有路由器。由于OSPF在一条链路上通过选举DR来通告其状态信息,而不是所有在该链路上的路由器都通告该信息,通告时以network_id的方式来标识前缀所在的链路,接收地址前缀LSA的路由器可以通过匹配LSDB中的network LSA知道该链路的状态信息,包括与该链路相连的路由器(attached router)。
对于区域内路由前缀,关联路由器是该前缀所在链路的所有路由器,其中至少有一个路由器是通告该前缀的路由器(该链路上的DR);对于区域间路由前缀,关联路由器就是通告路由器;对于外部路由前缀,关联路由器是通告路由器,如果as-external LSA的forwarding address域不为0,则为forwarding address指定的路由器。
OSPF中通告的区域间前缀LSA和自治系统外部LSA实际上就是路由,对于区域间路由和外部路由的情况,OSPF无法把外部的拓扑信息传递给计算路由的路由器,所以在计算路由时,是通过某个区域内部的拓扑信息计算出并选择到达通告这些路由的路由器(或者是区域边界路由器)的最短路径,至于这些路径是不是物理上的到目的地的最短路径是无法保证或者不是OSPF最关心的。
4、不同类型的路由前缀的合法入接口计算方法
由于路由前缀的路由器具有不同的类型,包括有区域内部路由器、边界路由器和自治系统外部路由器,因此,针对不同类型的路由前缀,发明人对其具体计算方法进行了分析和说明。
对于不同的路由类型,计算合法入接口的基本思路是:从与路由对应的LSA出发,找到这些LSA关联的路由器,再根据这些路由器的id及其所在的区域使用合法入接口基础算法计算从这些路由器到当前路由器的所有可能的来源接口。
下面给出各种路由前缀类型合法入接口的具体生成方法。
(1)区域内路由前缀的合法入接口计算方法
路由器根据收到的intra-area-prefix LSA计算得到区域内路由,这说明通告该LSA的路由器(可能有多个)与当前路由器都有接口在同一个区域,但是根据OSPF协议,区域内路由优先于区域间路由和外部路由,这说明其他路由器可能还通告过区域间路由LSA和/或外部路由LSA,而这些LSA也都是合法的,因此当OSPF学习到并向系统写入区域内路由时,SAVO不仅需要搜索对应的intra-area-prefix LSA,在搜索到这些LSA后还需要检查其合法性并且确保可以据此计算出相同路由前缀的路由。
除此之外,还需要考虑是否有区域间路由或外部路由的特殊情况,即搜索是否有描述相同前缀的inter-area-prefix LSA和as-external LSA,如果有,则说明有例外情况,需要计算这些例外情况导致的其他合法入接口。
其中,出现例外情况原因有2个:原因之一在于当前路由器是区域边界路由器ABR,如果当前路由器是ABR,则不仅在区域0有接口,而且在一个或多个非骨干区域有接口,这样每个区域的其他区域边界路由器都将通告相同路由前缀的区域间路由给当前路由器;原因之二在于当前网络中存在一个自治系统边界路由器ASBR正在通告相同路由前缀的自治系统外部路由,当前路由器将收到相应的as-external LSA。
如果出现例外情况,在搜索各区域的intra-area-prefix LSA的同时,还需要根据后面介绍的区域间路由前缀合法入接口计算方法和自治系统外部路由前缀合法入接口计算方法计算和增加相应的合法入接口。
区域内路由通过Intra-Area Prefix LSA通告,该LSA与某个路由器相关联的方式有两种-Router Type和Network Type。如果是Router Type,说明该地址前缀只与特定的一个路由器关联;如果是Network Type,则与某个链路上的所有路由器关联,此时需要搜索相应的Network LSA的attached router域找到所有的关联路由器。找到关联路由器后,以该路由器为出发点,通过逆向SPT或路由器自己的SPT树通过合法入接口基础算法计算以路由前缀为源地址的报文到自己的所有合法入接口。
(2)区域间路由前缀合法入接口计算方法
区域间路由是由路由器根据收到的inter-area-prefix LSA,对应到区域边界路由器的SPT树上的最短路径计算得到的。当生成区域间路由后,SAVO根据通告所有相同路由前缀的区域边界路由器计算该路由前缀到自己的合法入接口。由于inter-area-prefix LSA关联的是某个具体的路由器,所以只需要根据路由器所在的区域的SPT树进行计算得到所有可能的合法入接口。
由于区域间路由优先于自治系统外部路由,所以计算区域间路由前缀入接口时还需要考虑相同前缀的as-external LSA。
(3)自治系统外部路由前缀合法入接口计算方法
根据OSPFv3(RFC5340)协议,As-external-LSA由自治系统边界路由器ASBR发送,并且在整个自治系统中传播。每个As-external-LSA描述了一个到另一个自治系统的特定目的地址的路由,也可以描述自治系统的缺省路由。
根据OSPF协议(RFC2328),计算外部路由时需要在路由表中检查是否有到相应ASBR的路由,如果没有则不考虑该LSA。当As-external-LSA中的forwarding address域为0时,报文应该转发给ASBR本身。当forwarding address不为0时,在路由表中检查是否有到forwarding address的区域内或区域间路由,如果不存在这样的路由就不考虑该LSA。
当路由器计算OSPF自治系统外部路由前缀合法入接口时,应该根据搜索到的所有匹配该路由前缀的As-external-LSA,当搜到匹配的LSA后,根据forwarding address的值得到转发路由器。由于OSPFv3中转发路由器地址是以IPv4地址形式表示的路由器id,在计算合法入接口时当前路由器分2步获得所有可能的来源路由器的id,首先在各区域的LSDB中搜索Advertising Router域匹配转发路由器的Router LSA(或者在各区域的SPT中搜索转发路由器)如果找到,说明该转发路由器与自己在同一个区域,可以根据所在区域和转发路由器的id计算合法入接口,这种方式类似于区域内路由前缀合法入接口的计算方式。
然后在各区域LSDB中搜索Destination Router ID域匹配转发路由器的Inter-Area-Router-LSA,如果找到,说明该转发路由器可能位于另一个区域,那么可以以该LSA的通告路由器为根使用合法入接口基础算法计算可能的来源接口,这种方式类似于区域间路由前缀合法入接口的计算。
由此可以看出,外部路由前缀合法入接口的计算与外部路由计算不同的是,计算外部路由时只需要考虑最优的方式,即如果有区域内路由则选择区域内路由作为到达ASBR的路由,否则再考虑区域间路由,而在计算合法入接口时不仅要考虑最优的方式,而且其他所有可能的到达方式都需要考虑。
以上可以看出,SAVO技术,即本发明技术方案在进行合法入接口计算时,实际上就是针对OSPF路由协议的路由计算的一个逆向计算过程,其中,逆向最短路径树SPT的具体计算过程和算法与OSPF计算路由时生成最短路径树的过程相同。
4、报文过滤规则设定的分析
当前路由器计算得到针对某一路由前缀的合法入接口时,即可根据该合法入接口,建立报文过滤规则,即根据计算出的合法入接口产生SAVO的过滤规则,例如可使用访问控制表、iptable等访问控制手段针对特定的源地址前缀开放合法的入接口而关闭其他的接口。
如前所述,与OSPF协议类似,SAVO过滤规则计算所需要的拓扑信息,例如每个区域的逆向最短路径树SPT和区域对称性信息在收到相关的LSA后及时进行计算,使得拓扑信息能够及时反映当前的网络变化。
SAVO合法入接口的计算和过滤规则向系统写入的时间一般在OSPF协议计算完路由并向系统写入后,此时SAVO可以根据路由的类型对计算合法入接口需要搜索的LSDB信息进行判断,使得入接口的计算能更快速,并且使得路由器对报文的转发查表过程不至于中断。
路由的变化将导致对合法入接口计算和过滤规则的更新,但合法入接口的计算和过滤规则的更新不能完全依靠路由的更新过程来驱动,因为网络拓扑的变化不一定导致路由的变化,但可能导致合法入接口的变化。一般说来,对过滤规则的检查和更新需要在以下时间点进行:
(1)收到Router LSA和Network LSA等描述拓扑信息的LSA后;
(2)在OSPFv3的边界路由表发生变化时;
(3)在区域的对称性发生变化时,该仅针对以SIMPLE模式计算合法入接口;
对于上述(1)的情况,当收到相应的LSA后,对于ACCURATE模式应该及时计算逆向SPT并检查相应路由的合法入接口是否变化;对于SIMPLE模式应该重新计算区域的对称性情况并检查是否与原来有不同。
综合上述发明人的分析可以看出,基于OSPF路由协议的特点(基于最短路径获得路由),在基于OSPF路由协议的网络区域内,当前路由器可根据OSPF链路状态信息,来推算出区域内其它路由器到自身的最短路径树,即可得到从该路由器发送到当前路由器的报文的所有可能来源接口,即针对路由前缀的合法入接口,并设定报文过滤规则,来对伪造源IP地址的恶意报文进行过滤。同时,基于上述分析,计算最短路径时实际上与OSPF路由协议在路由时进行最短路径计算方式相同,只是其将当前路由器作为目的地址进行计算而已。
因此,基于上述分析,发明人提出了一种基于OSPF协议实现IP地址过滤的技术方案,即基于OSPF协议计算得到一个区域内其它路由节点(源路由器)到本地路由的最短路径,从而得到针对该源路由器的路由前缀的合法入接口,根据该得到的合法入接口即可在当前路由器上设置报文过滤规则,对伪造源IP地址的恶意报文进行过滤。由于IPv6网络中,报文的传输均是基于真实的IP地址,因此,本发明技术方案可适用于IPv6网络中,可对基于真实源地址的IP报文进行处理,对伪造源地址的IP报文进行过滤。下面对本发明IP地址过滤法方法实施例进行说明。
图2为本发明IP地址过滤方法实施例一的流程示意图。如图2所示,本实施例方法包括以下步骤:
步骤101、基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径;
步骤102、获取当前路由器在该最短路径中的上一跳节点,并将上一跳节点所在接口作为针对源路由器的OSPF路由前缀的合法入接口;
步骤103、根据该合法入接口,建立针对源路由器的路由前缀的报文过滤规则,对以源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从合法入接口之外其它入接口发送来的报文。
由于主机或网络设备通过源路由器发送的报文必然是以源路由器的路由前缀为源地址前缀的IP报文,且根据OSPF路由协议可知,在OSPF路由协议的网络中,源路由器发送报文到本地路由的传输路径是最短路径,即源路由器发送的报文的入接口必然位于该最短路径上,因此,本实施例中,当前路由器根据OSPF协议链路状态信息,计算得到区域内的源路由器到当前路由器的所有最短路径时,将最短路径中的位于当前路由器的上一跳节点所在接口作为以源路由器的OSPF路由前缀为源地址前缀的IP报文的合法入接口,并根据合法入接口建立报文过滤规则,可有效对伪造源IP地址的恶意报文进行过滤,避免恶意报文对网络设备造成的破坏。
本领域技术人员可以理解,对于伪造的以源路由器的OSPF路由前缀为地址前缀的IP报文,发送到当前路由器时经过的路径可能不会通过合法入接口,而通过其它入接口,因此,对于非合法入接口传送来的以源路由器的OSPF路由前缀为源地址前缀的IP报文,可认为是伪造的报文,从而可对该IP的报文进行过滤。
本实施例技术方案中,是基于路由器自身的OSPF协议信息(主要是链路状态信息)对合法入接口进行计算,不需要额外发送和接收其他相关信息,因此不会增加网络负载,不需要复杂的协议信息处理过程。而且,合法入接口的计算过程对于每个路由器都是独立的,使用SAVO时用户无需考虑网络中其他路由器的情况,也不会直接影响其他路由器的路由计算过程。
综上可以看出,本发明实施例IP地址过滤方法通过根据OSPF协议链路状态信息,获取针对区域内的源路由器的路由前缀的合法入接口,并根据该合法入接口建立过滤规则,将从非合法入接口传送的以源路由器的OSPF路由前缀为源地址前缀的IP报文进行过滤,可有效删除网络中的伪造源地址的恶意报文,减少网络攻击的可能,提高网络的安全性和可靠性;本发明实施例IP地址过滤方法可基于真实的源IP地址进行报文过滤,且合法入接口计算时不会增加网络负载,计算过程简单,具有较好的报文过滤效果,可适用于IPv6网络的IP报文过滤中。
图3为本发明IP地址过滤方法实施例二的流程示意图。如图3所示,本实施例方法包括以下步骤:
步骤201、根据当前路由器自身存储的链路状态数据库LSDB中区域的链路状态信息,计算区域内以源路由器为根的最短路径树;
步骤202、根据当前路由器在最短路径树上的位置,确定当前路由器在最短路径树上的上一跳节点,将上一跳节点所在接口作为针对源路由器的路由前缀的合法入接口;
步骤203、建立针对源路由器的路由前缀的报文过滤规则,对以源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从合法入接口之外其它入接口发送来的报文。
其中,上述步骤201和步骤203中,合法入接口的计算就是采用上述发明人提出的ACCURATE模式,即通过计算源路由器到当前路由器的最短路径树SPT,从而可根据该最短路径树SPT得到针对该路由前缀的合法入接口,该合法入接口即为以源路由器的OSPF路由前缀为地址前缀的报文的所有可能来源接口。该种路由器的最短路径树SPT的计算方法实际上就是OSPF路由协议中最短路径树SPT的计算方法,只是,本发明技术方案是由当前路由器,根据其上存储的链路状态信息,来推算其它路由器到当前路由器的最短路径树,具体计算方式与OSPF路由协议中计算方式相同或类似,其具体计算原理和方法可参见上述发明人的分析和说明,在此不再赘述。
在本实施例中,需要注意的是由于OSPF协议规定区域内路由优先于区域间路由和自治系统外部路由,所以当路由前缀的类型为区域内路由时需要进一步检查是否在OSPF协议的所有LSDB中存在相同前缀的区域间路由和自治系统外部路由的链路状态通告(LSA),如果存在,则认为这些路由前缀信息也是合法的,并且需要根据前述计算区域间路由合法入接口以及自治系统外部路由合法入接口相同的方法进行计算,计算所得的合法入接口也加入过滤规则中。同样,由于区域间路由优先于自治系统外部路由,所以在计算完区域间路由相关的合法入接口之后,还需要进一步检查是否存在相同前缀的自治系统外部路由的链路状态通告,如果存在,也需要计算根据这些信息计算合法入接口。
本实施例中,当前路由器可根据自身存储的链路状态数据库中,区域的链路状态信息,来计算区域内以源路由器为根的最短路径树,并根据当前路由器在最短路径树的位置,确定其上一跳节点,获得合法入接口。由于OSPF路由协议的区域网络内的各路由器均维护有完整的LSDB,因此,当前路由器根据自身存储的LSDB就可以计算区域内以其它路由器节点为根的最短路径树,进而可确定其它路由器节点到自身的最短路径,得到以源路由器的路由前缀为源地址前缀的IP报文的所有可能合法来源入接口,并基于该计算得到的合法入接口建立报文过滤规则。
由于OSPF路由协议的区域可能是对称区域或非对称区域,对于对称区域而言,区域内的路由器A到路由器B的最短路径,以及路由器B到路由器A的最短路径是一致的,因此,对于对称区域而言,可直接根据以当前路由器为根的最短路径树,来获的区域内的源路由器到自身的最短路径,进而得到针对源路由器的路由前缀的合法入接口。具体地,在执行上述步骤201前,还可包括如下步骤:
根据当前路由器自身存储的链路状态数据库LSDB中区域的链路状态信息,判断该区域是否是对称区域;
该区域为对称区域时,以当前路由器自身为根的最短路径树确定源路由器到当前路由器的最短路径。
只有在区域为非对称区域时,才需要执行步骤201,否则直接执行步骤203,并根据以当前路由器自身为根的最短路径树确定源路由器到当前路由器的最短路径,来确定源路由器的路由前缀的合法入接口。
可以看出,在区域为对称区域时,可不需要重新计算区域内以源路由器为根的最短路径树,可有效简化计算过程,提高计算效率,减少路由器的资源消耗。该合法入接口计算方法即是采用上述发明人提出的SIMPLE模式下计算方法,其具体计算原理和方法可参见上述发明人的分析和说明,在此不再赘述。
此外,对于资源有限的路由器,可在区域为对称区域时,利用当前路由器的最短路径树确定源路由器节点到自身节点的最短路径,获得合法入接口;在区域为非对称区域时,可将区域内所有入接口均作为合法入接口,由此,可节省大量计算,保证路由器正常使用。具体地,可根据当前路由器自身存储的链路状态数据库LSDB中区域的链路状态信息,判断该区域是否是对称区域;当该区域为对称区域时,以当前路由器自身为根的最短路径树确定源路由器到当前路由器的最短路径,将当前路由器在该最短路径中的上一跳节点作为针对源路由器的OSPF路由前缀的合法入接口;否则,该区域为非对称区域时,将区域内的任意节点作为合法入接口。该种方法即是单独采用SIMPLE模式时进行合法入接口计算的具体过程,其中合法入接口的具体计算原理和方法可参见上述发明人的分析和说明,在此不再赘述。
本领域技术人员可以理解的是,当前路由器可根据OSPF链路状态信息,计算得到区域内各路由器节点到自身的最短路径,以此得到针对各路由器节点的路由前缀的合法入接口,并建立针对各路由器节点的路由前缀的报文过滤规则,对主机或网络设备通过各路由器节点发送的以相应的路由前缀为地址前缀的源IP地址报文进行过滤,过滤掉伪造源IP地址的恶意报文,减少或避免伪造源IP地址的恶意报文的影响。
本领域技术人员可以理解,对于主机或网络设备通过系统内的其它区域或系统外的外部路由器发送的源IP地址报文,外部路由器在进行报文发送到区域内的当前路由器时,必然是需要经过区域的边界路由器或系统中自治系统外部路由器,因此,当上述区域内的源路由器为边界路由器或自治系统外部路由器时,为有效对主机或网络通过区域间路由器或系统外部路由器发送的外部报文进行处理,过滤伪造源地址的恶意报文,可设定相应的报文过滤规则。具体地,系统的区域间是直接通告路由前缀,并通过区域边界路由器进行路由,因此,当源路由器为边界路由器时,可建立针对以该源路由器通告的区域间路由的路由前缀的报文过滤规则,对以区域间路由的路由前缀为源地址前缀的IP报文进行处理,过滤掉从合法入接口之外其它入接口发送来的报文;当源路由器为自治系统外部路由器时,可建立针对源路由器通告的外部路由的的路由前缀的报文过滤规则,对以外部路由的路由前缀为源地址前缀的IP报文进行处理,过滤掉从合法入接口之外其它接口发送来的报文。
本领域技术人员可以理解,由于边界路由器和自治系统外部路由器是分别与系统的其它区域内的路由器和系统外部路由器建立链接的路由器,其上具有区间路由器和系统外部路由器的相关信息,因此,根据其上的相关路由器信息,即可建立针对以区域间路由和外部路由的路由前缀为源地址前缀的IP报文的过滤规则。
本领域技术人员可以理解的是,当前路由器可根据LSDB中区域的链路状态信息,计算得到区域内针对各路由器的路由前缀的合法入接口,并针对每个路由前缀建立相应的报文过滤规则,以便建立针对各路由前缀作为源地址前缀的IP报文的过滤规则。
本领域技术人员可以理解的是,在某一OSPF路由协议的区域内,各路由器上均可部署本发明技术方案,以设定相应的报文过滤规则,这样,可有效提高伪造源IP地址的恶意报文过滤的可靠性,提高过滤效果和网络的安全性。
本领域技术人员可以理解的是,本发明提供的SAVO技术可满足关于互联网真实源地址验证机制的基本概念:激励机制、增量部署、针对IPv6地址优先。每个路由器可以独立部署SAVO,部署越多,效果越好,且局部部署,也有效果。部署的位置越接近伪造源,对伪造源地址报文的过滤越早、越精确,效果也越好。部署了SAVO后,路由器能够在一定范围内(OSPF路由前缀所覆盖的范围)可以过滤掉伪造源地址报文的攻击,减少对非法报文的转发,保护本路由器负责的网络,因此具有较好的激励机制;SAVO的设计思想不仅可以用于IPv6网络,对于IPv4网络同样适用。
图4为本发明IP地址过滤装置实施例一的结构示意图。如图4所示,本实施例过滤装置包括合法入接口获取模块1和报文过滤模块2,其中:
合法入接口获取模块1,用于基于开放式最短路径优先OSPF协议链路状态信息,获得区域内的源路由器到当前路由器的最短路径,将当前路由器在所述最短路径中的上一跳节点所在接口作为针对源路由器的OSPF路由前缀的合法入接口;
报文过滤模块2,与合法入接口获取模块1链接,用于根据合法入接口,建立针对源路由器的路由前缀的报文过滤规则,对以源路由器的OSPF路由前缀为源地址前缀的IP报文进行处理,过滤掉从合法入接口之外其它入接口发送来的报文。
本实施例技术方案可应用于IP地址过滤中,可有效对伪造源IP地址的恶意报文进行过滤,其具体实现过程可参见上述本发明方法实施例的说明,在此不再赘述。
图5为本发明IP地址过滤装置实施例二的结构示意图。如图5所示,本实施例过滤装置中,合法入接口获取模块1具体可包括最短路径树计算单元11和第一合法入接口获取单元12,其中:
最短路径树计算单元11,用于根据当前路由器自身存储的链路状态数据库LSDB中区域的链路状态信息,计算区域内以源路由器为根的最短路径树;
第一合法入接口获取单元12,用于根据当前路由器在最短路径树上的位置,确定当前路由器在最短路径树上的上一跳节点,将上一跳节点所在接口作为针对源路由器的OSPF路由前缀的合法入接口。
此外,本实施例中,合法入接口获取模块还可包括:区域判断单元和第二合法入接口获取单元,其中,区域判断单元可用于根据当前路由器自身存储的链路状态数据库LSDB中区域的链路状态信息,判断该区域是否是对称区域;第二合法入接口获取单元可用于区域判断单元判断该区域为对称区域时,以当前路由器自身为根的最短路径树确定所述源路由器到当前路由器的最短路径,将当前路由器在该最短路径中的上一跳节点所在接口作为针对源路由器的路由前缀的合法入接口;而上述的最短路径树计算单元11具体可用于该区域为非对称区域时,再根据当前路由器自身存储的链路状态数据库LSDB中该区域的链路状态信息,计算该区域内以源路由器为根的最短路径树。
图6为本发明IP地址过滤装置实施例三中合法入接口获取模块的结构示意图。与上述图5所示实施例不同的是,本实施例中合法入接口获取模块1可包括第三区域判断单元13和第三合法入接口获取单元14,其中:
第三区域判断单元13用于根据当前路由器自身存储的链路状态数据库LSDB中区域的链路状态信息,判断该区域是否是对称区域;
第三合法入接口获取单元14,与该第三区域判断单元13连接,用于该区域为对称区域时,以当前路由器自身为根的最短路径树确定源路由器到当前路由器的最短路径,将当前路由器在该最短路径中的上一跳节点所在接口作为针对源路由器的OSPF路由前缀的合法入接口;并用于在该区域为非对称区域时,将该区域内的任意节点作为合法入接口。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
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报文进行处理,过滤掉从所述合法入接口之外入接口发送来的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110121589.7A CN102158497B (zh) | 2011-05-11 | 2011-05-11 | Ip地址过滤方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110121589.7A CN102158497B (zh) | 2011-05-11 | 2011-05-11 | Ip地址过滤方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102158497A true CN102158497A (zh) | 2011-08-17 |
CN102158497B CN102158497B (zh) | 2014-01-22 |
Family
ID=44439678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110121589.7A Expired - Fee Related CN102158497B (zh) | 2011-05-11 | 2011-05-11 | Ip地址过滤方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102158497B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495338A (zh) * | 2018-10-26 | 2019-03-19 | 北京网太科技发展有限公司 | 开放式最短路径优先协议脆弱性分析方法及装置、介质 |
CN109842574A (zh) * | 2017-11-28 | 2019-06-04 | 中国科学院声学研究所 | 一种基于可编程网络技术的多宿主网络路由转发方法 |
CN111211976A (zh) * | 2020-03-02 | 2020-05-29 | 清华大学 | Bgp路由信息验证方法及装置 |
CN111277497A (zh) * | 2020-03-18 | 2020-06-12 | 常熟理工学院 | 一种基于分布式的网络服务部署和发现的实现方法 |
CN111464527A (zh) * | 2020-03-30 | 2020-07-28 | 中国人民解放军战略支援部队信息工程大学 | 基于多点协同的路由器通告防护机制过滤策略检测方法及装置 |
CN111695150A (zh) * | 2020-05-15 | 2020-09-22 | 浙江信网真科技股份有限公司 | 一种动态粒度自聚合的安全过滤方法及装置 |
CN112398741A (zh) * | 2019-08-15 | 2021-02-23 | 华为技术有限公司 | 学习路由的方法、转发报文的方法、设备和存储介质 |
CN112558504A (zh) * | 2019-09-10 | 2021-03-26 | 中国电信股份有限公司 | 基于ospf协议的关键路径信息转发方法、装置和系统 |
US11799756B2 (en) | 2019-08-15 | 2023-10-24 | Huawei Technologies Co., Ltd. | Route learning method, packet forwarding method and device, and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184690A1 (en) * | 2005-02-15 | 2006-08-17 | Bbn Technologies Corp. | Method for source-spoofed IP packet traceback |
CN101789930A (zh) * | 2009-11-10 | 2010-07-28 | 福建星网锐捷网络有限公司 | 一种路由通告方法及网络设备 |
-
2011
- 2011-05-11 CN CN201110121589.7A patent/CN102158497B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184690A1 (en) * | 2005-02-15 | 2006-08-17 | Bbn Technologies Corp. | Method for source-spoofed IP packet traceback |
CN101789930A (zh) * | 2009-11-10 | 2010-07-28 | 福建星网锐捷网络有限公司 | 一种路由通告方法及网络设备 |
Non-Patent Citations (3)
Title |
---|
石元泉等: "一种基于报文过滤系统的规则批量配置算法", 《计算机应用与软件》 * |
石元泉等: "基于报文过滤系统的RPC协议研究与应用", 《计算机与现代化》 * |
蔡桂林: "《域内源地址验证技术研究》", 1 November 2010 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109842574A (zh) * | 2017-11-28 | 2019-06-04 | 中国科学院声学研究所 | 一种基于可编程网络技术的多宿主网络路由转发方法 |
US11522784B2 (en) | 2017-11-28 | 2022-12-06 | Institute Of Acoustics, Chinese Academy Of Sciences | Routing and forwarding method for multi-homed network based on programmable network technology |
CN109495338A (zh) * | 2018-10-26 | 2019-03-19 | 北京网太科技发展有限公司 | 开放式最短路径优先协议脆弱性分析方法及装置、介质 |
CN112398741A (zh) * | 2019-08-15 | 2021-02-23 | 华为技术有限公司 | 学习路由的方法、转发报文的方法、设备和存储介质 |
US11799756B2 (en) | 2019-08-15 | 2023-10-24 | Huawei Technologies Co., Ltd. | Route learning method, packet forwarding method and device, and storage medium |
CN112398741B (zh) * | 2019-08-15 | 2023-09-05 | 华为技术有限公司 | 学习路由的方法、转发报文的方法、设备和存储介质 |
CN112558504A (zh) * | 2019-09-10 | 2021-03-26 | 中国电信股份有限公司 | 基于ospf协议的关键路径信息转发方法、装置和系统 |
CN112558504B (zh) * | 2019-09-10 | 2021-11-02 | 中国电信股份有限公司 | 基于ospf协议的关键路径信息转发方法、装置和系统 |
CN111211976B (zh) * | 2020-03-02 | 2021-03-19 | 清华大学 | Bgp路由信息验证方法及装置 |
CN111211976A (zh) * | 2020-03-02 | 2020-05-29 | 清华大学 | Bgp路由信息验证方法及装置 |
CN111277497B (zh) * | 2020-03-18 | 2021-09-21 | 常熟理工学院 | 一种基于分布式的网络服务部署和发现的实现方法 |
CN111277497A (zh) * | 2020-03-18 | 2020-06-12 | 常熟理工学院 | 一种基于分布式的网络服务部署和发现的实现方法 |
CN111464527B (zh) * | 2020-03-30 | 2022-03-01 | 中国人民解放军战略支援部队信息工程大学 | 基于多点协同的路由器通告防护机制过滤策略检测方法及装置 |
CN111464527A (zh) * | 2020-03-30 | 2020-07-28 | 中国人民解放军战略支援部队信息工程大学 | 基于多点协同的路由器通告防护机制过滤策略检测方法及装置 |
CN111695150A (zh) * | 2020-05-15 | 2020-09-22 | 浙江信网真科技股份有限公司 | 一种动态粒度自聚合的安全过滤方法及装置 |
CN111695150B (zh) * | 2020-05-15 | 2023-07-28 | 浙江信网真科技股份有限公司 | 一种动态粒度自聚合的安全过滤方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102158497B (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102158497B (zh) | Ip地址过滤方法及装置 | |
Kumar et al. | Black hole attack detection in vehicular ad-hoc network using secure AODV routing algorithm | |
Eissa et al. | Trust-based routing mechanism in MANET: Design and implementation | |
Zhang et al. | SCION: Scalability, control, and isolation on next-generation networks | |
Chang et al. | CBDS: A cooperative bait detection scheme to prevent malicious node for MANET based on hybrid defense architecture | |
Tsou et al. | Developing a BDSR scheme to avoid black hole attack based on proactive and reactive architecture in MANETs | |
Jhaveri et al. | A novel approach for grayhole and blackhole attacks in mobile ad hoc networks | |
Khalil et al. | UnMask: Utilizing neighbor monitoring for attack mitigation in multihop wireless sensor networks | |
Kamaleshwar et al. | [Retracted] Self‐Adaptive Framework for Rectification and Detection of Black Hole and Wormhole Attacks in 6LoWPAN | |
Sandhya Venu et al. | Invincible AODV to detect black hole and gray hole attacks in mobile ad hoc networks | |
Nabou et al. | New MPR computation for securing OLSR routing protocol against single black hole attack | |
Jayaraman et al. | A three layered peer-to-peer energy efficient protocol for reliable and secure data transmission in EAACK MANETs | |
Ghugar et al. | Survey of wormhole attack in wireless sensor networks | |
Tamilselvi et al. | An efficient approach to circumvent black hole nodes in manets | |
Kumar et al. | Destination based group Gray hole attack detection in MANET through AODV | |
Arunmozhi et al. | Black hole attack detection and performance improvement in mobile ad-hoc network | |
CN103906163A (zh) | 一种基于鱼眼域的安全点对点路由方法 | |
Venkatramulu et al. | IP spoofing controlling with design science research methodology | |
Castelucio et al. | Intra-domain IP traceback using OSPF | |
Abdou et al. | Location verification on the internet: Towards enforcing location-aware access policies over internet clients | |
Kumar et al. | Secure route discovery in AODV in presence of blackhole attack | |
Adnane et al. | Trust-based countermeasures for securing OLSR protocol | |
Paul et al. | Detection and prevention methodology for DoS attack in mobile ad-hoc networks | |
Li et al. | Learning the valid incoming direction of IP packets | |
Gerhards‐Padilla et al. | TOGBAD—an approach to detect routing attacks in tactical environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140122 Termination date: 20140511 |