主要内容

802.11 MAC帧的一代

这个例子展示了如何生成IEEE®802.11™MAC帧。

介绍

这个例子展示了如何生成无线局域网MAC帧,指定的9节[1][2],导出这些帧数据包捕获文件(PCAP)与第三方包分析工具进行分析。

一般的MAC帧格式包括一个标题、肋骨和帧校验序列(FCS)。头包含的信息帧。肋骨有数据需要传输。发射机计算FCS在头和肋骨。接收机采用FCS正确确认头和肋骨形成。这个图表显示了一般MAC帧的结构。

有关更多信息,请参见无线局域网MAC帧结构的话题。

您可以使用wlanMACFrame函数来生成MAC帧。这个函数接受一个MAC帧配置对象wlanMACFrameConfig作为输入。这在MAC头对象配置字段。设置FrameType财产所需的子类型描述在表1胜9负的[1]设置合适的类型子类型在MAC头字段。的wlanMACFrame函数支持这些MPD金宝appUs的一代。

  • 管理框架:灯塔

  • 数据帧:数据、零QoS数据,QoS Null

  • 控制帧:RTS, CTS, Ack,阻止Ack

除了这些MPDUs,wlanMACFrame还支持代A金宝app-MPDUs包含MPDUs类型QoS数据

控制帧的一代

生成一个RTS框架,创建一个MAC帧的配置对象FrameType设置为“即时战略”

rtsCfg = wlanMACFrameConfig (“FrameType”,“即时战略”);disp (rtsCfg);
wlanMACFrameConfig属性:FrameType:“即时战略”电源管理:0 MoreData: 0时间:0 Address1:“FFFFFFFFFFFF”Address2: 00123456789 b的只读属性:解码:0

配置帧头字段。

%的持续时间rtsCfg。时间= 500;%接收地址rtsCfg。Address1 =“FCF8B0102001”;%发射机地址rtsCfg。Address2 =“FCF8B0102002”;

生成一个RTS使用配置框架。

%为RTS框架生成八位字节rtsFrame = wlanMACFrame (rtsCfg);

默认情况下,输出的wlanMACFrame是一个十六进制八位字节序列。如果你想生成MAC帧比特序列,设置OutputFormat参数

%为RTS框架生成部分rtsFrameBits = wlanMACFrame (rtsCfg,“OutputFormat”,“位”);

数据帧的一代

生成一个QoS数据帧,创建一个MAC帧的配置对象FrameType设置为“QoS数据”

qosDataCfg = wlanMACFrameConfig (“FrameType”,“QoS数据”);disp (qosDataCfg);
wlanMACFrameConfig属性:FrameType:“QoS数据”FrameFormat:“Non-HT”托德:0 FromDS: 1重传:0电源管理:0 MoreData: 0时间:0 Address1:“FFFFFFFFFFFF”Address2:“00123456789 b”Address3:“00123456789 b”SequenceNumber: 0 TID: 0 AckPolicy:“没有Ack”MSDUAggregation: 0 EOSP: 0 IsMeshFrame: 0只读属性:解码:0

配置帧头字段。

%从DS国旗qosDataCfg。FromDS = 1;% DS国旗qosDataCfg。托德= 0;%承认政策qosDataCfg。AckPolicy =“正常的消;%接收地址qosDataCfg。Address1 =“FCF8B0102001”;%发射机地址qosDataCfg。Address2 =“FCF8B0102002”;

使用QoS数据帧传输更高层次的有效载荷。20-byte载荷包含一个重复的十六进制值序列“11”是本例中使用。

有效载荷= repmat (“11”1、20);

使用负载生成一个QoS数据帧和配置。

%为QoS数据帧生成八位字节qosDataFrame = wlanMACFrame(载荷、qosDataCfg);

默认情况下,输出的wlanMACFrame是一个十六进制八位字节序列。如果你想生成MAC帧比特序列,设置OutputFormat参数

%为QoS数据帧生成部分qosDataCfg qosDataFrameBits = wlanMACFrame(有效载荷,“OutputFormat”,“位”);

MAC帧的输出是一个与单个MSDU MPDU。关于A-MSDU和A-MPDU代的更多信息,见802.11交流波形代MAC帧

管理框架代

生成一个信标帧,创建一个MAC帧的配置对象FrameType设置为“灯塔”

beaconCfg = wlanMACFrameConfig (“FrameType”,“灯塔”);disp (beaconCfg);
wlanMACFrameConfig属性:FrameType:“灯塔”托德:0 FromDS: 1重传:0电源管理:0 MoreData: 0时间:0 Address1:“FFFFFFFFFFFF”Address2:“00123456789 b”Address3:“00123456789 b”SequenceNumber: 0 ManagementConfig: [1 x1 wlanMACManagementConfig]只读属性:解码:0

