一种面向协议转换的软件定义报文处理方法及装置制造方法及图纸

技术编号:39593448 阅读:11 留言:0更新日期:2023-12-03 19:48
本发明专利技术公开一种面向协议转换的软件定义报文处理方法及装置,通过构建元数据归一化处理流程,利用

【技术实现步骤摘要】
一种面向协议转换的软件定义报文处理方法及装置


[0001]本专利技术涉及硬件电路设计和网络交换报文处理
,尤其涉及一种面向协议转换的软件定义报文处理方法及装置


技术介绍

[0002]随着集成电路的发展,网络应用呈现多元化发展,然而垂直应用个性化和网络基础设施统一化之间的矛盾日趋严重,为了满足不同网络协议体制之间的通信,需要进行异构协议之间的转换和报文处理

[0003]目前较为具有代表性的协议转换和报文处理方法主要有三种:软件直接进处理;专用桥接芯片处理;
FPGA
处理

[0004]第一种方法是使用高级语言
(

C
语言
)
在软件层面编写逻辑,把数据包上传
CPU
进行报文解析和协议转换,并将转换结果返回给用户

该方案是纯粹的软件行为

该方案优点:软件可以更加灵活的编写逻辑,进行协议转换和报文处理,此外,软件设计柔性强,可根据需求进行修改设计

但缺点也比较明显:该方案需要
CPU
的参与,额外增加了资源开销,数据处理延迟也比较大

[0005]第二种方法是使用专用的
ASIC
桥接芯片针对特定的原协议和目标协议进行转化

该方案不需要
CPU
的参与,所有的逻辑都是由数字电路实现,因此,该方案的具有处理效率高,吞吐量大,延迟低的特点<br/>。
但缺点也同样明显,因为是专用的
ASIC
电路,无法满足超出该
ASIC
电路逻辑功能之外的协议转换和报文处理需求,即当有具有多种场景的协议转换需求时,必须使用支持这些场景的多个桥片才能实现

[0006]第三种方法是使用
FPGA
编写协议转换和报文处理逻辑,实现协议转换和报文处理功能

该方案可以根据协议转化和报文处理的场景需求定制特定的处理逻辑,具有较高的灵活性,而且由于
FPGA
是可编程的逻辑电路,其延迟和吞吐等性能也非常好

但是,当需求场景发生变化时,需要
FPGA
切换功能逻辑,如果将多种场景集合到
FPGA
中,受限于
FPGA
的资源,可能会出现资源紧张的情况,因此该方案不具有在线的根据场景现场定义协议转换和报文处理的能力,而且资源受限


技术实现思路

[0007]上述所提到的三种方案各有优劣,三种方案都无法满足多种场景协议转化和报文处理的应用需求,为了达到可以灵活在线定制协议转换和报文处理的目的,并且不损失性能,我们需要解决以下技术问题:
1)
协议转换和报文处理必须在电路级进行处理;
2)
电路级处理报文和协议转换必须可以通过软件定义的方式进行灵活配置

因此,本专利技术提出一种面向协议转换的软件定义报文处理方法及装置

[0008]为了实现上述目的,本专利技术采用以下技术方案:
[0009]本专利技术一方面提出一种面向协议转换的软件定义报文处理方法,包括:
[0010]步骤1:将源协议数据报文头和净负载进行拆分,净负载数据放入报文缓存中,并
产生净负载数据的相关负载长度

负载在缓存中的位置信息用于后续报文的组装,报头数据以及协议转换类型信息用于构建元数据;
[0011]步骤2:解析报头数据,提取源协议报文头数据

报文头长度

负载长度

负载缓存位置信息

协议转换类型

目的端口号信息,并将其放入元数据中;
[0012]步骤3:根据步骤2所述协议转换类型,选取解析键值,并通过键值查找索引对应的匹配键值组装指令;
[0013]步骤4:根据匹配键值组装指令进行匹配键值的组装,匹配键值包含两类信息:会话标识信息和元数据更新动作指令;
[0014]步骤5:根据匹配键值信息的会话标识信息,进行哈希匹配,得到索引值,即会话号,以区分不同会话;利用该会话号索引对应源协议到目标协议的处理规则所存放的表项,即会话信息,包括目的协议包头数据信息

目的协议包头长度信息

目的数据地址信息

目的包头长度信息;
[0015]步骤6:根据步骤4所述元数据更新动作指令,对步骤5所述会话信息进行操作和处理;
[0016]步骤7:从元数据中提取出目标协议报文头

