CSMA/CA机制

Posted nicephil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSMA/CA机制相关的知识,希望对你有一定的参考价值。

CSMA/CA机制

简介

CSMA/CA机制带冲突检测的载波监听多路访问,冲突避免机制.

网络拓扑

技术图片

若node1和node2同时给GW发送数据,那么在GW处会产生冲突,从而两者都无法正确接收,最终传输失败.

DIFS与SIFS: 帧间间隙. 分布式帧间间隙, 短帧间间隙. 发一帧之前都需要等待一个相应的帧间间隙.比如发送数据至少等待DIFS,发送ACK需要等待SIFS
Slot time:时隙,一个时间片段.节点竞争接入信道前需要经过相应的随机回退backoff过程,backoff过程由多个时隙组成
Contention window:竞争窗口用来让节点选择随机回退计数值backoff counter范围
Backoff:每个节点在竞争接入信道时,首先在竞争窗口中选择一个随机数为急诊的随机回退计数值,同时每个时隙,节点监听信道是否空闲,或空闲那么进行一次倒数,计数值减一,或信道忙,则不进行相应倒数,当随机回退计数值到0时,节点可以发送数据.

时序图

技术图片
  1. 当node1与node2相继存在数据,需要在竞争信道进行发送时,其首先需要"等待"DIFS时间,或DIFS时间内,信道保持空闲状态,那么久可以进行backoff过程
  2. 若node1与node2进入backoff过程时,其首先需要从竞争窗口选择一个随机数,默认初始竞争窗口为31,即随机回退计数值的范围[0,31],在上图node1选择了8,而node2选择了2.
  3. 在backoff过程中,每经过一个slot time, 节点会监听一次信道,若信道空闲,则相应的回退计数器的值减1,经过3个slot time后,STA 1的随机倒数计数器从8减到了5,而STA 2从2减到了0.
  4. 当节点计数器倒数到0时,节点竞争获取信道,从而可以发送数据.node2获取系信道发送PACKET A到GW.在GW收到数据后,会采用CRC机制对数据进行校验,若校验通过,GW会在SIFS后反馈ACK确认帧
  5. 当node2发送完数据后,等待了SIFS时间后,GW会向node2发送ACK确认帧,当node2接收到ACK后,数据传输完成.
  6. 当这次传输完成后,node2需要再等待DIFS时间后,重新进入backoff过程.node2需要选择新的随机数计数器,如图,node1此时计数器继续递减,从而有公平机会发送数据.

BEB机制
截断二进制回退算法, 在CSMA/CA的机制中,还是存在发生冲突的可能,为了避免再次冲突,引入了BEB机制.
如果node1和node2不小心选择了同样的随机数计数器,同时递减到0,那么还是会有冲突.节点需要对竞争窗口(CW)采用BEB机制.
在竞争初期,CW大小是[0,31].如果节点数量增多情况下我们需要扩大竞争窗口,即发生一次冲突CW从[0,31]变为[0,63].一共允许回退6次,第七次不倍增窗口,再次尝试重启,如果再次失败就丢包.

次数 CW大小
0 15
1 31
2 63
3 127
4 255
5 511
6 1023
7 1023

CTS/RTS机制


[email protected]1

以上是关于CSMA/CA机制的主要内容,如果未能解决你的问题,请参考以下文章

初探802.11协议——开篇(PCF/DCF与CSMA/CA机制)

初探802.11协议——开篇(PCF/DCF与CSMA/CA机制)

数据链路层:CSMA/CSMA-CA/CSMA-CD

无线局域网为什么不用CSMA/CD而用CSMA/CA协议

CSMA/CD-CSMA/CA

CSMA/CA有效接入 IEEE802.15.4家庭网络高效节能的基于时隙CSMA/CA的有效接入算法matlab仿真