1、HM-045 QoS原理及配置,ISSUE 5.1,日期:,杭州华三通信技术有限公司 版权所有,未经授权不得使用与传播,QoS 的基本概念 流量监管及流量整形 拥塞管理及拥塞避免,课程目标,学习完本课程,您应该能够:,QoS 的基本概念 报文的分类和标记 流量监管及整形 拥塞管理及避免 QoS调试,目录,QoS的基本概念,QoS: Quality of Service(服务质量)是指网络通信过程中,允许用户业务在丢包率、延迟、抖动和带宽等方面获得可预期的服务水平 IP QoS目标:避免并管理IP网络拥塞减少IP报文的丢失率调控IP网络的流量为特定用户或特定业务提供专用带宽支撑IP网络上的实时业
2、务,QoS可以满足多种网络应用要求,如:,控制资源:如可以限制骨干网上FTP使用的带宽,也可以给数据库访问以较高优先级。 可裁剪的服务:对于ISP(Inernet Service Provider,Internet服务提供商),其用户可能传送语音、视频或其他实时业务,QoS使ISP能区分这些不同的报文,并提供不同服务。 多种需求并存:可以为时间敏感的多媒体业务提供带宽和低时延保证,而其他业务在使用网络时,也不会影响这些时间敏感的业务。,丢包,?,Internet,延时,Internet,A,A,发送的第一个bit,接收的最后一个bit,处理延时,处理延时,网络传输延时,端到端的延时,时间t,抖
3、动,Internet,D3=D2D1,带宽限制,IP,我要100M,我要30M,我要2M,10M,IP QoS 三种模型,Best-Effort模型:是目前Internet的缺省服务模型,主要实现技术是先进先出队列(FIFO) IntServ模型:业务通过信令向网络申请特定的QoS服务,网络在流量参数描述的范围内,预留资源以承诺满足该请求 DiffServ模型:当网络出现拥塞时,根据业务的不同服务等级约定,有差别地进行流量控制和转发来解决拥塞问题,Best-Effort 模型,Best-Effort是单一的服务模型,也是最简单的服务模型 应用程序可任意发送任意报文,不需要事先得到批准或通知网络
4、 网络尽最大可能发送这些报文,但对时延,可靠性等性能不提供任何保障 Best-Effort service是目前Internet的缺省服务模型,主要实现技术是先进先出队列(FIFO),Best-Effort举例:,如图所示为发生拥塞时,网络设备的一个接口在不支持QoS的情况下,报文的发送情况:,IntServ模型,为应用提供可控制的、端到端的服务 网络单元支持QoS的控制机制 应用程序向网络申请特定的QoS服务 信令协议在网络中部署QoS请求 RSVP是主要使用的信令协议,RSVP原理,我要预留 2Mbps带宽,OK!,我要预留 2Mbps带宽,我要预留 2Mbps带宽,我要预留 2Mbps带
5、宽,OK!,OK!,OK!,开始通信,RSVP的问题,要求端到端所有设备支持这一协议网络单元为每个应用保存状态信息,可扩展性差周期性同相邻单元交换状态信息,协议报文开销大不适合在大型网络中应用,DiffServ模型体系结构,DiffServ网络,DiffServ网络,SLA/TCA,边界节点,内部节点,边界节点,边界节点,内部节点,边界节点,在网络边缘进行业 务分类和流量调整。 - 业务分类. 基于DS域. 基于其他特征 - 流量调整. 测量. 标记. 丢弃. 整形,不同DS区域可有不同的PHB,以实现不同的服务提供策略,它们之间通过 SLA与TCA协调提供跨区域服务: . SLA:服务等级协
6、定,关于业务流在网络中传递时所应当获得的待遇。 . TCA:流量调整协定,关于业务分类准则、业务模型及相应处理的协定。,DS区域的服务提供 策略由PHB决定。 DS节点根据PHB属性 转发。,DiffServ举例:,图中则是一个用PQ(Priority Queuing)队列来支持QoS的报文发送情况:,QoS 的基本概念 报文的分类和标记 流量监管及整形 拥塞管理及避免 QoS调试,目录,报文分类及标记,ACL , IP优先级,报文分类及标记是QoS 执行服务的基础 报文分类使用技术:ACL和IP优先级 根据分类结果交给其它模块处理或打标记(着色)供核心网络分类使用,QoS 的基本概念 报文的
7、分类和标记 流量监管及整形 拥塞管理及避免 QoS调试,目录,流量监管,drop,令牌桶,流分类,CAR (Committed Access Rate):约定访问速率 令牌桶算法 对流量进行控制 整形(shaping)使业务流输出的速率符合业务模型的规定 丢弃(droping)根据特定规则丢弃分组 打标记(marking)设置报文的DS域(或IP优先级),CAR 配置命令,定义规则qos carl carl-index precedence precedence-value | mac mac-address 在接口上应用CAR策略或ACLqos car inbound | outbound
8、any | acl acl-number | carl carl-index cir committed-information-rate cbs committed-burst-size ebs excess-burst-size green action red action在每个接口上(inbound和outbound方向上),一共可应用100条CAR策略 在应用策略前,应该先禁止快速转发功能,CAR配置举例,H3C qos carl 1 precedence 3 H3C qos carl 2 precedence 5 H3C-ethernet0/0 qos car inbound an
9、y cir 800000 cbs 150000 ebs 0 green remark-prec-continue 5 red discard H3C-serial1/0 qos car inbound any cir 80000 cbs 150000 ebs 0 green remark-prec-continue 3 red discard H3C-serial0/0 qos car outbound carl 1 cir 80000 cbs 150000 ebs 0 green pass red discard H3C-serial0/0 qos car outbound carl 2 c
10、ir 80000 cbs 150000 ebs 0 green pass red discard,E0/0,S0/0,S1/0,流量整形,队列,流分类,256Kbps,128Kbps,FR,128Kbps,GTS (Generic Traffic Shaping): 解决链路两边的接口速率不匹配 对报文的流量进行限制,对超出流量约定的报文进行缓冲 流量整形可能会增加延迟,令牌,GTS配置命令,为某一类别流配置整形参数 qos gts acl acl-index cir committed-rate cbs burst-size ebs excess-burst-size queue-lengt
11、h queue-length 为所有的流配置整形参数qos gts any cir committed-rate cbs burst-size ebs excess-burst-size queue-length queue-length 这两条命令不能在同一接口使用 配置整形参数之前,应先关闭快速转发功能 Queue length 的默认值为 50,GTS配置举例,S0/0,S0/0,RouterA,RouterB,RouterA-Serial0/0 qos gts any cir 80000 cbs 150000 ebs 0 queue-length 1000,RouterB-Serial
12、0/0 qos car inbound any cir 80000 cbs 150000 ebs 0 green pass red discard,物理接口总速率限制,LR (Line Rate): 在一个物理接口上,限制接口发送报文(包括紧急报文)的总速率 LR采用了令牌桶进行流量控制, 所有经由接口发送的报文首先要经过LR的令牌桶进行处理 利用QoS丰富的队列来缓存报文,流分类,256Kbps,128Kbps,QoS队列,LR 的配置,LR的配置命令qos lr cir committed-rate cbs burst-size ebs excess-burst-size ,LR的配置举例
13、,H3C-Serial0/0 qos lr cir 80000 cbs 150000 ebs 0,QoS 的基本概念 报文的分类和标记 流量监管及整形 拥塞管理及避免 QoS调试,目录,拥塞管理,输出队列,流分类,网络拥塞时,保证不同优先级的报文得到不同的QoS待遇,包括时延、带宽等。 将不同优先级的报文入不同的队列,不同队列将得到不同的调度优先级、概率或带宽保证 算法: FIFO( First In First Out ) PQ( Priority Queue ) CQ( Custom Queue ) WFQ( Weighted Fair Queuing ) CBQ (Class Based
14、 Queue),先进先出队列,FIFO (First In First Out): 算法简单,转发的速度快 所有报文统一对待,先进先出,没有任何区别 Internet 的默认服务模式Best-Effort采用的队列策略,转发数据包,FIFO配置,配置FIFO队列中可容纳包的个数 qos fifo queue-length queue-length H3C 路由器接口的默认工作方式为FIFO 队列的默认长度为75,取值范围1-1024 查看接口配置的队列策略display interface interface-type interface-number,H3C display interfac
15、e s0/0 Input queue : (size/max/drops) 0/50/0FIFO queueing: FIFOOutput queue: (size/max/drops)FIFO: 0/75/0,优先队列,PQ (Priority queuing): 优先队列,可以保障高优先级队列的服务质量 PQ分为四个队列:High,Medium, Normal,Low 较高的优先级的队列优先调度,drop,流分类,PQ配置命令(1),配置优先队列(Priority-list Queuing) 根据接口配置优先队列 qos pql pql-index inbound-interface ty
16、pe number queue top | middle | normal | bottom 根据网络层协议配置优先队列qos pql pql-index protocol protocol-name queue-key key-value queue top | middle | normal | bottom 配置缺省优先队列 qos pql pql-index default-queue top | middle | normal | bottom 缺省情况下,未建立任何缺省优先队列,PQ配置命令(2),在接口上应用优先队列组qos pq pql pql-index 指定优先队列的队列长
17、度(可选) qos pql pql-index queue top | middle | normal | bottom queue-length queue-length 优先队列的缺省长度值,PQ配置举例,H3C acl 2000 H3C-acl-2000 rule permit ip source 10.10.0.0 0.0.255.255 H3C qos pql 1 protocol ip acl 2000 queue top H3C qos pql 1 inbound-interface serial 1/0 queue bottom H3C qos pql 1 default-qu
18、eue middle H3C qos pql 1 queue top queue-length 10 H3C-Serial0/0 qos pq pql 1,S0/0,S1/0,10.10.0.0/16,定制队列,CQ (Custom queuing): 定制队列,用户可配置队列占用的带宽比例关系 CQ共分为17个队列: 0号队列为系统队列,优先调度; 1-16为用户队列,轮询调度 各队列在统计规律上满足用户配置的带宽比例,drop,流分类,Queue 0,Queue 1,Queue 2,Queue 16,CQ配置命令(1),配置定制队列(Custom-list Queuing) 根据接口配置定
19、制队列 qos cql cql-index inbound-interface type number queue queue-number 根据网络层协议配置定制队列 qos cql cql-index protocol protocol-name queue-key key-value queue queue-number 配置缺省定制队列 qos cql pql-index default-queue queue-number未配置缺省定制队列,缺省队列的缺省值为1。,CQ配置命令(2),在接口上应用定制队列组qos cq cql cql-index 配置定制队列的队列长度(可选)qos
20、 cql cql-index queue queue-number queue-length queue-length 配置定制队列连续发送字节数(可选)qos cql cql-index queue queue-number serving byte-count,CQ配置举例,S0/0,S1/0,10.10.0.0/16,H3C acl 2000 H3C-acl-2000 rule permit ip source 10.10.0.0 0.0.255.255 H3C qos cql 1 protocol ip acl 2000 queue 1 H3C qos cql 1 queue 1 qu
21、eue-length 100 H3C qos cql 1 queue 1 serving 5000 H3C qos cql 1 inbound-interface serial 1/0 queue 2 H3C qos cql 1 queue 2 queue-length 90 H3C qos cql 1 queue 2 serving 1000 H3C-serial0/0 qos cq cql 1,加权公平队列,WFQ (Weighted fair queuing): 加权公平队列,保证相同优先级业务间公平,不同优先级业务间加权 最大队列数目可配置(16-4096) 采用HASH算法尽量将不同
22、的数据流分入不同的队列,自动完成 权值依赖于IP报文头中携带的IP优先级,drop,流分类,WFQ配置,配置命令qos wfq queue-length max-queue-length queue-number total-queue-number Max-queue-length的缺省值为64个报文 Total-queue-number的缺省值为256个动态队列,配置举例,S0/0,H3C-Serial0/0 qos wfq queue-length 64 queue-number 512,基于类的队列,CBQ(基于类的队列,Class Based Queue)是对WFQ 功能的扩展,为用
23、户提供了定义类的支持。 将PQ 特性引入CBQ,称其为LLQ(Low Latency Queuing,低延迟队列),为语音报文这样的对延迟敏感的数据流提供严格优先发送服务。,drop,流分类,LLQ,CBQ的基本概念,类CBQ根据设定的规则匹配输出的数据包,并将它们放入不同的队列。 流行为 匹配类的流量行为,即一组具体的QoS特性。 策略 一组类和相应的流行为的集合。,系统预定的类,系统预定的类 系统预定义了一些类,并为这些类定义了通用的规则,用户定义策略时可直接使用这些类,这些类包括: 缺省类Default class:匹配的是缺省数据流。 基于DSCP 的预定义类, ef、af1、af2、
24、af3、af4:分别匹配IP DSCP 值ef、af1、af2、af3、af4 基于IP 优先级的预定义类,ip-prec0,ip-prec1,ip-prec7:分别匹配IP 优先级0,1,7 基于MPLS EXP 的预定义类,mpls-exp0,mpls-exp1, mpls-exp7:分别匹配MPLS EXP 值0,1,7,系统预定义的流行为,系统预定义的流行为 系统预定义了一些流行为,并为这些流行为定义了QoS 特性 ef:定义了一个特性为入EF 队列,占用带宽为接口可用带宽的20% af:定义了一个特性为入AF 队列,占用带宽为接口可用带宽的20% be:不定义任何特性,系统预定义的策
25、略,系统预定义的策略 系统预定义了一个策略,为该策略指定了使用的预定义类,并为这些类指定预定义的动作。该策略名为default,具有缺省的CBQ 动作。 default 策略的具体规则如下: 预定义类ef,采用预定义流行为ef 预定义类af1af4,采用预定义流行为af default-class 类,采用预定义流行为be,定义类并配置其匹配规则,定义类并进入类映射视图(在系统视图下) traffic classifier tcl-name operator and | or 用户定义的类名tcl-name 不允许为系统预定义类。缺省为and,即类视图下各匹配规则之间的关系为逻辑与。 定义类的
26、匹配规则 if-match not any 定义匹配所有数据包的规则 if-match not classifier tcl-name 定义classifier 匹配规则 if-match not acl access-list-number 定义ACL 匹配规则 if-match not destination-mac | source-mac mac-address 定义MAC 地址匹配规则,定义类并配置其匹配规则,if-match not inbound-interface interface-name | interface-type interface-number 定义类的入接口匹
27、配规则 if-match not dscp dscp-value 定义DSCP 匹配规则 if-match not ip-precedence ip-precedence-value 定义IP 优先值匹配规则 if-match not rtp start-port starting-port-number end-port end-port-number 定义RTP 协议端口匹配规则 if-match not protocol protocol-name 定义协议匹配规则,定义流行为并配置其特性,定义一个流行为并进入流行为视图 traffic behavior behaviornamebeha
28、vior-name:流行为名,不允许为系统预定义流行为 配置流行为特性 queue af bandwidth bandwidth | pct percentage 配置确保转发(AF),并配置最小可保证带宽 queue ef bandwidth bandwidth cbs burst | pct percentage 配置加速转发(EF),并配置最大带宽 queue wfq queue-number total-queue-number 配置采用公平队列 queue-length queue-length 配置最大队列长度 该命令必须在配置了queue af 和queue wfq 后使用;执行
29、undo queue af或undo queue wfq 命令,则queue-length 也同时被取消,定义流行为并配置其特性,wred dscp | ip-precedence 配置丢弃方式为随机丢弃方式 该命令必须在配置了queue af 或queue wfq 后使用 wred weighting-constant exponent 配置WRED 计算平均队长的指数 需配置了queue af,并已用wred 使能了WRED 丢弃方式后才可以配置该命令。 wred dscp dscp-value low-limit low-limit high-limit high-limit disca
30、rd-probability discard-prob 配置WRED 各DSCP 的下限、上限和丢弃概率分母 wred ip-precedence precedence low-limit low-limit high-limit high-limit discard-probability discard-prob 设置WRED 各优先级的下限、上限和丢弃概率分母,定义流行为并配置其特性,car cir committed-information-rate cbs committed-burst-size ebs excess-burst-size green action red acti
31、on 配置使用流量监管 gts cir committed-information-rate cbs burst-size ebs excess-burst-size queue-length queue-length 配置使用流量整形 remark dscp dscp-value 配置标记报文的DSCP 值 remark ip-precedence ip-prec-value 配置标记报文的IP 优先级值 remark fr-de fr-de-value 配置标记FR 报文的DE 标志位的值,配置策略,定义策略并进入策略视图 qos policy policy-name 策略创建时,具有缺省
32、类default-class,该类关联be 行为。 在策略中为类指定采用的流行为 classifier tcl-name behavior behavior-name 在接口或ATM PVC 应用关联的策略 qos apply policy policy-name inbound | outbound ,CBQ配置举例,定义类class1,其匹配规则为 IP precedence 为5: H3C traffic classifier class1 H3C-classifier-class1 if-match ip-precedence 5 定义一个名叫 test的流行为, 配置流的最小带宽为
33、200Kbps ,最大队列长度为 16。 H3C traffic behavior test H3C-behavior-test queue af bandwidth 200 H3C-behavior-test queue-length 16 定义策略 huawei, 并在其中为类 class1指定流行为 test 。 最后将该策略应用在接口 Ethernet6/0的出方向上。 H3C qos policy huawei H3C-qospolicy-huawei classifier class1 behavior test H3C-Ethernet6/0 qos apply policy h
34、uawei outbound,拥塞避免,传统的尾丢包在网络发生拥塞时对报文全部丢弃,并不加以区分 TCP慢启动导致全局同步化 进行拥塞避免,在网络没有发生拥塞以前根据队列状态进行有选择性的丢包 算法:RED、WRED,拥塞避免,WRED (Weighted Random Early Detection): 加权随机早期检测 采用随机丢弃的策略,避免了尾部丢弃的方式而引起TCP全局同步 根据当前队列的深度来预测拥塞的情况 根据优先级定义不同的丢弃策略,定义上限阈值和下限阈值 相同的优先级不同的队列,队列长度越长丢弃概率越高,drop,流分类,下限阈值,上限阈值,WRED配置命令,使能WREDqo
35、s wred 配置WRED计算平均队长的指数(可选)qos wred weighting-constant exponent exponent 的值表示WRED对实际队列长度的变化灵敏度,越小越灵敏 配置WRED各优先级参数(可选) qos wred ip-precedence ip-precedence low-limit low-limit high-limit high-limit discard-probability discard-prob丢弃概率分母的倒数将作为最大丢弃的概率:该值越小,丢弃概率越大,WRED配置举例,H3C-Serial0/0 qos wfq H3C-Serial0/0 qos wred,S0/0,QoS 的基本概念 报文的分类和标记 流量监管及整形 拥塞管理及避免 QoS调试,目录,QoS信息的监控与维护,显示接口的QoS配置情况和统计信息 display qos car | qts | lr | cq | pq | wfq | cbq | wred interface type number 显示PQ和CQ的队列列表内容display qos cql | pql | cbq ,