802.11--CSMA/CA机制简述
一. 概述
在最初的802.11中MAC层中,共有两种基本的工作模式:
1. Distributed Coordination Function,简称DCF;
2. Point Coordination Function,简称PCF;
DCF采用的是竞争的方式接入信道,PCF则采用统一分配的方式接入信道,在多ap的环境下,需要更加复杂的额外控制,来实现重叠信道接入控制。DCF因此有更好的分布式特性,从而DCF被广泛使用,PCF则比较少使用,最新的协议文档表明(IEEE 802.11-2016),PCF已经被淘汰废弃了,因此本文不再描述PCF相关的内容;
到了2004年,在802.11e协议将DCF扩展为enhanced distributed channel access,简称CDCA,在原来的方式上增加了Qos机制;
二. 专业术语
本小节对一些专业术语进行一个简要的说明,以防这些术语对本文的理解造成一定的困扰:
1. CSMA/CA:Carrier sense multiple access with collision avoidance;
2. DCF:Distributed Coordination Function;
3. CDCA:Enhanced distributed channel access;
4. IFS:Inter-frame Spacing,帧间间隙;
5. DIFS:Distributed Inter-frame Spacing,分布式帧间间隙(DCF使用);
6. SIFS:Short inter-frame space,短帧间间隔;
7. AIFS:Arbitration interframe space(用于qos设备);
8. EIFS:Extended interframe space;
9. CW:Contention Window,竞争窗口,节点随机回退计数值的范围;
10. Slot Time:时隙,时间片段;
11. Backoff退避:是指节点在竞争信道时,所经历的随机退避过程。在这一过程开始时,节点首先在竞争窗口中选择一个随机数为倒数计数器,同时每一个Slot Time,节点为监听信道是否空闲,若信道空闲,则进行一次倒数,即计数器减1,若信道忙,则不进行相应倒数,当计数器数值减到0时,节点进行数据发送;
11. TXOP:Transmission Opportunity,获得TXOP的节点可以再TXOPLimit时间内连续使用信道传输多个数据帧,不需要每次都竞争信道;
SIFS、Slot time、DIFS、EIFS的计算与关系:
1. SIFS = RXRFDelay+RXPLCPDelay+MACProcessingDelay+RxTxTurnaroundTime,即包括:接收RF/PLCP时延、MAC层处理时延、天线的发送/接收切换时延;
2. Slot time = CCATime+RxTxTurnaroundTime+AirPropagationTime+MACProcessingDelay,即时隙包括:信道检测CCA时间、天线的发送/接收切换时延、电磁波传播时延、MAC层处理时延,不同的协议,Slot time是不同的;
3. DISFS = SIFS + (2 * Slot time);
4. EIFS = SIFS + AckTxTime + DIFS,用于数据发送失败时(未收到对方的ack),不再是等待DIFS,而是EIFS;
三. CSMA/CA工作机制
基本流程如下:
1. 节点发送数据前信道竞争流程:
1) 先等待DIFS时间,若DIFS时间内,信道一直是空闲状态,则进入下一个过程,因为DIFS中包含了两个slot time,所以整个DIFS内,会对信道的空闲状态监测2次;
2) backoff退避:从CW中随机选择一个数x作为计数器,进行x次slot time的退避,退避过程中,每个slot time都会进行一次信道空闲状态监测,如果空闲,计数器x减1,否则不递减;
3) 当计数器减到0时,节点认为自己获得信道接入权,开始发送数据;
4) 对端节点收收数据后,进行crc校验,如果数据校验通过,对端在等待SIFS后,回复ack进行确认;
5) 节点收到对端回复的ack后,这次的传输就算完成,重复上面的流程,再次竞争信道以发送下一个数据包;
两个节点竞争信道的时序图如下所示:
2. 如果对端收到的数据有问题,或者对端没有成功接收数据,则不会发送ack确认,此时节点的处理稍有不同:
1) 节点需要等待EIFS才进行backoff,而不是等待DIFS;
2) 重传的backoff称为BEB(Binary Exponential Back off),即二进制指数退避算法,BEB的cw随着重传次数的增加,cw也是指数增加的,比如节点的默认CW范围是[0,15],冲突一次后,重传的cw就变成[0,31],这样做的目的是为了不使本身就非常忙的信道更加忙碌,而提升信道整体的吞吐;
3) 802.11中共允许6次倍增窗口,第7次及以上不倍增窗口,如果超过重传次数限制,数据还未发送成功,则直接丢弃处理;
4) OFDM每次倍增CW窗口大小如下所示:
节点发送失败的时序图如下所示:
3. 信道竞争的详细阶段如下所示:
4. Fragment Burst
fragment burst也可以称为SIFS Burst,是指节点竞争到信道后,同时发送多个分片(帧),而不需要每个分片(帧)都去竞争信道,如下所示:
四. EDCA机制
802.11e协议中,DCF扩展为EDCA,主要是为了让802.11支持qos功能,802.11e一共可以提供4个不同的优先级,也称为接入类别(Access categories),从高到低排序分别是:AC_VO、AC_VI、AC_BE、AC_BK,默认的无线流量类型是AC_BE;
与DCF相比,EDCA增加了几个可配置的参数:
1. CWMIN:退避backoff竞争窗口最小值;
2. CWMAX:退避backoff竞争窗口最大值;
3. AIFS:退避前的等待时间,AIFS[AC] = AIFSN[AC] × Slot time + SIFS,其中AIFSN可以进行配置,优先级越高,AIFSN[AC]越小,AIFS[AC]也就越小,也就越快进行信道竞争;
4. TXOPLimit:在802.11e之前,一直是“竞争一次,传输一个帧”,采用的是物理层面载波监听来实现的,802.11e开始引入TXOP,是指“竞争一次,传输一段时间”,TXOP的传输时间是通过虚拟载波监听来保证的。有种Fragment Burst的感觉,也称这种方式为Burst方式。
对于高优先级的无线流量来说,拥有更小的竞争窗口,更小的AIFS,更大的TXOPLimit,所以在同等的环境下,高优先的流量更有机会发送到空口,高通方案可以通过setwmmparams设置这些参数。
802.11--CSMA/CA机制简述相关推荐
- 802.11的CSMA/CA机制
所谓CSMA/CA机制,是在无线局域网802.11中避免截止访问冲突的一个非常重要的机制.CSMA/CA(Carrier Sense Multiple Access with Collision Av ...
- 802.11省电机制SM Power Save(Spatial Multiplexing Power Save)
目录 1. SMPS的意义 2. Static SMPS 3. Dynamic SMPS 1. SMPS的意义 SMPS模式,即多天线模式下的节能模式.在该模式下,STA可以选择关闭多余的天线,从而达 ...
- 无线个人区域网WPAN 802.11局域网的MAC层协议 CSMA/CA
目录 802.11物理层 802.11局域网的MAC层协议 无线局域网的特殊问题 CSMA/CA协议(Colision Avoidance) 802.11的MAC层 CSMA/CA协议的原理 为什么 ...
- 802.11协议精读2:DCF与CSMA/CA
序言 在802.11的MAC层中.分成了两种基本工作模式: DCF(Distributed Coordination Function) PCF(Point Coordination Function ...
- 简单叙述tcp/ip的工作原理和主要的协议_802.11协议精读3:CSMA/CD与CSMA/CA
序言 在前一份文档中,我们详细记录了有关802.11中DCF模式以及其核心CSMA/CA的一些内容与细节.对比无线网络,有线网络的集线器和中继器设计中,采用了CSMA/CD技术.该技术早期是用来解决有 ...
- 802.11协议:wifi
802.11协议 博客链接:https://www.blog.23day.site/articles/71 一.协议简介 IEEE 802协议簇是指IEEE标准中关于局域网(LAN)和城域网(MAN) ...
- 《802.11无线网络权威指南》摘录
<802.11无线网络权威指南>摘录 ---------------------------- 第一.二章: 无线频谱管控: 美国:FCC联邦通信委员会 欧洲:FRO欧洲无线通信局 其他地 ...
- 802.11 协议介绍
802.11协议基础 前言-OSI七层网络 开放式系统互联模型(Open System Interconnection Model)是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围 ...
- WIFI基本知识及802.11协议整理
WIFI基本知识及802.11协议整理 2015-11-11 fredzeng linux 主要内容: 一.基本概述 二.实践基础 三.一些原理 四.补充 五.其它 一.基本概述 ========== ...
最新文章
- java两个jre_为什么会有两个jre?060925(原创)
- 图像修复中的TV模型
- Shell中的循环语句for、while、until实例讲解
- Java中从Orcle里取出数据时,为什么提示“无效的列索引”
- java web 加载类_Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
- Java:集合系列目录(Category)
- Python基于opencv调用摄像头获取个人图片
- 蓝牙协议保留(为了防止电脑内丢失)
- httpclient.execute长时间停滞问题
- 计算机动画现状范文网,计算机动画教程
- leetcode刷的一些杂题
- python英语单词 扇贝英语安卓下载_扇贝单词英语版
- 计算机教学与实践,计算机教学研究与实践——2010学术年会论文集
- 如何将图片压缩到100K以内,教你几种免费方法
- 如何扩大计算机运行内存,运行内存,小编教你如何扩大电脑的运行内存
- 电脑升级Win11后不流畅卡顿怎么解决
- Detected unusual line terminators_vscode打不开pdf的解决方案应用程序vscode.app打不开解决方案
- 物联网云平台应用于远程空气污染监控
- 根据身份证号获取地址、年龄、星座、生肖、生日、性别等基本信息
- 哈尔滨市贯日儿童影楼管理系统