CSMA/CD和CSMA/CA

CSMA/CD,即载波侦听多址接入/冲突检测(Cariier Sense Multiple Access with Collision Detection)为有线以太网中的MAC协议(802.3);

CSMA/CA,即载波侦听多址接入/冲突避免(Carrier Sense Multiple Access with Collision Avoidance)为无线网中的MAC协议(802.11)。

两种协议都采用了二进制指数退避算法,即等待r个时隙(r为0至2^i间的随机数,i为重传次数)。不同的是,CSMA/CD检测到冲突后执行退避算法,而CSMA/CA则是在信道从忙态转为空闲态时执行退避算法。

两种协议具有不同的检测方法:CSMA/CD采用电压检测,CSMA/CA采用能量检测、载波检测和能量载波混合检测。

此外,无线信道较有线信道还存在两个主要问题,即无线网络中的隐蔽站与暴露站的问题。这类问题由无线信号的传播距离造成:

隐蔽站即检测到无冲突而实际有冲突的情况(B位于A和C的中点,A和C的传播范围刚好等于到B的距离,此时A和C都检测不到冲突的存在,而最终到达B的信号是A和C的叠加,即存在冲突)。

暴露站即检测到有冲突而实际无冲突的情况(ABCD依次排列,且相邻两点间的距离即为电磁波的传播半径。那么当B要给A发送数据,C要给D发送数据时,A和D接收到来自B和C的数据其实是无冲突的,但B和C会因互相检测到对方的存在而启动不必要的退避机制。)

因此,无线信道下采用冲突检测的方法是很难实现的,采用冲突避免则较为可行,实现方法为:CSMA/CA协议利用ACK信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的ACK信号后,才确认送出的数据已经正确到达目的。

参考链接:

1,https://wiki.mbalib.com/wiki/CSMA/CA

2,https://blog.csdn.net/ljh618625/article/details/86151428

3,https://zhidao.baidu.com/question/581203417.html

4,https://blog.csdn.net/qq894040717/article/details/82426965

5,https://baike.baidu.com/item/CSMA%2FCA/10898090?fr=aladdin

6,https://www.cnblogs.com/nicephil/p/10802872.html

7,https://blog.csdn.net/cm_cyj_1116/article/details/52862696

8,https://www.cnblogs.com/FZfangzheng/p/10806732.html

9,https://www.cnblogs.com/LinQingYang/p/11880893.html

10,https://wenku.baidu.com/view/4571652625c52cc58bd6be59.html

11,https://www.wonggang.com/8126.html

原文地址:https://www.cnblogs.com/achangchang/p/13296688.html