报文处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35521516 阅读:9 留言:0更新日期:2022-11-09 14:41
本申请提供一种报文处理方法、装置、电子设备及存储介质,涉及通信技术领域。该方法通过在当前帧报文发送完之前就获取下一帧报文对应的DIC变量值,从而可提前算出下一帧报文对应的DIC变量值,根据DIC变量值确定需要插入的目标IDLE码数量,这样在发送下一帧报文时,可以根据目标IDLE码数量来调整报文之间的帧间距,进而本方案可以在保证报文发送的连续性、时序紧凑性,使得发送报文的速率达到线速的同时,也能确保报文的发送满足协议规定的帧间距。间距。间距。

【技术实现步骤摘要】
报文处理方法、装置、电子设备及存储介质


[0001]本申请涉及通信
,具体而言,涉及一种报文处理方法、装置、电子设备及存储介质。

技术介绍

[0002]在以太网协议中,数据以帧的形式发送,在一帧报文发送完成后,以太网的相关组件需要短暂的时间恢复,为发送下一帧报文做准备,帧间隔时间设置过长,会降低数据的传输效率,若设置过短,则不能保证设备正常恢复。因此,在IEEE802.3协议中,MAC层定义的参数帧间隔IFG规定了最小的帧间隔为96bits时间,相当于发送12字节数据的时间。千兆以太网MAC均采用单字节的数据发送方式,故在一帧发送完成后发送12个空闲(IDLE)字符即可。而万兆以太网XGMII(10Gigabit Media Independent Interface)接口为8通道并行发送数据,要求帧起始位置必须位于Lane0或Lane4,故帧长度不是4字节整数倍时,需要增删IDLE字符以使下一帧开始对齐在Lane0或Lane4上。
[0003]为解决保持帧间隔和帧对齐的问题,现有技术中,IEEE802.3协议规定了一种空闲字符计数(DIC,Deficit Idle Count)算法,该算法以IEEE802.3协议中规定的最小帧间距(IFG=12byte)为参考,用一个DIC变量来记录当前的以太网帧间距的IDLE数与最小帧间距(12byte)之间的差异,从而基于报文的实际长度和当前的DIC变量的值获得需要插入的IDLE数。
[0004]但是基于目前的DIC算法,帧间距调整计算是需要时间的,这样会导致以太帧之间的间隔大于12字节,从而导致XGMII接口发送的以太报文不是连续,在时序上不紧凑,最终使得基于10Gb的xgmii协议传输的速率达不到线速,即XGMII接口达不到10Gb。

技术实现思路

