小言_互联网的博客

Wi-Fi 链路层 - MAC帧类型

236人阅读  评论(0)

IEEE 802.11的帧类型

类型 作用
控制帧 负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性 RTS,CTS,ACK,PS-POLL
RTS和CTS 用于信道预约
ACK 用于确认正确接收到帧
PS-Poll 用于查询AP中缓存的数据
管理帧 负责监督,主要用来加入或退出无线网络,以及处理基站之间连接的转移事宜 Beacon,Probe Request/Response
Authntication / Deauthentication
Association Request/Response,Disassociation
数据帧 负责在工作站之间传输数据 Data,Null Function

控制帧

帧控制域
帧控制域
Type 类型识别码为01
SubType 描述控制帧的子类型
ToDS,FromDS 负责处理无线介质的访问,只能够由无线工作站产生,必然为0
More Fragments 不可能被切割,这个bit 必然为0
Retry 不需要重传,这个bit 必然为0
Power Management 指示、完成当前的帧交换过程后,发送端的电源管理状态, 必然为0
More Data 只用于管理数据帧,必然为0
Protected Frame 不会经过加密, 必然为0
Order 基本帧交换程序, 必然为0
Frame Body
帧类型
type subtype 帧类型
01 1010 Power Save - Poll(省电模式-轮询)
01 1011 RTS(请求发送)
01 1100 CTS(允许发送)
01 1101 ACK(应答)
01 1110 CF-End(免竞争期间结束)
01 1111 CF-End(免竞争期间结束)+ CF-ACK(免竞争期间回应)
RTS(请求发送)
  • STA/AP 通过RTS请求预留信道
  • RTS的 Duration = 三个短帧间隔(SIFS)时间 + 一个CTS帧时间 + 最后的ACK帧时间 + 发送第一个帧或帧片段所需要的时间。

CTS(允许发送)
  • STA/AP 通过CTS确认信道预留时间。
  • CTS的 Duration = RTS 帧的Duration - CTS帧时间 - 短帧间隔(SIFS)时间。


ACK(应答)
  • 在完整的数据帧的最后一个片段中,duration 会被设定为0;Frame Control位中的More Fragments bit 设定为0,表示数据传输已经结束。
  • 如果More Fragments bit 为1,表示尚有帧片段仍在发送中,ACK帧的Duration = 上一数据帧的Duration - 短帧间隔(SIFS)时间 - ACK帧时间 。


PS-Poll(省电模式一轮询)
  • IEEE 802.11为STA定义:Activity 模式和PS(Power Save)模式。
  • 当STA进入PS状态后,AP需要缓存发给该STA的数据,然后在Beacon广播帧中特殊的位置1,这个位表示所有和该AP建立了关联的STA。
  • 当STA从省电模式中苏醒后,会检查Beacon帧中的状态;当发现有给它的数据时,则进入Activity模式,然后发送PS-Poll 帧给AP,以获取缓存帧。
  • 因为PS-Poll帧的duration位作为AID,所以并未包含duration信息,PS-Poll帧的Duration 默认为 ACK帧时间 + 短帧间隔(SIFS)时间。
    AID(连接识别码):PS-Poll 帧将会以MAC 标头的第三与第四bit来代表连接识别码(association ID)。
    BSSID:STA所在的BSS的BSSID,通常是所连接的AP地址。
    Transmitter Address:发送PS-Poll帧的STA的地址


管理帧

STA通过无线网络上网的流程
  1. 扫描:移动工作站首先扫描可供连接的无线网络
  2. 认证:网络系统必须对移动工作站进行身份认证,才能决定是否让工作站与网络系统连接
  3. 连接:移动工作站必须与基站建立连接,这样才能访问有线网络
