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