在学习《计算机网络》(谢希仁)时遇到一个问题:
假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行碰撞算法是选择了随机数R=100。试问这个站需要等待多长时间后才能再次发送数据,如果是100Mb/s的以太网呢?
第一问比较简单。
再次发送的等待时间
t=Rτ
t
=
R
τ
其中 τ τ 为争用时间51.2 μs μ s ,所以等待时间为
t=Rτ=100×51.2×10−6=5.12ms
t
=
R
τ
=
100
×
51.2
×
10
−
6
=
5.12
m
s
第二问有一个疑惑的地方:
既然 τ τ 是信号单程端到端的延迟,那么无论是100Mb/s的网络,还是10Mb/s的网络, τ τ 应该是一样的。
但是实际上,在书中之处 CSMA/CD 协议规定最短帧长为64B=512bit。而最短帧长的发送时间和 τ τ 比值应该是一个常数,即
a=τT0
a
=
τ
T
0
式中, a a 的值保持不变。由于数据率提高了十倍,变为原来的十分之一。所以 τ τ 也要变成原来的十分之一。这是通过减少电缆的长度实现的。
所以对于100Mb/s的以太网,争用时间为5.12 μs μ s ,所以等待时间为
t=Rτ=100×5.12×10−6=512μs
t
=
R
τ
=
100
×
5.12
×
10
−
6
=
512
μ
s