抱歉,问了一个非常简单的问题。但我不明白交换机没有冲突问题……当 3 台 PC 连接到集线器时,2 台 PC 试图同时连接到另外 1 台 PC 会产生冲突。像这种情况,交换机会在端口之间建立逻辑电路,例如端口 1 到端口 3 和端口 2 到 3。但端口 3 会同时接收 2 个连接。我认为当端口 3 同时有 2 个连接时,会发生冲突。对吗?
答案1
只有当两个节点试图同时在同一个共享信道上发送数据时,才会发生冲突。通常,到交换机的链路是全双工的,没有共享信道。因此不可能发生冲突。
如果两个设备都以高速向单个设备发送帧,您肯定会遇到交换机无法在出站端口上容纳所有流量的情况。但结果不会是冲突。结果可能是丢帧或暂停,具体取决于交换机和设备的功能和配置。一些交换机和一些以太网设备支持‘暂停’ 框架可以发送一条消息告诉他们交换机目前无法容纳他们的流量。
答案2
这里要记住的一点是,如今大多数交换机都采用先存储后转发的原理。与集线器不同,发送器和接收器之间没有直接连接。
收到帧后,该帧会存储在交换机的内存中。交换机会决定将其发送出去,然后当该端口不忙时再发送。由于是交换机在发送帧,因此它足够聪明,不会尝试同时发送两个帧。
基本上,你只需要把它想象成任何标准队列。
答案3
除了已经发布的答案之外,还需要澄清的是:
交换机不会消除冲突。交换机可以消除单个冲突域问题。在交换机上,每个端口都是一个独立的冲突域,如果主机 NIC 与其所连接的交换机端口之间的双工不匹配(主机为全双工,端口为半双工,反之亦然),则连接到一个端口的单个主机可能会遇到冲突。