Forum: Mikrocontroller und Digitale Elektronik 10-100Mbit/s Ethernet Verbindung gezielt stören


von Johannes Z. (johannes_z855)


Angehängte Dateien:

Lesenswert?

Ich bin Lernender Elektroniker und mir wurde die Aufgabe zugeteilt, ein 
Gerät zu bauen, welches eine Industrial Ethernet Verbindung 
(10-100Mbit/s) gezielt stört, um zu Testen, ob die Fehlererkennung bei 
Gerät und Switch ordentlich funktioniert.
Ich konnte allerdings im Internet nirgends eine Beschreibung finden, wie 
Ethernet genau funktioniert. Keine zumindest, die für jemand mit meinem 
Ausbildungsstand verständlich ist. Im Betrieb konnte mir auch niemand 
wirklich helfen. Daher dachte ich, ich stelle die Frage mal hier.

Ich ging davon aus, ich könne die Leitungen mit einem MOSFET über einen 
Koppelkondensator auf Masse ziehen, um eine Störung hineinzubringen. Ich 
habe mit einem Raspberry PI Pico und einem selbst designten 
MOSFET-Treiber und einer Assembler-Funktion einen einstellbaren, extrem 
schnellen Puls erzeugen können. Das Gerät an sich funktioniert perfekt 
so wie ich es gedacht habe. Zur Simulierung habe ich einen 100Ohm 
Widerstand angehängt(Im Internet fand ich nämlich heraus, dass die 
Impedanz des Signals 100 Ohm beträgt), und das Gerät hatte kein Problem 
damit, das Ausgangssignal auf Masse zu ziehen, und nur wenige ns 
Verzögerungszeit an der Ausgangsspannung zu erreichen. Das Ethernet 
sollte, so dachte ich, mit einer Niederohmigen Verbindung zu GND 
ebenfalls gestört werden können. Allerdings war dem nicht so, ich habe 
das Signal am Oszilloskop angeschaut, und sah keine Störung, und trotz 
der 100mOhm RDSon des FET habe ich am Drain den Spannungsverlauf des 
Ethernet Signals sehen können, während des Pulses.

Jetzt bin ich ratlos, kann mir jemand auf die Sprünge helfen?


Das Schema habe ich im Anhang, die Schottkydiode dient dazu, dass das 
Signal nicht von der Parasitären Diode im MOSFET im negativen Bereich 
kurzgeschlossen wird. Laut LTSpice und Realem Aufbau mit 100Ohm 
Widerstand funktioniert das auch gut.

Den Assembler Code habe ich auch angehängt. Bei der Jetzigen Version ist 
der Puls aber deutlich Länger, daher die lange Schleife.

von Jörg K. (joergk)


Lesenswert?

Ethernet ist differentiell und erdfrei. Auch wenn Du jewels beide 
Mosfets ansteuerst sperrt immer ein Deiner Dioden

von Cyblord -. (cyblord)


Lesenswert?

Könnte man nicht einen zusätzliche Phy + Übertrager parallel in die 
Leitung bei Bedarf einfach Müll draufballern?

: Bearbeitet durch User
von Jörg K. (joergk)


Lesenswert?

Cyblord -. schrieb:
> Könnte man nicht einen zusätzliche Magnetic parallel in die
> Leitung bei
> Bedarf einfach Müll draufballern?

Ich würde es eher kapazitiv im Gegentakt versuchen. Ein zusätzlicher 
Magnetic könnte schon von sich aus Probleme machen.

Die Frage ist erst mal: Welche Art Fehler ist gewünscht? Die rüde Lösung 
wäre ein Reed-Relais auf ein Pärchen legen und ein bischen rumklappern.
Das kommt den Störungen im industriellen Umfeld schon nahe...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mein erster Tipp zur Vorgehensweise: miss einfach mal mit einem 
Oszilloskop die realen Signale. Und dann spiele mit Bauteilen und 
Schaltern herum, um zu sehen, wie sich dadurch Signal beeinflussen bzw. 
stören lässt. Mein Tipp: du musst direkt an den Pins des Trafos messen.

Mein Ansatz ware hier, Störungen zu erzeugen und mit Kondensatoren auf 
die Netzwerkleitunge eizukoppeln. Mein Testaufbau zum Stören von 
Datenleitungen sieht so aus wie im 
Beitrag "Re: Signalkonditionierung für Flügelradzähler"

Jörg K. schrieb:
> Die rüde Lösung wäre ein Reed-Relais auf ein Pärchen legen und ein
> bischen rumklappern.
Der Laie staunt und der Fachmann wundert sich: je nach Position dieses 
Kurzschlusses auf der Leitung macht der evtl. gar nichts aus. Probiers 
mal aus. Stichworte: Wellenlänge, Knoten und Bäuche.

