MTU vagy MSS? Mit javít valójában egy VPN-változtatás
Az MTU azt korlátozza, amit egy link szállít; az MSS a benne lévő TCP-terhelést. A megfelelőt korlátozza, és tudja, mely protokollokat nem fedi egyik sem.
A pingek sikerülnek, a nagy átvitelek elakadnak, az alagút pedig egészségesnek jelenti magát. Valaki csökkenti az interfész MTU-ját, másvalaki korlátozza az MSS-t, és időnként a probléma elmúlik olyan okokból, amelyeket senki nem rögzít. A két szám különböző objektumokat ír le, ezért a rossz módosítása olyan javítást eredményez, amely szerencsének tűnik. Íme az eljárás: azonosítsa a réteget, alkalmazza a megfelelő beállítást, majd teszteljen új kapcsolaton.
Két szám, két objektum
Az MTU egy linkhez vagy interfészhez tartozik: ez a legnagyobb csomag, amely felosztás nélkül átadható. Az MSS a TCP-hez tartozik: ez a legnagyobb TCP-terhelés, amelyet egy szegmens hordozhat, és kizárja a TCP- és az IP-fejlécet is. Egy közönséges Ethernet-linken IPv4-gyel az 1500 bájtos MTU a jól ismert 1460 bájtos MSS-t adja. Ezek a számok különböző rétegeket írnak le, és különböző mechanizmusok cserélik ki őket. Összetévesztésük könnyű, mert mindkettőt bájtban mérik, és mindkettő 1500 közelében van.
Az egyik interfész-beállításként érkezik. A másik egy SYN-szegmensen belüli opcióként, olyan végpontok között egyeztetve, amelyek soha nem látják az interfészét.
Hol landol a külső többlet
A VPN a belső csomagot egy másikba teszi, és a külső csomagnak bele kell férnie a fizikai útvonalba. A beágyazási fejlécek, a külső IP-fejléc, a szállítási fejléc és bármilyen hitelesítési címke olyan bájtokat fogyasztanak, amelyeket a belső csomag nem használhat. Ha az alagút-interfészt 1500-on hagyja, a külső csomag rendszeresen meghaladja azt, amit az útvonal szállítani tud. Ha a 'ne darabolj' bit be van állítva, az útválasztó eldobja, és ICMP-hibát kellene visszaküldenie; ha ezt a hibát szűrik, a küldő soha nem értesül róla.
Ezért tűnik szelektívnek a hiba. A kis kérések befejeződnek, és minden, ami megtölt egy szegmenst, elakad, mert csak a nagy csomagok dobódnak el. Az az alagút, amely átenged egy pinget, nem az az alagút, amely adatot szállít.
Az MSS korlátozása, és ahol érvényesül
Az MSS-korlátozás átírja a SYN-szegmensben lévő értéket, amikor az áthalad egy kiválasztott ponton, így mindkét végpont kisebb terhelést választ, anélkül hogy bármelyik tudná, miért. Linuxon ez a mangle-tábla egy célpontja, amelyet kifejezett szabály alkalmaz, és az általad kívánt irányban kell eltalálnia a SYN-csomagokat. Korlátozza az alagút-interfészre és a címek tartományára, mert egy széles szabály megváltoztatja az olyan forgalom viselkedését, amely soha nem lép be az alagútba.
A hatás csak a TCP-re vonatkozik. Az UDP-alkalmazás, a QUIC-munkamenet és minden protokoll, amely saját datagramokat épít, érintetlen marad.
Diagnosztizáljon rögzített útvonallal
Egyszerre egy változót tartson. Olyan csomaggal teszteljen, amelynek méretét Ön választja, és állítsa be a 'ne darabolj' jelzőt, hogy a kernel jelentse az eredményt ahelyett, hogy elrejtené.
Jegyezze fel, hol kezdődik a hiba: az alagúton belül, az alagút-interfészen vagy a fizikai útvonalon a beágyazás után. Ezután módosítson egy számot, és ugyanazt a tesztet ismételje meg, nem egy másikat. A meglévő kapcsolatok megtartják az egyeztetett MSS-t, ezért a házirend-változás csak új kapcsolaton látható, és ezért a gyorsítótárazott oldal semmit sem bizonyít egyik irányban sem. Ha egy nagy feltöltés működni kezd, arról az útvonalról tanult valamit, és nem a rajta lévő összes protokollról.
Mit nem javít az egyes változtatások
Az interfész MTU-jának csökkentése nem változtatja meg egy már létrejött munkamenet MSS-ét. Az MSS korlátozása nem segít az UDP-folyamon, és nem javítja meg azt az útvonalat, ahol az ICMP-hibákat csak egy irányban szűrik. Minden változtatás a problémák egy osztályát javítja, a többit pedig pontosan úgy hagyja, ahogy volt.
Jegyezze fel, milyen beállítást alkalmazott, hol, és melyik teszt mutatta a különbséget, különben a következő mérnök mindkettőt alkalmazza, és elveszíti annak képességét, hogy megmondja, melyik számított. Ha a korlát valós és állandó, részesítse előnyben az azt tükröző alagút-MTU-t a korláttal szemben, amely elrejti. Ha mégis korlátozni kell, hagyja a szabályt szűk hatókörűen és megjegyzéssel, mert a meg nem magyarázott mangle-szabály alapértelmezés szerint állandóvá válik.