CN1949736A - 一种报文编辑电路及方法 - Google Patents
一种报文编辑电路及方法 Download PDFInfo
- Publication number
- CN1949736A CN1949736A CNA2005101002823A CN200510100282A CN1949736A CN 1949736 A CN1949736 A CN 1949736A CN A2005101002823 A CNA2005101002823 A CN A2005101002823A CN 200510100282 A CN200510100282 A CN 200510100282A CN 1949736 A CN1949736 A CN 1949736A
- Authority
- CN
- China
- Prior art keywords
- message
- message editing
- look
- module
- editing instruction
- 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
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种报文编辑电路,包括顺序相连的报文输入端、报文转发引擎模块、报文编辑模块和报文输出端,在转发引擎模块中构造报文编辑指令集,在报文编辑模块中构造查找表。本发明还涉及一种报文编辑方法,输入报文首先进入转发引擎,通过转发表进行报文转发,利用报文编辑指令集分析生成报文编辑指令,报文编辑模块对照查找表进行报文编辑指令的翻译,并执行报文编辑动作,进行位序调整后输出已编辑报文。查找表可利用双端口RAM实现,由CPU来配置查找表的内容,还可利用ROM实现,定期更新。本发明方案简化了报文编辑动作,能够节约大量逻辑判断所需要的资源,且能够实现报文编辑的可编程,具有良好的扩展性。
Description
技术领域
本发明涉及数据处理技术,具体是一种报文编辑电路及方法。
背景技术
报文编辑模块是数据特性芯片的关键模块,实现对报文的编辑功能,随着数据业务的不断发展,报文编辑的复杂度越来越高,并且需要支持的报文编辑类型越来越多。比如实现mpls转发的数据特性芯片,mpls转发是基于标签交换的,根据标签决定报文转发路由,该芯片需要对报文进行添加标签、删除标签以及交换标签的操作,因此,报文编辑是该芯片的必备特征。
目前的报文编辑电路,如图1所示,包括顺序相连的报文输入端、报文转发引擎模块、报文编辑模块和报文输出端。报文报文转发引擎模块中是一个转发表,报文编辑模块中包括报文编辑动作逻辑翻译模块、报文编辑动作执行模块和位序调整模块。
对应的报文编辑方法,主要是对报文编辑动作进行逻辑翻译,然后执行报文编辑动作,对报文的编辑动作进行逻辑翻译需要进行逻辑判断。其实现机理如图1和图2所示:
待编辑数据进入报文编辑电路,根据转发表获取报文转发动作,譬如进行标签转发,或者根据vlan,MAC地址转发等;
报文编辑动作逻辑翻译模块对报文转发动作进行逻辑翻译,其具体操作是利用一系列的条件判断语句进行判断,从而得到报文编辑动作,该动作可以是对数据fifo和新添加内容ram的一个读顺序序列;
报文编辑动作执行模块根据翻译得到的读顺序序列来控制对数据fifo和添加内容ram的读取,即进行报文编辑;
位序调整模块从fifo中读取数据,由于报文添加和删除在数据总线上造成了空缺,如图3所示,比如数据总线32bit,只有高16bit是有效数据,因此需要进行调整,以消除字节或比特空缺,同时保证报文的先入先出顺序。
最后,输出已编辑数据。
在这一报文编辑方法中,报文编辑动作逻辑翻译器对报文编辑动作进行逻辑翻译,需要占用大量的逻辑资源,因为要对每一种报文编辑动作分别进行逻辑判断,且由于报文编辑改变了原有报文的结构,必须对包头指示等状态信号位置进行相应的调整,还需要计算新的包头指示的位置,因此,在报文编辑类型增多时,消耗的芯片资源成倍上升,大大增加了系统的复杂度;
同时,每增加一种报文编辑动作,需要增加相应的解释逻辑,且现有方法不具备动态更新的能力,因此,对报文编辑动作进行逻辑翻译的可扩展性较差;
此外,报文编辑动作逻辑翻译器对报文编辑动作进行逻辑翻译的复杂度较高,需要占用多个时钟周期才能实现,降低了系统对报文处理的效率。
发明内容
本发明的目的是降低报文编辑的处理复杂度,节省逻辑资源,提高报文处理的效率,并且使报文编辑具有良好的扩展性。
根据上述目的,本发明提供了一种报文编辑电路,包括顺序相连的报文输入端、报文转发引擎模块、报文编辑模块和报文输出端,报文转发引擎模块根据报文编辑指令集分析输入报文,生成报文编辑指令,报文编辑模块接收报文编辑指令,根据查找表对报文进行编辑后经报文输出端输出。
其中,报文转发引擎模块包括:
转发表,获取报文转发动作;
报文编辑指令生成模块,根据报文编辑指令集将所述报文转发动作转化为报文编辑指令。
所述报文编辑电路的报文编辑模块报文编辑模块又包括:
报文编辑指令翻译模块,根据查找表对编辑指令进行翻译;
报文编辑指令执行模块,根据所述翻译后的报文编辑指令,执行报文的添加和删除动作;
位序调整模块,对编辑后的报文进行位序调整,消除字节或比特空缺。
基于所述发明目的,本发明还提供了一种报文编辑方法,包括如下步骤:
A、构造报文编辑指令集和查找表;
B、转发引擎模块根据报文编辑指令集对输入的报文进行分析,生成报文编辑指令;
C、报文编辑模块接收报文编辑指令,在所述查找表中找到对应的解释内容,根据所述解释内容对报文进行编辑。
步骤C具体又包括如下步骤:
根据查找表翻译报文编辑指令;
执行翻译后的报文编辑指令;
对编辑后的报文进行位序调整。
所述报文编辑指令集的构造是将报文编辑分解为添加和剥离两个动作进行编码。
所述查找表解释内容包括报文添加指示、添加内容指示和报文删除指示。
查找表解释内容进一步包括:再生包头指示信号的位置信息及原本需要逻辑判断的内容。
所述报文编辑指令集和查找表的内容利用双端口RAM实现,由CPU进行配置,实现报文编辑的可编程。
所述报文编辑指令集和查找表还可以通过ROM实现,利用新表替换旧表的方式添加新的报文编辑指令信息。
本发明利用报文编辑指令集进行报文编辑指令的分析生成,能够将各种报文编辑动作归一化,简化编辑动作,有利于报文编辑动作的执行,且支持大量的报文编辑类型,可扩展性好;利用查找表解释报文编辑指令,实现报文编辑指令的翻译,能够节约大量逻辑判断需要的资源,有利于提高报文编辑速度,并且查找表可任意编程,从而使报文编辑更具灵活性;采用报文编辑指令集的方式,可以支持大量的报文编辑类型。此种架构的报文编辑电路和报文编辑方法,具有效率高、节省资源、可扩展的优点。
附图说明
图1为现有技术的报文编辑电路图;
图2为现有技术的报文编辑方法;
图3为现有技术的位序调整示意图;
图4为本发明的报文编辑电路图;
图5为本发明的报文编辑流程图;
图6为本发明的报文编辑模块工作图。
具体实施方式
下面根据附图和实施例对本发明方案作进一步的详细说明。
如图4所示,本发明方案中,报文编辑电路的结构如下:
报文编辑电路包括报文转发引擎模块和报文编辑模块。
报文转发引擎模块又包括标签转发表和报文编辑指令生成模块;
报文编辑模块又包括报文编辑指令翻译模块报文编辑指令执行模块和位序调整模块。
其中,报文编辑指令生成模块设置了报文编辑指令集;报文编辑指令翻译模块中设置了查找表。
报文编辑指令集根据报文编辑的特点构造,以mpls报文的编辑为例,mpls报文的编辑包括标签的添加、删除和替换,通过查找转发引擎中的标签转发表,获取mpls报文的转发动作,比如一个2层标签的mpls报文,查标签转发表获得的报文转发动作为顶层标签交换,该信息的抽象程度较高,不利于硬件电路的识别,需要通过报文编辑指令生成模块给出更为具体的报文编辑指令。
报文编辑指令的构造原理如下:
2层mpls报文的顶层标签交换动作可分解为如下2个动作:
1、剥离旧的内容,包括链路层头以及顶层标签;
2、添加新的内容,包括新的链路层头和新的顶层标签。
这样mpls报文的转发动作可分解为添加(push)和剥离(pop)操作,由于不同的报文类型编辑特征不一样,因此报文编辑指令中还需要包括报文类型信息,这样报文编辑指令需要包括:报文类型+报文添加动作+报文删除动作;
对上述信息编码,即可得到一个报文编辑指令。这样从标签转发表中获取的抽象的报文编辑信息和具体的报文编辑指令建立了映射关系,通过将复杂的报文编辑动作分解为报文添加动作和报文删除动作,从而实现了报文编辑动作的归一化,以利于硬件实现。
任意类型的报文编辑都可以分解为添加和剥离,依据此原则编码,即可得到报文编辑指令集。
报文转发引擎利用报文编辑指令集得到报文编辑指令,由于报文编辑指令仅仅包含需要对报文进行哪种类型的编辑,并不知到如何编辑,比如要删除多少个字节,添加多少个字节,这些信息需要对报文编辑指令进行翻译获得,报文编辑指令的翻译通过查找表实现,即利用报文的编辑指令作为索引检索查找表,得到执行报文编辑的具体操作。表1为一个查找表示例:
表1报文编辑指令查找表示例
Bit | Name | Description |
15 | Item_val | 表项有效标记 |
14:10 | sop_position | 再生报文头位置指示 |
9 | s1_val | 添加内容指示,第一层标签栈底有效 |
8 | s2_val | 添加内容指示,第二层标签栈底有效 |
7:4 | add_byte_number | 报文添加指示 |
3:0 | del_byte_number | 报文删除指示 |
查找表内的关键信息为报文添加指示、添加内容指示、报文删除指示以及其他信息。
表项有效标记(Item_val),指示该条报文编辑指令是否能够解释,对于解释不了的报文编辑指令,通过该表项可控制报文的丢弃。
报文添加指示(add_byte_number),是指需要添加的字节数,比如对于前述2层mpls报文的顶层标签交换需要在数据总线上插入新的链路层头和新的标签。
添加内容指示(s1_val、s2_val),是指需要添加的内容,比如前述2层mpls报文的顶层标签交换需要插入新标签的栈底属性等。
报文删除指示(del_byte_number),是指需要添加的字节数,比如对于前述2层mpls报文的顶层标签交换需要删除旧的链路层头和旧的标签,则在旧的报文头到时通过修改报文头是否有效属性,实行旧报文头的删除。
再生报文头位置指示(sop_position),是指由于报文编辑改变了报文头的位置,需要通过该表项指定新的报文头位置。
查找表中还可以添加一些其他信息,即原本需要逻辑判断的内容都可以通过查找表获得。
查找表可以通过ROM实现,预置关键的报文编辑信息到ROM。有新的报文编辑类型增加时,则用更新后的查找表替代原表。
查找表还可以利用双端口RAM实现,由CPU来配置查找表的内容,则能够实现报文编辑的可编程。一方面根据需要动态修改查找表的内容,增加报文编辑的灵活性;另一方面,如需增加新的报文编辑类型,则只需要给新的报文编辑类型赋予新的编码指令,并在查找表中增加解释表项即可。
如图5和图6所示,完整的报文编辑过程如下:
1、输入报文首先进入转发引擎模块;
2、根据转发表获得报文的转发动作;
3、根据报文编辑指令集对报文转发动作进行分析,生成报文的编辑指令;
4、报文编辑指令翻译模块对照查找表对报文编辑指令进行翻译;
报文编辑指令翻译部分就是一个报文编辑指令查找表。
报文编辑指令先于待编辑报文到达,以使报文编辑指令翻译模块提前对报文编辑指令进行解释,以报文编辑指令为索引,对照查找表对报文编辑指令进行翻译即可得到具体的报文修改动作,包括报文删除指示、报文添加指示和报文添加内容编辑指示三部分。
5、报文编辑指令执行模块执行翻译后的报文编辑指令;
报文编辑指令执行模块的添加执行部分根据报文添加指示在数据总线上插入添加内容,并写入fifo;删除执行部分根据删除指示删除报文,然后写入fifo。
6、位序调整模块对编辑后的报文进行位序调整;
7、将位序调整后的报文输出。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1、一种报文编辑电路,其特征在于,包括顺序相连的报文输入端、报文转发引擎模块、报文编辑模块和报文输出端,报文转发引擎模块根据报文编辑指令集分析输入报文,生成报文编辑指令,报文编辑模块接收报文编辑指令,根据查找表对报文进行编辑后经报文输出端输出。
2、根据权利要求1所述的报文编辑电路,其特征在于,报文转发引擎模块包括:
转发表,获取报文转发动作;
报文编辑指令生成模块,根据报文编辑指令集将所述报文转发动作转化为报文编辑指令。
3、根据权利要求1所述的报文编辑电路,其特征在于,报文编辑模块包括:
报文编辑指令翻译模块,根据查找表对报文编辑指令进行翻译;
报文编辑指令执行模块,根据所述翻译后的报文编辑指令,执行报文的添加和删除动作;
位序调整模块,对编辑后的报文进行位序调整,消除字节或比特空缺。
4、一种报文编辑方法,其特征在于,
A、构造报文编辑指令集和查找表;
B、转发引擎模块根据报文编辑指令集对输入的报文进行分析,生成报文编辑指令;
C、报文编辑模块接收报文编辑指令,在所述查找表中找到对应的解释内容,根据所述解释内容对报文进行编辑。
5、根据权利要求4所述的报文编辑方法,其特征在于,步骤C具体包括如下步骤:
根据查找表翻译报文编辑指令;
执行翻译后的报文编辑指令;
对编辑后的报文进行位序调整。
6、根据权利要求4所述的报文编辑方法,其特征在于,报文编辑指令集的构造是将报文编辑分解为添加和剥离两个动作进行编码。
7、根据权利要求4所述的报文编辑方法,其特征在于,查找表解释内容包括报文添加指示、添加内容指示和报文删除指示。
8、根据权利要求7所述的报文编辑方法,其特征在于,查找表解释内容包括再生包头指示信号的位置信息及原本需要逻辑判断的内容。
9、根据权利要求4、6或7所述的报文编辑方法,其特征在于,报文编辑指令集和查找表利用双端口RAM实现,由CPU进行配置,实现报文编辑的可编程。
10、根据权利要求4、6或7所述的报文编辑方法,其特征在于,报文编辑指令集和查找表通过ROM实现,利用新表替换旧表的方式添加新的报文编辑指令信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101002823A CN100479432C (zh) | 2005-10-10 | 2005-10-10 | 一种报文编辑电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101002823A CN100479432C (zh) | 2005-10-10 | 2005-10-10 | 一种报文编辑电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1949736A true CN1949736A (zh) | 2007-04-18 |
CN100479432C CN100479432C (zh) | 2009-04-15 |
Family
ID=38019125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101002823A Expired - Fee Related CN100479432C (zh) | 2005-10-10 | 2005-10-10 | 一种报文编辑电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100479432C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651629B (zh) * | 2009-09-17 | 2012-05-23 | 杭州华三通信技术有限公司 | 一种cpu接收报文分级动态调度的方法及设备 |
WO2013017019A1 (zh) * | 2011-08-01 | 2013-02-07 | 腾讯科技(深圳)有限公司 | 一种图片编辑动作共享的方法、共享平台及系统 |
WO2015180130A1 (zh) * | 2014-05-30 | 2015-12-03 | 华为技术有限公司 | 报文编辑处理方法和相关设备 |
CN108200024A (zh) * | 2017-12-26 | 2018-06-22 | 盛科网络(苏州)有限公司 | 一种以太网报文编辑装置及方法 |
CN110011920A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理方法及装置 |
CN110011940A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
CN114363258A (zh) * | 2022-03-17 | 2022-04-15 | 中国人民解放军国防科技大学 | 一种报文处理装置 |
CN116170527A (zh) * | 2023-02-16 | 2023-05-26 | 南京金阵微电子技术有限公司 | 报文编辑方法、报文编辑装置、介质及电子设备 |
-
2005
- 2005-10-10 CN CNB2005101002823A patent/CN100479432C/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651629B (zh) * | 2009-09-17 | 2012-05-23 | 杭州华三通信技术有限公司 | 一种cpu接收报文分级动态调度的方法及设备 |
WO2013017019A1 (zh) * | 2011-08-01 | 2013-02-07 | 腾讯科技(深圳)有限公司 | 一种图片编辑动作共享的方法、共享平台及系统 |
CN105308927B (zh) * | 2014-05-30 | 2019-03-19 | 华为技术有限公司 | 报文编辑处理方法和相关设备 |
CN105308927A (zh) * | 2014-05-30 | 2016-02-03 | 华为技术有限公司 | 报文编辑处理方法和相关设备 |
US10171356B2 (en) | 2014-05-30 | 2019-01-01 | Huawei Technologies Co., Ltd. | Packet edit processing method and related device |
WO2015180130A1 (zh) * | 2014-05-30 | 2015-12-03 | 华为技术有限公司 | 报文编辑处理方法和相关设备 |
US10819634B2 (en) | 2014-05-30 | 2020-10-27 | Huawei Technologies Co., Ltd. | Packet edit processing method and related device |
US11516129B2 (en) | 2014-05-30 | 2022-11-29 | Huawei Technologies Co., Ltd. | Packet edit processing method and related device |
CN108200024A (zh) * | 2017-12-26 | 2018-06-22 | 盛科网络(苏州)有限公司 | 一种以太网报文编辑装置及方法 |
CN110011920A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理方法及装置 |
CN110011940A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
CN110011940B (zh) * | 2019-04-11 | 2021-06-04 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
CN114363258A (zh) * | 2022-03-17 | 2022-04-15 | 中国人民解放军国防科技大学 | 一种报文处理装置 |
CN116170527A (zh) * | 2023-02-16 | 2023-05-26 | 南京金阵微电子技术有限公司 | 报文编辑方法、报文编辑装置、介质及电子设备 |
CN116170527B (zh) * | 2023-02-16 | 2023-11-07 | 南京金阵微电子技术有限公司 | 报文编辑方法、报文编辑装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100479432C (zh) | 2009-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1949736A (zh) | 一种报文编辑电路及方法 | |
CN101035033A (zh) | 支持远程报文镜像的报文镜像方法和网络设备 | |
CN1238796C (zh) | 一种实现接口转换的装置及方法 | |
CN102255687B (zh) | 速率匹配方法与装置 | |
CN101060338A (zh) | 一种卷积码速率匹配的方法和装置 | |
CN101035076A (zh) | 一种多级交换网的反压方法、系统及交换节点 | |
CN1702659A (zh) | 基于知识产权的大型集成电路设计系统及设计方法 | |
CN1728629A (zh) | 多路物理层接口复用传输装置 | |
CN1889505A (zh) | 一种辅助cpu转发报文的方法及系统 | |
CN1808284A (zh) | 多采集通道的串行数据传输系统及控制方法 | |
CN1855858A (zh) | 以太网物理层复用和解复用装置及方法 | |
CN1293739C (zh) | 高速数据链路控制协议发送处理模块及其数据处理方法 | |
CN1505270A (zh) | 一种用于硬件设计的原理图审查方法 | |
CN101064697A (zh) | 一种实现异步传输模式网络服务质量控制的装置和方法 | |
CN101075219A (zh) | 一种中断处理方法及系统 | |
CN1941735A (zh) | 一种报文处理方法及系统 | |
CN100336370C (zh) | Sdh帧头检测及数据重排电路 | |
CN101079815A (zh) | 报文转换方法、系统及装置 | |
CN101056312A (zh) | 一种设备间通信的方法及系统 | |
CN1667585A (zh) | 一种数字信号处理器软件调试信息输出方法 | |
CN1921412A (zh) | 电路割接的系统及方法 | |
CN1731755A (zh) | 一种弹性分组环用适配装置及方法 | |
CN1956391A (zh) | 从电信网络中的网络节点进行数据收集 | |
CN1859053A (zh) | 一种虚级联链路处理方法和系统 | |
CN1523830A (zh) | 一种同步数字系列链路接入规程的解封装方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090415 Termination date: 20161010 |