• 【计算机网络】运输层:拥塞控制


    拥塞控制可以分为开环控制和闭环控制。

    开环控制是在设计网络时事先将发生拥塞的有关因素考虑到,力求网络在工作时不产生拥塞。

    闭环控制是基于反馈环路的概念,措施

    (1)检测网络系统以便检测到拥塞在何时、何处发生

    (2)把拥塞发生的信息传送到可采取行动的地方

    (3)调整网络系统的运行以解决出现的问题。

    拥塞控制的四种算法:慢开始,拥塞避免,快重传,快恢复

    拥塞控制基于窗口,发送方维持一个拥塞窗口(cwnd,拥塞窗口的大小取决于网络的拥塞程度,动态变化。

    发送方的发送窗口的值等于 min(接收方通知的接受窗口值,拥塞窗口值)

    慢开始算法:

    一开始设置cwnd为1(1个报文段长度),每收到一个确认,cwnd加1,呈指数增长。

    为了cwnd增长过大引起网络拥塞,设置慢开始门限ssthresh。

    当cwnd<=ssthresh时,使用慢开始算法。

    当cwnd>ssthresh时,使用拥塞避免算法。

    拥塞避免算法:

    每经过一个往返时间RTT,发送方拥塞窗口cwnd加1,所以拥塞避免阶段称为加法增大。

    快重传算法:

    接受方即使收到失序的报文段也要立即发出对已收到报文段的重复确认。

    发送法只要一连收到3个重复确认,就说明并未出现网络拥塞,只是接受方少收到一个报文段M3,发送方立即重传收到的报文

    不是因为网络拥塞引起的分组丢失:

    一:IP数据报在分片时,但其中的一个数据报片未能及时到达终点,组装IP数据报时已超时。

    二:IP数据报到达终点,但终点的缓存没有足够的空间存放此数据报

    三:数据报在转发过程中经过一个局域网的网桥,但网桥在转发此数据报的帧时没有足够的存储空间只好丢弃。

    快恢复:

    当收到3个重复确认后,发送方把门限值设置为当前拥塞窗口值的一半,这个阶段又叫乘法减小。

    出现超时,cnwd设为1,ssthresh为当前cnwd的一半

    出现3ACK,cnwd和ssthresh均设置为当前cnwd的一半

     

     拥塞窗口是发送端根据网络拥塞情况确定的窗口值。

  • 相关阅读:
    [Android]Android P(9) WIFI学习笔记 - 扫描 (2)
    计算浮点数相除的余数(c++基础)
    51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏(I2C源码下载)
    Rust常见集合
    linux-伪首部校验和 和 icmpv6 socket组播
    间隔一分钟按某个按键一次——VBS脚本
    【无标题】数字孪生技术即神器而又象征着未来的点滴
    Mac电脑idea中配置nodejs前端环境
    操作系统实验二:进程同步程序设计
    Python - Matplot 绘制多图 直方图和折线图并存 共用 X 轴
  • 原文地址:https://blog.csdn.net/m0_52043808/article/details/127822569