: Bearbeitet durch Moderator
von Dergute W. (derguteweka)


Lesenswert?

Moin,

Johannes Z. schrieb:
> um zu Testen, ob die Fehlererkennung bei
> Gerät und Switch ordentlich funktioniert.
> Ich konnte allerdings im Internet nirgends eine Beschreibung finden, wie
> Ethernet genau funktioniert. Keine zumindest, die für jemand mit meinem
> Ausbildungsstand verständlich ist. Im Betrieb konnte mir auch niemand
> wirklich helfen. Daher dachte ich, ich stelle die Frage mal hier.

Das wissen die wenigsten :-) .Wenns das "stinknormale" Fast-Ethernet 
ist, wird das "ganz unten im ISO/OSI-Gedoens" z.B. hier beschrieben:
https://de.wikipedia.org/wiki/MLT-3-Code.
An Fehlererkennung gibts da nicht allzuviel - ueber jedes Ethernetpaket 
wird vom Sender ein 32bit CRC gebildet, diese 4 Byte direkt ans Ende des 
Pakets angehaengt.
Im Empfaenger wird das ueberprueft, und wenn der CRC nicht zum Packerl 
passt, wird das ganz schnell einfach unter den Teppich gekehrt. D.h. 
fuer den Empfaenger ist es dann so, als waere das nie gesendet worden.

> Ich ging davon aus, ich könne die Leitungen mit einem MOSFET über einen
> Koppelkondensator auf Masse ziehen, um eine Störung hineinzubringen.
Deine Kondensatoren koennen sich nie mehr entladen, wenn die einmal 
aufgeladen sind...
Ich wuerde das eher mit irgendwelchen sehr niederohmigen Analogschaltern 
(also sowas wie CD4066 in besser/schneller/niederohmiger), die die 
Leitungen kurzschliessen ausprobieren.

Gruss
WK

von Andreas M. (amesser)


Lesenswert?

Wie Jörg schon schrieb, ist Ethernet differentiell. D.h. wenn Du beide 
Leitungen des Adernpaars in die gleiche Richtung störst, kann der 
Empfänger das Problemlos rausrechnen :-) (Genau deswegen macht man eine 
differentielle Übertragung) Es reicht auch nicht die gerade positive 
Ader des Leiterpaare nur gegen GND zu ziehen, denn aus Sicht des 
Empfängers ist das anderer immer noch negativer.

Außerdem gibts da noch ein paar mehr Tricks um die Störsicherheit zu 
erhöhen,  gerade 100MBit ist ziemlich robust.

Du musst auf die eine Ader einen positiven und auf die andere einen 
negativen Puls geben und zwar so das diese die Polarität des Signals 
umdrehen (dafür reicht es hier den Störpuls lang genug zu machen), nur 
dann entsteht ein fehlerhaftes Signal beim Empfänger.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Ich würde da einen fast transients Test simulieren.
Sowas wird bei EMV Tests gemacht.

Nachdem du das sicher einfach halten willst, würde ich 3 Patch Kabel 
nehmen, die mit kupplungen verbinden, aber den Schirm auftrennen, und 
mit dem Schirm vom mittleren Kabel den störer ein koppeln.

Damit das funktioniert, brauchst du Patch Kabel die geschirmt sind.
Dabei sollten die einzelnen Paare aber keinen Schirm haben... Also 
fs/utp oder so.

Die Kabel hängst du jetzt über kupplungen zusammen, bei dennen du auf 
einer Seite die Kontaktklammern für den Schirm rausgeknippst hast.

Wenn du das nur auf der Seite machst, an dem das mittlere leitungsstück 
hängt, kannst du jetzt die beiden Kupplungen zusammen tappen und dein 
Schirm ist im Grunde wieder heil...bis auf das mittelstück, das 
"fliegt".


Jetzt zum "störgenerator"... Ich bin da Freund von keep-it-simpel... 
Sowas sollte schon reichen: 
https://www.mikrocontroller.net/articles/EMV_Einfache_Tester#Relais-Tests

Dabei verbindest du möglichst kurz GND mit dem eigentlichen Schirm (also 
bei den Kupplungen) und VCC wird der fliegende Schirm.

Üblichwerweise lässt sich an das Metallgehäuse von einem rj45 Stecker 
noch ein Draht dranlöten, der die Funktion nicht behindert.

Die Intensität veränderst du mit der Versorgungsspannung von deinem 
störgenerator, dem Relais, und der länge der einkoppelleitung.

Ich würde Mal ein kleines Signalrelais und so 0,5..1m probieren. Da 
müsste dann schon das eine oder andere Paket kaputtgehen.

73

