CN104468381A - 一种多域流规则匹配的实现方法 - Google Patents
一种多域流规则匹配的实现方法 Download PDFInfo
- Publication number
- CN104468381A CN104468381A CN201410717284.6A CN201410717284A CN104468381A CN 104468381 A CN104468381 A CN 104468381A CN 201410717284 A CN201410717284 A CN 201410717284A CN 104468381 A CN104468381 A CN 104468381A
- Authority
- CN
- China
- Prior art keywords
- rule
- prefix
- tuple
- hash
- list
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多域流规则匹配的实现方法,涉及高速流分类技术领域。本发明首先根据IP报文数据流的五元组定义对每个元组都建立一个规则表,然后建立一个哈希快速流表,将匹配规则的所有信息添加到规则表中;再进行IP报文数据流匹配,如果找到,则执行相应的动作,否则查找规则表,进行掩码匹配查询。本发明通过改进查询速度快的前缀扩展Trie树,牺牲部分内存空间,采用数据压缩和哈希表相结合的方式,在保证查询速度的前提下,又不会因为大容量的规则库而发生内存爆炸。
Description
技术领域
本发明涉及高速流分类技术、多域掩码匹配技术和多核处理器技术,特别是涉及一种支持多域流规则匹配的实现方法。
背景技术
随着网络带宽的增加以及更多多元化的网络业务分类,基于流的数据包匹配有着更加广泛的用途,许多网络关键技术,例如虚拟专用网(VPN)、基于安全存取列表控制的防火墙、QoS、网络入侵检测监控、网络地址转换、拥塞控制、资源预留、负载平衡、收集统计数据等都是以数据包分类匹配为基础的。万兆网络已经成为了核心网络,为使网络性能得到全面提高,对作为网络基础算法的数据包分类匹配算法的要求越来越高。而传统的包分类匹配算法已无法满足日益增长的网络流量业务需求,发展万兆网络数据流分类算法的良好解决方案越来越受到人们的重视。所以高效率、低冲突率和较小的时间/空间复杂度的数据流分类匹配算法成为应用于万兆网络管理、流量测量技术的一项非常关键的技术。
数据流分类匹配的问题可以视为在多位空间中一个点的定位问题:在k维空间中有N个d维的“长方体”(规则),问题是对于一个给定的点(数据流)如何找出该点位于哪个长方体中。现阶段研究的各种算法具有比较明显的优缺点,算法一旦扩展到大规模甚至超大规模的规则库,并且多域任意掩码匹配,很多分类算法因为方法复杂,规则限制较多,计算繁复,所以导致空间复杂度或者时间复杂度极高,甚至会发生内存爆炸,因此需求一种既要低的时间复杂度又要控制算法的存储占用问题,避免两方面的冲突,采用合理的算法,结合硬件设备优势,从而找到时间复杂度和空间复杂度的一个最佳结合点。
发明内容
本发明的目的在于提供一种支持多域流规则匹配的实现方法,通过改进查询速度快的前缀扩展Trie树,牺牲部分内存空间,采用数据压缩和哈希表相结合的方式,在保证查询速度的前提下,又不会因为大容量的规则库而发生内存爆炸。
本发明提供的一种多域流规则匹配的实现方法,该方法的步骤如下:
第一步,根据IP报文数据流的五元组定义(源/目的IP,源/目的端口,网络协议号),对每个元组都建立一个规则表,共五个规则表。
第二步,建立一个哈希快速流表,用于保存最近一段时间里匹配规则的IP报文数据流的五元组信息及该匹配规则的动作信息,用于IP报文数据流的精确快速匹配。
第三步,添加或更新一条匹配规则时,根据匹配规则中五元组信息在一种可均衡多表间查找性能的表选择策略下选择五张规则表中的其中一张规则表,将匹配规则的所有信息添加到该规则表中。
第四步,在进行IP报文数据流匹配时,先根据IP报文数据流的五元组在哈希快速流表中进行精确查找,如果找到,则执行相应的动作,否则查找规则表,进行掩码匹配查询。
第五步,规则表掩码匹配查询时,依次对五个规则表进行掩码匹配查询,根据一定的优先级策略分别找到最佳匹配规则,然后根据相同的策略再在这些最佳匹配规则中找出最终的匹配规则。
第六步,在规则表中查询到最终的匹配规则后,将IP报文数据流的五元组信息及该最终的匹配规则的动作信息添加到哈希快速流表中。
第七步,哈希快速流表支持老化机制。
第八步,删除一条规则时,采用和添加时一样的查找性能均衡策略找到对应的规则表进行删除。
第一步中所述的建立的五个规则表,规则表的组织结构与查询算法是一致的,也为实现多核芯片多表并行查找提供算法基础。该规则表结构的具体设计原则包括:
(1.1)添加的每条规则只存在于五个规则表中的其中一个。
(1.2)规则表分为两部分,第一部分为基于前缀扩展的深度为1并进行数据压缩的Trie树,因为树的深度为1,树可以简化为数组,数组大小根据前缀扩展策略及元组来确定;第二部分是辅助哈希表。
(1.3)前缀扩展的策略:对于源/目的IP,将前缀长度为1-24的前缀统一扩展为24,前缀长度为25-32不进行前缀扩展;对于源/目的端口,如果是范围匹配,先将范围转换为前缀,将前缀长度都扩展为16。对于网络协议号,如果是范围匹配,先将范围转换为前缀,将前缀长度都扩展为8。
(1.4)由于扩展后存在大量数据冗余,需要进行数据压缩。对于源/目的IP,方法是将扩展后的前缀分割为两部分:前20比特和后4比特,简称20+4,对后4比特代表的前缀(共16个)进行数据压缩后以前20比特的值作为数组的下标添加到数组中。对于源/目的端口类似,分割为12+4,对于网络协议号分割为4+4。
(1.5)Trie树中规则对应的表项包括:规则的五元组掩码信息;系统为该规则分配的唯一MAGIC值;数据压缩用的信息。
(1.6)辅助哈希表保存对应规则表中规则的动作信息,哈希表的查询键值是该规则对五元组进行掩码后的值与该规则MAGIC值组合后进行CRC32计算后取余。辅助哈希表和基于前缀扩展并进行数据压缩的Trie树的联系是规则的五元组掩码信息和MAGIC值。
第二步中所述的建立的哈希快速流表,是为了提高查询速度的一种策略。哈希快速流表的设计依据是流具有时间局部性:在流的第一个数据包到达后较短时间内到达的数据包属于同一流的可能性很大。哈希快速流表的表项保存最近到达的流的五元组信息及匹配到的规则的动作信息。
第三步中所述的采用一种可均衡多表间查找性能的表选择策略下选择五张规则表中的其中一张规则表来进行添加,是为了解决在传统单一表的掩码匹配算法应用于多表情况时,对多个匹配结果进行整合时算法的时间复杂度较高的一种方法。策略实施的具体原则包括:
A.仅在规则要求匹配的元组中选择对应的规则表。如规则只要求匹配目的IP和目的端口(掩码长度非0),其他元组信息任意(掩码长度为0),则策略只会在目的IP和目的端口对应的规则表中选择其中一个表来进行添加。
B.在要求匹配的元组中选择哪个规则表支持以下两种策略:a,随机指定;b,预先设定各元组掩码的权重,根据掩码长度和权重计算后得出最高权值的规则表,将规则添加到该表中。
第三步中所述的添加规则的所有信息到规则表中的具体实施过程:
(3.1)根据选定的元组(源/目的IP或源/目的端口或网络协议号)必要时进行前缀扩展。
(3.2)计算数组下标;计算前缀扩展后的后4比特代表的前缀(共16个)中哪些包含在规则中,将对应的位在数组元素的字段-前缀位图中置1。对于源/目的IP掩码长度大于24时,前缀位图可能出现相同的情况,导致无法区分规则,这里前缀位图的字段存放IP掩码后的后16比特数据。
(3.3)保存所有元组的前缀信息到掩码字段中,分配一个随机MAGIC值给该规则并保存到MAGIC字段中。
(3.4)将元组掩码后与MAGIC值组合,计算哈希键值,将规则对应的动作信息及解决哈希冲突的比较信息添加到辅助哈希表的哈希桶中。
第五步中依次对五个规则表进行掩码匹配查询,并引入优先级策略,是考虑存在没有使用优先级策略的情况下一条流可能匹配多条规则的场景。具体设计原则如下:
(5.1)由于5个规则表中的规则没有重复,流进行匹配规则时需要确保不遗漏匹配所有可能的规则,因此需要依次查询5个规则表,如果是多核处理器的环境,算法还可以方便的改为多核并行查找,提高查询实时响应速度。
(5.2)引入优先级策略,解决找出最佳规则的问题。优先级策略分为默认优先级和用户配置优先级。默认优先级的策略如下:规则中要求匹配的元组数越多优先级越高,在元组数相同的情况下比较元组的掩码长度,比较顺序为目的IP、源IP,目的端口、源端口、网络协议号。用户配置优先级可以提升指定规则的优先级。举例如下:
R1:DIP:10.0.0.1/32;SIP:20.0.0.*/24;其他元组任意,动作:转发
R2:DIP:10.0.0.1/32;SIP:20.0.0.1/32;其他元组任意,动作:丢弃
R3:DIP:10.0.0.*/24;SIP:20.0.0.1/32;其他元组任意,动作:转发
R4:DIP:10.0.0.1/32;其他元组任意,动作:转发
R5:SIP:20.0.0.1/32;其他元组任意,动作:转发
默认情况下规则优先级:R2>R1>R3>R4>R5;
如果用户提高R5的优先级,则优先级顺序变为R2>R1>R3>R5>R4;
第七步中所述的哈希快速流表支持老化机制,设计原则如下:
(7.1)一条流在经过一段时间后停止了,哈希快速流表中对应的项已经没有用,如果不删除,不仅占用空间还会增加哈希冲突概率,因此需要将其老化掉。
(7.2)老化机制采用的策略:利用多核处理器提供的硬件定时器模块可以定时向多核发送自定义超时数据的特性,并且支持大量的标示信息添加和通知。利用该特性,在添加哈希快速流表时,将标示该表项的信息(哈希值和冲突比较值)添加到定时器中,并启动定时,在定时时间到时,定时器会将该标示信息告诉多核处理器,多核处理器根据该信息找到表项进行删除。
附图说明
图1是本发明实施步骤流程图。
图2是本发明设计使用的规则表表项结构。
具体实施方式
现结合附图和实施例对本发明的技术方案作进一步说明。
如图1与图2所示,本发明提供的一种多域流规则匹配的实现方法包括如下步骤:
第一步,根据IP报文数据流的五元组定义(源/目的IP,源/目的端口,网络协议号),对每个元组都建立一个规则表,共五个规则表。
所述的五个规则表的组织结构与查询算法是一致的,也为实现多核芯片多表并行查找提供算法基础。每一个规则表结构的具体设计原则包括:
(1.1)添加的每条规则只存在于五个规则表中的其中一个。
(1.2)规则表分为两部分,第一部分为基于前缀扩展的深度为1并进行数据压缩的Trie树,因为Trie树的深度为1,Trie树可以简化为数组,数组大小根据前缀扩展策略及元组来确定;第二部分是辅助哈希表。
(1.3)前缀扩展的策略:对于源/目的IP,将前缀长度为1-24的前缀统一扩展为24,前缀长度为25-32不进行前缀扩展;对于源/目的端口,如果是范围匹配,先将范围转换为前缀,将前缀长度都扩展为16。对于网络协议号,如果是范围匹配,先将范围转换为前缀,将前缀长度都扩展为8。
(1.4)由于扩展后存在大量数据冗余,需要进行数据压缩。对于源/目的IP,方法是将扩展后的前缀分割为两部分:前20比特和后4比特,简称20+4,对后4比特代表的前缀(共16个)进行数据压缩后以前20比特的值作为数组的下标添加到数组中。对于源/目的端口类似,分割为12+4,对于网络协议号分割为4+4。
(1.5)Trie树中规则对应的表项包括:规则的五元组掩码信息;系统为该规则分配的唯一MAGIC值;数据压缩用的信息。
(1.6)辅助哈希表保存对应规则表中匹配规则的动作信息,哈希表的查询键值是该规则对五元组进行掩码后的值与该规则MAGIC值组合后进行CRC32计算后取余。辅助哈希表和基于前缀扩展并进行数据压缩的Trie树的联系是规则的五元组掩码信息和MAGIC值。
第二步,建立一个哈希快速流表,用于保存最近一段时间里匹配规则的流的五元组信息及该匹配规则的动作信息,用于IP报文数据流的精确快速匹配。
建立的哈希快速流表,是为了提高查询速度的一种策略。哈希快速流表的设计依据是流具有时间局部性:在流的第一个数据包到达后较短时间内到达的数据包属于同一流的可能性很大。哈希快速流表的表项保存最近到达的流的五元组信息及匹配到的规则的动作信息。
第三步,添加或更新一条匹配规则时,根据匹配规则中五元组信息在一种可均衡多表间查找性能的表选择策略下选择五张规则表中的其中一张规则表,将匹配规则的所有信息添加到该规则表中。
所述的采用一种可均衡多表间查找性能的表选择策略下选择五张规则表中的其中一张规则表来进行添加,是为了解决在传统单一表的掩码匹配算法应用于多表情况时,对多个匹配结果进行整合时算法的时间复杂度较高的一种方法。策略实施的具体原则包括:
A.仅在规则要求匹配的元组中选择对应的规则表。如规则只要求匹配目的IP和目的端口(掩码长度非0),其他元组信息任意(掩码长度为0),则策略只会在目的IP和目的端口对应的规则表中选择其中一个表来进行添加。
B.在要求匹配的元组中选择哪个规则表支持以下两种策略:a,随机指定;b,预先设定各元组掩码的权重,根据掩码长度和权重计算后得出最高权值的规则表,将规则添加到该表中。
所述的添加规则的所有信息到规则表中的具体实施过程如下:
(3.1)根据选定的元组(源/目的IP或源/目的端口或网络协议号)必要时进行前缀扩展。
(3.2)计算数组下标;计算前缀扩展后的后4比特代表的前缀(共16个)中哪些包含在规则中,将对应的位在图2标示数组元素的字段-前缀位图PBmp中置1。对于源/目的IP掩码长度大于24时,前缀位图可能出现相同的情况,导致无法区分规则,这里前缀位图的字段存放IP掩码后的后16比特数据。
(3.3)保存所有元组的前缀信息到图2标示的五元组各自前缀偏移字段和前缀位图字段中,分配一个随机MAGIC值给该规则并保存到图2标示的MAGIC字段中。
(3.4)将元组掩码后与MAGIC值组合,计算哈希键值,将规则对应的动作信息及解决哈希冲突的比较信息添加到辅助哈希表的哈希桶中。
第四步,在进行IP报文数据流匹配时,先根据IP报文数据流的五元组在哈希快速流表中进行精确查找,如果找到,则执行的相应的动作,否则查找规则表,进行掩码匹配查询。
第五步,规则表掩码匹配查询时,依次对五个规则表进行掩码匹配查询,根据一定的优先级策略分别找到最佳匹配规则,然后根据相同的策略再在这些最佳匹配规则中找出最终匹配规则。
所述的依次对五个规则表进行掩码匹配查询,并引入优先级策略,是考虑存在没有使用优先级策略的情况下一条流可能匹配多条规则的场景。具体设计原则如下:
(5.1)由于5个规则表中的规则没有重复,流进行匹配规则时需要确保不遗漏匹配所有可能的规则,因此需要依次查询5个规则表,如果是多核处理器的环境,算法还可以方便的改为多核并行查找,提高查询实时响应速度。
(5.2)引入优先级策略,解决找出最佳规则的问题。优先级策略分为默认优先级和用户配置优先级。默认优先级的策略如下:规则中要求匹配的元组数越多优先级越高,在元组数相同的情况下比较元组的掩码长度,比较顺序为目的IP、源IP,目的端口、源端口、网络协议号。用户配置优先级可以提升指定规则的优先级。举例如下:
R1:DIP:10.0.0.1/32;SIP:20.0.0.*/24;其他元组任意,动作:转发
R2:DIP:10.0.0.1/32;SIP:20.0.0.1/32;其他元组任意,动作:丢弃
R3:DIP:10.0.0.*/24;SIP:20.0.0.1/32;其他元组任意,动作:转发
R4:DIP:10.0.0.1/32;其他元组任意,动作:转发
R5:SIP:20.0.0.1/32;其他元组任意,动作:转发
默认情况下规则优先级:R2>R1>R3>R4>R5;
如果用户提高R5的优先级,则优先级顺序变为R2>R1>R3>R5>R4。
第六步,在规则表中查询到最终匹配规则后,将IP报文数据流的五元组信息及该最终匹配规则的动作信息添加到哈希快速流表中。
第七步,哈希快速流表支持老化机制。
设计原则如下:
(7.1)一条流在经过一段时间后停止了,哈希快速流表中对应的项已经没有用,如果不删除,不仅占用空间还会增加哈希冲突概率,因此需要将其老化掉。
(7.2)老化机制采用的策略:利用多核处理器提供的硬件定时器模块可以定时向多核发送自定义超时数据的特性,并且支持大量的标示信息添加和通知。利用该特性,在添加哈希快速流表时,将标示该表项的信息(哈希值和冲突比较值)添加到定时器中,并启动定时,在定时时间到时,定时器会将该标示信息告诉多核处理器,多核处理器根据该信息找到表项进行删除。
第八步,删除一条规则时,采用和添加时一样的查找性能均衡策略找到对应的规则表进行删除。
Claims (6)
1.一种多域流规则匹配的实现方法,其特征在于:该方法的步骤如下,
第一步,根据IP报文数据流的五元组定义,对每个元组都建立一个规则表,共五个规则表;
第二步,建立一个哈希快速流表,用于保存最近一段时间里匹配规则的IP报文数据流的五元组信息及该匹配规则的动作信息,用于IP报文数据流的精确快速匹配;
第三步,添加或更新一条匹配规则时,根据匹配规则中五元组信息在一种可均衡多表间查找性能的表选择策略下选择五张规则表中的其中一张规则表,将匹配规则的所有信息添加到该规则表中;
第四步,在进行IP报文数据流匹配时,先根据IP报文数据流的五元组在哈希快速流表中进行精确查找,如果找到,则执行相应的动作,否则查找规则表,进行掩码匹配查询;
第五步,规则表掩码匹配查询时,依次对五个规则表进行掩码匹配查询,根据一定的优先级策略分别找到最佳匹配规则,然后根据相同的策略再在这些最佳匹配规则中找出最终匹配规则;
第六步,在规则表中查询到最终匹配规则后,将IP报文数据流的五元组信息及该最终匹配规则的动作信息添加到哈希快速流表中;
第七步,哈希快速流表支持老化机制;
第八步,删除一条规则时,采用和添加时一样的查找性能均衡策略找到对应的规则表进行删除。
2.根据权利要求1所述的一种多域流规则匹配的实现方法,其特征在于:第一步中所述的建立的五个规则表,该规则表结构的具体设计原则包括:
(1.1)添加的每条规则只存在于五个规则表中的其中一个;
(1.2)规则表分为两部分,第一部分为基于前缀扩展的深度为1并进行数据压缩的Trie树;第二部分是辅助哈希表;
(1.3)前缀扩展的策略:对于源/目的IP,将前缀长度为1-24的前缀统一扩展为24,前缀长度为25-32不进行前缀扩展;对于源/目的端口,如果是范围匹配,先将范围转换为前缀,将前缀长度都扩展为16;对于网络协议号,如果是范围匹配,先将范围转换为前缀,将前缀长度都扩展为8;
(1.4)由于扩展后存在大量数据冗余,需要进行数据压缩;对于源/目的IP,方法是将扩展后的前缀分割为两部分:前20比特和后4比特,简称20+4,对后4比特代表的前缀进行数据压缩后以前20比特的值作为数组的下标添加到数组中;对于源/目的端口,分割为12+4,对于网络协议号分割为4+4;
(1.5)Trie树中规则对应的表项包括:规则的五元组掩码信息;系统为该规则分配的唯一MAGIC值;数据压缩用的信息;
(1.6)辅助哈希表保存对应规则表中规则的动作信息,哈希表的查询键值是该规则对五元组进行掩码后的值与该规则MAGIC值组合后进行CRC32计算后取余;辅助哈希表和基于前缀扩展并进行数据压缩的Trie树的联系是规则的五元组掩码信息和MAGIC值。
3.根据权利要求1所述的一种多域流规则匹配的实现方法,其特征在于:第三步中所述的采用一种可均衡多表间查找性能的表选择策略下选择五张规则表中的其中一张规则表来进行添加,策略实施的具体原则包括:
A.仅在规则要求匹配的元组中选择对应的规则表,如规则只要求匹配目的IP和目的端口,其他元组信息任意,则策略只会在目的IP和目的端口对应的规则表中选择其中一个表来进行添加;
B.在要求匹配的元组中选择哪个规则表支持以下两种策略:a,随机指定;b,预先设定各元组掩码的权重,根据掩码长度和权重计算后得出最高权值的规则表,将规则添加到该表中。
4.根据权利要求1所述的一种多域流规则匹配的实现方法,其特征在于:第三步中所述的添加规则的所有信息到规则表中的具体实施过程:
(3.1)根据选定的元组必要时进行前缀扩展;
(3.2)计算数组下标;计算前缀扩展后的后4比特代表的前缀中哪些包含在规则中,将对应的位在数组元素的字段-前缀位图中置1;对于源/目的IP掩码长度大于24时,前缀位图的字段存放IP掩码后的后16比特数据;
(3.3)保存所有元组的前缀信息到五元组各自前缀偏移字段和前缀位图字段中,分配一个随机MAGIC值给该规则并保存到MAGIC字段中;
(3.4)将元组掩码后与MAGIC值组合,计算哈希键值,将规则对应的动作信息及解决哈希冲突的比较信息添加到辅助哈希表的哈希桶中。
5.根据权利要求1所述的一种多域流规则匹配的实现方法,其特征在于:第五步中依次对五个规则表进行掩码匹配查询,并引入优先级策略,具体设计原则如下:
(5.1)由于5个规则表中的规则没有重复,IP报文数据流进行匹配规则时需要确保不遗漏匹配所有可能的规则,因此需要依次查询5个规则表,如果是多核处理器的环境,算法改为多核并行查找,提高查询实时响应速度;
(5.2)引入优先级策略,解决找出最佳规则的问题;优先级策略分为默认优先级和用户配置优先级。
6.根据权利要求1所述的一种多域流规则匹配的实现方法,其特征在于:第七步中所述的哈希快速流表支持老化机制,设计原则如下:
(7.1)一条IP报文数据流在经过一段时间后停止了,哈希快速流表中对应的项已经没有用,如果不删除,不仅占用空间还会增加哈希冲突概率,因此需要将其老化掉;
(7.2)老化机制采用的策略:利用多核处理器提供的硬件定时器模块定时向多核发送自定义超时数据的特性,并且支持大量的标示信息添加和通知;利用该特性,在添加哈希快速流表时,将标示该表项的信息添加到定时器中,并启动定时,在定时时间到时,定时器会将该标示信息告诉多核处理器,多核处理器根据该信息找到表项进行删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410717284.6A CN104468381B (zh) | 2014-12-01 | 2014-12-01 | 一种多域流规则匹配的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410717284.6A CN104468381B (zh) | 2014-12-01 | 2014-12-01 | 一种多域流规则匹配的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468381A true CN104468381A (zh) | 2015-03-25 |
CN104468381B CN104468381B (zh) | 2017-05-10 |
Family
ID=52913777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410717284.6A Active CN104468381B (zh) | 2014-12-01 | 2014-12-01 | 一种多域流规则匹配的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468381B (zh) |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954200A (zh) * | 2015-06-17 | 2015-09-30 | 国家计算机网络与信息安全管理中心 | 一种网络数据包的多类型规则高速匹配方法及装置 |
CN104965810A (zh) * | 2015-05-08 | 2015-10-07 | 国家计算机网络与信息安全管理中心 | 多核模式下快速处理数据报文的方法及装置 |
CN105072122A (zh) * | 2015-08-19 | 2015-11-18 | 山东超越数控电子有限公司 | 一种数据包快速匹配分类方法 |
CN105227495A (zh) * | 2015-10-29 | 2016-01-06 | 北京邮电大学 | 用于软件定义网络的转发规则配置方法及装置 |
CN105591909A (zh) * | 2015-10-21 | 2016-05-18 | 杭州华三通信技术有限公司 | 提高报文转发性能的方法以及装置 |
CN105939284A (zh) * | 2016-01-08 | 2016-09-14 | 杭州迪普科技有限公司 | 报文控制策略的匹配方法及装置 |
WO2016201930A1 (zh) * | 2015-06-18 | 2016-12-22 | 深圳市中兴微电子技术有限公司 | 流分类方法及装置、存储介质 |
CN106789668A (zh) * | 2016-12-12 | 2017-05-31 | 锐捷网络股份有限公司 | 一种处理报文的方法和装置 |
CN107276916A (zh) * | 2017-06-22 | 2017-10-20 | 中国科学技术大学 | 基于协议无感知转发技术的交换机流表管理方法 |
CN107342926A (zh) * | 2017-06-13 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种多业务快速匹配分发的方法 |
CN107682266A (zh) * | 2017-09-12 | 2018-02-09 | 杭州迪普科技股份有限公司 | 流表项的匹配方法及装置、计算机可读存储介质 |
CN107943826A (zh) * | 2017-10-19 | 2018-04-20 | 西安电子科技大学 | 一种适用于多类字段的高速数据流分类装置及方法 |
CN107977269A (zh) * | 2017-11-06 | 2018-05-01 | 东软集团股份有限公司 | 一种报文转发系统中的超时事件处理方法、装置及设备 |
CN108400938A (zh) * | 2018-01-25 | 2018-08-14 | 济南浪潮高新科技投资发展有限公司 | 一种数据流处理方法和装置 |
CN109327396A (zh) * | 2018-12-03 | 2019-02-12 | 中国人民解放军陆军工程大学 | 路由查表电路中的哈希表缓变更新方法 |
CN109688238A (zh) * | 2018-03-26 | 2019-04-26 | 新华三技术有限公司 | 一种nat转换方法、装置及nat设备 |
CN109802891A (zh) * | 2019-02-22 | 2019-05-24 | 盛科网络(苏州)有限公司 | 一种提高大象流流表利用率的方法及装置 |
CN110442570A (zh) * | 2019-06-06 | 2019-11-12 | 北京左江科技股份有限公司 | 一种BitMap高速模糊查找方法 |
WO2020038399A1 (zh) * | 2018-08-24 | 2020-02-27 | 中兴通讯股份有限公司 | 数据包的分类方法、装置及计算机可读存储介质 |
CN111131015A (zh) * | 2019-12-27 | 2020-05-08 | 芯启源(南京)半导体科技有限公司 | 一种基于PC-Trie动态更新路由的方法 |
CN111211939A (zh) * | 2019-12-31 | 2020-05-29 | 国家计算机网络与信息安全管理中心 | 一种基于网络处理器实现流表高效计数的装置和方法 |
CN111343153A (zh) * | 2020-02-10 | 2020-06-26 | Oppo(重庆)智能科技有限公司 | 数据包检测方法、装置、服务器及存储介质 |
CN111817978A (zh) * | 2019-04-12 | 2020-10-23 | 华为技术有限公司 | 一种流分类方法及装置 |
CN111988231A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种掩码五元组规则匹配的方法及装置 |
CN112383479A (zh) * | 2020-10-15 | 2021-02-19 | 国家计算机网络与信息安全管理中心 | 规则查询方法、装置、计算机设备和存储介质 |
CN112685612A (zh) * | 2020-12-31 | 2021-04-20 | 武汉思普崚技术有限公司 | 一种特征码查找和匹配方法、设备及存储介质 |
CN112769704A (zh) * | 2021-02-09 | 2021-05-07 | 芯河半导体科技(无锡)有限公司 | 一种基于hash表的高速可扩展IP路由查找硬件装置 |
CN112769813A (zh) * | 2020-12-31 | 2021-05-07 | 深圳市东晟数据有限公司 | 一种多前缀掩码五元组的匹配方法 |
CN113761300A (zh) * | 2021-08-23 | 2021-12-07 | 杭州安恒信息技术股份有限公司 | 基于位图计算的报文采样方法、装置、设备和介质 |
CN113923002A (zh) * | 2021-09-29 | 2022-01-11 | 山石网科通信技术股份有限公司 | 计算机网络入侵防御方法、装置、存储介质及处理器 |
CN114006763A (zh) * | 2021-11-01 | 2022-02-01 | 许昌许继软件技术有限公司 | 一种基于快速表的快速检索匹配方法及系统 |
CN114050997A (zh) * | 2020-07-23 | 2022-02-15 | 科尔奇普投资公司 | 根据查表处理封包的方法和系统 |
CN114244625A (zh) * | 2021-12-30 | 2022-03-25 | 山东安控信息科技有限公司 | 一种物理隔离设备的报文快速转发方法及系统 |
CN114338529A (zh) * | 2021-12-29 | 2022-04-12 | 杭州迪普信息技术有限公司 | 五元组规则匹配方法及装置 |
CN114422389A (zh) * | 2022-02-24 | 2022-04-29 | 成都北中网芯科技有限公司 | 一种基于哈希和硬件加速的高速实时网络数据监测方法 |
CN114448886A (zh) * | 2021-12-28 | 2022-05-06 | 天翼云科技有限公司 | 一种流表的处理方法及装置 |
CN114637759A (zh) * | 2020-12-16 | 2022-06-17 | 金篆信科有限责任公司 | 数据查询方法、电子设备、存储介质 |
CN114822077A (zh) * | 2022-06-27 | 2022-07-29 | 深圳市奇见科技有限公司 | 一种智能立体车库的调度管理系统 |
CN114884877A (zh) * | 2022-06-14 | 2022-08-09 | 电子科技大学 | 一种哈希表和HOT相结合的IPv6路由查找方法 |
CN115665051A (zh) * | 2022-12-29 | 2023-01-31 | 北京浩瀚深度信息技术股份有限公司 | 基于fpga+rldram3实现高速流表的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534942A (zh) * | 2003-03-31 | 2004-10-06 | ض� | 使用哈希表森林数据结构的分组分类方法与装置 |
CN1905523A (zh) * | 2006-08-02 | 2007-01-31 | 华为技术有限公司 | 一种多域流分类的实现方法 |
US20080155206A1 (en) * | 2006-12-21 | 2008-06-26 | Rajaram Gurumurthy | Discrete table descriptor for unified table management |
CN102427428A (zh) * | 2011-12-07 | 2012-04-25 | 西安电子科技大学 | 基于多域最长匹配的流识别方法及设备 |
CN102945249A (zh) * | 2012-10-10 | 2013-02-27 | 北京邮电大学 | 一种策略规则匹配查询树生成方法、匹配方法及装置 |
-
2014
- 2014-12-01 CN CN201410717284.6A patent/CN104468381B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534942A (zh) * | 2003-03-31 | 2004-10-06 | ض� | 使用哈希表森林数据结构的分组分类方法与装置 |
CN1905523A (zh) * | 2006-08-02 | 2007-01-31 | 华为技术有限公司 | 一种多域流分类的实现方法 |
US20080155206A1 (en) * | 2006-12-21 | 2008-06-26 | Rajaram Gurumurthy | Discrete table descriptor for unified table management |
CN102427428A (zh) * | 2011-12-07 | 2012-04-25 | 西安电子科技大学 | 基于多域最长匹配的流识别方法及设备 |
CN102945249A (zh) * | 2012-10-10 | 2013-02-27 | 北京邮电大学 | 一种策略规则匹配查询树生成方法、匹配方法及装置 |
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965810A (zh) * | 2015-05-08 | 2015-10-07 | 国家计算机网络与信息安全管理中心 | 多核模式下快速处理数据报文的方法及装置 |
CN104965810B (zh) * | 2015-05-08 | 2018-08-21 | 国家计算机网络与信息安全管理中心 | 多核模式下快速处理数据报文的方法及装置 |
CN104954200A (zh) * | 2015-06-17 | 2015-09-30 | 国家计算机网络与信息安全管理中心 | 一种网络数据包的多类型规则高速匹配方法及装置 |
WO2016201930A1 (zh) * | 2015-06-18 | 2016-12-22 | 深圳市中兴微电子技术有限公司 | 流分类方法及装置、存储介质 |
CN106326234A (zh) * | 2015-06-18 | 2017-01-11 | 深圳市中兴微电子技术有限公司 | 流分类方法及装置 |
CN105072122A (zh) * | 2015-08-19 | 2015-11-18 | 山东超越数控电子有限公司 | 一种数据包快速匹配分类方法 |
CN105591909A (zh) * | 2015-10-21 | 2016-05-18 | 杭州华三通信技术有限公司 | 提高报文转发性能的方法以及装置 |
CN105227495A (zh) * | 2015-10-29 | 2016-01-06 | 北京邮电大学 | 用于软件定义网络的转发规则配置方法及装置 |
CN105227495B (zh) * | 2015-10-29 | 2018-08-21 | 北京邮电大学 | 用于软件定义网络的转发规则配置方法及装置 |
CN105939284A (zh) * | 2016-01-08 | 2016-09-14 | 杭州迪普科技有限公司 | 报文控制策略的匹配方法及装置 |
CN105939284B (zh) * | 2016-01-08 | 2019-01-25 | 杭州迪普科技股份有限公司 | 报文控制策略的匹配方法及装置 |
CN106789668A (zh) * | 2016-12-12 | 2017-05-31 | 锐捷网络股份有限公司 | 一种处理报文的方法和装置 |
CN106789668B (zh) * | 2016-12-12 | 2020-05-22 | 锐捷网络股份有限公司 | 一种处理报文的方法和装置 |
CN107342926A (zh) * | 2017-06-13 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种多业务快速匹配分发的方法 |
CN107276916A (zh) * | 2017-06-22 | 2017-10-20 | 中国科学技术大学 | 基于协议无感知转发技术的交换机流表管理方法 |
CN107682266A (zh) * | 2017-09-12 | 2018-02-09 | 杭州迪普科技股份有限公司 | 流表项的匹配方法及装置、计算机可读存储介质 |
CN107943826A (zh) * | 2017-10-19 | 2018-04-20 | 西安电子科技大学 | 一种适用于多类字段的高速数据流分类装置及方法 |
CN107943826B (zh) * | 2017-10-19 | 2020-04-14 | 西安电子科技大学 | 一种适用于多类字段的高速数据流分类装置及方法 |
CN107977269A (zh) * | 2017-11-06 | 2018-05-01 | 东软集团股份有限公司 | 一种报文转发系统中的超时事件处理方法、装置及设备 |
CN108400938A (zh) * | 2018-01-25 | 2018-08-14 | 济南浪潮高新科技投资发展有限公司 | 一种数据流处理方法和装置 |
CN109688238A (zh) * | 2018-03-26 | 2019-04-26 | 新华三技术有限公司 | 一种nat转换方法、装置及nat设备 |
US10965642B2 (en) | 2018-03-26 | 2021-03-30 | New H3C Technologies Co., Ltd. | Network address translation |
CN110858823B (zh) * | 2018-08-24 | 2023-03-07 | 中兴通讯股份有限公司 | 一种数据包的分类方法、装置及计算机可读存储介质 |
WO2020038399A1 (zh) * | 2018-08-24 | 2020-02-27 | 中兴通讯股份有限公司 | 数据包的分类方法、装置及计算机可读存储介质 |
CN110858823A (zh) * | 2018-08-24 | 2020-03-03 | 中兴通讯股份有限公司 | 一种数据包的分类方法、装置及计算机可读存储介质 |
CN109327396A (zh) * | 2018-12-03 | 2019-02-12 | 中国人民解放军陆军工程大学 | 路由查表电路中的哈希表缓变更新方法 |
CN109802891A (zh) * | 2019-02-22 | 2019-05-24 | 盛科网络(苏州)有限公司 | 一种提高大象流流表利用率的方法及装置 |
CN109802891B (zh) * | 2019-02-22 | 2021-09-10 | 苏州盛科通信股份有限公司 | 一种提高大象流流表利用率的方法及装置 |
CN111817978A (zh) * | 2019-04-12 | 2020-10-23 | 华为技术有限公司 | 一种流分类方法及装置 |
US11882047B2 (en) | 2019-04-12 | 2024-01-23 | Huawei Technologies Co., Ltd. | Traffic classification method and apparatus |
CN110442570A (zh) * | 2019-06-06 | 2019-11-12 | 北京左江科技股份有限公司 | 一种BitMap高速模糊查找方法 |
CN110442570B (zh) * | 2019-06-06 | 2021-08-17 | 北京左江科技股份有限公司 | 一种BitMap高速模糊查找方法 |
CN111131015A (zh) * | 2019-12-27 | 2020-05-08 | 芯启源(南京)半导体科技有限公司 | 一种基于PC-Trie动态更新路由的方法 |
CN111131015B (zh) * | 2019-12-27 | 2021-09-03 | 芯启源(南京)半导体科技有限公司 | 一种基于PC-Trie动态更新路由的方法 |
CN111211939A (zh) * | 2019-12-31 | 2020-05-29 | 国家计算机网络与信息安全管理中心 | 一种基于网络处理器实现流表高效计数的装置和方法 |
CN111343153A (zh) * | 2020-02-10 | 2020-06-26 | Oppo(重庆)智能科技有限公司 | 数据包检测方法、装置、服务器及存储介质 |
CN114050997B (zh) * | 2020-07-23 | 2023-06-09 | 美商光禾科技股份有限公司 | 根据查表处理封包的方法和系统 |
CN114050997A (zh) * | 2020-07-23 | 2022-02-15 | 科尔奇普投资公司 | 根据查表处理封包的方法和系统 |
CN111988231A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种掩码五元组规则匹配的方法及装置 |
CN112383479B (zh) * | 2020-10-15 | 2022-03-22 | 国家计算机网络与信息安全管理中心 | 规则查询方法、装置、计算机设备和存储介质 |
CN112383479A (zh) * | 2020-10-15 | 2021-02-19 | 国家计算机网络与信息安全管理中心 | 规则查询方法、装置、计算机设备和存储介质 |
CN114637759A (zh) * | 2020-12-16 | 2022-06-17 | 金篆信科有限责任公司 | 数据查询方法、电子设备、存储介质 |
CN112769813A (zh) * | 2020-12-31 | 2021-05-07 | 深圳市东晟数据有限公司 | 一种多前缀掩码五元组的匹配方法 |
CN112769813B (zh) * | 2020-12-31 | 2022-10-21 | 深圳市东晟数据有限公司 | 一种多前缀掩码五元组的匹配方法 |
CN112685612A (zh) * | 2020-12-31 | 2021-04-20 | 武汉思普崚技术有限公司 | 一种特征码查找和匹配方法、设备及存储介质 |
CN112769704A (zh) * | 2021-02-09 | 2021-05-07 | 芯河半导体科技(无锡)有限公司 | 一种基于hash表的高速可扩展IP路由查找硬件装置 |
CN113761300A (zh) * | 2021-08-23 | 2021-12-07 | 杭州安恒信息技术股份有限公司 | 基于位图计算的报文采样方法、装置、设备和介质 |
CN113923002B (zh) * | 2021-09-29 | 2024-04-19 | 山石网科通信技术股份有限公司 | 计算机网络入侵防御方法、装置、存储介质及处理器 |
CN113923002A (zh) * | 2021-09-29 | 2022-01-11 | 山石网科通信技术股份有限公司 | 计算机网络入侵防御方法、装置、存储介质及处理器 |
CN114006763A (zh) * | 2021-11-01 | 2022-02-01 | 许昌许继软件技术有限公司 | 一种基于快速表的快速检索匹配方法及系统 |
CN114448886A (zh) * | 2021-12-28 | 2022-05-06 | 天翼云科技有限公司 | 一种流表的处理方法及装置 |
CN114338529A (zh) * | 2021-12-29 | 2022-04-12 | 杭州迪普信息技术有限公司 | 五元组规则匹配方法及装置 |
CN114338529B (zh) * | 2021-12-29 | 2024-03-08 | 杭州迪普信息技术有限公司 | 五元组规则匹配方法及装置 |
CN114244625A (zh) * | 2021-12-30 | 2022-03-25 | 山东安控信息科技有限公司 | 一种物理隔离设备的报文快速转发方法及系统 |
CN114422389B (zh) * | 2022-02-24 | 2023-09-12 | 成都北中网芯科技有限公司 | 一种基于哈希和硬件加速的高速实时网络数据监测方法 |
CN114422389A (zh) * | 2022-02-24 | 2022-04-29 | 成都北中网芯科技有限公司 | 一种基于哈希和硬件加速的高速实时网络数据监测方法 |
CN114884877B (zh) * | 2022-06-14 | 2023-02-03 | 电子科技大学 | 一种哈希表和HOT相结合的IPv6路由查找方法 |
CN114884877A (zh) * | 2022-06-14 | 2022-08-09 | 电子科技大学 | 一种哈希表和HOT相结合的IPv6路由查找方法 |
CN114822077A (zh) * | 2022-06-27 | 2022-07-29 | 深圳市奇见科技有限公司 | 一种智能立体车库的调度管理系统 |
CN115665051A (zh) * | 2022-12-29 | 2023-01-31 | 北京浩瀚深度信息技术股份有限公司 | 基于fpga+rldram3实现高速流表的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104468381B (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468381A (zh) | 一种多域流规则匹配的实现方法 | |
US7418505B2 (en) | IP address lookup using either a hashing table or multiple hash functions | |
Lee et al. | An efficient flow cache algorithm with improved fairness in software-defined data center networks | |
CN102739518B (zh) | 一种流量负载分担方法和设备 | |
US20060083247A1 (en) | Prefix lookup using address-directed hash tables | |
CN104580027A (zh) | 一种OpenFlow报文转发方法及设备 | |
EP3280104B1 (en) | Ip routing lookup | |
CN109460491B (zh) | 基于Neo4j数据库的时序最短路径查询方法 | |
CN101651628A (zh) | 一种三状态内容可寻址存储器实现方法及装置 | |
WO2015043254A1 (zh) | 一种包分类规则的查找方法及装置 | |
CN105357128A (zh) | 流表创建及查询方法 | |
CN113315705A (zh) | 基于单次哈希布隆过滤器的Flexible IP寻址方法及装置 | |
Li et al. | 5G with B-MaFIB based named data networking | |
Hsieh et al. | Multiprefix trie: A new data structure for designing dynamic router-tables | |
CN106411553B (zh) | 一种业务链路径的优化方法及装置 | |
Hsieh et al. | A classified multisuffix trie for IP lookup and update | |
EP1533956A2 (en) | Dynamic forwarding of data packets using binary search | |
CN106656816B (zh) | 分布式ipv6路由查找方法和系统 | |
Bisht et al. | Efficiency evaluation of routing protocols for Vehicular Ad-Hoc Networks using city scenario | |
Lin et al. | A multi-index hybrid trie for lookup and updates | |
Dong et al. | Topology control mechanism based on link available probability in aeronautical ad hoc network | |
Ali et al. | Connection Time Estimation between Nodes in VDTN | |
CN102739551B (zh) | 多存储器流水路由体系结构 | |
Hsieh et al. | A novel dynamic router-tables design for IP lookup and update | |
CN107204926B (zh) | 预处理cache的路由快速查找方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |