802.11MAC
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
802.11MAC简介(一)
1、802.11应用场景和术语
一个基本服务集BSS 包括一个基站(AP)和若干个移动站(STA),所有的站在本BSS 以内都可以直接通信,但在和本BSS 以外的站通信时,都要通过本BSS 的基站。
2、MAC architecture
上图来自于802.11协议标准,可以看到802.11MAC分为DCF、PCF和HCF,其中DCF 是PCF和HCF的基础,PCF是可选项,HCF提供了QoS的支持。
2.1、PCF和DCF功能的图例
2.2、PCF(optional)
l PCF使用于有基础设施(AP)的网络,并且使用轮询的方案。
l PCF使用某个PC作AP,充当轮询主设备的角色,决定哪个STA有权发送数据。
l PCF使用Beacon management frame和NAV的方式探知媒介空闲与否
2.3、Hybrid coordination function (HCF)
l HCF方式使用于有QoS保证的场合。
l HCF结合了PCF和DCF方式,并有一定程度的扩充。
HCF有是否争用接入分成两类。
l 基于争用的Enhanced distributed channel access (EDCA)
l 基于非争用的HCF controlled channel access(HCCA)
2.4、Distributed Coordination Function (DCF)
l CS mechanism(载波监听结构)
l MAC-Level acknowledgments &ACK procedure(确认机制)
l IFS(帧间间隔) & DCF timing relations
l Random backoff time(随机退避时间)
l DCF access procedure(DCF接入过程)
l NAV(网络分配向量) and its distribution
3、802.11面临的问题
3.1、隐蔽站问题
未能检测出媒体上已存在的信号的问题叫做隐蔽站问题(hidden station problem)
当A 和C 检测不到无线信号时,都以为B 是空闲的,因而都向B 发送数据,结果发生碰撞。
3.2、暴露站问题
B 向A 发送数据并不影响
C 向
D 发送数据,这就是暴露站问题(exposed station problem)
B 向A 发送数据,而
C 又想和
D 通信。
C 检测到媒体上有信号,于是就不敢向D 发送数据。
无线局域网为什么要用一种新的局域网协议呢,有线局域网的多路存取载波监听/冲突监测(边发送边监听)的处理机制(即CSMA/CD),为什么不适合无线局域网的传输体制呢?这就要涉及到所谓的“隐蔽站”和“暴露站”的问题。
对于上述的“隐蔽站”和“暴露站”的问题,802.11使用了CSMA/CA(冲突避免)+CTS/RTS 技术,即在发送数据帧之前先对信道进行预约的方式,有效的避免了上述情况。
这样对于先前的“隐蔽站”问题,由于C站会收到B站的CTS帧,这样C虽然不知道B要和谁通讯,但他知道B必然要和另一个不再自己接收范围内的站通讯,就不会向B站发送信号。
对于先前的“暴露站”的问题,由于C接收到了B的RTS,但是它并没有接收到任何的CTS,这样它就知道B站必然是和一个不在自己接收范围内的站通讯,于是C站认为和D站的通讯不会受到影响。
802.11MAC简介
本文主要概述802.11协议DCF方案的接入过程
1、CSMA/CA
CSMA/CA的中文全称为载波监听多路访问/冲突避免
1.1 80
2.11中使用CSMA/CA方案的原因
无线局域网却不能简单地搬用CSMA/CD 协议。
有两个主要原因。
• CSMA/CD 协议要求一个站点在发送本站数据的同时,还必须不间断地检测信道,但在无线局域网的设备中要实现这种功能就花费过大。
• 即使我们能够实现碰撞检测的功能,并且当我们在发送数据时检测到信道是空闲的,在接收端仍然有可能发生碰撞。
无线局域网不能使用CSMA/CD,而只能使用改进的CSMA 协议。
改进的办法是把CSMA 增加一个碰撞避免(Collision Avoidance)功能。
802.11 就使用CSMA/CA 协议。
而在使用CSMA/CA 的同时,还增加使用停止等待协议。
1.2 CSMA/CA主要使用两种方法来避免碰撞:
RTS-CTS-DATA-ACK四握手机制
1.1.1、送出资料前,聆听媒体状态,等没有人使用媒体,维持一段时间后,再等待一段随机的时间后依然没有人使用,才送出资料。
由于每个装置采用的随机时间不同,所以可以减少碰撞的机会。
1.1.2、送出资料前,先送一段小小的请求传送封包(RTS : Request to Send)给目标端,等待目标端回应CTS: Clear to Send 封包后,才开始传送。
2、RTS-CTS-DATA-ACK
802.11 允许要发送数据的站对信道进行预约。
针对不同接入的情况可以选择DATA-ACK
方式和RTS-CTS-DATA-ACK方式,RTS-CTS在网络拥塞的情况下可以有效的减少DATA 帧的碰撞,从而提高效率,但同时也增加了额外的开销,所以在网络情况良好的情况下也可以选用DATA-ACK模式。
RTS过程:
CTS过程:
源站A 在发送数据帧之前先发送一个短的控制帧,叫做请求发送RTS (Request To Send),它包括源地址、目的地址和这次通信(包括相应的确认帧)所需的持续时间。
若媒体空闲,则目的站 B 就发送一个响应控制帧,叫做允许发送CTS (Clear To Send),它包括这次通信所需的持续时间(从RTS 帧中将此持续时间复制到CTS 帧中)。
下图为RTS-CTS-DATA-ACK的全过程
3、分段
802.11MAC针对上层传下的不同大小的数据包,可以选择分段和不分段的模式,即设置分段阈值,大于此阈值采用分段方式,小于此阈值采用不分段方式,这样做也是为了提高网络的利用率。
采用分段方式的发送流程
802.11MAC简介(三)
本文主要讨论DCF分布协调模式下的技术细节。
以下为本文内容提纲。
Distributed Coordination Function (DCF)
l CS mechanism(载波监听)
l MAC-Level acknowledgments &ACK procedure(确认机制)
l IFS(帧间间隔) & DCF timing relations
l Random backoff time(随机退避时间)
l NAV(网络分配向量) and its distribution
1、CS mechanism(载波监听)
1.1、Physical CS functions(PHY)
无线调制解调器无法同时收发无线信号,从而只有工作在单双工模式下,监听到载波信号超过某一阈值,这表明信道忙碌。
1.2、Virtual CS functions(MAC)
虚拟载波监听室一种基于MAC层的机制。
虚拟载波监听(Virtual Carrier Sense)的机制是让源站将它要占用信道的时间(包括目的站发回确认帧所需的时间)通知给所有其他站,以便使其他所有站在这一段时间都停止发送数据,这样就大大减少了碰撞的机会。
“虚拟载波监听”是表示其他站并没有监听信道,而是由于其他站收到了“源站的通知”才不发送数据
2、MAC-Level acknowledgments &ACK procedure(确认机制)
标准DATA-ACK流程
MAC层是通过发送ACK帧的方式进行确认的,如果目的节点收到DATA帧,且FCS校验无误的话,即向源节点发送ACK帧。
如果源节点没有收到ACK帧,可能是发送DATA帧时出现错误,也可能是在目的节点回送ACK时发生错误,MAC层对此不做区分。
3、IFS(帧间间隔) & DCF timing relations
帧间间隔示意图
a) SIFS short interframe space
SIFS,即短(Short)帧间间隔,是最短的帧间间隔,用来分隔开属于一次对话的各帧。
一个站应当能够在这段时间内从发送方式切换到接收方式。
使用SIFS 的帧类型有:ACK 帧、CTS 帧、由过长的MAC 帧分片后的数据帧,以及所有回答AP 探询的帧和在PCF 方式中接入点AP 发送出的任何帧。
b) PIFS PCF interframe space
PIFS,即点协调功能帧间间隔,它比SIFS 长,是为了在开始使用PCF 方式时(在PCF 方式下使用,没有争用)优先获得接入到媒体中。
PIFS 的长度是SIFS 加一个时隙(slot)长度。
c) DIFS DCF interframe space
DIFS,即分布协调功能帧间间隔(最长的IFS),在DCF 方式中用来发送数据帧和管理帧。
DIFS 的长度比PIFS 再增加一个时隙长度。
d) AIFS arbitration interframe space (used by the QoS facility)
e) EIFS extended interframe space
所有的站在完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。
这段时间的通称是帧间间隔IFS (InterFrame Space)。
帧间间隔长度取决于该站欲发送的帧的类型。
高优先级帧需要等待的时间较短,因此可优先获得发送权。
若低优先级帧还没来得及发送而其他站的高优先级帧已发送到媒体,则媒体变为忙态因而低优先级帧就只能再推迟发送了。
这样就减少了发生碰撞的机会。
4、Contention window & Random backoff time
(争用窗口和退避时间)
帧间间隔示意图
4.1、争用窗口(contention window)
争用窗口示意图
信道从忙态变为空闲时,任何一个站要发送数据帧时,不仅都必须等待一个DIFS 的间隔,而且还要进入争用窗口,并计算随机退避时间以便再次重新试图接入到信道。
在信道从忙态转为空闲时,各站就要执行退避算法。
这样做就减少了发生碰撞的概率。
802.11 使用二进制指数退避算法。
4.2、退避算法
4.2.1、退避过程
仅在下面的情况下才不使用退避算法:检测到信道是空闲的,并且这个数据帧是要发送的第一个数据帧。
除此以外的所有情况,都必须使用退避算法。
即:
l 在发送第一个帧之前检测到信道处于忙态。
l 在每一次的重传后。
l 在每一次的成功发送后。
4.2.2、二进制指数退避算法
Backoff Time = Random() × aSlotTime
第i次退避就在22+i个时隙中随机地选择一个,即:
l 第I 次退避是在时隙{0, 1, …, 22 + i– 1} 中随机地选择一个。
l 第1 次退避是在8 个时隙(而不是2 个)中随机选择一个。
l 第2 次退避是在16 个时隙(而不是4 个)中随机选择一个
5、NAV (网络分配向量)
当一个站检测到正在信道中传送的MAC 帧首部的“持续时间”字段时,就调整自己的网络分配向量NAV (Network Allocation Vector)。
NAV 指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态。
MAC发送包中带有NAV消息,节点随着收到的包后,根据NAV设置静默时间,且此计数器值随新到包中的NAV信息更新。
参考资料
1、谢希仁,计算机网络
2、IEEE 802.11 2007。