目录
一、QoS大纲思维导图编辑
二、Qos概述
2.1、QOS三种服务模型:
2.1.1、尽力而为服务模型
2.1.2、综合服务模型(现实网络中并不多见)
2.1.3、区分服务模型(目前最常用)
三、分类和标记——分类(2种)
3.1、分类和标记——标记
3.1.1、简单流分类:
3.2、分类和标记
四、拥塞管理与拥塞避免
4.1、拥塞管理
4.2、拥塞管理配置:
1、queue-profile: (queue:队列)
2、CBQ(class-base-queue)使用MQC工具模型来配置queue就是CBQ
4.2、队列调度算法:
4.2.1、FIFO(first in first out)先进先出
4.2.2、PQ(Prioroty Queuing) 优先队列
4.2.3、WRR(Weighted Round Robin) 加权轮询调度(权重大的多调取一点,权重小的少调取)
4.2.4、WFQ(Weighted Fair Queuing) 加权公平队列
4.2.5、PQ+WFQ 最常用方案
4.2.6、CBQ (class-based Quenueing) CBQ要结合MQC来做
4.3、拥塞避免
4.3.1、尾丢弃:
4.4、拥塞避免配置:
五、流量整形与流量监管
5.1、流量监管 TP(Traffic Policing)
5.2、流量整形 TS(Traffic shaping)
5.3、LR:Line Rate 限速(只能基于接口,配置简单,思科没有LR只有TS与TP)
六、令牌筒技术(测速算法)
6.1、令牌筒定义
6.1.1单速单桶:
6.1.2、单速双桶:令牌以CIR速度放入第一个令牌桶,满了后像第二个桶放
6.1.3、双速双桶:
Quality of Service,服务质量
影响网络质量的因素主要是:时延、抖动、带宽、丢包率
优点 |
缺点 |
|
尽力而为服务模型 |
实现机制简单 |
对不同业务流不能进行区分对待 |
综合服务模型 |
可提供端到端Qos服务,并保证带宽,延迟 |
需要跟踪和记录每个数据流的状态,实现较为复杂,且扩展性较差,带宽利用率较低 |
区分服务模型 |
不需跟踪每个数据流状态,资源占用少,扩展性较强,且能实现对不同业务流提供不同的服务质量 |
需要在端到端每个节点都进行手工部署,对人员能力要求较高 |
LP :Local priority 本地优先级
1、简单流分类:IP电话——(自带标记报文)——Router 在路由器上将流量定义为voice流量,只根据报文COS、IPP、EXP等进行分类。不参考IP地址mac地址 vlan端口等信息。
2、复杂流分类:可以基于IP、MAC、vlan、端口等信息对流量进行分类。
标记的作用:标记是为了避免重复分类,上游设备标记,下游多个设备直接调用标记提供差分服务即可。
①COS 服务类别(classify of service)——L2 层 : 802.1P(vlan封装的那个802.1q中的三个bit,优先等级可以为0-7,一共8个优先级) MPLS里也有个 EXP位
②TOS 服务类型(Type of service)——L3 层: IPP DSCP (IPv6: Flow label 流标签 16bit) 2‘16次方
PHB 与DSCP 优先级映射关系
两种配置分类和标记的工具:
1、MQC :remark
2、QOS-map
①MQC: 通过MQC的remark对流进行分类和标记
MQC: Modular Qos Command-line(模块化的QOS命令行)
MQC包含三个要素:
实验:
配置前:DSCP位默认为0
配置后:DSCP位变成了AF12
[R1]traffic classifier AA //traffic classifier流分类
[R1-classifier-aa]if-match acl 2000
[R1]acl 2000
[R1-acl-basic-2000]rule 5 permit //抓取所有流量
[R1]traffic behavior BB //traffic behavior 流行为
[R1-behavior-bb]remark dscp af12 //将流标记为af12
[R1]traffic policy CC //traffic policy流策略
[R1-trafficpolicy-cc]classifier AA behavior BB
[R1]int GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]traffic-policy CC inbound //调用策略CC在0/0/0的入方向
②QOS-map: QOS映射(用的少)
如:QOS map-table dot1p-dscp input 3 output 18
DiffServ中的重要概念:
PHB(Per-Hop Behaviors)逐条行为,PHB是DS节点作用于数据流的行为,网络管理员可以配置DSCP到PHB的映射关系,如果DS节点收到一个报文,检查其DSCP,发现未定义到PHB的映射,则DS节点 将选择采用缺省PHB(即Best-Effort,DSCP=000000)进行转发处理,每个DS节点必须支持该缺省PHB。
PHB的分类,IETF DiffServ工作组目前定义了四种PHB:
PHB 优先级映射关系
拥塞现象的产生
拥塞管理通过队列机制来实现:
1、入队列:(拥塞管理实现的第一步)
LP(本地优先级,又称为内部优先级):优先级映射实现从数据原始携带的Qos优先级到内部优先级或从内部优先级到Qos优先级的映射。
优先级映射表
2、调度:(拥塞管理实现的第二步)
有两种配置拥塞管理的方法,实现各种队列调度机制:
可以支持PQ、WRR、WFQ等。华为PQ只能和(wfq或WRR或DRR)组合,每个接口固定8个队列。
[R2]qos queue-profile aa //固定8个队列 0-7
[R2-qos-queue-profile-aa]schedule wfq 0 to 4 pq 5 to 7 //队列5-7为 PQ算法,0-4为WFQ算法 [R2]int GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]qos queue-profile aa //出方向调用
[R2]dis qos queue-profile aa
Queue-profile: aa Queue Schedule Weight Length(Bytes/Packets) GTS(CIR/CBS)
-----------------------------------------------------------------
0 WFQ 10 -/- -/-
1 WFQ 10 -/- -/-
2 WFQ 10 -/- -/-
3 WFQ 10 -/- -/-
4 WFQ 10 -/- -/-
5 PQ - -/- -/-
6 PQ - -/- -/-
7 PQ - -/- -/-
[R2]qos queue-profile aaa
[R2-qos-queue-profile-aaa]queue 4 weight 25 //修改队列4权重为25
[R2]dis qos queue-profile aa
Queue-profile: aa Queue Schedule Weight Length(Bytes/Packets) GTS(CIR/CBS)
-----------------------------------------------------------------
0 WFQ 10 -/- -/-
1 WFQ 10 -/- -/-
2 WFQ 10 -/- -/-
3 WFQ 10 -/- -/-
4 WFQ 25 -/- -/-
5 PQ - -/- -/-
6 PQ - -/- -/-
7 PQ - -/- -/-
CBQ基于类的加权公平队列是对WFQ功能的拓展,为用户提供了自定义类的支持,CBQ首先根据traffic classifier来对报文进行分类,然后让不同类别的报文进入不同的队列,对于不匹配任何类别的报文,会送入系统定义的缺省类。
四类队列:
CBQ提供三类队列:
当软件队列满了之后,再来报文就要丢弃了,此时就要使用拥塞避免技术。
当队列的长度达到最大值后,所有新入队列的报文(缓存在队列尾部)都将被丢弃。
缺点:
这种丢弃策略会引发TCP全局同步现象,导致TCP连接始终无法建立。所谓TCP全局同步现象如图,三种颜色表示三条TCP连接,当同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入拥塞避免和慢启动状态而导致流量降低,之后又会在某个时间同时出现流量高峰,如此反复,使网络流量忽大忽小。
4.3.2、WRED丢弃算法 (Weighted Random Early Detection)
为避免TCP全局同步现象,出现了RED(Random Early Detection)技术。RED通过随机地丢弃数据报文,让多个TCP连接不同时降低发送速度,从而避免了TCP的全局同步现象。使TCP速率及网络流量都趋于稳定。
基于RED技术,设备实现了WRED(Weighted Random Early Detection)。流队列支持基于DSCP或IP优先级进行WRED丢弃。每一种优先级都可以独立设置报文丢包的上下门限及丢包率,报文到达下限时,开始丢包,随着门限的增高,丢包率不断增加,最高丢包率不超过设置的丢包率,直至到达高门限,报文全部丢弃,这样按照一定的丢弃概率主动丢弃队列中的报文,从而一定的程度上避免拥塞问题。
WRED技术可以通过对不同优先级数据包或队列设置相应的丢弃策略,以实现对不同流量进行区分丢弃。
弥补了尾丢弃的三个缺点,且大大提高了链路带宽利用率。
配置:drop-profile里面定义不同流量的丢弃比例,最小门限,最高门限,然后将drop-profile可以调用在CBQ(即MQC工具)里面,也可以被调用在queus-profile里面
[R2]drop-profile D
[R2-drop-profile-D]wred dscp //wred配置
[R2-drop-profile-D]dscp af11 low-limit 30 high-limit 90 discard-percentage 40//针对于AF11流量 低门限30% 高门限90% 尾丢弃比例40%
[R2-drop-profile-D]dscp af12 low-limit 40 high-limit 95 discard-percentage 20 在queue-profile里面调用: 基于队列模板
[R2]qos queue-profile AA
[R2-qos-queue-profile-AA]schedule wfq 0 to 4
[R2-qos-queue-profile-AA]queue 0 to 4 drop-profile D //注意PQ不能调用drop-profile 在CBQ里面调用: 基于流策略
[R2]traffic behavior XX
[R2-behavior-XX]queue wfq
[R2-behavior-XX]drop-profile D //注意EF和LLQ队列不能调用drop-profile
流量监管就是对流量进行控制,通过监督进入网络的流量速率,对超出部分的流量进行惩罚,使进入的流量被限制在一个合理的范围之内,从而保护网络资源和用户的利益
特点:入方向 出方向都可以
惩罚机制(对超出的流量直接丢弃) 造成较高丢包率 链路空闲时带宽得不到充分利用
配置方式有两种:
A配置方式:基于接口 int g0/0/1 qos car inbound cir 8 //car(Committed information rate承诺速率)8(Unit: Kbps) B配置方式:基于MQC traffic behavior AA car cir 8
流量整形是一种应用于接口、子接口或队列的流量控制技术,可以对从接口上经过的所有报文或某类报文进行速率限制。当下游设备的入接口速率小于上游设备的出接口速率或发生突发流量时,下游设备入接口处可能出现流量拥塞的情况,此时用书可以通过在上游设备的接口出方向配置流量整形,将下游不规整的流量进行消峰填谷,输出一条比较平整的流量,从而解决下游设备的拥塞问题。
特点:只能用于出方向 缓存机制(对超出流量缓存) 较少丢弃报文,充分利用带宽,引入额外时延和抖动需要高缓存。
流量整形处理流程:
根据配置方式不同可以分为如下:
1、GTS(Generic Traffic Shaping)通用流量整形
方法1 基于接口 [R2]int GigabitEthernet 0/0/1 [R2-GigabitEthernet0/0/1]qos gts cir 8 (8kbps) 方法2 基于queue-profile(基于队列) [R2]qos queue-profile BB [R2-qos-queue-profile-BB]queue 3 gts cir 8 方法3 基于MQC [R2]traffic behavior FF [R2-behavior-FF]gts cir 8
2、FRTS:仅基于接口(帧中继TS,不大用了不做具体描述)
流量整形与流量监管的主要区别在于
在进行报文流量控制时,流量监管是对超过流量限制的报文进行丢弃,而流量整形则将超过流量限制的报文缓存在队列中,等待链路空闲时候在发送。流量整形对原本要丢弃的报文进行缓存,当令牌桶有足够的令牌时,在均匀的向外发送这些被缓存的报文。流量整形与流量监管的另一区别是,整形可能会增加延迟,而监管几乎不引入额外的延迟。
LR在交换机与路由器功能不一样:
在交换机上:
在路由器上:
LR:只能基于接口,配置简单 inte g0/0/1 qos lr pct 33 //百分比
令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。
在使用令牌桶对流量进行评估时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文,称流量遵守或符合约定值,否则称为流量超标或不符合约定值。
关于令牌桶处理报文的方式,RFC中定义了两种标记算法:
两种算法的评估结果都是为报文打上红、黄、绿三种颜色的标记,所以称为“三色标记”。QoS会根据报文的颜色做相应的处理,两种算法都可以工作于色盲模式(默认是色盲模式)和色敏模式下。以下以色盲模式为例对标记算法进行详细介绍。
流量整形: 平滑 缓存下来 消峰填谷 仅单速单筒
令牌筒(测速算法)
CIR(Committed Information Rate)承诺信息速率
CBS(Committed Burst Size) 承诺突发尺寸
EBS (Extended Burst Size) 超额突发尺寸
PIR(Peak Information Rate) 表示峰值信息速率
PBS(Peak Burst Size)表示峰值突发尺寸、
CIR=CBS /△T
CBS:令牌桶的大小(该桶最多可以放多少令牌)
△T:时间周期 一个△T周期内将令牌桶填满
TC:Time CBS 当前时间内令牌桶(C桶)中令牌的数量
TE:当前时刻
流量 流量>TC 两个桶相互独立,突发相对可控 流量监管(TP)用该机制比较多 双速双桶的配置要配置两个数据:PIR峰值信息速率、CIR 承诺信息速率 6.2、色敏模式 色敏模式下,如果到达的报文本身已经被标记为红、黄、或者绿等颜色,令牌桶对流量的评估会参考报文已标记颜色,即报文本身已携带颜色会影响令牌桶的评估结果,评估机制简单的来说遵循以下原则:6.1.2、单速双桶:令牌以CIR速度放入第一个令牌桶,满了后像第二个桶放
6.1.3、双速双桶: