计算机网络(第7版)——谢希仁 习题3-24 3-25

首先说明一下,这篇文章只是想讨论题3-25。
题3-24出现在这里只是因为题3-25涉及到。
3-24我没计算,因为觉得没必要。


3-24

假定站点A和B在同一个10Mbit/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加若干字节的前同步码和帧定界符。)

我的想法是不用计算啊,用最短帧的定义计算出A的帧长,然后自己证明自己…没意义。最短帧的提出就是为了避免在检测到碰撞前就发送完数据。所以,如果A发送的是以太网所容许的最短帧,那A就不会在检测到和B发生碰撞之前就把数据发送完了。
 


3-25

在上题中的站点A和B在t=0时同时发送了数据帧。当t=225比特时间,A和B同时检测到发生了碰撞,并且在t=225+48=273比特时间完成了干扰信号的传输。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是rA=0和rB=1。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B? A重传的数据会不会和B重传的数据再次发送碰撞? B会不会在预定的重传时间停止发送数据?

以太网的争用期为51.2us,得基本退避时间为512。10Mbit/s以太网网段上,最短mac帧长=10Mbps×51.2us=512比特,前面再加上7个字节的前同步码和1个字节的帧开始定界符,A发送的总帧长为512+8×8=576比特。A发送完512比特需要512/(10Mbps)=51.2us。

  • t=0,A和B同时发送数据。
  • t=255/2,发生碰撞。
  • t=255,A和B同时检测到发生碰撞,并开始发送人为干扰信号。
  • t=273,人为干扰信号发送完毕。适配器接着就执行指数退避算法,等待r倍基本退避时间。rA=0,所以A在t=273时,只要检测到信道在一个帧间最小间隔内保持空闲就可以开始发送数据;但B需要等待rB=1个基本退避时间,也就是到t=273+512=785,才开始检测信道是否在一个帧间最小间隔内是空闲的,是的话而后再发送数据。在本题中,在t=273+96=369前,A会收到由B发送过来的干扰信号,所以不满足发送的条件。
  • t=273+225=498,干扰信号在信道上传播完毕,信道开始空闲。
  • t=498+96=594,A检测到信道空闲保持了帧间最小间隔,A开始重传数据。
  • t=273+512=785,B经过基本退避时间,开始检测信道是否在一个帧间最小间隔内空闲。
  • t=594+225=819,A重传的数据第一位送到B端,因为785+96=881>819,所以B还没开始发送数据就收到A的数据了,在预定的重传时间B会停止发送。
  • t=819+576=1395,A重传的数据全送到B端,B开始检测到信道空闲。
  • t=1395+96=1491,B检测到信道空闲保持了帧间最小间隔,开始重传数据。
  • t=1491+225=1716,B发送的数据第一位传到A端。

综上,A在 t=594 比特时间开始重传其数据帧,B原预定在 t=819 比特时间开始重传其数据帧,但实际是在t=1491比特时间才可能开始重传其数据。A重传的数据帧的第一位在t=819比特时间到达B,t=1395比特时间A的数据帧全部到达B。A重传的数据不会和B重传的数据再次发生碰撞。B在第一次预定的重传时间t=881比特时间会停止发送数据。

发布了26 篇原创文章 · 获赞 32 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Clover_pofu/article/details/105061623