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
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.
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.
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.
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
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...
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
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
>> 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.
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.
... ... 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.
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.
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.
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 ;-)