01-802.11协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.MAC层协议,数据包通信过程,加密认证过程,代码理解(80211,wpa_supplicant)
物理层:
参考:/wiki/802.11
802.11a:最高54Mbit/s,播在5GHz,在52个OFDM副载波中,
802.11b:其载波的频率为2.4GHz,可提供1、2、5.5及11Mbit/s的多重传送速度。
11个频段,每个频段为22M, DSSS
802.11g: 共14个频段,原始传送速度为54Mbit/s, OFDM调制方式
802.11i: 弥补802.11脆弱的安全加密功能(WEP), 其中定义了基于AES的全新加密协议CCMP (CTR with CBC-MAC Protocol)
802.11n: 2.4 GHz or 5 GHz bands;速率:300 Mbit/s (20MHz*4 MIMO) 或者 600Mbit/s
(40MHz*4 MIMO);
802.11ac:更宽的RF带宽(提升至160 MHz),更多的MIMO空间流(spatial streams)(增加到8),多用户的MIMO,以及高密度的解调变(modulation,最高可达到256 QAM)。
Wifi的整个信道列表:
/wiki/WLAN%E4%BF%A1%E9%81%93%E5%88%97%E8%A1%A8
下图是2.4
OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,实际上OFDM是MCM Multi-CarrierModulation,多载波调制的一种。
其主要思想是:将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输。
64-QAM:
256-QAM:
FHSS(frequency-hopping spread-spectrum):调频展频
DSSS(direct-sequence spread-spectrum):直接序列展频
OFDM():正交频分复用
MAC层协议
MAC层的功能:扫描,接入,认证,加密,漫游,同步。
MAC层面临的问题:
隐藏节点的问题
如图3-2 所示,节点2 可以之间跟节点1 和节点3 通信,不过某些因素导致节点1 与节点3 无法直接通信。
(这与障碍物的关系并不大:节点1 与3 之间可能只是因为距离远,无法收到对方的无线电波。
)从节点1 的角度来看,节点3 属于隐藏节点。
如果使用简单的transmit-and-pray 协议,节点1 与节点3 有可能在同一时间传送数据,这会造成节点2 无法辨识任何信息。
此外,节点1 与节点3 将无从得知错误发生,因为只有节点2 才知道有
冲突发生。
在无线网络中,由隐藏节点所导致的碰撞问题相当难以监听,因为无线收发器通常是半双工工作模式,即无法同时收发数据。
为了防止碰撞发生,802.11 允许工作站使用请求发送(RTS)和允许发送(CTS)帧来清空传送区域。
由于RTS 与CTS 帧会延长数据交易过程,因此RTS帧、CTS 帧、数据帧以及最后的应答帧均被视为相同基本连接的一部分。
图3-3 说明了整个过程。
如图3-3 所示,节点1 有个数据帧待传送,因此送出一个RTS 帧启动整个过程。
RTS 帧本身带有两个目的:预约无线链路的使用权,并要求接收到这一消息的其他的工作站停止发言。
一旦收到RTS 帧,接收端会以CTS 帧应答。
和RTS 帧一样,CTS 帧也会令附近的工作站保持沉默。
等到RTS/CTS 完成交换过程,节点1 即可传送上面要传送的帧,无须担心来自其他隐藏节点的干扰。
整个RTS/CTS 传输过程会用到好几个帧,实际开始传输数据之前的延迟也会消耗相当的频宽。
因此,它通常只用在高用量的环境,以及传输竞争比较显著的场合。
对低用量的环境而言,通常无此必要。
MAC访问控制与时钟
无线介质的访问,是由协调功能所管控。
以太网之类的CSMA/CA 访问,是由分布式协调功能(distributed coordination function,简称DCF)所管控。
如果需要用到免竞争服务,则可通过架构于DCF 之上的点协调功能(point coordination function,简称PCF)来管控。
在各取所需的DCF 与精确管控的PCF 之间,也可以选择使用介于两种极端之间,采取中庸之道的混和式协调功能(hybrid coordination function,简称HCF)。
免竞争服务只提供于基础网络(infrastructure network),不过只要工作站支持HCF,就可以在网络中提供服务质量(quality of service ,简称QoS)。
协调功能的细节,请见图3-4 以及下列说明:
DCF(分散式协调功能)
DCF 是标准CSMA/CA 访问机制的基础。
和以太网一样,在传送数据之前,它会先检查无线链路是否处于空闲状态。
为了避免冲突发生,当某个传送者占据频道时,工作站会随机为每个帧选定一段延后时间。
在某些情况之下,DCF 可利用CTS/RTS 空闲技术,进一步减少碰撞发生的可能性。
PCF(点协调功能)
点协调功能提供的是免竞争服务。
称为点协调者的特殊工作站可以确保不必通过竞争即可使用介质。
点协调者位于基站,因此只有基础型网络才会使用PCF。
为了赋予比标准竞争式还高的优先性,PCF 允许工作站经过一段较短的时间即可传送帧。
PCF 在实际上并不常见,第9 章对此有详细说明。
HCF(混和式协调功能)
有些应用需要尽力传达更高一级的服务质量,却又不需要用到PCF 那么严格的管控。
HCF允许工作站维护多组服务队列,针对需要更高服务品质的应用,则提拔更多的介质访问机会。
HCF 尚未完全标准化,不过最终将成为802.11 标准的一部分。
将服务质量纳入802.11 MAC 中是项艰巨的任务。
由于涉及到帧封装、队列管理以及信号产生种种复杂层面,撰写本书时,标准委员会还在为服务质量规格书争论不休,因此相关议题将留待未来改版时再予以讨论。
载波监听功能与网络分配矢量
利用NAV 可保证工作站的基本操作不被中断。
例如,图3-3 所示的RTS/CTS 程序即属一种基本操作。
图3-5 说明了NAV 如何保障整个程序不受干扰。
(这是本书图解所使用的标准格式,用以说明多部工作站之间的互动,每部工作站各自有相应的计时器。
)工作站对介质的访问操作可用加上阴影的条状图来表示,每个条状图均会标上帧类型。
没有任何操作之处会标上帧间隔。
此图底部,NAV 线上的条状图代表NAV 计时器。
NAV 是由RTS 与CTS 帧之标头来载送的;此处之所以特别画出一条NAV 线,是为了显示NAV 与空中实际传输状况的关系。
只要在NAV 线上出现NAV 条状图,工作站就必须暂缓访问介质,因为虚拟载波监听机制将会指出,介质正处于忙碌状态。
为了确保整个过程不受中断,节点1 会在RTS 帧中设定NAV,防止传送RTS 时其他工作站将对介质进行访问。
所有收到RTS 帧的工作站均会暂缓访问介质,直到NAV 消失。
各种帧间隔:
SIFS:(short interframe space),短帧间隔,用于高优先级的任务中,如RTS, CTS, ACK等PIFS:(PCF interframe space),点帧间隔,主要被PCF用于免竞争的过程
DIFS:(DCF interframe space), 分布式帧间隔,是竞争式服务中最短的介质闲置时间。
如果介质闲置时间长于DIFS,工作站可以立即对介质进行访问。
利用DCF进行竞争式访问
MAC层数据的封装
竞争式数据业务
帧的处理与桥接
帧格式
状态1只有第一类帧存在,状态2有第一类和第二类帧;状态3有1,2,3类帧都存在。
通用帧格式如下:
Protocol:关注的很少,主要用于协议的版本号和兼容性考虑,一般都是0
Type:分为管理帧,控制帧,数据帧
Subtype:细分上面三种帧,详细见下图
To DS: 1表示是从STA发送到AP的数据包,其它帧都是0
From DS: 1:位于AP侧的数据包中,例如:AP发起的DHCP分配包
More Frag: 1表示当前的MSDU还没有发送完毕
Retry: 1表示是一个重传的数据帧或者管理帧
Pwr Mgt: 1表示该帧表示STA处于power save模式。
More Data:1表示从AP有至少一个MSDU在AP侧的buffer中,而STA处于power-save模式WEP:
Order:1表示数据帧(包含一个msdu或者一个fragment)必须要按顺序来传输
Duration ID:通常指包传输的时间
BSSID:表示infrastructure结构中AP的地址
Destination Address(DA):msdu最终传输到的地址
Source Address(SA):MSDU数据源的地址
Receiver Address(RA):
Transmitter Address(TA):RA, TA这两类地址的作用主要用于WDS(wireless distribution system)
Address 1 代表帧接收端的地址。
在某些情况下,接收端即为目的地,但不然如此。
目的地是指负责处理帧中网络层封包的工作站;而接收端则是负责将无线电解码为802.11 帧的工作站。
Address 2 是发送端的地址,用来发送应答信息。
发送端就是源地址。
源地址是指产生帧中网络层协议封包的工作站;而发送端则是负责将帧发送至无线链路。
Address 3 位则是供基站与传输系统过滤之用,不过该位的用法,取决于所使用的网络类型。
下面是beacon帧的格式:
右边的是射频信息,是在mac头之前。
下面是所有帧格式的结构图:
下面以状态为顺序讨论各种帧的作用:
控制帧
CTS, RTS, ACK, PS-POLL, 与数据帧搭配负责:区域的清空,信道的获取以及载波监听的维护,并对收到的数据帧进行应答等。
管理帧主要负责监督作用:扫描,鉴权,发起连接,断开连接等功能。
控制帧的通用格式如下:
CTS/RTS帧:
802.11允许工作站使用Request to Send(RTS)及Clear to Send(CTS)信号来清空传送区域以防止隐藏节点导致的冲突问题。
用来取得介质的使用权,以便传输数据,用于两个station间的协商,有两个目的:预约无线链路的使用权与要求接收到这一帧的其它工作站保持沉默。
和RTS帧一样,CTS帧也会令附近的工作站保持沉默。
ACK
Beacon:
AP发起的,用来宣布802.11 网络的存在。
时间间隔是100ms,每隔一段时间就会发出的Beacon (信标)信号,用来宣布802.11 网络的存在。
Beacon帧中除了包含BSS 参数的信息,也包含基站暂存帧的信息,因此移动工作站必须仔细聆听Beacons 信号。
Beacon interval(信标间隔)位的长度有16 个bit,用来设定Beacon 信号之间相隔多少时间单位。
Capability Information 性能信息位,发送Beacon 信号的时候,它被用来通知各方,该网络具备哪种性能。
Capability information 位也可以使用在Probe Request 与Probe Response 帧。
PS-POLL:
从休眠唤醒的STA必须向连接的AP发送一个ps-poll帧,以确保数据不会丢失
其中的AID:连接识别码(ASSOCIATION ID)表示所隶属的BSS。
管理帧
数据帧
载波监听功能
802.11具有两种载波监听功能:物理载波监听与虚拟载波监听。
物理载波监听功能由物理层提供,由于造价昂贵且对隐藏节点并无法提供必要的信息,因此大多数采用虚拟载波监听的方法。
虚拟载波监听是由网络分配量(NAV)所提供。
802.11的帧通常会包含一个Duration字段,用来预定一段媒体使用时间。
NAV本身其实就是一个定时器,用来指定预计要占用媒介多少时间。
工作站会将NAV设定为预计使用媒介的时间,这包括完成整个操作必须用到的所有帧。
其他工作站会将NAV的值倒数至零。
只要NAV的值不为零,就代表媒介处于忙碌状态。
当NAV为零,虚拟载波监听功能会显示媒介处于空闲状态。
NAV是由RTS与CTS帧上的表头来载送的。
帧间间隔
不同的帧间间隔会为不同类型的传输产生不同的优先次序,当媒体闲置下来时,高优先级的数据所等待的时间较短。
因此,如有任何高优先级的数据待传,在优先级较低的帧试图访问媒介之前,优先级较高的数据早就将媒介占为己用了。
短帧间间隔(SIFS),SIFS用于高优先级的传输场合,例如RTS/CTS以及肯定确认帧。
经过一段SIFS,即可进行高优先级的传输,媒体即处于忙碌状态。
PCF帧间间隔(PIFS),PIFS主要被PCF使用在无竞争操作中,在无竞争时期,有数据待传的工作站可以等待PIFS后再加以传送,其优先级高于任何竞争式传输。
DCF帧间间隔(DIFS),DIFS是竞争式服务中最短的媒介闲置时间。
如果媒介闲置时间长于DIFS,则工作站可以立即对媒体进行访问。
扩展帧间间隔(EIFS),EIFS并非固定的时间间隔,只有在帧传输出现错误时才会用到EIFS。
MAC层的功能:
1.接入
P2P
Wps
Wifi display 802.11ac
加密与鉴权
加密方式:
AES:ccmp,
RC4:wep,
术语
BSSID
BSS:一种特殊的Ad-hoc LAN的应用,称为Basic Service Set (BSS),一群计算机设定相同的BSS 名称,即可自成一个group,而此BSS名称,即所谓BSSID。
IBSS: independent BSS: 也即AD-HOC网络
ESS:多个BSS串联成的
SSID
SSID(Service Set Identifier)也可以写为ESSID,用来区分不同的网络,最多可以有32个字符,无线网卡设置了不同的SSID就可以进入不同网络,SSID通常由AP广播出来,通过XP 自带的扫描功能可以相看当前区域内的SSID。
出于安全考虑可以不广播SSID,此时用户就要手工设置SSID才能进入相应的网络。
简单说,SSID就是一个局域网的名称,只有设置为名称相同SSID的值的电脑才能互相通信。
HT capabilities:
BA: BLOCK acknowledgement,一种控制帧
疑问点:
1.漫游实现
2.MAC地址格式
参考:
1.《80
2.11培训.ppt》。