CN118118375A - 一种数据包帧长计算方法、系统、存储介质和电子设备 - Google Patents

一种数据包帧长计算方法、系统、存储介质和电子设备 Download PDF

Info

Publication number
CN118118375A
CN118118375A CN202410391893.0A CN202410391893A CN118118375A CN 118118375 A CN118118375 A CN 118118375A CN 202410391893 A CN202410391893 A CN 202410391893A CN 118118375 A CN118118375 A CN 118118375A
Authority
CN
China
Prior art keywords
frame
data
determining
length
data packet
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.)
Pending
Application number
CN202410391893.0A
Other languages
English (en)
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.)
Suzhou Lianxun Instrument Co ltd
Original Assignee
Suzhou Lianxun Instrument 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 Suzhou Lianxun Instrument Co ltd filed Critical Suzhou Lianxun Instrument Co ltd
Priority to CN202410391893.0A priority Critical patent/CN118118375A/zh
Publication of CN118118375A publication Critical patent/CN118118375A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种数据包帧长计算方法,包括:获取数据包;确定所述数据包的帧结构;根据所述帧结构确定帧头、帧尾和本周期无效数据个数;根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。本申请根据提取到的数据包,确定其帧结构,并检测出帧头、帧尾和无效数据,根据帧头、帧头和本周期无效数据个数确定数据包的帧长,能够准确计算高速率通信过程中的以太网数据包,便于对高速率通信过程中的数据发送和数据接收进行检测,可用于媒体访问控制层的数据传输检错。本申请还提供一种数据包帧长计算系统、存储介质和电子设备,同样具有上述有益效果。

Description

