五元组规则的查找方法及装置制造方法及图纸

技术编号:17307468 阅读:37 留言:0更新日期:2018-02-19 04:30
本发明专利技术实施例公开了一种五元组规则的查找方法及装置,所述方法包括:将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息;根据依次接收到的查找命令,将所述待查找信息作为当前查找信息,并行启动查找操作,并根据当前查找节点地址确定查找结果,其中,所述查找结果为与所述当前查找信息相对应的目标规则或者相邻地址信息;统计所有待查找信息相对应的查找结果,以确定新一轮待查找信息,直至遍历所有预设规则库,结束查找。本发明专利技术实施例充分利用了待查找信息等待查找结果之间的等待时间,在相同的时间内,本发明专利技术能够查找出更多五元组相对应的规则,有效提高了五元组规则查找的效率。

The method and device for finding the rules of five tuples

The embodiment of the invention discloses a method and a device for example a five tuple rule, the method includes: to treat five tuples, the first preset rule base and find the node address as to find a set of information, and determine the group to find information; according to the order received by the search command. To search for information as the search for information, search for parallel operation, and according to the current search node address to determine the search results, among them, the search results and the current search information corresponding to the target rule or adjacent address information; search results to find all the information on the corresponding statistics, to determine a new round of search information, until the traversal of all default rules, end the search. The embodiment of the invention makes full use of waiting time between waiting information and waiting for finding results. In the same time, the invention can find more rules corresponding to five tuples and effectively improve the efficiency of finding five tuple rules.

【技术实现步骤摘要】
五元组规则的查找方法及装置
本专利技术实施例涉及通讯
,尤其涉及一种五元组规则的查找方法及装置。
技术介绍
五元组规则查找是实现网络数据转发的重要一步。具体的,通过提取网络数据包中的五元组,并根据五元组按顺序查找不同的五元组规则库,能够获取该网络数据包的策略,以实现不同数据包的不同转发处理操作。其中,五元组指的源IP地址、源端口号、目的IP地址、目的端口号和协议类型,分别使用sip、dip、sp、dp、protocol表示。规则指的是网络数据包的转发处理策略,五元组规则指的是根据不同的匹配条件分成的关于五元组的规则库,如sip规则库,dip规则库,sip_dp规则库等,其中,每个规则库又包含若干条规则。例如,基于规则库中的规则,将源IP地址为10.10.10.10的数据包统一转发至某一个端口。由于信息技术的快速发展,用户需求量剧增,因此,现网中的每条10G光纤线路所包含的数据流数量是千万级的。其中,每个数据流即包含了一个网络数据包,每个网络数据包中又包含了五元组,而与五元组相匹配的五元组规则库的容量也是庞大的。因此,要实现对如此大规模网络数据包的五元组规则进行查找,需要大容量存储器,即DRAM(DynamicRandomAccessMemory,动态随机存取存储器)。但是,由于DRAM的读操作发出,到读结果返回有一定延迟,导致大规模网络数据包查找的五元组规则的花费时间长,效率低,大大降低了五元组规则的查找效率。
技术实现思路
本专利技术实施例提供一种五元组规则的查找方法及装置,能够有效提高五元组规则查找的效率。第一方面,本专利技术实施例提供了一种五元组规则的查找方法,包括:将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息;根据依次接收到的查找命令,将所述待查找信息作为当前查找信息,并行启动查找操作,并根据当前查找节点地址确定查找结果,其中,所述查找结果为与所述当前查找信息相对应的目标规则或者相邻地址信息;统计所有待查找信息相对应的查找结果,以确定新一轮待查找信息,直至遍历所有预设规则库,结束查找。第二方面,本专利技术实施例还提供了一种五元组规则的查找装置,包括:待查找信息确定模块,用于将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息;查找结果确定模块,用于根据依次接收到的查找命令,将所述待查找信息作为当前查找信息,并行启动查找操作,并根据当前查找节点地址确定查找结果,其中,所述查找结果为与所述当前查找信息相对应的目标规则或者相邻地址信息;查找结束模块,用于统计所有待查找信息相对应的查找结果,以确定新一轮待查找信息,直至遍历所有预设规则库,结束查找。本专利技术实施例提供了一种五元组规则的查找方法及装置,通过将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息;根据依次接收到的查找命令,将所述待查找信息作为当前查找信息,并行启动查找操作,并根据当前查找节点地址确定查找结果;统计所有待查找信息相对应的查找结果,以确定新一轮待查找信息,直至遍历所有预设规则库,结束查找,本专利技术通过将多组待查找信息依次作为当前查找信息,并行启动查找操作,充分利用了待查找信息等待查找结果之间的等待时间,在相同的时间内,本专利技术能够查找出更多五元组相对应的规则,有效提高了五元组规则查找的效率。附图说明图1A是现有技术中的一种五元组规则的查找的流程图;图1B是现有技术中五元组规则查找的顺序示意图;图1C是本专利技术实施例一中的一种五元组规则的查找方法的流程图;图1D是本专利技术实施例一中的一种五元组规则查找的顺序示意图;图1E是本专利技术实施例一中的一种缓存库协作完成五元组规则查找的示意图;图2是本专利技术实施例二中的一种五元组规则的查找方法的流程图;图3是本专利技术实施例三中的一种五元组规则的查找装置的结构图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。现有技术中,五元组规则的查找过程通常是采用哈希(hash)计算方法将五元组进行预处理,形成关于不同的规则库的初始五元组。图1A为现有技术中五元组规则查找的流程示意图。如图1A所示,当五元组进行查找sip规则库时,仅对sip规则库进行hash计算,得到初始五元组。将计算后的初始五元组与sip规则库基地址作为物理地址,以实现在sip规则库中进行查找的操作。由于sip规则库中包含多个规则节点,如规则节点0(node0)、规则节点1(node1)与规则节点2(node2)等,因此逐一对规则节点进行判断。如果对sip规则库中某规则节点的判断命中,则输出sip规则库中相应的转发策略;如果对sip规则库中某节点判断未命中,且存在hash冲突,则说明存在下一个规则节点,即继续查找下一规则节点;如果对sip规则库中某节点判断未命中,且不存在hash冲突,则说明五元组在该sip规则库的查找无结果,开始查找下一规则库,即dip规则库。并且,在dip规则库查找的方法与在sip查找的方法相同,不再赘述。需要说明的是,目前五元组规则的查找通常采用CPU(CentralProcessingUnit,中央处理器)芯片或FPGA(Field-ProgrammableGateArray,现场可编程门阵列)芯片实现查找。并且,查找方式为一个数据包中的五元组查找完所有五元组规则库,或者命中高优先级的五元组规则库之后,才能进行下一个数据包的五元组规则查找。图1B为现有技术中五元组规则查找的顺序示意图。如图1B所示,以数据包1与数据包2为例,现有技术的五元组规则查找方式,是数据包1中的五元组遍历过所有规则库的规则节点后,才能进行数据包2中的五元组规则查找。由此可知,当数据包数量巨大时,这样逐一数据包进行规则查找的方式相当浪费时间,查找效率低。本申请提供的方法,基于FPGA芯片进行五元组规则的查找操作能够有效改善上述规则查找效率低的情况,具体如下:实施例一图1C为本专利技术实施例一提供的一种五元组规则的查找方法的流程图,本实施例可适用于各种五元组规则的查找的情况,该方法可以由本专利技术实施例提供的五元组规则的查找装置来执行,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供五元组规则的查找功能的设备中,例如可以是电脑,如图1C所示,具体包括:S110、将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息。其中,待处理五元组指的是需要查找五元组规则的五元组信息,从数据包中提取而得的二进制格式的传输信息。由于五元组规则库包括多个,因此根据用户需求确定各个五元组规则库查找的顺序,第一预设规则库指的是待处理五元组第一个查找的五元组规则库,可以为sip规则库、dip规则库或者dp规则库等,本专利技术实施例对第一预设规则库的具体内容不作限定。由于五元组的规则数量巨大,数量级可为百万级、千万级甚至更多,因此每个五元组规则库需要分配多个物理空间用于存储五元组的规则。查找节点地址指的是五元组规则库中第一节点的基地址。由于现网中接收的数据包的数据量较大,本发本文档来自技高网...
五元组规则的查找方法及装置

