CN114363258B - 一种报文处理装置 - Google Patents

一种报文处理装置 Download PDF

Info

Publication number
CN114363258B
CN114363258B CN202210260794.XA CN202210260794A CN114363258B CN 114363258 B CN114363258 B CN 114363258B CN 202210260794 A CN202210260794 A CN 202210260794A CN 114363258 B CN114363258 B CN 114363258B
Authority
CN
China
Prior art keywords
message
module
editing
programmable
mask
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
CN202210260794.XA
Other languages
English (en)
Other versions
CN114363258A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202210260794.XA priority Critical patent/CN114363258B/zh
Publication of CN114363258A publication Critical patent/CN114363258A/zh
Application granted granted Critical
Publication of CN114363258B publication Critical patent/CN114363258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种报文处理装置,包括:关键向量提取模块,用于获取原始报文,从原始报文中提取目标信息;报文缓存模块,用于缓存原始报文;可编程解析器,用于根据目标信息得到掩码匹配引擎所需的信息;掩码匹配引擎,根据可编程解析器输出的信息得到可编程编辑模块所需的处理策略;可编程编辑模块,用于根据处理策略对相应的字段进行编辑,得到编辑后的字段;报文组装模块,用于将编辑后的字段与缓存的原始报文进行重新组装,构成新的报文输出。本发明能够在不修改硬件设计的基础上,实现通用网络协议以及潜在的网络协议所需要的报文编辑,具有较高的普适性,以有效支持快速的定制网络协议发展。

Description

