从单个以太网到多个以太网需要什么?

电器工程 嵌入式 以太网 linux
2022-02-05 23:56:17

我有一个带有单个以太网端口的嵌入式 Linux 系统,但我需要使用许多端口。很明显,我需要添加磁性元件和端口。接下来是更棘手的部分。

我的处理器有一个板载 MAC,我使用的是单驱动 PHY。我只需要一个带有更多驱动程序的新 PHY 吗?是否可以在同一个 MAC 上使用多个 PHY?每个端口都需要一个 MAC 吗?

4个回答

如果这是用于原型 - 考虑添加 USB 以太网适配器。

如果您正在构建产品,我会考虑使用板载以太网交换芯片。像这样:

http://www.micrel.com/page.do?page=product-info/fastether_sw.jsp


(来源:micrel.com

ADM6996可能是一个选项,如果您能找到的话。

如果您的处理器只有一个 PHY,那么通过将开关嵌入您的板上,您将不会获得更多的速度。只需添加一个开关会容易得多:

替代文字

正如本例中的文字所示,任何中途的开关都将自动协商 10/100/1000 Mbps,电缆交叉。

交换机有 4 到 48 个端口,其中 5 个端口是简单桌面交换机的常用数字。它们可以放在您的办公桌上或安装在机架上。如果您觉得有必要,您可以将它们链接在一起以获得荒谬的端口数量。您可以以不到 10 美元(访问Newegg)或高达 10,000 美元的价格买到它们。要考虑的一件重要事情是您是否需要托管或非托管交换机,但我们需要更多信息才能做出此决定,而这很快就变成了 ServerFault 的问题。

外部开关可能是最灵活、最简单、最便宜的方式来做你想做的事。它在物理上比将开关的内容放在 PCB 上要大,但除非绝对必要,否则我不会这样做。

如果每个端口都在一个完全独立的网络上,您可以使用一个 MAC 地址,但如果您要将它放在同一个网络上,这真的行不通。

我强烈建议使用单独的驱动程序,每个端口具有单独的 MAC 地址。

我的答案集中在您是否正在创建像嵌入式防火墙这样的设备,您希望流量从一个端口进入,过滤,然后通过另一个端口发送回另一个网络。

我支持切换建议。

如果您需要分离不同的网络,则配置交换芯片以将端口拆分为不同的 VLAN,并将所有 VLAN 中继到 Linux 机器所在的端口。

Linux 将能够访问所有 VLAN,就好像系统具有连接不同网络的单独网络接口一样。

大多数(如果不是全部)开关芯片都可以通过串行 EEPROM 进行配置,因此为 POC 或一次性 hack 修改现成的开关应该很容易。