主要内容

802.11 MAC QoS流量调度

这个示例演示了如何使用SimEvents®,statflow®和WLAN Toolbox™在802.11a/n/ac/ax网络中模拟介质访问控制(MAC)服务质量(QoS)流量调度。通过QoS, MAC层对应用数据进行优先级划分,并将更多的资源分配给高优先级流量。本例中使用的MAC层实现了增强型分布式通道访问(EDCA)算法来访问用于传输的通道。本示例模拟一个802.11网络,有5个节点,可以同时配置4种类型的应用流量,即:最佳效果、背景、视频和语音。应用流量的类型和优先级由MAC层的AC (access category)来确定。结果表明,优先级最高的语音业务产生的延迟最低,而优先级最低的后台业务产生的延迟最高。

802.11网络中的QoS调度

ieee802.11wlan[1]标准支持低速速率应用金宝app,并在MAC层提供最佳服务。使用实时多媒体内容的广泛使用以及部署时间敏感的关键应用程序创建了需要在802.11网络中提供QoS支持。金宝app为实现这一目标,IEEE 802.11 TGE作为IEEE 802.11规范的IEEE 802.11e修正的一部分推出了QoS。通过提供QoS支持,与低优先级流量金宝app相比,IEEE 802.11 MAC层优先考虑应用程序数据并将更多资源分配给高优先级流量。

模拟QoS网络

此示例使用五个节点模拟一个WLAN网络,如图所示。这些节点利用具有物理载波侦听和虚拟载波侦听的碰撞避免(CSMA / CA)的载波感性多次访问。物理载波感测使用清晰的通道评估(CCA)机制来确定介质是否在发送之前忙。虽然,虚拟载波传感器使用RTS / CTS握手来防止隐藏节点问题。

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

  • 尽力而为(AC0)

  • 背景(AC1)

  • 视频(AC2)

  • 语音(AC3)

存在于MAC层处的AC标识应用程序流量的类型和优先级。

MAC层实现EDCA算法以访问信道进行传输。EDCA争用参数的设计使得高优先级流量比低优先级流量获得更多的传输机会。默认配置按以下顺序为应用程序流量分配优先级:背景、尽力而为、视频和语音。但是,即使在使用这些争用参数后,也有可能多个AC同时获得传输机会,从而导致内部冲突。如果发生内部冲突:

  • 高优先级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层用于传输来自不同ac的数据包。你可以在'statisticsTable'的'MACAC0DataTx', 'MACAC1DataTx', 'MACAC2DataTx'和'MACAC3DataTx'列中观察每个AC的传输数量,存储在'statistics.mat'中。在给定的仿真中,每个交流的传输数量与交流的优先级成正比。

除了上面的结果,这个例子还显示了一个图中所选节点的所有ACs的MAC延迟,并创建了一个MAT文件'macLatenciesLog.mat'。这个文件包含了关于每个MAC帧的信息,例如:

  • 输入时间戳:应用程序包到达MAC层的时间

  • 节点ID:变送器的节点ID

  • AC:数据包的访问类别

  • 清除时间戳:从MAC清除数据包的时间。成功接收确认或完成最大次数的重新传输尝试后,从MAC清除数据包。

此信息用于计算每个包的MAC延迟。MAC延迟是指报文从应用层到达MAC,到被MAC清除的时间延迟。在以下情况下,报文会被MAC清除:

  • 成功传输:接收者在收到一个数据包后向发送者发送一个确认。如果发送方收到确认,则视为成功传输。

  • 丢包:如果发送方没有收到确认信息,它将重传该包,直到达到重传限制。如果在完成最大重传次数后仍未收到确认,则数据包在MAC层被丢弃。

语音通信的优先级最高,因此产生的延迟最低。而后台通信的优先级最低,导致的延迟最高。

进一步的探索

配置选项:

在此模型中,您可以为每个AC配置MAC争用参数。每个AC的争用参数作为包含三个字段(即aifsn、cwMin和cwMax)的结构存储在“macConfiguration.mat”中。您可以更改AC的优先级(尽力而为/背景/视频/语音)通过更改这些争用参数。您可以通过在节点中启用多个应用程序并更改流量的争用参数来观察这一点。要更改争用参数,请使用以下代码:

%更改后台流量的争用参数backgroundContentionParams。cwMin = 15;% CW最低backgroundContentionParams.cwmax = 1023;%CW最大值backgroundContentionParams。aifsn = 7;%aifsn插槽%更改最佳流量的争用参数bestffortcontentionparams.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”“视频内容参数”'VoiceContentionParams');

相关的例子

请参考以下例子进行进一步的探索:

此示例使您可以使用Simulink模型在802.11网络中配置和模拟Mac QoS流量调度,以分析每个AC中的MAC延迟。金宝app在该模型中,每个AC的MAC争用参数可以被配置为在MAC层上更改应用程序流量优先级。此示例的结论是,具有最高优先级的语音流量,引起最低延迟。虽然,具有最低优先级的后台流量会导致最高延迟。

附录

本例中使用的helper函数和对象是:

  1. edcaFrameFormats.m:为PHY帧格式创建枚举。

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

  3. edcaplotqueuel长度.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. helpersubframebounders.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 PSDU之间的填充差异。

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

  20. 圆形林氏金属师:创建轮循调度程序对象。

  21. 计算subframeScont.m:计算形成MU-PSDU所需的子帧的数量。

  22. 解释vhtsigabitsfailcheck.m:解释VHT-SIG-A字段中的位

  23. 费率调整ARF.m:创建自动速率回退(ARF)算法对象。

  24. 速率调整吟游诗人:创建吟游诗人算法对象。

参考

  1. IEEE Std 802.11™。《无线局域网介质访问控制(MAC)和物理层(PHY)规范》。信息技术标准。系统间电信和信息交换。局域网和城域网。特殊要求。IEEE计算机协会局域网/城域网标准委员会

相关话题