CSMA/CD和CSMA/CA 转自:http://blog.csdn.net/youqi820604/article/details/5031412 两个通信中经常使用的决定对媒体访问权的协议,看上去差很少,其实差异不小。咱们先来看看他的字面解释: CSMA(Carrier Sense Multiple Access) 载波(媒体)监听多重存取 CD(Collision Detection) 冲突侦测 CA(Collision Avoidance) 冲突避免 下面看一下他们的具体原理机制: CSMA:当装置传送数据到网络线以前,会先监听网络上是否有其它装置传出的讯号,若是有则不发送本身的信息,以防止冲突(collision)产生。管制将碰撞的机率降至最低的机制便称为载波监听多重存取CSMA。 CSMA/CD:冲突侦测。监听媒体上是否有传输讯号,若是没有便进行传输。若是有碰撞产生,便送出讯号告知其它计算机暂时中止传输数据。再次传输前,先等候一段随机时间,再行传输。若是又发生碰撞,便按照退避算法计算延迟时间,再次延迟,直到总线空闲,成功传输数据为止。 CSMA/CA:冲突避免。先检查媒体是否有其它数据在传输,若是媒体空闲,便发出要求传送的讯息,等待服务器发出容许传送的讯息后,并接收到该讯息后便开始传送数据。数据传完发出结束讯号,表示完成数据传输。固然,若是检测到媒介非空闲,则依旧按照退避算法等待随机时间,再次检测通道是否空闲。 二者的差异: 1.二者的传输介质不一样,CSMA/CD用于总线以太网,而CSMA/CA则用于无线局域网802.11b; 2.监测方式不一样,CSMA/CD经过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式; 为何WLAN中使用CSMA/CA而不能使用CSMA/CD? 有几点咱们首先要清楚: 1.在WLAN中,对某个节点来讲,其刚刚发出的信号强度要远高于来自其余节点的信号强度,也就是说它本身的信号会把其余的信号给覆盖掉; 2.本节点处有冲突并不意味着在接收节点处就有冲突; 明白了这两点咱们就不难看出,在WLAN中,实现CSMA/CD是比较困难的