华为HCIE课堂笔记第十六章 Qos基本原理

第十六章  Qos基本原理

16.1 Qos背景

Qos:在带宽有限的情况下,为不同的业务需求,提供不同的网络的服务质量。

影响Qos的不同的因素:

  1. 带宽,链路在单位时间可以传输数据的bit数量,单位bps
    1. 一般上传下载速度为带宽/8,即100M带宽显示速度理论值12.5MB/s
  2. 延迟:报文从一端发出,从另一端接受到经过的时间
    1. 处理时间:设备对报文查表等处理的时间
    2. 队列时延:报文在出口队列中等待发送的时间
    3. 串行化时延:报文形成bit流,从接口发出时,第一个bit到最后bit发完总共需要的时间。
    4. 传输时延:报文在介质上传输的时间。
  3. 丢包率:数据包转发过程中出现丢弃的概率
  4. 抖动:网络传输数据包,接收端接收报文存在顺序不一致的情况,变化较大,则认为抖动比较明显。
  5. 可用性:网络是否可用。

16.2 Qos技术

16.2.1 服务模型

  1. 尽力而为模型:数据转发过程中没有服务质量相关的部署,所有的报文按照先后顺序进行转发,不提供质量保障。
  2. 综合服务模型:
    1. 应用转发数据包的之前需要申请带宽预留,申请的带宽预留除自己可用,其他应用不能使用
    2. 部署非常复杂
  3. 区分服务模型:Qos,通过对报文进行分类,对每一类的报文进行标记,根据标记实现对不同类的报文提供不同的服务质量,时延,丢包率,优先转发。
    1. DS边缘节点:区分服务域边缘节点,区分服务域有一系列Qos设备组成
    2. 实现方式:
      1. DS边缘设备的入接口进行流量分类,给不同类的流量打上不同的标记。
      2. DS节点的入接口信任该标记类型,后续DS域中按照该标记为流量提供服务质量。

16.2.2 Qos的常用技术

  1. 限速技术
  2. 拥塞管理技术
  3. 拥塞避免技术

16.3 流量分类

16.3.1 简单流分类

  1. 概念:

外部优先级:指报文携带的优先级值

内部优先级:报文在设备内的服务等级

  1. 两个优先级,可以通过修改映射表进行调整,不同的外部优先级报文,可以指定进入设备后的内部优先级
  2. 接口队列:传统Qos接口存在8个队列,内部优先级与队列编号一一映射,内部优先级7的报文对应队列7号,不可以修改改映射关系。
  1. 外部优先级:报文中携带的标记
    1. VLAN 字段中的PRI:取值范围是0-7,名字802.1p
    2. MPLS 头部中的EXP:取值范围是0-7
    3. IP头部中的Tos字段(8bit):两种不互斥的
      1. 标记方式1:IP-P,占用3bit,表示范围0-7,高3bit位
      2. 标记方式2:DSCP值,占用6bit,表示范围0-63,高6bit位
  1. DSCP值标记:数字和名字表示方式
    1. 定义了4个PHB(每一跳动作):CS(类选择器),EF(快速转发),AF(确保转发),BE(尽力而为)
    2. AF11、AF12、AF13、AF21到AF43,AF对应的DSCP值的映射关系是AFXY值=DSCP值8x+2y
    3. CSx值=DSCP值(8x)
  2. 总结:简单流分类是按照报文已有的标记对报文进行Qos处理

16.3.2 复杂流分类

在DS边缘设备的入方向上,通过数据报文的五元组,采用MQC模块配置,实现对报文的重标记,或者其他的Qos处理。后续DS域中的节点可以根据重标记后的报文标记值进行简单流分类。

为什么没有EXP-DSCP

16.4 拥塞管理

拥塞管理:网络发生拥塞的时候,对流进行管理和控制,采用队列技术。