【技术保护点】
一种五元组规则的查找方法,其特征在于,包括:将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息;根据依次接收到的查找命令,将所述待查找信息作为当前查找信息,并行启动查找操作,并根据当前查找节点地址确定查找结果,其中,所述查找结果为与所述当前查找信息相对应的目标规则或者相邻地址信息;统计所有待查找信息相对应的查找结果,以确定新一轮待查找信息,直至遍历所有预设规则库,结束查找。

【技术特征摘要】
1.一种五元组规则的查找方法,其特征在于,包括:将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息;根据依次接收到的查找命令,将所述待查找信息作为当前查找信息,并行启动查找操作,并根据当前查找节点地址确定查找结果,其中,所述查找结果为与所述当前查找信息相对应的目标规则或者相邻地址信息;统计所有待查找信息相对应的查找结果,以确定新一轮待查找信息,直至遍历所有预设规则库,结束查找。2.根据权利要求1所述的方法,其特征在于,根据当前查找节点地址确定查找结果,包括:根据所述当前查找节点地址,判断所述第一预设规则库中的第一节点地址是否有效;若有效,则判断所述第一节点是否命中;若命中,则输出与所述第一节点相匹配的目标规则;若未命中,则判断所述第一节点是否存在下一节点;若存在所述下一节点,则将所述下一节点地址替换所述当前查找信息中的当前查找节点地址,以确定所述当前查找信息相对应的相邻地址信息;若不存在所述下一节点,则判断是否存在第二预设规则库;若存在所述第二预设规则库,则将所述第二预设规则库替换所述当前查找信息中的第一预设规则库,以确定所述当前查找信息相对应的相邻地址信息;将所述目标规则或者所述相邻地址信息作为查找结果进行输出。3.根据权利要求2所述的方法,其特征在于,判断所述第一节点是否命中,包括:判断所述第一节点内的预存五元组与所述当前查找信息内包含的当前待处理五元组是否一致;若一致,则命中;若不一致,则未命中。4.根据权利要求2或3所述的方法,其特征在于,还包括若所述第一预设规则库中的第一节点地址无效,则判断是否存在第二预设规则库。5.根据权利要求1-3任一所述的方法,其特征在于,在将待处理五元组、第一预设规则库与查找节点地址作为一组待查找信息,并确定多组所述待查找信息之前,包括:根据待处理数据包提取所述待处理五元组;通过哈希算法计算所述待处理五元组对应的哈希值;基于所述哈希值与所述第一预设规则库,确定所述查找节点地址;相应的,确定所述当前查找信息相对应的相邻地址信息,包括:基于根据所述当前待处理五元组对应的哈希值与所述第二预设规则库...

【专利技术属性】
技术研发人员:吕金幸刘钧锴暴宇万月亮王梅
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1