WiFi Aliance认证测试对应图
RFC8325
RFC 8325https://datatracker.ietf.org/doc/html/rfc8325
RFC 8325 – WiFi QoS Mappings | mrn-cciew (mrncciew.com)https://mrncciew.com/2021/09/14/rfc-8325-wifi-qos-mappings/
802.11 UP和DSCP映射关系
802.11 UP (User Priority) and DSCP (Differentiated Services Code Point)之间映射关系
+-------------------------------------------------------------------+
| IETF Diffserv | PHB |Reference | IEEE 802.11 |
| Service Class | | RFC |User Priority| Access Category |
|===============+======+==========+=============+====================|
| | | | 7 | AC_VO (Voice) |
|Network Control| CS7 | RFC 2474 | OR |
|(reserved for | | | 0 | AC_BE (Best Effort)|
| future use) | | |See Security Considerations-Sec.8 |
+---------------+------+----------+-------------+--------------------+
| | | | 7 | AC_VO (Voice) |
|Network Control| CS6 | RFC 2474 | OR |
| | | | 0 | AC_BE (Best Effort)|
| | | | See Security Considerations |
+---------------+------+----------+-------------+--------------------+
| Telephony | EF | RFC 3246 | 6 | AC_VO (Voice) |
+---------------+------+----------+-------------+--------------------+
| VOICE-ADMIT | VA | RFC 5865 | 6 | AC_VO (Voice) |
| | | | | |
+---------------+------+----------+-------------+--------------------+
| Signaling | CS5 | RFC 2474 | 5 | AC_VI (Video) |
+---------------+------+----------+-------------+--------------------+
| Multimedia | AF41 | | | |
| Conferencing | AF42 | RFC 2597 | 4 | AC_VI (Video) |
| | AF43 | | | |
+---------------+------+----------+-------------+--------------------+
| Real-Time | CS4 | RFC 2474 | 4 | AC_VI (Video) |
| Interactive | | | | |
+---------------+------+----------+-------------+--------------------+
| Multimedia | AF31 | | | |
| Streaming | AF32 | RFC 2597 | 4 | AC_VI (Video) |
| | AF33 | | | |
+---------------+------+----------+-------------+--------------------+
|Broadcast Video| CS3 | RFC 2474 | 4 | AC_VI (Video) |
+---------------+------+----------+-------------+--------------------+
| Low- | AF21 | | | |
| Latency | AF22 | RFC 2597 | 3 | AC_BE (Best Effort)|
| Data | AF23 | | | |
+---------------+------+----------+-------------+--------------------+
| OAM | CS2 | RFC 2474 | 0 | AC_BE (Best Effort)|
+---------------+------+----------+-------------+--------------------+
| High- | AF11 | | | |
| Throughput | AF12 | RFC 2597 | 0 | AC_BE (Best Effort)|
| Data | AF13 | | | |
+---------------+------+----------+-------------+--------------------+
| Standard | DF | RFC 2474 | 0 | AC_BE (Best Effort)|
+---------------+------+----------+-------------+--------------------+
| Low-Priority | CS1 | RFC 3662 | 1 | AC_BK (Background) |
| Data | | | | |
+--------------------------------------------------------------------+
Note: All unused codepoints are RECOMMENDED to be mapped to UP 0
(See Security Considerations below)
Figure 1: Summary of Mapping Recommendations from Downstream
DSCP to IEEE 802.11 UP and AC
802.11是由IEEE定义的,并且他们主要关注PHY和MAC层,因此没有考虑WiFi报头中的QoS字段如何映射到上层QoS字段(例如IP报头中的DSCP)。由于缺乏指导,大多数供应商都以自己的方式实现QoS映射,这导致我们在WiFi环境中部署QoS时出现不一致。RFC 8325 提供了 802.11UP 和 DSCP 标记之间映射定义。
在 IP 数据包中,QoS 标记将在 TOS 字节内,位于名为 DSCP 的字段中。IETF 为不同类型的流量类定义了众所周知的 PHB(每跳行为)。路由器/交换机在流量路径上按跳应用的 QoS。如果您有第 2 层链路(中继端口),则 QoS 值将合并在 802.1Q 标记中,位于名为 PCP-Priority Code Point 的字段中。下图显示了有线帧中不同的 QoS 字段。
在WiFi方面,您的QoS功能将受到限制。首先,您将流量分为4个不同的访问类别(语音,视频,尽力而为和背景)。当支持 QoS 的 STA/AP 传输数据帧时,它们将在 WiFi 报头中包含 QoS 控制字段,其中包括 TID(流量标识符)字段。该字段的 3 位称为用户优先级(或 UP)值,并确定 WiFi 帧通过无线传输获得的优先级。由于 WiFi 有 4 个不同的流量类别,因此两个 UP 值映射到每个访问类别。请注意,UP 值 0 映射到尽力而为(BE),以便使用尽力而为优先级处理没有 QoS 标记的数据包。
在将 DSCP 映射到 UP 值(下行方向)或将 UP 映射到 DSCP(上行方向)时,可能会出现许多不一致的情况。RFC 8325 中列出了这些,以突出我们在实施 WiFi QoS 时面临的挑战。默认情况下,大多数供应商将 DSCP 值的 3 个最高有效位 (MSB) 映射到 UP。例如,DSCP 46 映射到 UP 值 5,该值转换为 AC_VI(视频),而不是流量进入 UP 值为 6 的 AC_VO。
通过考虑所有这些挑战和 Diffserv 的 RFC(2474、2597、3246、4594、5865),遵循 RFC 8325 中针对下游流量(即 AP 到客户端)提出的建议。
请注意,尽管它建议使用 CS5 进行信令(基于 RFC4594),但大多数供应商主要使用 CS3 进行信令流量。因此,在大多数情况下,您会看到广播视频映射到 CS5 中,信令流量类映射到 CS3 中。
在上游方向上,不建议信任 UP 值并重写 DSCP(这是过去大多数供应商最常做的做法)。由于 IEEE 802.11UP 值只是无线小区内流量的 QoS 字段,并且大多数客户端设备未正确标记 UP 值,因此不建议使用该值在 IP 报头上设置 QoS。
在RFC 8325中,建议您实现上游DSCP标记策略,当有线和无线流量进入网络时,您可以对它们应用通用标记策略(在有线接入交换机中,在WiFi接入点中)。在没有此类标记策略的情况下,至少应使用上游 DSCP 直通(换句话说,您将信任原始数据包 DSCP 值而不是 UP)。以下是该 RFC 中描述的上游 UP 到 DSCP 映射选项的摘要。
因此,如果您现在要部署 WiFi QoS,您应该注意您的 WiFi 供应商如何实现 QoS,并查看它们是否与 RFC 8325 指南重新保持一致。在思科方面,他们修改了QoS建议,以支持RFC 8325中描述的映射。在接下来的文章中,我们将研究如何在 AireOS 和 IOS-XE (9800) 控制器中实现 QoS,以符合 RFC 8325 指南。
DSCP类型说明
DSCP为Cisco开发并标准化,目前定义的DSCP有以下几种:
- 默认的DSCP,值为0;
- 类选择器(CS, class selector),定义为向后与1优先级兼容,值为 (8,16, 24, 32, 40, 48,56);
- 确定转发(AF, Assured forwarding),定义了4个服务等级,每个服务等级有3个下降过程,因此使用了12个DSCP值( (10, 12, 14) ,(18, 20, 22) ,(26, 28, 30),(34,36. 38))
- 加速转发(EF,Expedited forwarding ),一般用于低延迟的服务,推荐值为46 (101110);
将3 bit的TOS (Type Of Service),扩展到6 bit 成为DSCP ,其对应关系为
- IP Precedence 5(语音):EF
- IP Precedence 4(视频会议): AF4
- IP Precedence 3(呼叫信号): AF3
- IP Precedence 2(高优先级数据): AF2
- IP Precedence 1(中优先级数据): AF1
- IP Precedence 0(尽力服务数据): BE
DSCP 具体定义如下:
DSCP_NO_CHANGE = -1, DSCP_DEFAULT = 0, // Same as DSCP_CS0 DSCP_CS0 = 0, // The default DSCP_CS1 = 8, // Bulk/background traffic DSCP_AF11 = 10, DSCP_AF12 = 12, DSCP_AF13 = 14, DSCP_CS2 = 16, DSCP_AF21 = 18, DSCP_AF22 = 20, DSCP_AF23 = 22, DSCP_CS3 = 24, DSCP_AF31 = 26, DSCP_AF32 = 28, DSCP_AF33 = 30, DSCP_CS4 = 32, DSCP_AF41 = 34, // Video DSCP_AF42 = 36, // Video DSCP_AF43 = 38, // Video DSCP_CS5 = 40, // Video DSCP_EF = 46, // Voice DSCP_CS6 = 48, // Voice DSCP_CS7 = 56, // Control messages |