CN112565091A - 一种报文转发方法、装置、存储介质及终端设备 - Google Patents

一种报文转发方法、装置、存储介质及终端设备 Download PDF

Info

Publication number
CN112565091A
CN112565091A CN202011299412.1A CN202011299412A CN112565091A CN 112565091 A CN112565091 A CN 112565091A CN 202011299412 A CN202011299412 A CN 202011299412A CN 112565091 A CN112565091 A CN 112565091A
Authority
CN
China
Prior art keywords
message
forwarded
rule
index
mark
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
CN202011299412.1A
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.)
Pulian International Co ltd
Original Assignee
Pulian International 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 Pulian International Co ltd filed Critical Pulian International Co ltd
Priority to CN202011299412.1A priority Critical patent/CN112565091A/zh
Publication of CN112565091A publication Critical patent/CN112565091A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种报文转发方法、装置、存储介质及终端设备,方法包括:获取待转发报文的报文标记;当所述报文标记为命中标记时,根据所述报文标记获取第一索引值;根据所述第一索引值和预设的索引表获取与所述待转发报文对应的第一网络表条目;根据所述第一网络表条目对所述待转发报文进行相应转发处理。采用本发明的技术方案能够适用于各种网络类型,并有效提高报文转发性能。

Description

一种报文转发方法、装置、存储介质及终端设备
技术领域
本发明涉及通信技术领域,尤其涉及一种报文转发方法、装置、计算机可读存储介质及终端设备。
背景技术
路由器是网络中不可或缺的一部分,遍布于局域网、城域网和广域网中,在不同的应用环境下,路由器相应具有不同的功能,例如,在主干网络节点上,路由器主要实现路由转发功能,在网络边界上,路由器除了实现路由转发功能之外,往往还兼顾NAT和防火墙等职责,一般被称为网关。
路由转发、NAT和防火墙等功能单元的处理效率往往是决定路由器的转发性能关键所在,这些功能单元需要独立或者共同维护一张巨大的表,用于检索、记录、决策或更改来自不同设备去往不同目的设备的转发报文,网络规模越大,检索(查表)效率越是报文转发效率的关键。
通常情况下,在小型网络中布局通用路由器,这些通用路由器依靠主芯片及操作系统进行路由、NAT等查表和报文转发,查表和报文转发效率依赖于主芯片(CPU)性能;在中大型网络中布局专用路由器(网关、防火墙等),这些专用路由器在主芯片CPU之外配备有专门硬件转发引擎(ASIC、Network Processor等)来维护并处理这些查表操作,极大的解决了报文转发性能问题。
通用路由器主要是靠路由器主芯片CPU和操作系统进行路由和报文转发,常常还兼顾DNS代理或DHCP服务器等其他额外工作,实际上这些额外工作也占用了通用路由器主芯片CPU的资源,拉低了系统整体的报文转发性能,然而,在小型网络中布局具有硬件引擎(或支持部分硬件引擎)的专用路由器往往行不通,一方面是成本更高问题,另一方面是小型网络没有很高的性能需求,会造成资源浪费;在中大型网络中虽然布局了具有硬件引擎的专用路由器,但是,某些情况下可能存在硬件引擎资源不足,部分报文仍然需要路由器主芯片CPU进行转发处理的情况,同样会影响报文转发性能。
发明内容
本发明实施例所要解决的技术问题在于,提供一种报文转发方法、装置、计算机可读存储介质及终端设备,能够适用于各种网络类型,并有效提高报文转发性能。
为了解决上述技术问题,本发明实施例提供了一种报文转发方法,包括:
获取待转发报文的报文标记;
当所述报文标记为命中标记时,根据所述报文标记获取第一索引值;
根据所述第一索引值和预设的索引表获取与所述待转发报文对应的第一网络表条目;
根据所述第一网络表条目对所述待转发报文进行相应转发处理。
进一步地,所述获取待转发报文的报文标记,具体包括:
接收待转发报文;
根据预设的硬件ACL表对所述待转发报文进行规则匹配;
根据规则匹配的结果对所述待转发报文进行标记,获得所述待转发报文的报文标记。
进一步地,所述根据规则匹配的结果对所述待转发报文进行标记,具体包括:
当所述待转发报文仅与所述硬件ACL表中的默认硬件规则相匹配时,将所述待转发报文标记为未命中;
当所述待转发报文与所述硬件ACL表中的其他硬件规则相匹配时,将所述待转发报文标记为命中。
进一步地,还包括:
当所述报文标记为未命中标记时,获取所述待转发报文的报文特征;
查找预设的网络表,获取与所述报文特征对应的第二索引值;
根据所述第二索引值获取与所述待转发报文对应的第二网络表条目;
根据所述第二网络表条目对所述待转发报文进行相应转发处理。
进一步地,在所述根据所述第二索引值获取与所述待转发报文对应的第二网络表条目之后,还包括:
判断所述待转发报文是否满足预设的加速条件;
若是,则判断所述索引表中是否存在空闲索引位置;
当所述索引表中存在空闲索引位置时,构建所述空闲索引位置对应的空闲索引值与所述第二网络表条目之间的关联关系,并将所述空闲索引值记录在所述第二网络表条目的属性中;
将所述空闲索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
进一步地,还包括:
当所述索引表中不存在空闲索引位置时,找出所述索引表中满足预设的剔除条件的索引位置作为目标索引位置;
删除与所述目标索引位置相关联的逻辑规则,并删除与所述逻辑规则相对应的至少一个硬件规则;
删除所述目标索引位置以及与所述目标索引位置相关联的网络表条目之间的关联关系,并删除与所述目标索引位置相关联的网络表条目中的属性记录;
构建所述目标索引位置对应的目标索引值与所述第二网络表条目之间的关联关系,并将所述目标索引值记录在所述第二网络表条目的属性中;
将所述目标索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
进一步地,所述加速条件为:
具有相同的报文特征且报文的转发数量大于预设的数量阈值;或,
具有相同的报文特征且报文的转发速率大于预设的速率阈值;或,
符合预设的允许加速的报文特征。
进一步地,还包括:
当任一网络表条目发生更新且该网络表条目与所述索引表中的索引值具有关联关系时,对应更新该索引值所关联的网络表条目、逻辑规则以及对应的硬件规则。
为了解决上述技术问题,本发明实施例还提供了一种报文转发装置,包括:
报文标记获取模块,用于获取待转发报文的报文标记;
第一索引获取模块,用于当所述报文标记为命中标记时,根据所述报文标记获取第一索引值;
第一网络表条目获取模块,用于根据所述第一索引值和预设的索引表获取与所述待转发报文对应的第一网络表条目;
第一报文转发模块,用于根据所述第一网络表条目对所述待转发报文进行相应转发处理。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一项所述的报文转发方法。
本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的报文转发方法。
与现有技术相比,本发明实施例提供了一种报文转发方法、装置、计算机可读存储介质及终端设备,包括:获取待转发报文的报文标记,当报文标记为命中标记时,根据报文标记获取第一索引值,并根据第一索引值和预设的索引表获取与待转发报文对应的第一网络表条目,以根据第一网络表条目对待转发报文进行相应转发处理,通过将待转发报文的报文标记、第一索引值和第一网络表条目直接对应起来,无需通过大量的比对即可找到对应的第一网络表条目对待转发报文进行报文转发,查找效率高,CPU资源占用少,从而有效提高了报文的转发性能,并且对应用的网络类型没有限制,能够适用于各种网络类型,同时,未被占用的CPU资源可用于其他功能的业务处理,以应对更高的负载环境。
附图说明
图1是本发明提供的一种报文转发方法的一个优选实施例的流程图;
图2是本发明提供的一种报文转发理装置的一个优选实施例的结构框图;
图3是本发明提供的一种终端设备的一个优选实施例的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本技术领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种报文转发方法,参见图1所示,是本发明提供的一种报文转发方法的一个优选实施例的流程图,所述方法包括步骤S11至步骤S14:
步骤S11、获取待转发报文的报文标记;
步骤S12、当所述报文标记为命中标记时,根据所述报文标记获取第一索引值;
步骤S13、根据所述第一索引值和预设的索引表获取与所述待转发报文对应的第一网络表条目;
步骤S14、根据所述第一网络表条目对所述待转发报文进行相应转发处理。
具体的,在对接收到的待转发报文进行转发之前,先获取待转发报文携带的报文标记,判断获得的待转发报文携带的报文标记是否为命中标记,当判定待转发报文携带的报文标记为命中标记时,根据待转发报文携带的报文标记获取相对应的第一索引值,接着根据获得的第一索引值查找预先设置的索引表,以找出与待转发报文相对应的第一网络表条目,从而根据找到的第一网络表条目对待转发报文进行相应的报文转发处理(报文转发处理依据不同实现可能包含防火墙匹配、邻居子系统、网络接口发包等等后续流程)。
其中,索引表是预先建立的,索引表的数据结构一般设计为一维线性结构,可以O(1)时间访问每个索引位置,由主芯片操作系统存储维护,索引表的容量大小依据ACL所支持的规格数而定,索引表中的每一个索引位置唯一对应一个索引值,每一个索引值指向一个唯一的网络表条目(网络表条目的属性中记录了对应的索引值),并且至少记录最近索引使用时间。
需要说明的是,现有技术提供的网络表检索方法一般包含报文特征获取、索引计算、表检索三步,相较于本发明实施例所提供的方法,可以称之为慢速查表方法;慢速查表方法的性能关键在第三步即表检索,主芯片操作系统可能会进行多个网络表(例如,路由表、NAT表、防火墙规则表或者其他依据ACL的rule可以实现的报文特征所建立和查询的表等)检索,每张网络表都是由所属功能的一组条目组成的,在一张大的网络表中检索和查找匹配的网络表条目需要进行大量比对,最终找到命中条目,而网络表的数据结构设计与检索效率密切相关,常用的设计是hash数组加动态链表的二维结构,也可以是纯二位数组等其他数据结构,以hash数组加动态链表结构为例,操作系统首先从报文中获取用于计算索引的特征信息,然后依据设定好的hash计算方法,以特征信息作为输入计算此报文对应的hash值,再根据此hash值作为索引,找到hash数组的位置,最后在此位置的关联链表中依次比对,从而找到命中的条目,或者未找到命中条目。
从上述例子中可以看出,检索查找效率与链表中的比对次数有关,链表越长,检索耗时越多,总的对比次数P可以大概表示为P=n1*m1+n2*m2+…+nk*mk,其中,ni表示第i个索引的查询次数,mi表示第i个索引的关联链表的长度,i=1,2,…,k,链表的长度和查询次数是动态的,但总的来说,如果要使得P接近最优值(最小值),一个索引的查询次数越多,该索引的关联链表的长度应该越短,查询次数和链表长度与hash计算方法设计直接相关,但是,由于实际环境中报文特征完全随机,因此,很难找到一种固定的hash计算方法能做到最优情况,往往只会在某些应用环境中做到相对最优,在其他环境中表现较差。
由此可见,现有技术提供的慢速查表方法通常需要在大量比对才能找到匹配的网络表条目,例如,NAT表维护了一个散列(hash)链表,需要先通过数据报文特征计算得到散列(hash)索引,然后在这个索引位置关联的链表中依次对比查找对应条目,所花费的时间与链表长度m有关,为O(m);而本发明实施例提供的方法可以称之为快速查表方法,快速查表方法维护的是一个一维线性表,每个索引位置直接对应一个网络表条目,根据接收到的报文携带的报文标记就可以获取相对应的在这个线性表中的位置信息,也就是能直接找到对应的网络表条目,所花费时间为O(1),从而大大优化了网络表的检索查找时间。
本发明实施例所提供的一种报文转发方法,通过将待转发报文的报文标记、第一索引值和第一网络表条目直接对应起来,无需通过大量的比对即可找到对应的第一网络表条目对待转发报文进行报文转发,查找效率高,CPU资源占用少,从而有效提高了报文的转发性能,并且对应用的网络类型没有限制,能够适用于各种网络类型,同时,未被占用的CPU资源可用于其他功能的业务处理,以应对更高的负载环境。
在另一个优选实施例中,所述获取待转发报文的报文标记,具体包括:
接收待转发报文;
根据预设的硬件ACL表对所述待转发报文进行规则匹配;
根据规则匹配的结果对所述待转发报文进行标记,获得所述待转发报文的报文标记。
具体的,结合上述实施例,在接收到待转发报文之后,先根据预先设置的硬件ACL表对接收到的待转发报文进行规则匹配,以根据规则匹配的结果对待转发报文进行标记,从而根据标记的结果相应获得待转发报文携带的报文标记。
作为上述方案的改进,所述根据规则匹配的结果对所述待转发报文进行标记,具体包括:
当所述待转发报文仅与所述硬件ACL表中的默认硬件规则相匹配时,将所述待转发报文标记为未命中;
当所述待转发报文与所述硬件ACL表中的其他硬件规则相匹配时,将所述待转发报文标记为命中。
具体的,结合上述实施例,在根据预先设置的硬件ACL表对接收到的待转发报文进行规则匹配时,如果待转发报文仅与硬件ACL表中的默认硬件规则相匹配,则将待转发报文标记为未命中(此时待转发报文携带的报文标记为未命中标记),如果待转发报文与硬件ACL表中的其他硬件规则相匹配,则将待转发报文标记为命中(此时待转发报文携带的报文标记为命中标记)。
其中,预先设置的硬件ACL表中包括至少一条硬件规则,如果硬件ACL表中仅包括一条硬件规则,则该条硬件规则为默认硬件规则,默认硬件规则的优先级最低,可以与所有的报文相匹配;如果硬件ACL表中包括不止一条硬件规则,则其中一条硬件规则为默认硬件规则,剩下的属于其他硬件规则。
需要说明的是,标记的具体实现方法可以根据实际情况灵活设置,例如,以报文所携带的vlan id作为标记的实现依据,可以用vlan id=0表示未命中标记,用vlan id>0表示命中标记,并且命中标记所对应的索引值可以通过vlan id减去1计算获得。
在又一个优选实施例中,所述方法还包括:
当所述报文标记为未命中标记时,获取所述待转发报文的报文特征;
查找预设的网络表,获取与所述报文特征对应的第二索引值;
根据所述第二索引值获取与所述待转发报文对应的第二网络表条目;
根据所述第二网络表条目对所述待转发报文进行相应转发处理。
具体的,结合上述实施例,当判定待转发报文携带的报文标记为未命中标记时,先获取待转发报文对应的报文特征,再根据待转发报文的报文特征查找预先设置的网络表,以获取与待转发报文的报文特征相对应的第二索引值,接着根据获得的第二索引值在第二索引值的关联链表中找出与待转发报文相对应的第二网络表条目,从而根据找到的第二网络表条目对待转发报文进行相应的报文转发处理。
需要说明的是,网络表一般是一种hash链表结构,也就是网络表包含一组索引值,每一个索引值都指向一个关联链表;在查找时,先根据报文的报文特征找到属于哪个索引值,然后在该索引值指向的关联链表中找到具体对应的网络表条目。而上述实施例中的索引表是一种数组结构,与网络表不同,虽然索引表也包含一组索引值,但是,索引表中的每一个索引值直接指向一个网络表条目;在查找时,找到索引值即找到网络表条目,索引表相当于通过一条快速路径找到网络表条目。
报文标记和报文特征都可以用于报文转发,其中,报文标记等同于索引表中的一个索引值,它用于在索引表中查找待转发报文所对应的网络表条目(即为上述实施例中的第一网络表条目),查找速度快;报文特征用于在网络表中查找待转发报文所对应的网络表条目(即为本实施例中的第二网络表条目),查找速度慢。
在又一个优选实施例中,在所述根据所述第二索引值获取与所述待转发报文对应的第二网络表条目之后,所述方法还包括:
判断所述待转发报文是否满足预设的加速条件;
若是,则判断所述索引表中是否存在空闲索引位置;
当所述索引表中存在空闲索引位置时,构建所述空闲索引位置对应的空闲索引值与所述第二网络表条目之间的关联关系,并将所述空闲索引值记录在所述第二网络表条目的属性中;
将所述空闲索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
具体的,结合上述实施例,在获得待转发报文对应的第二网络表条目之后,判断待转发报文是否满足预先设置的加速条件,当判定待转发报文满足预先设置的加速条件时,进一步判断预先设置的索引表中是否存在空闲索引位置(即未被使用的索引位置),当判定索引表中存在空闲索引位置时,先构建该空闲索引位置所对应的空闲索引值与第二网络表条目之间的关联关系,并将该空闲索引值记录在第二网络表条目的属性中,以使得该空闲索引值直接指向第二网络表条目,再将该空闲索引值作为新报文标记,根据新报文标记和待转发报文的报文特征创建相应的新逻辑规则,并将创建的新逻辑规则下发至预先设置的硬件ACL表中,以设置与创建的新逻辑规则相对应的至少一个硬件规则。
需要说明的是,本发明实施例是一种索引表中的关联关系构建方法,在判定索引表中存在空闲索引位置时,存在的空闲索引位置可能不止一个,可以选择其中任意一个构建该空闲索引位置所对应的空闲索引值与第二网络表条目之间的关联关系。
可以理解的,当判定待转发报文不满足预先设置的加速条件时,直接根据找到的第二网络表条目对待转发报文进行相应的报文转发处理,不执行后续的关联关系构建步骤。
作为上述方案的改进,所述方法还包括:
当所述索引表中不存在空闲索引位置时,找出所述索引表中满足预设的剔除条件的索引位置作为目标索引位置;
删除与所述目标索引位置相关联的逻辑规则,并删除与所述逻辑规则相对应的至少一个硬件规则;
删除所述目标索引位置以及与所述目标索引位置相关联的网络表条目之间的关联关系,并删除与所述目标索引位置相关联的网络表条目中的属性记录;
构建所述目标索引位置对应的目标索引值与所述第二网络表条目之间的关联关系,并将所述目标索引值记录在所述第二网络表条目的属性中;
将所述目标索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
具体的,结合上述实施例,当判定索引表中不存在空闲索引位置时,找出索引表中满足预先设置的剔除条件的索引位置作为目标索引位置,先删除与该目标索引位置相关联的逻辑规则,并且删除与该逻辑规则相对应的至少一个硬件规则,再删除该目标索引位置以及与该目标索引位置相关联的网络表条目之间的关联关系,并且删除与该目标索引位置相关联的网络表条目中的属性记录,接着构建该目标索引位置所对应的目标索引值与第二网络表条目之间的关联关系,并将该目标索引值记录在第二网络表条目的属性中,以使得该目标索引值直接指向第二网络表条目,然后将该目标索引值作为新报文标记,根据新报文标记和待转发报文的报文特征创建新逻辑规则,并将创建的新逻辑规则下发至预先设置的硬件ACL表中,以设置与创建的新逻辑规则相对应的至少一个硬件规则。
其中,创建的新逻辑规则可以通过硬件编码方式下发至预先设置的硬件ACL表中,不同硬件ACL的实现方式不一样,通常在硬件中ACL规则(即上述实施例中的硬件规则)的实现是由rule及action两部分组成,硬件编码就是填充rule及action中的属性字段,写到寄存器中。
需要说明的是,创建的新逻辑规则可以相应存储在规则表中,相应的,规则表由一组逻辑规则组成,每一条逻辑规则至少包含相匹配的报文特征(rule)和打上的报文标记(action)两个部分,逻辑规则中的报文特征与在网络表中查询时所依据的待转发报文的报文特征一一对应,即与网络表中的索引值一一对应,逻辑规则中的报文标记在索引表中查询时所依据的待转发报文的报文特征一一对应,即与索引表中的索引值一一对应,从而实现了“逻辑规则”与“索引表和网络表条目”之间的映射,而每一条逻辑规则根据硬件ACL实际情况可以由单条或多条硬件ACL(rule/action)规则(即与该条逻辑规则相对应的至少一个硬件规则)实现,从而实现了“硬件ACL(rule/action)规则”与“索引表和网络表条目”之间的映射,其中,规则表可以根据实际情况确定是否需要创建,如果能通过“索引表和网络表条目”直接实现与“硬件ACL(rule/action)规则”之间的位置及优先级的映射(例如,给出任意一组关联的索引表和网络表条目,能够在O(1)时间内得到其对应的硬件ACL(rule/action)规则的位置及优先级信息),操作系统可以不专门存储该规则表,否则操作系统需要创建并存储该规则表。
如果需要创建规则表,在初始化阶段,会创建一条默认逻辑规则,并通过硬件编码方式将该默认逻辑规则下发至预先设置的硬件ACL表中,以设置与该默认逻辑规则相对应的硬件ACL(rule/action)规则(即默认硬件规则),该默认逻辑规则优先级最低,能匹配所有报文,并且标记报文为未命中。规则表的数据结构设计可根据实际情况而定,例如,可设计为一维线性结构,此时每个索引表中的索引位置关联或指向一条逻辑规则,每一条逻辑规则至少需要记录与之对应的硬件ACL(rule/action)规则的位置和优先级信息。
逻辑规则就是一个存储结构体,是规则表中一个条目,它包含多个属性,这些属性至少会记录报文特征、报文标记(对应索引值)、硬件ACL(rule/action)规则位置信息以及优先级信息。例如,当网络表是NAT表时,规则表中的一个逻辑规则可能包含报文五元组信息、索引值、硬件ACL(rule/action)规则的位置信息以及优先级信息。
逻辑规则的优先级来自于网络表条目的优先级,例如,NAT表中的条目的优先级都是一样的,那么每一个条目所对应的逻辑规则的优先级设置是一样的;而路由表中的条目的优先级不一样,路由前缀长的条目的优先级较高,那么其所对应的逻辑规则的优先级就相应较高。
逻辑规则的优先级通常影响硬件ACL(rule/action)规则在硬件ACL表中的存放位置,优先级顺序对应于存放位置先后,也就是向硬件ACL表下发逻辑规则时指定该逻辑规则对应的硬件ACL(rule/action)规则的存放位置,某些硬件芯片可能支持在硬件ACL表中指定优先级值的情况除外。
如果某个硬件支持每一条逻辑规则都需要x条硬件ACL(rule/action)规则进行实现,x的值是固定的,那么可以将每一条逻辑规则在规则表中的存放位置和先后顺序,与该逻辑规则所对应的硬件ACL(rule/action)规则在硬件ACL表中的存放位置和先后顺序相互对应;例如,某一条逻辑规则在规则表中的位置为y,那么实现这条逻辑规则的硬件ACL(rule/action)规则在硬件ACL表中的位置就可以安排在从x*y至x*y+(x-1)这x个位置,也就是说,存在一种映射关系,可以直接从“索引表和网络表条目”推算出“硬件ACL(rule/action)规则”的位置和优先级信息。
存放位置和先后顺序通常决定了匹配报文时的优先级,由于硬件ACL(rule/action)规则的匹配顺序可能是从最前面一条硬件ACL(rule/action)规则先匹配,依次匹配到最后一条,那么放在最前面的先匹配,则表示优先级较高。
作为上述方案的改进,所述加速条件为:
具有相同的报文特征且报文的转发数量大于预设的数量阈值;或,
具有相同的报文特征且报文的转发速率大于预设的速率阈值;或,
符合预设的允许加速的报文特征。
具体的,结合上述实施例,加速条件可以根据实际需求进行设定,加速条件可以为具有相同的报文特征且报文的转发数量大于预设的数量阈值,或者,具有相同的报文特征且报文的转发速率大于预设的速率阈值,或者,符合预设的允许加速的报文特征;相应的,当待转发报文的报文特征与某一个设定的报文特征相同,且该报文特征所对应的报文的转发数量大于预先设置的数量阈值时,判定待转发报文满足加速条件,或者,当待转发报文的报文特征与某一个设定的报文特征相同,且该报文特征所对应的报文的转发速率大于预先设置的速率阈值时,判定待转发报文满足加速条件,或者,当待转发报文的报文特征符合预先设定的允许加速的报文特征时,判定待转发报文满足加速条件。
作为上述方案的改进,所述剔除条件为:
通过LRU算法确定的命中次数最少;或,当前转发速率最低。
具体的,结合上述实施例,剔除条件可以根据实际需求进行设定,剔除条件可以为通过LRU算法确定的命中次数最少,或者,当前转发速率最低;相应的,当某一个索引位置为通过LRU算法确定的命中次数最少的位置时,判定该索引位置满足剔除条件,或者,当某一个索引位置为当前转发速率最低的位置时,判定该索引位置满足剔除条件。
在又一个优选实施例中,所述方法还包括:
当任一网络表条目发生更新且该网络表条目与所述索引表中的索引值具有关联关系时,对应更新该索引值所关联的网络表条目、逻辑规则以及对应的硬件规则。
具体的,结合上述实施例,当任意一个网络表条目发生更新,并且该网络表条目与索引表中的某一个索引值具有关联关系时,对应更新该索引值所关联的网络表条目、对应的逻辑规则以及对应的硬件规则。
例如,如果网络表条目中某些属性被用在了逻辑规则及其对应的硬件ACL(rule/action)规则上,那么当这些属性被更新后,逻辑规则对应的相关信息需要被更新,硬件ACL(rule/action)规则对应的相关信息也需要被更新。
可以理解的,当任意一个网络表条目发生更新,并且该网络表条目与索引表中的索引值没有关联关系时,表示该网络表条目未指向任何索引值,则不需要相应更新索引表中的关联关系,逻辑规则以及对应的硬件规则也不需要更新。
在又一个优选实施例中,所述方法还包括:
当任一网络表条目被删除且该网络表条目与所述索引表中的索引值具有关联关系时,删除与该索引值相关联的逻辑规则以及对应的硬件规则;
删除该索引值以及与该网络表条目之间的关联关系,并删除该网络表条目中的属性记录。
具体的,结合上述实施例,当任意一个网络表条目被删除,并且该网络表条目与索引表中的某一个索引值具有关联关系时,先删除该索引值所关联的逻辑规则以及对应的硬件规则,再删除该索引值以及该索引值与该网络表条目之间的关联关系,并删除该网络表条目中的属性记录。
可以理解的,当任意一个网络表条目发生更新,并且该网络表条目与索引表中的索引值没有关联关系时,表示该网络表条目未指向任何索引值,则仅删除该网络表条目即可。
下面结合上述实施例以及NAT表对本发明实施例所提供的报文转发方法进行具体说明:
NAT表的报文特征为报文五元组信息,例如,TCP报文对应的五元组信息包含的五个属性为:源IP,目的IP,源端口,目的端口,TCP协议号。
本示例中假设ACL支持n条硬件规则的设置,硬件规则之间有不同的匹配优先级,每条硬件规则与逻辑规则可一一对应,索引表的大小设置为n,报文特征(五元组信息)中的属性都能通过匹配引擎的rule设置为匹配条件,用vlan id实现报文标记,也就是每个vlanid对应一个五元组,vlan id通过匹配引擎的action进行设置,假设默认规则的vlan id为d,默认规则的匹配条件设置为能匹配所有数据报文,默认规则的优先级最低,通常ACL是将rule的mask设置为0来匹配所有数据报文。
本示例中每一条数据流在发起方向和回复方向各有一个五元组,假设某一条数据流满足加速条件,即该数据流已转发的报文数量超过预设的数量阈值,在发起方向的vlanid为a,回复方向的vlan id为b,以下是该数据流报文在系统中的处理流程。
发起方向的报文处理流程:(1)起始几个报文用于建立发起方向的NAT表条目,首先进入ACL,没有其他硬件规则可匹配,匹配上默认硬件规则,该报文的vlan id被默认规则修改为d;然后报文被送进主芯片操作系统处理,读取到报文标记为d,执行现有技术提供的慢速查表步骤,慢速查表步骤会根据NAT前的报文的五元组(源IP,目的IP,源端口,目的端口,协议号)以及NAT后的报文的五元组(源IP,目的IP,源端口,目的端口,协议号)建立对应的NAT表条目,以创建该报文所在数据流的发起方向的NAT表条目;接着获取到该报文、报文特征及发起方向的NAT表条目等信息,先判断当前数据流已转发报文数量是否超过预设的数量阈值,如果未超过预设的数量阈值,则根据获得的NAT表条目进行报文转发处理;否则在索引表中找到一个空闲索引值a或者根据剔除条件释放出一个空闲索引值a,将该空闲索引值a指向报文的发起方向的NAT表条目,并将该NAT表条目中的对应属性记录该空闲索引值a,这样形成互相关联,将该空闲索引值a作为报文标记与报文特征编码写入到硬件规则中;并且该报文仍然根据获得的NAT表条目进行报文转发处理。(2)对于发起方向的NAT表条目已建立后的报文,首先进入ACL,查找到一个匹配的硬件规则,该报文的vlan id被修改为a;然后报文被送进主芯片操作系统处理,读取到报文标记为a,执行本发明实施例所提供的快速查表步骤,快速查表直接利用a找到索引值a所关联的NAT表条目,根据所关联的NAT表条目进行报文转发处理。
回复方向的报文处理流程:(1)起始几个报文用于建立回复方向的NAT表条目,首先进入ACL,没有其他硬件规则可匹配,匹配上默认硬件规则,该报文的vlan id被默认规则修改为d;然后报文被送进主芯片操作系统处理,读取到报文标记为d,执行现有技术提供的慢速查表步骤,慢速查表步骤会创建该报文所在数据流的回复方向的NAT表条目;接着获取到该报文、报文特征及回复方向的NAT表条目等信息,先判断当前数据流已转发报文数量是否超过预设的数量阈值,如果未超过预设的数量阈值,则根据获得的NAT表条目进行报文转发处理;否则在索引表中找到一个空闲索引值b或者根据剔除条件释放出一个空闲索引值b,将该空闲索引值b指向报文的发起方向的NAT表条目,并将该NAT表条目中的对应属性记录该空闲索引值b,这样形成互相关联,将该空闲索引值b作为报文标记与报文特征编码写入到硬件规则中;并且该报文仍然根据获得的NAT表条目进行报文转发处理。(2)对于回复方向的NAT表条目已建立后的报文,首先进入ACL,查找到一个匹配的硬件规则,该报文的vlan id被修改为b;然后报文被送进主芯片操作系统处理,读取到报文标记为b,执行本发明实施例所提供的快速查表步骤,快速查表直接利用b找到索引值b关联的NAT表条目,根据所关联的NAT表条目进行报文转发处理。
本示例中如果n超过了vlan id的可用范围,可用考虑使用双层vlan tag或者其他cpu tag等技术,这里的vlan id只是示例。
本发明实施例还提供了一种报文转发装置,能够实现上述任一实施例所述的报文转发方法的所有流程,装置中的各个模块、单元的作用以及实现的技术效果分别与上述实施例所述的报文转发方法的作用以及实现的技术效果对应相同,这里不再赘述。
参见图2所示,是本发明提供的一种报文转发理装置的一个优选实施例的结构框图,所述装置包括:
报文标记获取模块11,用于获取待转发报文的报文标记;
第一索引获取模块12,用于当所述报文标记为命中标记时,根据所述报文标记获取第一索引值;
第一网络表条目获取模块13,用于根据所述第一索引值和预设的索引表获取与所述待转发报文对应的第一网络表条目;
第一报文转发模块14,用于根据所述第一网络表条目对所述待转发报文进行相应转发处理。
优选地,所述报文标记获取模块11,具体包括:
报文接收单元,用于接收待转发报文;
规则匹配单元,用于根据预设的硬件ACL表对所述待转发报文进行规则匹配;
报文标记获取单元,用于根据规则匹配的结果对所述待转发报文进行标记,获得所述待转发报文的报文标记。
优选地,所述报文标记获取单元,具体用于:
当所述待转发报文仅与所述硬件ACL表中的默认硬件规则相匹配时,将所述待转发报文标记为未命中;
当所述待转发报文与所述硬件ACL表中的其他硬件规则相匹配时,将所述待转发报文标记为命中。
优选地,所述装置还包括:
报文特征获取模块,用于当所述报文标记为未命中标记时,获取所述待转发报文的报文特征;
第二索引获取模块,用于查找预设的网络表,获取与所述报文特征对应的第二索引值;
第二网络表条目获取模块,用于根据所述第二索引值获取与所述待转发报文对应的第二网络表条目;
第二报文转发模块,用于根据所述第二网络表条目对所述待转发报文进行相应转发处理。
优选地,所述装置还包括加速条件判断模块和第一规则构建模块;
所述加速条件判断模块用于判断所述待转发报文是否满足预设的加速条件;
所述第一规则构建模块用于:
若是,则判断所述索引表中是否存在空闲索引位置;
当所述索引表中存在空闲索引位置时,构建所述空闲索引位置对应的空闲索引值与所述第二网络表条目之间的关联关系,并将所述空闲索引值记录在所述第二网络表条目的属性中;
将所述空闲索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
优选地,所述装置还包括第二规则构建模块,所述第二规则构建模块用于:
当所述索引表中不存在空闲索引位置时,找出所述索引表中满足预设的剔除条件的索引位置作为目标索引位置;
删除与所述目标索引位置相关联的逻辑规则,并删除与所述逻辑规则相对应的至少一个硬件规则;
删除所述目标索引位置以及与所述目标索引位置相关联的网络表条目之间的关联关系,并删除与所述目标索引位置相关联的网络表条目中的属性记录;
构建所述目标索引位置对应的目标索引值与所述第二网络表条目之间的关联关系,并将所述目标索引值记录在所述第二网络表条目的属性中;
将所述目标索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
优选地,所述加速条件为:
具有相同的报文特征且报文的转发数量大于预设的数量阈值;或,
具有相同的报文特征且报文的转发速率大于预设的速率阈值;或,
符合预设的允许加速的报文特征。
优选地,所述装置还包括:
规则更新模块,用于当任一网络表条目发生更新且该网络表条目与所述索引表中的索引值具有关联关系时,对应更新该索引值所关联的网络表条目、逻辑规则以及对应的硬件规则。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一实施例所述的报文转发方法。
本发明实施例还提供了一种终端设备,参见图3所示,是本发明提供的一种终端设备的一个优选实施例的结构框图,所述终端设备包括处理器10、存储器20以及存储在所述存储器20中且被配置为由所述处理器10执行的计算机程序,所述处理器10在执行所述计算机程序时实现上述任一实施例所述的报文转发方法。
优选地,所述计算机程序可以被分割成一个或多个模块/单元(如计算机程序1、计算机程序2、……),所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器10执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
所述处理器10可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器,或者所述处理器10也可以是任何常规的处理器,所述处理器10是所述终端设备的控制中心,利用各种接口和线路连接所述终端设备的各个部分。
所述存储器20主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等,数据存储区可存储相关数据等。此外,所述存储器20可以是高速随机存取存储器,还可以是非易失性存储器,例如插接式硬盘,智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡和闪存卡(Flash Card)等,或所述存储器20也可以是其他易失性固态存储器件。
需要说明的是,上述终端设备可包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,图3结构框图仅仅是上述终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
综上,本发明实施例所提供的一种报文转发方法、装置、计算机可读存储介质及终端设备,通过将待转发报文的报文标记、第一索引值和第一网络表条目直接对应起来,无需通过大量的比对即可找到对应的第一网络表条目对待转发报文进行报文转发,查找效率高,CPU资源占用少,从而有效提高了报文的转发性能,并且对应用的网络类型没有限制,能够适用于各种网络类型,同时,未被占用的CPU资源可用于其他功能的业务处理,以应对更高的负载环境。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (11)

