802,11 генерации системы координат MAC

В этом примере показано, как сгенерировать системы координат IEEE® 802.11™ MAC.

Введение

В этом примере показано, как системы координат ВЛАНА МАКА, заданные в Разделе 9 из [1] и [2], могут быть сгенерированы и экспортированы в пакетное получение (PCAP) файл для анализа со сторонними пакетными аналитическими инструментами. В этом примере Wireshark [3] используется, чтобы проверить, что содержимое систем координат МАКа как ожидалось.

Общий формат MAC-фрейма состоит из заголовка, тела фрейма и последовательности проверки фрейма (FCS). Заголовок содержит информацию о фрейме. Тело фрейма содержит данные, которые нужно передать. Передатчик вычисляет FCS по заголовку и телу фрейма. Приемник использует FCS, чтобы подтвердить, что заголовок и тело фрейма получены правильно. Следующая схема показывает структуру типового MAC-фрейма.

Стандарт задает четыре типа систем координат: управление, Данные, Управление и Расширение. Существует несколько подтипов каждого типа системы координат. Они идентифицированы полями Type и Subtype поля управления кадром в заголовке MAC.

Системы координат управления:

  • Системы координат, которые используются для установления связи и обслуживания.

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

  • Слой MAC добавляет заголовок и FCS к телу системы координат, несущему информацию, чтобы сформировать Модуль данных о протоколе MAC (MPDU).

Системы координат данных:

  • Системы координат, которые используются, чтобы передать данные более высокого слоя.

  • Полезную нагрузку, данную слою MAC, называют Модулем эксплуатационных данных MAC (MSDU). Слой MAC добавляет заголовок и FCS к MSDU, чтобы сформировать Модуль данных о протоколе MAC (MPDU).

  • Улучшить пропускную способность, поддержки WLAN агрегированный MSDUs (A-MSDUs) и агрегировало MPDUs (A-MPDUs), как задано в Разделах 9.3.2.2, 9.7 из [1] и [2].

  • Если агрегация MSDU включена, несколько MSDUs агрегированы, чтобы сформировать A-MSDU, и затем заголовок MAC и FCS добавляются к A-MSDU, чтобы сформировать MPDU.

  • Если агрегация MPDU включена, несколько MPDUs агрегированы, чтобы сформировать A-MPDU.

Системы координат управления:

  • Системы координат, которые используются, чтобы поддержать доставку данных, управления и дополнительных систем координат.

  • Каждая система координат управления имеет определенную функциональность. Например, управляйте системами координат как Request To Send (RTS) и ясно отправляемый (CTS) справка в резервировании канала, чтобы избежать столкновений, в то время как Ack структурирует справку в распознавании успешной передачи.

Дополнительные системы координат:

  • Этот тип системы координат является расширением трех типов системы координат, заданных выше.

  • Маяк DMG является единственной системой координат, в настоящее время заданной под этим типом системы координат в [1].

Можно использовать wlanMACFrame функция, чтобы сгенерировать системы координат MAC. Эта функция принимает объект wlanMACFrameConfig настройки системы координат MAC как вход. Этот объект конфигурирует поля в заголовке MAC. Установите FrameType свойство к желаемому описанию Подтипа в Таблице 9-1 [1], чтобы установить соответствующие поля Type и Subtype в заголовке MAC. wlanMACFrame функционируйте поддерживает генерацию следующего MPDUs.

  • Системы координат управления: маяк

  • Системы координат данных: данные, пустой указатель, данные QoS, пустой указатель QoS

  • Системы координат управления: RTS, CTS, Ack, блокирует Ack

В дополнение к вышеупомянутому MPDUs, wlanMACFrame также генерация поддержек A-MPDUs, содержащего MPDUs типа QoS Data.

Управляйте генерацией системы координат

Чтобы сгенерировать систему координат RTS, создайте объект настройки системы координат MAC с FrameType установите на 'RTS'.

rtsCfg = wlanMACFrameConfig('FrameType', 'RTS');
disp(rtsCfg);
  wlanMACFrameConfig with properties:

          FrameType: 'RTS'
    PowerManagement: 0
           MoreData: 0
           Duration: 0
           Address1: 'FFFFFFFFFFFF'
           Address2: '00123456789B'

   Read-only properties:
            Decoded: 0

Сконфигурируйте поля заголовка системы координат.

% Duration
rtsCfg.Duration = 500;
% Receiver address
rtsCfg.Address1 = 'FCF8B0102001';
% Transmitter address
rtsCfg.Address2 = 'FCF8B0102002';

Сгенерируйте систему координат RTS с помощью настройки.

% Generate octets for an RTS frame
rtsFrame = wlanMACFrame(rtsCfg);

По умолчанию, выход wlanMACFrame последовательность шестнадцатеричных октетов. Если вы хотите сгенерировать систему координат MAC как последовательность битов, установите OutputFormat параметр к bits.

% Generate bits for an RTS frame
rtsFrameBits = wlanMACFrame(rtsCfg, 'OutputFormat', 'bits');

Генерация системы координат данных

Чтобы сгенерировать систему координат Данных QoS, создайте объект настройки системы координат MAC с FrameType установите на 'QoS Data'.

qosDataCfg = wlanMACFrameConfig('FrameType', 'QoS Data');
disp(qosDataCfg);
  wlanMACFrameConfig with properties:

          FrameType: 'QoS Data'
        FrameFormat: 'Non-HT'
               ToDS: 0
             FromDS: 1
     Retransmission: 0
    PowerManagement: 0
           MoreData: 0
           Duration: 0
           Address1: 'FFFFFFFFFFFF'
           Address2: '00123456789B'
           Address3: '00123456789B'
     SequenceNumber: 0
                TID: 0
          AckPolicy: 'No Ack'
    MSDUAggregation: 0

   Read-only properties:
            Decoded: 0

Сконфигурируйте поля заголовка системы координат.

% From DS flag
qosDataCfg.FromDS = 1;
% To DS flag
qosDataCfg.ToDS = 0;
% Acknowledgment Policy
qosDataCfg.AckPolicy = 'Normal Ack';
% Receiver address
qosDataCfg.Address1 = 'FCF8B0102001';
% Transmitter address
qosDataCfg.Address2 = 'FCF8B0102002';

Система координат Данных QoS используется, чтобы передать полезную нагрузку от более высокого слоя. 20-байтовая полезная нагрузка, содержащая повторяющуюся последовательность шестнадцатеричного значения '11', используется в этом примере.

payload = repmat('11', 1, 20);

Сгенерируйте систему координат Данных QoS с помощью полезной нагрузки и настройки.

% Generate octets for a QoS Data frame
qosDataFrame = wlanMACFrame(payload, qosDataCfg);

По умолчанию, выход wlanMACFrame последовательность шестнадцатеричных октетов. Если вы хотите сгенерировать систему координат MAC как последовательность битов, установите OutputFormat параметр к bits.

% Generate bits for a QoS Data frame
qosDataFrameBits = wlanMACFrame(payload, qosDataCfg, 'OutputFormat', 'bits');

Система координат выхода MAC является MPDU с одним MSDU. Обратитесь к Генерации сигналов 802.11ac в качестве примера с Системами координат MAC для A-MSDU и генерации A-MPDU.

Генерация системы координат управления

Чтобы сгенерировать Кадр "неисправность", создайте объект настройки системы координат MAC с FrameType установите на 'Beacon'.

beaconCfg = wlanMACFrameConfig('FrameType', 'Beacon');
disp(beaconCfg);
  wlanMACFrameConfig with properties:

           FrameType: 'Beacon'
                ToDS: 0
              FromDS: 1
      Retransmission: 0
     PowerManagement: 0
            MoreData: 0
            Duration: 0
            Address1: 'FFFFFFFFFFFF'
            Address2: '00123456789B'
            Address3: '00123456789B'
      SequenceNumber: 0
    ManagementConfig: [1x1 wlanMACManagementConfig]

   Read-only properties:
             Decoded: 0

Тело кадра "неисправность" состоит из информационных полей и информационный элементов, как объяснено в Разделе 9.3.3.3 из [1]. Можно сконфигурировать эти информационные поля и элементы с помощью wlanMACManagementConfig.

% Create a management frame-body configuration object
frameBodyCfg = wlanMACManagementConfig;
disp(frameBodyCfg);
  wlanMACManagementConfig with properties:

                   FrameType: 'Beacon'
                   Timestamp: 0
              BeaconInterval: 100
               ESSCapability: 1
              IBSSCapability: 0
                     Privacy: 0
               ShortPreamble: 0
          SpectrumManagement: 0
                  QoSSupport: 1
           ShortSlotTimeUsed: 0
                 APSDSupport: 0
            RadioMeasurement: 0
      DelayedBlockAckSupport: 0
    ImmediateBlockAckSupport: 0
                        SSID: 'default SSID'
                  BasicRates: {'6 Mbps'  '12 Mbps'  '24 Mbps'}
             AdditionalRates: {}

   Read-only properties:
         InformationElements: {511x2 cell}