von Rainer W. (rawi)


Lesenswert?

Andreas M. schrieb:
> Wie Jörg schon schrieb, ist Ethernet differentiell. D.h. wenn Du beide
> Leitungen des Adernpaars in die gleiche Richtung störst, kann der
> Empfänger das Problemlos rausrechnen :-)

Da braucht der Empfänger überhaupt nichts zu rechnen. 
Gleichtaktstörungen heben sich bei differentieller Übertragung auf, 
insbesondere bei galvanischer Trennung. Darum verwendet man 
differentielle Übertragung.

von Johannes Z. (johannes_z855)


Lesenswert?

Vielen Dank erstmal für die Antworten

Dergute W. schrieb:
> Ich wuerde das eher mit irgendwelchen sehr niederohmigen Analogschaltern
> (also sowas wie CD4066 in besser/schneller/niederohmiger), die die
> Leitungen kurzschliessen ausprobieren.

Danke für den Tipp, allerdings verstehe ich nicht ganz wie das 
funktionieren kann. Da das Ethernet Signal ja Differenziell ist, ist es 
nicht mit dem GND der Schaltung verbunden. Wie kann dann die Analog 
Switch das Signal gezielt kurzschliessen? Es schwebt aus Sicht der 
Schaltung ja irgendwo herum, da es keinen Bezugspunkt hat. Ich habe 
keinen Zweifel dass es funktioniert, ich frage mich nur wie.

Andreas M. schrieb:
> Du musst auf die eine Ader einen positiven und auf die andere einen
> negativen Puls geben und zwar so das diese die Polarität des Signals
> umdrehen (dafür reicht es hier den Störpuls lang genug zu machen), nur
> dann entsteht ein fehlerhaftes Signal beim Empfänger.

Danke für deinen Input, könnte ich also auch einfach anstelle des 
N-Kanal MOSFET einen P-Kanal MOSFET an der einen Leitung des Paares 
einbauen und den jeweils auf eine zusätzliche Positive Versorgung (z.B. 
5V) ziehen, und dann würde es funktionieren?

Jörg K. schrieb:
> Die Frage ist erst mal: Welche Art Fehler ist gewünscht? Die rüde Lösung
> wäre ein Reed-Relais auf ein Pärchen legen und ein bisschen rumklappern.
> Das kommt den Störungen im industriellen Umfeld schon nahe...

Danke für die Idee mit dem Relais, allerdings denke ich das dies eher 
ein wenig zu langsam ist für meine Anwendung. Je nachdem sind die 
Schaltzeiten eines Relais länger als ein Ethernet Protokoll. Die Idee 
mit einem Galvanisch getrennten Schalter ist allerdings Klasse. 
Vielleicht mit einem Solid State Relais? wäre wohl auch von der 
Lebensdauer und des Stromverbrauches und der Lärmbelästigung XD besser 
geeignet. Allerdings hat man da wieder die Parasitäre Kapazität Coff, 
die das Signal im nicht-stören Zustand dennoch Stören könnte.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Eine Frage... wozu?

Normalerweise erkennt jeder Empfänger defekte Frames im Ethernet und 
schmeißt sie einfach weg. Der Sender muss sie dann nach einem Timeout 
oder auf irgend eine Anforderung (erkannter Paketverlust) noch einmal 
senden, so lange bis die Übertragung fehlerfrei klappt.

Geht es darum, einen solchen Empfänger zu entwickeln? Wenn nicht, 
braucht man das doch eigentlich gar nicht. Ein Frame kommt entweder an 
oder er kommt nicht an... was anderes ist es doch nicht. Sowas kann man 
in einer Testumgebung auch einfach dadurch simulieren, daß zu störende 
Frames gar nicht erst gesendet werden.

Edit:
> Es schwebt aus Sicht der Schaltung ja irgendwo herum,
> da es keinen Bezugspunkt hat.
Google mal nach "ethernet magnetics".

: Bearbeitet durch User
von Dergute W. (derguteweka)


Lesenswert?

Moin,

Johannes Z. schrieb:
> Da das Ethernet Signal ja Differenziell ist, ist es
> nicht mit dem GND der Schaltung verbunden.
Obacht, da muss man genau sein. Die "Nichtverbindung" kommt durch die 
Uebertrager an beiden Enden. Andere differenzielle Signale ohne "Trafos" 
wie z.b. HDMI haengen sehr wohl auf einem bestimmten Potential und da 
sollte man sie auch nicht davon wegbewegen, wenn man keinen magischen 
Rauch sehen will. Obwohl sie auch differentiell sind.

