Ich habe ein eingebettetes Linux-System mit einem einzigen Ethernet-Port, muss aber zu vielen Ports gehen. Es ist offensichtlich, dass ich Magnete und Anschlüsse hinzufügen muss. Die schwierigeren Teile folgen.
Mein Prozessor verfügt über einen integrierten MAC und ich verwende einen PHY mit einem Treiber. Benötige ich nur eine neue PHY mit mehr Treibern? Ist es möglich, mehrere PHYs auf demselben MAC zu verwenden? Benötige ich für jeden Port einen MAC?
Antworten:
Wenn es sich um einen Prototyp handelt, sollten Sie einen USB-Ethernet-Adapter hinzufügen.
Wenn Sie ein Produkt bauen, würde ich einen integrierten Ethernet-Switch-Chip in Betracht ziehen. So was:
http://www.micrel.com/page.do?page=product-info/fastether_sw.jsp
(Quelle: micrel.com )
Der ADM6996 kann auch eine Option sein, wenn Sie ihn finden können.
quelle
Wenn Ihr Prozessor nur einen PHY hat, werden Sie nicht viel schneller, wenn Sie den Switch in Ihr Board einbetten. Es wird viel einfacher sein, einfach einen Schalter hinzuzufügen:
Wie der Text in diesem Beispiel zeigt, verhandelt jeder halbwegs anständige Switch automatisch 10/100/1000 Mbit / s, Kabelkreuzung.
Switches sind in 4 bis 48 Ports verfügbar, wobei 5 Ports eine übliche Nummer für einfache Desktop-Switches sind. Sie können auf Ihrem Schreibtisch sitzen oder auf einem Gestell montiert werden. Sie können sie für eine lächerliche Anzahl von Ports miteinander verketten, wenn Sie sich dazu gezwungen fühlen. Sie können sie für weniger als 10 US-Dollar (besuchen Sie Newegg ) oder bis zu 10.000 US-Dollar erhalten. Eine wichtige Sache, die Sie berücksichtigen sollten, ist, ob Sie einen verwalteten oder einen nicht verwalteten Switch wünschen. Wir benötigen jedoch weitere Informationen, um diese Entscheidung zu treffen, und dies wird schnell zu einer Frage für ServerFault.
Ein externer Switch ist wahrscheinlich die flexibelste, einfachste und kostengünstigste Möglichkeit, das zu tun, was Sie möchten. Es ist physisch größer als der Inhalt eines Schalters auf Ihrer Leiterplatte, aber ich würde das nicht tun, wenn es nicht unbedingt notwendig wäre.
quelle
Wenn sich jeder Port in einem vollständig separaten Netzwerk befindet, können Sie mit einer einzigen MAC-Adresse davonkommen. Dies funktioniert jedoch nicht, wenn Sie ihn im selben Netzwerk haben.
Ich würde wärmstens empfehlen, separate Treiber mit separater MAC-Adresse pro Port zu haben.
Meine Antwort konzentriert sich darauf, ob Sie ein Gerät wie eine eingebettete Firewall erstellt haben, bei dem der Datenverkehr über einen Port eingehen, gefiltert und dann über einen anderen Port an ein anderes Netzwerk zurückgesendet werden soll.
quelle
Ich stimme dem Schaltervorschlag zu.
Wenn Sie verschiedene Netzwerke trennen müssen, konfigurieren Sie den Switch-Chip so, dass die Ports in verschiedene VLANs aufgeteilt werden und alle VLANs an den Port angeschlossen werden, an dem sich die Linux-Box befindet.
Linux kann auf alle VLANs zugreifen, als hätte das System individuelle Netzwerkschnittstellen zu den verschiedenen Netzwerken.
Die meisten, wenn nicht alle Switch-Chips können über ein serielles EEPROM konfiguriert werden. Daher sollte es einfach genug sein, einen Standard-Switch für einen POC oder einen einmaligen Hack zu ändern.
quelle