Warum ist die Ethernet-Nutzlast zwischen 46 und 1500 Byte festgelegt?


8

Kann jemand erklären, warum die Ethernet-Nutzlastgröße zwischen 46 und 1500 Bytes liegt?

Ich habe so viele Artikel gelesen, die nie geklärt wurden?


4
Ich denke, die Mindestgröße ist so eingestellt, dass Zeit zum Erkennen von Kollisionen bleibt, was in modernen Netzwerken nicht sehr relevant ist, wenn Halbduplex fast weg ist. Die maximale Größe wird wahrscheinlich so festgelegt, dass einige Garantien für die 4B-FCS-Prüfung und ein größerer Frame zulässig sind und Sie entweder einige Garantien für FCS verlieren oder mehr Bytes in FCS benötigen.
ytti

@ytti, Halbduplex-Betrieb ist offiziell in der 1000BaseT-Spezifikation enthalten, und IEEE hat sich sehr für die Abwärtskompatibilität eingesetzt. Zu sagen, dass es nicht sehr relevant ist, ist nebensächlich. Halbduplex ist in jedem 802.3-kompatiblen 1000BaseT PHY enthalten, der hergestellt wurde.
Mike Pennington

Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:


10

Der Grund für 46-Byte-Nutzdaten:

Gemäß Abschnitt 6.3.2.3 der Ethernet V2- Spezifikation basiert der minimale Ethernet-Frame auf der Ethernet-Steckplatzzeit , die 512 Bitlängen (64 Byte) für 10M-Ethernet beträgt. Die Steckplatzzeit bestimmt sowohl die maximale Kabellänge als auch die minimale Rahmengröße.

Nach dem Subtrahieren von 18 Bytes für den Ethernet-Header und den CRC erhalten Sie 46 Bytes Ethernet-Payload als minimale Payload-Größe.

Die Slot-Zeit (und damit die minimale Frame-Größe) hängt auch eng mit der Ethernet-Kollisionserkennung zusammen. Zitieren einer Einführung in Computernetzwerke , Absatz 2.1.2:

... kann eine Kollision grundsätzlich jederzeit bis zum Ende der Slot-Zeit empfangen werden. Infolgedessen hat Ethernet eine minimale Paketgröße, die der Steckplatzzeit entspricht, dh 64 Bytes (oder 46 Bytes im Datenteil). Einer Station, die ein Paket dieser Größe sendet, wird versichert, dass der Absender es im Falle einer Kollision erkennen würde (und in der Lage sein würde, den unten aufgeführten Neuübertragungsalgorithmus anzuwenden). Kleinere Pakete können kollidieren, und der Absender weiß es nicht, was letztendlich zu einem stark reduzierten Durchsatz führt

Die Ethernet-Steckplatzzeit wurde angegeben, damit CSMA / CD ordnungsgemäß funktioniert. Die Mindestgröße eines Frames wird definiert, um sicherzustellen, dass seine Übertragung genügend Zeit in Anspruch nimmt, damit selbst bei einem kürzesten gültigen Frame eine mögliche Kollision zuverlässig erkannt werden kann. Wenn die Rahmengröße zu klein ist (in Bezug auf die maximale Kabellänge), ist eine deterministische Kollisionserkennung unmöglich .

1500 Byte Nutzdaten:

Wir haben bereits den Grund für 1500-Byte-MTUs besprochen . Einzelheiten entnehmen Sie bitte dieser Frage.

Hinweis: Der Kommentar von ytti zur FCS-Beschränkung von Ethernet ist nicht der Grund, warum 1500 Bytes ausgewählt wurden. Es wurde aufgrund von Problemen bei der Interpretation des Felds Länge in 802.3-Encap-Frames im Vergleich zum Feld Typ in Ethernet II-Frames ausgewählt.


1
Sie schreiben "Die minimale Rahmengröße überschreitet nicht die längstmögliche Kabellänge", was ich im Gegenteil zu dem interpretiere, was wahr ist. Die Übertragungszeit des minimalen Rahmens muss die Laufzeit für die längstmögliche Länge des Kabels überschreiten, damit die Kollisionserkennung ordnungsgemäß funktioniert.
Kll