> Wie kann dann die Analog
> Switch das Signal gezielt kurzschliessen? Es schwebt aus Sicht der
> Schaltung ja irgendwo herum, da es keinen Bezugspunkt hat.
Der Vorteil an den Trafos an beiden Enden ist ja, dass du "in der Mitte" 
das Signal ruhig auf irgendein Potential ziehen kannst, nach dem dir 
ist.
Also z.b. mal an jede Ader irgendeinen hochohmigen (>> Wellenwiderstand) 
Widerstand der z.b. auf deine halbe Betriebsspannung deiner Schaltung 
fuehrt.
Schon hat dein Signal einen (hochohmigen, aber immerhin) Bezugspunkt.

> Ich habe
> keinen Zweifel dass es funktioniert, ich frage mich nur wie.
Also ich hab' schon auch meine Zweifel, denn ich hab's nicht 
ausprobiert. War nur so ausm Bauch raus das Gefuehl, dass sowas 
"harmloser" ist, als da fremde Spannungen einzuspeisen, auch wenn die 
Ethernet-PYHs nach den Trafos das in gewissem Mass abkoennen 
sollten/muessen.

Gruss
WK

von Jörg K. (joergk)


Lesenswert?

Lothar M. schrieb:
> Der Laie staunt und der Fachmann wundert sich: je nach Position dieses
> Kurzschlusses auf der Leitung macht der evtl. gar nichts aus. Probiers
> mal aus. Stichworte: Wellenlänge, Knoten und Bäuche.

Leitungstheorie kenn ich :-)
Aber stehende Wellen auf einem Ethernet-Paar hielte ich für einen 
Fehler. Sollte doch abgeschlossen sein

von Johannes Z. (johannes_z855)


Angehängte Dateien:

Lesenswert?

Ben B. schrieb:
> Eine Frage... wozu?
>
> Normalerweise erkennt jeder Empfänger defekte Frames im Ethernet und
> schmeißt sie einfach weg. Der Sender muss sie dann nach einem Timeout
> oder auf irgend eine Anforderung (erkannter Paketverlust) noch einmal
> senden, so lange bis die Übertragung fehlerfrei klappt.

Genau darum geht es, in einem Webserver des Geräts kann man alle Daten 
zur Verbindung verfolgen, unter anderem auch die gesendeten und 
Empfangenen Frames, und auch die weggeworfenen Frames. Die Idee ist, 
dass man aufzeigen kann, dass das Gerät die Fehler richtig erkennt.

Dergute W. schrieb:
> Der Vorteil an den Trafos an beiden Enden ist ja, dass du "in der Mitte"
> das Signal ruhig auf irgendein Potential ziehen kannst, nach dem dir
> ist.
> Also z.b. mal an jede Ader irgendeinen hochohmigen (>> Wellenwiderstand)
> Widerstand der z.b. auf deine halbe Betriebsspannung deiner Schaltung
> fuehrt.
> Schon hat dein Signal einen (hochohmigen, aber immerhin) Bezugspunkt.

Heisst das ich könnte theoretisch auch die Minusleitung mit einer 
Spannung meiner Schaltung verbinden, und so einfach die beiden Signale 
kurzschliessen? Also so etwas wie ich im angehängten Schema Dargestellt 
habe?

von G. K. (zumsel)


Lesenswert?

Johannes Z. schrieb:
> Ich bin Lernender Elektroniker und mir wurde die Aufgabe zugeteilt, ein
> Gerät zu bauen, welches eine Industrial Ethernet Verbindung
> (10-100Mbit/s) gezielt stört, um zu Testen, ob die Fehlererkennung bei
> Gerät und Switch ordentlich funktioniert.
> Ich konnte allerdings im Internet nirgends eine Beschreibung finden, wie
> Ethernet genau funktioniert. Keine zumindest, die für jemand mit meinem
> Ausbildungsstand verständlich ist. Im Betrieb konnte mir auch niemand
> wirklich helfen. Daher dachte ich, ich stelle die Frage mal hier.

https://opus4.kobv.de/opus4-uni-koblenz/frontdoor/deliver/index/docId/245/file/studienarbeit_oneside.pdf
https://medium.com/@zakharenko/how-to-simulate-network-failures-in-linux-b71ab585e86f

von Rolf (rolf22)


Lesenswert?

Andreas M. schrieb:
> wenn Du beide Leitungen des Adernpaars in die gleiche Richtung störst,
> kann der Empfänger das Problemlos rausrechnen
nn der Empfänger das Problemlos rausrechnen :-)

Der rechnet nichts raus, weil das gar nicht an seiner Ethernet-Buchse 
ankommt. Der Empfänger ist ja gar nicht mit dem GND der Störschaltung 
verbunden, also sieht er eine solche (Gleichtakt!) Störung gar nicht. Er 
"erfühlt" ja nur die Spannung zwischen beiden Adern des Paares.

