802.11 Генерация MAC- Системы координат

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

Введение

Этот пример показывает, как Системы Координат WLAN, указанные в Разделе 9 [1] и [2], могут быть сгенерированы и экспортированы в файл захвата пакетов (PCAP) для анализа с помощью сторонних инструментов анализа пакетов. В этом примере Wireshark [3] используется, чтобы проверить, как ожидалось, содержимое MAC-кадров.

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

Стандарт задает четыре типа систем координат: Management, Data, Control и Extension. Существует несколько подтипов каждого типа системы координат. Они идентифицируются полями Type и Subtype поля управления системой координат в заголовке MAC.

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

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

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

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

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

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

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

  • Для повышения пропускной способности WLAN поддерживает агрегированные MSDU (A-MSDU) и агрегированные MPDU (A-MPDU), как указано в разделах 9.3.2.2, 9.7 [1] и [2].

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

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

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

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

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

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

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

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

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

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

  • Системы координат данных: Data, Null, QoS Data, QoS Null

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

В дополнение к вышеуказанным MPDU, wlanMACFrame также поддерживает генерацию A-MPDU, содержащих MPDU типа 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
fileName = 'macFrames';
% Delete if a file with the same name already exists in the current
% directory
if isfile([fileName, '.pcap'])
    delete([fileName, '.pcap']);
end
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 Std 802.11™-2016 IEEE на информационные технологии - Связь и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Беспроводное управление доступом к среде локальной сети (MAC) и физический слой (PHY) Спецификации

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

  3. Wireshark· Go Deep. https://www.wireshark.org/. Доступ к 30 июня 2020

  4. Группа, The Tcpdump. Открытый репозиторий Tcpdump/Libpcap. https://www.tcpdump.org. Доступ к 30 июня 2020