4. 802.11成帧的细节

部分参考于:https://www.cnblogs.com/hunaiquan/p/5566779.html

1.简介

802.11帧主要有三种类型:数据帧,控制帧,管理帧

2.数据帧

数据帧会将上层协议的数据置于帧主体中国(frame body)中加以传递。

数据帧可根据功能加以分类:基于竞争的服务(contention-base service),无竞争服务的两种数据帧。

Frame Control(帧控制)

Duration(持续时间)

Duration(持续时间)字段用来记载网络分配矢量(Network Allocation Vector,简称NAV)的值。数据帧的Duration字段的设定必须依循四项规范。

1.无竞争周期所传递的任何帧必须将Duration字段的设定为32768
2.目的地为广播或组播地址的帧(Address 1字段设定了组位)的持续时间为0。
3.如果Frame Control字段中的More Fragment位为0,表示该帧已无其余片段。最后的帧片段只需为本身的确认预定媒介使用权,之后就可以恢复基于竞争的访问了。

4.如果Frame Control字段中的More Fragment位为1,表示该帧其后还有帧片段。因此Duration字段便会被设定为传送2个确认加上3个短帧间隔及下一个帧片段所需的时间。

寻址与DS位

地址字段的编号与功能取决于设定了那个DS(分布式系统)位。只有无线桥接器(wireless bridge)才会使用第四个地址字段。

数据帧的类型主题

Data(数据)

子类型为Data的帧只有在基于竞争的访问周期才会被传送

Null(空)

数据帧的封装

IBSS帧

在IBSS中使用的address字段有3种。第一个地址代表received(接收端),同时也是IBSS网络中的destionation(目的地)地址。第二个地址是source(来源)地址。
IBSS数据帧的子类型不是data就是Null,后者只是用来告知目前的电源管理状态。

传送来自接入点(From AP)的帧

第一个地址代表无线网络中接收该帧的receiver(接收端),即该帧的目的地。
第二个地址存放了transmitter(发送端)地址。在infrastructrue(基础结构型)网络中,发送地址也就是BSSID。

注意:接入点不能使用省电模式

WDS中的帧

当接入点被部署成无线桥接器(或者WDS)时会用到4个地址字段。

3.控制帧

控制帧主要用来协助数据的传递

RTS(请求发送)

RTS的MAC标头有4个字段构成:Frame Control;Duration(持续时间);Address 1字段(接收端地址);Address 2字段(发送端地址)

CTS(清除发送)

CTS帧的MAC标头标头由3个字段构成:Frame Control;Duration(持续时间);Address 1字段(接收端地址)

ACK(确认)

ACK帧的MAC标头由3个字段构成:Frame Control;Duration(持续时间);Address 1字段(接收端地址)

PS-Poll(省电-轮询)

PS-Poll帧的MAC标头由4个字段构成:Frame Control;AID(关联标识符);Address 1字段(BSSID);Address 2字段(传送端地址)

注意:在PS-Poll帧中并未包含duration信息,因此无法更新NAV。不过,所有收到PS-Poll帧的工作站都会以短帧间间隔加上传送ACK信号所需的时间来更新NAV。这一自动调整机制是个接入点在传送ACK信号时,不容易与移动工作站发生冲突

4.管理帧

所有管理帧的标头都一样

帧主体

帧主体(frame body)中的大部分数据如果使用长度固定的字段,就成为固定字段(fix field);如果字段长度不定,就称为信息元素(information element)。所谓信息元素,是指长度不固定的数据块(data blob)。每个数据块均会标注类型编号与大小,各种信息元素的数据字段都有特定的解释方式。

Authentication Algorithm Number (身份验证算法编号)

身份验证算法编号字段占用2个字节。此字段代表关联发生之前,目前只定义了两种值,其他值保留给未来版本使用。

Authentication Transaction Sequence Number(身份验证处理序列号)

身份验证过程分为好几个步骤,其中包含从接入点发出的质询(challenge)以及试图关联的移动式工作站所做出的的响应。Authentication Transaction Sequence Number(身份验证处理序列号)字段是由2个字节构成,用以追踪身份验证的进度。此字段值介于1-65535之间,其值不可为0。

Beacon interval(信标间隔)

