Forum: Mikrocontroller und Digitale Elektronik Programmierbarer Ethernet-Switch für anpassbare Topologie gesucht


von Andreas F. (Firma: //) (andifin)


Lesenswert?

Wie man dem Titel entnehmen kann, weiß ich selber nicht direkt wie ich 
das, wonach ich suche, formulieren soll.
Daher war meine Google-Suche auch ziemlich ergebnislos.

Ich versuche es daher mal zu beschreiben:

Benötigt wird eine Platine mit mehreren Ethernet-Ports, welche man von 
außen angesteuert unterschiedlich verschalten kann.

Einfachstes Beispiel:
Links und rechts sitzen je zwei Ethernet-Ports (A, B und 1, 2), welche 
normal, gekreuzt oder gar nicht verbunden werden können, d.h.:

A-1 und B-2
oder
A-2 und B-1
oder gar nicht (Leitungen unterbrochen)

Angesteuert werden soll das ganze von außen über TCP/IP.

Gibt es da fertige Lösungen zu kaufen? Idealerweise auch mit mehr als 
nur zwei Ports. Drei oder vier Ports auf jeder Seite wären gut, aber 
kein muss.
Oder zumindest Entwicklungsboards/Arduino Shields/etc. bei denen 
zumindest die Hardware fertig ist und nur noch die Software für die 
Ansteuerungs- und Verschaltungslogik selbst geschrieben werden muss?

von Gerd E. (robberknight)


Lesenswert?

Andreas F. schrieb:
> Links und rechts sitzen je zwei Ethernet-Ports (A, B und 1, 2), welche
> normal, gekreuzt oder gar nicht verbunden werden können, d.h.:
>
> A-1 und B-2
> oder
> A-2 und B-1
> oder gar nicht (Leitungen unterbrochen)

was willst Du damit genau machen?

Gekreuzt / nicht gekreuzt scheint mir nicht wirklich spannend, denn 
jeder vernünftige PHY kann heute Auto-MDI/MDIX.

von offline (Gast)


Lesenswert?

Andreas F. schrieb:

> Einfachstes Beispiel:
> Links und rechts sitzen je zwei Ethernet-Ports (A, B und 1, 2), welche
> normal, gekreuzt oder gar nicht verbunden werden können, d.h.:

Hmm, hört sich nach VLAN an - wie schnell darfs denn sein? 10 MBit/s? 10 
GBit/s?

von (prx) A. K. (prx)


Lesenswert?

Gemanagte Switches können üblicherweise in Portgruppen aufteilt werden, 
mit freier Zuordnung der einzelnen Ports zu einem oder mehreren VLANs. 
Ports in verschiedenen VLANs sehen sich dabei nicht.

von Axel S. (a-za-z0-9)


Lesenswert?

Andreas F. schrieb:
>
> Benötigt wird eine Platine mit mehreren Ethernet-Ports, welche man von
> außen angesteuert unterschiedlich verschalten kann.
>
> Einfachstes Beispiel:
> Links und rechts sitzen je zwei Ethernet-Ports (A, B und 1, 2), welche
> normal, gekreuzt oder gar nicht verbunden werden können, d.h.:
>
> A-1 und B-2
> oder
> A-2 und B-1
> oder gar nicht (Leitungen unterbrochen)

Das klingt so, als würdes du elektrische Verbindungen zwischen den 
Buchsen herstellen bzw. trennen wollen. Dann bis du mit "Switch" auf dem 
Holzweg, denn das Wort bedeutet für Netzwerker etwas fundamental anderes 
als für Elektriker.

Im Prinzip kann man das was du willst, mit Relais machen. Aber: je nach 
Geschwindigkeit sind Ethernet-Signale ganz schön flott unterwegs. Für 
Gigabit Ethernet (heute die Norm, bald das "alte Eisen") sind es z.B. 
62.5MHz. Da muß man schon auf Leitungslängen achten und darauf, daß die 
paarweise zusammengehörigen Signale auch schön nahe beieinander geführt 
sind, um Abstrahlung oder das Einfangen von Störungen zu vermeiden.

Wenn man heutzutage Ethernet-Frames zwischen Ports routen will, dann 
schaltet man dazu nicht elektrisch an den Leitungen herum, sondern 
verwendet z.B. VLAN Tagging. Goggle mal danach.

von (prx) A. K. (prx)


Lesenswert?

Axel S. schrieb:
> Wenn man heutzutage Ethernet-Frames zwischen Ports routen will, dann
> schaltet man dazu nicht elektrisch an den Leitungen herum, sondern
> verwendet z.B. VLAN Tagging. Goggle mal danach.

Der Begriff "routen" ist in diesem Zusammenhang irreführend, weil er 
IP-Routing suggeriert. Gewöhnlich verwendet man auf Layer 2 daher den 
Begriff "forwarden".

von Andreas F. (Firma: //) (andifin)


Lesenswert?

Danke für die schnellen Antworten.

Axel S. ist mit seiner Vermutung, was damit getan werden soll, am 
nähesten dran.

Prinzipiell geht es genau darum, die einzelnen Ports elektrisch 
miteinander zu verschalten.
Genutzt werden soll das für eine Testautomatisierung, bei der
a) Verbindungsunterbrechungen auf physikalischer Ebene "simuliert" 
werden können und
b) unterschiedliche Verschaltungen zwischen den Ethernet-Ports einzelner 
Geräte herzustellen, ohne dass physikalische Interaktion dazu notwendig 
ist.

