一种实现在光网络中传输InfiniBand数据的设备及方法

文档序号:7934044阅读:558来源:国知局
专利名称:一种实现在光网络中传输InfiniBand数据的设备及方法
技术领域
本发明涉及光网络中的数据传输技术,特别涉及一种实现在光网络中传输InfiniBand数据的设备及方法。
背景技术
InfiniBand(以下简称IB)技术是一种交换式的串行总线技术,其技术标准规定了从物理层到传输层的所有操作协议,并且由硬件来实现从一层到四层的功能,从而大大减轻了CPU的负荷,同时IB技术还制定了详细的流控策略和安全机制,可以实现端口级和连接级的流控和点对点的安全保护。
IB技术的网络构成参见图1,图1为现有技术IB技术的网络构成示意图。如图1所示,IB网络中包含的设备有主通道适配器(HCA)105、目标通道适配器(TCA)106、IB交换机(Switch)107、IB路由器(Router)108等。IB网络通过连接了系统内存104的系统内存控制器103和系统总线102与CPU101相连。图1中将Switch 107与HCA 105和TCA 106和Router 108连接在一起的是IB链路(IB Link)。
HCA和TCA是InfiniBand体系结构中的末端(EndNode)设备,HCA主要是连接CPU和IB链路的设备,而TCA主要是连接I/O设备和IB链路;Switch是InfiniBand链路层设备,可以实现InfiniBand报文在同一个IB子网内的转发功能;Router是InfiniBand网络层设备,可以实现IB子网间或者IB子网和不同IB网络的报文转发功能;IB Link则是具体的物理链路,传输介质可以是印刷电路板(PCB)、铜缆和光纤。
目前,在通信系统中利用IB技术能够实现板间、框间和设备间的互联。IB技术作为一种新兴的交换式串行总线技术,将在未来的数据存储域网(SAN)、高性能集群以及数据通信等领域有广泛的应用。
然而,目前IB规范中描述的利用铜缆联接的最远距离为17m,光纤联接的最远距离也只在十几公里左右,因此,IB技术主要应用于服务器集群、本地存储,其局限于系统区域网络,不能实现广域的IB互联。这样,就制约了IB技术的广泛应用和进一步的发展。
在光网络传输技术中,同步数字序列(SDH)/同步光网络(SONET)是一种非常成熟的技术,具有安全性好,可靠性高的优点,在电信网中获得大规模的应用。SDH/SONET本身是一个透明的传输通道,可以实现多种协议数据的远距离传输。

