Ich möchte einen Ethernet Sensor in einen GBit Netzwerk anschließen.
Dabei gibt es mehrere GBit PCs und eben die 10/100MBit Sensoren.
Was machen die Switches, im Internet ist man sich da nicht so ganz
einig. Die einen sagen das der Switch jeden Port individuell behandelt,
was für mich heißen würde er wandelt 100MBit in die GBit Hardware, die
anderen sagen das reagiert wird wie ein Hub, also das schwächste Glied
zählt.
Tatsache ist aus meiner Sicht das ein ständiges umgeschalte von schnell
auf langsam blödsinn ist, wenn man davon ausgeht das zumindest ein PC
sowohl die Sensoren als einen GBit PC emfangen möchte. Das würde alles
stark ausbremsen.
Was stimmt den nun?
Dein Beschriebenes verhalten gab es früher bei Hubs. Seit dem Gbit
Zeitalter gibt es jedoch eigentlich nur noch Switches. Diese geben jedem
Port die Bandbreite welche die Gegenstelle benötigt (wird beim
einstecken per Autonagation ausgehandelt und dann eingestellt). Also
dein Rechner bekommt Gbit und deine Sensoren 10MBit oder mehr. Die Daten
werden Paketweiße weitergeschickt. Also dein Gbit Rechner schickt mit
1Gbit/sec das Paket an den Switch und der Switch schickt das Paket
langsam weiter. Genauso langsam empfängt er von dem anderen Port ein
Antwort paket und gibt es dann schnell wieder mit 1Gbit/sec an dein Gbit
Port raus.
Ein switch wird jeden Port einzeln behandeln, meist gibt es vorne dran
pro port ein paar leds, die die Geschwindigkeit anzeigen. Wenn es das
nicht hat, ist es Schrott.
if/else schrieb:> die> anderen sagen das reagiert wird wie ein Hub, also das schwächste Glied> zählt.
Das ist barer Unsinn, solche Switches gibt es nicht: die müssten ja eine
bestehende GBit-Verbindung trennen und mit 100 MBit neu aushandeln, wenn
ich ein Gerät ohne GBit damit verbinde - das wäre noch komplizierter als
jeden Port extra zu behandeln.
Was es gibt, sind Hubs und Switches, die nix aushandeln und z.B. auf 100
MBit festgelegt sind. Nicht alle können GBit, es gibt auch noch genug
alte, die nur 10/100 können (10 ist in der Praxis schon weitgehend
ausgestorben, obwohl es für Sensoren meistens mehr als ausreichend
wäre).
Gruss Reinhard
if/else schrieb:> Ethernet Sensor
Darf ich fragen, was das für ein Sensor ist?
Ich nehme an, du meinst einen Sensor mit Ethernet-Anschluss.?
Ich stehe in Kürze auch vor der Aufgabe, das zu machen, muss aber die
Schnittstelle für so einen Sensor implementieren. Dazu wäre ein Tipp
hilfreich, wie ich dafür sorge, dass ich während der Kommunikation
umschalten kann.
Kann ich einen MACPHY so programmieren, dass er einfach auf einem
anderen speed sendet? Es geht darum, verschiedenen Empfängern im Netz
unterschiedliche Daten zu senden. Diese sind aber unterschiedlich
schnell.
Nach der Darstellung hier würde es ja reichen, einfach sehr schnell oder
langsam zu senden, und der switch kümmert sich ums passende Übersetzen
der Geschwindigkeit.
Robert K. schrieb:> Kann ich einen MACPHY so programmieren, dass er einfach auf einem> anderen speed sendet? Es geht darum, verschiedenen Empfängern im Netz> unterschiedliche Daten zu senden. Diese sind aber unterschiedlich> schnell.
Du kannst sicher jedesmal die Geschwindigkeit neu aushandeln, halt ich
persönlich aber für völlig sinnlos.
> Nach der Darstellung hier würde es ja reichen, einfach sehr schnell oder> langsam zu senden, und der switch kümmert sich ums passende Übersetzen> der Geschwindigkeit.
Es reicht schon, so schnell wie möglich zu senden. Der Switch bremst es
dann auf die langsame Gegenstelle runter, falls nötig.
Robert K. schrieb:> Kann ich einen MACPHY so programmieren, dass er einfach auf einem> anderen speed sendet?
Wozu das denn?
> Es geht darum, verschiedenen Empfängern im Netz> unterschiedliche Daten zu senden. Diese sind aber unterschiedlich> schnell.
Es ist noch niemand aufgehängt worden, bloss weil er sein
Ethernet-Interface nicht auslastete. Geht (mindestens) mit der Rate ins
Netz, die für die benötigte Anwendung ausreicht. Dann kannst du dir
immer noch aussuchen, wie oft du Frames sendest.
Wenn die Verbindung mit TCP läuft, dann stellt sich die Rate ohnehin
passend ein. Nur bei UDP kann es vorkommen, dass der Switch in grösserem
Stil Frames verwirft, weil du auf 100Mb nonstop an eine Gegenstelle
sendest, die nur mit 10Mb arbeitet.
A. K. schrieb:> Nur bei UDP kann es vorkommen, dass der Switch in grösserem> Stil Frames verwirft,
Sowas hatte ich im Sinn. Es wäre dann aber auch bei UDP ausreichend,
dafür zu sorgen, dass man nicht mehr sendet, als die Gegenstelle
verkraften kann.(?)
Frage dennoch: Wieso würde der Switch die Pakete verwerfen? Wartet der
mit dem Senden jeweils auf Empfangsbestätigung? Bei UDP doch nicht,
oder?