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

Этот пример использует pcapWriter возразите, чтобы экспортировать сгенерированные системы координат MAC в файл с .pcap расширением. Чтобы анализировать и визуализировать этот файл, используйте третий пакет части анализатор, такой как Wireshark. Чтобы экспортировать сгенерированные системы координат MAC в файл с .pcapng расширением, используйте pcapngWriter объект.

Создайте объект типа pcapWriter и задайте пакетное имя файла получения. Константы wlanLinkType и timestamp задает тип [4] заголовка слоя ссылки и время получения системы координат WLAN, соответственно. В этом примере время получения - то же самое для всех систем координат. Перед писанием пакетов к файлу с .pcap или .pcapng расширением, используйте writeGlobalHeader функционируйте, чтобы записать глобальный заголовок в файл.

timestamp = 124800; % timestamp (in microseconds)
wlanLinkType = 105; % link-layer header type
pcap = pcapWriter('FileName', 'macFrames');
writeGlobalHeader(pcap, wlanLinkType); % global header in pcap file

Используйте write функционируйте, чтобы записать все системы координат MAC в файл PCAP

% MAC frames to be exported to a PCAP file
frames = {rtsFrame, qosDataFrame, beaconFrame};

% Write all the packets to the PCAP file
for idx = 1:numel(frames)
    write(pcap, frames{idx}, timestamp);
end

% Clear the object
clear 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