tcpdump 64 KB paketlarni ko'rsatadi: offload va ushlash nuqtasi
Xostdagi ushlashda katta paket segmentatsiyadan oldin yoki agregatsiyadan keyin bo'lishi mumkin. Tunnel o'z MTU'sini e'tiborsiz qoldirdi degan xulosaga kelishdan oldin kuzatuv nuqtasini aniqlang.
Xostda ushlash MTU'si 1420 bo'lgan interfeysda 64 KB paketni ko'rsatishi mumkin va ko'rinib turgan xulosa tunnel o'z hajm chegarasini e'tiborsiz qoldirgani. Bu xulosa odatda noto'g'ri. Xostdagi ushlash nuqtalari ishlov berish yo'lining ichida joylashgan bo'lib, u yerda segmentatsiya, agregatsiya va checksum ishi hali bajarilmagan bo'lishi mumkin. Paket hajmini o'qishdan oldin kuzatuvchining holatini o'qing.
Qayerda ushlashingiz ko'rgan narsangizni o'zgartiradi
Uzatish offload'i stekka katta birlikni tarmoq qurilmasiga berish imkonini beradi, qurilma uni keyin sim hajmidagi bo'laklarga kesadi. Qabul agregatsiyasi kirish yo'lida buning aksini qiladi va segmentlarni xost tomonidagi kuzatuvchi ularni ko'rishidan oldin birlashtiradi. Shuning uchun ushlash o'sha nuqtadagi xostning ichki ko'rinishini yozadi, havoladagi kadrlarni shart emas. Ikkala mexanizm ham qurilma va yo'lga bog'liq.
ethtool -k eth0 | grep -E 'tso|gso|gro'
Hajmni nosozlik deb hisoblashdan oldin ikkinchi nuqtada, ideal holda mustaqil qabul qilgichda yoki oynada ushlang. Agar katta birlik faqat jo'natuvchi xostda ko'rinsa, sim uni hech qachon olib o'tmagan bo'lishi mumkin. Ikki kuzatuv nuqtasi bitta fayldan kuchliroq, ayniqsa savol mashinadan aslida nima chiqqani bo'lsa.
Ichki va tashqi interfeyslarni ajrating
Tunnel o'z interfeysini qo'shadi va tashqi va ichki ko'rinishlar inkapsulyatsiya va ishlov berishda farq qiladi. Tunnel qurilmasidagi ushlash ichki paketni ko'rsatadi; jismoniy adapterdagi ushlash tashqi paketni ko'rsatadi. Hajm, manzillar va checksum holati ular orasida nosozlikka aloqasi bo'lmagan sabablarga ko'ra farq qilishi mumkin.
Har bir faylni qaysi interfeys yaratganini yozib qo'ying. Tunnel qurilmasida ko'rilgan hajm ichki paketni tavsiflaydi, adapter oxirida yuborgan kadrni emas. Ikkalasini bitta tahlilda aralashtirish oddiy inkapsulyatsiya farqini jumbogga aylantiradigan usuldir.
Checksum ogohlantirishi ham joyga bog'liq
Uzatish tomonidagi ushlash checksum maydonini apparat uni to'ldirishidan oldin ko'rsatishi mumkin, bu esa hech bir qabul qilgich ko'rmaydigan ogohlantirishni keltirib chiqaradi. Bu uzoq xostning shikastlangan paketni rad etishidan boshqa dalil. Yo'nalish va ushlash nuqtasi ikkisidan qaysi biri sizda ekanini belgilaydi.
Haqiqiy uzatish muvaffaqiyatsiz bo'lsa, kuzatishlarni qabul qilgichda yoki yo'lning boshqa nuqtasida solishtiring. Yo'nalish, interfeys va inkapsulyatsiya qatlamini yozuv bilan birga saqlang, chunki ularsiz ekran suratini keyin izohlab bo'lmaydi.
Offload'ni faqat nazorat ostidagi sinov sifatida o'chiring
Offload'ni o'chirish unumdorlik va paket ishlovini o'zgartiradi, shuning uchun g'alati hajm ko'rinishiga birinchi javob bu emas. Agar sinasangiz, bitta sozlamani o'zgartiring va avval boshlang'ich holatni yozib oling. MTU, xavfsizlik devori qoidalari va mijoz profilini ham o'zgartiradigan ishga tushirish natijani offload'ga bog'lay olmaydi. Keyin sozlamani tiklang.
ethtool -K eth0 tso off gro off
ping -M do -s 1400 example.com
Katta uzatishning haqiqiy to'xtashi yo'l MTU'si va ilova oladigan qayta aloqa haqidagi alohida savol. Xostning agregatlangan birligi quyidagi hajm chegarasini na isbotlaydi, na rad etadi, past CPU foizi esa offload'ni sabab sifatida ko'rsatmaydi.
Foydali natija izohlangan ushlash nuqtasi va takrorlanadigan ilova kuzatuvi. Ular ajratilganda, MTU o'zgarishi ichki bufer shakli o'rniga haqiqiy cheklovni nishonga olishi mumkin.