CSMA/CD 协议 :
① 全称 : Carrier Sense Multiple Access With Collision Detection , 载波监听多点接入 / 碰撞检测 协议 ;
② CS : Carrier Sense , 载波监听 , 每个站点 发送数据前 , 和 发送数据过程中 , 先检测总线上是否有其它 站点 在发送数据 ;
③ MA : Multiple Access , 多点接入 , 多个 主机 连接在同一条 总线 上 ; 该协议 应用于 总线型网络 中 ;
④ CD : Collision Detection , 碰撞检测 , 适配器 一边发送 , 一边监听 , 检测信道上电压变化 用于 判断本站点发送数据 时 , 其它站点是否也在发送你数据 ; 由此可以看出 , 该协议用于 半双工网络 中 ;
电磁波传输时间导致冲突 : 先监听了信道 , 但是还是会发生冲突 , 电磁波在信道上是以有限速度传播的 , 如果电磁波没有到本站点 , 当时检测肯定是没有信号 , 但是等到本站点向外发出数据时 , 突然检测到有信号 , 这里电磁波传输的时间差 , 就造成了这种误差 ;
ALOHA 协议 与 CSMA 协议 对比 :
传播时延对于 载波监听 的影响 :
① 前提 : 信道 两端 是
两台主机 , 两个站点 单程 端到端 , 电磁波 从
到
传播 , 需要
纳秒 ;
②
发送数据到
一半 :
纳秒 时刻 ,
向
发送数据时 , 预计
纳秒后 , 到达到
站点 ;
③
发送数据到
:
在
纳秒 时刻 , 突然
发送数据 , 此时检测到信道没有电磁波 , 因为此时电磁波还没有到达
站点 ; 因此检测到信道没有信号传输 ;
④ 出现冲突 :
如果传输数据 , 肯定会在某时刻与
已经发送的数据 产生冲突 ; 此时时刻时
纳秒
⑤ 碰撞 :
的信号 与
的信号叠加在一起 , 称为碰撞 ; 此时两个信号都被污染了 , 无法解析使用 ;
⑥
站点检测到碰撞 :
接收到 碰撞后的信号 , 校验肯定不通过 , 出现帧错误 , 此时检测到发生了碰撞 ,
站点暂停数据发送 ; 该时刻是
纳秒 ;
⑦
站点检测到碰撞 :
接收到 碰撞后的信号 , 校验肯定不通过 , 出现帧错误 , 此时检测到发生了碰撞 ,
站点暂停数据发送 ; 此时时刻时
纳秒
引入一组概念 :
① 单程端到端传播时延 : 记作
;
② 碰撞检测最长时间 : 站点发出数据后 , 最多 两倍的 单程端到端时延
后就可以得知出现了碰撞 ;
③
概念 : 又称为 , 总线端到端往返传播时延 , 争用期 , 冲突窗口 , 碰撞窗口 ;
只要经过
没有检测到碰撞 , 本次发送 , 一定没有碰撞 ;
截断二进制指数规避算法 :
① 争用期 : 确定基本退避时间 , 也就是争用期 , 两倍的 单程端到端传播时延
;
② 重传次数 : 定义参数
, 一定程度上相当于重传次数 ;
公式 :
取值不超过
, 公式为
;
时 :
时 :
;
③ 取随机数 : 从整数集合
中 , 取出随机数
, 重传时间就是
;
④ 重传次数限制 : 当重传
次都失败时 , 说明网络拥塞严重 , 直接丢弃该帧 , 向上层报告出错 ;
示例 :
① 第
次重传 ,
, 从
区间中 , 即
中随机取一个值 ,
;
, 重传时间是
;
, 重传时间是
;
② 第
次重传 ,
, 从
区间中 , 即
中随机取一个值 ,
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
③ 第
次重传 ,
, 从
区间中 , 即
中随机取一个值 ,
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
, 重传时间是
;
在 以太网 二进制回退算法中 , 碰撞
次后 , 随机数
的选择范围是多少
随机数
是根据 参数
确定的 , 参数
是重传次数 和
中较小的值 , 重传次数 小于等于
次时 ,
, 重传次数大于等于
次时 ,
;
随机数
的取值范围是
, 代入
;
取值范围是
, 随机数
的 范围 是
之间的值 ;
检测到碰撞时 , 需要暂停帧的发送 , 如果帧太短 , 就会导致一次性发送完毕 , 无法暂停 , 这里需要在检测到碰撞时 , 帧还没有发送结束 ;
帧的传输时延 至少要 大于
;
最小帧长度是
比特 ;
以太网 规定 最短帧长度是 64 字节 , 小于 64 字节的帧都是由于冲突终止的无效帧 ;