Paano naging 1500 bytes ang maximum unit ng paglilipat ng impormasyon sa Internet

Paano naging 1500 bytes ang maximum unit ng paglilipat ng impormasyon sa Internet

Ang Ethernet ay nasa lahat ng dako, at libu-libong mga tagagawa ang gumagawa ng kagamitan na sumusuporta dito. Gayunpaman, halos lahat ng mga device na ito ay may isang bagay na karaniwan - 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

Tinutukoy ng MTU (Maximum Transmission Unit) ang maximum na laki ng isang solong data packet. Sa pangkalahatan, kapag nagpapalitan ka ng mga mensahe gamit ang mga device sa iyong LAN, ang MTU ay nasa 1500 bytes, at halos ang buong Internet ay gumagana sa 1500 bytes. Gayunpaman, hindi ito nangangahulugan na ang mga teknolohiyang pangkomunikasyon na ito ay hindi makakapagpadala ng mas malalaking laki ng packet.

Halimbawa, ang 802.11 (karaniwang kilala bilang WiFi) ay may MTU na 2304 bytes, at kung ang iyong network ay gumagamit ng FDDI, ang iyong MTU ay 4352 bytes. Ang Ethernet mismo ay may konsepto ng "higanteng mga frame", kung saan ang MTU ay maaaring magtalaga ng sukat na hanggang 9000 bytes (na may suporta para sa mode na ito ng mga NIC, switch at router).

Gayunpaman, sa Internet ito ay hindi partikular na kinakailangan. Dahil ang pangunahing backbones ng Internet ay pangunahing binubuo ng mga koneksyon sa Ethernet, ang de facto na hindi opisyal na maximum na laki ng packet ay nakatakda sa 1500B upang maiwasan ang packet fragmentation sa ibang mga device.

Ang bilang na 1500 mismo ay kakaiba - aasahan ng isa na ang mga constant sa mundo ng kompyuter ay batay sa kapangyarihan ng dalawa, halimbawa. Kaya saan nanggaling ang 1500B at bakit natin ito ginagamit?

magic number

Ang unang malaking tagumpay ng Ethernet sa mundo ay dumating sa anyo ng mga pamantayan. 10BASE-2 (manipis) at 10BASE-5 (makapal), ang mga numero kung saan nagsasaad kung ilang daang metro ang maaaring saklawin ng isang partikular na segment ng network.

Dahil maraming nakikipagkumpitensyang protocol noong panahong iyon, at may mga limitasyon ang hardware, inamin ng tagalikha ng format na ang mga kinakailangan sa memorya ng packet buffer ay may papel sa paglitaw ng magic number na 1500:

Sa pagbabalik-tanaw, malinaw na ang mas malaking maximum ay maaaring mas mahusay na solusyon, ngunit kung tinaasan namin ang halaga ng mga NIC nang maaga, mapipigilan nito ang Ethernet na maging kasing laganap.

Gayunpaman, hindi ito ang buong kuwento. SA trabaho β€œEthernet: Distributed Packet Switching in Local Computer Networks,” 1980, ay nagbibigay ng isa sa mga pinakaunang pagsusuri sa pagiging epektibo ng paggamit ng malalaking packet sa mga network. Sa oras na iyon, ito ay lalong mahalaga para sa mga network ng Ethernet, dahil maaari nilang ikonekta ang lahat ng mga system gamit ang isang coaxial cable, o binubuo ng mga hub na may kakayahang magpadala ng isang packet sa lahat ng mga node sa parehong segment sa isang pagkakataon.

Kinakailangang pumili ng isang numero na hindi magreresulta sa masyadong mataas na pagkaantala kapag nagpapadala ng mga mensahe sa mga segment (kung minsan ay medyo abala), at sa parehong oras ay hindi tataas ang bilang ng mga packet nang labis.

Tila, pinili ng mga inhinyero noong panahong iyon ang numerong 1500 B (mga 12000 bits) bilang ang pinaka "ligtas" na opsyon.

Simula noon, ang iba't ibang mga sistema ng pagmemensahe ay dumating at nawala, ngunit kabilang sa mga ito, ang Ethernet ay may pinakamababang halaga ng MTU na may 1500 Bytes nito. Ang paglampas sa pinakamababang halaga ng MTU sa isang network ay nangangahulugan na maaaring magdulot ng fragmentation ng packet o makisali sa PMTUD [paghahanap ng maximum na laki ng packet para sa napiling landas]. Ang parehong mga pagpipilian ay may sariling mga espesyal na problema. Kahit na kung minsan ay pinababa ng malalaking OS manufacturer ang halaga ng MTU kahit na mas mababa.

Salik ng kahusayan

Alam na namin ngayon na ang Internet MTU ay limitado sa 1500B, higit sa lahat ay dahil sa mga legacy na sukatan ng latency at mga limitasyon sa hardware. Gaano ito nakakaapekto sa kahusayan ng Internet?

Paano naging 1500 bytes ang maximum unit ng paglilipat ng impormasyon sa Internet

Kung titingnan natin ang data mula sa isang malaking Internet exchange point na AMS-IX, makikita natin na hindi bababa sa 20% ng mga ipinadalang packet ang may pinakamataas na sukat. Maaari mo ring tingnan ang kabuuang trapiko sa LAN:

Paano naging 1500 bytes ang maximum unit ng paglilipat ng impormasyon sa Internet

Kung pagsasamahin mo ang parehong mga graph, makakakuha ka ng isang bagay tulad ng sumusunod (mga pagtatantya ng trapiko para sa bawat hanay ng laki ng packet):

Paano naging 1500 bytes ang maximum unit ng paglilipat ng impormasyon sa Internet

O, kung titingnan namin ang trapiko ng lahat ng mga header na ito at iba pang impormasyon ng serbisyo, makukuha namin ang parehong graph na may ibang sukat:

Paano naging 1500 bytes ang maximum unit ng paglilipat ng impormasyon sa Internet

Malaking bahagi ng bandwidth ang ginugugol sa mga header para sa mga packet sa pinakamalaking klase ng laki. Dahil ang pinakamataas na overhead sa peak traffic ay 246 GB/s, maaari itong ipagpalagay na kung lahat tayo ay lumipat sa "jumbo frames" noong umiral pa ang ganoong opsyon, ang overhead na ito ay magiging mga 41 GB/s lang.

Ngunit sa tingin ko ngayon para sa pinakamalaking bahagi ng Internet na ang tren ay umalis na. At bagama't gumagana ang ilang provider sa isang MTU na 9000, karamihan ay hindi sumusuporta dito, at ang pagsisikap na baguhin ang isang bagay sa buong mundo sa Internet ay napatunayang napakahirap nang paulit-ulit.

Pinagmulan: www.habr.com

Magdagdag ng komento