计网Lesson17 - 拥塞控制

本文详细介绍了网络拥塞控制中的四种常见算法:慢开始通过指数级增长控制拥塞窗口;拥塞避免采用线性增加策略防止过早拥塞;快重传和快恢复机制用于快速检测并处理丢失或重复的数据报文,提高网络效率。
摘要由CSDN通过智能技术生成



1. 拥塞控制

1.1 什么是拥塞

  • 拥塞:在某段时间,若对网络中某⼀资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫作拥塞(congestion)。
    • 计网中的链路容量(带宽)、交换节点中的缓存和处理机等都是网络资源。
      在这里插入图片描述
    • 两条马路合并成一条,那么当两条路车流量都很大时,汇聚时会造成拥堵。
  • 拥塞控制是⼀个全局性的过程:
    • 涉及到所有的主机、路由器,以及与降低⽹络传输性能有关的所有因素。
    • 是需要靠所有节点共同努力的结果。
    • 防止过多的数据注入到网络中,使网络能够承受现有的网络负荷。
  • 流量控制是一个点对点通信的控制,是接收端对发送端的控制,不涉及链路中的资源控制;
    而拥塞控制涉及整条链路。

1.2 拥塞控制的常用算法

  • 概述
    慢开始(slow start,慢启动)、拥塞避免(congestion avoidance)
    快速重传(fast retransmit)、快速恢复(fast recovery)
  • 几个缩写
    • cwnd(congestion window):拥塞窗⼝
    • rwnd(receive window):接收窗⼝
    • swnd(send window):发送窗⼝,swnd = min(cwnd, rwnd)

1.2.1 慢开始

在这里插入图片描述

  • cwnd 的初始值比较小,随着收到确认包ACK后:
    • cwnd *= 2,指数级增长。

1.2.2 拥塞避免

在这里插入图片描述

  • ssthresh(slow start threshold):慢开始阈值,cwnd达到阈值后,以线性方式增加,也就是“加法增大”。
  • 拥塞避免(加法增大):拥塞窗口缓慢增大,防止网络过早拥塞。
  • 乘法减小:只要网络出现拥塞,ssthresh /= 2,阈值减小为拥塞峰值的一半,接着执行慢开始算法,拥塞窗口恢复到初始值。
  • 当网络出现频繁拥塞时,ssthresh值就下降的很快。

1.2.3 快重传

  • 接收方
    • 每收到⼀个失序的分组后就立即发出重复确认。
    • 使发送方及时知道有分组没有到达。
    • 而不要等待自己发送数据时才进行确认。
  • 发送方
    • 只要连续收到三个重复确认(总共4个相同的确认),就应当立即重传对方尚未收到的报文段。
    • 而不必继续等待重传计时器到期后再重传。
      在这里插入图片描述

在这里插入图片描述

1.2.4 快恢复

  • 当发送方连续收到三个重复确认,说明网络出现拥塞:
    • 就执行“乘法减小”算法,把 ssthresh 减为拥塞峰值的⼀半。
  • 与慢开始不同之处是现在不执行慢开始算法,即cwnd现在不恢复到初始值:
    • 而是把 cwnd 值设置为新的ssthresh值(乘法减小后的值,也就是拥塞峰值的一半)。
    • 然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
      在这里插入图片描述
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值