Hur den maximala enheten för informationsöverföring på Internet blev 1500 byte

Hur den maximala enheten för informationsöverföring på Internet blev 1500 byte

Ethernet finns överallt och tiotusentals tillverkare tillverkar utrustning som stöder det. Men nästan alla dessa enheter har en sak gemensamt - 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) definierar den maximala storleken på ett enda datapaket. I allmänhet, när du utbyter meddelanden med enheter på ditt LAN, kommer MTU:n att vara i storleksordningen 1500 byte, och nästan hela Internet fungerar på 1500 byte. Detta betyder dock inte att dessa kommunikationstekniker inte kan överföra större paketstorlekar.

Till exempel har 802.11 (vanligtvis känt som WiFi) en MTU på 2304 byte, och om ditt nätverk använder FDDI är din MTU 4352 byte. Ethernet har i sig konceptet "gigantiska ramar", där MTU:n kan tilldelas en storlek på upp till 9000 byte (med stöd för detta läge av NIC, switchar och routrar).

Men på Internet är detta inte särskilt nödvändigt. Eftersom Internets huvudsakliga stamnät i första hand består av Ethernet-anslutningar, är den de facto inofficiella maximala paketstorleken satt till 1500B för att undvika paketfragmentering på andra enheter.

Siffran 1500 i sig är märkligt - man skulle förvänta sig att konstanter i datorvärlden skulle baseras på tvåpotenser, till exempel. Så var kom 1500B ifrån och varför använder vi det fortfarande?

Magiskt nummer

Ethernets första stora genombrott i världen kom i form av standarder. 10BAS-2 (tunn) och 10BAS-5 (tjock), siffrorna i vilka anger hur många hundra meter ett visst nätverkssegment kan täcka.

Eftersom det fanns många konkurrerande protokoll vid den tiden, och hårdvaran hade sina begränsningar, medger skaparen av formatet att minneskraven för paketbufferten spelade en roll i uppkomsten av det magiska numret 1500:

I efterhand är det uppenbart att ett större maximum kunde ha varit en bättre lösning, men om vi hade ökat kostnaderna för NIC tidigt skulle det ha förhindrat Ethernet från att bli lika utbrett.

Detta är dock inte hela historien. I arbete "Ethernet: Distributed Packet Switching in Local Computer Networks," 1980, tillhandahåller en av de tidigaste analyserna av effektiviteten av att använda stora paket i nätverk. På den tiden var detta särskilt viktigt för Ethernet-nätverk, eftersom de antingen kunde ansluta alla system med en enda koaxialkabel, eller bestå av hubbar som kan skicka ett paket till alla noder på samma segment samtidigt.

Det var nödvändigt att välja ett nummer som inte skulle resultera i för stora förseningar vid överföring av meddelanden i segment (ibland ganska upptaget), och samtidigt inte skulle öka antalet paket för mycket.

Tydligen valde ingenjörer vid den tiden numret 1500 B (cirka 12000 bitar) som det mest "säkra" alternativet.

Sedan dess har olika andra meddelandesystem kommit och gått, men bland dem hade Ethernet det lägsta MTU-värdet med sina 1500 byte. Att överskrida det lägsta MTU-värdet i ett nätverk innebär antingen att orsaka paketfragmentering eller engagera sig i PMTUD [att hitta den maximala paketstorleken för vald sökväg]. Båda alternativen hade sina egna speciella problem. Även om ibland stora OS-tillverkare sänkte MTU-värdet ännu lägre.

Effektivitetsfaktor

Vi vet nu att Internet MTU är begränsad till 1500B, till stor del på grund av äldre latensmått och hårdvarubegränsningar. Hur mycket påverkar detta effektiviteten på Internet?

Hur den maximala enheten för informationsöverföring på Internet blev 1500 byte

Om vi ​​tittar på data från en stor internetväxlingspunkt AMS-IX ser vi att minst 20 % av de överförda paketen har en maximal storlek. Du kan också titta på den totala LAN-trafiken:

Hur den maximala enheten för informationsöverföring på Internet blev 1500 byte

Om du kombinerar båda graferna får du något i stil med följande (trafikuppskattningar för varje paketstorleksintervall):

Hur den maximala enheten för informationsöverföring på Internet blev 1500 byte

Eller, om vi tittar på trafiken för alla dessa rubriker och annan tjänstinformation, får vi samma graf med en annan skala:

Hur den maximala enheten för informationsöverföring på Internet blev 1500 byte

En ganska stor del av bandbredden går åt till headers för paket i den största storleksklassen. Eftersom den högsta overheaden vid topptrafik är 246 GB/s, kan man anta att om vi alla hade gått över till "jumbo frames" när ett sådant alternativ fortfarande fanns, skulle denna overhead bara vara cirka 41 GB/s.

Men jag tror i dag för den största delen av Internet att tåget redan har gått. Och även om vissa leverantörer arbetar med en MTU på 9000, stöder de flesta inte det, och att försöka förändra något globalt på Internet har visat sig vara extremt svårt om och om igen.

Källa: will.com

Lägg en kommentar