交换机如何处理从多个不同源(计算机)发送到本地网络上同一目标主机(计算机)的数据?

网络工程 转变 以太网
2021-07-16 19:29:16

假设我有交换机S,我已经连接了 4 台主机(A、B、CD)。现在假设主机AB都想同时向同一主机D发送一系列数据所以这里,AB是发送节点,D是接收节点。

让我们说从主机发送的帧到达交换机小号和交换机查找MAC地址表,发现主机d,在一些特定的端口,比如X并将帧转发到端口X如果同时,主机B也向交换机发送了一个帧,S和交换机查找其 MAC 地址表,发现主机D在端口X并将帧转发到端口X ......不会有碰撞?!

以太网交换机将如何处理这种情况?

3个回答

交换机将其接收到的所有数据包尽其所能转发。如果无法立即发送数据包,则该数据包将在缓冲区中排队,如果队列已满,则该数据包将被丢弃。

通常,交换机的每个端口都有输入和输出缓冲区,而不是每个端口的公共缓冲区,因此传入流量端口的过载不会影响同一端口的传出。

这是该缓冲区排列的示意图:

在此处输入图片说明

缓冲区的大小决定了端口上可用的排队数量,而不会丢弃数据包并导致性能下降。

交换机缓冲帧 - 这与不能缓冲任何内容的中继集线器形成对比。

正如@jcbermu 所指出的,来自AB 的两个帧都首先存储在各自端口的接收缓冲区中。

然后将其在完整性接收到的第一帧被传输到端口d的发送缓冲器和发送到d第二个完成的帧也被传输到端口D的传输缓冲区,但由于端口当前正在传输它只是排队并在A的帧完成后发送出去

交换机通常使用先到先得的原则。当优先级和 QoS 发挥作用时,交换机为每个端口使用多个传输缓冲区,通常首先传输较高优先级的帧(取决于实现)。

当某个目标端口的总入口流量快于端口可以传输的时间超过很短的时间(微突发)时,队列缓冲区会迅速溢出,交换机会丢弃数据包。

在以太网网络中,冲突是必须的。以太网使用 CSMA/CD 来避免冲突。具体可参考CSMA/CD专题。