16.4.1 队列技术

  1. 队列技术:通过一定的调度算法,从队列中提取数据报文给出接口进行转发
    1. Qos Q-profile 传统的Qos工具,对应的下行出口存在8个队列(0-7号队列)
    2. CBQ队列,华为设备支持的自行开发的队列,4个队列(AF、EF/LLQ、BE)
  2. 队列调度算法:
    1. FIFO:先进先出算法,在队列内,收到的报文,按照谁先到,谁先出的原则,发送
    2. SP:严格优先级算法,在队列间进行报文调度的时候,按照队列的优先级严格调度。如:7,6,5三个队列采用SP算法,则优先调度优先级最高的7号队列,7号队列发送完毕在调度6队列,6号发送完毕调度5号队列,如果5号队列正在调度,7号队列有报文进入,则重新调度7号队列。时时刻刻调度最高优先级的队列。
      1. 缺点:低优先级队列可能出现“饿死”现象,不能得到及时调度。
    3. WFQ:加权公平队列,在队列间的报文调度的时候,按照队列配置的加权值,进行报文调度,权值越大,队列调度的机会越大(占用的带宽就越大)。
      1. 缺点:低延时的报文不能保证低延迟(绝对优先级的报文得立即调度)
    4. 调度算法组合:SP+WFQ,6,7号队列是SP算法,0-5号是WFQ算法
      1. 此时6,7号队列拥有绝对优先级的调度机会,6,7号队列中不存在报文的时候,才会按照WFQ算法调度剩余的0-5号队列。
        1. SP算法的队列中经常给到占用带宽不大(绝对优先级,会抢占其他队列带宽),要求延时小(立即调度,减少时延)的业务使用。
        2. WFQ算法的队列用途:保证业务带宽,给到业务带宽比较大的业务使用。
  3. 调度方式:传统Qos接口的软件队列0-8队列,可以加入到以下三种队列(组)中,进行Qos的报文调度。
    1. PQ队列(组),采用的SP调度算法,PQ队列中可以存在多个软件队列,按照严格优先级进行调度。
    2. WFQ队列(组),采用WRR、WDRR、WFQ算法(都是存在加权值,按照加权值分配带宽),WFQ队列中可以存在多个软件队列,多个软件对垒按照WFQ算法进行调度。
    3. LPQ队列(组),采用SP调度算法,LPQ队列也可以存在多个软件队列,按照SP算法,调度组内不同队列中的报文。
    4. PQ和LPQ都是采用SP算法,不同点是LPQ拥塞时不能抢占带宽。
    5. PQ、WFQ、LPQ队列(组)之间的调度算法采用SP算法:先调度PQ队列,再调度WFQ队列、最后调度LPQ
      1. PQ多用于将语音等低延迟,低带宽的流量加入到该队列(组)中
      2. WFQ多使用与需要带宽保障,确保转发的的业务报文加入到该队列(组)中
      3. LPQ队列用于BE的流量加入,当PQ和WFQ带宽分配存在空闲带宽,则交给LPQ调度BE的流量。

16.4.2 拥塞管理配置

  1. 基于队列技术的拥塞管理(传统的Qos)
    1. DS边缘设备配置复杂流分类对流量进行分类并重标记
    2. DS设备根据DSCP进行Qos部署(简单流分类)
      1. 入接口需要配置信任DSCP值,对应的DSCP值的报文才会进入到对应LP的队列中。
      2. 如果需要调整报文进入到对应的队列,则需要调整DSCP值与本地优先级的映射关系。
    3. DS设备上配置Qos-Queue-profile工具,将对应的队列加入到PQ、WFQ、LPQ中,WFQ队列需要配置权重值分摊带宽,在出接口上调用该工具。实现报文的差分服务
  2. 基于MQC的拥塞管理
    1. 队列:
      1. EF/LLQ队列:适用于语音等低延迟低带宽要求的流分类。LLQ比EF具有跟小的带宽,当链路拥塞的时候,EF可以抢占空闲带宽。该队列优先级最高,需要配置最大的指定带宽。类似传统Qos 的PQ队列
      2. AF队列:适用于大带宽保证转发的业务。AF队列中可以包含多个类,每个类中可以配置指定的最小带宽,保证业务转发的带宽。
      3. BE队列:不满足所有其他的分类的流量归于该默认类,可以将默认类设置为AF队列,也可以将默认的BE队列。BE队列采用WFQ调度算法。
    2. 配置:
      1. 流分类对报文进行分类,流行为指定分类后的报文的队列,流策略绑定流分类和流行为
      2. 参考命令:带宽设置有两种,绝对值和空闲带宽百分比