VLAN-Switches wären tatsächlich sogar vorrätig, aber dann müsste ja der 
Sender auch das VLAN-Tag entsprechend setzen. Das ist leider nicht der 
Fall.

Geschwindigkeit muss bei mindestens 100MBit liegen. Mehr wäre natürlich 
schön da zukunftssicherer, aber für den geplanten Einsatzzweck reichen 
100MBit aus.

von offline (Gast)


Lesenswert?

Andreas F. schrieb:

> VLAN-Switches wären tatsächlich sogar vorrätig, aber dann müsste ja der
> Sender auch das VLAN-Tag entsprechend setzen. Das ist leider nicht der
> Fall.

VLAN-Switches können untaged Frames taggen, etc..

Ist nur die Frage ob deine Switches ein cli  zum scripten haben.

von Andreas F. (Firma: //) (andifin)


Lesenswert?

offline schrieb:
> Andreas F. schrieb:
>
>> VLAN-Switches wären tatsächlich sogar vorrätig, aber dann müsste ja der
>> Sender auch das VLAN-Tag entsprechend setzen. Das ist leider nicht der
>> Fall.
>
> VLAN-Switches können untaged Frames taggen, etc..
>
> Ist nur die Frage ob deine Switches ein cli  zum scripten haben.

Das klingt gut.
Werde mich mal schlau machen ob die das können. Danke!

von Axel S. (a-za-z0-9)


Lesenswert?

Andreas F. schrieb:
>
> Axel S. ist mit seiner Vermutung, was damit getan werden soll, am
> nähesten dran.

Ja, das hatte ich befürchtet.

> Prinzipiell geht es genau darum, die einzelnen Ports elektrisch
> miteinander zu verschalten.
> Genutzt werden soll das für eine Testautomatisierung, bei der
> a) Verbindungsunterbrechungen auf physikalischer Ebene "simuliert"
> werden können

Dabei helfen dir VLANs aber so gar nicht. Wenn du 
Verbindungs-unterbrechungen testen willst, mußt du die Verbindung 
unterbrechen.

> Geschwindigkeit muss bei mindestens 100MBit liegen. Mehr wäre natürlich
> schön da zukunftssicherer, aber für den geplanten Einsatzzweck reichen
> 100MBit aus.

Dann schau dir an, welche Adernpaare jeweils welche Signale führen. Das 
ist zwischen 100M und 1G Ethernet schonmal unterschiedlich.

von georg (Gast)


Lesenswert?

Andreas F. schrieb:
> a) Verbindungsunterbrechungen auf physikalischer Ebene "simuliert"
> werden können

Das kann man nicht elektronisch simmulieren ohne dass der Test jede 
Aussagekraft verliert - je nach Geschwindigkeit müssen 4 oder 8 
Leitungen geschaltet werden plus die Abschirmung(!), damit das einem 
real abgezogenen Kabel entspricht. Da die meisten HF-geeigneten Relais 
nur einen Wechsler haben, heisst das jede Menge nicht billiger Relais 
auf einer Hispeed-gerouteten Leiterplatte. Der Vorteil wäre, dass auch 
der Bruch jeder einzelnen Ader testbar wäre.

Damit dürfte das Projekt aus Kostengründen gestorben sein.

Georg

von Horst (Gast)


Lesenswert?

offline schrieb:
> Ist nur die Frage ob deine Switches ein cli  zum scripten haben.

Das nennt sich SNMP (Simple Network Managment Protokol) und ist bei 
Switches mit Management üblicherweise verfügbar.