> Du musst auf die eine Ader einen positiven und auf die andere einen
> negativen Puls geben und zwar so das diese die Polarität des Signals
> umdrehen

Warum so aufwendig? Es genügt ja völlig, zwischen beide Adern eines der 
beiden Paare eine Verbindung zu schaffen, die dazu führt, dass die 
Spannung zwischen diesen Adern (fast) zusammenbricht. Dann kommt das 
Signal des Senders nicht unverfälscht zum Empfänger durch. Das zweite 
Paar kann dann ruhig ungestört bleiben.

Bei deiner Methode kann man, wenn man das Timing und die Pegel ganz 
exakt beherrscht, einzelne Bits umkippen, also die Übertragung nicht 
einfach nur stören, sondern die übertragenen Daten verfälschen.
Das wäre eine Aufgabe, die vermutlich sehr weit über dem liegt, was der 
OP von seiner Ausbildung her könnte. Es wäre auch unrealistisch, weil es 
um EMV-Störungen im Industrie-Umfeld geht und nicht um Schutz vor 
Hackern.

von Rolf (rolf22)


Lesenswert?

Johannes Z. schrieb:
> einfach die beiden Signale kurzschliessen?

Ja. Aber es ist aus Ethernet-Sicht nur EIN Signal, nämlich die Spannung 
zwischen beiden Adern eines Paares. Allein diese Spannung trägt die 
Information. Spannungen, die du woanders misst - z. B. Ader 1 gegen 
dein(!) Gnd - sind im Grunde Zufallssignale, die vom Umfeld abhängen.

: Bearbeitet durch User
von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Rolf schrieb:
> also sieht er eine solche (Gleichtakt!) Störung gar nicht. Er
> "erfühlt" ja nur die Spannung zwischen beiden Adern des Paares.

Das stimmt nur bei einem idealen Übertrager!

In der Realität hast du aber eine CM-DM conversion (um umgekehrt). D.h. 
je nachdem wie gut die Komponenten und das Design sind, hast du früher 
oder später Störungen.

Deshalb oben mein Brachialvorschlag...

Wenns jetzt nur um Paket Verluste/Korruption/Latenz/... geht: 
https://www.reddit.com/r/networking/comments/ttfvg0/simulating_network_latency_bandwidth_and_packet/

73

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Die Idee ist, dass man aufzeigen kann, dass das Gerät
> die Fehler richtig erkennt.
Gibts keine Tools, die Ethernet-Frames mit falschem CRC senden können?

: Bearbeitet durch User
von G. K. (zumsel)


Lesenswert?

Ben B. schrieb:
>> Die Idee ist, dass man aufzeigen kann, dass das Gerät
>> die Fehler richtig erkennt.
> Gibts keine Tools, die Ethernet-Frames mit falschem CRC senden können?

Habe ich doch bereits verlinkt, aber nur CRC-Fehler sind die einfachen 
Probleme, doppelte oder verzögerte Pakete oder Pakete in anderen 
Reihenfolgen sind wesentlich spannender.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Johannes Z. schrieb:
> Heisst das ich könnte theoretisch auch die Minusleitung mit einer
> Spannung meiner Schaltung verbinden, und so einfach die beiden Signale
> kurzschliessen? Also so etwas wie ich im angehängten Schema Dargestellt
> habe?

Theoretisch ja. Praktisch wird das so Probleme geben, weil dadurch die 
Symmetrie der Leitung doch arg gestoert werden wuerde.
Daher wuerde ich dann eher mittels jeweils 10kOhm oder so, alle 
Leitungen auf ein mir genehmes Potential ueberreden.
Das kritische ist halt bei deiner Schaltung, dass du da schon etwas 
Obacht geben musst, dass dadurch sich nicht der Wellenwiderstand der 
Leitungspaare gross aendern sollte. Zumindest nicht, wenn deine 
Schaltung gerade nicht "stoert".

Haste schonmal ein Schaltplan von einem PHY+"Trafo"+Ethernetbuchse 
angeguckt?
Hier z.B:
https://www.microchip.com/en-us/product/LAN8700#Design%20Resources
gibts einen als PDF, wo man auch "in die Buchse" reingucken kann.
Da siehst du, dass die Leitungen von der Buchse ueber 75Ohm und 1000pF 
auf Richtung "Masse/Abschirmung" gehen, d.h. du kannst da mit dem 
Potential auf den Leitungen so lange Schabernack treiben, bis es dem 
1000pF 2kV Kondensator zu bloede wird ;-)

Gruss
WK

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jörg K. schrieb:
> Sollte doch abgeschlossen sein
Mit dem eingefügten Kurzschluss dann nicht mehr...

