CN107079017B - 一种报文转换方法及装置 - Google Patents
一种报文转换方法及装置 Download PDFInfo
- Publication number
- CN107079017B CN107079017B CN201580056589.XA CN201580056589A CN107079017B CN 107079017 B CN107079017 B CN 107079017B CN 201580056589 A CN201580056589 A CN 201580056589A CN 107079017 B CN107079017 B CN 107079017B
- Authority
- CN
- China
- Prior art keywords
- message
- destination
- source
- address
- ethernet
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种报文转换方法及装置。该方法包括:接收第一报文;第一报文符合SRIO协议;第一报文的数据载荷域包括数据;第一报文中包含源器件ID号、目的器件ID号以及组包分发信息;组包分发信息包括源收发线程和目的收发线程;根据第一报文获得第二报文;第二报文包括以太网报文头、IP报文头、传输层协议报文头以及数据字段,以太网报文头包括与源器件ID号对应的源MAC地址,以及与目的器件ID号对应的目的MAC地址;IP报文头包括与源器件ID号对应的源IP地址,以及与目的器件ID对应的目的IP地址;传输层协议报文头包括与源收发线程对应的源端口号,以及与目的收发线程对应的目的端口号;数据字段包括所述数据。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文转换方法及装置。
背景技术
串行高速输入输出(英文:Serial Rapid Input Output,简称SRIO)是一种高性能、基于数据包交换的互联总线技术。SRIO主要应用于嵌入式系统内部互联,支持芯片到芯片、板到板间的通信。
由于SRIO针对的目标是嵌入式系统,所以通过SRIO组建的互联网的范围较小。而以太网(Ethernet)可以支持大范围的互联。因此,需要将各个SRIO网络通过以太网进行互联,进而实现大范围的互联。然而,SRIO器件不支持以太网接口,所以SRIO报文无法在以太网中进行传输。
SRIO协议里定义了4个邮箱(mail box)号和4个邮件(letter)号,所以可以支持16条消息地址。因此,在现有技术中采用如下方法进行报文转换。将以太网中的媒体接入控制(英文:Media Access Control,简称:MAC)地址跟邮箱号和邮件号相关联,所以总共能寻址到16个MAC地址。
然而,由于SRIO消息(message)的邮箱号和邮件号的总数只有16个,所以可以转换的SRIO器件最多只有16个,所以约束了SRIO网络的互联范围,无法实现大范围组网。
发明内容
本发明实施例提供一种报文转换方法及装置,用以解决现有技术中的报文转换方法导致的无法大范围组网的技术问题。
第一方面提供了一种报文转换方法,包括:
接收第一报文;所述第一报文符合串行高速输出输出SRIO协议;所述第一报文的数据载荷域包括数据;所述第一报文中包含源器件标识ID号、目的器件ID号以及组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;
根据所述第一报文获得第二报文;
其中,所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段,所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址,以及与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID号对应的源IP地址,以及与所述目的器件ID对应的目的IP地址;所述传输层协议报文头包括与所述源收发线程对应的源端口号,以及与所述目的收发线程对应的目的端口号;所述数据字段包括所述数据。
结合第一方面,在第一方面的第一种可能的实现方式中,在根据所述第一报文获得第二报文之后,所述方法还包括:
根据所述目的IP地址以及所述目的MAC地址发送所述第二报文;
向所述第一报文的发送端发送应答信息。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述组包分发信息还包括标识信息、分片序号以及标志信息;所述IP报文头还包括标识字段、标志字段和片偏移字段,所述标识字段中包括与所述标识信息对应的信息;所述标志字段中包括与所述标志信息对应的信息;所述片偏移字段中包括与所述分配序号对应的信息。
第二方面提供一种报文转换方法,包括:
接收第二报文;所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段;所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址;所述IP报文头包括源IP地址和目的IP地址;所述传输层协议报文头包括源端口号和目的端口号;所述数据字段包括数据;
根据所述第二报文获得第三报文;其中,所述第三报文符合串行高速输入输出SRIO协议,所述第三报文包括源器件标识ID号、目的器件ID号、源收发线程、目的收发线程以及所述数据;所述源器件ID号与所述源MAC地址和所述源IP地址对应;所述目的器件ID号与所述目的MAC地址和所述目的IP地址对应;所述源收发线程与所述源端口号对应;所述目的收发线程与所述目的端口号对应。
结合第二方面,在第二方面的第一种可能的实现方式中,在根据所述第二报文获得第三报文之后,所述方法还包括:
根据所述目的器件ID号发送所述第三报文;
接收所述目的器件ID号对应的目的器件发送的应答信息。
第三方面提供一种报文转换方法,包括:
接收无应答写操作NWRITE报文;所述NWRITE报文中包含数据、源器件标识ID号、目的器件ID号以及所述数据在所述目的器件ID号对应的目的器件上的存储器的存储地址;
根据所述NWRITE报文获得以太网远程直接内存读写RDMA报文;其中,所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址和与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID对应的源IP地址和与所述目的器件ID号对应的目的IP地址;所述数据载荷字段包括所述存储地址和所述数据。
第四方面提供一种报文转换方法,包括:
接收以太网远程直接内存读写RDMA报文;所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;其中,所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址,所述IP报文头包括源IP地址和目的IP地址,所述数据载荷字段包括数据以及数据将要写入的目的器件的存储器上的存储地址;
根据所述以太网RDMA报文获得无应答写操作NWRITE报文;其中,所述NWRITE报文包括报文头以及数据载荷字段;所述报文头包括所述存储地址,与所述源IP地址和所述源MAC地址对应的源器件标识ID号,与所述目的IP地址和所述目的MAC地址对应的所述目的器件的目的器件ID号;所述数据载荷字段包括所述数据。
第五方面提供一种报文传输方法,包括:
获得数据;
获得关于所述数据的组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;
根据所述数据和所述组包分发信息获得第一报文,所述第一报文符合串行高速输入输出SRIO协议。
结合第五方面,在第五方面的第一种可能的实现方式中,所述第一报文的数据载荷域包括所述组包分发信息。
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述组包分发信息还包括标识信息、分片序号以及标志信息,所述标识信息、分片序号以及标志信息分别用于填充网络协议IP报文头中的标识字段、片偏移字段以及标志字段。
第六方面提供了一种报文转换装置,包括:
接收单元,用于接收第一报文;所述第一报文符合串行高速输出输出SRIO协议;所述第一报文的数据载荷域包括数据;所述第一报文中包含源器件标识ID号、目的器件ID号以及组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;
处理单元,用于根据所述第一报文获得第二报文;
其中,所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段,所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址,以及与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID号对应的源IP地址,以及与所述目的器件ID对应的目的IP地址;所述传输层协议报文头包括与所述源收发线程对应的源端口号,以及与所述目的收发线程对应的目的端口号;所述数据字段包括所述数据。
结合第六方面,在第六方面的第一种可能的实现方式中,所述装置还包括发送单元,用于根据所述目的IP地址以及所述目的MAC地址发送所述第二报文;向所述第一报文的发送端发送应答信息。
结合第六方面或第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述组包分发信息还包括标识信息、分片序号以及标志信息;所述IP报文头还包括标识字段、标志字段和片偏移字段,所述标识字段中包括与所述标识信息对应的信息;所述标志字段中包括与所述标志信息对应的信息;所述片偏移字段中包括与所述分配序号对应的信息。
第七方面提供一种报文转换装置,包括:
接收单元,用于接收第二报文;所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段;所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址;所述IP报文头包括源IP地址和目的IP地址;所述传输层协议报文头包括源端口号和目的端口号;所述数据字段包括数据;
处理单元,用于根据所述第二报文获得第三报文;其中,所述第三报文符合串行高速输入输出SRIO协议,所述第三报文包括源器件标识ID号、目的器件ID号、源收发线程、目的收发线程以及所述数据;所述源器件ID号与所述源MAC地址和所述源IP地址对应;所述目的器件ID号与所述目的MAC地址和所述目的IP地址对应;所述源收发线程与所述源端口号对应;所述目的收发线程与所述目的端口号对应。
结合第七方面,在第七方面的第一种可能的实现方式中,所述装置还包括发送单元,用于根据所述目的器件ID号发送所述第三报文;
所述接收单元还用于:接收所述目的器件ID号对应的目的器件发送的应答信息。
第八方面提供一种报文转换装置,包括:
接收单元,用于接收无应答写操作NWRITE报文;所述NWRITE报文中包含数据、源器件标识ID号、目的器件ID号以及所述数据在所述目的器件ID号对应的目的器件上的存储器的存储地址;
处理单元,用于根据所述NWRITE报文获得以太网远程直接内存读写RDMA报文;其中,所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址和与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID对应的源IP地址和与所述目的器件ID号对应的目的IP地址;所述数据载荷字段包括所述存储地址和所述数据。
第九方面提供一种报文转换装置,包括:
接收单元,用于接收以太网远程直接内存读写RDMA报文;所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;其中,所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址,所述IP报文头包括源IP地址和目的IP地址,所述数据载荷字段包括数据以及数据将要写入的目的器件的存储器上的存储地址;
处理单元,用于根据所述以太网RDMA报文获得无应答写操作NWRITE报文;其中,所述NWRITE报文包括报文头以及数据载荷字段;所述报文头包括所述存储地址,与所述源IP地址和所述源MAC地址对应的源器件标识ID号,与所述目的IP地址和所述目的MAC地址对应的所述目的器件的目的器件ID号;所述数据载荷字段包括所述数据。
第十方面提供一种报文传输装置,包括:
获得单元,用于获得数据;
处理单元,用于获得关于所述数据的组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;根据所述数据和所述组包分发信息获得第一报文,所述第一报文符合串行高速输入输出SRIO协议。
结合第十方面,在第十方面的第一种可能的实现方式中,所述第一报文的数据载荷域包括所述组包分发信息。
结合第十方面或第十方面的第一种可能的实现方式,在第十方面的第二种可能的实现方式中,所述组包分发信息还包括标识信息、分片序号以及标志信息,所述标识信息、分片序号以及标志信息分别用于填充网络协议IP报文头中的标识字段、片偏移字段以及标志字段。
第十一方面提供一种报文转换设备,包括:
串行高速输入输出SRIO接口;
接收器,用于通过所述SRIO接口接收第一报文;所述第一报文符合串行高速输出输出SRIO协议;所述第一报文的数据载荷域包括数据;所述第一报文中包含源器件标识ID号、目的器件ID号以及组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;
处理电路,用于根据所述第一报文获得第二报文;其中,所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段,所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址,以及与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID号对应的源IP地址,以及与所述目的器件ID对应的目的IP地址;所述传输层协议报文头包括与所述源收发线程对应的源端口号,以及与所述目的收发线程对应的目的端口号;所述数据字段包括所述数据;
以太网接口;
发送器,用于通过所述以太网接口将所述第二报文发送至以太网。
结合第十一方面,在第十一方面的第一种可能的实现方式中,所述发送器还用于通过所述SRIO接口向所述第一报文的发送端发送应答信息。
结合第十一方面或第十一方面的第一种可能的实现方式,在第十一方面的第二种可能的实现方式中,所述组包分发信息还包括标识信息、分片序号以及标志信息;所述IP报文头还包括标识字段、标志字段和片偏移字段,所述标识字段中包括与所述标识信息对应的信息;所述标志字段中包括与所述标志信息对应的信息;所述片偏移字段中包括与所述分配序号对应的信息。
结合第十一方面或第十一方面的第一种可能的实现方式或第十一方面的第二种可能的实现方式,在第十一方面的第三种可能的实现方式中,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
第十二方面提供一种报文转换设备,包括:
以太网接口;
接收器,用于通过所述以太网接口接收第二报文;所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段;所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址;所述IP报文头包括源IP地址和目的IP地址;所述传输层协议报文头包括源端口号和目的端口号;所述数据字段包括数据;
处理电路,用于根据所述第二报文获得第三报文;其中,所述第三报文符合串行高速输入输出SRIO协议,所述第三报文包括源器件标识ID号、目的器件ID号、源收发线程、目的收发线程以及所述数据;所述源器件ID号与所述源MAC地址和所述源IP地址对应;所述目的器件ID号与所述目的MAC地址和所述目的IP地址对应;所述源收发线程与所述源端口号对应;所述目的收发线程与所述目的端口号对应;
串行高速输入输出SRIO接口;
发送器,用于通过所述SRIO接口根据所述目的器件ID号发送所述第三报文。
结合第十二方面,在第十二方面的第一种可能的实现方式中,所述接收器还用于:通过所述SRIO接口接收所述目的器件ID号对应的目的器件发送的应答信息。
结合第十二方面或第十二方面的第一种可能的实现方式,在第十二方面的第二种可能的实现方式中,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
第十三方面提供一种报文转换设备,包括:
串行高速输入输出SRIO接口;
接收器,用于通过所述SRIO接口接收无应答写操作NWRITE报文;所述NWRITE报文中包含数据、源器件标识ID号、目的器件ID号以及所述数据在所述目的器件ID号对应的目的器件上的存储器的存储地址;
处理电路,用于根据所述NWRITE报文获得以太网远程直接内存读写RDMA报文;其中,所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址和与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID对应的源IP地址和与所述目的器件ID号对应的目的IP地址;所述数据载荷字段包括所述存储地址和所述数据;
以太网接口;
发送器,用于通过所述以太网接口发送所述以太网RDMA报文。
结合第十三方面,在第十三方面的第一种可能的实现方式中,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
第十四方面提供一种报文转换设备,包括:
以太网接口;
接收器,用于通过所述以太网接口接收以太网远程直接内存读写RDMA报文;所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;其中,所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址,所述IP报文头包括源IP地址和目的IP地址,所述数据载荷字段包括数据以及数据将要写入的目的器件的存储器上的存储地址;
处理电路,用于根据所述以太网RDMA报文获得无应答写操作NWRITE报文;其中,所述NWRITE报文包括报文头以及数据载荷字段;所述报文头包括所述存储地址,与所述源IP地址和所述源MAC地址对应的源器件标识ID号,与所述目的IP地址和所述目的MAC地址对应的所述目的器件的目的器件ID号;所述数据载荷字段包括所述数据;
串行高速输入输出SRIO接口;
发送器,用于通过所述SRIO接口发送所述NWRITE报文。
结合第十四方面,在第十四方面的第一种可能的实现方式中,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
第十五方面提供一种串行高速输入输出SRIO端点,包括:
报文传输装置,用于获得数据;获得关于所述数据的组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;根据所述数据和所述组包分发信息获得第一报文,所述第一报文符合串行高速输入输出SRIO协议;
输出端口,用于输出所述第一报文。
结合第十五方面,在第十五方面的第一种可能的实现方式中,所述SRIO端点为基带单元BBU中的中央处理器CPU、基带芯片或者数字信号处理DSP芯片。
结合第十五方面或第十五方面的第一种可能的实现方式,在第十五方面的第二种可能的实现方式中,所述第一报文的数据载荷域包括所述组包分发信息。
结合第十五方面或第十五方面的第一种可能的实现方式或第十五方面的第二种可能的实现方式,在第十五方面的第三种可能的实现方式中,所述组包分发信息还包括标识信息、分片序号以及标志信息,所述标识信息、分片序号以及标志信息分别用于填充网络协议IP报文头中的标识字段、片偏移字段以及标志字段。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例中,通过将器件ID号映射为IP地址和MAC地址,源目的收发线程映射源目的端口号,将SRIO报文转换为能够在以太网中传输的第二报文。相比现有技术中将MAC地址和邮箱号和邮件号相关联的方案,本发明实施例是直接通过器件ID号对应MAC地址和IP地址,所以对于32位IP地址的情况,本发明实施例中的转换方法理论上可以寻址4G个SRIO器件,所以远远大于现有技术中关联邮箱号和邮件号的寻址方案的组网范围。
附图说明
图1a-图1b为本发明实施例提供的一种网络系统结构图;
图2为本发明实施例提供的第一种报文转换方法的流程图;
图3为本发明实施例提供的第一种报文转换的示意图;
图4为本发明实施例提供的第二种报文转换方法的流程图;
图5为本发明实施例提供的第三种报文转换方法的流程图;
图6为本发明实施例提供的第二种报文转换的示意图;
图7为本发明实施例提供的第四种报文转换方法的流程图
图8为本发明实施例提供的一种报文转换装置的功能框图;
图9为本发明实施例提供的一种报文转换设备的结构框图;
图10为本发明实施例提供的一种报文传输装置的功能框图。
具体实施方式
本发明实施例提供一种报文转换方法及装置,用以解决现有技术中的报文转换方法导致的无法大范围组网的技术问题。
本发明实施例中的技术方案为解决上述技术问题,总体思路如下:
在本发明实施例中,SRIO报文中包括源目的收发线程,并且将源目的收发线程和源目的端口号对应,将器件ID号与网络协议(英文:Internet Protocol,简称:IP)地址和MAC地址对应,所以能够将SRIO报文转换为能够在以太网中传输的第二报文。因为直接将器件ID号和MAC地址和IP地址关联,所以可以实现大范围的组网。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中,“字段”和“域”可以互换使用。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参考图1a所示,为本发明实施例提供的一种网络系统结构图。该网络系统包括:至少一个以太网端点、至少一个SRIO网络和/或至少一个SRIO端点,以太网以及报文转换装置。报文转换装置包括SRIO接口以及以太网接口。报文转换装置连接在SRIO网络或SRIO端点与以太网之间,用于将SRIO报文转换为以太网报文,和/或,将以太网报文转换为SRIO报文。SRIO网络以及SRIO端点可以通过以太网组成一个大范围的网络。
进一步,请再参考图1b所示,SRIO网络包括多个SRIO端点以及SRIO交换机。
其中,SRIO端点具体可以是一个支持SRIO接口的设备,也可以是一个元器件。
举例来说,在云-无线接入网络(英文:Cloud-Radio Access Network,简称:C-RAN)场景中,SRIO端点例如是基带单元(英文:Baseband Unit,简称:BBU),或是BBU中的中央处理器(英文:Central Processing Unit,简称:CPU)、数字信号处理(英文:DigitalSignal Processing,简称:DSP)芯片或基带芯片。
SRIO交换机可以是一个单独的交换机,也可以是一个SRIO交换芯片。SRIO交换芯片可以集成在其它网元中。举例来说,可以集成在BBU中。
报文转换装置可以是单独的设备,也可以是集成在其它网元中。举例来说,报文转换装置可以集成在SRIO交换机或者是SRIO端点中,也可以集成在以太网中的交换机中或者网关设备中。
以下将具体描述报文转换装置如何进行报文转换。首先,将描述SRIO报文转换为以太网报文的过程。
请参考图2,为本发明实施例提供的一种报文转换方法的流程图。该方法包括:
步骤101:接收第一报文;所述第一报文符合SRIO协议;第一报文的数据载荷域包括数据;第一报文中包含源器件标识(ID)号、目的器件ID号以及组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;
步骤102:根据第一报文获得第二报文;其中,第二报文包括以太网报文头、网络协议(英文:Internet Protocol,简称:IP)报文头、传输层协议报文头以及数据字段。以太网报文头包括与源器件ID号对应的源MAC地址,以及与目的器件ID号对应的目的MAC地址。IP报文头包括与源器件ID号对应的源IP地址,以及与目的器件ID对应的目的IP地址。传输层协议报文头包括与源收发线程对应的源端口号,以及与目的收发线程对应的目的端口号。数据字段包括所述数据。
具体来说,步骤102包括:步骤1021,将源器件ID号按照预定规则转换为源IP地址、源MAC地址;将目的器件ID号按照所述预定规则转换为目的IP地址、目的MAC地址;根据源收发线程确定源端口号,根据目的收发线程确定目的端口号;步骤1022,将所述数据封装为第二报文;将所述数据填充在数据字段;步骤1023,将源MAC地址和目的MAC地址填充在以太网报文头;将源IP地址和目的IP地址填充在IP报文头;将源端口号和目的端口号填充在传输层协议报文头。
其中,传输层协议的报文能够被封装在IP报文中传输。
可以理解的是,步骤1021和步骤1022之间并不限定其先后顺序,步骤1021和步骤1023之间也不限定其先后顺序。换言之,可以是在步骤1022执行完之后再执行步骤1021,也可以是先执行步骤1021,再执行步骤1022,或者是两个步骤同时执行。此外,可以是在步骤1022执行完之后再执行步骤1023,也可以是先执行步骤1023,再执行步骤1022,或者是两个步骤同时执行。
同时请参考图3所示,为本实施例方法的一个应用场景图。假设SRIO端点20需要将数据发送给SRIO端点40。因为SRIO端点20和SRIO端点40位于不同的SRIO网络中,两者中间通过以太网连接。那么SRIO端点20发送的SRIO报文,即第一报文首先通过SRIO交换机,然后到达报文转换装置10。那么对应的,报文转换装置10接收第一报文。
现有技术中的SRIO报文的帧结构请参考表一所示。
表一
其中,头信息(Hearder)包括ACKID字段、RSVD字段、PRIO字段、TT字段以及FType字段。ACKID字段用于向报文发送端响应报文接收确认信息,RSVD为保留域。PRIO为报文优先级。TT为器件ID的长度。FType为Logi_Inf的格式类型。传输层以及逻辑层域(Transport&Logical fields)中的Dest_Addr为目的器件ID号。Src_Addr为源器件ID号。Logi_Inf为逻辑层信息,包括数据长度、数据地址以及邮箱号等。Payload为数据载荷。循环冗余校验码(CRC)为采用某种规则生成的校验码。
在本发明实施例中,SRIO报文的帧格式有一些变化。具体来说,例如是在数据载荷域中填充有组包分发信息,其它部分与现有技术中相同。如此,作为发送端的SRIO端点就可以将组包分发信息也作为数据载荷填充在数据载荷域中。换言之,SRIO端点将获得的数据,例如自身生成的或者是从其它器件上接收的数据,以及与该数据相关的组包分发信息封装成SRIO报文,即第一报文。因为SRIO报文的帧结构在本质上没有发生改变,所以SRIO网络中的其它网元依然可以识别这样的SRIO报文,所以不需要对SRIO网络进行改动。当然,在实际运用中,也可以是在其它域补充定义组包分发信息,也可以是增加新的字段来填充组包分发信息。
因此,不管是上述哪种承载方式,步骤101中的第一报文中包含组包分发信息。
以图3为例,因为第一报文是由SRIO端点20发送的,所以源器件ID号即为SRIO端点20的器件ID号。假设第一报文中的目的器件ID号为SRIO端点40的器件ID号,即表示SRIO端点40为报文的接收端。
接下来执行步骤1021,将第一报文中的源器件ID号和目的器件ID号按照预定规则分别转换为源IP地址和源MAC地址,以及目的IP地址和目的MAC地址。并且,根据源收发线程确定源端口号,以及根据目的收发线程确定目的端口号。
具体来说,可以在每个报文转换装置上都保存有一张地址转换表,地址转换表中记录了器件ID号对应的IP地址和MAC地址。因为SRIO端点本身是没有IP地址和MAC地址的,所以在本发明实施例中,为每个SRIO端点分配一个唯一的虚拟的IP地址和MAC地址。SRIO端点对应的IP地址和MAC地址可以通过多个报文转换装置之间进行协商获得,和/或,以太网端点对应的器件ID号通过多个报文转换装置之间进行协商获得。协商完成之后,每个报文转换装置上就会维护一张地址转换表。地址转换表的形式例如为表二所示的形式。当然,在实际运用中,也可以是其它的存储形式,本发明不作具体限定。
器件ID号 | IP地址 | MAC地址 |
器件ID号1 | IP地址1 | MAC地址1 |
器件ID号2 | IP地址2 | MAC地址2 |
器件ID号3 | IP地址3 | MAC地址3 |
表二
因此,本发明实施例中的按照预定规则进行地址转换,例如为按照预设的地址映射表进行地址映射。
当然,在实际运用中,也可以是每个报文转换装置利用协商好的转换算法进行地址映射,所以本发明实施例中的预定规则即为预定算法。
关于根据源收发线程确定源端口号,以及根据目的收发线程确定目的端口号,具体来说,可以是直接将源收发线程确定为源端口号,将目的收发线程确定为目的端口号。也可以是按照某种规则进行映射,该规则可以根据实际情况进行制定,只要能够正确映射即可。
接下来执行步骤1022,将第一报文中的数据载荷区域的数据封装为第二报文。第二报文包括以太网报文头、IP报文头、传输层协议报文头以及数据字段。
第二报文的封装格式如表三所示。
表三
其中,帧校验序列(英文:Frame Check Sequence,简称:FCS)为校验序列字段,为本领域技术人员所熟知的内容,所以在此不再赘述。
具体来说,以太网报文头的格式可以如表四和表五所示,表四为Ethernet II帧格式,表五为IEEE802.3的帧格式。当然,在实际运用中,本发明实施例中的以太网报文头格式也可以是其它以太网报文头帧格式,本发明不作具体限定。
前序 | 目的地址 | 源地址 | 类型 | 数据 | FCS |
8byte | 6byte | 6byte | 2byte | 46~1500byte | 4byte |
表四
表五
在步骤1023中,就可以将转换后的源MAC地址填充到源地址字段中,将目的MAC地址填充到目的地址字段中。
其它字段为本领域技术人员所熟知的内容,所以在此不再赘述。
IP报文头的格式可以如表六所示。
表六
其中,在步骤1023中,将通过步骤1021所转换得到的源IP地址填充到32位源IP地址字段,将转换得到的目的IP地址填充到32位目的IP地址字段。
可选的,组包分发信息还包括用于填充IP报文头的标识信息、分片序号、标志信息。
其中,标识信息用来填充IP报文头的16位标识字段,当数据报文由于长度超过网络的最大传输单元(MTU)而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。
标志信息用来填充3位标志字段。其中3位标志字段中的最低位用来表示后面是否还有分片的数据报。中间一位用来表示该数据报是否可以分片。
分片序号用来确定片偏移的值。在片偏移值确定之后,将片偏移值填充在13位片偏移字段中。片偏移值表示较长的分组在分片后,某分片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该分片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度是8字节(64位)的整数倍。
其它字段的含义为本领域技术人员所熟知的内容,所以在此不再赘述。
传输层协议具体可以是用户数据报协议(英文:User Datagram Protocol,简称:UDP),还可以是传输控制协议(英文:Transmission Control Protocol,简称:TCP)。当然,在实际运用中,还可以是其它数据报文能够被封装在IP数据报文中传输的协议。因此,传输层协议报文头例如是UDP报文头或者是TCP报文头。
以下以UDP报文头为例进行说明。UDP报文头的格式如表七所示。
表七
因此,在步骤1023中,将步骤1021中确定出的源端口号和目的端口号分别填充在源端口号字段和目的端口号字段中。
表七中的各个字段的含义为本领域技术人员所熟知的内容,所以在此不再赘述。
经过上述描述的过程,就将一个SRIO报文封装为能够在以太网传输的第二报文。
当获得第二报文后,该方法还包括:通过以太网发送第二报文。
进一步,在SRIO协议中规定了接收端必须在接收到发送端发送的报文时给发送端发送应答信息。如果应答信息跨越以太网,往返时延大,严重降低SRIO报文收发的流量。如果要保证流量,则会约束组网范围。另外,由于SRIO message的应答信息要求不丢失,而以太网是一个允许丢包的网络。如果应答信息丢失,会影响SRIO端点的稳定性和性能。因此,在通过以太网发送第二报文之后,该方法还包括:向第一报文的发送端发送应答信息,以通知该发送端第一报文已接收到。通过由报文转换装置代替报文接收端向报文发送端发送应答信息,避免了应答信息在以太网中的传递。
当报文接收端为例如图1中所示的以太网端点时,在步骤102中转换得到的目的IP地址和目的MAC地址均为以太网端点的真实地址,所以第二报文在以太网中传输,最终到达以太网端点。
当报文接收端为SRIO端点时,请继续参考图3所示,当报文转换装置10将第二报文通过以太网进行发送之后,第二报文在以太网中传递,最终到达目的器件,SRIO端点40所对应的报文转换装置30。然后报文转换装置30要对第二报文进行报文格式转换。以下将详细描述报文转换装置30如何将第二报文转换为符合SRIO协议的第三报文。
请参考图4所示,为本发明实施例提供的另一种报文转换方法的流程图。该方法包括:
步骤201:接收第二报文;第二报文包括以太网报文头、IP报文头、传输层协议报文头以及数据字段;以太网报文头包括源MAC地址和目的MAC地址;IP报文头包括源IP地址和目的IP地址;传输层协议报文头包括源端口号和目的端口号;数据字段包括数据;
步骤202:根据第二报文获得第三报文;其中,第三报文符合SRIO协议。
具体的,步骤202可以包括:将源MAC地址、源IP地址转换为源器件ID号;将目的MAC地址、目的IP地址转换为目的器件ID号;根据源端口号和目的端口号分别确定源收发线程和目的收发线程;将所述数据封装为第三报文;将源器件ID号、目的器件ID号、源收发线程和目的收发线程填充在第三报文中。
具体来说,第二报文例如是从报文转换装置10发送过来的。
本实施例中的IP地址和MAC地址映射为器件ID号,为前述描述的将器件ID号转换为IP地址和MAC地址的逆过程。报文转换装置30也维护有一张如表二所示的地址映射表,只要通过查表即可将IP地址、MAC地址转换为器件ID号。对应的,将端口号确定为收发线程,或者是通过某种规则将端口号再逆映射为收发线程。
可选的,该方法还包括:将IP报文头中与分片相关的信息和标识字段中的标识内容也封装在第三报文中。其中,与分片相关的信息例如包括标志字段中的最低位和中间一位、片偏移字段中的值。
可选的,与分片相关的信息和标识内容被封装在第三报文的数据载荷域中。
当接收端的SRIO端点接收到第三报文时,可以根据分片相关的信息和标识内容对第三报文中的数据进行处理。举例来说,可以将所有分片按照顺序组成一个完整的数据。
可选的,在步骤202之后,该方法还包括:将第三报文发送给目的器件ID号对应的SRIO端点。
进一步,在发送第三报文之后,如果目的器件ID号对应的SRIO端点(如图3中的SRIO端点40)接收到报文之后,还向报文转换装置发送应答信息,所以对应的,报文转换装置接收目的器件ID号对应的SRIO端点发送的应答信息。
进一步,如果报文转换装置在预定时长内未接收到应答信息,就重新发送第三报文。可以重复该过程,直至收到应答信息为止。
以上描述了一个SRIO message或者是数据流(Datastream)从源器件,SRIO端点20跨越以太网发送至目的器件,SRIO端点40的完整过程。
在现有技术中,直接内存读写(英文:Direct IO,简称:DIO)数据类型并没有邮箱号和邮件号,所以无法用现有技术中方法进行报文转换。以下将描述本发明实施例中,SRIO协议中DIO数据类型的报文转换过程。请参考图5所示,为本发明实施例中再一报文转换方法的流程图。该方法包括:
步骤301:接收无应答写操作(NWRITE)报文;所述NWRITE报文中包含数据、源器件ID号、目的器件ID号以及所述数据在目的器件ID号对应的目的器件上的存储器的存储地址;
步骤302:根据NWRITE报文获得以太网远程直接内存读写(英文:Remote DirectMemory Access,简称:RDMA)报文。其中,以太网RDMA报文包括以太网报文头、IP报文头和数据载荷字段。以太网报文头包括与源器件ID号对应的源MAC地址和与目的器件ID号对应的目的MAC地址。IP报文头包括与源器件ID对应的源IP地址和与目的器件ID号对应的目的IP地址。数据载荷字段包括所述存储地址和所述数据。
具体的,步骤302可以包括:将源器件ID号转换为源IP地址、源MAC地址;将目的器件ID号转换为目的IP地址、目的MAC地址;将所述存储地址和数据封装为以太网RDMA)文;将源MAC地址和目的MAC地址填充在以太网报文头中,将源IP地址和目的IP地址填充在IP报文头中,将所述存储地址和数据填充在数据载荷字段。
具体来说,NWRITE报文为直接IO的一种传输格式。是一个写操作,但不要求接收端响应。请参考图6所示,为本发明实施例中的方法的一个应用场景。假设SRIO端点60想要将一个数据写入SRIO端点80。SRIO端点60就可以发送NWRITE报文。NWRITE报文包括所要写入的数据、源器件ID号、目的器件ID号,例如SRIO端点60和SRIO端点80的器件ID号。还包括数据将要写入的目的器件的存储器上的存储地址。可选的,该存储地址可以位于NWRITE报文的包头中。在实际运用中,NWRITE报文还包括其它字段,为本领域技术人员所熟知的内容,所以在此不再赘述。
然后NWRITE报文到达报文转换装置50。报文转换装置50将源器件ID号映射为源IP地址和源MAC地址,将目的器件ID号映射为目的IP地址和目的MAC地址。具体来说,地址映射的过程与步骤102中所描述的类似,所以在此不再赘述。
进一步,在步骤302之后,该方法还包括:通过以太网发送以太网RDMA报文。然后以太网RDMA报文跨越以太网,到达报文转换装置70。接下来将描述报文转换装置70如何将以太网RDMA报文转换为NWRITE报文。
请参考图7所示,为本发明实施例提供的另一种报文转换方法的流程图。该方法包括:
步骤401:接收以太网RDMA报文;以太网RDMA报文包括以太网报文头、IP报文头和数据载荷字段;其中,以太网报文头包括源MAC地址和目的MAC地址,IP报文头包括源IP地址和目的IP地址,数据载荷字段包括数据以及数据将要写入的目的器件的存储器上的存储地址;
步骤402:根据以太网RDMA报文获得NWRITE报文。其中,NWRITE报文包括报文头以及数据载荷字段。所述报文头包括所述存储地址,与源IP地址和源MAC地址对应的源器件ID号,与目的IP地址和目的MAC地址对应的目的器件的目的器件ID号。数据载荷字段包括所述数据。
具体的,步骤402可以包括:将源IP地址和源MAC地址映射为源器件ID号,将目的IP地址和目的MAC地址映射为所述目的器件的目的器件ID号;将所述存储地址和数据封装为NWRITE报文,其中,将所述存储地址、源器件ID号和目的器件ID号填充在NWRITE报文的报文头中,将所述数据填充在NWRITE报文的数据载荷字段。
具体来说,将IP地址和MAC地址映射为器件ID号的过程为前述将器件ID号映射为IP地址和MCA地址的逆过程,所以在此不再赘述。
进一步,在步骤402之后,该方法还包括:将NWRITE报文发送给所述目的器件。目的器件如图6中所示的SRIO端点80。
可选的,在实际运用中,图2、图4、如5和图7中所示的报文转换方法可以通过硬件电路实现,如此可以解决大流量的SRIO报文(10G~40Gbps以上)以及低时延(1us~2us以下)的报文转换性能指标。
由以上描述可以看出,因为本发明实施例是直接通过器件ID号与MAC地址和IP地址对应,进而将NWRITE报文转换为能够在以太网中传输的报文,解决了现有技术中无法将NWRITE报文转换为能够在以太网传输的报文的技术问题。进一步,本发明实施例中的转换方法理论上可以寻址4G个SRIO器件,所以能够满足大范围组网的场景。
基于同一发明构思,参考图8所示,为本发明实施例提供的一种报文转换装置的功能框图,该报文转换装置包括:接收单元501和处理单元502。
可选的,该报文转换装置可以用于实现本发明图2,图4,图5和图7所示的报文转换方法中的至少一种。具体的配置可以依据实际需要确定。可以理解的是,当该报文转换装置用于实现图2至图7所示的报文转换方法的至少两种时,可以包括如下情况:第一种,该报文转换装置既可以实现图2所示的报文转换方法,将SRIO message或数据流类型的报文转换为能够在以太网传输的报文,又可以实现图5所示的报文转换方法,将NWRITE报文转换为能够在以太网传输的报文。第二种,该报文转换装置既可以实现图4所示的报文转换方法,将以太网报文转换为SRIO message或数据流类型的报文,又可以实现图7所示的报文转换方法,将以太网RDMA报文转换为NWRITE报文。第三种,该报文转换装置既可以实现图2所示的报文转换方法,将SRIO message或数据流类型的报文转换为能够在以太网传输的报文,又可以按照图4所示的报文转换方法将接收到的以太网报文转换为SRIO message或数据流类型的报文。第四种,该报文转换装置既可以实现图5所示的报文转换方法,将NWRITE报文转换为能够在以太网传输的报文,也可以按照图7所示的报文转换方法将接收到的以太网RDMA报文转换为NWRITE报文。第五种,第一种至第四种的结合。
具体的,该报文转换装置用于实现本发明图2所示的报文转换方法时,接收单元501可以用于实施图2所示方法的步骤101。处理单元502可以用于实施图2所示方法的步骤102。
具体的,该报文转换装置用于实现本发明图4所示的报文转换方法时,接收单元501用于实施图4所示方法的步骤201。处理单元502用于实施图4所示方法的步骤202。
具体的,该报文转换装置用于实现本发明图5所示的报文转换方法时,接收单元501用于实施图5所示方法的步骤301。处理单元502用于实施图5所示方法的步骤302。
具体的,该报文装置用于实现本发明图7所示的报文转换方法时,接收单元501用于实施图7所示方法的步骤401。处理单元502用于实施图7所示方法的步骤402。
前述图2,图4,图5或图7所示的实施例中的报文转换方法中的各种变化方式和具体实例同样适用于本实施例的报文转换装置,通过前述对报文转换方法的详细描述,本领域技术人员可以清楚的知道本实施例中报文转换装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,参考图9所示,为本发明实施例提供的一种报文转换设备的结构框图。该报文转换设备包括:处理电路601、发送器602、接收器603、存储器604、SRIO接口605和以太网接口606。处理器601具体可以是特定应用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)开发的硬件电路。存储器604的数量可以是一个或多个。存储器604可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器。这些存储器、接收器603和发送器602通过总线与处理电路601相连接。接收器603和发送器602用于与外部设备进行网络通信,具体可以通过以太网、无线接入网、无线局域网等网络与外部设备进行通信。接收器603和发送器602可以是物理上相互独立的两个元件,也可以是物理上的同一个元件。
可选的,该报文转换设备可以用于实现本发明图2,图4,图5和图7所示的报文转换方法中的至少一种。具体的配置可以依据实际需要确定。可以理解的是,当该报文转换设备用于实现图2至图7所示的报文转换方法的至少两种时,可以包括如下情况:第一种,该报文转换设备既可以实现图2所示的报文转换方法,将SRIO message或数据流类型的报文转换为能够在以太网传输的报文,又可以实现图5所示的报文转换方法,将NWRITE报文转换为能够在以太网传输的报文。第二种,该报文转换设备既可以实现图4所示的报文转换方法,将以太网报文转换为SRIO message或数据流类型的报文,又可以实现图7所示的报文转换方法,将以太网RDMA报文转换为NWRITE报文。第三种,该报文转换设备既可以实现图2所示的报文转换方法,将SRIO message或数据流类型的报文转换为能够在以太网传输的报文,又可以按照图4所示的报文转换方法将接收到的以太网报文转换为SRIO message或数据流类型的报文。第四种,该报文转换设备既可以实现图5所示的报文转换方法,将NWRITE报文转换为能够在以太网传输的报文,也可以按照图7所示的报文转换方法将接收到的以太网RDMA报文转换为NWRITE报文。第五种,第一种至第四种的结合。
具体的,当该报文转换设备用于实现本发明图2所示的报文转换方法时,接收器603,用于通过SRIO接口605接收第一报文;第一报文符合SRIO协议;第一报文的数据载荷域填充有数据;第一报文的数据载荷域包括数据;所述第一报文中包含源器件标识ID号、目的器件ID号以及组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;处理电路601,用于根据所述第一报文获得第二报文;其中,所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段,所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址,以及与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID号对应的源IP地址,以及与所述目的器件ID对应的目的IP地址;所述传输层协议报文头包括与所述源收发线程对应的源端口号,以及与所述目的收发线程对应的目的端口号;所述数据字段包括所述数据;发送器602,用于通过以太网接口606将第二报文发送至以太网。
可选的,发送器602还用于通过SRIO接口605向第一报文的发送端发送应答信息。
可选的,组包分发信息还包括标识信息、分片序号以及标志信息;所述IP报文头还包括标识字段、标志字段和片偏移字段,所述标识字段中包括与所述标识信息对应的信息;所述标志字段中包括与所述标志信息对应的信息;所述片偏移字段中包括与所述分配序号对应的信息。
具体的,当该报文转换设备用于实现本发明图4所示的报文转换方法时,具体来说,接收器603,用于通过以太网接口606接收第二报文;所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段;所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址;所述IP报文头包括源IP地址和目的IP地址;所述传输层协议报文头包括源端口号和目的端口号;所述数据字段包括数据;处理电路601,用于根据所述第二报文获得第三报文;其中,所述第三报文符合串行高速输入输出SRIO协议,所述第三报文包括源器件标识ID号、目的器件ID号、源收发线程、目的收发线程以及所述数据;所述源器件ID号与所述源MAC地址和所述源IP地址对应;所述目的器件ID号与所述目的MAC地址和所述目的IP地址对应;所述源收发线程与所述源端口号对应;所述目的收发线程与所述目的端口号对应;发送器602,用于通过SRIO接口605根据目的器件ID号发送第三报文。
可选的,接收器603还用于:通过SRIO接口605接收目的器件ID号对应的目的器件发送的应答信息。
具体的,当该报文转换设备用于实现本发明图5所示的报文转换方法时,具体来说,接收器603用于通过SRIO接口605接收无应答写操作NWRITE报文;NWRITE报文中包含数据、源器件ID号、目的器件ID号以及所述数据在目的器件ID号对应的目的器件上的存储器的存储地址;处理电路601,用于根据所述NWRITE报文获得以太网远程直接内存读写RDMA报文;其中,所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址和与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID对应的源IP地址和与所述目的器件ID号对应的目的IP地址;所述数据载荷字段包括所述存储地址和所述数据;发送器602,用于通过以太网接口606发送以太网RDMA报文。
具体的,当该报文转换装置用于实现本发明图7所示的报文转换方法时,具体来说,接收器603,用于通过以太网接口606接收以太网远程直接内存读写RDMA报文;以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;其中,所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址,所述IP报文头包括源IP地址和目的IP地址,所述数据载荷字段包括数据以及数据将要写入的目的器件的存储器上的存储地址;处理电路601,用于根据所述以太网RDMA报文获得无应答写操作NWRITE报文;其中,所述NWRITE报文包括报文头以及数据载荷字段;所述报文头包括所述存储地址,与所述源IP地址和所述源MAC地址对应的源器件标识ID号,与所述目的IP地址和所述目的MAC地址对应的所述目的器件的目的器件ID号;所述数据载荷字段包括所述数据;发送器602,用于通过SRIO接口605发送NWRITE报文。
前述图2,图4,图5或图7所示的实施例中的报文转换方法中的各种变化方式和具体实例同样适用于本实施例的报文转换设备,通过前述对报文转换方法的详细描述,本领域技术人员可以清楚的知道本实施例中报文转换设备的实施方法,所以为了说明书的简洁,在此不再详述。
在以上各实施例中,该报文转换设备可以为基带单元BBU、以太网中的交换机或者网关设备,具体视实现需要而定,在此不予限定。
基于同一发明构思,参考图10所示,为本发明实施例提供的一种报文传输装置的功能框图,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。该报文传输装置包括:获得单元701,用于获得数据;处理单元702,用于获得关于所述数据的组包分发信息;组包分发信息包括源收发线程和目的收发线程;根据所述数据和组包分发信息获得第一报文,第一报文符合SRIO协议。
可选的,第一报文的数据载荷域包括组包分发信息。
可选的,组包分发信息还包括标识信息、分片序号以及标志信息,所述标识信息、分片序号以及标志信息分别用于填充网络协议IP报文头中的标识字段、片偏移字段以及标志字段。
前述实施例中的各种变化方式和具体实例同样适用于本实施例的报文传输装置,通过前述实施例中的详细描述,本领域技术人员可以清楚的知道本实施例中报文传输装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本发明实施例提供一种SRIO端点,包括如图10及其实施例所描述的报文传输装置以及输出端口。输出端口用于输出第一报文。
可选的,SRIO端点为处理芯片,例如CPU、DSP、基带芯片。
可选的,SRIO端点具体可以是一个支持SRIO接口的设备。
申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例中,通过将器件ID号映射为IP地址和MAC地址,源目的收发线程映射源目的端口号,将符合SRIO协议的第一报文转换为能够在以太网中传输的第二报文。相比现有技术中将MAC地址和邮箱号和邮件号相关联的方案,本发明实施例是直接通过器件ID对应MAC地址和IP地址,所以对于32位IP地址的情况,本发明实施例中的转换方法理论上可以寻址4G个SRIO器件,所以远远大于现有技术中关联邮箱号和邮件号的寻址方案的组网范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种报文转换方法,其特征在于,包括:
接收第一报文;所述第一报文符合串行高速输出输出SRIO协议;所述第一报文的数据载荷域包括数据;所述第一报文中包含源器件标识ID号、目的器件ID号以及组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;
根据所述第一报文获得第二报文;
其中,所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段,所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址,以及与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID号对应的源IP地址,以及与所述目的器件ID对应的目的IP地址;所述传输层协议报文头包括与所述源收发线程对应的源端口号,以及与所述目的收发线程对应的目的端口号;所述数据字段包括所述数据。
2.如权利要求1所述的方法,其特征在于,在根据所述第一报文获得第二报文之后,所述方法还包括:
根据所述目的IP地址以及所述目的MAC地址发送所述第二报文;
向所述第一报文的发送端发送应答信息。
3.如权利要求1或2所述的方法,其特征在于,所述组包分发信息还包括标识信息、分片序号以及标志信息;所述IP报文头还包括标识字段、标志字段和片偏移字段,所述标识字段中包括与所述标识信息对应的信息;所述标志字段中包括与所述标志信息对应的信息;所述片偏移字段中包括与所述分片序号对应的信息。
4.一种报文转换方法,其特征在于,包括:
接收第二报文;所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段;所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址;所述IP报文头包括源IP地址和目的IP地址;所述传输层协议报文头包括源端口号和目的端口号;所述数据字段包括数据;
根据所述第二报文获得第三报文;其中,所述第三报文符合串行高速输入输出SRIO协议,所述第三报文包括源器件标识ID号、目的器件ID号、源收发线程、目的收发线程以及所述数据;所述源器件ID号与所述源MAC地址和所述源IP地址对应;所述目的器件ID号与所述目的MAC地址和所述目的IP地址对应;所述源收发线程与所述源端口号对应;所述目的收发线程与所述目的端口号对应。
5.如权利要求4所述的方法,其特征在于,在根据所述第二报文获得第三报文之后,所述方法还包括:
根据所述目的器件ID号发送所述第三报文;
接收所述目的器件ID号对应的目的器件发送的应答信息。
6.一种报文转换方法,其特征在于,包括:
接收无应答写操作NWRITE报文;所述NWRITE报文中包含数据、源器件标识ID号、目的器件ID号以及所述数据在所述目的器件ID号对应的目的器件上的存储器的存储地址;
根据所述NWRITE报文获得以太网远程直接内存读写RDMA报文;其中,所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址和与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID对应的源IP地址和与所述目的器件ID号对应的目的IP地址;所述数据载荷字段包括所述存储地址和所述数据。
7.一种报文转换方法,其特征在于,包括:
接收以太网远程直接内存读写RDMA报文;所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;其中,所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址,所述IP报文头包括源IP地址和目的IP地址,所述数据载荷字段包括数据以及数据将要写入的目的器件的存储器上的存储地址;
根据所述以太网RDMA报文获得无应答写操作NWRITE报文;其中,所述NWRITE报文包括报文头以及数据载荷字段;所述报文头包括所述存储地址,与所述源IP地址和所述源MAC地址对应的源器件标识ID号,与所述目的IP地址和所述目的MAC地址对应的所述目的器件的目的器件ID号;所述数据载荷字段包括所述数据。
8.一种报文转换设备,其特征在于,包括:
串行高速输入输出SRIO接口;
接收器,用于通过所述SRIO接口接收第一报文;所述第一报文符合串行高速输出输出SRIO协议;所述第一报文的数据载荷域包括数据;所述第一报文中包含源器件标识ID号、目的器件ID号以及组包分发信息;所述组包分发信息包括源收发线程和目的收发线程;
处理电路,用于根据所述第一报文获得第二报文;其中,所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段,所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址,以及与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID号对应的源IP地址,以及与所述目的器件ID对应的目的IP地址;所述传输层协议报文头包括与所述源收发线程对应的源端口号,以及与所述目的收发线程对应的目的端口号;所述数据字段包括所述数据;
以太网接口;
发送器,用于通过所述以太网接口将所述第二报文发送至以太网。
9.如权利要求8所述的设备,其特征在于,所述发送器还用于通过所述SRIO接口向所述第一报文的发送端发送应答信息。
10.如权利要求8或9所述的设备,其特征在于,所述组包分发信息还包括标识信息、分片序号以及标志信息;所述IP报文头还包括标识字段、标志字段和片偏移字段,所述标识字段中包括与所述标识信息对应的信息;所述标志字段中包括与所述标志信息对应的信息;所述片偏移字段中包括与所述分片序号对应的信息。
11.如权利要求8或9所述的设备,其特征在于,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
12.一种报文转换设备,其特征在于,包括:
以太网接口;
接收器,用于通过所述以太网接口接收第二报文;所述第二报文包括以太网报文头、网络协议IP报文头、传输层协议报文头以及数据字段;所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址;所述IP报文头包括源IP地址和目的IP地址;所述传输层协议报文头包括源端口号和目的端口号;所述数据字段包括数据;
处理电路,用于根据所述第二报文获得第三报文;其中,所述第三报文符合串行高速输入输出SRIO协议,所述第三报文包括源器件标识ID号、目的器件ID号、源收发线程、目的收发线程以及所述数据;所述源器件ID号与所述源MAC地址和所述源IP地址对应;所述目的器件ID号与所述目的MAC地址和所述目的IP地址对应;所述源收发线程与所述源端口号对应;所述目的收发线程与所述目的端口号对应;
串行高速输入输出SRIO接口;
发送器,用于通过所述SRIO接口根据所述目的器件ID号发送所述第三报文。
13.如权利要求12所述的设备,其特征在于,所述接收器还用于:通过所述SRIO接口接收所述目的器件ID号对应的目的器件发送的应答信息。
14.如权利要求12或13所述的设备,其特征在于,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
15.一种报文转换设备,其特征在于,包括:
串行高速输入输出SRIO接口;
接收器,用于通过所述SRIO接口接收无应答写操作NWRITE报文;所述NWRITE报文中包含数据、源器件标识ID号、目的器件ID号以及所述数据在所述目的器件ID号对应的目的器件上的存储器的存储地址;
处理电路,用于根据所述NWRITE报文获得以太网远程直接内存读写RDMA报文;其中,所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;所述以太网报文头包括与所述源器件ID号对应的源媒体接入控制MAC地址和与所述目的器件ID号对应的目的MAC地址;所述IP报文头包括与所述源器件ID对应的源IP地址和与所述目的器件ID号对应的目的IP地址;所述数据载荷字段包括所述存储地址和所述数据;
以太网接口;
发送器,用于通过所述以太网接口发送所述以太网RDMA报文。
16.如权利要求15所述的设备,其特征在于,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
17.一种报文转换设备,其特征在于,包括:
以太网接口;
接收器,用于通过所述以太网接口接收以太网远程直接内存读写RDMA报文;所述以太网RDMA报文包括以太网报文头、网络协议IP报文头和数据载荷字段;其中,所述以太网报文头包括源媒体接入控制MAC地址和目的MAC地址,所述IP报文头包括源IP地址和目的IP地址,所述数据载荷字段包括数据以及数据将要写入的目的器件的存储器上的存储地址;
处理电路,用于根据所述以太网RDMA报文获得无应答写操作NWRITE报文;其中,所述NWRITE报文包括报文头以及数据载荷字段;所述报文头包括所述存储地址,与所述源IP地址和所述源MAC地址对应的源器件标识ID号,与所述目的IP地址和所述目的MAC地址对应的所述目的器件的目的器件ID号;所述数据载荷字段包括所述数据;
串行高速输入输出SRIO接口;
发送器,用于通过所述SRIO接口发送所述NWRITE报文。
18.如权利要求17所述的设备,其特征在于,所述设备为基带单元BBU、以太网中的交换机或者网关设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/080439 WO2016191990A1 (zh) | 2015-05-30 | 2015-05-30 | 一种报文转换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107079017A CN107079017A (zh) | 2017-08-18 |
CN107079017B true CN107079017B (zh) | 2020-01-17 |
Family
ID=57440157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580056589.XA Active CN107079017B (zh) | 2015-05-30 | 2015-05-30 | 一种报文转换方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107079017B (zh) |
WO (1) | WO2016191990A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055290B (zh) * | 2018-02-07 | 2020-08-18 | 天津芯海创科技有限公司 | 异构协议网络系统及其数据交换方法 |
CN108600097B (zh) * | 2018-04-20 | 2020-09-22 | 闫晓峰 | 可多路径传输数据的通讯设备、数据通讯网络系统及数据通讯方法 |
CN108733598B (zh) * | 2018-05-07 | 2021-05-18 | 浪潮集团有限公司 | 一种数据传输方法和数据传输装置 |
CN110377022B (zh) * | 2018-11-21 | 2023-08-04 | 北京京东乾石科技有限公司 | 自动导引运输车的控制方法和装置 |
CN111367844B (zh) * | 2019-03-13 | 2020-12-15 | 苏州库瀚信息科技有限公司 | 有多个异构网络接口端口的存储控制器的系统、方法和装置 |
CN111800371B (zh) * | 2019-07-05 | 2022-10-28 | 维沃移动通信有限公司 | 数据处理方法、发送端和接收端 |
CN113794616B (zh) * | 2021-08-31 | 2023-04-18 | 新华三信息安全技术有限公司 | 一种报文转发方法及设备 |
CN114844842A (zh) * | 2022-05-07 | 2022-08-02 | 湖南戎腾网络科技有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
CN115086445B (zh) * | 2022-06-10 | 2023-12-26 | 重庆邮电大学 | 一种POWERLINK与IPv6网络的协议转换方法 |
CN114978966B (zh) * | 2022-07-04 | 2024-01-09 | 华东师范大学 | 一种网络报文发包装置 |
CN116170404B (zh) * | 2023-02-17 | 2023-09-29 | 通明智云(北京)科技有限公司 | 一种基于dpdk的数据转发方法及装置 |
CN117395327B (zh) * | 2023-12-12 | 2024-03-12 | 浙江国利信安科技有限公司 | 以太网接入epa网络的方法、设备和计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090086750A1 (en) * | 2007-09-27 | 2009-04-02 | Integrated Device Technology, Inc. | Non-Random Access Rapid I/O Endpoint In A Multi-Processor System |
CN101562559B (zh) * | 2008-04-15 | 2011-12-07 | 大唐移动通信设备有限公司 | 一种串行Rapid IO链路数据传输的方法及装置 |
US8949501B1 (en) * | 2010-10-31 | 2015-02-03 | Integrated Device Technology, Inc. | Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges |
CN102035751A (zh) * | 2011-01-20 | 2011-04-27 | 大唐移动通信设备有限公司 | 一种数据的传输方法和设备 |
CN102438121A (zh) * | 2011-11-22 | 2012-05-02 | 中兴通讯股份有限公司 | 数据传输方法、系统及串行高速输入输出口网关设备 |
CN102880573B (zh) * | 2012-09-04 | 2015-04-29 | 武汉邮电科学研究院 | 一种基于Linux系统的串行RapidIo数据传输方法 |
CN103401775B (zh) * | 2013-07-18 | 2017-07-21 | 杭州华为数字技术有限公司 | 源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法 |
CN203590259U (zh) * | 2013-11-22 | 2014-05-07 | 中国电子科技集团公司第三十二研究所 | 万兆以太网与RapidIO网络转换控制器 |
-
2015
- 2015-05-30 CN CN201580056589.XA patent/CN107079017B/zh active Active
- 2015-05-30 WO PCT/CN2015/080439 patent/WO2016191990A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN107079017A (zh) | 2017-08-18 |
WO2016191990A1 (zh) | 2016-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107079017B (zh) | 一种报文转换方法及装置 | |
CN108667739B (zh) | 拥塞控制方法、装置及系统 | |
CN107493238A (zh) | 一种网络拥塞控制方法、设备及系统 | |
US20170353385A1 (en) | Techniques for forwarding or receiving data segments associated with a large data packet | |
WO2022022229A1 (zh) | 一种处理报文的方法及装置 | |
WO2016062142A1 (zh) | 报文汇聚传输的方法、装置和系统 | |
CN109450875A (zh) | Mac层封装方法及装置 | |
JP2017503405A (ja) | アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラ | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
AU2016202660A1 (en) | Techniques for forwarding or receiving data segments associated with a large data packet | |
CN111788812B (zh) | 用于分组数据转换的技术 | |
WO2022042351A1 (zh) | 接口数据的处理方法、发送端设备和接收端设备 | |
CN109600248A (zh) | 服务质量的确定方法、装置及存储介质 | |
WO2013097218A1 (zh) | 一种流媒体数据处理方法、装置及系统 | |
EP3345411B1 (en) | Computer program, computer-readable storage medium transmitting device, receiving device and methods performed therein for transferring background user data | |
CN102238164B (zh) | 面向ip电信网的多协议报文适配方法 | |
US8583822B2 (en) | Method and system for minimum frame size support for a communication protocol encapsulated over Ethernet | |
WO2018045521A1 (zh) | 无线网络中传输信令的方法和装置 | |
JP7278431B2 (ja) | 非イーサネットサービスを確立する方法およびネットワークデバイス | |
CN110601948B (zh) | 网络带宽叠加的方法、装置及网关设备 | |
CN103825831A (zh) | 报文转发方法以及交换机 | |
CN107231316A (zh) | 报文的传输方法及装置 | |
US9294584B2 (en) | Transporting serially over TCP/IP using raw TCP encapsulation | |
CN115733898A (zh) | 一种传输数据的方法以及相关设备 | |
US20230412501A1 (en) | Data processing method and apparatus, and chip |
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 |