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 өзгөртүү ички буфердин формасынын ордуна чыныгы чектөөнү көздөй алат.