CN110381071A - 一种报文传输方法、装置及发送方设备 - Google Patents

一种报文传输方法、装置及发送方设备 Download PDF

Info

Publication number
CN110381071A
CN110381071A CN201910672999.7A CN201910672999A CN110381071A CN 110381071 A CN110381071 A CN 110381071A CN 201910672999 A CN201910672999 A CN 201910672999A CN 110381071 A CN110381071 A CN 110381071A
Authority
CN
China
Prior art keywords
message
request message
length
fpga
response
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
Application number
CN201910672999.7A
Other languages
English (en)
Other versions
CN110381071B (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.)
New H3C Technologies Co Ltd Hefei Branch
Original Assignee
New H3C Technologies Co Ltd Hefei Branch
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 New H3C Technologies Co Ltd Hefei Branch filed Critical New H3C Technologies Co Ltd Hefei Branch
Priority to CN201910672999.7A priority Critical patent/CN110381071B/zh
Publication of CN110381071A publication Critical patent/CN110381071A/zh
Application granted granted Critical
Publication of CN110381071B publication Critical patent/CN110381071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种报文传输方法、装置及发送方设备,该方法包括:接收所述CPU发送的第一Request报文,根据时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文,并通过所述交换芯片发送所述第二Request报文;当接收到所述交换芯片发送的第一Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文,并将所述第二Response报文发送给所述CPU。应用本发明实施例可以降低FPGA上行方向和下行方向带宽不匹配造成的交换芯片的总线带宽浪费。

Description

