初探802.11协议(0)——PCF/DCF与CSMA/CA机制

上篇《初探802.11协议(0)——开篇(IEEE802.11历史与Wi-Fi速率计算)》已经简介了IEEE802.11的发版史和Wi-Fi速率如何计算。本篇介绍Wi-Fi传输的常见工作模式与机制。

1. 传统的媒介访问机制

为了避免多个无线设备同时访问共享媒介而产生碰撞,早期的802.11(802.11-2007)中指定了DCF和PCF两种媒介的访问机制。

  • DCF(distributed coordination function ):分布式协调功能。

DCF: A class of coordination function where the same coordination function logic is active in every station (STA) in the basic service set (BSS) whenever the network is in operation.
DCF通过CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,载波侦听多路访问/冲突避免)机制,为异步数据传输提供分布式的基于竞争的信道访问,使得AP下的各个STA对于无线资源的使用机会是均等的; 目前大多数AP/STA都是采用这种模式,是一种强制标准。为了对实时业务提供 QoS,标准在 DCF 基础上做了许多基于优先级区分机制的改进(即HCF,混合协调功能)。

  • PCF(point coordination function):点协调功能,有的地方也称之为集中协调功能。怎么翻译也不重要了,在《802.11-2016》的spec里就说要弃用了,在后面的spec版本里可能会直接移除。

《802.11-2016》:The PCF mechanism is obsolete. Consequently, this subclause might be removed in a later revision of the standard.
PCF 是一种可选标准,大多数的无线网络产品不支持 PCF。PCF开始引入无竞争服务来试着对实时业务提供QoS支持,虽然 PCF 具有面向连接的特点,更适于为交互式实时应用提供严格的参数化的 QoS 保证,但PCF不能区分业务类型和业务源,因此它不知道哪个站点有长的实时业务队列,哪个站点只是非实时业务队列,而且其实现起来效率过低且过于复杂,故在实际产品中一般不被使用

  • 为了提升QoS能力,802.11e中将传统的DCF和PCF更替为EDCA和HCCA,后面在专门介绍802.11e QoS部分再来分析,作为开篇只介绍DCF。HCF 结合了DCF和PCF的一些功能特性,同时还将 DCF 和 PCF 的功能与一些增强的、特定于 QoS 的功能相结合。
    在这里插入图片描述
    在这里插入图片描述

2. DCF与CSMA/CA

CSMA协议引入了LBT(Listen Before Talk)机制。在LBT机制下CSMA的思想就是:“CSMA节点在每一次发送之前先监听信道是否是空闲的,如果信道不是空闲的话,那么就不发送数据,等待一会再进行尝试。只有确保是空闲的情况下,才可以发送数据,从而避免打断其他节点正在进行的传输过程"。

《CWNA®Certified Wireless Network Administrator Official Study Guide Third Edition》:
CS(Carrier Sense):载波侦听,用来检测传输媒介是否繁忙;
MA(Multiple Access):多路访问,用来确保每一个无线终端可以进行公平的媒介访问,但每次只能有一个终端传输;
CA(Collision Avoidance):冲突避免,在指定时间内只有一个无线终端可以得到媒介访问能力,希望借此避免冲突

本篇不对CSMA/CD(Carrier Sense Multiple Access with Collision Detection,载波侦听多路访问/冲突检测)和CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,载波侦听多路访问/冲突避免)做详细说明,可自行搜索。

先通过如下问题来引入"DCF与CSMA/CA的存在意义"。

Q:为什么以太网用CSMA/CD,而Wi-Fi却要使用CSMA/CA呢?
A:通过对比这两种方式的异同点即可得知原因。
1.相同点:通信终端在开始传输前必须先侦听是否有其他设备在传输,如果有,则会先等其他设备传输,直到传输媒介空闲;
2.差异点:以太网的终端在传输时发生了冲突是可以检测到的,检测冲突并暂停传输;而Wi-Fi终端采用的射频媒介是半双工的,即没有同时进行传输和接收的能力,所以无法在传输时检测冲突,进而就只能CA(冲突避免)。CSMA/CA机制减少了冲突,DCF利用其多重制衡机制又做了进一步的减少。

为什么说Wi-Fi或者说Wi-Fi使用的射频媒介是半双工的?
在这里插入图片描述
上图所示,在Tx Chain/Rx Chain链路和Antenna之间连接着一个RF Switch设备。这是一个高速的天线开关,用于切换当时天线是连接到发送链路,还是接收链路上。Wi-Fi设备在同一个时间只能处于一个状态下,要么是只发送,要么是只进行接收(或信道监听)。
实际上接收和信道监听本质上都是对接收过来的信号进行处理,信道监听的CCA过程和接收的preamble detection有很高的重合度,所以我们可以把两件事理解成一个功能。

2.1 CSMA/CA机制

2.1.1 IFS

在这里插入图片描述

