tcpdump 64 KB пакеттерді көрсетеді: offload және ұстау нүктесі
Хосттағы ұстаудағы алып пакет сегменттеуден бұрын немесе агрегаттаудан кейін болуы мүмкін. Туннель өзінің MTU-ын елемеді деп қорытынды жасамас бұрын бақылау нүктесін анықтаңыз.
Хостта ұстау MTU-ы 1420 интерфейсте 64 KB пакетті көрсетуі мүмкін, ал айқын қорытынды — туннель өзінің өлшем шегін елемеді. Бұл қорытынды әдетте қате. Хосттағы ұстау нүктелері өңдеу жолының ішінде орналасқан, онда сегменттеу, агрегаттау және бақылау сомасы жұмысы әлі орындалмаған болуы мүмкін. Пакет өлшемін оқымас бұрын бақылаушының орнын оқыңыз.
Қай жерде ұстауыңыз көргеніңізді өзгертеді
Жіберу offload-ы стекке үлкен бірлікті желі құрылғысына беруге мүмкіндік береді, ол кейін оны сым өлшеміндей бөліктерге кеседі. Қабылдау агрегаттауы кіру жолында керісінше жасайды және хост жағындағы бақылаушы оларды көрмей тұрып сегменттерді біріктіреді. Сондықтан ұстау сол нүктедегі хосттың ішкі көрінісін жазады, байланыстағы кадрларды міндетті түрде емес. Екі механизм де құрылғы мен жолға тәуелді.
ethtool -k eth0 | grep -E 'tso|gso|gro'
Өлшемді ақау деп санамас бұрын екінші нүктеде, мұратта тәуелсіз қабылдағышта немесе айнада ұстаңыз. Егер үлкен бірлік тек жіберуші хостта көрінсе, сым оны ешқашан тасымалдамаған болуы мүмкін. Екі бақылау нүктесі бір файлдан күштірек, әсіресе сұрақ машинадан шынымен не шықты дегенде.
Ішкі және сыртқы интерфейстерді ажыратыңыз
Туннель өзінің интерфейсін қосады, және сыртқы және ішкі көріністер инкапсуляция мен өңдеуде ерекшеленеді. Туннель құрылғысындағы ұстау ішкі пакетті көрсетеді; физикалық адаптердегі ұстау сыртқы пакетті көрсетеді. Өлшем, мекенжайлар және бақылау сомасының күйі олардың арасында ақауға қатысы жоқ себептермен ерекшеленуі мүмкін.
Әр файлды қай интерфейс жасағанын жазыңыз. Туннель құрылғысында көрінген өлшем ішкі пакетті сипаттайды, адаптердің соңында жіберген кадрын емес. Оларды бір талдауда араластыру қарапайым инкапсуляция айырмашылығын жұмбаққа айналдыратын жол.
Бақылау сомасының ескертуі де позициялық
Жіберу жағындағы ұстау бақылау сомасы өрісін аппараттық құрал оны толтырмай тұрып көрсетуі мүмкін, бұл ешбір қабылдағыш көрмейтін ескерту тудырады. Бұл бүлінген пакетті қашықтағы хосттың қабылдамауынан өзге дәлел. Бағыт пен ұстау нүктесі екеуінің қайсысы сізде екенін шешеді.
Нақты тасымалдау сәтсіз болғанда, бақылауларды қабылдағышта немесе жолдың басқа нүктесінде салыстырыңыз. Бағытты, интерфейсті және инкапсуляция қабатын жазбамен бірге сақтаңыз, өйткені оларсыз экран суретін кейін түсіндіру мүмкін емес.
offload-ты тек бақыланатын сынақ ретінде өшіріңіз
offload-ты өшіру өнімділік пен пакет өңдеуді өзгертеді, сондықтан бұл оғаш өлшем көрінісіне бірінші жауап емес. Егер сынасаңыз, бір параметрді өзгертіп, алдымен базалық күйді жазыңыз. MTU-ды, брандмауэр ережелерін және клиент профилін де өзгертетін іске қосу нәтижені offload-қа телуге болмайды. Кейін параметрді қалпына келтіріңіз.
ethtool -K eth0 tso off gro off
ping -M do -s 1400 example.com
Үлкен тасымалдаудың нақты тоқтауы — жол MTU-ы және қолданба алатын кері байланыс туралы бөлек сұрақ. Хосттың агрегатталған бірлігі төмендегі өлшем шегін дәлелдемейді де, теріске де шығармайды, ал төмен CPU пайызы offload-ты себеп ретінде анықтамайды.
Пайдалы нәтиже — түсіндірілген ұстау нүктесі және қайталанатын қолданба бақылауы. Оларды ажыратқанда, MTU өзгерісі ішкі буфер пішінінің орнына нақты шектеуді нысанаға ала алады.