traffic behavior OA

 queue llq bandwidth 30         //在流行为视图下,配置与该行为绑定的流量分类加入到LLQ队列(EF),设置最大带宽30kbit/s

traffic behavior FTP

 queue af bandwidth pct 10       //在流行为视图下,配置与该行为绑定的流量分类加入到AF队列中,设置最小带宽保障业务带宽需求。

traffic policy Qos

classifier default-class behavior def    //在流策略的视图下,设置默认的分类(系统原有匹配所有缺省类)与行为绑定(类名字def是用户自定义,且设置队列为WFQ(BE队列))

16.5 拥塞避免

16.5.1 拥塞产生的原因:

  1. 带宽不匹配,发送报文方的带宽,链路的带宽减小,导致出接口无法及时发送高速接受到的报文。
  2. 接口带宽已知,但是流量都汇聚到一个接口发出(内网出口),收到的报文的数量所需带宽要大于出接口的带宽,

16.5.2 拥塞产生后的影响

  1. 丢弃策略:
    1. 尾丢弃:如果没有配置早期随机检测,则当网络出现拥塞,队列缓存已满,则接收的报文将在进入队列前全部丢弃。
      1. TCP全局同步:当拥塞发生,TCP所有的连接,将同时降低滑动窗口字段的值,控制TCP的传输速度,网络不在拥塞,TCP连接进入慢启动过程,逐步提高TCP连接的报文传输速度,循环往复。该过程中,会造成TCP的所有连接传输报文的速度同步升高,同步降低,造成链路资源浪费。
      2. TCP连接“饿死”现象:拥塞发生TCP降低连接的速度,此时UDP报文没有传输速度控制机制,UDP则利用TCP让出来带宽,再次造成网络拥塞,TCP会再一次降低连接速度,UDP再次占用,循环往复,造成TCP连接“饿死”现象。
      3. 无差别丢弃:超出队列缓存的报文进行无差别丢弃,不区分报文的优先级。
    2. RED:当网络趋向于拥塞的时候,可以使用RED(早期随机检测)提前丢弃报文,延缓网络出现拥塞
      1. 队列长度到达低门限的时候,开始随机丢弃报文,到达高门限,则执行尾丢弃,从而延缓了TCP的全局同步(随机丢弃的报文中,属于不同的TCP连接,TCP连接的速度不会同时到达最大)
    3. WRED:根据报文的优先级,在拥塞发生之前,提前对报文进行有差别的丢弃。
      1. 按照报文优先级或者队列优先级,分别设置低门限,高门限,某队列长度到达低门限,则开始丢弃。高优先级报文(队列)低门限设置的更高,使得高优先级报文晚于低优先级报文丢弃的时间。避免TCP同步
  2. 拥塞避免配置方式:两种
    1. 基于Qos丢弃模版配置
      1. 参考命令见PPT
    2. 基于MQC配置
      1. 参考命令见PPT

16.6 限速

