TCP常见的拥塞控制算法

TCP常见的拥塞控制算法有四种,即慢启动(slow-start)、拥塞避免(congestion-avoidance)、快重传(fast retransmit)、快恢复(fast recovery)。它们的目的是根据网络的拥塞程度动态调整发送方的拥塞窗口(cwnd),以提高带宽利用率和避免数据丢失。

慢启动

慢开始算法的原理是在主机刚刚开始发送报文段时,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个最大报文段MSS的数值1。这样可以避免一开始就发送过多的数据导致网络拥塞。

拥塞避免

拥塞避免算法的原理是让拥塞窗口cwnd缓慢地增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍。这样可以避免突然增加网络负载而导致拥塞的情况。

快重传

快重传算法的原理是当发送方连续收到三个重复确认时,就立即重传对方尚未收到的报文段,而不必等待重传计时器到期。这样可以减少因为超时而导致的数据传输延迟。

快恢复

快恢复算法的原理是当发现有报文丢失时,并不会立刻进入慢启动状态,而是通过很巧妙的方法,即保证在数据重传过程中的拥塞避免,又能在数据确认时的快速恢复。具体来说,当发送方连续收到三个重复确认时,就把慢开始门限减半,并重传丢失的报文段,然后把拥塞窗口设置为慢开始门限加三个报文段大小。这样可以避免因为超时而导致的拥塞窗口重新从1开始增长。

posted @ 2023-03-14 09:44  yytarget  阅读(1403)  评论(0编辑  收藏  举报