📜  TCP中丢失恢复的快速恢复技术(1)

📅  最后修改于: 2023-12-03 15:20:31.769000             🧑  作者: Mango

TCP中丢失恢复的快速恢复技术

快速恢复(Fast Recovery)是TCP中丢失恢复的一种技术,主要用于在网络拥塞时,能够更快地恢复连接速度。

TCP的拥塞控制

拥塞控制是TCP中的一种算法,用于控制每个连接中的数据流量,以避免网络拥塞。当网络出现拥塞时,TCP会减少发送的数据量,以避免拥塞情况变得更糟。TCP中的拥塞控制主要有三种算法:慢启动、拥塞避免和快速重传 / 快速恢复。

快速重传

在TCP中,当发送端发送数据时,会对每个数据包进行编号。接收端通过确认号来确认已经收到的数据。如果发送端发现一个包在超时之前没有被确认,就假设该包丢失并重新发送。然而,由于网络延迟,一个确认包可能丢失了。因此,当接收端收到一个丢失的包时,它不会立即进行确认,而是等待一段时间以查看是否有其他相同编号的包也没有传输成功。如果这是正确的,接收端将发送一个紧急 ACK 来表示已收到该数据包。发送端即可不必等待超时,而是立即重新发送未确认的数据包。

快速恢复

在传统的拥塞控制方案中,当一个数据包没有被确认时,TCP发送端通常会将拥塞窗口减半,表示网络出现了拥塞。然而,这种做法会导致发送速度下降,因为重新恢复到旧速度需要许多轮次的慢启动。快速恢复(Fast Recovery)就是为了解决这种问题而出现的。

当接收端发送紧急 ACK 时,表示该数据包已经被正确地接收到。发送端接收到这个ACK后,将把拥塞窗口设置为之前的大小加上未确认数据包的大小(拥塞窗口就像一个数据包的容器,它存储了等待确认的数据包)。这个算法会使拥塞控制更准确,进而保持TCP传输的性能。

总结

虽然快速恢复(Fast Recovery)在TCP中只是一部分算法,但是它发挥了重要作用。通过使用此技术,TCP能够更快地恢复连接速度,避免了发送端重新进入慢启动状态,从而提高了传输性能和减轻网络拥塞。