CSMA/CD解释与理解

1. CSMA/CD含义

CSMA/CD即载波监听多点接入/碰撞检测,此协议是使用在总线型网络中的,不一样计算机是经过多点接入的方式链接在一块儿。协议的重点在于监听和碰撞检测。算法

2. 为何要监听和碰撞检测

当初学习的时候,对于为何要监听空闲和检测碰撞一直很疑惑,其实缘由很简单,对于总线型网络来讲,若是有多个主机同时发送信号,那么是很难从中分辨出信息的。举个栗子就是一堆不一样频率相位的正弦混合在一块儿,让你从波形图中画出某条正弦曲线,是否是感受很是的困难?为了不在网络中遇到这个问题,因此采用载波监听和碰撞检测的方法。网络

3.载波监听用处

载波监听其实就是检测信道是否是为空,若是是,那么就能够发送本身的信息了。若是信道正忙,那么只能等到信道空闲,才能发送本身的信息。那么,是否是只要空闲发送本身的信息就永远不会出错呢?固然不是,咱们联系生活中的一个栗子就能知道,当开会讨论的时候,若是一片安静,那么以后就可能会有两个或者多我的同时开始说话发言。信道上也是如此,甚至更加明显。由于载波监听只能是在本身的位置监听,而从别的主机发送过来的信号须要时间。这就不可避免的会出现主机B明明发送了信息,可是主机A没有发现,也发送一个信息出来,这样便会发生碰撞,致使数据信号失真。学习

4.碰撞检测用处

碰撞检测就是为了解决上面说的同时发送,或者说在很短期(B发送信号还没有到达A)内同时发送引起的碰撞问题。碰撞检测即适配器在发送数据的过程当中也要检测信道信号,若发现信号电压变化幅度增大超过某个阈值,则认为发生碰撞。blog

5.截断二进制指数退避

发送了碰撞怎么办?固然是中止发送,找个合适的时间再发送。那么怎么寻找一个合适的时间呢?那就要用到截断二进制指数退避,这个名字听起来很高端大气,其实很简单。首先咱们明确一个概念,叫作争用期。什么叫争用期,就是在这个发送信息后的这段时间内可能发生碰撞,可是过了这个争用期,那么就必定不会发生碰撞。咱们把争用期定义为两倍的端到端传播时延,以下图,δ足够小的时候,A要通过2τ的时间才能发现碰撞。it

退避算法:
1.从[0,1,2, ...,(2^k-1)]中随机选一个数,记为r。重传应在r倍争用期以后进行。k的取值为Min[重传次数,10],即k小于10时为重传次数,最大不超过10 。
2.若重传超过16次仍是不成功,则说明信道中数据过多,放弃重传,向高层报告。二进制

6.最短帧长

那么,经历了上面的一系列操做,咱们是否是能够保证信道中不会存在冲突了呢?答案是,不能。咱们要注意到咱们的碰撞检测和监听都是在本机的位置上进行的,不可以跑到别的信道位置上进行。那么这样就存在了一个问题,那就是要发送的信息太短,致使碰撞检测在发送该信息的时候没有检测到碰撞,可是在发送出去以后,这个信息与其余的信息碰撞。就好像你寄东西,寄出去的时候仍是好好的,等送到别人手里变得一塌糊涂,这就是在寄的过程当中发生了冲突。解决办法很简单,就是增长信息长度。以太网规定最短帧长为64字节,对于10Mbit/s以太网,发送64字节(512bit)数据须要51.2us,也就是上面的争用期。这样若是发生碰撞,那么必定能在本身这边检测出来,由于本身的信号和别人发送的信号混在一块儿,致使信号电压变化超过阈值。若是发送完了,那么本身是不知道本身发送的东西在路上有没有出现意外,这个就只有接收方才能知道,会把这个丢弃,可是本身不会再次发送,这就致使数据的丢失。而且因为发现冲突就会中止发送,因此能够认为,凡是长度小于64字节的帧都是因为冲突而中止发送无效帧。方法

7.强化碰撞

在发送数据的时候发生冲突,除了中止发送用户数据,还要继续发送32bit或者48bit的干扰信号,目的就是为了让全部用户都知道如今发生了冲突。im

相关文章
相关标签/搜索