在规划一群计算机如何使用网络介质传输数据包而不是一群人如何使用电话线实时通话的时候,不得不换一种思路。

为什么以太网最初没有采用TDM或者FDM或者随便别的什么xxDM,而是采用随机统计分时复用的CSMA/CD呢?

  • 以太网流量是突发的
  • 以太网流量不要求实时
  • 以太网无连接

其实,甚至 冲突检测 都是次要的,它只是优化,而并非核心。有冲突就要有退避,所以,紧随着冲突,以太网采用的二进制指数退避,也并非核心!如果把所有的冲突检测以及退避机制都交给上层,那么保留一个核心的简洁以太网模型来分析是必要的。

只需要假定以太网流量符合泊松分布就足够了。在基于这个假设的结论进行分析之前,必须先来看一下 为什么冲突并非核心。 不然就不敢随意抛弃它。

如果一个站点已经检测到信道空闲,那为什么还会有冲突呢?因为数据帧的传输是有传播时延的,数据帧传输速度有上限,即光速ccc,也就是说对于每一个站点的冲突检测机制来讲,它有一个所谓的 视界 视界外面的东西,站点是检测不到的。

  • 站点只能检测到数据帧到达目的地之前Lc\dfrac{L}{c}cL​(LLL为线缆长度)时间的冲突!

所以说,冲突是由光速极限引起的,这种物理世界的局限,或者你说缺陷也行,冲突并非由算法导致,所以冲突并非核心。

然而,日常物理世界诺大的光速到了纳秒,微秒,毫秒计时的计算机网络世界,却是一个非常日常的参数。所以,虽然它不是算法的核心,但是引发的冲突导致的重传将会极大影响以太网的效率。


按照假设,以太网的流量符合泊松分布,忽略复杂的二进制指数退避,再假设重传概率是常数,那么信号的效率EEE可以表示为:

E=11+2BLeclE=\dfrac{1}{1+\dfrac{2 B Le}{cl}}E=1+cl2BLe​1​

其中,BBB为带宽,LLL为线缆长度,lll为帧长度,e,ce,ce,c为常数。

由此,LLL越长,BBB越大,CSMA/CD的效率就越低,反之,帧长lll越长,效率就越高!所谓的以太网最小帧长度64B,普通帧长度1500B,理论上都是可以从这公式里算出来的,之所以我们现在都接受1500B是以太网卡的普遍MTU,其实是因为这样在泊松分布的假设下效率最高。

所以说,随着对带宽需求的提高,对距离的需求提高,CSMA/CD逐渐变得不再适用,也因此,后来的千兆,万兆以太网,干脆不再支持CSMA/CD了。当然,CSMA/CD时代的1500B这个默认MTU值,作为以太网的标志依然被兼容性地保留了下来。


由于CSMA/CD的冲突是光速固有极限带来的,所以在时间域上我们没有办法消除。

要想消除冲突,必须将时间域上的统计分时复用转换到空间域上的统计缓存复用。

在时间域的CSMA/CD时代,统计分时复用机制是分布在每一个站点上被实现的,这就是 介质访问子层 的作用,如果转换到了空间域的缓存统计复用,那么介质访问子层便不再需要,有帧就直接发,所有的分布式介质访问子层的功能将统一集中于交换节点的队列管理系统。

这就是交换式以太网,在纯交换式以太网中,已经不再需要CSMA/CD,交换机取代了介质访问子层的作用。当然,在工程上,兼容是必须的,所以,支持CSMA/CD并不意味着一定就采用了它。


说回冲突。

在时间域上,同一个时间槽,只能有一个帧在传输,如果别的帧也传输了,就会造成冲突,两者皆退避。

在空间域上,发生着完全相同的事情。

同一个缓存位置,只能有一个帧占据,如果同时来了两个帧,针对该位置,那就是冲突了。然而队列机制可以将这次冲突暂时 积累 下来,使用 下一个位置 ,和时间域不同,时间只能纵向延展,而空间域则可以横向扩展。

最终,当空间域用尽了整个缓存后,需要将积累的冲突进行一次性惩罚,即积累式退避,这就是AIMD中MD的意义,其实就是空间域的积累式指数退避。积累式退避也是空间域的,即可发送字节数的MD,而不是等待时间MD。

介质访问子层功能在交换式以太网时代已经被架空了,事实上它也控制不了 什么时候发送 ,它只需要知道能发多少就是了。


这就是总线式以太网向交换式以太网进化过程中背后的故事。

值得一提的是,不要纠结于为什么以太网流量符合泊松分布,事实上,以太网流量根本就不符合泊松分布,之所以采用这个泊松分布假设,是因为在数学上比较容易处理,其背后的假设也是合理的:

  • 数据帧的发送是独立的随机事件。

浙江温州皮鞋湿,下雨进水不会胖。

