TCP重传与TCP快速重传


9

在Wireshark中,我可以看到“ TCP重传”和“ TCP快速重传”的信息。有什么不同?Wireshark如何分辨差异?

Answers:


8

使用TCP发送数据包时,它会附带一个序列号。当接收方接收到数据包时,他们会向发送方发送确认,其中包含显示已接收到数据包的序列号。根据您提出问题的方式,我假设您知道这一点。我想把它放给其他读者。

TCP重传只是在超时时间内未确认的数据包。

TCP快速重传是当源确认没有收到数据包时...从快速重传中引用-维基百科,免费的百科全书

如果TCP发送方收到三个具有相同确认号的重复确认(即,总共四个具有相同确认号的确认),则发送方可以合理地确信已删除具有下一个较高序号的段


您确定ACK的数量吗?我已经看到三个ACK会发生这种情况。
tony_sid 2011年

2
否。我确定的是,当发件人检测到由于多个序列确认而引起的问题时,就会发生快速重传。
Theo

3
同样,它说的很快,但与常规重传的速度相同。之所以称为快速,是因为您会收到有关该问题的通知,而不是等待超时。因此,整个过程“更快”。
Theo

6

我已经从Microsoft消化了这一点:

当每个出站段被传递到Internet协议(IP)层时,TCP启动一个重传计时器。如果TCP在计时器到期之前未收到给定段中数据的确认,则将重新传输该段。

使用在ACM SIGCOMM会议论文集中的Van Jacobson和Mike Karels的论文“拥塞避免与控制”中所述的平滑往返时间(SRTT)计算,可以动态调整重传超时以匹配连接的特性。 1988年11月关于数据通信的信息。可以在计算机协会的ACM数字图书馆中找到该论文。有关SRTT计算的更多信息,请参见RFC 793:传输控制协议DARPA Internet程序协议规范。给定段的重传超时在该段的每次重传之后加倍。

使用此算法,TCP可以将自身调整为通常的连接延迟。高延迟链路上的TCP连接超时要比低延迟链路上的TCP连接超时要长得多,以便避免在连接很慢而不是不存在时错误地超时。

在某些情况下,TCP在特定段的重传计时器到期之前重传数据。最常见的这种情况是由于称为快速重传的功能而发生的。

当支持快速重传的接收器接收到一个序列号高于当前预期序列号的数据包时,它会像丢弃某些数据一样继续进行。为了帮助发送者尽快发现明显丢失的数据,接收者立即发送一个确认(ACK),并将ACK号设置为似乎丢失的序列号。接收器针对传入流中到达的每个其他TCP段,为该序列号发送另一个ACK,该ACK的序列号高于丢失的序列号。

当发送方收到确认相同序列号的重复ACK流并且指示的序列号早于要发送的当前段的序列号时,发送方可以推断出先前发送的一个或多个段已被丢弃。在接收到一定数量的重复ACK之后,支持快速重传算法的发送方会重新发送接收方正在请求填补数据间隙的一个或多个段,而无需等待丢失的段的重传计时器到期。这种优化极大地提高了繁忙网络环境中的性能。

通过快速重传,发送方可以在丢失的TCP段的重传计时器到期之前重传丢失的TCP段。由于丢失的TCP段的重传计时器没有到期,因此丢失的段在目的地被接收并比没有快速重传的情况更快地被接收方确认,发送方可以更快地将后面的段发送给接收方。此过程称为快速恢复。RFC 2581:TCP拥塞控制中描述了快速重传和快速恢复。


2

重发与自动重发请求(ARQ)基本相同,是重发已损坏或丢失的数据包。这是一个术语,指的是协议运行在分组交换计算机网络上以提供可靠通信所使用的基本机制之一。BUT快速重传是对TCP的增强,它减少了发送方在重传丢失的段之前等待的时间。快速重传增强的工作原理如下:如果TCP发送方收到指定数量的确认,通常将其设置为三个相同的重复确认确认号(即,总共四个具有相同确认号的确认),发送方可以合理地确信具有下一个更高序号的段已被丢弃,并且不会乱序到达。然后,发送方将重新发送假定已丢弃的数据包,然后再等待其超时。检查此链接以获取更多详细信息和算法 http://www.isi.edu/nsnam/DIRECTED_RESEARCH/DR_WANIDA/DR/JavisInActionFastRetransmitFrame.html


1

简而言之,TCP重传主要取决于数据包的超时来检测未命中,而在TCP快速重传中,对特定数据包的重复确认表示其未命中。

通常,将一个数据包的3个重复确认作为一个数据包未命中。然后,源可以看到触发了NACK的数据包的序列号。这是丢失数据包的序列号,可以发送给接收器。

TCP快速重传的优点在于,它不等待数据包超时启动传输,因此也无需等待数据包重传,正如其名称所暗示的那样。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.