一种数据包帧长计算方法、系统、存储介质和电子设备
技术领域
本申请涉及网络通信领域,特别涉及一种数据包帧长计算方法、系统、存储介质和电子设备。
背景技术
当前,仅存在100G MAC(即Media Access Control,媒体访问控制子协议)实现以太网包的提取方法,对于400G或800G等高速率单周期内存在多个包的情况,其以太网包的帧长计算存在较大偏差,因此如何准确计算高速率通信过程中的以太网数据包是本领域技术人员亟需解决的技术问题。
发明内容
本申请的目的是提供一种数据包帧长计算方法、系统、存储介质和电子设备,能够准确计算高速率通信过程中的以太网数据包。
为解决上述技术问题,本申请提供一种数据包帧长计算方法,具体技术方案如下:
获取数据包;
确定所述数据包的帧结构;
根据所述帧结构确定帧头、帧尾和本周期无效数据个数;
根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。
可选的,根据所述帧结构确定帧头、帧尾和本周期无效数据个数包括:
根据帧头输入确定帧头数量;
根据帧尾输入确定帧尾结束通道,再根据所述帧尾结束通道确定帧尾数量;
根据所述数据包中无效数据标志位的位置确定本周期无效数据个数。
可选的,根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长之前,还包括:
初始化帧长计算值;
根据所述帧头和所述帧尾的电平状态确定对应的帧长计算公式;
相应的,根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长包括:
将所述帧头、所述帧尾和所述无效数据代入所述帧长计算公式,得到所述数据包的帧长数值;
将所述帧长数值填入所述帧长计算值。
可选的,根据所述帧头和所述帧尾的电平状态确定对应的帧长计算公式包括:
分别确定所述帧头和所述帧尾的电平高低;
若所述帧头为高电平且所述帧尾为低电平,确定所述帧长计算公式为length_op=length_op+128,length_op为帧长数值;
若所述帧头为高电平且所述帧尾为高电平,确定所述帧长计算公式为length_op=length_op+128-empty_Byte,empty_Byte为本周期无效数据个数。
可选的,根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长之后,还包括:
根据所述数据包按帧长进行分类,得到不同长度段的数据帧的实际数量;所述不同长度段的数据帧的实际数量用于核实接收数据和发送数据的一致性。
可选的,所述获取数据包包括:
确定目标流数据中的帧头数量和帧尾数量;
根据所述帧头数量和所述帧尾数量确定数据平移标志;
根据所述数据平移标志从所述目标流数据中提取数据包。
可选的,所述根据所述帧头数量和所述帧尾数量确定数据平移标志包括:
根据所述帧头数量和所述帧尾数量确定所述目标流数据中的帧头平移标志和帧尾平移标志;其中,所述帧头平移标志用于对所述目标流数据中的帧头数据进行平移对齐,所述帧尾平移标志用于对所述目标流数据中的帧尾数据进行平移对齐。
本申请还提供一种数据包帧长计算系统,包括:
数据包获取模块,用于获取数据包;
帧结构确定模块,用于确定所述数据包的帧结构;
数据计算模块,用于根据所述帧结构确定帧头、帧尾和本周期无效数据个数;
帧长计算模块,用于根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
本申请还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
本申请提供一种数据包帧长计算方法,包括:获取数据包;确定所述数据包的帧结构;根据所述帧结构确定帧头、帧尾和本周期无效数据个数;根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。
本申请根据提取到的数据包,确定其帧结构,并检测出帧头、帧尾和无效数据,根据帧头、帧头和本周期无效数据个数确定数据包的帧长,能够准确计算高速率通信过程中的以太网数据包,便于对高速率通信过程中的数据发送和数据接收进行检测,可用于媒体访问控制层的数据传输检错。
本申请还提供一种数据包帧长计算系统、存储介质和电子设备,同样具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据包帧长计算方法的流程图;
图2为本申请实施例所提供的一种数据包帧长计算系统结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种数据包帧长计算方法的流程图,该方法包括:
S101:获取数据包;
S102:确定所述数据包的帧结构;
S103:根据所述帧结构确定帧头、帧尾和本周期无效数据个数;
S104:根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。
首先获取数据包,该数据包可从高速率通信流数据中获取,在此对于具体的通信速率不作限定,以目标流数据指代任意速率的通信流数据。可以先确定目标流数据中的帧头数量和帧尾数量,以根据所述帧头数量和所述帧尾数量确定数据平移标志,从而根据所述数据平移标志从所述目标流数据中提取数据包。
在此对于如何确定数据平移标志不作限定,可以利用通过千兆介质无关接口(Gigabit Media Independent Interface,GMII接口)接收的帧头标志信号和帧尾标志信号确定目标流数据中的帧头数量和帧尾数量。具体的,可以根据帧头数量和帧尾数量确定目标流数据中的帧头平移标志和帧尾平移标志;其中,帧头平移标志用于对目标流数据中的帧头数据进行平移对齐,帧尾平移标志用于对目标流数据中的帧尾数据进行平移对齐。
针对400G网络,其MII接口(Media Independent Interface,即媒体独立接口)按照IEEE Std 802.3bs定义为GMII,定义如下:
1024bit数据信号i_txd(i_txd<16-1:0><63:0>);
128bits控制信号i_txc(i_txc<16-1:0><7:0>);
上文中,i_txd为数据,也就是网络传输的信息,位宽为16×64bit;这些信息中包含要提取的以太网包。在I_txd中提取出以太网包。
而i_txc为控制信息,该信息表示数据是否为有效信息,位宽是16×8,每1bit对应数据1Byte(8bit)是否是有效信息,为0表示有效,为1表示无效信息,如txd_dl1是i_txd的延时1个周期的数据,txd_dl2是i_txd延时2个周期的数据。
16bits帧头标志信号i_startofpacket(i_startofpacket<16-1:0>);
128bits帧尾标志信号i_endofpacket(i_endofpacket<16-1:0><7:0>);
本实施例定义lane通道数量l=16,标识400G以太网中有16个lane(通道)同时进行数据传输,且每个通道传输64bit数据。在其他实施例中,通道数量16可以更改,如100G为4,200G为8,800G为32;每个通道的数据64bit不变。
在获取到数据包后,可以确定数据包的帧结构。通常以太网帧包含如下结构:
Start:8bit,起始符(0XFB);
Preamble:48bit前导码;
SFD:8bit帧起始定界符;
Destination Addr:接收帧的网络适配器的物理地址(MAC地址),为6个字节(48比特);
Source Addr:发送帧的网络适配器的物理地址(MAC地址),为6个字节(48比特);
Type/Length:上层协议的类型或长度;
Payload:有效载荷,表示交付给上层的数据。以太网帧数据长度最小为46字节,最大为9000字节。
CRC32:检测该帧是否出现差错,占4个字节(32比特)。发送方计算帧的循环冗余码校验(CRC)值,把这个值写到帧里。接收方计算机重新计算CRC,与FCS字段的值进行比较。如果两个值不相同,则表示传输过程中发生了数据丢失或改变。
IPG:帧平均间隔,最小96bit。
MII(Media Independent Interface),即媒体独立接口,MII接口是MAC与PHY连接的标准接口。它是IEEE-802.3定义的以太网行业标准。MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术。
此时可以根据帧头输入确定帧头数量;根据帧尾输入确定帧尾结束通道,再根据所述帧尾结束通道确定帧尾数量。
对于本周期无效数据个数,可以根据所述数据包中无效数据标志位的位置确定本周期无效数据个数。
本周期无效数据的个数单位Byte,以empty_Byte表示本周期无效数据个数,empty_Byte<6:0>表示本周期无效数据个数的位宽为7bit。
得到帧头、帧尾和本周期无效数据个数后,可以计算数据包的帧长。而在计算数据包的帧长前,可以先初始化帧长计算值,以根据帧头和帧尾的电平状态确定对应的帧长计算公式;
此后,计算数据包的帧长时,可以将帧头、帧尾和无效数据代入帧长计算公式,得到数据包的帧长数值,再将帧长数值填入帧长计算值。
在帧头检测时,若数据包为:
Data_1<0><63:0>={8'hfb,8'haa,8'haa,8'haa,8'haa,8'haa,8'haa,8'hab};
则帧头为1高电平,其他情况帧头为0低电平。“hfb”中的“h”表示16进制,“fb”以及后文的“aa”等均为16进制表示数。
而在帧尾检测时,若数据包的128字节中第i(i取1~128)个字节为8’hfd,且紧随其后的3个字节均为8’h07,则帧尾为1高电平,其他周期为0低电平;同时,根据i的位置确定出本周期无效数据empty_Byte<6:0>的数量。
若i=1,则empty_Byte<6:0>=128;
若i=2,则empty_Byte<6:0>=128-1;
若i=3,则empty_Byte<6:0>=128-2;
……
若i=128,则empty_Byte<6:0>=128-127;
此后,可以根据所述帧头和所述帧尾的电平状态确定对应的帧长计算公式。具体的,可以分别确定帧头和帧尾的电平高低。需要说明的是,当帧头为高电平时开始计算帧长,若在本周期内帧尾为低电平,表明该数据包实际为不完整的数据包,即在本周期内未发送完全。仅在帧尾也为高电平时,表明该数据发送完全。
此时可以按照如下方式进行帧长计算:
帧长计算状态1:
若帧头为高电平且帧尾为低电平,length_op=length_op+128;进入帧长计算状态2;
若帧头为高电平且帧尾为高电平,length_op=length_op+128-empty_Byte;进入帧长计算状态1;
帧长计算状态2:
判断帧尾是否为高电平:
若是,则length_op=length_op+128-empty_Byte;返回帧长计算状态1;
若否,则length_op=length_op+128;保持帧长计算状态2,直至帧尾为高电平时计算帧长。
本申请实施例根据提取到的数据包,确定其帧结构,并检测出帧头、帧尾和无效数据,根据帧头、帧头和本周期无效数据个数确定数据包的帧长,能够准确计算高速率通信过程中的以太网数据包,便于对高速率通信过程中的数据发送和数据接收进行检测,可用于媒体访问控制层的数据传输检错。
在上述实施例的基础上,在本申请的其他实施例中,根据所述帧头、所述帧尾和本周期无效数据个数确定数据包的帧长之后,还可以进一步根据数据包按帧长进行分类,得到不同长度段的数据帧的实际数量;不同长度段的数据帧的实际数量用于核实接收数据和发送数据的一致性。
通过对数据包按帧长分类,目的是得到不同长度段的帧的实际数量,以便在测试完成时与发送的数据进行对比,确定该段内的帧是否与发送一致。
本实施例定义了7组寄存器,宽度均为64bit,分别为length_low64<63:0>、length_64_127<63:0>、length_128_255<63:0>、length_256_511<63:0>、length_512_1023<63:0>、length_1024_1518<63:0>、length_above_1518<63:0>;
若length_op<64,则length_low64<63:0>加1;
若length_op≥64且≤127,则length_64_127<63:0>加1;
若length_op≥128且≤511,则length_128_511<63:0>加1;
若length_op≥512且≤1023,则length_512_1023<63:0>加1;
若length_op≥1024且≤1518,则length_1024_1518<63:0>加1;
若length_op>1518,则length_above_1518<63:0>加1;
不同长度段的数据帧可适用于不同的数据包测试需求,本领域技术人员可以根据实际需求定义其他不同的寄存器,在此不作具体限定。例如若执行压力测试,可以从存有长度较小的寄存器中选择数据包批量发送以执行压力测试。也可以按设定比例取不同长度的数据包进行测试。
下文对于基于数据平移标志提取得到数据包的过程作进一步说明:
帧头数量start_num=2时,帧尾数量end_num=1或者2,则帧头的数据平移标志:高l/2位宽是0,低l/2i_startofpacket的低l/2数值。单周期小包的平移标志:高l/2位是i_startofpacket_dl2(i_startofpacket延迟2个周期)高l/2数值,低l/2为0;
其他情况,则帧头的数据平移标志为i_startofpacket_dl2,单周期小包的平移标志为0。
对于帧尾平移标志Termin_lane(位宽<16-1:0>),可分三种情况:
首先根据帧尾标志信号可以检测出包结束的通道位置,帧尾结束通道位宽<16-1:0>;
A.帧头数量start_num=1或者2,且帧尾数量end_num=2,则帧尾平移标志Termin_lane(位宽<16-1:0>):高l/2值end_lane_dl1(end_lane延迟一个周期)的高l/2数值,低l/2为0;
B.帧头数量start_num=2,且帧尾数量end_num=1,帧尾平移标志Termin_lane为0;
C.其他情况,帧尾平移标志Termin_lane是end_lane_dl1(end_lane延迟一个周期)。
数据lane的平移对齐,目的是将包起始统一放在通道0上。根据得到的帧头的数据平移标志帧头平移标志和帧尾平移标志Termin_lane在两个周期的32个lane数据上做数据的平移对齐。
根据帧头的数据平移标志值平移lane的数据并得出txd_A(位宽<16-1:0><63:0>)和平移通道数量标志lane_shift。
例如帧头的数据平移标志=16’h0400,表明包的起始lane在通道5上,则平移通道数量标志lane_shift=5,则txd_A={txd_dl2[5:15],txd_dl1[0:4]},txd_a则txd_dl2的通道5-15和txd_dl1的通道0-4通道数据组成。
帧头的数据平移标志根据通道数有16种情况,每一种情况都如上所述进行帧头数据的平移,并得出对应的平移通道数平移通道数量标志lane_shift。
根据上文得到的平移通道数量标志lane_shift和帧尾平移标志Termin_lane对数据和帧尾进行数据平移;
首先根据平移通道数量标志lane_shift的值,确定数据平移通道数值,然后再根据帧尾平移标志Termin_lane的值,确定帧尾所在通道,对帧尾所在通道后面的所有通道赋值0;由此可得到txd_B(位宽<16-1:0><63:0>);
如所得平移通道数量标志lane_shift=5,则判断帧尾平移标志Termin_lane的数值即帧结束的通道:
A.若帧尾标志帧尾平移标志Termin_lane数值0,即没有帧尾,则txd_B={txd_dl2[5:15],txd_dl1[0:4]};
B.若帧尾标志帧尾平移标志Termin_lane不为0,帧尾平移标志Termin_lane=16’h8000,16’h4000,16’h2000,16’h1000,16’h0800,五种情况,则txd_B为0,因为以上五种情况的帧尾数据实际上已经在A中进行了平移;
C.剩余10种情况,即帧结束在5通道以后,如帧尾平移标志Termin_lane=16’h0200,即帧结束在6通道上,则txd_B=={txd_dl2[5:6],896’h0},即取txd_dl2的5和6两个通道赋值在txd_B的15和14通道;其他通道值为0;。
第一阶段平移得出具有统一帧头在lane0通道的数据txd_A,通过第二阶段的平移得出平移数据包含有帧尾并补零后的数据txd_B;
第三阶段主要是将已得出的txd_A和txd_B分配到不同的数据流,完成以太网包的正确提取。
首先根据i_startofpacket的0-7通道判断是否有帧头产生start_half_num,根据i_endofpacket的8-15通道判断是否有帧尾产生end_lane_num,然后根据start_half_num=1且end_lane_num=1,则产生one_head_end为1,其他情况均为0上。
按0-7、8-15区分帧头帧尾可区分出以下两种情况,避免提取错误包。
如果一个周期内包含一个帧头、一个帧尾,那么该信息可能有两种情况:
情况1:该周期的数据信息包含一个完整的包;
情况2:该周期数据信息包含上个包的包尾和下个包的包头;
因此这里使用了0-7通道的包头,8-15通道的包尾,就是确定该周期数据信息是情况1。
根据帧头数量start_num=1且帧尾数量end_num=1且one_head_end=0,或者帧头数量start_num=2且帧尾数量end_num=2,以上两个种情况之一,则产生extract_pkt为1,extract_flag电平翻转(extract_flag初始化为0);
此时存在两种情况:
情况A:帧头数量start_num=1且帧尾数量end_num=1且one_head_end=0;
情况B:帧头数量start_num=2且帧尾数量end_num=2;
满足以上情况的任何一种,则电平翻转;
若不满足情况A,也不满足情况B,电平不翻转,保持不变。
将txd_A和txd_B分别分配到Data_1、Data_2中;Data_1和Data_2的含义Data_1、Data_2是本专利所提取的以太网包;位宽为16×64bit;以上以太网包具有典型的以太网帧结构,提取了完整的包以后可以用于CRC校验,信息检测等。
根据上文即可正确提取以太网包,在400G的以太网流量中,正确提取以太网包至关重要,若无法提取数据包,则媒体访问控制层无法进行包的校验,对应数据包的丢帧率、CRC等指标将无法计算。
下面对本申请实施例提供的数据包帧长计算系统进行介绍,下文描述的数据包帧长计算系统与上文描述的数据包帧长计算方法可相互对应参照。
参见图2,图2为本申请实施例所提供的一种数据包帧长计算系统结构示意图,该系统包括:
数据包获取模块,用于获取数据包;
帧结构确定模块,用于确定所述数据包的帧结构;
数据计算模块,用于根据所述帧结构确定帧头、帧尾和本周期无效数据个数;
帧长计算模块,用于根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。
基于上述实施例,作为优选的实施例,数据计算模块包括:
帧头计算单元,用于根据帧头输入确定帧头数量;
帧尾计算单元,用于根据帧尾输入确定帧尾结束通道,再根据所述帧尾结束通道确定帧尾数量;
无效数据计算单元,用于根据所述数据包中无效数据标志位的位置确定本周期无效数据个数。
基于上述实施例,作为优选的实施例,还包括:
帧长计算公式确定模块,用于初始化帧长计算值;根据所述帧头和所述帧尾的电平状态确定对应的帧长计算公式;
相应的,帧长计算模块为用于将所述帧头、所述帧尾和所述无效数据代入所述帧长计算公式,得到所述数据包的帧长数值;将所述帧长数值填入所述帧长计算值的模块。
基于上述实施例,作为优选的实施例,帧长计算公式确定模块包括:
电平检测单元,用于分别确定所述帧头和所述帧尾的电平高低;若所述帧头为高电平且所述帧尾为低电平,确定所述帧长计算公式为length_op=length_op+128,length_op为帧长数值;若所述帧头为高电平且所述帧尾为高电平,确定所述帧长计算公式为length_op=length_op+128-empty_Byte,empty_Byte为本周期无效数据个数。
基于上述实施例,作为优选的实施例,还包括:
数据帧长分类模块,用于根据所述数据包按帧长进行分类,得到不同长度段的数据帧的实际数量;所述不同长度段的数据帧的实际数量用于核实接收数据和发送数据的一致性。
基于上述实施例,作为优选的实施例,数据包获取模块为用于执行如下步骤的模块:
确定目标流数据中的帧头数量和帧尾数量;
根据所述帧头数量和所述帧尾数量确定数据平移标志;
根据所述数据平移标志从所述目标流数据中提取数据包。
基于上述实施例,作为优选的实施例,数据包获取模块包括:
平移标志确定单元,用于根据所述帧头数量和所述帧尾数量确定所述目标流数据中的帧头平移标志和帧尾平移标志;其中,所述帧头平移标志用于对所述目标流数据中的帧头数据进行平移对齐,所述帧尾平移标志用于对所述目标流数据中的帧尾数据进行平移对齐。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种数据包帧长计算方法,其特征在于,包括:
获取数据包;
确定所述数据包的帧结构;
根据所述帧结构确定帧头、帧尾和本周期无效数据个数;
根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。
2.根据权利要求1所述的数据包帧长计算方法,其特征在于,根据所述帧结构确定帧头、帧尾和本周期无效数据个数包括:
根据帧头输入确定帧头数量;
根据帧尾输入确定帧尾结束通道,再根据所述帧尾结束通道确定帧尾数量;
根据所述数据包中无效数据标志位的位置确定本周期无效数据个数。
3.根据权利要求1所述的数据包帧长计算方法,其特征在于,根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长之前,还包括:
初始化帧长计算值;
根据所述帧头和所述帧尾的电平状态确定对应的帧长计算公式;
相应的,根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长包括:
将所述帧头、所述帧尾和所述无效数据代入所述帧长计算公式,得到所述数据包的帧长数值;
将所述帧长数值填入所述帧长计算值。
4.根据权利要求3所述的数据包帧长计算方法,其特征在于,根据所述帧头和所述帧尾的电平状态确定对应的帧长计算公式包括:
分别确定所述帧头和所述帧尾的电平高低;
若所述帧头为高电平且所述帧尾为低电平,确定所述帧长计算公式为length_op=length_op+128,length_op为帧长数值;
若所述帧头为高电平且所述帧尾为高电平,确定所述帧长计算公式为length_op=length_op+128-empty_Byte,empty_Byte为本周期无效数据个数。
5.根据权利要求1所述的数据包帧长计算方法,其特征在于,根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长之后,还包括:
根据所述数据包按帧长进行分类,得到不同长度段的数据帧的实际数量;所述不同长度段的数据帧的实际数量用于核实接收数据和发送数据的一致性。
6.根据权利要求1所述的数据包帧长计算方法,其特征在于,所述获取数据包包括:
确定目标流数据中的帧头数量和帧尾数量;
根据所述帧头数量和所述帧尾数量确定数据平移标志;
根据所述数据平移标志从所述目标流数据中提取数据包。
7.根据权利要求6所述的数据包帧长计算方法,其特征在于,所述根据所述帧头数量和所述帧尾数量确定数据平移标志包括:
根据所述帧头数量和所述帧尾数量确定所述目标流数据中的帧头平移标志和帧尾平移标志;其中,所述帧头平移标志用于对所述目标流数据中的帧头数据进行平移对齐,所述帧尾平移标志用于对所述目标流数据中的帧尾数据进行平移对齐。
8.一种数据包帧长计算系统,其特征在于,包括:
数据包获取模块,用于获取数据包;
帧结构确定模块,用于确定所述数据包的帧结构;
数据计算模块,用于根据所述帧结构确定帧头、帧尾和本周期无效数据个数;
帧长计算模块,用于根据所述帧头、所述帧尾和所述本周期无效数据个数确定所述数据包的帧长。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的数据包帧长计算方法的步骤。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1-7任一项所述的数据包帧长计算方法的步骤。
CN202410391893.0A 2024-04-02 2024-04-02 一种数据包帧长计算方法、系统、存储介质和电子设备 Pending CN118118375A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410391893.0A CN118118375A (zh) 2024-04-02 2024-04-02 一种数据包帧长计算方法、系统、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410391893.0A CN118118375A (zh) 2024-04-02 2024-04-02 一种数据包帧长计算方法、系统、存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN118118375A true CN118118375A (zh) 2024-05-31

