802.11帧格式
上图是802.11帧的通用格式,具体不同类型的帧会有不同的变体,802.11帧一共有三种类型:
- 控制帧:用于竞争期间的握手通信和正向确认、结束非竞争期等;
- 管理帧:主要用于STA与AP之间协商、关系的控制,如探测请求、认证、关联、同步等;
- 数据帧:用于在竞争期和非竞争期传输数据。
Frame Control帧控制字段(2Byte)
1. Protocol(2bit)位:协议版本由2bit构成,用以显示该帧所使用的MAC版本,目前是0;
2. type(2bit)与subtype(4bit)位:类型与子类型位用来指定所使用的帧类型;
- type为00时为管理帧;
- type为01时为控制帧;
- type为10时为数据帧。
- subtype为三大类型下的细分。
常用的管理帧:
- Beacon(信标帧,AP周期性发送;STA被动扫描)
- Probe request、Probe response (STA发起、AP响应;STA主动扫描)
- Authentication、Deauthentication(STA发起、AP响应;链路认证(不同于接入认证))
- Association Request、Association Response、Disassociation(STA发起、AP响应;建立关联)
- ReassociationRequest、ReassociationResponse
- ATIM(Announcement Traffic Indication Message,通知传输指示消息)WLAN中的IBSS网络中没有接入点,因此无法依赖接入点来缓存帧。IBSS中的STA1如果有要传送给处于休眠状态的接收者STA2的缓存帧,就会在传递期间送出ATIM帧来通知对方有信息待传。
常用的控制帧
- RTS
- CTS(RTS/CTS一般用于解决隐藏节点问题、还有当要传送的数据帧叫较大时,会先用RTS/CTS帧,防止冲突产生时造成较大的资源浪费。)
- ACK
常用的数据帧</