Tunnel lõpetab kätlemise, väikesed päringud tulevad tagasi ja esimene suur ülekanne takerdub. See muster osutab tee MTU-le palju varem kui läbilaskevõimele. Iga lüli marsruudil piirab paketi suurust ja kapseldamine kulutab osa sellest lubatud mahust välistele päistele, seega peab sisemine pakett olema väiksem, kui toores tee vihjaks. Tõrge on vaikne ja just see teeb selle diagnoosimise kalliks.

Mida tee MTU tegelikult mõõdab

Tee MTU on marsruudi väikseim lüli MTU kahe hosti vahel, mitte teie kohalikule liidesele trükitud MTU. Kohalik väärtus on hinnangu alguspunkt ja tee otsustab, kus see peab lõppema. Seetõttu võib identne tunnel ühes juurdepääsuvõrgus töötada ja teises takerduda: muutus marsruut, mitte konfiguratsioon. Üks kord mõõta ja kõikjal eeldada on viga, mis hoiab seda probleemi elus.

Tunneli puhul loeb sisemine MTU, see tähendab välise tee lubatud maht miinus kõik, mida kapseldamine kulutab. WireGuard lisab välise IP-päise ja UDP-päise; teised transpordikihid lisavad omad. Seadke sisemine suurus liiga suureks ja iga täissuuruses pakett vajab killustamist, mida ei pruugi kunagi juhtuda.

Miks tunnel kasulikku paketti vähendab

Kui tunneli liides säilitab füüsilise lüli MTU, sõltub iga suur pakett sellest, kas keegi allavoolu on valmis seda killustama. IPv4 lubab seda põhimõtteliselt, kuid ruuter, kellele on öeldud mitte killustada, tagastab selle asemel vea. IPv6 ruuterid ei killusta transiidis üldse, seega käitub sama säte aadressiperekonna järgi erinevalt. Mõlemal juhul ei õpi saatja midagi enne, kui miski tagasi teatab.

Praktiline tagajärg on suurus, mis sobib kätlemisele, kuid mitte kasulikule koormale. TLS ClientHello või DNS-päring on piisavalt väikesed, et läbida vähendatud teed puutumatult, samas kui hulgisiire ei ole. Seetõttu kogunevad sümptomid konkreetsete toimingute, mitte konkreetsete hostide ümber.

Avastamine toimib ainult siis, kui tagasiside kohale jõuab

IPv4 avastamine toetub mitte-killustada bitile: ruuter, mis ei saa paketti edasi saata, tagastab ICMP fragmentation-needed koos järgmise hüppe MTU-ga ja saatja langetab oma hinnangut. IPv6 kasutab selle asemel Packet Too Big teateid, sest ruuterid ei killusta transiidis. Mõlemad mehhanismid eeldavad, et teade leiab tee tagasi saatja juurde, läbi tunneli ja mööda tagasiteel olevast tulemüürist. Kui see eeldus ebaõnnestub, proovib saatja ikka ja jälle suurust, mida tee kanda ei suuda.

Tulemüür, mis lubab echo request ja echo reply, ei ole tingimata lubanud neid veatüüpe. ICMP on perekond ja siin loevad liikmed on vead, mitte echo paar. Kontrollige juhtliikluse poliitikat tunneli mõlemas otsas ja nendevahelisel teel ning järgige platvormi toetatud juhiseid, selle asemel et lubada igat ICMP tüüpi igal pool.

Sama filtreerimine võib olla tunneli sees. Kui sisemine tee pillab vea, aga välimine kannab seda, võib saatja kohaneda piiriga, mida kapseldatud liiklus tegelikult kunagi ei näe.

Katsetage teed, selle asemel et numbrit oletada

Hoidke sihtkoht, juurdepääsuvõrk ja tunnel muutumatuna ning muutke ainult paketi suurust. Mitte-killustada katse, mis ebaõnnestub MTU vihjega, annab teile järgmise hüppe piiri; korrake, kuni suurus läbib, ja kirjutage üles nii suurus kui ka aadressiperekond.

ping -M do -s 1400 10.60.20.10
ping -M do -s 1300 10.60.20.10
ping -6 -M do -s 1300 2001:db8::10

Sobiv ping ei tõesta, et tõelise rakenduse täissuuruses segmendid sobivad, seega korrake katset ülekandega, mis tegelikult ebaõnnestus. Võrrelge suurimat töötavat katset konfigureeritud tunneli MTU-ga ja hoidke neid kahte numbrit märkmetes eraldi. Kui need erinevad umbes ühe päise jagu, olete leidnud kapseldamise lisakulu, mitte rikke.

PLPMTUD, mida kirjeldatakse RFC 4821-s, uurib ülespoole ja kasutab transpordi kinnitusi, selle asemel et usaldada edastatud vigu. See aitab teedel, mis filtreerivad ICMP-d, kuid tugi erineb virna ja rakenduse kaupa. TCP voog võib ise taastuda, samas kui fikseeritud datagrammi suurusega UDP rakendus jätkab ebaõnnestumist.

Valige väärtus ja kirjutage põhjendus üles

Tunneli MTU langetamine on korraga diagnostika ja õigustatud parandus, kui teed teate. See ei asenda teadmist, milline tee ja milline tagasisidemehhanism olid seotud, sest mobiilse lüli jaoks häälestatud väärtus on fiiberühenduses tarbetult väike. Kirjutage üles valitud suurus, seda õigustanud katse ja tagasipööramise samm.

IPv4 mehhanismi kirjeldatakse dokumendis RFC 1191 ja IPv6 paketeerimise juhised dokumendis RFC 8201; mõlema nimetamine hoiab järgmise inseneri kordamast eelduse tuletamist. Kui ülekanne takerdub endiselt teie valitud suuruse juures, lõpetage numbri langetamine ja vaadake järgmist kihti. Tee, mis ebaõnnestub iga suuruse juures, ei ole MTU probleem.

Seotud artiklid