它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。CSMA/CD是一种分布式介质访问控制协议,网中的各个站(节点)都能独立地决定数据帧的发送与接收。每个站在发送数据帧之前,首先要进行载波监听,只有介质空闲时,才允许发送帧。这时,如果两个以上的站同时监听到介质空闲并发送帧,则会产生冲突现象,这使发送的帧都成为无效帧,发送随即宣告失败。每个站必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新争用介质,重发送帧。CSMA/CD协议简单、可靠,其网络系统(如Ethernet)被广泛使用。CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。CSMA/CD应用在OSI7层里的数据链路层,它的工作原理是:发送数据前先监听信道是否空闲,若空闲则立即发送数据.在发送数据时,边发送边继续监听.若监听到冲突,则立即停止发送数据.等待一段随机时间,再重新尝试.
CSMA采用分布式控制方法,附接总线的各个结点通过竞争的方式,获得总线的使用权。只有获得使用权的结点才可以向总线发送信息帧,该信息帧将被附接总线的所有结点感知。包括以下三个要点:载波侦听——发送结点在发送信息帧之前,必须侦听媒体是否处于空闲状态;多路访问——具有两种含义,既表示多个结点可以同时访问媒体,也表示一个结点发送的信息帧可以被多个结点所接收;冲突检测——发送结点在发出信息帧的同时,还必须监听媒体,判断是否发生冲突(同一时刻,有无其他结点也在发送信息帧)。IEEE 802.3或者OSI 8802/3定义了CSMA/CD的标准。
CSMA是载波检测(侦听)多路访问.它检测其他站的活动情况,据此调整自己的行为.分为以下几类:
以上都是对ALOHA的改进.当信道忙时,所有站都不传输帧.
其概念时间模型分为三个时期:传输周期,竞争周期和空闲周期.
值得一提的是,监听的机制:传输数据时,他的硬件进行监听电缆,如果读回来的信息与发送的不一致,便知发送冲突了.这里,当然需要一种特殊的信号编码方案,能够检测出两个OV信号冲突.(或者在此冲突下,故意不检测,因信号没有损坏)
有线网中,冲突检测的最核心内容是 帧碎片(即检测到网络中有小于这个大小的帧就认为是帧碎片,因为传输2端都在传输造成冲突,2端数据在网络中都只有1部分,即不完整,产生碎片)。
在无线网中由于有隐藏结点(即每个结点不知道也不可能知道整个网络的实时情况),因此无法“检测”所以CSMA/CA(CSMA with Collision Avoidance)载波侦听多路访问冲突避免 就应运而生了,它是利用RTS/CTS(即类似TCP的握手协议)的应答策略来保证在传输中结点不会再接受请求,从而解决了无线网中的冲突。
总之:先听后发,边听边发,冲突不发,稍后再发。