Forum: PC-Programmierung Ethernet Kommunikation Prüfen


von Bastler (Gast)


Lesenswert?

Hallo allerseits,

ich bin gerade dabei ein Ethernet Switch mit 4 100MBit und 3 GBit Ports 
zu entwickeln.
Habe den ersten Prototypen hier bereits auch liegen und der scheint 
schon mal Prinzipiell zu funktionieren (habe diesen einfach zwischen den 
Rechner und dem Firmennetzwerk geschaltet).

Nun möchte ich genau wissen ob in der Kommunikation wirklich keine 
Fehler auftreten. Habe mir dazu zwei Netzwerkkarten besorgt mit je 4 
GBit Anschlüssen (100Mbit kompatibel) und habe alle sieben Switch 
Ausgänge daran angeschlossen.
Jetzt brauche ich eine Software, mit der ich von jedem Netzwerkausgang 
meines PCs zu jedem anderen Netzwerkeingang ein Datensatz über den 
Ethernet Switch schicke und anschließend prüfe, ob das Paket fehlerfrei 
angekommen ist. Wobei ich Fehlerfrei nicht nach der Fehlerkorrektur des 
Protokolls meine, sondern wirklich Bit für Bit abgleichen will.
Kann mir jemand eine Software oder ein Compiler empfehlen mit dem sich 
so etwas realisieren lässt.

von sebastians (Gast)


Lesenswert?

Wireshark?

von Philipp W. (jppweber)


Lesenswert?

Guten Tag,

ich kann dir leider nicht helfen, würde aber gerne was zu deinem Projekt 
wissen.

Machst du das nur so in deiner Freizeit oder beruflich?

Wenn es nur so ist, warum macht man sowas und wie groß ist eigentlich 
der Aufwand dahinter?

ARM basierend mit Linux/Unix Basis?

MfG
 Phil

von Bastler (Gast)


Lesenswert?

Ich mache es beruflich. Der Aufwand, naja wenn man so wie ich als 
studierter Nachrichtentechniker ohne tiefgehende Ethernet-Kenntnisse da 
was aus dem Stand entwickeln muss, braucht man schon ca. Zwei Monate 
biss man ein Funktionierenden ersten Schaltplan hat.
Mit einem ARM Prozessor alleine wird man spätestens bei GBit auch nicht 
weiter kommen, da braucht man schon Fertige Ethernet Switch Controller, 
die man nur noch für die eigenen Anwendungen mit einem herkömmlichen 
Controller Überwachen und Konfigurieren kann. Ich benutze welche von 
Marvell.
Benutzt wird es für die Unterhaltungselektronik im Flugzeug. Jeder Sitz 
hat einen PC zum rumspielen, vier davon (eine Satzreihe) sind an ein 
Switch über eine 100MBit Leitung angeschlossen. Der Switch wiederum ist 
über die 1Gbit Leitungen mit anderen Switches verbunden.

von Michael U. (amiga)


Lesenswert?

Hallo,

An Bord eines A380:
"Da spielt wieder einer TETRIS auf dem Rechner von Triebwerk 3, wer hat 
da das LAN Kabel vertauscht???"

SCNR

Gruß aus Berlin
Michael

von Volker Z. (vza)


Lesenswert?

Hallo,
mit einem PC auf IP-Ebene wird das schierig werden.
Damit der Socket die Packete nicht an das Default-Gatway schickt müssen 
die Source- und Destination- Adresse im gleichen Sub-Domäne liegen.
Liegen sie in der gleichen Sub-Domäne kann der Socket nicht entscheiden 
an welche NIC er sie binden soll.
Es muss also unterhalb der Sockets angesetzt werden. Ob es dafür Tools 
giebt? keine Ahnung!

Es giebt aber professionelle Netzwerktester. Die protokollieren wie 
viele Packette verworfen werden, bei maximaler Switching-Kapazität. Da 
euer Kunde sicherlich ein Nachweiss über die Leistungsfähigkeit haben 
will, würde ich doch zur spezialisierten Hardware greifen.

c't hatte mal bei einem NIC-Test geschrieben welches Equipmant sie 
verwenden. Finde den Artikel auf die schnelle nicht.


