第129篇:园区网 QoS 基础——队列调度与拥塞管理

关键词

QoS、队列调度、拥塞管理、FIFO、PQ、WFQ、CBQ、LLQ


一、为什么需要 QoS?

1.1 带宽争抢问题

在园区网中,不同业务竞争同一带宽:

出口带宽:100 Mbps

业务类型:        流量需求    容忍度
  实时语音(VoIP)  5 Mbps     延迟 > 150ms 就会卡顿
  视频会议         20 Mbps     延迟 > 200ms 画面模糊
  文件下载         80 Mbps     几秒延迟不影响体验
  HTTP 网页        10 Mbps     可接受数秒延迟

问题:文件下载占满 80 Mbps → 语音延迟增大 → 通话卡顿

1.2 QoS 的核心目标

QoS(Quality of Service)的目标:在有限的带宽下,为不同业务提供差异化的服务质量

QoS 要素 说明
带宽保证 为关键业务预留最低带宽
延迟控制 确保实时业务低延迟
抖动抑制 减少延迟变化
丢包率 降低关键业务的丢包概率

二、QoS 的三种模型

模型 说明 复杂度 适用场景
Best-Effort 尽力而为(无 QoS) 普通数据
IntServ(集成服务) RSVP 预留带宽 运营商核心
DiffServ(区分服务) 基于 DSCP 分类处理 企业园区网(最常用)

园区网最常用 DiffServ 模型——在入方向标记优先级,在出方向根据优先级调度。


三、DiffServ 的工作流程

入方向 出方向 | 分类 (Class) | ──► | 标记 (Mark) | ──► | 队列调度 (Queue) | ──► 输出 | | --- | --- | --- | --- | --- | --- |

识别流量类型 打上优先级标签 按优先级排队转发

3.1 分类与标记

优先级标准 位数 范围 说明
802.1p(二层) 3 位 0-7 VLAN Tag 中的 CoS 字段
IP Precedence(三层) 3 位 0-7 IP 头部 ToS 前 3 位
DSCP(三层) 6 位 0-63 IP 头部 ToS 前 6 位(更精细)

3.2 DSCP 与 802.1p 对照

业务 802.1p CoS DSCP 说明
网络控制 7 CS7 (56) 路由协议
语音 5 EF (46) 最低延迟
视频 4 AF41 (34) 低延迟
信令 3 CS3 (24) 呼叫控制
管理数据 2 AF21 (18) SSH/SNMP
普通数据 0 BE (0) 尽力而为
批量数据 1 AF11 (10) 文件下载

四、队列调度算法

4.1 FIFO(First In First Out)

最简单的队列——先到先服务。

FIFO 队列:[报文1] [报文2] [报文3] [报文4]
                │
                └── 按到达顺序发送
                无优先级区分,无法实现 QoS

4.2 PQ(Priority Queuing)

严格优先级队列——高优先级报文永远先发

           ┌──────────┐
高优先级 Q │ 语音报文  │──► 先处理(永远先发)
           └──────────┘
           ┌──────────┐
中优先级 Q │ 视频报文  │──► 高优先级空了再处理
           └──────────┘
           ┌──────────┐
低优先级 Q │ 数据报文  │──► 可能被饿死
           └──────────┘

问题:高优先级流量大时,低优先级可能被饿死

4.3 WFQ(Weighted Fair Queuing)

加权公平队列——每个队列按权重分配带宽。

队列 A(权重 1):1 Mbps
队列 B(权重 2):2 Mbps
队列 C(权重 4):4 Mbps
            总带宽 7 Mbps

优点:不会被饿死,公平分配
缺点:无法保证低延迟

4.4 CBQ / LLQ(推荐)

CBQ(Class Based Queuing) 结合 PQ + WFQ:

LLQ(Low Latency Queuing) 是 CBQ 的增强版——为实时业务设严格优先级队列,同时给其他队列保证带宽:

          ┌──────────┐

LLQ(严格优先)│ 语音 EF │──► 优先发送,但限速(避免饿死其他队列) └──────────┘ | CBQ 保证带宽 | 视频 AF4 | ──► 保证最低带宽 | | --- | --- | --- | | 数据 AF2 | ──► 保证最低带宽 | | | 默认 BE | ──► 剩余带宽 | |


五、华为 QoS 配置

5.1 基本配置

# ===== 1. 定义流分类 =====
traffic classifier VOICE
 if-match dscp ef

traffic classifier VIDEO
 if-match dscp af41

traffic classifier DATA
 if-match dscp af21

# ===== 2. 定义流行为 =====
traffic behavior VOICE_BEHAVIOR
 queue llq ef bandwidth 2000      # LLQ 严格优先队列,2 Mbps
 statistics enable

traffic behavior VIDEO_BEHAVIOR
 queue af bandwidth 5000          # 保证带宽 5 Mbps
 statistics enable

traffic behavior DATA_BEHAVIOR
 queue af bandwidth 3000          # 保证带宽 3 Mbps
 statistics enable

# ===== 3. 定义 QoS 策略 =====
traffic policy CAMPUS_QOS
 classifier VOICE behavior VOICE_BEHAVIOR
 classifier VIDEO behavior VIDEO_BEHAVIOR
 classifier DATA behavior DATA_BEHAVIOR

# ===== 4. 应用到接口 =====
interface GigabitEthernet0/0/24
 traffic-policy CAMPUS_QOS outbound

5.2 查看 QoS 统计

display traffic policy statistics interface GigabitEthernet0/0/24
-----------------------------------------------
  Classifier: VOICE
     Matched: 12345 packets (Utilization: 1.5 Mbps)
  Classifier: VIDEO
     Matched: 67890 packets (Utilization: 4.8 Mbps)
  Classifier: DATA
     Matched: 34567 packets (Utilization: 2.9 Mbps)

六、园区网 QoS 部署建议

6.1 信任边界

部署位置 动作 说明
接入层 标记(Mark) 为流量打上 DSCP 标记
汇聚层 监管 + 队列 限速非关键流量,队列调度
核心层 队列调度 按标记转发,不做分类
出口 整形 + 队列 适配运营商带宽

6.2 典型园区网 QoS 策略

语音:DSCP EF, LLQ 带宽保证
视频:DSCP AF41, 保证带宽
管理:DSCP AF21, 次优先
默认:DSCP 0, 剩余带宽

七、总结

知识点 核心要点
QoS 目标 差异化服务质量
DiffServ 园区网最常用模型
802.1p/DSCP 优先级标记方式
PQ 严格优先级(可能饿死)
WFQ 加权公平(无严格优先)
LLQ 严格优先 + 限速(推荐)

八、思考

  1. DiffServ 模型的核心思想是什么?
  2. 802.1p 和 DSCP 的区别是什么?
  3. LLQ 相比普通 PQ 有什么改进?
  4. 为什么语音流量通常标记为 DSCP EF?
  5. 在园区网中 QoS 策略应该部署在哪些位置?

下篇预告:第130篇《流量限速——CAR(Committed Access Rate)》——讲解如何通过 CAR 技术限制特定流量的速率,保护关键业务带宽。