文章目录

  • 一、 CSMA/CD 协议
  • 二、 传播时延对于 载波监听 的影响
  • 三、 单程端到端传播时延 相关概念
  • 四、 碰撞后重传时机 ( 截断二进制指数规避算法 )
  • 五、截断二进制指数规避算法 计算示例
  • 六、最小帧长问题

一、 CSMA/CD 协议


CSMA/CD 协议 :

① 全称 : Carrier Sense Multiple Access With Collision Detection , 载波监听多点接入 / 碰撞检测 协议 ;

② CS : Carrier Sense , 载波监听 , 每个站点 发送数据前 , 和 发送数据过程中 , 先检测总线上是否有其它 站点 在发送数据 ;

③ MA : Multiple Access , 多点接入 , 多个 主机 连接在同一条 总线 上 ; 该协议 应用于 总线型网络 中 ;

④ CD : Collision Detection , 碰撞检测 , 适配器 一边发送 , 一边监听 , 检测信道上电压变化 用于 判断本站点发送数据 时 , 其它站点是否也在发送你数据 ; 由此可以看出 , 该协议用于 半双工网络 中 ;

电磁波传输时间导致冲突 : 先监听了信道 , 但是还是会发生冲突 , 电磁波在信道上是以有限速度传播的 , 如果电磁波没有到本站点 , 当时检测肯定是没有信号 , 但是等到本站点向外发出数据时 , 突然检测到有信号 , 这里电磁波传输的时间差 , 就造成了这种误差 ;

ALOHA 协议 与 CSMA 协议 对比 :

  • ALOHA 协议 , 不听就说 ;

  • CSMA 协议 , 先听再说 ;

  • CSMA/CD 协议 , 先听再说 , 边听边说 ;

二、 传播时延对于 载波监听 的影响


传播时延对于 载波监听 的影响 :

① 前提 : 信道 两端 是 A,BA, BA,B 两台主机 , 两个站点 单程 端到端 , 电磁波 从 AAA 到 BBB 传播 , 需要 ttt 纳秒 ;

② AAA 发送数据到 BBB 一半 : 000 纳秒 时刻 , AAA 向 BBB 发送数据时 , 预计 ttt 纳秒后 , 到达到 BBB 站点 ;

③ BBB 发送数据到 AAA : BBB 在 t2\cfrac{t}{2}2t​ 纳秒 时刻 , 突然 AAA 发送数据 , 此时检测到信道没有电磁波 , 因为此时电磁波还没有到达 BBB 站点 ; 因此检测到信道没有信号传输 ;

④ 出现冲突 : BBB 如果传输数据 , 肯定会在某时刻与 AAA 已经发送的数据 产生冲突 ; 此时时刻时 3t4\cfrac{3t}{4}43t​ 纳秒

⑤ 碰撞 : BBB 的信号 与 AAA 的信号叠加在一起 , 称为碰撞 ; 此时两个信号都被污染了 , 无法解析使用 ;

⑥ BBB 站点检测到碰撞 : BBB 接收到 碰撞后的信号 , 校验肯定不通过 , 出现帧错误 , 此时检测到发生了碰撞 , BBB 站点暂停数据发送 ; 该时刻是 ttt 纳秒 ;

⑦ AAA 站点检测到碰撞 : AAA 接收到 碰撞后的信号 , 校验肯定不通过 , 出现帧错误 , 此时检测到发生了碰撞 , AAA 站点暂停数据发送 ; 此时时刻时 3t2\cfrac{3t}{2}23t​ 纳秒

三、 单程端到端传播时延 相关概念


引入一组概念 :

① 单程端到端传播时延 : 记作 τ\tauτ ;

② 碰撞检测最长时间 : 站点发出数据后 , 最多 两倍的 单程端到端时延 2τ2\tau2τ 后就可以得知出现了碰撞 ;

③ 2τ2\tau2τ 概念 : 又称为 , 总线端到端往返传播时延 , 争用期 , 冲突窗口 , 碰撞窗口 ;

只要经过 2τ2\tau2τ 没有检测到碰撞 , 本次发送 , 一定没有碰撞 ;

四、 碰撞后重传时机 ( 截断二进制指数规避算法 )


截断二进制指数规避算法 :

① 争用期 : 确定基本退避时间 , 也就是争用期 , 两倍的 单程端到端传播时延 2τ2\tau2τ ;

② 重传次数 : 定义参数 kkk , 一定程度上相当于重传次数 ;

  • kkk 公式 : kkk 取值不超过 101010 , 公式为 k=min(重传次数,10)k=min( 重传次数 , 10 )k=min(重传次数,10) ;
  • 当重传次数 不超过 101010 时 : k=重传次数k = 重传次数k=重传次数
  • 当重传次数 大于 101010 时 : k=10k=10k=10 ;

