QoS 服务质量保障

WiFi QoS 概述

WiFi 的 QoS(Quality of Service)机制确保不同类型的应用流量获得差异化的服务等级。对于语音、视频等实时应用,QoS 至关重要——没有它,一个大文件下载可能让 VoIP 通话变得不可用。

WMM(Wi-Fi Multimedia)

WMM 是 Wi-Fi Alliance 对 802.11e QoS 功能的认证规范,是目前最广泛部署的 WiFi QoS 实现。

WMM 四大功能域

功能域

说明

QoS 数据帧格式

添加 QoS Control 字段

AC(Access Category)优先级

4 个优先级队列

TXOP(Transmission Opportunity)

不同 AC 获得不同的传输机会

PS-Poll / APSD

QoS 感知的省电机制

访问类别(Access Categories)

WMM 定义了 4 个 AC,每个有不同的参数:

AC

名称

优先级

CWmin

CWmax

AIFSN

TXOP limit

VO

Voice

最高 (3)

2

3

2

1.5 ms

VI

Video

高 (2)

4

7

2

3.0 ms

BE

Best Effort

中 (1)

15

31

3

99 ms

BK

Background

低 (0)

15

1023

7

99 ms

参数含义

  • CWmin/CWmax:竞争窗口大小,越小越容易抢到信道

  • AIFSN(Arbitration Inter Frame Space Number):在 DIFS 基础上额外等待的时隙数

    等待时间 = DIFS + AIFSN × slot_time
    
    VO: 34μs + 2×9μs = 52μs  (最快)
    BK: 34μs + 7×9μs = 97μs  (最慢)
    
  • TXOP limit:一次获得信道后最多连续传输的时间

DSCP 到 UP 到 AC 的映射

网络流量通过 DSCP(Differentiated Services Code Point)标记,WiFi MAC 层将其映射为 UP(User Priority),再归入 AC:

DSCP 值

UP

AC

典型应用

46 (EF)

0

VO

VoIP 语音

34-44 (AF41-AF43, CS5-CS6)

4-5

VI

视频会议、流媒体

0 (Default), 10 (CS1)

0-2

BE

Web浏览、邮件、一般数据

8 (CS1), 其他低优先级

1

BK

软件更新、备份

UP(User Priority)字段位置

QoS Control Field:
│ TID (3 bits) │ EOSP (1 bit) │ A-MSDU Present (1 bit) │ A-Control (variable) │
│              │              │                        │
└── UP/TID ────┘

Block Ack(块确认)

传统 802.11 每个数据帧都需要一个 ACK,Block Ack 允许批量确认:

正常 ACK vs Block Ack

正常模式:
Data1 → ACK, Data2 → ACK, Data3 → ACK, Data4 → ACK
(4个ACK帧 = 大量开销)

Block Ack 模式:
BlockAckReq → [Data1, Data2, Data3, Data4] → BlockAck (位图确认)
(1个BA帧 = 显著减少开销)

Block Ack 类型

类型

说明

Immediate BA

收到 BA Request 后立即回复 BA

Delayed BA

先回复 BA Ack,稍后发送实际 BA

Compressed BA

使用压缩格式减少开销

Block Ack 位图

BlockAck Bitmap (64 bits):
[SSSN][SSSN+1]...[SSSN+63]
   1       1        0        1    ...
   ✓       ✓        ✗        ✓

✓ = 成功接收, ✗ = 需要重传

A-MSDU 与 A-MPDU 聚合

A-MSDU(Aggregate MSDU)

在 MAC 层将多个 MSDU 聚合成一个大的 MSDU:

┌─────────────────────────────────────┐
│         A-MSDU                      │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐│
│ │ MSDU 1  │ │ MSDU 2  │ │ MSDU 3  ││
│ │ (addr+  │ │ (addr+  │ │ (addr+  ││
│ │  data)  │ │  data)  │ │  data)  ││
│ └─────────┘ └─────────┘ └─────────┘│
└─────────────────────────────────────┘
  • 优势:减少 MAC header 和 FCS 开销

  • 局限:任何一个 MSDU 出错,整个 A-MSDU 重传

A-MPDU(Aggregate MPDU)

在 PHY 层将多个 MPDU 聚合成一个 PPDU:

┌──────────────────────────────────────┐
│          A-MPDU (PPDU)               │
│ ┌────────┐ ┌────────┐ ┌────────┐    │
│ │MPDU 1  │ │MPDU 2  │ │MPDU 3  │ ...│
│ │+delim+ │ │+delim+ │ │+delim+ │    │
│ │ FCS    │ │ FCS    │ │ FCS    │    │
│ └────────┘ └────────┘ └────────┘    │
└──────────────────────────────────────┘
  • 优势:单个 MPDU 出错只需重传该 MPDU

  • 推荐:现代 WiFi 首选 A-MPDU

聚合效果对比

模式

10个1000字节帧的开销

效率提升

无聚合

~400 bytes (headers+ACKs)

基准

A-MSDU

~80 bytes

~5x

A-MPDU

~120 bytes

~3x(更可靠)

QoS 配置最佳实践

  1. 启用 WMM:所有现代设备都应启用

  2. 正确标记流量:确保路由器/交换机保留 DSCP 标记

  3. VO 队列调优:语音流量需要低延迟,适当减少 TXOP

  4. 限制 BK 带宽:防止后台下载占用过多信道时间