Czym jest MTU? Rozmiar pakietu i problemy na trasie
MTU to największy rozmiar pakietu, jaki interfejs lub łącze może przenieść bez dzielenia go w danej warstwie. W sieciach Ethernet typowa wartość MTU wynosi 1500 bajtów, ale tunele i inne łącza mogą dopuszczać mniej. Pakiety muszą się zmieścić w ograniczeniach trasy, którą faktycznie biegną.
MTU interfejsu to nie Path MTU
Wartość podana dla karty sieciowej dotyczy jej lokalnego łącza, a nie automatycznie każdego przeskoku do zdalnego serwera. VPN czy inny tunel dokłada zewnętrzne nagłówki, które zajmują miejsce. Jeśli pakiet wewnętrzny już ma maksymalny rozmiar dopuszczalny na łączu zewnętrznym, po enkapsulacji może okazać się za duży. Path MTU to największy pakiet IP, który przejdzie przez konkretną ścieżkę. Może być inny dla różnych celów, a nawet dla każdego z kierunków.
MTU nie jest limitem rozmiaru pliku ani prędkością łącza. Aplikacje bez problemu przesyłają duże pliki, bo warstwa transportowa dzieli dane na odpowiednie segmenty. W TCP maksymalny rozmiar segmentu (MSS) oznacza ilość danych w jednym segmencie TCP i jest mniejszy od właściwego MTU, ponieważ miejsce zajmują też nagłówki IP i TCP. IPv4 i IPv6 inaczej radzą sobie ze zbyt dużymi pakietami.
Jak urządzenia końcowe ustalają limit
Mechanizm Path MTU Discovery opiera się na sygnałach, że pakiet jest za duży. W IPv4 router może zgłosić, że potrzebna jest fragmentacja, gdy pakietu nie wolno dzielić. W IPv6 routery tranzytowe w ogóle nie fragmentują pakietów i mogą wysłać komunikat ICMPv6 Packet Too Big. Blokowanie tych komunikatów prowadzi do zagadkowej awarii: małe żądania działają, a większe odpowiedzi stają w miejscu. Niektóre implementacje szukają działającego rozmiaru także innymi metodami sondowania.
Path MTU Discovery dla IPv4 opisuje RFC 1191, a dla IPv6 – RFC 8201. Rozmiary nagłówków i sposób działania tunelu mają znaczenie, więc 1500 nie jest uniwersalnym ustawieniem na całej trasie. Nie wyliczaj MSS z zapamiętanej liczby, nie biorąc pod uwagę rzeczywistej ścieżki.
Najpierw diagnoza, potem zmiany
Jeśli problemy występują tylko przez VPN albo strona ładuje się częściowo, a większe transfery się zawieszają, porównaj to samo zadanie z tunelem i bez niego. Zanotuj interfejs, cel i objawy. Pomocne mogą być próby ping z różnym rozmiarem danych i opcją zakazu fragmentacji, ale składnia polecenia zależy od systemu, a ICMP bywa filtrowane. Testy sieciowe traktuj jako dodatkowy dowód, a nie ostateczny werdykt.
Nie obniżaj MTU na wszystkich urządzeniach bez konkretnej hipotezy. Sprawdź ustawienia tunelu i odpowiednie komunikaty ICMP, zmieniaj jedno ustawienie naraz i za każdym razem testuj aplikację. Niepotrzebnie małe MTU zwiększa narzut nagłówków i może pogorszyć wydajność. Jeśli wąskie gardło leży poza Twoją kontrolą, przekaż dostawcy przykład, który da się odtworzyć.