一、概述
基于策略的qos 主要提供了以diffserv 标准为核心的qos 保障系统,支持多种流分类特征的qos 策略,实现了基于全网系统多业务的qos 逻辑,可配置带宽控制、流量整形、数据包重定向和流量统计等多种流策略,支持网络根据不同的应用、以及不同应用所需要的服务质量特性来提供相应的服务。
二、缺省配置信息

三、配置流分类
1. 概述
流是一组具有相同特性的数据报文。流分类即对进入设备的数据流依据数据流的不同特征进行分类。流分类的目的在于提供有区别的服务,实施必要的流控策略。流分类匹配的规则可以是一种数据流特征,也可以是几种不互斥的数据流特征的组合。
流分类包括简单流分类和复杂流分类:
(1)简单流分类
根据ip 报文头的tos(type of service)字段,识别出具有不同优先级特征的流量。
(2)复杂流分类
根据综合链路层、网络层和传输层信息诸如mac 地址、源地址、目的地址、或tcp 和udp 端口号等相关信息来对报文进行分类。对于复杂流分类,可以根据需要配置流分类规则,然后对不同类的流配置不同的处理策略。配置流处理策略见下一节的内容。
系统支持下列流分类特征:
(1)802.1p 用户优先级(user-priority)
(2)vlan id(vlan-id)
(3)源/目的mac 地址(source-mac,destination-mac)
(4)源/目的ip 地址(包括ip mask 部分)(source-ip,destination-ip)
(5)源/目的端口号(source-port,destination-port)
(6)ip 优先级(ip-precedence)
(7)dscp 优先级(dscp)
(8)ip 的协议类型字段(ip-protocol)
(9)ip 分片(ip-fragment)
(10)icmp 类型和代码(icmp)
(11)ip 头长度字段(ip-totallength)
(12)以太类型(ether-type)
2. 配置流分类
配置流分类时,首先需要创建流模板(profile),选择配置流分类使用的字段;然后使用流模板创建一条流分类(class-map),并配置该流分类的数据流规则。
(1) 配置流模板(profile)
系统支持两个流模板,一个是缺省的流模板user-default,不允许更改配置,也不允许删除。user-default 定义的字段包括ip-protocol、source-ip、destination-ip、icmp-type、icmp-code、source-port、destination-port 和vlan id。一般情况下,user-default 中的字段可以满足要求,用户可以直接使用user-default 流模板。
如果user-default 中的字段不能完全满足要求,也可以选取关心的字段来另外定义流模板。创建流模板的步骤如下:
创建流模板

创建一个流模板时,模板中默认指定了ip-protocol 和destination-port 两个流分类规则字段,它们不能手工删除。其他流模板规则字段可以使用其对应的no 命令来取消配置。
在配置模式下,使用命令no profile [profile_name]可以删除创建的流模板。缺省的流模板user-default 不能删除。
(2) 配置流分类(class-map)
配置流分类的步骤

上述流分类规则可以使用其对应的no 命令取消匹配。
在配置模式下,使用命令no class-map {[class_map_name]}*1 可以删除指定的或所有的流分类。
配置流分类时,可以匹配单独的一条特征或者几条特征的交集。比如可以配置vlan id 为1 的数据流为一个流分类,也可以配置ip-precedence为5 且source-port 为2 的数据流为一个流分类。不能针对同一个特征的不同特征值来匹配流分类,比如不能配置destination-ip 值为192.168.9.2/32 和192.168.6.8/32 的数据流为一个流分类。
四、配置流处理策略(policy-map)
在流分类的基础上,对不同类的流可以配置不同的处理策略。
配置流处理策略,首先需要建立一条流处理策略(policy-map),并和若干条流分类绑定,然后针对每条流分类配置不同的流处理策略。配置入口流处理策略的步骤如下:
配置入口流处理策略

在策略流分类绑定配置模式下,使用对应的no 命令可以删除上述流处理策略,例如no set cos。
在policy-map 配置模式下,使用no match class-map {[class_map_name]}*1 可以删除目前的策略对指定流的绑定。
在配置模式下,使用no policy-map {[policy_map_name]}*1 可以删除指定的或全部的入口流处理策略。
在一个policy-map 下,可以绑定一个或者多个流分类,对每个流分类可以指定一个或者多个流处理策略。当同一策略绑定多个流分类时,这些流分类必须属于同一个流模板(profile),并且它们所匹配的特征值不能完全相同。
五、下发流处理策略
流处理策略配置完成后,需要下发到接口或share-group 上,然后策略即可生效。
1. 配置share-group
share-group 指一组端口的集合,这些端口可以共享相同的流处理策略。一台设备上可配置的share-group 的个数不能超过设备的端口个数,一个端口最多只能加入到一个share-group 中。
配置步骤

2. 下发流处理策略
首先进入需要下发流处理策略的接口或share-group,然后绑定流模板(profile),再下发流处理策略。一个接口或share-group 上可以下发多个流处理策略,这些策略所绑定的流分类(class-map)所属的流模板必须与已经绑定的流模板相同。下发流处理策略的配置步骤如下:
配置步骤

在接口配置模式或share-group 配置模式下使用no service-policy input{[policy_name]}*1 可以删除指定的或所有的流处理策略。
六、设置镜像流和管理流
1. 设置镜像流
设置镜像流可以把某些流分类镜像到一个分析端口,在不影响业务的情况下,便于对数据进行分析。
配置步骤

配置案例

2. 设置管理流
当系统遭受攻击(如交换机mac 攻击)时,管理员可能无法远程登录(telnet)到该交换机上进行配置。通过设置管理流,可以优先保证管理操作的数据流能够送到cpu,这样管理员就能管理该交换机。
配置步骤