CSMA/CD和CSMA/CA

两个通讯中常用的决定对媒体访问权的协议,看上去差不多,其实差别不小。我们先来看看他的字面解释:

 

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是比较困难的。

你可能感兴趣的:(算法,网络,服务器,Access,通讯)