计算机网络原理 MAC帧之间的碰撞问题 详解:假定站点A 和B 在同一个10Mb/s 以太网网段上。这两个站点之间的时延为225 比特时间……

3-24 :

问题:

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

结果:

  • 站A在检测到和站B发生碰撞之前不能把自己的数据发送完毕;
  • 如果站A在发送完毕之前并没有检测到碰撞,那么可以肯定站A所发送的帧不会和B发送的帧发生碰撞;

过程:

前提了解

  • 先附上以太网V2的MAC帧格式的图片

图3-22

  • 协议规定了基本退避时间为争用期 2τ(tao),具体的争用期时间是 51.2μs。(争用期时间是协议规定的,需要自行记忆)

  • 文题中:站点A 和B 在同一个10Mb/s 以太网网段上,则在争用期内站点A发送的最短帧长是10Mbit/s × 51.2μs = 512bit,即64字节。

    1 Mbits = 1e3 Kbits = 1e6 bit
    1 s = 1e6 μs
    1e6 = 1 × 106

  • 在传输媒体上传送的要比MAC帧多8个字节(这个也需要记忆),即站点A实际传送的帧大小是 (64Byte + 8Byte)× 8bit = 576bit

开始假设计算

  • 先假设在 t = 0 比特时间的时候站点 A 开始发送数据帧。

  • 由于以太网使用的 CSMA/CD 协议,数据在发送时要载波监听与碰撞检测。即站点只有检测到总线上处于空闲状态时才发送数据帧

  • 文题表明:这两个站点之间的时延为225 比特时间。即数据帧从站A到站B需要花费 225 比特时间

  • 所以在这种情况下站B想要发送数据只有两种比特时间可能:
    1. 在 t = (0~224) 比特时间,由于站A发送的数据帧还在去站B的途中,数据帧没有到站B所以站B任然认为总线上是处于空闲状态,即可以发送数据帧;
    2. 在 t > (576 + 225) = 801 比特时间,这个时候由于站A已经将数据帧完全发送给站B了,此时总线上是真正的处于空闲状态。

  • 文题条件:并且在A 发送结束之前B 也发送一帧。,所以可以排除上述的第二种可能,并确定站B在 t = (0~224) 比特时间中发送数据帧;

  • 当 t = 225比特时间,站B就能检测出站A发送的数据帧。

  • 只要站B在 t = 224 比特时间之前发送数据帧,站A在发送完毕之前就一定能检测到碰撞,这就能够肯定以后也不会再发送碰撞了;

  • 如果站A在发送完毕之前并没有检测到碰撞,那么就能够肯定站A所发送的帧不会和B发送的帧发生碰撞。

即:

  • 站A在检测到和站B发生碰撞之前不能把自己的数据发送完毕;
  • 如果站A在发送完毕之前并没有检测到碰撞,那么可以肯定站A所发送的帧不会和B发送的帧发生碰撞;

资料参考

发布了29 篇原创文章 · 获赞 42 · 访问量 8490

猜你喜欢

转载自blog.csdn.net/qq_43068326/article/details/104840944
今日推荐