问题描述
流量的分类和标记是 QoS 的基础,是有区别地实施服务的前提。要实现差分服务,就需要对进入 DiffServ 域的流量按照一定的规则进行分类,然后根据不同类别的流量提供不同的服务;
解决方案
流量分类和标记:依据一定的匹配规则来识别对象,是有区别地实施服务的前提,通常作用在接口入方向;
原理简述
当报文在 DiffServ Domain 边界被分类之后,在网络的中间节点,就可以根据分类,对不同类别的流量给予差别服务。下游(downstream)节点可以选择使用上游(upstream)节点的分类结果,也可以按照自己的分类标准对数据流重新进行分类;
需要首先将数据包分为不同的类别或者设置为不同的优先级;
流分类
将数据包分为不同的类别,称为流分类,流分类并不修改原来的数据包;
简单流分类:根据报文的字段进行分类;通常在 DS Domain 中采用;
复杂流分类:通过复杂的规则(诸如 ACL 等等),最流流行分类;通常在信任边界设备(边界节点)采用;
流标记
将数据包设置为不同的优先级称为标记,而标记会修改原来的数据包。其中,标记分为内部标记和外部标记:
内部标记
1)标记报文在设备内部处理的服务等级(service-class)与丢弃优先级,让匹配的报文能够直接进入指定服务等级的队列,而不需要根据报文头中的优先级字段来确定服务等级;
2)标记报文的丢弃优先级也叫着色(color),是指在相同 service-class 的时候,入同一个队列,当此队列快拥塞的时候,可以通过 color 再进行差分服务,体现在缓存使用上的优先顺序;
外部标记
1)设置 / 改写报文的优先级字段,用于向下一台设备传递差分服务的 QoS 信息。其中,改写报文的优先级字段也称为“重标记-remark”;
概念术语
DS Domain / DS Node
WIP
在 DS Node 上,将执行复杂流分类;在 DS Domain 内将使用简单流分类;
信任边界
是边界设备,其上将进行流量分类;
配置案例
需求:要求为语音、视频等即时性业务提供最优先的转发服务
实现:在 DS 边界节点,先通过复杂流分类抓取语音、视频等业务流量,映射到对应的优先级;再通过简单流分类,处理剩余流量;
TODO !!! [NETWORK] QoS 流分类实验(QoS 复杂流分类及分类打标实验)
第一步、配置复杂流分类
由于 DS 边界收到的流量一般未被分类,并且可信度较低,所以复杂流分类一般在 DS 边界设备上配置;
配置思路如下:
// 使用 Traffic classifier 工具匹配流量 System-view traffic classifier [classifier-name] // 创建流分类 if-match [acl | vlan-id | …. ] // 基于流量特征匹配流量 // 使用 Traffic behavior 工具定义流分类的规则 System-view traffic behavior [behavior-name] // 创建流行为 remark [dscp-name | 8021p-value | EXP | … ] // 对流量的 QoS 字段赋值 // 使用 Traffic policy 工具将 Traffic classifier 与 Traffic behavior 进行绑定 System-view traffic policy [policy-name] // 创建流策略 classifier [classifier-name] behavior [behavior-name] // 绑定流分类与流行为 // 将 Traffic policy 应用到 DS 边界设备接口入方向上 System-view interface [interface-type interface-num] // 进入接口视图 traffic-policy [policy-name] [inbound | outbound] // 在接口入方向上应用流策略
当配置完成复杂流分类,可以通过以下命令查看结果:
System-view display traffic classifier user-defined [ classifier-name ] // 查看已配置的流分类信息; display traffic behavior [ system-defined | user-defined ] [ behavior-name ] // 查看已配置的流行为信息; display traffic policy user-defined [ policy-name ] classifier [classifier-name ] // 查看流策略的配置信息; display traffic-policy applied-record [ policy-name ] // 查看指定流策略的应用记录;
第二步、修改简单流分类(可选)
在 DS 边界设备上,已经对流量进行初步处理,后面的 DS 设备中配置简单流分类即可;
简单流分类基于优先级映射表,将带有特定 QoS 字段数据映射为内部优先级;
优先级映射表根据实际需求可以进行一定修改,修改优先级映射表的思路如下:
1)配置端口信任的报文优先级
2)配置优先级映射表
// 配置端口信任的报文优先级 System-view interface [interface-type interface-num] // 进入接口视图 trust [8021p | dscp] // 基于 802.1P 或者基于 DSCP 景下修改 // 配置优先级映射表 System-view qos map-table [ dot1p-dot1p | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dscp | dscp-lp ] // 进入优先级映射表视图 input [input-value1] output [output-value] // 配置优先级映射表中的映射关系