Sahifa yuklanadi, ping muvaffaqiyatli o'tadi, lekin fayl nusxasi har safar bir joyda tiqilib qoladi. Bu naqsh tarmoq kengligi yoki hisob ma'lumotlariga emas, paket hajmiga ishora qiladi. Inkapsulyatsiya har bir paketga bayt qo'shadi, shuning uchun asl yo'lda sig'adigan foydali yuk tunnel ichidan o'tgach chegaradan oshib ketishi mumkin. Bu suhbatlarda uch xil son MTU deb ataladi va ularni aralashtirish bir dasturni tuzatib, boshqasini buzadigan sozlamaga olib keladi.

Odamlar MTU deb ataydigan uchta son

Interfeys MTU bu o'sha havolada paket uchun sozlangan chegara. Yo'l MTU marshrut bo'ylab eng kichik chegara bo'lib, u sozlanmaydi, aniqlanadi. TCP MSS bu qarshi tomon qabul qila olishini e'lon qiladigan foydali yuk hajmi va u qolgan ikkitasidan kelib chiqadi, alohida jismoniy chegara emas.

Tunnelning ichki va tashqi ko'rinishi bor. Tashqi paket inkapsulyatsiya qilingan paketni hamda protokolga kerak sarlavhalarni olib yuradi, shuning uchun foydalanish mumkin bo'lgan ichki hajm tashqi yo'l ruxsat berganidan kichik. VPN serverigacha yo'l ham serverning manzilgacha yo'lidan farq qiladi.

Yo'l MTU ni aniqlash jo'natuvchiga ishlaydigan hajmni bilish imkonini beradi, lekin qayta aloqa yetib kelishiga bog'liq. Oraliq qurilma tegishli ICMP xabarlarini filtrlaganda jo'natuvchi hech qachon tugamaydigan paketlarni yuborishda davom etadi va bu klassik qora tuynuk. Alomat bilinganda yaqqol: qo'l siqish muvaffaqiyatli o'tadi, birinchi to'liq hajmdagi yuk yo'qoladi va ulanish oxir-oqibat qayta o'rnatiladi yoki tiqilib qoladi. Dastur jurnalida tarmoq muammosiga o'xshash hech narsa yo'q.

Yo'lni o'zingiz nazorat qiladigan yuk bilan sinab ko'ring

Sinov bitta marshrut va bitta hajm haqidagi dalil, tavsiya etilgan sozlama emas. Javob beradigan hostdan foydalaning va faqat yuk hajmini o'zgartiring.

ping -M do -s 1372 -c 2 203.0.113.20
ping -4 -f -l 1372 vpn.example

Birinchi buyruq fragmentatsiyani o'chirib, 1372 baytli yuk bilan Linux sinovini yuboradi, ikkinchisi esa yuk -l bilan o'rnatiladigan Windows'da xuddi shunday qiladi. Javob bu hajm yo'ldan o'tganini bildiradi. Fragmentatsiya kerakligi haqidagi xabar ma'lumot beradi, ammo taymaut noaniq, chunki host yoki oraliq qurilma ICMP ni shunchaki tashlab yuborishi mumkin.

Hajmni baytgacha binar qidiruv o'rniga bir necha qadamda tushiring. Siz hajm shifti bor-yo'qligini aniqlashga harakat qilyapsiz, har bir tarmoq uchun son e'lon qilishga emas. Topgan soningiz shu yo'l, shu protokol va shu manzillar oilasiga tegishli.

IPv4 va IPv6 turlicha fragmentlanadi, shuning uchun bir oilaning natijasi ikkinchisi haqida hech narsa demaydi. Dastur haqiqatda ishlatadigan oilani sinab ko'ring.

MSS cheklash faqat TCP ga yordam beradi

TCP da samarali yuk qo'l siqish vaqtida kelishiladi va yo'ldagi router bu qiymatni pastga qayta yozib, ikkala tomon kichikroq segmentlar yuborishi mumkin. MSS cheklash shuni qiladi va mijozga umuman tegmasdan ishlaydi.

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ip link show tun0

Birinchi qoida uzatiladigan TCP qo'l siqishlari uchun e'lon qilingan MSS ni yo'l MTU siga cheklaydi, ikkinchisi tunnel interfeysining o'z MTU sini ko'rsatadi, shunda uni yo'l ruxsat bergan bilan solishtirasiz. Cheklash qo'l siqishdan keyin tiqilib qoladigan TCP dasturi uchun eng kam aralashadigan tuzatish.

UDP uchun u hech narsa qilmaydi. Katta datagrammalar yuboradigan ovoz yoki o'yin mijozi MSS sozlamasini butunlay e'tiborsiz qoldiradi, chunki qayta yoziladigan qo'l siqish yo'q. Agar muvaffaqiyatsiz dastur UDP bo'lsa, uning o'rniga mijozning o'z paket hajmi parametrlariga qarang. Ikki protokol turlicha ishdan chiqadi va turli asboblar bilan tuzatiladi, shuning uchun protokol chiptaning birinchi gapida bo'lishi kerak.

OpenVPN tun-mtu, mssfix va fragmentatsiyaga oid sozlamalar kabi parametrlarni taqdim etadi va ularning xatti-harakati versiya hamda ma'lumot kanali AEAD yoki yo'qligiga bog'liq. Ishlatilayotgan versiya qo'llanmasini o'qing va bir vaqtda bitta parametrni o'zgartiring.

Bitta qo'llab-quvvatlanadigan sozlamani o'zgartiring va ikkala sinovni takrorlang

Asl profilni saqlang, bitta qo'llab-quvvatlanadigan qiymatni o'zgartiring va ishlagan kichik so'rovni ham, muvaffaqiyatsiz bo'lgan katta uzatishni ham takrorlang. Faqat kattasi o'zgarsa, siz hajm ortidan quvgansiz. Ikkalasi ham o'zgarsa, u bilan birga yana nimadir siljigan.

Pastroq qiymat alomatni kamaytirishi mumkin, lekin qo'shimcha xarajat qo'shadi, shuning uchun eng kichik son maqsad emas. Maqsad yo'l eng kam isrof bilan ishonchli olib o'tadigan hajm. Qiymat, yo'l va mijoz versiyasini chiptaga yozing, chunki o'sha sonni boshqa joyda qo'llash taxmin.

Agar o'sha profil boshqa ishonchli tarmoqdan ishlasa, mijoz tuzatildi deb e'lon qilish o'rniga bu farqni diagnostikada saqlang. O'zgargan o'zgaruvchi yo'l va sinov o'lchagan narsa ham yo'l.

O'xshash maqolalar