发明内容
有鉴于此,本发明的主要目的在于提供一种实现在光网络中传输InfiniBand数据的设备,使用该设备可以实现IB协议在SDH/SONET上的可靠传输。
本发明的另一个主要目的在于提供一种实现在光网络中传输InfiniBand数据的方法,利用广泛使用的SDH/SONET网络,实现IB在广域范围的可靠传输。
根据上述发明目的的一个方面,本发明提供了一种实现在光网络中传输InfiniBand数据的设备,该设备位于InfiniBand端口与光网络端口之间,包含InfiniBand接口模块,其用于收发InfiniBand端口与映射和流控模块之间传输的数据;映射和流控模块,其用于将从InfiniBand接口模块接收的InfiniBand数据包加上流控信息后,发送给数据处理模块;或将从数据处理模块接收的数据包去掉流控信息后,发送给InfiniBand接口模块;数据处理模块,其用于将从映射和流控模块接收的数据包加上头信息后发送给光网络接口模块,或将从光网络接口模块接收的数据包去掉头信息后发送给映射和流控模块;光网络接口模块,其用于收发数据处理模块与光网络端口之间传输的数据;管理模块,其用于向其它各模块发送管理信息和接收其它各模块的上报信息。
其中,所述的InfiniBand接口模块可以包含InfiniBand接口电路、虚通道收发送缓存;InfiniBand接口电路接收InfiniBand端口发送的数据并将其发送给虚通道发送缓存,或接收虚通道接收缓存发送的数据并将其发送到InfiniBand端口;虚通道发送缓存将从InfiniBand接口电路接收的数据暂存后发送给映射和流控模块;虚通道接收缓存将从映射和流控模块接收的数据暂存后发送给InfiniBand接口电路。
所述的虚通道发送缓存还可以进一步包含虚通道发送队列和虚通道发送复用模块,虚通道发送缓存接收的数据先暂存到虚通道队列中,再通过虚通道复用模块发送给映射和流控模块。虚通道接收缓存还可以进一步包含虚通道接收队列和虚通道接收复用模块,虚通道接收缓存接收的数据先暂存到虚通道队列中,再通过虚通道复用模块发送给InfiniBand接口电路。
所述的虚通道发送缓存还可以进一步通过向InfiniBand接口电路发送发送缓冲器状态信号与InfiniBand接口电路相连;所述的虚通道接收缓存也可以进一步通过向映射和流控模块发送接收缓冲器状态信号与映射和流控模块相连。
所述的数据处理模块可以进一步包含数据计算校验和模块,其对从映射和流控模块接收的数据计算校验和;数据处理模块还可以进一步包含检查计算校验和模块,其对从光网络接口模块接收的数据检查计算校验和。
所述的管理模块向其它各模块发送的管理信息可以包括向InfiniBand接口模块发送端口的控制信息、向映射和流控模块发送的流控策略信息、向数据处理模块发送的控制信息、向光网络接口模块发送端口的控制信息。管理模块接收其它各模块的上报信息可以包括InfiniBand接口模块发送的端口状态上报信息、映射和流控模块发送的流控状态上报信息、数据处理模块发送的数据包统计上报信息、光网络接口模块发送的端口状态上报信息。
所述的InfiniBand端口可以为InfiniBand交换机,或InfiniBand路由器,或InfiniBand通道适配器。
所述的光网络端口可以为分插复用器。
根据上述发明目的的另一个方面,本发明提供了一种实现在光网络中传输InfiniBand数据的方法,在InfiniBand数据发送端,将InfiniBand数据帧作为光网络可以传输的高级数据链路控制协议数据帧的净荷,封装在高级数据链路控制协议数据帧中,并将该数据帧发送到光网络端口,该数据帧通过光网络传输到数据接收端的光网络端口,在数据接收端将封装在高级数据链路控制协议数据帧中的InfiniBand数据帧取出发送给数据InfiniBand接收端。
该方法中所述的数据帧的净荷可以进一步设置一个用于标识流控状态的流控消息头。
该方法可以采用InfiniBand通信协议中基于信用度的流控机制进行流控。
由上述技术方案可见,本发明实现在光网络中传输InfiniBand数据的设备及方法利用广泛使用的SDH/SONET网络,实现了IB在广域范围的可靠传输。相对于现有技术,本发明很好的解决了IB远距离传输的问题,可以实现基于IB的服务器远程集群、远程存储,大大扩展了IB的应用范围。