一种报文处理装置
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种报文处理装置。
背景技术
目前,随着互联网规模的持续扩大和新兴网络技术的飞速发展,网络业务应用的拓展和新网络协议的更新对网络设备的可编程性与协议持续演进性提出了更高的要求。传统的核心网络设备针对特定的网络协议进行设计与优化,其处理过程高效且简洁,但其实现较为固化,当需要支持新的协议时,往往亦需要修改其硬件设计,周期长且成本高。基于此,在保持硬件高性能的前提下,如何提高网络设备的的灵活性成为一个亟待解决的问题。
路由器、交换机等核心网络设备所需执行任务的处理过程一般可分为报文解析分类、匹配识别与处理策略执行三个步骤。以路由查找任务为例,报文解析分类即根据报文的Type域等信息判断是否为IP报文,对于IP报文则提取出其IP地址等关键属性字段;而匹配识别则是根据提取出的IP地址进行查表匹配,以获取该报文的处理策略;所谓的处理策略执行则是根据获取的处理策略对报文的MAC(Media Access Control,媒体访问控制)地址、TTL(Time to Live,生存周期)等进行编辑后,转发至目标局域网所在的输出端口。对于提高报文解析分类的灵活性,目前已有较为成熟技术,如可编程解析器,其对新协议的支撑无需更改硬件,仅需要通过软件重新映射解析图;而关于匹配识别步骤,其通过高位宽的掩码匹配即可支持协议无关的灵活查表匹配;至于处理策略执行步骤,报文的丢弃、转发等简单操作很容易实现可编程,但报文编辑与网络协议相关,不同网络协议报文所需编辑的字段位置、长度、执行方式与顺序等也各不相同,导致适用多种网络协议报文编辑的实现异常复杂,当前所谓的可编程处理策略多是将所涉及协议的相关处理策略按照顺序排列好,然后按照协议需求从众多预先实现好的处理策略中选择执行,如上述路由转发就需要MAC地址的替换、TTL减一等处理策略,这种方式可以在一定程度上提高灵活性,但硬件资源利用率低,执行顺序相对固化,当有新协议需要添加新的处理策略,或者仅需改变执行顺序时,仍旧需要修改硬件设计。
因此,如何在不修改硬件设计的基础上,实现通用网络协议以及潜在的网络协议所需要的报文编辑,以有效支持快速的定制网络协议发展,是一项亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种报文处理装置,能够在不修改硬件设计的基础上,实现通用网络协议以及潜在的网络协议所需要的报文编辑,具有较高的普适性,以有效支持快速的定制网络协议发展。
本发明提供了一种报文处理装置,包括:关键向量提取模块、报文缓存模块、可编程解析器、掩码匹配引擎、可编程编辑模块和报文组装模块;其中:
所述关键向量提取模块,用于获取原始报文,从所述原始报文中提取目标信息;
所述报文缓存模块,用于缓存所述原始报文;
所述可编程解析器,用于根据所述目标信息得到所述掩码匹配引擎所需的信息;
所述掩码匹配引擎,根据所述可编程解析器输出的信息得到所述可编程编辑模块所需的处理策略;
所述可编程编辑模块,用于根据所述处理策略对相应的字段进行编辑,得到编辑后的字段;
所述报文组装模块,用于将所述编辑后的字段与缓存的所述原始报文进行重新组装,构成新的报文输出。
优选地,所述关键向量提取模块在执行获取原始报文,从所述原始报文中提取目标信息时,具体用于:
获取原始报文,从所述原始报文中提取解析域和编辑域,生成元数据,并将所述解析域、编辑域和元数据构成第一关键向量,其中,提取所述解析域和编辑域的位置偏移与长度均可配置。
优选地,所述可编程解析器在执行根据所述关键向量提取模块提取的目标信息得到所述掩码匹配引擎所需的信息时,具体用于:
根据所述第一关键向量中的解析域完成报文的解析与分类,得到所述掩码匹配引擎所需的信息。
优选地,所述所述掩码匹配引擎在执行根据所述可编程解析器输出的信息得到所述可编程编辑模块所需的处理策略时,具体用于:
根据所述可编程解析器输出的信息以及所述元数据进行查表匹配,得到所述可编程编辑模块所需的处理策略,并将所述编辑域、所述元数据和所述处理策略构成第二关键向量。
优选地,所述可编程编辑模块包括:运算子模块、编辑域重组子模块以及元数据更新子模块;其中:
所述运算子模块,用于特定字段的加减法运算;
所述编辑域重组子模块,用于以字节为单位对所述编辑域进行重组;
所述元数据更新子模块,用于根据所述处理策略对所述元数据的特定字段进行更新。
优选地,所述运算子模块包括:一个运算规则查找单元和多个运算执行单元;其中:
所述运算规则查找单元,用于根据所述处理策略中的相关索引在预先配置的运算规则表中获取每个运算执行单元的操作规则;
所述运算执行单元,用于根据所述操作规则提取需要进行运算的字段,执行运算操作后再将运算结果写回对应位置。
优选地,所述运算执行单元至少包括两个固定字节提取器、两个移位器、一个加法器和减法器以及三个掩码运算器;其中:
两个固定字节提取器中的其中一个用于提取被加/减数所在字段,另一个用于提取加/减数所在字段;
三个掩码运算器中的其中两个掩码运算器在分别对提取的被加/减数、加/减数进行掩码运算,以适应被加/减数、加/减数位宽小于实际提取的字段长度的情况;
两个位移器分别对掩码运算后的被加/减数、加/减数再进行移位操作,以适应加/减数与被加/减数的单位不一致的情况;
加法器和减法器则用于对被移位后的被加/减数、加/减数执行加/减法运算;
三个掩码运算器中的最后一个掩码运算器则用于将运算结果进行掩码写回到对应位置。
优选地,所述编辑域重组子模块包含一个重组规则查找单元与众多单字节提取器,其中:
所述重组规则查找单元,用于根据所述处理策略中的相关索引在预先配置的重组规则表中查找每个单字节提取器的提取位置偏移;
所述单字节提取器,用于根据提取位置偏移从所述第二关键向量中提取出对应字段,依次排列后即组成新的编辑域。
优选地,所述元数据更新子模块包含一个更新规则查找单元以及一个更新操作执行单元;其中:
所述更新规则查找单元,用于根据所述处理策略中的相关索引在预先配置的更新规则表中查找对应的操作规则;
所述更新操作执行单元,用于根据对应的操作规则更新元数据的特定字段。
优选地,所述报文组装模块具体用于:
根据所述可编程编辑模块输出的更新后元数据中的编辑域长度信息,从编辑域中截取有效编辑域,从所述报文缓存模块中提取出对应的原始报文,根据新的编辑域的起始偏移位置与截止偏移位置将截取的有效编辑域填充进所述原始报文,最终得到编辑后的报文,与更新的元数据一起输出。
综上所述,本发明公开了一种报文处理装置,包括:关键向量提取模块、报文缓存模块、可编程解析器、掩码匹配引擎、可编程编辑模块和报文组装模块;其中:所述关键向量提取模块,用于获取原始报文,从所述原始报文中提取目标信息;所述报文缓存模块,用于缓存所述原始报文;所述可编程解析器,用于根据所述目标信息得到所述掩码匹配引擎所需的信息;所述掩码匹配引擎,根据所述可编程解析器输出的信息得到所述可编程编辑模块所需的处理策略;所述可编程编辑模块,用于根据所述处理策略对相应的字段进行编辑,得到编辑后的字段;所述报文组装模块,用于将所述编辑后的字段与缓存的所述原始报文进行重新组装,构成新的报文输出。本发明能够在不修改硬件设计的基础上,实现通用网络协议以及潜在的网络协议所需要的报文编辑,具有较高的普适性,以有效支持快速的定制网络协议发展。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开一种报文处理装置的结构示意图;
图2为本发明实施例公开的一种可编程编辑模块的结构示意图;
图3为本发明实施例公开的一种运算执行单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1、图2和图3对本发明公开的一种报文处理装置的工作原理进行详细描述。
如图1所述,为本发明实施例公开的一种报文处理装置的结构示意图,所述报文处理装置包括:关键向量提取模块11、报文缓存模块12、可编程解析器13、掩码匹配引擎14、可编程编辑模块15和报文组装模块16;其中:关键向量提取模块11用于从原始报文中提取后续模块所需信息,然后将原始报文送到报文缓存模块12进行存储,可编程解析器13与掩码匹配模块14则通过对报文的解析与查表匹配获取报文的处理策略,可编程编辑模块15则根据获取的处理策略对相应的字段进行编辑,最后报文组装模块16将编辑后的字段与缓存的原始报文重新组装,构造成新的报文输出。
具体的,关键向量提取模块11用于从原始报文中提取可编程解析器13需要使用的字段(以下简称解析域)以及需要编辑的字段(以下简称编辑域),提取解析域与编辑域的位置偏移与长度均可配置;同时生成对应的元数据metadata(元数据用以记录报文的长度、输入端口、输出端口、时间戳、编辑域的位置偏移与长度等报文的其他属性),并将解析域、编辑域以及元数据metadata构成第一关键向量输出。
在其中的一种实现方式中,关键向量提取模块11提取解析域,即从原始报文中截取可编程解析器13可能需要的字段,一般包括报文的Layer(层) 2、Layer 3、Layer 4等各层报文的全部头信息;而提取编辑域,即从原始报文中截取可能需要进行编辑的字段,一般也是报文的Layer 2、Layer 3、Layer 4等各层报文头;解析域与编辑域的提取位置偏移与长度均可进行配置。可以将解析域与编辑域最大位宽设置为128Bytes,即解析域与编辑域可提取的最大长度为128 Bytes,以满足绝大多数协议的需求;将元数据metadata则设置为16 Bytes,以记录报文的长度、输入端口、输出端口、时间戳、编辑域的位置偏移与长度等报文属性;最后将解析域、编辑域以及元数据metadata共272 Bytes构成第一关键向量输出。
具体的,报文缓存模块12用于缓存原始报文;本实施例中的报文缓存模块12是为支持流水处理而缓存原始报文,其深度需大于可编程解析器13、掩码匹配引擎14以及可编程编辑模块15的最大流水级数之和,当报文组装模块16收到可编程编辑模块15处理完的最终关键向量后,则原始报文会从报文缓存模块12中被取出以进行组装。
具体的,可编程解析器13用于根据第一关键向量中的解析域完成报文的解析分类,获取掩码匹配引擎14所需的信息。可编程解析器13对新协议的支撑无需更改硬件,仅需要通过软件重新映射解析图。
具体的,掩码匹配引擎14,用于根据可编程解析器13输出的信息进行查表匹配,以获取后续可编程编辑模块所需的处理策略,并将编辑域、元数据metadata与处理策略构第二关键向量;掩码匹配引擎14通过高位宽的掩码匹配即可支持协议无关的灵活查表匹配。
需要说明的是,在本实施例中,使用可编程解析器13与掩码匹配引擎14的目的是为可编程编辑模块15提供处理策略,同时不会成为可编程编辑模块15提高灵活性的瓶颈。
在其中一种实现方式中,掩码匹配引擎14获取的处理策略的最大位宽可以定义为112Bytes,其可通过多级匹配查表的结果进行拼接而成;掩码匹配引擎14最后将编辑域、元数据metadata以及处理策略共256 Bytes构成第二关键向量输出。
可编程编辑模块15,用于根据获取的处理策略对第二关键向量进行编辑,得到新的编辑域。
在其中一种实现方式中,所述可编程编辑模块15则用于对上述掩码匹配引擎14输出的256Bytes的第二关键向量进行协议无关的编辑,如图2所示,可编程编辑模块包含运算子模块21、编辑域重组子模块22以及元数据更新子模块23,三者处理的规则索引存在于处理策略,处理字段的来源则是整个256Bytes的第二关键向量。其中,运算子模块21可用于如TTL减一等各种长度以及指针类字段的加减法运算;编辑域重组子模块22则以字节为单位对编辑域进行重组,以实现某些字段的移动操作,如MAC地址替换、VLAN(Virtual LocalArea Network,虚拟局域网)标签的添加、替换与删除操作;元数据更新模块23则是根据处理策略对元数据metadata的某些字段进行更新,以便于后续进行报文的组装、校验和计算以及转发等处理。
在其中一种实现方式中,所述的运算子模块21,可以包含一个运算规则查找单元211以及八个运算执行单元212。其中,运算规则查找单元211用于根据处理策略中的相关索引在预先配置的运算规则表中获取每个运算执行单元212的操作规则;运算执行单元212则根据操作规则提取需要进行运算的字段,执行对应运算操作后再将运算结果写回对应位置。每一个运算执行单元212均可执行两个字段的相加/减操作,本实施例包含八个运算执行单元212,足以满足一般报文的Layer 2、Layer 3、Layer 4等各层报文头中的长度或者指针类字段的运算需求。
在其中一种实现方式中,所述的编辑域重组子模块22,包含一个重组规则查找单元221与128个单字节提取器222。其中,重组规则查找单元221用于根据处理策略中的相关索引在预先配置的重组规则表中查找每个单字节提取器222的提取位置偏移;128个单字节提取器222则根据提取位置偏移从第二关键向量中提取出对应的一个字节,然后依次排列即可组成128Bytes的新编辑域。在本实施例中,单字节提取器222提取字节的来源为256Bytes的第二关键向量,即每单字节提取器222的需要从256字节中选择一个字节取出,若在一个周期内完成可能会影响硬件实现的最高频率,因此可以分两级提取,即将256Bytes的第二关键向量划分成16个16Bytes的字段,第一级从16个16Bytes字段中选择一个提取出来,第二级则从此16Bytes选择一个字节进行提取。
在其中一种实现方式中,所述的元数据更新子模块23,包含一个更新规则查找单元231以及一个更新操作执行单元232。其中更新规则查找单元231用于根据处理策略中的相关索引在预先配置的更新规则表中查找对应的操作规则;更新操作执行单元232则根据对应的操作规则更新元数据的某些字段。最后元数据更新模块23将新的编辑域与新的元数据metadata构成144Bytes的最终关键向量输出。在本实施例中,鉴于元数据metadata的各个字段的位置与语义均固定,则在112Bytes的处理策略中预留16Bytes,其与元数据metadata各字段的位置与语义相似;如此,对于如输出端口、时间戳等类似字段,更新操作执行单元232仅需要进行掩码替换,其查找的操作规则即为掩码;而对于如报文长度、编辑域的位置偏移与长度等类似字段,可能还需要进行计算,则在更新操作执行单元232中对此类字段各放置一个加法器和减法器,以便于将元数据metadata中的字段与处理策略中预留16Bytes的对应字段进行加法或者减法操作,而其操作规则即为是否进行加法或减法运算。
如图3所示,为本发明的公开的一种运算执行单元的结构示意图,其包括两个2Bytes提取器301、三个2Bytes掩码运算器302、两个2Bytes移位器303、一个2Bytes加法器304、一个2Bytes减法器305和一个2Bytes选择器306。
在本实施例中,两个2Bytes提取器301中的一个用于提取被加/减数所在2Bytes字段,而另一个则用于提取加/减数所在2Bytes字段,提取的来源可以为编辑域、元数据metadata以及处理策略构成的256Bytes第二关键向量,因此可以采用字节重组子模块22中所述的两级提取方法;三个2Bytes掩码运算器302的其中两个再分别对提取的2Bytes的被加/减数以及2Bytes的加/减数进行掩码运算,以应对实际需要运算的被加/减数、加/减数位宽小于2Bytes的情况,如IP的头长度域的位宽仅为4bit;两个2Bytes移位器303再分别对被掩码运算后的被加/减数、加/减数进行移位操作,以便于适应加/减数与被加/减数的单位不一致的情况,如IP的头长度域的单位就为4Bytes,而众多长度域的单位一般为1Bytes;2Bytes加法器304和2Bytes减法器305则用于对最终的被加/减数、加/减数执行加/减法运算;2Bytes选择器306则用于选择加法运算结果或者减法运算结果; 最后一个2Bytes掩码运算器302则对运算结果进行掩码运算后写回到第二关键向量对应位置。
报文组装模块16,用于将新的编辑域与缓存的原始报文组装成新的报文。
具体的,本实施例中所述的报文组装模块16收到可编程编辑模块15输出的最终关键向量后,先根据其元数据metadata中编辑域的长度从128Bytes的编辑域截取有效长度,然后从报文缓存模块12中取出对应的原始报文,再根据编辑域的起始偏移位置与截止偏移位置将截取的编辑域填充进原始报文,最终得到编辑后的报文,与元数据metadata一起输出。
综上所述,本发明能够在不修改硬件设计的基础上,实现通用网络协议以及潜在的网络协议所需要的报文编辑,具有较高的普适性,以有效支持快速的定制网络协议发展。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (2)

