扫码关注公众号

计算机网络之 慢启动、快重传
03-06
158观看
01

请解释TCP的拥塞控制算法,包括慢启动、拥塞避免、快重传和快恢复算法

TCP协议的拥塞控制算法旨在通过动态调整发送方的数据发送速率,以避免网络拥塞。它包括慢启动、拥塞避免、快重传和快恢复算法。1.慢启动算法当TCP连接建立时,发送方要确定初始拥塞窗口大小,并随着时间的推移逐渐增加拥塞窗口的大小。慢启动算法就是为了实现这个过程。慢启动算法将初始拥塞窗口设为一个MSS(最大分段大小),然后每当收到一个确认ACK时,就将拥塞窗口的大小加倍。也就是说,每经过一个RTT(往返时间),拥塞窗口的大小就会翻倍。这种增长速度称为指数增长。2.拥塞避免算法一旦拥塞窗口的大小超过了一个阈值(通常是一个固定值),TCP就会进入拥塞避免算法。在拥塞避免阶段,拥塞窗口的大小将会以线性增长的方式增加,而不是指数增长。3.快重传算法在发送方接收到重复的ACK时(≥3),不等待超时,而是立即重传相应的数据包。ACK是对未收到的包中,序列最小包的回复确认。这样可以提高数据传输的效率。4.快恢复算法在发送方接收到重复的ACK时,不仅进行快速重传,还会将拥塞窗口的大小减半。这样可以更快地适应网络拥塞的变化,避免造成更大的拥塞。在减半之后,发送方会进入拥塞避免状态(线性增长)。

来自:网络-TCP/IP模型-网络-TCP/IP模型
02

请解释TCP的可靠传输机制,包括序号、确认号和重传机制等

TCP(TransmissionControlProtocol)是一种面向连接的可靠传输协议,可靠传输是TCP协议最重要的功能之一。TCP的可靠传输机制包括以下几个方面:1.序号和确认号在TCP中,每个数据包都有一个序号和一个确认号。序号(seq)用于标识数据包在整个数据流中的位置,确认号(ack)用于表示接收方期望收到下一个数据包的序号。发送方发送数据时,会给每个数据包分配一个唯一的序号。接收方接收到数据包后,会向发送方发送一个确认包,确认包中包含下一个期望接收的数据包的序号。如果发送方没有收到确认包,就会认为数据包没有被成功接收,于是就会进行重传操作。2.超时重传机制当发送方发送一个数据包后,会等待一段时间来等待接收方的确认包。如果发送方在规定的时间内没有收到确认包,就会重新发送该数据包。3.滑动窗口TCP的滑动窗口是一种流量控制和拥塞控制的机制,它通过动态调整发送窗口的大小来控制发送方发送数据的速度。接收方通过告知发送方可以接收的数据量来控制数据的流量。滑动窗口包括接收窗口和发送窗口。接收窗口的大小由接收方动态调整,用来告知发送方当前可以接收多少数据。发送窗口的大小由发送方动态调整,用来控制发送数据的速率。4.确认机制TCP的确认机制用于保证数据的可靠传输。接收方会给发送方发送确认包,确认包中包含确认号。发送方接收到确认包后,就知道哪些数据已经成功传输了,哪些数据需要重新发送。5.流量控制TCP的流量控制机制是通过滑动窗口实现的。接收方通过调整接收窗口的大小来告诉发送方可以接收多少数据。发送方则根据接收方发送的窗口大小来动态调整发送窗口的大小,控制数据的流量。

来自:网络-TCP/IP模型-网络-TCP/IP模型
03

请解释TCP的流量控制是什么,它的作用是什么?

在发送端和接收端之间通过协商来控制数据的传输速度,以保证接收端的缓冲区不会溢出。在TCP的可靠传输机制中,接收端会向发送端发送确认号,表示已经接收到了哪些数据,而发送端需要维护一个发送窗口,表示可以发送的数据量。如果发送端的发送窗口被接收端缓冲区大小所限制,那么发送端需要暂停发送数据,等到接收端空出一部分缓冲区后再继续发送数据。TCP的流量控制可以防止发送端发送过多的数据导致接收端缓冲区溢出而丢失数据,同时也可以避免网络拥塞的发生,提高网络的稳定性和吞吐量。

来自:网络-TCP/IP模型-网络-TCP/IP模型
课程
专栏
【校招VIP】TCP的拥塞控制算法:慢启动、拥塞避免、快重传、快恢复
csdn
慢启动快重传
【校招VIP】SpringBoot 测试小记,优化测试用例的启动速度
csdn
慢启动快重传
【校招VIP】TCP/IP相关面试题
csdn
面试题
专业课-网络-TCP/IP模型-网络-TCP/IP模型
3专栏
1课程
3 试题