图1为现有技术IB技术的网络构成示意图;图2为本发明实现在光网络中传输InfiniBand数据的设备一个实施例的框图;图3为图2所示实施例的传输设备连接IB网和SDH网的连接示意图;图4为本发明的传输方法中使用的HDLC数据帧的帧结构示意图;图5为IB数据帧的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例并参照附图,对本发明进一步详细说明。
图2为本发明实现在光网络中传输InfiniBand数据的设备一个实施例的框图。如图2所示,该传输设备位于InfiniBand端口与光网络端口之间,包含InfiniBand接口模块201、映射和流控模块202、数据处理模块203、光网络接口模块204和管理模块205。
其中,InfiniBand接口模块201包含InfiniBand接口电路2011、虚通道发送缓存2012和虚通道接收缓存2013;InfiniBand接口模块201通过InfiniBand接口电路2011与InfiniBand端口相连,InfiniBand接口电路2011接收InfiniBand端口发送的数据并将其发送给虚通道发送缓存2012,或接收虚通道接收缓存2013发送的数据并将其发送到InfiniBand端口;虚通道发送缓存2012将从InfiniBand接口电路2011接收的数据暂存后发送给映射和流控模块202;虚通道接收缓存2013将从映射和流控模块202接收的数据暂存后发送给InfiniBand接口电路2011;本实施例中,虚通道发送缓存2012还包含了虚通道(VL)发送队列VL0-VLn和虚通道发送复用模块VL MUX,虚通道发送缓存2012接收的数据先暂存到虚通道发送队列VL0-VLn中,再通过虚通道发送复用模块VLMUX发送给映射和流控模块202;虚通道接收缓存2013也进一步包含了虚通道接收队列VL0-VLn和虚通道接收复用模块VL MUX,虚通道接收缓存2013接收的数据先暂存到虚通道接收队列VL0-VLn中,再通过虚通道接收复用模块VL MUX发送给InfiniBand接口电路2011。虚通道发送缓存2012还通过向InfiniBand接口电路发送发送缓冲器状态信号TXBS与InfiniBand接口电路相连;虚通道接收缓存2013还通过向映射和流控模块202发送接收缓冲器状态信号RXBS与映射和流控模块202相连,本发明的传输设备根据TXBS和RXBS来实现流控。
映射和流控模块202接收InfiniBand接口模块201的虚通道发送缓存2012发送的数据,并根据虚通道发送缓存2012当前的状态,在InfiniBand数据包加上相应的流控信息发送给数据处理模块203;或接收数据处理模块203发送的数据,从该数据的数据包中取出流控信息,把去掉流控信息的数据包发送到InfiniBand接口模块201。
数据处理模块203接收映射和流控模块202发送的数据,将该数据的数据包加上头信息并计算校验和后发送给光网络接口模块204,或接收光网络接口模块204发送的数据,将该数据的数据包去掉头信息并检查计算校验和后发送给映射和流控模块202。
光网络接口模块204接收数据处理模块203发送的数据发送给光网络端口,或接收光网络端口发送的数据发送给数据处理模块203。
管理模块205通过向其它各模块发送管理信息和接收其它各模块的上报信息与其它各模块相连。管理模块205向InfiniBand接口模块201发送端口控制信息,接收InfiniBand接口模块201发送的端口状态上报信息、向映射和流控模块202发送流控策略信息,接收映射和流控模块202发送的流控状态上报信息、向数据处理模块203发送控制信息,接收数据处理模块203发送的数据包统计上报信息、向光网络接口模块204发送端口控制信息,接收光网络接口模块204发送的端口状态上报信息。
图3为图2所示实施例的传输设备连接IB网和SDH网的连接示意图。如图3所示,本实施例的基于光网络的IB传输设备302一端与SDH环网中的分插复用器303相连,另一端与IB网的IB交换机/IB路由器/IB通道适配器301相连。
本发明实现在光网络中传输InfiniBand数据的方法为在InfiniBand数据发送端,将InfiniBand数据帧作为光网络可以传输的高级数据链路控制协议(HDLC)数据帧的净荷,封装在HDLC数据帧中,并将该数据帧发送到光网络端口,该数据帧通过光网络传输到数据接收端的光网络端口,在数据接收端将封装在HDLC数据帧中的InfiniBand数据帧取出发送给数据InfiniBand接收端。
图4为本发明的实现方法中使用的HDLC数据帧的帧结构示意图。如图4所示,该数据帧是将IB数据帧增加一个6字节(byte)的流控信息头,再作为HDLC数据帧的净荷封装到HDLC数据帧中后形成的。
其中,IB数据帧包含信息头、IB数据净荷、不变循环冗余码校验(ICRC)和可变循环冗余码校验(VCRC)。其具体结构参见图5,图5为IB数据帧的结构示意图,如图5所示,IB数据帧的信息头包含局部路由头部信息(LRH)、全局路由头部信息(GRH)、基本传输层头部信息(BTH)、传输层扩展头(ETHs)和立即数(ImmData)。IB数据帧的各个字段的简要说明参见表一。

