802.11 QoS映射

网络服务质量(QoS)通过多种方式确保数据包在网络中得到优先处理。IP层的ToS和DSCP字段提供了优先级标识,802.1p在以太网帧中设置优先级,而802.11协议为无线连接定义了接入类别。DSCP和802.1p的优先级映射到802.11的接入类别,确保不同网络间的QoS一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网络QoS

网络协议中,常见的承载QoS优先级的方式:

  • IP层的ToS(Type of Service)优先级(RFC791)
  • IP层的DSCP(Differentiated Services Codepoint)优先级(RFC 2474)
  • 802.3报文的IEEE802.1p优先级
  • 802.11 MAC优先级AC_VO、AC_VI、AC_BE、AC_BK

IP ToS

早期RFC791定义,IP数据包是依赖ToS字段来标识数据优先级, ToS字段由8个比特组成, 其中BIT0~2的Precedence字段标识了IP报文的优先级。

IP ToS格式
IP ToS字段说明

字段

Bit

说明

Precedence

Bit0~2

指示IP优先级0~7,值越大优先级越高。

字段值

说明

000(缺省)

Routine(常规)

001

Priority(优先) ,用于数据业务

010

Immediate(立即),用于数据业务

011

Flash(闪速),用于语音传输

100

flash-override(疾速),用于视频业务

101

critical(关键),用于语音传输

110

internetwork control(网间控制),用于网络控制,如路由协议

111

network control(网络控制),用于网络控制

ToS

Bit3~6

指示报文关键特性/业务类型要求。

每个IP报文的Bit3~6只有一个Bit = 0,分别对应D(Delay)、T(Throughput)、R(Reliability)、C(Cost),因此实际只有5个值。

字段值

说明

0000

normal (常规服务)

0001

min-monetary-cost (最小路径开销)

0010

max-reliability (最高可靠性)

0100

max-throughput (最高吞吐量)

1000

min-delay (最小时延)

Reserved

Bit7

恒等于0


IP DSCP

新的RFC 2474 标准中,重新定义了IP 报文头的ToS 字段为DS(Differentiated Services,差分服务)字段,长度和ToS字段一致,均为8bits。

IP DS字段

字段

Bit

说明

DSCP

Bit0~5

DSCP共6bits,可提供64种优先级,而目前并未全部定义。

Bit0~2为类别选择器(Class Selector, CS),指示了优先级CS0~7 = IP Precedence0~7,以确保兼容性。

Bit3~4为丢弃优先级(Drop Precedence, DP),RFC2597定义为保证转发服务类型(assured forwarding, AF),仅用于CS1~CS4,其中01、10、11分别对应低、中、高丢弃优先级。

DSCP = 000000为尽力转发服务类型(Best Effort, BE),为默认服务类型。

DSCP = 101110为加速转发服务类型(Expedited Forwarding, EF),适用于低丢包率,低延迟,低抖动及保证带宽的业务,如VOIP。

详见下表。

DSCP 值

服务类型

DP

IP Precedence/cs

101 110 (46)

EF

N/A

101(Critical)

000 000 (0)

BE(Default)

N/A

000(Routine)

001 XXX

CS1

N/A

001(Priority)

010 XXX

CS2

N/A

010(Immediate)

011 XXX

CS3

N/A

011(Flash)

100 XXX

CS4

N/A

100(Flash Override)

101 XXX

CS5

N/A

101(critical)

110 XXX

CS6

N/A

110(internetwork control)

111 XXX

CS7

N/A

111(network control)

001 010 (10)

AF11

L

001(Priority)

001 100 (12)

AF12

M

001(Priority)

001 110 (14)

AF13

H

001(Priority)

010 010 (18)

AF21

L

010(Immediate)

010 100 (20)

AF22

M

010(Immediate)

010 110 (22)

AF23

H

010(Immediate)

011 010 (26)

AF31

L

011(Flash)

011 100 (28)

AF32

M

011(Flash)

011 110 (30)

AF33

H

011(Flash)

100 010 (34)

AF41

L

100(Flash Override)

100 100 (36)

AF42

M

100(Flash Override)

100 110 (38)

AF43

H

100(Flash Override)

CU

Bit6~7

Currently Unused,当前未使用


IEEE 802.1p CoS

IEEE 802.1Q VLAN标准在以太网数据帧加入4Bytes的802.1Q Tag,用以标识VLAN信息,以帮助设备分辨不同的VLAN报文。

802.1Q中未定义和使用PRI字段,而802.1P 中则定义了该字段,用以标志有线帧的优先级。

802.1Q Tag
802.1q tag

字段

大小

说明

TPID

16bits

标签协议标识符(Tag Protocol Identifier, TPID)标识该报文类型,可以根据该字段识别为802.1q协议报文。

PRI

3bits

