发明内容
本发明实施方式提供一种源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法,能够通过SRIO网络将源IB网络的IB报文传输至目标IB网络,从而通过SRIO网络实现不同的IB网络之间的IB报文传输。
第一方面提供一种源报文转换装置的报文转换方法,源报文转换装置与源IB网络连接,且与SRIO网络连接,该方法包括:接收来自源IB网络的IB报文;获取位于IB报文的报文头的目标地址区域的目标IB设备的IB地址,其中目标IB设备位于目标IB网络;将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,其中目标报文转换装置位于SRIO网络,且与目标IB网络连接;将目标报文转换装置的SRIO地址置于SRIO报文的报文头的目标地址区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文;将SRIO报文发送至SRIO网络。
在第一方面的第一种可能的实现方式中,将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址包括:读取地址映射表,其中地址映射表记录有目标IB设备的IB地址与目标报文转换装置的SRIO地址的对应关系;根据地址映射表获取与目标IB设备的IB地址对应的目标报文转换装置的SRIO地址。
在第一方面的第二种可能的实现方式中,将目标报文转换装置的SRIO地址置于SRIO报文的报文头的目标地址区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文包括:获取位于IB报文的报文头的报文长度区域的报文长度;判断报文长度是否大于预设数据长度,若是,以预设数据长度为基准量将IB报文分成带有顺序编号的多个数据段信息,并将多个数据段信息分别置于多个SRIO报文的载荷区域,将目标报文转换装置的SRIO地址置于多个SRIO报文的报文头的目标地址区域,将顺序编号置于多个SRIO报文的报文头的保留位区域,以生成对应于IB报文的多个SRIO报文。
在第一方面的第三种可能的实现方式中,接收来自源IB网络的IB报文后,所述方法进一步包括:获取位于IB报文的报文头的源地址区域的源IB设备的IB地址,其中源IB设备位于源IB网络;将源IB设备的IB地址转换为对应的源报文转换装置的SRIO地址;将源报文转换装置的SRIO地址置于SRIO报文的报文头的源地址区域。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,将所述源IB设备的IB地址转换为对应的所述源报文转换装置的SRIO地址包括:读取地址映射表,其中地址映射表记录有源IB设备的IB地址与源报文转换装置的SRIO地址的对应关系;根据地址映射表获取与源IB设备的IB地址对应的源报文转换装置的SRIO地址。
在第一方面的第五种可能的实现方式中,生成对应于IB报文的SRIO报文进一步包括:将SRIO报文的报文头的格式类型区域置为用户定义功能。
第二方面提供一种目标报文转换装置的报文转换方法,目标报文转换装置与目标IB网络连接,且与SRIO网络连接,该方法包括:接收来自SRIO网络的SRIO报文,其中SRIO报文的载荷区域置有IB报文,SRIO报文的报文头的目标地址区域置有目标报文转换装置的SRIO地址,IB报文的报文头的目标地址区域置有目标IB设备的IB地址,目标IB设备位于目标IB网络中;从SRIO报文的载荷区域获取IB报文;将IB报文发送至目标IB网络。
在第二方面的第一种可能的实现方式中,接收来自SRIO网络的SRIO报文包括:接收来自SRIO网络的多个SRIO报文,其中每一SRIO报文的载荷区域置有数据段信息,多个数据段信息组成IB报文,每一SRIO报文的报文头的目标地址区域置有目标报文转换装置的SRIO地址,每一SRIO报文的报文头的保留位区域置有数据段信息对应的顺序编号;从SRIO报文的载荷区域获取IB报文包括:从多个SRIO报文的载荷区域获取多个数据段信息,从多个SRIO报文的报文头的保留位区域获取多个顺序编号,根据顺序编号将多个数据段信息组合成IB报文。
在第二方面的第二种可能的实现方式中,SRIO报文的报文头的源 地址区域进一步置有源报文转换装置的SRIO地址,该方法进一步包括:从SRIO报文的报文头的源地址区域获取源报文转换装置的SRIO地址。
在第二方面的第三种可能的实现方式中,从SRIO报文的载荷区域获取IB报文是在预设条件被满足后执行的,预设条件为:SRIO报文的报文头的格式类型区域置为用户定义功能。
第三方面提供一种源报文转换装置,源报文转换装置与源IB网络连接,且与SRIO网络连接,源报文转换装置包括:IB报文接收模块,用于接收来自源IB网络的IB报文;IB设备地址获取模块,用于获取位于IB报文的报文头的目标地址区域的目标IB设备的IB地址,其中目标IB设备位于目标IB网络;地址转换模块,用于将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,其中目标报文转换装置位于SRIO网络,且与目标IB网络连接;SRIO报文生成模块,用于将目标报文转换装置的SRIO地址置于SRIO报文的报文头的目标地址区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文;SRIO报文发送模块,用于将SRIO报文发送至SRIO网络。
在第三方面的第一种可能的实现方式中,源报文转换装置进一步包括地址映射表,其中地址映射表记录有目标IB设备的IB地址与目标报文转换装置的SRIO地址的对应关系,地址转换模块用于:读取地址映射表;根据地址映射表获取与目标IB设备的IB地址对应的目标报文转换装置的SRIO地址。
在第三方面的第二种可能的实现方式中,SRIO报文生成模块用于:获取位于IB报文的报文头的报文长度区域的报文长度;判断报文长度是否大于预设数据长度,若是,以预设数据长度为基准量将IB报文分成带有顺序编号的多个数据段信息,并将多个数据段信息分别置于多个SRIO报文的载荷区域,将目标报文转换装置的SRIO地址置于多个SRIO报文的报文头的目标地址区域,将顺序编号置于多个SRIO报文的报文头的保留位区域,以生成对应于IB报文的多个SRIO报文。
在第三方面的第三种可能的实现方式中,目标IB设备地址获取模 块进一步用于:获取位于IB报文的报文头的源地址区域的源IB设备的IB地址,其中源IB设备位于源IB网络;地址转换模块进一步用于:将源IB设备的IB地址转换为对应的源报文转换装置的SRIO地址;SRIO报文生成模块进一步用于:将源报文转换装置的SRIO地址置于SRIO报文的报文头的源地址区域。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,装置进一步包括地址映射表,其中地址映射表记录有源IB设备的IB地址与源报文转换装置的SRIO地址的对应关系,地址转换模块用于:读取地址映射表;根据地址映射表获取与源IB设备的IB地址对应的源报文转换装置的SRIO地址。
在第三方面的第五种可能的实现方式中,SRIO报文生成模块进一步用于:将SRIO报文的报文头的格式类型区域置为用户定义功能。
第四方面提供一种目标报文转换装置,目标报文转换装置与目标IB网络连接,且与SRIO网络连接,目标报文转换装置包括:SRIO报文接收模块,用于接收来自SRIO网络的SRIO报文,其中SRIO报文的载荷区域置有IB报文,SRIO报文的报文头的目标地址区域置有目标报文转换装置的SRIO地址,IB报文的报文头的目标地址区域置有目标IB设备的IB地址,目标IB设备位于目标IB网络中;IB报文获取模块,用于从SRIO报文的载荷区域获取IB报文;IB报文发送模块,用于将IB报文发送至目标IB网络。
在第四方面的第一种可能的实现方式中,SRIO报文接收模块用于:接收来自SRIO网络的多个SRIO报文,其中每一SRIO报文的载荷区域置有数据段信息,多个数据段信息组成IB报文,每一SRIO报文的报文头的目标地址区域置有目标报文转换装置的SRIO地址,每一SRIO报文的报文头的保留位区域置有数据段信息对应的顺序编号;IB报文获取模块用于:从多个SRIO报文的载荷区域获取多个数据段信息,从多个SRIO报文的报文头的保留位区域获取多个顺序编号,根据顺序编号将多个数据段信息组合成IB报文。
在第四方面的第二种可能的实现方式中,SRIO报文的报文头的源 目标区域进一步置有源报文转换装置的SRIO地址,IB报文获取模块进一步用于:从SRIO报文的报文头的源地址区域获取源报文转换装置的SRIO地址。
在第四方面的第三种可能的实现方式中,IB报文获取模块在预设条件被满足后从SRIO报文的载荷区域获取IB报文,预设条件为:SRIO报文的报文头的格式类型区域置为用户定义功能。
本发明实施方式提供的源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法,通过接收来自源IB网络的IB报文,获取位于IB报文的报文头区域中的目标IB设备的IB地址,将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,将目标报文转换装置的SRIO地址置于SRIO报文的报文头区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文并发送至SRIO网络,并且,通过从SRIO报文的载荷区域获取IB报文,并将IB报文发送至目标IB网络,可以通过SRIO网络将源IB网络的IB报文传输至目标IB网络,从而通过SRIO网络实现不同的IB网络之间的IB报文传输。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
首先请参见图1,图1是设置有本发明的源报文转换装置、目标报文转换装置的网络环境的系统架构图。如图1所示,该网络环境包括源IB网络10、目标IB网络20、SRIO网络30、源报文转换装置40以及目标报文转换装置50。
源IB网络10包括源IB设备101、IB设备102、IB交换机103以及IB交换机104,目标IB网络20包括IB设备201、目标IB设备202、IB交换机203以及IB交换机204。
SRIO网络30包括SRIO设备301、SRIO交换机302以及SRIO设备303。
源报文转换装置40与源IB网络10连接,且与SRIO网络30连接。目标报文转换装置50与目标IB网络20连接,且与SRIO网络30连接。
具体地,源报文转换装置40通过与IB交换机104连接,从而接入源IB网络10,通过与SRIO交换机302连接,从而接入SRIO网络30。 目标报文转换装置50通过与IB交换机203连接,从而接入目标IB网络20,通过与SRIO交换机302连接,从而接入SRIO网络30。
在本发明实施例中,源报文转换装置40除具有SRIO地址之外,更具有IB地址,源报文转换装置40的SRIO地址可使得源报文转换装置40在SRIO网络30内被识别,源报文转换装置40的IB地址可使得源报文转换装置40在源IB网络10内被识别。
同样地,目标报文转换装置50除具有SRIO地址之外,更具有IB地址,目标报文转换装置50的SRIO地址可使得目标报文转换装置50在SRIO网络30内被识别,目标报文转换装置50的IB地址可使得目标报文转换装置50在目标IB网络20内被识别。
在源IB网络10中,IB交换机103以及IB交换机104可用于完成IB报文在源IB网络10的分发和传递,具体而言,可通过读取报文中的目的地址将报文发送到该地址对应的IB设备。
在目标IB网络20中,IB交换机203以及IB交换机204可用于完成IB报文在目标IB网络20中的分发和传递,具体而言,可通过读取报文中的目的地址将报文发送到该地址对应的IB设备。
在SRIO网络30中,SRIO交换机302可以用于完成SRIO报文在SRIO网络30中的分发和传递,具体而言,可通过读取报文中的目的地址将报文发送到该地址对应的SRIO设备。
在现有技术中,IB报文只能在源IB网络10或目标IB网络20的内部传输,不能通过SRIO网络30,而本发明所要解决的技术问题是要使得源IB网络10内的IB报文可以通过SRIO网络30传输至目标IB网络20。
以下请参见图2,图2是本发明源报文转换装置的报文转换方法第一实施例的流程图。在本实施例中,以图1所示的源报文转换装置40作为主体进行具体说明,如图2所示,本实施例的源报文转换装置的报文转换方法包括以下步骤:
步骤401:接收来自源IB网络的IB报文。具体而言,IB报文是源IB设备101发出的,假设该IB报文的目的地址是目标IB设备202(其 位于目标IB网络20中,而不在源IB网络10中),因此,IB交换机104在源IB网络10找不到对应的目的地址,故在源IB网络10内没有相应的IB设备接收该报文,于是由源报文转换装置40接收该IB报文。
为了更清楚地进行说明,可进一步参见图3,图3是本发明源报文转换装置的报文转换方法第一实施例的IB报文格式示意图。如图3所示,IB报文902设置在起始定界符与结束定界符之间,其中IB报文902包括报文头、有效载荷(Payload)以及校验码。
具体地,报文头包括LRH(Local Route Header,本地路由头)信息、GRH(Global Routing Header,全局路由头)信息、BTH(Base Transport Header,基本传输头)信息、ETH(Extended Transport Header,扩展传输头)信息,校验码包括ICRC(Invariant Cyclic Redundancy Check,标准循环冗余码校验)校验码和VCRC(Variant Cyclic Redundancy Check,变种循环冗余码校验)校验码。
其中,LRH信息具体包括如表1所示的区域:
表1:
步骤402:获取位于IB报文的报文头的DLID区域的目标IB设备的地址,其中目标IB设备位于目标IB网络。
步骤403:将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址。具体而言,可通过以下方式将将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址:
读取地址映射表,其中地址映射表记录有目标IB设备的IB地址与目标报文转换装置的SRIO地址的对应关系,根据地址映射表获取与目标IB设备的IB地址对应的目标报文转换装置的SRIO地址。
结合图1,地址映射表如表2所示:
表2:
IB设备201的IB地址 |
目标报文转换装置50的SRIO地址 |
目标IB设备202的IB地址 |
目标报文转换装置50的SRIO地址 |
因此,表2为地址映射表,其列出了目标IB设备202的IB地址与目标报文转换装置50的SRIO地址的对应关系。值得注意的是,地址映射表也可以记录IB设备201与目标报文转换装置50的对应关系。
并请参见图4,图4是本发明源报文转换装置的报文转换方法第一 实施例的报文格式转换示意图,如图4所示,IB报文902的数据包具体包括报文头9021、载荷区域9022以及校验符9023。具体可通过读取IB报文902中的目标IB设备202的IB地址,其中,目标IB设备202的IB地址记录于IB报文902的报文头的本地路由头信息中的DLID区域。并根据表2所示的地址映射表获取目标IB设备202的IB地址对应的目标报文转换装置50的SRIO地址。
步骤404:将目标报文转换装置的SRIO地址置于SRIO报文的报文头的目标地址区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文。
具体请参见图5,图5是本发明源报文转换装置的报文转换方法第一实施例的SRIO报文格式示意图。如图5所示,SRIO报文具体包括报文头、载荷区域以及校验符。
其中,报文头具体包括响应地址、保留位、优先级、器件标识长度、格式类型、目标地址、源地址以及逻辑层信息。
步骤405:将SRIO报文发送至SRIO网络。
以下请参见图6,图6是本发明目标报文转换装置的报文转换方法第一实施例的流程图,在本实施例中,以图1所示的目标报文转换装置50作为主体进行说明,如图6所示,本发明目标报文转换装置的报文转换方法包括以下步骤:
步骤501:接收来自SRIO网络的SRIO报文。
步骤502:从SRIO报文的载荷区域获取IB报文。
步骤503:将IB报文发送至目标IB网络。
由于在本发明源报文转换装置的报文转换方法第一实施例中,源报文转换装置40将SRIO报文发送至SRIO网络30,而在该SRIO报文中,其载荷区域置有IB报文,其报文头的目标地址置有目标报文转换装置50的SRIO地址,因此,SRIO报文可经由SRIO交换机302转发至目标报文转换装置50,使得目标报文转换装置50可接收来自SRIO网络30的SRIO报文。
目标报文转换装置50从SRIO报文的载荷区域获取IB报文,并将 IB报文发送至目标IB网络20。
由于IB报文的报文头的DLID区域置有目标IB设备202的IB地址,因此,IB报文在目标IB网络可经由IB交换机203以及IB交换机204的转发到达目标IB设备202。
因此,在本发明源报文转换装置的报文转换方法第一实施例以及目标报文转换装置的报文转换方法第一实施例中,具体介绍了源报文转换装置和目标报文转换装置的工作方式。本发明实施方式提供的源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法,在源报文转换装置端:通过接收来自源IB网络的IB报文,获取位于IB报文的报文头区域中的目标IB设备的IB地址,将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,将目标报文转换装置的SRIO地址置于SRIO报文的报文头区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文并发送至SRIO网络;并且,在目标报文转换装置端:通过从SRIO报文的载荷区域获取IB报文,并将IB报文发送至目标IB网络,从而通过SRIO网络将源IB网络10的IB报文传输至目标IB网络,通过SRIO网络实现不同的IB网络之间的IB报文传输。
以下请参见图7,图7是本发明源报文转换装置的报文转换方法第二实施例的流程图,如图7所示,本发明源报文转换装置的报文转换方法包括以下步骤:
步骤601:接收来自源IB网络的IB报文。
步骤602:获取位于IB报文的报文头的DLID区域的目标IB设备的IB地址。其中目标IB设备位于目标IB网络。
步骤603:将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址。其中目标报文转换装置位于SRIO网络3,且与目标IB网络连接。
步骤604:获取位于IB报文的报文头的PktLen区域的报文长度;
步骤605:判断报文长度是否大于预设数据长度,若是,执行步骤606,若否,执行步骤608。具体而言,预设数据长度可由用户根据需要 设置,一般而言,由于IB报文是放置在SRIO报文的载荷区域,而SRIO报文的载荷区域的数据长度为256字节,因此预设数据长度可设置为256字节。但,用户也可以根据实际需要将预设数据长度设置在1-256字节之间,本发明对此不作具体限定。
步骤606:以预设数据长度为基准量将IB报文分成带有顺序编号的多个数据段信息。其中,顺序编号用于标记数据段信息在IB报文的排列位置,具体地,如果IB报文被分为n个数据段信息,那么该n个数据段信息的顺序编号从头到尾分别为1、2、3、......、n。
步骤607:将多个数据段信息分别置于多个SRIO报文的载荷区域,将目标报文转换装置的SRIO地址置于多个SRIO报文的报文头的目标地址区域,将顺序编号置于多个SRIO报文的报文头的保留位区域(具体如图5所示),以生成对应于IB报文的多个SRIO报文。
步骤608:将目标报文转换装置的SRIO地址置于SRIO报文的报文头的目标地址区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文。
步骤609:将SRIO报文发送至SRIO网络。
以下请参见图8,图8是本发明目标报文转换装置的报文转换方法第二实施例的流程图,在本实施例中,以图1所示的目标报文转换装置50作为主体进行说明,并且,假设上文所述的源报文转换装置40的报文转换方法第二实施例中,产生了多个SRIO报文。如图8所示,本发明目标报文转换装置的报文转换方法包括以下步骤:
步骤701:接收来自SRIO网络的多个SRIO报文,其中每一SRIO报文的载荷区域置有数据段信息,多个数据段信息组成IB报文,每一SRIO报文的报文头的目标地址区域置有目标报文转换装置的SRIO地址,每一SRIO报文的报文头的保留位区域数据段信息对应的顺序编号。
步骤702:从多个SRIO报文的载荷区域获取多个数据段信息,从多个SRIO报文的报文头的保留位区域获取多个顺序编号,根据顺序编号将多个数据段信息组合成IB报文。
步骤703:将IB报文发送至目标IB网络。
值得注意的是,若上文所述的源报文转换装置的报文转换方法第二实施例中,产生了单个SRIO报文,则可参照本发明目标报文转换装置的报文转换方法第一实施例进行相应处理,本发明对此不作赘述。
在本发明源报文转换装置的报文转换方法第二实施例以及目标报文转换装置的报文转换方法第二实施例中,具体介绍了源报文转换装置和目标报文转换装置的工作方式。本发明实施方式提供的源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法,在源报文转换装置端:通过接收来自源IB网络的IB报文,获取位于IB报文的报文头区域中的目标IB设备的IB地址,将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,获取位于IB报文的报文头的PktLen区域的报文长度,判断报文长度是否大于预设数据长度,若是,以预设数据长度为基准量将IB报文分成带有顺序编号的多个数据段信息,并将多个数据段信息分别置于多个SRIO报文的载荷区域,将目标报文转换装置的SRIO地址置于多个SRIO报文的报文头的目标地址区域,将顺序编号置于多个SRIO报文的报文头的保留位区域,以生成对应于IB报文的多个SRIO报文;并且,在目标报文转换装置端:从SRIO网络接收多个SRIO报文,从多个SRIO报文的载荷区域获取多个数据段信息,从多个SRIO报文的报文头的保留位区域获取多个顺序编号,根据顺序编号将多个数据段信息组合成IB报文,并将IB报文发送至目标IB网络,从而通过SRIO网络将源IB网络10的IB报文传输至目标IB网络,以通过SRIO网络实现不同的IB网络之间的IB报文传输。
本发明源报文转换装置的报文转换方法第二实施例以及目标报文转换装置的报文转换方法第二实施例重点考虑了IB报文长度大于预设数据长度的情况,通过将IB报文长度进行切分,以产生多个数据段信息,并分别将多个数据段信息放置到多个SRIO报文中进行传输,从而使得本实施例适合应用于实际应用中对IB报文长度相对较大的网络环境。
值得注意的是,在本发明源报文转换装置的报文转换方法的可选实施例中,源报文转换装置可进一步获取位于IB报文的报文头的SLID区 域的源IB设备的IB地址,其中源IB设备位于源IB网络,IB报文是由源IB设备发出的。将源IB设备的IB地址转换为对应的源报文转换装置的SRIO地址。将源报文转换装置的SRIO地址置于SRIO报文的报文头的源地址区域。
通过将源报文转换装置的SRIO地址置于SRIO报文的报文头的源地址区域,可使得目标报文转换装置在接收到该SRIO报文之后,可以获知SRIO报文的来源地址。
具体而言,源报文转换装置可通过读取地址映射表,以将源IB设备的IB地址转换为对应的源报文转换装置的SRIO地址。其中地址映射表记录有源IB设备的IB地址与源报文转换装置的SRIO地址的对应关系,并根据地址映射表获取与源IB设备的IB地址对应的源报文转换装置的SRIO地址。
以下请参见表3,其中表3在表2的基础上进一步设置了源IB设备的IB地址与源报文转换装置的SRIO地址的对应关系,结合图1,地址映射表如表3所示:
表3:
IB设备201的IB地址 |
目标报文转换装置50的SRIO地址 |
目标IB设备202的IB地址 |
目标报文转换装置50的SRIO地址 |
源IB设备101的IB地址 |
源报文转换装置40的SRIO地址 |
IB设备102的IB地址 |
源报文转换装置40的SRIO地址 |
其中,表3记录有源IB网络10中的所有IB设备的IB地址与与该源IB网络40连接的源报文转换装置40的SRIO地址的对应关系,以及目标IB网络20中的所有IB设备的IB地址与与该目标IB网络20连接的目标报文转换装置50的SRIO地址的对应关系。
并且,在源报文转换装置的报文转换方法的可选实施例中,可将SRIO报文的报文头的格式类型区域置为用户定义功能,目标报文转换装置50可通过判断SRIO报文的报文头的格式类型(Ftype,Format type)区域(如图5所示)是否置为用户定义功能,以区分普通SRIO报文与本发明实施例所揭示的带有IB报文的SRIO报文,从而使得本发明实施 例所揭示技术方案可应用于同时存在普通SRIO报文和本发明所揭示的带有IB报文的SRIO报文的SRIO网络中。
请参见图9,图9是本发明源报文转换装置40第一实施例的装置结构示意图,其中,源报文转换装置40与源IB网络连接,且与SRIO网络连接,源报文转换装置40包括:
IB报文接收模块4401,用于接收来自源IB网络的IB报文;
IB设备地址获取模块4402,用于获取位于IB报文的报文头的DLID区域的目标IB设备的IB地址,其中目标IB设备位于目标IB网络;
地址转换模块4403,用于将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,其中目标报文转换装置位于SRIO网络,且与目标IB网络连接;
SRIO报文生成模块4404,用于将目标报文转换装置的SRIO地址置于SRIO报文的报文头的目标地址区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文;
SRIO报文发送模块4405,用于将SRIO报文发送至SRIO网络。
可选地,源报文转换装置40进一步包括地址映射表,其中地址映射表记录有目标IB设备的IB地址与目标报文转换装置的SRIO地址的对应关系,地址转换模块4403用于:
读取地址映射表;
根据地址映射表获取与目标IB设备的IB地址对应的目标报文转换装置的SRIO地址。
可选地,SRIO报文生成模块4404进一步用于:获取位于IB报文的报文头的PktLen区域的报文长度;判断报文长度是否大于预设数据长度,若是,以预设数据长度为基准量将IB报文分成带有顺序编号的多个数据段信息,并将多个数据段信息分别置于多个SRIO报文的载荷区域,将目标报文转换装置的SRIO地址置于多个SRIO报文的报文头的目标地址区域,将顺序编号置于多个SRIO报文的报文头的保留位区域,以生成对应于IB报文的多个SRIO报文。SRIO报文发送模块4405将该多个SRIO报文发送至SRIO网络。
可选地,IB设备地址获取模块4402用于:获取位于IB报文的报文头的SLID区域的源IB设备的IB地址,其中源IB设备位于源IB网络;地址转换模块4403将源IB设备的IB地址转换为对应的源报文转换装置40的SRIO地址;SRIO报文生成模块4404将源报文转换装置40的SRIO地址置于SRIO报文的报文头的源地址区域。
可选地,源报文转换装置40进一步包括地址映射表,其中地址映射表记录有源IB设备的IB地址与源报文转换装置40的SRIO地址的对应关系,地址转换模块4403用于:读取地址映射表;根据地址映射表获取与源IB设备的IB地址对应的源报文转换装置40的SRIO地址。
可选地,SRIO报文生成模块4404用于:将SRIO报文的报文头的格式类型区域置为用户定义功能。
具体而言,以上各功能模块可以采用现场可编程门阵列或专用集成电路来实现,并且,在一些情况下,也可以用程序实现,下文将详细揭示采用程序实现本发明时所采用的硬件架构。
以下请参见图10,图10是本发明目标报文转换装置50第一实施例的装置结构示意图,目标报文转换装置50与目标IB网络连接,且与SRIO网络连接,目标报文转换装置50包括:
SRIO报文接收模块5501,用于接收来自SRIO网络的SRIO报文,其中SRIO报文的载荷区域置有IB报文,SRIO报文的报文头的目标地址区域置有目标报文转换装置50的SRIO地址,IB报文的报文头的DLID区域置有目标IB设备的IB地址,目标IB设备位于目标IB网络中;
IB报文获取模块5502,用于从SRIO报文的载荷区域获取IB报文;
IB报文发送模块5503,用于将IB报文发送至目标IB网络。
可选地,SRIO报文接收模块5501用于:接收来自SRIO网络的多个SRIO报文,其中每一SRIO报文的载荷区域置有数据段信息,多个数据段信息组成IB报文,每一SRIO报文的报文头的目标地址区域置有目标报文转换装置50的SRIO地址,每一SRIO报文的报文头的保留位区域数据段信息对应的顺序编号;
IB报文获取模块5502用于:从多个SRIO报文的载荷区域获取多 个数据段信息,从多个SRIO报文的报文头的保留位区域获取多个顺序编号,根据顺序编号将多个数据段信息组合成IB报文。
可选地,SRIO报文的报文头的源目标区域进一步置有源报文转换装置的SRIO地址,IB报文获取模块5502进一步用于:从SRIO报文的报文头的源地址区域获取源报文转换装置的SRIO地址。
可选地,SRIO报文的报文头的格式类型区域置为用户定义功能,IB报文获取模块5502在预设条件被满足后从SRIO报文的载荷区域获取IB报文,预设条件为:IB报文获取模块5502判断到SRIO报文的报文头的格式类型区域置为用户定义功能。
以下请参见图11,图11是本发明源报文转换装置第二实施例的装置结构示意图,源报文转换装置40与源IB网络连接,且与SRIO网络连接,源报文转换装置40包括处理器4411、SRIO接口4412、存储器4413、IB接口4414以及总线4415,处理器4411、SRIO接口4412、存储器4413、IB接口4414分别与总线4415连接,以进行交互通信。
具体而言,源报文转换装置40通过IB接口4414与源IB网络连接,且通过SRIO接口4412与SRIO网络连接。其中:
IB接口4414,用于接收来自源IB网络的IB报文;
存储器4413,用于存储程序,该程序用于:
获取位于IB报文的报文头的DLID区域的目标IB设备的IB地址,其中目标IB设备位于目标IB网络;
将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,其中目标报文转换装置位于SRIO网络,且与目标IB网络连接;
将目标报文转换装置的SRIO地址置于SRIO报文的报文头的目标地址区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文;
处理器4411,用于运行该程序。
SRIO接口4412,用于将SRIO报文发送至SRIO网络。
可选地,存储器4413存储有地址映射表,其中地址映射表记录有 目标IB设备的IB地址与目标报文转换装置的SRIO地址的对应关系,该程序用于:读取地址映射表;根据地址映射表获取与目标IB设备的IB地址对应的目标报文转换装置的SRIO地址。
可选地,该程序进一步用于:获取位于IB报文的报文头的PktLen区域的报文长度;判断报文长度是否大于预设数据长度,若是,以预设数据长度为基准量将IB报文分成带有顺序编号的多个数据段信息,并将多个数据段信息分别置于多个SRIO报文的载荷区域,将目标报文转换装置的SRIO地址置于多个SRIO报文的报文头的目标地址区域,将顺序编号置于多个SRIO报文的报文头的保留位区域,以生成对应于IB报文的多个SRIO报文。SRIO接口4412将该多个SRIO报文发送至SRIO网络。
可选地,该程序用于:获取位于IB报文的报文头的SLID区域的源IB设备的IB地址,其中源IB设备位于源IB网络;将源IB设备的IB地址转换为对应的源报文转换装置40的SRIO地址;将源报文转换装置40的SRIO地址置于SRIO报文的报文头的源地址区域。
可选地,地址映射表进一步记录有源IB设备的IB地址与源报文转换装置40的SRIO地址的对应关系,该程序用于:读取地址映射表;根据地址映射表获取与源IB设备的IB地址对应的源报文转换装置40的SRIO地址。
可选地,SRIO接口4412用于:将SRIO报文的报文头的格式类型区域置为用户定义功能。
以下请参见图12,图12是本发明目标报文转换装置50第二实施例的装置结构示意图,目标报文转换装置50与目标IB网络连接,且与SRIO网络连接,目标报文转换装置50包括处理器5511、SRIO接口5512、存储器5513、IB接口5514以及总线5515,处理器5511、SRIO接口5512、存储器5513、IB接口5514分别与总线5515连接,以进行交互通信。
具体而言,目标报文转换装置50通过IB接口5514与目标IB网络连接,且通过SRIO接口5512与SRIO网络连接。其中:
SRIO接口5512,用于接收来自SRIO网络的SRIO报文,其中SRIO 报文的载荷区域置有IB报文,SRIO报文的报文头的目标地址区域置有目标报文转换装置50的SRIO地址,IB报文的报文头的DLID区域置有目标IB设备的IB地址,目标IB设备位于目标IB网络中;
存储器5513,存储有程序,该程序用于从SRIO报文的载荷区域获取IB报文,
将IB报文发送至目标IB网络。
可选地,SRIO接口5512用于:接收来自SRIO网络的多个SRIO报文,其中每一SRIO报文的载荷区域置有数据段信息,多个数据段信息组成IB报文,每一SRIO报文的报文头的目标地址区域置有目标报文转换装置50的SRIO地址,每一SRIO报文的报文头的保留位区域数据段信息对应的顺序编号。
该程序用于:从多个SRIO报文的载荷区域获取多个数据段信息,从多个SRIO报文的报文头的保留位区域获取多个顺序编号,根据顺序编号将多个数据段信息组合成IB报文。
可选地,SRIO报文的报文头的源目标区域进一步置有源报文转换装置的SRIO地址,该程序进一步用于:从SRIO报文的报文头的源地址区域获取源报文转换装置的SRIO地址。
可选地,SRIO报文的报文头的格式类型区域置为用户定义功能,该程序在预设条件被满足后从SRIO报文的载荷区域获取IB报文,预设条件为:判断到SRIO报文的报文头的格式类型区域置为用户定义功能。
以下请参见图13,图13是设置有本发明的源报文转换装置、目标报文转换装置的另一网络环境的系统架构图。如图13所示,该网络环境包括源IB网络810、目标IB网络811、SRIO网络800、源报文转换装置40以及目标报文转换装置50。
在本实施例中,以一较为极端的例子进行说明,即:源IB网络810仅包括源IB设备8101,目标IB网络811仅包括目标IB设备8111。
SRIO网络30包括SRIO设备801、SRIO设备802、SRIO设备803、SRIO设备804、SRIO报文交换机805、SRIO报文交换机806以及SRIO报文交换机807。
同理,源报文转换装置40将源IB设备8101发出的IB报文加载到SRIO报文中,并发送至SRIO网络800,具体而言,可将SRIO报文发送至SRIO报文交换机807,SRIO报文经SRIO报文交换机807转发至目标报文转换装置50,目标报文转换装置50从SRIO报文中获取IB报文,并发送至目标IB设备8111。
因此,本发明也适合用于源IB网络10仅包括单个IB设备,目标IB网络20仅包括单个IB设备的网络环境。
因此,本发明实施方式提供的源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法,通过接收来自源IB网络的IB报文,获取位于IB报文的报文头区域中的目标IB设备的IB地址,将目标IB设备的IB地址转换为对应的目标报文转换装置的SRIO地址,将目标报文转换装置的SRIO地址置于SRIO报文的报文头区域,并将IB报文置于SRIO报文的载荷区域,以生成对应于IB报文的SRIO报文并发送至SRIO网络,并且,通过从SRIO报文的载荷区域获取IB报文,并将IB报文发送至目标IB网络,可以通过SRIO网络将源IB网络的IB报文传输至目标IB网络,从而通过SRIO网络实现不同的IB网络之间的IB报文传输。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领网络,均同理包括在本发明的专利保护范围内。