CSMA/CD :载波监听多点接入 / 碰撞检测 (Carrier Sense Multiple Access with Collision Detection)
前置知识
在总线式网络中使用。总线网同一时刻仅允许一台计算机发送数据。
就是说网络想象成水管,接入网络的设备就是闸门,数据就是里面的水,然后闸门A要热水、闸门B要冷水,肯定不能同时给水管里面又加热水又加冷水,只能先后传输。
这种总线网有如下特点:
- 广播(连上来的都能接到,接到了发现不是自己的就丢弃)
- 无连接(不需要接受者发回确认)
- 不可靠交付(以太网不管送没送到,只管送出)
- 使用曼彻斯特编码
要说的是,纠错的纠正由高层决定,发现没收到就让它重新传,但是即便是重传也对应以太网相当于又发送了一个新的数据帧
解析
CSMA/CD代表了好几个词,分别看:
多点接入
就是一条总线,连接很多个计算机
载波监听
每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
载波监听是一种电子技术
碰撞检测
计算机边发送数据边检测(划重点:发送期间检测)信道上的信号电压大小。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
检测到碰撞的操作
- 立即停止传播(碰撞的结果是两个帧都变得无用)
- 等待一段随机时间后再次发送
发送的不确定性
也叫做:信号传播时延对载波监听的影响
协议特性
- 总线型网络、半双工通信(双向交替通信)
- 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
- 存在争用期(即往返时延 2 τ 2\tau 2τ,亦称碰撞窗口)
- 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
- 争用期存在长度
发现发生了碰撞时
- 立即停止发送数据
- 再继续发送若干比特的人为干扰信号 (jamming signal),以便让所有用户都知道现在已经发生了碰撞
整个流程
二进制指数类型退避算法
参考
谢希仁《计算机网络》
某不知道是不是配套的课件