总线上只有一台计算计在发送数据时,总线的传输资源就会被占用,因此,在同一时间只能允许一台计算机发送数据,否则计算机之间就会产生互相干扰,使的所发送数据被破坏,因此采用CSMA/CD协议。如果总线上有数据传输,那么下一个传输数据就必须等到上一个传输数据传输结束才能够开始传输。如果一旦两个同时传输,一旦发生冲突,则两个传输同时停止,等到没有数据占用总线在开始下一次的传输
**
为了工作简便,以太网采取以下两种措施:
**
(1) 无连接的工作方式
不必先建立连接就可以直接发送数据,适配器 对于数据帧不进行编号,也不要求对方发回确认。
特点:可以让以太网工作起来非常简单,但是局域网信道的质量很好。因通信质量不好产生差错的概率是很小的。当目地站收到有差错的数据帧时,就把帧丢弃,其他什么也不做,对有差错帧是否需要重传则需要高层决**定。
(2) 曼彻斯特编码**
在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从低到高跳变表示"1",从高到低跳变表示"0"。还有一种是差分曼彻斯特编码码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。
其中非常值得注意的是,在每一位的"中间"必有一跳变,根据此规则,可以得出曼彻斯特编码波形图的画法。例如:传输二进制信息0,若将0看作一位,我们以0为中心,在两边用虚线界定这一位的范围,然后在这一位的中间画出一个电平由高到低的跳变。后面的每一位以此类推即可画出整个波形图。
CSMA/CD协议
CSMA/CD(Carrier Sense Multiple Access/collision detection,带有冲突检测的载波侦听多路存取)是IEEE 802.33使用的一种媒体访问控制方法。从逻辑上可以划分为两大部分:数据链路层层的媒体访问控控制子层(MAC)和物理层。它严格对应于ISO开放系统互连连模式的最低两层。LLC子层和MAC子层在一起完成OSI模式的数据链路层层的功能。
CSMA/CD的基本原理是:所有节点都共享网络传输信道,节点在发送数据之前,首先检测信道是否空闲,如果信道空闲则发送,否则就等待;在发送出信息后,再对冲突进行检测,当发现冲突时,则取消发送。
CSMA/CD协议要点:
(1)多点接入:许多极端及以多点接入的方式连接在一根总线上
(2)载波监听:利用电子技术检测总线上有没有其他计算机也在发送
(3)碰撞检测:边发送边监听,适配器边发送数据边检测信道上的信号电压的变化情况
(4)准备信道
(5)检测信道,如果检测信道忙则应不停检测,直到检测出信道空闲
(6)发送过程中不停检测信道
每一个发送数据之前都会监听到信道为空闲,为什么还会存在碰撞呢?
因为电磁波在总线上总是以有限的速率传播的,假设A,B之间的距离1Km,电磁波在电缆上的传输时延约5微秒,假设A向B发送数据,在约5微秒之后B可以接收到数据,但是如果在这5UM之内B向A发送数据,那么两条数据就会发生碰撞,碰撞的结果是两个数据帧都变得无用,
为了让各占之间发生冲突的概率减小,具体的退避算法如下:
(1) 协议规定了基本避退时间为争用期2T
(2) 从离散的整数集合【0.1.2.3……】中随机取一个数,记为R,重传应该推后的时间就是R的争用期
(3) 当重传16次仍然不能成功时,丢弃该帧,向上级报告