计算机网络学习笔记——第三章课后题答案详解

来源:互联网 发布:sql数据库设计工具 编辑:程序博客网 时间:2024/05/21 17:02


首先重新说一下CSMA/CD协议

CSMA/CD的规则

1、每个想要发送数据的结点,监听信道是否空闲,如果空闲就立即发送数据,并且继续监听;

2、如果信道忙就一直监听,直到信道空闲,立即发送;

3、在传输过程中,一旦发现冲突,立即停止发送,并且发送干扰信号来强化冲突,以便让其他结点知道;

4、发送完干扰信号后,等待一个随机时间再试图发送,即转到第1步。


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

答:
  设在t=0时A开始发送,在t=(64+8(MAC帧要加8个字节同步码和帧开始定界符))*8=576比特时间,A应当发送完毕。t=225比特时间,B就检测出A的信号。只要B在t=224比特时间之前发送数据,A在发送完毕之前就一定检测到碰撞,就能够肯定以后也不会再发送碰撞了
  如果A在发送完毕之前并没有检测到碰撞,那么就能够肯定A所发送的帧不会和B发送的帧发生碰撞(当然也不会和其他站点发生碰撞)。


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

答:
  t=0时,A,B开始传输数据;
  t=225比特时间,A和B同时检测到发生碰撞;
  t=225+48=273比特时间,完成了干扰信号的传输;
  开始各自进行退避算法:

  A:
  因为rA=0,则A在干扰信号传输完之后立即开始侦听
  t=273+225(传播时延)=498比特时间,A检测到信道开始空闲
  t=498+96(帧间最小间隔)=594比特时间,A开始重传数据 -----第一问A的重传时间
  t=594+225 (传播时延)=819比特时间,A重传完毕 ----第二问A重传的数据帧到达B的时间
  
  B:
  因为rB=1,则B在干扰信号传输完之后1倍的争用期,即512比特时间才开始侦听
  t=273+512=785比特时间,B开始侦听
  若侦听空闲,则
  t=785+96(帧间最小间隔)=881比特时间,B开始重传数据
  若侦听费空闲,则继续退避算法

  又因为t=819比特时间的时候,A才重传数据完毕,所以B在785比特时间侦听的时候,肯定会侦听信道非空闲,即B在预定的881比特时间之前侦听到信道忙,

  所以,第四问的答案:B在预定的881比特时间是停止发送数据的。

  即第三问A重传的数据不会和B重传的数据再次发生碰撞。
1 0
原创粉丝点击