В этом примере показано, как сгенерировать системы координат 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 при помощи 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);
Можно открыть файлы PCAP, содержащие сгенерированные системы координат MAC в пакете анализатор. Системы координат, декодируемые Wireshark, соответствуют, стандартные совместимые системы координат MAC сгенерировали использование WLAN Toolbox. Этот рисунок показывает анализ полученных систем координат MAC в Wireshark.
Система координат RTS
Система координат Данных QoS
Кадр "неисправность"
Этот пример продемонстрировал генерацию систем координат MAC для стандарта IEEE 802.11. Можно использовать пакет анализатор, чтобы просмотреть сгенерированные системы координат MAC. Чтобы передать сгенерированные кадры MAC по воздуху, отошлите 802.11 Генерации Кадра "неисправность" OFDM и Генерацию сигналов 802.11ac с примерами Систем координат MAC.
Станд. IEEE 802.11™-2016 Стандарт IEEE для Информационных технологий - Телекоммуникаций и обмена информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования
Черновой Стандарт IEEE P802.11ax™/D4.1 для Информационных технологий - Телекоммуникаций и обмена информацией между системными Локальными сетями и городскими компьютерными сетями - Часть 11 Конкретных требований: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования - Поправка 6: Улучшения для Высокой эффективности WLAN
Wireshark · Пойдите Глубоко. https://www.wireshark.org/. Полученный доступ 30 июня 2020
Группа, Tcpdump. Репозиторий Общественности Tcpdump/Libpcap. https://www.tcpdump.org. Полученный доступ 30 июня 2020