我有一个像这样连接的网络:
PC1
|
| (auto neg)
|
Switch1
|
| (10 Mbps Half)
|
Switch2
|
| (auto neg)
|
PC2
然后一切正常。现在我只想知道当 2 个节点的速度不同时(例如,PC 节点的速度为 1Gbps,另一个交换机的节点的速度为 10 Mbps Half),交换机如何传递流量。交换机中必须有两个 MAC,它们都以不同的速度运行。那么它是如何工作的?
答案1
它只是在一个段上接收数据包,确定要将其发送到哪个段(或多个段),然后按照收到的格式发送,但速度不同。因此,出站数据包的源 MAC 地址和目标 MAC 地址与入站数据包相同。
当然,交换机必须先接收整个数据包,然后才能开始向另一段发送数据包。只有当两个段以相同速度运行时,直通交换才有可能。
答案2
一个基本概念是,与模拟信号相比,数字数据更容易存储。例如,旧的模拟电话网络需要两部电话之间有完全连接的、活动的电路才能进行通话。但数字数据通常被分组为帧或数据包,数据传输可以在转发数据之前缓冲(存储)数据。
检查交换机的技术规格,您可能会发现它们属于存储转发类型,而不是直通交换机。每个交换机都会完整接收以太网帧,然后交换机才会尝试将其转发到下一个目的地。因此,每个链路都可以以自己的速度运行,并且链路之间在速度或全双工与半双工方面基本上没有相互依赖性。
交换机中必须有两个 MAC,且两个 MAC 均以不同的速度运行。
实际上,影响链路速度的是 PHY,而不是 MAC(仅处理数字数据)。交换机可能每个端口只有一个 MAC 和一个 PHY。