灯塔肋骨由信息字段和信息元素9.3.3.2节解释说[1]。您可以配置这些信息字段和元素使用wlanMACManagementConfig

%创建一个管理肋骨配置对象frameBodyCfg = wlanMACManagementConfig;disp (frameBodyCfg);
wlanMACManagementConfig属性:FrameType:‘灯塔’时间戳:0 BeaconInterval: 100 ESSCapability: 1 IBSSCapability: 0隐私:0 ShortPreamble: 0 SpectrumManagement: 0 QoSSupport: 1 ShortSlotTimeUsed: 0 APS金宝appDSupport: 0 RadioMeasurement: 0 DelayedBlockAckSupport: 0 ImmediateBlockAckSupport: 0名称:“默认名称”BasicRates: {6 Mbps的12 Mbps的24 Mbps的}AdditionalRates:{}只读属性:InformationElements: {511 x2细胞}

配置信息字段和肋骨的配置元素。您可以添加信息元素使用艾迪(elementID信息)方法如下所示。9.4节中[1]列表字段和信息元素的信息。

%信标时间间隔frameBodyCfg。灯塔Interval = 100;%的时间戳frameBodyCfg。时间戳= 123456;%名称frameBodyCfg。名称=“TEST_BEACON”;%添加DS参数即与频道11号(元素ID - 3) (0 x0b)frameBodyCfg = frameBodyCfg.addIE (3“0 b”);

分配的肋骨更新配置对象ManagementConfig在MAC帧配置属性。

%更新管理肋骨配置beaconCfg。ManagementConfig = frameBodyCfg;

生成信标帧与帧配置更新。

%为信标帧生成八位字节beaconFrame = wlanMACFrame (beaconCfg);

默认情况下,输出的wlanMACFrame是一个十六进制八位字节序列。如果你想生成MAC帧比特序列,设置OutputFormat参数

%为信标帧生成部分beaconFrameBits = wlanMACFrame (beaconCfg,“OutputFormat”,“位”);

出口无线局域网MAC帧PCAP或PCAPNG文件

数据包捕获(PCAP)或数据包捕获下一代(PCAPNG)文件(。分别为pcap或.pcapng)是一种广泛使用的数据包捕获文件格式执行包分析。

捕获数据包特征,导出生成的MAC帧PCAP或PCAPNG文件使用wlanPCAPWriter对象。你可以想象和分析PCAP或PCAPNG文件通过使用第三方包分析器Wireshark等工具。

指定的名称和扩展PCAP文件。出口MAC帧PCAPNG文件,将文件扩展名设置为“PCAPNG”。

文件名=“macFrames”;fileExtension =“pcap”;

如果一个文件文件名名字已经存在于当前目录、删除现有的文件。

如果isfile (strcat(文件名,“。”fileExtension)删除(strcat(文件名,“。”fileExtension));结束

设置数据包到达时间在POSIX®微秒。

时间戳= 124800;

创建一个WLAN PCAP文件作者对象与指定的文件名和扩展使用wlanPCAPWriter对象。

pcap = wlanPCAPWriter (“文件名”文件名,“FileExtension”,fileExtension);

指定要出口到MAC帧PCAP文件。

帧= {rtsFrame, qosDataFrame beaconFrame};

写MAC帧PCAP文件。

idx = 1:元素个数(帧)写(pcap帧{idx},时间戳);结束

删除作家PCAP文件对象。

删除(pcap);

可视化生成的MAC帧

你可以打开PCAP文件包含生成的MAC帧数据包分析器。Wireshark匹配符合标准的帧解码MAC帧生成使用WLAN工具箱。这图显示了分析Wireshark的MAC帧捕获。

  • RTS框架

  • QoS数据帧

  • 信标帧

结论和进一步勘探

这个例子展示了如何生成MAC帧的IEEE 802.11标准。您可以使用一个数据包分析器来查看生成的MAC帧。将生成的MAC帧的空气,看到的802.11 OFDM信标帧的一代802.11交流波形代MAC帧

引用

[1]IEEE Std 802.11™-2020(-2016年修订IEEE Std 802.11)。“第11部分:无线局域网介质访问控制(MAC)和物理层规范(体育)。“IEEE标准信息技术——电信和信息交换系统之间-本地和市区网络特定的需求。

[2]IEEE Std 802.11 ax™-2021(-2020年修正案IEEE Std 802.11)。“第11部分:无线局域网介质访问控制(MAC)和物理层规范(体育)。修改1:高效WLAN的增强。“IEEE标准信息技术——之间的通信和信息交换系统。当地和市区网络——特定的需求。

[3]Wireshark·深入。https://www.wireshark.org/。2020年6月30日访问

[4],Tcpdump。Tcpdump / Libpcap公共存储库。https://www.tcpdump.org。2020年6月30日访问

相关的话题