帧控制域
帧控制域
Type 类型识别码为00
SubType 描述管理帧的子类型
ToDS,FromDS 一起指示帧的目的地是否为分布系统
More Fragments 是否有帧分段
Retry 是否重传帧
Power Management 是否进入省电模式
More Data AP是否有帧待传给休眠中的STA
Protected Frame 是否受安全协议的保护
Order 是否严格依顺序传送
帧类型
type subtype 帧类型
00 0000 Association request(连接请求)
00 0001 Association response(连接应答)
00 0010 Reassociation request(重新连接请求)
00 0011 Reassociation response(重新连接应答)
00 0100 Probe request(探查请求)
00 0101 Probe response(探查应答)
00 1000 Beacon (信标)
00 1010 Announcement traffic indication Message(ATIM)数据带出暗指示通知信号
00 0011 Disassociation(解除连接)
00 1011 Authentication(身份认证)
00 1100 Deauthentication(解除认证)
Beacon (信标)
  • Beacon 帧用来广播某个无线网络的存在,定期发送的Beacon,可让STA得知该网络的存在,从而调整加入该网络所必要的参数。
  • AP广播Beacon的周期是100ms,因为Wi-Fi的最低传输速率是 1 Mbps,为确保所有STA 都能收到,Beacon采用1 Mbps速率的速率广播。因为长度相当的短,对网络性能的影响不大。

Probe Request (检测要求)
  • STA 利用Probe Request帧,主动扫描所在区域内的IEEE 802.11网络。
  • Probe Request 包含:SSID 以及Supported Rates(移动工作站所支持的速率)。
  • 收到Probe Request 帧的AP会据此判定对方能否加入网。

Probe Response(检测应答)
  • 如果Probe Request 帧所探查的网络与之相容,该AP就会以Probe Response 帧应答。
  • 送出最后一个Beacon 帧的工作站,必须负责应答所收到的Probe Request 帧。

Association Request(连接要求)
  • 一旦STA找到相容网络并且通过身份认证,便会发送Association Request帧,试图加入网络。

Reassociation Request(重新连接)
  • 位于相同ESS(扩展服务区域),但在不同BSS(基本服务区域)之间游走的STA,若要再次使用传输系统,必须与网络重新连接。
  • 如果STA暂时离开AP所涵盖的范围,之后要重新加入的时候,也必须重新连接。
  • association Request帧与Reassociation Request帧之间的差别在于,后者包含移动工作站目前所连接之基站的地址Current AP Address。

Association Response (连接应答)/ Reassociation Response(重新连接应答)
  • 当STA试图连接AP时,AP会回覆一个Association Response 帧或Reassociation Response帧

Authentication(认证)
  • IEEE 802.11 网络发展初期,STA使用共享密钥以及Authentication 帧进行身份认证。

Disassociation (解除连接)/ Deauthentication(解除认证)
  • Disassociation帧用来终结一段连接关系, Deauthentication帧则用来终结一段认证关系。两者均包含一固定位,Reason Code(原因代码)。

ATIM (Announcement Traffic Indication Message IBSS 的数据待传指示通知信息)
  • ATIM仅在ATIM窗口期间传送,ATIM没有负载
  • IBSS 中的STA如果为处于休眠状态的接收者暂存帧,就会在递送期间送出一个ATIM 帧,通知对方有信息等待接收。

Action
  • 802.11h 加入了Action 帧的支持,用来触发测量动作。

数据帧

Data(数据)
  • 来自网络层的数据
加密的数据帧
  • 帧经过加密处理,Frames Control(帧控制)位的Protected Frame bit 会被设定为1
Null(空)
  • 数据域为空的帧,用于和AP通信,告诉AP该STA仍然是活跃的。
  • 当STA进入休眠状态时,将Frame Control(帧控制)位的Power Management(电源管理)bit 设定为1,AP必须开始为之暂存帧。

帧控制域类型
type subtype 帧类型 竞争服务 免竞争服务 携带数据 未携带数据
10 0000 Data(数据)
10 0001 Data + CF-Ack
10 0010 Data + CF-Poll AP only
10 0011 Data + CF-Ack + CF-Poll AP only
10 0100 Null data(无数据)
10 0101 CF-Ack
10 0110 CF-Poll AP only
10 1110 CF-Ack + CF-Poll AP only
10 1000 Qos Data(数据)
10 1001 Qos Data(数据)+ CF-Ack
10 1010 Qos Data(数据)+ CF-Poll
10 1011 Qos Data(数据)+ CF-Ack + CF-Poll
10 1100 Qos Null(无数据)
10 1101 Qos Null(无数据)+ CF-Ack
10 1110 Qos Null(无数据)+ CF-Poll
10 1111 Qos Null(无数据)+ CF-Ack + CF-Poll

转载:https://blog.csdn.net/xiaozy115/article/details/102472731
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场