Сконфигурируйте информационные поля и элементы в настройке тела системы координат. Можно добавить информационный элементы с помощью addIE(elementID, information) метод как показано ниже. Отошлите Раздел 9.4 в [1] для списка информационных полей и информационный элементов.

% Beacon Interval
frameBodyCfg.BeaconInterval = 100;
% Timestamp
frameBodyCfg.Timestamp = 123456;
% SSID
frameBodyCfg.SSID = 'TEST_BEACON';
% Add DS Parameter IE (element ID - 3) with channel number 11 (0x0b)
frameBodyCfg = frameBodyCfg.addIE(3, '0b');

Присвойте обновленный объект настройки тела системы координат ManagementConfig свойство в MAC структурирует настройку.

% Update management frame-body configuration
beaconCfg.ManagementConfig = frameBodyCfg;

Сгенерируйте Кадр "неисправность" с обновленной настройкой системы координат.

% Generate octets for a Beacon frame
beaconFrame = wlanMACFrame(beaconCfg);

По умолчанию, выход wlanMACFrame последовательность шестнадцатеричных октетов. Если вы хотите сгенерировать систему координат MAC как последовательность битов, установите OutputFormat параметр к bits.

% Generate bits for a Beacon frame
beaconFrameBits = wlanMACFrame(beaconCfg, 'OutputFormat', 'bits');

Экспортируйте системы координат ВЛАНА МАКА в PCAP или файл PCAPNG

Пакетное получение (PCAP) или пакет получают следующее поколение (PCAPNG), файл (.pcap или .pcapng, соответственно) является широко используемым пакетным форматом файла получения, чтобы выполнить пакетный анализ.

Чтобы получить пакетные характеристики, экспортируйте сгенерированные системы координат ВЛАНА МАКА в PCAP или файл PCAPNG при помощи wlanPCAPWriter объект. Можно визуализировать и анализировать PCAP или файл PCAPNG при помощи стороннего пакета инструмент анализатора, такой как Wireshark [3].

Задайте имя и расширение файла PCAP. Чтобы экспортировать системы координат MAC в файл PCAPNG, установите расширение файла на 'pcapng'.

fileName = 'macFrames';
fileExtension = 'pcap';

Если файл с fileName имя уже существует в текущем каталоге, удалите существующий файл.

if isfile(strcat(fileName, '.', fileExtension))
    delete(strcat(fileName, '.', fileExtension));
end

Установите пакетное время поступления в микросекунды POSIX®.

timestamp = 124800;

Создайте объект средства записи файла WLAN PCAP с заданным именем файла и расширением при помощи wlanPCAPWriter объект.

pcap = wlanPCAPWriter('FileName', fileName, 'FileExtension', fileExtension);

Задайте системы координат MAC, которые будут экспортироваться в файл PCAP.

frames = {rtsFrame, qosDataFrame, beaconFrame};

Запишите системы координат MAC в файл PCAP.

for idx = 1:numel(frames)
    write(pcap, frames{idx}, timestamp);
end

Удалите объект средства записи файла PCAP.

delete(pcap);

Визуализация сгенерированных систем координат MAC

Можно открыть файлы PCAP, содержащие сгенерированные системы координат MAC в пакете анализатор. Системы координат, декодируемые Wireshark, соответствуют, стандартные совместимые системы координат MAC сгенерировали использование WLAN Toolbox. Этот рисунок показывает анализ полученных систем координат MAC в Wireshark.

  • Система координат RTS

  • Система координат Данных QoS

  • Кадр "неисправность"

Заключение и дальнейшее исследование

Этот пример продемонстрировал генерацию систем координат MAC для стандарта IEEE 802.11. Можно использовать пакет анализатор, чтобы просмотреть сгенерированные системы координат MAC. Чтобы передать сгенерированные кадры MAC по воздуху, отошлите 802.11 Генерации Кадра "неисправность" OFDM и Генерацию сигналов 802.11ac с примерами Систем координат MAC.

Выбранная библиография

  1. Станд. IEEE 802.11™-2016 Стандарт IEEE для Информационных технологий - Телекоммуникаций и обмена информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования

  2. Черновой Стандарт IEEE P802.11ax™/D4.1 для Информационных технологий - Телекоммуникаций и обмена информацией между системными Локальными сетями и городскими компьютерными сетями - Часть 11 Конкретных требований: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования - Поправка 6: Улучшения для Высокой эффективности WLAN

  3. Wireshark · Пойдите Глубоко. https://www.wireshark.org/. Полученный доступ 30 июня 2020

  4. Группа, Tcpdump. Репозиторий Общественности Tcpdump/Libpcap. https://www.tcpdump.org. Полученный доступ 30 июня 2020