CSMA(Carrier Sense Multiple Access)与CSMA/CD(Carrier Sense Multiple Access with Collision Detection)

#

1、CSMA(Carrier Sense Multiple Access,载波检测(侦听)多路访问)以及CSMA/CD(Carrier Sense Multiple Access with Collision Detection,基于冲突检测的载波监听多路访问技术)概念

CSMA(Carrier Sense Multiple Access)是载波检测(侦听)多路访问,它检测其他站的活动情况。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。

CSMA/CD(Carrier Sense Multiple Access with Collision Detection,基于冲突检测的载波监听多路访问技术)是一种分布式介质访问控制协议,网中的各个站(节点)都能独立地决定数据帧的发送与接收。每个站在发送数据帧之前,首先要进行载波监听,只有介质空闲时,才允许发送帧。
这时,如果两个以上的站同时监听到介质空闲并发送帧,则会产生冲突现象,这使发送的帧都成为无效帧,发送随即宣告失败。
每个站必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新争用介质,重发送帧。

CSMA/CD协议简单、可靠,其网络系统(如Ethernet)被广泛使用。

2、CSMA/CD控制方式的优缺点

CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。

3、CSMA/CD的工作原理

CSMA/CD应用在OSI7层里的数据链路层,它的工作原理是:发送数据前先监听信道是否空闲,若空闲则立即发送数据.在发送数据时,边发送边继续监听.若监听到冲突,则立即停止发送数据.等待一段随机时间,再重新尝试。

4、CSMA分类

CSMA是载波检测(侦听)多路访问.它检测其他站的活动情况,据此调整自己的行为.分为以下几类:

1 )1-持续CSMA(1-persistent CSMA):当信道忙或发生冲突时,要发送帧的站,不断持续侦听,一有空闲,便可发送. 其中,长的传播延迟和同时发送帧,会导致多次冲突,降低系统性能.

2 )非持续CSMA: 它并不持续侦听信道,而是在冲突时,等待随机的一段时间.它有更好的信道利用率,但导致更长延迟.

3 ) p-持续CSMA:它应用于分槽信道,按照P概率发送帧.即信道空闲时,这个时槽,欲发送的站P概率发送,Q=1-P概率不发送.若不发送,下一时槽仍空闲,同理进行发送.若信道忙,则等待下一时槽,若冲突,则等待随机的一段时间,重新开始.

以上都是对ALOHA的改进.当信道忙时,所有站都不传输帧.

4 ) 带冲突检测的CSMA(CSMA/CD:CSMA with Collision Detection):它一旦检测到冲突,立即终止当前传输中的帧,节省时间和带宽,并等待一段时间,重新尝试.它广泛用于LAN中MAC子层,是当前以太网LAN的基础.

5、概念时间模型

其概念时间模型分为三个时期:传输周期,竞争周期和空闲周期
总结为:先听后发,边听边发,冲突不发,稍后再发

6、CSMA/CD具体介绍

**CSMA/CD的全称是Carrier Sense Multiple Access with Collision Detection,即基于冲突检测的载波监听多路访问技术。**CSMA/CD也是最初802.3中的核心,应用在10M/100M的半双工有线网络中,目前CSMA/CD的应用场景少了很多,大部分都直接基于全双工工作。

CSMA/CD从思想上应该是源自于1-坚持CSMA,即1-persistentes CSMA。在其基础上,加入了CD(Collision Detection)的机制。冲突检测,即CD的机制主要是用来发现冲突,并解决冲突的。我们下面描述CSMA/CD的具体工作机制:

“节点发送数据之前需要持续监听信道,一旦节点发现信道空闲,则立刻发送数据。在发送数据的同时,节点持续监听信道,”探测” 是否有别的节点也在该时刻发送数据。

若传输过程中没有检测到别的节点的传输,那么成功传输。在成功传输后,节点需要等待帧间间隔IFG(interframe gap)时间后,可以进行下一次传输。

