Ethernet-Frage

Hallo zusammen,

ich habe eine Frage über Ethernet-Netzwerke.

Als Beispiels-Konstellation:
PC1 ist verbunden mit Gigabit-Switch über 1000Base-T.
Der Gigabit-Switch ist außerdem verbunden mit PC2 über 10Base-T.
Also:
[PC1]—1000Base-T—[Switch]—10Base-T—[PC2]

Wenn PC1 jetzt einen datenintensiven Stream an PC2 versendet, dann müsste der Switch doch mit Daten „zugepumpt“ werden, weil er die Daten schneller erhält als dass er sie weitersenden kann.

In der Realität beträgt die Übertragungsrate ja etwa 1,28MB/s, aber wie funktioniert diese „Geschwindigkeits-Erkennung“? Ethernet-Pakete selbst sind ja verbindungslos. Das bedeutet doch, dass der Stiwch der Netzwerkkarte an PC1 kein „Stop“-Signal senden kann?

Vielen Dank schonmal im Vorraus
Kai

Hallo zusammen,

Servus,

Als Beispiels-Konstellation:
PC1 ist verbunden mit Gigabit-Switch über 1000Base-T.
Der Gigabit-Switch ist außerdem verbunden mit PC2 über
10Base-T.
Also:
[PC1]—1000Base-T—[Switch]—10Base-T—[PC2]

Wenn PC1 jetzt einen datenintensiven Stream an PC2 versendet,
dann müsste der Switch doch mit Daten „zugepumpt“ werden, weil
er die Daten schneller erhält als dass er sie weitersenden
kann.

Das hängt davon ab was für ein Protokoll für die Übertragung der Daten benutzt wird.
Bei TCP ist funktioniert das, soweit ich das noch richtig in Errinerung hab so das zwischen den beiden PCs erstmal eine Packetgröße ausgehandelt wird dann schickt der Server das packet und wartet bis er vom client die Nachricht bekommt das nächste zu schicken.

Bei UDP ist das ganze einfacher das läuft nicht verbindungsorientiert sprich kann das Packet nicht übermittelt werden wirds verworfen.

Ich lass ich hier gerne korrigieren aber so hab ich das in erinnerung.

In der Realität beträgt die Übertragungsrate ja etwa 1,28MB/s,
aber wie funktioniert diese „Geschwindigkeits-Erkennung“?
Ethernet-Pakete selbst sind ja verbindungslos. Das bedeutet
doch, dass der Stiwch der Netzwerkkarte an PC1 kein
„Stop“-Signal senden kann?

Naja zunächsteinmal wird ja vor dem Verbindungsaufbau zwischen den beiden Hosts die maximal mögliche Verbindungsgeschwindigkeit ermittelt. Google mal nach autonegotiation.

Gruß Bytestorm

Hallo,

Wenn PC1 jetzt einen datenintensiven Stream an PC2 versendet,
dann müsste der Switch doch mit Daten „zugepumpt“ werden, weil
er die Daten schneller erhält als dass er sie weitersenden
kann.

korrekter Gedanke.

aber wie funktioniert diese „Geschwindigkeits-Erkennung“?
Ethernet-Pakete selbst sind ja verbindungslos. Das bedeutet
doch, dass der Stiwch der Netzwerkkarte an PC1 kein
„Stop“-Signal senden kann?

Bestandteil von Ethernet ist „flow control“, ein Mechanismus, der sogen. „PAUSE“-Frames schickt, wenn’s dem entspr. Zielgerät zuviel wird, sogar inkl. der gewünschten Ruhezeit. Definiert ist das im Standard „IEEE Std 802.3-2008 Annex 31B“.

Darüber hinaus gibt es natürlich in darüberliegenden Protokollen auch teilweise Datenflusskontrollmechanismen.

Gruß,

Malte

Hallo,

Naja zunächsteinmal wird ja vor dem Verbindungsaufbau zwischen
den beiden Hosts die maximal mögliche
Verbindungsgeschwindigkeit ermittelt. Google mal nach
autonegotiation.

Nur, wenn die beiden Hosts direkt miteinander verbunden sind - sobald da ein Switch dazwischen hängt, handelt der das für jeden seiner Ports unabhängig aus, wie ja vom Fragesteller dargestellt.

Außerdem betrifft Autoneg nur die Fähigkeiten von Medium und Controller, es kann dennoch sein, daß irgendwelche Buffer voll sind oder in einem geswitchten Netz eben ein Host zuviel abbekommt in Summe, und dann werden eben PAUSE-Frames verschickt.

Autoneg ist kein Datenflußkontrollmechanismus, nur eine Geschichte, um zu schauen, was die beteiligte Hardware kann und was nicht.

Gruß,

Malte