mikrocontroller.net

Forum: HF, Funk und Felder LAN-Kabel mit Absicht stören und Fehler aufzeigen.


Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen, ich arbeite gerade an einem Teil meiner Technikerarbeit 
und ich habe die Aufgabe die Schirmung von LAN-Kabel zu "testen" - 
sprich es soll ein Lan aufgebaut werden, Daten sollen übertragen werden 
(ohne Störung) und dann die Daten noch mal übertragen mit Störung. Dabei 
sollen dann am Pc die Fehler, zerstörte Pakete aufgezeigt werden. Ich 
weiß nicht ob ich hier im der richtigen Bereich bin, also bitte 
verschieben wenns einen gibt der besser passt.

Meine Frage nun im groben, wie könnte man dies realisieren?

Versuche die ich schon gestartet habe->
Gemessen habe ich Geschwindigkeit mit einem auf DOS basierenden Programm 
dass mir nach einer folge von Paketsendungen genau die Mbit/s anzeigt. 
Ein besserer Ping sozusagen. Desweiteren habe ich mit dem Programm 
Wireshark die Fehler anzeigen lassen. Messaufbau waren 2 Rechner, 2 
Patchkabel von denen eins gestört wurde und ein Switch.
Meine Vermutungen dass der Switch die Fehler die ich erzeugen wollte 
schon elimiert hab ich damit abgetan da es ein billger 10euro switch ist 
der sicher nur bis Osi-Schicht 2 arbeitet und somit keine Fehler 
erkennt.

Versuche:
-----------------------------------------------------------------------
- Lan-Kabel um einen Drehstrommotor (leider nur 150W) gewickelt, keine 
besonderen Fehler.
- Schirmung entfernt, Verdrillung entfernt, keine besonderen Fehler
- 20ohm Widerstände eingelötet, Kabel ist nun theoretisch 200m lang, 
keine besonderen Fehler.
- Verzweiflungsaktion, Kabel um einen 2000W Staubsauger gewickelt, es 
zeigten sich vermehrt Fehler.

Ein anderer Gedanke war die Geschwindkeit des Kabels auf 10Mbit/s zu 
drosseln und es mit genau 10mhz zu stören. Um die Störung optimal zu 
induzieren habe ich das Kabel mehrfach durch eine 900 Wicklungen Spule 
gezogen und auf die Spule 10Mhz übertragen. An einer 2. Spule die ich 
ebenfalls ins Kabel eingebracht habe, hab ich ein Oszi angeschlossen umd 
die Induktion zu sehen.

- Störung mit 10mhz, KEINE Fehlerhäufung und Geschwindikeitseinbusen.
- Interessant war jedoch, wenn ich die Laborleitungen, mit denen ich die 
Spule betrieb, auf das Lan-Kabel legte, wurde die Verbindung der 2 
Rechner unterbrochen. Hab ich die Spule abgeklemmt, war die Verbindung 
wieder hergestellt.

Ich konnte also die Verbindung so stören dass sie abbrach, aber ich 
konnte bei einer "normalen" Störung, keine Fehler erkennen oder hatte 
Geschwindikeitseinbusen. Hat vielleicht noch irgendjemand eine Idee was 
ich versuchen könnte, oder vielleicht ein Programm das speziell 
fehlerhafte Pakete erkennt und aufzeigt. Wäre um jeden Rat dankbar...

Grüße

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
> - 20ohm Widerstände eingelötet, Kabel ist nun theoretisch 200m lang,
> keine besonderen Fehler.

Mit Serienwiderständen kannst du ein langes Kabel nur schlecht 
nachbilden, denn Leitungen haben eine deutliche frequenzabhängige 
Dämpfung, die wesentlich für die Dämpfung und damit Längenbegrenzung 
verantwortlich ist.
Also: verlängere die Kabel deutlich und du solltest dann mit den 
einfacheren Maßnahmen schon eher Fehler produzieren können. Vermutlich 
sind auch höherfrequente, impulsartige Störungen wirkungsvoller.
Ich habe beim mir ein flaches, langes (30m?) ungeschirmtes Kabel mit 
RJ-45-Steckern rumliegen und kürzlich mal versucht, da einen Rechner mit 
dem Switch zu verbinden - nur wenn der größte Teil aufgewickelt war, kam 
eine Verbindung zustande. Das Kabel war vermutlich mal im Telefonbereich 
eingesetzt.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest dir zuerst mal überlegen, was für Störungen eigentlich 
erzeugt werden sollen. LAN verwendet normalerweise verdrillte Leitungen 
und die Daten werden differenziell übertragen. In der Netzwerkkarte ist 
ein Übertrager eingebaut, der Common-Mode Störungen, also solche 
Signale, die auf beiden Leitungen gleich stark vorhanden sind, abblockt.

