📅  最后修改于: 2023-12-03 15:10:15.547000             🧑  作者: Mango
这个问题是有关计算机网络的,主要考察了解TCP协议中的拥塞控制和避免。
TCP拥塞控制是为了防止网络拥塞而设立的,主要包括以下几个方面:
在TCP建立连接后,发送方会开始发送数据,如果一下子发送大量数据,极易造成网络拥塞,因此TCP会采取慢开始的机制。具体来说,发送方会从一个很小的窗口开始发送数据,然后每经过Round Trip Time(即往返时间)后,窗口大小就会成倍增加。
当传输窗口大到一定程度时,即使按照慢开始的机制逐渐增加窗口大小,在RTT的时间内也有可能导致网络拥塞。因此,TCP会进入拥塞避免状态,此时窗口大小不再成倍增加,而是每经过RTT后,窗口大小仅增加一个 MSS(Maximum Segment Size,即TCP允许的最大数据段长度)。
在TCP传输过程中,如果接收方发现有数据包丢失,会发送一个ACK确认。如果发送方接收到3个重复确认,就认为有数据包丢失,会进行快重传。快恢复是在快重传的基础上,发送方会将窗口大小设为慢开始状态的一半。