CN112468413A - 报文处理方法、装置、电子设备及存储介质 - Google Patents

报文处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112468413A
CN112468413A CN202011366796.4A CN202011366796A CN112468413A CN 112468413 A CN112468413 A CN 112468413A CN 202011366796 A CN202011366796 A CN 202011366796A CN 112468413 A CN112468413 A CN 112468413A
Authority
CN
China
Prior art keywords
message
queue
matching
hardware
processor
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
Application number
CN202011366796.4A
Other languages
English (en)
Other versions
CN112468413B (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 CN202011366796.4A priority Critical patent/CN112468413B/zh
Publication of CN112468413A publication Critical patent/CN112468413A/zh
Application granted granted Critical
Publication of CN112468413B publication Critical patent/CN112468413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种报文处理方法、装置、电子设备及存储介质,涉及通信技术领域。所述方法包括:解析接收到的报文的匹配属性信息;基于所述匹配属性信息确定所述报文对应的匹配规则;将所述报文放入所述匹配规则对应的处理器的硬件功能队列中;对所述报文执行所述硬件功能队列对应的报文处理动作。上述方法在不使用交换芯片的情况下,通过硬件报文匹配、功能化硬件接收队列、硬件发送队列限速等方法实现了基于CPU的接收报文硬件规则匹配处理功能,降低了硬件成本,提高了报文匹配的适用性。

Description

报文处理方法、装置、电子设备及存储介质
技术领域
本申请涉及通信技术领域,具体而言,涉及一种报文处理方法、装置、电子设备及存储介质。
背景技术
目前大多数网络设备如路由器、交换机、网关等都支持硬件访问控制列表(AccessControl Lists,ACL)功能,需要引入交换芯片,这种结构的优点在于交换芯片实现具体的硬件ACL功能,不需要消耗中央处理器(Central Processing Unit,CPU)资源,且一般交换芯片的ACL表项资源比较丰富,可以支持较多的ACL功能。但是该结构也有存在较大的缺点:必须依赖交换芯片,没有支持硬件ACL的交换芯片就无法实现ACL功能,且一般支持ACL功能的交换芯片成本都比较高。
而对于CPU直出的以太接口,如果需要在接口实现ACL功能,则需要CPU参与对报文进行解析处理,然后根据配置的ACL规则对解析的报文进行匹配,但过多的占用CPU资源,依赖CPU对报文进行深度解析并参与到报文的后续处理中,并且软件实现ACL的性能较低。
发明内容
有鉴于此,本申请实施例的目的在于提供一种报文处理方法、装置、电子设备及存储介质,以改善现有技术中存在的需要引入交换芯片实现ACL功能的成本较高,而通过CPU和以太接口直接进行报文匹配占用CPU资源过高、ACL性能较低的问题。
本申请实施例提供了一种报文处理方法,应用于处理器,所述方法包括:解析接收到的报文的匹配属性信息;基于所述匹配属性信息确定所述报文对应的匹配规则;将所述报文放入所述匹配规则对应的处理器的硬件功能队列中;对所述报文执行所述硬件功能队列对应的报文处理动作。
在上述实现方式中,通过CPU提供的硬件报文匹配、硬件接收队列功能化、硬件发送队列限速等功能实现了基于CPU的处理报文硬件ACL功能,不仅解决了传统ACL功能必须依赖交换芯片才能实现的问题,更是解决了使用软件实现ACL功能所带来的CPU占用率高,ACL匹配性能低问题,兼顾了交换芯片实现ACL高效的优点和CPU软件实现ACL的灵活性。
可选地,所述匹配属性信息包括所述报文的以太类型、IP地址、协议值和端口号中的至少一种,所述解析接收到的报文的匹配属性信息,包括:通过所述处理器的硬件报文解析功能解析接收到的所述报文的以太类型、IP地址、协议值和端口号中的至少一种。
在上述实现方式中,通过处理器的硬件报文解析功能对报文进行以太类型、IP地址、协议值和端口号等属性信息的解析,以基于报文的匹配属性信息进行后续匹配,不需要引入交换芯片进行报文解析,降低了整体硬件成本。
可选地,所述基于所述匹配属性信息确定所述报文对应的匹配规则,包括:基于所述匹配属性信息,在已下发的访问控制列表中确定所述报文对应的匹配规则。
在上述实现方式中,在处理器已接收到的下发的匹配规则对匹配属性信息进行ACL匹配,不需要引入软件ACL,减少了对处理器的资源占用,提高了ACL处理效率。
可选地,在所述基于所述匹配属性信息确定所述报文对应的匹配规则之前,所述方法还包括:将访问控制列表配置以二层交换地址表项的形式下发至所述处理器的报文输入单元,每一条二层交换地址表项表示一个访问控制列表条目。
在上述实现方式中,通过二层交换地址表项的形式下发访问控制列表配置至处理器的报文输入单元,从而避免引入软件进行报文的ACL匹配,解放了处理器的资源,提高了报文匹配处理效率。
可选地,所述将所述报文放入所述匹配规则对应的处理器的硬件功能队列中,包括:基于所述匹配规则修改所述报文需要进入的所述硬件功能队列;将所述报文放入所述硬件功能队列。
在上述实现方式中,采用硬件功能队列进行报文处理类型的分类,避免引入软件进行报文ACL匹配后的动作处理,进一步实现了报文匹配的硬件实现。
可选地,所述硬件功能队列包括丢弃队列、限速队列、高优先级队列和低优先级队列中的至少一个;所述丢弃队列对应的报文处理动作为丢弃报文,所述限速队列对应的报文处理动作为将限速信息附加到所述报文的报文描述符中并发送所述报文,所述高优先级队列对应的报文处理动作为将第一发送优先级标识附加到所述报文的报文描述符中并发送所述报文,所述低优先级队列对应的报文处理动作为将第二发送优先级标识附加到所述报文的报文描述符中并发送所述报文,所述第一发送优先级高于所述第二发送优先级。
在上述实现方式中,通过丢弃队列、限速队列、高优先级队列和低优先级队列等硬件功能队列对报文实现不同的执行动作,从而使处理器在不引入软件ACL的情况下能够对报文进行限速、优先发送、丢弃等处理,实现完整的ACL功能。
可选地,所述硬件功能队列具有队列优先级,用于所述处理器优先处理所述队列优先级高的硬件功能队列。
在上述实现方式中,通过对硬件功能队列设置优先级,实现了对需要进行不同处理的报文处理优先级划分,避免对报文进行不必要的处理,提高了报文匹配处理效率。
本申请实施例提供了一种报文处理装置,应用于处理器,所述装置包括:解析模块,用于解析接收到的报文的匹配属性信息;匹配模块,用于基于所述匹配属性信息确定所述报文对应的匹配规则;进队模块,用于将所述报文放入所述匹配规则对应的处理器的硬件功能队列中;处理模块,用于对所述报文执行所述硬件功能队列对应的报文处理动作。
在上述实现方式中,通过CPU提供的硬件报文匹配、硬件接收队列功能化、硬件发送队列限速等功能实现了基于CPU的处理报文硬件ACL功能,不仅解决了传统ACL功能必须依赖交换芯片才能实现的问题,更是解决了使用软件实现ACL功能所带来的CPU占用率高,ACL匹配性能低问题,兼顾了交换芯片实现ACL高效的优点和CPU软件实现ACL的灵活性。
可选地,所述匹配属性信息包括所述报文的以太类型、IP地址、协议值和端口号中的至少一种,所述解析模块具体用于:通过所述处理器的硬件报文解析功能解析接收到的所述报文的以太类型、IP地址、协议值和端口号中的至少一种。
在上述实现方式中,通过处理器的硬件报文解析功能对报文进行以太类型、IP地址、协议值和端口号等属性信息的解析,以基于报文的匹配属性信息进行后续匹配,不需要引入交换芯片进行报文解析,降低了整体硬件成本。
可选地,所述匹配模块具体用于:基于所述匹配属性信息,在已下发的访问控制列表中确定所述报文对应的匹配规则。
在上述实现方式中,在处理器已接收到的下发的匹配规则对匹配属性信息进行ACL匹配,不需要引入软件ACL,减少了对处理器的资源占用,提高了ACL处理效率。
可选地,所述报文处理装置还包括:规则下发模块,用于将访问控制列表配置以二层交换地址表项的形式下发至所述处理器的报文输入单元,每一条二层交换地址表项表示一个访问控制列表条目。
在上述实现方式中,通过二层交换地址表项的形式下发访问控制列表配置至处理器的报文输入单元,从而避免引入软件进行报文的ACL匹配,解放了处理器的资源,提高了报文匹配处理效率。
可选地,所述进队模块具体用于:基于所述匹配规则修改所述报文需要进入的所述硬件功能队列;将所述报文放入所述硬件功能队列。
在上述实现方式中,采用硬件功能队列进行报文处理类型的分类,避免引入软件进行报文ACL匹配后的动作处理,进一步实现了报文匹配的硬件实现。
可选地,所述硬件功能队列包括丢弃队列、限速队列、高优先级队列和低优先级队列中的至少一个;所述丢弃队列对应的报文处理动作为丢弃报文,所述限速队列对应的报文处理动作为将限速信息附加到所述报文的报文描述符中并发送所述报文,所述高优先级队列对应的报文处理动作为将第一发送优先级标识附加到所述报文的报文描述符中并发送所述报文,所述低优先级队列对应的报文处理动作为将第二发送优先级标识附加到所述报文的报文描述符中并发送所述报文,所述第一发送优先级高于所述第二发送优先级。
在上述实现方式中,通过丢弃队列、限速队列、高优先级队列和低优先级队列等硬件功能队列对报文实现不同的执行动作,从而使处理器在不引入软件ACL的情况下能够对报文进行限速、优先发送、丢弃等处理,实现完整的ACL功能。
可选地,所述硬件功能队列具有队列优先级,用于所述处理器优先处理所述队列优先级高的硬件功能队列。
在上述实现方式中,通过对硬件功能队列设置优先级,实现了对需要进行不同处理的报文处理优先级划分,避免对报文进行不必要的处理,提高了报文匹配处理效率。
本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。
本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术中的一种报文处理结构的模块示意图。
图2为本申请实施例提供的一种报文处理方法的流程示意图。
图3为本申请实施例提供的一种报文处理方法的全流程示意图。
图4为本申请实施例提供的一种报文处理装置的模块示意图。
图标:20-报文处理装置;21-解析模块;22-匹配模块;23-进队模块;24-处理模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
经本申请人研究发现,使用交换芯片无法实现CPU直出以太接口的硬件ACL功能,且方案需要依赖交换芯片,其具体结构可以参考图1所示,因此成本也较高;其次使用CPU实现软件ACL功能占用CPU资源且软件实现ACL的性能较低,如匹配IP(Internet Protocol,互联网协议)值,MAC(Media Access Control,媒体存取控制)地址或者TCP(TransmissionControl Protocol,传输控制协议)/UDP(User Datagram Protocol,用户数据报协议)端口号等,然后对匹配的报文进行Action(动作),如丢弃,设置Qos(Quality of Service,质量服务),限速等等,其ACL的表项没有严格限制,只局限于内存大小,但是其缺点更为突出,那就是过多的占用CPU资源,依赖CPU对报文进行深度解析并参与到报文的后续处理中,并且软件实现ACL的性能较低。
为了解决现有技术存在的上述问题,本申请实施例提供了一种报文处理方法,请参考图2,图2为本申请实施例提供的一种报文处理方法的流程示意图。
步骤S12:解析接收到的报文的匹配属性信息。
处理器可以是通过常规的接口对报文进行接收,并且通过报文输入硬件单元对报文进行解析,可选地,报文输入硬件单元可以基于内容可寻址存储器(ContentAddressableMemory,CAM)实现。
内容可寻址存储器是以内容进行寻址的存储器,是一种特殊的存储阵列RAM(Random Access Memory,随机存取存储器)。它的主要工作机制就是将一个输入数据项与存储在CAM中的所有数据项自动同时进行比较,判别该输入数据项与CAM中存储的数据项是否相匹配,并输出该数据项对应的匹配信息。
可选地,上述匹配属性信息可以包括报文的以太类型、IP地址、协议值和端口号中的至少一种。
在报文输入硬件单元对报文进行解析时,可以是通过报文输入硬件单元的硬件报文解析功能解析报文获得其以太类型、IP地址、协议值和端口号等。
在步骤S14需要基于匹配属性信息进行报文匹配,因此需要在执行报文匹配之前将匹配规则下发至报文输入硬件单元,本实施例中的匹配规则可以是ACL规则。
可选地,匹配规则的下发步骤具体可以为:将访问控制列表配置以二层交换地址表项的形式下发至处理器的报文输入单元,每一条二层交换地址表项表示一个访问控制列表条目。
访问控制列表是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问。具体地,访问控制列表是应用在路由器接口的指令列表,这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
上述访问控制列表配置可以是二层交换地址表项的形式呈现,每一条二层交换地址表项表示一个访问控制列表条目。其中,二层交换地址表项可以是CAM表项,则对应的访问控制列表条目为ACL Entry,或者在本实施例中成为CAM Entry。
本实施例通过下表1所示的三条ACL规则为例,具体地,三条ACL规则具体在报文输入单元中以CAM表项的形式呈现为:匹配以太类型为0x9527的报文,匹配到后将报文丢弃;匹配目的IP地址为192.168.1.1的报文,匹配到后对报文进行限速,限速10Mbps;匹配TCP原端口号为179的报文,匹配到后对报文做高优先级处理。
Figure BDA0002802768260000081
Figure BDA0002802768260000091
表一
步骤S14:基于匹配属性信息确定报文对应的匹配规则。
具体地,报文输入硬件单元基于匹配属性信息中的以太类型、IP地址、协议值和端口号等信息在CAM中进行查找匹配。
以上述三条ACL规则为示例,在报文的以太类型为0x9527时则匹配的CAM Entry为0,在报文的目的IP地址为192.168.1.1时则匹配的CAM Entry为1,在报文的TCP原端口号为179时则匹配的CAM Entry为2。
步骤S16:将报文放入匹配规则对应的处理器的硬件功能队列中。
在完成报文的匹配后,报文输入硬件单元会基于匹配结果对报文的队列信息进行修改,以修改报文需要进入的硬件功能队列,再将报文放入(Add_Work)对应的处理器的硬件功能队列中。
可选地,本实施例中的硬件功能队列可以包括丢弃队列(Deny Queue)、限速队列(Limit Queue)、高优先级队列(High Pri Queue)和低优先级队列(Low Pri Queue)中的至少一个。进一步地,硬件功能队列还可以具有类型/定义(Shape/Modify)队列。
以上述三条ACL规则为示例,在报文匹配的CAM Entry为0时修改其队列信息为Deny Queue,在报文匹配的CAM Entry为1时修改其队列信息为Limit Queue,在报文匹配的CAM Entry为2时修改其队列信息为High Pri Queue。
同时,本实施例中的硬件功能队列还可以存在队列优先级,以使处理器基于每个队列的不同功能先后从硬件功能队列中获取报文进行处理,避免对报文进行无效处理,例如对需要丢弃的报文进行优先级设置等。
可选地,本实施例中的硬件功能队列的优先级从高到低依次可以设置为DenyQueue,Limit Queue、Shape/Modify Queue、High Pri Queue和Low Pri Queue。
应当注意的是,本实施例中的High Pri Queue和Low Pri Queue只是一个优先级划分示例,在其他实施例中可以基于优先级的划分设置任意数量的优先级硬件功能队列,以使每个优先级硬件功能队列都具有自身对应的发送优先级。
步骤S18:对报文执行硬件功能队列对应的报文处理动作。
处理器会根据硬件功能队列的优先级从硬件功能队列中获取(Get_Work)报文进行处理,由于硬件功能队列存在队列优先级,继续以上述三个ACL规则的报文为例,则以太类型为0x9527的报文会首先被处理,处理器获取到报文后判断其硬件功能队列为DenyQueue,则将报文直接丢弃;其次处理器会处理Limit Queue中的报文,由于队列为LimitQueue,处理器会将限速信息获取并附加到报文描述符中;最后,处理器处理High PriQueue中的报文,并将报文的发送优先级附加到报文描述符中。
当报文经过处理器进行不同硬件功能队列的对应处理后,会通过数据包发送单元(Packet Output,PKO)根据报文描述符中附加的限速信息和发送优先级信息对报文进行限速和优先发送处理,从而完成整个ACL功能。
可选地,本实施例中的数据包发送单元可以对报文进行调节、差值加权轮询(Deficit Weighted Round Robin,DWRR)算法调度、静态优先级(Static Priority)确定后发出接口。
对于本实施例提供的上述报文处理方法,可以参考图3,图3为本申请实施例提供的一种报文处理方法的全流程示意图。
为了配合本实施例提供的上述报文处理方法,本申请实施例还提供了一种报文处理装置20。
请参考图4,图4为本申请实施例提供的一种报文处理装置的模块示意图。
报文处理装置20包括:
解析模块21,用于解析接收到的报文的匹配属性信息;
匹配模块22,用于基于匹配属性信息确定报文对应的匹配规则;
进队模块23,用于将报文放入匹配规则对应的处理器的硬件功能队列中;
处理模块24,用于对报文执行硬件功能队列对应的报文处理动作。
可选地,匹配属性信息包括报文的以太类型、IP地址、协议值和端口号中的至少一种,解析模块21具体用于:通过处理器的硬件报文解析功能解析接收到的报文的以太类型、IP地址、协议值和端口号中的至少一种。
可选地,匹配模块22具体用于:基于匹配属性信息,在已下发的访问控制列表中确定报文对应的匹配规则。
可选地,报文处理装置20还包括:规则下发模块,用于将访问控制列表配置以二层交换地址表项的形式下发至处理器的报文输入单元,每一条二层交换地址表项表示一个访问控制列表条目。
可选地,进队模块23具体用于:基于匹配规则修改报文需要进入的硬件功能队列;将报文放入硬件功能队列。
可选地,硬件功能队列包括丢弃队列、限速队列、高优先级队列和低优先级队列中的至少一个;丢弃队列对应的报文处理动作为丢弃报文,限速队列对应的报文处理动作为将限速信息附加到报文的报文描述符中并发送报文,高优先级队列对应的报文处理动作为将第一发送优先级标识附加到报文的报文描述符中并发送报文,低优先级队列对应的报文处理动作为将第二发送优先级标识附加到报文的报文描述符中并发送报文,第一发送优先级高于第二发送优先级。
可选地,硬件功能队列具有队列优先级,用于处理器优先处理队列优先级高的硬件功能队列。
本申请实施例还提供了一种电子设备,该电子设备包括处理器,所述处理器读取并运行所述程序指令时,执行本实施例提供的报文处理方法中任一项所述方法中的步骤。
应当理解是,该电子设备可以是个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、交换机、路由器等具有逻辑计算功能的电子设备。
本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行报文处理方法中的步骤。
综上所述,本申请实施例提供了一种报文处理方法、装置、电子设备及存储介质,应用于处理器的所述方法包括:解析接收到的报文的匹配属性信息;基于所述匹配属性信息确定所述报文对应的匹配规则;将所述报文放入所述匹配规则对应的硬件功能队列中;对所述报文执行所述硬件功能队列对应的报文处理动作。
在上述实现方式中,通过CPU提供的硬件报文匹配、硬件接收队列功能化、硬件发送队列限速等功能实现了基于CPU的处理报文硬件ACL功能,不仅解决了传统ACL功能必须依赖交换芯片才能实现的问题,更是解决了使用软件实现ACL功能所带来的CPU占用率高,ACL匹配性能低问题,兼顾了交换芯片实现ACL高效的优点和CPU软件实现ACL的灵活性。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RanDom Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种报文处理方法,其特征在于,所述方法包括:
解析接收到的报文的匹配属性信息;
基于所述匹配属性信息确定所述报文对应的匹配规则;
将所述报文放入所述匹配规则对应的处理器的硬件功能队列中;
对所述报文执行所述硬件功能队列对应的报文处理动作。
2.根据权利要求1所述的方法,其特征在于,所述匹配属性信息包括所述报文的以太类型、IP地址、协议值和端口号中的至少一种,所述解析接收到的报文的匹配属性信息,包括:
通过所述处理器的硬件报文解析功能解析接收到的所述报文的以太类型、IP地址、协议值和端口号中的至少一种。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述匹配属性信息确定所述报文对应的匹配规则,包括:
基于所述匹配属性信息,在已下发的访问控制列表中确定所述报文对应的匹配规则。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述匹配属性信息确定所述报文对应的匹配规则之前,所述方法还包括:
将访问控制列表配置以二层交换地址表项的形式下发至所述处理器的报文输入单元,每一条二层交换地址表项表示一个访问控制列表条目。
5.根据权利要求1所述的方法,其特征在于,所述将所述报文放入所述匹配规则对应的处理器的硬件功能队列中,包括:
基于所述匹配规则修改所述报文需要进入的所述硬件功能队列;
将所述报文放入所述硬件功能队列。
6.根据权利要求1或5所述的方法,其特征在于,所述硬件功能队列包括丢弃队列、限速队列、高优先级队列和低优先级队列中的至少一个;
所述丢弃队列对应的报文处理动作为丢弃报文,所述限速队列对应的报文处理动作为将限速信息附加到所述报文的报文描述符中并发送所述报文,所述高优先级队列对应的报文处理动作为将第一发送优先级标识附加到所述报文的报文描述符中并发送所述报文,所述低优先级队列对应的报文处理动作为将第二发送优先级标识附加到所述报文的报文描述符中并发送所述报文,所述第一发送优先级高于所述第二发送优先级。
7.根据权利要求6所述的方法,其特征在于,所述硬件功能队列具有队列优先级,用于所述处理器优先处理所述队列优先级高的硬件功能队列。
8.一种报文处理装置,其特征在于,所述装置包括:
解析模块,用于解析接收到的报文的匹配属性信息;
匹配模块,用于基于所述匹配属性信息确定所述报文对应的匹配规则;
进队模块,用于将所述报文放入所述匹配规则对应的处理器的硬件功能队列中;
处理模块,用于对所述报文执行所述硬件功能队列对应的报文处理动作。
9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器运行程序指令时,执行权利要求1-7中任一项所述方法中的步骤。
10.一种可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-7任一项所述方法中的步骤。
CN202011366796.4A 2020-11-26 2020-11-26 报文处理方法、装置、电子设备及存储介质 Active CN112468413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011366796.4A CN112468413B (zh) 2020-11-26 2020-11-26 报文处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011366796.4A CN112468413B (zh) 2020-11-26 2020-11-26 报文处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112468413A true CN112468413A (zh) 2021-03-09
CN112468413B CN112468413B (zh) 2023-04-25

Family

ID=74809422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011366796.4A Active CN112468413B (zh) 2020-11-26 2020-11-26 报文处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112468413B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452594A (zh) * 2021-06-28 2021-09-28 新华三信息安全技术有限公司 一种隧道报文的内层报文匹配方法及装置
CN113923169A (zh) * 2021-10-11 2022-01-11 浙江大华技术股份有限公司 报文的过滤方法及装置、存储介质、电子装置
CN114328348A (zh) * 2021-12-17 2022-04-12 广东浪潮智慧计算技术有限公司 一种fpga加速板卡及其行情数据处理方法
CN115065736A (zh) * 2022-03-29 2022-09-16 兰州乐智教育科技有限责任公司 报文处理方法、装置、电子设备及存储介质
CN115225734A (zh) * 2022-09-20 2022-10-21 常州楠菲微电子有限公司 一种报文处理方法和网络设备
CN117118762A (zh) * 2023-10-24 2023-11-24 苏州元脑智能科技有限公司 中央处理器收包处理方法、装置、电子设备和存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377577B1 (en) * 1998-06-30 2002-04-23 Cisco Technology, Inc. Access control list processing in hardware
CN1725732A (zh) * 2005-06-08 2006-01-25 杭州华为三康技术有限公司 一种报文限速方法
CN101286936A (zh) * 2008-05-16 2008-10-15 华为技术有限公司 数据报文的处理方法及装置
CN101325534A (zh) * 2007-06-15 2008-12-17 上海亿人通信终端有限公司 基于网络处理器的访问控制列表实现方法
US8055800B1 (en) * 2007-06-29 2011-11-08 Extreme Networks, Inc. Enforcing host routing settings on a network device
CN102316040A (zh) * 2011-09-09 2012-01-11 中兴通讯股份有限公司 一种访问控制列表查找的方法及数据流分类装置
US20140153393A1 (en) * 2012-12-03 2014-06-05 Ramsundar Janakiraman Ingress traffic classification and prioritization with dynamic load balancing
CN104009924A (zh) * 2014-05-19 2014-08-27 北京东土科技股份有限公司 一种基于tcam和fpga的报文处理方法及装置
CN108234455A (zh) * 2017-12-14 2018-06-29 北京东土科技股份有限公司 一种报文转发控制方法、装置、计算机装置及存储介质
CN108848034A (zh) * 2018-07-17 2018-11-20 新华三技术有限公司 一种网络设备及表项学习方法
CN110851289A (zh) * 2019-10-23 2020-02-28 新华三信息安全技术有限公司 协议报文处理方法及交换机
US10708272B1 (en) * 2017-02-10 2020-07-07 Arista Networks, Inc. Optimized hash-based ACL lookup offload

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377577B1 (en) * 1998-06-30 2002-04-23 Cisco Technology, Inc. Access control list processing in hardware
CN1725732A (zh) * 2005-06-08 2006-01-25 杭州华为三康技术有限公司 一种报文限速方法
CN101325534A (zh) * 2007-06-15 2008-12-17 上海亿人通信终端有限公司 基于网络处理器的访问控制列表实现方法
US8055800B1 (en) * 2007-06-29 2011-11-08 Extreme Networks, Inc. Enforcing host routing settings on a network device
CN101286936A (zh) * 2008-05-16 2008-10-15 华为技术有限公司 数据报文的处理方法及装置
CN102316040A (zh) * 2011-09-09 2012-01-11 中兴通讯股份有限公司 一种访问控制列表查找的方法及数据流分类装置
US20140153393A1 (en) * 2012-12-03 2014-06-05 Ramsundar Janakiraman Ingress traffic classification and prioritization with dynamic load balancing
CN104009924A (zh) * 2014-05-19 2014-08-27 北京东土科技股份有限公司 一种基于tcam和fpga的报文处理方法及装置
US10708272B1 (en) * 2017-02-10 2020-07-07 Arista Networks, Inc. Optimized hash-based ACL lookup offload
CN108234455A (zh) * 2017-12-14 2018-06-29 北京东土科技股份有限公司 一种报文转发控制方法、装置、计算机装置及存储介质
CN108848034A (zh) * 2018-07-17 2018-11-20 新华三技术有限公司 一种网络设备及表项学习方法
CN110851289A (zh) * 2019-10-23 2020-02-28 新华三信息安全技术有限公司 协议报文处理方法及交换机

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GAO J等: "Design of broadband IPv6/lPv4 dual-stack access router based on service stream" *
胡元: "交换机ACL自动控制系统设计与实现" *
郑波等: "一种适用于网络处理器的队列管理算法", 《计算机研究与发展》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452594A (zh) * 2021-06-28 2021-09-28 新华三信息安全技术有限公司 一种隧道报文的内层报文匹配方法及装置
CN113452594B (zh) * 2021-06-28 2022-07-22 新华三信息安全技术有限公司 一种隧道报文的内层报文匹配方法及装置
CN113923169A (zh) * 2021-10-11 2022-01-11 浙江大华技术股份有限公司 报文的过滤方法及装置、存储介质、电子装置
CN114328348A (zh) * 2021-12-17 2022-04-12 广东浪潮智慧计算技术有限公司 一种fpga加速板卡及其行情数据处理方法
CN115065736A (zh) * 2022-03-29 2022-09-16 兰州乐智教育科技有限责任公司 报文处理方法、装置、电子设备及存储介质
CN115225734A (zh) * 2022-09-20 2022-10-21 常州楠菲微电子有限公司 一种报文处理方法和网络设备
CN117118762A (zh) * 2023-10-24 2023-11-24 苏州元脑智能科技有限公司 中央处理器收包处理方法、装置、电子设备和存储介质
CN117118762B (zh) * 2023-10-24 2024-02-09 苏州元脑智能科技有限公司 中央处理器收包处理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN112468413B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
CN112468413B (zh) 报文处理方法、装置、电子设备及存储介质
EP1754349B1 (en) Hardware filtering support for denial-of-service attacks
CN105721535A (zh) 对服务功能链中的服务功能的并行处理
CN108833299B (zh) 一种基于可重构交换芯片架构的大规模网络数据处理方法
US8937945B2 (en) Method and apparatus for optimizing usage of ternary content addressable memory (TCAM)
CN108768866B (zh) 组播报文跨卡转发方法、装置、网络设备及可读存储介质
US20070097992A1 (en) System and method for resolving address conflicts in a network
JP2009506618A (ja) 伝送情報を処理して、転送するシステムおよび方法
CN101313519A (zh) 一种提供QoS服务的方法和系统
US20110258694A1 (en) High performance packet processing using a general purpose processor
CN111782140A (zh) 网络数据包存储方法、装置、计算机设备和存储介质
EP2916516A1 (en) Packet processing method and apparatus
CN111108728B (zh) 对报文进行处理方法及装置
US8310927B1 (en) Priority scheme for control traffic in network switches
CN108989233B (zh) 拥塞管理方法及装置
CN117499258A (zh) 业务数据网络传输管理方法及dpu
Insolvibile Kernel korner: Inside the linux packet filter
CN109450797B (zh) 一种报文转发方法、装置和计算机设备
CN112511438A (zh) 一种利用流表转发报文的方法、装置及计算机设备
CN115033407B (zh) 一种适用于云计算的采集识别流量的系统和方法
EA008987B1 (ru) Способ классификации кадров по приоритету
CN107135170B (zh) 一种内容中心网络的高质量QoS保证方法
CN110365667B (zh) 攻击报文防护方法、装置、电子设备
CN109818882B (zh) 一种执行QoS策略的方法及装置
CN115883484A (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
GR01 Patent grant
GR01 Patent grant