Хуудас ачаалагдаж, жижиг API дуудлага буцаж ирээд, дараа нь файл байршуулалт клиент бууж өгтөл дүүжлэгдэнэ. Серверийн бүртгэлд үүнийг тайлбарлах зүйл байхгүй, учир нь пакетууд замын дунд ашигтай хариу буцаахгүйгээр хаягдсан. Энэ хэв маяг нь MTU хар нүх: илгээгчийн таамаглаж байгаагаас нарийн холбоос, дээр нь үүнийг хэлэхээс чимээгүй татгалзал. Бүтэлгүйтэх хэмжээ давтагдах боломжтой бөгөөд яг энэ нь түүнийг оношлох боломжтой болгодог.

Нүхийг хар болгох зүйл

Холбоос бүр хамгийн их дамжуулалтын нэгжтэй бөгөөд дараагийн харайлтын хязгаараас том пакетыг эсвэл хуваах, эсвэл үүнийг хэлж буй ICMP мессежээр татгалзах ёстой. Замын MTU илрүүлэлт нь тэр мессеж ирж, хүндлэгдэхээс хамаарна. Түүнийг шүүх эсвэл үл хэрэгсэх нь илгээгчийг хэзээ ч багтахгүй пакетыг давтан илгээхэд орхино.

Инкапсуляци үүнийг VPN-ийн эргэн тойронд түгээмэл болгодог, учир нь туннель физик холбоосын хэмжээнд тохируулсан пакетэд гадаад толгой нэмдэг. Дотоод пакет 1500 байтад хууль ёсны, инкапсуляцлагдсан нь биш, тиймээс тэр хил дээр үхэж, жижиг пакетууд нэвтэрнэ. Дууссан гар барилт болон ажиллаж буй нэвтрэх хуудас нь зөвхөн жижиг пакетууд ажиллаж байгааг нотолно. Аппликешн илгээх гэж оролдож буй хамгийн том пакет нь чухал нь юм.

Эвдрэх хэмжээг ол

Хуваахгүй сорилгоор ачааны хэмжээг хоёртын хайлтаар ол, туннелийн нэг талын хостноос нөгөө талын хост руу. Нэвтрэх хамгийн том ачаа бол таны ашиглах боломжтой замын MTU-аас толгойн зардлыг хассан нь.

ping -M do -s 1400 -c 2 192.0.2.20
ping -M do -s 1200 -c 2 192.0.2.20
ping -f -l 1372 192.0.2.20

1472 байтын ачаа цэвэр 1500 байтын Ethernet замд IPv4 болон ICMP толгойн 28 байтыг нэмэхэд нэвтэрнэ. Туннель босгосны дараа мөн сорилго зөвхөн бага ачаанд нэвтрэх болвол ялгаа нь инкапсуляцийн зардал бөгөөд туннелийн хил нь татгалзах мессеж үүсэх ёстой байсан газар юм. Хоёр тоог хоёуланг нь, холбогдохоос өмнө болон дараа бичээрэй, учир нь тэр хос бол нотолгоо. Аппликешн IPv6 ашигладаг бол сорилгыг давтаарай, учир нь толгой нь том бөгөөд бүтэлгүйтлийн босго шилждэг.

Туннелийг буруутгахын өмнө нотолгоог унш

Алслагдсан аппликешнуудын алдаа, түгжрэл болон ердийн алдагдал мөн байршуулалтыг зогсоодог, тиймээс нэг бүтэлгүй дамжуулалт хар нүхийг тодорхойлохгүй. Тэднийг ялгадаг зүйл бол хэмжээний хамаарал: 1200 байтад давтагдах амжилт, 1400 байтад давтагдах зогсолт, ижил чиглэлд, ижил төгсгөлийн цэгээр.

Хоёр үзүүрт хийсэн бичлэг нь том пакетууд гарч, хэзээ ч ирэхгүй, тэдний хооронд татгалзал байхгүйг харуулна. Энэ бол серверийн оронд хилийн төхөөрөмж рүү харах мөч, учир нь сервер өөрт нь үнэхээр ирсэн хүсэлт бүрд хариулж байна. Түгжрэл ч зогсоодог, гэхдээ тэр өөр өөр цагт өөр өөр хэмжээг зогсоодог, энэ нь өөр гарын үсэг.

Засварыг хоёр тээвэрт шалга

Дэмжигддэг засвар нь хилд бодит хязгаарыг мэдээлэх боломж олгох, эсвэл тэнд TCP-ийн хамгийн их сегментийн хэмжээг хавчих бөгөөд ингэснээр хэт том сегмент оролдохгүй. Сүлжээний бүх MTU-ыг буулгах эсвэл галт ханыг унтраах нь шинж тэмдгийг нууж, дараа нь хэн ч дүгнэж чадахгүй тохиргоог үлдээдэг.

ip link show dev tun0
sudo nft list ruleset | grep -i -E 'mtu|mss'
sysctl net.ipv4.tcp_mtu_probing
ping -M do -s 1400 -c 2 192.0.2.20

Мөн хэмжээний сорилгоор баталгаажуулж, дараа нь бүтэлгүйтсэн аппликешнээр, мөн хоёр дахь протоколыг шалгаарай, учир нь UDP аппликешнууд TCP-ийн сегментийн хэмжээний засварыг хэзээ ч авдаггүй. Анхны утгуудыг тасалбарт хадгалаарай, учир нь буцаах боломжгүй засвар бол болохыг хүлээж буй хоёр дахь асуудал. Хэрэв хэмжээний сорилго давж, байршуулалт гацсаар байвал хар нүх шалтгаан биш байсан тул өөрчлөлтийг өргөжүүлэхийн оронд мөрдөн шалгалтыг үргэлжлүүлэх ёстой.

Холбоотой нийтлэлүүд