Wenn von außen ein Störsignal auf das geschirmte Kabel einwirkt, dann 
wirkt diese Störung in der Regel gleich stark auf alle Adern und es 
entstehen hauptsächlich Common-Mode-Störungen. Damit jetzt die 
Übertragung gestört wird, muss diese in eine differentielle Störung 
umgewandelt werden.

Dazu könntest du z.B. eine Ader der verdrillten Leitung auf der 
Empängerseite mit einem kleinen Kondensator (Größenordnung 10 .. 100 pF) 
nach Masse belasten und die andere nicht. Damit müssten dann schon 
irgend welche Fehler entstehen. Ich hab das selber aber noch nicht 
ausprobiert, ob es wirklich funktioniert.

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eth Pakete haben eine Prüfsumme.

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Du müsstest, wenn es Dir gelingt Fehler zu provozieren, auch darauf 
achten diese Pakete auch tatsächlich zu empfangen. Netzwerkkarten können 
die Prüfsumme nämlich automatisch überprüfen und verwerfen dann ggf. die 
Pakete, ohne dass das OS überhaupt was mitbekommt.

Viele Grüße,
 Martin L.

Autor: Chris Tian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal nach IEC 61000-4-4, da ist beschrieben, wie man Störungen 
verursachen kann. Es gibt dann verschiedene Möglichkeiten diese 
Störungen ins Kabel einzukoppeln.

Beim Datentest musst du bedenken, dass das was du empfängst zwar 
zufällig aussehen sollte, der Empfänger sollte es aber kennen, damit 
verlorengegangene Ethernetpackete erkannt werden können.

So kannst du veränderte Datenpackete erkennen (werden wg. dem Ethernet 
CRC nicht vorkommen, es sei denn du benutzt eine eigene HW, welche die 
Packete nicht verwirft) sowie verlorengegangene Packete erkennen.

Grüße
   Chris Tian

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HildeK schrieb:
> Mit Serienwiderständen kannst du ein langes Kabel nur schlecht
> nachbilden, denn Leitungen haben eine deutliche frequenzabhängige
> Dämpfung, die wesentlich für die Dämpfung und damit Längenbegrenzung
> verantwortlich ist.

das stimmt, das ist mir noch gar nicht in den Sinn gekommen. Längeres 
Kabel hab ich nicht zur Verfügung, werde aber die Widerstände mal 
drinlassen um zumindest eine kleine Dämpfung zu erreichen.

Johannes schrieb:
> Wenn von außen ein Störsignal auf das geschirmte Kabel einwirkt, dann
> wirkt diese Störung in der Regel gleich stark auf alle Adern und es

dem hab ich ebenfalls schon versucht entgegenzuwirken indem ich die RX 
oder TX Leitungen aus meine Störspule genommen habe. Das Ergebnis war 
das gleiche.

Martin Laabs schrieb:
> ohne dass das OS überhaupt was mitbekommt.

genau mit diesem Gedanke beschäftige ich mich jetzt, da ich ebenfalls 
die vermutung habe dass die fehlerhaften Pakte schon in den unteren OSI 
schichten verworfen werden und neu angefordert werden. Wenn mir dies 
jemand bestätigen könnte wüsste ich schon mal dass es mit einem normalen 
Rechner überhaupt nicht realisierbar wäre...

