【计算机网络】拥塞控制算法

本文详细介绍了TCP的拥塞控制算法,包括拥塞窗口cwnd的概念、慢启动算法、拥塞避免策略、快速重传和快速恢复机制。通过慢启动门限ssthresh的设定,动态调整cwnd大小,旨在在网络未拥塞时增加数据发送,出现拥塞时快速减少数据注入,以保持网络稳定。

拥塞窗口cwnd

  • 发送方维持一个叫做拥塞窗口cwnd (congestion window)的状态变量。
  • 拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。(如果再考虑到接收方的接收能力,那么发送窗口还可能小于拥塞窗口。)
  • 发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。
  • 只要发送方没有按时收到应当到达的确认报文,就可以猜想网络可能出现了拥塞

拥塞窗口cwnd的大小相关算法

慢启动

  • 慢启动应用于连接刚刚建立,开始传输数据时
    以一个很小的报文段数量开始发送数据,每收到一个报文段的确认,则cwnd数量翻倍++。(乘2方式增加)
  • 为了防止拥塞窗口cwnd增长过大引起网络拥塞,还需要设置一个慢开始门限 ssthresh状态变量。慢开始门限ssthresh的用法如下:
    当cwnd < ssthresh时,使用上述的慢开始算法。
    当cwnd>ssthresh时,停止使用慢开始算法而改用拥塞避免算法。
    当cwnd=ssthresh时,既可使用慢开始算法,也可使用拥塞避免算法。
  • 慢启动门限,如果慢启动过程发送的报文段数量大小达到了慢启动门限,则进入拥塞避免。

拥塞避免

  • 当CWND值达到慢启动阈值,开始使用拥塞避免,每收到一组报文段的确认,则对CWND+1(加法增大)
  • 如何设置新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值