[android-wifi]802.11-管理和控制和数据帧格式

来源:互联网 发布:linux从入门到精通pdf 编辑:程序博客网 时间:2024/06/18 12:13

参考:无线网络指南第二版
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
如下android系统对帧的解析示例:
frameworks/opt/net/wifi/service/java/com/android/server/wifi/util/FrameParser.java
在parseManagementFrame解析管理帧的逻辑内有如下代码表示了协议中帧的相关内容
FrameParser.java中对管理帧数据的解析部分(parseManagementFrame函数代码片段):
private static final byte IEEE_80211_FRAME_CTRL_SUBTYPE_ASSOC_REQ = 0x00 (0b0000);
private static final byte IEEE_80211_FRAME_CTRL_SUBTYPE_ASSOC_RESP = 0x01(0b0001);
private static final byte IEEE_80211_FRAME_CTRL_SUBTYPE_PROBE_REQ = 0x04 (0b0100);
private static final byte IEEE_80211_FRAME_CTRL_SUBTYPE_PROBE_RESP = 0x05(0b0101);
private static final byte IEEE_80211_FRAME_CTRL_SUBTYPE_AUTH = 0x0b(0b1011);

byte ieee80211FrameSubtype
=parseIeee80211FrameCtrlSubtype(frameControlVersionTypeSubtype);

    switch (ieee80211FrameSubtype) {        case IEEE_80211_FRAME_CTRL_SUBTYPE_ASSOC_REQ:            mTypeString ="Association Request";//管理帧中的连接请求            return;        case IEEE_80211_FRAME_CTRL_SUBTYPE_ASSOC_RESP:            mTypeString ="Association Response";            parseAssociationResponse(data);//管理帧中的连接应答            return;        case IEEE_80211_FRAME_CTRL_SUBTYPE_PROBE_REQ:            mTypeString ="Probe Request";//探查要求            return;        case IEEE_80211_FRAME_CTRL_SUBTYPE_PROBE_RESP:            mTypeString ="Probe Response";//探查应答            return;        case IEEE_80211_FRAME_CTRL_SUBTYPE_AUTH:            mTypeString ="Authentication";//身份验证            parseAuthenticationFrame(data);            return;        default:            mTypeString ="Unexpected subtype " + ieee80211FrameSubtype;            return;    }
原创粉丝点击