1.一种报文处理装置,其特征在于,包括:关键向量提取模块、报文缓存模块、可编程解析器、掩码匹配引擎、可编程编辑模块和报文组装模块;其中:
所述关键向量提取模块,用于获取原始报文,从所述原始报文中提取目标信息;
所述报文缓存模块,用于缓存所述原始报文;
所述可编程解析器,用于根据所述目标信息得到所述掩码匹配引擎所需的信息;
所述掩码匹配引擎,根据所述可编程解析器输出的信息得到所述可编程编辑模块所需的处理策略;
所述可编程编辑模块,用于根据所述处理策略对相应的字段进行编辑,得到编辑后的字段;
所述报文组装模块,用于将所述编辑后的字段与缓存的所述原始报文进行重新组装,构成新的报文输出;
所述关键向量提取模块在执行获取原始报文,从所述原始报文中提取目标信息时,具体用于:
获取原始报文,从所述原始报文中提取解析域和编辑域,生成元数据,并将所述解析域、编辑域和元数据构成第一关键向量,其中,提取所述解析域和编辑域的位置偏移与长度均可配置;
所述可编程解析器在执行根据所述关键向量提取模块提取的目标信息得到所述掩码匹配引擎所需的信息时,具体用于:
根据所述第一关键向量中的解析域完成报文的解析与分类,得到所述掩码匹配引擎所需的信息;
所述掩码匹配引擎在执行根据所述可编程解析器输出的信息得到所述可编程编辑模块所需的处理策略时,具体用于:
根据所述可编程解析器输出的信息以及所述元数据进行查表匹配,得到所述可编程编辑模块所需的处理策略,并将所述编辑域、所述元数据和所述处理策略构成第二关键向量;
所述可编程编辑模块包括:运算子模块、编辑域重组子模块以及元数据更新子模块;其中:
所述运算子模块,用于特定字段的加减法运算,所述运算子模块包括:一个运算规则查找单元和多个运算执行单元;其中:
所述运算规则查找单元,用于根据所述处理策略中的相关索引在预先配置的运算规则表中获取每个运算执行单元的操作规则;
所述运算执行单元,用于根据所述操作规则提取需要进行运算的字段,执行运算操作后再将运算结果写回对应位置,所述运算执行单元至少包括两个固定字节提取器、两个移位器、一个加法器和减法器以及三个掩码运算器;其中:
两个固定字节提取器中的其中一个用于提取被加/减数所在字段,另一个用于提取加/减数所在字段;
三个掩码运算器中的其中两个掩码运算器在分别对提取的被加/减数、加/减数进行掩码运算,以适应被加/减数、加/减数位宽小于实际提取的字段长度的情况;
两个位移器分别对掩码运算后的被加/减数、加/减数再进行移位操作,以适应加/减数与被加/减数的单位不一致的情况;
加法器和减法器则用于对被移位后的被加/减数、加/减数执行加/减法运算;
三个掩码运算器中的最后一个掩码运算器则用于将运算结果进行掩码写回到对应位置;
所述编辑域重组子模块,用于以字节为单位对所述编辑域进行重组;所述编辑域重组子模块包含一个重组规则查找单元与众多单字节提取器,其中:
所述重组规则查找单元,用于根据所述处理策略中的相关索引在预先配置的重组规则表中查找每个单字节提取器的提取位置偏移;
所述单字节提取器,用于根据提取位置偏移从所述第二关键向量中提取出对应字段,依次排列后即组成新的编辑域;
所述元数据更新子模块,用于根据所述处理策略对所述元数据的特定字段进行更新;
所述报文组装模块具体用于:
根据所述可编程编辑模块输出的更新后元数据中的编辑域长度信息,从编辑域中截取有效编辑域,从所述报文缓存模块中提取出对应的原始报文,根据新的编辑域的起始偏移位置与截止偏移位置将截取的有效编辑域填充进所述原始报文,最终得到编辑后的报文,与更新的元数据一起输出。
2.根据权利要求1所述的装置,其特征在于,所述元数据更新子模块包含一个更新规则查找单元以及一个更新操作执行单元;其中:
所述更新规则查找单元,用于根据所述处理策略中的相关索引在预先配置的更新规则表中查找对应的操作规则;
所述更新操作执行单元,用于根据对应的操作规则更新元数据的特定字段。
CN202210260794.XA 2022-03-17 2022-03-17 一种报文处理装置 Active CN114363258B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210260794.XA CN114363258B (zh) 2022-03-17 2022-03-17 一种报文处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210260794.XA CN114363258B (zh) 2022-03-17 2022-03-17 一种报文处理装置