Axel S. schrieb:
>> a) Verbindungsunterbrechungen auf physikalischer Ebene "simuliert"
>> werden können
>
> Dabei helfen dir VLANs aber so gar nicht. Wenn du
> Verbindungs-unterbrechungen testen willst, mußt du die Verbindung
> unterbrechen.

Zumindest kann man den Port meist abschalten, so daß man die Reaktion 
der Gegenseite erkennen kann.

von Gerd E. (robberknight)


Lesenswert?

Andreas F. schrieb:
> Genutzt werden soll das für eine Testautomatisierung, bei der
> a) Verbindungsunterbrechungen auf physikalischer Ebene "simuliert"
> werden können und

managebare Switche können normalerweise auch einzelne Ports gezielt 
deaktivieren. Wird z.B. verwendet, wenn an einem Port eine Verletzung 
der Sicherheitsrichtlinien erkannt wird (z.B. störender DHCP-Server, 
falsche MAC verwendet,...)

> b) unterschiedliche Verschaltungen zwischen den Ethernet-Ports einzelner
> Geräte herzustellen, ohne dass physikalische Interaktion dazu notwendig
> ist.

Wie schon von anderen geschrieben, per VLAN kann man steuern welche 
Ports miteinander verbunden sind. Bei den Ports dann jeweils beim 
Eingang die VLAN-Tags fest setzen und beim Ausgang die Tags wieder 
entfernen.

Man muss sich an dieser Stelle meist etwas in die Konfiguration 
eindenken, bei sehr vielen Switchen ist dieser Punkt nicht unbedingt 
intuitiv umgesetzt.

von Maier (Gast)


Lesenswert?

Andreas F. schrieb:
> Prinzipiell geht es genau darum, die einzelnen Ports elektrisch
> miteinander zu verschalten.
> Genutzt werden soll das für eine Testautomatisierung, bei der
> a) Verbindungsunterbrechungen auf physikalischer Ebene "simuliert"
> werden können und
> b) unterschiedliche Verschaltungen zwischen den Ethernet-Ports einzelner
> Geräte herzustellen, ohne dass physikalische Interaktion dazu notwendig
> ist.
Gehts dir tatsaechlich um die elektrische Verschaltung? Oder eher um die 
logische? D.h. eine Art Kanalumschalter, wo verschiedene Gerate vom Netz 
genommen und aufgeschalten werden koennen.

von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

Wenn es um die analoge Signalverschaltung/unterbrechung geht: Suche mal 
nach "Crossbar Switch" oder "Koppelfeld".

Man findet dann z.B.

http://www.ti.com/lit/ds/symlink/sn65lvcp408.pdf
http://www.analog.com/media/en/technical-documentation/data-sheets/AD75019.pdf

Herauszufinden, was dafür für Ethernet geeignet ist, wäre der nächste 
Schritt.

von offline (Gast)


Lesenswert?

Man kann auch alle DUT Ports taggen und an einen PC durchreichen der 
dann das Switching macht. (brctl, etc)

Wenn aber die DUT-Link-LEDs aus gehen sollen, muss man mit dem Switch 
reden. (administrative port down/up)

von Axel S. (a-za-z0-9)


Lesenswert?

Horst schrieb:

> Axel S. schrieb:
>>> a) Verbindungsunterbrechungen auf physikalischer Ebene "simuliert"
>>> werden können
>>
>> Dabei helfen dir VLANs aber so gar nicht. Wenn du
>> Verbindungs-unterbrechungen testen willst, mußt du die Verbindung
>> unterbrechen.
>
> Zumindest kann man den Port meist abschalten, so daß man die Reaktion
> der Gegenseite erkennen kann.

Das ist aber nicht das gleiche. Hardwaremäßig kann auch mal nur eine 
Ader ausfallen. Der TE hält sich ja eher bedeckt, welche Art von 
Störungen er genau hervorrufen und die Reaktion seiner Geräte darauf 
testen will. Aber wenn das halbwegs universell sein soll, würde ich 
jeden der 8 Kontakte in der RJ45-Buchse unterbrechbar machen.

Evtl. will man ja testen, ob ein Gerät, das normal GbE über 4 Päärchen 
spricht, beim Ausfall einer Ader auf 100BASE-T zurückschaltet.