Beacon信号用来宣布802.11网络的存在。Beacon帧中除了包含BSS参数信息,也包含接入点缓存帧的信息。Beacon interval(信标间隔)字段的长度为16位,用来设定Beacon信号之间相隔多少时间单位。时间单位通常缩写为TU,代表1024微妙。

Capability information(性能信息)

Capability Information字段是长度为16位的。传送Bencon信号的时候,它被用来通告网络具备何种性能。Capability Information字段也可以使用Probe Requeset与Probe Response帧中。在本字段中,每个位代表一个标记对应到网络具备的某种特殊功能。

ESS/IBSS(扩展服务集/独立基本服务集)

这两个位彼此互斥(mutually exclusive)。接入点会将ESS设定为1,而将IBSS字段设定为0,表示接入点属于infrastructure(基础结构型)网络的一部分。IBSS中的工作站则会将ESS字段设定为0,而将IBSS字段设定为1。

Privacy(保密性)

将Privacy位设定位1,代表需要使用WEP以维持机密性。在infrastructure网络中,发送端为接入点。在IBSS里,Beacon信号必须由IBSS中的某个工作站负责。

Short Slot Time(短前导码)

802.11规定新增此字段是为了支持告诉直接序列扩展物理层。将至设定为1,代表此网络目前使用短前导码,0代表不使用此选项,并且在该BSS中禁止使用短前导码。802.11g规定使用短前导码,因此在根据802.11g标准所构建的网络中,此字段必然被设定为1.

PBCC(封包二进制回旋码)

802.11b规范新增此字段是为了支持高速直接序列扩频物理层。将之设置为1,代表此网络目前使用封包二进制回旋码调制机制。0代表不使用此选项并且在该BSS中禁止使用封包二进制回旋码。

Channel Agility(激动信道转换)

此字段加入802.11b规范是为了支持告诉直接序列扩频物理层。将之设置为1,代表此网络使用机动信道转换选项。0代表不使用

Short Slot Time

此位设定位1,代表使用802.11g的DSSS-OFDM帧构造(frame construction)选项

Contention-free polling(无竞争-轮询)位

工作站与接入点使用这两个位(CF-Pollable与CF-Poll Request)当作标签。这些标签的意义如下

Current AP Address(当前接入点的地址)

移动是工作站可以使用Current AP Address(当前接入点的地址)字段来表明当前关联的MAC地址。这个字段的用途是便于关联(association)与重新关联(reassociation)的进行。

Listen interval(聆听间隔)== Beacon interval

当工作站与接入点关联时,会将Listen Interval(聆听间隔)记录下来。Listen interval允许移动式工作站指出接入点必须为它缓存帧多长时间。聆听间隔越久,接入点就必须使用越多的内存来缓存帧。

Association ID(关联标识符)

Association ID是长度为16位的字段。当工作站与接入点关联时,就会被赋予一个关联标识符来协助控制与管理。虽然关联标识符的可用位数为14,不过只有1-2007可以使用。为了与MAC标头的Duration/ID字段兼容,最重要的两个位均被设定为1.

Timestamp(时间戳)

Timestamp字段可用来同步BSS中的工作站。BSS的住计时器会定期传送目前已作用的us。当计数器到达最大值时便会从头开始计数。

Reason Code

当对方不适合加入网络时,工作站会送出Disassociation(取消关联)或Deauthentication(解除身份验证)帧作为响应。这些帧中包含一个长度为16位的Reason Code(原因代码)字段。表示对方的做法有误。表4-5列出了产生原因代码的理由。

Status Code(状态码)

5.管理帧的信息元素

信息元素(information element)是管理帧的可变长组件。信息元素通常包含一个ElenmentID(元素标识符)字段,一个length(长度)字段以及一个长度不确定的字段。

6.服务集标识符Service Set Identity(SSID)

有些文件将 SSID 视为网络名称,因为网管人员通常以字串来指定 SSID。其实, SSID 不过是由字节所形成的字串,用来标示所属网络的 BSSID。有些产品要求此字串必须是以 null(即0)结尾的 ASCII 字串,虽然标准对此并无特别规范。
SSID 的长度介于 0 至 32 字节之间。如果完全不加指定,此种特例称为 broadcast SSID;broadcast SSID 只用于 Probe Request 帧,工作站可以藉此找出该区域中所有的 802.11 网络。

猜你喜欢

转载自www.cnblogs.com/huangdengtao/p/12686601.html