802.11协议精读5:隐藏终端和暴露终端

序言

在无线通信中,有两个典型的问题,即隐藏终端和暴露终端问题。在802.11中,这些问题也是存在,同时也衍生出了一些新类型的隐藏和暴露终端问题。在前面描述DCF模式中,我们已经谈论了的隐藏终端问题。

实际上,隐藏终端和暴露终端都是由于CSMA/CA中所采用的LBT机制所引起。隐藏终端是由于监听到的信道空闲而不是真的空闲,故引发冲突。而暴露终端是由于监听到的信道忙而不是真的忙,故其可以传输而不传输。

在这里,综合之前的论述,我们对一般性的隐藏终端和暴露终端做一个简单的整理。

隐藏终端问题

隐藏终端问题可以简单定义为:节点之间无法互相监听对方。但当其不可以同时传输时,其同时传输,从而导致冲突发生。隐藏终端在单个AP(或者单个Receiver)时就有可能发生。

我们基于以上拓扑讨论基本的隐藏终端问题,在该拓扑中,STA 1与STA 2为两个节点,这两个节点都是关联在AP身上。图中蓝色虚线代表STA 1的发送范围,绿色虚线代表STA 2的发送范围。

由于图中STA 1与STA 2发送范围无法互相覆盖,即无法通过物理载波监听的方法,探测对方是否有发送数据。从而STA 1与STA 2可能会误以为信道空闲,从而同时发送,继而造成冲突。

如上图所述,根据DCF中CSMA/CA的工作机制,STA 1与STA 2在等待DIFS之后,分别选取一个随机数进行Backoff。STA 2由于随机数选择较少,从而首先倒数至0,并发送数据。当STA 2发送数据后,由于STA 1监听不到STA 2已经占用信道,其依旧误以为信道是空闲的,从而继续进行backoff。当STA 1的随机回退计数值倒数至0时,STA 1也会发送数据。

由于STA 1与STA 2的同时发送,即AP接收时存在重叠区域,即也是发生了冲突,最终这一轮传输失败。当这一轮传输失败之后,STA 1与STA 2采用BEB算法重新选择随机数进行回退,但后续过程中两者依旧无法互相监听,所以很容易再次出现同时传输的现象。在隐藏终端的情况下,网络是近似瘫痪的,换言之,STA 1与STA 2的吞吐量都趋近于0。

暴露终端问题

暴露终端问题可以简单定义为:节点之间能够互相监听对方。但其可以同时传输时,其不传输,从而造成浪费。暴露终端在多个AP(或者多个Receiver)时才有可能发生。

我们基于以上拓扑讨论基本的隐藏终端问题,在该拓扑中,STA 1与STA 2为两个节点,其中STA 1关联在AP1上,STA 2关联在AP2上。图中蓝色虚线代表STA 1的发送范围,绿色虚线代表STA 2的发送范围。

图中AP1处于STA 1的覆盖范围内,而不再STA 2的覆盖范围内。AP2处于STA 2的覆盖范围,而不在STA 1的覆盖范围内。换言之,AP1只能接受到STA 1的数据,AP2也只能接收到STA 2的数据。当STA 1与STA 2同时发送时,接受节点AP1或者AP2处均不会发生冲突,故其是可以同时传输的。但是由于这样的拓扑特殊性以及DCF中CSMA/CA的工作机制,造成STA 1与STA 2无法同时传输,该问题则是暴露终端问题。

在CSMA/CA中,接入是遵守LBT(Listen Before Talk)机制的。我们在DCF的介绍中所述,每一个节点在接入信道之前需要进行backoff。在该过程内,若信道空闲,则每经过1个slot,随机倒数计数器进行一次倒数。若信道非空闲,则节点不会对随机倒数计数器进行倒数,并对其进行悬挂。只有当其倒数至0时,才可以发起传输。其中信道空闲与否是通过载波监听机制进行判断的,而在DCF中,存在物理载波监听和虚拟载波监听两种模式,这两种监听方式都有可能引起暴露终端问题,以下我们分两种情况进行讨论。(有关DCF的接入过程,详细内容请查阅之前的文档)

  • 物理载波监听引起的暴露终端

如上图所示,由于STA 1与STA 2可以互相监听。由于STA 2选择了较小的随机数进行倒数,从而其最先倒数至0,并进行发送。当STA 2首先发送数据包给STA 2后,STA 1监听信道为忙状态,从而无法发送信息。故根据拓扑而言,STA 1是可以传数据给AP1的,但是由于监听STA 2正在传输,导致信道忙,故STA1悬挂随机倒数计数器,无法继续倒数,从而无法传输。

这里实际上我们还可以更深入了解一下,实际上STA1为什么需要在别人传输的时候,悬挂自己的随机倒数计数器。在CSMA/CD中,实际上是没有悬挂过程的,只有在CSMA/CA中才存在。在CSMA/CD中,若信道忙,节点就不停的去监听信道,一旦发现空闲就传输。而在CSMA/CA中,节点在中间实际上不是监听信道,而是接收数据。其主要原因在于,STA 1在检测到STA 2正在传输造成信道忙时,其立刻开始接收该STA 2的数据,因为STA
1不知道该数据是否是发给自己的。只有当完整接收数据,CRC校验通过后,STA 1才可以检查帧MAC头部所对应的目的BSSID地址,看是否是自己的数据包,若不是才可以丢包。换言之,CSMA/CA中,悬挂实际上是为了接收,从而导致的现象是悬挂而已。

  • 虚拟载波监听引起的暴露终端

如上图所示,在暴露终端场景中,若STA 2不仅选择了较小的随机数进行优先倒数,并且其发送的数据包是RTS数据包。当STA 1识别到该RTS数据包后,其就会被设置为NAV状态,无法在后面的过程主动竞争信道,进而无法传输。与之前描述用RTS/CTS解决隐藏终端问题时不同,在解决隐藏终端问题中,NAV是由AP所反馈的CTS帧所进行保护。而这里由于STA 1与STA 2能够互相监听,换言之,在暴露终端情况下,STA 1的NAV是被STA
2所发送的RTS帧进行保护的。在STA 1被NAV保护后,其也无法传输,最终导致暴露终端问题。

时间: 2024-10-21 16:46:18

802.11协议精读5:隐藏终端和暴露终端的相关文章

802.11协议精读17:无线传输范围(理论计算)

序言 在前面两篇,我们接连讨论了链路模型和802.11协议中的信道模型以后.基于之前的讨论,本节,我们对无线信号的理论覆盖范围进行计算.在本节中,我们还是先以自由空间损耗模型(Free-space path loss)为例,然后扩展到之前的802.11标准的信道模型. 注:本文的理论计算是笔者总结一些论文中相应的表述后,进行的总结,故如果有错误的地方,还请见谅. 传输范围(基于Free Space Path Loss模型) 首先我们定义传输范围,其为一个发送功率的函数,其表达式如下: 其中,其可

802.11协议精读12:初探协议性能

序言 在初始的802.11协议版本之后,陆续更新的802.11e,以及802.11n以及更新的802.11技术,其都是基于改善当前802.11协议的缺陷不断进行改进的.为了理解这些改进,我们首先要理解802.11存在的一些问题,其中一个主要的问题就是性能问题. 本文我们先简单介绍802.11中一个常见问题,即路由器的宣称速率不等于实际速率的问题,然后我们具体分析一下这个宣称速率(即物理层速率)的计算方法.在后面一篇文章中,我们会介绍用数学方法对该吞吐量具体进行估计的方法,即Bianchi模型.

802.11协议精读20:初探802.11e(WMM)

序言 最初的802.11协议是没有考虑QoS(Quality of Service,服务质量保证),后来随着802.11b/g版本逐渐在商业场景中获得成功,Wi-Fi的应用场景越来越多.WiFi被更多的用于传输高带宽,低延迟的应用,这也导致无线QOS需求也越来越多. 本文我们就简要介绍802.11协议中的QoS部分,之后几篇我们会对于细节进行展开. QoS in IEEE 802.11 当前的主要网络架构都是基于"best-effort"的思想设计的,"best-effort

802.11协议精读13:协议理论性能(Bianchi模型)

序言 为了更好理解一些802.11的后续设计,我们需要深入了解一下802.11的协议性能.我们之前简单描述了下协议性能的部分,这一段我们讨论下具体数学模型下的802.11性能(Bianchi模型). Bianchi模型出自于论文<Performance Analysis of the IEEE 802.11 Distributed Coordination Function>,该论文在2000年的时候发表在JSAC(IEEE Journal on selected areas in commu

802.11协议精读2:DCF与CSMA/CA

序言 在802.11的MAC层中.分成了两种基本工作模式: DCF(Distributed Coordination Function) PCF(Point Coordination Function) 当中,因为DCF具有良好的分布式特性.从而应用更加广泛,而PCF模式则较为少用.在802.11e协议中,DCF被扩展为EDCA模式,PCF模式被扩展为HCCA模式. 本文所讨论的主要内容即有关DCF模式以及其核心CSMA/CA机制. CSMA/CA机制 因为无线信道唯独一个冲突域的特性,所以须要

802.11协议精读10:节能模式(PSM)

序言 在802.11主要的版本中,总共定义了四种节能模式,本文主要关注最初始的PSM模式,对于在802.11e中添加的ASPD以及802.11n中添加的PSMP,SMPS机制,我们在下一篇再进行论述. PSM(Power Save Mode):802.11协议中初始的节能模式,其对基础架构模式和IBSS模式下的节能机制分别进行了定义,并且在DCF和PCF模式下,其具体的MAC层工作机制也有不同. 如同我们之前的描述,802.11的节能模式基本思想是:AP缓存下行数据,只有当节点休眠结束后主动向A

802.11协议精读11:节能模式(APSD,PSMP,SMPS)

序言 在802.11主要的版本中,总共定义了四种节能模式,在前面一篇文档中,我们介绍了最基本的PSM模式,以及其工作方式上的一些细节.由于PSM是在最初的802.11协议下进行的设计,其用了较为保守设计,以确保最稳定的运行需求.在后来的802.11几个新版本中,为了改善节能模式的性能,所以还出现了一些其他的节能模式.本文主要介绍了其中主要的三个节能模式:APSD,PSMP以及SMPS. PS:实际上在802.11的一些分支版本中也定义了一些特定的节能模式,比如802.11v的WNM-Sleep

802.11协议精读9:初探节能模式(PS mode)以及缓存机制

序言 由于802.11的协议工作机制,如果其一种处于工作状态下,那么能耗还是比较大的,尤其移动设备的电量有限,所以在802.11协议初期就设计了相应的能耗管理机制,即引入了节能模式.本文我们主要讨论一下其节能模式的一些基本思想和相应的组件.对于具体的MAC层工作机制,我们在后续的文章中在进行展开. 注:本文初始的意图是描述在节能模式下具体的MAC层工作机制,不过后来在写缓存结构的时候,发现内容整理还是较多,所以进行分拆.故在本文中,我们主要描述了802.11协议中,节能的基本思想,以及其所添加的

WIFI:802.11协议帧格式

802协议桢格式 802.11和Wi-Fi技术并不是同一个东西.Wi-Fi标准是802.11标准的一个子集,并且是Wi-Fi联盟负责管理 802协议桢格式: 协议 发布年份/日期 Op.标准频宽 实际速度 (标准) 实际速度(最大) 半径范围(室内) 半径范围(室外) Legacy 1997 2.4-2.5 GHz 1 Mbit/s 2 Mbit/s  ?  ? 802.11a 1999 5.15-5.35/5.47-5.725/5.725-5.875 GHz 25 Mbit/s 54 Mbit