Autor: Frank Esselbach (Firma: Q3) (qualidat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst auch zwei Netzwerkkarten in einen Rechner bauen und diesen 
verschiedene IP-Adressen (aus dem gleichen Segment) geben. Das 
vereinfacht bestimmt den Testaufbau.

Frank

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt  auch ein sogeanntes "Killing Pattern", da wird anhand der Bits 
dafür gesorgt das der Pegel möglichst lange high bzw low bleibt...hab 
ich nur Mal gehört bzw einen Test damit gesehen

Du könntest aber auch einfach ein langes Kabel plus ein Programm 
schreiben das zB alle 10ms ein Paket sendet, wenn der Empfänger dann 
nicht alle 10ms was empfängt, hast du deine Fehler

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Wenn von außen ein Störsignal auf das geschirmte Kabel einwirkt, dann
>> wirkt diese Störung in der Regel gleich stark auf alle Adern und es

> dem hab ich ebenfalls schon versucht entgegenzuwirken indem ich die RX
> oder TX Leitungen aus meine Störspule genommen habe. Das Ergebnis war
> das gleiche.

Du musst die Störung differenziell einkoppeln, also bei einem 
verdrillten Adernpaar nur in eine der beiden Adern. Wenn du das ganze 
Adernpaar rausnimmst, hat das keinen Effekt.
Oder wie beschrieben eine Asymmetrie erzeugen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
> genau mit diesem Gedanke beschäftige ich mich jetzt, da ich ebenfalls
> die vermutung habe dass die fehlerhaften Pakte schon in den unteren OSI
> schichten verworfen werden und neu angefordert werden.

das müsste sich aber an der veränderten Datenrate bemerkbar machen. Bist 
du sicher das du überhaupt ein Dos-Tool verwendest oder nur ein 
Kommandozeilen Programm unter windows?

Wird UDP oder TCP verwendet, bei UDP wird kein Packet erneut übertragen, 
bei tcp ja. Wenn die Prüfsumme auf Ethernet ebene nicht stimm, dann kann 
es sein das die netzwerkkarte das packet verwirft aber auch dann wird 
nicht erneut übertragen dafür sie die höhrere ISO Schichten 
verantwortlich.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... ... schrieb:
> Du könntest aber auch einfach ein langes Kabel plus ein Programm
> schreiben das zB alle 10ms ein Paket sendet, wenn der Empfänger dann
> nicht alle 10ms was empfängt, hast du deine Fehler

So etwas habe ich mir auch schon gedacht, da ich aber nur Visual Basic 
programmieren kann und bis jetzt auch nur die Basis beherrsche muss ich 
wohl auf Freeware testprogramme zurückgreifen. Außer du könntest mir ein 
kleines programm schreiben ;-)

Johannes schrieb:
> Du musst die Störung differenziell einkoppeln, also bei einem
> verdrillten Adernpaar nur in eine der beiden Adern. Wenn du das ganze
> Adernpaar rausnimmst, hat das keinen Effekt.

oh, sry ich hab mich falsch ausgedrückt, ich hab von jedem Adernpaar ein 
Kabel rausgenommen. Müsste ja den effekt noch verstärken als nur von 
einem Adernpaar eins rauszunehmen.

