Ethernet je posvuda, a deseci tisuća proizvođača proizvode opremu koja ga podržava. Međutim, gotovo svi ovi uređaji imaju jednu zajedničku stvar -
$ 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) definira maksimalnu veličinu jednog podatkovnog paketa. Općenito, kada razmjenjujete poruke s uređajima na vašem LAN-u, MTU će biti reda veličine 1500 bajtova, a gotovo cijeli Internet radi na 1500 bajtova. Međutim, to ne znači da ove komunikacijske tehnologije ne mogu prenijeti veće veličine paketa.
Na primjer, 802.11 (poznatiji kao WiFi) ima MTU od 2304 bajta, a ako vaša mreža koristi FDDI, tada je vaš MTU 4352 bajta. Sam Ethernet ima koncept "divovskih okvira", gdje se MTU-u može dodijeliti veličina do 9000 bajtova (uz podršku za ovaj način rada od strane NIC-ova, preklopnika i usmjerivača).
Međutim, na Internetu to nije osobito potrebno. Budući da se glavne okosnice interneta prvenstveno sastoje od Ethernet veza, de facto neslužbena maksimalna veličina paketa postavljena je na 1500 B kako bi se izbjegla fragmentacija paketa na drugim uređajima.
Sam broj 1500 je čudan - očekivalo bi se da se konstante u svijetu računala temelje na potencijama dvojke, na primjer. Otkud onda 1500B i zašto ga još uvijek koristimo?
čarobni broj
Prvi veliki proboj Etherneta u svijet došao je u obliku standarda.
Budući da je u to vrijeme bilo mnogo konkurentskih protokola, a hardver je imao svoja ograničenja, tvorac formata priznaje da su memorijski zahtjevi međuspremnika paketa odigrali ulogu u pojavi magičnog broja 1500:
Gledajući unatrag, jasno je da bi veći maksimum mogao biti bolje rješenje, ali da smo rano povećali troškove mrežnih kartica, to bi spriječilo Ethernet da postane toliko raširen.
Međutim, to nije cijela priča. U
Trebalo je odabrati broj koji neće rezultirati prevelikim kašnjenjem pri prijenosu poruka u segmentima (ponekad dosta zauzet), a istovremeno neće previše povećati broj paketa.
Navodno su inženjeri u to vrijeme odabrali broj 1500 B (oko 12000 bitova) kao najsigurniju opciju.
Od tada su dolazili i nestajali razni drugi sustavi za razmjenu poruka, ali među njima je Ethernet imao najnižu MTU vrijednost sa svojih 1500 bajtova. Prekoračenje minimalne MTU vrijednosti u mreži znači ili uzrokovanje fragmentacije paketa ili uključivanje u PMTUD [pronalaženje maksimalne veličine paketa za odabrani put]. Obje su opcije imale svoje posebne probleme. Čak i ako su ponekad veliki proizvođači OS-a smanjili MTU vrijednost još niže.
Faktor učinkovitosti
Sada znamo da je internetski MTU ograničen na 1500B, uglavnom zbog naslijeđene metrike kašnjenja i hardverskih ograničenja. Koliko to utječe na učinkovitost interneta?
Ako pogledamo podatke s velike točke razmjene internetskog prometa AMS-IX, vidimo da najmanje 20% odaslanih paketa ima maksimalnu veličinu. Također možete pogledati ukupni LAN promet:
Ako kombinirate oba grafikona, dobit ćete nešto poput sljedećeg (procjene prometa za svaki raspon veličine paketa):
Ili, ako pogledamo promet svih ovih zaglavlja i drugih servisnih informacija, dobivamo isti grafikon u drugom mjerilu:
Prilično velik dio propusnosti troši se na zaglavlja za pakete u najvećoj klasi veličine. Budući da je najveći nadopterećenje pri vršnom prometu 246 GB/s, može se pretpostaviti da bi, da smo svi prešli na "jumbo okvire" kada je takva opcija još postojala, ovo opterećenje iznosilo samo oko 41 GB/s.
Ali mislim da je danas za najveći dio interneta taj vlak već otišao. Iako neki pružatelji usluga rade s MTU-om od 9000, većina ga ne podržava, a pokušaji da se nešto promijeni globalno na Internetu pokazali su se uvijek iznova iznimno teškima.
Izvor: www.habr.com