③ 取随机数 : 从整数集合 [0,2k−1][0, 2^k - 1][0,2k−1] 中 , 取出随机数 rrr , 重传时间就是 r×2τr \times 2\taur×2τ ;

④ 重传次数限制 : 当重传 161616 次都失败时 , 说明网络拥塞严重 , 直接丢弃该帧 , 向上层报告出错 ;

示例 :

① 第 111 次重传 , k=1k=1k=1 , 从

[0,1][0, 1][0,1] 区间中 , 即 {0,1}\{ 0 , 1\}{0,1}

中随机取一个值 , rrr ;

  • 如果 r=0r = 0r=0 , 重传时间是 000 ;
  • 如果 r=1r = 1r=1 , 重传时间是 2τ2\tau2τ ;

② 第 111 次重传 , k=2k=2k=2 , 从

[0,3][0, 3][0,3] 区间中 , 即 {0,1,2,3}\{ 0 , 1 , 2 ,3\}{0,1,2,3}

中随机取一个值 , rrr ;

  • 如果 r=0r = 0r=0 , 重传时间是 000 ;
  • 如果 r=1r = 1r=1 , 重传时间是 2τ2\tau2τ ;
  • 如果 r=2r = 2r=2 , 重传时间是 4τ4\tau4τ ;
  • 如果 r=3r = 3r=3 , 重传时间是 6τ6\tau6τ ;

③ 第 333 次重传 , k=3k=3k=3 , 从

[0,7][0, 7][0,7] 区间中 , 即 {0,1,2,3,4,5,6,7}\{ 0 , 1 , 2 ,3 , 4, 5, 6, 7\}{0,1,2,3,4,5,6,7}

中随机取一个值 , rrr ;

  • 如果 r=0r = 0r=0 , 重传时间是 000 ;
  • 如果 r=1r = 1r=1 , 重传时间是 2τ2\tau2τ ;
  • 如果 r=2r = 2r=2 , 重传时间是 4τ4\tau4τ ;
  • 如果 r=3r = 3r=3 , 重传时间是 6τ6\tau6τ ;
  • 如果 r=4r = 4r=4 , 重传时间是 8τ8\tau8τ ;
  • 如果 r=5r = 5r=5 , 重传时间是 10τ10\tau10τ ;
  • 如果 r=6r = 6r=6 , 重传时间是 12τ12\tau12τ ;
  • 如果 r=7r = 7r=7 , 重传时间是 14τ14\tau14τ ;

五、截断二进制指数规避算法 计算示例


在 以太网 二进制回退算法中 , 碰撞 111111 次后 , 随机数 rrr 的选择范围是多少 ???

随机数 rrr 是根据 参数 kkk 确定的 , 参数 kkk 是重传次数 和 101010 中较小的值 , 重传次数 小于等于 101010 次时 , k=重传次数k = 重传次数k=重传次数 , 重传次数大于等于 111111 次时 , k=10k = 10k=10 ;

随机数 rrr 的取值范围是 [0,2k−1][0, 2^k - 1][0,2k−1] , 代入 k=10k=10k=10 ;

取值范围是 [0,210−1][0 , 2^{10} - 1][0,210−1] , 随机数 rrr 的 范围 是 [0,1023][0 , 1023][0,1023] 之间的值 ;

六、最小帧长问题


检测到碰撞时 , 需要暂停帧的发送 , 如果帧太短 , 就会导致一次性发送完毕 , 无法暂停 , 这里需要在检测到碰撞时 , 帧还没有发送结束 ;

帧的传输时延 至少要 大于 2τ2\tau2τ ;

帧的传输时延=帧长度(比特)数据传输速率帧的传输时延 = \cfrac{帧长度 ( 比特 )}{ 数据传输速率 }帧的传输时延=数据传输速率帧长度(比特)​

帧长度(比特)数据传输速率≥2τ\cfrac{帧长度 ( 比特 )}{ 数据传输速率 } \geq 2\tau数据传输速率帧长度(比特)​≥2τ

帧长度(比特)≥2τ×数据传输速率帧长度 ( 比特 )\geq 2\tau \times 数据传输速率帧长度(比特)≥2τ×数据传输速率

最小帧长度是 2τ×数据传输速率2\tau \times 数据传输速率2τ×数据传输速率 比特 ;

以太网 规定 最短帧长度是 64 字节 , 小于 64 字节的帧都是由于冲突终止的无效帧 ;