也称为服务码(code of service,CoS),指示优先级0~7(低到高),与IP Precedence和DSCP的CS一一对应。

CFI

1bit

标准格式指示位(Canonical Format Indicator,CFI),指示MAC地址在不同的传输媒介是否以标准格式封装。

本文不展开。

VID

12bits

VLAN ID

注:802.1p 优先级位于L2报文头,适用于不需要分析L3报头,而需要在L2下保证QoS 的场景。


IEEE802.11 AC

802.11协议定义了4类接入类别(Access Category, AC):AC_VO、AC_VI、AC_BE、AC_BK。

802.11 AC

接入类别

延迟敏感度

实例

AC_VO(Voice)

语音通话

AC_VI(Video)

视频

AC_BE(Best-effort)

默认无线流量类型。

对延迟有一定需求,但敏感较低

网页浏览数据流量

AC_BK(Background)

不敏感

文件传输等


外部网络的报文的QoS映射到802.11的接入类别

EDCA和HCCA机制在MAC层提供QoS控制。然而,EDCA和HCCA使用的QoS控制参数不能直接与互连外部网络的其他QoS控制参数匹配。因此,要将外部QoS控制参数映射到802.11 QoS参数。

将外部网络的报文的QoS映射到802.11的接入类别的默认步骤如下:

  1. 解析外部网络的报文的QoS对于直接来自L3的IP报文,可以将IP报文头的Precedence或DSCP字段对应的优先级映射为MAC层的用户优先级;对于有线报文,可以将802.1Q Tag里的PRI字段对应的优先级映射为MAC层的用户优先级。
  2. 将外部网络QoS优先级映射为用户优先级(User priority, UP),对应8011中的TID
  3. MAC根据用户优先级,映射到接入类别(Access category, AC)

 注1:non-AP STA可以在ADDTS Request帧中使用TSPEC和TCLAS元素来在BSS中建立TS流,此时业务优先级在TCLAS元素中指定。

注2:不同的外部网络可以为相同的服务使用不同的DSCP集,此时可以用到QoS Map分布机制交互映射信息。 

802.1D映射为802.11AC
DSCP to AC示例


DSCP to UP映射的实现

不同网络的L3 实现可能不同,比如相同的服务/应用,可能不同网络下的优先级映射可能不同。

如果交互双方的DSCP-UP的映射关系不一致,可能会带来如下问题:

  • 由于non-AP STA 使用 不正确的UP,导致AP 的准入控制可能会错误地拒绝服务请求
  • non-AP STA 可能在 TSPEC 和 TCLAS 元素中使用不正确的用户优先级值。
  • 在 IEEE 802.11 网络上,用户可能会获得与预期不同的 QoS,例如,提供的 QoS 可能比 STA 预期的要低。

因此,交互双方需要保证DSCP到UP的映射关系一致。

DSCP to UP映射的传统实现方案仅通过使用DSCP值的3个最高有效位执行用户优先级的映射。这种实现方式,导致将标记为DSCP = 101110(Expedited Forwarding, EF)的快速转发业务(适用于低丢包率,低延迟,低抖动及保证带宽的业务,如VOIP)的语音流分配到UP = 5(AC_VI),而不是UP = 6或7(AC_VO)。

RFC 8325中定义的DSCP-to-UP映射表解决了传统映射表的不一致问题。默认情况下,使用RFC 8325映射表可确保Wi-Fi上的QoS处理与网络行业一致认同的QoS流量标记之间的一致性。

RFC8325 DSCP to AC

如果启用QoS Map功能,可以修改DSCP-to-UP的映射关系,此时将采用协商的映射关系而不是IETF RFC 8325 DSCP-to-UP的映射关系来发送数据。

QoS Map功能

概述

QoS映射功能提供了网络中STA交互QoS映射信息的方法。

启用了Qos Map的AP会通过(Re)Association Response/QoS Map Configure帧将QoS Map element发给STA,STA将其作为DSCP-to-UP映射表而替代掉默认 DSCP-to-UP映射表。

QoS Map参数

dot11QosMapActivated 

Extended Capabilities element->QoS Map字段值

False

0

True

1

 AP收到Extended Capabilities element->QoS Map = 1的(Re)Association Request帧,应在(Re)Association Response帧中包含QoS Map element。

注:对于 AP 传输的已准入的 TS 的帧,从 TS 的 TCLAS 元素获得的 UP 应使用 UP 代替从 QoS 映射导出的 UP;对于 AP 传输的已准入的 TS 的帧,如果没有对应TCLAS 元素,UP 应从 QoS 映射中导出。


帧格式

QoS Map Configure帧格式

AP通过发送QoS Map Configure帧给non-AP STA,来提供QoS映射信息。

其中Action字段包含Category、QoS Action、QoS Map element、0~多个Intra-Access Category Priority elements(可选)字段。

