CN109714347A - 策略命中结果的存储、查询方法与装置、设备及介质 - Google Patents

策略命中结果的存储、查询方法与装置、设备及介质 Download PDF

Info

Publication number
CN109714347A
CN109714347A CN201811638709.9A CN201811638709A CN109714347A CN 109714347 A CN109714347 A CN 109714347A CN 201811638709 A CN201811638709 A CN 201811638709A CN 109714347 A CN109714347 A CN 109714347A
Authority
CN
China
Prior art keywords
storage
source address
packet filtering
node
hit
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.)
Pending
Application number
CN201811638709.9A
Other languages
English (en)
Inventor
杨佳磊
钱雪彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201811638709.9A priority Critical patent/CN109714347A/zh
Publication of CN109714347A publication Critical patent/CN109714347A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种策略命中结果的存储、查询方法与装置、设备及介质,所述存储方法包括:数据包命中包过滤策略时,获取数据包的源地址及包过滤策略的标识信息;根据该标识信息,映射出预定的第一存储结构中与包过滤策略对应的存储结点;该存储结点也是预定的第二存储结构的第一个结点,其数据域存有指向第二存储结构的下一存储结点的指向对象;根据该指向对象与该源地址,查询第二存储结构中是否存在与该源地址对应的存储结点;如果存在,对该源地址对应的存储结点中的命中计数进行更新。实施本申请,可以快速有效地存储各源地址发出的数据包对各包过滤策略的命中情况,基于此,后续可以直接快速地查询到,无需逐条查询统计命中记录,操作简捷高效。

Description

