CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,载波侦听多址接入/避免冲撞协议)
目录 |
由于无线产品不易检测信道是否存在冲突,因此802.11定义了一种新的协议,即(CSMA/CA)。一方面,载波侦听--查看信道是否空闲;另一方面,避免冲撞--信道不空闲时,通过随机的时间等待,直到有新的空闲信道出现时再优先发送,使信号冲突发生的概率减到最小。不仅如此,为了系统更加稳固,802.11还提供了带确认帧ACK的CSMA/CA。在一旦遭受其他噪声干扰,或者由于侦听失败时,信号冲突就有可能发生,而这种工作于MAC层的ACK此时能够提供快速的恢复能力。
(1)首先检测信道是否有使用,如果检测出信道空闲,则等待一段随机时间后,才送出数据。
(2)接收端如果正确收到此帧,则经过一段时间间隔后,向发送端发送确认帧ACK。
(3)发送端收到ACK帧,确定数据正确传输,在经历一段时间间隔后,会出现一段空闲时间。
CSMA/CA协议的工作流程分为两个分别是:
1.送出数据前,监听媒体状态,等没有人使用媒体,维持一段时间后,才送出数据。由於每个设备采用的随机时间不同,所以可以减少冲突的机会。
2.送出数据前,先送一段小小的请求传送报文(RTS : Request to Send)给目标端,等待目标端回应 CTS: Clear to Send 报文后,才开始传送。 利用RTS-CTS握手(handshake)程序,确保接下来传送资料时,不会被碰撞。 同时由於RTS-CTS封包都很小,让传送的无效开销变小。
CSMA/CA通过这两种方式来提供无线的共享访问,这种显式的ACK机制在处理无线问题时非常有效。然而不管是对于802.11还是802.3来说,这种方式都增加了额外的负担,所以802.11网络和类似的Ethernet网比较总是在性能上稍逊一筹。
CSMA/CD:带有冲突检测的载波监听多路访问,可以检测冲突,但无法“避免”
CSMA/CA:带有冲突避免的载波监听多路访问,发送包的同时不能检测到信道上有无冲突,只能尽量“避免”;
1.两者的传输介质不同,CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网802.11a/b/g/n等等;
2.检测方式不同,CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式;
3.WLAN中,对某个节点来说,其刚刚发出的信号强度要远高于来自其他节点的信号强度,也就是说它自己的信号会把其他的信号给覆盖掉;
4.本节点处有冲突并不意味着在接收节点处就有冲突。
综上,在WLAN中实现CSMA/CD是比较困难的。