【WiFi】WiFi QoS映射关系及抓包分析

WiFi Aliance认证测试对应图

RFC8325 

​​​​​​RFC 8325icon-default.png?t=N7T8https://datatracker.ietf.org/doc/html/rfc8325


RFC 8325 – WiFi QoS Mappings | mrn-cciew (mrncciew.com)icon-default.png?t=N7T8https://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

实际抓包分析wifi QoS和Diffserv的映射关系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/492939.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

get 请求中传递数组参数

文章目录 问题分析 问题 使用get请求传参时有参数是数组 分析 qs.stringify({ a: [b, c] }, { arrayFormat: indices }) // 输出结果:a[0]b&a[1]c qs.stringify({ a: [b, c] }, { arrayFormat: brackets }) // 输出结果:a[]b&a[]c qs.stringif…

【2G 50元/年 4G 618/3年!】支持比价必赔 送抽奖机会 京东云服务器推荐 附阿里云 腾讯云价格对比表

《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准! 【腾讯文档实时更新】云服务器1分钟教会你如何选择教程 https://docs.qq.com/document/DV0RCS0lGeHdMTFFV?tab000003 ​ 当前活动:采购季&#…

IDEA : 已经有一个永久破解版的IDEA2019版本,现在又想安装最新版本的,俩版本共存,发现新版本打不开的解决方案

在新文件的目录下,注释掉一行19版本的地址 地址:C:\Users\23999\AppData\Roaming\JetBrains\IntelliJIdea2023.2 (不同电脑Users后边的一个地址的注释会不一样) 然后找到该目录下的indea64.exe.vmoptions 用 记事本 打开 在-javaagent 那一栏里会自动给…

AWS EC2设置root登录

在使用亚马逊的服务器时,官方默认是使用密钥登录,跟国内的云服务器差别较大,本文记录下,如何开放AWS EC2的root登录。 一、通过网页版或者XShell登录服务器 这里略过 二、设置root账户密码 # 切换 root sudo -i # 设置或修改密…

产品推荐 | 基于 ALINX XILINX ZYNQ-7000 XC7Z020 多网口 FPGA开发板

01、产品概述 此款开发板使用的是Xilinx公司的Zynq 7000系列的芯片,型号为XC7Z020-2CLG484I,5 路千兆以太网接口,支持多网口高速数据交换数据处理存储,视频传输处理以及工业控制等。内核 CPU搭载双核 ARM CORTEX-A9;在…

leetcode669. 修剪二叉搜索树

1.错误思路; 我原来的思路是前序遍历 void dfs(TreeNode* root,TreeNode* node,int low,int high){if(node){if(node->val<low||node->val>high){remove(root,node->val);}dfs(root,node->left,low,high);dfs(root,node->right,low,high);}}挨个删除不符…

奥比中光深度相机(一):环境配置

文章目录 奥比中光深度相机&#xff08;一&#xff09;&#xff1a;环境配置简介电脑环境SDK配置步骤安装环境依赖填写路径&#xff0c;点击Configure选择Visual studio点击Generate完成基于Python的SDK配置方法一&#xff1a;使用Cmake直接打开方法二&#xff1a;通过源文件打…

代码随想录算法训练营DAY7| C++哈希表Part.2|LeetCode:454.四数相加II、383.赎金信、15. 三数之和、18.四数之和

文章目录 454.四数相加II思路C代码 383.赎金信C 代码 15. 三数之和排序哈希法思路C代码 排序双指针法思路去重C代码 18.四数之和前言剪枝C代码 454.四数相加II 力扣题目链接 文章链接&#xff1a;454.四数相加II 视频链接&#xff1a;学透哈希表&#xff0c;map使用有技巧&…

3D开发工具HOOPS更新:高效、轻量化模型处理再突破!

随着数字化转型的深入发展&#xff0c;高性能图形显示成为了软件开发领域的重要研究方向。在众多工具和库中&#xff0c;HOOPS因其强大的三维图形处理能力而受到广泛关注。 HOOPS也与时俱进&#xff0c;持续更进与创新&#xff0c;近期又推出了一系列新功能&#xff0c;这些功…

Qt篇——Qt无法翻译tr()里面的字符串

