WLAN MAC子层PCF机制

概述

  1. PCF(点协调功能)是一个在DCF之上实现的替代接入方式,由中央轮询主机(点协调者)的轮询组成,属于节点(站点)间信道无竞争方法;
  • PCF通过集中式控制,由点协调器轮询所有站点来决应当前哪一个站点有权发送数据;
  • 点协调者在发布轮询时使用PIFS,由于PIFS小于DIFS,所以点协调者能够优先获得媒体访问权
  1. IEEE802 .11允许PCF和DCF机制共存。
  • 为了实现两种协议共存的方法则是通过引入超帧(SuperFrame)的概念

超帧

  1. 超帧是一个逻辑概念而非实际的帧,它表示一段时间内媒体上的业务;
  2. 超帧中包含两部分无竞争期(ContentionFreePeriod,CFP)和竞争期(ContentionPeriod,CP)。
  • CFP采用PCF机制控制BSS内帧的传输;
  • CP使用DCF控制BSS内帧的传输;
  • 两者交替控制媒体,从而达到DCF和PCF共存的目的。
    在这里插入图片描述

超帧工作流程

在这里插入图片描述

(1)超帧中的CFP是以信标(Beacon)开始,信标结束后为PCF机制开始。

  • CFP的时间长度由PC(中央轮询主机)决定;
  • 所有BSS中的主机(除PC外)在CFP的开始时刻设置NAV;
  • 在NAV期间(即CFP期间)阻止未被轮询的主机占有媒质,有效地防止碰撞。

(2)CFP开始时,PC(中央轮询主机)检测媒质:

  • 若媒体空闲时间达到PIFS,则发送一个信标帧。

(3) 等待一个SIFS后,PC(中央轮询主机)可以传输如下数据帧:

  • DATA,CF-POLL,DATA+CF-POLL,CF-END, CP-POLL用于轮询,CP-END用于宣告CFP的结束;
  • 在CFP轻负载的情况下,PC(中央轮询主机)可以缩短CFP,并通过CF-End或CF-End+Ack控制帧把剩余的带宽提供给基于竞争的DCF。

(4)在DCF期间,节点间可以竞争信道:

  • 若信道空闲时,会等待一个帧间间隔(比如DIFS),帧间间隔越小,节点占据信道,优先发送报文的几率越高;
  • 若一个帧间间隔内,信道仍然空闲,启动随机退避机制,开启随机退避定时器,避免同一时间节点报文发送碰撞;
  • 若随机退避定时器倒数为0时,节点立即发送数据帧,数据帧中duration字段记录节点占用信道的时间,其他站点收到报文(广播)之后,更新NAV,NAV为0前,不允许发送任何报文;
  • 若节点发送过程中未监听到其他站点的报文,即没有遇到其他节点的报文碰撞,否则终止报文发送,重新监听信道,等信道空闲时再尝试发送报文。

CFP工作原理

在这里插入图片描述

(1)在每个CFP的标称(Beacon)时间开始时刻,PC将侦听媒介(信道)。
(2)当PC检测出信道空闲,并且持续空闲时间达到PIFS后,PC发送一个包含CF参数集信息的信标(Beacon)帧。

  • 信标帧中duration字段中记录PC占用信道的时间
  • 信标帧中address等字段记录目的站点

(3)发出初始化CFP的信标帧之后,PC至少等待一个SIFS, 然后根据情况发送数据帧或轮询帧。

(4)BSS中的STA从PC接收到正确的帧后,此时如果站点存在数据要发送,STA等待短帧帧间间隔SIFS后,可以发送数据应答帧。

(5)PC在每个CFP结束时发送CF-End帧或CF-End+ACK 帧。

  • 任何一个接收到CF-End/ CF-End+ACK的STA复位其NAV(NAV置为0),以便顺利进入CP内;
  • CF可以提前结束,但是站点NAV只更新比自己大的duration字段数据,为了提高信道利用率,任何一个接收到CF-End/ CF-End+ACK的STA复位其NAV(NAV置为0)

CFP工作实例

  1. PC轮询获取站点数据(单向):CF-Poll一> STA Data一>CF-ACK工作流程
    在这里插入图片描述
  • (1)AP(PC)发送Beacon报文,利用其中的duration字段,将所有节点设置成NAV状态;
  • (2)间隔SIFS后信道仍然空闲,AP本地没有发往节点STA1的缓存数据,故AP直接发送CF-Poll轮询报文,让节点STA1有数据时,上报数据;
  • (3)节点STA1收到CF-Poll轮询报文后,知道可以上报数据,当间隔SIFS后信道仍然空闲,节点STA1发送DATA给AP;
  • (4)AP收到节点STA1发送的DATA后,会产生一个应答报文,间隔SIFS后信道仍然空闲,AP反馈CF-ACK给节点,从而结束一次传输轮询。
  1. PC轮询发送/获取站点数据(双向):CF DATA+CF-Poll一>STA Data+CF-ACK一>CF-ACK工作流程
    在这里插入图片描述
  • (1)AP(PC)发送Beacon报文,利用其中的duration字段,将所有节点设置成NAV状态;
  • (2)间隔SIFS后信道仍然空闲,AP本地有发往节点STA1的缓存数据,故AP发送DATA以及CF-Poll轮询报文,让节点STA1有数据时,上报数据;
  • (3)节点STA1收到DATA后,需要确认数据,发送应答报文(ACK);收到CF-Poll轮询报文后,知道可以上报数据,当间隔SIFS后信道仍然空闲,节点STA1发送DATA+CF-ACK给AP(确认自身收到数据+反馈自身数据);
  • (4)AP收到节点STA1发送的DATA后,会产生一个应答报文,间隔SIFS后信道仍然空闲,AP反馈CF-ACK给节点,从而结束一次传输轮询。
  1. PC轮询获取多个站点数据(双向):CF-Poll一>STA Data一>CF-Poll+CF-ACK一> CF Data工作流程
    在这里插入图片描述
  • (1)AP(PC)发送Beacon报文,利用其中的duration字段,将所有节点设置成NAV状态;
  • (2)间隔SIFS后信道仍然空闲,AP本地没有发往节点STA1的缓存数据,故AP直接发送CF-Poll轮询报文,让节点STA1有数据时,上报数据;
  • (3)节点STA1收到CF-Poll轮询报文后,知道可以上报数据,当间隔SIFS后信道仍然空闲,节点STA1发送DATA给AP;
  • (4)AP收到节点STA1发送的DATA后,会产生一个应答报文,间隔SIFS后信道仍然空闲,AP反馈CF-Poll+CF-ACK给所有节点(STA1、STA2等),继续数据交互;(ACK用于确认当前节点STA1的发送的数据,CF-Poll是用来请求下一个节点STA2发送数据)
  • (5)节点STA1收到CF-ACK报文后,明白与AP的会话结束;节点STA2收到CF-Poll轮询报文后,知道可以上报数据,当间隔SIFS后信道仍然空闲,节点STA2发送DATA给AP;
  • (6)重复步骤(4)
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值