问答题 在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用?“乘法减小”和“加法增大”各用在什么情况下?
【正确答案】正确答案:慢开始: 在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段MSS的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个MSS的数值。用这样的方法逐步增大发送端的拥塞窗门cwnd,可以分组注入到网络的速率更加合理。 拥塞避免: 当拥塞窗口值大于慢开始阈值时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算法使发送的拥寒窗口每经过一个往返时延RTT就增加一个MSS的大小。 怏重传算法: 发送端只要一连收到3个重复的ACK即可断定有分组丢失了,就应该立即重传丢失的报文段而不必继续等待为该报文段设置的重传计时器的超时。 快恢复算法: 当发送端收到连续3个重复的ACK时,就重新设置慢开始门限ssthresh。 与慢开始不同的是拥塞窗口cwnd不是设置为1,而是设置为ssthresh。 若收到的重复的AVK为n个(n>3),则将cwnd没置为ssthresh。 若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。 若收到了确认新的报文段的ACK,就将cwnd缩小到ssthresh。 乘法减小: 它是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始阈值ssthresh设置为当前的拥塞窗口值乘以0.5。 当网络频繁出现拥塞时,ssthresh值就下降得很快,以大大减少注入到网络中的分组数。 加法增大: 它是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口cwnd增加一个MSS大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。
【答案解析】