Ethernet хаа сайгүй байдаг бөгөөд хэдэн арван мянган үйлдвэрлэгчид үүнийг дэмждэг төхөөрөмж үйлдвэрлэдэг. Гэсэн хэдий ч эдгээр бараг бүх төхөөрөмжүүд нэг нийтлэг зүйлтэй байдаг -
$ 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 гэж нэрлэдэг) нь 2304 байт MTU-тэй бөгөөд хэрэв таны сүлжээ FDDI ашигладаг бол таны MTU нь 4352 байт байна. Ethernet нь өөрөө "аварга хүрээ" гэсэн ойлголттой бөгөөд MTU-д 9000 байт хүртэлх хэмжээтэй (энэ горимыг NIC, унтраалга, чиглүүлэгчээр дэмждэг) хуваарилж болно.
Гэсэн хэдий ч Интернет дээр энэ нь тийм ч чухал биш юм. Интернэтийн үндсэн суурь нь голчлон Ethernet холболтоос бүрддэг тул бусад төхөөрөмж дээр пакет хуваагдахаас зайлсхийхийн тулд де факто албан бус хамгийн их пакетийн хэмжээг 1500B гэж тохируулсан.
1500 тоо нь өөрөө хачирхалтай - жишээлбэл, компьютерийн ертөнцөд тогтмол үзүүлэлтүүд нь хоёрын хүчин чадал дээр суурилдаг гэж таамаглаж болно. Тэгэхээр 1500В хаанаас ирсэн бэ, яагаад бид одоог хүртэл ашигладаг вэ?
Шидэт тоо
Ethernet-ийн дэлхийд гарсан анхны том нээлт нь стандарт хэлбэрээр гарч ирсэн.
Тухайн үед өрсөлдөж буй олон протоколууд байсан бөгөөд техник хангамж нь өөрийн гэсэн хязгаарлалттай байсан тул форматыг бүтээгч пакет буферийн санах ойд тавигдах шаардлага 1500 шидэт тоо гарч ирэхэд чухал үүрэг гүйцэтгэсэн гэдгийг хүлээн зөвшөөрдөг.
Эргээд харахад илүү их дээд хэмжээ нь илүү сайн шийдэл байж болох байсан ч хэрэв бид NIC-ийн үнийг эртнээс нэмсэн бол энэ нь Ethernet-ийг өргөн тархахаас урьдчилан сэргийлэх байсан.
Гэсэн хэдий ч энэ бол бүхэл бүтэн түүх биш юм. IN
Сегментээр мессеж дамжуулахад хэт их саатал гарахгүй (заримдаа нэлээд завгүй) дугаар сонгох шаардлагатай байсан бөгөөд тэр үед пакетуудын тоог хэт их өсгөхгүй.
Тухайн үеийн инженерүүд 1500 B (ойролцоогоор 12000 бит) тоог хамгийн "аюулгүй" хувилбараар сонгосон бололтой.
Түүнээс хойш янз бүрийн мессежийн системүүд ирж, алга болсон ч Ethernet нь 1500 байтаараа хамгийн бага MTU утгатай байсан.Сүлжээнд MTU-ийн хамгийн бага утгаас хэтэрсэн нь пакетын хуваагдал үүсгэх эсвэл PMTUD-д оролцох [хамгийн их пакетийн хэмжээг олох гэсэн үг юм. сонгосон замд]. Хоёр сонголт хоёулаа өөр өөрийн гэсэн асуудалтай байсан. Заримдаа том үйлдлийн систем үйлдвэрлэгчид MTU-ийн утгыг бууруулж байсан ч гэсэн.
Үр ашгийн хүчин зүйл
Интернэтийн MTU нь 1500B-ээр хязгаарлагддагийг бид одоо мэдэж байгаа бөгөөд энэ нь ихэвчлэн хуучин хоцрогдлын хэмжүүрүүд болон техник хангамжийн хязгаарлалтаас шалтгаална. Энэ нь интернетийн үр ашигт хэр нөлөөлж байна вэ?
Хэрэв бид AMS-IX томоохон интернет солилцооны цэгийн өгөгдлийг харвал дамжуулагдсан пакетуудын дор хаяж 20% нь хамгийн их хэмжээтэй байна. Та мөн нийт LAN урсгалыг харж болно:
Хэрэв та хоёр графикийг нэгтгэвэл дараахтай төстэй зүйл гарч ирнэ (пакетийн хэмжээ тус бүрийн замын хөдөлгөөний тооцоо):
Эсвэл, хэрэв бид эдгээр бүх толгойн урсгал болон бусад үйлчилгээний мэдээллийг харвал бид өөр масштабтай ижил графикийг авна.
Дамжуулах зурвасын өргөний нэлээд хэсэг нь хамгийн том хэмжээтэй пакетуудын толгой хэсэгт зарцуулагддаг. Ачаалал ихтэй үед хамгийн их ачаалал нь 246 ГБ/с байдаг тул хэрэв ийм сонголт байсаар байхад бид бүгдээрээ "jumbo frame"-д шилжсэн бол энэ нэмэлт зардал ердөө 41 ГБ/с байх байсан гэж үзэж болно.
Гэхдээ өнөөдөр интернетийн ихэнх хэсэг нь галт тэрэг явчихсан гэж би бодож байна. Хэдийгээр зарим үйлчилгээ үзүүлэгчид 9000 MTU-тай ажилладаг ч ихэнх нь үүнийг дэмждэггүй бөгөөд интернетээр дэлхий даяар ямар нэг зүйлийг өөрчлөхийг оролдох нь маш хэцүү байдаг нь дахин дахин нотлогдсон.
Эх сурвалж: www.habr.com