16.6.1 令牌桶技术

  1. 单桶单速双色标记法:C桶(单桶)
    1. 概念:
      1. CIR:承诺信息速率,向令牌桶中按照该速率放置令牌,单位Kbps
      2. CBS:报文的突发尺寸,允许报文的转发时的突发长度尺寸,表示令牌桶的尺寸,令牌桶中初始的令牌数量为该CBS值,即桶的容量
    2. 工作机制:
      1. Tc值:表示令牌桶中现有的令牌数量,初始情况(没有发送报文之前)Tc值=CBS(桶内令牌是满的)
      2. B值:代表要转发的报文的长度尺寸
      3. 工作机制:
        1. 按照CIR匀速的速度持续向令牌桶中放置令牌,桶中令牌数量超出CBS,则溢出(Tc值不能大于CBS)。
        2. 要转发报文之前查看报文的长度B,判断B是否小于Tc值
          1. 如果B<Tc值,则将报文标记为绿色转发,且Tc值(桶内剩余的令牌数)减少B
          2. 如果B>Tc值,则报文标记为红色,丢弃,不转发。桶内的令牌不减少。
  2. 双桶单速三色标记法:
    1. 两个桶:C桶、E桶
    2. 三种颜色标记报文:绿黄红
    3. 概念:CBS和EBS关注的时数据流的大小
      1. CBS:与单桶单速相同,C桶的容量(令牌最大数量)承诺突发尺寸。单位Byte
      2. EBS:E桶的容量(令牌最大数量),峰值突发尺寸,单位Byte
      3. CIR:承诺信息速率,关注的流量发送的承诺速率。单位Kbps
    4. 工作机制
      1. Tc=C桶中现有的令牌数量,初始情况,Tc=CBS
      2. Te=E桶中的现有令牌数量,初始情况,Te=EBS
      3. 工作机制:
        1. 以CIR的速率持续向C桶中投放令牌,当C桶的令牌数量达到CBS,溢出,溢出令牌放入到E桶中,当E桶的令牌数量溢出,则丢弃。
        2. 收到报文,查看报文的大小,值为B:比较B与桶内令牌数量:
          1. 如果B<Tc,则将报文标记为绿色,并发送,C桶剩余容量Tc减少B
          2. 如果B>Tc,(C桶中剩余令牌不够),此时比较B与Te大小(查看E桶中是否有足够令牌):
            1. 如果B<Te,则报文标记为黄色,默认发送,并将E桶中令牌数Te减少B
            2. 如果B>Te,则报文标记为红色,丢弃报文,E桶中令牌数量Te不减少。
  3. 双桶双速三色标记法
    1. 双桶:P桶、C桶
    2. 双速:PIR、CIR
    3. 颜色:绿黄红
    4. 概念:
      1. PBS:峰值突发尺寸,P桶的容量   单位Byte
      2. CBS:承诺突发尺寸,C桶的容量
      3. PIR:峰值突发速率    单位Kbps
      4. CIR:承诺信息速率   CIR<PIR
    5. 工作机制
      1. Tp=P桶中的剩余的令牌数量,初始Tp=PBS
      2. Tc=C同种剩余的令牌数量,初始Tc=CBS,CBS<PBS
      3. 工作机制:
        1. 放置令牌:以PIR的速率向P桶中持续放置令牌,超出PBS令牌会溢出;以CIR的速率向C桶中持续放置令牌,超出CBS令牌会溢出。
        2. 收到报文后,检查流量报文的大小,值为B,首先比较B与P桶的剩余令牌数Tp
          1. 如果B>Tp,报文标记为红色,Tp值不减少
          2. 如果B<Tp,继续比较B与Tc的值大小:
            1. B>Tc,则报文被标记为黄色,Tp减少B
            2. B<Tc,则报文标记为绿色,Tp和Tc都减少B
  4. 三种方式的区别
    1. 单桶单速双色标记法:不关注突发速率,仅关注突发流量尺寸    C桶
    2. 双桶单速三色标记法:关注峰值突发尺寸,不关注突发速率   C桶 E桶
    3. 双桶双色三色标记法:即关注报文的突发峰值尺寸,也关注突发的峰值速率。   P桶  C桶

16.6.2 流量监管

使用令牌桶技术实现,在设备的入口和出口方向实现限速,超出速率部分的报文直接丢弃。削峰不填谷

两种实现方式:

  1. 基于接口进行限速
    1. 参考命令:Qos car cir xxx  //可以使用所有的令牌桶技术
  2. 基于MQC对流分类进行限速
    1. 参考命令:
      1. Traffic behavior A
      2. Car cir  xxxx            //流行为视图下设置对绑定流分类中的数据流进行限速,可以使用所有令牌桶技术

16.6.3 流量整形

使用令牌桶技术和缓存技术,在设备的出方向实现限速,超出速率部分的报文先缓存,等待流量下降后从缓存中提取并转发。削峰填谷。