von Andreas F. (Firma: //) (andifin)


Lesenswert?

Ok, da ist ja doch noch einiges an Diskussionsbedarf wie es aussieht.

Bei "Verbindungsunterbrechung" meine ich, dass sich die Geräte 
netzwerktechnisch nicht mehr über diese Verbindung erreichen können.
Beispielsweise gibt es bei manchen unserer Geräte eine Leitungsredundanz 
- zwei Geräte sind über zwei separate Ports und Leitungen miteinander 
verbunden. Fällt eine aus, muss die Kommunikation über die andere 
weiterlaufen.

Andere Geräte sind als redundante Paare ausgelegt. Geht die 
Netzwerkverbindung zum Master verloren, muss der andere übernehmen.

Von daher sind Ausfallszenarien einzelner Adern nicht weiter relevant 
(zumindest auf unserer Stufe, da wir nur die Reaktion der Geräte und 
nicht die Kabel selbst testen).
Es muss prinzipiell nur "netzwerktechnisch verbunden" oder 
"netzwerktechnisch nicht verbunden" realisiert werden.

Jedenfalls vielen Dank für die Einwürfe, Anregungen und Nachfragen. 
Immer wieder toll zu sehen, wie schnell wirklich viele hilfreiche 
Antworten in diesem Forum kommen.

von (prx) A. K. (prx)


Lesenswert?

Andreas F. schrieb:
> Es muss prinzipiell nur "netzwerktechnisch verbunden" oder
> "netzwerktechnisch nicht verbunden" realisiert werden.

Dafür tut es ein Switch mit per SSH ansprechbarem CLI oder mit aktivem 
Management per SNMP.

: Bearbeitet durch User
von Thomas W. (thomas_v2)


Lesenswert?

Zum elektrischen Umschalten zwischen zwei Ethernet-Ports könnte dieses 
Teil etwas für dich sein:
https://www.micma.de/index.php?m_id=1&s_id=15

Gibt es auch noch in weiteren Ausführungen.

von bana (Gast)


Lesenswert?

Hallo,

vielleicht läßt sich dieseR "Failover Switch" für deine Anwendungen 
missbrauchen.

Hier geht es zwar auch um Umschaltungen zwischen Tk Systemen, aber 
vielleicht läßt sich ja mit geschickter Beschaltung das System für deine 
Zwecke benutzen.


https://www.beronet.com/products/failover-switch/?lang=de

mfg
bana

von Ralf D. (doeblitz)


Lesenswert?

Andreas F. schrieb:
> Ok, da ist ja doch noch einiges an Diskussionsbedarf wie es aussieht.

Oh ja. ;-)

> Bei "Verbindungsunterbrechung" meine ich, dass sich die Geräte
> netzwerktechnisch nicht mehr über diese Verbindung erreichen können.
> Beispielsweise gibt es bei manchen unserer Geräte eine Leitungsredundanz
> - zwei Geräte sind über zwei separate Ports und Leitungen miteinander
> verbunden. Fällt eine aus, muss die Kommunikation über die andere
> weiterlaufen.

Das "fällt eine aus" muß aber erst einmal richtig erkannt werden. 
Typische Handwerkereinwirkung ist ja Bohrer oder Nagel, die eine Leitung 
nur teilweise beschädigen und nicht komplett durchtrennen. Sauberes 
"alles oder nichts" ist einfach, aber die korrekte Erkennung, dass bei 
einen etablierten GbE-Link ein Leitungspaar defekt ist und ein Fallback 
notwendig  (oder der Link eben "down" genommen) wird, würde ich prüfen 
wollen, insbesondere wenn es um automatische Redundanz geht.

[...]
> Von daher sind Ausfallszenarien einzelner Adern nicht weiter relevant
> (zumindest auf unserer Stufe, da wir nur die Reaktion der Geräte und
> nicht die Kabel selbst testen).

D.h. jemand anders hat schon getestet und zugesichert, daß jegliche 
Störung der Leitungsverbindung zuverlässig als "Link down" 
weitergereicht wird?

> Es muss prinzipiell nur "netzwerktechnisch verbunden" oder
> "netzwerktechnisch nicht verbunden" realisiert werden.

Da gibt es leider mehr Fehlerszenarien als einem lieb sind ...

von MOSFET (Gast)


Lesenswert?

Ralf D. schrieb:
> Da gibt es leider mehr Fehlerszenarien als einem lieb sind ...

Die da wären.....?

