目录
1. 前言
802.11的MAC层核心有两种工作模式,分别如下:
- DCF:Distributed Coordination Function; 分布式协调模式(广泛使用)
- PCF:Point Coordination Function;中心式协调模式(较少使用)
简单说明就是DCF模式是分布式模式,大家各自抢空口,抢到就可以发送数据; 而PCF模式有一个中心协调点(AP),所有连接到同一个AP的STA都按照AP的要求占用空口并收发数据;
2. DCF工作模式
DCF:分布式协调工作模式主要的核心网络接入机制就是CSMA/CA机制,简单一句话描述该工作机制的原理就是:全部设备监听空口是否有数据发送,如果没有则启用一个CW(竞争窗口)随机回退,知道回退计数为0还没有人发送数据则表示抢到空口可以开发发送数据了。 详细的工作模式介绍可以查看我的上一篇文章:802.11协议入门 1:信道接入机制
3. PCF工作模式
首先PCF工作模式仅协议上定义了,实际使用场景很少使用。 PCF的全称是Point Coordination Function,顾名思义这个工作模式有一个中心点(Point),而这个中心点就是AP(可以简单的理解为你家的路由器)。PCF的核心思想为:AP作为中心协调者的角色,根据其内部的轮询表(Polling List)一次轮询与其连接的STA(手机等终端设备)是否有数据需要传输。在此期间没有轮询到的设备不能主动发送数据;
从上面的描述中我们不难发现PCF模式中有两类关键的角色:1、PC:中心协调者。2、CF-Pollable STA:支持PCF模式的STA;另外为了支持PCF工作模式引入了多个帧分别如下:
PC发送:[DATA + CF-Poll]、[DATA + CF-ACK + CF-Poll]、[CF-Poll]、[CF-ACK + CF-Poll]、[CF-END]
PC & STA发送:[DATA]、[DATA + CF-ACK]、[CF-ACK]、[NULL]
看着帧格式挺多的,其实就三种帧报文的组合而已,相关说明如下:
DATA帧: 用以传输数据帧,包括PC发送给STA 和 STA发送给PC的数据帧;
CF-Poll帧: PC用该帧询问STA是否有数据需要发送;
CF-ACK帧: PC或STA用该帧来应答对应CF-Poll或DATA帧;
CF-End帧: 用以结束本次的轮询周期;
基于以上三个基本帧就可以组合成多个组合,比如PC缓存了节点数据时他向节点发送的帧就是DATA + CF-Poll帧,也就是即传输数据也询问STA是否有数据上传,PCF典型的工作流程如下:
- PC 根据轮询表通过CF-Poll帧(如果AP有缓存对应的STA的数据则发送 DATA + CF-Poll帧)询问STA是否有数据需要发送。
- 节点如果有数据发送则回复对应DATA帧(如果PC有发送数据则回复DATA + CF-ACK帧);
- 循环以上过程直到所有的数据都发送完成之后STA回复一个CF-ACK帧;
- 之后PC根据轮询表依次轮询其他的STA;
以上及时DCF和PCF两个最基本的工作模式的简单说明,如有不足之处欢迎留言讨论。