一种报文传输方法、装置及发送方设备
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文传输方法、装置及发送方设备。
背景技术
随着5G(第五代移动通信网络)技术的发展,传输网络压力日益增大,测量网络性能、监控网络运行状况是保证网络正常运行的必要措施。因此运营商要求综合接入网接入路由器设备必须支持相关OAM(Operation Administration and Maintenance,操作、管理和维护)协议,如TWAMP(Two-Way Active Measurement Protocol双向主动测量协议)-Light(精简)协议。
TWAMP-Light协议由网络中的两个设备Controller(控制器)和Responder(应答器)共同实现,Controller承担Control-Client(客户端)端、Server(服务器)端和Session-Sender(会话发送端)端的工作,Responder承担Session-Reflector(会话反射端)端的工作。
Controller由CPU(Center Process Unit,中央处理单元)和FPGA(Field-Programmable Gate Array,现场可编程门阵列)共同实现,在发送方向上CPU负责向FPGA发送完整的Request(请求)报文以及4字节信息头,在4字节信息头中,有FPGA需要的报文长度信息以及发送时间戳的位置信息,FPGA从信息头中取出发送时间戳的位置信息,在Requset报文相应位置填上实际发送报文的时间戳后,传递给交换芯片进行转发。
接收方向,Controller收到Response(响应)报文后,FPGA记录收到的Response报文的时间,并将此时间以时间戳的形式携带在Response报文的头部,最后将组成的新报文发送给CPU。
然而实践发现,由于交换芯片的报文转发处理的带宽通常大于CPU的报文转发处理的带宽,因此,上述方案中FPGA上行方向和下行方向带宽不匹配,容易造成交换芯片总线带宽的浪费。
发明内容
本发明提供一种报文传输方法、装置及发送方设备,以解决现有技术中FPGA上行方向和下行方向带宽不匹配,容易造成交换芯片总线带宽的浪费的问题。
根据本发明实施例的第一方面,提供一种报文传输方法,应用于发送方设备中的FPGA,所述发送方设备还包括CPU和交换芯片,包括:
接收所述CPU发送的第一请求Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文;
通过所述交换芯片发送所述第二Request报文;
当接收到所述交换芯片发送的第一响应Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文;
将所述第二Response报文发送给所述CPU。
根据本发明实施例的第二方面,提供一种报文传输装置,应用于发送方设备中的FPGA,所述发送方设备还包括CPU和交换芯片,所述装置包括:
接收单元,用于接收所述CPU发送的第一请求Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
处理单元,用于根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文;
发送单元,用于通过所述交换芯片发送所述第二Request报文;
所述处理单元,还用于当所述接收单元接收到所述交换芯片发送的第一响应Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文;
所述发送单元,还用于将所述第二Response报文发送给所述CPU。
根据本发明实施例的第三方面,提供一种发送方设备,包括CPU、FPGA以及交换芯片;其中:
所述CPU,用于向所述FPGA发送第一请求Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
所述FPGA,用于根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文,并通过所述交换芯片发送所述第二Request报文;
所述FPGA,还用于当接收到第一响应Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文,并将所述第二Response报文发送给所述CPU。
应用本发明实施例,通过CPU向FPGA发送Request报文时,不携带Padding域,由FPGA根据填充类型以及报文长度对Request报文进行填充;FPGA向CPU发送Response报文时,删除Padding域,减少了CPU与FPGA之间交互的报文的长度,降低了FPGA上行方向和下行方向带宽不匹配造成的交换芯片的总线带宽浪费。
附图说明
图1是本发明实施例提供的一种报文传输方法的流程示意图;
图2是本发明实施例提供的一种具体应用场景的架构示意图;
图3是本发明实施例提供的一种Request报文的格式示意图;
图4是本发明实施例提供的一种Response报文的格式示意图;
图5是本发明实施例提供的一种FPGA的报文处理流程示意图;
图6是本发明实施例提供的一种测试报文交互示意图;
图7是本发明实施例提供的一种报文传输装置的结构示意图;
图8是本发明实施例提供的一种发送方设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种报文传输方法的流程示意图,其中,该报文传输方法可以应用于发送方设备中的FPGA,该发送方设备还可以包括CPU和交换芯片,如图1所示,该报文传输方法可以包括:
需要说明的是,在本发明实施例中,上述发送方设备可以发起网络性能测量的网络设备,如TWAMP-Light协议中的Controller。
应该认识到,本发明实施例中的发送方设备并不限于TWAMP-Light协议中的Controller,也可以为网络性能测试协议中的发起设备,如Y.1564协议中的发起设备,本发明实施例后续不再复述。
步骤101、接收CPU发送的第一Request报文,该第一Request报文包括信息头,该信息头包括时间戳位置信息。
本发明实施例中,考虑到用于网络性能测试的Request报文和Response报文中有效字段的长度是固定的,Padding(填充)域是为了实现各种测试报文长度的一种辅助添加方式,此外,由于Padding类型(填充类型)可配置,且配置完成后,所有字节都是一样的,因此,为了降低FPGA上行方向和下行方向带宽不匹配造成的交换芯片的总线带宽浪费,CPU发送给FPGA的Request报文可以不需要完整的Padding域。
相应地,在本发明实施例中,CPU向FPGA发送Request报文(本文中称为第一Request)时,该第一Request报文可以不携带Padding域。
需要说明的是,在本发明实施例中,第一Request报文中除了包括上述信息头之外,还包括固定开销字段。
在一个示例中,固定开销字段可以包括但不限于标签及路由封装信息、报文头以及UDP数据报文的有效字节。
示例性的,报文头可以包括以太头、IP头(IPv4头或IPv6头)以及UDP(UserDatagram Protocol,用户数据报协议)头;
UDP数据报文的有效字节可以包括序列号(Sequence Number)、时间戳(Timestamp)以及误差估计(Error Estimate)。
步骤102、根据时间戳位置信息在第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对第一Request报文进行填充,生成第二Request报文,并通过交换芯片发送该第二Request报文。
本发明实施例中,FPGA接收到第一Request报文时,一方面,获取该第一Request报文中携带的时间戳位置信息,根据该时间戳位置信息在第一Request报文中增加发送时间戳(用于标识发送方设备发送Request报文的时间);另一方面,可以根据填充类型以及报文长度对第一Request报文进行填充,生成第二Request报文(该第二Request报文的报文长度与该报文长度一致)。
示例性的,Padding类型可以包括但不限于FF、AA或55等;Padding类型信息可以携带在第一Request报文中的信息头(通常为4字节)中,即第一Request报文的信息头中包括报文长度、时间戳位置信息以及Padding类型。
在一个示例中,上述信息头还包括Padding类型和预设报文长度。
在该示例中,上述Padding类型和报文长度可以由CPU通知给FPGA。
相应地,FPGA接收到第一Request报文时,一方面,获取该第一Request报文中携带的时间戳位置信息,根据该时间戳位置信息在第一Request报文中增加发送时间戳(用于标识发送方设备发送Request报文的时间);另一方面,获取该第一Request报文中携带的报文长度以及Padding类型,根据该报文长度以及Padding类型,对第一Request报文进行填充,即在第一Request报文中增加Padding域(增加在UDP数据部分)。
举例来说,假设Padding类型为FF,FPGA可以根据获取到的报文长度以及第一Request报文的长度确定需要增加的Padding域的长度(获取到的报文长度与第一Request报文的长度的差值),然后通过重复填充FF的方式,在第一Request报文中增加相应长度的Padding域,生成第二Request。
在另一个示例中,上述Padding类型和报文长度预先存储于FPGA。
在该示例中,可以预先在FPGA中配置上述Padding类型和报文长度。
相应地,FPGA接收到第一Request报文时,一方面,获取该第一Request报文中携带的时间戳位置信息,根据该时间戳位置信息在第一Request报文中增加发送时间戳;另一方面,获取本地存储的报文长度以及Padding类型,根据该报文长度以及Padding类型,在第一Request报文中增加Padding域,生成第二Request报文。
本发明实施例中,FPGA按照上述方式生成第二Request报文时,可以将该第二Request报文发送给交换芯片,由交换芯片发送给响应方设备。
本发明实施例中,响应方设备接收到第二Request报文时,可以按照预设策略对该第二Request报文进行处理,并回应Response报文,其具体实现可以参见现有网络性能测量方案中的相关描述,本发明实施例在此不做赘述。
步骤103、当接收到交换芯片发送的第一Response报文时,删除第一Response报文中的Padding域,以及在第一Response报文中增加接收时间戳,生成第二Response报文,并将第二Response报文发送给CPU。
本发明实施例中,交换芯片接收到响应方设备发送的Response报文(本文中称为第一Response报文)时,将该第一Response报文发送给FPGA。
FPGA接收到交换芯片发送的第一Response报文时,对该第一Response报文进行解析,分析出UDP数据部分的位置,将UDP数据部分的padding域删除,并在第一Response报文中增加接收时间戳,生成第二Response报文。
需要说明的是,在本发明实施例中,第一Response报文中包括响应方设备接收到第二Response报文的时间戳和发送第一Response报文的时间戳。
本发明实施例中,FPGA得到第二Response报文时,可以将该第二Response报文发送给CPU。
CPU接收到该第二Response报文时,可以根据该第二Response报文进行网络性能测量处理,其具体实现可以在下文中结合具体实例进行说明,本发明实施例在此不做赘述。
进一步地,在本发明其中一个实施例中,FPGA存储的填充类型可以包括多种不同的类型,报文长度可以包括多个不同的长度;相应地,上述根据填充类型以及报文长度对第一Request报文进行填充,生成第二Request报文,可以包括:
根据信息头中携带的填充类型标识以及报文长度标识,从所存储的填充类型和报文长度中查询匹配的目标填充类型和目标报文长度;
根据目标填充类型和目标报文长度对第一Request报文进行填充。
在该实施例中,FPGA上存储的Padding类型可以包括多种不同类型,报文长度也可以包括多个不同长度。
示例性的,FPGA上存储Padding类型和报文长度可以具体为Padding类型标识(如Padding类型编号)与Padding类型的对应关系,以及报文长度标识(如报文长度编号)与报文长度的对应关系。
相应地,CPU向FPGA发送第一Request报文时,可以向FPGA指示Padding类型标识和报文长度标识,如携带在信息头中。
FPGA接收到第一Request报文时,一方面,获取该第一Request报文中携带的时间戳位置信息,根据该时间戳位置信息在第一Request报文中增加发送时间戳;另一方面,获取信息头中携带的Padding类型标识和报文长度标识,根据该Padding类型标识和报文长度标识查询匹配的Padding类型(本文中称为目标Padding类型)和报文长度(本文中称为目标报文长度),根据该目标报文长度以及目标Padding类型,对第一Request报文进行填充,生成第二Request报文。
应该认识到,在本发明实施例中,当FPGA存储Padding类型和报文长度,且存在多种不同类型的Padding类型和报文长度时,FPGA确定目标Padding类型和目标报文长度的方式并不限于上述方式。
例如,当FPGA接收到第一Request报文时,FPGA还可以根据第一Request报文的报文头信息,从预先存储的Padding类型和报文长度中确定目标Padding类型和目标报文长度。
举例来说,可以预先在FPGA上配置不同源IP地址网段与Padding类型以及报文长度的对应关系,当FPGA接收到第一Request报文时,FPGA可以确定第一Request报文的源IP地址所属网段,并将与该网段对应的Padding类型和报文长度确定为目标Padding类型和目标报文长度,进而,FPGA可以根据目标Padding类型和目标报文长度,对第一Request报文进行填充,生成第二Request报文。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
在该实施例中,以TWAMP-Light协议的网络性能测量为例。
请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,在该应用场景中,Controller承担Control-Client端、Server端和Session-Sender端的工作,Responder承担Session-Reflector端的工作。其中:
首先,Control-Client端和Server端建立会话,负责会话的开始
会话建立后,Session-Sender端和Session-Reflector端通过TWAMP-Test(测试)报文进行交互,TWAMP-Test报文在传递的过程中会交互收发报文相关的时间戳、报文序号等信息。
其中,TWAMP-Test报文包括:Session-Sender端发送的Request报文以及Session-Reflector端返回的Response报文
最后,由Control-Client端完成数据的采集和性能的计算。
在该实施例中,为了降低FPGA上行方向和下行方向带宽不匹配造成的交换芯片的总线带宽浪费,Session-Sender端(即Controller)的CPU向FPGA发送Request报文时,不再携带完整的Padding域,而是通过Padding类型替代Padding域。
请参见图3,为一种Request报文的格式示意图,如图3所示,Request报文中的有效字段包括信息头(约定为4字节)以及固定开销字段;其中:
固定开销字段包括:标签及路由封装信息(可以根据实际场景设定长度,如设定为最大64字节)、以太头(14字节)、IPv4头(20字节)/IPv6头(40字节)、UDP头(8字节)以及UDP数据部分的有效字节(14字节);其中:
UDP数据部分的有效字节包括:Sequence Number(4字节)、Timestamp(8字节)、Error Estimate(2字节)。
在该实施例中,发送方向上CPU只需要将Request报文的信息头和固定开销字段发送给FPGA,并将Padding的类型、报文长度以及时间戳位置信息放到信息头中。
FPGA接收到CPU的报文时,一方面,根据时间戳位置信息在Request报文中增加发送时间戳;另一方面,根据报文长度以及Padding类型,对Request报文进行填充,以构造完整的Request报文。
在发送方向上Padding域是FPGA添加的,相应地,在接收方向上,FPGA需要将Padding域去掉后再上送CPU。
需要说明的是,Response报文与Request报文的长度不一致,Response报文要多插入两个时间戳信息(Responder接收到Request报文的时间以及发送Response报文的时间),它的UDP数据部分有效字节有42个字节,具体参见图4,如图4所示,其包括:
Sequence Number、Timestamp(Responder发送Response报文的时间)、ErrorEstimate、MBZ(Must Be Zero,必须为零)、Receive Timestamp(接收时间戳,即Responder接收到Request报文的时间)、Sender Sequence Number(发送端序列号)、SenderTimestamp(发送端时间戳,即Controller发送Request报文的时间)、Sender ErrorEstimate以及Sender TTL(Time To Live,存活时间)。
FPGA在接收到Response报文时,一方面,对报文进行解析,分析出UDP报文的位置,将UDP数据部分的Padding域删除;另一方面,将接收到Response报文的时间以时间戳的形式放在Response报文的头部,最后将重新组装好的Response报文传递给CPU。
其中,FPGA对Request报文和Response报文处理可以如图5所示。
需要说明的是,在本发明实施例中,对于Request报文和Response报文,FPGA可以缓存到不同的队列(如图5中的先进先出队列0和先进先出队列1)。
CPU接收到Response报文时,可以根据Response报文中的时间戳信息计算时延和抖动。
示例性的,以图6所示的TWAMP Light报文交互为例,第一个周期的(t1时间发送的Request报文)时延值:Delay1=t2-t1-(t2’-t1’)。
相邻周期(t2时间发送的Request报文)的时延值:Delay2=t4-t3-(t4’-t3’);
相应地,抖动的计算公式为:Jitter=|Delay2—Delay1|。
在该实施例中,CPU向FPGA发送Request报文时,以Padding类型替代Padding域;FPGA向CPU发送Response报文时,删除Padding域,减少了CPU与FPGA之间交互的报文的长度,降低了FPGA上行方向和下行方向带宽不匹配造成的交换芯片的总线带宽浪费。
举例来说,假设CPU与FPGA之间带宽是GE(Gigabit Ethernet千兆以太网),交换芯片与FPGA之间带宽是10GE(万兆以太网);以TWAMP-Light协议规定的报文发送周期最小间隔为10ms,报文长度最长为1518字节为例,则在未采用本发明实施例提供的技术方案之前,CPU与FPGA之间最多能实现821条会话:
而采用本发明实施例提供的技术方案之后,CPU下发的Request报文无论实际报文长度为多少,传递给FPGA的报文长度为158字节,若实际报文长度为1518时,相当于带宽提高了约8.6倍;CPU与FPGA之间最多能实现约7900条会话。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过CPU向FPGA发送Request报文时,不携带Padding域,由FPGA根据填充类型以及报文长度对Request报文进行填充;FPGA向CPU发送Response报文时,删除Padding域,减少了CPU与FPGA之间交互的报文的长度,降低了FPGA上行方向和下行方向带宽不匹配造成的交换芯片的总线带宽浪费。
请参见图7,为本发明实施例提供的一种报文传输装置的结构示意图,其中,该装置可以应用于上述方法实施例中的发送方设备,如图7所示,该报文传输装置可以包括:
接收单元710,用于接收所述CPU发送的第一Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
处理单元720,用于根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对第一Request报文进行填充,生成第二Request报文;
发送单元730,用于通过所述交换芯片发送所述第二Request报文;
所述处理单元720,还用于当所述接收单元710接收到所述交换芯片发送的第一Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文;
所述发送单元730,还用于将所述第二Response报文发送给所述CPU。
在可选实施例中,所述信息头还包括所述填充类型和所述报文长度。
在可选实施例中,所述填充类型和所述报文长度预先存储于所述FPGA。
在可选实施例中,所述处理单元720,具体用于当所述填充类型包括多种不同的类型,且所述预设报文长度包括多个不同的长度时,根据所述信息头中携带的填充类型标识以及报文长度标识,从所存储的填充类型和报文长度中查询匹配的目标填充类型和目标报文长度,并根据所述目标填充类型和目标报文长度对所述第一Request报文进行填充。
请参见图8,为本发明实施例提供的一种发送方设备的结构示意图,其中,该发送方设备可以应用于上述方法实施例,如图8所示,该发送方设备可以包括:CPU810、FPGA820以及交换芯片830;其中:
所述CPU810,用于向所述FPGA发送第一Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
所述FPGA820,用于根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文,并通过所述交换芯片830发送所述第二Request报文;
所述FPGA820,还用于当接收到第一Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文,并将所述第二Response报文发送给所述CPU。
在可选实施例中,所述信息头还包括所述填充类型和所述报文长度。
在可选实施例中,所述填充类型和所述报文长度预先存储于所述FPGA。
在可选实施例中,所述FPGA820,具体用于当所述填充类型包括多种不同的类型,且所述报文长度包括多个不同的长度时,根据所述信息头中携带的填充类型标识以及报文长度标识,从所存储的填充类型和报文长度中查询匹配的目标填充类型和目标报文长度,并根据所述目标填充类型和目标报文长度对所述第一Request报文进行填充。
在可选实施例中,所述CPU810,还用于确定填充类型以及报文长度,并将所述填充类型以及所述报文长度添加至所述第一Request报文的信息头;
所述FPGA820,具体用于根据所述信息头中包括的填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过CPU向FPGA发送Request报文时,不携带Padding域,由FPGA根据填充类型以及报文长度对Request报文进行填充;FPGA向CPU发送Response报文时,删除Padding域,减少了CPU与FPGA之间交互的报文的长度,降低了FPGA上行方向和下行方向带宽不匹配造成的交换芯片的总线带宽浪费。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种报文传输方法,应用于发送方设备中的现场可编程门阵列FPGA,所述发送方设备还包括中央处理单元CPU和交换芯片,其特征在于,所述方法包括:
接收所述CPU发送的第一请求Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,并根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文;
通过所述交换芯片发送所述第二Request报文;
当接收到所述交换芯片发送的第一响应Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文;
将所述第二Response报文发送给所述CPU。
2.根据权利要求1所述的方法,其特征在于,所述信息头还包括所述填充类型和所述报文长度。
3.根据权利要求1所述的方法,其特征在于,所述填充类型和所述报文长度预先存储于所述FPGA。
4.根据权利要求3所述的方法,其特征在于,所述填充类型包括多种不同的类型;所述报文长度包括多个不同的长度;
所述根据填充类型以及报文长度对所述第一Request报文进行填充,包括:
根据所述信息头中携带的填充类型标识以及报文长度标识,从所存储的填充类型和报文长度中查询匹配的目标填充类型和目标报文长度;
根据所述目标填充类型和目标报文长度对所述第一Request报文进行填充。
5.一种报文传输装置,应用于发送方设备中的现场可编程门阵列FPGA,所述发送方设备还包括中央处理单元CPU和交换芯片,其特征在于,所述装置包括:
接收单元,用于接收所述CPU发送的第一请求Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
处理单元,用于根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文;
发送单元,用于通过所述交换芯片发送所述第二Request报文;
所述处理单元,还用于当所述接收单元接收到所述交换芯片发送的第一响应Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文;
所述发送单元,还用于将所述第二Response报文发送给所述CPU。
6.根据权利要求5所述的装置,其特征在于,所述信息头还包括所述填充类型和所述报文长度。
7.根据权利要求5所述的装置,其特征在于,所述填充类型和所述报文长度预先存储于所述FPGA。
8.根据权利要求7所述的装置,其特征在于,
所述处理单元,具体用于当所述填充类型包括多种不同的类型,且所述报文长度包括多个不同的长度时,根据所述信息头中携带的填充类型标识以及报文长度标识,从所存储的填充类型和报文长度中查询匹配的目标填充类型和目标报文长度,并根据所述目标填充类型和目标报文长度对所述第一Request报文进行填充。
9.一种发送方设备,包括中央处理单元CPU、现场可编程门阵列FPGA以及交换芯片;其中:
所述CPU,用于向所述FPGA发送第一请求Request报文,所述第一Request报文包括信息头,所述信息头包括时间戳位置信息;
所述FPGA,用于根据所述时间戳位置信息在所述第一Request报文中增加发送时间戳,以及根据填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文,并通过所述交换芯片发送所述第二Request报文;
所述FPGA,还用于当接收到第一响应Response报文时,删除所述第一Response报文中的Padding域,以及在所述第一Response报文中增加接收时间戳,生成第二Response报文,并将所述第二Response报文发送给所述CPU。
10.根据权利要求9所述的发送方设备,其特征在于,
所述CPU,还用于确定填充类型以及报文长度,并将所述填充类型以及所述报文长度添加至所述第一Request报文的信息头;
所述FPGA,具体用于根据所述信息头中包括的填充类型以及报文长度对所述第一Request报文进行填充,生成第二Request报文。
CN201910672999.7A 2019-07-24 2019-07-24 一种报文传输方法、装置及发送方设备 Active CN110381071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910672999.7A CN110381071B (zh) 2019-07-24 2019-07-24 一种报文传输方法、装置及发送方设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910672999.7A CN110381071B (zh) 2019-07-24 2019-07-24 一种报文传输方法、装置及发送方设备

