CSMA/CD的工作原理
CSMA/CD是英文carrier sense multiple access/collision detected 的缩写,可把它翻成“载波侦察听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。
所谓载波侦听(carrier sense),意思是网络上各个工作站在发送数据前都要总线上有没有数据传输。若干数据传输 (称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。
所谓多路访问(multiple access)意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。
所谓冲突(collision),意思是,若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,哪个工作站都同时发送数据,在总线上就会产生信号的混合,哪个工作站都辨别不出真正的数据是什么。这种情况称数据冲突又称碰撞。
为了减少冲突发生后又的影响。工作站在发送数据过程中还要不停地检测自己发送的数据,有没有在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collision detected)。
CSNM/CD媒体访问控制方法的工作原理,可以概括如下:
先听后说,边听边说;
一旦冲突,立即停说;
等待时机,然后再说;
听,即监听、检测之意;说,即发送数据之意。
上面几句话在发送数据前,先监听总线是否空闲。若总线忙,则不发送。若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送检测总线,是否自己发送的数据有冲突。若无冲突则继续发送直到发完全部数据;若有冲突,则立即停止发送数据,但是要发送一个加强冲突的JAM信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。
CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
在CSMA /CD 工作原理中,A计算机要传送1个封包给B计算机,A计算机会先倾听网络是否已在传送数据,若然,则耐心等待并持续检测。若检测到有空档,而且此空档能持续9.6us(96Bit-time)之久,就认定可以传送数据,于是赶紧送出封包。
问题:为什么检测到的空档要持续9.6us(96Bit-time),而不是其它。。如100Bit-time 呢 ??
回答:其实就因为96是8的整数倍,而100不是!学过计算机原理都知道,8字节(Bit)对处理器意味着什么。