CSMA/CD协议概述
扫描二维码
随时随地手机看文章
CSMA/CD即载波侦听多路访问/冲突检测,是广播型信道中采用一种随机访问技术的竞争型访问方法,具有多目标地址的特点。它处于一种总线型局域网结构,其物理拓扑结构正逐步向星型发展。CSMA/CD采用分布式控制方法,所有结点之间不存在控制与被控制的关系。
CSMA协议要求站点在发送数据之前先监听信道。如果信道空闲,站点就可以发送数据;如果信道忙,则站点不能发送数据。但是,如果两个站点都检测到信道是空闲的,并且同时开始传送数据,那么这几乎会立即导致冲突。另外,站点在监听信道时,听到信道是空闲的,但这并不意味着信道真的空闲,因为其他站点的数据此时可能正在信道上传送,但由于传播时延,信号还没有到达正在监听的站点,从而引起对信道状态的错误判断。在早期的CSMA传输方式中,由于信道传播时延的存在,即使通信双方的站点,都没有侦听到载波信号,在发送数据时仍可能会发生冲突。因为它们可能会在检测到介质空闲时,同时发送数据,致使冲突发生。尽管CSMA可以发现冲突,但它并没有先知的冲突检测和阻止功能,致使冲突发生频繁。可以对CSMA协议作进一步的改进,使发送站点在传输过程中仍继续侦听介质,以检测是否存在冲突。如果两个站点都在某一时间检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。如果发生冲突,信道上可以检测到超过发送站点本身发送的载波信号幅度的电磁波,由此判断出冲突的存在。一旦检测到冲突,发送站点就立即停止发送,并向总线上发一串阻塞信号,用以通知总线上通信的对方站点,快速地终止被破坏的帧,可以节省时间和带宽要求站点在发送数据过程中进行冲突检测,而一旦检测到冲突立即停止发送数据。这样的协议被称为带冲突检测的载波监听多路访问协议,即 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)协议。
CSMA/CD(Carrier Sense Multiple Access with Collision Detection,载波侦听多路访问/冲突检测协议),早期主要是以太网络中数据传输方式,广泛应用于以太网中。载波侦听(Carrier Sense),意思是网络上各个工作站在发送数据前,都要确认总线上有没有数据传输。若有数据传输(称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。多路访问(Multiple Access),意思是网络上所有工作站收发数据,共同使用同一条总线,且发送数据是广播式。“冲突检测”是指发送结点在发出信息帧的同时,还必须监听媒体,判断是否发生冲突(同一时刻,有无其他结点也在发送信息帧)。CSMA/CD的标准为IEEE802.3或者ISO8802/3。
实际上CSMA/CD的工作流程与人际间通话非常相似,可以用以下7步来说明。第一步:载波监听,想发送信息包的节点要确保没有其他节点在使用共享介质,所以该节点首先要监听信道上的动静(即先听后说)。第二步:如果信道在一定时段内寂静无声(称为帧间缝隙IFG),则该节点就开始传输(无声则讲)。第三步:如果信道一直很忙碌,就一直监视信道,直到出现最小的IFG时段时,该节点才开始发送它的数据(有空就说)。第四步:冲突检测,如果两个节点或更多的节点都在监听和等待发送,然后在信道空时同时决定立即(几乎同时)开始发送数据,此时就发生碰撞。这一事件会导致冲突,并使双方信息包都受到损坏。以太网在传输过程中不断地监听信道,以检测碰撞冲突(边听边说)。第五步:如果一个节点在传输期间检测出碰撞冲突,则立即停止该次传输,并向信道发出一个“拥挤”信号,以确保其他所有节点也发现该冲突,从而摒弃可能一直在接收的受损的信息包(冲突停止,即一次只能一人讲)。第六步:多路存取,在等待一段时间(称为后退)后,想发送的节点试图进行新的发送。这时采用一种叫二进制指数退避策略(Binary Exponential Back off Policy)的算法来决定不同的节点在试图再次发送数据前要等待一段时间(随机延迟)。第七步:返回到第一步。实际上,冲突是以太网电缆传输距离限制的一个因素。例如,如果两个连接到同一总线的节点间距离超过2500米,数据传播将发生延迟,这种延迟将阻止CSMA/CD的冲突检测例程正确进行