von Andreas F. (Firma: //) (andifin)


Lesenswert?

Ralf D. schrieb:
> Andreas F. schrieb:
>> Ok, da ist ja doch noch einiges an Diskussionsbedarf wie es aussieht.
>
> Oh ja. ;-)
>
>> Bei "Verbindungsunterbrechung" meine ich, dass sich die Geräte
>> netzwerktechnisch nicht mehr über diese Verbindung erreichen können.
>> Beispielsweise gibt es bei manchen unserer Geräte eine Leitungsredundanz
>> - zwei Geräte sind über zwei separate Ports und Leitungen miteinander
>> verbunden. Fällt eine aus, muss die Kommunikation über die andere
>> weiterlaufen.
>
> Das "fällt eine aus" muß aber erst einmal richtig erkannt werden.
> Typische Handwerkereinwirkung ist ja Bohrer oder Nagel, die eine Leitung
> nur teilweise beschädigen und nicht komplett durchtrennen. Sauberes
> "alles oder nichts" ist einfach, aber die korrekte Erkennung, dass bei
> einen etablierten GbE-Link ein Leitungspaar defekt ist und ein Fallback
> notwendig  (oder der Link eben "down" genommen) wird, würde ich prüfen
> wollen, insbesondere wenn es um automatische Redundanz geht.
>
> [...]
>> Von daher sind Ausfallszenarien einzelner Adern nicht weiter relevant
>> (zumindest auf unserer Stufe, da wir nur die Reaktion der Geräte und
>> nicht die Kabel selbst testen).
>
> D.h. jemand anders hat schon getestet und zugesichert, daß *jegliche*
> Störung der Leitungsverbindung zuverlässig als "Link down"
> weitergereicht wird?
>
>> Es muss prinzipiell nur "netzwerktechnisch verbunden" oder
>> "netzwerktechnisch nicht verbunden" realisiert werden.
>
> Da gibt es leider mehr Fehlerszenarien als einem lieb sind ...

Du hast prinzipiell ja völlig Recht, und das sollte alles geprüft 
werden, wenn die Hard- und/oder Firmware welche die 
Ethernet-Schnittstelle implementiert von uns entwickelt werden würde.
Allerdings bekommen wir beides getestet zugeliefert, also wären solche 
Tests höchstens noch in einem Hardware-Akzeptanz- oder Abnahmetest 
nötig, und dafür benötigt es kein automatisiertes Setup.

Das gesuchte Modul soll testen, ob die Applikation bei 
Verbindungsverlust richtig reagiert, nicht, ob alle denkbaren Szenarien 
als Verbindungsverlust erkannt werden.

@bana und @Thomas W.:
Danke, das werde ich mir mal anschauen!

von Ralf D. (doeblitz)


Lesenswert?

MOSFET schrieb:
> Ralf D. schrieb:
>> Da gibt es leider mehr Fehlerszenarien als einem lieb sind ...
>
> Die da wären.....?

Trivial und leicht behandelbar ist der Totalausfall der Verbindung. 
Tückischer sind Unterbrechungen einzelner Adern, auch gerne nach 
Link-Etablierung, intermittierende Unterbrechungen, wechselnde 
Übergangswiderstände auf einzelnen Adern (kannst du in der Realität bei 
Vibrationen auf einer mangelhaften Steckverbindung bekommen). 
Einstreuende Störsignale durch parallele Hochstromleitungen.

Und das sind nur die Szenarien, die mir gerade ad-hoc einfallen, je nach 
Umfeld gibt es da sicher noch erheblich mehr.

Aber da das ja in diesem Fall jemand anderes bereits testen mußte, ist 
das mit "Link up" vs. "Link down" viel angenehmer abzuhandeln.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Andreas F. schrieb:
> Das gesuchte Modul soll testen, ob die Applikation bei
> Verbindungsverlust richtig reagiert, nicht, ob alle denkbaren Szenarien
> als Verbindungsverlust erkannt werden.

Also eine einfache gemanagete VLAN-fäige Switch mit SSH/Telnet/SNMP.
Ich weiß nicht, ob bei jeder Switch den Portstatus auf deaktiviert 
gestellt werden kann. Habe nur mit höherwertigen Geräten zu tun, die das 
alles können, aber auch mehr als 3000€ kosten.

Die HPE Flex-Fabric - Switches können das jedenfalls alle.
Cisco sicher auch.

von ich² (Gast)


Lesenswert?

Zu testende Verbindungen über kleine, einfache Switches verbinden und 
diesen wahlweise den Strom abschalten. Nicht so elegant wie SNMP & Co., 
aber vielleicht ist ja passendes Equipment vorhanden.

von Andreas F. (Firma: //) (andifin)


Lesenswert?

Nochmal danke für die weiteren Beiträge. Ich werde alles nochmal genauer 
anschauen und abwägen, was für uns am besten passt.


Die Variante von ich² wird tatsächlich von einer anderen Abteilung bei 
uns so genutzt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.