1.一种报文转发方法,其特征在于,包括:
获取待转发报文的报文标记;
当所述报文标记为命中标记时,根据所述报文标记获取第一索引值;
根据所述第一索引值和预设的索引表获取与所述待转发报文对应的第一网络表条目;
根据所述第一网络表条目对所述待转发报文进行相应转发处理。
2.如权利要求1所述的报文转发方法,其特征在于,所述获取待转发报文的报文标记,具体包括:
接收待转发报文;
根据预设的硬件ACL表对所述待转发报文进行规则匹配;
根据规则匹配的结果对所述待转发报文进行标记,获得所述待转发报文的报文标记。
3.如权利要求2所述的报文转发方法,其特征在于,所述根据规则匹配的结果对所述待转发报文进行标记,具体包括:
当所述待转发报文仅与所述硬件ACL表中的默认硬件规则相匹配时,将所述待转发报文标记为未命中;
当所述待转发报文与所述硬件ACL表中的其他硬件规则相匹配时,将所述待转发报文标记为命中。
4.如权利要求1~3任一项所述的报文转发方法,其特征在于,还包括:
当所述报文标记为未命中标记时,获取所述待转发报文的报文特征;
查找预设的网络表,获取与所述报文特征对应的第二索引值;
根据所述第二索引值获取与所述待转发报文对应的第二网络表条目;
根据所述第二网络表条目对所述待转发报文进行相应转发处理。
5.如权利要求4所述的报文转发方法,其特征在于,在所述根据所述第二索引值获取与所述待转发报文对应的第二网络表条目之后,还包括:
判断所述待转发报文是否满足预设的加速条件;
若是,则判断所述索引表中是否存在空闲索引位置;
当所述索引表中存在空闲索引位置时,构建所述空闲索引位置对应的空闲索引值与所述第二网络表条目之间的关联关系,并将所述空闲索引值记录在所述第二网络表条目的属性中;
将所述空闲索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
6.如权利要求5所述的报文转发方法,其特征在于,还包括:
当所述索引表中不存在空闲索引位置时,找出所述索引表中满足预设的剔除条件的索引位置作为目标索引位置;
删除与所述目标索引位置相关联的逻辑规则,并删除与所述逻辑规则相对应的至少一个硬件规则;
删除所述目标索引位置以及与所述目标索引位置相关联的网络表条目之间的关联关系,并删除与所述目标索引位置相关联的网络表条目中的属性记录;
构建所述目标索引位置对应的目标索引值与所述第二网络表条目之间的关联关系,并将所述目标索引值记录在所述第二网络表条目的属性中;
将所述目标索引值作为新报文标记,根据新报文标记和所述报文特征创建新逻辑规则;
将新逻辑规则下发至预设的硬件ACL表中,以设置与新逻辑规则对应的至少一个硬件规则。
7.如权利要求5所述的报文转发方法,其特征在于,所述加速条件为:
具有相同的报文特征且报文的转发数量大于预设的数量阈值;或,
具有相同的报文特征且报文的转发速率大于预设的速率阈值;或,
符合预设的允许加速的报文特征。
8.如权利要求5所述的报文转发方法,其特征在于,还包括:
当任一网络表条目发生更新且该网络表条目与所述索引表中的索引值具有关联关系时,对应更新该索引值所关联的网络表条目、逻辑规则以及对应的硬件规则。
9.一种报文转发装置,其特征在于,包括:
报文标记获取模块,用于获取待转发报文的报文标记;
第一索引获取模块,用于当所述报文标记为命中标记时,根据所述报文标记获取第一索引值;
第一网络表条目获取模块,用于根据所述第一索引值和预设的索引表获取与所述待转发报文对应的第一网络表条目;
第一报文转发模块,用于根据所述第一网络表条目对所述待转发报文进行相应转发处理。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求1~8任一项所述的报文转发方法。
11.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如权利要求1~8任一项所述的报文转发方法。
CN202011299412.1A 2020-11-18 2020-11-18 一种报文转发方法、装置、存储介质及终端设备 Pending CN112565091A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011299412.1A CN112565091A (zh) 2020-11-18 2020-11-18 一种报文转发方法、装置、存储介质及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011299412.1A CN112565091A (zh) 2020-11-18 2020-11-18 一种报文转发方法、装置、存储介质及终端设备

