CSMA/CD 计算机科学说明

网络工程 联网
2022-03-04 09:40:20

我是一名做网络的 CS 学生,在 CSMA/CD 上遇到了两难境地,更具体地说,我在课堂上得到了解释。

练习/问题如下:使用 CSMA/CD,站 A 在时间 0 开始发送,当 A 到达时间 8 时,B 开始发送。从 A 到 B 的总时间是 10。A 和 B 什么时候会知道发生了碰撞?

经过一番搜索,我的理解如下:A为8,B为0并开始。他们都在发生碰撞的时间 9 相遇。在碰撞时间 9 处,信号在两个方向上传播,通知 A 和 B 发生碰撞:

因此 B 在时间 2 被通知(10 - 9 = 1, 1 在一个方向上 + 返回 1 == 2) A 在时间 18 被通知(在碰撞时间 9 + 9 返回 == 18)

我的推理是否正确?

给出的解释如下: A 在 18 被通知,因为 A 是 8 + 10 才能返回 B 在 10 被通知,因为从 B 到 A 需要 10

我有点不确定给出的解释是否有意义(对我来说)。帧是否在碰撞时被丢弃,并且由于碰撞而导致的更高信号在两个方向上都传播到两个站?

编辑:我们正在使用 Tanenbaum 的书

1个回答

当信号实际上开始在介质中重叠时,就无法感应到碰撞——那时根本没有传感器。相反,当信号在节点的接口处重叠时,会感应到冲突。

因此,B 的信号需要 10 个滴答声才能到达 A,因此 A 在 18 个滴答声处检测到碰撞。当 B 开始发送时,A 的信号已经覆盖了 10 个滴答声中的 8 个,因此 B 仅在 2 个滴答声后,即 10 个滴答声处感应到碰撞。

您找到的时间是正确的,但它并不像在介质内发生然后传播回发送者的大声碰撞(就像稍后听到的车祸)。碰撞不会在介质中产生任何东西。当在任何节点的接口处重叠的多个信号检测到碰撞时,就会真正“发生”碰撞。相反,每个节点在不同的时间感应到碰撞,具体取决于它与第一个信号重叠的距离(以您解释它的相同方式)。

当处理由于段长度违规和丢失信号在极端位置重叠而无法被所有节点检测到的晚期冲突时,这种区别变得很重要——没有重叠,没有碰撞检测。

也就是说,您应该注意 CSMA/CD 和半双工传输早已过时。现代以太网专门使用完全交换的全双工模式。