Publications (2)

Publication Number Publication Date
CN114363258A CN114363258A (zh) 2022-04-15
CN114363258B true CN114363258B (zh) 2022-12-06

Family

ID=81094713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210260794.XA Active CN114363258B (zh) 2022-03-17 2022-03-17 一种报文处理装置

Country Status (1)

Country Link
CN (1) CN114363258B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115348340B (zh) * 2022-08-15 2024-03-08 中国人民解放军战略支援部队信息工程大学 一种数据转发方法、装置、设备和存储介质
CN116248615A (zh) * 2022-12-09 2023-06-09 芯启源(南京)半导体科技有限公司 可编程报文编辑加速引擎、报文编辑方法及系统
CN116170527B (zh) * 2023-02-16 2023-11-07 南京金阵微电子技术有限公司 报文编辑方法、报文编辑装置、介质及电子设备
CN116156026B (zh) * 2023-04-20 2023-07-04 中国人民解放军国防科技大学 一种支持rmt的解析器、逆解析器、解析方法及交换机
CN116346746B (zh) * 2023-05-12 2023-08-15 之江实验室 一种多级可编程编辑的报文处理方法
CN117119073A (zh) * 2023-07-26 2023-11-24 中国人民解放军战略支援部队信息工程大学 一种面向协议转换的软件定义报文处理方法及装置
CN117579721B (zh) * 2023-10-31 2024-10-18 中科驭数(北京)科技有限公司 基于分层协议的可编程报文解析基本处理单元及解析装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635167A (zh) * 2016-01-25 2016-06-01 盛科网络(苏州)有限公司 一种使用硬件实现报文编辑功能的方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671869B2 (en) * 2001-12-12 2003-12-30 Scott A. Davidson Method and apparatus for graphically programming a programmable circuit
CN100479432C (zh) * 2005-10-10 2009-04-15 华为技术有限公司 一种报文编辑电路及方法
US9444914B2 (en) * 2013-09-16 2016-09-13 Annapurna Labs Ltd. Configurable parser and a method for parsing information units
CN103955445B (zh) * 2014-04-30 2017-04-05 华为技术有限公司 一种数据处理方法、处理器及数据处理设备
US9606781B2 (en) * 2014-11-14 2017-03-28 Cavium, Inc. Parser engine programming tool for programmable network devices
CN108809854B (zh) * 2017-12-27 2021-09-21 北京时代民芯科技有限公司 一种用于大流量网络处理的可重构芯片架构
CN113765857B (zh) * 2020-06-04 2022-10-25 华为技术有限公司 报文转发方法、装置、设备及存储介质
CN113438252B (zh) * 2021-07-08 2023-01-10 恒安嘉新(北京)科技股份公司 报文访问控制方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635167A (zh) * 2016-01-25 2016-06-01 盛科网络(苏州)有限公司 一种使用硬件实现报文编辑功能的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Families of FPGA-based algorithms for approximate string matching;T. Van Court;《Proceedings. 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 2004.》;20041018;全文 *