三种实现方式:只能使用单桶单速技术。

  1. 基于接口配置:对接口内出方向上所有通过的流量生效,不区分优先级
  2. 基于队列配置:对单个队列中的流量生效,区分优先级的。

基于MQC配置方式:正对流量的流分类生效,在流行为中配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631116.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【高危】Google Chrome V8 < 120.0.6099.224 越界内存访问漏洞

漏洞描述 Google Chrome V8 是一个由Google开发的开源JavaScript引擎&#xff0c;用于Google Chrome及Chromium中。 Google Chrome 120.0.6099.224版本之前中&#xff0c;当通过runtime-object.cc的DeleteObjectPropertyFast删除对象属性时&#xff0c;可能未能正确处理内存或…

前端注释规范

编写代码注释的最佳实践 好的注释可以提高代码的可读性和可维护性&#xff0c;从而提高代码质量。 作为研发同学&#xff0c;对于代码“注释”其实并不陌生。它往往作为我们代码文档的特殊补充而存在。 提倡加注释&#xff0c;但不能滥用。我们开发流程中会有Code Review过程&a…

文件操作解析(一)

前言 很多非计科的专业并未对文件操作这点做出详细解释&#xff0c;今天复习到这里就想趁此机会记录一下自己学到的知识&#xff0c;也希望能对大家有所帮助。 一.为什么使用文件 如果没有⽂件&#xff0c;我们写的程序的数据是存储在电脑的 内存中&#xff0c; 如果程序退出…

selinux简介

Selinux使用详解 注&#xff1a;redhat selinux使用说明文档&#xff1a;使用 SELinux Red Hat Enterprise Linux 8 | Red Hat Customer Portal 1、说明 selinux&#xff08;security enhanced linux安全性增强的linux&#xff09; 由美国安全局nsa&#xff08;national se…

电脑屏幕横过来了怎么恢复?这4个方法好用又简单!

“我在用电脑的时候不知道为什么&#xff0c;电脑屏幕一整个都横过来了。导致我无法正常使用电脑&#xff0c;应该怎么解决这个问题呢&#xff1f;希望大家帮我出出主意&#xff01;” 在现代社会中&#xff0c;电脑已经成为了我们工作、学习和生活中不可或缺的工具。然而&…

搭建开源数据库中间件MyCat2-配置mysql数据库双主双从

mycat2官网&#xff1a;MyCat2 前言&#xff1a;mycat2下载地址无法访问&#xff0c;不知道是不是被DNS污染了&#xff0c;还是需要搭梯子访问&#xff0c;所以我只能找到1.21的版本进行安装。搭建mycat2的前提是搭建数据库主从复制。 架构&#xff1a;双主双从 配置&#xf…

[EFI]Acer Aspire A515-54g电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 Acer Aspire A515-54g 处理器 Intel i5 10210U 已驱动内存16 Gb DDR4 2400 Mhz已驱动硬盘Samsung 970 Pro 512Gb已驱动显卡Intel UHD Graphics 630已驱动声卡Realtek ALC255已驱动网卡RTL8111已驱动无线网卡蓝牙Intel AC 9462已驱动 支持系统版本 macos H…

汽车芯片「新变量」

编者按&#xff1a;汽车行业的格局重构和技术革新&#xff0c;也在推动芯片赛道进入变革周期。不同商业模式的博弈&#xff0c;持续升温。 对于智能汽车来说&#xff0c;过去几年经历了多轮硬件和软件的性能迭代&#xff0c;甚至是革新&#xff0c;如今&#xff0c;市场正在进…

云原生场景下,AIGC 模型服务的工程挑战和应对

作者&#xff1a;徐之浩、车漾 “成本”、“性能”和 “效率”正在成为影响大模型生产和应用的三个核心因素&#xff0c;也是企业基础设施在面临生产、使用大模型时的全新挑战。AI 领域的快速发展不仅需要算法的突破&#xff0c;也需要工程的创新。 大模型推理对基础设施带来…

测试开发(5)测试分类标准 :按测试对像划分、按是否查看代码划分、按开发阶段划分、按测试实施组织、按是否运行划分、按是否手工划分、按测试地域划分

