CN101707619B - 报文过滤方法、装置及网络设备 - Google Patents
报文过滤方法、装置及网络设备 Download PDFInfo
- Publication number
- CN101707619B CN101707619B CN200910253420XA CN200910253420A CN101707619B CN 101707619 B CN101707619 B CN 101707619B CN 200910253420X A CN200910253420X A CN 200910253420XA CN 200910253420 A CN200910253420 A CN 200910253420A CN 101707619 B CN101707619 B CN 101707619B
- Authority
- CN
- China
- Prior art keywords
- message
- address
- address information
- source
- record
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种报文过滤方法、装置及网络设备,其中方法包括:获取接收报文的源IP地址、目的IP地址和协议类型;通过哈希运算生成的流表索引值将报文映射到数据流表中;在目标流记录中,根据所述报文的IP地址信息和所述目标流记录中的IP地址信息生成目标地址信息,并将所述报文的IP地址信息与所述目标地址信息进行匹配;当未匹配成功时,为该报文创建与所述流表索引值对应的新的流记录;当匹配成功时,根据匹配到的流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理。本发明提供的报文过滤方法、装置及网络设备,解决了现有防火墙技术不支持定向广播应用的问题,实现对定向广播应答报文的过滤处理。
Description
技术领域
本发明实施例涉及防火墙技术,尤其涉及一种支持定向广播应答报文的报文过滤方法、装置及网络设备。
背景技术
配置在网络中的防火墙是一种重要的网络防护设备,通过对内部网络和外部网络之间的交互报文进行过滤,拦截恶意攻击。防火墙对报文的过滤不是基于单个报文,而是通过跟踪整个报文的交互过程,在一定上下文环境中对交互报文的合法性进行判断来实现的。其中,防火墙以“流”的形式来记录交互过程中报文的上下文环境,并以流表的形式组织和管理流。
现有技术中,防火墙接收到报文,从报文头提取五元组:源网络协议(Internet Protocol;简称为:IP)地址、目的IP地址、协议类型、源端口和目的端口。五元组经过哈希(HASH)运算,根据该HASH运算结果找到该报文在流表中的映射位置。然后将该报文的五元组与流表映射位置处的各流记录中的信息进行匹配;若未匹配上,则在该报文符合创建新连接条件后,为该报文创建一个流,并挂在流表中HASH运算结果对应的位置,以记录该报文所属的连接;若匹配到包含该五元组的流记录,则说明该报文所属的流已存在,然后通过进一步判断该报文类型,以判断报文的合法性。例如,以传输控制协议(Transmission Control Protocol;简称为:TCP)报文为例,由于SYN(Synchronize;简称为:SYN)报文是一次数据交互的开始,因此,根据流记录中的信息可知后续报文只能是SYN报文的响应端响应的一个SYNACK(Synchronize ACKnowledge Character;简称为:SYNACK)报文,或SYN报文的发起端重发的SYN报文;若是其他报文,则都认为非法。
随着网络应用的发展,随之出现越来越多特殊的报文和特殊的需求。其中以定向广播方式发送的报文就是一种目的IP地址主机部分全为1的特殊报文,该报文可以到达网络中的所有主机。现有技术,对于“协议类型”特殊的报文,防火墙获取并存储接收到报文的五元组,并基于其中三个参数:源IP地址、目的IP地址和协议类型,对报文的合法性进行判断,并将源端口和目的端口置为0。但是,为了满足应用需求,发起端有时需要特定接收主机返回应答报文,例如在一些视频广播***中,有时需要接收方在收到视频帧后返回确认消息。此时,防火墙接收到的定向广播报文的目的IP地址为网络地址,例如为192.168.200.255,而应答报文的源IP地址为上述网络地址中的一个具体主机地址,例如192.168.200.5。由此可知,防火墙接收到的应答报文的源IP地址与定向广播报文的目的IP地址不一致,这样,防火墙在流表中将无法找到与应答报文匹配的流记录,该报文将被丢弃。因此,现有防火墙对“协议类型”特殊的报文的处理方法,在特殊需要下,无法实现定向广播的发起端接收到特定接收主机的应答报 文。
发明内容
本发明实施例提供一种报文过滤方法、装置及网络设备,用以解决现有防火墙技术无法实现定向广播的发起端接收到定向广播应答报文的缺陷,实现对定向广播应答报文的过滤处理。
本发明实施例提供一种报文过滤方法,包括:
获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址,并根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
当未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录,将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
当匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理;
根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值,具体为:
将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
将所述报文的目的IP地址与所述报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进行离散化处理,生成所述流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配,具体为:
将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第一目标地址信息,并将所述报文的地址信息与所述第一目标地址信息进行匹配;
当所述报文的地址信息与所述第一目标地址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第二目标地址信息,并将所述报文的地址信息与所述第二目标地址信息进行匹配。
本发明实施例提供一种报文过滤方法,包括:
获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址,并根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子 网掩码和所述报文的协议类型,生成流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
当未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录,将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
当匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理;
根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值,具体为:
将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
将所述报文的目的IP地址与所述报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进行离散化处理,生成所述流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配,具体为:
将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第三目标地址信息,并将所述报文的地址信息与所述第三目标地址信息进行匹配;
当所述报文的地址信息与所述第三目标地址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第四目标地址信息,并将所述报文的地址信息与所述第四目标地址信息进行匹配。
本发明实施例提供一种报文过滤装置,包括:
获取模块,用于获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址;
生成模块,用于根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值;
匹配模块,用于在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
创建模块,用于在未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录, 将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
处理模块,用于在匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理;
所述生成模块包括:
第一生成单元,用于将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
第二生成单元,用于将所述报文的目的IP地址与所述报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
第三生成单元,用于通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进行离散化处理,生成所述流表索引值;
所述匹配模块包括:
第一地址信息生成单元,用于将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第一目标地址信息;
第一匹配单元,用于将所述报文的地址信息与所述第一目标地址信息进行匹配;
第二地址信息生成单元,用于在所述报文的地址信息与所述第一目标地址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第二目标地址信息;
第二匹配单元,用于将所述报文的地址信息与所述第二目标地址信息进行匹配。
本发明实施例提供一种报文过滤装置,包括:
获取模块,用于获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址;
生成模块,用于根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值;
匹配模块,用于在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
创建模块,用于在未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录,将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
处理模块,用于在匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理;
所述生成模块包括:
第一生成单元,用于将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
第二生成单元,用于将所述报文的目的IP地址与所述报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
第三生成单元,用于通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进行离散化处理,生成所述流表索引值;
所述匹配模块包括:
第三地址信息生成单元,用于将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第三目标地址信息;
第三匹配单元,用于将所述报文的地址信息与所述第三目标地址信息进行匹配;
第四地址信息生成单元,用于在所述报文的地址信息与所述第三目标地址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第四目标地址信息;
第四匹配单元,用于将所述报文的地址信息与所述第四目标地址信息进行匹配。
本发明实施例提供一种网络设备,包括本发明上述实施例提供的报文过滤装置。
本发明实施例的报文过滤方法、装置及网络设备,防火墙通过将接收报文的源IP地址和目的IP地址分别与各自对应网络的子网掩码进行与运算,屏蔽IP地址中的主机部分,使得定向广播报文和其应答报文被映射到数据流表中同一位置,同时防火墙通过将接收报文的源IP地址、目的IP地址与流记录中的源IP地址、目的IP地址或者与流记录中的目的IP地址、源IP地址做与运算,并判断相应结果是否与报文的源IP地址和目的IP地址相同,保证定向广播的应答报文能够匹配到所属的流记录,克服了现有防火墙技术无法实现定向广播发起端接收应答报文的缺陷,实现了对定向广播的应答报文的跟踪过滤处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的报文过滤方法的流程图;
图2为本发明实施例一步骤11中生成流表索引值方法的流程图;
图3为本发明实施例一步骤12的实施方法的流程图;
图4为本发明实施例二的同网段定向广播应答报文过滤方法的流程图;
图5为本发明实施例三的跨网段定向广播应答报文过滤方法的流程图;
图6为本发明实施例四提供的报文过滤装置的结构示意图;
图7为本发明实施例四中匹配模块63的又一种结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
每个网段都有一个网络地址和广播地址,网络地址表示特定网络,广播地址用于向特定网络中的所有主机发送报文,其中网络地址范围为网络地址+1至广播地址-1。例如,IP地址192.168.100.5/24的含义为:IP地址是192.168.100.5,子网掩码是255.255.255.0,网络地址是192.168.100.0,广播地址是192.168.100.255,网络地址范围是192.168.100.1至192.168.100.254,其中网络中主机的IP地址为网络地址范围内的IP地址。当以广播地址为IP地址发送报文时,这种报文属于定向广播报文,这种报文可以通过路由器广播到目标网络中的所有主机。定向广播具有单向连接的特点,且当发送定向广播报文的主机要求接收到定向广播报文的主机返回应答报文时,现有防火墙流表组织技术方案会将该应答报文视为非法报文给丢弃,使得该应答报文无法到达发送定向广播报文的主机。基于上述需求,本发明提供一种防火墙过滤报文的方法与装置,解决现有防火墙不支持定向广播应用的问题。
图1为本发明实施例一提供的报文过滤方法的流程图。本实施例的执行主体为防火墙,如图1所示,本实施例的报文过滤方法包括:
步骤11,获取接收到的报文的地址信息和报文的协议类型,并根据报文的源IP地址和目的IP地址,以及报文的源IP地址和目的IP地址各自对应网络的子网掩码和报文的协议类型,生成流表索引值;其中,报文的地址信息包括报文的源IP地址和目的IP地址;
防火墙在接收到报文后,从报文头中提取报文的源IP地址和目的IP地址和协议类型。
该步骤用于生成流表索引值,通过流表索引值实现将该报文对应的流记录映射到防火墙的数据流表中,具体基于报文中的源IP地址和目的IP地址、协议类型以及报文的源IP地址对应网络的子网掩码和目的IP地址对应网络的子网掩码实现。
步骤12,在目标流记录中,根据报文的地址信息和目标流记录中的第一地址信息生成目标地址信息,并将报文的地址信息与目标地址信息进行匹配;其中,目标流记录为在数据流表中与流表索引值对应的各流记录中获取的、与报文的协议类型相同的流记录;第一地址信息包括流记录中的源IP地址和目的IP地址;
步骤120,判断是否匹配到一致的目标流记录;
步骤12和步骤120用于判断流表索引值对应的各流记录中是否存在包含有报文的地址信息和报文的协议类型的流记录。若在流表索引值对应的各流记录中,匹配到包含有报文的地址信息和报文的协议类型的流记录,则执行步骤14,否则执行步骤13。
步骤13,当未匹配到与报文的地址信息一致的目标地址信息时,创建与流表索引值对应的用于记录连接状态信息的、新的流记录,将报文的地址信息和报文的协议类型记录到新的流记录中,并对报文放行;
具体的,未匹配到与报文的地址信息一致的目标地址信息,说明接收到的报文的流记录并不存在。当通过查询数据流表获知该报文的流记录不存在时,防火墙判断该报文是否符合创建新的流记录的条件,其中防火墙所采用的判断方法是现有技术,本实施例不做详细论述;当获知该报文符合创建新的流记录的条件时,根据步骤13所述的方法,为该报文创建新的流记录,其 中流记录中记录有报文的地址信息和协议类型,以及该报文所属连接的状态信息;同时,防火墙将该报文放行。
步骤14,当匹配到与报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对报文进行合法性判断,并对报文进行过滤处理。
具体的,匹配到与报文的地址信息一致的目标地址信息,说明该报文所属的流记录已经存在,防火墙根据匹配到的目标流记录中记载的连接状态信息判断该报文是否合法,并根据判断结果对该报文进行过滤处理。具体处理方式可以为:对合法报文允许其通过,反之,则将报文丢弃。
本实施例提供的报文过滤方法,根据基于报文的源IP地址、目的IP地址以及流表索引值对应的目标流记录中的源IP地址、目的IP地址按照一定的匹配规则进行匹配,屏蔽定向广播中各个IP地址中的主机部分,使得定向广播的应答报文能够与定向广播的流记录相匹配,克服了现有技术中防火墙流表组织方案不支持定向广播应答报文的缺陷,使得定向广播的应答报文可以按照需求回到发送定向广播报文的主机。
图2为本发明实施例一步骤11中生成流表索引值方法的流程图。本实施例提供一种步骤11中生成流表索引值的方法,具体包括以下步骤:
步骤121,防火墙将报文的源IP地址与报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
其中,防火墙与报文发送端位于同一网络,因此,报文的源IP地址对应网络的子网掩码即防火墙所在网络的子网掩码;通过上述与运算将源IP地址中主机地址屏蔽掉。
步骤122,防火墙将报文的目的IP地址与报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
本步骤通过将目的IP地址与其对应网络的子网掩码做与运算,以实现屏蔽目的IP地址中主机地址的目的,保证实现对定向广播应答报文的跟踪过滤 处理。
步骤123,防火墙通过哈希运算对第一结果、第二结果和报文的协议类型进行离散化处理,生成流表索引值。
基于哈希运算生产的流表索引值可以将大量报文均匀映射到数据流表中,使得在有限的数据流表中建立数量无限的报文的流记录。同时,该目的的实现还基于防火墙会定期执行数据流表的老化程序,清除无效的(在规定时间长度内没有报文往来)或连接已经关闭的流记录,以保证数据流表可以继续建立新的流记录。具体的,流表索引值对应报文所属的流记录,该流记录或者是已经存在的,或者是防火墙为该报文新建立的。
本实施例提供的生成流表索引值的方法,基于与子网掩码进行与运算后报文的源IP地址和目的IP地址,屏蔽了报文的源IP地址和目的IP地址中主机地址部分,克服了定向广播报文的目的IP地址与定向广播应答报文的源IP地址不匹配的问题,从而保证定向广播报文和定向广播应答报文被映射到数据流表中的同一流表索引值对应的位置,使防火墙为定向广播报文和定向广播应答报文创建同一个流记录。
图3为本发明实施例一步骤12的实施方法的流程图。如图3所示,该方法具体包括:
步骤131,将目标流记录中的源IP地址和目的IP地址对应与报文的源IP地址和目的IP地址做与运算,生成第一目标地址信息;
步骤132,将报文的地址信息与第一目标地址信息进行匹配;
步骤1321,判断匹配是否一致;
上述步骤131、步骤132以及步骤1321用于对报文进行第一方向的判断与匹配,具体为:若报文的地址信息与第一目标地址信息相同,则说明该报文属于该第一目标地址信息对应的流记录,并且该报文是与创建流记录的首报文属于同一方向的报文,防火墙执行步骤14,对该报文进行后续过滤处理;若匹配不一致,则执行步骤133。本实施例中首报文是一次连接的发起端发 出的第一个报文,记录该连接的流记录是基于该报文建立的,故称之为首报文。
步骤133,当报文的地址信息与第一目标地址信息不匹配时,将目标流记录中的源IP地址和目的IP地址对应与报文的目的IP地址和源IP地址做与运算,生成第二目标地址信息;
步骤134,将报文的地址信息与第二目标地址信息进行匹配;
步骤1341,判断匹配是否一致,并在判断匹配一致时,执行步骤14所述的过滤处理操作;反之,执行步骤13所述的创建新的流记录的操作。
防火墙根据步骤134的匹配结果确定是执行如步骤13或是如步骤14所述的操作。上述步骤133和步骤134用于实现对报文进行第二方向的判断与匹配,具体为:若报文的地址信息与第二目标地址信息相同,则说明报文属于该流记录,并且该报文是属于与首报文方向相反的报文。
具体上述方法提供了一种对报文进行流记录匹配的匹配规则,通过与运算以及判断与运算结果是否与参与与运算的报文的IP地址相同的方式进行匹配的方法,以及对报文进行两个方向的匹配的操作,可以屏蔽定向广播报文目的IP地址主机部分与定向广播应答报文的源IP地址的主机部分的差异,进而保证定向广播应答报文能够与定向广播报文的流记录相匹配,并在判断该报文合法后将该报文放行,使得定向广播报文的发送主机接收到定向广播应答报文。
上述技术方案是在目标流记录的基础上实现的,具体的本实施例中的目标流记录只表示一种存在状态,本实施例并不限制目标流记录的实现方式。
本实施例提供两种获取目标流记录的方法:一种是对流表索引值对应的各流记录中的协议类型和报文的协议类型进行匹配,先获取目标流记录;然后在目标流记录中对IP地址信息进行匹配,根据最后的匹配结果获知报文所属的流记录是否存在。
另一种是在每个流记录中,同时将报文的源IP地址和目的IP地址以及 协议类型分别与流记录中的源IP地址和目的IP地址以及协议类型进行匹配。具体可以先判断协议类型是否匹配,若判断协议类型匹配,则将该流记录记为目标流记录,并在该基础上对IP地址信息进行匹配,反之,直接对下一个流记录进行匹配;该方法以单个流记录为基准。本方法中并不限制对协议类型和IP地址信息的进行匹配顺序,先对协议类型进行匹配是一种优选方案。
上述两种方式相比,第二种实现简单而且效率高,因此,本实施例及以下各实施例优选第二种实现方式。在此基础上,本实施例还提供实施例一中步骤12的另一实施方法,具体包括:
步骤1031,将目标流记录中的源IP地址和目的IP地址对应与报文的目的IP地址和源IP地址做与运算,生成第三目标地址信息;
步骤1032,将报文的地址信息与第三目标地址信息进行匹配;
步骤1033,当报文的地址信息与第三目标地址信息不匹配时,将目标流记录中的源IP地址和目的IP地址对应与报文的源IP地址和目的IP地址做与运算,生成第四目标地址信息;
步骤1034,将报文的地址信息与第四目标地址信息进行匹配。
上述方法与图3所示的方法相似,不再详述,区别在于,两种方法对第一方向和第二方向匹配的先后顺序不同,即说明本实施例一中所述的匹配并不限制进行匹配的各参数之间的顺序,即只要报文的地址信息和目标地址信息具有相同IP地址值即匹配一致。
本实施例提供的方法中,若报文的源IP地址与目标流记录(表示报文的协议类型与流记录中的协议类型相同)中的源IP地址或目的IP地址做与运算的结果与报文的源IP地址相同,且报文的目的IP地址与目标流记录中的源IP地址或目的IP地址做与运算的结果与报文的目的IP地址相同,则判断该报文属于该流记录;反之,判断该报文不属于该流记录。防火墙以本实施例提供的方法组织数据流表,可以对定向广播报文的应答报文进行跟踪过滤处理,与现有技术中将定向广播报文作为非法报文丢弃处理不同,可以使定 向广播报文的发送主机接收应答报文。
下面结合具体的网路实例说明本发明的技术方案:
图4为本发明实施例二的同网段定向广播应答报文过滤方法的流程图。首先做如下假设:现有IP地址为192.168.100.5的第一主机向同网段的所有其他主机发起协议类型为P的定向广播,并接收要求IP地址为192.168.100.6的第二主机的应答报文,同时假设防火墙所在网络的子网掩码为255.255.255.0。基于本发明技术方案,防火墙对定向广播过程的处理如图4所示,包括以下步骤:
步骤41,接收第一主机发送的定向广播报文,并提取定向广播报文的源IP地址、目的IP地址和协议类型;
具体的,所提取的定向广播报文的源IP地址为:192.168.100.5,目的IP地址为:192.168.100.255,和协议类型:P。
步骤42,防火墙根据定向广播报文的源IP地址、目的IP地址、协议类型以及子网掩码生成第一流表索引值;
具体的,防火墙以源IP地址:192.168.100.5 &子网掩码:255.255.255.0的结果192.168.100.0、目的IP地址:192.168.100.255 &子网掩码:255.255.255.0的结果192.168.100.0、以及协议类型P,作为哈希运算的输入参数,进行哈希运算,则哈希运算的结果即为第一流表索引值M。
由于第一主机、第二主机以及防火墙在同一网段,因此,本实施例中防火墙所在网络的子网掩码与第一主机所在网络的子网掩码、第二主机所在网络的子网掩码为同一个子网掩码,在本实施例中以防火墙所在网络的子网掩码为例进行说明。
步骤43,防火墙为定向广播报文创建流记录ML,并将该流记录添加到数据流表的流表索引值M对应的流记录链表上;
步骤44,防火墙接收第二主机返回的应答报文,并提取应答报文的源IP地址、目的IP地址和协议类型;
第二主机在接收到定向广播报文后,根据要求向第一主机返回应答报文,该应答报文被防火墙接收,防护墙提取应答报文的源IP地址:192.168.100.6,目的IP地址:192.168.100.5,和协议类型:P。
步骤45,防火墙根据应答报文的源IP地址、目的IP地址、协议类型以及子网掩码生成第二流表索引值;
具体的,防火墙以源IP地址:192.168.100.6&子网掩码:255.255.255.0的结果192.168.100.0、目的IP地址:192.168.100.5&子网掩码:255.255.255.0的结果192.168.100.0、以及协议类型P,作为哈希运算的输入参数,进行哈希运算,则哈希运算的结果即为第二流表索引值N。由于两次哈希运算的输入相同,因此结果相同,即M=N。
步骤46,防火墙将应答报文的源IP地址、目的IP地址及协议类型与第二流表索引值N(或第一流表索引值M)对应的各流记录中的信息进行匹配;
具体的,以与流记录ML的匹配过程为例,说明本发明技术方案提供的匹配规则:将应答报文的协议类型P与流记录ML中的协议类型P进行匹配,由于相同,则该流记录ML被记为目标流记录,并进行后续匹配;
将应答报文的目的IP地址:192.168.100.5&流记录ML的源IP地址:192.168.100.5结果为192.168.100.5,该结果与应答报文的目的IP地址相同;
将应答报文的源IP地址:192.168.100.6&流记录ML的目的IP地址:192.168.100.255结果为192.168.100.6,该结果与应答报文的源IP地址相同;则应答报文的源IP地址、目的IP地址与与运算的结果相匹配,因此该应答报文属于流记录ML,且根据匹配方向可知该报文为应答报文,并非第一主机发送的定向广播报文。
步骤47,防火墙判断该应答报文属于合法性报文,允许该应答报文通过。
防火墙进一步判断该应答报文并不违背对第二主机所作的限定,例如限制第二主机只能连接WEB服务器、文件传输协议(File Transfer Protocol;简称为:FTP)服务器和邮件服务器,属于合法性报文,允许其通过,第一主 机接收到第二主机返回的应答报文。
本实施例提供的应答报文过滤方法,通过将IP地址与子网掩码进行与运算屏蔽IP地址主机部分的差异,使得定向广播报文和定向广播报文的应答报文的流记录被映射到数据流表中的同一流记录链表下;同时通过与运算匹配规则,以及双向匹配使定向广播环境下的报文(重点指应答报文)能够匹配到所属的流记录,使得第一主机能够接收到第二主机的应答报文,克服了现有技术无法实现第一主机通过防火墙接收第二主机的应答报文的缺陷。
图5为本发明实施例三的跨网段定向广播应答报文过滤方法的流程图。首先做如下假设:现有IP地址为192.168.100.5的第三主机以192.168.210.255为目的IP地址向该网络中的所有主机发送协议类型为Q的定向广播,并要求接收IP地址为192.168.210.17的第四主机的应答报文。本实施例将第三主机所在的网络称为第三网络,第四主机所在的网络称为第四网络,以便于对本发明技术方案进行说明。其中本实施例对防火墙配置于哪个网络不做限制。
本发明技术方案中,防火墙需要维护一份掩码表,记录与防火墙所在网络连接的所有网络的子网掩码,包括防火墙所在的网络。具体的该掩码表可以预先配置也可以动态生成。其中从网络设备的路由表中直接查询获取所需掩码以实现资源共享,为了便于说明,本实施例以防火墙本地存储有从路由表中获取的一份掩码表为例。基于上述,防火墙对跨网络定向广播过程的处理如图5所示,包括以下步骤:
步骤51,接收第三主机发送的定向广播报文,并提取定向广播报文的源IP地址、目的IP地址和协议类型;
具体的,本步骤所提取的定向广播报文的源IP地址:192.168.100.5,目的IP地址:192.168.210.255,协议类型:Q。
防火墙根据提取的源IP地址:192.168.100.5获知第三网络的网络地址为192.168.100.0,并从本地掩码表中获知第三网络的子网掩码为255.255.255.0;同时,防火墙根据提取的目的IP地址:192.168.210.255获知第四网络的网络 地址为192.168.210.0,并从本地掩码表中获知定向广播的目的网络(即第四网络)的子网掩码为255.255.255.0。
本实施例假设防火墙对网络地址为192.168.100.0的第三网络和网络地址为192.168.210.0的第四网络之间的报文往来做了限制:只允许第三网络向第四网络发起连接请求,而禁止第四网络向第三网络发出连接请求。则防火墙在确定定向广播报文符合上述限制条件后,为该报文在数据流表中创建所属的流记录。
步骤52,防火墙根据定向广播报文的源IP地址、目的IP地址、协议类型以及子网掩码生成第三流表索引值;
具体的,防火墙以源IP地址:192.168.100.5&子网掩码:255.255.255.0(第三网络的子网掩码)的结果192.168.100.0、目的IP地址:192.168.210.255&子网掩码:255.255.255.0(第四网络的子网掩码)的结果192.168.210.0、以及协议类型Q,作为哈希运算的输入参数,进行哈希运算,哈希运算的结果即为第三流表索引值A。
步骤53,防火墙为定向广播报文创建流记录AL,并将该流记录添加到数据流表的流表索引值A对应的流记录链表上;
步骤54,防火墙接收到第四主机返回的应答报文,并提取应答报文的源IP地址、目的IP地址和协议类型;
第四主机在接收到定向广播报文后,根据要求向第三主机返回应答报文,该应答报文被防火墙接收,防护墙提取应答报文的源IP地址:192.168.210.17,目的IP地址:192.168.100.5,和协议类型:Q。
步骤55,防火墙根据应答报文的源IP地址、目的IP地址、协议类型以及子网掩码生成第四流表索引值;
具体的,防火墙以源IP地址:192.168.210.17&子网掩码:255.255.255.0(第三网络的子网掩码)的结果192.168.210.0、目的IP地址:192.168.100.5&子网掩码:255.255.255.0(第四网络的子网掩码)的结果192.168.100.0、以 及协议类型Q,作为哈希运算的输入参数,进行哈希运算,哈希运算的结果即为第四流表索引值B。由于两次哈希运算的输入参数相同,因此哈希运算结果相同,即A=B。
由此可知,本发明技术方案在对定向广播报文和定向广播应答报文进行离散化处理之前,通过与运算处理,屏蔽了各个IP地址的主机部分,解决了因定向广播报文的目的IP地址和定向广播应答报文的源IP地址不同使得定向广播应答报文无法与定向广播报文的流记录映射到数据流表中同一流记录链表下的问题,为对后续的定向广播应答报文与流记录的匹配操作打下了基础。
步骤56,防火墙将应答报文的源IP地址、目的IP地址及协议类型与第四流表索引值B(或第三流表索引值A)对应的各流记录中的信息进行匹配;
具体的,防火墙将该应答报文与第四流表索引值B对应的各流记录逐一进行比较,直到匹配到流记录AL,具体与流记录AL的匹配过程为:将将应答报文的协议类型Q与流记录AL中的协议类型Q进行匹配,由于相同,则该流记录AL被记为目标流记录,并进行后续匹配;
将应答报文的目的IP地址:192.168.100.5&流记录AL的源IP地址:192.168.100.5结果为192.168.100.5,该结果与应答报文的目的IP地址相同;
将应答报文的源IP地址:192.168.210.17&流记录AL的目的IP地址:192.168.210.255结果为192.168.210.17,该结果与应答报文的源IP地址相同;则应答报文的源IP地址、目的IP地址与与运算的结果相匹配,因此该应答报文属于流记录AL,且根据匹配方向可知该报文为应答报文,并非第三主机发送的定向广播报文。
步骤57,防火墙判断该应答报文属于合法性报文,允许该应答报文通过。
防火墙进一步判断该应答报文并不违背对第三网络和第四网络所作的限定,属于合法性报文,允许其通过,第三主机接收到第四主机返回的应答报文,满足了应用需求。
本实施例中通过与运算匹配规则,以及双向匹配使定向广播环境下的报文(主要指应答报文)能够匹配到所属的流记录,使第三主机能够接收到第四主机的应答报文,满足应用需求,克服了现有技术无法实现第三主机通过防火墙接收第四主机的应答报文的缺陷。
图6为本发明实施例四提供的报文过滤装置的结构示意图,如图6所示,本实施例的报文过滤装置包括:获取模块61、生成模块62、匹配模块63、创建模块64和处理模块65。
获取模块61用于从接收到的报文中获取报文的地址信息和报文的协议类型,其中报文的地址信息包括报文的源IP地址和目的IP地址;生成模块62用于根据报文的地址信息、报文的协议类型和报文的源IP地址和目的IP地址各自对应网络的子网掩码生成流表索引值;匹配模块63用于在目标流记录中,根据报文的地址信息和目标流记录中的第一地址信息生成目标地址信息,并将报文的地址信息与目标地址信息进行匹配;其中,目标流记录为在数据流表中流表索引值对应的各流记录中获取的与报文的协议类型相同的流记录;而第一地址信息包括流记录中的源IP地址和目的IP地址;目标流记录只表示一种存在状态,并不限制目标流记录的实现方式。
匹配模块63将匹配结果提供给创建模块64和处理模块65。具体的,当未匹配到与报文的地址信息一致的目标地址信息时,说明接收到的报文的流记录并不存在;当通过判断获知该报文符合创建新的流记录的条件时,创建模块64创建与流表索引值对应的新的流记录,用于记录连接状态信息,并将报文的地址信息和报文的协议类型记录到新的流记录中,同时将报文放行;其中,可以由判断模块根据现有方法判断该报文是否符合创建新的流记录的条件,由于所采用的判断方法和判断模块为本领域技术人员所熟知的技术,本实施例不进行详细论述。
当匹配到与报文的地址信息一致的目标地址信息时,说明该报文所属的流记录已经存在,处理模块65根据匹配到的目标地址信息对应的目标流记录 中的连接状态信息对报文进行合法性判断,并对报文进行过滤处理,若报文合法则放行,反之则将报文丢弃。
本实施例提供的报文过滤装置,通过生成模块、匹配模块、创建模块和处理模块,通过两次对报文的IP地址进行与运算,屏蔽了定向广播报文的目的IP地址的和定向广播应答报文的源IP地址的主机部分,使得对定向广播报文的哈希运算和对定向广播应答报文的哈希运算处理具有相同的输入参数,保证定向广播报文和定向广播应答报文被映射到数据流表中的同一流记录链表下,同时保证定向广播应答报文能够和定向广播报文所属的流记录相匹配,当该应答报文在经防火墙的后续处理被放行后,保证定向广播的发起端能够根据需求接收到指定接收端返回的该应答报文,满足应用需求。
具体的,本实施例提供两种获取目标流记录的方法:一种是对流表索引值对应的各流记录中的协议类型和报文的协议类型进行匹配,先获取目标流记录;然后在目标流记录中对IP地址信息进行匹配,根据最后的匹配结果获知报文所属的流记录是否存在。
另一种是在每个流记录中,同时将报文的源IP地址和目的IP地址以及协议类型对应与流记录中的源IP地址和目的IP地址以及协议类型进行匹配。具体可以先判断协议类型是否匹配,若判断协议类型匹配,则将该流记录记为目标流记录,并在该基础上对IP地址信息进行匹配,反之,直接对下一个流记录进行匹配。
上述两种方式相比,第二种实现简单而且效率高,因此,本实施例及以下各实施例优选第二种实现方式。
具体的,本实施例中生成模块62包括:第一生成单元621,用于将报文的源IP地址与该报文过滤装置所在的子网掩码做与运算,生成第一结果;第二生成单元622,用于将报文的目的IP地址与报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;第三生成单元623,用于通过哈希运算对第一结果、第二结果和报文的协议类型进行离散化处理,生成流表索引值, 并将该流表索引值提供给匹配模块63;其中,若报文的源IP地址与目的IP地址属于同一网段,则两者所对应的子网掩码为同一个子网掩码;反之,两者所对应的子网掩码为不同的网络的子网掩码,具体的两个子网掩码可能相同也可能不同。
具体的,本实施例中匹配模块63具有两种实现方式:一种该匹配模块63包括:第一地址信息生成单元631,用于将目标流记录中的源IP地址和目的IP地址对应与报文中的源IP地址和目的IP地址做与运算,生成第一目标地址信息;第一匹配单元632,用于将报文的地址信息与第一目标地址信息进行匹配;第二地址信息生成单元633,用于在第一匹配单元632得出匹配不一致的结果时,将目标流记录中的源IP地址和目的IP地址对应与报文的目的IP地址和源IP地址做与运算,生成第二目标地址信息;第二匹配单元634,用于将报文的地址信息与第二目标地址信息进行匹配,并将匹配结果提供给创建模块64和处理模块65。
图7为本发明实施例四中匹配模块63的又一种结构示意图。第二种实现方式如图7所示,该匹配模块63包括:第三地址信息生成单元6031,用于将目标流记录中的源IP地址和目的IP地址对应与报文的目的IP地址和源IP地址做与运算,生成第三目标地址信息;第三匹配单元6032,用于将报文的地址信息与第三目标地址信息进行匹配;第四地址信息生成单元6033,用于在第三匹配单元6032得出匹配不一致结果时,将目标流记录中的源IP地址和目的IP地址对应与报文的源IP地址和目的IP地址做与运算,生成第四目标地址信息;第四匹配单元6034,用于将报文的地址信息与第四目标地址信息进行匹配,并将匹配结果提供创建模块64和处理模块65。
上述技术方案基于提供的生成模块和匹配模块的具体实现结构,详细介绍了生成模块和匹配模块的工作原理。
本发明实施例五提供一种网络设备,包括本发明上述实施例提供的报文过滤装置,通过报文过滤装置实现对报文的过滤处理。例如,本实施例的网 络设备可以是防火墙,也可以是具有防火墙功能的路由设备。基于报文过滤装置,本实施例提供的网络设备同样可以实现对定向广播环境下报文(主要是指应答报文)的跟踪过滤处理,解决现有技术中防火墙不支持定向广播应用的问题。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种报文过滤方法,其特征在于,包括:
获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址,并根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
当未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录,将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
当匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理;
根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值,具体为:
将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
将所述报文的目的IP地址与所述报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进 行离散化处理,生成所述流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配,具体为:
将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第一目标地址信息,并将所述报文的地址信息与所述第一目标地址信息进行匹配;
当所述报文的地址信息与所述第一目标地址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第二目标地址信息,并将所述报文的地址信息与所述第二目标地址信息进行匹配。
2.一种报文过滤方法,其特征在于,包括:
获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址,并根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
当未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录,将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
当匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判 断,并对所述报文进行过滤处理;
根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值,具体为:
将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
将所述报文的目的IP地址与所述报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进行离散化处理,生成所述流表索引值;
在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配,具体为:
将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第三目标地址信息,并将所述报文的地址信息与所述第三目标地址信息进行匹配;
当所述报文的地址信息与所述第三目标地址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第四目标地址信息,并将所述报文的地址信息与所述第四目标地址信息进行匹配。
3.一种报文过滤装置,其特征在于,包括:
获取模块,用于获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址;
生成模块,用于根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值;
匹配模块,用于在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
创建模块,用于在未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录,将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
处理模块,用于在匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理;
所述生成模块包括:
第一生成单元,用于将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
第二生成单元,用于将所述报文的目的IP地址与所述报文的目的IP地址对应网络的子网掩码做与运算,生成第二结果;
第三生成单元,用于通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进行离散化处理,生成所述流表索引值;
所述匹配模块包括:
第一地址信息生成单元,用于将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第一目标地址信息;
第一匹配单元,用于将所述报文的地址信息与所述第一目标地址信息进行匹配;
第二地址信息生成单元,用于在所述报文的地址信息与所述第一目标地 址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第二目标地址信息;
第二匹配单元,用于将所述报文的地址信息与所述第二目标地址信息进行匹配。
4.一种报文过滤装置,其特征在于,包括:
获取模块,用于获取接收到的报文的地址信息和所述报文的协议类型,所述报文的地址信息包括所述报文的源IP地址和目的IP地址;
生成模块,用于根据所述报文的源IP地址和目的IP地址,以及所述报文的源IP地址和目的IP地址各自对应网络的子网掩码和所述报文的协议类型,生成流表索引值;
匹配模块,用于在目标流记录中,根据所述报文的地址信息和所述目标流记录中的第一地址信息生成目标地址信息,并将所述报文的地址信息与所述目标地址信息进行匹配;所述目标流记录为在数据流表中与所述流表索引值对应的各流记录中获取的、与所述报文的协议类型相同的流记录;所述第一地址信息包括所述流记录中的源IP地址和目的IP地址;
创建模块,用于在未匹配到与所述报文的地址信息一致的目标地址信息时,创建与所述流表索引值对应的用于记录连接状态信息的、新的流记录,将所述报文的地址信息和所述报文的协议类型记录到所述新的流记录中,并对所述报文放行;
处理模块,用于在匹配到与所述报文的地址信息一致的目标地址信息时,根据匹配到的目标地址信息对应的目标流记录中的连接状态信息对所述报文进行合法性判断,并对所述报文进行过滤处理;
所述生成模块包括:
第一生成单元,用于将所述报文的源IP地址与所述报文的源IP地址对应网络的子网掩码做与运算,生成第一结果;
第二生成单元,用于将所述报文的目的IP地址与所述报文的目的IP地 址对应网络的子网掩码做与运算,生成第二结果;
第三生成单元,用于通过哈希运算对所述第一结果、所述第二结果和所述报文的协议类型进行离散化处理,生成所述流表索引值;
所述匹配模块包括:
第三地址信息生成单元,用于将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的目的IP地址和源IP地址做与运算,生成第三目标地址信息;
第三匹配单元,用于将所述报文的地址信息与所述第三目标地址信息进行匹配;
第四地址信息生成单元,用于在所述报文的地址信息与所述第三目标地址信息不匹配时,将所述目标流记录中的源IP地址和目的IP地址对应与所述报文的源IP地址和目的IP地址做与运算,生成第四目标地址信息;
第四匹配单元,用于将所述报文的地址信息与所述第四目标地址信息进行匹配。
5.一种网络设备,其特征在于,包括如权利要求3-4任一项所述的报文过滤装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910253420XA CN101707619B (zh) | 2009-12-10 | 2009-12-10 | 报文过滤方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910253420XA CN101707619B (zh) | 2009-12-10 | 2009-12-10 | 报文过滤方法、装置及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101707619A CN101707619A (zh) | 2010-05-12 |
CN101707619B true CN101707619B (zh) | 2012-11-21 |
Family
ID=42377809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910253420XA Active CN101707619B (zh) | 2009-12-10 | 2009-12-10 | 报文过滤方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101707619B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835179A (zh) * | 2017-11-14 | 2018-03-23 | 山东超越数控电子股份有限公司 | 一种基于虚拟化容器的应用程序防护方法与装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102307250A (zh) * | 2011-10-12 | 2012-01-04 | 北京网康科技有限公司 | 一种ip地址查找方法及其设备 |
CN103095665A (zh) * | 2011-11-07 | 2013-05-08 | 中兴通讯股份有限公司 | 一种提升防火墙处理性能的方法和装置 |
CN103428185B (zh) * | 2012-05-24 | 2016-06-15 | 百度在线网络技术(北京)有限公司 | 报文过滤/限速方法、***及装置 |
CN102904975B (zh) * | 2012-09-28 | 2015-06-17 | 华为技术有限公司 | 报文处理的方法和相关装置 |
CN107113282A (zh) * | 2014-12-30 | 2017-08-29 | 华为技术有限公司 | 一种抽取数据报文的方法及装置 |
CN107181605B (zh) * | 2016-03-09 | 2020-06-23 | 阿里巴巴集团控股有限公司 | 报文检测方法及***、内容提取装置、流量匹配装置 |
CN106100997B (zh) * | 2016-06-03 | 2021-04-30 | 新华三技术有限公司 | 一种网络流量信息处理方法及装置 |
CN108833605A (zh) * | 2018-05-30 | 2018-11-16 | 四川斐讯信息技术有限公司 | 一种查看局域网所有设备ip和mac的方法及*** |
CN109802945B (zh) * | 2018-12-25 | 2021-10-01 | 维沃移动通信有限公司 | 一种数据传输方法和终端设备 |
CN109902204A (zh) * | 2019-01-16 | 2019-06-18 | 北京左江科技股份有限公司 | 一种内容模糊查找方法 |
CN110351397B (zh) * | 2019-05-30 | 2022-06-14 | 湖北微源卓越科技有限公司 | 一种匹配ip网段的方法及装置 |
CN110677424B (zh) * | 2019-09-30 | 2023-01-10 | 华南理工大学广州学院 | 基于哈希算法的电力防火墙伪造寻址过滤方法 |
CN113765858A (zh) * | 2020-06-05 | 2021-12-07 | 中创为(成都)量子通信技术有限公司 | 一种实现高性能状态防火墙的方法及装置 |
CN114520790B (zh) * | 2021-12-20 | 2024-03-22 | 杭州迪普信息技术有限公司 | 一种报文过滤的方法及装置 |
CN114826818B (zh) * | 2022-05-23 | 2024-05-28 | 北斗星通智联科技有限责任公司 | 一种can报文数据处理方法及装置 |
CN117240612B (zh) * | 2023-11-10 | 2024-01-26 | 杭州海康威视数字技术股份有限公司 | 基于多模过滤的失陷物联网设备安全检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555170A (zh) * | 2003-12-23 | 2004-12-15 | 沈阳东软软件股份有限公司 | 流过滤防火墙 |
CN1645809A (zh) * | 2004-01-19 | 2005-07-27 | 威达电股份有限公司 | 加速封包过滤的方法 |
JP2006229410A (ja) * | 2005-02-16 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 通信方法、通信システム、通信装置および通信プログラム |
-
2009
- 2009-12-10 CN CN200910253420XA patent/CN101707619B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555170A (zh) * | 2003-12-23 | 2004-12-15 | 沈阳东软软件股份有限公司 | 流过滤防火墙 |
CN1645809A (zh) * | 2004-01-19 | 2005-07-27 | 威达电股份有限公司 | 加速封包过滤的方法 |
JP2006229410A (ja) * | 2005-02-16 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 通信方法、通信システム、通信装置および通信プログラム |
Non-Patent Citations (1)
Title |
---|
Shen Li 等.A Dynamic Stateful Multicast Firewall.《IEEE international conference on communications,2007》.2007, * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835179A (zh) * | 2017-11-14 | 2018-03-23 | 山东超越数控电子股份有限公司 | 一种基于虚拟化容器的应用程序防护方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101707619A (zh) | 2010-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101707619B (zh) | 报文过滤方法、装置及网络设备 | |
CN101707617B (zh) | 报文过滤方法、装置及网络设备 | |
US11863625B2 (en) | Routing messages between cloud service providers | |
AU2015317394B2 (en) | Private alias endpoints for isolated virtual networks | |
CN101834783B (zh) | 一种报文转发方法、装置及网络设备 | |
CN102638453B (zh) | 一种基于Linux***服务器的语音数据内核转发方法 | |
US20050015510A1 (en) | Method for implementing transparent gateway or proxy in a network | |
CN102281180A (zh) | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 | |
CN102761534B (zh) | 实现媒体接入控制层透明代理的方法和装置 | |
CN113783885B (zh) | 一种蜜罐网络代理方法及相关装置 | |
KR20200102328A (ko) | 데이터 처리 방법 및 장치 | |
CN105635335B (zh) | 社会资源接入方法、装置及*** | |
CN104639555A (zh) | 请求处理方法、***和装置 | |
CN104488240A (zh) | 一种会话管理方法、地址管理方法及相关装置 | |
JP2006246460A (ja) | ブリッジ装置及び情報の伝送及び取得方法 | |
CN110391919A (zh) | 组播流量转发方法、装置、电子设备 | |
KR20160115132A (ko) | 클라우드 시스템의 보안 서비스 제공방법 및 그 클라우드 시스템 | |
CN103414768B (zh) | 数据处理方法、***和网关 | |
CN102984167A (zh) | 一种基于Socks5协议的通用防火墙穿越方法 | |
CN108337331B (zh) | 网络穿透方法、装置、***及网络连通性检查方法 | |
Piron | Master thesis: Implementation and Evaluation of LISP Publish/Subscribe Functionality in NS3 | |
CN116827777B (zh) | 适用于n台相同IP地址的目标设备的数据采集方法及网络配置方法、电子设备、数据采集*** | |
CN112751946B (zh) | 一种隧道建立方法、装置、设备及计算机可读存储介质 | |
CN106888198B (zh) | 一种数据包过滤规则的配置方法、装置及*** | |
CN114513387A (zh) | 一种隧道建立方法、装置及设备 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |