一种实现RDMA网络可靠组播方法、装置、存储介质及设备制造方法及图纸

技术编号:35847268 阅读:28 留言:0更新日期:2022-12-07 10:28
本申请涉及通信技术领域,公开了一种实现RDMA网络可靠组播方法、装置、存储介质及设备,包括:交换机首先接收源端发送的Envelope控制报文和组播数据报文,其中,Envelope控制报文载荷中包括Envelope报文识别标签Tag、关联了源端队列对QP的目的端的网络地址、关联了源端QP的目的端QP的QPN、目的端的内存区MR信息、源端的QPN,然后,根据Envelope报文识别标签Tag识别Envelope控制报文,并提取和记录其载荷中的内容,接着,利用记录的内容替换后续组播数据报文和/或其对应的反馈报文ACK/NACK中的对应域,再按照预设规则对组播数据报文进行转发。从而在兼容标准RDMA协议且无需交换机与源端、目的端间分别建立RC连接的情况下,利用交换机实现组播报文的复制、转发,进而实现了RDMA网络中的可靠组播。RDMA网络中的可靠组播。RDMA网络中的可靠组播。

【技术实现步骤摘要】
一种实现RDMA网络可靠组播方法、装置、存储介质及设备


[0001]本申请涉及通信
,尤其涉及一种实现RDMA网络可靠组播方法、装置、存储介质及设备。

技术介绍

[0002]随着网络技术的快速发展,当今的世界已经进入快速发展的网络时代,而组播(Multicast)作为网络的基本传输模式之一,如何确保每一个目的端能够可靠的接收到源端发送的每一份数据,实现可靠组播显得尤为重要。其中,组播的特点是一个源端将同样的数据发送给多个目的端。组播包含多种实现方式,比如源端利用单播,通过N次发送把同样的数据发给N个目的端;或者源端发送一份数据,再由网络设备(交换机或路由器)将报文复制N份,分别传输到N个目的端。显然,第二种实现方式中由于源端只发送了一份数据,使得发送时延更小、占用带宽更少。
[0003]目前常用的实现组播的基本架构如图1所示,图1中交换机分别和组播源端(MC Source)和各个目的端(Receiver)建立远程直接内存访问(remote direct memory access,RDMA)单播Reliable Connection(RC)连接。在组播时,源端首先向交换机发送携带组播相关信息的元数据,交换机接收元数据并记录。然后,源端向交换机发送组播数据报文。交换机根据记录的元数据信息,将该数据报文复制并发送给每一个目的端。但在该实现组播的方法中,由于交换机和源端、目的端间均建立了RC连接,导致交换机需要维护复杂的RC连接相关状态机。并且,交换机作为RC连接的一端,还需要具备丢包重传功能,因而需要储存尚未被确认的报文,从而占用了宝贵的交换机缓存资源。此外,由于交换机和源端、目的端间均建立了RC连接,也打破了端到端的通信原则,导致可能产生假的确认报文(Acknowledge character,ACK)的问题。例如,当交换机收到源端发送的组播数据报文后需要回复ACK,源端收到ACK即认为组播通信完成。然而,如果此时交换机与某个目的端的连接断开,该组播通信最终无法完成,从而造成源端认知与实际情况的不一致,无法实现可靠组播。

技术实现思路

