WIFI 4-addr frame

下面是普通WIFI management packet的格式,我们看到它有3个地址,但是Data frame有可能有4个地址。

 

下面是普通WIFI data packet的格式,我们看到它有4个地址,其中前3个是必须的,第4个地址是可选的。

第4个地址只有WDS模式时用道。

 

WIFI data frame中4个地址的用法如下表。

 

下图是WDS结构,其中SA(Source Address), DA(Destination Address); TA(Target Address), RA(Receiver Address)。

 

### WiFi 帧的结构和格式 WiFi帧作为无线通信的核心组成部分,其设计遵循IEEE 802.11标准。以下是关于WiFi帧格式的具体描述: #### MAC帧的基本组成 MAC(Media Access Control)层定义了数据链路层中的协议单元,即帧。WiFi帧由多个字段构成,这些字段可以分为以下几个部分[^1]: - **Frame Control (控制字段)** 控制字段位于帧头的第一部分,长度为2字节。它包含了有关帧类型的详细信息以及传输选项。具体来说,该字段指示当前帧属于管理帧、控制帧还是数据帧。 - **Duration/ID** 这是一个2字节字段,用于指定发送方保留介质的时间间隔或者关联到特定网络节点的身份标识符。 - **Address Fields (地址字段)** 地址字段通常占据4至6个不同的位置,每组均为6字节长。它们分别表示源地址(Source Address, SA),目标地址(Destination Address, DA)以及其他可能涉及的相关设备地址(如BSSID)。 - **Sequence Control (序列控制)** 序列号帮助接收端识别丢失的数据包并按顺序重组接收到的信息片段。此字段大小固定为2字节。 - **Frame Body (帧体)** 数据有效载荷存储于这一区域中,最大可达数千字节不等,取决于所采用的标准版本及其物理特性参数设置情况。 - **FCS (帧校验序列)** 使用循环冗余检验算法计算得出的一个4字节值附加在帧尾部,用来检测整个帧是否存在错误。 #### 物理层收敛程序(PHY Convergence Procedure, PCP) 为了适应不同调制方式的需求,在实际传输之前还需要经历一次转换过程——这就是所谓的PCP阶段。通过这个环节处理后的结果最终形成真正意义上的射频信号波形输出给天线发射出去。 ```python class WifiFrame: def __init__(self, frame_control, duration_id, addr_fields, seq_ctrl, body, fcs): self.frame_control = frame_control self.duration_id = duration_id self.addr_fields = addr_fields self.seq_ctrl = seq_ctrl self.body = body self.fcs = fcs def display_frame(self): print(f"Frame Control: {self.frame_control}") print(f"Duration/ID: {self.duration_id}") print(f"Addresses: {', '.join(map(str, self.addr_fields))}") print(f"Sequence Control: {self.seq_ctrl}") print(f"Body Length: {len(self.body)} bytes") print(f"FCS Value: {hex(self.fcs)}") # Example usage frame_example = WifiFrame( frame_control=0b1010, duration_id=32768, addr_fields=["AA:BB:CC:DD:EE:FF", "11:22:33:44:55:66"], seq_ctrl=0x1234, body=b'\x01\x02\x03', fcs=0xABCD1234 ) frame_example.display_frame() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值