ciao Volker

von Volker Z. (vza)


Lesenswert?


von Bastler (Gast)


Lesenswert?

Danke für eure Tipps, hier nochmal der abschließende Stand der Dinge.

Habe einen ersten vernünftigen Teststand aufgebaut. Dafür habe ich den 
Switch über sieben Netzwerkverbindungen an einen PC angeschlossen (zwei 
Karten mit je vier Anschlüssen). Als Software habe ich ein AutoIt 
Program geschrieben, welches mit Hilfe der WinPcap Treiber über jede 
Netzwerkverbindung einen Broadcast sendet und gleichzeitig prüft, ob 
alle anderen Verbindungen dieses empfangen haben.
Was den Geschwindigkeitstest angeht, habe ich einfach ein großes 
Datenpacket über den Switch auf den Firmenserver Hochbeladen und die 
Zeit gestoppt. Sowohl  bei GBit als auch bei 100MBit wird eine 
Geschwindigkeit von ca. 90% der Maximalgeschwindigkeit erreicht, wenn 
man bedenkt, dass zu den Nutzdaten auch noch die Header-Daten des 
Protokolls hinzukommen ist es erst mal ein Zufriedenstellendes Ergebnis.
Um die exakte Geschwindigkeit nachweisen zu können muss man aber wie 
schon hier gesagt Spezielle Geräte dazu haben. Dafür werden wir 
wahrscheinlich erst mit einem Seriennahen Prototypen ins Labor fahren, 
da die Anschaffung so einer Testumgebung für gelegentliche Tests zu 
teuer ist.

Grüße

von Andreas F. (aferber)


Lesenswert?

Bastler schrieb:
> Habe einen ersten vernünftigen Teststand aufgebaut.
[...]

Damit hast du gerade mal ein paar Fälle getestet, die selbst der 
verkorksteste Switch für 3,95 vom Grabbeltisch noch einigermassen sauber 
hinbekommt, sonst nichts.

Interessant wird es erst, wenn du die Worst Cases für den Switch 
testest, also z.B. Traffic bis zum Anschlag auf allen Ports 
gleichzeitig in beide Richtungen (Full Duplex), das ganze womöglich 
noch mit Frames in Minimalgrösse (64 Octets) etc. Ausserdem Tests mit 
extrem vielen verschiedenen MAC-Adressen nicht vergessen(*)!

Das reine Senden mit den erforderlichen Bandbreiten (und Frameraten!) 
dürfte noch halbwegs mit einem einzelnen Rechner hinzubekommen sein. Ich 
würde pktgen (Kernelmodul) unter Linux empfehlen, da hat man direkten 
Einfluss auf den Aufbau des Ethernetframes (VLAN-Tags, QoS, etc.), und 
es schafft die Bandbreiten, da es im Kernel Funktionen im Netzwerkstack 
nutzen kann, die aus dem Userspace heraus nicht verfügbar sind.

Wenn aber auch noch empfangen und ausgewertet werden soll, dann wird es 
mit nur einem Rechner wirklich sehr eng.

Wenn du mit diesen Tests bis zum Ende wartest, dann kann das durchaus 
böse Überraschungen geben, und du darfst mit der Switchentwicklung 
ggf. nochmal ganz von vorne anfangen. Wenn du aber halbwegs vernünftige 
Tests von Anfang an machen willst, wird vermutlich die Eigenentwicklung 
des Testequipments mehr kosten als fertiges Gerät.

Andreas

(*) Kann mich da an eine Geschichte vor ein paar Jahren erinnern, wo ein 
Highend-Switch (so in der 5-6stelligen Preisklasse damals) in der Praxis 
irgendwo bei um die 4000 verschiedenen MAC-Adressen (Oder warens 8000? 
Weiss nicht mehr genau.) in einer Broadcast-Domain die Grätsche gemacht 
hat, angeblich, weil ein für die MAC-Tabellen verbauter CAM-IC etwas 
weniger Einträge verkraftete als der Hersteller angab, und das nie 
jemand wirklich getestet hatte...

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.