Kaja vastused tulevad, kaugtöölaud töötab ja brauser istub tühjal lehel, kuni alla annab. Sellele mustrile sobivad kaks seletust ja need ei ole ühe probleemi variandid: poliitika, mis ei lubanud teenust kunagi, või paketid, mis lakkavad mahtumast, kui ülekanne kasvab. Kaja vastus ei välista kumbagi.

Minnes väikseimast küsimusest suurimani, kirjutage üles, mida iga samm tegelikult tõestas.

Kaja vastus vastab palju väiksemale küsimusele

Kaja vastus ütleb, et sihtkoha IP-pinu vastas teie allikast tulnud ICMP päringule. See ei ütle midagi selle kohta, kas vajalikus pordis on TCP kuulaja, kas poliitika seda porti lubab või kas sihtkohas olev host filtreerib liiklust lüüsist sõltumatult. Lüüs, mis lubab ühte teenust, võib teise maha visata, samal ajal kui mõlemad sihid vastavad pingile. Lugege vastust kui ühte fakti ühe paketi ja ühe suuna kohta.

Kinnitage sihtkoht ja teenuse port enne, kui midagi muud tõlgendate. Aadress, mida katsetasite, ja aadress, mida rakendus kasutab, on mõnikord erinevad kirjed, ja nimi, mis laheneb kaheks aadressiks, teeb selle tõenäoliseks.

Tehke kindlaks, kas ühendus algas

Kohe tagasi lükatud ühendus on kuulaja või poliitika vastus: miski vastas ja ütles ei. Ühendus, mis avaneb ja siis takerdub, kui andmed liikuma hakkavad, viitab suurusele. Ühendus, mis ei lõpeta kätlust üldse, on tavaliselt poliitika või marsruutimise küsimus ja näeb välja nagu aegumine, mitte nagu tagasilükkamine.

curl -v --max-time 10 https://internal.example/ -o /dev/null
ss -tn state established '( dport = :443 )'

Pange kirja, millist neist kolmest juhtumist nägite, enne kui MTU seadeid puudutate. Tunneli suuruse muutmine tagasilükatud ühenduse parandamiseks raiskab muudatuse ja varjab tõelist põhjust mõneks ajaks.

Mõõtke suurust nimetatud arvuga

Kui takerdumine ilmneb koormuse all, katsetage ühte paketi suurust tükeldamist keelava bitiga ja nimetage aritmeetika, et tulemus midagi tähendaks. Linuxis iputilsiga annab 1392-baidine kasulik koormus pluss 8-baidine ICMP päis ja 20-baidine IPv4 päis sisemise paketi täpselt 1420 baiti. Nimetage see aritmeetika piletil, sest lüüsini jõudev paljas ping ei tõesta rakenduse kohta midagi.

ping -4 -M do -s 1392 10.44.0.10
ping -4 -M do -s 1372 10.44.0.10

Mõlemad proovimised on mõõtepunktid, mitte soovitused tunneli suuruse kohta. Kui ICMP filtritakse kusagil teel, ei ütle aegumine suuruse kohta midagi, sest filtreerimine ja liiga suur pakett näevad kliendi poolt ühesugused välja. Õnnestumine ei ütle samuti midagi vastassuuna ega teise sihtkoha kohta.

Arvestage välist teed

Kapseldamine lisab oma päised, seega on juhtmel olev pakett suurem kui pakett, mille mõõtsite tunneli sees. Nende vahe on see, mis teeb korraga võimalikuks töötava väikese päringu ja ebaõnnestuva suure.

IPv4 tee-MTU avastamine sõltub tagasisidest pakettide kohta, mida ei saa ilma tükeldamiseta edasi saata, ja IPv6 kasutab Packet Too Big teateid. IPv4 spetsifikatsioon kirjeldab seda mehhanismi. Tagasiside filtreerimine rikub saatja õppimisvõime ja jätab ta kordasaatma pakette, mis ei mahu kunagi. Seetõttu eksisteerivad töötav väike päring ja ebaõnnestuv suur nii mugavalt koos.

Muutke ühte arvu ja testige rakendust uuesti

Langetage tunneli MTU-d või piirake TCP maksimaalset segmendi suurust, seejärel korrake algset rakenduse testi, mitte proovimist. Muudatuse järel õnnestuv proovimine ja endiselt takerduv rakendus on erinev probleem sarnase kujuga, ja ainult rakenduse test eristab neid.

Hoidke aritmeetika muudatuse kirjes: mõõdetud suurus, eeldatud lisakulu ja seatud väärtus. Kes seda hiljem üle vaatab, saab eeldust kontrollida, selle asemel et seda pingi ekraanipildilt uuesti tuletada.

Kui rakendus töötab iga proovitud suurusega, lõpetage arvude häälestamine ja vaadake poliitikat, mis eraldab töötava teenuse ebaõnnestuvast.

Seotud artiklid