Publications (2)

Publication Number Publication Date
CN110381071A true CN110381071A (zh) 2019-10-25
CN110381071B CN110381071B (zh) 2021-05-28

Family

ID=68255720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910672999.7A Active CN110381071B (zh) 2019-07-24 2019-07-24 一种报文传输方法、装置及发送方设备

Country Status (1)

Country Link
CN (1) CN110381071B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112003816A (zh) * 2020-06-22 2020-11-27 武汉光迅科技股份有限公司 数据传输方法、装置、设备及存储介质
CN112052171A (zh) * 2020-09-03 2020-12-08 上海复深蓝软件股份有限公司 测试报文处理方法、装置、计算机设备及存储介质
WO2022047675A1 (zh) * 2020-09-02 2022-03-10 华为技术有限公司 一种数据传输方法及其设备
CN116016713A (zh) * 2022-12-13 2023-04-25 苏州盛科通信股份有限公司 报文传输方法、装置、网络设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1091513A2 (en) * 1999-10-07 2001-04-11 Nortel Networks Limited Semi transparent tributary for synchronous transmission
US8856899B1 (en) * 2008-06-20 2014-10-07 United Services Automobile Association (Usaa) Systems and methods for obscuring entry of electronic security term
US20160028603A1 (en) * 2014-07-25 2016-01-28 Telefonaktiebolaget L M Ericsson (Publ) Data path performance measurement using test messages in a software defined network
CN105634937A (zh) * 2015-12-31 2016-06-01 华为技术有限公司 一种报文的处理方法和装置
US9432748B2 (en) * 2013-05-10 2016-08-30 Huawei Technologies Co., Ltd. System and method for photonic switching
CN106612256A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 一种报文处理方法及装置
CN108242969A (zh) * 2016-12-23 2018-07-03 华为技术有限公司 一种传输速率的调整方法及网络设备
CN109257139A (zh) * 2017-07-14 2019-01-22 深圳市中兴微电子技术有限公司 一种物理层数据的发送、接收方法及其装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1091513A2 (en) * 1999-10-07 2001-04-11 Nortel Networks Limited Semi transparent tributary for synchronous transmission
US8856899B1 (en) * 2008-06-20 2014-10-07 United Services Automobile Association (Usaa) Systems and methods for obscuring entry of electronic security term
US9432748B2 (en) * 2013-05-10 2016-08-30 Huawei Technologies Co., Ltd. System and method for photonic switching
US20160028603A1 (en) * 2014-07-25 2016-01-28 Telefonaktiebolaget L M Ericsson (Publ) Data path performance measurement using test messages in a software defined network
CN106612256A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 一种报文处理方法及装置
CN105634937A (zh) * 2015-12-31 2016-06-01 华为技术有限公司 一种报文的处理方法和装置
CN108242969A (zh) * 2016-12-23 2018-07-03 华为技术有限公司 一种传输速率的调整方法及网络设备
CN109257139A (zh) * 2017-07-14 2019-01-22 深圳市中兴微电子技术有限公司 一种物理层数据的发送、接收方法及其装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J. HEDIN,ET.AL: "《Differentiated Service Code Point and Explicit Congestion Notification Monitoring in the Two-Way Active Measurement Protocol (TWAMP)》", 《IETF》 *
林宇等: "《IP网端到端性能测量技术研究的进展》", 《电子学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112003816A (zh) * 2020-06-22 2020-11-27 武汉光迅科技股份有限公司 数据传输方法、装置、设备及存储介质
CN112003816B (zh) * 2020-06-22 2023-04-18 武汉光迅科技股份有限公司 数据传输方法、装置、设备及存储介质
WO2022047675A1 (zh) * 2020-09-02 2022-03-10 华为技术有限公司 一种数据传输方法及其设备
CN112052171A (zh) * 2020-09-03 2020-12-08 上海复深蓝软件股份有限公司 测试报文处理方法、装置、计算机设备及存储介质
CN116016713A (zh) * 2022-12-13 2023-04-25 苏州盛科通信股份有限公司 报文传输方法、装置、网络设备及可读存储介质

