第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 | 严格优先 + 限速(推荐) |
八、思考
- DiffServ 模型的核心思想是什么?
- 802.1p 和 DSCP 的区别是什么?
- LLQ 相比普通 PQ 有什么改进?
- 为什么语音流量通常标记为 DSCP EF?
- 在园区网中 QoS 策略应该部署在哪些位置?
下篇预告:第130篇《流量限速——CAR(Committed Access Rate)》——讲解如何通过 CAR 技术限制特定流量的速率,保护关键业务带宽。