CN107547390B - 流表创建以及查询的方法及装置 - Google Patents

流表创建以及查询的方法及装置 Download PDF

Info

Publication number
CN107547390B
CN107547390B CN201610512294.5A CN201610512294A CN107547390B CN 107547390 B CN107547390 B CN 107547390B CN 201610512294 A CN201610512294 A CN 201610512294A CN 107547390 B CN107547390 B CN 107547390B
Authority
CN
China
Prior art keywords
flow entry
message
cryptographic hash
flow
conflict chain
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
Application number
CN201610512294.5A
Other languages
English (en)
Other versions
CN107547390A (zh
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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201610512294.5A priority Critical patent/CN107547390B/zh
Publication of CN107547390A publication Critical patent/CN107547390A/zh
Application granted granted Critical
Publication of CN107547390B publication Critical patent/CN107547390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种流表创建以及查询的方法及装置,涉及信息技术领域,可以提高流表查询的速度,以实现报文的快速转发。所述方法包括:首先建立流表项,其中,所述流表项中包括32位哈希值字段、KEY值字段(还可以包括其它信息字段),然后根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将流表项添加至冲突链上,其中冲突链的控制头部设置有标志字段,最后在所述标志字段的头部添加标志字段值,其中,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。本发明适用于创建流表,并从该流表中查询报文对应的流表项。

Description

流表创建以及查询的方法及装置
技术领域
本发明涉及信息技术领域,特别涉及一种流表创建以及查询的方法及装置。
背景技术
在数据通信设备如路由器中,转发面需要处理一些控制业务如访问控制列表(英文全称:Access Control List,英文缩写:ACL)、服务质量(英文全称:Quality OfService,英文缩写:QOS)等,这些业务的处理一般需要查询比较大的表,查表比较耗时,一般不能满足数据报文转发性能要求,
ACL、QOS等控制业务需要使用报文中的五元组(源地址、源端口、目的地址、目的端口和层四协议号)或者七元组(源地址、源端口、目的地址、目的端口、层四协议号、服务类型和层4标志)对报文进行控制。
为此,以报文的六元组(源地址、源端口、目的地址、目的端口、层四协议号和接口索引)或者九元组(源地址、源端口、目的地址、目的端口、层四协议号、分片标志、服务类型、层4标志和接口索引)可以唯一定义一条流,使用六元组或者九元组作为KEY值构建流表项,流表项中包括KEY值和其它字段。接口接收到报文后,先在流表中查找流表项,把查找的流表项保存在特定的位置(如报文描述符中,报文描述符是存储报文信息的控制块)。ACL、QOS等控制业务直接在特定位置获取流表项,ACL、QOS等控制业务将结果记录在流表项中,后续直接使用流表项中记录的结果。
目前,流表已经成为加速控制业务的一种重要手段,那么如何快速查找流表则对于提高流表查询速度实现报文快速转发具有实际意义。
发明内容
本发明提供一种流表创建以及查询的方法及装置,可以提高流表查询的速度实现报文的快速转发。
本发明采用的技术方案为:
第一方面,本发明提供了一种流表创建的方法,包括:
建立流表项,所述流表项中包括32位哈希值字段和KEY值字段;
根据所述流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将所述流表项添加至冲突链上,所述冲突链的控制头部设置有标志字段;
在所述标志字段中添加标志字段值,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。
第二方面,本发明提供了一种流表查询的方法,包括:
接收报文,并根据所述报文对应的32位哈希值,确定所述报文对应的流表项所在的冲突链;
根据所述冲突链的控制头部设置的标志字段值,确定所述冲突链上是否存在32位哈希值相等的流表项;
若所述冲突链上存在32位哈希值相等的流表项,则根据所述报文对应的32位哈希值以及所述KEY值,确定所述报文对应的流表项。
第三方面,本发明提供了一种流表创建的装置,包括:
建立单元,用于建立流表项,所述流表项中包括:32位哈希值字段、KEY值字段以及其它信息字段;
查询单元,用于根据所述流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项;
添加单元,用于当不存在时,将所述流表项添加至冲突链上,所述冲突链的控制头部设置有标志字段;
所述添加单元,还用于在所述标志字段中添加标志字段值,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。
第四方面,本发明提供了一种流表查询的装置,包括:
接收单元,用于接收报文;
确定单元,用于根据所述报文对应的32位哈希值,确定所述报文对应的流表项所在的冲突链;
所述确定单元,还用于根据所述冲突链的控制头部设置的标志字段值,确定所述冲突链上是否存在32位哈希值相等的流表项;
所述确定单元,还用于当所述冲突链上存在32位哈希值相等的流表项时,根据所述报文对应的32位哈希值以及所述KEY值,确定所述报文对应的流表项。
本发明提供的流表创建以及查询的方法及装置,首先建立流表项,其中,所述流表项中包括32位哈希值字段、KEY值字段(还可以包括其它信息字段),然后根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将流表项添加至冲突链上,其中冲突链的控制头部设置有标志字段,最后在所述标志字段的头部添加标志字段值,其中,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。与现有技术相比,本发明通过冲突链的控制头部的标志字段值,确定是否该冲突链上是否存在32位哈希值相等的流表项,能够确定是否可以仅根据32位哈希值,确定报文对应的流表项,而不需要根据32位哈希值以及KEY值,确定报文对应的流表项,从而可以提高流表查询的速度,以实现报文的快速转发。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中流表创建的方法流程图;
图2为本发明实施例中流表示意图;
图3为本发明实施例中另一种流表创建的方法流程图;
图4为本发明实施例中又一种流表创建的方法流程图;
图5为本发明实施例中一种流表查询的方法示意图;
图6为本发明实施例中另一种流表查询的方法示意图;
图7为本发明实施例中一种流表创建的装置结构示意图;
图8为本发明实施例中另一种流表创建的装置结构示意图;
图9为本发明实施例中一种流表查询的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种流表创建的方法,能够提高流表查询的速度,以实现快速转发。如图1所示,所述方法包括:
101、建立流表项。
其中,流表项中包括32位哈希值字段、KEY值字段。
对于本发明实施例,32位哈希值的范围为[0,2N)。在本发明实施例中,N的取值为16,则32位哈希值的取值范围为[0,65536)。
对于本发明实施例,KEY值字段中存在KEY值,该KEY值可以为报文对应的六元组或者九元组。
对于本发明实施例,流表项中还可以包括其它信息字段,该其它信息字段中可以包括该报文对应的处理规则信息。在本发明实施例中不做限定。
102、根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将流表项添加至冲突链上。
其中,冲突链的控制头部设置有标志字段。
对于本发明实施例,一个流表中存在多个冲突链,根据32位哈希值的高16位或者低16位,确定该流表项对应的冲突链,并将该流表项添加至该冲突链上。根据所述流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,如果不存在,则将流表项添加至冲突链上;否则不做任何处理。
103、在标志字段中添加标志字段值。
其中,标志字段值用于标识冲突链上是否存在32位哈希值相等的流表项。
对于本发明实施例,如图2所示,标志字段可以为第一值,也可以为第二值,其中,标志字段字段值为第一值,表征该冲突链上不存在32位哈希值相等的两个流表项,标志字段字段值为第二值,表示该冲突链上存在32位哈希值相等的流表项。
本发明实施例提供的流表创建以及查询的方法,首先建立流表项,其中,所述流表项中包括32位哈希值字段、KEY值字段(还可以包括其它信息字段),然后根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将流表项添加至冲突链上,其中冲突链的控制头部设置有标志字段,最后在所述标志字段的头部添加标志字段值,其中,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。与现有技术相比,本发明实施例通过冲突链的控制头部的标志字段值,确定是否该冲突链上是否存在32位哈希值相等的流表项,能够确定是否可以仅根据32位哈希值,确定报文对应的流表项,而不需要根据32位哈希值以及KEY值,确定报文对应的流表项,从而可以提高流表查询的速度,以实现报文的快速转发。
本发明实施例的另一种可能的实现方式,在如图1所示的基础上,步骤103、在标志字段中添加标志字段值,之前还包括如图3所示的步骤301。
301、检测冲突链上是否存在32位哈希值相等的流表项。
对于本发明实施例,在该冲突链上的头部的标志字段中添加标志字段值之前,需要检测该冲突链上是否存在32位哈希值相等的流表项,以确定该标志字段值。
对于本发明实施例,通过检测冲突链上是否存在32为哈希值相等的流表项,能够确定该冲突链的控制头部的标志字段值,以使得根据该标志字段值,确定可以仅根据32位哈希值,确定该报文对应的流表项,从而可以进一步地提高流表查询的速度。
本发明实施例的另一种可能的实现方式,在如图3所示的基础上,步骤101、建立流表项,之前还包括如图4所示的步骤401-402。
401、获取六元组或者九元组。
其中,六元组或者九元组为KEY值。
在本发明实施例中,可以通过从接收的报文中获取六元组或者九元组,也可以根据用户命令构建六元组或者九元组。
其中,六元组包括:源地址、源端口、目的地址,目的端口、层四协议号以及接口索引,九元组包括:地址、源端口、目的地址,目的端口、层四协议号、服务类型、分片标志以及接口索引,六元组或者九元组为KEY值。
对于本发明实施例,设备从接口接收到报文中获取六元组或者九元组;也可以根据用户的配置来获取六元组或者九元组。
402、根据KEY值计算32位哈希值。
进一步地,本发明实施例提供了另一种流量创建的方法,通过检测冲突链上是否存在32位哈希值相等的流表项,能够确定该冲突链的控制头部的标志字段值,以使得根据该标志字段值,确定可以仅根据32位哈希值,确定该报文对应的流表项,从而可以进一步地提高流表查询的速度。
本发明实施例提供了一种流表查询的方法,能够提高流表查询的速度,以实现快速转发。如图5所示,所述方法包括:
501、接收报文,并根据报文对应的32位哈希值,确定报文对应的流表项所在的冲突链。
对于本发明实施例,设备从接口接收到报文,确定该报文对应的KEY值,并根据该报文对应的KEY值,计算该报文对应的32位哈希值。在本发明实施例中,设备根据32位哈希值的高16位或者低16位,确定该报文对应的流表项所在的冲突链。
502、根据冲突链的控制头部设置的标志字段值,确定冲突链上是否存在32位哈希值相等的流表项。
对于本发明实施例,设备确定该报文对应的流表项所在的冲突链之后,设备根据该冲突链的控制头部设置的标志字段值,确定该冲突链上是否存在32位哈希值相等的流表项,以确定是否可以仅根据32位哈希值,确定该报文对应的流表项。
503、若冲突链上存在32位哈希值相等的流表项,则根据报文对应的32位哈希值以及KEY值,确定报文对应的流表项。
对于本发明实施例,若该冲突链上存在32位哈希值相等的流量项,则设备需要依次比较该冲突链上的每个流表项的32位哈希值以及KEY值与报文对应的32位哈希值以及KEY值,以确定该报文对应的流表项。
本发明实施例提供的流表创建以及查询的方法,首先建立流表项,其中,所述流表项中包括32位哈希值字段、KEY值字段(还可以包括其它信息字段),然后根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将流表项添加至冲突链上,其中冲突链的控制头部设置有标志字段,最后在所述标志字段的头部添加标志字段值,其中,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。与现有技术相比,本发明实施例通过冲突链的控制头部的标志字段值,确定是否该冲突链上是否存在32位哈希值相等的流表项,能够确定是否可以仅根据32位哈希值,确定报文对应的流表项,而不需要根据32位哈希值以及KEY值,确定报文对应的流表项,从而可以提高流表查询的速度,以实现报文的快速转发。
本发明实施例的另一种可能的实现方式,在如图5所示的基础上,步骤502、根据冲突链的控制头部设置的标志字段值,确定冲突链上是否存在32位哈希值相等的流表项,之后还包括如图6所示的步骤601。
601、若冲突链上不存在32位哈希值相等的流表项,则根据报文对应的32位哈希值,确定报文对应的流表项。
对于本发明实施例,若该冲突链上不存在32位哈希值相等的流表项,则设备仅需要依次比较该冲突链上每个流表项对应的32位哈希值与该报文对应的32位哈希,以确定该报文对应的流表项。
对于本发明实施例,通过当冲突链上不存在32位哈希值相等的流表项时,能修仅需要依次比较32位的哈希值,就可以确定该报文对应的流表项,不需要通过依次比较32位哈希值以及KEY,确定该报文对应的流表项,从而可以进一步地提高流表查询的速度。
对于本发明实施例,在设备查找到该报文对应的流表项之后,需要对流表进行刷新操作,并把查找到的流表项记录至特定位置。其中该特定的位置可以为报文描述。
对于本发明实施例,设备每隔预置时间,查找未被报文刷新的流表项,则设备需要删除该流表项,以释放该流表项所占用的存储空间。
对于本发明实施例,通过每隔预置时间,查找未被报文刷新的流表项,能够删除未被报文刷新的流表项,以避免老化的流表项占用存储空间,进而可以释放流表项所占用的存储空间。
进一步地,本发明实施例提供了另一种流表查询的方法,通过当冲突链上不存在32位哈希值相等的流表项时,能够仅需要依次比较32位的哈希值,就可以确定该报文对应的流表项,不需要通过依次比较32位哈希值以及KEY值,确定该报文对应的流表项,从而可以进一步地提高流表查询的速度;通过每隔预置时间,查找未被报文刷新的流表项,能够删除未被报文刷新的流表项,以避免老化的流表项占用存储空间,进而可以释放流表项所占用的存储空间。
作为对图1、图3以及图4所示方法的实现,本发明实施例还提供了一种流表创建的装置,该装置可以位于设备中,用于提高流表查询的速度实现报文的快速转发,如图7所示,装置包括:建立单元71、查询单元72、添加单元73。
建立单元71,用于建立流表项。
其中,流表项中包括:32位哈希值字段、KEY值字段以及其它信息字段。
查询单元72,用于根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项。
添加单元73,用于当不存在时,将流表项添加至冲突链上。
其中,冲突链的控制头部设置有标志字段。
添加单元73,还用于在标志字段中添加标志字段值。
其中,标志字段值用于标识冲突链上是否存在32位哈希值相等的流表项。
进一步地,如图8所示,该装置还包括:检测单元81。
检测单元81,用于检测冲突链上是否存在32位哈希值相等的流表项。
进一步地,如图8所示,该装置还包括:获取单元83、计算单元84。
获取单元83,用于获取六元组或者九元组。
其中,六元组或者九元组为KEY值。
其中,六元组包括:源地址、源端口、目的地址,目的端口、层四协议号以及接口索引,九元组包括:地址、源端口、目的地址,目的端口、层四协议号、服务类型、分片标志以及接口索引。
计算单元84,用于根据KEY值计算32位哈希值。
本发明实施例提供的流表创建以及查询的装置,首先建立流表项,其中,所述流表项中包括32位哈希值字段、KEY值字段(还可以包括其它信息字段),然后根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将流表项添加至冲突链上,其中冲突链的控制头部设置有标志字段,最后在所述标志字段的头部添加标志字段值,其中,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。与现有技术相比,本发明实施例通过冲突链的控制头部的标志字段值,确定是否该冲突链上是否存在32位哈希值相等的流表项,能够确定是否可以仅根据32位哈希值,确定报文对应的流表项,而不需要根据32位哈希值以及KEY值,确定报文对应的流表项,从而可以提高流表查询的速度,以实现报文的快速转发。
进一步地,本发明实施例提供了另一种流量创建的装置,通过检测冲突链上是否存在32为哈希值相等的流表项,能够确定该冲突链的控制头部的标志字段值,以使得根据该标志字段值,确定可以仅根据32位哈希值,确定该报文对应的流表项,从而可以进一步地提高流表查询的速度。
进一步地,作为对图5以及图6所示方法的实现,本发明实施例还提供了一种流表查询的装置,该装置可以位于设备中,用于提高流表查询的速度实现报文的快速转发,如图9所示,装置包括:接收单元91、确定单元92。
接收单元91,用于接收报文。
确定单元92,用于根据报文对应的32位哈希值,确定报文对应的流表项所在的冲突链。
确定单元92,还用于根据冲突链的控制头部设置的标志字段值,确定冲突链上是否存在32位哈希值相等的流表项。
确定单元92,还用于当冲突链上存在32位哈希值相等的流表项时,根据报文对应的32位哈希值以及KEY值,确定报文对应的流表项。
确定单元92,还用于当冲突链上不存在32位哈希值相等的流表项时,根据报文对应的32位哈希值,确定报文对应的流表项。
本发明实施例提供的流表创建以及查询的装置,首先建立流表项,其中,所述流表项中包括32位哈希值字段、KEY值字段(还可以包括其它信息字段),然后根据流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将流表项添加至冲突链上,其中冲突链的控制头部设置有标志字段,最后在所述标志字段的头部添加标志字段值,其中,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。与现有技术相比,本发明实施例通过冲突链的控制头部的标志字段值,确定是否该冲突链上是否存在32位哈希值相等的流表项,能够确定是否可以仅根据32位哈希值,确定报文对应的流表项,而不需要根据32位哈希值以及KEY值,确定报文对应的流表项,从而可以提高流表查询的速度,以实现报文的快速转发。
进一步地,本发明实施例提供了另一种流表查询的装置,通过当冲突链上不存在32位哈希值相等的流表项时,能修仅需要依次比较32位的哈希值,就可以确定该报文对应的流表项,不需要通过依次比较32位哈希值以及KEY,确定该报文对应的流表项,从而可以进一步地提高流表查询的速度;通过每隔预置时间,查找未被报文刷新的流表项,能够删除未被报文刷新的流表项,以避免老化的流表项占用存储空间,进而可以释放流表项所占用的存储空间。
需要说明的是,本发明实施例中提供的流表创建以及查询的装置中各单元所对应的其他相应描述,可以参考图1、图3、图4、图5以及图6中的对应描述,在此不再赘述。
本发明实施例提供的流表创建以及查询的装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的流表创建以及查询的方法及装置可以适用于创建流表,并从该流表中查询报文对应的流表项,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种流表创建的方法,其特征在于,包括:
建立流表项,所述流表项中包括32位哈希值字段和KEY值字段;
根据所述流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项,若不存在,则将所述流表项添加至冲突链上,所述冲突链的控制头部设置有标志字段;
在所述标志字段中添加标志字段值,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。
2.根据权利要求1所述的流表创建的方法,其特征在于,所述在所述标志字段中添加标志字段值的步骤之前,还包括:
检测所述冲突链上是否存在32位哈希值相等的流表项。
3.根据权利要求2所述的流表创建的方法,其特征在于,所述建立流表项之前,还包括:
获取六元组或者九元组,所述六元组或者九元组为KEY值,所述六元组包括:源地址、源端口、目的地址,目的端口、层四协议号以及接口索引,所述九元组包括:地址、源端口、目的地址,目的端口、层四协议号、服务类型、分片标志以及接口索引;
根据所述KEY值计算所述32位哈希值。
4.一种流表查询的方法,其特征在于,包括:
接收报文,并根据所述报文对应的32位哈希值,确定所述报文对应的流表项所在的冲突链;
根据所述冲突链的控制头部设置的标志字段值,确定所述冲突链上是否存在32位哈希值相等的流表项;
若所述冲突链上存在32位哈希值相等的流表项,则根据所述报文对应的32位哈希值以及KEY值,确定所述报文对应的流表项。
5.根据权利要求4所述的流表查询的方法,其特征在于,所述根据所述冲突链的控制头部设置的标志字段值,确定所述冲突链上是否存在32位哈希值相等的流表项的步骤之后,还包括:
若所述冲突链上不存在32位哈希值相等的流表项,则根据所述报文对应的32位哈希值,确定所述报文对应的流表项。
6.一种流表创建的装置,其特征在于,包括:
建立单元,用于建立流表项,所述流表项中包括32位哈希值字段和KEY值字段;
查询单元,用于根据所述流表项中的32位哈希值字段和KEY值字段查询冲突链上是否存在对应的流表项;
添加单元,用于当不存在时,将所述流表项添加至冲突链上,所述冲突链的控制头部设置有标志字段;
所述添加单元,还用于在所述标志字段中添加标志字段值,所述标志字段值用于标识所述冲突链上是否存在32位哈希值相等的流表项。
7.根据权利要求6所述的流表创建的装置,其特征在于,所述装置还包括:检测单元;
检测单元,用于检测所述冲突链上是否存在32位哈希值相等的流表项。
8.根据权利要求7所述的流表创建的装置,其特征在于,所述装置还包括:获取单元、计算单元;
所述获取单元,用于获取六元组或者九元组,所述六元组或者九元组为KEY值,所述六元组包括:源地址、源端口、目的地址,目的端口、层四协议号以及接口索引,所述九元组包括:地址、源端口、目的地址,目的端口、层四协议号、服务类型、分片标志以及接口索引;
所述计算单元,用于根据所述KEY值计算所述32位哈希值。
9.一种流表查询的装置,其特征在于,包括:
接收单元,用于接收报文;
确定单元,用于根据所述报文对应的32位哈希值,确定所述报文对应的流表项所在的冲突链;
所述确定单元,还用于根据所述冲突链的控制头部设置的标志字段值,确定所述冲突链上是否存在32位哈希值相等的流表项;
所述确定单元,还用于当所述冲突链上存在32位哈希值相等的流表项时,根据所述报文对应的32位哈希值以及KEY值,确定所述报文对应的流表项。
10.根据权利要求9所述的流表查询的装置,其特征在于,
所述确定单元,还用于当所述冲突链上不存在32位哈希值相等的流表项时,根据所述报文对应的32位哈希值,确定所述报文对应的流表项。
CN201610512294.5A 2016-06-29 2016-06-29 流表创建以及查询的方法及装置 Active CN107547390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610512294.5A CN107547390B (zh) 2016-06-29 2016-06-29 流表创建以及查询的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610512294.5A CN107547390B (zh) 2016-06-29 2016-06-29 流表创建以及查询的方法及装置

Publications (2)

Publication Number Publication Date
CN107547390A CN107547390A (zh) 2018-01-05
CN107547390B true CN107547390B (zh) 2019-11-26

Family

ID=60965517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610512294.5A Active CN107547390B (zh) 2016-06-29 2016-06-29 流表创建以及查询的方法及装置

Country Status (1)

Country Link
CN (1) CN107547390B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048961B (zh) * 2019-04-24 2022-08-12 苏州盛科通信股份有限公司 基于asic的重复报文检测方法及系统
CN112491745B (zh) * 2020-11-17 2023-03-28 广州西麦科技股份有限公司 一种流量去重方法和装置
CN116248593A (zh) * 2022-12-30 2023-06-09 天翼云科技有限公司 一种流表关键字匹配方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345694A (zh) * 2007-07-11 2009-01-14 上海未来宽带技术及应用工程研究中心有限公司 一种快速查找定位和匹配访问控制列表的方法
CN101540723A (zh) * 2009-04-20 2009-09-23 杭州华三通信技术有限公司 一种流表查找方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903831B2 (en) * 2011-09-29 2014-12-02 International Business Machines Corporation Rejecting rows when scanning a collision chain
US9471622B2 (en) * 2012-04-30 2016-10-18 International Business Machines Corporation SCM-conscious transactional key-value store

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345694A (zh) * 2007-07-11 2009-01-14 上海未来宽带技术及应用工程研究中心有限公司 一种快速查找定位和匹配访问控制列表的方法
CN101540723A (zh) * 2009-04-20 2009-09-23 杭州华三通信技术有限公司 一种流表查找方法和装置

Also Published As

Publication number Publication date
CN107547390A (zh) 2018-01-05

Similar Documents

Publication Publication Date Title
CN104660565B (zh) 恶意攻击的检测方法和装置
US8931076B2 (en) Secure route discovery node and policing mechanism
CN104184664B (zh) 路由转发表项生成方法及装置
WO2019100921A1 (zh) 消息推送方法及装置
WO2017186159A1 (zh) 报文传输
CN107786440B (zh) 一种数据报文转发的方法及装置
CN107276916B (zh) 基于协议无感知转发技术的交换机流表管理方法
CN107547390B (zh) 流表创建以及查询的方法及装置
CN107317879A (zh) 一种用户请求的分发方法及系统
CN106911588B (zh) 用于实现深度包检测优化的方法、装置和系统
WO2020114239A1 (zh) 组播报文的处理方法及装置、存储介质、处理器
CN109347705A (zh) 一种环路检测方法及装置
US10057165B2 (en) Packet forwarding method and device
WO2013060191A1 (zh) 一种转发报文的方法、生成表项的方法及装置
CN108206788B (zh) 一种流量的业务识别方法及相关设备
CN106790299B (zh) 一种在无线接入点ap上应用的无线攻击防御方法和装置
CN108769118A (zh) 一种分布式系统中主节点的选取方法及装置
CN107679148A (zh) 一种分布式文件系统的会话查找方法、装置及设备
US9019951B2 (en) Routing apparatus and method for processing network packet thereof
CN101924670A (zh) 标签交换路径检测的方法及设备
CN103428085A (zh) 一种rip路由的快速切换方法和设备
CN105634999B (zh) 一种介质访问控制地址的老化方法及装置
CN105634944A (zh) 路由环路确定方法及设备
JPWO2009110445A1 (ja) アドレス検索方法およびパケット処理装置
US7159019B2 (en) Information collection apparatus and method

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
GR01 Patent grant
GR01 Patent grant