[0005]本申请实施例的目的在于提供一种报文处理方法、装置、电子设备及存储介质,用以改善现有技术中报文的DIC值计算耽搁一定时间后,导致发送的报文之间在时序上不连续,接口发送报文的速率达不到线速的问题。
[0006]第一方面,本申请实施例提供了一种报文处理方法,所述方法包括:
[0007]在当前帧报文发送完之前,获取下一帧报文对应的空闲字符计数DIC变量值,所述DIC变量值用于记录累计增加或减少的IDLE码的数量,所述DIC变量值的取值范围在设定范围内;
[0008]根据所述DIC变量值确定需要插入的目标IDLE码数量;
[0009]在发送所述下一帧报文时,根据所述目标IDLE码数量调整所述下一帧报文与之后帧报文之间的帧间距。
[0010]在上述实现过程中,该方法通过在当前帧报文发送完之前就获取下一帧报文对应的DIC变量值,从而可提前算出下一帧报文对应的DIC变量值,根据DIC变量值确定需要插入的目标IDLE码数量,这样在发送下一帧报文时,可以根据目标IDLE码数量来调整报文之间
的帧间距,进而本方案可以在保证报文发送的连续性、时序紧凑性,使得发送报文的速率达到线速的同时,也能确保报文的发送满足协议规定的帧间距。
[0011]可选地,通过FIFO模块缓存多帧报文的报文信息;所述在当前帧报文发送完之前,获取下一帧报文对应的DIC变量值,包括:
[0012]在当前帧报文发送完之前,从所述FIFO模块中获取下一帧报文的报文信息;
[0013]根据所述下一帧报文的报文信息获取所述下一帧报文对应的DIC变量值。
[0014]在上述实现过程中,通过设计FIFO模块来缓存下一帧报文的报文信息,这样就可以提前获取到下一帧报文的报文信息进行DIC变量值的计算,减少了计算时间的耽搁。
[0015]可选地,所述在当前帧报文发送完之前,获取下一帧报文对应的DIC变量值,包括:
[0016]通过接口模块在当前帧报文发送完之前,向DIC计算模块发送指示信息,所述指示信息用于指示所述DIC计算模块从所述FIFO模块中读取下一帧报文的长度信息;
[0017]通过所述DIC计算模块根据所述下一帧报文的长度信息确定所述下一帧报文对应的DIC变量值;
[0018]通过所述接口模块从所述DIC计算模块获取所述下一帧报文对应的DIC变量值。
[0019]在上述实现过程中,通过接口模块指示DIC计算模块主动从FIFO模块中获取下一帧报文的长度信息,这样可提前获取到下一帧报文的长度信息进行DIC变量值的计算,减少了计算时间的耽搁。
[0020]可选地,所述当前帧报文发送完之前,获取下一帧报文对应的DIC变量值,包括:
[0021]通过接口模块在当前帧报文发送完之前,向所述FIFO模块发送指示信息,所述指示信息用于指示所述FIFO模块将下一帧报文的长度信息发送给DIC计算模块;
[0022]通过所述DIC计算模块根据所述下一帧报文的长度信息确定所述下一帧报文对应的DIC变量值;
[0023]通过所述接口模块从所述DIC计算模块获取所述下一帧报文对应的DIC变量值。
[0024]在上述实现过程中,通过接口模块指示FIFO模块主动将下一帧报文的长度信息发送给DIC计算模块,这样可提前获取到下一帧报文的长度信息进行DIC变量值的计算,减少了计算时间的耽搁。
[0025]可选地,所述通过所述DIC计算模块根据所述下一帧报文的长度信息确定所述下一帧报文对应的DIC变量值,包括:
[0026]通过所述DIC计算模块对所述下一帧报文的长度信息进行模为8或4的取余运算,获得对应的余数;
[0027]通过所述DIC计算模块获取所述当前帧报文的通道起始位置以及所述当前帧报文对应的DIC变量值;
[0028]通过所述DIC计算模块根据所述余数、所述当前帧报文的通道起始位置以及所述当前帧报文对应的DIC变量值,从预先建立的查找表中查找获得所述下一帧报文对应的DIC变量值。
[0029]在上述实现过程中,通过预先建立查找表可快速获得下一帧报文的DIC变量值,提高计算效率。
[0030]可选地,所述方法还包括:
[0031]通过所述DIC计算模块根据所述余数、所述当前帧报文的通道起始位置以及所述
当前帧报文对应的DIC变量值,从预先建立的所述查找表中查找获得所述下一帧报文的通道起始位置;
[0032]所述在发送所述下一帧报文时,根据所述目标IDLE码数量调整所述下一帧报文与之后帧报文之间的帧间距,包括:
[0033]在所述下一帧报文的通道起始位置上发送所述下一帧报文时,根据所述目标IDLE码数量调整所述下一帧报文与之后帧报文之间的帧间距。
[0034]在上述实现过程中,通过预先建立的查找表可快速获得下一帧报文发送的通道起始位置,这样可实现对下一帧报文的快速处理。
[0035]可选地,所述在当前帧报文发送完之前,获取下一帧报文对应的DIC变量值,包括:
[0036]在当前帧报文还剩余单位发送长度未发送时,获取下一帧报文对应的DIC变量值。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文处理方法,其特征在于,所述方法包括:在当前帧报文发送完之前,获取下一帧报文对应的空闲字符计数DIC变量值,所述DIC变量值用于记录累计增加或减少的IDLE码的数量,所述DIC变量值的取值范围在设定范围内;根据所述DIC变量值确定需要插入的目标IDLE码数量;在发送所述下一帧报文时,根据所述目标IDLE码数量调整所述下一帧报文与之后帧报文之间的帧间距。2.根据权利要求1所述的方法,其特征在于,通过FIFO模块缓存多帧报文的报文信息;所述在当前帧报文发送完之前,获取下一帧报文对应的DIC变量值,包括:在当前帧报文发送完之前,从所述FIFO模块中获取下一帧报文的报文信息;根据所述下一帧报文的报文信息获取所述下一帧报文对应的DIC变量值。3.根据权利要求2所述的方法,其特征在于,所述在当前帧报文发送完之前,获取下一帧报文对应的DIC变量值,包括:通过接口模块在当前帧报文发送完之前,向DIC计算模块发送指示信息,所述指示信息用于指示所述DIC计算模块从所述FIFO模块中读取下一帧报文的长度信息;通过所述DIC计算模块根据所述下一帧报文的长度信息确定所述下一帧报文对应的DIC变量值;通过所述接口模块从所述DIC计算模块获取所述下一帧报文对应的DIC变量值。4.根据权利要求2所述的方法,其特征在于,所述当前帧报文发送完之前,获取下一帧报文对应的DIC变量值,包括:通过接口模块在当前帧报文发送完之前,向所述FIFO模块发送指示信息,所述指示信息用于指示所述FIFO模块将下一帧报文的长度信息发送给DIC计算模块;通过所述DIC计算模块根据所述下一帧报文的长度信息确定所述下一帧报文对应的DIC变量值;通过所述接口模块从所述DIC计算模块获取所述下一帧报文对应的DIC变量值。5.根据权利要求3或4所述的方法,所述通过所述DIC计算模块根据所述下一帧报文的长度信息确定所述下一帧报文对应的DIC变量值,包括:通过所述DIC计算模块对所述下一帧报文的长度信息进行模为8或4的取余运算,获得...

【专利技术属性】
技术研发人员:乔永明张阿珍
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1