
Ethernet is everywhere, and tens of thousands of manufacturers produce equipment that supports it. However, almost all of these devices share one common number - :
$ 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 transmissie-eenheid] bepaalt de maximale grootte van een enkel datapakket. Over het algemeen, wanneer u berichten uitwisselt met apparaten in uw LAN, is de MTU ongeveer 1500 bytes, en bijna het hele internet werkt ook met een grootte van 1500 B. Dit betekent echter niet dat deze communicatietechnologieën geen pakketten van grotere grootte kunnen verzenden.
Bijvoorbeeld, bij 802.11 (beter bekend als WiFi) is de MTU 2304 B, en als uw netwerk FDDI gebruikt, dan is uw MTU 4352 B. Ethernet zelf heeft het concept van 'gigantische frames', waarbij de MTU kan worden ingesteld tot 9000 B (indien ondersteund door de NIC, switches en routers).
Echter, op het internet is dit niet altijd nodig. Aangezien de belangrijkste backbones van het internet voornamelijk bestaan uit Ethernet-verbindingen, is de de facto niet-officiële maximale pakketgrootte ingesteld op 1500 B om fragmentatie van pakketten op andere apparaten te vermijden.
Het getal 1500 op zich is vreemd - je zou verwachten dat constanten in de wereld van computers gebaseerd zouden zijn op machten van twee, bijvoorbeeld. Maar waar komen die 1500 B vandaan en waarom gebruiken we ze nog steeds?
Magisch getal
De eerste grote doorbraak van Ethernet naar de wereld vond plaats in de vorm van standaarden (dun) en (dik), waarbij de getallen aangeven hoeveel honderden meters een afzonderlijk netwerksegment kan dekken.
Aangezien er destijds veel concurrerende protocollen waren en de hardware zijn beperkingen had, erkent de maker van het formaat dat de eisen voor de pakketbuffer zijn rol hebben gespeeld in het ontstaan van het magische getal 1500:
Terugkijkend wordt het duidelijk dat een maximum van een grotere grootte mogelijk een betere oplossing zou zijn geweest, maar als we de kosten van NICs (netwerkcontrollers) in de vroege stadia hadden verhoogd, zou Ethernet niet zo breed verspreid zijn geraakt.
Maar dat is niet het hele verhaal. In «Ethernet: gedistribueerde pakketinschakeling in lokale computernetwerken» uit 1980 bevat een van de vroege analyses van de effectiviteit van het gebruik van grote pakketten in netwerken. Op dat moment was dit bijzonder belangrijk voor Ethernet-netwerken, omdat deze ofwel alle systemen met één coaxkabel konden verbinden, of uit hubs bestonden die op elk gegeven moment slechts één pakket naar alle knooppunten in een segment konden verzenden.
Er moest een getal worden gekozen dat niet te hoge vertragingen veroorzaakte bij het verzenden van berichten in segmenten (soms behoorlijk druk), en dat tegelijkertijd het aantal pakketten niet te veel zou verhogen.
Blijkbaar kozen ingenieurs destijds voor 1500 B (ongeveer 12000 bits) als de meest "veilige" optie.
Sindsdien zijn er verschillende andere berichtenoverdrachtssystemen verschenen en weer verdwenen, maar onder hen had Ethernet met zijn 1500 B de laagste MTU-waarde. Het overschrijden van de minimale MTU-waarde in een netwerk betekent dat je ofwel pakketfragmentatie veroorzaakt, of PMTUD [het vinden van de maximale pakketgrootte voor een gekozen pad] moet gebruiken. Beide opties hadden hun eigen speciale problemen. Zelfs soms verlaagden grote besturingssysteemfabrikanten de MTU-waarde nog verder.
Effectiviteitsfactor
We weten nu dat de MTU op het internet beperkt is tot 1500 B, grotendeels vanwege oude vertragingseisen en hardwarebeperkingen. Hoe significant beïnvloedt dit de effectiviteit van het internet?

Als we kijken naar de gegevens van een groot internet-verkeer uitwisselingspunt AMS-IX, zien we dat niet minder dan 20% van de verzonden pakketten de maximale grootte heeft. We kunnen ook kijken naar het totale LAN-verkeer:

Als we beide grafieken combineren, komt er iets als het volgende uit (een schatting van het verkeer voor elk pakketgrootte bereik):

Of als we kijken naar het verkeer van al deze headers en andere overheadinformatie, krijgen we dezelfde grafiek met een andere schaal:

Een behoorlijk deel van de bandbreedte gaat verloren aan headers voor pakketten van de grootste formaatklasse. Aangezien de hoogste overhead tijdens een verkeerspiek 246 Gb/s bedraagt, kunnen we veronderstellen dat als we allemaal overstapten op 'gigantische frames' toen dat nog mogelijk was, de overhead slechts ongeveer 41 Gb/s zou zijn.
Maar ik denk dat de trein vandaag voor het grootste deel van het internet al is vertrokken. En hoewel sommige providers werken met een MTU van 9000, ondersteunt het merendeel dit niet, en pogingen om iets globaal te veranderen op het internet zijn keer op keer buitengewoon moeilijk gebleken.
Bron: habr.com
