Hvordan 1500 bytes blev den maksimale enhed for informationsoverførsel på internettet

Hvordan 1500 bytes blev den maksimale enhed for informationsoverførsel på internettet

Ethernet er overalt, og titusindvis af producenter producerer udstyr, der understøtter det. Men næsten alle disse enheder har én ting til fælles - MTU:

$ 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) definerer den maksimale størrelse af en enkelt datapakke. Generelt, når du udveksler beskeder med enheder på dit LAN, vil MTU'en være i størrelsesordenen 1500 bytes, og næsten hele internettet opererer på 1500 bytes. Det betyder dog ikke, at disse kommunikationsteknologier ikke kan transmittere større pakkestørrelser.

For eksempel har 802.11 (almindeligvis kendt som WiFi) en MTU på 2304 bytes, og hvis dit netværk bruger FDDI, så er din MTU 4352 bytes. Ethernet selv har konceptet "gigantiske rammer", hvor MTU'en kan tildeles en størrelse på op til 9000 bytes (med understøttelse af denne tilstand af NIC'er, switches og routere).

Men på internettet er dette ikke særlig nødvendigt. Da internettets primære backbones primært består af Ethernet-forbindelser, er den de facto uofficielle maksimale pakkestørrelse sat til 1500B for at undgå pakkefragmentering på andre enheder.

Selve tallet 1500 er mærkeligt - man kunne forvente, at konstanter i computerverdenen for eksempel er baseret på to-poter. Så hvor kom 1500B fra, og hvorfor bruger vi det stadig?

magiske tal

Ethernets første store gennembrud i verden kom i form af standarder. 10BASE-2 (tynd) og 10BASE-5 (tykt), de tal, hvori angiver, hvor mange hundrede meter et bestemt netværkssegment kan dække.

Da der var mange konkurrerende protokoller på det tidspunkt, og hardware havde sine begrænsninger, indrømmer skaberen af ​​formatet, at hukommelseskravene til pakkebufferen spillede en rolle i fremkomsten af ​​det magiske nummer 1500:

Set i bakspejlet er det klart, at et større maksimum kunne have været en bedre løsning, men hvis vi havde øget omkostningerne til NIC'er tidligt, ville det have forhindret Ethernet i at blive så udbredt.

Dette er dog ikke hele historien. I arbejde "Ethernet: Distributed Packet Switching in Local Computer Networks," 1980, giver en af ​​de tidligste analyser af effektiviteten af ​​at bruge store pakker i netværk. På det tidspunkt var dette især vigtigt for Ethernet-netværk, da de enten kunne forbinde alle systemer med et enkelt koaksialkabel eller bestå af hubs, der var i stand til at sende en pakke til alle noder på det samme segment på én gang.

Det var nødvendigt at vælge et tal, der ikke ville resultere i for store forsinkelser ved afsendelse af beskeder i segmenter (nogle gange ret travlt), og samtidig ikke ville øge antallet af pakker for meget.

Tilsyneladende valgte ingeniører på det tidspunkt nummeret 1500 B (ca. 12000 bits) som den mest "sikre" mulighed.

Siden da er forskellige andre meddelelsessystemer kommet og gået, men blandt dem havde Ethernet den laveste MTU-værdi med sine 1500 bytes. At overskride minimums-MTU-værdien i et netværk betyder enten at forårsage pakkefragmentering eller engagere sig i PMTUD [finde den maksimale pakkestørrelse for valgt sti]. Begge muligheder havde deres egne særlige problemer. Selv om nogle gange store OS-producenter sænkede MTU-værdien endnu lavere.

Effektivitetsfaktor

Vi ved nu, at Internet MTU er begrænset til 1500B, hovedsageligt på grund af ældre latency-metrikker og hardwarebegrænsninger. Hvor meget påvirker dette effektiviteten af ​​internettet?

Hvordan 1500 bytes blev den maksimale enhed for informationsoverførsel på internettet

Hvis vi ser på data fra et stort internetudvekslingspunkt AMS-IX, ser vi, at mindst 20 % af de transmitterede pakker har en maksimal størrelse. Du kan også se på den samlede LAN-trafik:

Hvordan 1500 bytes blev den maksimale enhed for informationsoverførsel på internettet

Hvis du kombinerer begge grafer, får du noget i stil med følgende (trafikvurderinger for hvert pakkestørrelsesområde):

Hvordan 1500 bytes blev den maksimale enhed for informationsoverførsel på internettet

Eller hvis vi ser på trafikken af ​​alle disse overskrifter og andre serviceoplysninger, får vi den samme graf med en anden skala:

Hvordan 1500 bytes blev den maksimale enhed for informationsoverførsel på internettet

En ganske stor del af båndbredden bruges på headere til pakker i den største størrelsesklasse. Da den højeste overhead ved spidstrafik er 246 GB/s, kan det antages, at hvis vi alle havde skiftet til "jumbo frames", når en sådan mulighed stadig eksisterede, ville denne overhead kun være omkring 41 GB/s.

Men jeg tror i dag for den største del af internettet, at toget allerede er kørt. Og selvom nogle udbydere arbejder med en MTU på 9000, understøtter de fleste det ikke, og at forsøge at ændre noget globalt på internettet har vist sig at være ekstremt svært igen og igen.

Kilde: www.habr.com

Tilføj en kommentar