Stránky sa načítajú, VPN hlási pripojenie a nahrávanie súboru zakaždým zamrzne v tom istom bode. Tomu popisu zodpovedajú štyri vysvetlenia: problém s veľkosťou paketa, problém s prekladom mien, limit aplikácie a tunel, ktorý sa neustále obnovuje. Každé z nich možno potvrdiť alebo vylúčiť iným pozorovaním, takže rozhodnutie spočíva vo výbere správneho testu, nie v hádaní príčiny.

Štyria kandidáti a jeden tvar

Začnite tvarom poruchy, pretože ten vyradí väčšinu zoznamu skôr, než otvoríte akýkoľvek nástroj. Zaseknutie, ku ktorému dochádza pri stálej veľkosti, je problém veľkosti, kým sa nepreukáže opak. Zaseknutie v náhodných bodoch je problém strát alebo stability. Zlyhanie pred otvorením spojenia je problém mien.

Štvrtým kandidátom je aplikácia. Limity nahrávania, časové limity požiadaviek a stropy veľkosti tela na proxy vytvárajú zlyhania, ktoré z prehliadača vyzerajú ako sieťové poruchy, a zvyčajne prichádzajú ako odmietnutie, nie ako zamrznutie.

Zapíšte pozorovaný tvar, než čokoľvek otestujete. „Zastaví sa približne na rovnakom počte bajtov, zakaždým, keď je tunel hore“ je oveľa silnejší východiskový bod ako „nahrávanie nefunguje“.

Potom počas testovania držte cestu nezmenenú. Zmena výstupu, protokolu a servera naraz dáva výsledok, ktorý nemôžete pripísať žiadnemu z nich. Jedna premenná na beh, a zapíšte ju.

Rozdeľte veľkosť na polovicu, kým sa dotknete politiky

Najlacnejší rozlišovač je sonda, ktorá mení jedno číslo. Pošlite na cieľ pingy s rastúcou veľkosťou a zákazom fragmentácie, nahrajte súbor, ktorý ovládate, na tú istú službu a potom porovnajte, kde sa každý zastaví.

ping -M do -s 1472 203.0.113.9
curl -T ./probe.bin -o /dev/null -w '%{size_upload} %{time_total}
' https://example.net/upload

Prvý príkaz hlási, či paket plnej veľkosti vôbec prejde cestou. Pri MTU 1500 bajtov je najväčšie ICMP užitočné zaťaženie, ktoré sa nefragmentuje, 1472 bajtov, a tunel si z tohto rozpočtu vezme ešte viac, než vnútorný paket začne. Druhý vám dá veľkosť a trvanie prenosu na úrovni aplikácie, a to je číslo, na ktorom skutočne záleží.

CandidateObservation that confirms itObservation that rules it out
Path MTU or blocked ICMP feedbackStall at a consistent size; large do-not-fragment probes failSmall and large transfers both complete
Name resolutionThe connection never opens for that nameThe connection opens and then stalls mid-transfer
Application or proxy limitA clean rejection at a documented sizeNo log entry on the server at all
Tunnel instabilityReconnects or rekeying during the transferThe tunnel uptime is unchanged across the failure

Čítajte oba spolu. Sondy, ktoré zlyhávajú nad prahom, a nahrávanie, ktoré sa zastaví blízko toho istého prahu, tvoria súvislý príbeh. Sondy, ktoré všetky uspejú, zatiaľ čo nahrávanie zamrzne na počte bajtov, ktorý cesta zjavne prenáša, ukazujú na aplikáciu alebo server a žiadna práca s MTU to nezmení. Taký negatívny výsledok má rovnakú cenu ako pozitívny. Odstraňuje najdrahšiu vetvu vyšetrovania.

Potom skontrolujte stabilitu počas prenosu, pretože tunel, ktorý uprostred veľkého nahrávania obnoví kľúč, vytvára zlyhanie, ktoré vyzerá závislé od veľkosti, hoci také nie je. Odčítanie doby prevádzky je najlacnejší spôsob, ako to potvrdiť.

Rozhodnite sa medzi opravou a obchádzkou

Ak dôkazy ukazujú na veľkosť, existujú dve poctivé odpovede a jedna nepoctivá. Poctivé sú obnoviť objavovanie MTU cesty povolením potrebnej spätnej väzby ICMP, alebo obmedziť oznámenú veľkosť segmentu, aby partneri posielali menšie segmenty. Nepoctivá je znížiť MTU rozhrania na hodnotu odpísanú z fóra a nikdy neoveriť, čo zmenila.

Voľba závisí od toho, čo ovládate. V sieti, ktorú prevádzkujete, je povolenie ICMP správ čistejšou opravou, pretože udržiava mechanizmus funkčný pre každý protokol. Na ceste, ktorú neovládate, je obmedzenie praktickou možnosťou a malo by sa uplatňovať úzko, nie na celom serveri.

Ak dôkazy ukazujú na aplikáciu, opravte aplikáciu alebo jej konfiguráciu proxy. Odpoveď 413 a zaseknuté spojenie sú rôzne zlyhania a druhé je zvyčajne časový limit niekde v reťazci, ktorý zahŕňa proxy s vlastnými limitmi.

V každom prípade si ponechajte pôvodné hodnoty a po vrátení zmien otestujte znova. Zmena, ktorá sa zhoduje s funkčným prenosom, nie je dôkazom, že ho spôsobila, a možnosť vrátiť ju späť je to, čo oddeľuje diagnózu od náhody.

Zaznamenajte rozhodnutie, aby prežilo ďalší incident

Stačia štyri fakty: pozorovaný tvar poruchy, výsledky sond, vykonaná zmena a výsledok opakovaného testu. S nimi ďalší človek zistí, či ide o ten istý problém, alebo o nový s rovnakým príznakom.

Zaznamenajte aj kontext cesty, pretože zistenie o MTU je špecifické pre konkrétne spojenie. Notebook, ktorý doma funguje a v hoteli zlyháva, má dve cesty a oprava použitá na jednej z nich nič nehovorí o druhej.

Nakoniec odolajte zhrnutiu, že „VPN pokazila nahrávanie“. Tunel bol prítomný v oboch prípadoch, funkčnom aj zlyhávajúcom; zmenila sa veľkosť paketu, ktorý cesta musela preniesť, alebo miesto, kde sa prenos zastavil. Pomenovanie skutočného mechanizmu je to, čo robí poznámku užitočnou.

Súvisiace články