QoS Map Configure帧格式

QoS Map Configure帧字段说明

字段

Octets

说明

Category

1

指示Action帧类别。QoS Map Configure帧属于QoS Action帧,因此该字段为1。

QoS Action

1

指示QoS Action的子类型,QoS Map Configure帧的QoS Action = 18。

QoS Map element

4+2n(n≤21 )

指示将IP层的DSCP字段映射到802.11 UP的方法。

Intra-Access Category Priority element

3n

指示STA 应使用的 AC 内优先级。

dot11SCSActivated = true时该字段存在。


QoS Map element格式

QoS Map element定义了将IP层的DSCP字段映射到802.11 UP的方法。

启用了Qos Map的AP会通过(Re)Association Response/QoS Map Configure帧将QoS Map element发给STA,STA将其作为DSCP-to-UP映射表而替代掉默认 DSCP-to-UP映射表。

QoS Map element格式

QoS Map element字段说明

字段

大小

说明

Element ID

1 Octet

指示管理帧的元素ID。QMF Map元素ID为110。

Length

1 Octet

指示该帧除了Element ID 和Length字段以外的剩余字节数。

DSCP Exception List

n×2  Octets

(n≤21 )

指示特定DSCP的例外列表。

包含0~21个DSCP Exception字段。每个DSCP Exception字段都有一个唯一的DSCP Value。

字段

Octets

说明

DSCP Value

1

指定的DSCP值。

取值范围为[0,63]&255

User Priority

1

指定DSCP值对应的UP。取值范围为[0,7]

Non-AP STA将IP报头中的DSCP字段与DSCP Exception->DSCP Value相匹配,如果成功,则使用DSCP Exception->User Priority相应UP中的UP;如果没有找到匹配,则Non-AP STA尝试将DSCP与UP n DSCP Range字段匹配,如果成功,则使用n作为UP;否则将使用UP=0。

UP n DSCP Range

2 Octets

指定DSCP Low Value~DSCP High Value范围内的DSCP值映射为UP n。

其中DSCP Range value取值范围为[0,63]&255。

其中:

每个UP n对应一个UP n DSCP Range字段;每个UP的DSCP Range不重叠;

DSCP High Value大于或等于DSCP Low Value;

如果DSCP High Value和DSCP Low Value都等于255,则不使用相应的UP。


Intra-Access Category Priority element格式

Intra-Access Category Priority element可选地出现在ADDTS Request、QoS Map Configure、 SCS Request帧中。该元素指示了STA 应使用的 AC 内优先级。

Intra-Access Category Priority element格式

Intra-Access Category Priority element字段说明

字段

大小

说明

Element ID

1 Octet

指示管理帧的元素ID。QMF Map元素ID为110。

Length

1 Octet

指示该帧除了Element ID 和Length字段以外的剩余字节数。

User Priority

3bits

指示与该元素相关的流的 MSDU 或 A-MSDU 的 UP

Alternate Queue

1bit

指示用于此传输流的期望的主要或备选EDCA队列。

字段值

说明

0

使用该AC的主EDCA队列

1

使用该AC的备选EDCA队列

dot11AlternateEDCAActivated = false时该字段预留。

Drop Eligibility

1bit

指示当资源不足时,该TS流是否适合被丢弃。

如果资源不足,STA应该丢弃Drop Eligibility = 1的TS的MSDU/AMSDU。

Reserved

3bits

预留


QoS映射管理

QoS映射信息包含在QoS Map element中,AP可通过(Re)Association Response帧告知、或关联后出现QoS映射关系变化时主动发送QoS Map element告知non-AP STA。

使用QoS Map element更新QoS映射关系变化的步骤如下:

  1. AP的SME发现QoS映射关系改变
  2. AP MLME调用MLME-QOS-MAP.request原语,其中MAC地址为non-AP STA的地址(独立地址)
  3. AP MAC实体发送QoS Map Configure帧携带新的QoS Map element,来更新non-AP STA的QoS映射信息
  4. non-AP STA的MAC实体收到并解析AP的QoS Map Configure 帧
  5. non-AP STA的MLME发送MLME-QOS-MAP.indication原语给SME
  6. non-AP STA的SME收到 QoS Map 响应,将QoS映射关系告知高层
  7. 高层使用更新后的QoS映射关系
更新QoS映射关系


QoS的使用期限和漫游

当使用QoS Map在STA上配置一个非默认DSCP-to-UP映射表时,在STA与其BSSID关联期间,该配置均适用。因此,如果网络使用QoS Map配置一个STA,且之后该STA漫游到网络中的另一个BSS,那么目标BSS中的AP必须使用QoS Map配置相同的映射表。该配置必须在漫游(重)关联期间完成或漫游(重)关联后立即完成,以便STA在漫游后继续执行一致的DSCP-to-UP映射。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值