Як максімальнай адзінкай перадачы інфармацыі ў інтэрнэце сталі 1500 байт

Як максімальнай адзінкай перадачы інфармацыі ў інтэрнэце сталі 1500 байт

Ethernet паўсюль, і дзясяткі тысяч вытворцаў выпускаюць абсталяванне з яго падтрымкай. Аднак амаль ва ўсіх гэтых прылад ёсць адна агульная колькасць – 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) [максімальная адзінка перадачы] вызначае максімальны памер асобнага пакета дадзеных. У агульным выпадку, калі вы абменьваецеся паведамленнямі з прыладамі вашай LAN, MTU будзе мець памер каля 1500 байт, а ўвесь інтэрнэт амаль цалкам таксама працуе з памерам 1500 Б. Аднак гэта не азначае, што гэтыя тэхналогіі сувязі не могуць перадаваць пакетаў большага памеру.

Да прыкладу, у 802.11 (шырэй вядомага як WiFi) MTU роўны 2304 бы, а калі ваша сетка выкарыстае FDDI, тады ваш MTU роўны 4352 бы. У самога Ethernet ёсць канцэпцыя "гіганцкіх кадраў", калі MTU можна прызначыць памер да 9000 б (пры падтрымцы такога рэжыму NIC, камутатарамі і роўтэрамі).

Аднак у інтэрнэце гэта не асабліва патрэбна. Паколькі асноўныя магістралі інтэрнэту ў асноўным складаюцца са злучэнняў Ethernet, дэ-факта неафіцыйны максімальны памер пакета выстаўлены ў 1500 Б, каб пазбегнуць фрагментацыі пакетаў на іншых прыладах.

Сама па сабе колькасць 1500 дзіўная - можна было б чакаць, што канстанты ў свеце кампутараў будуць заснаваныя на ступенях двойкі, напрыклад. Дык адкуль узяліся 1500 Б і чаму мы іх да гэтага часу выкарыстоўваем?

Чароўны лік

Першы вялікі прарыў Ethernet у свет адбыўся ў форме стандартаў 10BASE-2 (тонкі) і 10BASE-5 (тоўсты), лікі ў якіх кажуць аб тым, колькі сотняў метраў можа пакрываць асобны сегмент сеткі.

Паколькі ў той час канкуруючых пратаколаў было мноства, а ў жалеза меліся свае абмежаванні, стваральнік фармату прызнае, што патрабаванні да памяці буфера пакетаў згулялі сваю ролю ў з'яўленні чарадзейнага ліку 1500:

Азіраючыся назад, становіцца зразумела, што максімум большага памеру, магчыма, быў бы лепшым рашэннем, аднак калі б мы павялічылі кошт NIC (сеткавых кантролераў) на ранніх этапах, гэта не дало б Ethernet так шырока распаўсюдзіцца.

Аднак гэта не ўся гісторыя. У працы "Ethernet: размеркаваная камутацыя пакетаў у лакальных кампутарных сетках" 1980 прыведзены адзін з ранніх аналізаў эфектыўнасці выкарыстання ў сетках пакетаў вялікага памеру. У той час гэта было асабліва важна для сетак Ethernet, паколькі тыя альбо маглі злучаць усе сістэмы адным кааксіяльным кабелем, альбо складацца з хабаў, здольных адначасова адпраўляць па адным пакеце для ўсіх вузлоў аднаго сегмента.

Трэба было абраць лік, якое давала б не занадта высокія затрымкі пры перадачы паведамленняў у сегментах (часам даволі загружаных), і пры гэтым не занадта б павялічвала лік пакетаў.

Мяркуючы па ўсім, інжынеры ў той час абралі лік 1500 Б (каля 12000 біт) як найболей "бяспечны" варыянт.

З тых часоў з'яўляліся і знікалі розныя іншыя сістэмы перадачы паведамленняў, аднак сярод іх самае нізкае значэнне MTU было ў Ethernet з яго 1500 Б. Перавышаць мінімальнае значэнне MTU у сетцы - значыць, або выклікаць фрагментацыю пакетаў, або займацца PMTUD [Пошук максімальнага памеру пакета для абранага шляху]. У абодвух варыянтаў былі свае асаблівыя праблемы. Нават калі часам буйныя вытворцы АС апускалі значэнне MTU яшчэ ніжэй.

Фактар ​​эфектыўнасці

Цяпер нам вядома, што MTU у інтэрнэце абмежаваны памерам у 1500 Б па большай частцы з-за старых паказчыкаў затрымак і абмежаванняў абсталявання. Наколькі моцна гэта адбіваецца на эфэктыўнасьці інтэрнэту?

Як максімальнай адзінкай перадачы інфармацыі ў інтэрнэце сталі 1500 байт

Калі паглядзець на дадзеныя з буйной кропкі абмену інтэрнэт-трафікам AMS-IX, мы ўбачым, што не менш за 20% перадаюцца пакетаў маюць максімальны памер. Можна таксама паглядзець на агульны трафік LAN:

Як максімальнай адзінкай перадачы інфармацыі ў інтэрнэце сталі 1500 байт

Калі скамбінаваць абодва графікі, атрымаецца нешта накшталт наступнага (адзнака трафіку для кожнага дыяпазону памераў пакетаў):

Як максімальнай адзінкай перадачы інфармацыі ў інтэрнэце сталі 1500 байт

Або, калі паглядзець на трафік усіх гэтых загалоўкаў і іншай службовай інфармацыі, мы атрымаем той жа графік з іншым маштабам:

Як максімальнай адзінкай перадачы інфармацыі ў інтэрнэце сталі 1500 байт

Даволі большая частка прапускной здольнасці марнуецца на загалоўкі для пакетаў з самага буйнога класа памераў. Паколькі на піку трафіку найбольшыя накладныя выдаткі складаюць 246 Гб/с, можна выказаць здагадку, што калі б мы ўсё перайшлі на "гіганцкія кадры", калі такая магчымасць яшчэ існавала, гэтыя накладныя выдаткі складалі б усяго каля 41 Гб/с.

Але, думаю, сёння для найбуйнай часткі інтэрнэту гэты цягнік ужо сышоў. І хоць некаторыя правайдэры працуюць з MTU роўным 9000, большая частка яго не падтрымлівае, а спробы змяніць нешта глабальна ў інтэрнэце раз-пораз аказваліся надзвычай цяжкай справай.

Крыніца: habr.com

Дадаць каментар