CSMA/CD
CSMA/CD(Carrier Sense Multiple Access/Collision Detect)即载波监听多路访问/冲突检测方法 在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
基本简介[ ]
CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。
另一个改进是,对于每一个站而言,一旦它检测到有冲突,它就放弃它当前的传送任务。换句话说,如果两个站都检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。它们不应该再继续传送它们的帧,因为这样只会产生垃圾而已;相反一旦检测到冲突之后,它们应该立即停止传送数据。快速地终止被损坏的帧可以节省时间和带宽。
基础篇[ ]
CSMA/CD 的特点[ ]
- 竞争,各结点强占对共享媒体的访问权
- 轻负载时,效率较高
- 重负载时,冲突概率加大,效率低
- 所有结点共享媒体,任何时刻只有一个结点在发信息
- 不适合实时传输
CSMA/CD控制方式的优点[ ]
原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
CSMA/CD应用在 OSI 的第二层 数据链路层
它的工作原理是: 发送数据前 先监听信道是否空闲 ,若空闲 则立即发送数据.在发送数据时,边发送边继续监听.若监听到冲突,则立即停止发送数据.等待一段随机时间,再重新尝试.
CSMA/CD采用IEEE 802.3标准。
它的主要目的是:提供寻址和媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信而不相互冲突。
CSMA/CD进阶篇[ ]
CSMA/CD控制规程[ ]
控制规程的核心问题:解决在公共通道上以广播方式传送数据中可能出现的问题(主要是数据碰撞问题)
控制过程包含四个处理内容:侦听、发送、检测、冲突处理
(1) 侦听:
通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传送(线路是否忙)?
若“忙”则进入后述的“退避”处理程序,进而进一步反复进行侦听工作。
若“闲”,则一定算法原则(“X坚持”算法)决定如何发送。
(2) 发送:
当确定要发送后,通过发送机构,向总线发送数据。
(3) 检测:
数据发送后,也可能发生数据碰撞。因此,要对数据边发送,边接收,以判断是否冲突了。
(4)冲突处理:
当确认发生冲突后,进入冲突处理程序。有两种冲突情况:
① 侦听中发现线路忙
② 发送过程中发现数据碰撞
① 若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,一直到可以发送为止。每次延时的时间不一致,由退避算法确定延时值。
② 若发送过程中发现数据碰撞,先发送阻塞信息,强化冲突,再进行侦听工作,以待下次重新发送(方法同①)
几个概念[ ]
上述两种冲突情况都会涉及一个共同算法——退避算法。
- 退避算法:当出现线路冲突时,如果冲突的各站点都采用同样的退避间隔时间,则很容易产生二次、三次的碰撞。因此,要求各个站点的退避间隔时间具有差异性。这要求通过退避算法来实现。
截断的二进制指数退避算法(退避算法之一):
当一个站点发现线路忙时,要等待一个延时时间M,然后再进行侦听工作。延时时间M以以下算法决定:
M = 0~2k次方减一之间的一个随机数乘以512比特时间(例如对于10Mbps以太网,为51.2微秒),k为冲突(碰撞)的次数,M的最大值为1023,即当k=10及以后M始终是0~1023之间的一个随机值与51.2的乘积,当k增加到16时,就发出错误信息。
- 特殊阻塞信息:是一组特殊数据信息。在发送数据后发现冲突时,立即发送特殊阻塞信息(连续几个字节的全1,一般为32-48位),以强化冲突信号,使线路上站点可以尽早探测得到冲突的信号,从而减少造成新冲突的可能性。
- 冲突检测时间>=2α: α表示网络中最远两个站点的传输线路延迟时间。该式表示检测时间必须保证最远站点发出数据产生冲突后被对方感知的最短时间。在2α时间里没有感知冲突,则保证发出的数据没有产生冲突。(只要保证检测2α时间,没有必要整个发送过程都进行检测)
- X-坚持的CSMA算法:当在侦听中发现线路空闲时,不一定马上发送数据,而采用X-坚持的CSMA算法决定如何进行数据发送:
三种算法[ ]
- 非坚持的CSMA:线路忙,等待一段时间,再侦听;不忙时,立即发送;减少冲突,信道利用率降低:
- 1坚持的CSMA:线路忙,继续侦听;不忙时,立即发送;提高信道利用率,增大冲突:
- p坚持的CSMA:线路忙,继续侦听;不忙时,根据p概率进行发送,另外的1-p概率为继续侦听(p是一个指定概率值);有效平衡,但复杂:
CSMA控制规程的特征[ ]
① 简单
② 具有广播功能
③ 平均带宽: f = F / n
④ 绝对平等,无优先级
⑤ 低负荷高效,高负荷低效
⑥ 延时时间不可预测
⑦ 传输速率与传输距离为一定值
应用篇[ ]
CSMA/CD 曾经用于各种总线结构以太网(bus topology Ethernet)和双绞线以太网(twisted-pair Ethernet)的早期版本中。现代以太网基于交换机和全双工连接建立,不会有碰撞,因此没有必要使用CSMA/CD。