Ethernet on kõikjal ja kümned tuhanded tootjad toodavad seda toetavaid seadmeid. Peaaegu kõigil neil seadmetel on aga üks ühine joon -
$ 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) määrab ühe andmepaketi maksimaalse suuruse. Üldiselt on kohtvõrgu seadmetega sõnumite vahetamisel MTU suurusjärgus 1500 baiti ja peaaegu kogu Internet töötab ka 1500 baidiga. See aga ei tähenda, et need sidetehnoloogiad ei suudaks edastada suuremaid pakette. .
Näiteks 802.11 (üldtuntud kui WiFi) MTU on 2304 baiti ja kui teie võrk kasutab FDDI-d, on teie MTU 4352 baiti. Ethernetil endal on "hiiglaslike kaadrite" kontseptsioon, kus MTU-le saab määrata kuni 9000 baiti (seda režiimi toetavad NIC-id, lülitid ja ruuterid).
Internetis pole see aga eriti vajalik. Kuna Interneti peamised magistraalvõrgud koosnevad peamiselt Etherneti ühendustest, on de facto mitteametlikuks maksimaalseks paketi suuruseks seatud 1500B, et vältida pakettide killustumist teistes seadmetes.
Arv 1500 ise on kummaline – arvutimaailmas võiks eeldada, et konstandid põhinevad näiteks kahe astmetel. Kust siis 1500B tuli ja miks me seda siiani kasutame?
maagiline number
Etherneti esimene suur läbimurre maailmas toimus standardite kujul.
Kuna tol ajal oli konkureerivaid protokolle palju ja riistvaral olid omad piirangud, siis möönab formaadi looja, et maagilise numbri 1500 tekkimisel mängisid rolli paketipuhvri mälunõuded:
Tagantjärele on selge, et suurem maksimum oleks võinud olla parem lahendus, kuid kui oleksime võrgukaartide hinda varakult tõstnud, oleks see takistanud Etherneti nii laialdast levikut.
See pole aga kogu lugu. IN
Tuli valida number, mis ei tekitaks liiga suuri viivitusi sõnumite edastamisel segmentides (vahel üsna hõivatud) ja samas ei suurendaks liiga palju pakettide arvu.
Ilmselt valisid insenerid sel ajal kõige turvalisemaks valikuks numbri 1500 B (umbes 12000 bitti).
Sellest ajast peale on tulnud ja läinud mitmesuguseid muid sõnumsidesüsteeme, kuid nende hulgas oli Ethernetil madalaim MTU väärtus oma 1500 baidiga Minimaalse MTU väärtuse ületamine võrgus tähendab kas pakettide killustatuse põhjustamist või PMTUD-ga kaasamist [maksimaalse paketi suuruse leidmine valitud tee jaoks]. Mõlemal variandil olid oma erilised probleemid. Isegi kui mõnikord langetasid suured OS-i tootjad MTU väärtust veelgi madalamale.
Tõhususe tegur
Nüüd teame, et Interneti-MTU piirang on 1500B, peamiselt pärandlatentsusmõõdikute ja riistvarapiirangute tõttu. Kui palju see Interneti tõhusust mõjutab?
Kui vaatame andmeid suurest Interneti-vahetuspunktist AMS-IX, siis näeme, et vähemalt 20% edastatud pakettidest on maksimaalse suurusega. Samuti saate vaadata kogu kohtvõrgu liiklust:
Kui kombineerite mõlemad graafikud, saate midagi sellist (liiklusprognoosid iga paketi suuruse vahemiku kohta):
Või kui vaatame kõigi nende päiste liiklust ja muud teenuseteavet, saame sama graafiku erineva skaalaga:
Üsna suur osa ribalaiusest kulub suurima suurusklassi pakettide päistele. Kuna tippliikluse suurim üldkulu on 246 GB/s, võib eeldada, et kui me oleksime kõik "jumbo kaadritele" üle läinud, kui selline võimalus veel eksisteeris, oleks see üldkulu vaid umbes 41 GB/s.
Kuid ma arvan, et täna on see rong suurema osa Internetist juba lahkunud. Ja kuigi mõned pakkujad töötavad MTU-ga 9000, enamik seda ei toeta ja Internetis globaalselt midagi muuta on ikka ja jälle osutunud äärmiselt keeruliseks.
Allikas: www.habr.com