Tunnel viskab suured ülekanded kõrvale, aga laseb pingid läbi, seega tuleb nõuanne kiiresti: langetage MTU-d. Parandus mõnikord töötab ja siis rakendatakse see igale profiilile igas võrgus. Just siis muutub sihitud parandus püsivaks jõudlusmaksuks. Võrdlus, mida teha, on tee tegeliku piiri ja iga paketi selle alla vähendamise kulutuse vahel.

Mis tegelikult kahaneb, kui MTU-d langetate

Iga pakett kannab päiseid enne, kui kannab teie andmeid. 1500-baidisel Etherneti teel kulutavad IPv4 ja TCP 40 baiti ning jätavad 1460 kasuliku koormuse jaoks; kapseldamine lisab peale välised IP-, UDP- ja tunnelipäised, nii et sisemine koormuse eelarve langeb taas. Liidese MTU langetamine kahandab seda eelarvet teadlikult.

Kulu on võrdeline pakettide arvuga, mitte baitide arvuga. Sama fail rohkematesse pakettidesse jagatuna vajab rohkem katkestusi, rohkem marsruutimisotsuseid ja rohkem töötlust paketi kohta igal seadmel piki teed. Ruuteril, mis on juba oma pakettide sekundis piiri lähedal, on see tõeline aeglustumine, mitte ümardamisviga. Kulu ilmneb ka siis, kui ülekanne ise õnnestub.

Seepärast on väiksem MTU piirangust möödaminek, mitte üldine optimeerimine. See ostab töökindlust tee vastu, mis ei suuda suuremat kaadrit kanda, ja küsib ülekulu iga paketi eest, mis vähendamist ei vajanud.

Millal on väiksem MTU õige parandus

Klassikaline sümptom on konkreetne: TCP kätlus lõpeb, saabuvad väikesed vastused ja suur allalaadimine takerdub või lähtestatakse. Ping „ära killusta“ bitiga 1472 baidil ebaõnnestub, samas kui 1400-baidine ping õnnestub, mis viitab teele, mis ei suuda täissuuruses paketti kanda ega too kohale ICMP-teadet, mis ütleks saatjale vähendada.

Tee MTU avastamine sõltub nendest ICMP teatest vajaliku killustamise kohta. Kui tulemüür need kõrvale viskab, proovib saatja suurt paketti ikka ja veel ning ühendus näib rippuvat. Tunnelipoolne MTU langetamine väldib kordamist ja see on selle võrgu jaoks legitiimne parandus.

Ka juurdepääsutehnoloogiad seab omad piirid: PPPoE piirdub tavaliselt 1492-ga, mõned mobiili- ja DSL-teed on madalamad ning pesastatud tunnelid lahutavad ülekulu kaks korda. Mõõtke tegelikku teed, mitte ärge kopeerige numbrit juhendist, ja pidage meeles, et IPv6 nõuab vähemalt 1280 baiti MTU-d igal lingil, mis seda kannab, nagu RFC 8200 sätestab.

Võrrelge kolme juhtseadet enne, kui ühte muudate

MTU, MSS ja killustamine on erinevad juhtseadmed erinevatel kihtidel ning vale muutmine jätab sümptomi paigale.

ControlLayerWhat it changesWhere it misleads
Interface MTUIP linkLargest frame the interface will sendPenalizes every protocol, not just the one that failed
TCP MSS clampTCPSegment size advertised in the handshakeLeaves UDP and QUIC untouched
DF and fragmentationIPWhether a router may split a packetCan break path MTU discovery and security assumptions
Tunnel overheadEncapsulationInner MTU after outer headersMismatch shows up only for large inner packets

MSS-i piiramine on sageli kõige vähem sekkuv parandus, sest see mõjutab ainult TCP-d ja jätab liidese muu liikluse jaoks vabaks. Madalam liidese MTU on laiem ja kergemini mõistetav, mistõttu on see tarbijaruuteritel tavaline, kuid see küsib igalt protokollilt ühe protokolli probleemi eest.

Ära-killustamise käitumise väljalülitamine varjab sümptomit, lubades killustamist, ja halvendab tavaliselt latentsust, lõhkudes tagasiside, mis oleks õige suuruse leidnud. Vältige seda püsiva lahendusena.

Mõõtke kompromissi, mitte üht numbrit

Leidke tee piir „ära killusta“ sondiga, alustage kõrgelt ja langetage, kuni vastus saabub:

ping -M do -s 1472 203.0.113.10
ping -M do -s 1400 203.0.113.10
tracepath 203.0.113.10

Seejärel võrrelge tegelikku ülesannet mõlema seadega: sama failiülekanne, sama lõpp-punkt ja sama võrk. Kirjutage üles lõpetamisaeg ja kordussaadetised, näiteks käsuga nstat -az TcpRetransSegs, ja jälgige seadme protsessorit, kui tunnel lõpeb väikesel ruuteril. Lühike sünteetiline läbilaskvustest võib jätta märkamata takerdumise, mis ilmneb alles mitme megabaidi järel.

Paketiloendurid tõusevad pärast vähendamist, sest sama ülekanne kasutab nüüd rohkem pakette. See on ootuspärane ega tõesta suuremat läbilaskevõimet. Võrrelge lõpetatud rakenduse andmeid, kordussaadetiste arvu ja reageerimisvõimet, mitte ainult paketiedastust.

Viige muudatus sisse etappide kaupa ja hoidke see piiratud

Kirjutage üles algne väärtus, muutke ühte juhtseadet ja korrake mõõtmist enne, kui teete selle püsivaks. Kui tõendid kasu ei näita, taastage eelmine väärtus sama liidese käsuga, millega selle seadsite:

ip link set dev wg0 mtu 1420
ip link set dev wg0 mtu 1500

Piirake tulemus võrguga, mis seda vajas. Profiil, mis peab töötama hotelli Wi-Fi-s, mobiilses hotspotis ja kontori LAN-is, ei tohiks pärida madalaimat väärtust, mida ükskõik milline neist nõuab, välja arvatud juhul, kui klient ei suuda teed tuvastada.

Õige väärtus on suurim MTU, mis teel püsib, mitte väikseim, mis paneb sümptomi kaduma. Dokumenteerige tee, sondi tulemus ja tagasipööramine ning vaadake säte uuesti üle, kui juurdepääsuvõrk muutub.

Seotud artiklid