Ben B. schrieb:
> Gibts keine Tools, die Ethernet-Frames mit falschem CRC senden können?
Doch, natürlich. Die teureren können ein Ethernetpaket empfangen, 
beliebig ändern und dann weiterleiten.

von Cartman E. (cartmaneric)


Lesenswert?

Ethernetpakete auf PHY-Ebene zu stören ist wenig hilfreich, da kaum
stabil reproduzierbar.

Ein einfacher Ansatz benutzt zwei Netzwerkinterfaces, die über eine
Bridge logisch gekoppelt sind. An dieser Bridge kann man dann sehr
reproduzierbar einstellen, das z.B. jedes N-te Paket verworfen wird.
Dann sieht man z.B., dass bei N=7 keine SSH-Verbindung mehr zustande
kommt, oder eine bestehende abbricht.

Als Luxusausführung gibt es das als "Line simulator" bereits fertig.
Der kann dann auch noch Latenz einfügen, die Paketrate auf einen
definierbaren Wert begrenzen oder eine verfügbare Bandbreite vorgeben.

Das geht mit einfachen elektrischem Gemurxe alles nicht.

Dein Ansatz ist eine "Road to Nowhere".

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ben B. schrieb:
> Gibts keine Tools, die Ethernet-Frames mit falschem CRC senden können?
Die erhaelt man fast automatisch, wenn man anfaengt mit einem FPGA und 
EthernetPHY Packerl senden zu wollen ;-)

Gruss
WK

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Na gugg. Alles was "defekte" Frames schicken kann, sollte auch 
doppelte/verzögerte oder in falscher Reihenfolge senden können, 
praktisch jeden Datenmüll, den man dem Empfänger zum Fraß vorsetzen 
möchte.

von Andreas M. (amesser)


Lesenswert?

Rainer W. schrieb:
> Da braucht der Empfänger überhaupt nichts zu rechnen.
> Gleichtaktstörungen heben sich bei differentieller Übertragung auf,
> insbesondere bei galvanischer Trennung. Darum verwendet man
> differentielle Übertragung.

Klar rechnet der Empfänger, nur weil die Rechnung analog (aka Trafo) 
gemacht wird heißt das nicht das da nicht gerechnet wird...

von Martin S. (strubi)


Lesenswert?

Moin,

m.E. macht es kaum Sinn, das physische Signal direkt zu stoeren, ausser, 
du willst einen spezifischen Phy (also den Analogteil des 
Ethernet-Phy-Chips) testen. Fuer alles andere auf der Logik-Layer-Ebene 
wuerde ich das Linux-Tool 'wansim', fuer tiefergehende Sachen 'wanem' 
empfehlen. Damit bist du ziemlich nah an der Realitaet der 
typischerweise im WAN auftretenden Probleme und kannst gekippte Bits 
ebenso gut simulieren.

Wenn es doch unbedingt die physische Seite (bei der auch der Trafo in 
der Buchse und das Layout eine Rolle spielt) sein soll, wuerde ich mir 
nochmal genau die Fehlerszenarien zurechtlegen, im Sinne von:

- Zu lange Leitung (Pulsverbreiterung)?
- Gebrochene/Fehlende Ader?
- EMV-Gespratze aus der Fabrikumgebung?

Fuer sowas gibt es fertige Testgeraete mit Fehlerinjektion. Duerfte 
immer noch billiger sein, sowas einzukaufen als zu entwickeln.

von G. K. (zumsel)


Lesenswert?

Cartman E. schrieb:

> Als Luxusausführung gibt es das als "Line simulator" bereits fertig.
> Der kann dann auch noch Latenz einfügen, die Paketrate auf einen
> definierbaren Wert begrenzen oder eine verfügbare Bandbreite vorgeben.

Eine Linuxkiste ist teuer?

von Andreas M. (amesser)


Lesenswert?

Ben B. schrieb:
> Normalerweise erkennt jeder Empfänger defekte Frames im Ethernet und
> schmeißt sie einfach weg. Der Sender muss sie dann nach einem Timeout
> oder auf irgend eine Anforderung (erkannter Paketverlust) noch einmal
> senden, so lange bis die Übertragung fehlerfrei klappt.

Nein. Auf Layer 2 wird da gar nix wiederholt. Wenn der Empfang schief 
geht - Prüfsummerfehler, Short Frame, was auch immer wird der Frame im 
MAC verworfen und typischerweise ein Zähler incrementiert, das wars. 
Sendewiederholung ist Layer 3 oder höher (bei UDP z.b. Aufgabe der 
Applikation)

G. K. schrieb:
> Habe ich doch bereits verlinkt, aber nur CRC-Fehler sind die einfachen
> Probleme, doppelte oder verzögerte Pakete oder Pakete in anderen
> Reihenfolgen sind wesentlich spannender.

