802.11 Планирование трафика MAC QoS

В этом примере показано, как моделировать планирование трафика управления доступом к среде (MAC) в сети 802.11a/n/ac/ax с помощью SimEvents ®, Stateflow ® и WLAN Toolbox™. Используя QoS, слой расставляет приоритеты данных приложения и выделяет больше ресурсов высокоприоритетному трафику по сравнению с низкоприоритетным трафиком. Слой MAC, используемый в этом примере, реализует алгоритм расширенного доступа к распределенному каналу (EDCA), чтобы получить доступ к каналу для передачи. Этот пример моделирует сеть 802.11 с пятью узлами, которые могут быть одновременно сконфигурированы с четырьмя типами трафика приложения, а именно: Best-each, Background, Video и Voice. Тип и приоритет трафика приложения определяются категорией доступа (AC) на уровне MAC. Полученные результаты показывают, что самый высокий приоритет голосового трафика несет самую низкую задержку, в то время как самый низкий приоритет фонового трафика приводит к самой высокой задержке.

Планирование QoS в сети 802.11

Стандарт WLAN [1] IEEE 802.11 поддерживает низкоскоростные приложения и обеспечивает наиболее эффективную услугу на уровне MAC. Широкое использование мультимедийного содержимого в реальном времени наряду с развертыванием важных приложений, зависящих от времени, обусловило необходимость обеспечения поддержки QoS в сетях 802,11. Для достижения этой цели IEEE 802,11 TGe представили QoS в качестве части поправок IEEE 802 .11e к спецификации 802,11 IEEE. Обеспечивая поддержку QoS, Слой IEEE 802.11 отдает приоритет прикладным данным и выделяет больше ресурсов высокоприоритетному трафику по сравнению с низкоприоритетным трафиком.

Симулируйте сеть QoS

Этот пример моделирует сеть WLAN с пятью узлами, как показано на этом рисунке. Эти узлы реализуют чувствительный к несущей множественный доступ с предотвращением коллизий (CSMA/CA) с физическим восприятием несущей и виртуальным восприятием несущей. Измерение физической несущей использует механизм оценки четкого канала (CCA), чтобы определить, занята ли среда перед передачей. В то время как виртуальное измерение несущей использует рукопожатие RTS/CTS, чтобы предотвратить проблему скрытого узла.

Каждый узел может быть одновременно сконфигурирован с этими четырьмя типами трафика приложения:

  • Лучшие усилия (AC0)

  • Фон (AC1)

  • Видео (AC2)

  • Голос (AC3)

AC, присутствующий на слое MAC, определяет тип и приоритет трафика приложения.

Слой реализует алгоритм EDCA для доступа к каналу для передачи. Параметры конфликта EDCA спроектированы таким образом, что высокоприоритетный трафик получает больше возможностей передачи, чем низкоприоритетный трафик. По умолчанию строение присваивает приоритеты трафику приложения в таком порядке: Фон, Лучшие усилия, Видео и Голос. Однако даже после использования этих параметров конфликта существует вероятность того, что более одного AC получит возможность передачи в то же время, что приведет к внутреннему столкновению. Если происходит внутреннее столкновение:

  • Высокоприоритетный AC получает возможность передачи

  • Низкоприоритетный AC рассматривается как отказ передачи и вызывает процедуру повторной передачи

Этот пример отличается от примера MAC 802.11 и измерения пропускной способности приложения как несколько приложений на прикладном слое, чтобы генерировать различные типы трафика.

Моделирование Строения

Размер пакета приложения можно настроить с помощью следующих шагов:

  1. Откройте WLANMACQosSchedulingModel.slx модели

  2. Чтобы войти в подсистему узла, нажмите на стрелу вниз в нижней левой части узла

  3. Чтобы открыть маскирующие параметры приложения, дважды нажатие кнопки по Best Effort Application

  4. Чтобы включить приложение, установите App State на ' on '

  5. Сконфигурируйте значения Packet Size, Packet Interval, Destination Name и Access category

  6. Используйте шаги 3, 4 и 5 для настройки других приложений

Дополнительные опции строения см. в разделах 802.11 MAC и измерение пропускной способности приложения. Чтобы добавить дополнительные узлы в сети, скопируйте и вставьте любой существующий узел в сети.

Результаты симуляции

Этот пример генерирует аналогичные результаты, которые получаются в MAC 802.11 и измерении пропускной способности приложения. Эти результаты включают:

Визуализация во время выполнения, показывающая время, потраченное на конкуренцию, передачу и прием канала для каждого узла. Этот график показывает изменения состояния MAC относительно времени симуляции.

Во время симуляции необязательный график визуализации во время выполнения отображает количество систем координат, поставленных в очередь в очереди MAC для выбранного узла. Можно наблюдать состояние выполнения буферов передачи MAC слоя с помощью кнопки 'Наблюдать длины очереди MAC' в вышеописанной визуализации.

Штриховой график, показывающий метрики для каждого узла, такие как количество переданных, принятых и отброшенных пакетов в слоях PHY и MAC. Этот график показывает статистику сети в конце симуляции.