Autor: Jens Martin (jens-martin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
> Meine Frage nun im groben, wie könnte man dies realisieren?
>
> Versuche die ich schon gestartet habe->
> Gemessen habe ich Geschwindigkeit mit einem auf DOS basierenden Programm
> dass mir nach einer folge von Paketsendungen genau die Mbit/s anzeigt.

Deine Ergebnisse werden sich kaum im Lan Tempo auswirken. Diese ist von 
sehr vielen Parametern (Auslastung, PC Software und Hardware usw.) 
abhängig und wenn deine Pakete nicht das Kabel voll auslasten ist es 
sehr unwahrscheinlich das sie immer haargenau im Moment einer Störung 
durchs Kabel huschen.

Lasttest kann man in der Regel nur mit mehreren Sendern / Empfängerm und 
Switchen sowie einem gemeinsamen Flaschenhals (wo dann alle Daten 
durchmüssen) durchführen.

Dein Messparameter nennt sich glaub ich CRC Error Rate(ist schon ein 
wenig her). An dem kannst du sehen ob dein Empfänger die Daten bekommen 
hat die der Sender abgeschickt hat.

Die kann man feststellen. Sog. Lanalyzer tools (RMON) machen das. 
Bessere  Netzwerkkarten haben so etwas auch manchmal dabei.

Autor: Jens Martin (jens-martin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
>> Du könntest aber auch einfach ein langes Kabel plus ein Programm
>> schreiben das zB alle 10ms ein Paket sendet, wenn der Empfänger dann
>> nicht alle 10ms was empfängt, hast du deine Fehler

Der ganze TCP/IP Kram wurde entwickelt um mit Störungen effizient 
umzugehen.

Bei so einem Test musst du das Kabel derart mit Störungen vollballern 
das die Netzwerkkarte keine Chance mehr hat gültige Pakete zu Empfangen. 
Da kannst  du auch gleich den Lan-Stecker ziehen, dann geht wenigstens 
nichts kaputt.

Um den Effekt von Schirmung und Verdrillung darzustellen Schlage ich 2 
Kabel vor. Standard CAT5 und einmal eben keins. Eine Strecke aus 
parallelen Leitungen. Ein paar Meter Flachbandkabel z.B.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe nun einiges erreicht.

1. mal hab ich diesen schlüssel in der Regestry eingefügt:

HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Network\ 
Connections\ StatMon

Erstellen Sie hier einen neuen Wert mit dem Namen "ShowLanErrors" als 
Datentyp REG_DWORD. Setzen Sie den Wert auf:

1  Fehlerstatistik aktivieren

0  Fehlerstatistik deaktiv (Standard)

wenn ich nun Rechtsklick auf mein aktives Netzwerk mache und dann Status 
werden mir unten nicht nur die gesendeten und emfangenen Pakete gezählt 
sonder auch die Fehlerhafen. Dies beweißt mir schon mal dass Fehlerhafte 
Pakte schon mal gezählt werden, auch wenn Windows im Endeffekt nichts 
mehr damit zu tun hat.

2. hab ich das aufgelöstete Netzwerkkabel noch 3 mal durch die Spule 
gezogen und wie Johannes schon gemeint hat, hab ich von jedem Adernpaar 
ein Kabel an der Spule vorbeigelegt.

und siehe da es funtkioniert... Wenn ich an meinem Frequenzgenerator 
15Vss einstelle geht gar nichts mehr, umso weiter ich die Vss 
runterdrehe umso mehr kommt durch und die Fehler werden weniger. Die 
Geschindigkeit der Netzwerkkarte hab ich wieder auf 100Mbit/s Full 
angehoben und der Frequenzgenerator läuft mit 10Mhz.

Jens Martin schrieb:
> Deine Ergebnisse werden sich kaum im Lan Tempo auswirken. Diese ist von
> sehr vielen Parametern (Auslastung, PC Software und Hardware usw.)

Die Störung wirkt sich ganz gewaltig aus, die Datei die ich immer übers 
kabel schicke ist ohne Störung in unter 20sec versendet, mit dem 
höchstmaß, kurz bevor die Leitung zusammen bricht dauert es mehrere 
Minuten. Man kann die Ergebnisse nur schlecht vergleichen da es 
vielleicht einmal 20sec (ohne Störung) und anderes mal 25sec dauert.

Jens Martin schrieb:
> Bei so einem Test musst du das Kabel derart mit Störungen vollballern
> das die Netzwerkkarte keine Chance mehr hat gültige Pakete zu Empfangen.
> Da kannst  du auch gleich den Lan-Stecker ziehen, dann geht wenigstens
> nichts kaputt.

Jo, Kabel wird vollgeballert und den Empfänger erreichen nun fehlerhafte 
Pakete und nicht wie wenn ich den Stecker ziehe gar keine mehr, das ist 
der unterschied.

Jens Martin schrieb:
> Um den Effekt von Schirmung und Verdrillung darzustellen Schlage ich 2
> Kabel vor. Standard CAT5 und einmal eben keins. Eine Strecke aus
> parallelen Leitungen. Ein paar Meter Flachbandkabel z.B.

Die Idee ist nicht schlecht, und werd ich mal versuchen, allerdings hab 
ich es noch nicht geschafft das Kabel "sinnvoll" (ohne dass gleich alles 
zusammenbricht) zu stören wenn die Adernverdrillt sind und die Störung 
auf das gesamte Kabel wirkt.

Ich werde es nun noch einmal mit dem kleine Drehstrommotor versuchen da 
dies in meinen Augen realitätsnaher ist als ein Lan-Kabel durche eine 
spule zu zwengen und mit 10Mhz zu befeuern.

Ich danke schon einmal für die vielen Anregungen, hat mir schon sehr 
geholfen. Bin aber weiterhin noch für Vorschläge offen ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.