策略命中结果的存储、查询方法与装置、设备及介质
技术领域
本申请涉及网络安全技术领域,尤其涉及一种策略命中结果的存储、查询方法与装置、设备及介质。
背景技术
在网络安全领域,为了局域网内的设备安全,相关技术人员会为局域网配置包过滤防火墙。配置包过滤防火墙后,局域网内的设备如果向外网发送数据包,需要通过包过滤防火墙的包过滤,允许发送后才能向外网发送。
包过滤,指在网络层截获网络数据包,根据配置的包过滤策略,对数据包进行分析与选择。具体分析与选择时,通过对比配置的包过滤策略与数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项,来确定是否允许该数据包发送。
为便于后续控制局域网内设备对外网的访问行为,相关技术可以通过包过滤日志或会话日志记录:包过滤过程中有哪些数据包命中了哪些包过滤策略。其中,数据包A的源地址、目的地址、源端口号、目的端口号、协议类型等因素中的一项或多项,与包过滤策略B匹配,可以称作数据包命A中包过滤策略B。
相关技术中,包过滤日志或会话日志虽然可以记录哪些数据包命中了哪些包过滤策略,但是,只是按日志形式记录,要查询某条包过滤策略的命中情况时,只能逐条查看包过滤日志或会话日志,从中挑选出涉及某条包过滤策略的命中情况的日志,然后再统计命中该条包过滤策略的每个数据包的源地址,以及该原地址发出的数据包对该条包过滤策略的命中次数,这样的操作繁复且耗时。
发明内容
有鉴于此,本申请实施例提供一种策略命中结果的存储、查询方法与装置、设备及介质,以解决相关技术通过包过滤日志或会话日志记录各数据包对各包过滤策略的命中,导致统计包过滤策略的命中情况的操作繁复的问题。
根据本申请的第一方面,提供一种策略命中结果的存储方法,包括步骤:
当数据包命中包过滤策略时,获取所述数据包的源地址及所述包过滤策略的标识信息;
根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
根据所述指向对象与所述源地址,查询所述第二存储结构中是否存在与所述源地址对应的存储结点;
如果存在,对所述源地址对应的存储结点中的命中计数进行更新;所述命中计数表示所述源地址发出的数据包命中所述包过滤策略的次数。
在一个实施例中,所述第二存储结构为链表或树形结构,所述指向对象为头指针或树的根节点。
在一个实施例中,所述第一存储结构为哈希链表,所述哈希链表的一个存储结点对应至少一条包过滤策略;根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点,包括:
计算所述标识信息的哈希值;
根据所述哈希值,查找所述哈希链表内与所述包过滤策略对应的存储结点。
在一个实施例中,如果不存在,所述方法还包括以下步骤:
为所述第二存储结构创建与所述源地址对应的存储结点;
将指向所创建的存储结点的指向对象,存储至所创建的存储结点的上一存储结点;
将所述源地址发出的数据包对所述包过滤策略的命中计数及所述源地址,存储至所创建的存储结点。
在一个实施例中,所述第一存储结构包括100000个存储结点;所述第二存储结构包括1000个存储结点。
根据本申请的第二方面,提供一种策略命中结果的查询方法,包括步骤:
在查询已过滤的数据包对包过滤策略的命中结果时,获取所述包过滤策略的标识信息;
根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
根据所述指示对象,读取所述第二存储结构的各存储结点存储的命中结果;所述命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。
根据本申请的第三方面,提供一种策略命中结果的存储装置,包括:
获取模块,用于在数据包命中包过滤策略时,获取所述数据包的源地址及所述包过滤策略的标识信息;
映射模块,用于根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
确认模块,用于根据所述指向对象与所述源地址,查询所述第二存储结构中是否存在与所述源地址对应的存储结点;
更新模块,用于在所述第二存储结构中存在与所述源地址对应的存储结点时,对所述源地址对应的存储结点中的命中计数进行更新;所述命中计数表示所述源地址发出的数据包命中所述包过滤策略的次数。
根据本申请的第四方面,提供一种策略命中结果的查询装置,包括:
获取模块,用于在查询已过滤的数据包对包过滤策略的命中结果时,获取所述包过滤策略的标识信息;
映射模块,用于根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
读取模块,用于根据所述指示对象,读取所述第二存储结构的各存储结点存储的命中结果;所述命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。
根据本申请的第五方面,提供一种计算机设备,包括:
处理器;
存储处理器可执行指令的存储器;
其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如上所述方法中的操作。
根据本申请的第六方面,提供一个或多个机器可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得处理器执行如上所述方法中的操作。
实施本申请实施例提供的存储方法,可以针对包过滤过程中有数据包命中包过滤策略的情况,获取命中包过滤策略的数据包的源地址以及被命中的包过滤策略的标识信息,再根据标识信息,映射出共用结点的第一存储结构与第二存储结构中的共用结点,该共用结点是第一存储结构中与被命中的包过滤策略对应的存储结点,同时也是第二存储结构的第一个结点,存储有指向第二存储结构的下一存储结点的指向对象,根据该指向对象与命中包过滤策略的数据包的源地址,可以查询第二存储结构中是否存在与所述源地址对应的存储结点;如果存在,对所述源地址对应的存储结点中的命中计数进行更新。
由于第二存储结构中存在与命中包过滤策略的数据包的源地址对应的存储结点,且更新后存储有所述源地址发出的数据包命中所述包过滤策略的最新次数,即最新命中计数,所以,本申请实施例可以针对包过滤过程,在第二存储结构对应各源地址的存储结点,直接更新存储各源地址发出的数据包对命中的包过滤策略的最新命中计数,以及源地址或其对应信息。不是以日志形式记录数据包对包过滤策略的命中,能快速有效地存储各源地址发出的数据包对各包过滤策略的命中情况。后续需要查询各源地址发出的数据包对包过滤策略的命中情况时,无需繁复的逐条统计操作,可以快速查出各源地址发出的数据包对各包过滤策略的命中情况。
而且,第一存储结构与第二存储结构相对于会话日志或包过滤日志,不受会话老化时间与包过滤日志的日志上限影响,相对能保存更多数据包对更多包过滤策略的命中情况,能有效降低遗漏部分源地址的数据包对部分包过滤策略的命中计数的情况,进而有助于相关技术分析哪些合法设备命中了包过滤策略,或者哪些非法设备命中了包过滤策略,并基于此控制局域网内的设备对外网的访问行,降低局域网内设备的安全隐患。
再者,如果本申请实施例提供的存储方法应用在数据包转发设备上,基于共用结点的第一存储结构与第二存储结构,可以在快速有效地存储各源地址发出的数据包对各包过滤策略的命中情况的同时,减少查询存储位置带来的性能损耗,不影响设备对数据包的过滤与转发效率。
此外,实际查询各源地址发出的数据包对包过滤策略的命中情况时,本申请实施例提供的查询方法,基于共用结点的第一存储结构与第二存储结构,能够根据需查询命中情况的包过滤策略的标识信息,映射出第一存储结构中与所述包过滤策略对应的存储结点;该存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;再根据所述指示对象,可以读取所述第二存储结构的各存储结点存储的命中结果;该命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。所以,本申请根据包过滤策略的标识信息,即可以映射出第一存储结构中对应的结点,并鉴于该结点是第二存储结构的第一个结点,可以通过其存储的指示对象查遍第二存储结构的所有存储结点,从中读取出命中需查询的包过滤策略的数据包的源地址,及各源地址发出的数据高对该包过滤策略的命中次数。整个查询过程无需繁复的逐条统计操作,可以快速查出各源地址发出的数据包对各包过滤策略的命中情况,有效减少了查询过程的性能消耗,进而能提高所应用的设备的运行效率。
进而,有助于相关技术更高效地分析出哪些合法设备命中了包过滤策略,或者哪些非法设备命中了包过滤策略,并基于此控制局域网内的设备对外网的访问行为,降低局域网内设备的安全隐患。
附图说明
图1是本申请一示例性实施例示出的网络环境的示意图;
图2A是本申请一示例性实施例示出的策略命中结果的存储方法的示意图;
图2B是本申请一示例性实施例示出的存储结构的示意图;
图2C是本申请另一示例性实施例示出的存储结构的示意图;
图2D是本申请另一示例性实施例示出的存储结构的示意图;
图3是本申请另一示例性实施例示出的策略命中结果的存储方法的示意图;
图4是本申请一示例性实施例示出的策略命中结果的查找方法的示意图;
图5是本申请一示例性实施例示出的策略命中结果的存储装置的框图;
图6是本申请一示例性实施例示出的策略命中结果的查找装置的框图;
图7是本申请一示例性实施例示出的计算机设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例涉及的策略命中结果的存储方法,在某些场景下,可以应用于图1所示网络环境中。该网络环境中的设备可以作为实现本申请的策略命中结果的存储方法的系统中的设备。
图1所示网络环境包括局域网110与外网120。局域网110可以包括用户终端112a、用户终端112b、用户终端112c,还可以包括连接外网120内设备与局域网110内用户终端112a-112c或其他设备的网络连接设备111;外网120可以包括服务器121,局域网110内的用户终端112a-112c可以通过网络连接设备111与外网120内服务器121连接。
其中,服务器121可以是应用服务器、数据库服务器、共享服务器等等。相应的,用户终端112a-112c可以为需要与服务器121交互的用户端设备,如智能手机、手提电脑、台式电脑、平板电脑、个人数字助理(PDA)、智能交互平板等计算机设备中的至少一种。
网络连接设备111,用于实现用户终端112a-112c与服务器121间互连,为了局域网110内设备的安全,可以是部署有包过滤应用或系统的网关、路由器、交换机或者其他的网络互连设备。这里提到的包过滤应用或系统可以是包过滤防火墙或包过滤防火墙包含的包过滤器。
其中,服务器121与任一用户终端112a、112b或112c间的通话,由源地址(如IP地址)、源端口、目的地址(如IP地址)、目的端口、通信协议组成的五元组作为其唯一标识。为了统计方便,先通过网络连接设备111的一方标记为正向(请求),后通过网络连接设备111的一方标记为反向(应答)。本申请实施例中,服务器121与任一用户终端112a、112b或112c的一次通话被称为一会话。
为了局域网110内的设备安全,可以通过网络连接设备111内部署的包过滤应用或系统,对局域网110内的设备如果向外网120发送数据包,需要通过包过滤应用或系统的包过滤后,允许发送才能向外网120发送。
实际包过滤时,在网络层截获用户终端112a-112c发出的数据包,根据配置的各条包过滤策略,对数据包进行分析与选择。具体分析与选择时,通过对比配置的各条包过滤策略与数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项,来确定是否允许该数据包通过网络连接设备111。
实际是否通过,需要根据具体的包过滤策略来决定。一例子中,包过滤策略包括允许通过的数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项,如果数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项与包过滤策略匹配(如一致),则允许通过,不匹配(如不一致),则不允许通过。
其中,判断数据包与各包过滤策略是否匹配时,可以采用决策树算法,将预配置的所有包过滤策略组成决策树,通过决策树比对各条包过滤策略与数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项。
如果用户修改任何一条包过滤策略,可以将修改后的包过滤策略与未修改的包过滤策略重新组成新的决策树,判断数据包与各包过滤策略是否匹配时,可以采用决策树算法,通过最新决策树比对各条包过滤策略与数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项。
另一例子中,包过滤策略包括不被允许通过的数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项,如果数据包的源地址(如源IP地址)、目的地址(如目的IP地址)、源端口号、目的端口号、协议类型等因素中的一项或多项与包过滤策略匹配(如一致),则不允许通过,不匹配(如不一致),则允许通过。匹配的方式可以参照前述实施例,在此不再赘述。
针对以上例子,如果包过滤后,某数据包与某条包过滤策略匹配,则称作该数据包命中该包过滤策略。
过滤数据包后,为便于后续控制局域网110内设备对外网的访问行为,可以通过包过滤日志或会话日志记录:包过滤过程中有哪些数据包命中了哪些包过滤策略。
可是,包过滤日志或会话日志只是按日志形式进行记录,为局域网110内设备对外网的访问行为,需要查询某条包过滤策略的命中情况时,只能逐条查看包过滤日志或会话日志,从中挑选出涉及某条包过滤策略的命中情况的日志,然后再统计命中该条包过滤策略的每个数据包的源地址,以及该原地址发出的数据包对该条包过滤策略的命中次数,这样的操作繁复且耗时。有鉴于此,本申请实施例提出了一种策略命中结果的存储方法。
该存储方法为了避免繁复的逐条统计操作,同时快速存储各数据包对各包过滤策略的命中情况,可以预设共用结点的第一存储结构与第二存储结构,其中,有多少条包过滤策略,即有多少个第二存储结构,一个第二存储结构对应一条包过滤策略,一个第二存储结构中的各存储结点(除第一个结点外),用于存储各源地址发出的数据包对该第二存储结构对应的包过滤策略的命中计数,一个存储结点可以对应至少一个源地址。某些例子中,为了体现第二存储结构中的存储结点与数据包的源地址间的对应关系,每个存储结点可以存储有其对应的源地址。
第一存储结构与每个第二存储结构共用的结点,为该第二存储结构的第一个结点(物理上的),因此,第一存储结构包括各个第二存储结构的第一个结点,各个第二存储结构的第个一结点的数据域存有指向各第二存储结构的下一存储结点的指向对象。
基于上述第一存储结构与第二存储结构,本申请实施例提供的存储方法,可以在网络连接设备111实施的包过滤过程中有数据包命中包过滤策略时,获取命中包过滤策略的数据包的源地址以及被命中的包过滤策略的标识信息,再根据标识信息,映射出共用结点的第一存储结构与第二存储结构中的共用结点,根据该共用节点内指向对象与命中包过滤策略的数据包的源地址,可以查询第二存储结构中是否存在与所述源地址对应的存储结点;如果存在,对所述源地址对应的存储结点中的命中计数进行更新。
该更新直接得出各源地址发出的数据包对命中的包过滤策略的最新命中计数,以及源地址或其对应信息。不是以日志形式记录数据包对包过滤策略的命中,能快速有效地存储各源地址发出的数据包对各包过滤策略的命中情况。后续需要查询各源地址发出的数据包对包过滤策略的命中情况时,无需繁复的逐条统计操作,可以快速查出各源地址发出的数据包对各包过滤策略的命中情况。
本申请实施例提供的查询方法,可以应用于图1所示网络环境中的网络连接设备111,也可以应用于图1所示网络环境中的任一用户终端112a、112b或112c,或者其他与网络连接设备111关联的计算机设备。
实际需要查询各源地址发出的数据包对包过滤策略的命中情况时,本申请实施例提供的查询方法,基于共用结点的第一存储结构与第二存储结构,能够根据需查询命中情况的包过滤策略的标识信息,映射出第一存储结构中与所述包过滤策略对应的存储结点;再根据该存储节点存储的指示对象,可以读取所述第二存储结构的各存储结点存储的命中结果;该命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。所以,本申请根据包过滤策略的标识信息,即可以映射出第一存储结构中对应的结点,并鉴于该结点是第二存储结构的第一个结点,可以通过其存储的指示对象查遍第二存储结构的所有存储结点,从中读取出命中需查询的包过滤策略的数据包的源地址,及各源地址发出的数据高对该包过滤策略的命中次数。整个查询过程无需繁复的逐条统计操作,可以快速查出各源地址发出的数据包对各包过滤策略的命中情况,有效减少了查询过程的性能消耗,进而能提高所应用的设备的运行效率。
进而,有助于相关技术更高效地分析出哪些合法设备命中了包过滤策略,或者哪些非法设备命中了包过滤策略,并基于此控制局域网内的设备对外网的访问行为,降低局域网内设备的安全隐患。
本申请实施例涉及的策略命中结果的存储/查询方法,可以应用的网络环境并不局限于图1所示的网络环境,在其他场景下,也可以根据实际需求应用于其他网络环境。
以下结合附图,详述下本申请实施例的策略命中结果的存储方法的实现过程:
如图2A所示,本申请的策略命中结果的存储方法可以应用于计算机设备,包括如下步骤S201-S204:
步骤S201、当数据包命中包过滤策略时,获取所述数据包的源地址及所述包过滤策略的标识信息。
步骤S202、根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象。
步骤S203、根据所述指向对象与所述源地址,查询所述第二存储结构中是否存在与所述源地址对应的存储结点。
步骤S204、如果存在,对所述源地址对应的存储结点中的命中计数进行更新;所述命中计数表示所述源地址发出的数据包命中所述包过滤策略的次数。
本申请实施例应用的计算机设备,可以是图1所示网络环境中的网络连接设备111,也可以是图1所示网络环境中的任一用户终端112a、112b或112c,或者其他与网络连接设备111关联的计算机设备。在其他场景下,本申请实施例应用的计算机设备还可以为其他设备,本申请实施例对此不做限制。
实际应用中,为了便于后续在控制局域网内设备对外网的访问行为的同时,需要查询各条包过滤策略的命中情况时避免繁复的逐条统计操作,本申请实施例,可以针对局域网中网络连接设备针对网中其他设备向外网发送的数据包,进行包过滤的情况,有数据包命中包过滤策略时,更新该数据包的源地址发出的数据包对该包过滤策略的命中计数及该源地址。
为更新上述命中计数及源地址,本申请实施例可以从网络连接设备的包过滤应用或系统,获取被命中的包过滤策略的标识信息及命中包过滤策略的数据包的源地址,或获取便于获取包过滤策略的标识信息及数据包的源地址的辅助信息,进而根据辅助信息获取标识信息与源地址。这提到的标识信息用于唯一表示每条包过滤策略,可以是策略ID,根据实际的应用或场景需求设定为数字编号、字符串或其他;源地址可以为IP地址,如IPV4地址,具体的源地址形式,可以根据实际的应用场景决定;辅助信息可以是标识信息与源地址的存储位置。
之后,为了避免繁复的逐条统计操作的同时,快速存储各数据包对各包过滤策略的命中情况,本申请实施例可以预设共用结点的第一存储结构与第二存储结构,并预定包过滤策略的标识信息与其在第一存储结构中对应的存储结点间映射关系。有鉴于此,根据包过滤策略的标识可以映射出该存储结点,即预设的第一存储结构与第二存储结构的共用结点。这里提到的存储结点指的是存储数据的一块区域,对应一个存储地址。
其中,预设的第一存储结构与第二存储结构,可以如前述图1涉及的实施例所述:第二存储结构用于描述已过滤的数据包对其对应的包过滤策略的命中结果,每个存储结点存储至少一对应的源地址、及每个对应的源地址对该对应的包过滤策略的命中计数。第一存储结构用于存储第二存储结构物理上的第一个结点,该第一个结点存储有指向其所在第二存储结构中下一存储结点的指示对象。
不过,第一存储结构与第二存储结构的具体形式,可以根据实际的应用需求设定,如:第一存储结构可以是数组、链表或其他形式的存储结构,第二存储结构可以是数组、链表、树形结构或其他形式的存储结构。本申请实施例在满足前述对第一存储结构与第二存储结构的特性要求的前提下,可以根据实际的应用需求选择适当的存储结构。以下介绍几种:
第一种,为便于后续需要连续查询各包过滤策略的命中情况下,映射出一个共用结点后,快速查询其他共用结点,第一存储结构可以采用数组的形式。如图2B所示,第一存储结构210为数组,包括多个存储结点,如图2B中策略B1、策略B2、策略B3等等,其中,策略B1、B2、B3等,可以为各自对应的那条包过滤策略的标识信息。
第一存储结构210中策略B1、策略B2、策略B3等存储结点,同时也是描述对应策略的命中情况的第二存储结构221、222、223等的第一个结点,其中,存储结点策略B1为第二存储结构221的第一个结点,存储结点策略B2为第二存储结构222的第一个结点,存储结点策略B3为第二存储结构223的第一个结点。
第二存储结构221、222或223,除包括第一个结点外,可以包括与各源地址对应的一个或多个存储结点,一个存储结点可以对应至少一源地址,如图2B所示,第二存储结构221的一个存储结点对应一源地址,包括分别对应源地址P11、P12等的存储结点P11、P12等;第二存储结构222的一个存储结点对应一源地址,包括分别对应源地址P21、P22等的存储结点P21、P22等;第二存储结构223的一个存储结点对应一源地址,包括分别对应源地址P31、P32等的存储结点P31、P32等。
为便于后续更新各源地址发出的数据包对相应包过滤策略的命中情况,每个第二存储结构的第一个结点可以存储有指示其下一存储结点的指示对象,该指示对象的具体形式和存储位置可以由第二存储结构的具体结构类型决定。
比如,第二存储结构221、222、223等可以分别为数组、链表、树形结构或其他形式的存储结构,指示对象相应可以为数组的下标、链表的头指针、树形结构的根节点等,头指针可以存储于共用结点的数据域。而第二存储结构的具体结构类型,也可以根据实际的应用场景或需求设定。
一例子中,有连续的存储空间,为便于连续查询,第二存储结构可以为数组。另一例子中,没有连续的存储空间,第二存储结构可以为链表、树形结构等。在第二存储结构为链表时,为方便查询,第二存储结构可以为双向链表。
第二种,没有连续的存储空间的情况下,为便于后续需要连续查询各包过滤策略的命中情况时,快速映射出一个共用结点,第一存储结构可以为链表,进而,为了进一步提高映射速度,第一存储结构可以为哈希链表。
如图2C所示,第二存储结构310为哈希链表,其存储单元311至31n等,包括数组下标部分,如图2C中下标1至n,该下标部分可以为包过滤策略的标识信息的哈希值,可以通过公式hash(key)%(len-1),获得哈希值,元素key表示标识信息。在其他实施例中也可以采用其他哈希算法,在此不做赘述。
相应的,在映射共用结点时,可以通过以下操作映射:
计算所述标识信息的哈希值;
根据所述哈希值,查找所述哈希链表内与所述包过滤策略对应的存储结点。
查找时,可以查找对应的数组下标为哈希值的存储结点。在其他实施例中,也可以根据预定的映射关系,参照标识信息去映射查找。
另外,图2C所示的第二存储结构310,还包括与对应包过滤策略对应的存储结点,如图2C中策略B1至Bn,其中,n为大于或等于2的正整数。
第一存储结构310的存储结点策略B1至Bn等,同时也是描述对应策略的命中情况的第二存储结构321、32n等的第一个结点,其中,存储结点策略B1为第二存储结构321的第一个结点,存储结点策略Bn为第二存储结构32n的第一个结点。
第二存储结构321、32n等,除包括第一个结点外,可以包括与各源地址对应的一个或多个存储结点,一个存储结点可以对应至少一源地址,如图2C所示,第二存储结构321的一个存储结点对应一源地址,包括分别对应源地址P11、P12等的存储结点P11、P12等;第二存储结构32n的一个存储结点对应一源地址,包括分别对应源地址Pn1、Pn2等的存储结点Pn1、Pn2等。
另外,第二存储结构321、32n等的具体结构形式可以参照前述实施例,在此不再赘述,图2C中为便于示例,以链表为例进行示例说明。
第三种,包过滤策略的条数较多时,如果第一存储结构为哈希链表,易出现哈希冲突,为降低哈希冲突,第一存储结构的一个存储结点可以对应至少两条包过滤策略。
如图2D所示,第二存储结构410为哈希链表,包括多个存储单元,图2D中仅示出一个存储单元411,包括数组下标部分,如图2D中下标1,该下标部分可以为包过滤策略B1的标识信息的哈希值,同时为包过滤策略B2的标识信息的哈希值。
存储单元411还包括与对应包过滤策略对应的存储结点,如图2D中存储单元411中对应策略B1与B2的存储结点411a,同时也分别是描述对应包过滤策略的命中情况的第二存储结构421与422等的第一个结点,其中,包过滤策略B1对应的部分为第二存储结构421的第一个结点,包过滤策略B2对应的部分为第二存储结构422的第一个结点。
第二存储结构421、412,除包括第一个结点外,可以包括与各源地址对应的一个或多个存储结点,一个存储结点可以对应至少一源地址,如图2D所示,第二存储结构421的一个存储结点对应一源地址,包括分别对应源地址P11、P12等的存储结点P11、P12等;第二存储结构422的一个存储结点对应一源地址,包括分别对应源地址Pn1、Pn2等的存储结点Pn1、Pn2等。
另外,第二存储结构421、422等的具体结构形式可以参照前述实施例,在此不再赘述,图2D中为便于示例,以链表为例进行示例说明。
由上述实施例示出的第一存储结构与第二存储结构,可以看出:本申请实施例,根据第二存储结构的第一个结点内的指向对象,可以查询第二存储机构的各个存储结点,具体的查询方式与第二存储结构的结构形式有关,如:第二存储结构为链表,可以顺次根据各存储结点的指针查找任一存储结点,查到各存储结点后,可以判断查找到的存储结点与所述源地址是否对应。一例子中,可以查看存储结点的数据域是否存储所述源地址或所述源地址的唯一标识。
查找到对应源地址的存储结点后,即可以对所述源地址对应的存储结点中的命中计数进行更新,实际更新时,可以根据包过滤过程中数据包对相应包过滤策略的命中情况进行更新,例如:本次有源地址PA的一个数据包命中包过滤策略BA,则将查找到的存储结点的命中计数加1,本次有源地址PA的三个数据包命中包过滤策略BA,则将查找到的存储结点的命中计数加3,其他更新方式可以参照相关技术,在此不再赘述。
上述查找到对应源地址的存储结点的前提是初始创建第二存储结构时,预测了可能命中对应的包过滤策略的数据包的源地址,同时预创建了对应预测的源地址的存储结点,或者是,之前已根据历史数据包对第二存储结构对应的包过滤策略的命中情况,创建了对应的存储结点,并更新过命中计数。
如果前述前提没有发生,本申请实施例可能查找不到对应源地址的存储结点,针对这种情况,本申请实施例的具体实现过程可以参见图3,图3所示策略命中结果的存储方法可以应用于计算机设备,包括如下步骤S301-S307:
步骤S301、当数据包命中包过滤策略时,获取所述数据包的源地址及所述包过滤策略的标识信息。
步骤S302、根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象。
步骤S303、根据所述指向对象与所述源地址,查询所述第二存储结构中是否存在与所述源地址对应的存储结点。
步骤S304、如果存在,对所述源地址对应的存储结点中的命中计数进行更新;所述命中计数表示所述源地址发出的数据包命中所述包过滤策略的次数。
步骤S305、为所述第二存储结构创建与所述源地址对应的存储结点。
步骤S306、将指向所创建的存储结点的指向对象,存储至所创建的存储结点的上一存储结点。
步骤S307、将所述源地址发出的数据包对所述包过滤策略的命中计数及所述源地址,存储至所创建的存储结点。
本申请实施例应用的计算机设备,可以是图1所示网络环境中的网络连接设备111,也可以是图1所示网络环境中的任一用户终端112a、112b或112c,或者其他与网络连接设备111关联的计算机设备。在其他场景下,本申请实施例应用的计算机设备还可以为其他设备,本申请实施例对此不做限制。
其中,步骤301至步骤304涉及的技术内容,可以参见前述图1至图2D涉及的实施例中的技术内容,在此不再赘述。
对于步骤S305,为所述第二存储结构创建与所述源地址对应的存储结点的具体操作,可以由第二存储结构的具体形式决定,例如:第二存储结构为数组,则可以按照数组的各存储结点的存储位置,申请连续接续的存储位置,作为新创建的存储结点。
再例如:第二存储结构为链表,可以直接请求新的存储地址,无论是否连续,生成指向该存储地址的指针,存储至上一存储结点即可。
不过考虑到,某些局域网内设备的地址较多,频繁向内存请求分配存储区域,可能影响存储效率,本申请实施例可以预先创建内存池,将指向该内存池的指向对象存储至第二存储结构的至少一个结点,当需要创建新的存储结点时,可以根据指向内存池的指向对象,向内存池申请新的存储区域,生成指向该新的存储区域的指向对象,存储至上一存储结点。
一例子中,减少申请内存的性能损耗的同时,节省内存,内存池的大小比统计的所有源地址所占的内存略小。如果内存池空间不够时,可以动态申请内存加入到内存池。
创建好与源地址对应的存储结点后,如果第二存储结构为数组,参照前一个数据结点,设置新创建的存储结点的下标,至于指向所创建的存储结点的指向对象,为前一存储结点的存储地址,已预先存储在所创建的存储结点的上一存储结点。
如果第二存储结构为链表或其他存储结构,将指向所创建的存储结点的指向对象,存储至上一存储结点。
对于步骤S307、将所述源地址发出的数据包对所述包过滤策略的命中计数及所述源地址,存储至所创建的存储结点,也可以参照前述图1至图2D涉及的实施例,在此不再赘述。
此外,本申请实施例除包括图2A或图3涉及的实施例的步骤外,还可以针对其他情况,包括其他步骤。以下介绍几种情况:
一种情况下,在预设第一存储结构与第二存储结构后,某条包过滤策略被修改,可以针对该修改对第一存储结构与第二存储结构做相应处理:
如果删除某条包过滤策略,清除对应第二数据结构中命中该条包过滤策略各源地址,及各原地址发出的数据包对该条包过滤策略的命中计数。不过该条包过滤策略在第一存储结构中的存储结点不删除,仍对应原来的标识信息,第二存储结构占用内存归还给内存池。如果第一存储结构为哈希链表,则第二存储结构中未删除的存储结点作为哈希桶被使用。
另一种情况下,考虑到包过滤日志的中每条会话有老化时间,包过滤日志的日志条数最大为100条,如果某条会话老化后,无法通过会话日志查看该条会话中记录的包过滤信息,如果包过滤日志超过1000条,不能继续记录新的日志。
进而,导致包过滤日志与会话日志易遗漏不同源地址的数据包对各包过滤策略的命中信息的现象。本申请实施例,可以针对所有源地址的数目及包过滤策略的条数,预设能尽可能存储较多命中结果的存储结构。如:第一存储结构可以包括N个存储结点;第二存储结构也可以包括M个存储结点。M可以根据实际需求设定,如均设置为1000。以下介绍一个具体例子:
如源地址为IPV4地址,局域网内IPv4地址个数为4G个,考虑到设备内存的大小限制,可以将第一存储结构设为哈希链表,包括对应100000条包过滤策略的100000个存储结点,再考虑每个第二存储结构不可能记录4G个IPV4地址对相应包过滤策略的命中结果,每个第二存储结构可以包括对应1000个存储地址的存储结点,一个存储结点对应一个存储地址。
这样可以记录100000*1000个源地址发出的数据包对包过滤策略的命中情况。
进一步地,哈希链表的初始化可以在包过滤模块初始化时进行,可以减少报文转发过程中的性能损耗,提高报文转发性能。
更进一步地,如果第二存储结点要记录第M+1个存储结点时,可以预先在各存储结点记录其创建时间,剔除掉第二存储结构中创建时间早的存储结点。
由上述实施例可知,本申请实施例可以针对包过滤过程,在第二存储结构对应各源地址的存储结点,直接更新存储各源地址发出的数据包对命中的包过滤策略的最新命中计数,以及源地址或其对应信息。不是以日志形式记录数据包对包过滤策略的命中,能快速有效地存储各源地址发出的数据包对各包过滤策略的命中情况。后续需要查询各源地址发出的数据包对包过滤策略的命中情况时,无需繁复的逐条统计操作,可以快速查出各源地址发出的数据包对各包过滤策略的命中情况。
以下介绍下,需要查询各源地址发出的数据包对包过滤策略的命中情况时,采用的本申请实施例的策略命中结果的查询方法:
如图4所示,本申请的策略命中结果的查询方法,可以应用于计算机设备,包括如下步骤S401-S403:
步骤S401、在查询已过滤的数据包对包过滤策略的命中结果时,获取所述包过滤策略的标识信息。
步骤S402、根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象。
步骤S403、根据所述指示对象,读取所述第二存储结构的各存储结点存储的命中结果;所述命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。
本申请实施例应用的计算机设备,可以是图1所示网络环境中的网络连接设备111,也可以是图1所示网络环境中的任一用户终端112a、112b或112c,或者其他与网络连接设备111关联的计算机设备。在其他场景下,本申请实施例应用的计算机设备还可以为其他设备,本申请实施例对此不做限制。
本申请实施例涉及的步骤S401至S402,与图1至图3涉及的实施例中的技术内容相应,在此不再赘述。另外,某些情况下,本申请实施例的方法还可以包括图1至图3涉及的实施例中的其他步骤,在此不再赘述。
对于步骤S403,根据所述指示对象,读取所述第二存储结构的各存储结点存储的命中结果,可以参照前述实施例中涉及的第二存储结构的具体结构形式进行读取。如为链表,可以根据指针域的指针查找各存储结点,然后读取各存储结点的数据域的数据,得到命中结果。
由上述实施例可知,本申请实施例提供的查询方法,基于共用结点的第一存储结构与第二存储结构,能够根据需查询命中情况的包过滤策略的标识信息,映射出第一存储结构中与所述包过滤策略对应的存储结点;该存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;再根据所述指示对象,可以读取所述第二存储结构的各存储结点存储的命中结果;该命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。所以,本申请根据包过滤策略的标识信息,即可以映射出第一存储结构中对应的结点,并鉴于该结点是第二存储结构的第一个结点,可以通过其存储的指示对象查遍第二存储结构的所有存储结点,从中读取出命中需查询的包过滤策略的数据包的源地址,及各源地址发出的数据高对该包过滤策略的命中次数。整个查询过程无需繁复的逐条统计操作,可以快速查出各源地址发出的数据包对各包过滤策略的命中情况,有效减少了查询过程的性能消耗,进而能提高所应用的设备的运行效率。
进而,有助于相关技术更高效地分析出哪些合法设备命中了包过滤策略,或者哪些非法设备命中了包过滤策略,并基于此控制局域网内的设备对外网的访问行为,降低局域网内设备的安全隐患。
另外,本申请实施例的策略命中结果的存储/查询方法涉及的步骤,也可以视实际的应用场景需求,循环执行。
与前述方法的实施例相对应,本申请还提供了装置的实施例。
参见图5,图5是本申请一示例性实施例示出的策略命中结果的存储装置的框图,该策略命中结果的存储装置,可以应用于计算机设备,包括:获取模块510、映射模块520、确认模块530与更新模块540。
其中,获取模块510,用于在数据包命中包过滤策略时,获取所述数据包的源地址及所述包过滤策略的标识信息。
映射模块520,用于根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象。
确认模块530,用于根据所述指向对象与所述源地址,查询所述第二存储结构中是否存在与所述源地址对应的存储结点。
更新模块540,用于在所述第二存储结构中存在与所述源地址对应的存储结点时,对所述源地址对应的存储结点中的命中计数进行更新;所述命中计数表示所述源地址发出的数据包命中所述包过滤策略的次数。
本装置实施例涉及的技术内容与前述方法实施例涉及的技术内容相应,在此不再赘述。
一例子中,所述第二存储结构为链表或树形结构,所述指向对象为头指针或树的根节点。
另一例子中,所述第一存储结构为哈希链表,所述哈希链表的一个存储结点对应至少一条包过滤策略;映射模块520还可以被配置为:
计算所述标识信息的哈希值;
根据所述哈希值,查找所述哈希链表内与所述包过滤策略对应的存储结点。
另一例子中,本实施例的策略命中结果的存储装置还可以包括:
结点创建模块,用于在第二存储结构内不存在与所述源地址对应的存储结点时,为所述第二存储结构创建与所述源地址对应的存储结点;
第一存储模块,用于将指向所创建的存储结点的指向对象,存储至所创建的存储结点的上一存储结点;
第二存储模块,用于将所述源地址发出的数据包对所述包过滤策略的命中计数及所述源地址,存储至所创建的存储结点。
另一例子中,所述第一存储结构包括100000个存储结点;所述第二存储结构包括1000个存储结点。
参见图6,图6是本申请一示例性实施例示出的策略命中结果的查询装置的框图,该策略命中结果的查询装置,可以应用于计算机设备,包括:获取模块610、映射模块620与读取模块630。
其中,获取模块610,用于在查询已过滤的数据包对包过滤策略的命中结果时,获取所述包过滤策略的标识信息。
映射模块620,用于根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象。
读取模块630,用于根据所述指示对象,读取所述第二存储结构的各存储结点存储的命中结果;所述命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。
本装置实施例涉及的技术内容与前述方法与装置实施例涉及的技术内容相应,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理单元或模块,即可以位于一个地方,或者也可以分布到多个网络单元或模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请策略命中结果的存储/查询装置的实施例可以应用在计算机设备上。具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现中,计算机设备为计算机,计算机的具体形式可以是路由器、交换机、网关、网桥、个人计算机、手提电脑、台式电脑、平板电脑、个人数字助理(PDA)、移动终端设备、游戏设备、邮件收发设备、导航设备、智能家居设备等计算机设备中的至少一种或几种的组合。
装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在计算机设备的处理器将非易失性存储器等可读存储介质中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请策略命中结果的存储/查询装置所在计算机设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算机设备通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。其中,内存和非易失性存储器是计算机可读的存储器,计算机设备的存储器可以存储处理器可执行的程序指令;处理器可以耦合存储器,用于读取所述存储介质存储的程序指令,并作为响应,执行以上任一实施例中策略命中结果的存储/查询方法中的操作。
在其他实施例中,处理器所执行的操作可以参考以上所述策略命中结果的存储/查询方法的实施例中相关的描述,在此不予赘述。
此外,本申请实施例还提供一种机器可读存储介质(计算机设备的存储器),所述可读存储介质中存储有程序指令,所述程序指令包括以上所述策略命中结果的存储/查询方法的各步骤对应的指令。当由一个或多个处理器执行时,使得计算机设备执行以上所述策略命中结果的存储/查询方法中的操作。
本申请实施例可采用在一个或多个其中包含有程序代码的可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种策略命中结果的存储方法,其特征在于,包括步骤:
当数据包命中包过滤策略时,获取所述数据包的源地址及所述包过滤策略的标识信息;
根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
根据所述指向对象与所述源地址,查询所述第二存储结构中是否存在与所述源地址对应的存储结点;
如果存在,对所述源地址对应的存储结点中的命中计数进行更新;所述命中计数表示所述源地址发出的数据包命中所述包过滤策略的次数。
2.根据权利要求1所述的方法,其特征在于,所述第二存储结构为链表或树形结构,所述指向对象为头指针或树的根节点。
3.根据权利要求1所述的方法,其特征在于,所述第一存储结构为哈希链表,所述哈希链表的一个存储结点对应至少一条包过滤策略;根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点,包括:
计算所述标识信息的哈希值;
根据所述哈希值,查找所述哈希链表内与所述包过滤策略对应的存储结点。
4.根据权利要求1所述的方法,其特征在于,如果不存在,所述方法还包括以下步骤:
为所述第二存储结构创建与所述源地址对应的存储结点;
将指向所创建的存储结点的指向对象,存储至所创建的存储结点的上一存储结点;
将所述源地址发出的数据包对所述包过滤策略的命中计数及所述源地址,存储至所创建的存储结点。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一存储结构包括100000个存储结点;所述第二存储结构包括1000个存储结点。
6.一种策略命中结果的查询方法,其特征在于,包括步骤:
在查询已过滤的数据包对包过滤策略的命中结果时,获取所述包过滤策略的标识信息;
根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
根据所述指示对象,读取所述第二存储结构的各存储结点存储的命中结果;所述命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。
7.一种策略命中结果的存储装置,其特征在于,包括:
获取模块,用于在数据包命中包过滤策略时,获取所述数据包的源地址及所述包过滤策略的标识信息;
映射模块,用于根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
确认模块,用于根据所述指向对象与所述源地址,查询所述第二存储结构中是否存在与所述源地址对应的存储结点;
更新模块,用于在所述第二存储结构中存在与所述源地址对应的存储结点时,对所述源地址对应的存储结点中的命中计数进行更新;所述命中计数表示所述源地址发出的数据包命中所述包过滤策略的次数。
8.一种策略命中结果的查询装置,其特征在于,包括:
获取模块,用于在查询已过滤的数据包对包过滤策略的命中结果时,获取所述包过滤策略的标识信息;
映射模块,用于根据所述标识信息,映射出预定的第一存储结构中与所述包过滤策略对应的存储结点;所述存储结点也是预定的第二存储结构的第一个结点,其存有指向所述第二存储结构的下一存储结点的指向对象;
读取模块,用于根据所述指示对象,读取所述第二存储结构的各存储结点存储的命中结果;所述命中结果包括命中所述包过滤策略的数据包的源地址,以及所述源地址发出的数据包对所述包过滤策略的命中计数。
9.一种计算机设备,其特征在于,包括:
处理器;
存储处理器可执行指令的存储器;
其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如权利要求1-6中任一项所述方法中的操作。
10.一个或多个机器可读存储介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得处理器执行如权利要求1-6中任一项所述方法中的操作。
CN201811638709.9A 2018-12-29 2018-12-29 策略命中结果的存储、查询方法与装置、设备及介质 Pending CN109714347A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811638709.9A CN109714347A (zh) 2018-12-29 2018-12-29 策略命中结果的存储、查询方法与装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811638709.9A CN109714347A (zh) 2018-12-29 2018-12-29 策略命中结果的存储、查询方法与装置、设备及介质