Was ebenfalls kein Layer 2 Problem ist. Der OP will nur die Übertragung 
an sich stören. Genau das ist das was in einer großen Maschinenhalle am 
ehesten passiert, weil beim Aufbau die Ethernetkabel typischerweise vor 
Ort beim Installieren konfektioniert werden und jenachdem wie sauber der 
Installateur arbeitet....

Rolf schrieb:
> Warum so aufwendig? Es genügt ja völlig, zwischen beide Adern eines der
> beiden Paare eine Verbindung zu schaffen, die dazu führt, dass die
> Spannung zwischen diesen Adern (fast) zusammenbricht. Dann kommt das
> Signal des Senders nicht unverfälscht zum Empfänger durch. Das zweite
> Paar kann dann ruhig ungestört bleiben.

Ja, das sollte auch funktionieren. Man muss nur aufpassen das die 
Verbindung nicht zuviel Kapazität (auch im "off") Modus hat. Sonst gibts 
keinen Unterschied zwischen "off" und "on". Wenn man nur einzelne 
Packete zerstören will, sollten die Schließzeiten ehem im niedrigen us 
Bereich liegen. Wenn man das zu lange macht wird der Phy aber Link-Down 
erkennen, weil gar nix mehr durch geht.

Wir haben für solche tests eine spezielle Hardware bei der zwei Phys 
quasi Rücken an Rücken sind und dazwischen noch etwas Hardware die den 
MII Datenstrom inklusive der Phy Enables, etc verändert. Damit lassen 
sich dann alle möglichen Fehler simulieren.

Für einfache CRC tests sollte aber eine elektrische Störung der 
Übertragung reichen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Nein. Auf Layer 2 wird da gar nix wiederholt. [..]
Das habe ich auch nicht gesagt und ich weiß, daß sich die höheren 
Schichten selbst um die Wiederholung kümmern müssen. Um diese ging es 
hier auch nicht bzw. es war nicht nach einer Lösung für Frame-Verluste 
gefragt.

von Cartman E. (cartmaneric)


Lesenswert?

G. K. schrieb:
> Cartman E. schrieb:
>
>> Als Luxusausführung gibt es das als "Line simulator" bereits fertig.
>> Der kann dann auch noch Latenz einfügen, die Paketrate auf einen
>> definierbaren Wert begrenzen oder eine verfügbare Bandbreite vorgeben.
>
> Eine Linuxkiste ist teuer?

Das hängt entscheidend neben der Hardware, vom Aufwand ab, dass auch
funktionierend umzusetzen. Eine Standardinstallation von xyz-Linux
auf x-beliebiger Hardware wird da regelmässig nicht reichen.

Und das Wissen darum gibt es nicht umsonst. Und das wird dann teuer.

von Johannes Z. (johannes_z855)


Lesenswert?

Andreas M. schrieb:
> Wir haben für solche tests eine spezielle Hardware bei der zwei Phys
> quasi Rücken an Rücken sind und dazwischen noch etwas Hardware die den
> MII Datenstrom inklusive der Phy Enables, etc verändert. Damit lassen
> sich dann alle möglichen Fehler simulieren.

Das ist aber auch ein cooler Weg, ich könnte ja zwei PHYs direkt 
aneinanderhängen, und zum Beispiel ein AND-Gate in die eine oder andere 
Datenleitung einbauen, das man mit dem Mikrocontroller steuern kann. 
Somit kann man das Digitalsignal stören, und muss nicht an das komplexe 
Analog Signal des Ethernet ran.



Andreas M. schrieb:
> Ja, das sollte auch funktionieren. Man muss nur aufpassen das die
> Verbindung nicht zuviel Kapazität (auch im "off") Modus hat. Sonst gibts
> keinen Unterschied zwischen "off" und "on". Wenn man nur einzelne
> Packete zerstören will, sollten die Schließzeiten ehem im niedrigen us
> Bereich liegen. Wenn man das zu lange macht wird der Phy aber Link-Down
> erkennen, weil gar nix mehr durch geht.


Okay, dann mache ich mal einen Testaufbau so. Analog Switches haben wir 
hier auf Lager. Vielleicht funktioniert es ja.