Also Published As

Publication number Publication date
CN114363258A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
CN114363258B (zh) 一种报文处理装置
US20060221967A1 (en) Methods for performing packet classification
US20060221956A1 (en) Methods for performing packet classification via prefix pair bit vectors
US8180803B2 (en) Deterministic finite automata (DFA) graph compression
US7227842B1 (en) Fast IP packet classification with configurable processor
US7668160B2 (en) Methods for performing packet classification
US7949683B2 (en) Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph
CN105308927B (zh) 报文编辑处理方法和相关设备
US7313138B2 (en) Router device and routing method
US20040100956A1 (en) Packet search device, packet processing search method used for the same, and program for the same
US20080056262A1 (en) Approach for fast ip address lookups
CN113438252B (zh) 报文访问控制方法、装置、设备及存储介质
CN111277612B (zh) 一种网络报文处理策略生成方法、系统及介质
US20200120191A1 (en) Realization of a programmable forwarding pipeline through packet header summaries in a data processing unit
CN112235197B (zh) 一种并行路由查找方法及系统
WO2008119242A1 (fr) Méthode de recherche dans un arbre multi-bit de type trie
US7664728B2 (en) Systems and methods for parallel evaluation of multiple queries
CN112769973B (zh) 一种网络地址与网络地址转换规则的匹配方法
Geissler et al. Tablevisor 2.0: Towards full-featured, scalable and hardware-independent multi table processing
US7385983B2 (en) Network address-port translation apparatus and method
WO2011108168A1 (ja) パケット分類器、パケット分類方法、パケット分類プログラム
Vijay et al. Implementation of memory-efficient linear pipelined IPv6 lookup and its significance in smart cities
JP2009147587A (ja) データ検索装置、データ検索方法、及びデータ検索用プログラム
CN112437096A (zh) 加速策略查找方法及系统
CN112437065A (zh) Sdn环境下基于图形表示的策略冲突检测及解决方法

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