SIFS/DIFS/EIFS/PIFS

  1. 在CSMA/CA中,发一个帧之前,都需要 “等待” 一个相应的帧间间隔,比如发送数据之前至少要等待DIFS时间,发送ACK之前需要等待SIFS时间;
  2. 只有在帧传输出现错误时才会用到 EIFS,但EIFS 并非固定的时间间隔;
  3. PISF 主要被 PCF 使用在免竞争过程,有时被误解为优先性帧间隔。在免竞争时期,有数据传输的工作站可以等待 PISF 期间过后加以传送,其优先程度高于任何竞争式传输。

2.2 DCF与CSMA/CA

上面已经说过DCF主要是依赖CSMA/CA机制,这里介绍CSMA/CA机制。

  1. CW:Contention window,竞争窗口是用来让节点选择随机回退计数值(backoff counter)的范围。
  2. Backoff:随机回退过程是指每一个节点在竞争信道时,所经历的随机退避过程。在这一过程开始时,节点首先在竞争窗口中选择一个随机数为基准的随机回退计数值(backoff counter),然后每一个slot time(时隙),节点会 “监听” 信道是否空闲,若信道空闲,那么进行一次倒数,即计数值减1,若信道忙,则不进行相应倒数。当该随机回退计数值回退到0时,节点可以发送数据。

以两个STA要发送数据为例,CSMA/CA的过程如下:

  1. 当STA 1与STA 2存在数据,需要在竞争信道进行发送时,其首先需要 “等待” DIFS时间,若DIFS时间内,信道保持空闲状态,那么就可以进行backoff过程;
  2. 若STA 1与STA 2进入backoff过程时,首先需要从竞争窗口(Contention window)选择一个随机数,
    在802.11协议中,默认的初始竞争窗口为31,即随机回退计数值的范围即是[0,31];
  3. 在backoff过程中,每经过一个slot time,STA会 “监听” 一次信道,若信道空闲,则相应的随机回退计数器的值减1。当STA的随机倒数计数器倒数至0时,STA竞争获得信道,从而可以发送数据;
  4. 在AP接收到数据后,会采用CRC机制对数据进行校验,若校验通过,AP会在SIFS后,反馈ACK确认帧。
  5. 当STA成功发送完数据, “等待” 了SIFS的时间之后,AP会向节点反馈ACK确认帧。当STA 成功接收到ACK帧之后,这一次传输完成;
  6. 当这个STA传输完成后,该STA需要再次 “等待” DIFS的时间后,重新开始backoff过程;
  7. 重新开始backoff时,为了保证网络传输的公平性:
    (1) 若STA刚刚发送完数据,那么在backoff过程开始时,需要重新从竞争窗口中选择一个随机数进行倒数;
    (2) 若STA没有发送数据,那么直接从上一次的倒数结果继续倒数 。

如果两个STA选取的backoff counter冲突了,怎么办?
-> 会进行BEB(二进制指数退避),即发生一次冲突后,STA1和STA2的CW范围就会从[0,31]变化到[0,63],然后两个STA再重新在CW中选择。在802.11中,一共允许回退6次,第7次不倍增窗口,再次尝试重发,若再次失败,则丢包。(下图取自《CWNA®Certified Wireless Network Administrator Official Study Guide Fourth Edition》)
CWNE-CWNA_Books

如果两个STA发送的数据冲突了,会如何?
-> 由于AP处于两个节点的信号互相干扰中,从而都无法正确解码,从而CRC校验错误。
在冲突之后,即若AP处CRC校验失败,则不会给任意节点反馈ACK数据包,故两节点在ACK timeout之后,准备进入下一次竞争。


[参考]
1.《IEEE 802.11-2016
IEEE Standard for Information technology–Telecommunications and information exchange between systems Local and metropolitan area networks–Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications》
2. 《 CWNA®Certified Wireless Network Administrator Official Study Guide Third Edition》
3. 《OReilly-802.11_Definitive Guide》802.11无线权威指南
4. https://www.zhihu.com/people/edward_xu

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
802.11的MAC层是指802.11协议中的管理实体,包括MLME、PLME和SME。MLME是MAC层管理实体,负责管理和控制MAC层的操作。PLME是物理层管理实体,负责管理和控制物理层的操作。SME是系统管理实体,负责管理和控制整个系统的操作。\[1\] 在802.11中,帧分片是一种提高无线介质传输可靠性的方法。它将一个完整的帧分成几个更小的帧进行分别传输,每个分片帧都需要收到ACK确认。这样,当某个分片帧出现错误时,只需要重新传输该帧即可。然而,帧分片也可能增加MAC层的负载问题。\[2\] MAC子层包括DCFPCF。DCF是分布式协调功能,它使用载波监听机制来协调无线介质的访问。PCF是点协调功能,它使用基于时间的机制来协调无线介质的访问。其中,载波监听是MAC子层的一个重要功能,用于检测无线介质上是否有其他设备正在发送数据。\[3\] #### 引用[.reference_title] - *1* *3* [802.11 MAC层](https://blog.csdn.net/weixin_30855099/article/details/98569036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [802.11 MAC层介绍(一)](https://blog.csdn.net/hzl6255/article/details/41930437)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值