Vielen Dank schonmal für alle Antworten, ihr seid echt klasse!

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Lustigerweise funktioniert Ethernet sogar noch wenn man anstelle der 
1-zu-1 Verbindung eine weitere Netzwerkkarte parallel schaltet. Ein 
Kumpel hat das aus Versehen/Unwissenheit/Unbesorgtheit gemacht und das 
hat jahrelang funktioniert. Wahrscheinlich gibts dann kein Gigabit mehr 
und eine hohe Fehlerrate wenn beide Computer das Netzwerk stärker 
beanspruchen, aber um DSL-Internet an beide Kisten zu bekommen hat es 
ausgereicht und ist nicht als Problem aufgefallen.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Ben B. schrieb:
> Lustigerweise funktioniert Ethernet sogar noch wenn man anstelle der
> 1-zu-1 Verbindung eine weitere Netzwerkkarte parallel schaltet. Ein
> Kumpel hat das aus Versehen/Unwissenheit/Unbesorgtheit gemacht und das
> hat jahrelang funktioniert. Wahrscheinlich gibts dann kein Gigabit mehr
> und eine hohe Fehlerrate wenn beide Computer das Netzwerk stärker
> beanspruchen, aber um DSL-Internet an beide Kisten zu bekommen hat es
> ausgereicht und ist nicht als Problem aufgefallen.

Naja, ethernet ist ja auch in der lage Kollisionen zu erkennen und 
entsprechend zu reagieren.

Anders wären die passiven Hubs gar nicht möglich gewesen...
siehe z.B https://www.edn.com/building-a-passive-ethernet-hub/

Das war so eine Schaltung aus der Anfangszeit der Twisted-Pair 
Verkabelung.
Bei mir in der Schulzeit haben wir sogar noch gelernt, dass ein Hub 
immer passiv und nur ein Switch aktiv die Pakete empfängt... und das ist 
noch nicht mal sooo lange her.

10/100MBit ist schon ziemlich robust.

Bei moderne Gbit Chips bin ich regelmäßig überrascht über welche 
Mist-Leistungen da immer noch richtig Geschwindigkeit möglich ist. 
Moderne Signalverarbeitung gleicht immer mehr schwarzer magie :D

73

von G. K. (zumsel)


Lesenswert?

Cartman E. schrieb:

> Das hängt entscheidend neben der Hardware, vom Aufwand ab, dass auch
> funktionierend umzusetzen. Eine Standardinstallation von xyz-Linux
> auf x-beliebiger Hardware wird da regelmässig nicht reichen.
>
> Und das Wissen darum gibt es nicht umsonst. Und das wird dann teuer.

Deswegen habe ich das Wissen weiter oben verlinkt, alles eine Frage der 
Lesekompetenz.

von G. K. (zumsel)


Lesenswert?

Andreas M. schrieb:

> Nein. Auf Layer 2 wird da gar nix wiederholt. Wenn der Empfang schief
> geht - Prüfsummerfehler, Short Frame, was auch immer wird der Frame im
> MAC verworfen und typischerweise ein Zähler incrementiert, das wars.
> Sendewiederholung ist Layer 3 oder höher (bei UDP z.b. Aufgabe der
> Applikation)

WLAN, was auch nur Yet another Ethernet ist, macht das auch auf L2.

von Cyblord -. (cyblord)


Lesenswert?

G. K. schrieb:
> WLAN, was auch nur Yet another Ethernet ist, macht das auch auf L2.

Dieser Satz ist auf so vielen Ebenen falsch.

von G. K. (zumsel)


Lesenswert?

Cyblord -. schrieb:
> G. K. schrieb:
>> WLAN, was auch nur Yet another Ethernet ist, macht das auch auf L2.
>
> Dieser Satz ist auf so vielen Ebenen falsch.

Alles was Ethernetframes transportiert ist  Ethernet, das konkrete 
Medium ist mittlerweile komplett latte.

Ok, wenn man noch immer in Stalingrad gegen den Bolschewismus kämpft 
sieht man das anders ......

Oder trauerst du immer noch dem totem Rind mit X.400 hinterher?

: Bearbeitet durch User
von Cartman E. (cartmaneric)


Lesenswert?

G. K. schrieb:
> Cartman E. schrieb:
>
>> Das hängt entscheidend neben der Hardware, vom Aufwand ab, dass auch
>> funktionierend umzusetzen. Eine Standardinstallation von xyz-Linux
>> auf x-beliebiger Hardware wird da regelmässig nicht reichen.
>>
>> Und das Wissen darum gibt es nicht umsonst. Und das wird dann teuer.
>
> Deswegen habe ich das Wissen weiter oben verlinkt, alles eine Frage der
> Lesekompetenz.

Praktische Erfahrung kann man nicht verlinken.
Lesekompetenz ist eine notwendige, aber eben nicht hinreichende 
Bedingung.

von Cyblord -. (cyblord)


Lesenswert?

Hans W. schrieb:
> Moderne Signalverarbeitung gleicht immer mehr schwarzer magie :D

Selbst ein 56k Modem war nach Nyquist und Shannon eigentlich ein Wunder. 
Und DSL erst recht.

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.