Pachetele mari dispar peste IPsec, în timp ce pingurile mici încă funcționează
Sondele mici răspund, iar copierea fișierelor se blochează, semnătura unei decizii de dimensiune luate înainte de criptare. Aflați ce parte împarte pachetul și de ce.
Shell-urile la distanță rămân receptive, sondele mici răspund, apoi o copiere de fișier se târăște și se blochează fără nicio eroare pe care cineva să o poată arăta. Un ping cu sarcină mai mare reproduce imediat, iar același transfer funcționează din rețeaua locală. Nimic din criptare nu este lent; anumite pachete nu ajung niciodată. Două împărțiri diferite pot produce acea semnătură și lasă dovezi diferite.
Două locuri unde un pachet poate fi împărțit
Înainte de criptare, routerul poate împărți un pachet intern prea mare și poate proteja fiecare bucată separat. După criptare, ceea ce se împarte este pachetul extern terminat, iar capătul îndepărtat trebuie să îl reasambleze înainte de a putea decripta ceva. Același simptom, muncă diferită pentru receptor și butoane diferite pentru dumneavoastră.
Distincția contează pentru că o corecție îndreptată spre partea greșită schimbă un număr fără să miște defectul. Un pachet respins la interfață nu devine niciodată pachet extern, așa că nicio setare din partea externă nu îl poate salva.
Unde se ia de fapt decizia de dimensiune
O interfață de tunel poartă un IP MTU, iar acea valoare poate respinge un pachet intern prea mare mult înainte ca etapa IPsec să îl vadă. Setarea unui bit în antetul extern nu reexaminează decizia anterioară, pentru că pachetul a fost deja respins. De aceea creșterea MTU-ului intern uneori înrăutățește lucrurile în loc să le îmbunătățească. Citiți valoarea interfeței și comportamentul extern înainte de a schimba oricare dintre ele, pentru că modificarea mai ieftină este de obicei cea care explică simptomul.
Verificați mai întâi valoarea interfeței, apoi comportamentul extern. Două numere, două etape, și de obicei doar unul dintre ele este responsabil.
Bugetul extern nu este bugetul intern
Fiecare encapsulare cheltuie octeți pe anteturi, iar cantitatea depinde de transport, de familia de adrese și de existența traversării NAT. Un pachet intern care încape pe legătura locală poate produce totuși un pachet extern care nu încape pe calea de după ea. Măsurați suprasarcina în loc să o presupuneți, pentru că fiecare antet opțional se adaugă la factură. Un tunel cu traversare NAT plătește mai mult decât unul gol, iar diferența este suficientă pentru a rupe un transfer care funcționa ieri.
Când pachetul extern poartă bitul de interzicere a fragmentării, un salt care nu îl poate înainta îl aruncă și ar trebui să returneze un mesaj ICMP. Dacă mesajul este filtrat undeva, expeditorul încearcă în continuare, iar utilizatorul vede o oprire fără explicație. Acea aruncare silențioasă este motivul obișnuit pentru care o problemă de dimensiune este raportată ca problemă de viteză.
IPv6 elimină una dintre opțiuni
Routerele IPv6 nu fragmentează în tranzit, așa că pachetul extern fie încape, fie dispare cu un mesaj Packet Too Big. Acel mesaj devine singurul canal de feedback, iar blocarea lui strică descoperirea căii pentru fiecare transfer mare care urmează. Routerele IPv4 pot fragmenta un pachet mare când bitul este curat, ceea ce ascunde defectul până când altceva setează acel bit.
Pe o stivă mixtă, același tunel se poate comporta diferit pentru cele două familii, de aceea un singur test pe IPv4 nu rezolvă o reclamație despre IPv6. O verificare care exersează o singură familie lasă jumătate din răspuns nemăsurată.
Politica segmentelor TCP nu este un răspuns general
Limitarea dimensiunii maxime a segmentului ajută fluxurile TCP și este un control legitim când problema se limitează la ele. Nu are niciun efect asupra UDP, care transportă DNS, unele protocoale vocale și o parte crescândă din traficul web.
Aplicați-o, apoi testați sarcina care a eșuat. Dacă cazul UDP eșuează în continuare, politica segmentelor nu a fost niciodată răspunsul, iar bugetul interfeței are încă nevoie de atenție. Identificați mai întâi protocolul sarcinii care eșuează, apoi alegeți controlul care îi aparține.
Ordinea de lucru
Notați cea mai mare sarcină care supraviețuiește, apoi MTU-ul interfeței, apoi dacă pachetul extern poartă bitul de interzicere a fragmentării și în final dacă feedback-ul ICMP ajunge la expeditor. Acea secvență îngustează defectul fără a ghici. Păstrați fiecare observație cu marcă de timp și punct final, pentru că toate cele patru numere se mișcă atunci când calea se schimbă.
Schimbați o valoare, retestați transferul original și păstrați rezultatul. Un tunel care trece o sondă mare dar încă se oprește în aplicație a trecut la altă problemă, iar aceasta este progres care merită notat. Următoarea persoană preferă numerele concluziei.