接上次博客&#xff1a; 测试开发&#xff08;4&#xff09;测试用例基本要素、好处、测试用例设计方法 &#xff1a;基于需求进行测试用例的设计&#xff1b;具体的设计方法【等价类、边界值、错误猜测法、场景设计法、因果图/测试表法、正交排列】、万能公式、有效性、粒度和…

关于FET等效电路电容模型中的能量非守恒问题

标题&#xff1a;On the Energy Nonconservation in the FET’s Equivalent Circuit Capacitance Model 摘要 摘要——本文回答了长期以来关于如何在场效应晶体管&#xff08;FET&#xff09;等效电路模型中非互易电容形式与能量守恒原理之间达成调和的问题。通过对模拟和测量…

FPGA引脚物理电平(内部资源,Select IO)-认知2

引脚电平 The SelectIO pins can be configured to various I/O standards, both single-ended and differential. • Single-ended I/O standards (e.g., LVCMOS, LVTTL, HSTL, PCI, and SSTL) • Differential I/O standards (e.g., LVDS, Mini_LVDS, RSDS, PPDS, BLVDS, and…

[贪心算法] 国王游戏

题目描述 ​ 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数&#xff0c;国王自己也在左、右手上各写一个整数。然后&#xff0c;让这 n 位大臣排成一排&#xff0c;国王站在队伍的最前面。排好队后&#xff0c;所有的大…

qt写文件中文乱码问题解决

问题 在用qt往文件写入中文时&#xff0c;总是出现乱码 解决 QFile file; QTextStream textStream; file.setFileName("test.txt"); if (file.open(QIODevice::Append | QIODevice::Text)) {textStream.setDevice(&file);textStream.setCodec("UTF-8&quo…

【软件测试学习笔记7】Linux指令实操练习

1.在Linux终端中可以通过哪些命令进入到用户目录 cd/home/用户目录 cd~ 2&#xff0c;在Linux终端中&#xff0c;如何查看用户目录下的所有文件&#xff08;包含隐藏文件&#xff09;的详细信息。&#xff08;使用绝对路径和相对路径&#xff09; ls -al/home/用户目录 l…

spring常见漏洞(5)

CVE-2018-1273 Spring Data Commons远程命令执行(CVE-2018-1273)&#xff0c;当用户在项目中利用了Spring-data的相关web特性对用户的输入参数进行自动匹配的时候&#xff0c;会将用户提交的form表单的key值作为Spel的执行内容而产生漏洞 影响版本 Spring Data Commons 1.13…

微信小程序的springboot高校新生报道管理系统

考虑到实际生活中在毕业论文选题管理方面的需要以及对该系统认真的分析,将小程序权限按管理员和用户这两类涉及用户划分。 (a) 管理员&#xff1b;管理员使用本系统涉到的功能主要有系统首页、个人中心、学生管理、指导教师管理、课题信息管理、选题信息管理、论文信息管理、疑…

Erlang/OTP中的日志与事件处理(二)

用gen_event编写自定义事件处理器 可能你并不喜欢错误日志记录器的默认输出格式。它与所有其他系统所使用的格式确实有较大的差异。你所在的企业可能已经围绕自己的日志格式开发了大量工具&#xff0c;这些工具无法与Erlang的日志格式兼容。这时你该怎么办呢?还好&#xff0c…

前端面试题-html5新增特性有哪些

HTML html5新增特性有哪些 1.新增了语义化标签 标签用法header定义文档或区块的页眉&#xff0c;通常包含标题&#xff0c;导航和其他有关信息nav定义导航链接的容器&#xff0c;用于包裹网站的导航部分section定义文档的一个独立节或区块&#xff0c;用于组织相关的内容art…

51单片机_智能家居终端

实物演示效果&#xff1a; https://www.bilibili.com/video/BV1bh4y1A7ZW/?vd_source6ff7cd03af95cd504b60511ef9373a1d 51单片机是否适合做多功能智能家居控制系统&#xff1f;51单片机的芯片是否具有与WiFi通信的能力&#xff1f;如果有的话&#xff0c;具体有哪些芯片啊&a…