主要内容

802.11 Mac QoS流量调度

此示例显示了如何使用Simevents®,StateFlow®和WLAN Toolbox™模拟802.11A / N / AC / AX网络中的媒体访问控制(Mac)服务质量(QoS)流量调度。使用QoS,MAC层优先考虑应用程序数据并与低优先级流量相比,将更多资源分配给高优先级流量。在该示例中使用的MAC层实现了增强的分布式信道访问(EDCA)算法以访问对信道进行传输。此示例模拟了802.11网络,其中包含五个节点,可以同时配置四种类型的应用程序流量即:最佳努力,背景,视频和语音。应用程序流量的类型和优先级由MAC层处的访问类别(AC)标识。派生结果表明,最高优先级的语音流量会引发最低延迟,而最低优先级的后台流量会导致最高延迟。

802.11网络中的QoS调度

IEEE 802.11无线局域网[1标准支持低速率应用,提金宝app供MAC层的尽力服务。实时多媒体内容的广泛使用以及对时间敏感的关键应用程序的部署,产生了在802.11网络中提供QoS支持的需求。金宝app为了实现这一点,IEEE 802.11 TGe引入了QoS,作为IEEE 802.11e对IEEE 802.11规范的修订的一部分。通过提供QoS支持,IEEE 80金宝app2.11 MAC层优先考虑应用数据,为高优先级流量分配比低优先级流量更多的资源。

模拟网络QoS

本例对如图所示的具有5个节点的WLAN网络进行建模。这些节点实现了具有物理载波感知和虚拟载波感知的避免冲突载波感知多路访问(CSMA/CA)。物理载波感知使用清晰信道评估(CCA)机制在传输前确定介质是否繁忙。然而,虚拟载波感知使用RTS/CTS握手来防止隐藏节点问题。

每个节点可以同时配置这四种类型的应用程序流量:

  • 最优(AC0)

  • 背景(AC1)

  • 视频(AC2)

  • 声音(AC3)

MAC层的AC标识应用流量的类型和优先级。

MAC层实现EDCA算法访问信道进行传输。EDCA竞争参数的设计使高优先级的流量比低优先级的流量获得更多的传输机会。缺省情况下,应用流量的优先级顺序为:后台优先级、尽力而为优先级、视频优先级和语音优先级。然而,即使在使用这些争用参数后,仍有可能有多个AC同时获得传输机会,从而导致内部冲突。如果发生内部碰撞:

  • 高优先级交流电获得传输机会

  • 低优先级AC被认为是传输失败,并调用重传过程

这个例子不同于802.11 MAC和应用吞吐量测量示例作为应用程序层的多个应用程序,以生成不同类型的流量。

模型配置

您可以通过以下步骤配置应用程序的数据包大小:

  1. 开放模式WLANMACQosSchedulingModel.slx

  2. 要进入节点子系统内部,请单击节点左下角的向下箭头

  3. 要打开应用程序的屏蔽参数,请双击尽最大努力申请

  4. 要启用应用程序,请设置应用程序状态“上”

  5. 配置数据包大小数据包间隔目的地名称访问类

  6. 使用步骤3、4和5配置其他应用程序

有关更多配置选项,请参阅802.11 MAC和应用吞吐量测量.若要在网络中添加其他节点,请复制并粘贴网络中的任何现有节点。

仿真结果

方法中获得的结果与此类似802.11 MAC和应用吞吐量测量.这些结果包括:

运行时可视化,显示用于每个节点的通道争用、传输和接收的时间。此图显示了MAC状态随仿真时间的变化。

在模拟期间,可选的运行时可视化图显示所选节点的MAC传输队列中排队的帧数。您可以使用上述可视化中的“观察MAC队列长度”按钮观察MAC层传输缓冲区的运行时状态。

条形图显示PHY和MAC层的每个节点的度量标准,例如传输,接收和丢弃的数据包。此绘图显示在模拟结束时的网络统计信息。

一个MAT文件'统计。Mat存储了网络中每个层和节点的详细统计信息。由于本例有多个应用,因此MAC层传输来自不同ACs的数据包。您可以观察每个AC在'MACAC0DataTx', 'MACAC1DataTx', 'MACAC2DataTx'和'MACAC3DataTx'列中传输的数量存储在'statistics.mat'。在一个给定的模拟中,每个交流器的传输数直接正比于交流器的优先级。

除了上面的结果之外,该示例还会显示绘图中所选节点的所有ACS的MAC延迟,也会创建MAT文件'maclatenciesLog.mat'。此文件包含有关每个Mac帧的信息,例如:

  • 加入时间戳:应用数据包到达MAC层的时间

  • Node ID:发送端节点ID

  • AC:报文的访问类别

  • 清除时间戳:报文从MAC清除的时间。成功接收到确认报文或完成最大重传次数后,报文从MAC清除。

此信息用于计算每个数据包的MAC延迟。这里,MAC延迟是从应用层到达MAC的分组之间的时间延迟,并且从MAC清零。在这些方案中从Mac清除数据包:

  • 成功传输:接收方在接收到指定的数据包后向发送方发送确认信息。如果发送方收到确认信息,则认为发送成功。

  • 数据包丢弃:如果发件人未接收到确认,则它将重新发送数据包,直到达到重传限制。如果甚至在完成最大重传次数之后也未收到确认,则在MAC层丢弃数据包。

语音业务具有最高的优先级,因此产生最低的延迟。然而,最低优先级的后台流量将导致最高的延迟。

进一步的探索

配置选项:

在该模型中,您可以配置每个AC的MAC竞争参数,每个AC的竞争参数存储在'macConfiguration '中。mat'作为一个包含三个字段的结构,即aifsn, cwMin和cwMax。通过改变这些争用参数,可以改变AC的优先级(Best-effort/Background/Video/Voice)。您可以通过在一个节点中启用多个应用程序并更改流量的争用参数来观察这一点。要更改争用参数,请使用以下代码:

%修改后台流量的竞争参数backgroundcontentionParams.cwmin = 15;%CW最小值backgroundContentionParams。cwMax = 1023;% CW最大backgroundcontentionparams.aifsn = 7;% AIFSN槽%修改尽力而为流量的争用参数bestEffortContentionParams。cwMin = 15;%CW最小值bestEffortContentionParams。cwMax = 1023;% CW最大bestEffortContentionParams。aifsn = 3;% AIFSN槽%修改视频流量的竞争参数videoContentionParams。cwMin = 7;%CW最小值videoContentionParams。cwMax = 15;% CW最大videoContentionParams。aifsn = 2;% AIFSN槽%修改语音业务竞争参数voiceContentionParams。cwMin = 3;%CW最小值VoiceContentionParams.cwmax = 7;% CW最大voiceContentionParams。aifsn = 2;% AIFSN槽%保存更新的争用参数到'macConfiguration.mat'保存(“macConfiguration.mat”“backgroundContentionParams”“bestEffortContentionParams”“videoContentionParams”“voiceContentionParams”);

相关例子

请参阅以下示例以获取进一步的探索:

本举例介绍了在802.11网络中,使用Simulink模型来分析每个AC的MAC时延,从而配置和模拟MAC QoS流量调度。在该模型中,可以配置每个AC的MAC竞争参数,从而改变MAC层的应用流量优先级。金宝app这个例子的结论是,具有最高优先级的语音流量产生最低的延迟。然而,具有最低优先级的后台流量会导致最高的延迟。

附录

此示例中使用的辅助功能和对象是:

  1. edcaframeformats.m.:创建PHY帧格式的枚举。

  2. edcaNodeInfo.m:返回节点的MAC地址。

  3. edcaPlotQueueLengths.m:绘制模拟中的MAC队列长度。

  4. edcaplotstats.m:绘制与模拟时间相关的MAC状态转换。

  5. edcaStats.m:创建仿真统计信息的枚举。

  6. edcaUpdateStats.m:更新仿真统计信息。

  7. edcaLogLatencies.m:记录网络中交换的所有帧的给定信息。

  8. edcaPlotLatencies.m:绘制所有访问类别的MAC帧延迟。

  9. helperAggregateMPDUs.m:将mpdu聚合成A-MPDU。

  10. helperSubframeBoundaries.m: A-MPDU返回的子帧边界。

  11. phyRx.m:模拟与数据包接收相关的PHY操作。

  12. phyTx.m:描述与数据包传输相关的PHY操作。

  13. edcaApplyFading.m:对波形应用瑞利褪色效果。

  14. heSIGBUserFieldDecode.m:解码HE-SIG-B用户域。

  15. heCPECorrection.m:估计并校正共相位误差。

  16. heSIGBCommonFieldDecode.m:解码HE-SIG-B通用域。

  17. Hesigbmergesubchannels.m.:合并20MHz HE-SIG-B子信道。

  18. addMUPadding.m:增加或删除HE-SU电源模块与HE-MU电源模块之间的填充差。

  19. macqueuemanagement.m.:创建WLAN MAC队列管理对象。

  20. roundRobinScheduler.m:创建Road-Robin Scheduler对象。

  21. calculateSubframesCount.m:计算组成MU-PSDU所需的子帧数。

  22. interpretVHTSIGABitsFailCheck.m:解释VHT-SIG-A域的位

  23. rateAdaptationARF.m:创建一个自动速率回退(ARF)算法对象。

  24. rateAdaptationMinstrelNonHT.m:创建吟游诗人算法对象。

参考文献

  1. IEEE STD 802.11™。“无线LAN介质访问控制(MAC)和物理层(PHY)规格”。信息技术的IEEE标准 - 系统之间的电信和信息交流 - 本地和大都市区域网络 - 特定要求;IEEE计算机协会的LAN / MAN标准委员会