拥塞控制

作者: 逗儿比的日常 | 来源:发表于2021-04-08 19:19 被阅读0次

    概念

    网络上有太多的包时,性能会极具下降,这种现象叫做拥塞

    拥塞产生原因

    对资源需求的综合>可用资源

    解决办法

    解决需求和能力的矛盾。“头疼医头,脚痛医脚”解决方案只能转移影响性能的瓶颈。需要全面考虑各个因素。进行网络改造升级等

    拥塞度量

    • 缺乏缓冲区造成的丢包率上升
    • 平均队列长度变长
    • 超时重传的包的数目增大
    • 平均包延迟增大
    • 包延迟变化增大

    拥塞监视点

    • 源节点
    • 中间路由器

    拥塞控制(仅在网络层出现)

    需要确保通信子网能够承载用户提交的通信量,是一个全局性问题,涉及主机、路由器等很多因素

    流量控制(链路层,网络层,运输层,应用层都可能出现)

    与点到点的通信量有关,主要解决快速发送方与慢速接收方的问题,是局部问题,一般都是基于反馈进行控制的

    流量控制的层次:

    流量控制的层次.png

    物理层没有流量控制,因为物理端的收发是没有能力差别的

    拥塞控制的实现位置

    • 链路算法(当下节点发生拥塞就要求与它相邻的上一个节点降低发送速率)
    • 源算法(最终的数据源端降低发送速率)

    拥塞控制方法

    根据控制论,拥塞控制方法分为两类:

    1.开环控制

    通过好的设计来解决问题,避免拥塞发生;拥塞控制时不考虑网络当前状态(即使网络空闲的时候也会实施拥塞控制)

    开环控制的两种算法:漏桶算法;令牌算法

    • 漏桶算法

    基本思想:造成拥塞的主要原因是网络流量通常是突发性的。强迫包以一种可预测的速率发送。在ATM网中广泛使用

    漏桶算法:将用户发出的不平滑的数据报流转成网络中平滑的数据包流。可用于固定包长的协议,如ATM、也可用于可变包长的协议,如IP,使用字节计数。无论负载突发性如何,漏桶算法强迫输出按平均速率进行,不灵活

    漏桶算法.png
    • 令牌桶算法

    漏桶算法不够灵活,因此加入令牌机制。令牌机制允许有一定突发数据,但量不能太大
    基本思想:漏桶存放令牌,每△T秒产生一个令牌,令牌累积到超过漏桶上界时就不再增加。包传输之前必须获得一个令牌,传输之后删除该令牌

    令牌桶算法.png

    漏桶算法与令牌桶算法的区别
    • 流量整形策略不同:漏桶算法不允许空闲主机累积发送权,以便以后发送大的突发数据;令牌桶算法允许,最大为桶的大小。
    • 漏桶中存放的是数据包,桶满了丢弃数据包,上层应用就需要重传被丢弃的数据包;令牌桶中存放的是令牌,桶满了丢弃令牌,不丢弃数据包

    2.闭环控制

    基于反馈机制。工作过程:监控系统发现何时何地发生拥塞,把发生拥塞的消息传给能采取动作的站点,调整系统操作(减少发送速率),解决问题

    •闭环控制的算法:抑制分组

    每个新包到来,路由器检查输出线路是否处于警戒状态。若是,则向源主机发送抑制包,包中指出发生拥塞的目的地址,同时将原包打上标记(为了以后不再产生抑制包),正常转发。源主机收到抑制包后,减少发向特定目的地的流量,并在固定时间间隔内忽略指示同一目的地的抑制包,然后开始监听,若此线路仍然拥塞,则主机在固定时间内继续减轻负载、忽略抑制包;若在监听周期内没有收到抑制包,则增加负载。流量增减策略:倍性减少、常量增加

    相关文章

      网友评论

        本文标题:拥塞控制

        本文链接:https://www.haomeiwen.com/subject/vspmnktx.html