Wie die maximale Einheit der Informationsübertragung im Internet 1500 Byte wurde

Wie die maximale Einheit der Informationsübertragung im Internet 1500 Byte wurde

Ethernet ist überall, und Zehntausende von Herstellern produzieren Geräte, die es unterstützen. Fast alle diese Geräte haben jedoch eine gemeinsame Zahl – MTU:

$ ip l
1: lo:  mtu 65536 state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0:  mtu 1500 state UP 
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

MTU (Maximum Transmission Unit) [maximale Übertragungseinheit] definiert die maximale Größe eines separaten Datenpakets. Im Allgemeinen, wenn Sie Nachrichten mit Geräten in Ihrem LAN austauschen, hat die MTU eine Größe von etwa 1500 Byte, und das gesamte Internet funktioniert ebenfalls fast ausschließlich mit einer Größe von 1500 B. Das bedeutet jedoch nicht, dass diese Verbindungstechnologien keine Pakete größerer Größe übertragen können.

Zum Beispiel beträgt die MTU bei 802.11 (bekannt als WLAN) 2304 B, und wenn Ihr Netzwerk FDDI verwendet, beträgt Ihre MTU 4352 B. Ethernet selbst hat das Konzept von „jumbo frames“, bei dem die MTU auf bis zu 9000 B festgelegt werden kann (vorausgesetzt, NICs, Switches und Router unterstützen diesen Modus).

Im Internet ist das jedoch nicht unbedingt notwendig. Da die Hauptspalten des Internets hauptsächlich aus Ethernet-Verbindungen bestehen, ist die de facto nicht offizielle maximale Paketgröße auf 1500 B festgelegt, um Fragmentierung auf anderen Geräten zu vermeiden.

Die Zahl 1500 selbst ist eigenartig - man könnte erwarten, dass Konstanten in der Computerwelt auf Potenzen von zwei basieren. Wo also kommen die 1500 B her und warum verwenden wir sie immer noch?

Magische Zahl

Der erste große Durchbruch von Ethernet in die Welt erfolgte in Form der Standards 10BASE-2 (dünn) und 10BASE-5 (dick), wobei die Zahlen angeben, wie viele Hundert Meter ein einzelnes Netzwerkssegment abdecken kann.

Da es zu dieser Zeit viele konkurrierende Protokolle gab und die Hardware ihre eigenen Einschränkungen hatte, erkennt der Schöpfer des Formats an, dass die Anforderungen an den Puffer-Speicher für Pakete eine Rolle bei der Entstehung der magischen Zahl 1500 gespielt haben:

Rückblickend wird klar, dass eine größere maximale Größe möglicherweise die bessere Lösung gewesen wäre, aber wenn wir die Kosten für NICs (Netzwerkcontroller) in den frühen Phasen erhöht hätten, hätte dies das breite Wachstum von Ethernet nicht ermöglicht.

Das ist jedoch nicht die ganze Geschichte. In Arbeit „Ethernet: Verteilte Paketvermittlung in lokalen Computernetzwerken“ aus dem Jahr 1980 enthält eine der frühesten Analysen der Effizienz der Verwendung großer Pakete in Netzwerken. Zu dieser Zeit war dies besonders wichtig für Ethernet-Netzwerke, da diese entweder alle Systeme über ein Koaxialkabel verbinden konnten oder aus Hubs bestanden, die zu einem bestimmten Zeitpunkt nur ein Paket an alle Knoten eines Segments senden konnten.

Es musste eine Zahl gewählt werden, die nicht zu hohe Verzögerungen bei der Übertragung von Nachrichten in (manchmal stark ausgelasteten) Segmenten verursachte und gleichzeitig die Anzahl der Pakete nicht zu stark erhöhte.

Anscheinend wählten die Ingenieure damals 1500 B (etwa 12000 Bit) als die sicherste Option.

Seitdem sind verschiedene andere Nachrichtenübertragungssysteme gekommen und gegangen, jedoch hatte Ethernet mit seinen 1500 B den niedrigsten MTU-Wert unter ihnen. Ein Überschreiten des minimalen MTU-Wertes im Netzwerk bedeutet, entweder die Fragmentierung von Paketen hervorzurufen oder PMTUD [Pfadmaximale Übertragungseinheit entdecken] zu betreiben. Beide Optionen hatten ihre eigenen spezifischen Probleme. Selbst große Betriebssystemhersteller senkten manchmal den MTU-Wert noch weiter.

Effizienzfaktor

Jetzt wissen wir, dass der MTU im Internet größtenteils aufgrund alter Verzögerungswerte und Hardwarebeschränkungen auf eine Größe von 1500 B begrenzt ist. Wie stark beeinflusst das die Effizienz des Internets?

Wie die maximale Einheit der Informationsübertragung im Internet 1500 Byte wurde

Wenn wir die Daten von einem großen Internet-Traffic-Austauschpunkt wie AMS-IX betrachten, sehen wir, dass nicht weniger als 20 % der übertragenen Pakete die maximale Größe haben. Wir können auch den gesamten LAN-Datenverkehr betrachten:

Wie die maximale Einheit der Informationsübertragung im Internet 1500 Byte wurde

Wenn wir beide Grafiken kombinieren, entsteht etwas in diesem Sinne (Schätzung des Verkehrs für jede Paketgrößenklasse):

Wie die maximale Einheit der Informationsübertragung im Internet 1500 Byte wurde

Oder, wenn wir den Verkehr all dieser Header und anderer Verwaltungsinformationen betrachten, erhalten wir denselben Graphen in einem anderen Maßstab:

Wie die maximale Einheit der Informationsübertragung im Internet 1500 Byte wurde

Ein recht großer Teil der Bandbreite wird für Header der größten Paketgrößenklasse verwendet. Da die größten Overheads im Höchstverkehr 246 Gbit/s betragen, kann man annehmen, dass, wenn wir alle auf „Gigantische Frames“ umgestiegen wären, als diese Option noch existierte, diese Overheads nur etwa 41 Gbit/s betragen hätten.

Aber ich denke, für den Großteil des Internets ist dieser Zug bereits abgefahren. Obwohl einige Anbieter mit einer MTU von 9000 arbeiten, unterstützen die meisten das nicht, und Versuche, etwas global im Internet zu ändern, haben sich immer wieder als äußerst schwierig erwiesen.

Quelle: habr.com

60GB SSD 8Gb DDR4