Ethernet ist überall und Zehntausende Hersteller stellen Geräte her, die es unterstützen. Eines haben jedoch fast alle dieser Geräte gemeinsam:
$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
MTU (Maximum Transmission Unit) definiert die maximale Größe eines einzelnen Datenpakets. Wenn Sie Nachrichten mit Geräten in Ihrem LAN austauschen, liegt die MTU im Allgemeinen in der Größenordnung von 1500 Byte, und fast das gesamte Internet arbeitet mit 1500 Byte. Dies bedeutet jedoch nicht, dass diese Kommunikationstechnologien keine größeren Paketgrößen übertragen können.
Beispielsweise hat 802.11 (allgemein bekannt als WiFi) eine MTU von 2304 Bytes, und wenn Ihr Netzwerk FDDI verwendet, beträgt Ihre MTU 4352 Bytes. Ethernet selbst verfügt über das Konzept der „Giant Frames“, bei denen der MTU eine Größe von bis zu 9000 Bytes zugewiesen werden kann (mit Unterstützung dieses Modus durch NICs, Switches und Router).
Im Internet ist dies jedoch nicht unbedingt erforderlich. Da die wichtigsten Backbones des Internets hauptsächlich aus Ethernet-Verbindungen bestehen, ist die de facto inoffizielle maximale Paketgröße auf 1500 B festgelegt, um eine Paketfragmentierung auf anderen Geräten zu vermeiden.
Die Zahl 1500 an sich ist seltsam – man würde beispielsweise erwarten, dass Konstanten in der Computerwelt auf Zweierpotenzen basieren. Woher kommt 1500B und warum verwenden wir es immer noch?
magische Zahl
Der erste große Durchbruch von Ethernet in der Welt erfolgte in Form von Standards.
Da es zu dieser Zeit viele konkurrierende Protokolle gab und die Hardware ihre Grenzen hatte, gibt der Ersteller des Formats zu, dass der Speicherbedarf des Paketpuffers eine Rolle bei der Entstehung der magischen Zahl 1500 gespielt hat:
Im Nachhinein ist es klar, dass ein größerer Maximalwert die bessere Lösung gewesen wäre, aber wenn wir die Kosten für NICs frühzeitig erhöht hätten, hätte dies verhindert, dass sich Ethernet so weit verbreitet hätte.
Dies ist jedoch nicht die ganze Geschichte. IN
Es musste eine Zahl gewählt werden, die nicht zu großen Verzögerungen bei der Übertragung von Nachrichten in Segmenten (manchmal recht ausgelastet) zur Folge hat und gleichzeitig die Anzahl der Pakete nicht zu sehr erhöht.
Anscheinend wählten die damaligen Ingenieure die Zahl 1500 B (ca. 12000 Bit) als die „sicherste“ Option.
Seitdem sind verschiedene andere Messaging-Systeme gekommen und gegangen, aber unter ihnen hatte Ethernet mit 1500 Bytes den niedrigsten MTU-Wert. Das Überschreiten des minimalen MTU-Werts in einem Netzwerk bedeutet entweder eine Paketfragmentierung oder die Teilnahme an PMTUD [Ermittlung der maximalen Paketgröße]. für ausgewählten Pfad]. Beide Optionen hatten ihre eigenen besonderen Probleme. Auch wenn manchmal große Betriebssystemhersteller den MTU-Wert noch weiter gesenkt haben.
Effizienzfaktor
Wir wissen jetzt, dass die Internet-MTU auf 1500 B begrenzt ist, was größtenteils auf veraltete Latenzmetriken und Hardwareeinschränkungen zurückzuführen ist. Wie stark beeinträchtigt dies die Effizienz des Internets?
Wenn wir uns die Daten eines großen Internet-Austauschpunkts AMS-IX ansehen, sehen wir, dass mindestens 20 % der übertragenen Pakete eine maximale Größe haben. Sie können sich auch den gesamten LAN-Verkehr ansehen:
Wenn Sie beide Diagramme kombinieren, erhalten Sie etwa Folgendes (Verkehrsschätzungen für jeden Paketgrößenbereich):
Oder wenn wir uns den Verkehr all dieser Header und anderer Serviceinformationen ansehen, erhalten wir dasselbe Diagramm mit einem anderen Maßstab:
Ein ziemlich großer Teil der Bandbreite wird für Header für Pakete der größten Größenklasse aufgewendet. Da der höchste Overhead bei Spitzenverkehr 246 GB/s beträgt, kann man davon ausgehen, dass dieser Overhead nur etwa 41 GB/s betragen würde, wenn wir alle auf „Jumbo Frames“ umgestiegen wären, als es eine solche Option noch gab.
Aber ich denke, dass der größte Teil des Internets diesen Zug heute bereits verlassen hat. Und obwohl einige Anbieter mit einer MTU von 9000 arbeiten, unterstützen die meisten diese nicht und der Versuch, im Internet global etwas zu ändern, erweist sich immer wieder als äußerst schwierig.
Source: habr.com