TODO !!! [NETWORK] 拥塞管理配置实验;
配置基于队列的拥塞管理
WAN 接口支持 PQ,WFQ,PQ+WFQ 三种调度模式;
拥塞管理的配置思路如下:
System-view // 创建 QoS 队列模板 qos queue-profile [queue-profile-name] // 创建队列模板; schedule pq [queue-index] | wfq [queue-index] // 配置 WAN 接口下各队列的调度模式; // 在接口下应用队列模板 interface [interface-type interface-num] // 进入接口视图; qos queue-profile [queue-profile-name] // 在接口下应用队列模板; // 检查基于队列的拥塞管理配置结果 System-view interface [interface-type interface-num] display this // 查看接口下绑定的队列模板; display qos queue-profile [queue-profile-name] // 查看队列模板的配置信息;
配置 MQC 实现拥塞管理
在 MQC 中,Tfc-Clf 提供三种队列:
1)确保转发队列(AF):可以保证在网络发送的业务流量没有超过最小可确保带宽的情况下确保转发;
2)加速转发队列(EF/LLQ):匹配规则的报文进入 EF 或 LLQ 队列后,进行绝对优先级调度,仅当 EF 或 LLQ 队列中的报文调度完毕后,才会调度其他队列中的报文。当 AF 或 BE 队列有空闲带宽时,EF 队列可以对空闲带宽进行占用。LLQ 队列较 EF 队列而言,时延更低;
3)尽力而为队列(BE):未进入 AF 队列和 EF 队列的剩余报文进入 BE 队列。BE 队列使用 WFQ 算法调度;
AF 队列和 EF 队列带宽之和不得超过接口带宽的 100%;
各 AF 队列按照权重分享剩余带宽(可用带宽减去 EF 队列占用带宽后的剩余资源);
MQC 方式的拥塞管理配置思路如下:
// 配置 Traffic classifier 与 Traffic behavior System-view traffic classifier [classifier-name] // 创建流分类; if-match [acl | vlan-id | …. ] // 基于流量特征匹配流量; System-view traffic behavior [behavior-name] // 创建流行为; queue af bandwidth [bandwidth | pct percentage] // 在流行为中配置 AF 队列最小确保带宽; queue ef bandwidth [bandwidth | pct percentage] // 在流行为中配置 EF 队列的最小带宽 ; queue llq bandwidth [bandwidth | pct percentage] // 在流行为中配置 LLQ 队列的最大带宽 ; queue wfq queue-number [total-queue-number] // 在流行为中配置 BE 队列的 WFQ 调度参数; // 使用 Traffic policy 工具将 Traffic classifier 与 Traffic behavior 进行绑定 System-view traffic policy [policy-name] // 创建流策略; classifier [classifier-name] behavior [behavior-name] // 绑定流分类与流行为; // 将 Traffic policy 应用到设备接口出方向上 System-view interface [interface-type interface-num] // 进入接口视图; traffic-policy [policy-name] 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 ] // 查看指定流策略的应用记录;