若在传输过程中,探测到别的节点也在传输,那么则检测到冲突。发生冲突后,节点立刻停止当前的传输,并且发送特定的干扰序列(JAM序列),用以加强该次冲突(用以保证其余所有节点都检测到该次冲突),在JAM序列发送完之后,节点随机选择一个时间倒数进行backoff。当backoff完成之后,节点可以尝试再次重传”。

7、关于CSMA/CD的知识点解答

  • 载波检测(CS:carrier sense):在有线网络中,载波检测实际上即是接收信道上的信息,并加以解析。用这种方式判断共享信道上有没有节点正在传输信息,从而达到监听(listen)的作用。其中载波检测这个名字实际上是从AM/FM接收中来的,即载波就是携带调制信息的模拟信号,从而载波监听就是对是不是有AM/FM信号进行侦听。
  • 冲突检测(CD:collision detection):在一些理论中,介绍冲突检测为“发送的同时,接收同一个信道上的数据,并比较发送数据Tx与接收数据Rx”。若Tx=Rx,则没有冲突发生,若Tx≠Rx,则识别到一个冲突。在一些工程介绍中,介绍检测冲突的方法是“介质依赖法”。连接段介质(实际上是电缆)拥有传输和接受数据的独立路径(双绞线中有单独的发送和接受回路),冲突检测是在同一个接收段收发器中,借助同时发生在传输和接收数据路径上的活动来完成的。在同轴电缆介质上,收发器通过检测同轴电缆的DC(即直流信号)信号等级来检测冲突。当两个或者多个基站同时传输时,同轴上的平均DC电压可达到触发同轴收发器中的冲突检测电压等级。同轴收发器连续检测同轴电缆上的平均电压等级,若平均电压等级表明,有多个基站同时传输内容后,其会发送JAM信号到以太网接口处。发送JAM信号的这个过程比冲突检测时间较长,多出的时间包含了根据10Mbps以太网上总信号延迟算出的时间(即包含了JAM信号的传输时间)。
  • 时隙与捕获效应:在有线网络中,捕获效应被定义为1个时隙长度内没有冲突发生,同时时隙被定义为512bit在10Mbps或100Mbps网络的发送时间。在有线网络中选择为512bit作为一个时隙的参考值,是考量了为发送信号到对端的最大往返时间。该最大往返时间包含了电磁波通过物理层的往返时间以及传输JAM信号所花费的时间。(JAM信号是加强冲突的一个通知信号)。若节点已捕获信道,即已发送512bit,那么对方不一定会来打断你当前的传输,1.即确保对方能检测到你,2.并且反馈的JAM信号也能通知到你。同时,若从电磁波传输的角度而言,512bit在10M中传输的时间换算成电磁波能够传播的距离大约是2800米,512bit在100M中传输的时间换算成电磁波传播的距离大约是200米,对比有线网络的双绞线长度(大约100米)而言,这些参数还是可以接受的。在1000Mbps网络以及其上,都是默认物理层采用全双工模式的,若还是采用CSMA/CD的模式,那么这里的时隙长度会被定义为512byte的长度,不过目前这个可能是学术上的用法,而非协议的定稿。
  • 重传机制(Backoff与BEB机制):若节点检测到冲突发生在前512个字节,即一个时隙内,那么节点首先进行backoff,然后进行重传。这里backoff是采用BEB(二进制指数回退算法),即在一个随机窗口内,选择一个随机数并乘以时隙(time slot)进行回退。在第0~10次回退过程中,每回退一次,随机窗口放大一倍,在第11次到第16次过程中,依然进行回退,并尝试重新发送数据包,但是不放大窗口大小,第17次若失败,则丢包。按照一般情况下,冲突不会发生在512字节以后的部分,即已经发生了捕获效应,即节点已经捕获到了信道。不过比如时间不同步这样的一些情况出现,导致冲突发生在512字节之后,貌似是不进行重传,直接丢包的。

你可能感兴趣的:(计算机网络,CSMA,CSMA/CD)