Warum ist für Ethernet eine minimale Frame-Größe angegeben?


12

Ich denke, das Minimum ist 64 Bytes. Warum ist das Minimum notwendig?

Antworten:


16

Beim schnellen Lesen scheint es, dass es mit dem Kollisionserkennungsteil von CSMA / CD zusammenhängt. Wenn die Frames auf alten Rundfunkmedien zu klein wären, könnten einige Kollisionen nicht erkannt werden. Ich setze heute mein Thema der Automobilanalogien fort und erlaube aus dem gleichen Grund keine Fahrräder auf Hochgeschwindigkeitsautobahnen - es ist einfach nicht sicher für sie.


3
+1, ich wusste nicht, dass über Fahrräder ...
Kyle Brandt

6
+1 Kollisionserkennung ist der Grund. 64 Bytes sind 0,04 ms bei einer Ethernet-Geschwindigkeit von 10 MB. Kleinere und Kollisionen würden (1982) unentdeckt bleiben.
sysadmin1138

Wenn ich Sie verstehe, ist der Grund für das 64-Byte-Minimum, genug Zeit für andere Stationen zu geben, um es zu bemerken?
CodyBugstein

1
Können Sie bitte erläutern, warum Kollisionen nicht nachweisbar sind?
problemofficer

1
Ich bin mir sicher, dass eine Fahrradkollision auf einer Hochgeschwindigkeitsautobahn erkennbar wäre. Außerdem sind in den meisten westlichen US-Bundesstaaten Fahrräder auf den Interstates erlaubt, daher bin ich mir nicht sicher, wie angemessen die Analogie ist. :)
Michael Hampton

4

Zusätzlich zur (absolut korrekten) Antwort von mfinni können Sie durch Festlegen einer minimalen Frame-Größe mehrere Empfangszyklen zum Überprüfen der Prüfsummen Ihrer Frames verbringen. In Ye Olde Days kann man sich leicht einen Chip vorstellen, der ein Bit pro Zyklus verarbeitet, aber viele Zyklen benötigt, um eine Prüfsumme auf einem dedizierten Pfad zu berechnen, der parallel zum Empfangspfad verläuft. Der Empfang vieler Kurznachrichten kann dazu führen, dass diese Prüfsummenlogik durch mehrere gleichzeitige Operationen verstümmelt wird. Durch das Verwerfen von Elementen unterhalb eines bestimmten Größenschwellenwerts können Sie dieses Problem auf einfache Weise vermeiden.


Ich glaube, diese Antwort ist falsch. es hat mit der Laufzeitverzögerung im Medium und der Kollisionserkennung zu tun.
Andrew Wagner

@ AndrewWagner, Wie ich bereits in meiner Antwort sagte, ist die obige Antwort von mfinni, bei der es um die Erkennung von Kollisionen geht, richtig. Mein Punkt war, dass diese "Eigenart" der Spezifikation auch Hardware-Designern die Möglichkeit gibt, eigene Shortcuts zu erstellen.
BMDan

2

Ethernet ist so konzipiert, dass es über ein gemeinsam genutztes Medium (den Ether!) Funktioniert. Die Sender können erkennen, wann das Signal, mit dem sie den Äther antreiben, sich von dem unterscheidet, was sich auf dem Äther befindet.

Leider haben alle Medien eine Laufzeitverzögerung (leider bewegt sich sogar Licht mit einer endlichen Geschwindigkeit).

Angenommen, Sie senden einen sehr kurzen Rahmen. Um zu erkennen, ob der Empfänger zur gleichen Zeit sendet, zu der er Ihren Frame empfangen hat, müssen Sie auf das von ihm gesendete Signal warten. Sie müssen also die doppelte Laufzeit des Mediums abwarten / abhören, bevor Sie wissen, ob dies der Fall ist eine Kollision am empfangenden Ende.

Anstatt in dieser Zeit nur zuzuhören (Stille zu senden), können Sie auch in dieser Zeit nützliche Informationen senden.

