tcpdump rodo 64 KB paketus: offload ir fiksavimo taškas
Didžiulis paketas, matomas fiksuojant pagrindiniame kompiuteryje, gali būti prieš segmentavimą arba po agregavimo. Nustatykite stebėjimo tašką prieš darydami išvadą, kad tunelis nepaisė savo MTU.
Fiksavimas pagrindiniame kompiuteryje gali parodyti 64 KB paketą sąsajoje, kurios MTU yra 1420, ir akivaizdi išvada — tunelis nepaisė savo dydžio ribos. Ši išvada paprastai klaidinga. Fiksavimo taškai kompiuteryje yra apdorojimo kelio viduje, kur segmentavimas, agregavimas ir kontrolinės sumos darbas gali dar nebūti įvykę. Perskaitykite stebėtojo padėtį prieš skaitydami paketo dydį.
Kur fiksuojate, keičia tai, ką matote
Siuntimo offload leidžia dėkui perduoti didelį vienetą tinklo įrenginiui, kuris vėliau supjausto jį laidinio dydžio gabalais. Priėmimo agregavimas daro priešingai įėjimo kelyje ir sujungia segmentus prieš tai, kai juos pamato stebėtojas kompiuterio pusėje. Todėl fiksavimas įrašo vidinį kompiuterio vaizdą tame taške, o ne būtinai kadrus jungtyje. Abu mechanizmai priklauso nuo įrenginio ir kelio.
ethtool -k eth0 | grep -E 'tso|gso|gro'
Fiksuokite antrame taške, idealiu atveju nepriklausomame imtuve ar veidrodyje, prieš laikydami dydį gedimu. Jei didelis vienetas atsiranda tik siunčiančiame kompiuteryje, laidas jo galėjo niekada nenešti. Du stebėjimo taškai stipresni už vieną failą, ypač kai klausimas yra, kas iš tikrųjų paliko mašiną.
Atskirkite vidinę ir išorinę sąsajas
Tunelis prideda savo sąsają, ir išorinis ir vidinis vaizdai skiriasi inkapsuliavimu ir apdorojimu. Fiksavimas tunelio įrenginyje rodo vidinį paketą; fiksavimas fiziniame adapteryje rodo išorinį. Dydis, adresai ir kontrolinės sumos būsena gali skirtis tarp jų dėl priežasčių, neturinčių nieko bendra su gedimu.
Užrašykite, kuri sąsaja sukūrė kiekvieną failą. Dydis, matomas tunelio įrenginyje, apibūdina vidinį paketą, o ne kadrą, kurį adapteris galiausiai išsiuntė. Jų sumaišymas vienoje analizėje yra tai, kaip įprastas inkapsuliavimo skirtumas tampa mįsle.
Kontrolinės sumos įspėjimas taip pat priklauso nuo vietos
Fiksavimas siuntimo pusėje gali parodyti kontrolinės sumos lauką prieš jį užpildant techninei įrangai, o tai sukuria įspėjimą, kurio joks imtuvas niekada nematytų. Tai kitoks įrodymas nei nutolusio kompiuterio atmetamas pažeistas paketas. Kryptis ir fiksavimo taškas nulemia, kurį iš dviejų turite.
Kai tikras perdavimas nepavyksta, palyginkite stebėjimus imtuve ar kitame kelio taške. Išsaugokite kryptį, sąsają ir inkapsuliavimo sluoksnį kartu su įrašu, nes ekrano nuotraukos be jų vėliau neįmanoma interpretuoti.
Išjunkite offload tik kaip kontroliuojamą bandymą
Offload išjungimas keičia našumą ir paketų apdorojimą, todėl tai nėra pirmoji reakcija į keistą dydžio rodymą. Jei bandote, pakeiskite vieną nuostatą ir pirmiausia užrašykite pradinę būseną. Vykdymas, kuris taip pat keičia MTU, ugniasienės taisykles ir kliento profilį, negali priskirti rezultato offload. Vėliau atkurkite nuostatą.
ethtool -K eth0 tso off gro off
ping -M do -s 1400 example.com
Tikras didelio perdavimo sustojimas yra atskiras klausimas apie kelio MTU ir grįžtamąjį ryšį, kurį gauna programa. Kompiuterio agreguotas vienetas nei įrodo, nei paneigia tolesnę dydžio ribą, o mažas CPU procentas nenurodo offload kaip priežasties.
Naudingas rezultatas yra paaiškintas fiksavimo taškas ir pakartojamas programos stebėjimas. Kai tai atskirta, MTU pakeitimas gali nukreipti į tikrą apribojimą, o ne į vidinio buferio formą.