服务访问质量QOS

what这是什么?

QoS:Quality of Service 服务质量

why为什么用?

网络现状:延迟,抖动,丢包

当网络过载或拥塞时,QoS 能确保重要业务量不受延迟丢弃,同时保证网络的高效运行。

where用在那儿?

当网络过载、延迟和拥塞,需要提高网络访问质量又不想增加网络成本时

1、QoS概述

随着网络的高速发展,接入网络的用户越来越多,网络提供的服务也越来越多,网络普及,业务多样化,使得网络流量迅速增大,导致网络带宽不能满足网络的需求,这时就出现了网络拥塞现象。
由于网络拥塞导致报文产生不能预期的传达,延迟拉动,丢包等现象,将造成业务质量的下降甚至不可使用。为了应对网络拥塞,最直接的方式就是扩大网络带宽,但是由于技术或经济等方面的限制有时不能通过增加带宽的方法来解决,这时就需要一种技术能够在有限的带宽上保证报文的带宽以免延迟,丢包,这种技术就是QoS技术。

在企业或运营商的网络环境中部署QoS时,能够保证低延时,应用业务的快速转发,控制网络拥塞时的丢包率,在网络拥塞时为不同的业务保留一定带宽等。

1.1 网络拥塞的产生

  1. 数据从高速端口进入设备,从低速端口转发出去。

  2. 流量汇聚,流量由多个端口进入设备,从一个端口转发出去,并且进入设备端口的速率之和大于转发接口的速率。

img

1.2 网络拥塞的影响

  1. 报文传输延迟,延迟抖动和丢包率增加。

  2. 由于过高的延迟和丢包导致报文重传,增加网络负担。

  3. 由于网络拥塞,报文重传导致网络的有效吞量降低。

1.3 网络拥塞的解决方法

  1. 进行带宽升级。

  2. 使用QoS技术合理分配带宽,降低网络拥塞的影响。

2、QoS的三种模型

  1. Best-Effort service,尽力而为的服务模型

先进先出的转发(默认就存在,无需配置)

  1. Integrated service,综合服务模型

提前申请网络资源,各节点预留资源(就是每个用户或对象都有预留的带宽,其它用户无法占有或使用。严重浪费网络资源,这里不做介绍)

  1. Differentiated service,区分服务模型

不预留资源,通过多种方法指定报文的QoS

2.1 流分类与流量监控

1.流分类

流分类是进行区别服务的基础,流分类可以使用报文的优先级,识别不同优先级特征的流量;也可以使用源地址,目的地址,MAC地址,协议或端口等信息来识别不同流量。流分类必须与某种流量控制或带宽分配的动作关联起来才有意义。

2.流量监控

承诺平均速率(CIR): 允许流量通过的平均速率。

突发量(Committed Burst size,BC): 允许突发产生流量的大小,设置的大小必须大于最大报文长度。

额外突发量(Excess Burst size,BE): 表示流量超出突发量后还可以转发的流量的大小

2.2 流量策略

a) 转发:对于合规流量和违规流量都可以设置策略为转发。

b) 丢弃:对于合规流量和违规流量都可以设置策略为丢弃。

c) 标记:标记报文的优级。例如,将合规流量报文的IP优先级设定为5,而将违规流量报文的IP优先级设定为0。

d) 进入下一级流量策略:流量策略可以多级处理,可以将流量提交给下一级流量策略来进行控制。

2.3 流量整形与承诺访问速率

img

3、流量整形的配置

3.1 基本流量整形配置

1
Router(config-if)#traffic-shape rate {**CIR** [**Bc** [**Be**]]} [**buffer-limit**]

3.2 基于ACL的流量整形配置

1
Router(config-if)#traffic-shape group [**access-group**] {**CIR** [**Bc** [**Be**]]}

例:

1
2
3
4
5
Router(config)#access-list 100 permit udp any any
Router(config)#interface Ethernet 0/0
Router(config-if)#traffic-shape rate 1000000
Router(config)#interface Ethernet 0/1
Router(config-if)#traffic-shape group 100 1000000 1000000 1000000

查看网络整形配置信息

1
Router#show traffic-shape queue

3.3 基本承诺访问速率

1
2
3
4
Router(config-if)# rate-limit {input|output} {CIR} {burst-normal} {burst-max} conform-action {action} exceed-action {action}
例:
Router(config-if)#rate-limit input 8000000 2000 4000 conform-action transmit exceed-action drop
Router(config-if)#rate-limit input 8000000 2000 4000 conform-action set-prec-transmit 5 exceed-action set-prec-transmit 0

3.4 扩展的承诺访问速率

首先配置ACL,定义需要整形的流量

1
Router(config-if)# rate-limit {input|output} [access-group **access-group**] {**CIR**} {**burst-normal**} {**burst-max**} conform-action {**action**} exceed-action {**action**}

查看CAR配置信息

1
Router#show interface [ **interface-type interface-number** ]   rate-limit

4、拥塞管理技术概述

4.1 拥塞管理技术

a) 先进先出队列(FIFO)

b) 优先级队列(PQ)

c) 定制队列(CQ)

d) 加权公平队列(WFQ)

e) 基于类的加权公平队列(CBWFQ)

4.2 加权公平队列(WFQ)

img

4.3 基于类的加权公平队列(CBWFQ)

img

4.4 例:

img

1) 定义ACL

1
2
3
4
5
R1(config)#access-list 100 permit ip host 10.0.1.2 host 10.0.0.1

R1(config)#access-list 101 permit ip host 10.0.1.2 host 10.0.0.2

R1(config)#access-list 102 permit ip host 10.0.1.2 host 10.0.0.3

2) 定义类的映射表

1
2
3
4
5
6
7
8
9
10
11
Rl (config) #class-map match-all ftp2    //定义名称为ftp2的类

Rl (config-cmap) #match access-group 101 //匹配ACL 101的流量属于类ftp2

Rl (config) #class-map match-all ftp3

R1 (config-cmap) #match access-group 102

R1 (config) #class-map match-all ftpl

R1 (config-cmap) #match access group 100

3) 定义策略

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
R1 (config) #policy-map ftp         //定义名称为ftp的策略

R1 (config-pmap) #class ftpl //进入类ftp1

R1 (config-pmap-c) #bandwidth 4000 //为类ftp1设定策略,拥塞时带宽为4000kb/s

R1 (config-pmap-c) #exit

Ri (config-pmap) #class ftp2

R1 (config-pmap-c) #bandwidth 1600

R1 (config-pmap-c) #exit

R1 (config-pmap) #class ftp3

R1 (config-pmap-c) #bandwidth 1600

R1 (config-pmap-c) # exi t

R1 (config-pmap) #class class-default //配置其他流量为默认类

R1 (config-pmap-c) #fair-queue //对其他流量启用公平队列,和bandwidth同时使用

Ri (config-pmap-c) #exit

R1 (config-pmap) #exit

4) 将策略应用于接口

1
2
3
R1(config)#interface FastEthernet0/1

R1(config-if)#service-policy output ftp //CBWFQ只能应用于output方向

如需要配置LLQ最大带宽,使用如下命令

1
R1 (config-pmap-c)#priority {bandwidth-kbps | percent percentage}

//bandwidth-kbps 表示流量,单位为KB

//percent percentage 表示占总带宽的百为比

-------------本文结束感谢您的阅读-------------