最近遇到使用Qt语言家翻译功能时&#xff0c;ui界面中的中文都能够翻译成英文&#xff0c;但是tr("测试")这种动态设置给控件的中文&#xff0c;无法翻译&#xff08;lang_English.ts文件中的翻译已经正确添加了tr()字符串的翻译&#xff09;。 上网搜了很多资料&am…

STM32学习笔记(7_1)- ADC模数转换器

无人问津也好&#xff0c;技不如人也罢&#xff0c;都应静下心来&#xff0c;去做该做的事。 最近在学STM32&#xff0c;所以也开贴记录一下主要内容&#xff0c;省的过目即忘。视频教程为江科大&#xff08;改名江协科技&#xff09;&#xff0c;网站jiangxiekeji.com 本期开…

23届嵌入式被裁,有什么好的就业建议?

最近看到了一个提问&#xff0c;原话如下&#xff1a; 本人23届毕业生&#xff0c;就业方向嵌入式软件&#xff0c;坐标深圳&#xff0c;工作3月公司裁员&#xff0c;目前接近12月开始找工作。 boss上投递简历&#xff0c;校招岗&#xff0c;比较有规模的好公司基本已读不回&am…

PCL拟合并绘制平面(二)

使用RANSAC拟合点云平面 1、C实现2、效果图 普通的点云平面拟合方式在一般情况下可以得到较好的平面拟合效果&#xff0c;但是容易出现平面拟合错误或是拟合的平面不是最优的情况。此时就需要根据自己的实际使用情况&#xff0c;调整平面拟合的迭代次数以及收敛条件。 使用RAN…

PHPCMS v9城市分站插件

PHPCMS自带的有多站点功能&#xff0c;但是用过的朋友都知道&#xff0c;自带的多站点功能有很多的不方便之处&#xff0c;例如站点栏目没法公用&#xff0c;每个站点都需要创建模型、每个站点都需要单独添加内容&#xff0c;还有站点必须静态化。如果你内容很多这些功能当然无…

智慧公厕,运用大数据提升公共厕所管理水平

在现代社会&#xff0c;科技的发展给我们带来了诸多便利&#xff0c;而智慧公厕就是其中之一。智慧公厕运用数据和技术&#xff0c;提升公共厕所的管理水平&#xff0c;为社会生活服务。本文将以智慧公厕源头实力厂家广州中期科技有限公司&#xff0c;遍布全国的众多标杆性案例…

数据结构-----栈、顺序栈、链栈

在软件应用中&#xff0c;栈这种后进先出数据结构的应用是非常普遍的。比如用浏览器上网时&#xff0c;不管什么浏览器都有一个“后退”键&#xff0c;你点击后可以按访问顺序的逆序加载浏览过的网页。即使从一个网页开始&#xff0c;连续点了几十个链接跳转&#xff0c;你点“…

Vtk裁剪功能之平面裁剪vtkClipClosedSurface(vtk小记)

1.原理分析 对你的三维图形&#xff0c;使用一个平面切下去&#xff0c;然后保留一半。 确定一个平面&#xff1a;使用法向量和一个三维坐标点可以确定一个平面 原始图像 切一刀 切两刀&#xff0c;又一半 切三刀&#xff0c;又一半 源代码 #include <vtkActor.h> #i…

医院同步时钟系统的耐用性与可靠性

医院同步时钟系统的耐用性与可靠性是医疗机构管理中至关重要的一环。随着医疗技术的不断发展和医院服务水平的提升&#xff0c;同步时钟系统在医院中的作用也变得愈发重要。在医院环境中&#xff0c;时间的准确性对于医疗过程中的各个环节都至关重要&#xff0c;从手术安排到用…

Python基础教程:轻松入门

基础 注释 #这是单行注释 这是多行注释&#xff0c;使用单引号。 这是多行注释&#xff0c;使用单引号。 这是多行注释&#xff0c;使用单引号。 """ 这是多行注释&#xff0c;使用双引号。 这是多行注释&#xff0c;使用双引号。 这是多行注释&#xff0c;使…

手把手教你 - JMeter压力测试

前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试&#xff0c;他可以帮助我们发现系统中的瓶颈问题&#xff0c;减少发布到生产环境后出问题的几率&#xff1b;预估系统的承载能力&#xff0c;使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤&…