Der Standard legt daher die minimale Rahmengröße auf die Datenmenge fest, die Sie in ZWEIMAL der ungünstigsten Laufzeitverzögerung auf dem gemeinsam genutzten Medium senden können.

Wenn Sie also unglücklich sind, weil sich die großen Frames für Ihre kleine Nachricht "unoptimiert" anfühlen, stellen Sie sich diesen zusätzlichen Platz im Paket als Gelegenheit vor, etwas anderes zum Senden zu finden, wenn Sie sonst ohnehin Nullen senden müssten.

Natürlich gibt es in einem lokalen Netzwerkstandard viele andere Möglichkeiten, mit Kollisionen und Ausbreitungsverzögerungen umzugehen, aber dann wäre es nicht Ethernet, und ich denke, wir sind uns alle einig, dass Ethernet ziemlich süß ist.


Frage: Ich verstehe also, warum Sie ein Minimum benötigen oder 2 x PDwoher kommen 64 Bytes? Sollte es nicht von der Länge / Art des Kabels abhängen? 64 Bytes scheint willkürlich
CodyBugstein

Es wird auf den alten Kompromiss zwischen Effizienz und Komplexität zurückgegriffen. Sie könnten ein System zum automatischen Messen des Netzwerks und Auswählen einer geeigneten Mindestpaketgröße aufbauen, dies würde jedoch zu einer nicht trivialen Komplexität bei relativ geringem Gewinn führen.
Peter Green

0

Damit CSMA / CD ordnungsgemäß funktioniert, möchten Sie eine konsistente Kollisionserkennung.

Wenn der Empfänger eine Kollision sieht und der Sender nicht, ist das Paket verloren. Wenn der Sender eine Kollision sieht, der Empfänger jedoch keine Kollision, erhalten Sie nach dem erneuten Senden des Senders ein doppeltes Paket. Beides ist nicht wünschenswert.

Da die Daten mit einer endlichen Geschwindigkeit übertragen werden, war eine minimale Paketgröße erforderlich, um sicherzustellen, dass eine Kollision überall auftritt. Je größer Sie die minimale Paketgröße einstellen, desto größer und / oder schneller können Sie das Netzwerk einrichten, bevor CSMA / CD ausfällt.

Was den Grund für 64-Byte angeht, weiß ich nicht genau, aber ich gehe davon aus, dass es sich um eine runde Zahl handelte, die angesichts der Geschwindigkeit, der erwarteten Größe von Ethernet-Netzwerken und der erwarteten Größe "ungefähr zur richtigen Zeit" erschien von Paketen höherer Ebene.


0

Die minimale Paketlänge von 64 Bytes ist keine willkürliche Zahl. In einer physischen 10Base5-Schicht ("Fat Ethernet" -Koaxial, eine der ursprünglich angegebenen physischen Schichten mit den längsten zulässigen Kabeln) ergibt sich eine minimale Paketlänge in Mikrosekunden, die der doppelten Umlaufzeit der maximalen Länge entspricht Kabel, das 2500 Meter lang ist und aus fünf 500-Meter-Segmenten mit vier Repeatern besteht. Dies soll sicherstellen, dass Pakete, die von entgegengesetzten Seiten des Kabels übertragen werden, an jedem Punkt des Kabels vollständig kollidieren, um eine zuverlässige Kollisionserkennung in allen Knoten zu gewährleisten.

Wissenswertes:

  • Es ist das Doppelte des Mindestbetrags für einen Sicherheitsaufwand
  • Die Kollisionserkennung im Koaxialkabel kann durch einen analogen Spannungskomparator erfolgen (da kollidierte Pakete die doppelte normale Signalspannung ergeben).
  • Die Geschwindigkeit der Elektrizität in Kupferkabeln beträgt ungefähr 200000 Kilometer pro Sekunde
  • Jedes Bit in 10Base5 Ethernet ist im Kabel 20 Meter lang
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.