【计算机网络08】传输层之TCP拥塞控制

拥塞控制:防止过多的数据注入到网络中,避免网络中的路由器或链路过载。

在这里插入图片描述

拥塞控制是一个全局性的过程,涉及到所有的主机、路由器以及与降低网络传输性能有关的所有因素,是大家共同努力的结果。

相比而言,流量控制是点对点通信的控制。

1.几个名词的缩写

MSS(Maximum Segment Size):每个段最大的数据部分大小。在建立连接时确定。

在这里插入图片描述
在这里插入图片描述

cwnd(congestion window):拥塞窗口

rwnd(receive window):接收窗口

swnd(send window):发送窗口。swnd = min(cwnd, rwnd)

2.慢开始/慢启动(slow start)

在这里插入图片描述

在这里插入图片描述

cwnd的初始值比较小,然后随着数据包被接收方确认(收到一个ACK),cwnd就成倍增长(指数级)。

3.拥塞避免(congestion avoidance)

在这里插入图片描述

ssthresh(slow start threshold):慢开始阈值,cwnd达到阈值后,以线性方式增加。

拥塞避免(加法增大):拥塞窗口缓慢增大,以防止网络过早出现拥塞。

乘法减小:只要网络出现拥塞,把ssthresh减为拥塞峰值的一半,同时执行慢开始算法(cwnd又恢复到初始值)。

当网络出现频繁拥塞时,ssthresh值就下降的很快。

4.快速重传(fast retransmit)

接收方:每收到一个失序的分组后就立即发出重复确认,使发送方及时知道有分组没有到达,而不要等待自己发送数据时才进行确认。

发送方:只要连续收到三个重复确认(总共 4 个相同的确认),就应当立即重传对方尚未收到的报文段,而不必继续等待重传计时器到期后再重传。

在这里插入图片描述

5.快速恢复(fast recovery)

当发送方连续收到三个重复确认,说明网络出现拥塞,就执行“乘法减小”算法,把ssthresh减为拥塞峰值的一半。

与慢开始不同之处是现在不执行慢开始算法,即cwnd现在不恢复到初始值,而是把cwnd值设置为新的ssthresh值(减小后的值),然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。

快重传 + 快恢复,如下图所示:

在这里插入图片描述

发送窗口的最大值:swnd = min(cwnd, rwnd)

当rwnd < cwnd时,是接收方的接收能力限制发送窗口的最大值。

当cwnd < rwnd时,则是网络的拥塞限制发送窗口的最大值。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值