表一其它字段的说明如下◆标志(Flag),占用1 byteFlag用于标识一个帧的起始和结束,固定为0x7E。如果有两个连续的帧,那么前一帧和后一帧之间只需要一个Flag标志,而不需要两个连续的0x7E去区分连续的帧;当没有数据要发送的时候,就发送连续的Flag到SDH/SONET上,即连续的Flag被认为是一个空的帧。
◆地址(Address),占用1 byte地址字段用来标识一个HDLC帧的目的地址。当该字段为0xFF时,表示是广播地址,所有节点都会接收该帧数据。如果该地址是无效地址,那么该帧数据就不会被接收或被忽略掉了。
◆控制(Control),占用1 byteControl字段用来标识一个HDLC帧的类型,表明该帧是HDLC协议中的Information、Supervisory或Unnumbered类型。
◆协议(Protocol),占用2 bytesProtocol字段用来标识Payload中的协议类型,在本发明中它用于表示净荷(Payload)中包含的是基于IB的SDH/SONET数据,该字段的定义来源于因特网标准——RFC1661,用户自定义的字段需要向因特网数据分配局Internet Assigned Numbers Authority(IANA)申请,本实施例中该字段暂定为0xC031。
◆流控信息头(Flow Control Header),占用6 bytes用于两台实现在光网络中传输InfiniBand数据的设备之间实现流控,本发明方法采用与InfiniBand协议相同的基于信用度的流控机制。
◆保留(Reserved),占用1 byte保留字段,未来扩展用。
◆校验和(FCS),占用4 bytes从Address字段开始到Payload字段结束的校验和。
上述方法可以通过使用上述的基于SDH的IB传输设备来具体实现,其过程仍参见图2。其中,发送方向是指从InfiniBand到SDH/SONET端口的方向,接收方向是指从SDH/SONET到InfiniBand端口的方向。
其发送流程如下第一步IB接口模块201的IB接口电路2011从IB端口收到数据后,根据该数据相应的VL号,把接收到的数据放入VL接收缓冲器2012中相应的VL缓冲队列VL0-VLn中,同时要根据VL接收缓冲器2012回送给IB接口电路2011的VL缓冲器的状态TXBS,实现IB接口侧基于VL的流控,该流控机制的实现符合IB协议采用的基于信用度的流控机制的规定,再根据管理模块205发送来的调度机制,例如VL间采用加权轮询调度方式(WRR),通过VL MUX把VL缓冲队列中的数据输出到映射和流控模块202。
第二步映射和流控模块202收到IB接口模块发来的数据后,根据VL接收缓存器当前的状态,在IB数据包加上相应的流控信息,再将该数据发送给数据处理模块203。
第三步数据处理模块203接收到包含流控信息的数据包,将其作为光网络可以传输的HDLC数据帧的净荷,封装在HDLC数据帧中,完成数据的成帧、校验和的计算工作,然后将该数据通过SDH接口模块204发送到SDH端口。
其接收流程如下第一步SDH接口模块204从SDH端口接收数据并发送给数据处理模块203。
第二步数据处理模块203将接收到的数据去掉HDLC的FLAG、Address、Control、Protocol等头信息,检查校验和并将处理后的数据发送给映射和流控模块202。
第三步映射和流控模块202从数据中取出中6字节的流控信息,把去掉流控信息的数据包发送给IB接口模块201,同时要根据VL发送缓冲器2013回送给映射和流控模块202的VL接收缓冲器的状态RXBS,实现基于VL的流控。
第四步IB接口模块201根据收到的数据的VL号不同,把数据放入VL接收缓存中VL队列中相应的位置,根据管理模块205发送来的调度机制,例如VL间采用加权轮询调度方式(WRR),通过VL MUX把VL缓冲队列中的数据通过IB接口电路2011输出到IB端口。
由此可见,本发明的基于光网络的InfiniBand通信协议的传输设备及传输方法利用广泛使用的SDH/SONET网络,实现了IB在广域范围的可靠传输。相对于现有技术,本发明很好的解决了IB远距离传输的问题,可以实现基于IB的服务器远程集群、远程存储等功能,大大扩展了IB的应用范围。
权利要求
1.一种实现在光网络中传输InfiniBand数据的设备,其特征在于该设备位于InfiniBand端口与光网络端口之间,包含InfiniBand接口模块,其用于收发InfiniBand端口与映射和流控模块之间传输的数据;映射和流控模块,其用于将从InfiniBand接口模块接收的InfiniBand数据包加上流控信息后,发送给数据处理模块;或将从数据处理模块接收的数据包去掉流控信息后,发送给InfiniBand接口模块;数据处理模块,其用于将从映射和流控模块接收的数据包加上头信息后发送给光网络接口模块,或将从光网络接口模块接收的数据包去掉头信息后发送给映射和流控模块;光网络接口模块,其用于收发数据处理模块与光网络端口之间传输的数据;管理模块,其用于向其它各模块发送管理信息和接收其它各模块的上报信息。
2.如权利要求1所述的传输设备,其特征在于所述的InfiniBand接口模块包含InfiniBand接口电路、虚通道收发送缓存;InfiniBand接口电路接收InfiniBand端口发送的数据并将其发送给虚通道发送缓存,或接收虚通道接收缓存发送的数据并将其发送到InfiniBand端口;虚通道发送缓存将从InfiniBand接口电路接收的数据暂存后发送给映射和流控模块;虚通道接收缓存将从映射和流控模块接收的数据暂存后发送给InfiniBand接口电路。
3.如权利要求2所述的传输设备,其特征在于所述的虚通道发送缓存进一步包含虚通道发送队列和虚通道发送复用模块,虚通道发送缓存接收的数据先暂存到虚通道队列中,再通过虚通道复用模块发送给映射和流控模块。
4.如权利要求2所述的传输设备,其特征在于所述的虚通道接收缓存进一步包含虚通道接收队列和虚通道接收复用模块,虚通道接收缓存接收的数据先暂存到虚通道队列中,再通过虚通道复用模块发送给InfiniBand接口电路。
5.如权利要求2所述的传输设备,其特征在于所述的虚通道发送缓存进一步通过向InfiniBand接口电路发送发送缓冲器状态信号与InfiniBand接口电路相连;所述的虚通道接收缓存进一步通过向映射和流控模块发送接收缓冲器状态信号与映射和流控模块相连。
6.如权利要求1所述的传输设备,其特征在于所述的数据处理模块进一步包含数据计算校验和模块,其对从映射和流控模块接收的数据计算校验和;和检查计算校验和模块,其对从光网络接口模块接收的数据检查计算校验和。
7.如权利要求1所述的传输设备,其特征在于所述的管理模块向其它各模块发送的管理信息包括向InfiniBand接口模块发送端口的控制信息、向映射和流控模块发送的流控策略信息、向数据处理模块发送的控制信息、向光网络接口模块发送端口的控制信息。
8.如权利要求1所述的传输设备,其特征在于所述的管理模块接收其它各模块的上报信息包括InfiniBand接口模块发送的端口状态上报信息、映射和流控模块发送的流控状态上报信息、数据处理模块发送的数据包统计上报信息、光网络接口模块发送的端口状态上报信息。
9.如权利要求1所述的传输设备,其特征在于所述的InfiniBand端口为InfiniBand交换机,或InfiniBand路由器,或InfiniBand通道适配器。
10.如权利要求1所述的传输设备,其特征在于所述的光网络端口为分插复用器。
11.一种实现在光网络中传输InfiniBand数据的方法,其特征在于在InfiniBand数据发送端,将InfiniBand数据帧作为光网络可以传输的高级数据链路控制协议数据帧的净荷,封装在高级数据链路控制协议数据帧中,并将该数据帧发送到光网络端口,该数据帧通过光网络传输到数据接收端的光网络端口,在数据接收端将封装在高级数据链路控制协议数据帧中的InfiniBand数据帧取出发送给数据InfiniBand接收端。
12.如权利要求11所述的方法,其特征在于所述的高级数据链路控制协议数据帧的净荷进一步设置一个用于标识流控状态的流控消息头。
13.如权利要求11或12所述的方法,其特征在于该方法采用InfiniBand通信协议中基于信用度的流控机制进行流控。
全文摘要
本发明公开了一种实现在光网络中传输InfiniBand数据的设备,该设备位于InfiniBand端口与光网络端口之间,包含InfiniBand接口模块、映射和流控模块、数据处理模块、光网络接口模块和管理模块,使用该设备可以实现InfiniBand协议在SDH/SONET上的可靠传输。本发明同时公开了一种实现在光网络中传输InfiniBand数据的方法,该方法将InfiniBand数据帧作为光网络可以传输的高级数据链路控制协议数据帧的净荷,封装在高级数据链路控制协议数据帧中,这样就可以实现InfiniBand数据帧在光网络中的传输。利用广泛使用的SDH/SONET网络,实现在InfiniBand广域范围的可靠传输。相对于现有技术,本发明很好地实现了基于InfiniBand的服务器远程集群、远程存储等功能,大大扩展了InfiniBand的应用范围。
文档编号H04L29/06GK1492643SQ02146528
公开日2004年4月28日 申请日期2002年10月21日 优先权日2002年10月21日
发明者顾冰, 舒曦辉, 余洲, 顾 冰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1