O captură pe o gazdă poate arăta un pachet de 64 KB pe o interfață cu MTU 1420, iar concluzia evidentă este că tunelul și-a ignorat limita de dimensiune. Această concluzie este de obicei greșită. Punctele de captură de pe gazdă se află în interiorul căii de procesare, unde segmentarea, agregarea și lucrul cu suma de control pot să nu fi avut loc încă. Citiți poziția observatorului înainte de a citi dimensiunea pachetului.

Unde capturați schimbă ce vedeți

Offload-ul de transmisie permite stivei să predea o unitate mare dispozitivului de rețea, care o taie mai târziu în bucăți de dimensiunea cablului. Agregarea la recepție face invers pe calea de intrare, unind segmente înainte ca un observator din partea gazdei să le vadă. O captură înregistrează așadar imaginea internă a gazdei în acel punct, nu neapărat cadrele de pe legătură. Ambele mecanisme depind de dispozitiv și de cale.

ethtool -k eth0 | grep -E 'tso|gso|gro'

Capturați într-un al doilea punct, ideal un receptor independent sau o oglindă, înainte de a trata dimensiunea ca pe un defect. Dacă unitatea mare apare doar pe gazda care trimite, este posibil ca firul să nu o fi transportat niciodată. Două puncte de observație sunt mai puternice decât un singur fișier, mai ales când întrebarea este ce a părăsit de fapt mașina.

Separați interfața internă de cea externă

Un tunel adaugă propria interfață, iar viziunile externă și internă diferă prin încapsulare și prin procesare. O captură pe dispozitivul tunelului arată pachetul intern; o captură pe adaptorul fizic arată pachetul extern. Dimensiunea, adresele și starea sumei de control pot diferi între ele din motive care nu au nicio legătură cu un defect.

Notați ce interfață a produs fiecare fișier. O dimensiune văzută pe dispozitivul tunelului descrie pachetul intern, nu cadrul pe care adaptorul l-a trimis în final. Amestecarea lor într-o singură analiză este modul în care o diferență normală de încapsulare devine un mister.

O avertizare privind suma de control este și ea pozițională

O captură pe partea de transmisie poate arăta un câmp de sumă de control înainte ca hardware-ul să îl completeze, ceea ce produce o avertizare pe care niciun receptor nu ar vedea-o vreodată. Aceasta este o dovadă diferită de respingerea unui pachet deteriorat de către o gazdă îndepărtată. Direcția și punctul de captură decid care dintre cele două este cazul.

Când un transfer real eșuează, comparați observațiile la un receptor sau într-un alt punct al căii. Păstrați direcția, interfața și stratul de încapsulare împreună cu înregistrarea, pentru că o captură de ecran fără ele nu poate fi interpretată mai târziu.

Dezactivați offload-ul doar ca test controlat

Dezactivarea offload-ului schimbă performanța și procesarea pachetelor, așa că nu este primul răspuns la o afișare ciudată a dimensiunii. Dacă îl testați, schimbați o singură setare și înregistrați mai întâi starea de bază. O rulare care schimbă și MTU-ul, regulile de firewall și profilul clientului nu poate atribui rezultatul offload-ului. Restabiliți setarea după aceea.

ethtool -K eth0 tso off gro off
ping -M do -s 1400 example.com

O blocare reală a unui transfer mare este o întrebare separată despre MTU-ul căii și despre feedback-ul pe care îl primește aplicația. Unitatea agregată a unei gazde nici nu dovedește, nici nu infirmă o limită de dimensiune mai departe, iar un procentaj scăzut de CPU nu identifică offload-ul drept cauză.

Rezultatul util este un punct de captură explicat plus o observație reproductibilă a aplicației. Cu acestea separate, o modificare de MTU poate viza o constrângere reală în loc de forma unui tampon intern.

Articole similare