The invention provides a message transmission method and a device for realizing the method. In the current practice, the routing device chooses the forwarding path according to the hash value of the five-tuple information of the forwarded message. Because of the five-tuple information of the messages sent by different queues, the hashed values may be the same or correspond to the same forwarding path, resulting in uneven traffic on each path. In order to solve the problem of unbalanced traffic caused by current practice, the present invention divides the messages to be sent into several groups. The messages in different groups have different source port information, and the header carried by each message carries the write address of the message in the memory of the destination server. In this way, the message to be sent will be forwarded on different paths, thus increasing the balance of network traffic.
【技术实现步骤摘要】
【国外来华专利技术】一种报文传输的方法及装置
本专利技术涉及报文传输
,特别涉及一种报文传输的方法及装置。
技术介绍
在数据通信系统,为了提高服务器之间报文传输的速度,通常采用远程直接内存访问(英文:RemoteDirectMemoryAccess,简称:RDMA)技术进行连接。RDMA,是通过网络把数据直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成影响。RDMA消除了外部存储器复制和上下文切换的开销,因此能解放内存带宽和CPU周期用于改进应用系统性能。基于融合以太网的远程直接内存访问(英文全称:RDMAoverConvergedEthernet,缩写:RoCE)是RDMA技术的一种,允许服务器通过以太网进行远程直接内存访问。目前RoCE有两个协议版本,v1和v2。其中,RoCEv1协议允许在同一个广播域下的任意两台服务器直接访问。而RoCEv2协议则可以实现路由功能。虽然RoCE协议的优点主要是基于融合以太网的特性,但是RoCE协议也可以应用在传统以太网网络或者非融合以太网络中。当RoCEv2协议的报文在多路径的网络中进行传输时,通常根 ...
【技术保护点】
1.一种报文传输的方法,其特征在于,所述方法应用于源端设备,所述源端设备与目的端设备之间通过以太网进行远程直接内存访问RDMA,所述源端设备的网络接口卡上包括源队列对,所述源队列对包括发送队列;所述方法包括:从所述源队列对的发送队列中获取Q个数据段;分别封装所述Q个数据段得到Q个报文,并分别发送所述Q个报文,其中,所述Q个报文中的每个报文携带第一报头和第二报头,每个报文携带的第一报头用于指示本报文在所述目的端设备的内存中的写入地址,每个报文携带的第二报头包含源端口号信息,所述Q个报文中至少两个报文分别携带的第二报头中的源端口号信息不相同,Q为大于等于2的正整数。
【技术特征摘要】
【国外来华专利技术】1.一种报文传输的方法,其特征在于,所述方法应用于源端设备,所述源端设备与目的端设备之间通过以太网进行远程直接内存访问RDMA,所述源端设备的网络接口卡上包括源队列对,所述源队列对包括发送队列;所述方法包括:从所述源队列对的发送队列中获取Q个数据段;分别封装所述Q个数据段得到Q个报文,并分别发送所述Q个报文,其中,所述Q个报文中的每个报文携带第一报头和第二报头,每个报文携带的第一报头用于指示本报文在所述目的端设备的内存中的写入地址,每个报文携带的第二报头包含源端口号信息,所述Q个报文中至少两个报文分别携带的第二报头中的源端口号信息不相同,Q为大于等于2的正整数。2.根据权利要求1所述的方法,其特征在于,所述分别封装所述Q个数据段得到Q个报文,并发送所述Q个报文包括:根据所述源队列对配置的源端口号信息,依次封装所述Q个数据段得到所述Q个报文,每封装完成一个报文就发送封装后的报文,并在每封装完成N个报文后,更新所述源队列对配置的源端口号信息,前一组N个报文携带的源端口号信息与后一组N个报文携带的源端口号信息不同,N大于等于1,小于Q。3.根据权利要求1所述的方法,其特征在于,所述分别封装所述Q个数据段得到Q个报文,并发送所述Q个报文包括:将所述Q个数据段划分为M个分组,每个分组中包括至少一个数据段,依次封装每个分组中的数据段得到每个分组中的报文,其中,每个分组中的报文携带的源端口号信息相同,至少两个分组中的报文携带的源端口号信息不同,M小于等于Q。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述分别封装所述Q个数据段得到Q个报文之前,还包括:根据所述Q个数据段的第一个数据段的基地址和每个数据段的长度,确定所述Q个报文中的每个报文在所述目的端设备的内存中的写入地址。5.根据权利要求1-4任意一项所述的方法,其特征在于,所述Q个报文中的每个报文还分别携带报文序号,每个报文携带的报文序号用于指示本报文在所述Q个报文中的发送顺序。6.一种报文传输的方法,其特征在于,所述方法应用于目的端设备,源端设备与所述目的端设备之间通过以太网进行远程直接内存访问RDMA,所述目的端设备的网络接口卡上包括目的队列对,所述目的队列对包括接收队列;所述方法包括:接收Q个报文,其中,每个报文携带第一报头和第二报头,每个报文携带的第一报头用于指示本报文在所述目的端设备的内存中的写入地址,每个报文携带的第二报头包含源端口号信息,所述Q个报文中至少两个报文携带的第二报头中的源端口号信息不相同,Q为大于等于2的正整数;根据所述Q个报文各自携带的本报文在所述目的端设备的内存中的写入地址,分别将所述Q个报文保存到所述目的端设备的内存中。7.根据权利要求6所述的方法,其特征在于,所述接收Q个报文包括:依次接收Q个报文;则,所述保存所述Q个报文到所述目的端设备的内存中包括:每接收到一个报文,就执行所述将接收到的报文保存到所述目的端设备的内存中的步骤。8.根据权利要求7所述的方法,其特征在于,所述Q个报文中的每个报文还分别携带报文序号,每个报文携带的报文序号用于指明本报文在所述Q个报文中的发送顺序;所述方法还包括:每接收到所述Q个报文中的一个报文,记录当前接收到的报文携带的报文序号,并根据当前接收到的报文的报文序号,确定预备接收的下一个报文的报文序号;在接收到所述Q个报文中的下一个报文后,确定接收到的下一个报文的报文序号是否与预备接收的下一个报文的报文序号是否一致,如果否,启动丢包检测流程;如果通过所述丢包检测流程确定在报文传输过程中发生丢包,则向所述源端设备发送报文重传指示。9.根据权利要求8所述的方法,其特征在于,所述目的队列对设置有位图,所述位图包括至少Q个位图位,所述Q个位图位按照所述Q个报文的发送顺序从前往后对应于所述Q个报文,所述位图设置有头指针和尾指针,所述头指针指向接收队列最新接收到的报文所对应的位图位,所述尾指针指向接收队列预备接收的下一个报文;所述每接收到一个报文,记录当前接收到的报文携带的报文序号,并根据当前接收到的报文的报文序号,确定预备接收的下一个报文的报文序号,包括:根据当前接收到的报文的报文序号,将所述位图中代表所述当前接收到的报文的位图位设置为有效,并将所述头指针指向代表所述当前接收到的报文的位图位;以及,根据所述当前接收到的报文的报文序号,确定所述当前接收到的报文是否是所述尾指针当前指向的位图位所对应的报文,如果是,更新所述尾指针的指向,所述尾指针新的指向为所述当前接收到的报文所对应的位图位之后的无效的位图位中的第一个位图位,如果否,保持所述尾指针当前指向的位图位不变。10.根据权利要求9所述的方法,其特征在于,所述确定接收到的下一个报文的报文序号是否与预备接收的下一个报文的报文序号是否一致,包括:根据所述接收到的下一个报文的报文序号,确定所述尾指针当前是否指向所述接收到的下一个报文所对应的位图位。11.根据权利要求9或10所述的方法,其特征在于,所述丢包检测流程包括:针对所述尾指针当前指向的位图位所对应的报文启动定时器,若在定时器超时后,所述尾指针的指向不发生改变,确定所述尾指针当前指向的位图位所对应的报文发生丢包。12.根据权利要求9或10所述的方法,其特征在于,所述丢包检测流程包括:确定所述头指针当前指向的位图位是否超过预定值,如果超过,确定所述头指针和所述尾指针之间的位图位所对应的报文发生丢包。13.根据权利要求9至12任一项所述的方法,其特征在于,所述向所述源端设备发送报文重传指示包括:向所述源端设备发送报文重传指示,所述重传指示携带所述尾指针当前指向的位图位所对应的报文的报文序号,以请求所述源端设备将所述Q个报文中所述尾指针当前指向的位图位所对应的报文之后的所有报文进行重新发送。14.一种网络接口卡,其特征在于,所述网络接口卡位于远程直接内存访问RDMA的源端设备,所述网络接口卡上设置源队列对,所述源队列对包括发送队列,所述发送队列用于缓存所述源端设备待发送到...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。