Also Published As

Publication number Publication date
CN110381071B (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
US11843535B2 (en) Key performance indicators (KPI) for tracking and correcting problems for a network-under-test
CN110381071A (zh) 一种报文传输方法、装置及发送方设备
CN107465565B (zh) 链路测试方法和装置及系统
US10756994B2 (en) Switch, controller, system, and link quality detection method
US9419878B2 (en) Network controller for delay measurement in SDN and related delay measurement system and delay measurement method
WO2016058245A1 (zh) 操作、管理和维护oam报文处理方法及装置
WO2018210213A1 (zh) 一种实现ioam封装的方法及装置、存储介质
CN103416022B (zh) 分布式路由器/交换机架构中的服务中吞吐量测试方法和系统
CN105634840A (zh) 一种丢包的测量方法及装置
CN112653634A (zh) 一种流量控制方法、装置、设备及可读存储介质
WO2020108578A1 (zh) 一种虚拟内网加速方法及系统、配置方法、存储介质和计算机设备
WO2021088813A1 (zh) 报文封装方法及装置、报文解封装方法及装置
WO2015184740A1 (zh) 检测层次信息的处理方法及装置
CN110545213A (zh) 计算机网络数据流量监测系统及方法
CN104104548B (zh) 一种基于sflow和owamp的网络安全态势信息获取系统及方法
WO2021052280A1 (zh) 网络测量系统、方法、设备及存储介质
WO2013078873A1 (zh) 识别应答报文的方法及设备
CN111478821B (zh) 一种网络性能测试方法和系统
CN106161124B (zh) 报文的测试处理方法及装置
CN111131267A (zh) 基于fpga的以太网自适应方法、装置及系统
Holzinger et al. SmartNIC-based load management and network health monitoring for time sensitive applications
US11606273B1 (en) Monitoring server performance using server processing time
CN107835109B (zh) 一种测试软件定义的分组传送网网络的方法及系统
de Vergara et al. Demonstration of 100 Gbit/s active measurements in dynamically provisioned optical paths
CN106571970B (zh) 承载网的监测方法及装置

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