4.2.4 以太网技术(四)以太网工作原理
之前我们提到的以太网技术中要解决的第二个问题是在总线式的广播信道中我们如何来协调多台计算机对总线传输媒体的访问控制的问题,下面我们就来阐述以太网的工作原理。我们首先要学习的就是最为著名的CSMA/CD即载波监听多点接入冲突检测协议。CSMA/CD采用的是分布式的控制方法,总线上各个计算机通过随机竞争的方式来获得总线的使用权,只有获得总线使用权的计算机才能向总线上发送数据,而发送数据连接在总线上的所有计算机都会受到这个数据,我们对CSMA/CD的具体含义做一个解释。
一、CSMA/CD具体含义
(一)多点接入
所谓的多点接入指的是在总线型的局域网中有多台计算机连接在一根总线上,共享总线的信道资源
(二)载波监听
指每个计算机在发送数据之前先要检测一下总线上是否有其他的计算机正在发送数据,如果有暂时不发送数据,从而减少发生冲突的机会。
(三)冲突检测
指发送数据的计算机在整个发送数据时还必须监听传输媒体,以判断是否发生了冲突,因为如果存在多个计算机都在发送数据的话就会形成信号的叠加,也就是我们所称的冲突,冲突造成的结果是造成接收方根本没有办法来对接收到的数据进行识别。所以一旦检测到冲突发送方就应当立即停止数据发送,并且等待一个随机的时间间隔之后重新进行数据发送。
二、监听总线上没有数据信号的情况
由于通信的随机性和传播时延的影响,当一台计算机监听到总线上没有数据信号时有两种情况
- 确实没有其他的计算机正在向总线上发送数据。
- 总线正在传输其他计算机发送的数据,但是由于传播的信号还没有到达该计算机的网络接口,此时监听信道也是空闲的。
因此我们知道如果只有载波监听并不能够完全避免冲突的发生,因为当一台计算机监听到总线处于空闲的状态时总线并不一定真正的处于空闲状态。
三、冲突检测的作用
冲突检测是为了弥补载波监听的不足而设计的。
- 在检测到冲突发生时,发送方应立即停止数据的发送,以免浪费总线的信道资源,因为再发送的话已经发生了冲突,编码规则已经产生了混乱,收到的就是无效的数据。
- CSMA的载波监听并不能够完全的避免冲突,冲突检测只是为了让总线上的所有计算机能及时感知到冲突的发生,冲突必然会造成总线上传输的一部分数据被白白的浪费掉了,从而形成无用的长帧进而影响总线型局域网信道利用率的提高。降低总线型局域网的发生冲突的概率是提高局域网信道利用率的重要途径。
我们如何降低总线型局域网上发生冲突的概率呢?这就需要我们从局域网中采用的帧长和媒体访问控制方法上进行一些优化设计,降低总线型局域网上发生冲突的概率。
四、小结
- 多点接入
- 载波监听(先听后说)
- 冲突检测(边说边听)