假定站点A和B在同一个10Mbit/s以太网的网段上,这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所允许的最短的帧,试问:
问答题
A在检测到和B发生碰撞之前能否把自己的数据发送完毕?如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加7个字节的前同步码和1个字节的帧定界符)
【正确答案】正确答案:设在t=0时,A开始发送数据,那么在t=(64+8)×8=576比特时间的时候,A应当发送完毕。另外,由题意可知,B在t=225比特时间,就能检测出A的信号。既然题意说了在A发送结束之前B也发送一帧,就足以说明B发送数据的时间肯定是在t<225比特时间的时候,不然B不可能会发送数据(因为t>225比特时间时,B已收到了A发来的数据)。 不妨设B是在第N比特时间发的数据,那么N+225必定小于576,所以在A发送完数据之前就已经检测到了碰撞,即A在检测到和B发生碰撞之前不能把自己的数据发送完毕。如果A在发送完毕之前并没有检测到碰撞,那么就能够肯定A所发送的帧不会和B发送的帧发生碰撞。
【答案解析】
问答题
在(1)中的站点A和B在t=0时同时发送了数据帧。当t=225比特时间,A和B同时检测到发生了碰撞,并且在t=225+48=273比特时间完成了干扰信号的发送。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是0和1。试问:A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发送碰撞?B会不会在预定的重传时间停止发送数据?
【正确答案】正确答案:t=0时,A和B开始发送数据。 t=225比特时间,A和B都检测到碰撞。 t=273比特时间,A和B结束干扰信号的发送。 信道空闲时刻为273+225(干扰信号的传播),由于是10Mbit/s以太网,所以争用期为512比特时间,即A等待0×512比特时间后还要等待96比特时间(最小帧间间隔),因此t=594比特时间,A开始发送。 t=785比特时间,B在273比特时间开始等待,1×512比特时间后再次检测信道。如果空闲,则B在785+96=881比特时间发送数据,否则再退避。 A重传的数据在819比特时间到达B,B先检测到信道忙,因此B在预定的881比特时间将会停止发送数据,如表4—7所示。

【答案解析】