CSMA/CD总线以太网和交换式以太网相关推荐

  1. 共享式以太网和交换式以太网的区别

    集线器在OSI模型中属于物理层,但由于集线器属于共享型设备,使得它在网络中的效率十分低下,非常容易产生广播风暴,因此在中大型的网络中通常看不到集线器的身影.而交换机则属于数据链路层,是一种基于MAC地 ...

  2. 交换式以太网和共享式以太网区别

    交换式以太网和共享式以太网区别 集线器,又称Hub,在OSI模型中属于数据链路层.但由于集线器属于共享型设备,导致了在繁重的网络中,效率变得十分低下,易产生广播风暴.所以我们在中.大型的网络中看不到集 ...

  3. csma最短帧长_搞懂CSMA/CD,你就明白为什么以太网最小帧是64字节。

    我经常反问的一句话就是:为什么会诞生它(CSMA/CD)呢?why? 每个东西的产生或发明都是有它的存在的原因或背景的. 我们先来看看最初的以太网的构思吧! 把相距有一定距离的一些电脑连接起来,实现计 ...

  4. CSMA/CD与全双工通信

    之所以在全双工的点到点网络中不再需要CSMA/CD协议,我认为是两方面的原因: 一.点到点: 这是涉及到共享式以太网和交换式以太网,前者是以太网伊始所采用的通信方式,主要是通过集线器Hub,所有的端口 ...

  5. 计算机网络学习笔记(五)——介质访问控制子层、ALOHA、CSMA/CD、CSMA/CA、有限竞争协议、非竞争式协议、网桥、交换机、以太网

    文章目录 前言 概念 一.介质访问控制子层和广播式信道 二.多路信道分配 三.竞争式访问协议 (一)ALOHA及时隙ALOHA(S-ALOHA)协议 (二)CSMA协议 (三)CSMA/CD协议 (四 ...

  6. 图解通信原理与案例分析-35:以太网MAC层的通信原理--MAC帧格式与调度策略:载波侦听与冲突检测CSMA/CD、载波侦听与冲突避免(信道空闲保证)CSMA/CA、流控

    以太网协议已经是非常成熟的通信技术,本文旨在在汇总以太网MAC层的协议,以便于与其他通信技术的MAC层作为比较,如4G LTE, 5G NR,特别是LTE在非授权频谱上的通信LAA LBT, 就是借鉴 ...

  7. CSMA/CD协议(一目了然,看过都说好)

    本文参考 计算机网络微课堂 1. CSMA/CD协议介绍 当多个主机同时发送数据时,如何解决碰撞冲突问题呢? 早期的共享式以太网采用 载波监听多址接入/碰撞检测 ,即CSMA/CD协议 来解决碰撞冲突 ...

  8. 16、CSMA/CD协议

    前面一节,我们学习了关于以太网的基础知识,并且我们还认识了百兆.千兆等高速的以太网.本节我们学习一个很重要又比较难的一个知识点,叫做CSMA/CD协议.这个协议放到现在的应用中来讲,已经不是很重要了, ...

  9. ▶链路层第三弹◀ 两种信道下的数据链路层【下】广播通信CSMA/CD

    两种信道情况下的数据链路层     之 广播信道的数据链路层---CSMA/CD(载波监听多路访问/冲突检测) l  局域网概念 在局域网中用到的就是广播通信,所以以局域网的通信来讲解广播信道的数据链 ...

  10. 网络协议从入门到底层原理(3)网络互联模型、物理层、数据链路层(CSMA/CD协议、Ethernet V2帧、PPP协议)

    网络协议从入门到底层原理 网络互联模型(了解请求过程.网络分层) 物理层(Physical) 数字信号.模拟信号 数据通信模型 信道(单工.半双工.全双工) 数据链路层(Data Link) 封装成帧 ...

最新文章

  1. 学JS的心路历程Day28 - PixiJS -基础(二)
  2. Java必备:java入门、java学习
  3. MRP例外消息处理方法
  4. Linux查询系统信息
  5. 深入理解Spark 2.1 Core (十一):Shuffle Reduce 端的原理与源码分析
  6. 学习Java笔记(一)
  7. 微型计算机中常用的进位计数制,2015年计算机一级msoffice选择题121道及答案
  8. 天池 在线编程 寻找比周围都大的点(模拟)
  9. 爱了!蚂蚁开源的“SpringBoot”框架,新增了这6项功能...
  10. 在后台获取前台按钮里的值(如LinkButton)
  11. 客户连接多个服务端_Linux 服务端最大并发数是多少?
  12. 从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用ApplicationPart动态加载控制器和视图
  13. 旧版java_Java旧版本清理|JavaRa旧版本清理下载_V2.4 官方版_9号软件下载
  14. 数据库 基础学习7— 数据库编程
  15. c语言如何删除链表相同元素,【图片】想问一道链表题,如何删除重复元素【c语言吧】_百度贴吧...
  16. 2019年共享充电宝行业发展情况分析报告
  17. 算法 | 八大排序算法,含动态图详解
  18. sqlldr 参数介绍
  19. Macbook 修改照片的大小
  20. 嵌入式学习是什么?嵌入式开发入门教程带你了解

热门文章

  1. Halcon之图像采集II
  2. 【嵌入式蓝桥杯】程序执行完中断将不再触发 /* Go to infinite loop when Hard Fault exception occurs */
  3. VJ 1385 盗窃-月之眼
  4. 批量Batch and 动量Momentum
  5. 记忆力训练软件测试自学,[记忆力训练软件]记忆力训练软件有哪些?
  6. Capstone CS5218转接设计|DP转HDMI 4K 30HZ转接电路|Display to hdmi2.0b转接线电路
  7. 结构光三维重建(一)条纹结构光三维重建
  8. wps文字如何取消英文首字母输入时自动变大写
  9. 火车头采集器计划任务设置时间间隔无效问题解决
  10. 苹果计算机取消用户名和密码进入不,苹果电脑怎么退出账户登录不了怎么办