Hvordan 1500 byte blev den maksimale enhed for dataoverførsel på internettet

Hvordan 1500 byte blev den maksimale enhed for dataoverførsel på internettet

Ethernet er overalt, og titusindvis af producenter laver udstyr, der understøtter det. Men næsten alle disse enheder har et fælles tal – 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) [maksimal enhed for transmission] definerer den maksimale størrelse for en enkelt datapakke. Generelt når du udveksler beskeder med enheder i dit LAN, vil MTU typisk være omkring 1500 byte, og næsten hele internettet fungerer også med en størrelse på 1500 B. Men dette betyder ikke, at disse kommunikationsteknologier ikke kan overføre pakker af større størrelse.

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

Men på internettet er det ikke særlig nødvendigt. Da de primære rygsøjler på internettet hovedsageligt består af Ethernet-forbindelser, er den de facto uofficielle maksimale pakke størrelse sat til 1500 B for at undgå fragmentering af pakker på andre enheder.

Tallet 1500 virker underligt – man kunne forvente, at konstanter i computers verden ville være baseret på potenser af to. Så hvor kommer 1500 B fra, og hvorfor bruger vi dem stadig?

Det magiske tal

Den første store gennembrud for Ethernet skete i form af standarderne 10BASE-2 (tynd) og 10BASE-5 (tyk), hvor tallene angiver, hvor mange hundrede meter et enkelt netværksegment kan dække.

Da der på det tidspunkt var mange konkurrerende protokoller, og hardware havde sine begrænsninger, erkender skaberen af formatet, at kravene til hukommelse til bufferpakker spillede en rolle i fremkomsten af det magiske tal 1500:

Ser man tilbage, er det klart, at et større maksimum muligvis ville have været den bedste løsning, men hvis vi havde forøget omkostningerne ved NIC (netværkskort) i de tidlige faser, ville det ikke have gjort Ethernet så udbredt.

Men det er ikke hele historien. I arbejde «Ethernet: distribueret paketswitching i lokale computernetværk» Fra 1980 er en af de tidligste analyser af effektiviteten ved brug af store pakker i netværk. Dengang var det især vigtigt for Ethernet-netværk, da de enten kunne forbinde alle systemer med et coaxialkabel, eller bestod af hubber, der på ét tidspunkt kunne sende et enkelt pakke til alle noder i et segment.

Der skulle vælges et tal, der ville give ikke for høje forsinkelser ved overførsel af meddelelser i segmenter (nogle gange ret overbelastede), og samtidig ikke ville øge antallet af pakker for meget.

Tilsyneladende valgte ingeniørerne dengang tallet 1500 B (omtrent 12000 bit) som den mest "sikre" mulighed.

Siden da er der dukket forskellige andre systemer til meddelelsesoverførsel op og forsvundet, men blandt dem havde Ethernet det laveste MTU-værdi med sine 1500 B. At overskride minimum MTU i netværket betyder at forårsage fragmentering af pakker eller at foretage PMTUD [Path Maximum Transmission Unit Discovery]. Begge muligheder havde deres egne specifikke problemer. Selv store OS-producenter har til tider sat MTU-værdien endnu lavere.

Effektivitetsfaktor

Nu ved vi, at MTU i internettet er begrænset til en størrelse på 1500 B primært på grund af gamle forsinkelsesmålinger og hardwarebegrænsninger. Hvor meget påvirker dette effektiviteten af internettet?

Hvordan 1500 byte blev den maksimale enhed for dataoverførsel på internettet

Hvis vi ser på data fra det store internettrafikudvekslingspunkt AMS-IX, så ser vi, at ikke mindre end 20% af de overførte pakker har maksimal størrelse. Man kan også se på den samlede LAN-trafik:

Hvordan 1500 byte blev den maksimale enhed for dataoverførsel på internettet

Hvis vi kombinerer begge grafer, bliver det noget i retning af følgende (vurdering af trafikken for hver pakke-størrelsesinterval):

Hvordan 1500 byte blev den maksimale enhed for dataoverførsel på internettet

Eller, hvis vi ser på trafikken fra alle disse overskrifter og anden kontrolinformation, får vi den samme graf med en anden skala:

Hvordan 1500 byte blev den maksimale enhed for dataoverførsel på internettet

En ret stor del af båndbredden bruges på overskrifter for pakker fra de største størrelsesklasser. Da de største omkostninger under trafiktoppen udgør 246 Gbps, kan man antage, at hvis vi alle var gået over til "gigantiske rammer", da denne mulighed stadig eksisterede, ville disse omkostninger kun udgøre omkring 41 Gbps.

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

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster