网络层的拥塞控制

拥塞控制

概述

拥塞: 当一个网络出现太多分组,导致网络性能急剧下降 

出现资源拥塞的条件:对资源需求的总和 > 可用资源

image.png

拥塞控制:采取措施,防止网络出现拥塞. 

image.png

有人想到了流量控制,他们有什么区别呢?

  • 拥塞控制是一个全局性问题
    • 所有主机和路由器
    • 存储-转发处理过程
    • 所有可能会削弱子网承载容量的其他因素
  • 流量控制只涉及发送方和接收方之间的点到点流量
    • 限制发送速率
    • 接收方 向 发送方 发送反馈信息
    • 滑动窗口 

思路

Open loop(开环方法) 试图采用良好的设计来解决问题,本质是从一开始就保证不会发生拥塞问题。 一旦网络运行起来,就不需要中途做修正。

Closed loop(闭环方法)      

基于返回环路:

Explicit feedback (显式反馈)

Implicit feedback(隐式反馈) 

方法

  • Open loop(开环方法)
    • Preventative(预防性的方法)
    • image.png
  • Closed loop(闭环方法)
    • image.png
    • Network Provisioning(网络供给):网络升级/改造
    • Traffic-aware routing(流量感知路由):在计算路由的时候,把流量因素考虑进去。
      • 链路权值会根据网络负载动态调整, 可以将网络流量引导到不同的链路上, 均衡网络负载。
        • 绕开热门的区域,疏散流量
        • 可能会出现摇摆不定的问题
        • Internet路由协议一般不考虑流量负载因素 
    • Admission Control(准入控制):降低负载,在虚电路中控制新连接的建立。
      • 用于虚电路网络
      • 一旦出现拥塞,则不再创建任何虚电路.
      • 当虚电路建立的时候,在主机和子网之间进行协商以达成一致的约定  
        • 协商服务质量
        • 预留资源
      • 绕开有问题的区域建立新的虚电路 
    • Traffic throtting(流量调整)
      • 动态调整发送速度
        • 当拥塞迫在眉睫的时候,它必须告诉发送方紧急刹车放慢速度
        • 监视系统:预警拥塞 将监视的信息反馈到能够采取缓解行动的地方
          • 依据什么来判断是否可能出现拥塞?
            • 链路平均利用率 路由器内缓存排队的数据包 丢弃的数据包数量 
            • EWMA模型:计算指数加权平均数
              • image.png
          • The warning bit(设置警告位)
            • 路由器 监视平均队列长度 当路由器处于警告状态时,在转发分组的头部设置二进制警告位
            • 源主机  目标端将警告位送回源主机  源主机监视设置了包含警告位的分组比例 超过阈值,源主机减少发送 
          • Choke packet(抑制分组)
            • 当路由器处于警告状态时,向源主机发送抑制分组
            • 源主机将减慢到相同目标端的分组传输速率 调整策略参数,按一定比例(比如50% )减少发向特定目的地的流量 在一段时间间隔内,忽略所有指向同一目标的抑制分组
            • 若在监听周期内没有收到抑制包,则增加负载
            • 流量增减策略是:减少时,按比例减少,保证快速解除拥塞;增加时,以常量增加,防止很快导致拥塞。 
            • 发生拥塞时,路由器选择哪个分组,向该分组源端发送抑制分组?
              • 随机选择:发送方的速度越快,它的数据包排队在路由器队列中的数目就越多。
          • Hop-by-hop choke packet(逐跳抑制分组)
            • 抑制分组:只会影响到源主机,响应太慢
            • 逐跳抑制分组:让经过的路由器减慢分组流
              • 抑制包对它经过的每个路由器都起作用 能够迅速缓解发生拥塞处的拥塞 上游路由器要求有更多的缓冲区 
        • 调整系统的运行以解决问题 
    • Load shedding(负载丢弃) 
      • 拥塞的时候丢弃一些分组来消除拥塞
      • 路由器丢弃哪些分组呢?
        • 葡萄酒策略 老的分组比新的分组更有价值 例如,文件传输
        • 牛奶策略  新的分组比老的分组更有价值 例如,实时流媒体、直播视频
        • 优先级:源主机标明哪些分组更重要
      • 当一开始检测到可能出现拥塞的时候就采取措施,比等到拥塞严重影响工作之后再采取措施更有效 在实际耗尽所有的缓冲区空间之前就开始丢弃分组  在有些传输协议(包括TCP)中,针对分组丢失的响应措施是源主机减慢传输速度,这样可以减少拥塞 
posted @ 2021-07-08 08:51  Xiaohanahahah  阅读(1311)  评论(0编辑  收藏  举报