服务访问质量Qos

流量过多,网络拥塞无法避免,通过Qos技术让重要的数据先走。

Qos模型:
默认是为尽力而为模型,区分服务模型用的最多
RBR:策略路由 MPLS BGP

Qos实现通过三种方法:分类标记——流量控制——拥塞管理(拥塞避免)

IP报头中的TOS(8bit):优先级0~7,未做限制默认优先级0
IP报头中的DSCP:优先级0~63

一.分类标记
1.通过ACL抓取流量
2.class-map关联ACL(类表)
3.policy-map做动作(策略表)
4.应用在接口

二.流量×××
GTS:流量×××,将超出部分缓存(缓存上限默认1000个包)起来,稍后传输(易有延迟)
CAR:承诺访问速率,将超出的部分直接丢弃掉。(可能造成数据重传风险)

GTS:应用在out(出口)方向,单位为bit
Int e0/0#:traffic-shape rate 800000(CIR) 100000(Bc) 100000(Be) 1000(队列长度)
这种是直接应用在接口的,也可以应用ACL

通过ACL的GTS
R1(config)# access-list 100 permit ip 192.168.1.1 0.0.0.255 any //通过ACL抓取流量
R1(config)# class-map ban //创建名字为ban的类表
R1(config-cmap)# match access-group 100 //关联表号为100的ACL
R1(config)#policy-map peng //创建策略表peng
R1(config-pmap)#class ban //关联调用类表 ban
R1(config-pmap-c)#shape average 800000(cir) //GTS的CIR,没有Bc和Be的概念

Int e0/0#:servrce-policy output peng //应用在接口出方向,只能应用在出口方向

CAR:应用在接口的int/out(进出口)方向 CIR单位bit,Bc、Be单位字节
Int e0/0#: rate-limit (input/output) 800000(CIR) 2000(Bc) 4000(Be) conform-action transmit exceed-action drop //符合规则的转发,不符合的丢弃

通过ACL的CAR
R1(config)# access-list 100 permit ip 192.168.1.1 0.0.0.255 any //通过ACL抓取流量
R1(config)# class-map ban //创建名字为ban的类表
R1(config-cmap)# match access-group 100 //关联表号为100的ACL
Exit //退出
R1(config)#policy-map peng //创建策略表peng
R1(config-pmap)#class ban //关联调用类表 ban 一个策略表可以关联多个类表
R1(config-pmap-c)#police 800000 1500 3000 conform-action transmit exceed-action transmit violate-action drop //平均速率80W bit,1500 B突发,3000 B额外突发,
符合平均的转发,突发量转发,额外突发量丢弃

Int e0/0#:servrce-policy int/out peng //应用在接口进出方向

三.拥塞管理

WFQ:按照比例进行转发,低优先级的数据包也在转发(低优先级转发比例较小)
CBWFQ:优先转发LLQ的数据,剩下的按照WFQ方式转发(只能应用在out方向)
保证最小带宽数。

R1(config)# access-list 100 permit ip 192.168.1.1 0.0.0.255 any //通过ACL抓取流量
R1(config)# access-list 101 permit ip 192.168.10.1 0.0.0.255 any //通过ACL抓取流量
R1(config)# access-list 102 permit ip 192.168.20.1 0.0.0.255 any //通过ACL抓取流量

R1(config)# class-map ban //创建名字为ban的类表
R1(config-cmap)# match access-group 100 //关联表号为100的ACL

R1(config)# class-map ban1 //创建名字为ban1的类表
R1(config-cmap)# match access-group 101 //关联表号为100的ACL

R1(config)# class-map ban2 //创建名字为ban2的类表
R1(config-cmap)# match access-group 102 //关联表号为100的ACL

R1(config)#policy-map peng //创建策略表peng
R1(config-pmap)#class ban //关联调用类表 ban 一个策略表可以关联多个类表
R1(config-pmap-c)# bandwidth percent 50 //分配的总带宽的百分比50%(默认可分配75%的流量)
R1(config-pmap)#class ban1
R1(config-pmap-c)# bandwidth percent 10 //分配的总带宽的百分比10%(默认可分配75%的流量)
R1(config-pmap)#class ban2
R1(config-pmap-c)# bandwidth percent 10

Inte0/0#:service-policy output ftp //CBWFQ只能用在out方向

通过ACL抓取流量——通过class-map调用ACL——通过policy-map调用class-map做动作。