[0004]本申请实施例提供了一种实现RDMA网络可靠组播方法、装置、存储介质及设备,能够是在兼容标准RDMA协议的前提下,利用交换机实现RDMA网络中的可靠组播。
[0005]第一方面,本申请提供了一种实现RDMA网络可靠组播方法,该方法包括:交换机首先接收源端发送的Envelope控制报文和组播数据报文,其中,Envelope控制报文为标准RDMA协议报文,Envelope控制报文的载荷包括Envelope报文识别标签Tag、与源端建立了队列对QP关联的目的端的网络地址、与源端建立了队列对QP关联的目的端队列对的QPN、目的端的内存区MR信息、源端的QPN,然后,交换机根据Envelope报文识别标签Tag识别Envelope控制报文,并提取和记录Envelope控制报文的载荷中包含的内容,接着,交换机利用记录的Envelope控制报文中的内容替换组播数据报文和/或组播数据报文对应的反馈报文ACK/
NACK中的对应域,进一步可以再按照预设规则对组播数据报文进行转发。
[0006]与传统技术相比,本申请实施例能够是在兼容标准RDMA协议且无需交换机与源端、目的端间分别建立RC连接的情况下,利用交换机实现组播报文的复制和转发,进而实现了RDMA网络中的可靠组播。
[0007]一种可能的实现方式中,交换机利用记录的Envelope控制报文中的内容替换组播数据报文和/或所述组播数据报文对应的反馈报文ACK/NACK中的对应域,包括:交换机利用记录的Envelope控制报文中的内容替换组播数据报文中的目的网络地址、BTH包头内的目的QPN和内存地址域;和/或,交换机利用记录的Envelope控制报文中的内容替换组播数据报文对应的反馈报文ACK/NACK的源网络地址、BTH包头内的目的QPN。
[0008]一种可能的实现方式中,交换机按照预设规则对组播数据报文进行转发,包括:
[0009]交换机按照预设规则,根据与源端建立了队列对QP的目的端的网络地址,将组播数据报文发送到各个出端口;
[0010]其中,预设规则包括:
[0011]交换机仅将组播数据报文转发给尚未收到对应确认报文ACK的目的端;
[0012]交换机仅转发所有目的端发来的ACK报文中最后一个到达的;
[0013]交换机仅转发所有目的端发来的NACK报文中包序列号PSN最小的一个。
[0014]第二方面,本申请还提供了一种实现RDMA网络可靠组播方法,该方法包括:首先源端和目的端按照标准RDMA协议,分别建立队列对QP,其中,QP包含队列对识别号QPN;源端QP与第一目的端的QP关联;所有目的端QP与源端QP关联;关联包括指定QP对端的QPN和网络地址,然后源端利用该QP,向交换机发送Envelope控制报文和组播数据报文,以便交换机利用Envelope控制报文中的内容替换组播数据报文和/或组播数据报文对应的反馈报文ACK/NACK中的对应域,并按照预设规则对组播数据报文进行转发;
[0015]其中,Envelope控制报文的载荷包括Envelope报文识别标签Tag、目的端的网络地址、目的端的QPN、目的端的内存区MR信息、源端的QPN。
[0016]一种可能的实现方式中,源端利用QP,向交换机发送Envelope控制报文和组播数据报文包括:源端利用QP,采用RDMA WRITE操作或Send/Recv操作的方式向交换机发送Envelope控制报文和组播数据报文。
[0017]第三方面,本申请还提供了一种实现RDMA网络可靠组播装置,该装置包括:
[0018]接收单元,用于交换机接收源端发送的Envelope控制报文和组播数据报文,其中,Envelope控制报文为标准RDMA协议报文,其中,Envelope控制报文的载荷包括Envelope报文识别标签Tag、与源端建立了队列对QP关联的目的端的网络地址、与源端建立了队列对QP关联的目的端队列对的QPN、目的端的内存区MR信息、源端的QPN;
[0019]提取单元,用于交换机根据Envelope报文识别标签Tag识别Envelope控制报文,并提取和记录Envelope控制报文包含的内容;
[0020]替换单元,用于交换机利用记录的Envelope控制报文中的内容替换组播数据报文和/或组播数据报文对应的反馈报文ACK/NACK中的对应域;
[0021]转发单元,用于交换机按照预设规则对组播数据报文进行转发。
[0022]一种可能的实现方式中,替换单元具有用于:交换机利用记录的Envelope控制报文中的内容替换组播数据报文中的目的网络地址、BTH包头内的目的QPN和内存地址域;
[0023]和/或,所述交换机利用记录的所述Envelope控制报文中的内容替换所述组播数据报文对应的反馈报文ACK/NACK的源网络地址、BTH包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现RDMA网络可靠组播方法,其特征在于,所述方法包括:交换机接收源端发送的Envelope控制报文和组播数据报文,所述Envelope控制报文为标准RDMA协议报文,所述Envelope控制报文的载荷包括Envelope报文识别标签Tag、与所述源端建立了队列对QP关联的目的端的网络地址、与所述源端建立了队列对QP关联的目的端队列对的QPN、所述目的端的内存区MR信息、所述源端的QPN;所述交换机根据所述Envelope报文识别标签Tag识别所述Envelope控制报文,并提取和记录所述Envelope控制报文的载荷中包含的内容;所述交换机利用记录的所述Envelope控制报文中的内容替换所述组播数据报文和/或所述组播数据报文对应的反馈报文ACK/NACK中的对应域;所述交换机按照预设规则对所述组播数据报文进行转发。2.根据权利要求1所述的方法,其特征在于,所述交换机利用记录的所述Envelope控制报文中的内容替换所述组播数据报文和/或所述组播数据报文对应的反馈报文ACK/NACK中的对应域,包括:所述交换机利用记录的所述Envelope控制报文中的内容替换所述组播数据报文中的目的网络地址、BTH包头内的目的QPN和内存地址域;和/或,所述交换机利用记录的所述Envelope控制报文中的内容替换所述组播数据报文对应的反馈报文ACK/NACK的源网络地址、BTH包头内的目的QPN。3.根据权利要求1所述的方法,其特征在于,所述交换机按照预设规则对所述组播数据报文进行转发,包括:所述交换机按照预设规则,根据所述与所述源端建立了队列对QP的目的端的网络地址,将所述组播数据报文发送到各个出端口;其中,所述预设规则包括:所述交换机仅将组播数据报文转发给尚未收到对应确认报文ACK的目的端;所述交换机仅转发所有目的端发来的ACK报文中最后一个到达的;所述交换机仅转发所有目的端发来的NACK报文中包序列号PSN最小的一个。4.一种实现RDMA网络可靠组播方法,其特征在于,所述方法包括:源端和目的端按照标准RDMA协议,分别建立队列对QP,所述QP包含队列对识别号QPN;所述源端QP与第一目的端的QP关联;所有目的端QP与源端QP关联;所述关联包括指定QP对端的QPN和网络地址;所述源端利用所述QP,向交换机发送Envelope控制报文和组播数据报文,以便所述交换机利用所述Envelope控制报文中的内容替换所述组播数据报文和/或所述组播数据报文对应的反馈报文ACK/NACK中的对应域,并按照预设规则对所述组播数据报文进行转发;其中,所述Envelope控制报文的载荷包括Envelope报文识别标签Tag、所述目的端的网络地址、所述目的端的QPN、所述目的端的内存区MR信息、所述源端的QPN。5.根据权利要求4所述的方法,其特征在于,所述源端利用所述QP,向交换机发送Envelope控制报文和组播数据报文包括:所述源端利用所述QP,采用RDMA WRITE操作或Send/Recv操作的方式向交换机发送Envelope控制报文和组播数据报文。6.一种实现RDMA网络可靠组播装置,其特征在于,所述装置包括:
接收单元,用于交换机接收源端发送的Envelope控制报文和组播数据报文,所述Envelope控制报文为标准RDMA协议报文,所述Envelope控制报文的载荷包括...

【专利技术属性】
技术研发人员:张君逸王巧灵张鹏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1