CN111193577A - 使用传输超时的网络***通信方法及通信装置 - Google Patents
使用传输超时的网络***通信方法及通信装置 Download PDFInfo
- Publication number
- CN111193577A CN111193577A CN201911132556.5A CN201911132556A CN111193577A CN 111193577 A CN111193577 A CN 111193577A CN 201911132556 A CN201911132556 A CN 201911132556A CN 111193577 A CN111193577 A CN 111193577A
- Authority
- CN
- China
- Prior art keywords
- transmission timeout
- current value
- timeout
- transmission
- receiving device
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title claims abstract description 46
- 230000003247 decreasing effect Effects 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims description 2
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 9
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 9
- 230000006855 networking Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
- H04L1/1851—Time-out mechanisms using multiple timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
- H04L1/1883—Time-out mechanisms using multiple timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/323—Discarding or blocking control packets, e.g. ACK packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0835—One way packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种使用传输超时的网络***通信方法及通信装置,其中通信方法包括:提供用于传输超时的初始值,并将用于传输超时的当前值设置为初始值,经由通信介质从发送设备向接收设备发送与给定队列相关联的一个或多个分组,将与给定队列相关联的分组传输超时计时器设置为用于传输超时的当前值;和当与给定队列相关联的分组传输超时计时器期满时,执行以下操作:A.确定接收设备是否已成功接收到一个或多个分组;和执行以下步骤B和步骤C中的一个或两个:B.如果接收设备已成功接收到一个或多个分组,则减小用于传输超时的当前值;和C.如果接收设备没有成功接收到任何分组,则增大用于传输超时的当前值。
Description
相关申请的交叉引用
本申请涉及2018年11月15日提交的美国专利申请No.16/191,536,其在此通过引用整体并入本文。
技术领域
本发明涉及联网***,并且特别但非排他地涉及联网***中的传输超时问题,尤其涉及一种使用传输超时的网络***通信方法及通信装置。
背景技术
使用超时来通知发送者可能未接收到传输,以使发送者可以重新发射(显然)未接收到的传输的联网***是本领域已知的。TCP/IP中的TCP协议是使用超时的***的一个示例。在RFC 1122中描述了TCP,而在RFC 6298中描述了一种机制,该机制用于计算被认为适合于在TCP中使用的重传计时器的值。从概念上讲,确定用于重传计时器TCP的值旨在尽可能地最大化带宽并最小化延迟。如在RFC 6298中所述,TCP重传计时器基于往返时间(RTT)。
发明内容
本发明在其某些实施方式中寻求提供一种改进的联网***,并且特别但非排他地涉及一种使用传输超时的改进的网络***。
通常,在一些联网***中,最大化带宽(给定的可用传输介质)和同时最小化延迟可能是期望的结果。
RoCE(融合以太网上的RDMA)是联网***的一个特定的非限制性示例,其中最大化带宽同时最小化延迟可能是期望的结果。在示例性实施方式中,本发明可以例如应用到:RoCE,其通过以太网提供远程直接存储器访问(RDMA);或InfinibandTMRDMA。
一般而言,当分组由RoCE联网***中的发射设备进行发射时,如下面更全面地描述的那样,使用计时器和无序NACK分组来检测可能的丢失分组。给定的分组流中的重传通常使用“返回N”个分组的方法来处理。通过非限制性示例的方式,如果从接收设备接收到NACK分组,NACK分组指示未接收到分组M并且由发射设备发射的最后一个分组是分组M+N,则通常从分组M开始进行重传并且向前移动;这是“返回N个分组”。
除了上述的NACK分组机制之外也可以使用的RoCE中的超时机制包含对给定流使用计时器;如果计时器超时并且尚未从接收设备接收到ACK分组,则发射设备“假定”(在此基础上进行)未在接收设备进行接收。RoCE指定可能的超时值为4μs*2M,其中M为0到31之间的整数变量;M的值通常在软件中定义。实际上,这种超时通常约为1秒,尽管用于超时的实际值可能会有很大的变化,通常是取决于应用的变化。
本专利申请的指定发明人认为,在底层传输技术包括无损以太网(例如,在www.ieee802.org/1/pages/dcbridges.html中进行了描述)或InfinibandTM(根据定义是无损的)的背景下,使用大约1秒的超时可能是适当的,其中分组丢失可能以10-15的速率发生(每1015个分组中丢失1个分组),因为分组丢失非常少见。这种超时对于发现连接完全丢失也很有用。然而,在分组丢失更频繁地发生的背景下,如此长的超时可能是不合适且非最优的,至少是因为在发生超时之前可能会发送许多附加的分组。
如上所解释的,最大化带宽(给定的可用传输介质)并且同时最小化延迟可能是期望的结果。为了实现这样的目标,为超时找到良好的、接近最优的或最优的值可能是适当的。诸如RFC 6298中描述的方法之类的在TCP中使用的已知方法可能不适合在RoCE中使用,因为通常RTT在RoCE中不是已知值。这是因为,通常对于RDMA读取响应来说没有ACK。与TCP相比,IB/RoCE规范也不要求RTT。因此,在RoCE中,RTT通常不被用于优化超时计时器的值。
应当理解,通常有损网络和无损网络之间的另一个区别是拥塞的影响。在有损网络中,通常是由于大量突发流所导致的不受约束的(不受控制的)拥塞可能导致分组丢失,而在无损网络中,不受约束的拥塞导致拥塞向后扩散到流源。尽管有损网络会经历更高的分组丢失率,但无损网络可能会产生巨大的流量阻塞,从而导致需要非常长的超时——几秒钟左右。
因此,根据本发明的示例性实施方式,提供了一种方法,该方法包括:提供具有发送设备、接收设备和通信介质的硬件实现的联网***,提供用于传输超时的初始值,并将用于传输超时的当前值设置为所述初始值,经由所述通信介质从所述发送设备向所述接收设备发送与给定队列相关联的一个或多个分组,将与所述给定队列相关联的分组传输超时计时器设置为所述用于传输超时的当前值;和当与所述给定队列相关联的分组传输超时计时器期满时,执行以下操作:A.确定所述接收设备是否已经成功接收到一个或多个分组;和执行以下步骤B和步骤C中的一个或两个:B.如果所述接收设备已经成功接收到一个或多个分组,则减小所述用于传输超时的当前值;和C.如果所述接收设备没有成功接收到任何分组,则增大所述用于传输超时的当前值。
进一步根据本发明的示例性实施方式,该方法包括执行步骤B和步骤C。
仍然根据本发明的示例性实施方式,步骤A还包括经由所述通信介质将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
另外,根据本发明的示例性实施方式,该方法还包括维持指示所述用于传输超时的当前值的状态的状态指示,所述状态指示包括所述用于传输超时的当前值是已经增大还是减小的指示;并且其中所述增大所述用于传输超时的当前值包括至少部分地基于所述状态指示有条件地增大所述用于传输超时的当前值,并且其中所述减小所述用于传输超时的当前值包括至少部分地基于所述状态指示有条件地减小所述用于传输超时的当前值。
此外,根据本发明的示例性实施方式,该方法还包括:维持分组传输计时器计数器的次数,该次数为分组传输计时器已期满的次数,并且其中步骤A还包括:至少部分地基于所述分组传输计时器计数器的值,经由所述通信介质有条件地将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
进一步根据本发明的示例性实施方式,该方法还包括迭代地执行所述发送、设置以及在期满时的步骤。
仍进一步根据本发明的示例性实施方式,所述增大所述用于传输超时的当前值包括将所述用于传输超时的当前值增大2倍。
另外,根据本发明的示例性实施方式,所述减小所述用于传输超时的当前值包括将所述用于传输超时的当前值减小2倍。
此外,根据本发明的示例性实施方式,该方法还包括提供用于传输超时的最小值和最大值,并且其中所述用于传输超时的当前值具有从所述用于传输超时的最小值到所述用于传输超时的最大值的范围。
根据本发明的另一示例性实施方式,还提供了一种装置,该装置包括具有发送设备、接收设备和通信介质的硬件实现的联网***,其中所述发送设备包括被配置为确定和修改传输超时值的传输超时计算单元,所述传输超时计算单元还被配置为确定用于传输超时的初始值并且将用于传输超时的当前值设置为所述初始值,所述发送设备被配置为经由所述通信介质向所述接收设备发送一个或多个分组,所述一个或多个分组中的每一个与给定队列相关联,以将与所述给定队列相关联的分组传输超时计时器设置为所述用于传输超时的当前值,并且当与所述给定队列相关联的分组传输超时计时器期满时,执行以下操作:A.至少部分地基于所述给定分组标识符的值,确定所述接收设备是否已成功接收一个或多个分组;和执行以下步骤B和步骤C中的一个或两个:B.如果所述接收设备已经成功接收到一个或多个分组,则所述传输超时计算单元减小所述用于传输超时的当前值;和C.如果所述接收设备没有成功接收任何分组,则所述传输超时计算单元增大所述用于传输超时的当前值。
进一步根据本发明的示例性实施方式,所述发送设备被配置为执行步骤B和步骤C两者。
仍进一步根据本发明的示例性实施方式,所述发送设备还被配置为执行以下步骤作为执行A的一部分:经由所述通信介质将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
另外,根据本发明的示例性实施方式,所述传输超时计算单元还被配置为维持指示所述用于传输超时的当前值的状态的状态指示,所述状态指示包括所述用于传输超时的当前值是已经增大还是减小的指示;并且所述发送设备还被配置为基于所述状态指示有条件地增大所述用于传输超时的当前值;并且所述发送设备还被配置为基于所述状态指示有条件地减小所述用于传输超时的当前值。
此外,根据本发明的示例性实施方式,所述发送设备还被配置为:维持分组传输计时器计数器的次数,该次数为分组传输计时器已期满的次数,所述发送设备还被配置为执行以下操作作为执行A的一部分:至少部分地基于所述分组传输计时器计数器的值,经由所述通信介质有条件地将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
此外,根据本发明的示例性实施方式,所述装置被配置为迭代地:发送一个或多个分组;设置所述分组传输超时计时器;并且在所述期满时执行步骤A以及步骤B和步骤C中的一个或两个。
更进一步,根据本发明的示例性实施方式,当所述用于传输超时的当前值增大时,所述用于传输超时的当前值被增大2倍。
另外,根据本发明的示例性实施方式,当所述用于传输超时的当前值减小时,所述用于传输超时的当前值被减小2倍。
此外,根据本发明的示例性实施方式,所述用于传输超时的当前值具有从用于传输超时的最小值到用于传输超时的最大值的范围。
附图说明
结合附图从下面的详细描述中将更全面地理解和领会本发明,其中:
图1是描绘了联网***中的往返时间(RTT)的简化插图图示;
图2是描绘了联网***中的超时的简化插图图示;
图3是描述了联网***中的无序NACK简化插图图示;
图4是根据本发明的示例性实施方式构造和操作的示例性联网***的简化框图图示;
图5是描绘了图4的***的示例性操作方法的简化流程图图示;
图6是描绘了图4的***的另一示例性操作方法的简化流程图图示;和
图7是描绘了图4的***的示例性操作方法的另一简化流程图图示。
具体实施方式
现在参考图1,图1是描绘了联网***中的往返时间(RTT)的简化插图图示。在图1中示出了一般被指示为100的联网***。通过示例的方式,在图1中描绘了从发送设备向接收设备(图1中均未示出)发送请求(“请求1”),以及确认(“ACK 1”)的发回。在发送设备处,发送“请求1”和接收“ACK 1”之间的时间确定了往返时间(“往返时间”)RTT。如上所解释的,尽管在一些***(诸如,例如TCP)中RTT是已知值,但是在其他***(诸如,例如RoCE)中RTT不是已知值,如上所解释的。
现在参考图2,图2是描绘了联网***中的超时的简化插图图示。在图2中示出了一般被指示为200的联网***。通过示例的方式,在图2中描绘了从发送设备向接收设备(在图2中均未示出)发送请求(“请求1”)。发送设备未从接收设备接收确认(“ACK 1”)。例如,未收到确认的原因可能是由于未收到请求(因此请求可能已丢失)、由于接收设备发生了一些故障、由于发送设备与接收设备之间的通信出现了故障等等。为了防止其中通信“掉线”的情况,发送设备设置超时(“Time-Out”),也称为计时器;当计时器期满但未收到适当的ACK时,将重新发送计时器与之关联的请求(“重新发送请求1”)。
尽管在图2中描绘了其中计时器与单个请求相关联的相对简单的情况,但是本领域技术人员将理解,可以与单个计时器相关联地发送超过一个请求;如果针对那些超过一个请求中的任何一个请求接收到ACK,则在计时器期满后通常会重新发送所有这样的请求。在本发明的某些实施方式中,如本文中所述,计时器与队列相关联而不是与单个请求相关联。
现在参考图3,图3是描绘了联网***中的无序NACK的是简化插图图示。在图3中示出了一般被指示为300的联网***。通过示例的方式,在图3中描绘了从发送设备向接收设备(在图3中均未显示)发送第一请求(“请求1”)和第二请求(“请求2”)。通过非限制性示例,图3描绘了其中接收设备未接收到第一请求的情况。在一些时刻,接收设备将未确认第一请求的指示(“无序NACK”)发送回发送设备;在图3的特定示例中,NACK与第一请求相关联。本领域技术人员将理解,因为第二请求被接收设备接收到,但是第一请求未被接收设备接收,所以接收设备可以确定未接收到请求,因为(在领域中通常已知)每个请求都包括请求号或序列号。在这种情况下,通常在接收到NACK之后,可以将第一请求从发送设备重新发送到接收设备,或者可以将从第一请求开始的所有请求从发送设备重新发送到接收设备。
现在参考图4,图4是根据本发明的示例性实施方式构造和操作的示例性联网***的简化框图图示。
图4的***包括发送设备410和接收设备420。发送设备包括传输超时计算单元430。发送设备410和接收设备420经由通信介质440可操作地通信。
发送设备410可以包括被配置为在通信介质440上发送(并且通常还接收)消息(消息通常包括诸如多个分组450之类的分组)的任何适当的设备。
在图4的特定示例中,将分组从发送设备410发送到接收设备420。接收设备420可以包括被配置为通过通信介质440接收(并且通常还发送)消息的任何适当的设备。
通信介质440可以包括任何适当的通信介质,通常是被配置为将分组从一个或多个发送器传送到一个或多个接收器的联网介质。在一个特定的非限制性示例中,通信介质440可以包括InfinibandTM通信介质,其中发送设备410和接收设备420被配置为经由InfinibandTM通信;在更具体的非限制性示例中,通信可以包括RoCE通信,如上所述。在不限制前述内容的一般性的情况下,可能适合于促进在通信介质440上的所描述和图示的通信的可商购的联网设备的某些非限制性示例包括从Mellanox技术有限公司可商购的以下所有产品:ConnectX-4;ConnectX-5;ConnectX-6;和BlueFieldTM。
在图4中所示的特定示例中,多个分组450包括n个分组,在图4中通过示例的方式被示出为包括从1到n(包括1和n)编号的分组。
现在另外参考图5,图5是描绘了图4***的示例性操作方法的简化流程图图示。在图5的特定示例中,***(诸如,通过非限制性示例的方式,图4的***)从一些初始状态开始(步骤510),其中超时计时器具有一些初始值。
基于RoCE的以上讨论,本领域技术人员将理解,在其中网络介质440促进RoCE通信的特定的非限制性示例中,用于超时计时器的初始值具有4μs*2M的形式,其中M是范围从0到31的整数变量。通过一个特定的非限制性示例的方式,M可以具有大约18的初始值,以使用于超时计时器的初始值将大约为1秒;然而,也可以对M使用明显更大或更小的值,并且通常在任何给定的实现中都可以基于实现具体的考虑来选择M。
从图5的步骤510转换时,发生超时。在步骤520中,进行测试(通常由上述传输超时计算单元430进行该测试;步骤530和步骤540通常也由上述传输超时计算单元430来执行)以确定是否在发射多个分组450方面已有进展。换句话说,如果在发送设备410处从接收设备420接收的ACK和NACK消息指示一些分组(在某些实现中是多个连续分组,诸如,通过非限制性示例的方式,是分组2至分组4(包括分组2至分组4)已经在接收设备420处被成功接收,则已有进展;否则没有进展。
通过非限制性示例的方式,在某些实施方式中,当接收到成功的ACK或读取响应时,将与正在被发送的分组队列相关联的位被设置为1;通过非限制性示例的方式,该位可以由硬件来设置。在这种实施方式中,当开始或重新开始传输时(例如在超时之后),该位被重置为0;通过非限制性示例的方式,该位可以由固件来重置。本领域技术人员将理解,在随后的超时中,检查该位将指示自从上次超时以来是否发生了任何成功的传输。
如果在步骤520已有进展,则图5的方法在步骤530处继续。在步骤530,发生了未确认分组的适当重传,并且超时计时器被减小(“递减”)。在如上所述的RoCE的特定情况下,M可以减1;将M减小较大的整数也是可能的。然后,通过返回到步骤510继续图5的方法,其中当前状态被认为是新的初始状态。
如果在步骤520没有进展,则图5的方法在步骤540继续。在步骤540,发生未确认分组的适当重传,并且超时计时器增大(“递增”)。在如上所述的RoCE的特定情况下,M可以加1;M被增大一个较大的整数也是可能的。然后,通过返回到步骤510继续图5的方法,其中当前状态被认为是新的初始状态。
鉴于以上讨论,应当理解,图5的方法可以提供对图4的***的操作的改进,其中可以达成可以是良好、接近最优或最优的超时值;这是因为当在发送分组方面取得进展时,超时被缩短了,而当没有进展时,超时被延长了。本领域技术人员将理解,在没有RTT可用的情况下实现了这种良好、接近最优或最优的值(与TCP不同)。超时值的这种改进/优化通常带来了带宽最大化和延迟最小化,从而提供了图4***的改进操作。
现在另外参考图6,图6描绘了图4***的另一示例性操作方法的简化流程图图示。
与在图5所描绘的上述方法相比,在图6的方法中,图4的***可以处于以下两种状态之一:第一状态(“状态0”),其中超时计时器一直在下降,和第二个状态(“状态1”),其中超时计时器一直在上升。尽管在图6图示和下面描述的方法中,***从状态0开始,但是本领域技术人员将认识到,***可以经适当修改后替代地从状态1开始。通常,图6的步骤在上述传输超时计算单元430中发生。
在步骤610,***处于状态0,计时器下降。当发生超时的时候,图6的方法转移到步骤620,其中进行测试以确定在发射多个分组450方面是否已有进展。步骤620的操作可以与如上所述的步骤520的操作相似。
如果每个步骤620都有进展,则图6的方法在步骤630继续。步骤630的操作可以类似于如上所述的步骤530的操作。然后,图6的方法继续到步骤610。
如果每个步骤620没有进展,则图6的方法在步骤640继续。在步骤640,发生未确认分组的适当重传。超时计时器的值在步骤640中没有改变,并且图6的方法然后在步骤650在状态1“计时器上升”中继续。
当从步骤650发生超时的时候,图6的方法转换到步骤660,在步骤660中进行测试以确定在发射多个分组450方面是否已有进展。步骤660的操作可以类似于如上所述的步骤520和步骤620的操作。
如果每个步骤660都有进展,则图6的方法继续步骤670。步骤670的操作可以类似于上述步骤640的操作。在步骤670之后,图6的方法然后继续步骤601。
如果每个步骤660没有进展,则图6的方法继续步骤680。步骤680的操作可以类似于上述步骤540的操作。在步骤680之后,图6的方法然后继续步骤650。
鉴于以上讨论,应当理解,图6的方法可以提供对图4***的操作的改进,其中可以达成可以是良好、接近最优或最优的超时值;这是因为当在发射分组方面取得进展时,超时被缩短了,而当没有进展时,超时被延长了。本领域技术人员应当理解,在没有RTT可用的情况下实现了这种良好、接近最优或最优的值(与TCP不同)。超时值的这种改进/优化通常带来了带宽最大化和延迟最小化,从而提供了对图4***的改进操作。
与图5的方法相比,图6的方法可以在抖动较小的情况下获得良好的、接近最优的或最优的超时值,因为在一些情况下,图5的方法可能会引入抖动,(通过非限制性示例的方式)使超时变短、变长、然后再次变短。
现在参考图7,图7是描绘了图4***的示例性操作方法的另一简化流程图图示。
鉴于以上讨论,图7的方法将在很大程度上是不言自明的,其可以包括通常由发送设备410执行的以下步骤(除了下面更特别地具体说明的以外):
在步骤710中,提供了一种具有发送设备、接收设备和通信介质的硬件实现的联网***。
在步骤720中,提供了用于传输超时的初始值,并且将用于传输超时的当前值设置为该初始值。
在步骤730中,与给定队列相关联的一个或多个分组经由通信介质从发送设备被发送到接收设备。
在步骤740中,设置与在其中发送分组的给定队列相关联的分组传输计时器;传输计时器具有用于传输超时的当前值的值。当与给定队列相关联的传输计时器期满时:
A.确定接收设备是否已经成功接收到一个或多个分组;上面描述了做出这种确定的方法。然后,执行B和C中的一个或两个(通常由上述的传输超时计算单元430来执行):
B.如果接收设备成功接收到一个或多个分组,则减小发送超时的当前值。
C.如果接收设备未成功接收任何分组,则增大传输超时的当前值。
可以理解,一般来说,在步骤740期间或在步骤740之后,通常重新发射没有成功接收的分组。
还应当理解,在图5-图7的方法中,在对用于超时传输的值已经进行了一定数量的改变之后,可能是网络连接永久不可用,或者长时间不可用。在这种情况下,可以通知***管理员或用户。例如,对于与***相关的某个值N,如果total_time_without_forward_progress>N*M,则可能会发生这种通知。
可以理解,如果需要,本发明的软件组件可以以ROM(只读存储器)的形式实现。如果需要,通常可以使用常规技术在硬件中实现软件组件。还应当理解,软件组件可以例如作为计算机程序产品或在有形介质上被实例化。在一些情况下,可以将软件组件实例化为可由适当的计算机解释的信号,尽管在本发明的某些实施方式中可以排除这种实例化。
应当理解,为清楚起见,在分开的实施方式的背景中描述的本发明的各种特征也可以在单个实施方式中被组合提供。相反,为简洁起见,在单个实施方式的背景中描述的本发明的各种特征也可以单独地或以任何合适的子组合来提供。
本领域技术人员将认识到,本发明不限于上文已经特定示出和描述的内容。相反,本发明的范围由所附权利要求书及其等同物限定。
Claims (15)
1.一种使用传输超时的网络***通信方法,所述方法包括:
提供具有发送设备、接收设备和通信介质的硬件实现的联网***;
提供用于传输超时的初始值,并将用于传输超时的当前值设置为所述初始值;
经由所述通信介质从所述发送设备向所述接收设备发送与给定队列相关联的一个或多个分组;
将与所述给定队列相关联的分组传输超时计时器设置为所述用于传输超时的当前值;和
当与所述给定队列相关联的分组传输超时计时器期满时,执行以下操作:
A.确定所述接收设备是否已经成功接收到一个或多个分组;和
执行以下步骤B和步骤C中的一个或两个:
B.如果所述接收设备已经成功接收到一个或多个分组,则减小所述用于传输超时的当前值;和
C.如果所述接收设备没有成功接收到任何分组,则增大所述用于传输超时的当前值。
2.根据权利要求1所述的方法,其中步骤A还包括:
经由所述通信介质将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
3.根据权利要求1所述的方法,还包括:
维持指示所述用于传输超时的当前值的状态的状态指示,所述状态指示包括所述用于传输超时的当前值是已经增大还是减小的指示;
并且其中所述增大所述用于传输超时的当前值包括至少部分地基于所述状态指示有条件地增大所述用于传输超时的当前值,
并且其中所述减小所述用于传输超时的当前值包括至少部分地基于所述状态指示有条件地减小所述用于传输超时的当前值。
4.根据权利要求1所述的方法,还包括:
维持分组传输计时器计数器的次数,所述次数为分组传输计时器已期满的次数,
并且其中步骤A还包括:
至少部分地基于所述分组传输计时器计数器的值,经由所述通信介质有条件地将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
5.根据权利要求1所述的方法,其中至少以下之一:
所述增大所述用于传输超时的当前值包括将所述用于传输超时的当前值增大2倍;和
所述减小所述用于传输超时的当前值包括将所述用于传输超时的当前值减小2倍。
6.根据权利要求1所述的方法,还包括:
提供用于传输超时的最小值和最大值,并且其中所述用于传输超时的当前值具有从所述用于传输超时的最小值到所述用于传输超时的最大值的范围。
7.一种使用传输超时的网络***通信装置,所述装置包括:
具有发送设备、接收设备和通信介质的硬件实现的联网***,其中所述发送设备包括被配置为确定和修改传输超时值的传输超时计算单元,所述传输超时计算单元还被配置为确定用于传输超时的初始值并且将用于传输超时的当前值设置为所述初始值,
所述发送设备被配置为经由所述通信介质向所述接收设备发送一个或多个分组,所述一个或多个分组中的每一个与给定队列相关联,以将与所述给定队列相关联的分组传输超时计时器设置为所述用于传输超时的当前值,并且当与所述给定队列相关联的分组传输超时计时器期满时,执行以下操作:
A.至少部分地基于所述给定分组标识符的值,确定所述接收设备是否已成功接收一个或多个分组;和
执行以下步骤B和步骤C中的一个或两个:
B.如果所述接收设备已经成功接收到一个或多个分组,则所述传输超时计算单元减小所述用于传输超时的当前值;和
C.如果所述接收设备没有成功接收任何分组,则所述传输超时计算单元增大所述用于传输超时的当前值。
8.根据权利要求7所述的装置,其中所述发送设备被配置为执行步骤B和步骤C两者。
9.根据权利要求7所述的装置,其中所述发送设备还被配置为执行以下步骤作为执行A的一部分:
经由所述通信介质将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
10.根据权利要求7所述的装置,其中所述传输超时计算单元还被配置为维持指示所述用于传输超时的当前值的状态的状态指示,所述状态指示包括所述用于传输超时的当前值是已经增大还是减小的指示;
并且所述发送设备还被配置为基于所述状态指示有条件地增大所述用于传输超时的当前值;
并且所述发送设备还被配置为基于所述状态指示有条件地减小所述用于传输超时的当前值。
11.根据权利要求7所述的装置,其中所述发送设备还被配置为:维持分组传输计时器计数器的次数,所述次数为分组传输计时器已期满的次数,
并且所述发送设备还被配置为执行以下操作作为执行A的一部分:
至少部分地基于所述分组传输计时器计数器的值,经由所述通信介质有条件地将至少一个先前发送的分组从所述发送设备重新发送到所述接收设备。
12.根据权利要求7所述的装置,其中所述设备被配置为迭代地:发送一个或多个分组;设置所述分组传输超时计时器;并且在所述期满时执行步骤A以及步骤B和步骤C中的一个或两个。
13.根据权利要求7所述的装置,其中当所述用于传输超时的当前值增大时,所述用于传输超时的当前值被增大2倍。
14.根据权利要求7所述的装置,其中当所述用于传输超时的当前值减小时,所述用于传输超时的当前值被减小2倍。
15.根据权利要求7所述的装置,其中所述用于传输超时的当前值具有从用于传输超时的最小值到用于传输超时的最大值的范围。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/191,536 US10841231B2 (en) | 2018-11-15 | 2018-11-15 | Transmission timeout system |
US16/191,536 | 2018-11-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111193577A true CN111193577A (zh) | 2020-05-22 |
CN111193577B CN111193577B (zh) | 2024-06-25 |
Family
ID=68581326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911132556.5A Active CN111193577B (zh) | 2018-11-15 | 2019-11-14 | 使用传输超时的网络***通信方法及通信装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10841231B2 (zh) |
EP (1) | EP3654563A1 (zh) |
CN (1) | CN111193577B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10785306B1 (en) | 2019-07-11 | 2020-09-22 | Alibaba Group Holding Limited | Data transmission and network interface controller |
CN113438130B (zh) * | 2021-06-23 | 2022-11-11 | 中国工商银行股份有限公司 | 基于微服务的超时监测方法及装置 |
US11765237B1 (en) | 2022-04-20 | 2023-09-19 | Mellanox Technologies, Ltd. | Session-based remote direct memory access |
CN115834002B (zh) * | 2022-11-16 | 2023-10-31 | 江苏为是科技有限公司 | 高速传输***及方法 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08288956A (ja) * | 1995-04-17 | 1996-11-01 | Nec Corp | 監視装置及び端末装置 |
US20020150048A1 (en) * | 2001-04-12 | 2002-10-17 | Sungwon Ha | Data transport acceleration and management within a network communication system |
KR20040100331A (ko) * | 2003-05-22 | 2004-12-02 | 엘지전자 주식회사 | 지연 ack 전송방법 |
CN1561615A (zh) * | 2001-09-28 | 2005-01-05 | 埃沃柳姆公司 | 采用重传定时器改善传输协议性能的方法 |
US20050165948A1 (en) * | 2004-01-08 | 2005-07-28 | Hicham Hatime | Systems and methods for improving network performance |
EP1639760A1 (en) * | 2003-07-01 | 2006-03-29 | Telefonaktiebolaget LM Ericsson (publ) | Method for setting the retransmission timeout period in a packet switched communication network |
US20080095193A1 (en) * | 2006-10-19 | 2008-04-24 | Christopher William Gaedke | Method and Apparatus for Dynamically Adjusting the Number of Packets in a Packet Train to Avoid Timeouts |
CN101677264A (zh) * | 2008-09-17 | 2010-03-24 | 艾威梯科技(北京)有限公司 | Ack发送方法 |
CN101860423A (zh) * | 2010-06-07 | 2010-10-13 | 华为技术有限公司 | 一种协议分组传输的重传方法和装置 |
KR101051712B1 (ko) * | 2011-02-11 | 2011-07-26 | 삼성탈레스 주식회사 | 데이터 전송 방법 |
US20110228714A1 (en) * | 2010-03-02 | 2011-09-22 | Balash Akbari | Method and system for retransmission in asm |
US20130019025A1 (en) * | 2011-07-15 | 2013-01-17 | Damaka, Inc. | System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability |
WO2014066359A1 (en) * | 2012-10-22 | 2014-05-01 | Texas State University-San Marcos | Optimization of retransmission timeout boundary |
CN104170517A (zh) * | 2012-03-19 | 2014-11-26 | 苹果公司 | 用于抑制通信网络中tcp协议引起的退避的装置和方法 |
JP2015198423A (ja) * | 2014-04-03 | 2015-11-09 | 三菱電機株式会社 | 通信端末及びパケット通信方法 |
KR20150134000A (ko) * | 2014-05-21 | 2015-12-01 | 삼성에스디에스 주식회사 | 피어-투-피어 기반 데이터 전송 장치 및 방법 |
JP2016225879A (ja) * | 2015-06-01 | 2016-12-28 | 沖電気工業株式会社 | 通信装置、通信方法、通信プログラム及び通信システム |
WO2017148084A1 (zh) * | 2016-03-04 | 2017-09-08 | 中兴通讯股份有限公司 | 一种数据传输速率的控制方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347377B2 (en) * | 1998-11-04 | 2002-02-12 | Phoenix Technologies Ltd. | Method and apparatus for providing intelligent power management |
JP4594110B2 (ja) * | 2004-01-23 | 2010-12-08 | 株式会社エヌ・ティ・ティ・ドコモ | 送信装置およびプログラム |
US8458280B2 (en) | 2005-04-08 | 2013-06-04 | Intel-Ne, Inc. | Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations |
US9176911B2 (en) | 2012-12-11 | 2015-11-03 | Intel Corporation | Explicit flow control for implicit memory registration |
WO2017106450A1 (en) * | 2015-12-15 | 2017-06-22 | Convida Wireless, Llc | Methods and nodes for enabling context-awareness in coap |
-
2018
- 2018-11-15 US US16/191,536 patent/US10841231B2/en active Active
-
2019
- 2019-11-12 EP EP19208717.9A patent/EP3654563A1/en active Pending
- 2019-11-14 CN CN201911132556.5A patent/CN111193577B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08288956A (ja) * | 1995-04-17 | 1996-11-01 | Nec Corp | 監視装置及び端末装置 |
US20020150048A1 (en) * | 2001-04-12 | 2002-10-17 | Sungwon Ha | Data transport acceleration and management within a network communication system |
CN1561615A (zh) * | 2001-09-28 | 2005-01-05 | 埃沃柳姆公司 | 采用重传定时器改善传输协议性能的方法 |
KR20040100331A (ko) * | 2003-05-22 | 2004-12-02 | 엘지전자 주식회사 | 지연 ack 전송방법 |
EP1639760A1 (en) * | 2003-07-01 | 2006-03-29 | Telefonaktiebolaget LM Ericsson (publ) | Method for setting the retransmission timeout period in a packet switched communication network |
CN1788464A (zh) * | 2003-07-01 | 2006-06-14 | 艾利森电话股份有限公司 | 用于设置分组交换通信网络中重传超时周期的方法 |
US20050165948A1 (en) * | 2004-01-08 | 2005-07-28 | Hicham Hatime | Systems and methods for improving network performance |
US20080095193A1 (en) * | 2006-10-19 | 2008-04-24 | Christopher William Gaedke | Method and Apparatus for Dynamically Adjusting the Number of Packets in a Packet Train to Avoid Timeouts |
CN101677264A (zh) * | 2008-09-17 | 2010-03-24 | 艾威梯科技(北京)有限公司 | Ack发送方法 |
US20110228714A1 (en) * | 2010-03-02 | 2011-09-22 | Balash Akbari | Method and system for retransmission in asm |
CN101860423A (zh) * | 2010-06-07 | 2010-10-13 | 华为技术有限公司 | 一种协议分组传输的重传方法和装置 |
KR101051712B1 (ko) * | 2011-02-11 | 2011-07-26 | 삼성탈레스 주식회사 | 데이터 전송 방법 |
US20130019025A1 (en) * | 2011-07-15 | 2013-01-17 | Damaka, Inc. | System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability |
CN104170517A (zh) * | 2012-03-19 | 2014-11-26 | 苹果公司 | 用于抑制通信网络中tcp协议引起的退避的装置和方法 |
WO2014066359A1 (en) * | 2012-10-22 | 2014-05-01 | Texas State University-San Marcos | Optimization of retransmission timeout boundary |
JP2015198423A (ja) * | 2014-04-03 | 2015-11-09 | 三菱電機株式会社 | 通信端末及びパケット通信方法 |
KR20150134000A (ko) * | 2014-05-21 | 2015-12-01 | 삼성에스디에스 주식회사 | 피어-투-피어 기반 데이터 전송 장치 및 방법 |
JP2016225879A (ja) * | 2015-06-01 | 2016-12-28 | 沖電気工業株式会社 | 通信装置、通信方法、通信プログラム及び通信システム |
WO2017148084A1 (zh) * | 2016-03-04 | 2017-09-08 | 中兴通讯股份有限公司 | 一种数据传输速率的控制方法及装置 |
Non-Patent Citations (3)
Title |
---|
EDUARDO GONZALEZ; STAN MCCLELLAN; WUXU PENG: "RTOmin as a balancing parameter between fast retransmissions and timeouts within stream control transmission protocol (SCTP)", THE 2014 2ND INTERNATIONAL CONFERENCE ON SYSTEMS AND INFORMATICS (ICSAI 2014), 15 January 2015 (2015-01-15) * |
游海峰;何泾沙;张伟;: "基于TCP重传计时器的算法分析", 电脑知识与技术(学术交流), no. 01, 28 January 2007 (2007-01-28) * |
霍道安: "集群存储网络吞吐量塌陷行为研究", 中国优秀硕士论文电子期刊网, 15 July 2013 (2013-07-15) * |
Also Published As
Publication number | Publication date |
---|---|
US10841231B2 (en) | 2020-11-17 |
CN111193577B (zh) | 2024-06-25 |
EP3654563A1 (en) | 2020-05-20 |
US20200162394A1 (en) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111193577B (zh) | 使用传输超时的网络***通信方法及通信装置 | |
CN112165355B (zh) | 一种面向卫星网络的基于udp的可靠数据传输方法 | |
US7607062B2 (en) | System for fast recovery from losses for reliable data communication protocols | |
US7672241B2 (en) | Link-aware transmission control protocol | |
US9185045B1 (en) | Transport protocol for interactive real-time media | |
US7870259B2 (en) | Method and transmitter for an efficient packet data transfer in a transmission protocol with repeat requests | |
US6473399B1 (en) | Method and apparatus for determining an optimum timeout under varying data rates in an RLC wireless system which uses a PDU counter | |
EP1771742B1 (en) | High performance tcp for systems with infrequent ack | |
JP4354406B2 (ja) | データユニット送信機及びこの送信機の制御方法 | |
US20160323062A1 (en) | Packet recovery in interactive real-time media protocol | |
EP1787419A1 (en) | Signalling a state of a transmission link via a transport control protocol | |
AU751285B2 (en) | Method and system for data communication | |
EP1798913A2 (en) | Transport control method in wireless communication system | |
WO2014194797A2 (en) | Transmission control protocol(tcp)connection control parameter in-band signaling | |
CN109560897B (zh) | 一种tcp重传方法和装置 | |
CN112383622A (zh) | 用于数据中心联网的可靠传输协议和硬件架构 | |
JP4485684B2 (ja) | 通信システムにおけるデータ・パケットの伝達方法および装置 | |
EP3939191B1 (en) | Device and method for delivering acknowledgment in network transport protocols | |
EP3045011A1 (en) | Efficient transfer of tcp traffic over wlan | |
WO2008133577A1 (en) | Method for selectively discarding data units in a radio communication system | |
KR100913897B1 (ko) | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 | |
EP1191764A1 (en) | A method of controlling the time-out in a wireless data TCP transmission | |
EP3389206B1 (en) | Multipath error correction | |
JP2003198612A (ja) | パケット通信ネットワークにおけるファイル転送方法 | |
Kocan et al. | TCP for wireless network |
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 |