【计算机网络】数据链路层 : CSMA/CD 协议 ( 载波监听多点接入 / 碰撞检测 协议 | 单程端到端传播时延 | 截断二进制指数规避算法 | 计算示例 | 最小帧长问题 )★相关推荐

  1. F问题3-7:以太网使用载波监听多点接入碰撞检测协议CSMA/CD。频分复用FDM才使用载波。以太网有没有使用频分复用?...

    F问题3-7:以太网使用载波监听多点接入碰撞检测协议CSMA/CD.频分复用FDM才使用载波.以太网有没有使用频分复用? 答:这里的"载波"并非指频分复用FDM的载波.CSMA/C ...

  2. 【计算机网络】数据链路层 : CSMA/CA 协议 ( 载波监听多点接入 / 碰撞避免 协议 | CSMA/CA 协议工作原理 | CSMA/CD 协议 与 CSMA/CA 协议对比 )

    文章目录 一. CSMA/CA 协议 ( 非重点.仅作了解 ) 二.CSMA/CA 协议工作原理 三. CSMA/CD 协议 不能用于 无限局域网 的原因 四. CSMA/CD 协议 与 CSMA/C ...

  3. 【计算机网络】【湖科大MOOC】数据链路层 媒体介入控制 频分复用、时分复用、码分复用 载波监听多址接入/碰撞检测CSMA/CD 碰撞避免CSMA/CA

    目录 数据链路层 5. 媒体介入控制 5.1 静态划分信道 5.2 动态接入控制 - 随机接入 5.2.1 载波监听多址接入/碰撞检测 CSMA/CD协议 5.2.1 载波监听多址接入/碰撞避免 CS ...

  4. 【学习笔记】数据链路层——随机访问介质访问控制(ALOHA、CSMA、CSMA/CD、CSMA/CA),截断二进制指数规避算法

    文章目录 小前言 一. ALOHA协议 纯ALOHA协议 时隙ALOHA协议 ALOHA对比 CSMA协议 定义与分类 ① 1-坚持CSMA ② 非坚持CSMA ③ p-坚持CSMA 总结 CSMA/ ...

  5. 计算机网络 --- 数据链路层CSMA/CD协议

    CSMA/CD协议 全称为载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection) CSMA/CD协议 ...

  6. 【计算机网络】数据链路层 : CSMA 协议 ( 载波监听多路访问协议 | 监听 | 1-坚持 CSMA | 非坚持 CSMA | p-坚持 CSMA )

    文章目录 一. CSMA 协议 ( 载波监听多路访问协议 ) 二. CSMA 协议 监听 三. 1-坚持 CSMA 四. 非坚持 CSMA 五. p-坚持 CSMA 六. 三种协议对比 一. CSMA ...

  7. 计算机网络 --- 数据链路层CSMA/CA协议

    CSMA/CA全称 载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidence) CSMA/CA协议与CSM ...

  8. 使用广播信道的数据链路层--CSMA/CD 协议

    一.CSMA/CD 1.Carrier Sense Multiple Access with Collision Detection 载波监听多点接入/碰撞检测 2.载波监听:检测信道.在发送数据前, ...

  9. 载波监听多路访问CSMA以及CSMA/CD详解

    上一篇文章具体解释了ALOHA协定,那么这篇文章解释一下CSMA和CSMA/CD协议吧.它们都是为了控制在一个传输介质上面复用的主机访问信道时避免冲突所指定的协议. 一.CSMA CSMA(载波监听多 ...

最新文章

  1. 线性代数投影法在线性回归中的应用
  2. spark 任务运行原理
  3. 用户NT AUTHORITYNETWORK SERVICE登录失败解决方法
  4. django的sqlite3的使用_2_第一个模型
  5. Ubuntu10.04系统调试TQ2440开发板之一《Ubuntu下搭建TQ2440的程序下载环境》
  6. PMP之项目整合管理之变更管理计划
  7. 现代制造工程02:第一部分——刀具(含2个易考点)
  8. Java中的数组,列表,集合,映射,元组,记录文字
  9. 去哪儿-19-detail-ajax
  10. mysql 数据增量备份_MySQL数据库之mysql全量备份、增量备份实现方法
  11. idea mysql 逆向生成,IDEA mybatis-generator逆向工程生成代码
  12. android shape 画阴影_android 阴影的实现方式
  13. IO 模型 IO 多路复用
  14. L2-004 这是二叉搜索树吗?(二叉树)
  15. QQ防撤回9.0.2 软件 源码 源文件
  16. 传真机使用方法,使用说明
  17. ios用xib实现三等分以及多等分思路
  18. Resnet网络介绍
  19. ContentProvider--共享文件(.jepg文件)
  20. 【LeetCode-1413】1431. 拥有最多糖果的孩子

热门文章

  1. SQL基础:常用SQL语句详解(转)
  2. legend3---lavarel中使用qq邮箱发送邮件
  3. idea设置JVM运行参数
  4. 设计模式之:适配器模式
  5. 蓝书4.1-4.4 树状数组、RMQ问题、线段树、倍增求LCA
  6. springmvc如何访问静态文件,例如jpg,js,css
  7. 《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?...
  8. ASP.NET如何给控件增加属性?
  9. Memcached 缓存基础知识点1并64位系统 1.4.4版本安装
  10. DescriptionAttribute Class