CN110460533B - 基于rdma的数据传输方法及装置 - Google Patents

基于rdma的数据传输方法及装置 Download PDF

Info

Publication number
CN110460533B
CN110460533B CN201910627286.9A CN201910627286A CN110460533B CN 110460533 B CN110460533 B CN 110460533B CN 201910627286 A CN201910627286 A CN 201910627286A CN 110460533 B CN110460533 B CN 110460533B
Authority
CN
China
Prior art keywords
data packet
network
data
transmitted
receiving
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
Application number
CN201910627286.9A
Other languages
English (en)
Other versions
CN110460533A (zh
Inventor
陈小龙
李辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201910627286.9A priority Critical patent/CN110460533B/zh
Publication of CN110460533A publication Critical patent/CN110460533A/zh
Application granted granted Critical
Publication of CN110460533B publication Critical patent/CN110460533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种基于远程内存访问RDMA的数据传输方法,所述方法应用在发送设备侧,包括:根据网络带宽和报文时延确定发送窗口大小;当网络中正在传输的数据包小于所述发送窗口时,按照数据包标识依次发送数据包;当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包。本发明实施例能够解决现有技术中由于链路缓存溢出导致丢包和连续重传的问题。

Description

基于RDMA的数据传输方法及装置
技术领域
本发明涉及网络技术领域,尤指一种基于远程内存访问(Remote Direct MemoryAccess,RDMA)的数据传输方法及装置。
背景技术
RDMA是一种通过网络将资料直接传入计算机的存储区的通信方式,RDMA将数据从一个系统快速移动到远程系统存储器中,直接访问主机内存,不需要CPU参与,不会对操作系统造成任何影响,也不会占用计算机CPU性能,能够解放内存带宽和CPU周期,改进系统性能。
传统广域网中的终端主机网卡由于高延迟性和大量的CPU开销,限制了许多应用程序的应用,而数据中心网络大多会采用RDMA通信方式直接访问内存,因此,数据中心网络比传统的广域网能够提供更高的带宽和更低的延迟。
随着网络传输数据的量级极具增大,互联的网络可靠性收到了较大威胁。尤其当一个客户端所请求的数据分布在多个服务器端时,客户端通过一个交换设备向多个服务器发出请求,在服务器收到该请求后,同时向与该客户端连接的交换设备发送数据包,该些数据包均会通过一个相同的链路发送给客户端,该条链路称为瓶颈链路。通常,客户端请求的数据较大,且分布式存储在多个服务器。服务器端响应客户端的请求时,发送的数据包称为服务应答单元(Server Request Unit,SRU),通常大小为32KB。客户端请求数据时是按照一个逻辑块大小来请求数据,一个逻辑块大小通常设置为1MB。当一个客户端需要请求数据时,会向储存该段数据的所有服务器发送一个请求报文,服务器端在收到这个报文之后,开始向客户端发送数据。在这个过程中,一个很重要的原则就是只有在客户端全部接收完当前逻辑块后,才可以发送下一个请求报文。
随着同时发送的服务器端的数目的增长,所发送的数据包会导致瓶颈链路上的交换设备的缓存溢出,从而导致丢包和连续的RDMA重传,严重影响网络吞吐量。
发明内容
本发明实施例提供一种基于RDMA的数据传输方法及装置,用以解决现有技术中由于链路缓存溢出导致丢包和连续重传的问题。
本发明实施例提供一种基于远程内存访问RDMA的数据传输方法,所述方法应用在发送设备侧,包括:
根据网络带宽和报文时延确定发送窗口大小;
当网络中正在传输的数据包小于所述发送窗口时,按照数据包标识依次发送数据包;
当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;
接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包。
进一步地,所述方法,还包括:
当网络中正在传输的数据包大于等于所述发送窗口时,停止发送数据包。
其中,所述根据网络带宽和报文时延确定发送窗口大小,具体包括:
根据公式BDP=link bandwidth*RTT确定发送窗口的大小;其中,BDP为发送窗口,link bandwidth为网络带宽,RTT为报文时延。
进一步地,所述方法,还包括:
接收到所述接收设备侧回复的接收确认报文后,向右移动所述发送窗口,移动幅度为所述接收确认报文中数据包标识对应的数据包的大小。
进一步地,所述方法,还包括:
根据当前发送的数据包标识和最后一次接收的所述接收确认报文中数据包标识,确定网络中正在传输的数据包大小。
进一步地,所述方法,还包括:
当网络中正在传输的数据包小于预设的水线阈值时,进入增速发送数据阶段。
本发明实施例还提供一种基于RDMA的数据传输装置,所述装置应用在发送设备侧,包括:发送窗口确定单元、数据包管理单元;其中,
所述发送窗口确定单元,用于根据网络带宽和报文时延确定发送窗口大小;
所述数据包管理单元,用于当网络中正在传输的数据包小于所述发送窗口时,发送数据包;当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;还用于接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包。
进一步地,所述数据包管理单元,还用于当网络中正在传输的数据包大于等于所述发送窗口时,停止发送数据包。
其中,所述发送窗口确定单元,具体用于根据公式BDP=link bandwidth*RTT确定发送窗口的大小;其中,BDP为发送窗口,link bandwidth为网络带宽,RTT为报文时延。
进一步地,所述装置,还包括:发送窗口移动单元,用于在接收到所述接收设备侧回复的接收确认报文后,向右移动所述发送窗口,移动幅度为所述接收确认报文中数据包标识对应的数据包的大小。
进一步地,所述装置,还包括:数据包确定单元,用于根据当前发送的数据包标识和最后一次接收的所述接收确认报文中数据包标,确定网络中正在传输的数据包大小。
进一步地,所述数据包管理单元,还用于当网络中正在传输的数据包小于预设的水线阈值时,进入增速发送数据阶段。
本发明有益效果如下:
本发明实施例提供的基于RDMA的数据传输方法及装置,通过根据网络带宽和报文时延进行发送窗口的确定,当网络中正在传输的数据包小于所述发送窗口时,发送数据包;当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包;只有网络中正在传输的数据包小于发送窗口才会继续进行数据包发送,能够减少网络中不必要的队列缓存,且当正在传输的数据包大于预设的水线阈值时,进入减速发送数据阶段,进一步减少数据传输量,进而避免造成缓存溢出,改善网络性能,并且在接收到失败报文时,进行数据包重传,重传完成若在网络中数据包仍小于发送窗口时,持续进行数据包发送,如此既能避免实现重复传送已经接收的数据包,还能够通过发送窗口的限制进行数据包发送,避免无限制发送数据包以至于占用接收端过多缓存,很好地解决了链路缓存溢出导致丢包和连续重传的问题,提高了网络吞吐量,且操作简单,实现成本较低。
附图说明
图1为本发明实施例中基于RDMA的数据传输方法的流程图;
图2为本发明实施例中基于RDMA的数据传输方法的数据帧传输示意图;
图3为本发明实施例中基于RDMA的数据传输装置的结构示意图。
具体实施方式
针对现有技术中存在的由于链路缓存溢出导致丢包和连续重传的问题,本发明实施例提供的基于RDMA的数据传输方法,通过根据网络带宽和报文时延确定发送窗口的大小并依据网络环境进行发送数据速率的灵活调整,能够减少网络中不必要的队列缓存,避免造成缓存溢出。本发明方法的流程如图1所示,可以应用在发送设备侧,执行步骤如下:
步骤101,根据网络带宽和报文时延确定发送窗口大小;
这里,可以根据需要按照预设周期根据网络带宽和报文时延进行发送窗口大小的确定;所述发送窗口是指发送方已发送但尚未被确认的帧(frame)的序号队列的界限,其上下界分别为窗口的上下沿,上下沿的距离为窗口尺寸(WindowSize)。
这里,所述报文时延是指发送报文与接收到接收方的响应之间的延时。
步骤102,当网络中正在传输的数据包小于所述发送窗口时,按照数据包标识依次发送数据包;
本发明实施例中,发送的数据包具有唯一的数据包标识,例如可以为数据包序号,根据当前发送的数据包标识和最后一次接收到的接收方回复的接收确认报文标识,来确定网络中正在传输的数据包数量及大小。
步骤103,当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;
这里,可以通过设置水线阈值对网络中正在发送的数据量进行一个阈值控制,该水线阈值表示网络带宽容量接近满负荷运行的一个极限值;
当网络中正在传输的数据包大于所述水线阈值,且小于所述发送窗口时,控制当前发送数据包的速率进行减少,即进入减速发送数据阶段;可选地,可将发送速率减少到当前发送速率的一半,也可按照预设衰减因子对当前发送速率进行衰减以减少发送速率,本发明实施例对衰减方式不进行限制。
步骤104,接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包。
接收设备侧每接收一个数据包,都要进行反馈,发送方按照数据包标识顺序依次发送数据包,接收方按照数据包标识顺序依次接收数据包;每个数据包设置有计时器,若在该计时器计时时长内接收成功,则会回复接收确认报文,若该计时器超时仍未接收到对应数据包,则确认该数据包接收失败,回复接收失败报文给发送方,所述接收失败报文中携带有对应数据包的数据包标识。
接收设备侧接收到所述接收失败报文,若当前正在传输的数据包小于发送窗口,则重新发送所述接收失败报文对应的数据包,如此,可避免重复传送已经接收成功的数据包,提高传输效率。
进一步地,所述方法还包括:
当网络中正在传输的数据包大于等于所述发送窗口时,停止发送数据包。
相应地,所述方法还包括:
当网络中正在传输的数据包小于预设的水线阈值时,进入增速发送数据阶段。
这里,当正在传输的数据包小于水线阈值时,说明当前网络带宽还未得到充分利用,可提高发送数据的速率,以此提高数据发送速度。可选地,可以按照预设的提高方式如线性提高等对当前发送速率进行加大,直至达到发送最高速率或者触发水线阈值;这里,提高方式不限于线性、指数等方式。
优选地,所述根据网络带宽和报文时延确定发送窗口大小,具体包括:
根据公式BDP=link bandwidth*RTT确定发送窗口的大小;其中,BDP为发送窗口,link bandwidth为网络带宽,RTT为报文时延。
相应地,所述重新调整发送窗口大小,具体也可以获取当前的报文时延RTT,并根据公式BDP=link bandwidth*RTT重新确定发送窗口的大小。
优选地,所述方法,还包括:接收到所述接收设备侧回复的接收确认报文后,向右移动所述发送窗口,移动幅度为所述接收确认报文中数据包标识对应的数据包的大小。
下面以一个具体的实施例对上述方法进行详细说明。
具体参考图2,为方便表述,本发明实施例中根据网络带宽和报文延时,设置发送方的发送窗口为6个数据帧,水线阈值为5个数据帧,发送方每个数据帧定时器为发送3个数据帧的时长,该定时器在发送该数据帧开始计时,若计时到时仍未收到接收方回复的该数据帧对应的接收确认报文,则认为该数据帧发送失败;图2仅示出了发送方的8个数据帧,该8个数据帧的数据包标识依次为0、1、2、3、4、5、6、7。
步骤1,发送方依次发送数据帧0、1、2给接收方;
步骤2,发送方判断此时网络中正在传输的数据包为3,小于水线阈值且小于所述发送窗口,则线性提高发送速率并发送数据帧3给接收方,并确定接收到接收方反馈的数据帧0的接收确认报文;
步骤3,发送方判断此时网络中正在传输的数据包仍为3,小于水线阈值且小于所述发送窗口,则继续线性提高发送速率并发送数据帧4给接收方,并确定接收到接收方反馈的数据帧1的接收确认报文;
步骤4,发送方判断此时网络中正在传输的数据包为3,小于水线阈值且小于所述发送窗口,则继续线性提高发送速率并发送数据帧5给接收方,并确定收到接收方反馈的数据帧2的接收失败报文;
步骤5,发送方数据帧定时器时器超时,判断此时网络中正在传输的数据包为4,小于水线阈值,且小于所述发送窗口,继续线性提高发送速率并重新发送数据帧2;并确定收到接收方反馈的数据帧3的接收确认报文;
这里,前述步骤发送的数据帧3、4、5可暂时缓存在接收方处。
步骤6,发送方判断此时网络中正在传输的数据包为4,小于水线阈值且小于所述发送窗口,则继续线性提高发送速率并发送数据帧6给接收方,并确定收到接收方反馈的数据帧4的接收确认报文;
如上依次发送数据包,接收方如果落在窗口的帧从未接收过,则存储起来,等比它序列号小的所有帧都收到后才提交给网络层。接收方收到的数据帧的顺序可能和发送方发送的数据帧顺序不一样。因此在数据帧里必须含有顺序字符如序号,来帮助接收方进行数据帧排序。
这里,接收方回复的接收确认报文可以为ACK报文,接收失败报文可以为NACK报文;上述数据传输过程可以避免重复传输已经正确到达接收端的数据帧,提高了网络吞吐量。避免发生网络拥塞。
本发明实施例提供的基于RDMA的数据传输方法,通过根据网络带宽和报文时延进行发送窗口的确定,当网络中正在传输的数据包小于所述发送窗口时,发送数据包;当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包;只有网络中正在传输的数据包小于发送窗口才会继续进行数据包发送,能够减少网络中不必要的队列缓存,且当正在传输的数据包大于预设的水线阈值时,进入减速发送数据阶段,进一步减少数据传输量,进而避免造成缓存溢出,改善网络性能,并且在接收到失败报文时,进行数据包重传,重传完成若在网络中数据包仍小于发送窗口时,持续进行数据包发送,如此既能避免实现重复传送已经接收的数据包,还能够通过发送窗口的限制进行数据包发送,避免无限制发送数据包以至于占用接收端过多缓存,很好地解决了链路缓存溢出导致丢包和连续重传的问题,提高了网络吞吐量,且操作简单,实现成本较低。
基于同一发明构思,本发明实施例提供一种基于RDMA的数据传输装置,该装置可以应用在发送侧设备中,结构如图3所示,包括:发送窗口确定单元31、数据包管理单元32;其中,
所述发送窗口确定单元31,用于根据网络带宽和报文时延确定发送窗口大小;
所述数据包管理单元32,用于当网络中正在传输的数据包小于所述发送窗口时,发送数据包;当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;还用于接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包。
进一步地,所述数据包管理单元32,还用于当网络中正在传输的数据包大于等于所述发送窗口时,停止发送数据包。
其中,所述发送窗口确定单元31,具体用于根据公式BDP=link bandwidth*RTT确定发送窗口的大小;其中,BDP为发送窗口,link bandwidth为网络带宽,RTT为报文时延。
进一步地,所述装置,还包括:发送窗口移动单元33,用于在接收到所述接收设备侧回复的接收确认报文后,向右移动所述发送窗口,移动幅度为所述接收确认报文中数据包标识对应的数据包的大小。
进一步地,所述装置,还包括:数据包确定单元34,用于根据当前发送的数据包标识和最后一次接收的所述接收确认报文中数据包标,确定网络中正在传输的数据包大小。
进一步地,所述数据包管理单元32,还用于当网络中正在传输的数据包小于预设的水线阈值时,进入增速发送数据阶段。
应当理解,本发明实施例提供的基于RDMA的数据传输装置实现原理及过程与上述图1、2及所示的实施例类似,在此不再赘述。
本发明实施例提供的基于RDMA的数据传输方法及装置,通过根据网络带宽和报文时延进行发送窗口的确定,当网络中正在传输的数据包小于所述发送窗口时,发送数据包;当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包;只有网络中正在传输的数据包小于发送窗口才会继续进行数据包发送,能够减少网络中不必要的队列缓存,且当正在传输的数据包大于预设的水线阈值时,进入减速发送数据阶段,进一步减少数据传输量,进而避免造成缓存溢出,改善网络性能,并且在接收到失败报文时,进行数据包重传,重传完成若在网络中数据包仍小于发送窗口时,持续进行数据包发送,如此既能避免实现重复传送已经接收的数据包,还能够通过发送窗口的限制进行数据包发送,避免无限制发送数据包以至于占用接收端过多缓存,很好地解决了链路缓存溢出导致丢包和连续重传的问题,提高了网络吞吐量,且操作简单,实现成本较低。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202、203等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种基于远程内存访问RDMA的数据传输方法,其特征在于,所述方法应用在发送设备侧,包括:
根据网络带宽和报文时延确定发送窗口大小;
当网络中正在传输的数据包小于所述发送窗口时,按照数据包标识依次发送数据包;
当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;
接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包;
其中,通过设置水线阈值对网络中正在发送的数据量进行一个阈值控制,该水线阈值表示网络带宽容量接近满负荷运行的一个极限值。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
当网络中正在传输的数据包大于等于所述发送窗口时,停止发送数据包。
3.根据权利要求1所述的方法,其特征在于,所述根据网络带宽和报文时延确定发送窗口大小,具体包括:
根据公式BDP=link bandwidth*RTT确定发送窗口的大小;其中,BDP为发送窗口,linkbandwidth为网络带宽,RTT为报文时延。
4.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
接收到所述接收设备侧回复的接收确认报文后,向右移动所述发送窗口,移动幅度为所述接收确认报文中数据包标识对应的数据包的大小。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
根据当前发送的数据包标识和最后一次接收的所述接收确认报文中数据包标识,确定网络中正在传输的数据包大小。
6.根据权利要求1至4任一所述的方法,其特征在于,所述方法,还包括:
当网络中正在传输的数据包小于预设的水线阈值时,进入增速发送数据阶段。
7.一种基于RDMA的数据传输装置,其特征在于,所述装置应用在发送设备侧,包括:发送窗口确定单元、数据包管理单元;其中,
所述发送窗口确定单元,用于根据网络带宽和报文时延确定发送窗口大小;
所述数据包管理单元,用于当网络中正在传输的数据包小于所述发送窗口时,发送数据包;当网络中正在传输的数据包大于预设的水线阈值且小于所述发送窗口时,进入减速发送数据阶段;还用于接收到接收设备侧回复的接收失败报文时,根据所述接收失败报文中的数据包标识,重新发送所述数据包标识对应的数据包;
其中,通过设置水线阈值对网络中正在发送的数据量进行一个阈值控制,该水线阈值表示网络带宽容量接近满负荷运行的一个极限值。
8.根据权利要求7所述的装置,其特征在于,所述数据包管理单元,还用于当网络中正在传输的数据包大于等于所述发送窗口时,停止发送数据包。
9.根据权利要求7所述的装置,其特征在于,所述发送窗口确定单元,具体用于根据公式BDP=link bandwidth*RTT确定发送窗口的大小;其中,BDP为发送窗口,link bandwidth为网络带宽,RTT为报文时延。
10.根据权利要求7所述的装置,其特征在于,所述装置,还包括:发送窗口移动单元,用于在接收到所述接收设备侧回复的接收确认报文后,向右移动所述发送窗口,移动幅度为所述接收确认报文中数据包标识对应的数据包的大小。
11.根据权利要求10所述的装置,其特征在于,所述装置,还包括:数据包确定单元,用于根据当前发送的数据包标识和最后一次接收的所述接收确认报文中数据包标,确定网络中正在传输的数据包大小。
12.根据权利要求7至10任一所述的装置,其特征在于,所述数据包管理单元,还用于当网络中正在传输的数据包小于预设的水线阈值时,进入增速发送数据阶段。
CN201910627286.9A 2019-07-12 2019-07-12 基于rdma的数据传输方法及装置 Active CN110460533B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910627286.9A CN110460533B (zh) 2019-07-12 2019-07-12 基于rdma的数据传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910627286.9A CN110460533B (zh) 2019-07-12 2019-07-12 基于rdma的数据传输方法及装置

Publications (2)

Publication Number Publication Date
CN110460533A CN110460533A (zh) 2019-11-15
CN110460533B true CN110460533B (zh) 2023-09-19

Family

ID=68482706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910627286.9A Active CN110460533B (zh) 2019-07-12 2019-07-12 基于rdma的数据传输方法及装置

Country Status (1)

Country Link
CN (1) CN110460533B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076280B (zh) * 2019-12-18 2024-03-01 华为技术有限公司 一种数据传输方法及相关设备
CN112653634A (zh) * 2020-12-10 2021-04-13 苏州浪潮智能科技有限公司 一种流量控制方法、装置、设备及可读存储介质
CN113839830B (zh) * 2021-07-15 2023-10-24 腾讯科技(深圳)有限公司 数据包多发参数的预测方法、装置与存储介质
CN115765934A (zh) * 2021-09-03 2023-03-07 中国移动通信集团山东有限公司 一种数据传输方法和装置
CN114666281A (zh) * 2022-03-18 2022-06-24 南京大学 基于智能网卡卸载的数据中心多应用QoS保障系统及方法
CN114866476B (zh) * 2022-04-12 2023-06-30 北京邮电大学深圳研究院 一种无损高效的rdma传送方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741555B1 (en) * 2000-06-14 2004-05-25 Nokia Internet Communictions Inc. Enhancement of explicit congestion notification (ECN) for wireless network applications
CN103647722A (zh) * 2013-11-19 2014-03-19 中国科学院计算技术研究所 一种基于信誉的链路拥塞控制方法
CN106102094A (zh) * 2016-07-06 2016-11-09 广州海格通信集团股份有限公司 一种基于sdn网络的tcp拥塞控制方法
JP2016201705A (ja) * 2015-04-10 2016-12-01 日本放送協会 パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
CN107104902A (zh) * 2017-04-05 2017-08-29 广东浪潮大数据研究有限公司 一种rdma数据传输的方法、相关装置与系统
CN107135163A (zh) * 2017-04-12 2017-09-05 上海大学 一种基于无人机宽带数据链下行链路的传输控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741555B1 (en) * 2000-06-14 2004-05-25 Nokia Internet Communictions Inc. Enhancement of explicit congestion notification (ECN) for wireless network applications
CN103647722A (zh) * 2013-11-19 2014-03-19 中国科学院计算技术研究所 一种基于信誉的链路拥塞控制方法
JP2016201705A (ja) * 2015-04-10 2016-12-01 日本放送協会 パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
CN106102094A (zh) * 2016-07-06 2016-11-09 广州海格通信集团股份有限公司 一种基于sdn网络的tcp拥塞控制方法
CN107104902A (zh) * 2017-04-05 2017-08-29 广东浪潮大数据研究有限公司 一种rdma数据传输的方法、相关装置与系统
CN107135163A (zh) * 2017-04-12 2017-09-05 上海大学 一种基于无人机宽带数据链下行链路的传输控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Accurate Congestion Control for RDMA Transfers;D. Giannopoulos等;《2018 Twelfth IEEE/ACM International Symposium on Networks-on-Chip (NOCS)》;20181029;第1-8页 *
一种面向不可靠网络的快速RDMA通信方法;王绍刚等;《湖南大学学报(自然科学版)》;20170816;第42卷(第08期);第100-107页 *

Also Published As

Publication number Publication date
CN110460533A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN110460533B (zh) 基于rdma的数据传输方法及装置
US11405491B2 (en) System and method for data transfer, including protocols for use in reducing network latency
JP5816718B2 (ja) 通信装置、通信システム、およびデータ通信の中継方法
JP6094357B2 (ja) 通信方法、通信システム、及び通信装置
CA2591601C (en) Data flow control with duplicate acknowledgment
WO2013053304A1 (zh) 一种实现tcp传输的方法及装置
CN104780028A (zh) 一种实现tcp数据报文重传的方法及设备
CN102694731B (zh) 速率调整方法、装置和网络设备
CN103763213A (zh) 报文发送方法及装置
JP2014192811A (ja) 中継装置及び通信方法
CN110266446B (zh) 一种基于sack模式调整乱序时长的方法和装置
US7609639B2 (en) Negative acknowledgment (NAK) suppression
US11316620B2 (en) Enhanced HARQ algorithm for large round trip delay links
US10009409B2 (en) Retransmission control network node and related method
CN110808917A (zh) 多链路聚合数据重传方法及发送设备
CN113541885B (zh) 一种传输性能保护方法及系统
CN108737119B (zh) 一种数据传输方法、装置及系统
CN107959554B (zh) 一种数据的重传方法及装置
JP5761193B2 (ja) 通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラム
CN103346973B (zh) 一种动态调整ospf的lsa洪泛速率的方法和装置
CN102546626B (zh) 一种数据处理方法、装置及系统
WO2017123124A1 (en) Method and network node for handling signals transmitted from wireless devices
JP6268027B2 (ja) 通信システム、送信装置、及び通信方法
JP2012170155A (ja) 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム

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