我们所使用的局域网都要遵循CSMA/CD协议,也就是网络中的每个节点在发送数据的同时都要进行监听,以确认信号是否发生冲突。如果发生冲突,则要立即停止发送数据,并发送一个干扰信号,使其它所有节点都停止发送。
但是使用CSMA/CD协议仍然会有发生冲突的可能性,比如节点A发送了一个信号,由于网络中存在传输延迟,这个信号需要经过一段时间才能到达网络中的另一个节点B。假设这个时间为ζ,那么在时间ζ之前,节点B是不知道网络上有信号传送的,它认为网络空闲,所以也发送信号,这时就会造成冲突。当冲突产生之后,节点B会发出一个干扰信号,这个干扰信号同样需要经过时间ζ才能到达节点A。也就是说节点A在发出数据之后,如果在2ζ的时间内都没有收到冲突信号,那么就认为信号发送成功了。这个2ζ的时间就被称为冲突槽时间,如果A和B正好是网络中相距最远的两个节点,那么它们之间的冲突槽时间也就是整个网络的冲突槽时间。明白了原理之后,那么该如何来计算冲突槽时间呢?这主要需要考虑电信号的传播速度以及数据在各种网络设备中的传输时延这两方面因素。
电磁波在电缆中的传输速度只有光速的70%左右,即v=2*108m/s。假设网络中相距最远的两个点之间的距离为s,则数据从一端传到另一端所需的时间t=s/v。如果信号在传输途中各个设备上的时延为T,那么总计需要的时间ζ=t+T。而冲突槽时间就等于2(t+T)。跟冲突槽时间相关的还有一个最小帧长的概念,假设网络的传输速率为R,那么一个节点在冲突槽时间内所能发送出去的数据为2ζ*R。在局域网中发送的数据都是以帧为单位的,最小帧长必须要大于等于2ζ*R,因为如果小于这个长度,那么发送节点在还未检测到是否发生冲突之前,就已经将数据发送完了,而这很明显不符合要求。所以最小帧长L=2ζ*R。
以太网规定最小帧长为64字节,所以当网速提高时,为了兼容性,需要保持最小帧长不变,这样就必须将冲突槽时间缩短,而要缩短冲突槽时间,就只能缩短网络的最大线路长度。下面分析两道相关试题:
1、局域网冲突时槽的计算方法如下:假设tPHY表示工作站的物理层时延,C表示光速,S表示网段长度,tR表示中继器的时延,在局域网最大配置的情况下,冲突时槽等于 (62)。
A. S/0.7C+2tPHY+8tR B.2S/0.7C+2tPHY+8tR C. 2S/0.7C+tPHY+8tR D.2S/0.7C+2tPHY+4tR试题分析:
根据前面的介绍,冲突槽时间等于2倍的电信号传播消耗时间加上信号在各种网络设置中的时延。电信号的传播速度大概是光速的70%,即0.7C,传播消耗时间t=S/0.7C。时延在这道题目中包括两部分,一部分是物理层时延tPHY,另一部分是中继器时延tR。很多人不会做这道题目,原因就出在这个中继器时延上。这里涉及到一个古老的局域网组建规则:5-4-3规则,即在一个局域网中最多只允许使用4台中继器。所以题目中所谓的“局域网最大配置”,正是暗示网络中使用了4台中继器,所以中继器总的时延就是4tR。时延T=Tphy+4tR。冲突槽时间=2(t+T)=2(S/0.7C+ Tphy+4tR)答案:B2、在一个采用CSMA/CD协议的网络中,传输介质是一根电缆,传输速率为1 Gbps,电缆中的信号传播速度是200,000km/s。若最小数据帧长度减少800位,则最远的两个站点之间的距离应至少 (5) 才能保证网络正常工作。
(5)A.增加160m B.增加80m C.减少160 m D.减少80 m试题分析:最小帧长L=2ζ*R,这里由于没有告诉时延,所以冲突槽时间就只等于电信号传播消耗的时间,假设网络中两个站点的最大距离为S,则ζ=S/(2*108)。
题目中告诉最小帧长减少了800位,还要保证网络能正常工作,也就是网速仍然要保持1Gbps不变。根据公式L=2ζ*R,L减少了,R不变,那要维持这个等式,就只能把ζ也减少,而要减少ζ的唯一办法只能是减少最大距离S。将ζ=S/(2*108)代入公式L=2ζ*R中,L=2 SR/(2*108),S=L*108/R。将L=800,R=1*109代入式子中,计算结果S=80m。
答案:D