【答案解析】[答案要点]
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比特时间将会停止发送数据,见表。
|
t比特时间的站点A、B数据帧情况
|
|
t
|
A
|
B
|
|
0
|
发送
|
发送
|
|
225
|
监测到碰撞,发送干扰
|
监测到碰撞,发送干扰
|
|
273
|
干扰传送完毕
|
干扰传送完毕
|
|
498
|
接收完干扰,信道空闲
|
|
|
594
|
A发送
|
|
|
785
|
|
检测信道,信道空闲,等待发送
|
|
819
|
|
A发送的信号到达B
|
|
881
|
|
B准备发送,检测信道,信道忙,停止发送
|
综上分析:
1)A和B分别在t=594比特时间与t=881比特时间开始重传其数据帧。
2)A重传的数据帧在t=819比特时间到达B。
3)A重传的数据不会和B重传的数据再次发送碰撞,因为B在发送数据时,检测到了信道忙,立即停止了发送。
4)B会在预定的重传时间停止发送数据,因为B在t=881比特时间准备发送数据时检测到信道忙。
可能疑问点:在第1)问中,为什么A加上退避的时间是以(273+225)比特为起始,而B却是从273比特为起始?
[解析] 在停止数据发送时(刚开始发送干扰信号)适配器就执行指数退避算法。并不是说需要等到传播完干扰信号才开始指数退避算法。因为A的随机数为0,所以A在发送完干扰信号之后,信道仍是有干扰信号在传播,所以将会不断地监听,直到225+273时监听到信道为空(干扰信号传播完毕),再加上96比特时间,就可以发送数据了。
而B是不一样的,因为B本来就要等512比特时间,那个时候(273+512)信道已经是空闲的了(因为此时A的数据还没有到达B,所以空闲)。