Publications (1)

Publication Number Publication Date
CN109714347A true CN109714347A (zh) 2019-05-03

Family

ID=66260105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811638709.9A Pending CN109714347A (zh) 2018-12-29 2018-12-29 策略命中结果的存储、查询方法与装置、设备及介质

Country Status (1)

Country Link
CN (1) CN109714347A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163061A (zh) * 2019-12-11 2020-05-15 中盈优创资讯科技有限公司 网关设备的策略信息分析方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090334A (zh) * 2007-05-23 2007-12-19 西安交大捷普网络科技有限公司 一种解决入侵检测系统中海量报警的方法
CN101860531A (zh) * 2010-04-21 2010-10-13 北京星网锐捷网络技术有限公司 数据包过滤规则匹配方法及装置
CN104111958A (zh) * 2013-04-22 2014-10-22 中国移动通信集团山东有限公司 一种数据查询方法及装置
US20160028766A1 (en) * 2014-07-23 2016-01-28 Petabi, Inc. Method for compressing matching automata through common prefixes in regular expressions
CN106302178A (zh) * 2015-05-20 2017-01-04 中兴通讯股份有限公司 一种路由查询方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090334A (zh) * 2007-05-23 2007-12-19 西安交大捷普网络科技有限公司 一种解决入侵检测系统中海量报警的方法
CN101860531A (zh) * 2010-04-21 2010-10-13 北京星网锐捷网络技术有限公司 数据包过滤规则匹配方法及装置
CN104111958A (zh) * 2013-04-22 2014-10-22 中国移动通信集团山东有限公司 一种数据查询方法及装置
US20160028766A1 (en) * 2014-07-23 2016-01-28 Petabi, Inc. Method for compressing matching automata through common prefixes in regular expressions
CN106302178A (zh) * 2015-05-20 2017-01-04 中兴通讯股份有限公司 一种路由查询方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163061A (zh) * 2019-12-11 2020-05-15 中盈优创资讯科技有限公司 网关设备的策略信息分析方法及装置