Publications (1)

Publication Number Publication Date
CN112565091A true CN112565091A (zh) 2021-03-26

Family

ID=75044668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011299412.1A Pending CN112565091A (zh) 2020-11-18 2020-11-18 一种报文转发方法、装置、存储介质及终端设备

Country Status (1)

Country Link
CN (1) CN112565091A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489505A (zh) * 2022-01-21 2022-05-13 北京安天网络安全技术有限公司 数据报文的存储方法、装置、计算机设备
CN116016432A (zh) * 2022-12-30 2023-04-25 迈普通信技术股份有限公司 报文转发方法、装置、网络设备和计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946061A (zh) * 2006-10-12 2007-04-11 杭州华为三康技术有限公司 一种快速处理报文的方法及装置
CN101068212A (zh) * 2007-06-11 2007-11-07 中兴通讯股份有限公司 一种网络地址转换转发的装置及方法
CN102457386A (zh) * 2010-10-25 2012-05-16 杭州华三通信技术有限公司 一种通信设备的双向pim中组播报文转发方法和通信设备
WO2017124696A1 (zh) * 2016-01-21 2017-07-27 中兴通讯股份有限公司 策略路由处理、报文转发方法及装置
CN108259293A (zh) * 2017-02-28 2018-07-06 新华三技术有限公司 一种报文转发方法及装置
CN109873768A (zh) * 2017-12-01 2019-06-11 华为技术有限公司 更新转发表的方法、硬件加速器、ovs和服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946061A (zh) * 2006-10-12 2007-04-11 杭州华为三康技术有限公司 一种快速处理报文的方法及装置
CN101068212A (zh) * 2007-06-11 2007-11-07 中兴通讯股份有限公司 一种网络地址转换转发的装置及方法
CN102457386A (zh) * 2010-10-25 2012-05-16 杭州华三通信技术有限公司 一种通信设备的双向pim中组播报文转发方法和通信设备
WO2017124696A1 (zh) * 2016-01-21 2017-07-27 中兴通讯股份有限公司 策略路由处理、报文转发方法及装置
CN108259293A (zh) * 2017-02-28 2018-07-06 新华三技术有限公司 一种报文转发方法及装置
CN109873768A (zh) * 2017-12-01 2019-06-11 华为技术有限公司 更新转发表的方法、硬件加速器、ovs和服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489505A (zh) * 2022-01-21 2022-05-13 北京安天网络安全技术有限公司 数据报文的存储方法、装置、计算机设备
CN114489505B (zh) * 2022-01-21 2024-02-27 北京安天网络安全技术有限公司 数据报文的存储方法、装置、计算机设备
CN116016432A (zh) * 2022-12-30 2023-04-25 迈普通信技术股份有限公司 报文转发方法、装置、网络设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN110808910B (zh) 一种支持QoS的OpenFlow流表节能存储架构及其方法
CN107528783B (zh) 利用对前缀长度进行两个搜索阶段的ip路由缓存
US8484439B1 (en) Scalable hash tables
CN110620727B (zh) 多环境下的网关自动路由方法及相关设备
CN108848034B (zh) 一种网络设备及表项学习方法
CN112565091A (zh) 一种报文转发方法、装置、存储介质及终端设备
EP1909437A1 (en) A method for forwarding service of the data communication device and the forwarding apparatus
CN111988231B (zh) 一种掩码五元组规则匹配的方法及装置
US10467217B2 (en) Loop detection in cuckoo hashtables
CN107147581B (zh) 路由表项的维护方法和装置
CN110557335A (zh) 三态内容寻址存储器tcam表项处理方法及装置
CN110191135B (zh) Acl配置方法、装置、电子设备
CN108111422B (zh) 一种基于dpdk的数据高速多路转发方法及装置
US10546018B2 (en) System and method of coalescing writes to a hardware table in a non-disruptive fashion
JP2006246488A (ja) ネットワーク・ルータ、アドレス処理方法及びコンピュータ・プログラム
CN108718277B (zh) 基于路由表的报文转发方法与路由表维护方法及相关装置
CN113824814B (zh) 一种转发表的地址匹配方法、装置、网络设备及介质
US8755386B2 (en) Traceback packet transport protocol
CN113992580B (zh) 一种修改策略路由的方法及设备
CN109428822B (zh) 一种名字查找方法和网络设备
CN108768859B (zh) 数据处理方法、装置及系统
KR20180019437A (ko) 세트 멤버쉽 결정을 위한 테이블 검색 방법 및 이를 이용하는 테이블 검색 장치
CN111353018A (zh) 基于深度包检测的数据处理方法、装置和网络设备
CN114143083B (zh) 黑名单策略匹配方法、装置、电子设备及存储介质
CN114301680B (zh) 一种安全策略的匹配方法及装置、存储介质

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: 20210326

RJ01 Rejection of invention patent application after publication