Family

ID=91214114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410391893.0A Pending CN118118375A (zh) 2024-04-02 2024-04-02 一种数据包帧长计算方法、系统、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN118118375A (zh)

Similar Documents

Publication Publication Date Title
CN106992879B (zh) 一种can总线负载率的计算方法
CN111211954B (zh) 一种canfd总线负载率的确定方法及装置
CN101523787B (zh) 用于在66b系统中应用前向纠错的方法和装置
JPH059980B2 (zh)
EP2063573A1 (en) Transmission method, system and apparatus of overhead information
CN105068966A (zh) 串口自动识别方法
CN103780322B (zh) 低成本高可靠性的高速网络通讯芯片测试方法与电路
WO2009004631A1 (en) Data packet header compression
CN104750588A (zh) 一种基于串口通信的压力测试方法
CN110704356A (zh) 一种通用的解析串口数据方法
CN112187789B (zh) 一种数据链路协议转换系统
US20030118022A1 (en) Reconfigurable data packet header processor
CN112583477B (zh) 一种延时测量方法、系统和存储介质
WO2022062946A1 (zh) 一种数据编码方法、数据解码方法及通信装置
CN109547157B (zh) 一种支持时间触发以太网的万兆网络控制器及控制方法
JPWO2011027435A1 (ja) フレーム間ギャップ制御ユニット、トラヒック送信ユニット、伝送装置及びフレーム間ギャップ制御方法
CN118118375A (zh) 一种数据包帧长计算方法、系统、存储介质和电子设备
JP2009164833A (ja) データ処理装置およびデータ処理方法並びにプログラム
CN107682126B (zh) 一种以太网网络传输性能测试装置
CN116521602A (zh) 一种总线数据的传输方法和装置及存储介质
CN106789440B (zh) 一种ip包包头检测方法及装置
CN112887277B (zh) 现场总线与以太网的转换方法、装置及计算机存储介质
CN113098658A (zh) 以太网帧间距均值调节方法、装置、智能终端及存储介质
CN110769049B (zh) 一种配电终端及其soe数据上送方法
US20100046548A1 (en) Multi-purpose pdu container for delineating pdu datagrams and pdu datagram attributes in an 8b/10b coded system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination