版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、802.11根本数据传输机制理解网络根本概念1.1 802.11网 络元素Statio n (STA):具有802.11无线网卡的设备,包括手机、笔记本电脑等。Access Poi nt (AP):实现无线网络与固定网络连接功能的设备,通常也称作“热点,它主要完成STA与STA之间数据的转发、STA与骨干网之间数据的转发以及必要的管理工作。本文中将AP和STA通称为Node节点。Wireless Medium (WM):STA之间以及STA与AP之间传递数据的通道,即无线链路。 无线链路一词相对直观和容易理解,本文中的用无线链路只带WM。Distribution System (DS):802
2、3.11中的一个逻辑概念,通常包括两局部:骨干网以及AP的帧分发机制。这里的骨干网指的是连接各AP的固网,通常可以理解为以太网;AP的帧分发机制那么完成骨干网与STA、以及STA与STA之间的数据帧转发工作。1.2 802.11组网方式In depe ndent Basic Service Set (IBSS)IBSS中只有STA和 WM,没有 AP和DSIBSS的通信只能发生在 STA直接通信距离IBSSSTA间的通信都是点到点直接通信,没有转发图1 IBSS网络构造In frastructure Basic Service Set (BSS) BSS有 STA、AP 和 WM,但没有 DS
3、BSS的围由AP的覆盖围决定 BSS的各STA的通信均由AP中转,不能直接通信BSSSTA在通信前必须先与 AP进展关联(associate)建立STA-AP的对应绑定关系STA总是关联的发起方, AP是响应方并决定是否允许STA的参加一个STA同一时刻最多只能与一个 AP进展关联 AP的存在使得各 STA可以以省电 (power-saving: PS)模式工作图2 BSS网络构造Exte nded Service Set (ESS) 多个 BSS串在一起组成一个ESS,同一 ESS的所有 AP使用同一个 SSID (Service SetIde ntifier) 一个ESS的各BSS由DS连
4、接起来图3 ESS网络构造2. 802.11数据传输的根本问题及解决方案2.1数据传输的可靠性将数据准确无误地送达目的地是任何通信技术的根本要求。802.11中引入多种机制来保证数据传输的可靠性。2.1.1 ACK 机希 9接收方成功接收到一个帧后,向发送方回复一个Ack帧进展确认。这里的成功接收意味着MAC帧已经收到且 FCS校验结果正确。1卜TFinrJ>图4引入ACK后的帧交互机制一般情况下有两种帧要求 Ack帧确实认:单播帧:单播帧的接收者必须向发送者回复Ack进展确认ToDS域为1的多播/播送帧:ToDS为1意味着这个报文需要由AP转发到DS里去,AP向发送方确认报文已收到并会
5、被转到DS里去。此时其他 STA不回复。多播/播送帧不要求、也不能要求收到该帧的每个节点都ACK回复,因为这样既无必要,AP也无法处理。发送方收不到Ack帧的可能情况有:接收方未接收到帧,所以没有回复Ack接收方收帧过程出错,或是对帧的FCS校验失败,没有回复 Ack接收方成功收到帧,但发送方没有成功收到Ack帧不管是那种情况,发送方都会认为发送失败并启动重传。重传机制802.11中提供一个门限值 RTSThreshold,长于或等于该门限值的帧被认为是长帧,而短于该 门限值的帧被认为是短帧。系统为每一个即将传输的帧impending frame都相应地配备有一个重发计数器 RetryCoun
6、te门,长帧那么为LRC Long RC,短帧那么为 SRC Short RC。每重传一次,相应的 RC就加1。系统中对帧的重传次数是有限制的。如果重传次数到达上限但传输依然没有成 功,该帧将被丢弃。此外系统对每一帧的有效时间也是有限制的,也就是说每一帧都应该在一定时间被成功发 出,否那么该帧就失效了,系统会将其丢弃。综上所述,帧的重传不会无限制的重复下去,当发生下述情况之一时,重传终止:得到了接收方的 Ack,发送成功;重传次数到达上限但仍未收到接收方的Ack,发送失败,弃帧;当前帧已经过了有效时期但仍未收到接收方的Ack,发送失败,弃帧。重传意味着对帧的缓冲,意味着对系统存及其他资源的占用
7、。而帧越长,对系统存的占 用就越多。 因此按帧的的长短进展分类, 降低长帧的重传上限, 有利于提高系统资源的利用 效率。鉴于发送方没收到 Ack 的可能原因,重传有可能导致接收方收到重复帧,因此接收方需要 相应的重复帧过滤机制。重复帧过滤机制802.11网络中的每一个节点,包括 STA和AP,都会根据所收到的帧来缓存并更新 对端地 址,帧序号,分片序号 组合,对于每一个对端地址,只需要保存最近收到的帧的 地址, 帧序号,分片序号 组合。收帧过程中,如果接收端发现当前帧是一个重传帧帧中的RetryBit为1,那么根据当前帧的发送者地址找到缓存中对应的 对段地址,帧序号,分片序号 。如果当前帧的帧
8、序 号小于或等于组合中的帧序号,或者帧序号一样但是分片序号小于或等于组合中的帧序号, 接收方会将该帧认为是重复帧而将其丢弃。如果当前帧中的RetryBit为0,接收端将不会启动重复帧过滤机制。对重复帧,接收方依然回复 ACK 帧,以免发送方不断重传。分片机制根据帧格式的定义, 802.11帧中负载的最大长度为 23424字节。对于更长的数据,那么需要 将其分片成多个帧组成分片序列来完成传输。802.11的分片序列中,除了最后一片,所有分片大小都应一样,且应该是偶数个字节。 整个分片序列共享一个帧序号,帧序号表示各分片在整个序列中的位置。除了最后一片外, 所有分片中的 MoreFrag 域都应设
9、为 0 以告知接收者还有后续分片。根据帧格式的定义,分 片号由 4比特的二进制序列表示,说明一帧数据最多只能有16个分片。接收方先将所收到的分片缓存, 收齐所有分片后按照分片号的先后顺序重新组装。 如果未能 收齐所有分片或者重组失败,接收方将直接丢弃整个分片序列。在正常情况下, 接收者应对每一个收到的分片立即回复 ACK ,收到 ACK 后发送方继续发送 下一个分片。如果某个分片没有被 ACK ,发送方将对该分片启动重传机制。显然,任何一 个分片的发送失败都会导致整个序列的发送失败。对大的数据包进展分片处理,可以提高传输的可靠性。2.2隐藏节点hidden node问题考虑以下图所示的情况:
10、node1 和 node3 都在 node2 的收发区域,但 node1 不在 node3 的收 发区域,因此对于 node3 相对于 node1 而言是一个“隐藏节点。同样, node3 也是 node1 的“隐藏节点。 如果不加任何约束的话, node1 和 node3 很有可能同时向 node2 发送数据, 而 node2 无法区分并成功接收,因而发生冲突。Afeaiea(hffbfeby node 14Area rratfrflWeby nod壬 3图5隐藏节点问题802.11中RTS/CTS机制可以很好的解决这个问题。2.2.1 RTS/CTS 机制 9引入RTS/CTS机制后,节点
11、之间的数据发送过程如以下图所示:O图6弓I入RTS/CTS机制后的帧交互当Nodel要向Node2发送数据时,先发送一个RTS (Request To Send)帧,如果 Node2可以接收,那么回应一个 CTS (CTS)帧。收到CTS帧后,Node1就可以放心地将数据帧发出并 等候Node2的ACK。RTS帧一方面发出了一个对node2信道资源的预留请求,另一方面,收到该 RTS帧的其他node将"沉默",在 RTS帧Duration域中所要求的时间不发送数据,以确保n ode1能成功发送完数据并收到ACK帧。同样地,CTS帧一方面响应了 node1的预留请求,另一方面
12、,收到该CTS帧的其他n ode (如Node3)也将“沉默",在CTS帧Duration域中要求的时 间不发数据,确保 Node2能成功接收完数据帧并回复ACK。RTS/CTS帧大大降低了数据冲突发生地可能性,不过由于RTS/CTS交互增加了额外的数据交互量,对于一些小数据帧的交互来说,这局部额外的数据量明显降低了链路的有效利 用率。因此802.11系统中提供了一个门限值RTSThreshold,大于该门限值的数据帧的交互才使用 RTS/CTS 机制。而且该门限值也是可以改变的,如果该门限值设为0,那么就意味着所有的数据帧交互都会采用 RTS/CTS 机制,而如果该门限值大于 80
13、2.11 帧的最大值,那么 就意味着所有的数据帧交互都不采用 RTS/CTS 机制而是直接发送。RTS/CTS机制对于单帧的数据交互可以起到很好的保护作用,但何时可以发送 RTS帧?当前帧发送完毕之后,其它节点又该如何发起下一次数据交互并且没有数据冲突?简单的 RTS/CTS 机制并不能解决这个问题。Hidden Node 的问题其实链路 /信道复用问题的一种表达。我们需要一种全面的机制来实现 对无线链路的互斥和公平分配。 802.11中该机制是通过协调函数 CF:Coordination Function 来实现的。802.11 支持三种协调函数: DCF Distributed CF、PC
14、F Point CF和 HCF Hybrid CF。其中DCF是其他两种协调函数的根底,是802.11中最根本的无线链路管理和控制机制。3. DCFDCF 采用 CSMA/CA 机制来监测无线链路的忙闲状态,采用随机退避时间 random backoff time来完成对空闲链路的争夺和分配。3.1 IFSInterFrame Spacing802.11中的帧间距不仅仅是连续发送的各帧之间用于彼此区分的间隔,还是对不同类型数据帧提供不同效劳优先级的重要组成局部,是 DCF 机制重要的一局部。802.11中定义了五种帧间距:SIFS(Short IFS)、 PIFSPCF IFS、 DIFSDa
15、ta IFS、 EIFSExtended IFS 丨和 AIFS Arbitration IFS,其中 PIFS 和 AIFS 不在 DCF 中使用,此处先不 讨论。802.11中的IFS是以时间为单位来表示的, SIFS DIFS和EIFS的具体值会因PHY层定义的 不同而不同,但相对于具体一种 PHY 而言,它们的值都是固定的。SIFS时间最短,它只应用在以下几种数据帧之前:ACK 帧回复 RTS 的 CTS 帧 一个分片序列中的各分片DIFS较SIFS更长,是节点开场竞争之前链路必须连续空闲的最短时间。在最近一次的 数据包接收无误的情况下,当节点检测到介质的连续空闲时间到达DIFS 时,
16、才能启动退避算法。如果最近一次的数据包接收发生了错误,节点只能在检测到截止连续空闲时间到达EIFS 后才能启动退避算法。 EIFS 较 DIFS 要长。3.2 冲突检测机制冲突检测机制用于监测无线链路的忙闲状况。 理论上, 冲突检测机制既可以在物理层实 现,也可以在 MAC 层实现。然而由于天线的半双工特性,物理层冲突检测机制实现难度大 且本钱高昂。因此一般都采用 MAC 层提供的虚拟冲突机制 Virtual CS。虚拟冲突机制引入 NAV Network Allocation Vector,并通过对 NAV的更新与检测来 确认链路的忙闲状况。 NAV 可以看作是一个时钟,它记录的其实是链路上
17、当前的数据交互还要持续的时间。NAV不为0就意味着当前链路上有数据交互在发生。802.11的MAC帧头中有一个2字节的Duration/ID 域,绝大多数的帧除了用于 PCF中的PS-Poll帧外都在 该域中设置当前的数据交互的持续时间。收到MAC帧的各节点根据帧中的 Duration域以一定规那么更新本节点的 NAV值,从而保证当前数据交互的顺利完成。采用DCF的STA/AP在发送数据帧时,通常会采用RTS/CTS来通知后续数据交互的发 生。其他节点根据 RTS/CTS帧中的Duration值来更新自己的 NAV值。因此,NAV机制其 实是通过“预订'链路来保证当前数据交互不被干扰。
18、3.2.1 NAV的更新在讨论NAV的更新之前,我们有必要弄清楚一个问题:每个节点上应维护多少个NAV ?是应该为网络中其它每一个节点维护一个对应的NAV ,还是只需要维护一个 NAV ?观察以下图所示的情况:四个节点都处在各自的收发围,且Node1和Node2正在进展数据通信,而 Node3有数据要发往 Node4。如果Node3为网络中的其他每一个节点都维护 一个对应的NAV ,那么此时NAV1和NAV2应该显示链路忙,而NAV4应该显示链路空闲, 因此给Node4的数据可以直接发送。图7每个节点维护一个 NAV这种方式显然不可行。无线传输本质上是播送的,某个节点发出信号/数据可以被其接收
19、围的所有其他节点接收到。此时如果允许Node3发送数据,一方面 Node3发出的数据对Node1和Node2之间的通信产生干扰参见 Hidden Node问题,另一方面 Node1和Node2 之间的数据交互对 Node4的接收也产生干扰,最后的结果是大家都无常通信。因此每个节点上应该也只能维护一个NAV。这样,当Node1和Node2在通信时,Node3和Node4上的NAV都显示链路正忙,此时它们将所要发送的数据缓存,等到链路空闲的时候再发送。这样才能防止干扰和链路冲突。当收到一帧数据时,各节点需要根据的帧中的Duration值来更新其NAV,规那么如下如果数据帧的发送者就是节点本身,那么
20、不更新NAV。如果数据帧的发送者不是节点本身,那么比拟Duration域值和当前NAV值。如果当前NAV值更小,那么将 NAV值更新为Duration域值如果该节点是根据 RTS帧中的Duration域值来更新自己的 NAV值,那么它会要求 在一定的时间收到相应的CTS帧或是RTS帧发送端发出的下一帧。否那么,它会将自己的NAV值复位为0。当某节点收到目的地不是本节点的RTS帧时,它肯定在 RTS帧的接收围之,但它有可能在CTS发送端的接收围之外。RTS帧承载着对链路的“预订'请求,只有收到了对端的CTS帧,请求才算得到允许。而收到CTS帧后,RTS发送端会以最快的速度开场发送数据。所
21、以收到RTS帧的其他节点会在一定的时间要么里收到CTS帧,要么收到后续数据帧,否那么就有理由相信本次链路“预订"失败,因而将 NAV值归0。322 NAV更新举例RTS/CTS/DATA/ACK 交互过程中的 NAV 设置DIFSRTSDwtlrwtk>n<4SIFSMl_»_SIFSCTSACKOtherh*DIFSrrrttCtirilignliciin Wirtdtjw r i £f tMW (RTS)NAV (CTS)'HACkjCifT Altar WF图8 RTS/CTS/DATA/ACK 交互中NAV的设置Source端抢占到空闲
22、链路,以一个 RTS帧向Destination端发起通信请求并将帧中 Duration域值设定为本次交互所需的时间。收到RTS后,Destination端在SIFS后回复CTS帧确认可以接收数据。其它节点根 据RTS帧中的Duration值将NAV更新为:NAV = 3*SIFS + aCTSTime + aDataTime + aAckTime这包括了本次数据交互还需要的时间。Destination端收到RTS帧,在间隔 SIFS后,回复一个 CTS帧。Source端收到CTS帧,在间隔SIFS后开场发送数据。其他节点根据CTS帧中的Duration值将NAV值更新为:NAV = 2*SIF
23、S + aDataTime + aAckTimeDestination端成功收到数据,在 SIFS后回送ACK。整个交互过程中,其他节点上 的NAV值设定显示链路忙。不管Source端是否接收到 ACK,本次数据交互到此完毕。链路空闲DIFS后,各节点又开场对链路的竞争。这个过程中有可能出现CTS帧已经发出,但只有Source端没有收到的情况,如以下图:此时其他节点依然按照 CTS帧的要求更新了 NAV,但Source端由于没有收到 CTS帧而 不发送数据,这就造成了链路资源的浪费。这是最坏的情况。此时Source端在等待一定时间后可能会比其他节点更早启对对链路的竞争。3.222分片序列发送过
24、程中的NAV设置图10分片序列发送过程中 NAV的设置这和单一帧的发送的区别在于,每一个分片中的 Duration域都指明了下一个分片的传输所需的时间,且后续分片在上一个ACK后的SIFS后立即发送,如果每一分片都发送无误,这个过程一直会持续到所有分片发送完毕。这个过程中也有可能发生某分片的ACK没有被Source端收到的情况,如以下图所示:此时其它节点中的 NAV因分片/ACK中的Duration值更新而显示链路忙。Source端在等待 ACK 超时后,有可能抢先启动对空闲链路的竞争。3.3 退避算法802.11采用退避算法解决空闲链路在各节点之间的分配问题。当链路空闲时间超过 DIFS/E
25、IFS 之后,各节点并不马上发起数据传输,而是启动一个 退避 backoff 时钟,进入竞争窗口 Contention Window 。在 backoff 时钟超时之前,节点 不进展任何的数据发送,同时监测链路的忙闲状况。当以下情况之一发生时,竞争窗口关闭:backoff 时钟超时backoff 时钟未超时,但检测到链路忙即检测到链路上开场了数据交互,比方收到 RTS 帧或是不采用 RTS/CTS 机制而直接开场发送的数据帧 。如果 backoff 时钟未超时之前检测到链路忙, 此时节点会暂停 backoff 时钟的运行 也称 作backoff时钟的挂起,设置自己的NAV值并启动NAV时钟,此
26、时节点进入延时等待defer 阶段。在 defer 期,系统会根据 中的规那么对 NAV 值进展的更新。当 NAV 超时时, 系统认为链路空闲。 当链路连续空闲时间到达 DIFS/EIFS 时,系统重新继续 resume backoff 时钟的运行并同时监测链路的忙闲状况。backoff 时钟超时意味着当前节点获得了链路的控制权,此时它可以立即开场数据的传 输对长帧要采用 RTS/CTS 机制, 短帧那么直接发送 。而其他节点会根据该节点发送的帧 暂停自己 backoff 时钟的运行并对 NAV 值进展相应地设置和更新。很显然,各节点上的 backoff 时长必须不同,它是下述方式产生的一个随
27、机值:BackoffTime = Random() * aSlotTime其中, aSlotTime 是 802.11 物理层定义的一个常量,不同的物理层中该常量的具体定值不一样。Random()那么是在0, CW之间产生的一个随机的整数。331 CW的取值CW在CWmin, CWmax区域按照一定规律变化。 CWmin和CWmax是802.11系统中定义 的两个常量,分别表示 CW值得下限和上限。CW的值总是2的N次方减1,N的值与节点 中帧的重传次数有关系。在重传机制一节中我们提到系统为每一个即将传输的帧impending frame都相应地配备有一个重发计数器Retry Counted
28、,长帧那么为LRC Long RC,短帧那么为SRCShort RC。除此之外,系统还维护着两个独立的重传计数器,分别是SSR STA Short RetryCounter和SLRCSTA Long Retry Counter,它们分别记录着系统中当前短帧和长帧总的 连续重传次数。SSRC和 SRC的区别在于,后者对应于某一短帧,而前者对应于系统中所有短帧。SSRC和SRC有可能是一样的,也有可能是不一样的。每一次短帧的重传都会引起SRC和SSRC的递增。当SRC的值到达上限时,其对应的帧被丢弃,该SRC也将丢弃。此时系统启动下一帧的发送,同时启动新的SRC并将SRC的值置为0,而SSRC的值
29、那么不会清 0,而且会伴随着新帧的重传而继续递增。当以下情况之一发生时,SSRC会被清0:收到以本节点为目的地址的 CTS帧收到对短帧进展确认的 ACK帧发送组播/播送报文成功SLRC和LRC之间也有着类似的区别和联系。当一下情况之一发生时,SLRC会被清0:收到以本节点为目的地址的 CTS帧收到对短帧进展确认的 ACK帧发送组播/播送报文成功不难看出,只有发帧成功时 SSRC和SLRC才会被清0,也就是说SSRC/SLRC分别记录 着截至目前短帧和长帧的连续重发次数。以下图给出了 CW的取值和SSRC/SLRC之间的关系:1 First RetrsnerniGEicn Initial Att
30、empt图12 CW值随重传次数增长而增长初始时,CW=CWmin每一次数据重传,SSRC/SLRC加1,CW的值上一个“台阶',即N=N+1当到达CWmax之后,CW的值不再随重传次数的增加而增加当下述情况之一发生时,CW值被复位为CWmin :帧发送成功SSRC/SLRC到达上限从CW的取值规那么我们不难发现:链路状态越差,帧重传的几率越大,CW的值就可能越大,因此backoff时间值就有可能越长,节点对链路的竞争能力就越差。重传帧发送的优先级较低,因为其backoff时钟可能更长3.3.2 backoff时钟的挂起前已述及,如果在backoff时钟超时前链路已被其他节点占用, 那
31、么竞争窗口关闭,NAV 值被设置,backoff时钟暂停运行即被挂起。下一次竞争窗口开启时,backoff时钟继续运 行,如此周而复始直至 backoff时钟超时。以下图举例说明了这种场景:图13 backoff时钟的挂起3.4 DCF总结采用DCF机制的节点有数据要发送时,首先要根据NAV的值判断当前链路的忙闲状态。如果链路忙,当前的发送操作被挂起,系统进入DEFER期。当链路连续空闲时间到达DIFS/EIFS后,节点启动backoff时钟进入对链路的争夺。 backoff时钟超时就意味着链路控 制权的获得,此时该节点就可以开场数据发送。所有帧都只能在链路空闲的时候NAV为0发送,但ACK帧
32、例外。当某个节点收到一个帧并被要求要立即回复时,不管链路是否空闲,它都会在SIFS之后立即回复 ACK。因为不及时回复 ACK会导致帧的重传,对系统和整个网络资源造成消耗,而回复ACK虽然可能对其他数据交互造成影响,但在DCF机制下,这种影响相对要小很多。和 Backoff二者都可以被看成是时间计数器或简单称之为时钟,不过NAV的值可能随着链路上的数据传输状况而改变, 而backoff的值那么在backoff时钟重启的时候确定, 在下次超时 之前不会更改。帧交互的“元操作性元操作在汇编中是一个常见的概念,它表示着一个不能被打断的操作,也就是该操作要么不执行,要么就执行完毕,其结果只有执行成功和
33、失败,不存在中间状态。802.11过NAV机制和IFS机制的设定,尽量保证一次帧交互的元操作性。在中所示的单帧交互过程中,一方面通过RTS/CTS交互使得所有可能干扰本次帧交互的节点“噤声",另一方面由于其他节点都必须在链路连续空闲至少DIFS后才启动链路竞争,而CTS、Data和ACK都以SIFS做间隔,保证交互过程中双方一定能“争'到链路。因此保证了帧交互的元操作性。同样,在3.222中所示的分片序列发送过程中,一方面 RTS/CTS帧以及每个分片中的 Duration域值对其他节点 NAV的设置使得所有可能干扰本次发送的节点“噤声",另一方 面此过程中的CTS
34、、ACK以及个分片都以 SIFS做间隔,保证交互过程中双方一定能“争" 到链路。所以每片的发送都是“元操作",而且如果所有分片都成功传输,整个分片序列的交互也具有元操作性。343 DCF的缺乏DCF大大降低了 Hidde nN ode问题和链路冲突问题的发生几率,但并不能彻底解决。backoff 值一样,由于backoff时钟的时长是随机产生的,理论上讲有可能两个节点产生的从而在二者的backoff时钟在同一时刻超时,因而发生链路冲突。再看以下图所示场景:Node3处于两个BSS的交界处,此时 AP1正在与Node1通信,而AP2正在与Node2通信,这种场景并不违反 DC
35、F机制,但此时在Node2处却确实发生了Hidde nN ode 的问题。尽管如此,DCF机制还是提供了一个很好的链路管理和分配机制,是802.11最根本的协调函数,所有 STA/AP都必须支持。PCF和HCF都是基于DCF机制的。4. PCFDCF机制解决了链路的冲突,提供了链路的竞争规那么,但是网络中的每个节点,包 括STA和AP,都是链路争夺的个体。DCF提供的是基于竞争的链路共享机制Contention-Based Service因为每次帧交互之前都必须争夺链路,这在一定程度上降低了 链路的利用率。802.11中提供了另外一种无竞争 Contention-Free的链路共享机制,称为P
36、CF PointCoordination FunctionPCF的原理是,首先由 AP遵照DCF的原那么,网络中所有STA的NAV值设定成同一个数值,从而开辟一段无竞争时段 CFP: Contention-Free Period。 在CFP中,链路完全由AP控制,由AP来控制某个时段哪个 STA可以发数据。显然,IBSS 网络中不能提供 PCF效劳。PCF中,AP也被称为 PC Point Coordinator。4.1 CFP的开启、维持和完毕4.1.1 Beacor帧Beacon帧是802.11中最常见最重要的管理帧之一,它以固定的间隔Beacon Interval发送,向网络中传递管理信
37、息。Beacon帧中的具体容与使用的场合有关,其中与 PCF机制相关的主要信息有: CF参数集CF Parameters Set。4.1.1.1 CF参数集信息Element IDLengthCFP CountCFP PeriodCFP MaxDurati&n (TU)CFP DurRamaininQ (TU)Octets: 1I1X1H1H 2 X 2 图15 CF参数集格式CFP Cou nt:表示距离开启下一次 CFP还有多少个 DTIM间隔,0值那么表示 CFP由当前Beacon帧 开场。DTIM 是Beacon帧中可能的容之一, 它以固定的间隔 DTIM Interval出现
38、在Beacon 帧中。显然, DTIMnterval = n * Beaconnterval。CFP Period:表示相邻两次CFP的开启时间的间隔,以 DTIMnterval为单位。CFP MaxDuration : 表示系统允许的一个 CFP的最大时间,以1024us为单位。CFP DurRemaining :表示从最近一次 TBTT Target Beacon Transmission Time开场到本次 CFP完毕之间的时间, 以1024us为单位。TBTT表示Beacon帧按方案应该出现的时间。由于Beacon帧的发送间隔是固定的,因而TBTT应该也是固定的。在一个时间同步的网络中
39、,所有节点的TBTT都应该是一致的。Beacon帧对网络的同步起着至关重要的作用。然而由于要遵守 DCF规定的链路规那么,而另一方面每帧的长度是不固定的,实际应用中无法保证Beacon帧在每一个TBTT时间都能准时发送。引入一个 TBTT量,使得即便未能按时收到Beacon帧,必要的处理也能得以进展,而需要以 Beacon帧作参照的各种同步依然也能完成。4.1.1.2 TIMElement IDLertgthDTIM CountDTIM PeriodBitmapControlPartial Virtual BitmapOctets: 1 H1 M 1 X 1 M1 1-251 图16 TIM信
40、息格式DTIM Count :表示在下一个DTIM出现之前还有多少个Beacon帧。DTIM Period :表示 DTIM Interval 的值,以 Beacon Interval 为单位BitmapCo ntrol 和 Partial Virtual Bit map :这两个域和PCF机制关系不大,暂不介绍。4.1.2 CF-Pollable STAPC通过CF-Poll帧来告诉网络中哪个 STA可以发数据,只有收到 CF-Poll帧的STA才 能发送数据。STA可以选择响应 CF-Poll,表示参加PCF机制,也可以选择不响应。响应CF-Poll 的 STA 也被称为 CF-Polla
41、ble STA。STA通常会事先将自己的 CF-Pollability告知PC。STA参加BSS过程中有一个称为“连 接Association“的步骤STA参加BSS的过程会在讨论 802.11网络管理及系统管理的相 关章节中详细描述。连接是STA参加BSS过程中的最后一步,用于在 STA与该BSS的AP 之间建立一种对应关系, 使得在DS中进展中转的以该 STA为目的地址的帧可以准确地找到 相关的AP进展转发。连接由 STA发起Association Request,而AP处理成功后向STA发 送确认。连接建立成功后,每个STA都有一个唯一的 AID AssociationID。Associ
42、ation Request信息中有一个 CapabilityInfo 局部,其中有一个 1 比特的 CF-Pollable 域,说明该 STA是否是CF-Pollable的。4.1.3 CFP的开启和维持当需要开启一个 CFP时,AP在链路连续空闲到达 PIFS后发出一个带有 CF参数集信息和DTIM 信息的Beacon帧。PIFS是专用于PCF机制中的一个帧间距类型,它长于SIFS,但小于DIFS ,三者的关系式:aPIFS = aSIFS + aSlotTime; aDIFS = aSIFS + 2*aSlotTimeSTA收到该Beacon帧后,根据 CFP Count域值发现PC要开启
43、一个CFP,就将自己的NAV值设为CFP MaxDuration,不管该STA是否是CF-Pollable。此时链路开场完全处于PC的控制中。在中讨论CF参数集信息时,我们已经说过Beacon帧不能按时发送的可能性。当负责开启一个 CFP的Beacon帧不能按时发送时,就会造成该CFP延后开场,这种情况称为foreshortened CFP,如以下图所示。Foreshortened CFP的完毕时间不会相应延后。CFP Repetition Interval 崛图17 CFP的开场TBTTdotllCFPI1VlaxDunation y-Beacon FrameDCF Traffic'
44、Nominal CF rspetition intervalContention Period(foreshortened) Contention-Free Period.Max RTS十CT5呻亠 r MPDU +ACKtim?图 18Foreshorte ned CFP在CFP, PC依然会以DTIM Interval为间隔按时发送带有 DTIM和CF参数集的Beacon 帧,其中CFP DurRemaining表示出了本次 CFP还将持续的时间。此时各 STA会根据CFP DurRemaining来重新设置自己的 NAV值。4.1.4 CFP的完毕每一个CFP都有它的最大持续时间, 这在Beacon帧中的CFP MaxDuration中已经标明。 当时间耗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铸造企业安全例会制度
- GBT 7144-2016 气瓶颜色标志
- 2025年高级经济师《建筑与房地产经济》下午真题及答案(考后更新)
- 接触有害因素企业应急救援预案
- 特种设备设备安全管理制度
- 输电线路跨越高速公路施工报告
- 2026四川甘孜藏族自治州康北高级中学编外教师招聘24人笔试题库附参考答案详解(培优B卷)
- 2026浙江宁波市鄞州区招聘部分事业单位人员5人考前冲刺试卷含完整答案详解(易错题)
- DB50-T 2038-2026 基于碳卫星的碳源-汇核算技术规范
- 护士工作规范考试题及答案
- 国际胰腺病学会急性胰腺炎修订指南(2025年)解读课件
- 销售领导力培训课件
- 家用空气净化器除异味宠物适配推广方案
- 早癌筛查教学课件
- 湖北工勤转管理办法
- T/CECS 10362-2024钢-混组合梁界面用环氧砂浆
- BYD车间培训课件
- 赵佶《瘦金体千字文》高清
- DL-T5588-2021电力系统视频监控系统设计规程
- 农村电气安装培训
- (完整版)固体物理导论-答案-word版
评论
0/150
提交评论