Ich würde vorschlagen, dass "eine minimale Rahmengröße erforderlich ist, um die Kollisionserkennung und -signalisierung über das Netzwerk zu ermöglichen, während der Absender noch sendet".
Zac67

@kll, wenn Sie auf dem Gegenteil des Mindestrahmens bestehen, können natürlich mehrere Rahmen mit Mindestgröße auf dem Draht vorhanden sein, bevor eine gültige Kollision erkannt wird. Das ist natürlich nicht wünschenswert.
Mike Pennington

@ MikePennington vier Jahre später ..;) Ich stimme zu, dass es unerwünscht ist, mehrere Rahmen auf dem Draht zu haben ... aber Sie sagen, dass die minimale Rahmengröße die längstmögliche Kabellänge nicht überschreiten sollte , was falsch erscheint. Wenn die Kabellänge die Rahmengröße überschreitet, können mehrere Rahmen verwendet werden, was wir gerade vereinbart haben, was unerwünscht war. Daher muss die Rahmengröße die Kabellänge überschreiten. Verwenden Sie irgendwie Überschreitung, um das Gegenteil davon zu bedeuten, wie ich es interpretiere? Welche Richtung geht für Sie über? Kürzere / weniger Bytes des Frames?
kll

@ MikePennington wir müssen irgendwie aneinander vorbei reden. Wir sind uns einig, dass die minimale Frame-Größe 64 Byte beträgt. Dies deckt eine RTT mit maximalem Netzwerkdurchmesser ab, sodass wir Kollisionen zuverlässig erkennen können. Wenn die Frame-Größe 10 Byte beträgt, können wir keine Kollisionen erkennen, da die Kabellänge die Frame-Größe überschreitet. Wenn umgekehrt das Paket 64 Bytes oder mehr beträgt, überschreitet die Rahmengröße die Kabellänge und wir können Kollisionen erkennen. Ich denke an den Rahmen, der eine Länge hat, da er sich seit seiner Serialisierung auf dem Kabel mit einer bestimmten Geschwindigkeit ausbreitet und somit eine Länge im Medium erhält.
kll

-1

Die Obergrenze ist nicht auf 1500 festgelegt. Jumbo-Frames können bis zu 9000 Byte umfassen, hängen jedoch vom Netzwerk / der Anwendung ab

https://en.wikipedia.org/wiki/Jumbo_frame

Liste der gängigen MTUs https://en.wikipedia.org/wiki/Maximum_transmission_unit#IP_MTUs_for_common_media


5
Die Ethernet-MTU ist standardmäßig auf 1500 festgelegt. Jumbo-Frames sind nicht Standard, und jeder Anbieter macht es anders (oder vielleicht gar nicht). Einige Anbieter tun dies auf verschiedenen Switch-Modellen oder sogar auf verschiedenen Schnittstellen auf demselben Switch unterschiedlich. In der Tat heißt es in Ihrem zweiten Link: " Jumbo-Frames werden normalerweise nur in speziellen Netzwerken angezeigt. "
Ron Maupin

OK, aber die Frage sagt nicht Standard "spezifizierte" Ethernet-Frame-Größe
Vaaz

Die Frage lautet: " Kann jemand erklären, warum die Ethernet-Nutzdatengröße zwischen 46 und 1500 Byte festgelegt ist? " Ihre Antworten lauten: " Die Obergrenze ist nicht auf 1500 festgelegt. " Der Ethernet-Standard IEEE 802.3 hat dies jedoch behoben Weg. Es gibt viele Netzwerkstandards, und ja, viele Anbieter verletzen diese Standards auf unterschiedliche Weise. Der einzige Weg, um sicher zu sein, dass Ihre heterogenen Ethernet-Geräte zusammenarbeiten, besteht darin, dem Standard zu folgen, bei dem die Ethernet-MTU 1500 beträgt.
Ron Maupin

Okay, ich habe es verstanden. Danke.
Vaaz
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.