|
CSMA/CD是一种适用于总线结构的分布式介质访问控制方法,是IEEE 802.3的核心协议。CSMA的基本原理是,当一个站在发送数据之前,先监听信道上是否有其他站发送的载波信号,若有,则说明信道正忙;否则信道是空闲的。然后根据预定的策略决定:
|
|
|
|
|
|
监听算法并不能完全避免发送冲突,但若对以上两种控制策略进行精心设计,则可以把冲突概率减到最小。据此,有以下3种监听算法。
|
|
|
|
|
|
②若信道忙,等待一个由概率分布决定的随机重发延迟后,重复①。
|
|
|
由于等待了一个由概率分布决定的随机重发延迟,从而减少了冲突的概率;然而,可能出现的问题是因为延迟而使信道闲置一段时间,这使信道的利用率降低,而且增加了发送时延。
|
|
|
|
|
|
|
这种算法的优缺点与前一种正好相反:有利于抢占信道,减少信道空闲时间;但是多个站同时都在监听信道时必然发生冲突。
|
|
|
|
P-坚持型监听算法吸取了以上两种算法的优点,但较为复杂。
|
|
|
①若信道空闲,以概率P发送,以概率(1-P)延迟一个时间单位。一个时间单位等于网络传输时延期τ。
|
|
|
|
|
|
载波监听只能减小冲突的概率,而不能完全避免冲突。当两个帧发生冲突后,若继续发送,将会浪费网络带宽。如果帧比较长,对带宽的浪费就很可观。为了进一步改进带宽的利用率,发送站应采取边发边听的冲突检测方法。具体如下。
|
|
|
①发送期间同时接收,并把接收的数据与站中存储的数据进行比较。
|
|
|
|
③若比较结果不一致,说明发生冲突,立即停止发送,并发送一个简短的干扰信号(Jamming),使所有站都停止发送。
|
|
|
④发送Jamming信号后,等待一段随机长的时间,重新监听,再试着发送。
|
|
|
|
按照二进制指数后退算法,后退时延的取值范围与重发次数n形成二进制指数关系。随着重发次数n的增加,后退时延tζ的取值范围按2的指数增大。即第一次试发时n的值
为0,每冲突一次,n的值加1,并按式(4-5)计算后退时延,即
|
|
|
|
为了避免无限制的重发,要对重发次数n进行限制。通常当n增加到某一个最大值时停止发送,并向上层协议报告发送错误,等待处理。
|
|
|
|
对于基带总线和宽带总线,CSMA/CD的实现基本上是相同的,但也有一些差别。
|
|
|
差别一是载波监听的实现。对于基带系统,是检测电压脉冲序列。对于宽带系统,监听站接收RF载波以判断信道是否空闲。
|
|
|
差别二是冲突检测的实现。对于基带系统,是把直流电压加到信号上来检测冲突。对于宽带系统,有几种检测冲突的方法。方法之一是把接收的数据与发送的数据逐位比较;另一种方法用于分裂配置,由端头检查是否有破坏了的数据,这种数据的频率与正常数据的频率不同。
|
|
|