目标协议报文头长度

负载长度

负载缓存位置信息,目的端口号信息,根据负载长度

负载缓存位置信息从步骤1所述的报文缓存中提取负载数据,根据目标协议报文头长度从元数据中提取目标协议报文头数据,将提取的负载数据和报文头数据进行组装,按照元数据中的目的端口号进行数据输出

[0017]进一步地,所述会话表示信息包含区分一次协议转换数据处理的所有必要信息,包括源协议类型

目的协议类型


ID、
目的
ID、
地址信息

[0018]进一步地,所述元数据更新动作指令用于元数据更新,元数据更新动作指令包括元数据之间的数据搬移

会话信息到元数据的搬移

元数据指定位域置位

[0019]进一步地,所述解析键值和匹配键值组装指令需提前在
ram
中配置,所述会话信息需要按照会话号提前在
ram
中配置

[0020]本专利技术另一方面提出一种面向协议转换的软件定义报文处理装置,包括:
[0021]报文拆解模块,用于将源协议数据报文头和净负载进行拆分,净负载数据放入负载缓存模块中,并产生净负载数据的相关负载长度

负载在缓存中的位置信息用于后续报文的组装,报头数据以及协议转换类型信息用于构建元数据;解析报头数据,提取源协议报文头数据

报文头长度

负载长度

负载缓存位置信息

协议转换类型

目的端口号信息,并将其放入元数据中;
[0022]负载缓存模块,用于缓存协议转换的净负载信息,在存入数据时向报文拆解模块反馈负载缓存位置信息,以供组装数据使用,在读出数据时需要报头负载组装模块提供负载缓存长度和负载在缓存中的位置信息;
[0023]指令解析执行及元数据更新模块,用于根据报文拆解模块所述协议转换类型,选取解析键值,并通过键值查找索引对应的匹配键值组装指令;根据匹配键值组装指令进行匹配键值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种面向协议转换的软件定义报文处理方法,其特征在于,包括:步骤1:将源协议数据报文头和净负载进行拆分,净负载数据放入报文缓存中,并产生净负载数据的相关负载长度

负载在缓存中的位置信息用于后续报文的组装,报头数据以及协议转换类型信息用于构建元数据;步骤2:解析报头数据,提取源协议报文头数据

报文头长度

负载长度

负载缓存位置信息

协议转换类型

目的端口号信息,并将其放入元数据中;步骤3:根据步骤2所述协议转换类型,选取解析键值,并通过键值查找索引对应的匹配键值组装指令;步骤4:根据匹配键值组装指令进行匹配键值的组装,匹配键值包含两类信息:会话标识信息和元数据更新动作指令;步骤5:根据匹配键值信息的会话标识信息,进行哈希匹配,得到索引值,即会话号,以区分不同会话;利用该会话号索引对应源协议到目标协议的处理规则所存放的表项,即会话信息,包括目的协议包头数据信息

目的协议包头长度信息

目的数据地址信息

目的包头长度信息;步骤6:根据步骤4所述元数据更新动作指令,对步骤5所述会话信息进行操作和处理;步骤7:从元数据中提取出目标协议报文头

目标协议报文头长度

负载长度

负载缓存位置信息,目的端口号信息,根据负载长度

负载缓存位置信息从步骤1所述的报文缓存中提取负载数据,根据目标协议报文头长度从元数据中提取目标协议报文头数据,将提取的负载数据和报文头数据进行组装,按照元数据中的目的端口号进行数据输出
。2.
根据权利要求1所述的一种面向协议转换的软件定义报文处理方法,其特征在于,所述会话表示信息包含区分一次协议转换数据处理的所有必要信息,包括源协议类型

目的协议类型


ID、
目的
ID、
地址信息
。3.
根据权利要求1所述的一种面向协议转换的软件定义报文处理方法,其特征在于,所述元数据更新动作指令用于元数据更新,元数据更新动作指令包括元数据之间的数据搬移

会话信息到元数据的搬移

元数据指定位域置位
。4.
根据权利要求1所述的一种面向协议转换的软件定义报文处理方法,其特征在于,所述解析键值和匹配键值组装指令需提前在
ram
中配置,所述会话信息需要按照会话号提前在
ram
中配置
。5.
一种面向协议转换的软件定义报文处理装置,其特征在于,包括:报文拆解模块,用于将源协议数据报文头和净...

【专利技术属性】
技术研发人员:张文建吕平刘冬培陈艇董春雷张丽赵博赵豪兵
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

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

1