主要内容

802.11 MAC QoS流量调度

此示例演示如何使用SimEvents®、Stateflow®和WLAN工具箱模拟802.11a/n/ac/ax网络中的媒体访问控制(MAC)服务质量(QoS)流量调度™. 使用QoS,MAC层对应用程序数据进行优先级排序,并为高优先级流量分配比低优先级流量更多的资源。本例中使用的MAC层实现了增强的分布式信道访问(EDCA)算法,以访问信道进行传输。此示例为802.11网络建模,该网络具有五个节点,可同时配置四种类型的应用程序流量,即:尽力而为、背景、视频和语音。应用程序流量的类型和优先级由MAC层的访问类别(AC)确定。导出的结果表明,最高优先级的语音通信产生的延迟最低,而最低优先级的后台通信产生的延迟最高。

802.11网络中的QoS调度

ieee802.11wlan[1.]该标准支持低速率应用万博1manbetx程序,并在MAC层提供尽力而为的服务。实时多媒体内容的广泛使用以及对时间敏感的关键应用程序的部署使得需要在802.11网络中提供QoS支持。为此,IEEE 802.11 TGe将QoS作为IEEE 802.11e的一部分引入对IEEE 802.11规范的修订。通过提供QoS支持,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文件“statistics.MAT”存储网络中每个层和节点的详细统计信息。由于该示例具有多个应用程序,因此MAC层从不同的ac发送数据分组。您可以在“statistics.mat”中存储的“statisticsTable”的“MACAC0DataTx”、“MACAC1DataTx”、“MACAC2DataTx”和“MACAC3DataTx”列中观察每个AC的传输次数。在给定的模拟中,每个AC的传输次数与AC的优先级成正比。

除上述结果外,此示例还显示了绘图中选定节点的所有AC的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;%最大连续波backgroundContentionParams.aifsn=7;%AIFSN插槽%更改尽力而为流量的争用参数bestEffortContentionParams.cwMin=15;%CW最小值bestEffortContentionParams.cwMax=1023;%最大连续波bestEffortContentionParams.aifsn=3;%AIFSN插槽%更改视频流量的争用参数videoContentionParams.cwMin=7;%CW最小值videoContentionParams.cwMax=15;%最大连续波VideoContentParams.aifsn=2;%AIFSN插槽%更改语音通信的争用参数voiceContentionParams.cwMin=3;%CW最小值voiceContentionParams.cwMax=7;%最大连续波voiceContentionParams.aifsn=2;%AIFSN插槽%将更新的争用参数保存到“macConfiguration.mat”拯救(“macConfiguration.mat”,“backgroundContentionParams”,“bestEffortContentionParams”,“视频内容参数”,“voiceContentionParams”);

相关实例

请参考这些示例以进一步了解:

此示例使您能够使用Simulink模型在802.11网络中配置和模拟MAC QoS流量调度,以分析每个AC中的MAC延迟。在此模型中,可以配置每个AC的MAC争用参数,以更改MAC层的应用程序流量优先级。此示万博1manbetx例得出结论,具有e最高优先级产生的延迟最低。然而,具有最低优先级的后台流量产生的延迟最高。

附录

本例中使用的辅助函数和对象包括:

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

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

  3. edcaplotqueuelength.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. edcaapplyfacing.m:对波形应用瑞利衰落效果。

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

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

  16. heSIGBCommonFieldDecode.m:解码HE-SIG-B公共字段。

  17. Hesigbmerges子通道:合并20MHz HE-SIG-B子信道。

  18. addMUPadding.m:添加或删除HE-SU和HE-MU PSDU之间的填充差异。

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

  20. roundRobinScheduler.m:创建循环调度程序对象。

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

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

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

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

工具书类

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

相关话题