信号从一端传播到另一端所需的时间,称为信号传播时延。信号传播时延(μs)=两站点的距离(m)/信号传播速度(200m/μs)。如图4.9所示,假定A、B两个站点位于总线两端,两站点之间的最大传播时延为tp。当A站点发送数据后,经过接近于最大传播时延tp时,B站点正好也发送数据,此时冲突便发生。发生冲突后,B 站点立即可检测到该冲突,而A站点需再经过一份最大传播时延tp后,才能检测出冲突。也即最坏情况下,对于基带CSMA/CD来说,检测出一个冲突的时间等于任意两个站之间最大传播时延的两倍(2tp)。 !FG%2L4?,5
数据帧从一个站点开始发送,到该数据帧发送完毕所需的时间和为数据传输时延;同理,数据传输时延也表示一个接收站点开始接收数据帧,到该数据帧接收完毕所需的时间。数据传输时延(s)=数据帧长度(bit)/数据传输速率(bps)。若不考虑中继器引入的延迟,数据帧从一个站点开始发送,到该数据帧被另一个站点全部接收所需的总时间,等于数据传输时延与信号传播时延之和。 !FG%2L4?,5
由上述分析可知,为了确保发送数据站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要两倍于传播时延。换句话说,要求分组的长度不短于某个值,否则在检测出冲突之前传输已经结束,但实际上分组已被冲突所破坏。由此引出了CSMA/CD总线网络中最短帧长的计算关系式: !FG%2L4?,5
最短数据帧长(bit) 任意两站点间的最大距离(m) !FG%2L4?,5
数据传输速率(Mbps) 200m/us !FG%2L4?,5
计算时要注意单位统一。 !FG%2L4?,5
由于单向传输的原因,对于宽带总线而言,冲突检测时间等于任意两个站之间最大传播时延的4倍。所以, !FG%2L4?,5
对于宽带CSMA/CD来说,要求数据帧的传输时延至少4倍于传播时延。 !FG%2L4?,5
在CSMA/CD算法中,一旦检测到冲突并发完阻塞信号后,为了降低再次冲突的概率,需要等待一个随机时间,然后再使用CSMA方法试图传输。为了保证这种退避操作维持稳定采用了一种称为二进制指数退避和算法,其规则如下: !FG%2L4?,5
(1)对每个数据帧,当第一次发生冲突时,设置一个参量L=2; !FG%2L4?,5
(2)退避间隔取1到L个时间片中的一个随机数,1个小时片等于两站之间的最大传播时延的两倍; !FG%2L4?,5
(3)当数据帧再次发生冲突,由将参量L加倍; !FG%2L4?,5
(4)设置一个最大重传次数,超过该次数,则不再重传,并报告出错。 !FG%2L4?,5
二进制指数退避算法是按后进先出LIFO(List In First Out)的次序控制的,即未发生冲突或很少发生冲突的数据帧,具有优先发送的概率;而发生过多次冲突的数据帧,发送成功的概率就更少。 !FG%2L4?,5
IEEE 802.3就是采用二进制指数退避和1-坚持算法的CSMA/CD媒体访问控制方法。这种方法在低负荷时,如媒体空闲时,要发送数据帧的站点能立即发送;在重负荷时,仍能保证系统的稳定性。由于在媒体上传播的信号会衰减,为确保能检测出冲突信号,CSMA/CD总线网限制一段无分支电缆的最大长度为500米。 !FG%2L4?,5
!FG%2L4?,5
4.3.3 IEEE 802.3媒体访问控制协议 !FG%2L4?,5
!FG%2L4?,5
1.CSMA/CD总线的实现模型 !FG%2L4?,5
IEEE 802.3是一个使用CSMA/CD媒体访问控制方法的局域网标准。CSMA/CD总线的实现模型如图4.10所示,它对应于OSI/RM的最低两层。从逻辑上可以将其划分为两大部分:一部分由LLC子层和MAC子层组成,实现OSI/RM的数据链路层功能,另一部分实现物理层功能。 !FG%2L4?,5
!FG%2L4?,5
把依赖于媒体的特性从物理层中分离出来的目的,是要使得LLC子层和MAC子层能适应于各类不同的媒体。 !FG%2L4?,5
物理层内定义了两个兼容接口:依赖于媒体的媒体相关接口MDI和访问单元接口AUI。MDI是一个同轴电缆接口,所有站点都必须遵循IEEE 802.3定义的物理媒体信号的技术规范,与这个物理媒体接口完全兼容。由于大多站点都设在离电缆连接处有一段距离的地方,在与电缆靠近的MAC中只有少量电路,而大部分硬件和全部的软件都在站点中,AUI的存在为MAC和站点的配合使用带来了极大的灵活性。 !FG%2L4?,5
MAC子层和LLC子层之间和接口提供每个操作的状态信息,以供高一层差错恢复规程所用。MAC子层和物理层之间的接口,提供包括成帧、载波监听、启动传输和解决争用、在两层间传送串行比特流的设施及用于定时等待等功能。 !FG%2L4?,5
!FG%2L4?,5