QOS学习笔记一QOS概述(一)QOS的作用:解决特定数据的延迟、抖动、丢包问题。
(二)QOS的两种体系:1、集成服务:给某种特殊需保证的数据划出特定的带宽。
其他数据无法占用这个带宽。
像呼叫电路一样,呼能字一条电路才开始传输。
RSVP带宽预留协议用在这个服务中。
2、区分服务:(diffserv)又称软QOS(1)用二层COS或三层TOS、dscp区分数据流。
DSCP是后来的标准。
(2)以类别为基础,一些类别的通信流优于其他类别的通信流得到处理。
先将通信流分类,然后将它们加入到效率不同的队列中。
(3)Diffserv 的应用在发送数据前不显示地通知网络设备。
二、区分服务(一)cos tos dscp的概念及区别:1、COS是在第二层ISL或802.1Q数据帧中的ISL或802。
1Q的报头中的3位用于COS,即优先标识。
3bit,0--7个级别。
2、TOS是在第三层IP数据包中的8位TOS数据位,以来标识优先级。
这8位中前3位表示优先级,后4位表示服务类型(分别为:最小延迟、最大吞吐量、最高可靠性、最小费用。
只能其中一位为1,即生效。
如果全为0就表示一般服务)。
最后一位一般不用,置03、DSCP也是三层IP中的8位TOS字段表示优先级。
不同的是用了前6位表示优先级,可设0--63,共64个等级。
(把前6位中的前3位设为优先级,后3位设为0,就可以实现DSCP和TOS互相映射兼容)。
最后两位为早期拥塞通知。
因为COS二层标记中也是3位用于优先级,所以也可以把COS和TOS和DSCP中的优先级映射。
(二)保证转发和快速转发dscp用8位TOS字段中的前6位表示优先级,其中前6位中的最后一位为0(xxxxx0),为IANA所管理的标准保留。
最后两位为11(xxxx11),为实验性或本地使用保留。
最后两位为01(xxxx01),为实验性或本地或将来扩展保留。
主要讲第一种,IANA所管理的标准保留。
1、AF:保证转发:用DSCP值来定义类别。
用6位优先级的前3位定义4种等优先等级,用4、5两位表示各类中的三种丢弃概率。
最后一位始终为0。
例:DSCP值的前六位为:001 01 0 ,前三位001是优先级类为1,4、5两位的丢弃概率为01,即表示低丢弃率。
DSCP值换成十进制为10。
2、EF:快速转发:通过快速转发EF PHB提供区分服务所定义的最高级别的服务质量。
DSCP 值为:101110, 换算为十进制为46。
这种服务一般提代给需要低丢弃率,低延迟,低抖动,带宽有保障的高保障服务。
如点到点连接的端点,VOIP通信流等。
(三)区分服务的基本过程:入站数据包---> 分类--->标记--->流量整型控制--->决定把某类数据包加入哪个传输队列--->加入某个队列--->再基于队列做拥塞避免--->出站边缘路由器对入站数据包根据各种方法进行分类。
对数据包进行重新标记。
并对分类的数据包进行流量和整型控制,以免超过入站流量限制,并对超过流量的数据包进行多种方式处理,可以重新标记。
然后送到不同的队列中,不同的队列带宽或优先级不同,以进行拥塞管理,然后基于不同的队列做拥塞避免。
(四)分别讲解QOS各个过程的详解处理方式:1、分类分类是通过数据包的特定优先级或DSCP及其他预定的参数来区分数据包。
分类决定数据包的内部DSCP值,交换机或路由器根据内部DSCP值进行QOS数据包的处理。
如果只启用QOS,没有做任何QOS配置,则所有通信流都被归为默认类别。
入站数据包的默认DSCP值为0,不管其原来的DSCP值为多少。
分类的方法:(1)按接口的的信任模式分类。
(2)接数据包的DSCP、IP优先级或COS分类(3)基于访问列表的分类(4)NBAR分类1.1 按接口的信任模式分类不信任接口类:接口接收的所有数据包的DSCP值都为0信任类:当接口配为信任时,根据原数据的优先级映射为DSCP内部优先级。
即把COS和TOS值映射为内部DSCP值。
指定接口接受数据包中的原有DSCP、ip优先级、COS值。
mls qos trust [dscp|cos|ip-precedence]mls qos map cos-dscp values //用8个空格隔开的DSCP值对应COS的0--7八个级别mls qos map ip-prec-dscp dscp-values //用8个空格隔开的DSCP值对应ip优先级的0--7八个级别例:#interface fast0/1#mls qos trust dscp#mls qos trust cos#mls qos trust ip-precedence //此接口信任原数据包的ip优先级,即原来的优先级是多少都转换为同级别的内部DSCP值。
#mls qos map cos-dscp 0 8 16 26 34 46 48 56 // 即把原数据包的值的COS值,转换为对应的DSCP内部值。
#mls qos map ip=prec-dscp 0 8 16 24 32 40 48 56 //即把原数据包值的IP优先值,转换为对应的DSCP内部值。
1.2基于NBAR(基于应用)的分类定义一个分类映射表在分类映射表子句下定义一个匹配条件。
再定义一个策略映射表并把类别映射表与策略映射表相关联定义这些匹配数据流的QOS特性,如带宽,COS,ip等把策略射表应用于接口的入站或出站上配置接口信任状态。
分步配置的命令:(1) 定义分类映射表class map(config)#class-map [match-any|match-all] classnamematch-any :匹配其中一个就可以执行。
match-all:必须全部匹配才可以执行classname:映射表名(2) class map 的匹配(config-cmap)# match access-group {ACL} //基于访问列表的分类(config-cmap)# match protocol {protocol} //匹配协议,NBAR分类(config-cmap)# match ip {dscp dscp} //匹配IP DSCP值。
(config-cmap)# match ip {precedence precedence} //匹配IP 优先级(config-cmap)# match input-interface {interface} //匹配进站接口(config-cmap)# match destination-address {mac mac-address} //匹配目标MAC地址(config-cmap)# match dsource-address {mac mac-address} //匹配源MAC地址(config-cmap)# match qos-group {group ID} //匹配组ID(config-cmap)# match class-map {map-name} //匹配CLASS MAP ,用于CLASS嵌套(config-cmap)# match vlan {vlan-id} //匹配VLAN(3)设置policy map (定义策略映射表,并把分类映射表与之关联)(config)# policy-map {policyname} //定义一个策略映表(config-pmap)# class {class-map} //把分类列表与之关联(4)配置优先级和DSCP,即重新标记(在策略映射表下)(config-pmap-c)#set ip {precedence precedence}(config-pmap-c)#set ip {dscp dscp}(config-pmap-c)#set cos {cos}(config-pmap-c)#set qos-group {GROUP ID}(config-pmap-c)#bandwidth {kbps}(config-pmap-c)#priority {kbps} [BC](config-pmap-c)#police {CIR BC BE} conform-action {action} exceed-action {action} violiate-action {action}(5)将策略应用到接口的出或入口方向(config-if) service-policy [input|output] policy-name1.3 按数据包的DSCP\IP优先级或COS分类1.4 基于访问列表的分类定义一个分类映射表在分类映射表子句下用访问控制列表配置匹配条件。
(使用ACL ip地址,入站接口指定匹配条件)再定义一个策略映射表并把类别映射表与策略映射表相关联定义这些匹配数据流的QOS特性,如带宽,COS,ip等把策略射表应用于接口的入站或出站上配置接口信任状态。
1.5用路由策略进行分类实例1:按访问列表控制分类#class-map match-all manager //定义一个名为manager的分类映射表#match access-group 101 //在分类映射表下定义一个访问控制列表,以定义匹配的条件#policy-map hight //定义一个名为hight的策略映射表#calss manager //把名叫manager的分类映射表与策略映射表相关联#trust dscp //匹配的数据信任DSCP#trust cos //匹配的数据信任COS#set ip dscp 5 //设置DSCP值#bandwith 36000 //匹配的数据的带宽为36000#interface fast 0/1 //进入接口#service-policy input hight //把hight策略应用于接口的入方向#mls trust dscp //此接口信任dscp#access-list 101 permit tcp any 192.168.9.0 0.0.0.255 //定义访问控制列表,以定义匹配的数据流实例2:按NBAR分类:#class-map match-all manager //定义一个名为manager的分类映射表#match protocol ip //匹配IP协议#policy-map hight //定义一个名为hight的策略映射表#calss manager //把名叫manager的分类映射表与策略映射表相关联#set ip dscp 5 //设置DSCP值。
#bandwith 36000 //匹配的数据的带宽为36000#interface fast 0/1 //进入接口#service-policy input hight //把hight策略应用于接口的入方向实例3:路由策略#route-map test permit 102、标记QOS标记指的是修改入站帧的DSCP,COS,IP precedence ,即把入站的数据流标记为新的内部DSCP值。