Similar Documents

Publication Publication Date Title
CN107079060A (zh) 用于运营商级nat优化的系统和方法
EP3661153B1 (en) Building decision tree for packet classification
US20070171911A1 (en) Routing system and method for managing rule entry thereof
US20150229565A1 (en) Techniques for Managing Ternary Content-Addressable Memory (TCAM) Resources in Heterogeneous Systems
CN106664251A (zh) 网络环境中的双向流粘性
JP2005130489A (ja) ルータ用の改良型アクセス制御リスティング機構
WO2016206511A1 (zh) 一种实现nat的方法和装置
CN105939332A (zh) 防御arp攻击报文的方法及装置
CN102737119A (zh) 统一资源定位符的查找方法、过滤方法和相关设备及系统
CN105939284B (zh) 报文控制策略的匹配方法及装置
CN109639758A (zh) 内容中心网络中用户行为隐私的保护方法及装置
CN103270727B (zh) 存储体感知多位特里结构
US9485179B2 (en) Apparatus and method for scalable and flexible table search in a network switch
CN110113333A (zh) 一种tcp/ip协议指纹动态化处理方法及装置
CN106487769B (zh) 一种访问控制列表acl的实现方法及装置
CN110191135B (zh) Acl配置方法、装置、电子设备
US9641611B2 (en) Logical interface encoding
CN111614777A (zh) 一种基于以太坊区块链的跨组织账户手机号码共享方法
US10897483B2 (en) Intrusion detection system for automated determination of IP addresses
CN112468521B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN109714347A (zh) 策略命中结果的存储、查询方法与装置、设备及介质
EP1357722A1 (en) Method for controlling network access for fragments
WO2021017907A1 (zh) 一种优化的微服务间通信的方法及装置
CN105939402A (zh) Mac表项的获取方法及装置
Lo et al. Flow entry conflict detection scheme for software-defined network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190503

RJ01 Rejection of invention patent application after publication