在总线拓扑中发送的数据包会发生什么?

网络工程 包分析
2021-07-09 19:29:48

我在总线拓扑中读到“网络被占用,直到目标计算机接受数据”。这个说法正确吗?

如果是,那么如果目标计算机不存在会怎样?网络如何处理这个问题?当然,总线拓扑不应该一直被占用。

3个回答

只要有人在发送数据,我就会说网络被占用(总线拓扑)。一旦媒体空闲(没有其他节点正在传输),任何节点都可以开始传输。在以太网中管理此过程的一种方式是通过载波侦听多路访问/冲突检测

如果目标节点无法访问,则不会在第 2 层处理(再次讨论以太网,但据我所知,没有其他协议可以在 OSI 第 2 层处理此问题)。发送的帧丢失,必须由上层协议(例如 TCP)检测到。TCP基于确认工作,如果发送的某条数据在一定时间内没有被目的地确认为接收到,发送设备将再次尝试。

如果你在谈论令牌环(没有人再使用它),数据包将在环周围流动,直到它回到你身边。在这一点上,不会传递它。

[更新]

将您的总线视为单根电线。沿着那根电线,扬声器连接到它(并接地)。然后沿线添加按键开关以发出莫尔斯电码。任何开关都可以使所有扬声器发出咔嗒声,但是,在发送消息时,只有一个操作员可以键入消息。因此,只要正在发送消息,总线就会“被占用”。完成后,其他任何人都可以键入他们的消息。消息是否是为未收听的操作员准备的并不重要,消息仍然是“发送到线路上”。

在总线拓扑中,连接到同一总线的所有收发器都可以“听到”彼此。这意味着它们都是同一个冲突域的一部分当收发器在总线上传输某些内容时,其他收发器必须保持安静以避免冲突。

这方面的一个例子是旧的半双工以太网,它使用同轴电缆形成总线拓扑,并使用 CSMA/CD 来避免和解决冲突。

考虑到这一点,我认为正确的说法是总线被占用而线路上仍有数据,而不管接收器如何请注意,我说的是“在线数据”而不是“正在传输数据时”,因为由于传播延迟,数据在初始传输后会保留一段时间