Файл MAT 'statistics.mat' хранит подробную статистику для каждого слоя и узла в сети. Поскольку этот пример имеет несколько приложений, MAC- слоя передает пакеты данных от различных AC. Можно наблюдать количество передач от каждого AC в столбцах 'MACAC0DataTx', 'MACAC1DataTx', 'MACAC2DataTx' и 'MACAC3DataTx' в statistics.m. В данной симуляции количество передач на AC прямо пропорционально приоритету AC.

В дополнение к вышеприведенным результатам в этом примере показаны задержки MAC всех AC для выбранного узла на графике, а также создается файл MAT 'macLatenciesLog.mat'. Этот файл содержит информацию о каждом MAC- системы координат, таком как:

  • Временная метка входа: время, когда пакет приложения приходит на слой MAC

  • Идентификатор узла: идентификатор узла передатчика

  • AC: Категория доступа пакета

  • Очистить временную метку: время, в которое пакет очищается от MAC. Пакет очищается от MAC после успешного приема подтверждения или после завершения максимального количества попыток повторной передачи.

Эта информация используется для вычисления задержек MAC на пакет. Здесь задержка MAC является временной задержкой между пакетом, поступающим в MAC с прикладного слоя, и его удалением из MAC. Пакет очищается от MAC в следующих сценариях:

  • Успешная передача: Приемник отправляет подтверждение отправителю после получения предназначенного для него пакета. Если отправитель получает подтверждение, это рассматривается как успешная передача.

  • Сброс пакета: Если отправитель не получил подтверждение, он повторно передает пакет до достижения предела повторной передачи. Если подтверждение не получено даже после завершения максимального количества повторных передач, пакет отбрасывается на уровне MAC.

Голосовой трафик имеет наивысший приоритет и, следовательно, несет самую низкую задержку. В то время как самый низкий приоритет фонового трафика приводит к самой высокой задержке.

Дальнейшие исследования

Опции строения:

В этой модели можно сконфигурировать параметры MAC-конфликта для каждого AC. Параметры конфликта для каждого AC хранятся в macConfiguration.mat как структура, содержащая три поля, а именно aifsn, cwMin и cwMax. Вы можете изменить приоритет AC (Best-each/Background/Video/Voice), изменив эти параметры конфликта. Вы можете наблюдать это, включив несколько приложений в узле и изменив параметры конфликта трафика. Чтобы изменить параметры конфликта, используйте этот код:

% Change the contention parameters for Background traffic
backgroundContentionParams.cwMin = 15; % CW minimum
backgroundContentionParams.cwMax = 1023; % CW maximum
backgroundContentionParams.aifsn = 7; % AIFSN slots

% Change the contention parameters for Best-effort traffic
bestEffortContentionParams.cwMin = 15; % CW minimum
bestEffortContentionParams.cwMax = 1023; % CW maximum
bestEffortContentionParams.aifsn = 3; % AIFSN slots

% Change the contention parameters for Video traffic
videoContentionParams.cwMin = 7; % CW minimum
videoContentionParams.cwMax = 15; % CW maximum
videoContentionParams.aifsn = 2; % AIFSN slots

% Change the contention parameters for Voice traffic
voiceContentionParams.cwMin = 3; % CW minimum
voiceContentionParams.cwMax = 7; % CW maximum
voiceContentionParams.aifsn = 2; % AIFSN slots

% Save updated contention parameters to 'macConfiguration.mat'
save('macConfiguration.mat', 'backgroundContentionParams', 'bestEffortContentionParams', 'videoContentionParams', 'voiceContentionParams');

Похожие примеры

Для дальнейшего изучения см. следующие примеры:

  • Чтобы смоделировать мультиузел, используя Distributed Coordation Function (DCF) MAC и 802.11a PHY, смотрите пример моделирования сети Multi-Node 802.11a с PHY и MAC.

Этот пример позволяет вам сконфигурировать и симулировать планирование трафика MAC QoS в сети 802.11 с помощью модели Simulink для анализа задержек MAC в каждом AC. В этой модели параметры конкуренции MAC для каждого AC могут быть сконфигурированы, чтобы изменить приоритет трафика приложения на уровне MAC. В этом примере делается вывод, что речевой трафик, который имеет самый высокий приоритет, несет самую низкую задержку. В то время как фоновый трафик, который имеет самый низкий приоритет, приводит к самой высокой задержке.

Приложение

Вспомогательные функции и объекты, используемые в этом примере:

  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 PSDU.

  19. macQueueManagement.m: создайте объект управления MAC-очередью WLAN.

  20. roundRobinScheduler.m: создайте объект планировщика скругления.

  21. calculateSubframesCount.m: Вычислите количество подкадров, необходимых для формирования MU-PSDU.

  22. interpretVHTSIGABitsFailCheck.m: Интерпретирует биты в поле VHT-SIG-A

  23. rateAdaptationARF.m: Создайте объект алгоритма резервирования автоскорости (ARF).

  24. rateAdaptationMinstrelNonHT.m: Создайте объект алгоритма minstrel.

Ссылки

  1. Стд- 802.11™ IEEE. «Управление доступом к среде беспроводной локальной сети (MAC) и физическим Слоем (PHY) Спецификаций». Стандарт IEEE на информационные технологии - Телекоммуникации и обмен информацией между системами - Местные и столичные сети - Особые требования; Комитет по стандартам LAN/MAN Компьютерного общества IEEE